[
  {
    "path": ".coderabbit.yaml",
    "content": "language: en-US\n\nreviews:\n  profile: assertive\n  auto_review:\n    enabled: true\n    drafts: false\n  high_level_summary_instructions: |\n    Write all summaries in present tense.\n    Describe what the code does, not what it did.\n    Example: \"This PR adds feature X\" instead of \"This PR added feature X\"\n\n  path_instructions:\n    - path: '**/*'\n      instructions: |\n        ## Contribution guidelines compliance\n        Check that the PR follows the SignalK contribution guidelines:\n        https://github.com/SignalK/signalk-server/blob/master/CONTRIBUTING.md\n        Flag any deviation in PR structure, commit message format, or documentation\n        requirements.\n\n        ## Echo comments\n        Flag any comment that merely restates what the code already says.\n        Examples of echo comments to flag:\n        - `// Sets the age` above a function named `setAge()`\n        - `// Loop through items` above a `for` loop\n        These add noise without adding meaning. Request removal or replacement\n        with a comment explaining *why*, not *what*.\n\n        ## Leftover crumbs from intermediate commits\n        Check for references to things that existed in earlier commits of this PR\n        but are no longer present — removed variables, old function names, deleted\n        files, superseded approaches. These are confusing to future readers.\n        Flag any comments, docs, or code that refer to something not present in\n        the current state of the branch.\n\n        ## Documentation drift risk\n        Flag any .md file that contains detailed implementation steps, specific\n        API call sequences, code snippets, or configuration values that are likely\n        to fall out of sync as the code evolves. Documentation should describe\n        architecture and how things work conceptually — not step-by-step\n        instructions that duplicate or shadow the code itself.\n\n        ## Unchecked items in test plans\n        If a PR description or any .md file contains a checklist with unchecked\n        items, flag it. Either the work is incomplete, or the checklist should be\n        removed before merge. Do not let unchecked boxes pass silently.\n\n        ## Implementation status in documentation\n        Flag any .md file that describes implementation progress, status, or\n        build steps (e.g. \"Step 3: implement X\", \"TODO: add Y\", \"currently\n        implemented as Z\"). This belongs in PR descriptions or commit messages,\n        not in documentation. Documentation should describe how things work,\n        not how they were built or what stage they are in.\n        Architecture decisions and design rationale are fine. Build narratives\n        are not.\n\n        ## What NOT to flag\n        Do not flag the following patterns — they are intentional:\n        - Constant names that are descriptive in their own context (e.g.\n          DEFAULT_PULL_TIMEOUT) — do not suggest renames for clarity.\n        - Test cleanup using Object.assign(process.env, original) — this is\n          sufficient when the test only reads from process.env.\n        - Test assertions that verify array length and structure rather than\n          exact element order — Object property iteration order is guaranteed\n          for string keys in modern JS.\n        - Smoke tests that verify a method does not throw without asserting\n          on internal state — exposing internals for testing is worse.\n        - Callbacks typed as functions that only work in-process — do not\n          suggest REST/WebSocket alternatives unless specifically requested.\n          The limitation is obvious from the type signature.\n\n        ## Scope\n        Focus on files changed since master. Think carefully about how changes\n        interact with existing code and documentation — not just the diff in\n        isolation.\n"
  },
  {
    "path": ".dockerignore",
    "content": "node_modules\npackages\nwork\n"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".gitattributes",
    "content": "# Default: normalize line endings to LF in the repo, auto-detect on checkout\n* text=auto eol=lf\n\n# Force LF for files that must never be CRLF\n*.sh text eol=lf\n*.bash text eol=lf\n*.json text eol=lf\n*.js text eol=lf\n*.ts text eol=lf\n*.yml text eol=lf\n*.yaml text eol=lf\n*.md text eol=lf\n*.conf text eol=lf\nDockerfile text eol=lf\n\n# Binary files — do not normalize\n*.png binary\n*.jpg binary\n*.jpeg binary\n*.gif binary\n*.ico binary\n*.woff binary\n*.woff2 binary\n*.ttf binary\n*.eot binary\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: [sbender9, tkurki]\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\nupdates:\n  # Enable version updates for npm\n  - package-ecosystem: 'npm'\n    # Look for `package.json` and `lock` files in the `root` directory\n    directory: '/'\n    # Check the npm registry for updates every day (weekdays)\n    schedule:\n      interval: 'monthly'\n    open-pull-requests-limit: 5\n\n  # Enable version updates for Docker\n  - package-ecosystem: 'docker'\n    # Look for a `Dockerfile` in the `root` directory\n    directory: '/'\n    # Check for updates once a week\n    schedule:\n      interval: 'monthly'\n\n  # Enable version updates for GitHub Actions\n  - package-ecosystem: 'github-actions'\n    directory: '/'\n    schedule:\n      interval: 'monthly'\n"
  },
  {
    "path": ".github/workflows/build-base-image.yml",
    "content": "name: Build Docker base images\n\non:\n  schedule:\n    - cron: '0 0 * * 1'\n  workflow_dispatch:\n\njobs:\n  build-images:\n    if: github.repository == 'SignalK/signalk-server'\n    name: Ubuntu base image\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        vm: [ubuntu-latest, ubuntu-24.04-arm]\n        include:\n          - vm: ubuntu-latest\n            arch: amd\n            os: 24.04\n            node: 24.x\n            node_safe: 24.x\n            platform: linux/amd64\n          - vm: ubuntu-latest\n            arch: amd\n            os: alpine\n            node: 24.x\n            node_safe: 24\n            platform: linux/amd64\n          - vm: ubuntu-24.04-arm\n            arch: arm\n            os: 24.04\n            node: 24.x\n            node_safe: 24.x\n            platform: linux/arm64\n          - vm: ubuntu-24.04-arm\n            arch: arm\n            os: alpine\n            node: 24.x\n            node_safe: 24\n            platform: linux/arm64\n    runs-on: ${{ matrix.vm }}\n    steps:\n      - uses: actions/checkout@v6\n      - uses: docker/setup-buildx-action@v4\n\n      - name: Login to ghcr.io\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n\n      - name: Build Ubuntu baseimages\n        uses: docker/build-push-action@v7\n        with:\n          context: .\n          file: ./docker/Dockerfile_base_${{ matrix.os }}\n          platforms: ${{ matrix.platform }}\n          push: true\n          tags: |\n            ghcr.io/signalk/signalk-server-base:${{ matrix.arch }}-${{ matrix.os }}-${{ matrix.node_safe }}\n          build-args: |\n            NODE=${{ matrix.node_safe }}\n\n  create-and-push-manifest:\n    needs: [build-images]\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n\n    steps:\n      - name: Login to ghcr.io\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n\n      - name: Create and push multi-arch manifest to GHCR\n        uses: int128/docker-manifest-create-action@v2\n        with:\n          tags: |\n            ghcr.io/signalk/signalk-server-base:latest-${{ matrix.os }}-${{ matrix.node_safe }}\n          sources: |\n            ghcr.io/signalk/signalk-server-base:amd-${{ matrix.os }}-${{ matrix.node_safe }}\n            ghcr.io/signalk/signalk-server-base:arm-${{ matrix.os }}-${{ matrix.node_safe }}\n\n  copy-to-dockerhub:\n    needs: create-and-push-manifest\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n\n    steps:\n      - name: Install skopeo\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y skopeo\n      - name: Copy images from GHCR to Docker Hub\n        shell: bash\n        env:\n          GHCR_USERNAME: ${{ github.actor }}\n          GHCR_TOKEN: ${{ secrets.GHCR_PAT }}\n          DOCKER_HUB_USERNAME: signalkci\n          DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}\n        run: |\n          set -euo pipefail\n          skopeo copy --all \\\n            --src-creds \"${GHCR_USERNAME}:${GHCR_TOKEN}\" \\\n            --dest-creds \"${DOCKER_HUB_USERNAME}:${DOCKER_HUB_ACCESS_TOKEN}\" \\\n            \"docker://ghcr.io/signalk/signalk-server-base:latest-${{ matrix.os }}-${{ matrix.node_safe }}\" \\\n            \"docker://docker.io/signalk/signalk-server-base:latest-${{ matrix.os }}-${{ matrix.node_safe }}\"\n\n  housekeeping:\n    needs: [copy-to-dockerhub]\n    runs-on: ubuntu-latest\n    permissions:\n      packages: write\n\n    steps:\n      - name: Wait for GHCR indexing\n        run: sleep 60\n      - name: Remove Docker Image from GHCR\n        continue-on-error: true\n        uses: dataaxiom/ghcr-cleanup-action@v1\n        with:\n          packages: signalk-server-base\n          delete-untagged: true\n          delete-tags: |\n            amd-*,arm-*\n          token: ${{ secrets.GHCR_PAT }} # Need to have delete permission\n"
  },
  {
    "path": ".github/workflows/build-docker.yml",
    "content": "name: Build Docker development container\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n\non:\n  push:\n    branches:\n      - master\n      - 'build-docker'\n    tags:\n      - '*'\n      - '!v*'\n  workflow_dispatch:\n\njobs:\n  signalk-server_npm_files:\n    if: github.repository == 'SignalK/signalk-server'\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Node setup\n        uses: actions/setup-node@v6\n        with:\n          node-version: '24.x'\n      - name: Build npm files locally and upload artifacts\n        run: |\n          npm cache clean -f\n          npm install npm@latest -g\n          npm install --package-lock-only\n          npm ci && npm cache clean --force\n          npm run build:all\n          npm pack --workspaces\n          rm signalk-typedoc-signalk-theme*.tgz # This is only needed as a dev dependency\n          npm pack\n      - name: Upload artifacts\n        uses: actions/upload-artifact@v7\n        with:\n          retention-days: 1\n          name: packed-modules\n          path: |\n            *.tgz\n\n  docker_images:\n    needs: signalk-server_npm_files\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        vm: [ubuntu-latest, ubuntu-24.04-arm]\n        include:\n          - vm: ubuntu-latest\n            arch: amd\n            platform: linux/amd64\n          - vm: ubuntu-24.04-arm\n            arch: arm\n            node: 24.x\n            platform: linux/arm64\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n\n    runs-on: ${{ matrix.vm }}\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v4\n      - name: Login to ghcr.io\n        if: github.event_name != 'pull_request'\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n      - uses: actions/download-artifact@v8\n        with:\n          name: packed-modules\n      - name: Build and push\n        uses: docker/build-push-action@v7\n        with:\n          context: .\n          file: ./docker/Dockerfile\n          platforms: ${{ matrix.platform }}\n          push: true\n          tags: ghcr.io/signalk/signalk-server:${{ matrix.arch }}-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n          build-args: |\n            REGISTRY=ghcr.io\n            BASE_IMAGE=${{ matrix.os }}-${{ matrix.node_safe }}\n\n  create-and-push-manifest:\n    needs: docker_images\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            suffix: -24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            suffix: -24-alpine\n            node_safe: 24\n\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v4\n      - name: Docker meta\n        id: docker_meta\n        uses: docker/metadata-action@v6\n        with:\n          images: |\n            ghcr.io/signalk/signalk-server\n          tags: |\n            type=ref,event=branch\n            type=sha\n          flavor: |\n            suffix=${{ matrix.suffix }}\n      - name: Login to ghcr.io\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n      - name: Create and push multi-arch manifest to GHCR\n        uses: int128/docker-manifest-create-action@v2\n        with:\n          tags: |\n            ${{ steps.docker_meta.outputs.tags }}\n          sources: |\n            ghcr.io/signalk/signalk-server:amd-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n            ghcr.io/signalk/signalk-server:arm-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n      - name: Save tags to file\n        run: |\n          mkdir -p /tmp/tags\n          echo \"${{ steps.docker_meta.outputs.tags }}\" > /tmp/tags/${{ matrix.node_safe }}.txt\n      - name: Upload tag artifact\n        uses: actions/upload-artifact@v7\n        with:\n          name: ubuntu-tag-${{ matrix.node_safe }}\n          path: /tmp/tags/${{ matrix.node_safe }}.txt\n          retention-days: 1\n\n  copy-to-dockerhub:\n    needs: create-and-push-manifest\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n    steps:\n      - name: Download tag artifact\n        uses: actions/download-artifact@v8\n        with:\n          name: ubuntu-tag-${{ matrix.node_safe }}\n          path: /tmp/tags\n      - name: Install skopeo\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y skopeo\n      - name: Copy images from GHCR to Docker Hub\n        shell: bash\n        env:\n          GHCR_USERNAME: ${{ github.actor }}\n          GHCR_TOKEN: ${{ secrets.GHCR_PAT }}\n          DOCKER_HUB_USERNAME: signalkci\n          DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}\n        run: |\n          set -euo pipefail\n          TAGS_FILE=\"/tmp/tags/${{ matrix.node_safe }}.txt\"\n          while IFS= read -r FULL_TAG || [ -n \"${FULL_TAG:-}\" ]; do\n            [ -z \"${FULL_TAG:-}\" ] && continue\n            TAG=\"${FULL_TAG##*:}\"\n            echo \"Copying: ${FULL_TAG} -> signalk/signalk-server:${TAG}\"\n            skopeo copy --all \\\n              --src-creds \"${GHCR_USERNAME}:${GHCR_TOKEN}\" \\\n              --dest-creds \"${DOCKER_HUB_USERNAME}:${DOCKER_HUB_ACCESS_TOKEN}\" \\\n              \"docker://${FULL_TAG}\" \\\n              \"docker://docker.io/signalk/signalk-server:${TAG}\"\n          done < \"$TAGS_FILE\"\n\n  record-image-sizes:\n    needs: create-and-push-manifest\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout metrics branch\n        uses: actions/checkout@v6\n        with:\n          ref: metrics\n      - name: Record image sizes\n        env:\n          GHCR_CREDS: '${{ github.actor }}:${{ secrets.GHCR_PAT }}'\n        run: |\n          set -euo pipefail\n          TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)\n          COMMIT=\"${{ github.sha }}\"\n          CSV=\"master-container_sizes.csv\"\n\n          if [ ! -f \"$CSV\" ]; then\n            echo \"timestamp,commit,tag,size_bytes\" > \"$CSV\"\n          fi\n\n          REGISTRY=\"ghcr.io/signalk/signalk-server\"\n          RUN_ID=\"${{ github.run_id }}\"\n\n          for TAG in \\\n            \"amd-24.04-24.x-${RUN_ID}\" \\\n            \"arm-24.04-24.x-${RUN_ID}\" \\\n            \"amd-alpine-24-${RUN_ID}\" \\\n            \"arm-alpine-24-${RUN_ID}\"; do\n\n            DIGEST=$(skopeo inspect --raw --creds \"${GHCR_CREDS}\" \\\n              \"docker://${REGISTRY}:${TAG}\" | \\\n              jq -r '.manifests[0].digest')\n            SIZE=$(skopeo inspect --raw --creds \"${GHCR_CREDS}\" \\\n              \"docker://${REGISTRY}@${DIGEST}\" | \\\n              jq '[.layers[].size] | add')\n\n            echo \"${TIMESTAMP},${COMMIT},${TAG%-${RUN_ID}},${SIZE}\" >> \"$CSV\"\n          done\n      - name: Commit and push\n        run: |\n          git config user.name \"github-actions[bot]\"\n          git config user.email \"github-actions[bot]@users.noreply.github.com\"\n          git add master-container_sizes.csv\n          git commit -m \"chore: record container sizes for ${GITHUB_SHA::7}\"\n          git push\n\n  housekeeping:\n    needs: [copy-to-dockerhub, record-image-sizes]\n    runs-on: ubuntu-latest\n    permissions:\n      packages: write\n    steps:\n      - name: Wait for GHCR indexing\n        run: sleep 60\n      - name: Remove Temporary & Untagged Docker Images from GHCR\n        continue-on-error: true\n        uses: dataaxiom/ghcr-cleanup-action@v1\n        with:\n          packages: signalk-server\n          delete-untagged: true\n          delete-tags: |\n            *-${{ github.run_id }}\n          token: ${{ secrets.GHCR_PAT }}\n"
  },
  {
    "path": ".github/workflows/plugin-ci.yml",
    "content": "# SignalK Plugin CI - Reusable Workflow\n#\n# This workflow lives in the SignalK/signalk-server repository.\n# Plugin developers reference it with a single line in their own workflow.\n#\n# Platforms tested:\n#   - Linux x64    (Node 22, 24)\n#   - Linux arm64  (Node 22, 24) — Raspberry Pi 4/5\n#   - macOS        (Node 22, 24)\n#   - Windows      (Node 22, 24)\n#   - armv7/armhf  (Node 20 — matches Venus OS 3.70 on Cerbo GX)\n#                    Runs under QEMU emulation with python3, make, g++\n#\n# Usage in your plugin repo:\n#   See docs/develop/plugins/examples/plugin-caller-example.yml\n\nname: SignalK Plugin CI\n\non:\n  workflow_call:\n    inputs:\n      # ── Test configuration ──────────────────────────────────\n      test-command:\n        description: 'Command to run tests (default: npm test)'\n        type: string\n        default: 'npm test'\n      build-command:\n        description: 'Command to build the plugin (default: npm run build --if-present)'\n        type: string\n        default: 'npm run build --if-present'\n      format-check-command:\n        description: 'Command to verify formatting (e.g. \"npm run prettier:check\" or \"npx biome check .\"). Blocking when set, skipped when empty.'\n        type: string\n        default: ''\n      coverage-command:\n        description: 'Command that runs tests with coverage (e.g. \"npm run coverage\"). When set, replaces the standard test run and its output is appended to the job step summary.'\n        type: string\n        default: ''\n      node-versions:\n        description: 'JSON array of Node versions for desktop platforms (default: [\"22\", \"24\"])'\n        type: string\n        default: '[\"22\", \"24\"]'\n\n      # ── armv7 / Cerbo GX options ────────────────────────────\n      enable-armv7:\n        description: 'Run armv7 (Cerbo GX) tests via QEMU emulation'\n        type: boolean\n        default: true\n\n      # ── SignalK integration test ────────────────────────────\n      enable-signalk-integration:\n        description: 'Start a SignalK server and install the plugin for integration testing'\n        type: boolean\n        default: false\n      signalk-server-versions:\n        description: 'JSON array of signalk-server versions to fan the integration test out over (e.g. ''[\"2.23.0\", \"latest\"]'')'\n        type: string\n        default: '[\"latest\"]'\n\n# Least-privilege token for the jobs in this reusable workflow. We only\n# read the caller's repository — install, build, and test steps never\n# need to write to GitHub resources.\npermissions:\n  contents: read\n\njobs:\n  # ════════════════════════════════════════════════════════════\n  #  Desktop platforms matrix: Linux x64, Linux arm64, macOS, Windows\n  # ════════════════════════════════════════════════════════════\n  desktop:\n    name: >-\n      ${{ matrix.os == 'ubuntu-latest' && 'Linux' ||\n          matrix.os == 'ubuntu-24.04-arm' && 'Linux arm64' ||\n          matrix.os == 'macos-latest' && 'macOS' ||\n          matrix.os == 'windows-latest' && 'Windows' ||\n          matrix.os }} / Node ${{ matrix.node }}\n    runs-on: ${{ matrix.os }}\n    timeout-minutes: 15\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]\n        node: ${{ fromJson(inputs.node-versions) }}\n    steps:\n      - name: Checkout plugin\n        uses: actions/checkout@v6\n\n      - name: Setup Node.js ${{ matrix.node }}\n        uses: actions/setup-node@v6\n        with:\n          node-version: ${{ matrix.node }}\n          cache: ${{ hashFiles('**/package-lock.json') != '' && 'npm' || '' }}\n\n      - name: Validate plugin package.json\n        id: validate-pkg\n        shell: bash\n        run: |\n          cat << 'VALIDATE' > /tmp/validate-pkg.js\n          const pkg = require(process.cwd() + '/package.json');\n          const fs = require('fs');\n          const path = require('path');\n          let errors = [];\n          let warnings = [];\n\n          // Required: signalk-node-server-plugin keyword\n          if (!pkg.keywords || !pkg.keywords.includes('signalk-node-server-plugin')) {\n            errors.push('Missing required keyword: signalk-node-server-plugin');\n          }\n\n          // Required: main or exports field\n          if (!pkg.main && !pkg.exports) {\n            errors.push('Missing main or exports field');\n          }\n\n          // Version must be valid semver — npm normalizes invalid versions in\n          // the registry but the installed package.json retains the original,\n          // which breaks semver comparisons in the appstore\n          const SEMVER_RE = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n          if (!pkg.version) {\n            errors.push('Missing \"version\" field in package.json');\n          } else if (!SEMVER_RE.test(pkg.version)) {\n            errors.push('Invalid semver version \"' + pkg.version + '\" in package.json — see https://semver.org');\n          }\n\n          // Scan source files for hardcoded home directory paths\n          const srcFiles = [];\n          function collectFiles(dir, exts) {\n            if (!fs.existsSync(dir)) return;\n            for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {\n              if (entry.name === 'node_modules' || entry.name === '.git') continue;\n              const full = path.join(dir, entry.name);\n              if (entry.isDirectory()) { collectFiles(full, exts); continue; }\n              if (exts.some(e => entry.name.endsWith(e))) srcFiles.push(full);\n            }\n          }\n          collectFiles('.', ['.js', '.ts', '.mjs', '.cjs', '.sh']);\n\n          const hardcodedPathRe = /[\"'`]\\/home\\/[a-zA-Z][a-zA-Z0-9_-]*\\//g;\n          for (const file of srcFiles) {\n            const content = fs.readFileSync(file, 'utf8');\n            const matches = content.match(hardcodedPathRe);\n            if (matches) {\n              const relFile = path.relative('.', file);\n              errors.push(relFile + ' contains hardcoded home directory path: ' + matches[0]);\n            }\n          }\n\n          // Warn about install-time scripts that won't run under the App\n          // Store's --ignore-scripts install. 'prepare' is intentionally\n          // excluded — it's the standard TypeScript publish-build hook.\n          const riskyScripts = ['preinstall', 'postinstall', 'install'];\n          for (const s of riskyScripts) {\n            if (pkg.scripts && pkg.scripts[s]) {\n              warnings.push('package.json has a \"' + s + '\" script: ' + pkg.scripts[s]);\n              warnings.push('Note: SignalK App Store uses --ignore-scripts, so \"' + s + '\" will NOT run on install');\n            }\n          }\n\n          // engines.node\n          if (!pkg.engines || !pkg.engines.node) {\n            warnings.push('No \"engines.node\" field in package.json — plugins should declare their minimum Node.js version');\n          }\n\n          // ESM-only plugins can't be loaded by the server's require() call\n          if (pkg.type === 'module') {\n            warnings.push('package.json has \"type\": \"module\" — SignalK server loads plugins with require(). ESM-only plugins may fail to load.');\n          }\n\n          // baconjs is provided by the server — plugins must not bundle their own copy\n          if (pkg.dependencies && pkg.dependencies.baconjs) {\n            const baconRange = pkg.dependencies.baconjs;\n            // Accept shorthand ranges (\"^3\", \"3\", \"3.x\") as well as full semver.\n            // Only warn when we confidently parse a leading major < 3 — dist-tags,\n            // git specs, and other non-numeric ranges are left alone.\n            const baconMatch = baconRange.match(/^\\s*[~^]?(\\d+)(?:[.\\s]|$)/);\n            if (baconMatch) {\n              const baconMajor = parseInt(baconMatch[1], 10);\n              if (baconMajor < 3) {\n                warnings.push(\n                  'Plugin bundles baconjs ' + baconRange + ' in dependencies. ' +\n                  'The Signal K server provides baconjs >= 3.x and forces all plugins to use its copy. ' +\n                  'Bundling an older version will be ignored at runtime and wastes install size. ' +\n                  'Remove baconjs from dependencies or update to ^3.0.0 and use the server-provided instance'\n                );\n              }\n            }\n          }\n\n          // React 19 required for plugins with embedded webapps (Module Federation)\n          const webappKeywords = ['signalk-plugin-configurator', 'signalk-embeddable-webapp', 'signalk-webapp'];\n          const matchedWebappKeywords = pkg.keywords ? webappKeywords.filter(kw => pkg.keywords.includes(kw)) : [];\n          if (matchedWebappKeywords.length > 0) {\n            const allDeps = { ...pkg.dependencies, ...pkg.devDependencies, ...pkg.peerDependencies };\n            const reactRange = allDeps.react;\n            if (reactRange) {\n              // Accept shorthand ranges (\"^18\", \"18\", \"18.x\") as well as full semver.\n              // Matches the baconjs check above — only warn when a leading major\n              // parses confidently. Dist-tags and git specs are left alone.\n              const versionMatch = reactRange.match(/^\\s*[~^]?(\\d+)(?:[.\\s]|$)/);\n              if (versionMatch) {\n                const major = parseInt(versionMatch[1], 10);\n                if (major < 19) {\n                  warnings.push(\n                    'Plugin has webapp keyword (' + matchedWebappKeywords.join(', ') +\n                    ') but declares react ' + reactRange + ' (major version ' + major + '). ' +\n                    'The Signal K admin UI requires React >= 19 for Module Federation compatibility. ' +\n                    'Update your react and react-dom dependencies to ^19.0.0'\n                  );\n                }\n              }\n            }\n          }\n\n          warnings.forEach(w => console.log('::warning::' + w));\n          if (errors.length > 0) {\n            errors.forEach(e => console.log('::error::' + e));\n            process.exit(1);\n          }\n          console.log('Plugin package.json validation passed');\n          VALIDATE\n          node /tmp/validate-pkg.js\n\n      - name: Install dependencies\n        run: |\n          if [ -f package-lock.json ]; then\n            npm ci\n          else\n            echo \"No package-lock.json found — using npm install instead of npm ci\"\n            npm install\n          fi\n        shell: bash\n\n      - name: Build\n        env:\n          BUILD_CMD: ${{ inputs.build-command }}\n        shell: bash\n        run: eval \"$BUILD_CMD\"\n\n      - name: Validate plugin entry point\n        id: validate-entry\n        shell: bash\n        timeout-minutes: 2\n        run: |\n          cat << 'ENTRYPOINT' > /tmp/validate-entry.js\n          const path = require('path');\n          const pkg = require(process.cwd() + '/package.json');\n          // Resolve the plugin's CommonJS entry point, honoring conditional\n          // exports like { \".\": { \"require\": \"./cjs/index.cjs\" } } that\n          // modern TypeScript templates emit. Falls back to 'index.js'.\n          function resolveEntry(p, fallback) {\n            if (p && p.main) return p.main;\n            const e = p && p.exports;\n            if (typeof e === 'string') return e;\n            if (e && typeof e === 'object') {\n              const root = typeof e['.'] !== 'undefined' ? e['.'] : e;\n              if (typeof root === 'string') return root;\n              if (root && typeof root === 'object') {\n                for (const k of ['require', 'node', 'default', 'import']) {\n                  if (typeof root[k] === 'string') return root[k];\n                }\n              }\n            }\n            return fallback;\n          }\n          const entry = resolveEntry(pkg, 'index.js');\n          try {\n            const mod = require(path.resolve(entry));\n            const pluginConstructor = mod.default || mod;\n            if (typeof pluginConstructor !== 'function') {\n              console.log('::error::Plugin entry point does not export a function (got ' + typeof pluginConstructor + ')');\n              process.exit(1);\n            }\n            console.log('Plugin exports a valid constructor function (' + entry + ')');\n          } catch (e) {\n            console.log('::error::Failed to load plugin entry point (' + entry + '): ' + e.message);\n            process.exit(1);\n          }\n          process.exit(0);\n          ENTRYPOINT\n          node /tmp/validate-entry.js\n\n      - name: Validate plugin.schema() if defined\n        id: validate-schema\n        shell: bash\n        timeout-minutes: 2\n        run: |\n          cat << 'SCHEMACHECK' > /tmp/check-schema.js\n          const path = require('path');\n          const pkg = require(process.cwd() + '/package.json');\n          // See validate-entry.js for the rationale — object/conditional\n          // exports must be resolved, not flattened to 'index.js'.\n          function resolveEntry(p, fallback) {\n            if (p && p.main) return p.main;\n            const e = p && p.exports;\n            if (typeof e === 'string') return e;\n            if (e && typeof e === 'object') {\n              const root = typeof e['.'] !== 'undefined' ? e['.'] : e;\n              if (typeof root === 'string') return root;\n              if (root && typeof root === 'object') {\n                for (const k of ['require', 'node', 'default', 'import']) {\n                  if (typeof root[k] === 'string') return root[k];\n                }\n              }\n            }\n            return fallback;\n          }\n          const entry = resolveEntry(pkg, 'index.js');\n\n          let mod;\n          try {\n            mod = require(path.resolve(entry));\n          } catch (e) {\n            // Entry point already validated in previous step — skip schema check\n            console.log('Could not load plugin — skipping schema check');\n            process.exit(0);\n          }\n\n          const ctor = mod.default || mod;\n          if (typeof ctor !== 'function') {\n            process.exit(0);\n          }\n\n          // Minimal mock — only needs to survive the constructor\n          const mockApp = {\n            config: { configPath: '/tmp', version: '0.0.0' },\n            selfContext: 'vessels.urn:mrn:signalk:uuid:test',\n            getPath: () => '',\n            getSelfPath: () => undefined,\n            getMetadata: () => undefined,\n            getDataDirPath: () => '/tmp',\n            readPluginOptions: () => ({}),\n            savePluginOptions: (config, cb) => { if (cb) cb(null); },\n            handleMessage: () => {},\n            debug: () => {},\n            error: () => {},\n            setPluginStatus: () => {},\n            setPluginError: () => {},\n            reportError: () => {},\n            on: () => ({ unsubscribe: () => {} }),\n            registerPutHandler: () => {},\n            registerDeltaInputHandler: () => () => {},\n            subscriptionmanager: { subscribe: () => ({ unsubscribe: () => {} }) },\n            streambundle: { getSelfBus: () => ({ onValue: () => ({ unsubscribe: () => {} }) }) },\n            signalk: { self: 'vessels.urn:mrn:signalk:uuid:test', retrieve: () => ({}) }\n          };\n\n          let plugin;\n          try {\n            plugin = ctor(mockApp);\n          } catch (e) {\n            // Constructor needs a real app — we test lifecycle separately\n            console.log('Plugin constructor needs server context — skipping schema check');\n            process.exit(0);\n          }\n\n          // plugin.schema can be a function or a plain object (both are valid)\n          if (!plugin || (typeof plugin.schema !== 'function' && typeof plugin.schema !== 'object') || plugin.schema === null) {\n            console.log('Plugin does not define schema — nothing to check');\n            process.exit(0);\n          }\n\n          const schemaIsFunction = typeof plugin.schema === 'function';\n          const label = schemaIsFunction ? 'plugin.schema()' : 'plugin.schema';\n          let schema;\n\n          if (schemaIsFunction) {\n            // A throwing schema() crashes the server's plugin config UI\n            try {\n              schema = plugin.schema();\n            } catch (e) {\n              console.log('::error::' + label + ' threw an error: ' + e.message);\n              console.log('::error::This will crash the SignalK server when it tries to render the plugin config UI.');\n              process.exit(1);\n            }\n          } else {\n            schema = plugin.schema;\n          }\n\n          // Validate it returned something useful\n          if (schema === null || schema === undefined) {\n            console.log('::warning::' + label + ' returned ' + schema + ' — consider returning a valid JSON Schema object');\n            process.exit(0);\n          }\n\n          if (typeof schema !== 'object') {\n            console.log('::error::' + label + ' returned ' + typeof schema + ' instead of a JSON Schema object');\n            process.exit(1);\n          }\n\n          // Basic JSON Schema structure check (rjsf compatibility)\n          if (!schema.type && !schema.properties && !schema.oneOf && !schema.anyOf) {\n            console.log('::warning::' + label + ' has no type, properties, oneOf, or anyOf — is this a valid JSON Schema?');\n          }\n\n          // Check for JSON-hostile values that would be silently dropped or\n          // replaced by JSON.stringify. Circular refs throw from stringify;\n          // functions/symbols/undefined properties do not — walk the tree\n          // explicitly so authors get a useful error instead of data loss.\n          const jsonIssues = [];\n          const seen = new WeakSet();\n          function walk(node, path) {\n            if (node === null) return;\n            const t = typeof node;\n            if (t === 'function' || t === 'symbol') {\n              jsonIssues.push(path + ' is a ' + t + ' — JSON.stringify will drop it');\n              return;\n            }\n            if (t !== 'object') return;\n            if (seen.has(node)) {\n              jsonIssues.push(path + ' is a circular reference');\n              return;\n            }\n            seen.add(node);\n            if (Array.isArray(node)) {\n              node.forEach((v, i) => walk(v, path + '[' + i + ']'));\n              return;\n            }\n            for (const k of Object.keys(node)) {\n              const v = node[k];\n              if (v === undefined) {\n                jsonIssues.push(path + '.' + k + ' is undefined — JSON.stringify will drop this property');\n                continue;\n              }\n              walk(v, path + '.' + k);\n            }\n          }\n          walk(schema, 'schema');\n\n          if (jsonIssues.length > 0) {\n            jsonIssues.forEach(m => console.log('::error::' + label + ': ' + m));\n            console.log('::error::The server stores the schema as JSON — non-serializable members cause silent data loss.');\n            process.exit(1);\n          }\n\n          console.log(label + ' is a valid JSON Schema object');\n          process.exit(0);\n          SCHEMACHECK\n          node /tmp/check-schema.js\n\n      - name: Test plugin stop()/start() lifecycle\n        id: lifecycle-check\n        shell: bash\n        timeout-minutes: 2\n        run: |\n          cat << 'LIFECYCLE' > /tmp/check-lifecycle.js\n          const path = require('path');\n          const pkg = require(process.cwd() + '/package.json');\n          // See validate-entry.js for the rationale — object/conditional\n          // exports must be resolved, not flattened to 'index.js'.\n          function resolveEntry(p, fallback) {\n            if (p && p.main) return p.main;\n            const e = p && p.exports;\n            if (typeof e === 'string') return e;\n            if (e && typeof e === 'object') {\n              const root = typeof e['.'] !== 'undefined' ? e['.'] : e;\n              if (typeof root === 'string') return root;\n              if (root && typeof root === 'object') {\n                for (const k of ['require', 'node', 'default', 'import']) {\n                  if (typeof root[k] === 'string') return root[k];\n                }\n              }\n            }\n            return fallback;\n          }\n          const entry = resolveEntry(pkg, 'index.js');\n\n          let mod;\n          try {\n            mod = require(path.resolve(entry));\n          } catch (e) {\n            console.log('Could not load plugin — skipping lifecycle check');\n            process.exit(0);\n          }\n\n          const ctor = mod.default || mod;\n          if (typeof ctor !== 'function') {\n            process.exit(0);\n          }\n\n          // ── Delta validation helpers ──────────────────────────\n          const deltaWarnings = [];\n          const deltaErrors = [];\n          // Each dot-separated segment must start with a letter and may contain\n          // letters, digits, or hyphens — hyphens appear in plugin-chosen ids\n          // (e.g. electrical.batteries.house-bank).\n          const pathRe = /^[a-zA-Z][a-zA-Z0-9-]*(\\.[a-zA-Z][a-zA-Z0-9-]*)*$/;\n\n          function validateDelta(id, data) {\n            if (!data || typeof data !== 'object') {\n              deltaErrors.push('handleMessage() called with non-object data: ' + typeof data);\n              return;\n            }\n            if (!data.updates) {\n              deltaErrors.push('handleMessage() called without updates field');\n              return;\n            }\n            if (!Array.isArray(data.updates)) {\n              deltaErrors.push('handleMessage() updates is ' + typeof data.updates + ' — must be an array');\n              return;\n            }\n            if (data.updates.length === 0) {\n              deltaWarnings.push('handleMessage() called with empty updates array');\n              return;\n            }\n            for (const update of data.updates) {\n              if (!update || typeof update !== 'object') {\n                deltaErrors.push('updates[] contains non-object: ' + typeof update);\n                continue;\n              }\n              const hasValues = 'values' in update;\n              const hasMeta = 'meta' in update;\n              if (!hasValues && !hasMeta) {\n                deltaErrors.push('update has neither values nor meta — server will silently discard it');\n              }\n              if (hasValues && !Array.isArray(update.values)) {\n                deltaErrors.push('update.values is ' + typeof update.values + ' — must be an array (server silently discards non-arrays)');\n              }\n              if (hasMeta && !Array.isArray(update.meta)) {\n                deltaErrors.push('update.meta is ' + typeof update.meta + ' — must be an array');\n              }\n              const items = [\n                ...(Array.isArray(update.values) ? update.values : []),\n                ...(Array.isArray(update.meta) ? update.meta : [])\n              ];\n              for (const item of items) {\n                if (!item || typeof item !== 'object') continue;\n                if (typeof item.path !== 'string') {\n                  deltaErrors.push('path is ' + typeof item.path + ' — must be a string');\n                } else if (item.path !== '' && !pathRe.test(item.path)) {\n                  deltaWarnings.push('path \"' + item.path + '\" has unusual format — expected dotted alphanumeric (e.g. navigation.position)');\n                }\n              }\n            }\n          }\n\n          // ── Mock app with delta capture ─────────────────────────\n          const mockApp = {\n            // ── Server configuration ──────────────────────────────\n            config: { configPath: '/tmp', version: '0.0.0' },\n            selfType: 'uuid',\n            selfId: 'urn:mrn:signalk:uuid:test',\n            selfContext: 'vessels.urn:mrn:signalk:uuid:test',\n\n            // ── Data model ────────────────────────────────────────\n            getPath: (p) => undefined,\n            getSelfPath: (p) => undefined,\n            getMetadata: (p) => undefined,\n            handleMessage: (id, data) => validateDelta(id, data),\n            putSelfPath: (aPath, value, cb) => { if (cb) cb({ state: 'COMPLETED', statusCode: 200 }); return Promise.resolve(); },\n            putPath: (aPath, value, cb) => { if (cb) cb({ state: 'COMPLETED', statusCode: 200 }); return Promise.resolve(); },\n            queryRequest: () => Promise.resolve({}),\n            streambundle: { getSelfBus: () => ({ onValue: () => ({ unsubscribe: () => {} }) }) },\n            subscriptionmanager: { subscribe: () => ({ unsubscribe: () => {} }) },\n            signalk: { self: 'vessels.urn:mrn:signalk:uuid:test', retrieve: () => ({}) },\n            registerDeltaInputHandler: (handler) => {\n              // Check the handler calls next() with a simple test\n              let nextCalled = false;\n              try {\n                handler({ updates: [{ values: [{ path: 'test.ci.probe', value: 0 }] }] }, (d) => { nextCalled = true; });\n              } catch (e) { /* handler may need real delta — skip check */ nextCalled = true; }\n              if (!nextCalled) {\n                deltaWarnings.push('registerDeltaInputHandler: handler did not call next() — this will silently drop deltas from all other plugins/sources');\n              }\n              return () => {};\n            },\n\n            // ── Plugin configuration ──────────────────────────────\n            readPluginOptions: () => ({}),\n            savePluginOptions: (configuration, cb) => { if (cb) cb(null); },\n            getDataDirPath: () => '/tmp',\n\n            // ── Status and debugging ──────────────────────────────\n            debug: () => {},\n            error: () => {},\n            setPluginStatus: (msg) => console.log('  status: ' + msg),\n            setPluginError: (msg) => console.log('  error: ' + msg),\n            reportError: () => {},\n            reportOutputMessages: () => {},\n\n            // ── PUT / action handlers ─────────────────────────────\n            registerPutHandler: () => {},\n            registerActionHandler: () => {},\n\n            // ── Event system ──────────────────────────────────────\n            on: () => ({ unsubscribe: () => {} }),\n            emit: () => {},\n            emitPropertyValue: () => {},\n            onPropertyValues: () => () => {},\n\n            // ── Provider registrations (no-op in CI) ──────────────\n            registerResourceProvider: () => {},\n            registerAutopilotProvider: () => {},\n            registerWeatherProvider: () => {},\n            registerHistoryProvider: () => {},\n            registerHistoryApiProvider: () => {},\n\n            // ── API access (no-op stubs) ──────────────────────────\n            getFeatures: () => Promise.resolve({ apis: [], plugins: [] }),\n            getCourse: () => Promise.resolve({}),\n            clearDestination: () => Promise.resolve(),\n            setDestination: () => Promise.resolve(),\n            activateRoute: () => Promise.resolve(),\n            getSerialPorts: () => Promise.resolve({ byId: [], byPath: [], byOpenPlotter: [], serialports: [] }),\n          };\n\n          let plugin;\n          try {\n            plugin = ctor(mockApp);\n          } catch (e) {\n            console.log('Plugin constructor requires server context — skipping lifecycle check');\n            process.exit(0);\n          }\n\n          if (!plugin || typeof plugin.start !== 'function' || typeof plugin.stop !== 'function') {\n            console.log('Plugin does not have start()/stop() — skipping lifecycle check');\n            process.exit(0);\n          }\n\n          // The server calls registerWithRouter() before start() if defined\n          if (typeof plugin.registerWithRouter === 'function') {\n            const noOp = () => mockRouter;\n            const mockRouter = { get: noOp, post: noOp, put: noOp, delete: noOp, patch: noOp, use: noOp, all: noOp, route: noOp, param: noOp };\n            try {\n              plugin.registerWithRouter(mockRouter);\n              console.log('registerWithRouter() — ok');\n            } catch (e) {\n              const msg = e.message || String(e);\n              console.log('::warning::registerWithRouter() threw: ' + msg);\n            }\n          }\n\n          // Detect errors caused by missing CI mock methods vs real plugin bugs\n          function isMockGap(msg) {\n            return /\\w+ is not a function/.test(msg) || /Cannot read propert/.test(msg);\n          }\n\n          // Wrap in an async IIFE so that Promise-returning start()/stop()\n          // hooks surface rejections via await — a sync try/catch around\n          // `plugin.start({})` would silently swallow them.\n          (async () => {\n          try {\n            await Promise.resolve(plugin.start({}));\n            console.log('start({}) — ok');\n          } catch (e) {\n            const msg = e.message || String(e);\n            console.log('::warning::plugin.start({}) threw: ' + msg);\n            if (isMockGap(msg)) {\n              console.log('::warning::This looks like a missing CI mock method, not a plugin bug. Please report at https://github.com/SignalK/signalk-server/issues');\n            } else {\n              console.log('::warning::Plugins should handle empty/default configuration gracefully.');\n            }\n            process.exit(0);\n          }\n\n          try {\n            await Promise.resolve(plugin.stop());\n            console.log('stop() — ok');\n          } catch (e) {\n            const msg = e.message || String(e);\n            if (isMockGap(msg)) {\n              console.log('::warning::plugin.stop() threw: ' + msg);\n              console.log('::warning::This looks like a missing CI mock method, not a plugin bug. Please report at https://github.com/SignalK/signalk-server/issues');\n              // Don't fail the build for mock gaps\n            } else {\n              console.log('::error::plugin.stop() threw: ' + msg);\n              console.log('::error::This causes the server to leak resources when the plugin is disabled or restarted.');\n              process.exit(1);\n            }\n          }\n\n          // Restart: the server calls stop() then start() when config changes\n          try {\n            await Promise.resolve(plugin.start({}));\n            console.log('start({}) again — ok (restart works)');\n          } catch (e) {\n            const msg = e.message || String(e);\n            if (isMockGap(msg)) {\n              console.log('::warning::plugin.start({}) threw on restart: ' + msg);\n              console.log('::warning::This looks like a missing CI mock method, not a plugin bug. Please report at https://github.com/SignalK/signalk-server/issues');\n              process.exit(0);\n            }\n            console.log('::error::plugin.start({}) threw on second call: ' + msg);\n            console.log('::error::Plugins must support restart (stop then start). This fails when users toggle the plugin in the server UI.');\n            process.exit(1);\n          }\n\n          try { await Promise.resolve(plugin.stop()); } catch (e) { /* ignore */ }\n\n          // ── Report delta validation results ─────────────────────\n          if (deltaWarnings.length > 0 || deltaErrors.length > 0) {\n            console.log('');\n            console.log('Delta validation (from deltas emitted during start):');\n          }\n          deltaWarnings.forEach(w => console.log('::warning::Delta: ' + w));\n          deltaErrors.forEach(e => console.log('::error::Delta: ' + e));\n          if (deltaErrors.length > 0) {\n            console.log('');\n            console.log('Malformed deltas are silently discarded by the server —');\n            console.log('the plugin appears to work but data never reaches consumers.');\n            process.exit(1);\n          }\n\n          console.log('Plugin lifecycle (start/stop/restart) is clean');\n          process.exit(0);\n          })().catch(e => {\n            console.log('::error::Unexpected error during lifecycle check: ' + (e && e.message || String(e)));\n            process.exit(1);\n          });\n          LIFECYCLE\n          node /tmp/check-lifecycle.js\n\n      - name: Scan for deprecated and misused SignalK APIs\n        id: deprecated-api\n        shell: bash\n        run: |\n          cat << 'APISCAN' > /tmp/check-api-usage.js\n          const fs = require('fs');\n          const path = require('path');\n\n          // ── Deprecated APIs (warnings) ──────────────────────────\n          const deprecated = [\n            {\n              pattern: /\\bsetProviderStatus\\s*\\(/g,\n              message: 'setProviderStatus() is deprecated — use setPluginStatus() instead',\n            },\n            {\n              pattern: /\\bsetProviderError\\s*\\(/g,\n              message: 'setProviderError() is deprecated — use setPluginError() instead',\n            },\n          ];\n\n          // ── API misuse (errors) ─────────────────────────────────\n          // These access internal server properties not exposed to plugins\n          const misuse = [\n            {\n              pattern: /\\bapp\\.server\\b/g,\n              message: 'app.server is an internal property — not part of the plugin API',\n            },\n            {\n              pattern: /\\bapp\\.deltaCache\\b/g,\n              message: 'app.deltaCache is internal — use app.getPath() instead',\n            },\n            {\n              pattern: /\\bapp\\.pluginsMap\\b/g,\n              message: 'app.pluginsMap is internal — not part of the plugin API',\n            },\n            {\n              pattern: /\\bhistoryApiHttpRegistry\\b/g,\n              message: 'historyApiHttpRegistry is internal (explicitly hidden from plugins) — use app.registerHistoryApiProvider()',\n            },\n          ];\n\n          // ── Route registration anti-pattern (warnings) ──────────\n          // Plugins should use registerWithRouter(router) not direct app.get/post\n          const routeAntiPatterns = [\n            {\n              pattern: /\\bapp\\.(get|post|put|delete|patch|use)\\s*\\(\\s*['\"`\\/]/g,\n              message: 'Direct Express route on app object — use registerWithRouter(router) or signalKApiRoutes(router) instead',\n            },\n          ];\n\n          // ── File storage anti-patterns (warnings) ───────────────\n          // Plugins should use app.getDataDirPath() for data files,\n          // not write to __dirname (node_modules), process.cwd() (server dir),\n          // or access app.config.configPath directly\n          const fileStorageAntiPatterns = [\n            {\n              pattern: /\\b(writeFileSync|writeFile|mkdirSync|mkdir|appendFileSync|createWriteStream)\\b[^)]*\\b__dirname\\b/g,\n              message: 'Writing files relative to __dirname — this writes into node_modules. Use app.getDataDirPath() instead',\n            },\n            {\n              pattern: /\\b(writeFileSync|writeFile|mkdirSync|mkdir|appendFileSync|createWriteStream)\\b[^)]*\\bprocess\\.cwd\\(\\)/g,\n              message: 'Writing files relative to process.cwd() — this writes into the server directory. Use app.getDataDirPath() instead',\n            },\n            {\n              pattern: /\\bapp\\.config\\.configPath\\b/g,\n              message: 'Direct access to app.config.configPath — use app.getDataDirPath() for plugin data or app.savePluginOptions() for config',\n            },\n          ];\n\n          // ── Security anti-patterns (warnings) ─────────────────────\n          // Plugin routes via registerWithRouter() are automatically admin-protected.\n          // PUT handlers via registerPutHandler() have built-in permission checks.\n          // Plugins should NOT implement their own auth logic or access security internals.\n          const securityAntiPatterns = [\n            {\n              pattern: /\\bapp\\.securityStrategy\\b/g,\n              message: 'Direct access to app.securityStrategy — this is a server internal. Plugin routes via registerWithRouter() are already admin-protected; PUT handlers via registerPutHandler() have built-in permission checks',\n            },\n            {\n              pattern: /\\bisDummy\\s*\\(\\)/g,\n              message: 'Checking isDummy() to branch security logic — plugins should not change behavior based on security mode. Use the built-in route protection instead',\n            },\n            {\n              pattern: /\\breq\\.skPrincipal\\b/g,\n              message: 'Manual req.skPrincipal inspection — plugin routes under /plugins/* are already admin-only. If you need user identity, use req.skPrincipal.identifier but do not implement your own permission checks',\n            },\n            {\n              pattern: /\\baddAdminWriteMiddleware\\b/g,\n              message: 'addAdminWriteMiddleware is a server internal — plugin routes via registerWithRouter() are already admin-protected',\n            },\n            {\n              pattern: /\\baddWriteMiddleware\\b/g,\n              message: 'addWriteMiddleware is a server internal — use registerPutHandler() for write operations with built-in permission checks',\n            },\n          ];\n\n          const srcFiles = [];\n          function collectFiles(dir) {\n            if (!fs.existsSync(dir)) return;\n            for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {\n              if (entry.name === 'node_modules' || entry.name === '.git' || entry.name === 'dist') continue;\n              const full = path.join(dir, entry.name);\n              if (entry.isDirectory()) { collectFiles(full); continue; }\n              if (/\\.(js|ts|mjs|cjs)$/.test(entry.name)) srcFiles.push(full);\n            }\n          }\n          collectFiles('.');\n\n          const warnings = [];\n          const errors = [];\n\n          for (const file of srcFiles) {\n            const content = fs.readFileSync(file, 'utf8');\n            const lines = content.split('\\n');\n            const relFile = path.relative('.', file);\n\n            // Strip comments before scanning so commented-out examples (either\n            // \"// app.server\" or \"/* app.server */\" forms, on their own line\n            // or inline with real code) do not trigger API misuse warnings.\n            // String literals are not parsed — a comment-like sequence inside\n            // a string is still treated as a comment, an accepted false-pos.\n            const codeLines = new Array(lines.length);\n            let inBlock = false;\n            for (let i = 0; i < lines.length; i++) {\n              const line = lines[i];\n              let out = '';\n              let pos = 0;\n              while (pos < line.length) {\n                if (inBlock) {\n                  const end = line.indexOf('*/', pos);\n                  if (end === -1) { pos = line.length; break; }\n                  inBlock = false;\n                  pos = end + 2;\n                } else if (line.startsWith('//', pos)) {\n                  break; // rest of line is a // comment\n                } else if (line.startsWith('/*', pos)) {\n                  inBlock = true;\n                  pos += 2;\n                } else {\n                  out += line[pos];\n                  pos += 1;\n                }\n              }\n              codeLines[i] = out;\n            }\n\n            function scanPatterns(patterns, target) {\n              for (const pat of patterns) {\n                for (let i = 0; i < lines.length; i++) {\n                  if (!codeLines[i]) continue;\n                  if (pat.pattern.test(codeLines[i])) {\n                    target.push(relFile + ':' + (i + 1) + ' — ' + pat.message);\n                  }\n                  pat.pattern.lastIndex = 0;\n                }\n              }\n            }\n\n            scanPatterns(deprecated, warnings);\n            scanPatterns(misuse, errors);\n            scanPatterns(routeAntiPatterns, warnings);\n            scanPatterns(fileStorageAntiPatterns, warnings);\n            scanPatterns(securityAntiPatterns, warnings);\n          }\n\n          // ── Node built-in module version checks ────────────────\n          // Some node: built-in modules require specific Node versions.\n          // If a plugin uses them but engines.node allows older versions, it will crash.\n          const pkg = require(path.resolve('package.json'));\n          const enginesNode = pkg.engines && pkg.engines.node;\n\n          // Extract minimum Node version from engines.node (e.g. \">=18\", \">=18.0.0\", \"^20\", \"18.x\")\n          function parseMinNodeVersion(range) {\n            if (!range) return null;\n            const m = range.match(/(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?/);\n            if (!m) return null;\n            return [parseInt(m[1], 10), parseInt(m[2] || '0', 10), parseInt(m[3] || '0', 10)];\n          }\n\n          function versionLt(a, b) {\n            // a, b are [major, minor, patch] arrays\n            for (let i = 0; i < 3; i++) {\n              if (a[i] < b[i]) return true;\n              if (a[i] > b[i]) return false;\n            }\n            return false;\n          }\n\n          const nodeBuiltinVersionReqs = [\n            { pattern: /\\brequire\\s*\\(\\s*['\"]node:sqlite['\"]\\s*\\)|from\\s+['\"]node:sqlite['\"]/g, module: 'node:sqlite', minVersion: [22, 5, 0] },\n            { pattern: /\\brequire\\s*\\(\\s*['\"]node:test['\"]\\s*\\)|from\\s+['\"]node:test['\"]/g, module: 'node:test', minVersion: [18, 0, 0], testOnly: true },\n          ];\n\n          for (const file of srcFiles) {\n            const content = fs.readFileSync(file, 'utf8');\n            const relFile = path.relative('.', file);\n            for (const check of nodeBuiltinVersionReqs) {\n              check.pattern.lastIndex = 0;\n              if (!check.pattern.test(content)) { check.pattern.lastIndex = 0; continue; }\n              check.pattern.lastIndex = 0;\n\n              // Skip test-only modules in test files\n              if (check.testOnly && /\\b(test|spec|__tests__)\\b/i.test(relFile)) continue;\n\n              // If the file has try/catch or .catch() around the import, it handles\n              // the module being unavailable gracefully (e.g. dynamic import with fallback).\n              // Downgrade to warning instead of error.\n              const hasTryCatch = /try\\s*\\{[\\s\\S]*?\\brequire\\s*\\(\\s*['\"]node:(sqlite|test)['\"]\\s*\\)[\\s\\S]*?\\}\\s*catch/g.test(content) ||\n                /import\\s*\\(\\s*['\"]node:(sqlite|test)['\"]\\s*\\)/.test(content);\n\n              const minVerStr = check.minVersion.join('.');\n\n              if (!enginesNode) {\n                // No engines.node at all — always an error. The plugin MUST declare\n                // its minimum Node version so servers and users know the requirement.\n                errors.push(relFile + ' — uses ' + check.module + ' (requires Node >= ' + minVerStr + ') but package.json has no engines.node field. Add engines.node to declare the minimum version.');\n              } else {\n                const minDeclared = parseMinNodeVersion(enginesNode);\n                if (minDeclared && versionLt(minDeclared, check.minVersion)) {\n                  // engines.node is set but allows older versions. If the plugin handles\n                  // the module being unavailable (dynamic import with fallback), downgrade\n                  // to warning — the plugin works in degraded mode on older Node.\n                  const target = hasTryCatch ? warnings : errors;\n                  const suffix = hasTryCatch ? ' (dynamic import with fallback detected — verify graceful degradation)' : '';\n                  target.push(relFile + ' — uses ' + check.module + ' (requires Node >= ' + minVerStr + ') but engines.node \"' + enginesNode + '\" allows Node ' + minDeclared.join('.') + suffix);\n                }\n              }\n            }\n          }\n\n          if (warnings.length === 0 && errors.length === 0) {\n            console.log('No deprecated or misused API patterns found');\n          }\n          warnings.forEach(w => console.log('::warning::' + w));\n          errors.forEach(e => console.log('::error::' + e));\n\n          if (errors.length > 0) {\n            console.log('');\n            console.log('Found ' + errors.length + ' API misuse(s). These access internal server');\n            console.log('properties that are not part of the plugin API and may break');\n            console.log('without notice in future server updates.');\n            console.log('');\n            console.log('See: https://signalk.org/signalk-server/develop/plugins/server_api.html');\n            process.exit(1);\n          }\n          process.exit(0);\n          APISCAN\n          node /tmp/check-api-usage.js\n\n      - name: Verify npm pack includes all required files\n        id: pack-check\n        shell: bash\n        timeout-minutes: 2\n        run: |\n          cat << 'PACKCHECK' > /tmp/check-pack.js\n          const { execSync } = require('child_process');\n          const pkg = require(process.cwd() + '/package.json');\n          const path = require('path');\n\n          // See validate-entry.js for the rationale. Null fallback: if the\n          // plugin declares no main/exports, there is nothing to check.\n          function resolveEntry(p, fallback) {\n            if (p && p.main) return p.main;\n            const e = p && p.exports;\n            if (typeof e === 'string') return e;\n            if (e && typeof e === 'object') {\n              const root = typeof e['.'] !== 'undefined' ? e['.'] : e;\n              if (typeof root === 'string') return root;\n              if (root && typeof root === 'object') {\n                for (const k of ['require', 'node', 'default', 'import']) {\n                  if (typeof root[k] === 'string') return root[k];\n                }\n              }\n            }\n            return fallback;\n          }\n\n          // Get list of files that npm pack would include\n          // --ignore-scripts: don't re-run prepack (we already built in a prior step)\n          // stdio pipe suppresses stderr cross-platform (2>/dev/null breaks on Windows)\n          let packOutput;\n          try {\n            packOutput = execSync('npm pack --dry-run --json --ignore-scripts', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });\n          } catch (e) {\n            packOutput = e.stdout || '';\n          }\n          let files;\n          try {\n            const parsed = JSON.parse(packOutput);\n            files = parsed[0].files.map(f => f.path);\n          } catch (e) {\n            // Fallback: parse non-JSON dry-run output\n            let raw;\n            try {\n              raw = execSync('npm pack --dry-run --ignore-scripts', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });\n            } catch (e2) {\n              raw = e2.stdout || '';\n            }\n            files = raw.split('\\n').map(l => l.trim()).filter(l => l && !l.startsWith('npm') && !l.startsWith('Tarball'));\n          }\n\n          const errors = [];\n          const warnings = [];\n\n          // Check main entry point is included\n          const main = resolveEntry(pkg, null);\n          if (main && !files.includes(main) && !files.includes(main.replace(/^\\.\\//, ''))) {\n            errors.push('\"main\" field points to ' + main + ' but this file is NOT in the npm package.');\n            errors.push('The plugin will be broken when installed from npm. Add it to \"files\" in package.json or remove it from .npmignore.');\n          }\n\n          // Check exports map entries\n          if (pkg.exports && typeof pkg.exports === 'object') {\n            function checkExports(obj, prefix) {\n              for (const [key, val] of Object.entries(obj)) {\n                if (typeof val === 'string') {\n                  const clean = val.replace(/^\\.\\//, '');\n                  if (!files.includes(clean) && !files.includes(val)) {\n                    errors.push('\"exports\" entry ' + prefix + key + ' points to ' + val + ' but it is NOT in the npm package.');\n                  }\n                } else if (typeof val === 'object') {\n                  checkExports(val, prefix + key + '.');\n                }\n              }\n            }\n            checkExports(pkg.exports, '');\n          }\n\n          // Check for schema.json if plugin defines schema()\n          if (files.some(f => /schema\\.json/i.test(f))) {\n            console.log('schema.json found in package — good');\n          }\n\n          // Warn if dist/ or lib/ referenced but not included\n          if (main && (main.startsWith('dist/') || main.startsWith('lib/'))) {\n            const dir = main.split('/')[0];\n            if (!files.some(f => f.startsWith(dir + '/'))) {\n              errors.push('\"main\" references ' + dir + '/ directory but no files from it are in the package. Did you forget to build, or need to add \"' + dir + '\" to the \"files\" array in package.json?');\n            }\n          }\n\n          warnings.forEach(w => console.log('::warning::' + w));\n          if (errors.length > 0) {\n            errors.forEach(e => console.log('::error::' + e));\n            process.exit(1);\n          }\n          console.log('All entry points are included in the npm package');\n          process.exit(0);\n          PACKCHECK\n          node /tmp/check-pack.js\n\n      - name: Check ES2023 compatibility (Cerbo GX / Node 20)\n        id: es-check\n        if: always() && steps.pack-check.outcome != 'skipped'\n        shell: bash\n        run: |\n          # Cerbo GX (Venus OS) runs Node 20 which supports ES2023 syntax.\n          # Plugins using ES2024+ syntax (RegExp v flag, import attributes)\n          # will crash with SyntaxError on Node 20.\n          # Only check server-side JS (dist/, lib/, main entry) — skip public/\n          # which is frontend code running in browsers.\n          FILES=\"\"\n          for dir in dist lib; do\n            if [ -d \"$dir\" ]; then\n              for ext in js cjs mjs; do\n                if find \"$dir\" -name \"*.$ext\" -print -quit 2>/dev/null | grep -q .; then\n                  FILES=\"$FILES $dir/**/*.$ext\"\n                fi\n              done\n            fi\n          done\n\n          MAIN=$(node -e \"\n            const pkg = require('./package.json');\n            function resolveEntry(p, fallback) {\n              if (p && p.main) return p.main;\n              const e = p && p.exports;\n              if (typeof e === 'string') return e;\n              if (e && typeof e === 'object') {\n                const root = typeof e['.'] !== 'undefined' ? e['.'] : e;\n                if (typeof root === 'string') return root;\n                if (root && typeof root === 'object') {\n                  for (const k of ['require', 'node', 'default', 'import']) {\n                    if (typeof root[k] === 'string') return root[k];\n                  }\n                }\n              }\n              return fallback;\n            }\n            const main = resolveEntry(pkg, null);\n            if (main) console.log(main);\n          \" 2>/dev/null)\n          if [ -n \"$MAIN\" ] && [ -f \"$MAIN\" ] && [ -z \"$FILES\" ]; then\n            FILES=\"$MAIN\"\n          fi\n\n          if [ -z \"$FILES\" ]; then\n            echo \"No built JS files found to check\"\n            exit 0\n          fi\n\n          echo \"Checking ES2023 compatibility: $FILES\"\n          if ! npx --yes es-check@8 es2023 $FILES 2>&1; then\n            echo \"\"\n            echo \"::warning::Plugin uses ES2024+ syntax not supported by Node 20 (Cerbo GX / Venus OS). Consider targeting ES2023 in your TypeScript/build config or tsconfig.json to maintain Cerbo GX compatibility.\"\n          fi\n\n      - name: Simulate App Store install (--ignore-scripts)\n        id: appstore-check\n        shell: bash\n        env:\n          APPSTORE_DIR: ${{ runner.temp }}/appstore-test\n        run: |\n          # SignalK server installs plugins with --ignore-scripts (src/modules.ts:223)\n          # This means native addons (better-sqlite3, serialport, etc.) are NOT compiled.\n          # This test catches plugins that will break when installed via the App Store.\n          echo \"Simulating SignalK App Store install (npm install --ignore-scripts)...\"\n          PLUGIN_TGZ=$(npm pack --ignore-scripts --pack-destination \"$RUNNER_TEMP\")\n\n          mkdir -p \"$APPSTORE_DIR\"\n          cd \"$APPSTORE_DIR\"\n          npm init -y > /dev/null 2>&1\n          npm install --ignore-scripts \"$RUNNER_TEMP/$(basename \"$PLUGIN_TGZ\")\" 2>&1\n\n          # Scan for native addon dependencies (binding.gyp = needs compilation)\n          # Uses Node.js for cross-platform compatibility (works on Linux, macOS, Windows)\n          cat << 'CHECKSCRIPT' > \"$RUNNER_TEMP/check-native.js\"\n          const fs = require('fs');\n          const path = require('path');\n          const nmDir = path.join(process.env.APPSTORE_DIR, 'node_modules');\n          const nativeModules = [];\n\n          function findNativeModules(dir) {\n            if (!fs.existsSync(dir)) return;\n            for (const entry of fs.readdirSync(dir)) {\n              if (entry === '.package-lock.json') continue;\n              const full = path.join(dir, entry);\n              if (entry.startsWith('@')) {\n                findNativeModules(full);\n                continue;\n              }\n              if (fs.existsSync(path.join(full, 'binding.gyp'))) {\n                nativeModules.push(entry);\n              }\n              const nested = path.join(full, 'node_modules');\n              if (fs.existsSync(nested)) findNativeModules(nested);\n            }\n          }\n\n          findNativeModules(nmDir);\n\n          if (nativeModules.length === 0) {\n            console.log('No native addons found — App Store install is safe');\n            process.exit(0);\n          }\n\n          // Classify native modules as required vs optional using the lockfile\n          const optionalSet = new Set();\n          const lockPath = path.join(nmDir, '.package-lock.json');\n          if (fs.existsSync(lockPath)) {\n            try {\n              const lock = JSON.parse(fs.readFileSync(lockPath, 'utf8'));\n              for (const [key, meta] of Object.entries(lock.packages || {})) {\n                if (meta.optional) optionalSet.add(path.basename(key));\n              }\n            } catch (e) { /* ignore parse errors — treat all as required */ }\n          }\n\n          const requiredNative = nativeModules.filter(m => !optionalSet.has(m));\n          const optionalNative = nativeModules.filter(m => optionalSet.has(m));\n\n          if (optionalNative.length > 0) {\n            console.log('::warning::Optional native addons found: ' + optionalNative.join(', ') + '. App Store uses --ignore-scripts so these will not be compiled. The parent package declares them optional, so the plugin may still work — verify it works without them.');\n          }\n\n          if (requiredNative.length > 0) {\n            console.log('::error::Plugin depends on native addons: ' + requiredNative.join(', ') + '. App Store uses --ignore-scripts — native addons will NOT be compiled and the plugin will CRASH at runtime.');\n            console.log('');\n            console.log('Use alternatives that do not require native compilation, e.g.:');\n            console.log('  - node:sqlite (built into Node >= 22) instead of better-sqlite3');\n            console.log('  - Pure JavaScript packages instead of native addons');\n            process.exit(1);\n          }\n\n          process.exit(0);\n          CHECKSCRIPT\n          node \"$RUNNER_TEMP/check-native.js\"\n\n      - name: Lint (if available)\n        run: npm run lint --if-present\n        continue-on-error: true\n\n      - name: Check formatting\n        if: ${{ inputs.format-check-command != '' }}\n        env:\n          FORMAT_CMD: ${{ inputs.format-check-command }}\n        shell: bash\n        run: eval \"$FORMAT_CMD\"\n\n      - name: Run tests with coverage\n        if: ${{ inputs.coverage-command != '' }}\n        id: coverage\n        env:\n          COVERAGE_CMD: ${{ inputs.coverage-command }}\n        shell: bash\n        run: |\n          set -eo pipefail\n          eval \"$COVERAGE_CMD\" | tee \"$RUNNER_TEMP/coverage.log\"\n          {\n            echo '## Test coverage (Node ${{ matrix.node }} / ${{ runner.os }})'\n            echo\n            echo '```'\n            cat \"$RUNNER_TEMP/coverage.log\"\n            echo '```'\n          } >> \"$GITHUB_STEP_SUMMARY\"\n\n      - name: Run tests\n        if: ${{ inputs.coverage-command == '' }}\n        id: tests\n        env:\n          TEST_CMD: ${{ inputs.test-command }}\n        shell: bash\n        run: |\n          # Detect if the plugin has a real test script\n          HAS_TESTS=$(node -e \"\n            const pkg = require('./package.json');\n            const test = pkg.scripts && pkg.scripts.test;\n            // npm init sets test to 'echo \\\"Error: no test specified\\\" && exit 1'\n            if (!test || test.includes('no test specified')) {\n              process.exit(1);\n            }\n          \" && echo \"yes\" || echo \"no\")\n\n          if [ \"$HAS_TESTS\" = \"yes\" ]; then\n            eval \"$TEST_CMD\"\n          else\n            echo \"::notice::No test script defined — skipping tests\"\n          fi\n\n      - name: Check for untracked files after build/test\n        id: stray-files\n        shell: bash\n        run: |\n          # Plugins should not leave stray files in the repo after install/build/test.\n          UNTRACKED=$(git ls-files --others --exclude-standard -- ':!node_modules' ':!.npm')\n          if [ -n \"$UNTRACKED\" ]; then\n            echo \"::warning::Build/test left untracked files in the repository:\"\n            echo \"$UNTRACKED\" | while read -r f; do echo \"  $f\"; done\n            echo \"\"\n            echo \"These files would pollute the signalk-server git directory when\"\n            echo \"the plugin is installed. Add them to .gitignore or fix the build\"\n            echo \"to write output into node_modules or a temp directory.\"\n          fi\n\n      - name: Write job summary\n        if: always()\n        shell: bash\n        env:\n          VALIDATE_PKG: ${{ steps.validate-pkg.outcome }}\n          VALIDATE_ENTRY: ${{ steps.validate-entry.outcome }}\n          VALIDATE_SCHEMA: ${{ steps.validate-schema.outcome }}\n          LIFECYCLE_CHECK: ${{ steps.lifecycle-check.outcome }}\n          DEPRECATED_API: ${{ steps.deprecated-api.outcome }}\n          PACK_CHECK: ${{ steps.pack-check.outcome }}\n          APPSTORE_CHECK: ${{ steps.appstore-check.outcome }}\n          # When coverage-command is set, steps.tests is skipped and the\n          # coverage step runs instead — surface whichever actually ran.\n          TESTS: ${{ inputs.coverage-command != '' && steps.coverage.outcome || steps.tests.outcome }}\n          STRAY_FILES: ${{ steps.stray-files.outcome }}\n          ES_CHECK: ${{ steps.es-check.outcome }}\n          OS_NAME: >-\n            ${{ matrix.os == 'ubuntu-latest' && 'Linux' ||\n                matrix.os == 'ubuntu-24.04-arm' && 'Linux arm64' ||\n                matrix.os == 'macos-latest' && 'macOS' ||\n                matrix.os == 'windows-latest' && 'Windows' ||\n                matrix.os }}\n          NODE_VER: ${{ matrix.node }}\n        run: |\n          icon() {\n            case \"$1\" in\n              success)  echo \"pass\" ;;\n              failure)  echo \"FAIL\" ;;\n              skipped)  echo \"skip\" ;;\n              *)        echo \"—\" ;;\n            esac\n          }\n\n          PLUGIN_NAME=$(node -e \"console.log(require('./package.json').name)\" 2>/dev/null || echo \"unknown\")\n          PLUGIN_VER=$(node -e \"console.log(require('./package.json').version)\" 2>/dev/null || echo \"?\")\n\n          {\n            echo \"### $OS_NAME / Node $NODE_VER — $PLUGIN_NAME@$PLUGIN_VER\"\n            echo \"\"\n            echo \"| Check | Result |\"\n            echo \"|-------|--------|\"\n            echo \"| package.json valid | $(icon \"$VALIDATE_PKG\") |\"\n            echo \"| Entry point exports function | $(icon \"$VALIDATE_ENTRY\") |\"\n            echo \"| plugin.schema() valid | $(icon \"$VALIDATE_SCHEMA\") |\"\n            echo \"| start/stop/restart lifecycle | $(icon \"$LIFECYCLE_CHECK\") |\"\n            echo \"| API usage (no deprecated/internal) | $(icon \"$DEPRECATED_API\") |\"\n            echo \"| npm pack includes all files | $(icon \"$PACK_CHECK\") |\"\n            echo \"| App Store compatible (no native addons) | $(icon \"$APPSTORE_CHECK\") |\"\n            echo \"| Tests / coverage | $(icon \"$TESTS\") |\"\n            echo \"| ES2023 compatible (Cerbo GX / Node 20) | $(icon \"$ES_CHECK\") |\"\n            echo \"| No stray files after build | $(icon \"$STRAY_FILES\") |\"\n          } >> \"$GITHUB_STEP_SUMMARY\"\n\n      - name: Upload test artifacts\n        if: always()\n        uses: actions/upload-artifact@v7\n        with:\n          name: test-results-${{ matrix.os }}-node${{ matrix.node }}\n          path: |\n            test-results/\n            coverage/\n            junit*.xml\n          if-no-files-found: ignore\n          retention-days: 7\n\n  # ════════════════════════════════════════════════════════════\n  #  armv7 — Cerbo GX / Raspberry Pi (32-bit ARM via QEMU)\n  # ════════════════════════════════════════════════════════════\n  armv7:\n    name: armv7 (Cerbo GX) / Node 20\n    runs-on: ubuntu-latest\n    timeout-minutes: 30\n    if: ${{ inputs.enable-armv7 }}\n    # Expose the test-step outcome so ci-status can distinguish a step\n    # failure (advisory) from the job itself completing.\n    outputs:\n      advisory-outcome: ${{ steps.armv7-test.outcome }}\n    steps:\n      - name: Checkout plugin\n        uses: actions/checkout@v6\n\n      - name: Set up QEMU for ARM emulation\n        # Advisory: a QEMU setup failure must not block the workflow — the\n        # armv7 test step handles its own failure via continue-on-error, and\n        # if QEMU truly didn't initialize, docker run will fail there instead.\n        continue-on-error: true\n        uses: docker/setup-qemu-action@v4\n        with:\n          platforms: linux/arm/v7\n\n      - name: Cache npm for armv7\n        uses: actions/cache@v5\n        with:\n          path: /tmp/.npm-armv7-cache\n          key: armv7-npm-${{ hashFiles('**/package-lock.json', '**/package.json') }}\n          restore-keys: |\n            armv7-npm-\n\n      - name: Test on armv7 via QEMU\n        id: armv7-test\n        # Advisory: do not fail the workflow when armv7 tests fail. The\n        # outcome is captured via the job output above and surfaced in the\n        # ci-status summary.\n        continue-on-error: true\n        env:\n          BUILD_CMD: ${{ inputs.build-command }}\n          TEST_CMD: ${{ inputs.test-command }}\n        run: |\n          docker run --rm --platform linux/arm/v7 \\\n            -v \"${{ github.workspace }}:/plugin\" \\\n            -v \"/tmp/.npm-armv7-cache:/root/.npm\" \\\n            -w /plugin \\\n            -e BUILD_CMD \\\n            -e TEST_CMD \\\n            node:20-bookworm-slim \\\n            bash -c '\n              set -e\n              echo \"── System info ──\"\n              echo \"arch: $(uname -m)  node: $(node -v)  npm: $(npm -v)\"\n              echo \"── Installing build tools (python3, make, g++) ──\"\n              apt-get update -qq && apt-get install -y -qq python3 make g++ > /dev/null 2>&1\n              echo \"── Installing dependencies ──\"\n              if [ -f package-lock.json ]; then\n                npm ci --ignore-scripts\n              else\n                npm install --ignore-scripts\n              fi\n              npm rebuild\n              echo \"── Building ──\"\n              eval \"$BUILD_CMD\"\n\n              echo \"── Checking for native addons ──\"\n              node -e \"\n                const fs = require(\\\"fs\\\"), path = require(\\\"path\\\");\n                const nm = [];\n                function scan(dir) {\n                  if (!fs.existsSync(dir)) return;\n                  for (const e of fs.readdirSync(dir)) {\n                    if (e === \\\".package-lock.json\\\") continue;\n                    const f = path.join(dir, e);\n                    if (e.startsWith(\\\"@\\\")) { scan(f); continue; }\n                    if (fs.existsSync(path.join(f, \\\"binding.gyp\\\"))) nm.push(e);\n                    const n = path.join(f, \\\"node_modules\\\");\n                    if (fs.existsSync(n)) scan(n);\n                  }\n                }\n                scan(\\\"./node_modules\\\");\n                if (nm.length === 0) { console.log(\\\"No native addons\\\"); process.exit(0); }\n                console.log(\\\"Native addons compiled for armv7: \\\" + nm.join(\\\", \\\"));\n              \"\n\n              echo \"── Running tests ──\"\n              HAS_TESTS=$(node -e \"\n                const pkg = require(\\\"./package.json\\\");\n                const test = pkg.scripts && pkg.scripts.test;\n                if (!test || test.includes(\\\"no test specified\\\")) process.exit(1);\n              \" && echo \"yes\" || echo \"no\")\n              if [ \"$HAS_TESTS\" = \"yes\" ]; then\n                eval \"$TEST_CMD\"\n              else\n                echo \"::notice::No test script defined — skipping tests\"\n              fi\n            '\n\n      - name: Write job summary\n        if: always()\n        shell: bash\n        run: |\n          PLUGIN_NAME=$(node -e \"console.log(require('./package.json').name)\" 2>/dev/null || echo \"unknown\")\n          PLUGIN_VER=$(node -e \"console.log(require('./package.json').version)\" 2>/dev/null || echo \"?\")\n          # Use the test-step outcome, not job.status — the job itself\n          # succeeds (continue-on-error) even when the step fails.\n          RESULT=\"${{ steps.armv7-test.outcome }}\"\n\n          {\n            echo \"### armv7 (Cerbo GX) / Node 20 — ${PLUGIN_NAME}@${PLUGIN_VER}\"\n            echo \"\"\n            echo \"**Environment**: Venus OS 3.70 emulation (QEMU armv7, Debian Bookworm, python3, make, g++)\"\n            echo \"\"\n            if [[ \"$RESULT\" == \"success\" ]]; then\n              echo \"Install, build, and tests completed successfully under armv7 emulation.\"\n            else\n              echo \"The armv7 job **failed**. Your plugin may not work on 32-bit ARM devices (Cerbo GX, Raspberry Pi OS 32-bit).\"\n            fi\n            echo \"\"\n            echo \"> This test is **advisory and non-blocking** — armv7 failures do not fail the overall CI.\"\n          } >> \"$GITHUB_STEP_SUMMARY\"\n\n  # ════════════════════════════════════════════════════════════\n  #  Optional: SignalK server integration test\n  # ════════════════════════════════════════════════════════════\n  signalk-integration:\n    name: Integration / signalk-server ${{ matrix.signalk-server-version }} / Node ${{ matrix.node }}\n    runs-on: ubuntu-latest\n    timeout-minutes: 15\n    if: ${{ inputs.enable-signalk-integration }}\n    strategy:\n      fail-fast: false\n      matrix:\n        node: ${{ fromJson(inputs.node-versions) }}\n        signalk-server-version: ${{ fromJson(inputs.signalk-server-versions) }}\n    steps:\n      - name: Checkout plugin\n        uses: actions/checkout@v6\n\n      - name: Setup Node.js ${{ matrix.node }}\n        uses: actions/setup-node@v6\n        with:\n          node-version: ${{ matrix.node }}\n          cache: ${{ hashFiles('**/package-lock.json') != '' && 'npm' || '' }}\n\n      - name: Install SignalK server ${{ matrix.signalk-server-version }}\n        run: |\n          mkdir -p /tmp/sk-test\n          cd /tmp/sk-test\n          npm init -y\n          npm install signalk-server@${{ matrix.signalk-server-version }}\n\n      - name: Build plugin\n        env:\n          BUILD_CMD: ${{ inputs.build-command }}\n        shell: bash\n        run: |\n          if [ -f package-lock.json ]; then\n            npm ci\n          else\n            npm install\n          fi\n          eval \"$BUILD_CMD\"\n\n      - name: Install plugin into SignalK\n        run: |\n          # Pack the plugin and install it into the test server. Use basename\n          # defensively: some npm versions emit a path-prefixed tarball name.\n          PLUGIN_TGZ=$(npm pack --ignore-scripts --pack-destination /tmp)\n          cd /tmp/sk-test\n          npm install \"/tmp/$(basename \"$PLUGIN_TGZ\")\"\n\n      - name: Configure plugin to auto-start\n        run: |\n          cd /tmp/sk-test\n          PLUGIN_PKG_NAME=$(node -e \"console.log(require('${{ github.workspace }}/package.json').name)\")\n\n          # Derive plugin ID the same way signalk-server does (src/pluginid.ts)\n          PLUGIN_ID=$(node -e \"\n            const name = process.argv[1];\n            console.log(name.replace(/@/g, '_').replace(/\\//g, '_'));\n          \" \"$PLUGIN_PKG_NAME\")\n\n          echo \"Plugin package: $PLUGIN_PKG_NAME\"\n          echo \"Plugin ID:      $PLUGIN_ID\"\n\n          mkdir -p plugin-config-data\n          echo '{\"enabled\": true, \"configuration\": {}}' > \"plugin-config-data/${PLUGIN_ID}.json\"\n\n      - name: Start SignalK server and verify plugin\n        env:\n          SIGNALK_URL: 'http://localhost:3000'\n        run: |\n          cd /tmp/sk-test\n          export SIGNALK_NODE_CONFIG_DIR=/tmp/sk-test\n\n          # Start server with both NMEA 0183 and N2K sample data so plugins\n          # have a rich data environment (navigation, wind, depth, temperature, etc.)\n          # --override-timestamps keeps N2K data current instead of stale\n          npx signalk-server --sample-nmea0183-data --sample-n2k-data --override-timestamps -p 3000 &\n          SK_PID=$!\n          # Ensure the background server is killed on any exit path — step\n          # failure, early return from a check, or normal completion. Without\n          # this a failing `npm run test:integration` would leak the process.\n          trap 'kill $SK_PID 2>/dev/null || true' EXIT\n\n          # Wait for server to be ready (max 90 seconds)\n          echo \"Waiting for SignalK server...\"\n          READY=false\n          for i in $(seq 1 45); do\n            if curl -sf http://localhost:3000/signalk/v1/api/ > /dev/null 2>&1; then\n              READY=true\n              break\n            fi\n            sleep 2\n          done\n\n          if [ \"$READY\" != \"true\" ]; then\n            echo \"::error::SignalK server failed to start within 90 seconds\"\n            exit 1\n          fi\n          echo \"SignalK server is ready (PID $SK_PID)\"\n\n          # Verify plugin is loaded\n          PLUGIN_PKG_NAME=$(node -e \"console.log(require('${{ github.workspace }}/package.json').name)\")\n          PLUGINS_JSON=$(curl -sf http://localhost:3000/skServer/plugins)\n\n          echo \"Loaded plugins:\"\n          echo \"$PLUGINS_JSON\" | jq -r '.[] | \"  - \\(.packageName // .id) (\\(.state // \"unknown\"))\"'\n\n          # Assert our plugin is in the list\n          if ! echo \"$PLUGINS_JSON\" | jq -e \".[] | select(.packageName == \\\"$PLUGIN_PKG_NAME\\\")\" > /dev/null 2>&1; then\n            echo \"::error::Plugin '$PLUGIN_PKG_NAME' not found in loaded plugins\"\n            echo \"$PLUGINS_JSON\" | jq .\n            exit 1\n          fi\n          echo \"Plugin '$PLUGIN_PKG_NAME' is loaded\"\n\n          # Verify provider API registrations\n          # If the plugin registers as a provider (history, resources, etc.),\n          # check that the corresponding server endpoints actually respond.\n          # This catches the case where a plugin calls registerHistoryApiProvider()\n          # but the endpoint still returns 501 (broken registration), or where a\n          # webapp/plugin depends on an API that no installed provider serves.\n          echo \"\"\n          echo \"Checking provider API registrations...\"\n\n          PROVIDER_ERRORS=0\n\n          # History API v2 — check if plugin registered as a history provider\n          HISTORY_PROVIDERS=$(curl -sf http://localhost:3000/signalk/v2/api/history/_providers || echo \"{}\")\n          if echo \"$HISTORY_PROVIDERS\" | jq -e 'keys | length > 0' > /dev/null 2>&1; then\n            echo \"History API v2: provider(s) registered\"\n            echo \"$HISTORY_PROVIDERS\" | jq -r 'to_entries[] | \"  - \\(.key)\\(if .value.isDefault then \" (default)\" else \"\" end)\"'\n\n            # Verify the values endpoint responds (not 501)\n            FROM=$(date -u -d '1 day ago' +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -v-1d +%Y-%m-%dT%H:%M:%SZ)\n            TO=$(date -u +%Y-%m-%dT%H:%M:%SZ)\n            # No -f: we need to capture 4xx/5xx codes (notably 501) instead of\n            # exiting early with an empty HISTORY_STATUS.\n            HISTORY_STATUS=$(curl -s -o /dev/null -w '%{http_code}' \"http://localhost:3000/signalk/v2/api/history/values?paths=navigation.position&from=${FROM}&to=${TO}&resolution=60\" || echo \"000\")\n            if [ \"$HISTORY_STATUS\" = \"501\" ]; then\n              echo \"::error::History API v2: provider registered but /history/values returns 501 (no provider configured)\"\n              PROVIDER_ERRORS=$((PROVIDER_ERRORS + 1))\n            elif [ \"$HISTORY_STATUS\" = \"200\" ]; then\n              echo \"History API v2: /history/values responds OK\"\n            else\n              echo \"::warning::History API v2: /history/values returned HTTP $HISTORY_STATUS\"\n            fi\n          else\n            echo \"History API v2: no providers registered (OK — plugin does not provide history)\"\n          fi\n\n          if [ \"$PROVIDER_ERRORS\" -gt 0 ]; then\n            echo \"\"\n            echo \"::error::Provider API verification found $PROVIDER_ERRORS error(s)\"\n            exit 1\n          fi\n\n          # Run integration tests from the plugin repo if they exist\n          cd \"${{ github.workspace }}\"\n          HAS_INTEGRATION=$(node -e \"\n            const pkg = require('./package.json');\n            if (pkg.scripts && pkg.scripts['test:integration']) process.exit(0);\n            process.exit(1);\n          \" && echo \"yes\" || echo \"no\")\n\n          if [ \"$HAS_INTEGRATION\" = \"yes\" ]; then\n            echo \"Running integration tests...\"\n            SIGNALK_URL=http://localhost:3000 npm run test:integration\n          else\n            echo \"::notice::No test:integration script found — skipping\"\n          fi\n          # Server cleanup is handled by the EXIT trap set above.\n\n  # ════════════════════════════════════════════════════════════\n  #  Summary — collect all results\n  # ════════════════════════════════════════════════════════════\n  ci-status:\n    name: CI Status\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    if: always()\n    needs: [desktop, armv7, signalk-integration]\n    steps:\n      - name: Checkout plugin\n        uses: actions/checkout@v6\n        with:\n          sparse-checkout: package.json\n\n      - name: Write CI summary report\n        env:\n          DESKTOP_RESULT: ${{ needs.desktop.result }}\n          # Prefer the armv7 test-step outcome when the job ran — it records\n          # whether the advisory tests actually passed. Falls back to\n          # needs.armv7.result when the job was skipped/cancelled and no\n          # step outcome exists.\n          ARMV7_RESULT: ${{ needs.armv7.outputs.advisory-outcome || needs.armv7.result }}\n          INTEGRATION_RESULT: ${{ needs.signalk-integration.result }}\n        shell: bash\n        run: |\n          icon() {\n            case \"$1\" in\n              success)  echo \"pass\" ;;\n              failure)  echo \"FAIL\" ;;\n              skipped)  echo \"skip\" ;;\n              cancelled) echo \"cancel\" ;;\n              *)        echo \"—\" ;;\n            esac\n          }\n\n          PLUGIN_NAME=$(node -e \"console.log(require('./package.json').name)\" 2>/dev/null || echo \"unknown\")\n          PLUGIN_VER=$(node -e \"console.log(require('./package.json').version)\" 2>/dev/null || echo \"?\")\n\n          OVERALL=\"pass\"\n          if [[ \"$DESKTOP_RESULT\" == \"failure\" ]] || [[ \"$INTEGRATION_RESULT\" == \"failure\" ]]; then\n            OVERALL=\"FAIL\"\n          fi\n\n          {\n            echo \"## SignalK Plugin CI Report\"\n            echo \"\"\n            echo \"**Plugin**: \\`$PLUGIN_NAME@$PLUGIN_VER\\`\"\n            echo \"**Result**: $OVERALL\"\n            echo \"\"\n            echo \"### Platform results\"\n            echo \"\"\n            echo \"| Job | Result | Notes |\"\n            echo \"|-----|--------|-------|\"\n            echo \"| Desktop (Linux, Linux arm64, macOS, Windows) | $(icon \"$DESKTOP_RESULT\") | Node 22, 24 |\"\n            echo \"| armv7 — Cerbo GX (QEMU) | $(icon \"$ARMV7_RESULT\") | Node 20 (Venus OS 3.70) — advisory, non-blocking |\"\n            if [[ \"$INTEGRATION_RESULT\" != \"skipped\" ]]; then\n              echo \"| SignalK integration | $(icon \"$INTEGRATION_RESULT\") | Server install + plugin load |\"\n            fi\n            echo \"\"\n            echo \"### What was checked\"\n            echo \"\"\n            echo \"Every desktop job validates:\"\n            echo \"- **package.json** — \\`signalk-node-server-plugin\\` keyword, \\`main\\`/\\`exports\\` field, \\`engines.node\\`\"\n            echo \"- **Entry point** — Plugin exports a constructor function\"\n            echo \"- **plugin.schema()** — Returns valid JSON Schema without crashing\"\n            echo \"- **Lifecycle** — start()/stop()/restart cycle works without errors\"\n            echo \"- **API usage** — No deprecated (\\`setProviderStatus\\`), internal (\\`app.server\\`), file storage, or security anti-patterns\"\n            echo \"- **Node built-in modules** — \\`node:sqlite\\` requires \\`engines.node >= 22.5.0\\` declared in package.json\"\n            echo \"- **npm pack** — All files referenced by \\`main\\`/\\`exports\\` are included in the package\"\n            echo \"- **App Store install** — No native addons that break with \\`--ignore-scripts\\`\"\n            echo \"- **Hardcoded paths** — No \\`/home/user/...\\` literals in source files\"\n            echo \"- **ES2023 compatibility** — Built JS checked for Cerbo GX (Node 20) syntax compatibility\"\n            echo \"- **baconjs** — Plugins must not bundle their own baconjs; the server provides >= 3.x\"\n            echo \"- **React version** — Plugins with webapp keywords must use React >= 19 for Module Federation compatibility\"\n            echo \"- **Stray files** — Build/test does not leave untracked files in the repo\"\n            echo \"\"\n            echo \"See the individual job summaries above for per-platform details.\"\n          } >> \"$GITHUB_STEP_SUMMARY\"\n\n          if [[ \"$INTEGRATION_RESULT\" == \"skipped\" ]]; then\n            {\n              echo \"\"\n              echo \"> **Tip**: You can also test your plugin against a running Signal K server.\"\n              echo \"> Add \\`enable-signalk-integration: true\\` to your workflow. [Learn more](https://signalk.org/signalk-server/develop/plugins/ci.html#integration-tests)\"\n            } >> \"$GITHUB_STEP_SUMMARY\"\n          fi\n\n          if [[ \"$ARMV7_RESULT\" == \"failure\" ]]; then\n            {\n              echo \"\"\n              echo \"> **Note**: armv7 (Cerbo GX) failed but this is non-blocking.\"\n              echo \"> Your plugin may not work on 32-bit ARM devices (Cerbo GX, Raspberry Pi OS 32-bit).\"\n            } >> \"$GITHUB_STEP_SUMMARY\"\n          fi\n\n          echo \"\"\n          echo \"Desktop:              $DESKTOP_RESULT\"\n          echo \"armv7 (Cerbo GX):     $ARMV7_RESULT\"\n          echo \"SignalK integration:  $INTEGRATION_RESULT\"\n\n          # Desktop is mandatory\n          if [[ \"$DESKTOP_RESULT\" == \"failure\" ]]; then\n            echo \"::error::Desktop tests failed\"\n            exit 1\n          fi\n\n          # armv7 is advisory (non-blocking)\n          case \"$ARMV7_RESULT\" in\n            failure) echo \"::warning::armv7 (Cerbo GX) tests failed — plugin may not work on 32-bit ARM devices\" ;;\n            skipped) echo \"armv7 tests were skipped\" ;;\n          esac\n\n          # Integration is mandatory if enabled\n          if [[ \"$INTEGRATION_RESULT\" == \"failure\" ]]; then\n            echo \"::error::SignalK integration tests failed\"\n            exit 1\n          fi\n\n          echo \"All checks passed!\"\n"
  },
  {
    "path": ".github/workflows/release.yml",
    "content": "name: Release - build & publish modules and server, build & publish docker containers\n\non:\n  push:\n    tags:\n      - 'v*'\n  workflow_dispatch:\n\npermissions:\n  id-token: write # Required for OIDC\n  contents: read\n\njobs:\n  build_and_publish:\n    if: github.repository == 'SignalK/signalk-server'\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v6\n        with:\n          node-version: '24.x'\n          registry-url: 'https://registry.npmjs.org'\n\n      - name: Install and build all\n        run: |\n          npm cache clean -f\n          npm install npm@latest -g\n          npm install --package-lock-only\n          npm ci && npm cache clean --force\n          npm run build:all\n\n      - name: Publish server-admin-ui-dependencies\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/server-admin-ui-dependencies/package.json)\n          if ! npm view @signalk/server-admin-ui-dependencies@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/server-admin-ui-dependencies\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish server-admin-ui\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/server-admin-ui/package.json)\n          if ! npm view @signalk/server-admin-ui@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/server-admin-ui\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish server-api\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/server-api/package.json)\n          if ! npm view @signalk/server-api@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/server-api\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish streams\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/streams/package.json)\n          if ! npm view @signalk/streams@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/streams\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish resources-provider\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/resources-provider-plugin/package.json)\n          if ! npm view @signalk/resources-provider@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/resources-provider-plugin\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish typedoc-signalk-theme\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/typedoc-theme/package.json)\n          if ! npm view @signalk/typedoc-signalk-theme@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/typedoc-theme\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Publish assemblyscript-plugin-sdk\n        run: |\n          LOCAL_VERSION=$(awk '/\"version\":/{gsub(/(\"|\",)/,\"\",$2);print $2}' packages/assemblyscript-plugin-sdk/package.json)\n          if ! npm view @signalk/assemblyscript-plugin-sdk@$LOCAL_VERSION version &>/dev/null; then\n            cd packages/assemblyscript-plugin-sdk\n            npm publish --access public\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n      - name: Set tag variable\n        id: vars\n        run: echo \"tag=${GITHUB_REF#refs/*/}\" >> $GITHUB_OUTPUT\n\n      - name: Publish signalk-server\n        run: |\n          if [[ \"${{ steps.vars.outputs.tag }}\" == *beta* ]];\n            then\n              npm publish --tag beta\n            else\n              npm publish\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n  release:\n    permissions:\n      contents: write\n    if: startsWith(github.ref, 'refs/tags/')\n    runs-on: ubuntu-latest\n    needs: build_and_publish\n    steps:\n      - name: Build Changelog\n        id: github_release\n        uses: mikepenz/release-changelog-builder-action@v6\n        with:\n          ignorePreReleases: 'true'\n        env:\n          GITHUB_TOKEN: ${{ secrets.RELEASE_PAT }}\n\n      - name: Create Release (archived, need to be updated to use the new action)\n        uses: actions/create-release@v1\n        with:\n          tag_name: ${{ github.ref }}\n          release_name: ${{ github.ref }}\n          prerelease: ${{ contains(github.ref, 'beta') }}\n          body: ${{steps.github_release.outputs.changelog}}\n        env:\n          GITHUB_TOKEN: ${{ secrets.RELEASE_PAT }}\n\n  docker_images:\n    needs: build_and_publish\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        vm: [ubuntu-latest, ubuntu-24.04-arm]\n        include:\n          - vm: ubuntu-latest\n            arch: amd\n            platform: linux/amd64\n          - vm: ubuntu-24.04-arm\n            arch: arm\n            node: 24.x\n            platform: linux/arm64\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n\n    runs-on: ${{ matrix.vm }}\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v4\n      - name: Login to ghcr.io\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n      - name: Set TAG for build-args\n        id: vars\n        run: echo \"tag=${GITHUB_REF#refs/*/v}\" >> $GITHUB_OUTPUT\n      - name: Build and push\n        uses: docker/build-push-action@v7\n        with:\n          context: .\n          file: ./docker/Dockerfile_rel\n          platforms: ${{ matrix.platform }}\n          push: true\n          tags: ghcr.io/signalk/signalk-server:${{ matrix.arch }}-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n          build-args: |\n            TAG=${{ steps.vars.outputs.tag }}\n            BASE_IMAGE=${{ matrix.os }}-${{ matrix.node_safe }}\n\n  create-and-push-manifest:\n    needs: docker_images\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            tag: latest\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            tag: latest\n            suffix: -alpine\n            node_safe: 24\n\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Set up Docker Buildx\n        uses: docker/setup-buildx-action@v4\n      - name: Docker meta\n        id: docker_meta\n        uses: docker/metadata-action@v6\n        with:\n          images: |\n            ghcr.io/signalk/signalk-server\n          tags: |\n            type=semver,pattern={{raw}}\n            type=semver,pattern=v{{major}},enable=${{ !contains(github.ref, 'beta') }}\n            type=semver,pattern=v{{major}}.{{minor}},enable=${{ !contains(github.ref, 'beta') }}\n            type=raw,value=${{ matrix.tag }},enable=${{ !contains(github.ref, 'beta') }}\n          flavor: |\n            suffix=${{ matrix.suffix }}\n            latest=false\n      - name: Login to ghcr.io\n        uses: docker/login-action@v4\n        with:\n          registry: ghcr.io\n          username: ${{ github.actor }}\n          password: ${{ secrets.GHCR_PAT }}\n      - name: Create and push multi-arch manifest to GHCR\n        uses: int128/docker-manifest-create-action@v2\n        with:\n          tags: |\n            ${{ steps.docker_meta.outputs.tags }}\n          sources: |\n            ghcr.io/signalk/signalk-server:amd-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n            ghcr.io/signalk/signalk-server:arm-${{ matrix.os }}-${{ matrix.node_safe }}-${{ github.run_id }}\n      - name: Save tags to file\n        run: |\n          mkdir -p /tmp/tags\n          echo \"${{ steps.docker_meta.outputs.tags }}\" > /tmp/tags/${{ matrix.node_safe }}.txt\n      - name: Upload tag artifact\n        uses: actions/upload-artifact@v7\n        with:\n          name: release-tag-${{ matrix.node_safe }}\n          path: /tmp/tags/${{ matrix.node_safe }}.txt\n          retention-days: 1\n\n  copy-to-dockerhub:\n    needs: create-and-push-manifest\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            node_safe: 24.x\n          - os: alpine\n            node: 24.x\n            node_safe: 24\n    steps:\n      - name: Download tag artifact\n        uses: actions/download-artifact@v8\n        with:\n          name: release-tag-${{ matrix.node_safe }}\n          path: /tmp/tags\n\n      - name: Install skopeo\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y skopeo\n\n      - name: Copy images from GHCR to Docker Hub\n        shell: bash\n        env:\n          GHCR_USERNAME: ${{ github.actor }}\n          GHCR_TOKEN: ${{ secrets.GHCR_PAT }}\n          DOCKER_HUB_USERNAME: signalkci\n          DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}\n        run: |\n          set -euo pipefail\n          TAGS_FILE=\"/tmp/tags/${{ matrix.node_safe }}.txt\"\n          while IFS= read -r FULL_TAG || [ -n \"${FULL_TAG:-}\" ]; do\n            [ -z \"${FULL_TAG:-}\" ] && continue\n            TAG=\"${FULL_TAG##*:}\"\n            echo \"Copying: ${FULL_TAG} -> signalk/signalk-server:${TAG}\"\n            skopeo copy --all \\\n              --src-creds \"${GHCR_USERNAME}:${GHCR_TOKEN}\" \\\n              --dest-creds \"${DOCKER_HUB_USERNAME}:${DOCKER_HUB_ACCESS_TOKEN}\" \\\n              \"docker://${FULL_TAG}\" \\\n              \"docker://docker.io/signalk/signalk-server:${TAG}\"\n          done < \"$TAGS_FILE\"\n\n  housekeeping:\n    needs: [copy-to-dockerhub]\n    runs-on: ubuntu-latest\n    permissions:\n      packages: write\n    steps:\n      - name: Wait for GHCR indexing\n        run: sleep 60\n      - name: Remove Temporary & Untagged Docker Images from GHCR\n        continue-on-error: true\n        uses: dataaxiom/ghcr-cleanup-action@v1\n        with:\n          packages: signalk-server\n          delete-untagged: true\n          delete-tags: |\n            *-${{ github.run_id }}\n          token: ${{ secrets.GHCR_PAT }}\n\n  deploy_fly:\n    runs-on: ubuntu-latest\n    needs: copy-to-dockerhub\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v6\n      - name: Setup flyctl\n        uses: superfly/flyctl-actions/setup-flyctl@master\n      - name: Set TAG for build-arg\n        id: vars\n        run: echo \"tag=${GITHUB_REF#refs/*/}\" >> $GITHUB_OUTPUT\n      - name: Deploy demo.signalk.org at fly.io\n        working-directory: ./fly_io/demo_signalk_org\n        run: flyctl deploy --remote-only --build-arg SK_VERSION=${{ steps.vars.outputs.tag }}\n        env:\n          FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/require_pr_label.yml",
    "content": "name: Pull Request Labels\non:\n  pull_request:\n    types: [opened, labeled, unlabeled, synchronize]\njobs:\n  label:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: mheap/github-action-required-labels@v5\n        with:\n          mode: exactly\n          count: 1\n          labels: 'fix, feature, doc, chore, test, ignore, other, dependencies, refactor'\n"
  },
  {
    "path": ".github/workflows/security-scan.yml",
    "content": "name: Security Scan for Docker Images\n\non:\n  schedule:\n    - cron: '0 0 * * 1'\n  workflow_dispatch:\n\npermissions:\n  contents: read\n  security-events: write\n\njobs:\n  security-scan:\n    if: github.repository == 'SignalK/signalk-server'\n    name: Security Scan\n    runs-on: ubuntu-24.04\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [24.04, alpine]\n        node: [24.x]\n        include:\n          - os: 24.04\n            node: 24.x\n            image-tag: 'latest'\n          - os: alpine\n            node: 24.x\n            image-tag: 'latest-alpine'\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v6\n      - name: Run Trivy vulnerability scanner for Docker Image\n        uses: aquasecurity/trivy-action@0.35.0\n        with:\n          image-ref: 'ghcr.io/signalk/signalk-server:${{ matrix.image-tag }}'\n          format: 'sarif'\n          output: 'trivy-results-docker-node${{ matrix.node }}-${{ matrix.image-tag }}.sarif'\n      - name: Upload Trivy scan results to GitHub Security tab\n        uses: github/codeql-action/upload-sarif@v4\n        if: always()\n        with:\n          sarif_file: 'trivy-results-docker-node${{ matrix.node }}-${{ matrix.image-tag }}.sarif'\n          category: 'trivy-docker-node${{ matrix.node }}-${{ matrix.image-tag }}'\n"
  },
  {
    "path": ".github/workflows/test.yml",
    "content": "name: CI test\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n\non:\n  pull_request:\n  push:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    strategy:\n      matrix:\n        node-version: [22.x, 24.x]\n\n    steps:\n      - uses: actions/checkout@v6\n      - name: Use Node.js ${{ matrix.node-version }}\n        uses: actions/setup-node@v6\n        with:\n          node-version: ${{ matrix.node-version }}\n      - uses: SocketDev/action@v1\n        with:\n          mode: firewall-free\n      - run: sfw npm install\n      - run: npm run build:all\n\n      - name: resources-provider-plugin\n        working-directory: ./packages/resources-provider-plugin\n        run: |\n          npm run test\n\n      - run: npm test\n        env:\n          CI: true\n"
  },
  {
    "path": ".gitignore",
    "content": "node_modules\n!test/plugin-test-config/node_modules/\n\n*.tsbuildinfo\n\nlib/\ndist/\n\n.DS_Store\n.vscode/\n*.db\nlogs/*\nbower_components\nsettings/ssl-key.pem\nsettings/ssl-cert.pem\n/*.iml\n\n*.tgz\nwork/\ndata/\nplugin-config-data/\nunitpreferences/custom-units-definitions.json\nunitpreferences/custom/\nunitpreferences/presets/custom/\n\ntest/plugin-test-config/.npmrc\ntest/plugin-test-config/plugin-config-data/\ntest/plugin-test-config/ssl-cert.pem\ntest/plugin-test-config/ssl-key.pem\ntest/plugin-test-config/baseDeltas.json\ntest/plugin-test-config/unitpreferences/\n\ntest/server-test-config/applicationData/\ntest/server-test-config/unitpreferences/\ntest/server-test-config/ssl-cert.pem\ntest/server-test-config/ssl-key.pem\ntest/server-test-config/plugin-config-data/\n\ndocs/built\n\n# WASM build artifacts\n*.wasm  \n\n# .net builds\njco-output/\nobj/\nbin/\nDebug/\nRelease/\n*.ps1\nnul\n\n# wasmtime build artifacts\n*.wasm\n\n# debug artefacts\n*.sln\ntest/server-test-config/debug"
  },
  {
    "path": ".mocharc.js",
    "content": "module.exports = {\n  require: ['ts-node/register'],\n  extensions: ['ts', 'tsx', 'js'],\n  timeout: 20000,\n  exit: true\n}\n"
  },
  {
    "path": ".npmignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules\njspm_packages\n\n# Optional npm cache directory\n.npm\n\n# Optional REPL history\n.node_repl_history\n\nsrc\npublic_src\nwebpack.config.js\nscss\ncompilation-stats.json\n.babelrc\npublic/*.hot-update.js\npublic/*.hot-update.json\n**/stats.json\n**/*.js.map\n\nplugin-config-data/\n\nsamples/*\n!samples/plaka.log\n!samples/aava-n2k.data\n\nwork/*\n\nnpm-debug.log\n.vscode\n\nletsencrypt\n\ndocker\n\ntest\ndist/**/*.test.js*\n\npackages\n\n# Build artifacts from build-docker.yml workflow\n*.tgz\n\npublishing.md\n\nbin/linkpackages\n\nfly_io\n.github\n\n/docs/*\n!/docs/dist\n\n\n# .net builds\njco-output/\nobj/\nbin/\nDebug/\nRelease/\n*.ps1\nnul\n\n# wasmtime build artifacts\n*.wasm\n\n# debug artefacts\n*.sln\n\n"
  },
  {
    "path": ".npmrc",
    "content": "package-lock=false\nlegacy-peer-deps=true\n"
  },
  {
    "path": ".nvmrc",
    "content": "24\n"
  },
  {
    "path": ".prettierignore",
    "content": "*.guard.ts\npublic\n\n**/*.mbtiles\n**/*.pmtiles\n**/.__mf__temp\n# AssemblyScript build outputs\npackages/assemblyscript-plugin-sdk/build\n"
  },
  {
    "path": ".prettierrc.json",
    "content": "{\n  \"semi\": false,\n  \"singleQuote\": true,\n  \"trailingComma\": \"none\",\n  \"overrides\": [\n    {\n      \"files\": [\"**/assembly/**/*.ts\"],\n      \"options\": {\n        \"plugins\": [\"assemblyscript-prettier\"]\n      }\n    }\n  ]\n}\n"
  },
  {
    "path": ".python-version",
    "content": "3.11\n"
  },
  {
    "path": "AGENTS.md",
    "content": "# Signal K Server\n\nSignal K Server is the reference implementation of a [Signal K](https://signalk.org/) server. Signal K is a modern, open data format and API for marine data. The server aggregates data from various sources (NMEA 0183, NMEA 2000, I2C sensors, etc.), provides a real-time WebSocket API and REST API, and supports a plugin architecture for extensibility.\n\nKey components:\n\n- **Core server**: Express-based HTTP/WebSocket server (TypeScript)\n- **Plugin system**: NPM-based plugins with configuration schemas\n- **Admin UI**: React-based web interface (packages/server-admin-ui)\n- **Provider patterns**: ResourceProvider, WeatherProvider, AutopilotProvider, HistoryProvider\n\n## Code Quality Principles\n\n### Scope and Complexity\n\nFollow YAGNI, SOLID, DRY, and KISS principles. Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused.\n\nDo not add features, refactor code, or make \"improvements\" beyond what was asked. A bug fix does not need surrounding code cleaned up. A simple feature does not need extra configurability.\n\nDo not add error handling, fallbacks, or validation for scenarios that cannot happen. Trust internal code and framework guarantees. Only validate at system boundaries (user input, external APIs).\n\n### General Standards\n\n- Write self-documenting code; comments explain \"why\", not \"what\" - no echo comments restating what the code already says\n- Keep functions small and focused on a single responsibility\n- Prefer composition over inheritance\n- Handle errors explicitly at system boundaries\n- No magic numbers; use named constants\n- Documentation describes current state, not development history - avoid changelog-style language that will become stale\n\n### Type Safety\n\n- **All new code must be written in TypeScript**, not JavaScript\n- When converting JavaScript to TypeScript use pre-existing types when possible instead of creating new local types\n- Use strict type checking; avoid `any` or equivalent escape hatches\n- Validate external inputs at system boundaries\n- Prefer immutable data structures where practical\n\n### Testing\n\n- All new code requires tests\n- Test behavior, not implementation details\n- Unit tests for business logic; integration tests for boundaries\n- Aim for meaningful coverage, not arbitrary percentages\n\n## Performance\n\nSignal K Server runs on Raspberry Pi 3-5 hardware, often on battery power. CPU cycles cost watts. Treat the delta ingestion and fanout path as allocation-sensitive.\n\n### Hot paths\n\nAssume 100+ deltas/sec, 20+ WebSocket clients:\n\n- `src/streambundle.ts` `pushDelta` / `push` — per value\n- `src/subscriptionmanager.ts` subscriber callbacks — per delta per client\n- `src/interfaces/ws.ts` `onChange`, `data` handler — per client, per message\n- `src/BackpressureManager.ts` `send` — per delta per client\n- `src/deltacache.ts` `onValue` — per delta\n- `src/interfaces/rest.js` tree traversal — per HTTP request\n\n### Rules\n\n- **Guard `debug()` arguments.** `debug('x=' + JSON.stringify(obj))` evaluates eagerly even when disabled. Wrap with `debug.enabled &&` (see `src/interfaces/tcp.ts`).\n- **Build objects in their final shape.** On hot paths, write all properties in a single object literal with consistent key order (V8 hidden class / shape optimization). Do not build up objects incrementally via spread or `Object.assign`.\n- **Minimize allocations on the per-delta path.** Hoist constants, `Set`s, and closures to module scope. Do not `reduce` into a new array when nothing was removed. Prefer `for...of` over `.forEach`.\n- **Use `structuredClone`**, not `JSON.parse(JSON.stringify(...))`, for deep cloning.\n- **Prefer `Set` over `Array.includes`** for repeated membership checks.\n- **Avoid lodash on hot paths.** `_.get`/`_.set` re-parse path strings; use `obj?.a?.b`. `_.isUndefined(x)` is just `x === undefined`.\n\n## Git Commit Conventions\n\nUse conventional format: `<type>(<scope>): <subject>` where type = feat|fix|docs|style|refactor|test|chore|perf. Subject: 50 chars max, imperative mood (\"add\" not \"added\"), no period. For small changes: one-line commit only. For complex changes: add body explaining what/why (72-char lines) and reference issues.\n\nKeep commits small and atomic - one logical change per commit. Split unrelated changes into separate commits. The commit history tells a story; each commit should be a meaningful, self-contained step.\n\n**MANDATORY:** Always rebase and clean up commit history before creating a PR or pushing changes. Amend fixes and corrections to the relevant existing commit instead of creating chains of \"fix typo\" or \"oops\" commits. The final history should contain only intentional, complete commits - no work-in-progress artifacts.\n\n## Pull Request Guidelines\n\nBefore opening a PR:\n\n- Branch from latest `master`\n- Run `npm run format` and `npm test` - all checks must pass\n- Rebase and clean up commit history (squash intermediate commits)\n- Self-review your changes\n- **NEVER change version numbers** - maintainers will update versions when publishing releases\n\nPR titles are used to generate release notes. Make them **descriptive, informative, and easy to understand**. Ask yourself: \"If someone only read the title, would they understand what this PR does?\"\n\nPR descriptions must be **succinct and straight to the point**. Explain the motivation (why) and summarize the solution approach (how), but not the mechanics (what) - the diff shows what changed. Do not pad descriptions with unnecessary detail, verbose explanations, or self-congratulatory comments. If there are breaking changes, mention them explicitly. If a PR description includes a test plan with checkboxes, **all items must be checked** before the PR is ready for review - remove or complete any unchecked items.\n\nWhen referencing issues, use `closes`, `fixes`, or `resolves` followed by the issue number (e.g., \"closes #18\", \"fixes #21 and resolves #23\").\n\n**MANDATORY:** One logical change per PR. Refactoring and behavior changes belong in separate PRs. If changes would result in multiple changelog entries, they should be separate PRs. Even if you have made multiple changes together locally, split them into separate PRs.\n\n**AI tools must proactively enforce PR scope.** If a user requests changes unrelated to the current PR topic, do not silently include them. Instead, suggest creating a separate PR for the unrelated work. Similarly, when rebasing or cleaning up commit history, if you detect commits that address different topics, suggest splitting them into separate PRs before proceeding.\n\nWhen updating a branch with upstream changes, **always use rebase, never merge commits**:\n\n```shell\ngit fetch origin\ngit rebase origin/master\n```\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "## Please see [Releases](https://github.com/SignalK/signalk-server-node/releases) for the release notes.\n"
  },
  {
    "path": "CLAUDE.md",
    "content": "@AGENTS.md\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "---\ntitle: Contributing\n---\n\n# Contributing\n\nSignal K server is an Open Source project and contributions are welcome.\n\nContributions are made by creating Pull Requests in the [GitHub repository](https://github.com/SignalK/signalk-server).\n\n_**Working on your first Pull Request?**_\n\nYou can learn how from this _free_ series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)\n\n---\n\n### Additional Guidelines\n\nThe [AGENTS.md](AGENTS.md) file contains detailed coding guidelines primarily intended for AI coding assistants. The content is equally relevant for human contributors - it covers code quality principles, commit conventions, and PR guidelines that help maintain consistency across the project.\n\nDon't worry if some of the instructions seem overly specific or prescriptive - they're written to give AI tools explicit guardrails. As a human, use your judgment; the spirit of the guidelines matters more than following every detail to the letter.\n\n---\n\n### Running the development server\n\n1. Clone the repository:\n\n   ```shell\n   git clone https://github.com/SignalK/signalk-server\n   cd signalk-server\n   ```\n\n1. Install dependencies:\n\n   ```shell\n   npm install\n   ```\n\n1. Build the server and related packages:\n\n   ```shell\n   npm run build:all\n   ```\n\n1. Start the server:\n   ```shell\n   npm start\n   ```\n\nThe server should now be available at [http://localhost:3000](http://localhost:3000).\n\nAs you work on your changes, you may need to re-build changes. To continuously watch for changes, open a new terminal and run `npm run watch` in either the project root, or from the relevant directory in `packages/*`.\n\nYou may also need to restart the server to see some changes reflected.\n\n### Using sample data\n\nStart the server with sample data by running:\n\n- NMEA0183 sample data: `bin/nmea-from-file`\n- NMEA2000 sample data: `bin/n2k-from-file`\n\nThis will start the server with a sample configuration file and the server will start playing back data from a sample file under `samples/`. The data is available immediately via the REST interface at https://localhost:3000/signalk/v1/api/ and via WebSocket, for example with\n\n```\nnpm install -g wscat2\nwscat 'ws://localhost:3000/signalk/v1/stream?subscribe=all'\n```\n\n### Submitting a Pull Request (PR)\n\nBefore you submit your Pull Request (PR) consider the following guidelines:\n\n1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository.\n1. Make your changes in a new git branch:\n   - `git checkout -b my-fix-branch master`\n   - Do not change the server or package version numbers. They will be changed by the maintainers after the PR is merged, when a new version is published\n   - Create separate PRs for separate things - don't cram unrelated things to one PR, even if you have done them together. If you put multiple changes in one PR and one gets stalled or rejected we could still possibly merge the other one. If changes in one depend on the other one state that in PR description. You can think in terms of release notes: if the changes would be two entries in the changelog they should be separate PRs.\n1. Commit your changes using a descriptive commit message that follows the\n   [conventions outlined here](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits). Whilst we are not 100% strict about this, it really helps when reviewing the PR and in making the commit history readable. The TL;DR of it is below.\n   - The subject line should be in the format `<type>: <subject>`, where `<type>` should be one of:\n     - feat (feature)\n     - fix (bug fix)\n     - docs (documentation)\n     - style (formatting, missing semi colons, ...)\n     - refactor\n     - test (when adding missing tests)\n     - chore (maintain)\n   - `<subject>` should use imperative, present tense: \"change\" not \"changed\" or \"changes\"\n   - Examples of good Subject Lines:\n     - `doc: clarify meta.units behaviour`\n     - `chore: update keyswithmetadata.json`\n     - `style: prettier`\n     - `fix: allow nextPoint to be an intermediate leaf`\n     - `feature: push design object fields under value/values`\n   - Message body should also be **in imperative, present tense** and **include motivation for the change** and **differences to previous behaviour**.\n   - Footer should reference any issues. If the PR should close issue(s) (assuming it is committed), **use closes,fixes or resolves** and the issue number. eg. \"closes #18\", \"fixes #21 and resolves #23\".\n   - Subject, Body and Footer are separated by a blank line.\n\n1. Format and lint your code\n   - run `npm run format` to format and [lint](<https://en.wikipedia.org/wiki/Lint_(software)>) your code.\n\n1. Push your branch to GitHub:\n   - `git push origin my-fix-branch`\n\n1. In GitHub, create a pull request.\n   - Use the same guidelines as commit messages to write the PR title and description.\n   - The server's release notes are automatically generated from PR titles, so think about how you can make them **descriptive, informative and easy to understand**. Ask yourself: \"If I only knew the title would I understand what the PR does?\".\n   - The description should tell how the change affects the server's behavior and motivation for doing the change.\n   - If you change the Admin UI include screenshots in the description to help others get a quick idea what changes and how it will look. Before & after pictures are great for this.\n   - If you are using AI **PLEASE TAKE THE TIME to make the PR description succinct and straight to the point**. AIs are really good at creating text, filling in lots of details and adding smug comments how great the PR is. HELP the maintainers so that we don't need to wade through AI fluff. We will ask for more details if too little are included.\n   - Don't include too much detail, like the exact changed lines or a version you tested the change with unless there is specific reason to do so. If the change is not directly related to a version adding a version is misleading. Git shows what's changed and extra content in PR description is just double work for maintainers to read, unless there is something that rquires attention.\n\n1. Wait for labeling and review\n   - PRs are automatically reviewed by [CodeRabbit](https://coderabbit.ai/). Address any comments it raises. Once you are done addressing CodeRabbit's feedback, add a comment **\"Ready for human review\"** to signal that the PR is ready for maintainer review.\n   - The maintainers will apply a label to the PR. The label is used to group PRs, mainly to distinguish fixes and new features.\n   - If we require changes to your PR we expect you to:\n   - Implement the agreed changes.\n   - Rebase your branch and force push to your GitHub repository (this will update your Pull Request):\n\n     ```shell\n     git rebase master -i\n     git push -f\n     ```\n"
  },
  {
    "path": "LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS"
  },
  {
    "path": "Procfile",
    "content": "web: node bin/signalk-server -s ./settings/n2k-from-file-settings.json\n"
  },
  {
    "path": "README.md",
    "content": "# Signal K Server\n\n![Signal K logo](https://user-images.githubusercontent.com/5200296/226164888-d33b2349-e608-4bed-965f-ebe4339b4376.png)\n\n[![npm version](https://badge.fury.io/js/signalk-server.svg)](https://badge.fury.io/js/signalk-server)\n[![npm license](https://img.shields.io/npm/l/signalk-server.svg)](https://www.npmjs.com/package/signalk-server)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n[![Open Collective backers and sponsors](https://img.shields.io/opencollective/all/signalk)](https://opencollective.com/signalk)\n\n## Contents\n\n- [Signal K Server](#signal-k-server)\n  - [Contents](#contents)\n  - [Introduction](#introduction)\n    - [Boaters and Boat Owners](#boaters-and-boat-owners)\n    - [Marine Vendors](#marine-vendors)\n    - [Software Developers \\& Boat Electronics Hobbyists](#software-developers--boat-electronics-hobbyists)\n  - [Signal K Platform](#signal-k-platform)\n  - [Documentation, Community \\& Support](#documentation-community--support)\n  - [How to get Signal K Server?](#how-to-get-signal-k-server)\n  - [Configuration and use](#configuration-and-use)\n    - [Opening the Signal K Server Admin UI](#opening-the-signal-k-server-admin-ui)\n    - [Creating an admin account](#creating-an-admin-account)\n    - [Setting up data connections](#setting-up-data-connections)\n    - [Installing Plugins and Webapps](#installing-plugins-and-webapps)\n    - [Restart after Configuration Changes and Plugin/Webapp Installation](#restart-after-configuration-changes-and-pluginwebapp-installation)\n    - [Configuring Plugins](#configuring-plugins)\n    - [Vessel Base Data and Server Settings](#vessel-base-data-and-server-settings)\n    - [Server Log](#server-log)\n  - [Supported PGNs, sentences and more](#supported-pgns-sentences-and-more)\n  - [Development](#development)\n  - [Sponsoring Signal K](#sponsoring-signal-k)\n  - [License](#license)\n\n## Introduction\n\nSignal K Server is a server application that runs on a central hub in a boat. If you use or develop marine electronics, Signal K Server has something to offer for you.\n\n### Boaters and Boat Owners\n\nFor boaters, Signal K Server runs in the background and makes functionality and data available to other apps and devices.\nOne of its most used features is to be a wireless AIS and navigation server for popular apps like Navionics, iSailor, iNavX, Aqua Map and WilhelmSK on your phones and tablets.\n\nSignal K Server can also take care of the anchor watch, be a weather station or an automatic logbook for you.\nA different example, it can turn your boat into a MarineTraffic station which may give free access to [the MarineTraffic professional plans](https://help.marinetraffic.com/hc/en-us/articles/360017183497-As-a-station-owner-am-I-entitled-to-a-free-Subscription-).\nThese are all just examples: there is far more to Signal K Server.\n\nIf you are a boat owner, you can easily run Signal K Server on a Victron Cerbo GX, RaspberryPi or similar hardware. To take full advantage, you will probably want to connect it to your boat network via NMEA 0183 or NMEA 2000 but it is not a requirement.\n\n### Marine Vendors\n\nFor Marine vendors who build marine hardware and software, for example those developing navigation, monitoring and tracking systems, Signal K Server is an opportunity to accelerate development and decrease time to market, by taking advantage of a proven, modern and extensible software platform that is open source and available with a permissive Apache 2.0 license. Signal K Server is implemented in Node.js and is easy to integrate into modern systems that run Linux derivatives.\n\nSignal K Server is already running inside products developed by Victron Energy, Airmar Technology and others.\n\n### Software Developers & Boat Electronics Hobbyists\n\nThere are many boaters who happen to be highly skilled software developers and engineers, who want to build software for themselves and share with others. If you are one of them, Signal K offers you a free, modern and open platform developed by boaters for other boaters like you. Signal K Server features an extensible [plugin framework](./docs/develop/plugins/README.md), [web applications](./docs/develop/webapps.md) as well as a rich set of [REST](https://signalk.org/specification/1.7.0/doc/rest_api.html) and [Streaming APIs](https://signalk.org/specification/1.7.0/doc/streaming_api.html).\n\nSignal K Server takes care of all the complicated parts of protocol decode, and conversions to and from NMEA2000, NMEA0183 and many more protocols. It can also act as data hub for additional sensors, see the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32).\n\nSignal K Server makes the data available in JSON format according to the [Signal K standard specification](https://signalk.org/specification/latest/). This allows developers to bypass all the hurdles typically encountered when wanting to implement something for a boat. [Getting started with a plugin](./docs/develop/plugins/README.md#getting-started-with-plugin-development) is surprisingly easy.\n\n## Signal K Platform\n\nSignal K is more than just the Signal K Server, it is a comprehensive platform that encompasses three major components:\n\n1. **The Signal K Data Standard**: an open marine data standard. It is a modern data format for marine use, suitable for WiFi, cellphones, tablets and the internet. It is built on standard web technologies including JSON, WebSockets and HTTP. More information on [https://signalk.org](https://signalk.org/index.html).\n2. **Signal K Server**: Software in this GitHub repository and described in this document. Signal K server is a full stack application developed in Node.js. Its back-end multiplexes data from and to NMEA0183, NMEA 2000, Signal K and other marine protocols, as well as WiFi, LAN and Internet, and provides APIs and websockets for access and control. Its front-end provides an extensible web-based application allowing easy configuration and management of server functions and capabilities.\n3. **Signal K Plugins and Webapps**: Built using the extensibility of Signal K Server with a plugin framework, allows developers to develop applications that easily integrate with Signal K server, extend its capabilities and publish them through npm. All published plugins become available in all existing Signal K server installations, which provides an easy distribution mechanism.\n\n## Documentation, Community & Support\n\n[Documentation for Signal K Server](https://demo.signalk.org/documentation).\n\nSee [Github Discussions](https://github.com/SignalK/signalk/discussions/) and [Discord (chat)](https://discord.gg/uuZrwz4dCS).\n\nThere is a [Signal K Server FAQ Frequently Asked Questions](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions) on the Wiki, including [How do I integrate with NMEA2000 (CAN bus)](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions#how-do-i-integrate-with-nmea2000-can-bus).\n\n## How to get Signal K Server?\n\nFor the typical boater, not being a software developer nor electrical engineer, the best option is to get a (commercially available) product that already has Signal K Server inside. These are the currently available devices:\n\n- [Cerbo GX](https://www.victronenergy.com/panel-systems-remote-monitoring/cerbo-gx) and other GX Devices by Victron Energy ([see Venus OS Large manual](https://www.victronenergy.com/live/venus-os:large))\n- [SmartBoat module](https://www.airmar.com/Catalog/SmartBoat-SmartFlex) by Airmar\n\nFor a more technical DIY oriented boater, a RaspberryPi based setup offers a very cost-attractive alternative.\nRead [this FAQ entry](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions#how-do-i-integrate-with-nmea2000-can-bus) to learn how to connect a RaspberryPi to an NMEA2000 network.\n\nThese prebuilt images for RaspberryPis take away most of the complexity involved from the software side:\n\n- [BBN Marine OS](https://github.com/bareboat-necessities/lysmarine_gen#what-is-lysmarine-bbn-edition)\n- [OpenPlotter](https://openmarine.net/openplotter) by OpenMarine\n- [Venus OS for RaspberryPis](https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image) by Victron Energy\n- [AvNav Headless/Touch](https://github.com/free-x/AvNav-Image)\n\nYou can run Signal K Server in Docker:\n\n- [Docker quickstart instructions](https://github.com/SignalK/signalk-server/blob/master/docker/README.md#quickstart)\n\nOr in a Kubernetes cluster:\n\n- [Kubernetes quickstart instructions](https://github.com/SignalK/signalk-server/blob/master/kubernetes/README.md#quickstart)\n\nAnd an installer for Windows:\n\n- [https://github.com/SignalK/signalk-server-windows](https://github.com/SignalK/signalk-server-windows)\n\nAnother level up, this document explains how to install Signal K Server, as well as its dependencies, on a RaspberryPi that is already running Raspberry Pi OS:\n\n- [Installation on a RaspberryPi](./docs/installation/raspberry_pi_installation.md)\n\nLast, here is how to install the Signal K Server application from NPM:\n\nPrerequisites:\n\n- Node.js version 24 with latest npm installed\n\n  $ sudo npm install -g signalk-server\n\nNow you can start the server with sample data:\n\n- NMEA0183 sample data: `signalk-server --sample-nmea0183-data`\n- NMEA2000 sample data: `signalk-server --sample-n2k-data`\n\nTo generate your own vessel settings file and configure the server to start automatically, run:\n\n    $ sudo signalk-server-setup\n\n## Configuration and use\n\n### Opening the Signal K Server Admin UI\n\nFor all described options of running Signal K Server, ie. on an Airmar Smartboat, a Victron Cerbo GX or a RaspberryPi, the way to configure it is via the Admin UI.\nOpen the Admin UI by navigating to http://[ipaddress]:3000/. Here is what it will look like when opened up on a Victron Cerbo GX:\n\n![image](https://user-images.githubusercontent.com/5200296/226478726-568d8ea3-5f46-4e7b-b964-4fdefb386c32.png)\n\nThe top of the screen shows some actual stats. Below that is a pane showing all configured Connections & Plugins. These are the plugins shown in above screenshot:\n\n- `sk-to-nmea0183` is the plugin that makes navigation data available on WiFi and/or LAN (TCP); typically used by apps on phones and tablets.\n- `signalk-n2kais-nmea0183` is another plugin, does the same, but then for AIS data\n- `venus` is a plugin that connects to the data bus inside the Victron GX device\n- `n2k-on-ve.can-socket` is not a plugin but a data connection. This one defines the Signal K Server connection to the NMEA2000 CAN-bus port.\n\n### Creating an admin account\n\nThe first thing to do is create an admin account. This is done in the Settings -> Users page:\n\n![image](https://user-images.githubusercontent.com/5200296/226754646-3bc60ddb-245a-4bd2-ab2f-b5539bdefa77.png)\n\nBesides recommended from a security point of view, setting an admin account also enables the Restart button.\n\nAfter creating the account, the server needs to be restarted.\nHow to do that depends on how you are using Signal K Server: self installed from NPM, embedded on a commercial device or otherwise.\nPower cycling the device that Signal K Server is running on will always work.\n\n### Setting up data connections\n\nThis screenshot shows how to setup an NMEA0183 connection:\n\n![image](https://user-images.githubusercontent.com/5200296/226479444-853570cb-83ea-4246-afbe-06cafd48d790.png)\n\n### Installing Plugins and Webapps\n\nThe Appstore menu is where to add, update and remove Plugins and Webapps:\n\n![image](https://user-images.githubusercontent.com/5200296/226479620-303a2e6e-a4f7-4ecb-b1f1-a668fb147d23.png)\n\nThe entries with the blue icons are Webapps. The entries with the green icons are Plugins. An internet connection is required for Signal K Server to fetch information about availble Plugins and webapps.\n\nTypically, plugins make for functionality such as protocol conversion. And Webapps provide a user interface, up to a fully featured Chartplotter that runs in a web browser:\n\n![image](https://user-images.githubusercontent.com/5200296/226479871-6f3769af-4fa4-43d6-871f-4a54bec372fa.png)\n\nTo install Plugins and Webapps, click the \"Available\" menu on the left. It will show a categorised list of all available Plugins:\n\n![image](https://user-images.githubusercontent.com/5200296/226480596-f65f5429-57d5-4d31-bb13-615d5664e2c4.png)\n\nIt is also possible to search for and browse Plugins and Webapps in the NPM registry:\n\n- [Plugins](https://www.npmjs.com/search?q=keywords%3Asignalk-node-server-plugin)\n- [Webapps](https://www.npmjs.com/search?q=keywords:signalk-webapp)\n\n### Restart after Configuration Changes and Plugin/Webapp Installation\n\nMost configuration changes and installing add-ons from the App store require a server restart to take effect. See Restart button at the top right or restart the server manually (details depend on your setup). If the restart button is not showing, that is usually because security is not activate and there is no Admin user.\n\n### Configuring Plugins\n\nAfter the restart, the new Plugin needs to be enabled and configured. See the Server -> Plugin Config menu:\n\n![image](https://user-images.githubusercontent.com/5200296/226481818-18c5cbe1-9118-4555-ab8b-1622c3e9404b.png)\n\n### Vessel Base Data and Server Settings\n\n![image](https://user-images.githubusercontent.com/5200296/226482046-dfb759dc-abbb-4987-a810-a24b77d0927e.png)\n\n![image](https://user-images.githubusercontent.com/5200296/226482099-b9dd46ff-72a6-44e4-b384-1d15a4621e63.png)\n\nYou can change the admin application's top left logo by placing a SVG file named `logo.svg` in the settings directory (default: $HOME/.signalk/). You can also provide a minimized square version of the logo in a file named `logo-minimized.svg` that will be shown when the sidebar is minimized.\n\n### Server Log\n\nIf the Admin UI is available, go to Server -> Server Log to see the server's log. Different errors are logged there, so in case of trouble make sure to check not only the Admin UI but also the server log.\n\nTo activate more details debug logging enter the the names of the components you want to debug. Some of the debug keys are listed with toggles to activate them.\n\nWith the Remember debug setting enabled, the configured debug keys parameter is stored in a settings file, ie. survives a server restart.\n\n![image](https://user-images.githubusercontent.com/5200296/227020518-ac8b4355-5902-45a5-9d6c-0e9d1dc9e630.png)\n\nTo enable debugging without going through the Admin UI, see the file `~/.signalk/debug` and add the required debug keys there. For example: `@signalk/aisreporter,signalk-server:udp-provider`.\n\n## Supported PGNs, sentences and more\n\n- NMEA2000 PGNs: Reading NMEA2000 data is done by [n2k-signalk](https://github.com/SignalK/n2k-signalk) via [canboatjs](https://github.com/canboat/canboatjs). [Canboat PGN database](https://canboat.github.io/canboat/canboat.html)\n- NMEA0183 sentences: [nmea0183-signalk](https://github.com/SignalK/signalk-parser-nmea0183)\n- TODO ADD OTHER SUPPORTED PROTOCOLS\n\n## Development\n\nThe documents provide more details about developing Webapps or Plugins for Signal K Server, as well as working on the server itself:\n\n- [Contributing to this repo](docs/develop/contributing.md)\n- [WASM Plugins](docs/develop/plugins/wasm/README.md) (Rust, AssemblyScript, Go)\n- [Webapps](docs/develop/webapps.md)\n- [Working with the Course API](docs/develop/rest-api/course_api.md)\n- [Working with the Resources API](docs/develop/rest-api/resources_api.md)\n- [Resource Provider Plugins](docs/develop/plugins/resource_provider_plugins.md)\n- [Security](docs/security.md)\n\n## Sponsoring Signal K\n\nSee Signal K on [Open Collective](https://opencollective.com/signalk).\n\n## License\n\nCopyright [2015] [Fabian Tollenaar, Teppo Kurki and Signal K committers]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n"
  },
  {
    "path": "docker/Dockerfile",
    "content": "ARG REGISTRY=\"cr.signalk.io\"\nARG BASE_IMAGE=\"24.04-22.x\"\n\nFROM ${REGISTRY}/signalk/signalk-server-base:latest-${BASE_IMAGE} AS base\n\nUSER node\nRUN mkdir -p /home/node/.signalk/ \\\n  && mkdir -p /home/node/signalk/\n\nWORKDIR /home/node/signalk\n\nRUN npm config rm proxy \\\n  && npm config rm https-proxy \\\n  && npm config set fetch-retries 5 \\\n  && npm config set fetch-retry-mintimeout 60000 \\\n  && npm config set fetch-retry-maxtimeout 120000 \\\n  && npm cache clean -f\n\nFROM base AS tarballs_installed\nWORKDIR /home/node/signalk\nCOPY --chown=node:node *.tgz .\n\n# Install all tarballs locally (not globally) to avoid permission issues\n# Install workspace packages first so they're available when installing signalk-server\nRUN npm init -y \\\n  && workspace_tarballs=$(ls *.tgz 2>/dev/null | grep -v '^signalk-server-[0-9]' || true) \\\n  && if [ -n \"$workspace_tarballs\" ]; then npm install $workspace_tarballs; fi \\\n  && server_tarball=$(ls signalk-server-[0-9]*.tgz) \\\n  && npm install \"$server_tarball\" --install-strategy=nested \\\n  && if [ -d node_modules/@signalk ]; then \\\n       mkdir -p node_modules/signalk-server/node_modules/@signalk/ \\\n       && cp -rf node_modules/@signalk/* node_modules/signalk-server/node_modules/@signalk/ \\\n       && rm -rf node_modules/@signalk/; \\\n     fi \\\n  && rm *.tgz\n\nFROM base\n\n# Copy locally installed modules from tarballs_installed stage\nCOPY --from=tarballs_installed --chown=node:node /home/node/signalk /home/node/signalk\n\nCOPY --chown=node:node --chmod=755 docker/startup.sh startup.sh\n\nEXPOSE 3000\nENV SKIP_ADMINUI_VERSION_CHECK=true\nWORKDIR /home/node/.signalk\nENTRYPOINT [\"/home/node/signalk/startup.sh\"]\n"
  },
  {
    "path": "docker/Dockerfile_base_24.04",
    "content": "FROM ubuntu:24.04\nARG NODE\nENV DEBIAN_FRONTEND=noninteractive\n\nRUN userdel -r ubuntu \\\n  && groupadd --gid 1000 node \\\n  && useradd --uid 1000 --gid node --shell /bin/bash --create-home node\n\nCOPY docker/avahi/avahi-dbus.conf docker/bluez/bluezuser.conf /etc/dbus-1/system.d/\n\nRUN apt-get update \\\n  && apt-get -y install --no-install-recommends git \\\n  python3 python3-venv python3-pip build-essential avahi-daemon libnss-mdns \\\n  sysstat procps nano curl libcap2-bin sudo dbus bluez \\\n  && groupadd -r docker -g 991 \\\n  && groupadd -r i2c -g 990 \\\n  && groupadd -r spi -g 989 \\\n  && usermod -a -G dialout,i2c,spi,netdev,docker node \\\n  && chmod u+s /usr/bin/date \\\n  && mkdir -p /var/run/dbus/ /var/run/avahi-daemon/ \\\n  && chmod -R 777 /var/run/dbus/ /var/run/avahi-daemon/ \\\n  && chown -R avahi:avahi /var/run/avahi-daemon/\n\nRUN curl -fsSL https://deb.nodesource.com/setup_$NODE | bash - \\\n  && apt-get -y install --no-install-recommends nodejs \\\n  && npm config rm proxy \\\n  && npm config rm https-proxy \\\n  && npm config set fetch-retries 5 \\\n  && npm config set fetch-retry-mintimeout 60000 \\\n  && npm config set fetch-retry-maxtimeout 120000 \\\n  && npm cache clean -f \\\n  && npm install npm@latest -g \\\n  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*\n"
  },
  {
    "path": "docker/Dockerfile_base_alpine",
    "content": "ARG NODE\nFROM node:${NODE}-alpine\n\nCOPY docker/avahi/avahi-dbus.conf docker/bluez/bluezuser.conf /etc/dbus-1/system.d/\n\nRUN deluser node 2>/dev/null || true && \\\n    delgroup node 2>/dev/null || true\n\nRUN apk add --no-cache \\\n    sudo git bash \\\n    python3 py3-virtualenv py3-pip build-base \\\n    avahi avahi-compat-libdns_sd \\\n    procps-ng nano curl libcap-setcap dbus bluez \\\n && addgroup -g 991 -S docker \\\n && addgroup -g 990 -S i2c \\\n && addgroup -g 989 -S spi \\\n && mkdir -p /var/run/dbus /var/run/avahi-daemon \\\n && chmod 777 /var/run/dbus /var/run/avahi-daemon \\\n && chown -R avahi:avahi /var/run/avahi-daemon\n\nRUN npm config rm proxy \\\n && npm config rm https-proxy \\\n && npm config set fetch-retries 5 \\\n && npm config set fetch-retry-mintimeout 60000 \\\n && npm config set fetch-retry-maxtimeout 120000 \\\n && npm cache clean -f \\\n && rm -rf /tmp/* /var/tmp/*\n\nRUN addgroup -g 1000 node \\\n && adduser -u 1000 -G node -s /bin/sh -D node \\\n && addgroup node dialout \\\n && addgroup node i2c \\\n && addgroup node spi \\\n && addgroup node netdev \\\n && addgroup node docker \\\n && echo 'node ALL=(ALL) NOPASSWD:/bin/date' >> /etc/sudoers\n\nWORKDIR /home/node\nUSER node\n"
  },
  {
    "path": "docker/Dockerfile_rel",
    "content": "ARG REGISTRY=\"cr.signalk.io\"\nARG BASE_IMAGE=\"24.04-22.x\"\n\nFROM ${REGISTRY}/signalk/signalk-server-base:latest-${BASE_IMAGE}\n\nUSER node\nRUN mkdir -p /home/node/.signalk/ \\\n  && mkdir -p /home/node/signalk/\n\nWORKDIR /home/node/signalk\n\nRUN npm config rm proxy \\\n  && npm config rm https-proxy \\\n  && npm config set fetch-retries 5 \\\n  && npm config set fetch-retry-mintimeout 60000 \\\n  && npm config set fetch-retry-maxtimeout 120000 \\\n  && npm cache clean -f\n\nARG TAG\n\n# Install locally (not globally) to avoid permission issues\n# Copy @signalk packages and @mxtommy/kip to nested location where webapp discovery expects them\nRUN npm install signalk-server@$TAG \\\n  && mkdir -p node_modules/signalk-server/node_modules/@signalk/ \\\n  && cp -rf node_modules/@signalk/* node_modules/signalk-server/node_modules/@signalk/ \\\n  && rm -rf node_modules/@signalk/ \\\n  && mkdir -p node_modules/signalk-server/node_modules/@mxtommy/ \\\n  && cp -rf node_modules/@mxtommy/kip node_modules/signalk-server/node_modules/@mxtommy/ \\\n  && rm -rf node_modules/@mxtommy/;\n\nCOPY --chown=node:node --chmod=755 docker/startup.sh startup.sh\n\nEXPOSE 3000\nWORKDIR /home/node/.signalk\nENTRYPOINT [\"/home/node/signalk/startup.sh\"]\n"
  },
  {
    "path": "docker/README.md",
    "content": "# General\n\nRelease process first publishes the server's modules to npm. Docker images are then built using the just published npm packages. Images (including older versions) are available at [Docker Hub](https://hub.docker.com/r/signalk/signalk-server) and starting from v2 at [GitHub Container registry](https://github.com/orgs/SignalK/packages/container/package/signalk-server). Going forward **use the full image name, including the registry cr.signalk.io**. That address will be updated to redirect to the recommended registry where the latest released version can be found.\n\nRelease images:\n\n- cr.signalk.io/signalk/signalk-server:latest\n- cr.signalk.io/signalk/signalk-server:`<release tag>`, e.g. `v2.16.0`\n\n## Docker Images based on Ubuntu 24.04 LTS\n\n### Node.js 22.x\n\n**Image tag:** `v2.16.0` (example version)\n\n**Supported architectures:**\n\n- `linux/amd64`\n- `linux/arm64`\n- `linux/arm/v7`\n\n### Node.js 24.x\n\n**Image tag:** `v2.16.0-24.x` (example version with suffix -24.x)\n\n**Supported architectures:**\n\n- `linux/amd64`\n- `linux/arm64`\n\n**Not supported:**\n\n- `linux/arm/v7`\n\n### Important Note\n\nNode.js version 24.x dropped support for the `linux/arm/v7` (ARMv7) architecture. This affects older hardware, particularly early Raspberry Pi models:\n\n**Affected devices:**\n\n- Raspberry Pi Model A and B (original)\n- Raspberry Pi Zero (original)\n- Raspberry Pi 2 Model B v1.1 (with BCM2836 processor)\n\n**Recommendation:** If you're using any of the affected devices, use the Node.js 22.x images instead of 24.x to maintain compatibility.\n\n# Quickstart\n\nYou can start a local server on port 3000 with demo data with\n\n```\ndocker run --init -it --rm --name signalk-server --publish 3000:3000 --entrypoint /home/node/signalk/node_modules/.bin/signalk-server cr.signalk.io/signalk/signalk-server --sample-nmea0183-data\n```\n\nFor real use you need to persist /home/node/.signalk where the server's configuration is stored, with for example\n\n```\ndocker run -d --init  --name signalk-server -p 3000:3000 -v $(pwd):/home/node/.signalk cr.signalk.io/signalk/signalk-server\n```\n\nThis will run the server as background process and current directory as the settings directory. You will be prompted to create admin credentials the first time you you access the configuration admin web UI.\n\n## Docker Compose\n\nSee `docker/docker-compose.yml` for reference / example if you want to use docker-compose.\n\n# Image details and used tags\n\nSignal K Server docker images are based on Ubuntu 24.04 LTS. During build process, Node.js is installed including tools required to install or compile plugins. Signal K supports mDNS from docker, uses avahi for e.g. mDNS discovery. All required avahi tools and settings are available for user `node`, also from command line.\n\n## Directory structure\n\n- server files: `/home/node/signalk/` (local npm install)\n- settings files and plugins: `/home/node/.signalk/`\n\nYou most probably want to mount `/home/node/.signalk` from the host or as a volume to persist your settings.\n\n**Note:** Signal K Server is installed locally (not globally with `npm -g`) in `/home/node/signalk/node_modules/`. This avoids permission issues when installing plugins and provides better isolation.\n\n## Container Runtime Detection\n\nThe server automatically detects which container runtime is being used (Docker, Podman, Kubernetes, etc.) and sets the `CONTAINER_RUNTIME` environment variable. Plugins can use this to adapt their behavior.\n\nSupported runtimes: `docker`, `podman`, `kubernetes`, `containerd`, `crio`, `lxc`\n\n## Release images\n\nRelease images `docker/Dockerfile_rel` are size optimized and there are only mandatory files in the images. During the release process updated npm packages in the server repo are built and published to npmjs. Release docker image is then built from the published npm packages like Signal K server is installed normally from npmjs.\n\n## Development images\n\nDevelopment images `docker/Dockerfile`include all files from the Signal K server repository's master branch and these images are targeted mainly for development and testing. Development images are built off the files in the repo, including the submodules from `packages` directory.\n\nDevelopment images are tagged `<branch>` (mainly `master`) and `sha`:\n\n```\ndocker run --init --name signalk-server -p 3000:3000 -v $(pwd):/home/node/.signalk cr.signalk.io/signalk/signalk-server:master\n```\n\n## Building from source\n\nTo build a docker image locally from source, first build and pack the server:\n\n```sh\nnpm install\nnpm run build:all\nnpm pack --workspaces\nnpm pack\n```\n\nThen build the docker image:\n\n```sh\n$ docker build -t signalk-server:master -f docker/Dockerfile .\n```\n\nNow you can run the local image:\n\n```sh\ndocker run --init --name signalk-server -p 3000:3000 -v $(pwd):/home/node/.signalk signalk-server:master\n```\n"
  },
  {
    "path": "docker/avahi/avahi-dbus.conf",
    "content": "<!DOCTYPE busconfig PUBLIC\n          \"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN\"\n          \"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd\">\n<busconfig>\n\n  <!-- Only root or user avahi can own the Avahi service -->\n  <policy user=\"avahi\">\n    <allow own=\"org.freedesktop.Avahi\"/>\n  </policy>\n  <policy user=\"node\">\n    <allow own=\"org.freedesktop.Avahi\"/>\n  </policy>\n  <policy user=\"root\">\n    <allow own=\"org.freedesktop.Avahi\"/>\n  </policy>\n\n  <!-- Allow anyone to invoke methods on Avahi server, except SetHostName -->\n  <policy context=\"default\">\n    <allow send_destination=\"org.freedesktop.Avahi\"/>\n    <allow receive_sender=\"org.freedesktop.Avahi\"/>\n\n    <deny send_destination=\"org.freedesktop.Avahi\"\n          send_interface=\"org.freedesktop.Avahi.Server\" send_member=\"SetHostName\"/>\n  </policy>\n\n  <!-- Allow everything, including access to SetHostName to users of the group \"netdev\" -->\n  <policy group=\"netdev\">\n    <allow send_destination=\"org.freedesktop.Avahi\"/>\n    <allow receive_sender=\"org.freedesktop.Avahi\"/>\n  </policy>\n  <policy user=\"root\">\n    <allow send_destination=\"org.freedesktop.Avahi\"/>\n    <allow receive_sender=\"org.freedesktop.Avahi\"/>\n  </policy>\n</busconfig>\n"
  },
  {
    "path": "docker/bluez/bluezuser.conf",
    "content": "<!-- This configuration file specifies the required security policies\nfor a user to communicate with BlueZ. -->\n \n<!DOCTYPE busconfig PUBLIC \"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN\"\n \"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd\">\n<busconfig>\n    <policy user=\"node\">\n        <allow own=\"org.bluez\"/>\n        <allow send_destination=\"org.bluez\"/>\n        <allow send_interface=\"org.bluez.GattCharacteristic1\"/>\n        <allow send_interface=\"org.bluez.GattDescriptor1\"/>\n        <allow send_interface=\"org.bluez.LEAdvertisement1\"/>\n        <allow send_interface=\"org.freedesktop.DBus.ObjectManager\"/>\n        <allow send_interface=\"org.freedesktop.DBus.Properties\"/>\n    </policy>\n</busconfig>"
  },
  {
    "path": "docker/docker-compose.yml",
    "content": "version: '2.2'\nservices:\n  signalk-server:\n    image: cr.signalk.io/signalk/signalk-server:latest\n    container_name: signalk-server\n    restart: unless-stopped\n    #   ----------------------\n    network_mode: host\n    #    network_mode: bridge    # (1/3) If bridge-mode is used, then comment line abobe (host) and select/add needed ports settings\n    #    ports:    # (2/3)\n    #      - \"3000:3000\"    # (3/3)\n    #   ----------------------\n    #    environment:    # (1/5) SK ENV parameters\n    #      - PORT=3000    # (2/5)\n    #      - SSLPORT=3443    # (3/5)\n    #      - NMEA0183PORT=10110    # (4/5)\n    #      - TCPSTREAMPORT=8375    # (5/5)\n    #   ----------------------\n    volumes:\n      - /dev:/dev\n    #      - $PWD/signalk_conf:/home/node/.signalk    # uncomment and make signalk_conf -folder where .signalk is bind mounted\n    #   ----------------------\n    #      - type: bind    # (1/3) uncomment these 3 lines to control startup.sh outside container\n    #        source: $PWD/startup.sh    # (2/3)\n    #        target: /home/node/signalk/startup.sh    # (3/3)\n    #   ----------------------\n    entrypoint: sh /home/node/signalk/startup.sh\n    privileged: true\n    logging:\n      options:\n        max-size: 10m\n"
  },
  {
    "path": "docker/startup.sh",
    "content": "#!/usr/bin/env sh\n\n# Detect container runtime (only if not already set by user)\nif [ -z \"$CONTAINER_RUNTIME\" ]; then\n    # File-based detection (most reliable)\n    if [ -f /.dockerenv ]; then\n        export CONTAINER_RUNTIME=\"docker\"\n    elif [ -f /run/.containerenv ]; then\n        export CONTAINER_RUNTIME=\"podman\"\n    elif [ -n \"$KUBERNETES_SERVICE_HOST\" ]; then\n        # Kubernetes sets this environment variable\n        export CONTAINER_RUNTIME=\"kubernetes\"\n    else\n        # Fallback: check cgroups and other markers\n        if [ -f /proc/1/cgroup ]; then\n            if grep -q '/docker' /proc/1/cgroup 2>/dev/null; then\n                export CONTAINER_RUNTIME=\"docker\"\n            elif grep -q '/libpod' /proc/1/cgroup 2>/dev/null; then\n                export CONTAINER_RUNTIME=\"podman\"\n            elif grep -q '/kubepods' /proc/1/cgroup 2>/dev/null; then\n                export CONTAINER_RUNTIME=\"kubernetes\"\n            elif grep -q '/lxc' /proc/1/cgroup 2>/dev/null; then\n                export CONTAINER_RUNTIME=\"lxc\"\n            elif grep -q '/containerd' /proc/1/cgroup 2>/dev/null; then\n                export CONTAINER_RUNTIME=\"containerd\"\n            fi\n        fi\n\n        # Additional checks for CRI-O and other runtimes\n        if [ -z \"$CONTAINER_RUNTIME\" ]; then\n            if [ -d /var/run/crio ]; then\n                export CONTAINER_RUNTIME=\"crio\"\n            elif [ -S /var/run/containerd/containerd.sock ]; then\n                export CONTAINER_RUNTIME=\"containerd\"\n            fi\n        fi\n    fi\nfi\n\n# Set IS_IN_DOCKER for Admin UI (disables \"Update Server\" button in container)\nexport IS_IN_DOCKER=true\n\n# Check if host D-Bus socket is mounted (rootless container scenario)\n# If mounted, we use the host's D-Bus/Avahi instead of starting our own\nif [ -S /run/dbus/system_bus_socket ] && dbus-send --system --dest=org.freedesktop.DBus --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames >/dev/null 2>&1; then\n    echo \"Using host D-Bus (socket mounted from host)\"\nelse\n    echo \"Starting container D-Bus and Avahi services\"\n    service dbus restart\n    /usr/sbin/avahi-daemon -k 2>/dev/null\n    /usr/sbin/avahi-daemon --no-drop-root &\n    service bluetooth restart\nfi\n\n/home/node/signalk/node_modules/signalk-server/bin/signalk-server --securityenabled\n"
  },
  {
    "path": "docker/v2_demo/Dockerfile",
    "content": "# docker buildx build --platform linux/amd64 -f  Dockerfile_heroku_api_demo -t registry.heroku.com/signalk-course-resources-api/web . && \\\n# docker push registry.heroku.com/signalk-course-resources-api/web && \\\n# heroku container:release web -a signalk-course-resources-api\nFROM signalk/signalk-server:resources_course_api\n\nUSER root\n\nWORKDIR /home/node/signalk\nCOPY startup_heroku_demo.sh startup.sh\nRUN chmod +x startup.sh\n\nCOPY resources /home/node/.signalk/resources\nCOPY resources-provider.json /home/node/.signalk/plugin-config-data/\nCOPY course-data.json /home/node/.signalk/plugin-config-data/\nCOPY serverState /home/node/.signalk/serverState\nRUN chown -R node /home/node/.signalk\n\nUSER node\n"
  },
  {
    "path": "docker/v2_demo/course-data.json",
    "content": "{\n  \"configuration\": {\n    \"notifications\": {},\n    \"calculations\": {\n      \"method\": \"Rhumbline\",\n      \"autopilot\": true\n    }\n  },\n  \"enabled\": true\n}\n"
  },
  {
    "path": "docker/v2_demo/resources/routes/ad825f6c-1ae9-4f76-abc4-df2866b14b78",
    "content": "{\"distance\":18912,\"name\":\"test route\",\"description\":\"testing route stuff\",\"feature\":{\"type\":\"Feature\",\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[23.421658428594455,59.976383142599445],[23.39545298552773,59.964698713370666],[23.386547033272887,59.94553321282956],[23.349311506736232,59.92852692137802],[23.352379069279134,59.912782827217114],[23.420858546854152,59.91443887159909],[23.529026801965298,59.9327648091369]]},\"properties\":{},\"id\":\"\"}}"
  },
  {
    "path": "docker/v2_demo/resources/routes/da825f6c-1ae9-4f76-abc4-df2866b14b78",
    "content": "{\"distance\":18912,\"name\":\"test route\",\"description\":\"testing route stuff\",\"feature\":{\"type\":\"Feature\",\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[23.421658428594455,59.976383142599445],[23.39545298552773,59.964698713370666],[23.386547033272887,59.94553321282956],[23.349311506736232,59.92852692137802],[23.352379069279134,59.912782827217114],[23.420858546854152,59.91443887159909],[23.529026801965298,59.9327648091369]]},\"properties\":{},\"id\":\"\"}}"
  },
  {
    "path": "docker/v2_demo/resources/waypoints/ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a",
    "content": "{\n    \"name\": \"demo waypoint\",\n    \"description\": \"\",\n    \"feature\": {\n      \"type\": \"Feature\",\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          23.455311064598344,\n          59.99716209068623\n        ]\n      },\n      \"properties\": {},\n      \"id\": \"\"\n    }\n  }\n  \n"
  },
  {
    "path": "docker/v2_demo/resources/waypoints/afe46290-aa98-4d2f-9c04-d199ca64942e",
    "content": "{\n    \"name\": \"lock\",\n    \"description\": \"this is the lock\",\n    \"feature\": {\n      \"type\": \"Feature\",\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n          23.435321561218167,\n          59.98480312764812\n        ]\n      },\n      \"properties\": {},\n      \"id\": \"\"\n    },\n    \"timestamp\": \"2022-04-21T18:23:19.815Z\",\n    \"$source\": \"resources-provider\"\n  }"
  },
  {
    "path": "docker/v2_demo/resources-provider.json",
    "content": "{\n  \"configuration\": {\n    \"standard\": {\n      \"routes\": true,\n      \"waypoints\": true,\n      \"notes\": true,\n      \"regions\": true\n    },\n    \"custom\": [],\n    \"path\": \"./resources\"\n  }\n}\n"
  },
  {
    "path": "docker/v2_demo/serverstate/course/settings.json",
    "content": "{\n  \"activeRoute\": {\n    \"href\": \"/resources/routes/ad825f6c-1ae9-4f76-abc4-df2866b14b78\",\n    \"startTime\": \"2022-04-21T18:40:44.319Z\",\n    \"pointIndex\": 3,\n    \"pointTotal\": 7,\n    \"reverse\": true\n  },\n  \"nextPoint\": {\n    \"href\": null,\n    \"type\": \"RoutePoint\",\n    \"position\": {\n      \"latitude\": 59.92852692137802,\n      \"longitude\": 23.349311506736232\n    },\n    \"arrivalCircle\": 500\n  },\n  \"previousPoint\": {\n    \"href\": null,\n    \"type\": \"RoutePoint\",\n    \"position\": {\n      \"longitude\": 23.485033333333334,\n      \"latitude\": 60.033516666666664\n    }\n  }\n}\n"
  },
  {
    "path": "docker/v2_demo/startup_heroku_demo.sh",
    "content": "#!/usr/bin/env sh\nservice dbus restart\n/usr/sbin/avahi-daemon -k\n/usr/sbin/avahi-daemon --no-drop-root &\n/home/node/signalk/bin/signalk-server --sample-nmea0183-data\n"
  },
  {
    "path": "docs/README.md",
    "content": "---\ntitle: Introduction\n---\n\n# Introduction\n\nSignal K Server is software designed to be deployed on a vessel to act as a central hub which:\n\n1. Collects data from devices and sensors on board\n1. Aggregates and exposes it using the _[Signal K Data Standard](https://signalk.org/specification/latest/)_\n1. Exposes the collected data via REST APIs and websocket protocols over a standard WiFi, LAN or Internet connection.\n\nThrough implementation of the _[Signal K Data Standard](https://signalk.org/specification/latest/)_, it enables data exchange between NMEA0183, NMEA2000 and other marine protocols facilitating two way communication between the various onboard systems. In addition it can also act as data hub for additional sensors ensuring their data appears within the single data model. _(Visit the [Signal K SensESP project](https://github.com/SignalK/SensESP) for [ESP32](https://en.wikipedia.org/wiki/ESP32) for details.)._\n\nData is made available to client applications / connections in JSON format making it widely accessible to Apps on phone / tablet devices and web applications.\n\nSignal K Server is also extensible, providing a plugin framework which allows developers to create solutions that integrate and extend its capabilities. These solutions can be published to **npmjs** and installed via the **App Store** in the server's web-based user interface.\n\n![Server only setup](img/server_only.svg)\n"
  },
  {
    "path": "docs/breaking_changes.md",
    "content": "---\ntitle: Breaking Changes\n---\n\n# Breaking Changes & Deprecations\n\nThis document lists breaking changes and deprecations in Signal K Server.\n\n---\n\n## Node.js: Default Version Updated to 24\n\nSignal K Server now defaults to **Node.js 24** and requires **Node.js 22 or later**.\n\n### What Changed\n\n| Setting          | Before | After |\n| ---------------- | ------ | ----- |\n| Recommended      | 22     | 24    |\n| Minimum required | 20     | 22    |\n\n### Dropped Platform Support\n\nNode.js 24 drops support for the following platforms:\n\n- **armv7** (32-bit ARM) — Affects older Raspberry Pi models (Pi 2, Pi Zero/Zero W). Use a 64-bit OS on Pi 3/4/5 or stay on an older Signal K Server version.\n- **Windows x86** (32-bit Windows) — Use 64-bit Windows instead.\n\n### Action Required\n\n- Update your Node.js installation to version 22 or later (version 24 recommended)\n- If running on armv7 or Windows x86, you must migrate to a supported platform or remain on the previous Signal K Server version\n\n---\n\n## Admin UI: React 19 Migration\n\nThe Admin UI has been upgraded from React 16 to **React 19**. This is a significant update that may affect embedded webapps and plugin configuration panels.\n\n### What Changed\n\n| Component    | Before     | After      |\n| ------------ | ---------- | ---------- |\n| React        | 16.14.0    | 19.x       |\n| React DOM    | 16.14.0    | 19.x       |\n| React Router | 4.x        | 6.x        |\n| Language     | JavaScript | TypeScript |\n\n### Impact on Embedded Webapps\n\n**If your webapp uses Module Federation to share React with the Admin UI:**\n\n1. **Singleton sharing is now required** - Your webapp must configure React and ReactDOM as singletons with `requiredVersion: false`. See [vite.config.js](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/vite.config.js) for the current configuration.\n\n2. **React 19 compatibility** - If your webapp bundles its own React, it should be compatible with components rendered by the host. Most React 16/17/18 code works unchanged in React 19, but some deprecated APIs have been removed.\n\n3. **String refs removed** - React 19 no longer supports string refs (`ref=\"myRef\"`). Use `useRef()` instead.\n\n4. **`defaultProps` on function components** - Deprecated. Use JavaScript default parameters instead.\n\n### Impact on Plugin Configuration Panels\n\nPlugin configuration panels using `./PluginConfigurationPanel` export continue to work. The props interface remains the same:\n\n- `configuration` - the plugin's configuration data\n- `save` - function to save configuration\n\n### No Impact\n\n- **Standalone webapps** - Webapps that don't use Module Federation sharing are not affected\n- **Server APIs** - All Signal K HTTP and WebSocket APIs remain unchanged\n- **Plugin JavaScript APIs** - Server-side plugin APIs are not affected\n\n---\n\n## Security: Anonymous Read Access Disabled by Default\n\nWhen security is first enabled on a new installation, `allow_readonly` now defaults to `false`. Previously it defaulted to `true`, meaning anyone could read all Signal K data without authentication.\n\n### Impact\n\n- **New installations** will require authentication for all access, including read-only. Devices like chart plotters and instrument displays that previously worked without a token will need to be configured with access credentials.\n- **Existing installations** are **not affected** — the `allow_readonly` value is already written explicitly in `security.json` and will be preserved.\n\n### Mitigation\n\nDuring initial security setup, the Enable Security dialog offers an **\"Allow Readonly Access\"** checkbox to opt in. Alternatively, you can enable it at any time in **Security > Settings**.\n\n---\n\n## REST API Changes\n\nThe following changes have been implemented with the introduction of **Resources API** and apply to applications using the `./signalk/v2/resources` endpoint.\n\n_Note: These changes DO NOT impact applications using the `./signalk/v1/resources` endpoint._\n\n### 1. Resource ID prefix assignment\n\nThe version 1 specification defined resource Ids with the following format `urn:mrn:signalk:uuid:<UUIDv4>`.\n\n_e.g. `urn:mrn:signalk:uuid:18592f80-3425-43c2-937b-0be64b6be68c`_\n\nThe Resource API has dropped the use the prefix and ids are now just a uuidv4 value.\n\n_e.g. `18592f80-3425-43c2-937b-0be64b6be68c`_\n\nThis format is used for both accessing a resource _e.g. `/signalk/v1/api/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c`_ as well as the value within an `href` attribute.\n\n_Example:_\n\n```\n{\n   \"name\": \"...\",\n   \"descripton\": \"...\",\n   \"href\": \"/resources/waypoints/18592f80-3425-43c2-937b-0be64b6be68c\",\n   ...\n}\n```\n\n### 2. Resource Attributes\n\nThe Resources API has updated the definition of the following resources and may break applications that simply shift to using the `v2` api without catering for the changes:\n\n- **routes**: removed the `start`, `end` properties.\n- **waypoints**: removed `position` attribute, added `name`, `description` and `type` attributes.\n- **regions**: removed `geohash` attribute, added `name` and `description` properties.\n- **notes**: removed `geohash` and `region` attributes, added `href` and `properties` attributes.\n- **charts**: There has been a significant changes to include support for WMS, WMTS and TileJSON sources.\n\nPlease see the [Resources OpenAPI definition](https://github.com/SignalK/signalk-server/blob/master/src/api/resources/openApi.json) for details.\n\n---\n\n## Deprecations:\n\n### 1. courseGreatCircle, courseRhumbline paths\n\nWith the introduction of the Course API the following paths should now be considered deprecated:\n\n- `/signalk/v1/api/vessels/self/navigation/courseGreatCircle`\n- `/signalk/v1/api/vessels/self/navigation/courseRhumbline`\n\n_Note: The Course API does currently maintain values in these paths for the purposes of backward compatibility, but applications and plugins referencing these paths should plan to move to using the equivalent paths under `/signalk/v2/api/vessels/self/navigation/course`._\n"
  },
  {
    "path": "docs/develop/README.md",
    "content": "---\ntitle: Developing\nchildren:\n  - ../whats_new.md\n  - ../breaking_changes.md\n  - plugins/README.md\n  - rest-api/README.md\n  - ../guides/unitpreferences.md\n---\n\n# Developing with Signal K\n\nSignal K Server has an extensible architecture that enables developers to add functionality to support new protocols, devices, information sources, etc.\n\nThe information in this section aims to provide guidance, not only on how to develop plugins and applications to extend capability, but also how to do so in alignment with the Signal K specification, protocol and server architecture.\nBy understanding the underlying architecture, the plugins and apps you create will ensure that the additional functionality and data will be discoverable and work in harmony with other solutions.\n\nSee also the [contributing document](https://github.com/SignalK/signalk-server/blob/master/contributing.md) for instructions on contributing to the server's code.\n\n## Looking Ahead\n\nSignal K Server v2 marks the start of an evolution from the Signal K v1 approach of defining the paths, their hierarchy and the full data model schema, towards an approach centered around modular REST APIs (HTTP endpoints defined as OpenApi specifications).\n\nThese APIs enact operations (i.e. activate a route, advance to next point, etc) rather just expose a generic data model with some well known paths.\nThey are available under the path `/signalk/v2/api` so they can coexist with v1 APIs. There is a connection with the Signal K full data model but, unlike the v1 APIs it is not 1:1, it is abstracted behind the interface.\n\nThe reason for adopting this approach is to address the fact that many paths within a Signal K hierarchy are related, a change in the value of one path will require that the value of other paths be updated to ensure that the data model is consistent.\nAt present this relies on the plugin / application knowing which paths in the hierarchy are related. Additionally there may be other plugins / applications also updating some of the same paths which can cause the data model to become invalid, which then erodes trust in the data which impacts its use in navigation.\n\nThe v1 model for using PUT handlers is also very vague and causes confusion. The aim of defining APIs with clear contracts using industry standard OpenApi mechanism is to make APIs discoverable and their use and semantics explicit.\n\nThe use of APIs to perform operations addresses these issues providing the following benefits:\n\n1. A standardised interface for all applications / plugins to perform an operation\n1. Provides clear ownership of the paths in the Signal K data model\n1. Ensures values are being maintained in all of the related paths.\n1. Increases trust in the data for use in all scenarios.\n\n### Stream Interface\n\nCurrently, when v2 REST APIs emit deltas that contain v2 paths and structure, but they do not end up in the full model. This means that these paths and values are only available via API GET requests.\n\n## Offline Use\n\nWhen operating on a vessel you should not assume that a connection to Internet services is available.\nTherefore, it is important that the WebApps and Plugins you create be _\"self contained\"_ and provide all the resources they require to operate _(i.e. fonts, stylesheets, images, etc)_. This also minimises data charges even if your module does use data over Internet.\n\nFor WebApps and Plugins that do connect to Internet based services to provide data, they should be resilient to changes in the connection status to those services and where necessary display their status.\n\n## Deprecations and Breaking Changes\n\nWith the move towards REST APIs and the desire to improve the data model (and also fix some mistakes) it's inevitable that there will be deprecations and breaking changes.\n\nFor example, when addressing duplicate Great Circle and Rhumbline course paths, the resultant changes will likley break compatibility with v1.\n\nFor details about paths that are flagged for deprecation see [Changes & Deprecations](../breaking_changes.md).\n"
  },
  {
    "path": "docs/develop/plugins/README.md",
    "content": "---\ntitle: Plugins\nchildren:\n  - ../webapps.md\n  - wasm/README.md\n  - deltas.md\n  - configuration.md\n  - backpressure.md\n  - autopilot_provider_plugins.md\n  - course_calculations.md\n  - resource_provider_plugins.md\n  - weather_provider_plugins.md\n  - custom_renderers.md\n  - publishing.md\n  - ci.md\n  - release.md\n---\n\n# Server plugins\n\nSignal K Node server plugins are components that extend functionality of the server.\nThey are installed via the AppStore and configured via the Admin UI.\n\nSignal K server exposes an interface for plugins to use in order to interact with the full data model, emit delta messages and process requests.\n\n## Plugin Types\n\nSignal K supports two types of plugins:\n\n- **JavaScript Plugins** - Traditional JavaScript/TypeScript plugins (documented below)\n- **[WASM Plugins](./wasm/README.md)** - Plugins written in Rust, AssemblyScript, Go, or other WASM-compatible languages\n\n[WASM](https://en.wikipedia.org/wiki/WebAssembly) is short for WebAssembly. WASM is a runtime for executing portable code in near native speeds and in isolation. WASM plugins offer sandbox isolation, memory safety, and the ability to use languages other than JavaScript. See the [WASM Plugins documentation](./wasm/README.md) for details.\n\n## Node.js Plugin Capabilities\n\nPlugins can:\n\n- Expose _[REST APIs](../rest-api/README.md)_ to provide consumers/clients a way to perform operations offered by your plugin. The APIs will be published under `http://{skserver}:3000/plugins/{pluginId}`.\n\n- Provide a webapp by placing the relevant files in a folder named `/public/` which the server will mount under `http://{skserver}:3000/{pluginId}`.\n\n**Note: With the move towards Signal K server providing APIs to perform operations, it is important that you consider how the proposed functionality provided by your plugin aligns with the Signal K architecture before starting development.**\n\nFor example, if the plugin you are looking to develop is providing access to information such as `route,` `waypoint`, `POI`, or `charts` you should be creating a _[Resources Provider Plugin](./resource_provider_plugins.md)_ for the _[Resources API](../rest-api/resources_api.md)_.\n\nOr if you are looking to perform course calculations or integrate with an autopilot, you will want to review the _[Course API](../rest-api/course_api.md)_ documentation prior to commencing your project.\n\n**OpenApi description for your plugin's API**\n\nIf your plugin provides an API you should consider providing an OpenApi description. This promotes cooperation with other plugin/webapp authors and also paves the way for incorporating new APIs piloted within a plugin into the Signal K specification. _See [Add OpenAPI definition](#add-an-openapi-definition)_ below.\n\n---\n\n## Getting Started with Plugin Development\n\n### Prerequisites\n\nTo get started developing your plugin you will need the following:\n\n- Signal K server instance on your device _(clone of GIT repository or docker instance)_\n- NodeJs version 20 or later and NPM installed\n- SignalK server configuration folder. _(Created when Signal K server is started. default location is `$HOME/.signalk`)_.\n\n---\n\n### Setting up your project\n\n1. Create a folder for your plugin code and create the necessary file structure:\n\n```shell\nmkdir my-plugin\ncd my-plugin\nnpm init      # create package.json file\n```\n\n2. Create the folders to hold your plugin code and webapp UI.\n\n```shell\n/my-plugin\n  /plugin     # plugin (javascript code / built typesrcipt code)\n    index.js\n    ..\n  /public     # web app UI\n    index.html\n    ..\n  /src        # typescript source code (not required if using javascript)\n    index.ts\n    ...\n  package.json\n```\n\n3. Update the `package.json` to reflect your project structure and add keywords to identify the package for the Signal K AppStore.\n\n```JSON\n{\n  \"name\": \"my-plugin\",\n  \"version\": \"1.0.0\",\n  \"description\": \"My signalk plugin\",\n  \"keywords\": [\n    \"signalk-node-server-plugin\",\n    \"signalk-category-ais\"\n  ],\n  \"signalk-plugin-enabled-by-default\": false,\n  \"signalk\": {\n    \"appIcon\": \"./assets/icons/icon-72x72.png\",\n    \"displayName\": \"My Great WebApp\"\n  },\n  \"main\": \"plugin/index.js\",\n  ...\n}\n```\n\n4. _Optional:_ Install any dependencies or third party packages.\n\n```shell\nnpm i\n```\n\n### Link your project to Signal K server.\n\nOnce you have developed your plugin code and are ready to debug, the most convenient way is to use `npm link` to link your plugin code to your instance of Signal K server.\n\nTo do this, from within a terminal window (if you are using Docker, the following must be executed from the container terminal):\n\n```shell\n# Ensure you are in the folder containing your built plugin code\ncd my_plugin_src\n\n# Create a link (may require the use of sudo)\nnpm link\n\n# Change to the Signal K server configuration directory\ncd ~/.signalk\n\n# Link your plugin using the name in the package.json file\n#(may require the use of sudo)\nnpm link my-signalk-plugin-app\n```\n\nWhen you start Signal K server the plugin will now appear in the **Plugin Config** screen where it can be configured and enabled.\n\nUpdating and/or installing new plugins will remove the link and you need to re-link your plugin.\n\n### Debugging\n\nThe simplest way to debug your plugin is to turn on **Enable Debug log** for your plugin in the **Plugin Config** screen.\n\nAlternatively, you can debug your plugin by starting the Signal K server with the `DEBUG` environment variable:\n\n```shell\n$ DEBUG=my-signalk-plugin signalk-server\n\n# sample output\nmy-signalk-plugin Plugin stopped +0ms\nmy-signalk-plugin Plugin started +2ms\n```\n\nYou can also view debug information about the plugin loading process:\n\n```shell\n$ DEBUG=signalk:interfaces:plugins signalk-server\n\n# sample output\nsignalk:interfaces:plugins Registering plugin my-signalk-plugin +0ms\nsignalk:interfaces:plugins Could not find options for plugin my-signalk-plugin, returning empty options:  +2ms\n```\n\n#### Sample Data\n\nFor development purposes, it's often nice to have some mocked data. SignalK comes with a synthesized NMEA2000 data set that can be used as sample data.\n\nYou can enable this by adding `--sample-n2k-data` to the command line:\n\n```shell\n$ DEBUG=my-signalk-plugin signalk-server --sample-n2k-data\n```\n\n---\n\n## Start Coding\n\nSignal K server plugins are NodeJs `javascript` or `typescript` projects that return an object that implements the {@link @signalk/server-api!Plugin | Plugin} interface.\n\nThey are installed into the `node_modules` folder that resides inside the SignalK server's configuration directory _(`$HOME/.signalk` by default)_.\n\nA Signal K plugin is passed a reference to the Signal K server plugin interface which it can use to interact with the server.\n\nFollowing are code snippets that can be used as a template for plugin development ensuring the returned Plugin object contains the required functions.\n\n### Javascript\n\nCreate `index.js` with the following content:\n\n```javascript\nmodule.exports = (app) => {\n  const plugin = {\n    id: 'my-signalk-plugin',\n    name: 'My Great Plugin',\n    start: (settings, restartPlugin) => {\n      // start up code goes here.\n    },\n    stop: () => {\n      // shutdown code goes here.\n    },\n    schema: () => {\n      properties: {\n        // plugin configuration goes here\n      }\n    }\n  }\n\n  return plugin\n}\n```\n\n### Typescript\n\nCreate `index.js` with the following content:\n\n```typescript\nimport { Plugin, ServerAPI } from '@signalk/server-api'\n\nconst start = (app: ServerAPI): Plugin => {\n  const plugin: Plugin = {\n    id: 'my-signalk-plugin',\n    name: 'My Great Plugin',\n    start: (settings, restartPlugin) => {\n      // start up code goes here.\n    },\n    stop: () => {\n      // shutdown code goes here.\n    },\n    schema: () => {\n      properties: {\n        // plugin configuration goes here\n      }\n    }\n  }\n\n  return plugin\n}\nmodule.exports = start\n```\n\nA plugin must return an object containing the following functions:\n\n- `start(settings, restartPlugin)`: This function is called when the plugin is enabled or when the server starts (and the plugin is enabled). The `settings` parameter contains the configuration data entered via the **Plugin Config** screen. `restartPlugin` is a function that can be called by the plugin to restart itself.\n\n- `stop()`: This function is called when the plugin is disabled or after configuration changes. Use this function to \"clean up\" the resources consumed by the plugin i.e. unsubscribe from streams, stop timers / loops and close devices.\n  If there are asynchronous operations in your plugin's stop implementation you should return a Promise that resolves\n  when stopping is complete.\n\n- `schema()`: A function that returns an object defining the schema of the plugin's configuration data. It is used by the server to generate the user interface in the **Plugin Config** screen.\n\n_Note: When a plugin's configuration is changed the server will first call `stop()` to stop the plugin and then `start()` with the new configuration data. Return a Promise from `stop` if needed so that `start` is not called before stopping is complete._\n\nA plugin can also contain the following optional functions:\n\n- `uiSchema()`: A function that returns an object defining the attributes of the UI components displayed in the **Plugin Config** screen.\n\n- `registerWithRouter(router)`: This function (which is called during plugin startup) enables plugins to provide an API (REST API in our context) by registering paths with the Express router. The APIs will be published under `http://{skserver}:3000/plugins/{pluginId}{path string}`. It is strongly recommended that the plugin implement `getOpenAPI()` to publish API documentation if this function is used.\n\n_Example:_\n\n```javascript\nplugin.registerWithRouter = (router) => {\n  router.get('/preferences', (req, res) => {\n    // URL will be http://{skserver}:3000/plugins/{pluginId}/preferences\n    res.status(200).json({\n      preferences: {\n        color: 'red',\n        speed: 1.23\n      }\n    })\n  })\n}\n```\n\n- `getOpenApi()`: Function to return the OpenAPI definition. This should be implemented when your plugin provides HTTP endpoints for clients to call. Doing so makes the OpenAPI definition available in the server Admin UI under `Documentation -> OpenAPI`.\n\n_Example:_\n\n```javascript\nconst openapi = require('./openApi.json')\n\nplugin.getOpenApi = () => openapi\n```\n\n---\n\n## Add an OpenAPI Definition\n\nIf your plugin exposes an API to interact with it then you should include an OpenAPI definition.\n\nYou do this by creating an OpenAPI definition within the file `openApi.json` and then returning the content of the file with the `getOpenApi` method.\n\n_Example:_\n\n```javascript\nconst openapi = require('./openApi.json');\n...\n\nplugin.getOpenApi = () => openapi;\n```\n\nThis will include your plugin's OpenApi definition in the documentation in the server's Admin UI under _Documentation -> OpenAPI_.\n\nNote: If the plugin's OpenApi description DOES NOT include a `servers` property, the API path presented in the documentation will be relative to the Signal K API path. You should include this property the plugin API is rooted elsewhere.\n_Example:_\n\n```JSON\n  \"servers\": [\n    {\n      \"url\": \"/myapi/endpoint\"\n    }\n  ],\n```\n\nSee [testplugin](https://github.com/SignalK/signalk-server/tree/b82477e63ebdc14878164ce1ed3aedd80c5a8b0c/test/plugin-test-config/node_modules/testplugin) for an example.\n\n---\n\n## Logging\n\nTo record deltas sent by the plugin in the server's data log, enable the **Log plugin output** in the plugin configuration screen.\n\n---\n\n## Removing a plugin\n\nPlugins can be removed via the AppStore.\n\nYou can also remove a plugin manually by:\n\n1. Deleting it's folder under `~/.signalk/node_modules`\n1. Deleting it's entry from `~/.signalk/package.json`\n1. Run `npm prune` from the `~/.signalk/` directory.\n\nAlternatively you can:\n\n1. Remove the folder `~/.signalk/node_modules`\n1. Run `npm install` from the `~/.signalk/` directory.\n\nFinally you can remove the plugin setting file in `~/.signalk/plugin-config-data/`.\n\n---\n\n## Examples\n\nFollowing are links to some published SignalK plugins that serve as an example of working plugins:\n\n- [set-system-time](https://github.com/SignalK/set-system-time/blob/master/index.js)\n- [Ais Reporter](https://github.com/SignalK/aisreporter/issues)\n"
  },
  {
    "path": "docs/develop/plugins/autopilot_provider_plugins.md",
    "content": "---\ntitle: Autopilot Providers\n---\n\n# Autopilot Provider plugins\n\nThe Signal K [Autopilot API](../rest-api/autopilot_api.md) provides a way for all Signal K clients to perform common autopilot operations independent of the autopilot device in use. The API is defined in an [OpenAPI](/doc/openapi/?urls.primaryName=autopilot) document.\n\nRequests made to the Autopilot API are received by the Signal K Server, where they are validated and an authorisation check performed, before being passed on to a **provider plugin** to action the request on the autopilot device.\n\nThis de-coupling of request handling and autopilot communication provides the flexibility to support a variety of autopilot devices and ensures interoperability and reliabilty.\n\nAutopilot API requests are passed to a **provider plugin** which will process and action the request facilitating communication with the autopilot device.\n\nThe following diagram provides an overview of the Autopilot API architectue.\n\n<img src=\"../../img/autopilot_provider.svg\" width=\"600px\">\n\n_Autopilot API architecture_\n\n## Provider Plugins\n\nAn autopilot provider plugin is a Signal K server plugin that implements the {@link @signalk/server-api!AutopilotProvider | `AutoPilotProvider`} interface, which:\n\n- Tells server the autopilot devices provided for by the plugin\n- Registers the methods used to action requests passed from the server to perform autopilot operations.\n\nMultiple providers can be registered and each provider can manage one or more autopilot devices.\n\n**Note: An Autopilot Provider plugin MUST:**\n\n- Implement all Autopilot API interface methods.\n- Facilitate communication on the target autopilot device to send commands and retrieve both status and configuration information\n- Ensure the `engaged` path attribute value is maintained to reflect the operational status of the autopilot.\n- Map the `engage` and `disengage` operations to an appropriate autopilot device `state`.\n- Set the state as `off-line` if the autopilot device is not connected or unreachable.\n- Set the mode as `dodge` when the autopilot device is is in dodge mode.\n\n## Registering as an Autopilot Provider\n\nA provider plugin must register itself with the Autopilot API during start up by calling the {@link @signalk/server-api!ServerAPI.registerAutopilotProvider | `registerAutopilotProvider`}.\n\n_Example: Plugin registering as an autopilot provider._\n\n```javascript\nimport { AutopilotProvider } from '@signalk/server-api'\n\nmodule.exports = function (app) {\n  const plugin = {\n    id: 'mypluginid',\n    name: 'My autopilot Provider plugin'\n  }\n\n  const autopilotProvider: AutopilotProvider = {\n    getData: (deviceId) => { return ... },\n    getState: (deviceId) => { return ... },\n    setState: (state, deviceId) => { ... },\n    getMode: (deviceId) => { return ... },\n    setMode: (mode, deviceId) => { ... },\n    getTarget: (deviceId) => { return ... },\n    setTarget(value, deviceId) => { ... },\n    adjustTarget(value, deviceId) => { ... },\n    engage: (deviceId) => { ... },\n    disengage: (deviceId) => { ... },\n    tack:(direction, deviceId) => { ... },\n    gybe:(direction, deviceId) => { ... },\n    dodge:(value, deviceId) => { ... }\n  }\n\n  const pilots = ['pilot1', 'pilot2']\n\n  plugin.start = function(options) {\n    ...\n    try {\n      app.registerAutopilotProvider(autopilotProvider, pilots)\n    }\n    catch (error) {\n      // handle error\n    }\n  }\n\n  return plugin\n}\n```\n\n## Sending Updates and Notifications\n\nThe Autopilot API is responsible for sending both update and notification `deltas` to Signal K clients.\n\nData received from an autopilot device, regardless of the communications protocol (NMEA2000, etc), should be sent to the Autopilot API by calling the {@link @signalk/server-api!ServerAPI.autopilotUpdate | `autopilotUpdate` } method.\n\nThis will ensure:\n\n- Default pilot status is correctly maintained\n- `steering.autopilot.*` both V1 and V2 deltas are sent\n\n> [!IMPORTANT]\n> The values provided via `autopilotUpdate` will be sent in the relevant delta message, so ensure they are in the correct units (e.g. angles in radians, etc).\n\nSee {@link AutopilotApi} for details.\n\n_Example Update:_\n\n```javascript\napp.autopilotUpdate('my-pilot', {\n  target: 1.52789,\n  mode: 'compass'\n})\n```\n\nNotifications / Alarms are sent using one of the normalised alarm names below as the path and a `Notification` as the value.\n\n- waypointAdvance\n- waypointArrival\n- routeComplete\n- xte\n- heading\n- wind\n\n_Example Notification:_\n\n```javascript\napp.autopilotUpdate('my-pilot', {\n  alarm: {\n    path: 'waypointAdvance',\n    value: {\n      state: 'alert'\n      method: ['sound']\n      message: 'Waypoint Advance'\n    }\n  }\n})\n```\n\n## Unhandled Operations\n\nA provider plugin **MUST** implement **ALL** Autopilot API interface methods, regardless of whether the operation is supported or not.\n\nFor an operation that is not supported by the autopilot device, then the plugin should `throw` an exception.\n\n_Example:_\n\n```typescript\n{\n    // unsupported operation method definition\n    async gybe(d, id) {\n        throw new Error('Unsupprted operation!)\n    }\n}\n```\n"
  },
  {
    "path": "docs/develop/plugins/backpressure.md",
    "content": "---\ntitle: Connection Backpressure\n---\n\n# Connection Backpressure\n\nSignal K Server includes automatic backpressure handling to gracefully manage slow client connections on WebSocket, Signal K TCP (port 8375), and NMEA TCP (port 10110) interfaces. This document explains how to detect and handle backpressure events in your webapp or plugin.\n\n## Overview\n\nWhen a client connection can't keep up with the data rate, the server enters \"backpressure mode\" for that connection:\n\n1. Instead of queuing more data (which would consume server memory), the server keeps only the **latest value** for each path\n2. When the client catches up, accumulated values are sent in a single delta with a `$backpressure` indicator\n3. Normal operation resumes automatically\n\n## Detecting Backpressure\n\nWhen the server flushes accumulated values after a backpressure period, it adds a `$backpressure` property to the delta:\n\n```javascript\nws.onmessage = (event) => {\n  const msg = JSON.parse(event.data)\n\n  if (msg.$backpressure) {\n    // This delta contains accumulated values from a backpressure period\n    console.warn(\n      `Backpressure: ${msg.$backpressure.accumulated} paths accumulated over ${msg.$backpressure.duration}ms`\n    )\n\n    // Show a user notification\n    showNetworkWarning(\n      'Network congestion detected - some updates were skipped'\n    )\n  }\n\n  // Process delta normally - values are still valid (just the latest ones)\n  handleDelta(msg)\n}\n```\n\n## Delta Format\n\nNormal delta:\n\n```json\n{\n  \"context\": \"vessels.urn:mrn:imo:mmsi:123456789\",\n  \"updates\": [\n    {\n      \"$source\": \"n2k-01.115\",\n      \"timestamp\": \"2024-01-15T10:30:00.000Z\",\n      \"values\": [\n        {\n          \"path\": \"navigation.position\",\n          \"value\": { \"latitude\": 60.0, \"longitude\": 25.0 }\n        }\n      ]\n    }\n  ]\n}\n```\n\nBackpressure flush delta:\n\n```json\n{\n  \"context\": \"vessels.urn:mrn:imo:mmsi:123456789\",\n  \"updates\": [...],\n  \"$backpressure\": {\n    \"accumulated\": 42,\n    \"duration\": 1250\n  }\n}\n```\n\n## Properties\n\n| Property                    | Type   | Description                                                              |\n| --------------------------- | ------ | ------------------------------------------------------------------------ |\n| `$backpressure.accumulated` | number | Number of unique context:path:$source combinations that were accumulated |\n| `$backpressure.duration`    | number | Milliseconds the server was in backpressure mode for this client         |\n\n## Connection Types\n\n| Interface                | Strategy           | Details                                                                                                                     |\n| ------------------------ | ------------------ | --------------------------------------------------------------------------------------------------------------------------- |\n| WebSocket (Primus)       | Accumulate + flush | Keeps latest value per path, flushes with `$backpressure` indicator when client catches up                                  |\n| Signal K TCP (port 8375) | Accumulate + flush | Same behavior as WebSocket for subscription deltas                                                                          |\n| NMEA TCP (port 10110)    | Drop + disconnect  | NMEA sentences are stateless; sentences are dropped for slow clients, connection terminated if buffer stays over hard limit |\n| TCP client (outbound)    | Drop               | Outbound writes are skipped when the remote server's buffer is full                                                         |\n\nWebSocket, Signal K TCP, and NMEA TCP connections share the configurable thresholds `BACKPRESSURE_ENTER`, `MAXSENDBUFFERSIZE`, and `MAXSENDBUFFERCHECKTIME`. The TCP client (outbound) uses only `BACKPRESSURE_ENTER` for write gating.\n\n## Important Notes\n\n- **Values are correct** - the delta contains the latest values, only intermediate updates were dropped\n- **Per-connection** - backpressure is specific to each connection, not server-wide\n- **Automatic recovery** - the server exits backpressure mode as soon as the client catches up\n- **Consider reducing scope** - if backpressure is frequent, consider using granular subscriptions to reduce data volume\n\n## Best Practices\n\n1. **Show a non-blocking warning** - inform users without interrupting their workflow\n2. **Auto-dismiss** - clear the warning after a timeout (10 seconds is reasonable)\n3. **Don't panic** - backpressure is graceful degradation, not an error\n4. **Log for debugging** - record backpressure events to help diagnose network issues\n\n## Testing\n\nEnvironment variables for testing (not recommended for production):\n\n```bash\n# Lower thresholds for testing\nBACKPRESSURE_ENTER=1024      # Enter backpressure at 1KB (default: 512KB)\nBACKPRESSURE_EXIT=0          # Exit when buffer is empty (default: 1KB)\n```\n"
  },
  {
    "path": "docs/develop/plugins/ci.md",
    "content": "---\ntitle: Plugin CI/CD\n---\n\n# Continuous Integration for Plugins\n\nSignal K provides a reusable GitHub Actions workflow that tests your plugin across all platforms where Signal K server runs. Even plugins without a test suite benefit — the workflow validates your plugin's structure, entry point, configuration schema, lifecycle, and API usage.\n\n## Quick Start\n\nCreate `.github/workflows/signalk-ci.yml` in your plugin repository:\n\n```yaml\nname: SignalK Plugin CI\n\non:\n  push:\n    branches: [main, master]\n  pull_request:\n    branches: [main, master]\n\njobs:\n  test:\n    uses: SignalK/signalk-server/.github/workflows/plugin-ci.yml@master\n```\n\nPush to GitHub — your plugin is now tested on Linux (x64 + arm64), macOS, Windows, and armv7 (Cerbo GX).\n\n## Manual Trigger with Custom Settings\n\nAdd `workflow_dispatch` to get a **\"Run workflow\"** button in the GitHub Actions UI where you can override Node versions, toggle armv7/Cerbo GX testing, enable integration tests, and more — without editing your workflow file.\n\nBecause `workflow_call` and `workflow_dispatch` inputs are separate namespaces in GitHub Actions, the workflow needs two jobs: one for automatic runs (push/PR) with hardcoded defaults, and one for manual runs that passes through your form inputs.\n\nSee [`examples/plugin-caller-example.yml`](examples/plugin-caller-example.yml) for the full workflow with manual trigger support.\n\n## What Gets Tested\n\n### Platforms\n\n| Platform | Architecture     | Node versions | Notes                                            |\n| -------- | ---------------- | ------------- | ------------------------------------------------ |\n| Linux    | x64              | 22, 24        | GitHub-hosted runner                             |\n| Linux    | arm64            | 22, 24        | GitHub-hosted runner — Raspberry Pi 4/5          |\n| macOS    | arm64            | 22, 24        | GitHub-hosted runner                             |\n| Windows  | x64              | 22, 24        | GitHub-hosted runner                             |\n| Linux    | armv7 (Cerbo GX) | 20            | QEMU emulation — matches Venus OS 3.70 (Node 20) |\n\n### Validation Checks\n\nThe desktop jobs (Linux, Linux arm64, macOS, Windows) run these checks, even if your plugin has no test suite. The list below is a summary for readers — the authoritative source for what the CI actually validates is the workflow itself: [.github/workflows/plugin-ci.yml](https://github.com/SignalK/signalk-server/blob/master/.github/workflows/plugin-ci.yml).\n\n**package.json** — `signalk-node-server-plugin` keyword, `main` or `exports` field, `engines.node` declaration\n\n**Entry point** — After build, verifies the plugin exports a constructor function\n\n**plugin.schema()** — Calls `schema()` and checks it returns a JSON-serializable schema-like object without crashing (not fully validated against the JSON Schema meta-schema)\n\n**Lifecycle** — Runs `start()` → `stop()` → `start()` (restart) with an empty configuration. Validates delta messages emitted during startup and checks that `registerDeltaInputHandler` handlers forward deltas correctly.\n\n**API usage** — Scans source files for:\n\n- Deprecated APIs (`setProviderStatus` → `setPluginStatus`, `setProviderError` → `setPluginError`)\n- Internal server properties (`app.server`, `app.deltaCache`, `app.pluginsMap`)\n- Route registration anti-patterns (direct `app.get()` instead of `registerWithRouter()`)\n- File storage anti-patterns (writing to `__dirname` or `process.cwd()` instead of `app.getDataDirPath()`)\n- Security anti-patterns (accessing `app.securityStrategy` or `isDummy()` — plugin routes are already protected by the server)\n- Node built-in module version mismatches (`node:sqlite` requires `engines.node >= 22.5.0`)\n\n**npm pack** — Verifies all files referenced by `main`/`exports` are included in the published package\n\n**App Store compatibility** — Installs the plugin with `--ignore-scripts` (as the App Store does) and checks for native addon dependencies\n\n**Stray files** — Warns when build and test steps leave untracked files\n\n## Configuration\n\nOverride defaults by passing inputs to the shared workflow:\n\n```yaml\njobs:\n  test:\n    uses: SignalK/signalk-server/.github/workflows/plugin-ci.yml@master\n    with:\n      test-command: 'npm run test:ci'\n      build-command: 'npm run build:plugin'\n      enable-armv7: false\n      enable-signalk-integration: true\n      node-versions: '[\"22\"]'\n```\n\n| Input                        | Default                      | Description                                                                                                              |\n| ---------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| `test-command`               | `npm test`                   | Command to run your test suite                                                                                           |\n| `build-command`              | `npm run build --if-present` | Build command                                                                                                            |\n| `format-check-command`       | _(empty)_                    | Blocking format check (e.g. `npm run prettier:check`, `npx biome check .`); skipped when empty                           |\n| `coverage-command`           | _(empty)_                    | Runs tests with coverage (e.g. `npm run coverage`); replaces the standard test run and writes output to the step summary |\n| `node-versions`              | `[\"22\", \"24\"]`               | Node versions for desktop platforms                                                                                      |\n| `enable-armv7`               | `true`                       | Test on armv7 (Cerbo GX) via QEMU                                                                                        |\n| `enable-signalk-integration` | `false`                      | Start SignalK server for integration tests                                                                               |\n| `signalk-server-versions`    | `[\"latest\"]`                 | JSON array of signalk-server versions; the integration job fans out over each                                            |\n\n### Formatting and coverage\n\nBoth are tool-agnostic command strings — the workflow doesn't care whether you use Prettier/Biome or c8/nyc/`jest --coverage`. Leave either empty to opt out.\n\n```yaml\nwith:\n  format-check-command: 'npm run prettier:check'\n  coverage-command: 'npm run coverage'\n```\n\n`format-check-command` runs after lint and **blocks the job** if it fails (unlike `npm run lint --if-present`, which is advisory). `coverage-command` replaces the standard `Run tests` step — its stdout is captured and appended to the GitHub Actions step summary so you can see coverage output without digging through logs.\n\n## package.json\n\nThe CI validates the same fields described in the [publishing guide](./publishing.md). The most important for CI:\n\n- `keywords` must include `signalk-node-server-plugin`\n- `main` or `exports` must point to your entry file\n- `engines.node` should declare the minimum Node.js version (required if you use `node:sqlite` or other version-specific built-in modules)\n\nPlugins without a `test` script still get all validation checks — tests are skipped with a notice.\n\n## armv7 / Cerbo GX Testing\n\nThe Cerbo GX runs an Allwinner dual-core Cortex-A7 (ARMv7, 32-bit) with Venus OS. The CI emulates this environment using QEMU with a `node:20-bookworm-slim` Docker image plus `python3`, `make`, and `g++` — matching Venus OS 3.70 which ships Node 20 and has build tools available via opkg.\n\nThe armv7 job runs install, build, and tests — it does not repeat the full validation suite (that's covered by the desktop jobs). The armv7 Node version is fixed to match the Cerbo GX and is not user-configurable. Expect armv7 jobs to take 3-5x longer than native x64. armv7 failures are **advisory and non-blocking**.\n\n### Limitations\n\n- **Native addons** compile for armv7 inside the container (slow but works — pre-built binaries rarely exist for ARM32)\n- **Hardware peripherals** (GPIO, CAN bus, serial) are not emulated — use a self-hosted runner for those\n\n## Integration Tests\n\nEnable `enable-signalk-integration: true` to run your plugin against a real Signal K server.\n\nThe job installs a Signal K server, packs and installs your plugin, auto-enables it, and starts the server with sample NMEA 0183 + NMEA 2000 data so the plugin has a realistic data environment (navigation, wind, depth, temperature, battery, and more). It then verifies the plugin loaded, checks provider API registrations, and runs `npm run test:integration` if defined. Your tests receive `SIGNALK_URL=http://localhost:3000` to connect to the running server.\n\nThe authoritative sequence of steps lives in the workflow itself: [.github/workflows/plugin-ci.yml](https://github.com/SignalK/signalk-server/blob/master/.github/workflows/plugin-ci.yml).\n\nPass `signalk-server-versions` as a JSON array to fan the integration job out over multiple server versions — useful for catching regressions across the baconjs 1 → 3 transition (server 2.23.x vs 2.24.0+) and similar cross-generation breakage:\n\n```yaml\nwith:\n  enable-signalk-integration: true\n  signalk-server-versions: '[\"2.23.0\", \"latest\"]'\n```\n\nThe integration job runs the full Cartesian product of `node-versions × signalk-server-versions`. The default `[\"22\", \"24\"] × [\"latest\"]` is 2 jobs; `[\"22\", \"24\"] × [\"2.23.0\", \"latest\"]` is 4. To keep the matrix small, shrink either dimension — integration coverage often only needs a single Node version (`node-versions: '[\"22\"]'`) even when the desktop jobs exercise several.\n\n### Provider API Verification\n\nIf your plugin registers as a provider for one of the server's provider APIs, the integration test verifies the registration actually works by calling the corresponding endpoint:\n\n| Provider API   | Registration method                | Endpoint checked                                     |\n| -------------- | ---------------------------------- | ---------------------------------------------------- |\n| History API v2 | `app.registerHistoryApiProvider()` | `/signalk/v2/api/history/values` must not return 501 |\n\nThis catches a common class of bugs where a plugin calls a registration method but the endpoint still returns \"no provider configured\" — for example due to an API mismatch between the plugin and the server version being tested.\n\n## Self-Hosted Runner for Real Hardware\n\nFor testing against actual hardware (GPIO, CAN bus, serial ports), add a [self-hosted runner](https://docs.github.com/en/actions/hosting-your-own-runners) on a Cerbo GX or Raspberry Pi:\n\n```yaml\ntest-cerbo-hardware:\n  name: Cerbo GX (real hardware)\n  runs-on: [self-hosted, cerbo-gx]\n  steps:\n    - uses: actions/checkout@v6\n    - run: npm ci\n    - run: npm test\n```\n\n## See also\n\n- [Releases and Changelogs](./release.md) — once CI passes, automate the release cut and publish step.\n"
  },
  {
    "path": "docs/develop/plugins/configuration.md",
    "content": "---\ntitle: Configuration\n---\n\n# Plugin Configuration\n\nA plugin's {@link @signalk/server-api!Plugin.schema | `schema`} function must return a [JSON Schema](http://json-schema.org/) object describing the structure of the configuration data.\n\n_Example:_\n\n```javascript\nplugin.schema = {\n  type: 'object',\n  required: ['some_string', 'some_other_number'],\n  properties: {\n    some_string: {\n      type: 'string',\n      title: 'Some string that the plugin needs'\n    },\n    some_number: {\n      type: 'number',\n      title: 'Some number that the plugin needs',\n      default: 60\n    },\n    some_other_number: {\n      type: 'number',\n      title: 'Some other number that the plugin needs',\n      default: 5\n    }\n  }\n}\n```\n\nJSON Schema approach works reasonably well for simple to medium complex configuration data. The server supports also [custom plugin configuration components](../webapps.md), bypassing the automatic configuration format generation.\n\nIt should be noted that some JSON schema constructs are not supported. Refer to the [RJSF documentation](https://rjsf-team.github.io/react-jsonschema-form/docs/) for details.\n\nThe configuration data is stored by the server under the following path `$SIGNALK_NODE_CONFIG_DIR/plugin-config-data/<plugin-name>.json`. _(Default value of SIGNALK_NODE_CONFIG_DIR is $HOME/.signalk.)_\n\nThe plugin is passed the configuration settings as the first parameter of the {@link @signalk/server-api!Plugin.start | `start`} function.\n\n```javascript\nplugin.start = (settings, restartPlugin) => {\n  // settings contains the plugin configuration\n  ...\n}\n```\n\n## UI Schema\n\nThe plugin can define {@link @signalk/server-api!Plugin.uiSchema | `uiSchema`} by returning a [uiSchema object](https://github.com/mozilla-services/react-jsonschema-form#the-uischema-object) which is used to control how the user interface is rendered in the Admin UI.\n\n_Example: Make all data in an object called 'myObject' collapsible:_\n\n```javascript\nuiSchema['myObject'] = {\n  'ui:field': 'collapsible',\n  collapse: {\n    field: 'ObjectField',\n    wrapClassName: 'panel-group'\n  }\n}\n```\n\nFor more information, see [react-jsonschema-form-extras](https://github.com/RxNT/react-jsonschema-form-extras#collapsible-fields-collapsible)\n\n## Making a plugin enabled by default\n\nIf your plugin does not require any initial configuration, you can enable it to start when the Signal K server is restarted after the plugin is installed.\n\nTo do this add the following to the `package.json`:\n\n```json\n  \"signalk-plugin-enabled-by-default\": true\n```\n"
  },
  {
    "path": "docs/develop/plugins/course_calculations.md",
    "content": "---\ntitle: Course Providers\n---\n\n# Course Calculations and Providers\n\nThe _Course API_ defines the path `/vessels/self/navigation/course/calcValues` to accommodate the calculated values related to course navigation.\n\nThese paths are available to be populated by a \"course provider\" plugin that uses the course information set using the _Course API_. This approach promotes the extensibility of Signal K server providing flexibility and interoperability. See [Course Provider Plugins](#course-provider-plugins) below.\n\n<img src=\"../../img/course_provider.svg\" width=\"300px\"/>\n\n## Calculated value paths: `calcValues`\n\nThe following paths are defined to hold values calculated using the information maintained by _Course API_ operations:\n\n- calcMethod: _(\"Rhumbline\" or \"GreatCircle\")_\n- crossTrackError\n- bearingTrackTrue\n- bearingTrackMagnetic\n- estimatedTimeOfArrival _(e.g. \"2022-04-22T05:02:56.484Z\")_\n- distance\n- bearingTrue\n- bearingMagnetic\n- velocityMadeGood\n- timeToGo\n- targetSpeed\n- previousPoint.distance\n\n_Example:_\n\n```\n{\n  \"calcMethod\": \"Rhumbline\",\n  \"crossTrackError\": 458.784,\n  \"bearingTrackTrue\": 4.58491,\n  \"bearingTrackMagnetic\": 4.51234,\n  \"estimatedTimeOfArrival\": \"2022-04-22T05:02:56.484Z\",\n  \"distance\": 10157,\n  \"bearingTrue\": 4.58491,\n  \"bearingMagnetic\": 4.51234,\n  \"velocityMadeGood\": 7.2653,\n  \"timeToGo\": 8491,\n  \"targetSpeed\": 2.2653,\n  \"previousPoint\": {\n    \"distance\": 10157\n  }\n}\n```\n\n## Course Notifications\n\nCalculated course values that cross a threshold should trigger a notification so that the necessary action can be taken.\n\nThe Course API defines the following notifications which should be implemented by a course provider:\n\n- `navigation.course.arrivalCircleEntered`\n- `navigation.course.perpendicularPassed`\n\n## Course Provider Plugins\n\nSignal K server includes the `Course Data Provider` plugin as part of the installation to provide out-of-the-box support for course calculations nd notifications.\n\nThis plugin can be replaced with others from the AppStore, or your own, to extend the number and types of calculations performed.\n\nIf you are looking to develop a course provider plugin, following are the recommended guidlines:\n\n1. Ensure values are generated for ALL the defined paths (above)\n1. Values MUST be calculated using `/vessels/self/navigation/course` path values mainntained by the _Course API_\n1. Ensure values are set to null when no destination is set or the value cannot be calculated\n1. Perform the calculations using a \"worker thread\" to minimise impact on the server \"main thread\"\n1. Ensure the worker is set up and shut down as part of plugin \"start\" and \"stop\" functions\n1. Raise the notifications outlined above.\n"
  },
  {
    "path": "docs/develop/plugins/custom_renderers.md",
    "content": "---\ntitle: Custom Renderers for the Data Browser\n---\n\n# Custom Renderers\n\nSignalk's Data Browser provides an easily navigated snapshot of the state of your Signalk system. Some paths like `navigation.gnss.satellitesInView` however are data intensive and difficult to make much sense out of in raw JSON form.\n\nAs of Signalk V 2.17.0, you'll notice that the path appears in the Data Browser as an easy to understand graphic:\n\n<img width=\"751\" height=\"236\" alt=\"Screenshot 2025-12-15 at 1 56 08 PM\" src=\"https://github.com/user-attachments/assets/2514d3f7-9b6a-4f50-a6cf-d5e8868199a4\" />\n\nThis is a Custom Renderer. The code for it is embedded in the DataBrowser package. See: [ValueRenderers.tsx](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/src/views/DataBrowser/ValueRenderers.tsx).\n\nAs of Signalk V 2.19.0, there are additional embedded Custom Renderers for Notifications, Attitude, Direction, Meters and Large Arrays.\n\nAlso as V 2.19.0, developers can create their own renderers and associate them with the path for display in the Data Browser or in any React App.\n\nYou can add renderers for existing paths, override existing hard-coded renderers, and create novel renderers for any novel paths that your plugin creates.\n\n## Creating a Custom Renderer\n\nA Custom Renderer is any React Component that takes `value`, at a minimum, as an argument and renders that value in HTML.\n\nSay, for example, you wanted to display a value in bold. You'd create a simple BoldRenderer that would look something like:\n\n```\nconst BoldRenderer = ({ value }) => {\n  return <div className=\"text-primary\"><b>value</b></div>;\n}\n```\n\nThere are more interesting examples in the ValueRenderers.tsx file.\n\n## Making Your Renderer Available at Runtime\n\n- Create a plugin\n- Add your Component in a separate file (usually under [plugin dir]/src/component)\n- Add build tool includes and scripts to your package.json (Webpack or Vite)\n- Add keyword \"signalk-node-server-addon\" to your package.json\n- Configure Module Federation to export the renderer. Example using Webpack:\n\n```javascript\nplugins: [\n  new ModuleFederationPlugin({\n    name: \"Sample renderer\",\n    library: { type: \"var\", name: packageJson.name.replace(/[-@/]/g, \"_\") },\n    filename: \"remoteEntry.js\",\n    exposes: {\n      \"./SampleRenderer\": \"./src/components/SampleRenderer\",\n    },\n    shared: {\n      react: { singleton: true, requiredVersion: false },\n      \"react-dom\": { singleton: true, requiredVersion: false }\n    },\n  }),\n  ...\n]\n```\n\n**Important:** Configure React as a singleton with `requiredVersion: false` to share the host's React 19 instance. See [vite.config.js](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/vite.config.js) for the Admin UI's configuration.\n\n- Build your plugin (`npm run build`)\n\n## Use Your Renderer\n\nTo use the renderer, users need to assign the `renderer` property to the path's meta.\n\nExample (for a renderer in a federated module):\n\n```\n    \"context\": \"vessels.self\",\n    \"updates\": [\n      {\n        \"meta\": [\n          {\n            \"path\": \"sample.value\",\n            \"value\": {\n              \"renderer\": {\n                \"module\": \"renderer-plugin\",\n                \"name\": \"SampleRenderer\",\n                \"options\": {\n                  \"option-1\": \"optional-value-1\"\n                }\n              },\n...\n```\n"
  },
  {
    "path": "docs/develop/plugins/deltas.md",
    "content": "---\ntitle: Processing Data\n---\n\n# Processing data from the server\n\nA plugin will generally want to:\n\n1. Subscribe to data published by the server _(i.e. received from a NMEA 2000 bus, etc)_\n1. Emit data.\n\nIn both cases the plugin will use _deltas_ which the server uses to signal changes in the Signal K full data model. Delta messages contain the new value associated with a path (not the amount of change from the previous value.)\\_\n\n_See the [Signal K Delta Specification](http://signalk.org/specification/1.7.0/doc/data_model.html#delta-format) for details._\n\nUsing the server API, plugins can either:\n\n1. Get the current value of a path in the full model or\n1. Subscribe to a path and access a stream of _deltas_ that updates every time the value is updated.\n\nBy specifying a context _e.g. 'vessels.self'_ you can limit the number of delta messages received to those of host vesseel.\nTo receive all deltas you can specify `*` as the context.\n\nYou can also limit the deltas received by the path you supply.\nIf you supply a specific path _e.g. navigation.position_, only updates in the value will be received.\nSince paths are hierarchical, paths can contain wildcards _e.g.\\_navigation.\\*_ which will deliver deltas containing updates to all paths under `navigation`.\n\nThe data received is formatted as per the following example:\n\n```javascript\n  {\n    path: 'navigation.position',\n    value: { longitude: 24.7366117, latitude: 59.72493 },\n    context: 'vessel.self',\n    source: {\n        label: 'n2k-sample-data',\n        type: 'NMEA2000',\n        pgn: 129039,\n        src: '43'\n    },\n    $source: 'n2k-sample-data.43',\n    timestamp: '2014-08-15T19:00:02.392Z'\n  }\n```\n\n## Reading the current path value\n\nThe server API provides the following methods for retrieving values from the full data model.\n\n- `getSelfPath(path)` returns the value of the supplied `path` in the `vessels.self` context.\n\n```javascript\nconst value = app.getSelfPath('uuid')\napp.debug(value) // Should output something like urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60\n```\n\n- `getPath(path)` returns the value of the path (including the context) starting from the _root_ of the full data model.\n\n```javascript\nconst baseStations = app.getPath('shore.basestations')\n```\n\n## Subscribing to Deltas\n\nA can subscribe to a stream of updates (deltas) by creating the subscription.\n\nSubcriptions are generally manged in the plugin `start()` and `stop()` methods to ensure the subscribtions are _unsubscribed_ prior to the plugin stopping to ensure all resources are freed.\n\nThe following example illustrates the pattern using the {@link @signalk/server-api!ServerAPI.subscriptionmanager | `subscriptionmanager`} API method.\n\n```javascript\nlet unsubscribes = []\n\nplugin.start = (options, restartPlugin) => {\n  app.debug('Plugin started')\n  let localSubscription = {\n    context: '*', // Get data for all contexts\n    subscribe: [\n      {\n        path: '*', // Get all paths\n        period: 5000 // Every 5000ms\n      }\n    ]\n  }\n\n  app.subscriptionmanager.subscribe(\n    localSubscription,\n    unsubscribes,\n    (subscriptionError) => {\n      app.error('Error:' + subscriptionError)\n    },\n    (delta) => {\n      delta.updates.forEach((u) => {\n        app.debug(u)\n      })\n    }\n  )\n}\n\nplugin.stop = () => {\n  unsubscribes.forEach((f) => f())\n  unsubscribes = []\n}\n```\n\nIn the `start()` method create a subscription definition `localSubscription` which is then passed to `app.subscriptionmanager.subscribe()` as the first argument, we also pass the `unsubscribes` array in the second argument.\n\nThe third argument is a function that will be called when there's an error.\n\nThe final argument is a function that will be called every time an update is received.\n\nIn the `stop()` method each subcription in the `unsubscribes` array is _unsubscribed_ and the resources released.\n\n### Path Discovery with `announceNewPaths`\n\nWhen using granular subscriptions (subscribing to specific paths rather than `*`), you may want to discover what paths are available without receiving continuous updates for all of them. The `announceNewPaths` option solves this:\n\n```javascript\nlet localSubscription = {\n  context: '*',\n  announceNewPaths: true, // Announce all matching paths once\n  subscribe: [\n    {\n      path: 'navigation.position', // Only get continuous updates for this path\n      period: 1000\n    }\n  ]\n}\n```\n\nWhen `announceNewPaths: true` is set:\n\n1. **On subscribe**: The server sends cached values for ALL existing paths matching the context filter (once each)\n2. **On new path**: When a new path appears later (e.g., a new sensor comes online), the server announces it once\n3. **Continuous updates**: Only the explicitly subscribed paths receive continuous updates\n\nThis is useful for:\n\n- **Data browsers** that need to show all available paths but only update visible ones\n- **Discovery tools** that want to know what data is available\n- **Dashboards** that let users select which data to display\n\nThe announced deltas are regular delta messages - there's no special flag. Your client should track which paths it has seen and can then subscribe to specific ones as needed.\n\n## Sending Deltas\n\nA SignalK plugin can not only read deltas, but can also send them. This is done using the `handleMessage()` API method and supplying:\n\n1. The plugin id\n2. A formatted delta update message\n3. The Signal K version ['v1' or 'v2'] _(if omitted the default is 'v1')_. See [REST APIs](../rest-api/README.md) for details.\n\n_Example:_\n\n```javascript\napp.handleMessage(\n  plugin.id,\n  {\n    updates: [\n      {\n        values: [\n          {\n            path: 'environment.outside.temperature',\n            value: -253\n          }\n        ]\n      }\n    ]\n  },\n  'v1'\n)\n```\n\n## Sending NMEA 2000 data from a plugin\n\nA SignalK plugin can not only emit deltas, but can also send data such as NMEA 2000 data.\n\nThis is done using the `emit()` API and specifying the provider as well as the formatted data to send.\n\n_Example: Send NMEA using Actisense serial format:_\n\n```javascript\napp.emit(\n  'nmea2000out',\n  '2017-04-15T14:57:58.468Z,0,262384,0,0,14,01,0e,00,88,b6,02,00,00,00,00,00,a2,08,00'\n)\n```\n\n_Example: Send NMEA using Canboat JSON format:_\n\n```javascript\napp.emit('nmea2000JsonOut', {\n  pgn: 130306,\n  'Wind Speed': speed,\n  'Wind Angle': angle < 0 ? angle + Math.PI * 2 : angle,\n  Reference: 'Apparent'\n})\n```\n\n### Sending a message on NMEA2000 startup\n\nIf you need to send an NMEA2000 message out at startup, _e.g get current state from a device_ you will need to wait until the provider is ready before sending your message.\n\n_Example: Send NMEA after the provider is ready:_\n\n```javascript\napp.on('nmea2000OutAvailable', () => {\n  app.emit(\n    'nmea2000out',\n    '2017-04-15T14:57:58.468Z,2,6,126720,%s,%s,4,a3,99,01,00'\n  )\n})\n```\n"
  },
  {
    "path": "docs/develop/plugins/examples/plugin-caller-example.yml",
    "content": "# ─────────────────────────────────────────────────────────────\n# SignalK Plugin CI\n#\n# Drop this file into your plugin repo at:\n#   .github/workflows/signalk-ci.yml\n#\n# It calls the shared SignalK workflow which tests your plugin\n# across Linux, macOS, and Windows (Node 22 + 24). armv7/Cerbo GX\n# and the Signal K integration test are opt-in — the auto-run job\n# below disables them; use the manual trigger to enable per-run.\n#\n# On push/PR it runs with sensible defaults.\n# You can also trigger it manually from the GitHub Actions UI\n# with custom settings (Node versions, armv7, integration tests).\n# ─────────────────────────────────────────────────────────────\n\nname: SignalK Plugin CI\n\non:\n  push:\n    branches:\n      - '**'\n  pull_request:\n    branches:\n      - '**'\n  workflow_dispatch:\n    inputs:\n      test-command:\n        description: Command to run tests\n        required: false\n        default: npm test\n        type: string\n      build-command:\n        description: Command to build the plugin\n        required: false\n        default: npm run build --if-present\n        type: string\n      format-check-command:\n        description: 'Optional blocking format check, e.g. npm run prettier:check'\n        required: false\n        default: ''\n        type: string\n      coverage-command:\n        description: 'Optional coverage command (replaces the test run), e.g. npm run coverage'\n        required: false\n        default: ''\n        type: string\n      node-versions:\n        description: 'JSON array of Node versions, example: [\"22\",\"24\"]'\n        required: false\n        default: '[\"22\", \"24\"]'\n        type: string\n      enable-armv7:\n        description: Run armv7 (Cerbo GX) tests via QEMU\n        required: false\n        default: false\n        type: boolean\n      enable-signalk-integration:\n        description: Start SignalK server and install plugin for integration testing\n        required: false\n        default: false\n        type: boolean\n      signalk-server-versions:\n        description: 'JSON array of signalk-server versions for integration testing, e.g. [\"2.23.0\",\"latest\"]'\n        required: false\n        default: '[\"latest\"]'\n        type: string\n\njobs:\n  # ── Automatic runs (push / pull request) ──────────────────\n  test-plugin-auto:\n    if: ${{ github.event_name != 'workflow_dispatch' }}\n    uses: SignalK/signalk-server/.github/workflows/plugin-ci.yml@master\n    with:\n      test-command: npm test\n      build-command: npm run build --if-present\n      node-versions: '[\"22\", \"24\"]'\n      enable-armv7: false\n      enable-signalk-integration: false\n      signalk-server-versions: '[\"latest\"]'\n\n  # ── Manual runs (workflow_dispatch with custom inputs) ────\n  test-plugin-manual:\n    if: ${{ github.event_name == 'workflow_dispatch' }}\n    uses: SignalK/signalk-server/.github/workflows/plugin-ci.yml@master\n    with:\n      test-command: ${{ inputs.test-command }}\n      build-command: ${{ inputs.build-command }}\n      format-check-command: ${{ inputs.format-check-command }}\n      coverage-command: ${{ inputs.coverage-command }}\n      node-versions: ${{ inputs.node-versions }}\n      enable-armv7: ${{ inputs.enable-armv7 }}\n      enable-signalk-integration: ${{ inputs.enable-signalk-integration }}\n      signalk-server-versions: ${{ inputs.signalk-server-versions }}\n"
  },
  {
    "path": "docs/develop/plugins/examples/plugin-dependabot-example.yml",
    "content": "# ─────────────────────────────────────────────────────────────\n# SignalK Plugin Dependabot Config\n#\n# Drop this file into your plugin repo at:\n#   .github/dependabot.yml\n#\n# Dependabot will then keep your npm dependencies and the\n# GitHub Actions used by your workflows (CI, release) up to date\n# by opening PRs on the schedule configured below.\n#\n# Non-breaking updates (minor + patch) are grouped into a single\n# PR per ecosystem to keep noise down. Major version bumps stay\n# as individual PRs because they usually deserve a closer look.\n#\n# Full reference:\n#   https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference\n# ─────────────────────────────────────────────────────────────\n\nversion: 2\nupdates:\n  - package-ecosystem: npm\n    directory: '/'\n    schedule:\n      interval: weekly\n    groups:\n      minor-and-patch:\n        update-types:\n          - minor\n          - patch\n\n  - package-ecosystem: github-actions\n    directory: '/'\n    schedule:\n      interval: weekly\n    groups:\n      actions:\n        update-types:\n          - minor\n          - patch\n"
  },
  {
    "path": "docs/develop/plugins/examples/plugin-release-example.yml",
    "content": "# ─────────────────────────────────────────────────────────────\n# SignalK Plugin Release + Publish\n#\n# Drop this file into your plugin repo at:\n#   .github/workflows/release.yml\n#\n# On every pushed tag (e.g. `1.4.2` or `v1.4.2`) this workflow:\n#   1. Creates a GitHub Release with auto-generated notes built\n#      from merged PRs since the previous tag.\n#   2. Publishes the package to npm with provenance.\n#\n# Tags containing \"beta\" (e.g. `1.5.0-beta.1`) are published to\n# the `beta` npm dist-tag instead of `latest`.\n#\n# Prerequisites:\n#   - Create an npm access token and add it as repo secret NPM_TOKEN.\n#     (Needed only if your account requires a token; provenance\n#     works without one via OIDC on public npm packages, but most\n#     accounts still need NPM_TOKEN set.)\n#   - Release the package once manually from your machine so npm\n#     knows the package exists under the correct scope.\n#\n# Releasing a new version:\n#   npm version patch     # or minor / major — updates package.json and tags\n#   git push && git push --tags\n# ─────────────────────────────────────────────────────────────\n\nname: Release\n\non:\n  push:\n    tags:\n      - '[0-9]+.[0-9]+.[0-9]+*'\n      - 'v[0-9]+.[0-9]+.[0-9]+*'\n\njobs:\n  release:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: write\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n\n      - name: Create GitHub Release\n        uses: softprops/action-gh-release@v2\n        with:\n          tag_name: ${{ github.ref_name }}\n          name: ${{ github.ref_name }}\n          generate_release_notes: true\n          prerelease: ${{ contains(github.ref_name, 'beta') }}\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n  publish:\n    needs: release\n    runs-on: ubuntu-latest\n    permissions:\n      id-token: write\n      contents: read\n    steps:\n      - uses: actions/checkout@v4\n\n      - uses: actions/setup-node@v4\n        with:\n          node-version: '22'\n          registry-url: 'https://registry.npmjs.org'\n\n      - run: npm ci\n\n      # Assumes your package.json defines `prepublishOnly` (or `prepare`) if a\n      # build step is needed — see the AppStore publishing guide.\n      - name: Publish to npm\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n        run: |\n          tag=\"${GITHUB_REF#refs/tags/}\"\n          if [[ \"$tag\" == *beta* ]]; then\n            npm publish --provenance --access public --tag beta\n          else\n            npm publish --provenance --access public\n          fi\n"
  },
  {
    "path": "docs/develop/plugins/publishing.md",
    "content": "---\ntitle: Publishing to The AppStore\n---\n\n# Publishing to The AppStore\n\nPlugins and WebApps are available in the AppStore when they have been published to [npm repository](https://www.npmjs.com/) with the one or more of the following keywords in the `package.json` file:\n\n- `signalk-node-server-plugin`\n- `signalk-webapp`\n\nAdditionally you can have your plugin appear within one or more AppStore categories by also adding the following keyword(s):\n\n- `signalk-category-chart-plotters`\n- `signalk-category-nmea-2000`\n- `signalk-category-nmea-0183`\n- `signalk-category-instruments`\n- `signalk-category-hardware`\n- `signalk-category-ais`\n- `signalk-category-notifications`\n- `signalk-category-digital-switching`\n- `signalk-category-utility`\n- `signalk-category-cloud`\n- `signalk-category-weather`\n- `signalk-category-deprecated`\n\nTo have your plugin start automatically after being installed, without requiring any configuration via the **Plugin Config** screen add the following key to the `package.json` file:\n\n```JSON\n\"signalk-plugin-enabled-by-default\": true\n```\n\nTo control the way your WebApp is displayed in the Admin UI add a `signalk` key with the following attributes:\n\n```JSON\n  \"signalk\": {\n    \"appIcon\": \"./img/icon-72x72.png\", // path to an image file to use as an icon.\n    \"displayName\": \"My SK App\" // name to display in place of the package name.\n  }\n```\n\n_Example: package.json_\n\n```JSON\n{\n  \"name\": \"my-signalk-plugin-app\",\n  \"version\": \"1.0.0\",\n  \"description\": \"My great signalk plugin-app\",\n  \"keywords\": [\n    \"signalk-node-server-plugin\",\n    \"signalk-webapp\",\n    \"signalk-category-ais\"\n  ],\n  \"signalk-plugin-enabled-by-default\": true,\n  \"signalk\": {\n    \"appIcon\": \"./assets/icons/icon-72x72.png\",\n    \"displayName\": \"My Great WebApp\"\n  },\n  \"main\": \"plugin/index.js\",\n  \"scripts\": {\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\"\n}\n```\n\n### Important: Avoid install-time scripts\n\nThe Signal K AppStore installs plugins using `npm install --ignore-scripts` for security reasons. This means any `preinstall`, `install`, or `postinstall` scripts in your plugin's `package.json` will not run when users install your plugin through the AppStore.\n\nEnsure your npm package is ready to use without requiring install-time scripts. If you need build steps, use `prepublishOnly` instead - this runs before publishing to npm, so your package already contains everything it needs.\n\n#### Publishing your Plugin\n\nOnce you have developed and tested your Plugin / WebApp you can publish it to make it visible in the AppStore.\nTo do this, in a terminal session from within the folder containing `package.json`:\n\n```shell\nnpm publish\n```\n\nFor automated releases with GitHub-generated changelogs and npm provenance, see [Releases and Changelogs](./release.md).\n"
  },
  {
    "path": "docs/develop/plugins/release.md",
    "content": "---\ntitle: Releases and Changelogs\n---\n\n# Releases and Changelogs for Plugins\n\nWhen a user updates a plugin through the AppStore, they currently see only the new version number — nothing about what changed. This page describes a light-touch convention that makes per-release notes available to tools (a future AppStore, Dependabot, npm's package page) and to humans browsing your repository.\n\nThe recommendation is deliberately tool-agnostic. Pick whichever of the established approaches below fits your workflow; what matters is the **output shape**, not how you produce it.\n\n## The contract\n\nFor each npm-published version of your plugin, aim to have:\n\n1. A **GitHub Release** with a tag that matches the npm version (e.g. npm `1.4.2` ↔ git tag `v1.4.2` or `1.4.2`).\n2. A human-readable **release body** in Markdown — a few lines is plenty.\n3. _Optional:_ a `CHANGELOG.md` at the repo root following [Keep a Changelog](https://keepachangelog.com/).\n\nAnything that produces that shape is fine. Downstream consumers read GitHub Releases via the public API, which is the same regardless of which tool produced the notes.\n\n## Approach 1 — GitHub's built-in auto-generated notes (zero config)\n\nThe simplest path: let GitHub generate the release body from merged PRs. This is the same logic as the **Generate release notes** button in the GitHub web UI, triggered from a workflow on tag push. No third-party changelog action required.\n\nThe [example workflow](./examples/plugin-release-example.yml) uses this approach — tag push → create GitHub Release with auto-generated body → `npm publish --provenance`.\n\nIf you want to categorize entries by PR label (Features / Fixes / Other), add a [`.github/release.yml`](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#configuring-automatically-generated-release-notes) to your repo. GitHub reads it automatically.\n\n## Approach 2 — release-drafter\n\n[release-drafter](https://github.com/release-drafter/release-drafter) accumulates a draft release across PR merges, so you can review and edit notes before tagging. Useful if you want a human pass over the wording.\n\n## Approach 3 — release-please / semantic-release / changesets\n\n[release-please](https://github.com/googleapis/release-please), [semantic-release](https://semantic-release.gitbook.io/), and [changesets](https://github.com/changesets/changesets) go further: they also drive **version bumps** from conventional commits or intent files, and maintain `CHANGELOG.md` automatically. More automation, more opinion — worth it for plugins that release frequently.\n\n## Commit hygiene\n\nWhichever approach you pick, the quality of the generated notes depends on your commit messages and PR titles. The [Signal K server contributing guide](https://github.com/SignalK/signalk-server/blob/master/CONTRIBUTING.md) already covers this — the same conventions apply to plugin repositories.\n\nWhen using GitHub's built-in generator (Approach 1), **PR titles become the release-note lines**. Write titles that make sense out of context: \"fix AIS fallback when GPS source is missing\" beats \"fix bug\".\n\n## npm publish and provenance\n\nPublish from a GitHub Actions job triggered by the same tag push that creates the release. Use [npm provenance](https://docs.npmjs.com/generating-provenance-statements) so consumers can verify the package was built from the linked commit:\n\n```yaml\npermissions:\n  id-token: write # required for provenance\n  contents: read\n\nsteps:\n  - run: npm publish --provenance --access public\n```\n\nThe [example workflow](./examples/plugin-release-example.yml) shows the full shape, including a beta-tag branch for `*-beta*` versions.\n\nIf the publish step fails transiently after the GitHub Release was already created, re-run the failed `publish` job from the Actions UI. If that's not possible, cut a new patch tag (e.g. `v1.4.3`) rather than force-retagging — tags and releases should be immutable so downstream consumers of the GitHub Release can trust them.\n\n## Dependabot\n\nDependabot fetches the GitHub Release notes of each updated package and embeds them into its update PRs — so plugins that follow the contract above already benefit their downstream users. Dependabot is also useful _for_ your plugin: it keeps the dependencies of your plugin (and the versions of the GitHub Actions your CI/release workflows use) up to date.\n\nA minimal `.github/dependabot.yml` should cover two ecosystems:\n\n- `npm` — your plugin's runtime dependencies\n- `github-actions` — the versions of the actions your CI and release workflows use\n\nGroup non-breaking upgrades (minor + patch) into a single PR per ecosystem to cut down on noise; leave major-version bumps as their own PRs because they usually need a real look.\n\nSee [`examples/plugin-dependabot-example.yml`](./examples/plugin-dependabot-example.yml) for a copy-pasteable config with explanatory comments, and the [Dependabot options reference](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference) for the full set of tunables.\n\n## See also\n\n- [Continuous Integration for Plugins](./ci.md) — validate your plugin before releasing\n- [Publishing to The AppStore](./publishing.md) — npm keywords and `package.json` shape\n- [Keep a Changelog](https://keepachangelog.com/)\n- [Semantic Versioning](https://semver.org/)\n- [GitHub: Automatically generated release notes](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes)\n- [npm: Generating provenance statements](https://docs.npmjs.com/generating-provenance-statements)\n"
  },
  {
    "path": "docs/develop/plugins/resource_provider_plugins.md",
    "content": "---\ntitle: Resource Providers\n---\n\n# Resource Provider plugins\n\nThe Signal K server _Resource API_ provides a common set operations for clients to interact with routes, waypoints, charts, etc but it does NOT provide the ability to persist or retrieve resources to / from storage.\n\nThis functionality needs to be provided by one or more server plugins that interface with the _Resource API_ to facilitate the storage and retrieval of resource data.\n\nThese plugins are called **Provider Plugins**.\n\n_Resource API architecture:_\n\n<img src=\"../../img/resource_provider.svg\" width=\"275\"/>\n\nThis de-coupling of request handling and data storage provides the flexibility to persist resource data in a variety of different storage types as well as Internet based services.\n\n> [!NOTE]\n> Signal K server comes with the [resources-provider-plugin](https://github.com/SignalK/signalk-server/tree/master/packages/resources-provider-plugin) pre-installed which persists resource data to the local file system.\n\n## Resources API\n\nThe _[Resources API](../rest-api/resources_api.md)_ handles all client requests received via the `/signalk/v2/api/resources` path, before passing on the request to registered provider plugin(s).\n\nThe _Resources API_ performs the following operations when a request is received:\n\n1. Checks for registered provider(s) for the resource type _(i.e. route, waypoint, etc.)_\n1. Checks that the required ResourceProvider methods are defined for the requested operation _(i.e. POST, PUT, GET, DELETE)_\n1. Performs an access control check\n1. `POST` and `PUT` requests for **Standard** _(Signal K defined)_ resource types are checked for validity of the submitted:\n   - `resource id`\n   - `resource data` against the OpenAPI definition.\n\nOnly after successful completion of all these operations is the request passed on to the registered provider plugin(s).\n\n---\n\n## Provider plugins\n\nA resource provider plugin is a Signal K server plugin that implements the {@link @signalk/server-api!ResourceProvider | ResourceProvider } interface which:\n\n- Tells server the resource type(s) provided for by the plugin _(i.e. route, waypoint, etc.)_\n- Registers the methods used to action requests passed from the server and perform the writing, retrieval and deletion of resources from storage. _Note: The plugin **MUST** implement each method, even if that operation is NOT supported by the plugin!_\n\n> [!NOTE]\n> Multiple providers can be registered for a resource type _(e.g. 2 x chart providers)_\n\n_**Note: The Resource Provider is responsible for implementing the methods and returning data in the required format!**_\n\n## Registering as a Resource Provider\n\nTo register a plugin as a provider for one or more resource types with the SignalK server, it must call the server's {@link @signalk/server-api!ResourceProviderRegistry.registerResourceProvider | `registerResourceProvider`} function for each resource type being serviced during plugin startup.\n\n_Example: Plugin registering as a routes & waypoints provider._\n\n```javascript\nimport { ResourceProvider } from '@signalk/server-api'\n\nmodule.exports = function (app) {\n\n  const plugin = {\n    id: 'mypluginid',\n    name: 'My Resource Provider plugin'\n  }\n\n  const routesProvider: ResourceProvider = {\n      type: 'routes',\n      methods: {\n        listResources: (params) => {\n          fetchRoutes(params)\n          ...\n        },\n        getResource: (id, property?) => {\n          getRoute(id, property)\n          ...\n        },\n        setResource: (id, value )=> {\n          saveRoute(id, value)\n          ...\n        },\n        deleteResource: (id) => {\n          deleteRoute(id, value)\n          ...\n        }\n      }\n    }\n\n  const waypointsProvider: ResourceProvider = {\n      type: 'waypoints',\n      methods: {\n        listResources: (params) => {\n          fetchWaypoints(params)\n          ...\n        },\n        getResource: (id, property?) => {\n          getWaypoint(id, property)\n          ...\n        },\n        setResource: (id, value )=> {\n          saveWaypoint(id, value)\n          ...\n        },\n        deleteResource: (id) => {\n          deleteWaypoint(id, value)\n          ...\n        }\n      }\n    }\n\n  plugin.start = function(options) {\n    ...\n    try {\n      app.registerResourceProvider(routesProvider)\n      app.registerResourceProvider(waypointsProvider)\n    }\n    catch (error) {\n      // handle error\n    }\n  }\n\n  return plugin\n}\n```\n\n## Resource Provider Methods\n\nA Resource Provider plugin must implement ALL methods in {@link @signalk/server-api!ResourceProviderMethods | `ResourceProviderMethods`} to service the requests passed from the server.\n\nEach method should return a **Promise** on success and `throw` on error, if a request is not serviced or is not implemented.\n\n_Example:_\n\n```javascript\n// SignalK server plugin\nmodule.exports = function (app) {\n\n  const plugin = {\n    id: 'mypluginid',\n    name: 'My Resource Providerplugin',\n    start: options => {\n      ...\n      app.registerResourceProvider({\n        type: 'waypoints',\n        methods: {\n          listResources: (params) => {\n            return new Promise( (resolve, reject) => {\n              ...\n              if (ok) {\n                resolve(resource_list)\n              } else {\n                reject( new Error('Error fetching resources!'))\n              }\n            })\n          },\n          getResource: (id, property?) => {\n            return new Promise( (resolve, reject) => {\n              ...\n              if (ok) {\n                resolve(resource_list)\n              } else {\n                reject( new Error('Error fetching resource with supplied id!'))\n              }\n            })\n          },\n          setResource: (id, value )=> {\n            throw( new Error('Not implemented!'))\n          },\n          deleteResource: (id) => {\n            throw( new Error('Not implemented!'))\n          }\n        }\n      })\n    }\n\n  }\n}\n```\n\n## Delta Notifications for Internal Resource Changes\n\nWhile the built-in Resources API automatically emits deltas for standard operations (`POST`, `PUT`, `DELETE`), custom provider endpoints must manually emit deltas when resources are modified through custom endpoints to keep clients synchronized in real-time.\n\nEmit delta notifications after:\n\n1. **Create** - New resource added (via upload, file copy, download, etc.)\n2. **Update** - Resource modified (rename, move, enable/disable, etc.)\n3. **Delete** - Resource removed\n\n### Delta Message Format\n\nResource deltas use the standard Signal K delta format with the resource path.\n**Target version 2 data structure**.\n\n```javascript\napp.handleMessage(\n  'my-provider-plugin-id',\n  {\n    updates: [\n      {\n        values: [\n          {\n            path: 'resources.<resourceType>.<resourceId>',\n            value: resourceData // or null for deletions\n          }\n        ]\n      }\n    ]\n  },\n  2 // Signal K v2 - resources should not be in full model cache\n)\n```\n\n### Example: Complete Implementation\n\nThis example shows a chart provider plugin that emits deltas for all operations:\n\n```javascript\nmodule.exports = function (app) {\n  let chartCache = {}\n\n  const plugin = {\n    id: 'my-charts-provider',\n    name: 'My Charts Provider',\n\n    start: (options) => {\n      // Register as resource provider\n      app.registerResourceProvider({\n        type: 'charts',\n        methods: {\n          listResources: () => Promise.resolve(chartCache),\n          getResource: (id) => {\n            if (chartCache[id]) {\n              return Promise.resolve(chartCache[id])\n            }\n            throw new Error('Chart not found')\n          },\n          setResource: (id, value) => {\n            throw new Error('Not implemented')\n          },\n          deleteResource: (id) => {\n            throw new Error('Not implemented')\n          }\n        }\n      })\n\n      // Register custom endpoints\n      registerCustomEndpoints()\n\n      // Initial load\n      refreshCharts()\n    },\n\n    registerWithRouter: (router) => {\n      router.post('/charts/upload', async (req, res) => {\n        try {\n          const chartId = await saveUploadedChart(req)\n\n          await refreshCharts()\n\n          if (chartCache[chartId]) {\n            emitChartDelta(chartId, chartCache[chartId])\n          }\n\n          res.json({ success: true, id: chartId })\n        } catch (error) {\n          res.status(500).json({ error: error.message })\n        }\n      })\n\n      // Delete endpoint\n      router.delete('/charts/:id', async (req, res) => {\n        try {\n          await deleteChartFromDisk(req.params.id)\n\n          await refreshCharts()\n\n          emitChartDelta(req.params.id, null)\n\n          res.send('Chart deleted successfully')\n        } catch (error) {\n          res.status(500).send(error.message)\n        }\n      })\n    }\n  }\n\n  const emitChartDelta = (chartId, chartValue) => {\n    try {\n      app.handleMessage(\n        plugin.id,\n        {\n          updates: [\n            {\n              values: [\n                {\n                  path: `resources.charts.${chartId}`,\n                  value: chartValue\n                }\n              ]\n            }\n          ]\n        },\n        2 // Signal K v2 - resources should not be in full model cache\n      )\n      app.debug(`Delta emitted for chart: ${chartId}`)\n    } catch (error) {\n      app.error(`Failed to emit delta: ${error.message}`)\n    }\n  }\n\n  const refreshCharts = async () => {\n    try {\n      const charts = await loadChartsFromDisk()\n      chartCache = charts\n      app.debug(`Charts refreshed: ${Object.keys(chartCache).length} charts`)\n    } catch (error) {\n      app.error(`Failed to refresh charts: ${error.message}`)\n    }\n  }\n\n  return plugin\n}\n```\n\n### Client Subscription\n\nClients can subscribe to resource changes via WebSocket:\n\n```javascript\n{\n  \"context\": \"resources.*\",\n  \"subscribe\": [\n    {\n      \"path\": \"charts.*\",\n      \"policy\": \"instant\"\n    }\n  ]\n}\n```\n\nWhen resources change, clients receive delta messages:\n\n```json\n{\n  \"context\": \"resources\",\n  \"updates\": [{\n    \"values\": [{\n      \"path\": \"charts.myChart\",\n      \"value\": {\n        \"name\": \"My Chart\",\n        \"description\": \"Chart description\",\n        ...\n      }\n    }]\n  }]\n}\n```\n\nFor deletions, `value` is `null`:\n\n```json\n{\n  \"context\": \"resources\",\n  \"updates\": [\n    {\n      \"values\": [\n        {\n          \"path\": \"charts.myChart\",\n          \"value\": null\n        }\n      ]\n    }\n  ]\n}\n```\n\n### Reference Implementation\n\nThe [signalk-charts-provider-simple](https://github.com/dirkwa/signalk-charts-provider-simple) plugin provides a complete working example of this pattern.\n"
  },
  {
    "path": "docs/develop/plugins/wasm/README.md",
    "content": "---\ntitle: WASM Plugins\nchildren:\n  - assemblyscript.md\n  - rust.md\n  - go.md\n  - http_endpoints.md\n  - deltas.md\n  - capabilities.md\n  - best_practices.md\n  - integration_guide.md\n---\n\n# WASM Plugin Development Guide\n\n## Overview\n\nThis guide covers how to develop WASM/WASIX plugins for Signal K Server 3.0. WASM plugins run in a secure sandbox with isolated storage and capability-based permissions.\n\n## What Makes a WASM Plugin?\n\nA WASM plugin is an npm package that contains the WASM code for the plugin instead of the traditional JavaScript code. A WASM plugin is identified by the `signalk-wasm-plugin` keyword in package.json and the **`wasmManifest`** field in `package.json`:\n\n```json\n{\n  \"name\": \"my-plugin-name\",\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": { ... }\n}\n```\n\n**Key points:**\n\n- **`wasmManifest`** (required): Path to the compiled `.wasm` file. This field tells Signal K to load this as a WASM plugin instead of a Node.js plugin.\n- **`wasmCapabilities`** (required): Declares what permissions the plugin needs (network, storage, etc.)\n- **Package name** (flexible): Can be anything - `my-plugin`, `@myorg/my-plugin`, etc. There is **no requirement** to use `@signalk/` scope.\n- **Keywords**: Include `signalk-wasm-plugin` for discovery (do **not** use `signalk-node-server-plugin` - that's for Node.js plugins only)\n\n## Language Options\n\nSignal K Server supports multiple languages for WASM plugin development:\n\n- **AssemblyScript** - TypeScript-like syntax, easiest for JS/TS developers, smallest binaries (3-10 KB)\n- **Rust** - Best performance and tooling, medium binaries (50-200 KB)\n- **Go/TinyGo** - Go via TinyGo compiler, medium binaries (50-150 KB)\n\n## Why WASM Plugins?\n\n### Benefits\n\n- **Security**: Sandboxed execution with no access to host system\n- **Hot-reload**: Update plugins without server restart\n- **Multi-language**: Write plugins in Rust, AssemblyScript, and more\n- **Crash isolation**: Plugin crashes don't affect server\n- **Performance**: Near-native performance with WASM\n- **Self contained**: WASM plugins do not install any additional dependencies\n- **Small binaries (compared to native options)**: 3-200 KB depending on language\n\n### Current Capabilities\n\n- **Delta Emission**: Send SignalK deltas to update vessel data\n- **Status & Error Reporting**: Set plugin status and error messages\n- **Configuration**: The same JSON schema-based configuration as JS plugins\n- **Data Storage**: VFS-isolated file storage\n- **HTTP Endpoints**: Register custom REST API endpoints\n- **Static Files**: Serve web UI from `public/` directory\n- **Network Access**: HTTP requests via as-fetch (AssemblyScript)\n- **Resource Providers**: Serve SignalK resources\n- **Weather Providers**: Integrate with Signal K Weather API\n- **Radar Providers**: Integrate with Signal K Radar API\n\n## Choose Your Language\n\n### AssemblyScript - Recommended for JS/TS Developers\n\n**Best for:**\n\n- Quick prototypes\n- Simple data processing\n- Migrating existing Node.js plugins\n- Developers familiar with TypeScript\n\n**Pros:**\n\n- TypeScript-like syntax\n- Fast development\n- Smallest binaries (3-10 KB)\n- Familiar tooling (npm)\n\n**Cons:**\n\n- Smaller ecosystem than Rust\n- Some TypeScript features unavailable\n- Manual memory management\n\n**[Jump to AssemblyScript Guide](./assemblyscript.md)**\n\n### Rust - Recommended for Performance-Critical Plugins\n\n**Best for:**\n\n- Performance-critical plugins\n- Complex algorithms\n- Low-level operations\n- Production plugins\n\n**Pros:**\n\n- Best performance\n- Memory safety\n- Rich ecosystem\n- Strong typing\n\n**Cons:**\n\n- Steeper learning curve\n- Longer compile times\n- Larger binaries (50-200 KB)\n\n**[Jump to Rust Guide](./rust.md)**\n\n### Go/TinyGo - For Go Developers\n\n**Best for:**\n\n- Go developers wanting to write plugins\n- Medium complexity plugins\n- Resource providers with hybrid patterns\n\n**Pros:**\n\n- Familiar Go syntax\n- Good standard library support\n- Medium binaries (50-150 KB)\n- Strong typing\n\n**Cons:**\n\n- Requires TinyGo (not standard Go)\n- Some Go features unavailable\n- Slower than Rust\n\n**[Jump to Go/TinyGo Guide](./go.md)**\n"
  },
  {
    "path": "docs/develop/plugins/wasm/assemblyscript.md",
    "content": "---\ntitle: AssemblyScript Plugins\n---\n\n# Creating AssemblyScript Plugins\n\nAssemblyScript is the recommended language for developers familiar with TypeScript. It produces the smallest binaries (3-10 KB) and has the fastest development cycle.\n\n## Step 1: Install SDK\n\n```bash\nnpm install @signalk/assemblyscript-plugin-sdk\nnpm install --save-dev assemblyscript\n```\n\n## Step 2: Create Plugin File\n\nCreate `assembly/index.ts`:\n\n```typescript\nimport {\n  Plugin,\n  Delta,\n  Update,\n  PathValue,\n  emit,\n  setStatus\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\nclass MyPlugin extends Plugin {\n  name(): string {\n    return 'My AssemblyScript Plugin'\n  }\n\n  schema(): string {\n    return `{\n      \"type\": \"object\",\n      \"properties\": {\n        \"updateRate\": {\n          \"type\": \"number\",\n          \"default\": 1000\n        }\n      }\n    }`\n  }\n\n  start(config: string): i32 {\n    setStatus('Started')\n\n    // Emit a test delta\n    const pathValue = new PathValue('test.value', '\"hello\"')\n    const update = new Update([pathValue])\n    const delta = new Delta('vessels.self', [update])\n    emit(delta)\n\n    return 0 // Success\n  }\n\n  stop(): i32 {\n    setStatus('Stopped')\n    return 0\n  }\n}\n\n// Export for Signal K\nconst plugin = new MyPlugin()\nexport function plugin_name(): string {\n  return plugin.name()\n}\nexport function plugin_schema(): string {\n  return plugin.schema()\n}\nexport function plugin_start(configPtr: usize, configLen: usize): i32 {\n  const configBytes = new Uint8Array(configLen)\n  for (let i = 0; i < configLen; i++) {\n    configBytes[i] = load<u8>(configPtr + i)\n  }\n  const configJson = String.UTF8.decode(configBytes.buffer)\n  return plugin.start(configJson)\n}\nexport function plugin_stop(): i32 {\n  return plugin.stop()\n}\n```\n\n**Note on Plugin IDs:** The plugin ID is automatically derived from your `package.json` name. For example:\n\n- `@signalk/example-weather-plugin` → `_signalk_example-weather-plugin`\n- `my-simple-plugin` → `my-simple-plugin`\n\nThis ensures unique plugin IDs (npm guarantees package name uniqueness) and eliminates discrepancies between package name and plugin ID.\n\n## Step 3: Configure Build\n\nCreate `asconfig.json`:\n\n```json\n{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"plugin.wasm\",\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"incremental\",\n      \"exportRuntime\": true\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"incremental\",\n      \"exportRuntime\": true\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\"\n  }\n}\n```\n\n**Important**: `exportRuntime: true` is **required** for the AssemblyScript loader to work. This exports runtime helper functions like `__newString` and `__getString` that the server uses for automatic string conversions.\n\n## Step 4: Build\n\n```bash\nnpx asc assembly/index.ts --target release\n```\n\n## Step 5: Create package.json\n\n```json\n{\n  \"name\": \"my-wasm-plugin\",\n  \"version\": \"0.1.0\",\n  \"keywords\": [\"signalk-wasm-plugin\"],\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"storage\": \"vfs-only\"\n  }\n}\n```\n\n> **Important: What makes a WASM plugin?**\n>\n> The **`wasmManifest`** field is the key identifier that tells Signal K this is a WASM plugin (not a Node.js plugin). It must point to your compiled `.wasm` file.\n>\n> The package **name can be anything** - scoped (`@myorg/my-plugin`) or unscoped (`my-wasm-plugin`). Choose a name that makes sense for your plugin and avoids conflicts on npm.\n\n## Step 6: Test Install\n\n**Option 1: Symlink (Recommended for Development)**\n\nSymlinking your plugin directory allows you to make changes and rebuild without copying files:\n\n```bash\n# From your Signal K node_modules directory\ncd ~/.signalk/node_modules\nln -s /path/to/your/my-wasm-plugin my-wasm-plugin\n\n# Now any changes you make and rebuild will be picked up on server restart\n```\n\n**Option 2: Direct Copy**\n\n```bash\nmkdir -p ~/.signalk/node_modules/my-wasm-plugin\ncp plugin.wasm package.json ~/.signalk/node_modules/my-wasm-plugin/\n\n# If your plugin has a public/ folder with web UI:\ncp -r public ~/.signalk/node_modules/my-wasm-plugin/\n```\n\n**Option 3: NPM Package Install**\n\n```bash\n# If you've packaged with `npm pack`\nnpm install -g ./my-wasm-plugin-1.0.0.tgz\n\n# Or install from npm registry (if published)\nnpm install -g my-wasm-plugin\n```\n\n**Note**: Symlinking is the most efficient method for development - changes are picked up on server restart without copying files. Use npm install for production deployments or when distributing plugins.\n\n**Important**: If your plugin includes static files (like a web UI in the `public/` folder), make sure to copy that folder as well. Static files are automatically served at `/plugins/your-plugin-id/` when the plugin is loaded.\n\n## Step 7: Verify Plugin Configuration in Admin UI\n\nAfter installing your plugin, verify it appears in the Admin UI:\n\n1. **Navigate to Plugin Configuration**: Open the Admin UI at `http://your-server:3000/admin/` and go to **Server → Plugin Config**\n\n2. **Check Plugin List**: Your WASM plugin should appear in the list with:\n   - Plugin name (from `name()` export)\n   - Version (from `package.json`)\n   - Enable/Disable toggle\n   - Configuration form (based on `schema()` export)\n\n3. **Verify Configuration Persistence**:\n   - Configuration is saved to `~/.signalk/plugin-config-data/your-plugin-id.json`\n   - Changes are applied immediately (plugin restarts automatically)\n   - The file structure is:\n     ```json\n     {\n       \"enabled\": true,\n       \"enableDebug\": false,\n       \"configuration\": {\n         \"updateRate\": 1000\n       }\n     }\n     ```\n\n4. **Troubleshooting**:\n   - If plugin doesn't appear: Check `package.json` has the `signalk-wasm-plugin` keyword and `wasmManifest` field\n   - If configuration form is empty: Verify `schema()` export returns valid JSON Schema\n   - If settings don't persist: Check file permissions on `~/.signalk/plugin-config-data/`\n\n**Important**: The Admin UI shows all plugins (both Node.js and WASM) in a unified list. WASM plugins integrate seamlessly with the existing plugin configuration system.\n\n## API Reference\n\n### Base Classes\n\n#### `Plugin`\n\nAbstract base class for all plugins.\n\n**Methods to implement:**\n\n- `id(): string` - Unique plugin identifier\n- `name(): string` - Human-readable name\n- `schema(): string` - JSON schema for configuration\n- `start(config: string): i32` - Initialize plugin\n- `stop(): i32` - Clean shutdown\n\n### Signal K Types\n\n#### `Delta`\n\nRepresents a Signal K delta message.\n\n```typescript\nconst delta = new Delta('vessels.self', [update])\n```\n\n#### `Update`\n\nRepresents an update within a delta. The server automatically adds `$source` and `timestamp`.\n\n```typescript\nconst update = new Update([pathValue])\n```\n\n#### `PathValue`\n\nRepresents a path-value pair.\n\n```typescript\nconst pathValue = new PathValue('navigation.position', positionJson)\n```\n\n#### `Position`\n\nGPS position with latitude/longitude.\n\n```typescript\nconst pos = new Position(60.1, 24.9)\nconst posJson = pos.toJSON()\n```\n\n#### `Notification`\n\nSignal K notification.\n\n```typescript\nconst notif = new Notification(NotificationState.normal, 'Hello!')\nconst notifJson = notif.toJSON()\n```\n\n### API Functions\n\n#### `emit(delta: Delta): void`\n\nEmit a delta message to Signal K server.\n\n```typescript\nemit(delta)\n```\n\n**Requires capability:** `dataWrite: true`\n\n#### `setStatus(message: string): void`\n\nSet plugin status (shown in admin UI).\n\n```typescript\nsetStatus('Running normally')\n```\n\n#### `setError(message: string): void`\n\nReport an error (shown in admin UI).\n\n```typescript\nsetError('Sensor connection failed')\n```\n\n#### `debug(message: string): void`\n\nLog debug message to server logs.\n\n```typescript\ndebug('Processing data: ' + value.toString())\n```\n\n#### `getSelfPath(path: string): string | null`\n\nRead data from vessel.self.\n\n```typescript\nconst speedJson = getSelfPath('navigation.speedOverGround')\nif (speedJson !== null) {\n  const speed = parseFloat(speedJson)\n}\n```\n\n**Requires capability:** `dataRead: true`\n\n#### `getPath(path: string): string | null`\n\nRead data from any context.\n\n```typescript\nconst posJson = getPath('vessels.self.navigation.position')\n```\n\n**Requires capability:** `dataRead: true`\n\n#### `readConfig(): string`\n\nRead plugin configuration.\n\n```typescript\nconst configJson = readConfig()\n```\n\n#### `saveConfig(configJson: string): i32`\n\nSave plugin configuration.\n\n```typescript\nconst result = saveConfig(JSON.stringify(config))\nif (result !== 0) {\n  setError('Failed to save config')\n}\n```\n\n### Helper Functions\n\n```typescript\nimport {\n  createSimpleDelta,\n  getCurrentTimestamp\n} from '@signalk/assemblyscript-plugin-sdk'\n\n// Quick delta creation\nconst delta = createSimpleDelta('my-plugin', 'test.value', '\"hello\"')\nemit(delta)\n```\n\n### JSON Parsing\n\nThe SDK includes [assemblyscript-json](https://github.com/near/assemblyscript-json) for parsing JSON data. This is useful when working with configuration, API responses, or resource provider requests.\n\n```typescript\nimport { JSON } from '@signalk/assemblyscript-plugin-sdk/assembly'\n\n// Parse a JSON string\nconst jsonStr = '{\"name\": \"My Boat\", \"speed\": 5.2}'\nconst parsed = JSON.parse(jsonStr)\n\nif (parsed.isObj) {\n  const obj = parsed as JSON.Obj\n\n  // Get string values\n  const nameValue = obj.getString('name')\n  if (nameValue !== null) {\n    const name = nameValue.valueOf() // \"My Boat\"\n  }\n\n  // Get number values\n  const speedValue = obj.getNum('speed')\n  if (speedValue !== null) {\n    const speed = speedValue.valueOf() // 5.2 (as f64)\n  }\n}\n```\n\n**Available methods on `JSON.Obj`:**\n\n- `getString(key)` - Returns `JSON.Str | null`\n- `getNum(key)` - Returns `JSON.Num | null`\n- `getBool(key)` - Returns `JSON.Bool | null`\n- `getObj(key)` - Returns `JSON.Obj | null`\n- `getArr(key)` - Returns `JSON.Arr | null`\n- `getValue(key)` - Returns `JSON.Value | null`\n\n**Note:** Plugins using resource providers or parsing complex JSON should add `assemblyscript-json` to their dependencies:\n\n```bash\nnpm install assemblyscript-json\n```\n\n### JSON Value Encoding\n\nValues must be JSON-encoded strings:\n\n```typescript\n// Numbers\nconst pathValue = new PathValue('temperature', '25.5')\n\n// Strings (note the quotes)\nconst pathValue = new PathValue('name', '\"My Boat\"')\n\n// Objects\nconst pathValue = new PathValue(\n  'position',\n  '{\"latitude\":60.1,\"longitude\":24.9}'\n)\n\n// Use helper classes\nconst pos = new Position(60.1, 24.9)\nconst pathValue = new PathValue('position', pos.toJSON())\n```\n\n## Resource Providers\n\nWASM plugins can register as **resource providers** to serve data via the Signal K REST API.\n\n### Setup\n\n1. Add capability to `package.json`:\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"resourceProvider\": true\n  }\n}\n```\n\n2. Register in your plugin's `start()`:\n\n```typescript\nimport {\n  registerResourceProvider,\n  ResourceGetRequest\n} from '@signalk/assemblyscript-plugin-sdk/assembly/resources'\n\nstart(config: string): i32 {\n  if (registerResourceProvider('weather')) {\n    debug('Registered as weather resource provider')\n  }\n  return 0\n}\n```\n\n3. Export handler functions:\n\n```typescript\n// List all resources - GET /signalk/v2/api/resources/weather\nexport function resources_list_resources(queryJson: string): string {\n  return '{\"current\":' + cachedData.toJSON() + '}'\n}\n\n// Get specific resource - GET /signalk/v2/api/resources/weather/{id}\nexport function resources_get_resource(requestJson: string): string {\n  const req = ResourceGetRequest.parse(requestJson)\n  if (req.id === 'current') {\n    return cachedData.toJSON()\n  }\n  return '{\"error\":\"Not found\"}'\n}\n```\n\n### API Access\n\nOnce registered, your resources are available at:\n\n```bash\ncurl http://localhost:3000/signalk/v2/api/resources/weather\ncurl http://localhost:3000/signalk/v2/api/resources/weather/current\n```\n\n## Network Requests with Asyncify\n\nAssemblyScript plugins can make HTTP requests using the `as-fetch` library with Asyncify support.\n\n### Setup\n\n1. Add dependencies:\n\n```bash\nnpm install as-fetch @signalk/assemblyscript-plugin-sdk\n```\n\n2. Enable the Asyncify transform in `asconfig.json`:\n\n```json\n{\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n```\n\n3. Declare network capability in `package.json`:\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"network\": true\n  }\n}\n```\n\n### Making Requests\n\n```typescript\nimport { fetchSync } from 'as-fetch/sync'\n\nconst response = fetchSync('https://api.example.com/data')\n\nif (response && response.status === 200) {\n  const data = response.text()\n  // Process data...\n}\n```\n\n### How Asyncify Works\n\nAsyncify enables synchronous-style async code in WASM:\n\n1. WASM execution pauses when `fetchSync()` is called\n2. HTTP request happens in JavaScript\n3. When response arrives, WASM execution resumes\n4. Your code continues with the response\n\nThe Signal K runtime handles all state transitions automatically.\n\n### Troubleshooting Network Requests\n\n**fetchSync hangs or doesn't work:**\n\n- Ensure `\"transform\": [\"as-fetch/transform\"]` is in `asconfig.json`\n- Use correct import: `import { fetchSync } from 'as-fetch/sync'`\n- Verify `\"network\": true` in `wasmCapabilities`\n\n**Request fails:**\n\n- Check Node.js version >= 18 (required for native fetch)\n- Verify the URL is accessible\n- Check API keys/authentication\n\nSee the [example-weather-plugin](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-weather-plugin) for a complete implementation.\n\n## AssemblyScript Limitations\n\nAssemblyScript is a **strict subset** of TypeScript. Notable differences:\n\n- No `any` type\n- No union types (use tagged enums)\n- No dynamic arrays (use fixed-size or manual memory)\n- No standard library (console, setTimeout, etc.)\n- Manual memory management\n\nSee [AssemblyScript documentation](https://www.assemblyscript.org/) for details.\n\n## Troubleshooting\n\n### Plugin doesn't load\n\nCheck that:\n\n- `wasmManifest` points to correct file\n- `signalk-wasm-plugin` keyword is present\n- WASM binary is valid: `file plugin.wasm`\n\n### Compilation errors\n\nCommon issues:\n\n- Using disallowed TypeScript features\n- Missing type annotations\n- Incorrect memory operations\n\n### Runtime errors\n\nCheck server logs:\n\n```bash\nDEBUG=signalk:wasm:* npm start\n```\n\n## Additional Resources\n\n- [AssemblyScript Documentation](https://www.assemblyscript.org/)\n- [Example Plugins](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins)\n"
  },
  {
    "path": "docs/develop/plugins/wasm/best_practices.md",
    "content": "---\ntitle: Best Practices for WASM Plugins\n---\n\n# Best Practices for WASM Plugins\n\n## Hot Reload\n\nWASM plugins support hot-reload without server restart:\n\n### Manual Reload\n\n1. Build new WASM binary: `cargo build --target wasm32-wasip1 --release`\n2. Copy to plugin directory: `cp target/wasm32-wasip1/release/*.wasm ~/.signalk/...`\n3. In Admin UI: **Server** → **Plugin Config** → Click **Reload** button\n\n### Reload Behavior\n\nDuring reload:\n\n- `stop()` is called on old instance\n- Subscriptions are preserved\n- Deltas are buffered (not lost)\n- New instance is loaded\n- `start()` is called with saved config\n- Buffered deltas are replayed\n\n## Error Handling\n\n### Crash Recovery\n\nIf a WASM plugin crashes:\n\n1. **First crash**: Automatic restart after 1 second\n2. **Second crash**: Restart after 2 seconds\n3. **Third crash**: Restart after 4 seconds\n4. **After 3 crashes**: Plugin disabled, admin notification\n\n### Error Reporting\n\nReport errors to admin UI:\n\n```rust\nfn handle_error(err: &str) {\n    sk_set_error(&format!(\"Error: {}\", err));\n}\n```\n\n## Optimization\n\n### 1. Minimize Binary Size\n\n```toml\n[profile.release]\nopt-level = \"z\"     # Optimize for size\nlto = true          # Enable link-time optimization\nstrip = true        # Strip debug symbols\n```\n\nUse `wasm-opt` for further optimization:\n\n```bash\nwasm-opt -Oz plugin.wasm -o plugin.wasm\n```\n\n### 2. Handle Errors Gracefully\n\n```rust\nfn start(config_ptr: *const u8, config_len: usize) -> i32 {\n    match initialize_plugin(config_ptr, config_len) {\n        Ok(_) => {\n            sk_set_status(\"Started\");\n            0 // Success\n        }\n        Err(e) => {\n            sk_set_error(&format!(\"Failed to start: {}\", e));\n            1 // Error\n        }\n    }\n}\n```\n\n### 3. Use Efficient JSON Parsing\n\n```rust\nuse serde::{Deserialize, Serialize};\n\n#[derive(Deserialize)]\nstruct Config {\n    #[serde(default)]\n    enabled: bool,\n}\n\nfn parse_config(json: &str) -> Result<Config, serde_json::Error> {\n    serde_json::from_str(json)\n}\n```\n\n### 4. Limit Memory Usage\n\n- Avoid large allocations\n- Clear buffers after use\n- Use streaming for large data\n\n### WASM Memory Limitations\n\nWASM plugins running in Node.js have **~64KB buffer limitations** for stdin/stdout operations. This is a fundamental limitation of the Node.js WASI implementation, not a Signal K restriction.\n\n**Impact:**\n\n- Small JSON responses (< 64KB): Work fine in pure WASM\n- Medium data (64KB - 1MB): May freeze or fail\n- Large data (> 1MB): Will fail or freeze the server\n\n**Hybrid Architecture Pattern**\n\nFor plugins that need to handle large data volumes (logs, file streaming, large JSON responses), use a **hybrid approach**:\n\n- **WASM Plugin**: Registers HTTP endpoints and provides configuration UI\n- **Node.js Handler**: Server intercepts specific endpoints and handles I/O directly in Node.js\n- **Result**: Can handle unlimited data without memory constraints\n\nUse this pattern when your plugin needs to:\n\n- Return large JSON responses (> 64KB)\n- Process large file uploads\n- Handle streaming data\n\n### 5. Provide Good UX\n\n- Clear status messages\n- Descriptive error messages\n- Comprehensive JSON schema for configuration\n\n## Debugging\n\n### Logging\n\n```rust\nfn debug_log(message: &str) {\n    unsafe {\n        sk_debug(message.as_ptr(), message.len());\n    }\n}\n```\n\n### Testing Locally\n\n1. Build with debug symbols: `cargo build --target wasm32-wasip1`\n2. Use `wasmtime` for local testing:\n\n```bash\nwasmtime --dir /tmp::/ plugin.wasm\n```\n\n### Enable Server Debug Logging\n\n```bash\n# Linux/macOS\nDEBUG=signalk:wasm:* signalk-server\n```\n\n### Common Issues\n\n**Issue**: Plugin doesn't load\n**Solution**: Check `wasmManifest` path in package.json\n\n**Issue**: Capability errors\n**Solution**: Ensure required capabilities declared in package.json\n\n**Issue**: Crashes on start\n**Solution**: Check server logs for error details\n\n## Migration from Node.js\n\n### 1. Assess Compatibility\n\nCheck if your plugin:\n\n- ✅ Processes deltas\n- ✅ Reads/writes configuration\n- ✅ Uses data model APIs\n- ✅ Registers REST endpoints\n- ❌ Uses serial ports (planned but not there yet)\n- ✅ Makes HTTP requests (via as-fetch in AssemblyScript)\n- ✅ Uses UDP/TCP sockets (rawSockets capability)\n\n### 2. Port Logic to Rust\n\nConvert TypeScript/JavaScript logic to Rust:\n\n**Before (Node.js):**\n\n```javascript\nplugin.start = function (config) {\n  app.handleMessage('my-plugin', {\n    updates: [{ values: [{ path: 'foo', value: 'bar' }] }]\n  })\n}\n```\n\n**After (WASM/Rust):**\n\n```rust\nfn start(config_ptr: *const u8, config_len: usize) -> i32 {\n    let delta = json!({\n        \"updates\": [{ \"values\": [{ \"path\": \"foo\", \"value\": \"bar\" }] }]\n    });\n    sk_emit_delta(&delta.to_string());\n    0\n}\n```\n\n### 3. Migrate Data\n\nUse migration helper to copy existing data to VFS:\n\n```rust\nfn first_run_migration() {\n    // Server provides migration API\n    // Copies files from ~/.signalk/plugin-config-data/{id}/\n    // to ~/.signalk/plugin-config-data/{id}/vfs/data/\n}\n```\n\n## Example Plugins\n\nThe following example plugins are available in the repository:\n\n- [example-hello-assemblyscript](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-hello-assemblyscript) - Minimal AssemblyScript plugin that emits a delta on start\n- [example-anchor-watch-rust](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-anchor-watch-rust) - Anchor watch plugin in Rust\n- [example-routes-waypoints](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-routes-waypoints) - Resource provider for routes and waypoints\n- [example-weather-provider](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-weather-provider) - Weather API provider implementation\n- [example-weather-plugin](https://github.com/SignalK/signalk-server/tree/master/examples/wasm-plugins/example-weather-plugin) - Weather data plugin\n"
  },
  {
    "path": "docs/develop/plugins/wasm/capabilities.md",
    "content": "---\ntitle: Plugin Capabilities\n---\n\n# Plugin Capabilities\n\n## Capability Types\n\nDeclare required capabilities in `package.json`:\n\n| Capability      | Description                              | Status                          |\n| --------------- | ---------------------------------------- | ------------------------------- |\n| `dataRead`      | Read Signal K data model                 | Supported                       |\n| `dataWrite`     | Emit delta messages                      | Supported                       |\n| `storage`       | Write to VFS (`vfs-only`)                | Supported                       |\n| `httpEndpoints` | Register custom HTTP endpoints           | Supported                       |\n| `staticFiles`   | Serve HTML/CSS/JS from `public/` folder  | Supported                       |\n| `network`       | HTTP requests (via as-fetch)             | Supported (AssemblyScript only) |\n| `putHandlers`   | Register PUT handlers for vessel control | Supported                       |\n| `rawSockets`    | UDP socket access for radar, NMEA, etc.  | Supported                       |\n| `serialPorts`   | Serial port access                       | Planned                         |\n\n## Network API (AssemblyScript)\n\nAssemblyScript plugins can make HTTP requests using the `as-fetch` library integrated into the SDK.\n\n**Requirements:**\n\n- Plugin must declare `\"network\": true` in manifest\n- Server must be running Node.js 18+ (for native fetch support)\n- Import network functions from SDK\n- Must add `\"transform\": [\"as-fetch/transform\"]` to `asconfig.json` options\n- Must set `\"exportRuntime\": true` in `asconfig.json` options\n\n**Example: HTTP GET Request**\n\n```typescript\nimport {\n  httpGet,\n  hasNetworkCapability\n} from '@signalk/assemblyscript-plugin-sdk/assembly/network'\nimport { debug, setError } from '@signalk/assemblyscript-plugin-sdk/assembly'\n\nclass MyPlugin extends Plugin {\n  start(config: string): i32 {\n    // Always check capability first\n    if (!hasNetworkCapability()) {\n      setError('Network capability not granted')\n      return 1\n    }\n\n    // Make HTTP GET request\n    const response = httpGet('https://api.example.com/data')\n    if (response === null) {\n      setError('HTTP request failed')\n      return 1\n    }\n\n    debug('Received: ' + response)\n    return 0\n  }\n}\n```\n\n**Available Network Functions:**\n\n```typescript\n// Check if network capability is granted\nhasNetworkCapability(): boolean\n\n// HTTP GET request - returns response body or null on error\nhttpGet(url: string): string | null\n\n// HTTP POST request - returns status code or -1 on error\nhttpPost(url: string, body: string): i32\n\n// HTTP POST with response - returns response body or null\nhttpPostWithResponse(url: string, body: string): string | null\n\n// HTTP PUT request - returns status code or -1 on error\nhttpPut(url: string, body: string): i32\n\n// HTTP DELETE request - returns status code or -1 on error\nhttpDelete(url: string): i32\n\n// Advanced HTTP request with full control\nhttpRequest(\n  url: string,\n  method: string,\n  body: string | null,\n  contentType: string | null\n): HttpResponse | null\n```\n\n**Build Configuration (asconfig.json):**\n\nFor plugins using network capability:\n\n```json\n{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"runtime\": \"stub\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n```\n\n**Manifest Configuration:**\n\n```json\n{\n  \"name\": \"my-plugin\",\n  \"wasmCapabilities\": {\n    \"network\": true\n  },\n  \"dependencies\": {\n    \"@signalk/assemblyscript-plugin-sdk\": \"^0.2.0\",\n    \"as-fetch\": \"^2.1.4\"\n  }\n}\n```\n\n## Raw Sockets API (UDP)\n\nThe `rawSockets` capability enables direct UDP socket access for plugins that need to communicate with devices like:\n\n- Marine radars (Navico, Raymarine, Furuno, Garmin)\n- NMEA 0183 over UDP\n- AIS receivers\n- Other marine electronics using UDP multicast\n\n**Requirements:**\n\n- Plugin must declare `\"rawSockets\": true` in manifest\n- Sockets are non-blocking (poll-based receive)\n- Automatic cleanup when plugin stops\n\n**Manifest Configuration:**\n\n```json\n{\n  \"name\": \"my-radar-plugin\",\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"rawSockets\": true,\n    \"dataWrite\": true\n  }\n}\n```\n\n**FFI Functions Available:**\n\n| Function                        | Signature                                                              | Description                                             |\n| ------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------- |\n| `sk_udp_create`                 | `(type: i32) -> i32`                                                   | Create socket (0=udp4, 1=udp6). Returns socket_id or -1 |\n| `sk_udp_bind`                   | `(socket_id, port) -> i32`                                             | Bind to port (0=any). Returns 0 or -1                   |\n| `sk_udp_join_multicast`         | `(socket_id, addr_ptr, addr_len, iface_ptr, iface_len) -> i32`         | Join multicast group                                    |\n| `sk_udp_leave_multicast`        | `(socket_id, addr_ptr, addr_len, iface_ptr, iface_len) -> i32`         | Leave multicast group                                   |\n| `sk_udp_set_multicast_ttl`      | `(socket_id, ttl) -> i32`                                              | Set multicast TTL                                       |\n| `sk_udp_set_multicast_loopback` | `(socket_id, enabled) -> i32`                                          | Enable/disable loopback                                 |\n| `sk_udp_set_broadcast`          | `(socket_id, enabled) -> i32`                                          | Enable/disable broadcast                                |\n| `sk_udp_send`                   | `(socket_id, addr_ptr, addr_len, port, data_ptr, data_len) -> i32`     | Send datagram                                           |\n| `sk_udp_recv`                   | `(socket_id, buf_ptr, buf_max_len, addr_out_ptr, port_out_ptr) -> i32` | Receive datagram (non-blocking)                         |\n| `sk_udp_pending`                | `(socket_id) -> i32`                                                   | Get number of buffered datagrams                        |\n| `sk_udp_close`                  | `(socket_id) -> void`                                                  | Close socket                                            |\n\n**Rust Example:**\n\n```rust\n#[link(wasm_import_module = \"env\")]\nextern \"C\" {\n    fn sk_udp_create(socket_type: i32) -> i32;\n    fn sk_udp_bind(socket_id: i32, port: u16) -> i32;\n    fn sk_udp_join_multicast(\n        socket_id: i32,\n        addr_ptr: *const u8, addr_len: usize,\n        iface_ptr: *const u8, iface_len: usize\n    ) -> i32;\n    fn sk_udp_recv(\n        socket_id: i32,\n        buf_ptr: *mut u8, buf_max_len: usize,\n        addr_out_ptr: *mut u8, port_out_ptr: *mut u16\n    ) -> i32;\n    fn sk_udp_close(socket_id: i32);\n}\n\n// Example: Radar discovery\nfn start_radar_locator() -> i32 {\n    // Create UDP socket\n    let socket_id = unsafe { sk_udp_create(0) }; // udp4\n    if socket_id < 0 {\n        return -1;\n    }\n\n    // Bind to radar discovery port\n    if unsafe { sk_udp_bind(socket_id, 6878) } < 0 {\n        return -1;\n    }\n\n    // Join radar multicast group\n    let group = \"239.254.2.0\";\n    let iface = \"\";\n    if unsafe { sk_udp_join_multicast(socket_id, group.as_ptr(), group.len(), iface.as_ptr(), iface.len()) } < 0 {\n        return -1;\n    }\n\n    socket_id\n}\n```\n\n**Important Notes:**\n\n- Receive is non-blocking - returns 0 if no data available\n- Incoming datagrams are buffered (max 1000 per socket)\n- Oldest datagrams are dropped if buffer is full\n- All sockets are automatically closed when plugin stops\n- Use `sk_udp_pending()` to check if data is available before calling `sk_udp_recv()`\n\n## Raw Sockets API (TCP)\n\nThe `rawSockets` capability also enables TCP socket access for plugins that need persistent connections to devices:\n\n- Marine radars with TCP control (Furuno, Garmin)\n- Devices requiring handshake/login protocols\n- Any marine electronics using TCP\n\nTCP sockets support both **line-buffered mode** (for text protocols with `\\r\\n` terminators) and **raw mode** (for binary protocols).\n\n**FFI Functions Available:**\n\n| Function                    | Signature                                      | Description                                                  |\n| --------------------------- | ---------------------------------------------- | ------------------------------------------------------------ |\n| `sk_tcp_create`             | `() -> i32`                                    | Create TCP socket. Returns socket_id or -1                   |\n| `sk_tcp_connect`            | `(socket_id, addr_ptr, addr_len, port) -> i32` | Initiate connection (non-blocking). Returns 0 or -1          |\n| `sk_tcp_connected`          | `(socket_id) -> i32`                           | Check connection status. Returns 1 if connected, 0 otherwise |\n| `sk_tcp_set_line_buffering` | `(socket_id, enabled) -> i32`                  | Set buffering mode (1=line, 0=raw). Default: line            |\n| `sk_tcp_send`               | `(socket_id, data_ptr, data_len) -> i32`       | Send data. Returns bytes sent or -1                          |\n| `sk_tcp_recv_line`          | `(socket_id, buf_ptr, buf_max_len) -> i32`     | Receive complete line (line mode). Returns len or 0          |\n| `sk_tcp_recv_raw`           | `(socket_id, buf_ptr, buf_max_len) -> i32`     | Receive raw data (raw mode). Returns len or 0                |\n| `sk_tcp_pending`            | `(socket_id) -> i32`                           | Get buffered item count                                      |\n| `sk_tcp_close`              | `(socket_id) -> void`                          | Close socket                                                 |\n\n**Rust Example:**\n\n```rust\n#[link(wasm_import_module = \"env\")]\nextern \"C\" {\n    fn sk_tcp_create() -> i32;\n    fn sk_tcp_connect(socket_id: i32, addr_ptr: *const u8, addr_len: usize, port: u16) -> i32;\n    fn sk_tcp_connected(socket_id: i32) -> i32;\n    fn sk_tcp_set_line_buffering(socket_id: i32, enabled: i32) -> i32;\n    fn sk_tcp_send(socket_id: i32, data_ptr: *const u8, data_len: usize) -> i32;\n    fn sk_tcp_recv_line(socket_id: i32, buf_ptr: *mut u8, buf_max_len: usize) -> i32;\n    fn sk_tcp_recv_raw(socket_id: i32, buf_ptr: *mut u8, buf_max_len: usize) -> i32;\n    fn sk_tcp_pending(socket_id: i32) -> i32;\n    fn sk_tcp_close(socket_id: i32);\n}\n\n// Example: Furuno radar control connection\nfn connect_furuno_radar(ip: &str, port: u16) -> i32 {\n    // Create TCP socket\n    let socket_id = unsafe { sk_tcp_create() };\n    if socket_id < 0 {\n        return -1;\n    }\n\n    // Initiate connection (non-blocking)\n    if unsafe { sk_tcp_connect(socket_id, ip.as_ptr(), ip.len(), port) } < 0 {\n        return -1;\n    }\n\n    socket_id\n}\n\nfn poll_connection(socket_id: i32) {\n    // Check if connected\n    if unsafe { sk_tcp_connected(socket_id) } != 1 {\n        return; // Still connecting\n    }\n\n    // Send command with \\r\\n terminator\n    let cmd = \"$S69,2,0,0,60,300,0\\r\\n\";\n    unsafe { sk_tcp_send(socket_id, cmd.as_ptr(), cmd.len()) };\n\n    // Receive response line\n    let mut buf = [0u8; 256];\n    let len = unsafe { sk_tcp_recv_line(socket_id, buf.as_mut_ptr(), buf.len()) };\n    if len > 0 {\n        // Process response\n    }\n}\n```\n\n**Important Notes:**\n\n- Connection is non-blocking - poll `sk_tcp_connected()` until connected\n- Line-buffered mode (default) splits incoming data on `\\r\\n` or `\\n`\n- Raw mode returns data as it arrives (for binary protocols)\n- Use `sk_tcp_pending()` to check if data is available\n- All sockets are automatically closed when plugin stops\n\n## PUT Handlers API\n\nWASM plugins can register PUT handlers to respond to PUT requests from clients, enabling vessel control and configuration management.\n\n**Requirements:**\n\n- Plugin must declare `\"putHandlers\": true` in manifest\n- Import PUT handler functions from FFI\n- Register handlers during `plugin_start()`\n- Export handler functions with correct naming convention\n\n**Manifest Configuration:**\n\n```json\n{\n  \"name\": \"my-plugin\",\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"putHandlers\": true\n  }\n}\n```\n\n**Handler Naming Convention:**\n\n**Format:** `handle_put_{context}_{path}`\n\n- Replace all dots (`.`) with underscores (`_`)\n- Convert to lowercase (recommended)\n\n**Examples:**\n\n| Context        | Path                                    | Handler Function Name                                           |\n| -------------- | --------------------------------------- | --------------------------------------------------------------- |\n| `vessels.self` | `navigation.anchor.position`            | `handle_put_vessels_self_navigation_anchor_position`            |\n| `vessels.self` | `steering.autopilot.target.headingTrue` | `handle_put_vessels_self_steering_autopilot_target_headingTrue` |\n\n**Response Format:**\n\n```json\n{\n  \"state\": \"COMPLETED\",\n  \"statusCode\": 200,\n  \"message\": \"Operation successful\"\n}\n```\n\n- `state` - Request state: `COMPLETED` or `PENDING`\n- `statusCode` - HTTP status code (200, 400, 403, 500, 501)\n- `message` - Human-readable message (optional)\n\n## Storage API\n\nPlugins have access to isolated virtual filesystem:\n\n```rust\nuse std::fs;\n\nfn save_state() {\n    // Plugin sees \"/\" as its VFS root\n    fs::write(\"/data/state.json\", state_json).unwrap();\n}\n\nfn load_state() -> String {\n    fs::read_to_string(\"/data/state.json\").unwrap_or_default()\n}\n```\n\n**VFS Structure:**\n\n```\n/ (VFS root)\n├── data/      # Persistent storage\n├── config/    # Plugin-managed config\n└── tmp/       # Temporary files\n```\n\n## Delta Emission\n\nEmit delta messages to update Signal K data:\n\n```rust\nfn emit_position_delta() {\n    let delta = r#\"{\n        \"context\": \"vessels.self\",\n        \"updates\": [{\n            \"source\": {\n                \"label\": \"example-wasm\",\n                \"type\": \"plugin\"\n            },\n            \"timestamp\": \"2025-12-01T10:00:00.000Z\",\n            \"values\": [{\n                \"path\": \"navigation.position\",\n                \"value\": {\n                    \"latitude\": 60.1,\n                    \"longitude\": 24.9\n                }\n            }]\n        }]\n    }\"#;\n\n    handle_message(&delta);\n}\n```\n"
  },
  {
    "path": "docs/develop/plugins/wasm/deltas.md",
    "content": "---\ntitle: Deltas\n---\n\n# Working with Signal K Deltas\n\nWASM plugins can both **emit** and **receive** Signal K deltas. This page covers both directions.\n\n## Emitting Deltas\n\nUse the `emit()` function to send delta messages to the Signal K server:\n\n```typescript\nimport {\n  emit,\n  createSimpleDelta,\n  SK_VERSION_V1,\n  SK_VERSION_V2\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\n// Emit a v1 delta (default - for regular navigation data)\nconst tempDelta = createSimpleDelta('environment.outside.temperature', '288.15')\nemit(tempDelta)\n\n// Emit a v2 delta (for Course API and v2-specific paths)\nconst courseDelta = createSimpleDelta(\n  'navigation.course.nextPoint',\n  positionJson\n)\nemit(courseDelta, SK_VERSION_V2)\n```\n\n**Note:** Plugins should NOT include `source` or `timestamp` in emitted deltas. The server automatically:\n\n- Sets `$source` to the plugin ID\n- Fills in `timestamp` with the current time\n\n### Signal K v1 vs v2 Deltas\n\nThe `emit()` function accepts an optional second parameter to specify the Signal K version:\n\n| Version      | Constant        | Use Case                                                                                   |\n| ------------ | --------------- | ------------------------------------------------------------------------------------------ |\n| v1 (default) | `SK_VERSION_V1` | Regular navigation data: `navigation.*`, `environment.*`, `electrical.*`, etc.             |\n| v2           | `SK_VERSION_V2` | Course API paths and v2-specific data that should not be mixed into the v1 full data model |\n\n**Why does this matter?**\n\n- **v1 deltas** update the full Signal K data model and are available via the REST API and WebSocket subscriptions\n- **v2 deltas** are emitted as events for v2 API subscribers without mixing into the v1 data model\n\nMost plugins should use v1 (the default). Only use v2 when emitting Course API data or other v2-specific paths.\n\nThis mirrors the TypeScript plugin API where `handleMessage()` accepts an optional `skVersion` parameter.\n\n---\n\n## Receiving Deltas\n\nWASM plugins can subscribe to receive Signal K deltas, enabling them to react to navigation data changes, course updates, sensor readings, and other vessel data in real-time.\n\n## Implementing a Delta Handler\n\nExport a `delta_handler()` function to receive deltas:\n\n```typescript\n// assembly/index.ts\n\n// Plugin state\nlet vesselLat: f64 = 0.0\nlet vesselLon: f64 = 0.0\nlet hasPosition: bool = false\n\nexport function delta_handler(deltaJson: string): void {\n  // Check for position updates\n  if (deltaJson.indexOf('\"path\":\"navigation.position\"') >= 0) {\n    const lat = parseFloat64FromJson(deltaJson, 'latitude')\n    const lon = parseFloat64FromJson(deltaJson, 'longitude')\n\n    if (lat !== 0.0 || lon !== 0.0) {\n      vesselLat = lat\n      vesselLon = lon\n      hasPosition = true\n      debug('Position updated: ' + lat.toString() + ', ' + lon.toString())\n    }\n  }\n\n  // Check for course nextPoint\n  if (deltaJson.indexOf('\"path\":\"navigation.course.nextPoint\"') >= 0) {\n    // Extract destination coordinates and perform calculations\n    // ...\n  }\n\n  // Check for speedOverGround\n  if (deltaJson.indexOf('\"navigation.speedOverGround\"') >= 0) {\n    const speed = parseFloat64FromJson(deltaJson, 'value')\n    // Process speed data\n  }\n}\n\n// Helper function to parse float from JSON\nfunction parseFloat64FromJson(json: string, key: string): f64 {\n  const searchKey = '\"' + key + '\":'\n  const match = json.indexOf(searchKey)\n  if (match < 0) return 0.0\n\n  let start = match + searchKey.length\n  while (\n    start < json.length &&\n    (json.charCodeAt(start) == 32 || json.charCodeAt(start) == 9)\n  ) {\n    start++\n  }\n\n  let end = start\n  while (end < json.length) {\n    const c = json.charCodeAt(end)\n    if (c == 44 || c == 125 || c == 93) break // comma, }, ]\n    end++\n  }\n\n  const numStr = json.substring(start, end).trim()\n  return parseFloat(numStr)\n}\n```\n\n## Received Delta JSON Format\n\nDeltas received by `delta_handler()` include `$source` and `timestamp` (added by the server):\n\n```json\n{\n  \"context\": \"vessels.self\",\n  \"updates\": [\n    {\n      \"$source\": \"n2k-on-ve.can-socket.43\",\n      \"timestamp\": \"2024-01-15T12:30:00.000Z\",\n      \"values\": [\n        {\n          \"path\": \"navigation.position\",\n          \"value\": { \"latitude\": -17.68, \"longitude\": 177.39 }\n        },\n        { \"path\": \"navigation.speedOverGround\", \"value\": 5.2 }\n      ]\n    }\n  ]\n}\n```\n\n## Common Use Cases\n\n1. **Course Calculations** - React to `navigation.course.nextPoint` and `navigation.position` to calculate bearing, distance, XTE\n2. **Anchor Watch** - Monitor `navigation.position` and compare to anchor position\n3. **Speed Alerts** - Watch `navigation.speedOverGround` for threshold breaches\n4. **Environment Monitoring** - Track `environment.wind.*`, `environment.water.temperature`, etc.\n\n## Detecting Cleared Values\n\nWhen values are cleared (e.g., destination removed), the server sends `null` values:\n\n```typescript\nexport function delta_handler(deltaJson: string): void {\n  if (deltaJson.indexOf('\"path\":\"navigation.course.nextPoint\"') >= 0) {\n    // Try to extract position first\n    const lat = parseFloat64FromJson(deltaJson, 'latitude')\n    const lon = parseFloat64FromJson(deltaJson, 'longitude')\n\n    if (lat !== 0.0 || lon !== 0.0) {\n      // Valid position - update state\n      nextPointLat = lat\n      nextPointLon = lon\n      hasDestination = true\n    } else {\n      // Check if this is a null/clear operation\n      const pathIdx = deltaJson.indexOf('\"path\":\"navigation.course.nextPoint\"')\n      const checkRange = deltaJson.substring(\n        pathIdx,\n        Math.min(pathIdx + 100, deltaJson.length) as i32\n      )\n      if (checkRange.indexOf('\"value\":null') >= 0) {\n        hasDestination = false\n        debug('Destination cleared')\n      }\n    }\n  }\n}\n```\n\n## Performance Considerations\n\n- **Filter Early** - Check for relevant paths before parsing to minimize processing\n- **State Caching** - Store parsed values in global variables rather than re-parsing\n- **Debouncing** - High-frequency data (GPS at 10Hz) may benefit from debouncing calculations\n"
  },
  {
    "path": "docs/develop/plugins/wasm/go.md",
    "content": "---\ntitle: Go/TinyGo Plugins\n---\n\n# Creating Go/TinyGo Plugins\n\nGo plugins use TinyGo, a Go compiler designed for small environments including WebAssembly.\n\n## Step 1: Install TinyGo\n\nDownload from https://tinygo.org/getting-started/install/\n\n```bash\n# Verify installation\ntinygo version\n```\n\n## Step 2: Create Project Structure\n\n```\nmy-go-plugin/\n├── main.go           # Plugin code\n├── go.mod            # Go module\n├── package.json      # npm package manifest\n├── public/           # Static web assets (optional)\n│   └── index.html\n└── README.md\n```\n\n## Step 3: Create go.mod\n\n```go\nmodule my-go-plugin\n\ngo 1.21\n```\n\n## Step 4: Create main.go\n\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"unsafe\"\n)\n\n// FFI Imports from Signal K host\n//go:wasmimport env sk_debug\nfunc sk_debug(ptr *byte, len uint32)\n\n//go:wasmimport env sk_set_status\nfunc sk_set_status(ptr *byte, len uint32)\n\n//go:wasmimport env sk_set_error\nfunc sk_set_error(ptr *byte, len uint32)\n\n//go:wasmimport env sk_handle_message\nfunc sk_handle_message(ptr *byte, len uint32)\n\n// Helper wrappers\nfunc debug(msg string) {\n\tif len(msg) > 0 {\n\t\tsk_debug(unsafe.StringData(msg), uint32(len(msg)))\n\t}\n}\n\nfunc setStatus(msg string) {\n\tif len(msg) > 0 {\n\t\tsk_set_status(unsafe.StringData(msg), uint32(len(msg)))\n\t}\n}\n\nfunc handleMessage(msg string) {\n\tif len(msg) > 0 {\n\t\tsk_handle_message(unsafe.StringData(msg), uint32(len(msg)))\n\t}\n}\n\n// Memory allocation for string passing\n//export allocate\nfunc allocate(size uint32) *byte {\n\tbuf := make([]byte, size)\n\treturn &buf[0]\n}\n\n//export deallocate\nfunc deallocate(ptr *byte, size uint32) {\n\t// With leaking GC, memory is reclaimed when module unloads\n}\n\n// Plugin exports\n//export plugin_id\nfunc plugin_id(outPtr *byte, maxLen uint32) int32 {\n\treturn writeString(\"my-go-plugin\", outPtr, maxLen)\n}\n\n//export plugin_name\nfunc plugin_name(outPtr *byte, maxLen uint32) int32 {\n\treturn writeString(\"My Go Plugin\", outPtr, maxLen)\n}\n\n//export plugin_schema\nfunc plugin_schema(outPtr *byte, maxLen uint32) int32 {\n\tschema := `{\"type\":\"object\",\"properties\":{}}`\n\treturn writeString(schema, outPtr, maxLen)\n}\n\n//export plugin_start\nfunc plugin_start(configPtr *byte, configLen uint32) int32 {\n\tdebug(\"Go plugin starting\")\n\tsetStatus(\"Running\")\n\n\t// Emit a test delta\n\tdelta := `{\"updates\":[{\"values\":[{\"path\":\"test.goPlugin\",\"value\":\"hello from Go\"}]}]}`\n\thandleMessage(delta)\n\n\treturn 0\n}\n\n//export plugin_stop\nfunc plugin_stop() int32 {\n\tdebug(\"Go plugin stopped\")\n\tsetStatus(\"Stopped\")\n\treturn 0\n}\n\n// Helper: write string to output buffer\nfunc writeString(s string, ptr *byte, maxLen uint32) int32 {\n\tbytes := []byte(s)\n\tlength := len(bytes)\n\tif uint32(length) > maxLen {\n\t\tlength = int(maxLen)\n\t}\n\tdst := unsafe.Slice(ptr, length)\n\tcopy(dst, bytes[:length])\n\treturn int32(length)\n}\n\n// Required for TinyGo WASM\nfunc main() {}\n```\n\n## Step 5: Create package.json\n\n```json\n{\n  \"name\": \"my-go-wasm-plugin\",\n  \"version\": \"0.1.0\",\n  \"description\": \"My Go WASM plugin\",\n  \"keywords\": [\"signalk-wasm-plugin\"],\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"storage\": \"vfs-only\"\n  }\n}\n```\n\n> **Note**: The package name can be anything - there's no requirement for `@signalk/` scope. The `wasmManifest` field is what identifies this as a WASM plugin.\n\n## Step 6: Build\n\n```bash\n# Release build (smaller, optimized)\ntinygo build -o plugin.wasm -target=wasip1 -gc=leaking -no-debug main.go\n\n# Debug build (for development)\ntinygo build -o plugin.wasm -target=wasip1 main.go\n```\n\n## Step 7: Install\n\n**Option 1: Symlink (Recommended for Development)**\n\n```bash\ncd ~/.signalk/node_modules\nln -s /path/to/your/my-go-wasm-plugin my-go-wasm-plugin\n```\n\n**Option 2: Direct Copy**\n\n```bash\nmkdir -p ~/.signalk/node_modules/my-go-wasm-plugin\ncp plugin.wasm package.json ~/.signalk/node_modules/my-go-wasm-plugin/\n```\n\n## Go FFI Interface Reference\n\nSignal K provides these FFI imports in the `env` module:\n\n| Function                        | Parameters   | Description                   |\n| ------------------------------- | ------------ | ----------------------------- |\n| `sk_debug`                      | `(ptr, len)` | Log debug message             |\n| `sk_set_status`                 | `(ptr, len)` | Set plugin status             |\n| `sk_set_error`                  | `(ptr, len)` | Set error message             |\n| `sk_handle_message`             | `(ptr, len)` | Emit delta message            |\n| `sk_register_resource_provider` | `(ptr, len)` | Register as resource provider |\n\n## Required Plugin Exports\n\nYour plugin MUST export:\n\n| Export          | Signature                            | Description        |\n| --------------- | ------------------------------------ | ------------------ |\n| `plugin_id`     | `(out_ptr, max_len) -> len`          | Return plugin ID   |\n| `plugin_name`   | `(out_ptr, max_len) -> len`          | Return plugin name |\n| `plugin_schema` | `(out_ptr, max_len) -> len`          | Return JSON schema |\n| `plugin_start`  | `(config_ptr, config_len) -> status` | Start plugin       |\n| `plugin_stop`   | `() -> status`                       | Stop plugin        |\n| `allocate`      | `(size) -> ptr`                      | Allocate memory    |\n| `deallocate`    | `(ptr, size)`                        | Free memory        |\n\n## Optional Plugin Exports\n\nYour plugin MAY export:\n\n| Export           | Signature                | Description                                                                                                                                          |\n| ---------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `poll`           | `() -> status`           | Called every 1 second while plugin is running. Useful for polling hardware, sockets, or external systems. Return 0 for success, non-zero for errors. |\n| `http_endpoints` | `() -> json`             | Return JSON array of HTTP endpoint definitions                                                                                                       |\n| `delta_handler`  | `(delta_ptr, delta_len)` | Receives Signal K deltas as JSON strings. Called for every delta emitted by the server.                                                              |\n\n## TinyGo Limitations\n\nTinyGo is a subset of Go. Notable limitations:\n\n- No reflection (limited `encoding/json` support)\n- No goroutines with WASI Preview 1\n- Garbage collector options: `leaking` (recommended), `conservative`\n- Some standard library packages unavailable\n\nSee https://tinygo.org/docs/reference/lang-support/ for details.\n\n## Additional Resources\n\nSee the example-routes-waypoints plugin in `examples/wasm-plugins/example-routes-waypoints/` for a complete resource provider plugin.\n"
  },
  {
    "path": "docs/develop/plugins/wasm/http_endpoints.md",
    "content": "---\ntitle: HTTP Endpoints\n---\n\n# HTTP Endpoints\n\nWASM plugins can register custom HTTP endpoints to provide REST APIs or serve dynamic content. This is useful for:\n\n- Providing plugin-specific APIs\n- Implementing webhook receivers\n- Creating custom data queries\n- Building interactive dashboards\n\n## Registering HTTP Endpoints\n\nExport an `http_endpoints()` function that returns a JSON array of endpoint definitions:\n\n```typescript\n// assembly/index.ts\nexport function http_endpoints(): string {\n  return `[\n    {\n      \"method\": \"GET\",\n      \"path\": \"/api/data\",\n      \"handler\": \"handle_get_data\"\n    },\n    {\n      \"method\": \"POST\",\n      \"path\": \"/api/update\",\n      \"handler\": \"handle_post_update\"\n    }\n  ]`\n}\n```\n\n## Implementing HTTP Handlers\n\nHandler functions receive a request context and return an HTTP response:\n\n```typescript\nexport function handle_get_data(requestPtr: usize, requestLen: usize): string {\n  // 1. Decode request from WASM memory\n  const requestBytes = new Uint8Array(i32(requestLen))\n  for (let i: i32 = 0; i < i32(requestLen); i++) {\n    requestBytes[i] = load<u8>(requestPtr + <usize>i)\n  }\n  const requestJson = String.UTF8.decode(requestBytes.buffer)\n\n  // 2. Parse request (contains method, path, query, params, body, headers)\n  // Simple example: extract query parameter\n  let filter = ''\n  const filterIndex = requestJson.indexOf('\"filter\"')\n  if (filterIndex >= 0) {\n    // Extract the filter value from JSON\n    // (In production, use proper JSON parsing)\n  }\n\n  // 3. Process request and build response data\n  const data = {\n    items: [\n      { id: 1, value: 'Item 1' },\n      { id: 2, value: 'Item 2' }\n    ],\n    count: 2\n  }\n  const bodyJson = JSON.stringify(data)\n\n  // 4. Escape JSON for embedding in response string\n  const escapedBody = bodyJson\n    .replaceAll('\"', '\\\\\"')\n    .replaceAll('\\n', '\\\\n')\n    .replaceAll('\\r', '\\\\r')\n\n  // 5. Return HTTP response (status, headers, body)\n  return `{\n    \"statusCode\": 200,\n    \"headers\": {\"Content-Type\": \"application/json\"},\n    \"body\": \"${escapedBody}\"\n  }`\n}\n\nexport function handle_post_update(\n  requestPtr: usize,\n  requestLen: usize\n): string {\n  const requestBytes = new Uint8Array(i32(requestLen))\n  for (let i: i32 = 0; i < i32(requestLen); i++) {\n    requestBytes[i] = load<u8>(requestPtr + <usize>i)\n  }\n  const requestJson = String.UTF8.decode(requestBytes.buffer)\n\n  // Process POST body and update state\n  // ...\n\n  return `{\n    \"statusCode\": 200,\n    \"headers\": {\"Content-Type\": \"application/json\"},\n    \"body\": \"{\\\\\"success\\\\\":true}\"\n  }`\n}\n```\n\n## Request Context Format\n\nThe request context is a JSON object with:\n\n```json\n{\n  \"method\": \"GET\",\n  \"path\": \"/api/logs\",\n  \"query\": {\n    \"lines\": \"100\",\n    \"filter\": \"error\"\n  },\n  \"params\": {},\n  \"body\": null,\n  \"headers\": {\n    \"user-agent\": \"Mozilla/5.0...\",\n    \"accept\": \"application/json\"\n  }\n}\n```\n\n## Response Format\n\nHandler functions must return a JSON string with:\n\n```json\n{\n  \"statusCode\": 200,\n  \"headers\": {\n    \"Content-Type\": \"application/json\",\n    \"Cache-Control\": \"no-cache\"\n  },\n  \"body\": \"{\\\"data\\\": \\\"value\\\"}\"\n}\n```\n\n**Important Notes:**\n\n- The `body` field must be a JSON-escaped string\n- Use double escaping for quotes: `\\\\\"` not `\"`\n- Endpoints are mounted at `/plugins/your-plugin-id/api/...`\n- From browser, fetch from absolute path: `/plugins/your-plugin-id/api/logs`\n\n## String Memory Management\n\nThe server uses the **AssemblyScript loader** for automatic string handling:\n\n**For plugin metadata (id, name, schema, http_endpoints):**\n\n- Return AssemblyScript strings directly\n- Server automatically decodes with `__getString()`\n\n**For HTTP handlers:**\n\n- Receive: `(requestPtr: usize, requestLen: usize)` - raw memory pointer\n- Manually decode UTF-8 bytes from WASM memory\n- Return: AssemblyScript string with escaped JSON\n- Server automatically decodes with `__getString()`\n\n**Why manual decoding for handlers?**\nThe request is passed as raw UTF-8 bytes for efficiency, but the response is returned as an AssemblyScript string (UTF-16LE) which the loader decodes automatically.\n\n## Testing Your Endpoints\n\n```bash\n# Test GET endpoint\ncurl http://localhost:3000/plugins/my-plugin/api/data?filter=test\n\n# Test POST endpoint\ncurl -X POST http://localhost:3000/plugins/my-plugin/api/update \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"value\": 123}'\n```\n\n## Security Considerations\n\n- Endpoints are sandboxed - no direct file system access\n- Memory is isolated - cannot access other plugins\n- Validate all input from requests\n- Implement authentication if handling sensitive data\n- Set appropriate CORS headers if needed\n"
  },
  {
    "path": "docs/develop/plugins/wasm/integration_guide.md",
    "content": "---\ntitle: Integration Guide for WASM Plugins\n---\n\n# Integration Guide for WASM Plugins\n\n## Static File Serving\n\nPlugins can serve HTML, CSS, JavaScript and other static files:\n\n**Structure:**\n\n```\n@signalk/my-plugin/\n├── public/           # Automatically served at /plugins/my-plugin/\n│   ├── index.html\n│   ├── style.css\n│   └── app.js\n├── plugin.wasm\n└── package.json\n```\n\n**Access:** `http://localhost:3000/plugins/my-plugin/` serves `public/index.html`\n\n## Resource Providers\n\nWASM plugins can act as **resource providers** for Signal K resources like weather data, routes, waypoints, or custom resource types.\n\n### Enabling Resource Provider Capability\n\nAdd `resourceProvider: true` to your package.json:\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"network\": true,\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"resourceProvider\": true\n  }\n}\n```\n\n### Registering as a Resource Provider\n\n#### AssemblyScript\n\n```typescript\nimport { registerResourceProvider } from '@signalk/assemblyscript-plugin-sdk/assembly/resources'\n\n// In plugin start():\nif (!registerResourceProvider('weather-forecasts')) {\n  setError('Failed to register as resource provider')\n  return 1\n}\n```\n\n#### Rust\n\n```rust\n#[link(wasm_import_module = \"env\")]\nextern \"C\" {\n    fn sk_register_resource_provider(type_ptr: *const u8, type_len: usize) -> i32;\n}\n\npub fn register_resource_provider(resource_type: &str) -> bool {\n    let bytes = resource_type.as_bytes();\n    unsafe { sk_register_resource_provider(bytes.as_ptr(), bytes.len()) == 1 }\n}\n\n// In plugin_start():\nif !register_resource_provider(\"weather-forecasts\") {\n    // Registration failed\n    return 1;\n}\n```\n\n### Implementing Resource Handlers\n\nAfter registering, your plugin must export these handler functions:\n\n#### `resources_list_resources` - List resources matching a query\n\n**AssemblyScript:**\n\n```typescript\nexport function resources_list_resources(queryJson: string): string {\n  // queryJson: {\"bbox\": [...], \"distance\": 1000, ...}\n  // Return JSON object: {\"resource-id-1\": {...}, \"resource-id-2\": {...}}\n  return '{\"forecast-1\": {\"name\": \"Current Weather\", \"type\": \"weather\"}}'\n}\n```\n\n**Rust:**\n\n```rust\n#[no_mangle]\npub extern \"C\" fn resources_list_resources(\n    request_ptr: *const u8, request_len: usize,\n    response_ptr: *mut u8, response_max_len: usize,\n) -> i32 {\n    // Parse query, build response\n    let response = r#\"{\"forecast-1\": {\"name\": \"Current Weather\"}}\"#;\n    write_string(response, response_ptr, response_max_len)\n}\n```\n\n#### `resources_get_resource` - Get a single resource\n\n**AssemblyScript:**\n\n```typescript\nexport function resources_get_resource(requestJson: string): string {\n  // requestJson: {\"id\": \"forecast-1\", \"property\": null}\n  return '{\"name\": \"Current Weather\", \"temperature\": 20.5, \"humidity\": 0.65}'\n}\n```\n\n#### `resources_set_resource` - Create or update a resource\n\n**AssemblyScript:**\n\n```typescript\nexport function resources_set_resource(requestJson: string): string {\n  // requestJson: {\"id\": \"forecast-1\", \"value\": {...}}\n  // Return empty string on success, or error message\n  return ''\n}\n```\n\n#### `resources_delete_resource` - Delete a resource\n\n**AssemblyScript:**\n\n```typescript\nexport function resources_delete_resource(requestJson: string): string {\n  // requestJson: {\"id\": \"forecast-1\"}\n  return ''\n}\n```\n\n### Accessing Resources via HTTP\n\nOnce registered, resources are available at:\n\n```\nGET  /signalk/v2/api/resources/{type}           # List all\nGET  /signalk/v2/api/resources/{type}/{id}      # Get one\nPOST /signalk/v2/api/resources/{type}/{id}      # Create/update\nDELETE /signalk/v2/api/resources/{type}/{id}    # Delete\n```\n\n### Standard vs Custom Resource Types\n\nSignal K defines standard resource types with validation:\n\n- `routes` - Navigation routes\n- `waypoints` - Navigation waypoints\n- `notes` - Freeform notes\n- `regions` - Geographic regions\n- `charts` - Chart metadata\n\nCustom types (like `weather-forecasts`) have no schema validation and can contain any JSON structure.\n\n## Weather Providers\n\nWASM plugins can act as **weather providers** for Signal K's specialized Weather API.\n\n### Weather Provider vs Resource Provider\n\n| Feature    | Weather Provider                           | Resource Provider                  |\n| ---------- | ------------------------------------------ | ---------------------------------- |\n| API Path   | `/signalk/v2/api/weather/*`                | `/signalk/v2/api/resources/{type}` |\n| Methods    | getObservations, getForecasts, getWarnings | list, get, set, delete             |\n| Use Case   | Standardized weather data                  | Generic data storage               |\n| Capability | `weatherProvider: true`                    | `resourceProvider: true`           |\n| FFI        | `sk_register_weather_provider`             | `sk_register_resource_provider`    |\n\n### Enabling Weather Provider Capability\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"network\": true,\n    \"dataWrite\": true,\n    \"weatherProvider\": true\n  }\n}\n```\n\n### Implementing Weather Handler Exports\n\nYour plugin must export these handler functions:\n\n#### `weather_get_observations` - Get current weather observations\n\n```typescript\nexport function weather_get_observations(requestJson: string): string {\n  // requestJson: {\"position\": {\"latitude\": 60.17, \"longitude\": 24.94}, \"options\": {...}}\n  return (\n    '[{\"date\":\"2025-01-01T00:00:00Z\",\"type\":\"observation\",\"description\":\"Clear sky\",' +\n    '\"outside\":{\"temperature\":280.15,\"relativeHumidity\":0.65,\"pressure\":101300,\"cloudCover\":0.1},' +\n    '\"wind\":{\"speedTrue\":5.0,\"directionTrue\":1.57}}]'\n  )\n}\n```\n\n#### `weather_get_forecasts` - Get weather forecasts\n\n```typescript\nexport function weather_get_forecasts(requestJson: string): string {\n  // requestJson: {\"position\": {...}, \"type\": \"daily\"|\"point\", \"options\": {\"maxCount\": 7}}\n  return '[{\"date\":\"...\",\"type\":\"daily\",\"outside\":{...},\"wind\":{...}}]'\n}\n```\n\n#### `weather_get_warnings` - Get weather warnings/alerts\n\n```typescript\nexport function weather_get_warnings(requestJson: string): string {\n  // requestJson: {\"position\": {...}}\n  return '[]'\n}\n```\n\n### Weather Data Format\n\n#### Observation/Forecast Object\n\n```json\n{\n  \"date\": \"2025-12-05T10:00:00.000Z\",\n  \"type\": \"observation\",\n  \"description\": \"light rain\",\n  \"outside\": {\n    \"temperature\": 275.15,\n    \"minTemperature\": 273.0,\n    \"maxTemperature\": 278.0,\n    \"feelsLikeTemperature\": 272.0,\n    \"relativeHumidity\": 0.85,\n    \"pressure\": 101300,\n    \"cloudCover\": 0.75\n  },\n  \"wind\": {\n    \"speedTrue\": 5.2,\n    \"directionTrue\": 3.14,\n    \"gust\": 8.0\n  }\n}\n```\n\nUnits:\n\n- Temperature: Kelvin\n- Humidity: Ratio (0-1)\n- Pressure: Pascals\n- Wind speed: m/s\n- Wind direction: Radians\n\n#### Warning Object\n\n```json\n{\n  \"startTime\": \"2025-12-05T10:00:00.000Z\",\n  \"endTime\": \"2025-12-05T18:00:00.000Z\",\n  \"details\": \"Strong wind warning\",\n  \"source\": \"Weather Service\",\n  \"type\": \"Warning\"\n}\n```\n\n### Accessing Weather Data via HTTP\n\n```bash\n# List providers\ncurl http://localhost:3000/signalk/v2/api/weather/_providers\n\n# Get observations for a location\ncurl \"http://localhost:3000/signalk/v2/api/weather/observations?lat=60.17&lon=24.94\"\n\n# Get daily forecasts\ncurl \"http://localhost:3000/signalk/v2/api/weather/forecasts/daily?lat=60.17&lon=24.94\"\n\n# Get point-in-time forecasts\ncurl \"http://localhost:3000/signalk/v2/api/weather/forecasts/point?lat=60.17&lon=24.94\"\n\n# Get weather warnings\ncurl \"http://localhost:3000/signalk/v2/api/weather/warnings?lat=60.17&lon=24.94\"\n```\n\n## Radar Providers\n\nWASM plugins can act as **radar providers** for Signal K's Radar API at `/signalk/v2/api/vessels/self/radars`.\n\n### Enabling Radar Provider Capability\n\n```json\n{\n  \"signalk\": {\n    \"wasmCapabilities\": {\n      \"radarProvider\": true,\n      \"network\": true\n    }\n  }\n}\n```\n\n### Registering as a Radar Provider\n\n```typescript\n// Declare the host function\n@external(\"env\", \"sk_register_radar_provider\")\ndeclare function sk_register_radar_provider(namePtr: usize, nameLen: i32): i32;\n\nexport function start(configJson: string): i32 {\n  const name = \"My Radar Plugin\";\n  const nameBytes = String.UTF8.encode(name);\n  const result = sk_register_radar_provider(\n    changetype<usize>(nameBytes),\n    nameBytes.byteLength\n  );\n\n  if (result === 0) {\n    sk_set_plugin_error(\"Failed to register as radar provider\", 38);\n    return 1;\n  }\n\n  return 0;\n}\n```\n\n### Required Handler Exports\n\n```typescript\n// Return JSON array of radar IDs this provider manages\nexport function radar_get_radars(): string {\n  return JSON.stringify(['radar-0', 'radar-1'])\n}\n\n// Return RadarInfo JSON for a specific radar\nexport function radar_get_radar_info(requestJson: string): string {\n  const info = {\n    id: 'radar-0',\n    name: 'Furuno DRS4D-NXT',\n    brand: 'Furuno',\n    status: 'transmit',\n    spokesPerRevolution: 2048,\n    maxSpokeLen: 1024,\n    range: 2000,\n    controls: {\n      gain: { auto: false, value: 50 },\n      sea: { auto: true, value: 30 }\n    }\n  }\n  return JSON.stringify(info)\n}\n```\n\n### RadarInfo Interface\n\n```typescript\ninterface RadarInfo {\n  id: string // Unique radar ID\n  name: string // Display name\n  brand?: string // Manufacturer\n  status: 'off' | 'standby' | 'transmit' | 'warming'\n  spokesPerRevolution: number // Spokes per rotation\n  maxSpokeLen: number // Max spoke samples\n  range: number // Current range (meters)\n  controls: RadarControls // Current control values\n  legend?: LegendEntry[] // Color legend for display\n  streamUrl?: string // Optional external WebSocket URL\n}\n```\n\n### Streaming Radar Spokes\n\nRadar spoke data arrives at ~60Hz (2048 spokes/rotation × 30-60 RPM). Plugins stream binary protobuf data directly to clients:\n\n```typescript\nimport { sk_radar_emit_spokes } from './signalk-api'\n\n// Called when spoke data received via UDP multicast\nfunction processSpokeData(radarId: string, spokeProtobuf: Uint8Array): void {\n  sk_radar_emit_spokes(radarId, spokeProtobuf.buffer, spokeProtobuf.byteLength)\n}\n```\n\nClients connect to the WebSocket stream:\n\n```javascript\nconst wsUrl = `ws://${location.host}/signalk/v2/api/vessels/self/radars/radar-0/stream`\nconst ws = new WebSocket(wsUrl)\nws.binaryType = 'arraybuffer'\n\nws.onmessage = (event) => {\n  const spokeData = new Uint8Array(event.data)\n  // Decode and render spoke\n}\n```\n"
  },
  {
    "path": "docs/develop/plugins/wasm/rust.md",
    "content": "---\ntitle: Rust Plugins\n---\n\n# Creating Rust Plugins\n\nRust is excellent for WASM plugins due to its zero-cost abstractions, memory safety, and mature WASM tooling. Signal K Rust plugins use **buffer-based FFI** for string passing, which differs from AssemblyScript's automatic string handling.\n\n## Rust vs AssemblyScript: Key Differences\n\n| Aspect            | AssemblyScript          | Rust                            |\n| ----------------- | ----------------------- | ------------------------------- |\n| String passing    | Automatic via AS loader | Manual buffer-based FFI         |\n| Memory management | AS runtime handles      | `allocate`/`deallocate` exports |\n| Binary size       | 3-10 KB                 | 50-200 KB                       |\n| Target            | `wasm32` (AS compiler)  | `wasm32-wasip1`                 |\n\n## Step 1: Project Structure\n\nCreate a new Rust library project:\n\n```bash\ncargo new --lib example-anchor-watch-rust\ncd example-anchor-watch-rust\n```\n\n## Step 2: Configure Cargo.toml\n\n```toml\n[package]\nname = \"anchor_watch_rust\"\nversion = \"0.1.0\"\nedition = \"2021\"\n\n[lib]\ncrate-type = [\"cdylib\"]\n\n[dependencies]\nserde = { version = \"1.0\", features = [\"derive\"] }\nserde_json = \"1.0\"\n\n[profile.release]\nopt-level = \"z\"     # Optimize for size\nlto = true          # Link-time optimization\nstrip = true        # Strip symbols\n```\n\n## Step 3: Implement Plugin (src/lib.rs)\n\n```rust\nuse std::cell::RefCell;\nuse serde::{Deserialize, Serialize};\n\n// =============================================================================\n// FFI Imports - These MUST match what the Signal K runtime provides in \"env\"\n// =============================================================================\n\n#[link(wasm_import_module = \"env\")]\nextern \"C\" {\n    fn sk_debug(ptr: *const u8, len: usize);\n    fn sk_set_status(ptr: *const u8, len: usize);\n    fn sk_set_error(ptr: *const u8, len: usize);\n    fn sk_handle_message(ptr: *const u8, len: usize);\n    fn sk_register_put_handler(\n        context_ptr: *const u8, context_len: usize,\n        path_ptr: *const u8, path_len: usize\n    ) -> i32;\n}\n\n// =============================================================================\n// Helper wrappers for FFI functions\n// =============================================================================\n\nfn debug(msg: &str) {\n    unsafe { sk_debug(msg.as_ptr(), msg.len()); }\n}\n\nfn set_status(msg: &str) {\n    unsafe { sk_set_status(msg.as_ptr(), msg.len()); }\n}\n\nfn set_error(msg: &str) {\n    unsafe { sk_set_error(msg.as_ptr(), msg.len()); }\n}\n\nfn handle_message(msg: &str) {\n    unsafe { sk_handle_message(msg.as_ptr(), msg.len()); }\n}\n\nfn register_put_handler(context: &str, path: &str) -> i32 {\n    unsafe {\n        sk_register_put_handler(\n            context.as_ptr(), context.len(),\n            path.as_ptr(), path.len()\n        )\n    }\n}\n\n// =============================================================================\n// Memory Allocation - REQUIRED for buffer-based string passing\n// =============================================================================\n\n/// Allocate memory for string passing from host\n#[no_mangle]\npub extern \"C\" fn allocate(size: usize) -> *mut u8 {\n    let mut buf = Vec::with_capacity(size);\n    let ptr = buf.as_mut_ptr();\n    std::mem::forget(buf);\n    ptr\n}\n\n/// Deallocate memory\n#[no_mangle]\npub extern \"C\" fn deallocate(ptr: *mut u8, size: usize) {\n    unsafe {\n        let _ = Vec::from_raw_parts(ptr, 0, size);\n    }\n}\n\n// =============================================================================\n// Plugin State\n// =============================================================================\n\nthread_local! {\n    static STATE: RefCell<PluginState> = RefCell::new(PluginState::default());\n}\n\n#[derive(Debug, Clone, Serialize, Deserialize, Default)]\n#[serde(rename_all = \"camelCase\")]\nstruct PluginConfig {\n    #[serde(default)]\n    max_radius: f64,\n}\n\n#[derive(Debug, Default)]\nstruct PluginState {\n    config: PluginConfig,\n    is_running: bool,\n}\n\n// =============================================================================\n// Plugin Exports - Core plugin interface\n// =============================================================================\n\nstatic PLUGIN_ID: &str = \"my-rust-plugin\";\nstatic PLUGIN_NAME: &str = \"My Rust Plugin\";\nstatic PLUGIN_SCHEMA: &str = r#\"{\n    \"type\": \"object\",\n    \"properties\": {\n        \"maxRadius\": {\n            \"type\": \"number\",\n            \"title\": \"Max Radius\",\n            \"default\": 50\n        }\n    }\n}\"#;\n\n/// Return the plugin ID (buffer-based)\n#[no_mangle]\npub extern \"C\" fn plugin_id(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_ID, out_ptr, out_max_len)\n}\n\n/// Return the plugin name (buffer-based)\n#[no_mangle]\npub extern \"C\" fn plugin_name(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_NAME, out_ptr, out_max_len)\n}\n\n/// Return the plugin JSON schema (buffer-based)\n#[no_mangle]\npub extern \"C\" fn plugin_schema(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_SCHEMA, out_ptr, out_max_len)\n}\n\n/// Start the plugin with configuration\n#[no_mangle]\npub extern \"C\" fn plugin_start(config_ptr: *const u8, config_len: usize) -> i32 {\n    // Read config from buffer\n    let config_json = unsafe {\n        let slice = std::slice::from_raw_parts(config_ptr, config_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    // Parse configuration\n    let parsed_config: PluginConfig = match serde_json::from_str(&config_json) {\n        Ok(c) => c,\n        Err(e) => {\n            set_error(&format!(\"Failed to parse config: {}\", e));\n            return 1;\n        }\n    };\n\n    // Update state\n    STATE.with(|state| {\n        let mut s = state.borrow_mut();\n        s.config = parsed_config;\n        s.is_running = true;\n    });\n\n    debug(\"Plugin started successfully\");\n    set_status(\"Running\");\n\n    0 // Success\n}\n\n/// Stop the plugin\n#[no_mangle]\npub extern \"C\" fn plugin_stop() -> i32 {\n    STATE.with(|state| {\n        state.borrow_mut().is_running = false;\n    });\n\n    debug(\"Plugin stopped\");\n    set_status(\"Stopped\");\n\n    0 // Success\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/// Write string to output buffer, return bytes written\nfn write_string(s: &str, ptr: *mut u8, max_len: usize) -> i32 {\n    let bytes = s.as_bytes();\n    let len = bytes.len().min(max_len);\n    unsafe {\n        std::ptr::copy_nonoverlapping(bytes.as_ptr(), ptr, len);\n    }\n    len as i32\n}\n```\n\n## Step 4: Create package.json\n\n```json\n{\n  \"name\": \"my-rust-wasm-plugin\",\n  \"version\": \"0.1.0\",\n  \"description\": \"My Rust WASM plugin for Signal K\",\n  \"keywords\": [\"signalk-wasm-plugin\"],\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": false,\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"putHandlers\": true\n  },\n  \"author\": \"Your Name\",\n  \"license\": \"Apache-2.0\"\n}\n```\n\n> **Note**: The package name can be anything - there's no requirement for `@signalk/` scope. The `wasmManifest` field is what identifies this as a WASM plugin.\n\n## Step 5: Build\n\n```bash\n# Build with WASI Preview 1 target (required for Signal K)\ncargo build --release --target wasm32-wasip1\n\n# Copy to plugin.wasm\ncp target/wasm32-wasip1/release/my_rust_plugin.wasm plugin.wasm\n```\n\n> **Important**: Use `wasm32-wasip1` target, NOT `wasm32-wasi`. Signal K requires WASI Preview 1.\n\n## Step 6: Install\n\n**Option 1: Symlink (Recommended for Development)**\n\n```bash\ncd ~/.signalk/node_modules\nln -s /path/to/your/my-rust-wasm-plugin my-rust-wasm-plugin\n```\n\n**Option 2: Direct Copy**\n\n```bash\nmkdir -p ~/.signalk/node_modules/my-rust-wasm-plugin\ncp plugin.wasm package.json ~/.signalk/node_modules/my-rust-wasm-plugin/\n```\n\n**Option 3: NPM Package Install**\n\n```bash\nnpm pack\nnpm install -g ./my-rust-wasm-plugin-0.1.0.tgz\n```\n\n## Step 7: Enable in Admin UI\n\n1. Navigate to **Server** → **Plugin Config**\n2. Find \"My Rust Plugin\"\n3. Click **Enable**\n4. Configure settings\n5. Click **Submit**\n\n## Rust FFI Interface Reference\n\nSignal K provides these FFI imports in the `env` module:\n\n| Function                  | Parameters                               | Description          |\n| ------------------------- | ---------------------------------------- | -------------------- |\n| `sk_debug`                | `(ptr, len)`                             | Log debug message    |\n| `sk_set_status`           | `(ptr, len)`                             | Set plugin status    |\n| `sk_set_error`            | `(ptr, len)`                             | Set error message    |\n| `sk_handle_message`       | `(ptr, len)`                             | Emit delta message   |\n| `sk_register_put_handler` | `(ctx_ptr, ctx_len, path_ptr, path_len)` | Register PUT handler |\n\n> **IMPORTANT: Use Exact Function Names**\n>\n> You MUST use the exact function names listed above. Common mistakes:\n>\n> - `sk_log_debug`, `sk_log_info`, `sk_log_warn` → Use `sk_debug` for all logging\n> - `sk_emit_delta` → Use `sk_handle_message`\n> - `sk_udp_recv_from` → Use `sk_udp_recv`\n>\n> There is only one logging function (`sk_debug`). If you need log levels, prefix your message:\n>\n> ```rust\n> debug(\"[INFO] Starting radar scan\");\n> debug(\"[WARN] Connection timeout\");\n> ```\n\n## Required Plugin Exports\n\nYour plugin MUST export:\n\n| Export          | Signature                            | Description        |\n| --------------- | ------------------------------------ | ------------------ |\n| `plugin_id`     | `(out_ptr, max_len) -> len`          | Return plugin ID   |\n| `plugin_name`   | `(out_ptr, max_len) -> len`          | Return plugin name |\n| `plugin_schema` | `(out_ptr, max_len) -> len`          | Return JSON schema |\n| `plugin_start`  | `(config_ptr, config_len) -> status` | Start plugin       |\n| `plugin_stop`   | `() -> status`                       | Stop plugin        |\n| `allocate`      | `(size) -> ptr`                      | Allocate memory    |\n| `deallocate`    | `(ptr, size)`                        | Free memory        |\n\n## Optional Plugin Exports\n\nYour plugin MAY export:\n\n| Export           | Signature                | Description                                                                                                                                          |\n| ---------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `poll`           | `() -> status`           | Called every 1 second while plugin is running. Useful for polling hardware, sockets, or external systems. Return 0 for success, non-zero for errors. |\n| `http_endpoints` | `() -> json`             | Return JSON array of HTTP endpoint definitions                                                                                                       |\n| `delta_handler`  | `(delta_ptr, delta_len)` | Receives Signal K deltas as JSON strings. Called for every delta emitted by the server.                                                              |\n\n## Additional Resources\n\nSee the example-anchor-watch-rust plugin in `examples/wasm-plugins/example-anchor-watch-rust/` for a complete working plugin with PUT handlers.\n"
  },
  {
    "path": "docs/develop/plugins/weather_provider_plugins.md",
    "content": "---\ntitle: Weather Providers\n---\n\n# Weather Providers\n\nThe Signal K server [Weather API](../rest-api/weather_api.md) provides a common set of operations for retrieving meteorological data via a \"provider plugin\" to facilitate communication with a weather service provider.\n\nA weather provider plugin is a Signal K server plugin that brokers communication with a weather provider.\n\n---\n\n## Weather Provider Interface\n\nFor a plugin to be a weather provider it must implement the {@link @signalk/server-api!WeatherProvider | `WeatherProvider`} Interface which provides the Signal K server with methods to pass the details contained in API requests.\n\n**A weather provider MUST return data as defined by the OpenAPI definition.**\n\n> [!NOTE]\n> Multiple weather providers can be registered with the Signal K server to enable meteorogical data retrieval from multiple sources.\n\n## Weather Provider Interface Methods\n\nWeather API requests made to the Signal K server will result in the plugin's {@link @signalk/server-api!WeatherProviderMethods | `WeatherProviderMethods`} being called.\n\nA weather provider plugin MUST implement ALL of the {@link @signalk/server-api!WeatherProviderMethods | `WeatherProviderMethods`}:\n\n- {@link @signalk/server-api!WeatherProviderMethods.getObservations | `getObservations(position, options)`}\n\n- {@link @signalk/server-api!WeatherProviderMethods.getForecasts | `getForecasts(position, type, options)`}\n\n- {@link @signalk/server-api!WeatherProviderMethods.getWarnings | `getWarnings(position)`}\n\n> [!NOTE]\n> The Weather Provider is responsible for implementing the methods and returning data in the required format!\n\n---\n\n## Registering a Weather Provider\n\nNow that the plugin has implemented the required interface and methods, it can be registered as a weather provider with the SignalK server.\n\nThe plugin registers itself as a weather provider by calling the server's {@link @signalk/server-api!WeatherProviderRegistry.registerWeatherProvider | `registerWeatherProvider`} function during startup.\n\nDo this within the plugin `start()` method.\n\n_Example._\n\n```javascript\nimport { WeatherProvider } from '@signalk/server-api'\n\nmodule.exports = function (app) {\n\n  const weatherProvider: WeatherProvider = {\n    name: 'MyWeatherService',\n    methods: {\n      getObservations: (\n        position: Position,\n        options?: WeatherReqParams\n      ) => {\n        // fetch observation data from weather service\n        return observations\n      },\n      getForecasts: (\n        position: Position,\n        type: WeatherForecastType,\n        options?: WeatherReqParams\n      ) => {\n        // fetch forecasts data from weather service\n        return forecasts\n      },\n      getWarnings: () => {\n        // Service does not provide weather warnings.\n        throw new Error('Not supported!')\n      }\n    }\n  }\n\n  const plugin = {\n    id: 'mypluginid',\n    name: 'My Weather Provider plugin'\n    start: (settings: any) => {\n      app.registerWeatherProvider(weatherProvider)\n    }\n  }\n\n  return plugin\n```\n"
  },
  {
    "path": "docs/develop/rest-api/README.md",
    "content": "---\ntitle: REST APIs\nchildren:\n  - conventions.md\n  - autopilot_api.md\n  - course_api.md\n  - history_api.md\n  - notifications_api.md\n  - radar_api.md\n  - resources_api.md\n  - weather_api.md\n  - plugin_api.md\n  - ./proposed/README.md\n---\n\n# REST APIs\n\nModular, subdomain specific REST APIs were introduced in Signal K server version 2 to provide a way for applications and plugins perform operations and ensure that the Signal K data model is consistent.\n\nThe OpenAPI definitions can be found under _Documentation -> OpenAPI_ in the server Admin UI.\n\n### APIs available in Signal K server v2.0.0 and later:\n\nAPIs are available via `/signalk/v2/api/<endpoint>`\n\n| API                                       | Description                                                                                                                                          | Endpoint                         |\n| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |\n| [`Autopilot`](./autopilot_api.md)         | Provide the ability to send common commands to an autopilot via a provider plugin.                                                                   | `vessels/self/autopilot`         |\n| [Course](./course_api.md)                 | Set a course, follow a route, advance to next point, etc.                                                                                            | `vessels/self/navigation/course` |\n| [History](./history_api.md)               | Query historical data.                                                                                                                               | `history`                        |\n| [Radar](./radar_api.md)                   | View and control marine radar equipment via a provider plugin. _(In development)_                                                                    | `vessels/self/radars`            |\n| [Resources](./resources_api.md)           | Create, view, update and delete waypoints, routes, etc.                                                                                              | `resources`                      |\n| _[`Notifications`](notifications_api.md)_ | Provide the ability to raise, update and clear notifications from multiple sources. _[View PR](https://github.com/SignalK/signalk-server/pull/1560)_ | `notifications`                  |\n\n---\n"
  },
  {
    "path": "docs/develop/rest-api/autopilot_api.md",
    "content": "---\ntitle: Autopilot API\n---\n\n# Autopilot API\n\nThe Autopilot API defines the `autopilots` path under `self` _(e.g. `/signalk/v2/api/vessels/self/autopilots`)_ for representing information from one or more autopilot devices.\n\nThe Autopilot API provides a mechanism for applications to issue requests to autopilot devices to perform common operations. Additionally, when multiple autopilot devices are present, each autopilot device is individually addressable.\n\n_Note: Autopilot provider plugins are required to enable the API operation and provide communication with autopilot devices. See [Autopilot Provider Plugins](../plugins/autopilot_provider_plugins.md) for details._\n\n## Common Operations\n\nThe following operations are supported:\n\n- Setting the operating mode\n- Engaging / Disengaging the pilot\n- Setting / adjusting the course\n- Dodging port / starboard\n- Tacking / Gybing\n\n## The _Default_ Autopilot\n\nTo ensure a consistent API calling profile and to simplify client operations, the Autopilot API will assign a _default_ autopilot device which is accessible using the path `/signalk/v2/api/vessels/self/autopilots/_default`.\n\n- When only one autopilot is present, it will be automatically assigned as the _default_.\n\n- When multiple autopilots are present, and a _default_ is yet to be assigned, one will be assigned when:\n  - An update is received from a provider plugin, the autopilot which is the source of the update will be assigned as the _default_.\n  - An API request is received, the first autopilot device registered, is assigned as the _default_.\n  - A request is sent to the `/_providers/_default` API endpoint _(see [Setting the Default Autopilot](#setting-the-default-provider))_.\n\n### Getting the Default Autopilot Identifier\n\nTo get the id of the _default_ autopilot, submit an HTTP `GET` request to `/signalk/v2/api/vessels/self/autopilots/_providers/_default`.\n\n_Example:_\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/_providers/_default\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"id\":\"raymarine-id\"\n}\n```\n\n### Setting an Autopilot as the Default\n\nTo set / change the _default_ autopilot, submit an HTTP `POST` request to `/signalk/v2/api/vessels/self/autopilots/_providers/_default/{id}` where `{id}` is the identifier of the autopilot to use as the _default_.\n\n_Example:_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/_providers/_default/raymarine-id\"\n```\n\nThe autopilot with the supplied id will now be the target of requests made to `/signalk/v2/api/vessels/self/autopilots/_default/*`.\n\n## Listing the available Autopilots\n\nTo retrieve a list of installed autopilot devices, submit an HTTP `GET` request to `/signalk/v2/api/vessels/self/autopilots`.\n\nThe response will be an object containing all the registered autopilot devices, keyed by their identifier, detailing the `provider` it is registered by and whether it is assigned as the _default_.\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots\"\n```\n\n_Example: List of registered autopilots showing that `pypilot-id` is assigned as the default._\n\n```JSON\n{\n  \"pypilot-id\": {\n    \"provider\":\"pypilot-provider\",\n    \"isDefault\": true\n  },\n  \"raymarine-id\": {\n    \"provider\":\"raymarine-provider\",\n    \"isDefault\": false\n  }\n}\n```\n\n## Autopilot Deltas\n\nDeltas emitted by the Autopilot API will have the base path `steering.autopilot` with the `$source` containing the autopilot device identifier.\n\nDeltas are emitted for the following paths:\n\n- `steering.autopilot.defaultPilot`\n- `steering.autopilot.engaged`\n- `steering.autopilot.state`\n- `steering.autopilot.mode`\n- `steering.autopilot.target`\n- `steering.autopilot.availableActions`\n\n_Example: Deltas for `autopilot.engaged` from two autopilots (`raymarine-id`)._\n\n```JSON\n{\n  \"context\":\"vessels.self\",\n  \"updates\":[\n    {\n      \"$source\":\"pypilot-id\",\n      \"timestamp\":\"2023-11-19T06:12:47.820Z\",\n      \"values\":[\n        {\"path\":\"steering.autopilot.engaged\",\"value\":false}\n      ]\n    },\n    {\n      \"$source\":\"raymarine-id\",\n      \"timestamp\":\"2023-11-19T06:12:47.820Z\",\n      \"values\":[\n        {\"path\":\"steering.autopilot.engaged\",\"value\":true}\n      ]\n    }\n  ]\n}\n```\n\n## Autopilot Notifications\n\nThe Autopilot API will provide notifications under the path `notifications.steering.autopilot` with the `$source` containing the autopilot device identifier.\n\nA set of normalised notification paths are defined to provide a consistant way for client apps to receive and process alarm messages.\n\n- `waypointAdvance`\n- `waypointArrival`\n- `routeComplete`\n- `xte`\n- `heading`\n- `wind`\n\n_Example:_\n\n```JSON\n{\n  \"context\":\"vessels.self\",\n  \"updates\":[\n    {\n      \"$source\":\"pypilot-id\",\n      \"timestamp\":\"2023-11-19T06:12:47.820Z\",\n      \"values\":[\n        {\n          \"path\": \"notifications.steering.autopilot.waypointAdvance\",\n          \"value\": {\n            \"state\": \"alert\",\n            \"method\": [\"sound\"],\n            \"message\": \"Waypoint Advance\"\n          }\n        }\n      ]\n    }\n  ]\n}\n\n```\n\n## Autopilot offline / unreachable\n\nIf an autopilot device is not connected or unreachable, the provider for that autopilot device will set the `state` of the device to `off-line`.\n\n## Autopilot Actions\n\nThe Autopilot API allows providers to list all the \"actions\" that are supported by the device _(e.g. tack, gybe, etc)_ and their availability in the current state of operation.\n\nA set of normalised actions are defined to simplify client processing and UI trimming:\n\n- `dodge`\n- `tack`\n- `gybe`\n- `courseCurrentPoint`\n- `courseNextPoint`\n\n```JSON\n{\n  \"options\": {\n    \"states\": [...],\n    \"modes\": [...],\n    \"actions\": [\n      {\"id\": \"tack\", \"name\": \"Tack\", \"available\": true},\n      {\"id\": \"gybe\", \"name\": \"Gybe\", \"available\": false}\n    ]\n  },\n  \"state\": \"disabled\",\n  \"mode\": \"wind\",\n  \"target\": 0.43,\n  \"engaged\": true\n}\n```\n\n## Autopilot Operations\n\nAll API operations are invoked by issuing requests to:\n\n1. `/signalk/v2/api/vessels/self/autopilots/_default/*`\n\nTargets the default autopilot device.\n\nOR\n\n2. `/signalk/v2/api/vessels/self/autopilots/{id}/*`\n\nTarget the autopilot with the supplied `{id}`\n\n_Example:_\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/_default/state\"\n\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/pypilot-id/mode\"\n```\n\n### Retrieving Autopilot Status\n\nTo retrieve the current autopilot configuration as well as a list of available options for `state` and `mode` selections, submit an HTTP `GET` request to `/signalk/v2/api/vessels/self/autopilots/{id}`.\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/{id}\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"options\":{\n    \"state\":[\"enabled\",\"disabled\"],\n    \"mode\":[\"gps\",\"compass\",\"wind\"]\n  },\n  \"state\":\"disabled\",\n  \"mode\":\"gps\",\n  \"target\": 0,\n  \"engaged\": false\n}\n```\n\nWhere:\n\n- `options` contains arrays of valid `state` and `mode` selection options\n- `state` represents the current state of the device\n- `mode` represents the current mode of the device\n- `target` represents the current target value with respect to the selected `mode`\n- `engaged` will be true when the autopilot is actively steering the vessel.\n\n### Setting the Autopilot State\n\nAutopilot state can be set by submitting an HTTP `PUT` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/state` endpoint containing a value from the list of available states.\n\n```typescript\nHTTP PUT \"/signalk/v2/api/vessels/self/autopilots/{id}/state\" {\"value\": \"disabled\"}\n```\n\n### Getting the Autopilot State\n\nThe current autopilot state can be retrieved by submitting an HTTP `GET` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/state` endpoint.\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/{id}/state\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"value\":\"enabled\",\n}\n```\n\n### Setting the Autopilot Mode\n\nAutopilot mode can be set by submitting an HTTP `PUT` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/mode` endpoint containing a value from the list of available modes.\n\n```typescript\nHTTP PUT \"/signalk/v2/api/vessels/self/autopilots/{id}/mode\" {\"value\": \"gps\"}\n```\n\n### Getting the Autopilot Mode\n\nThe current autopilot mode can be retrieved by submitting an HTTP `GET` request to the `mode` endpoint.\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/{id}/mode\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"value\":\"gps\",\n}\n```\n\n### Setting the Target value\n\nAutopilot target value can be set by submitting an HTTP `PUT` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/target` endpoint containing the desired value.\n\n_Note: The value supplied should be a number within the valid range for the selected `mode`._\n\n```typescript\n// Set target to 129 degrees\nHTTP PUT \"signalk/v2/api/vessels/self/autopilots/{id}/target\" {\"value\": 129, \"units\": \"deg\"}\n\n// Set target to 0.349066 radians (20 degrees)\nHTTP PUT \"signalk/v2/api/vessels/self/autopilots/{id}/target\" {\"value\": 0.349066}\n```\n\nThe target value can be adjusted a +/- value by submitting an HTTP `PUT` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/target/adjust` endpoint with the value to add to the current `target` value.\n\n```typescript\n// Adjust target 2 degrees port\nHTTP PUT \"signalk/v2/api/vessels/self/autopilots/{id}/target/adjust\" {\"value\": -2, , \"units\": \"deg\"}\n\n// Adjust target 0.0349066 radians (2 degrees) starboard\nHTTP PUT \"signalk/v2/api/vessels/self/autopilots/{id}/target/adjust\" {\"value\": 0.0349066}\n```\n\n### Getting the current Target value\n\nThe current autopilot target value _(in radians)_ can be retrieved by submitting an HTTP `GET` request to the `target` endpoint.\n\n```typescript\nHTTP GET \"/signalk/v2/api/vessels/self/autopilots/{id}/target\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"value\": 2.2345,\n}\n```\n\n### Engaging / Disengaging the Autopilot\n\n#### Engaging the autopilot\n\nAn autopilot can be engaged by [setting it to a speciifc `state`](#setting-the-state) but it can also be engaged more generically by submitting an HTTP `POST` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/engage` endpoint.\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/engage\"\n```\n\n_Note: The resultant `state` into which the autopilot is placed will be determined by the **provider plugin** and the autopilot device it is communicating with._\n\n#### Disengaging the autopilot\n\nAn autopilot can be disengaged by [setting it to a speciifc `state`](#setting-the-state) but it can also be disengaged more generically by submitting an HTTP `POST` request to the `/signalk/v2/api/vessels/self/autopilots/{id}/disengage` endpoint.\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/disengage\"\n```\n\n_Note: The resultant `state` into which the autopilot is placed will be determined by the **provider plugin** and the autopilot device it is communicating with._\n\n### Perform a Tack\n\nTo send a command to the autopilot to perform a tack in the required direction, submit an HTTP `POST` request to `./autopilots/{id}/tack/{direction}` where _direction_ is either `port` or `starboard`.\n\n_Example: Tack to Port_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/tack/port\"\n```\n\n_Example: Tack to Starboard_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/tack/starboard\"\n```\n\n### Perform a Gybe\n\nTo send a command to the autopilot to perform a gybe in the required direction, submit an HTTP `POST` request to `/signalk/v2/api/vessels/self/autopilots/{id}/gybe/{direction}` where _direction_ is either `port` or `starboard`.\n\n_Example: Gybe to Port_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/gybe/port\"\n```\n\n_Example: Gybe to Starboard_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/gybe/starboard\"\n```\n\n### Steer to current destination\n\nWhen a course has been set to a GPS position or waypoint (`APB`, `RMB`, etc data is available) submitting an HTTP `POST` request to `./autopilots/{id}/courseCurrentPoint` will send commands to the autopilot to:\n\n1. Set the autopilot to the appropriate mode\n2. Activate / engage the autopilot.\n\n_Example:_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/courseNextPoint\"\n```\n\n### Advancing Waypoint\n\nTo send a command to the autopilot to advance to the next waypoint on a route, submit an HTTP `POST` request to `./autopilots/{id}/courseNextPoint`.\n\n_Example:_\n\n```typescript\nHTTP POST \"/signalk/v2/api/vessels/self/autopilots/{id}/courseNextPoint\"\n```\n\n### Dodging Obstacles\n\nTo address the various methods that the `dodge` function could be invoked on pilot devices, the API provides the following endpoints to provide the widest coverage possible:\n\n**To enter dodge mode at the current course**\n\n```typescript\nPOST \"/signalk/v2/api/vessels/self/autopilots/{id}/dodge\"\n```\n\n**To enter dodge mode and change course by 5 degrees starboard**\n\n```typescript\nPUT \"/signalk/v2/api/vessels/self/autopilots/{id}/dodge\" {\"value\": 5, \"units\": \"deg\"}\n```\n\n**To enter dodge mode and change course by 5 degrees port**\n\n```typescript\nPUT \"/signalk/v2/api/vessels/self/autopilots/{id}/dodge\" {\"value\": -5, \"units\": \"deg\"}\n```\n\n**To cancel dodge mode**\n\n```typescript\nDELETE \"/signalk/v2/api/vessels/self/autopilots/{id}/dodge\"\n```\n"
  },
  {
    "path": "docs/develop/rest-api/conventions.md",
    "content": "---\ntitle: API Conventions\n---\n\n# Signal K REST API Conventions\n\n## Overview\n\nThis document outlines the conventions used when defining Signal K REST APIs.\n\n- Managing Configuration\n- Multiple Devices\n- Multiple Providers\n\n---\n\n### Managing Configuration\n\nAPIs that provide configuration operations should provide operations under the `_config` path parameter.\n\n_Example: Set **apiOnly** mode in Course API_\n\n```shell\nHTTP POST \"/signalk/v2/api/vessels/self/course/_config/apiOnly\"\n```\n\n_Example: Clear **apiOnly** mode in Course API_\n\n```shell\nHTTP DELETE \"/signalk/v2/api/vessels/self/course/_config/apiOnly\"\n```\n\n---\n\n### Multiple Devices\n\nWhen an API supports the installation of multiple devices _(e.g. autopilots, radars, etc)_ it can designate one device to receive commands if a specific device / provider is not targeted.\n\nThis done by using the `_default` parameter in the request path in place of the device identifier.\n\n_Example: Engage the default autopilot_\n\n```shell\nHTTP POST \"/signalk/v2/api/vessels/self/steering/autopilots/_default/engage\"\n```\n\n_Example: Engage a specific autopilot_\n\n```shell\nHTTP POST \"/signalk/v2/api/vessels/self/steering/autopilots/raymarine-n2k/engage\"\n```\n\n_Example: Retrieve the status of the default autopilot_\n\n```shell\nHTTP GET \"/signalk/v2/api/vessels/self/steering/autopilots/_default\"\n```\n\n_Example: Retrieve the status of a specific autopilot_\n\n```shell\nHTTP GET \"/signalk/v2/api/vessels/self/steering/autopilots/raymarine-n2k\"\n```\n\n---\n\n### Multiple Providers\n\nSome APIs support the use of one or more _providers_ to provide:\n\n- An aggregated set of data from varied sources _(e.g. resources)_\n- The ability to interact with one or more services _(e.g. Weather providers)_\n\nIn these scenarios it is often required to perform operations to manage or target a provider.\n\nProvider specific operations can use either the:\n\n- `_providers` path parameter\n- `provider` query parameter.\n\n_Example: Retrieve the default provider servicing charts resources_\n\n```shell\nHTTP GET \"/signalk/v2/api/resources/charts/_providers/_default\"\n```\n\n_Example: Set the provider to handle creating new chart sources._\n\n```shell\nHTTP POST \"/signalk/v2/api/resources/charts/_providers/_default/my-chart-plugin\"\n```\n\n_Example: Create a new waypoint using the specified provider._\n\n```shell\nHTTP POST \"/signalk/v2/api/resources/waypoints?provider=my-plugin-id\"\n```\n\n---\n"
  },
  {
    "path": "docs/develop/rest-api/course_api.md",
    "content": "---\ntitle: Course API\n---\n\n# Course API\n\nThe _Course API_ provides common course operations under the path `/signalk/v2/api/vessels/self/navigation/course` ensuring that all related Signal K data model values are maintained and consistent. This provides a set of data that can be confidently used for _course calculations_ and _autopilot operation_.\n\nAdditionally, the Course API persists course information on the server to ensure data is not lost in the event of a server restart.\n\nClient applications use `HTTP` requests (`PUT`, `GET`,`DELETE`) to perform operations and retrieve course data.\n\nThe Course API also listens for destination information in the NMEA stream and will set / clear the destination accordingly _(e.g. NMEA0183 RMB sentence, NMEA2000 PGN 129284)_. See [Configuration](#Configuration) for more details.\n\n_Note: You can view the \\_Course API_ OpenAPI definition in the Admin UI (Documentation => OpenApi).\\_\n\n---\n\n## Setting a Course\n\nThe Course API provides endpoints for:\n\n1. Navigate to a location _(lat, lon)_\n1. Navigate to a waypoint _(href to waypoint resource)_\n1. Follow a Route _(href to a route resource)_.\n\n### 1. Navigate to a Location\n\nTo navigate to a point submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/destination` and supply the latitude & longitude of the destination point.\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {\"position\": {\"latitude\": -60.5, \"longitude\": -166.7}}\n```\n\n### 2. Navigate to a Waypoint\n\nTo navigate to a point submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/destination` and supply a reference to a waypoint resource entry under `/resources/waypoints`\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/destination' {\"href\": \"/resources/waypoints/5242d307-fbe8-4c65-9059-1f9df1ee126f\"}\n```\n\n### 3. Follow a Route\n\nTo follow a route submit a HTTP `PUT` request to `/signalk/v2/api/vessels/self/navigation/course/activeRoute` and supply a reference to a route resource entry under `/resources/routes`.\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute' {\"href\": \"/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f\"}\n```\n\nAdditional parameters can be set when following a route including:\n\n- Defining the point along the route to start at\n- The direction to follow the route (forward / reverse)\n\n_Example: Following a route in reverse direction:_\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute'\n{\n  \"href\": \"/resources/routes/5242d307-fbe8-4c65-9059-1f9df1ee126f\",\n  \"reverse\": true\n}\n```\n\n#### Advancing along a Route\n\nAs progress along a route is made, you can use the following endpoints to update the destination.\n\nTo set the destination to the next point along the route:\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint'\n```\n\nTo advance the destination to a point `n` places beyond the current destination point, supply a positive number representing the number of points to advance:\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {\"value\": 2}\n```\n\n_Sets destination to the point after the next in sequence._\n\nTo set the destination to the previous point along the route:\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {\"value\": -1}\n```\n\nTo set the destination to a point `n` places prior the current destination point, supply a negative number representing the number of points prior:\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/nextPoint' {\"value\": -2}\n```\n\n_Sets destination to the point two prior to the current destination._\n\nTo set the destination to a specific point along the route, supply the zero-based index of the point:\n\n_Example: 4th point along the route._\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/pointIndex' {\"value\": 3}\n```\n\n_Value contains the 'zero-based' index of the point along the route (i.e. 0 = 1st point, 1 = 2nd point, etc.)_\n\nTo reverse the direction along the route:\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/activeRoute/reverse'\n```\n\n#### Delta Messages\n\nThe Course API emits delta messages with the following paths when course information has been changed.\n\n_Note: Delta values reflect the relevant property of the Course Information data object as detailed in the\n[Retrieving Course Information](#retrieving-course-information) section._\n\n- `navigation.course.startTime`\n- `navigation.course.targetArrivalTime`\n- `navigation.course.arrivalCircle`\n- `navigation.course.activeRoute`\n- `navigation.course.nextPoint`\n- `navigation.course.previousPoint`\n\n## Retrieving Course Information\n\nCourse information is retrieved by submitting a HTTP `GET` request to `/signalk/v2/api/vessels/self/navigation/course`.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course'\n```\n\nThe contents of the response will reflect the operation used to set the current course. The `nextPoint` & `previousPoint` sections will always contain values but `activeRoute` will only contain values when a route is being followed.\n\n#### 1. Operation: Navigate to a location _(lat, lon)_\n\n_Example response:_\n\n```JSON\n{\n  \"startTime\": \"2023-01-27T01:47:39.785Z\",\n  \"targetArrivalTime\": \"2022-06-10T01:29:27.592Z\",\n  \"arrivalCircle\": 4000,\n  \"activeRoute\": null,\n  \"nextPoint\": {\n    \"type\": \"Location\",\n    \"position\": {\n      \"latitude\": -34.92084502261776,\n      \"longitude\": 131.54823303222656\n    }\n  },\n  \"previousPoint\": {\n    \"type\":\"VesselPosition\",\n    \"position\": {\n      \"latitude\": -34.82084502261776,\n      \"longitude\": 131.04823303222656\n    }\n  }\n}\n```\n\n#### 2. Operation: Navigate to a waypoint _(href to waypoint resource)_\n\n_Example response:_\n\n```JSON\n{\n  \"startTime\": \"2023-01-27T01:47:39.785Z\",\n  \"targetArrivalTime\": \"2022-06-10T01:29:27.592Z\",\n  \"arrivalCircle\": 4000,\n  \"activeRoute\": null,\n  \"nextPoint\": {\n    \"href\": \"/resources/waypoints/f24d72e4-e04b-47b1-920f-66b78e7b033e\",\n    \"type\": \"Waypoint\",\n    \"position\": {\n      \"latitude\": -34.92084502261776,\n      \"longitude\": 131.54823303222656\n    }\n  },\n  \"previousPoint\": {\n    \"type\":\"VesselPosition\",\n    \"position\": {\n      \"latitude\": -34.82084502261776,\n      \"longitude\": 131.04823303222656\n    }\n  }\n}\n```\n\n#### 3. Operation: Follow a Route _(href to a route resource)_.\n\n_Example response:_\n\n```JSON\n{\n  \"startTime\": \"2023-01-27T01:47:39.785Z\",\n  \"targetArrivalTime\": \"2022-06-10T01:29:27.592Z\",\n  \"arrivalCircle\": 1000,\n  \"activeRoute\": {\n    \"href\": \"/resources/routes/e24d72e4-e04b-47b1-920f-66b78e7b0331\",\n    \"pointIndex\": 0,\n    \"pointTotal\": 5,\n    \"reverse\": false,\n    \"name\": \"my route\",\n    \"waypoints\": [\n      {\n        \"latitude\": -34.92084502261776,\n        \"longitude\": 131.54823303222656\n      },\n      {\n        \"latitude\": -34.86621482446046,\n        \"longitude\": 132.10166931152344,\n      },\n      {\n        \"latitude\": -34.6309479733581,\n        \"longitude\": 132.23350524902344\n      },\n      {\n        \"latitude\": -34.63546778783319,\n        \"longitude\": 131.8867492675781\n      },\n      {\n        \"latitude\": -34.71000915922492,\n        \"longitude\": 131.82289123535156\n      }\n    ]\n  },\n  \"nextPoint\": {\n    \"type\": \"RoutePoint\",\n    \"position\": {\n      \"latitude\": -34.92084502261776,\n      \"longitude\": 131.54823303222656\n    }\n  },\n  \"previousPoint\": {\n    \"type\":\"VesselPosition\",\n    \"position\": {\n      \"latitude\": -34.82084502261776,\n      \"longitude\": 131.04823303222656\n    }\n  }\n}\n```\n\n## Cancelling navigation\n\nTo cancel the current course navigation and clear the course data.\n\n```typescript\nHTTP DELETE 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course'\n```\n\n_Note: This operation will NOT change the destination information coming from the NMEA input stream! If the NMEA source device is still emitting destination data this will reappear as the current destination._\n\nTo ignore destination data from NMEA sources see [Configuration](#configuration) below.\n\n## Configuration\n\nThe default configuration of the Course API will accept destination information from both API requests and NMEA stream data sources.\n\nFor NMEA sources, Course API monitors the the following Signal K paths populated by both the `nmea0183-to-signalk` and `n2k-to-signalk` plugins:\n\n- _navigation.courseRhumbline.nextPoint.position_\n- _navigation.courseGreatCircle.nextPoint.position_\n\nHTTP requests are prioritised over NMEA data sources, so making an API request will overwrite the destination information received from and NMEA source.\n\nNote: when the destination cleared using an API request, if the NMEA stream is emitting an active destination position, this will then be used by the Course API to populate course data.\n\n#### Ignoring NMEA Destination Information\n\nThe Course API can be configured to ignore destination data in the NMEA stream by enabling `apiOnly` mode.\n\nIn `apiOnly` mode destination information can only be set / cleared using HTTP API requests.\n\n- **`apiOnly` Mode = Off _(default)_**\n  - Destination data is accepted from both _HTTP API_ and _NMEA_ sources\n  - Setting a destination using the HTTP API will override the destination data received via NMEA\n  - When clearing the destination using the HTTP API, if destination data is received via NMEA this will then be used as the active destination.\n  - To clear destination sourced via NMEA, clear the destination on the source device.\n\n- **`apiOnly` Mode = On**\n  - Course operations are only accepted via the HTTP API\n  - NMEA stream data is ignored\n  - Switching to `apiOnly` mode when an NMEA sourced destination is active will clear the destination.\n\n#### Retrieving Course API Configuration\n\nTo retrieve the Course API configuration settings, submit a HTTP `GET` request to `/signalk/v2/api/vessels/self/navigation/course/_config`.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/_config'\n```\n\n_Example response:_\n\n```JSON\n{\n  \"apiOnly\": false\n}\n```\n\n#### Enable / Disable `apiOnly` mode\n\nTo enable `apiOnly` mode, submit a HTTP `POST` request to `/signalk/v2/api/vessels/self/navigation/course/_config/apiOnly`.\n\n_Enable apiOnly mode:_\n\n```typescript\nHTTP POST 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/_config/apiOnly'\n```\n\nTo disable `apiOnly` mode, submit a HTTP `DELETE` request to `/signalk/v2/api/vessels/self/navigation/course/_config/apiOnly`.\n\n_Disable apiOnly mode:_\n\n```typescript\nHTTP DELETE 'http://hostname:3000/signalk/v2/api/vessels/self/navigation/course/_config/apiOnly'\n```\n\n## Course Calculations\n\nWhilst not performing course calculations, the _Course API_ defines the paths to accommodate the values calculated during course navigation.\n\nClick [here](../plugins/course_calculations.md) for details.\n"
  },
  {
    "path": "docs/develop/rest-api/history_api.md",
    "content": "---\ntitle: History API\n---\n\n# History API\n\nThe _History API_ provides access to historical data, typically stored in a database. The actual storage backend is not defined by this API and can be implemented in various ways, typically as a plugin like [signalk-parquet](https://www.npmjs.com/package/signalk-parquet) and [signalk-to-influxdb2](https://www.npmjs.com/package/signalk-to-influxdb2). The most common use case for the API is to show graphs of past values.\n\nThe API is available under the path `/signalk/v2/api/history`.\n\n_Note: You can view the \\_History API_ OpenAPI definition in the Admin UI (Documentation => OpenApi).\\_\n\n---\n\n## Time Range Parameters\n\nThe time range for queries can be defined as a combination of **from**, **to** and **duration** parameters.\n\n- **from**: Start of the time range, inclusive as ISO 8601 timestamp (e.g. `2018-03-20T09:13:28Z`)\n- **to**: End of the time range, inclusive. Defaults to 'now' if omitted.\n- **duration**: Duration of the time range in milliseconds (integer) or as an ISO8601 Duration string (e.g. `PT15M`). Can be specified with either 'from' or 'to'. If they are both omitted is relative to 'now'.\n\n## Retrieving Historical Data\n\nTo retrieve historical data series for specific paths, submit a HTTP `GET` request to `/signalk/v2/api/history/values`.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/history/values?paths=navigation.speedOverGround&duration=PT1H'\n```\n\n### Query Parameters\n\n| Parameter    | Description                                                                                                                                                                                                                                                                                                                 | Required |\n| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |\n| `paths`      | Comma separated list of Signal K paths whose data should be retrieved. Optional aggregation methods for each path as postfix separated by a colon. Aggregation methods: 'average' \\| 'min' \\| 'max' \\| 'first' \\| 'last' \\| 'mid' \\| 'middle_index'. Example: `navigation.speedOverGround,navigation.speedThroughWater:max` | Yes      |\n| `context`    | Signal K context that the data is about, defaults to 'vessels.self'. Example: `vessels.urn:mrn:imo:mmsi:123456789`                                                                                                                                                                                                          | No       |\n| `resolution` | Length of data sample time window in milliseconds or as a time expression ('1s', '1m', '1h', '1d'). If resolution is not specified the server should provide data in a reasonable time resolution, depending on the time range in the request.                                                                              | No       |\n| `from`       | Start of the time range                                                                                                                                                                                                                                                                                                     | No       |\n| `to`         | End of the time range                                                                                                                                                                                                                                                                                                       | No       |\n| `duration`   | Duration of the time range                                                                                                                                                                                                                                                                                                  | No       |\n| `provider`   | Plugin id of the history provider to direct the request to. If not specified, the default provider is used. See [Providers](#providers).                                                                                                                                                                                    | No       |\n\n### Response Format\n\nThe response contains the requested data series with header information.\n\n```JSON\n{\n  \"context\": \"vessels.urn:mrn:imo:mmsi:123456789\",\n  \"range\": {\n    \"from\": \"2018-03-20T09:12:28Z\",\n    \"to\": \"2018-03-20T09:13:28Z\"\n  },\n  \"values\": [\n    {\n      \"path\": \"navigation.speedOverGround\",\n      \"method\": \"average\"\n    }\n  ],\n  \"data\": [\n    [\"2023-11-09T02:45:38.160Z\", 13.2],\n    [\"2023-11-09T02:45:39.160Z\", 13.4]\n  ]\n}\n```\n\nThe `data` array contains arrays where the first element is the timestamp in ISO 8601 format, and subsequent elements correspond to the values for the requested paths in order. Missing data for a path is returned as `null`.\n\n## Listing Available Contexts\n\nTo get a list of contexts that have some historical data available for a specified time range, submit a HTTP `GET` request to `/signalk/v2/api/history/contexts`.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/history/contexts?duration=P1D'\n```\n\n### Response Format\n\nReturns an array of context strings.\n\n```JSON\n[\n  \"vessels.urn:mrn:imo:mmsi:123456789\",\n  \"vessels.urn:mrn:imo:mmsi:987654321\"\n]\n```\n\n## Listing Available Paths\n\nTo get a list of paths that have some historical data available for a specified time range, submit a HTTP `GET` request to `/signalk/v2/api/history/paths`.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/history/paths?duration=P1D'\n```\n\n### Response Format\n\nReturns an array of path strings.\n\n```JSON\n[\n  \"navigation.speedOverGround\",\n  \"navigation.courseOverGroundTrue\"\n]\n```\n\n---\n\n## Providers\n\nThe History API supports the registration of multiple history provider plugins.\n\nThe first plugin registered is set as the _default_ provider and all requests will be directed to it.\n\nRequests can be directed to a specific provider by using the `provider` parameter in the request with the _id_ of the provider plugin.\n\n_Example:_\n\n```javascript\nGET \"/signalk/v2/api/history/values?paths=navigation.speedOverGround&duration=PT1H&provider=signalk-to-influxdb2\"\n```\n\n> [!NOTE] Any installed history provider can be set as the default. _See [Setting the Default Provider](#setting-the-default-provider)_\n\n### Listing Available Providers\n\nTo retrieve a list of installed history provider plugins, submit an HTTP `GET` request to `/signalk/v2/api/history/_providers`.\n\nThe response will be an object containing all the registered history providers, keyed by their plugin id, indicating whether each is assigned as the _default_.\n\n_Example:_\n\n```typescript\nHTTP GET \"/signalk/v2/api/history/_providers\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"signalk-to-influxdb2\": {\n    \"isDefault\": true\n  },\n  \"signalk-parquet\": {\n    \"isDefault\": false\n  }\n}\n```\n\n### Getting the Default Provider\n\nTo get the id of the _default_ provider, submit an HTTP `GET` request to `/signalk/v2/api/history/_providers/_default`.\n\n_Example:_\n\n```typescript\nHTTP GET \"/signalk/v2/api/history/_providers/_default\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"id\": \"signalk-to-influxdb2\"\n}\n```\n\n### Setting the Default Provider\n\nTo set / change the history provider that requests will be directed to, submit an HTTP `POST` request to `/signalk/v2/api/history/_providers/_default/{id}` where `{id}` is the identifier of the history provider to use as the _default_.\n\n_Example:_\n\n```typescript\nHTTP POST \"/signalk/v2/api/history/_providers/_default/signalk-parquet\"\n```\n"
  },
  {
    "path": "docs/develop/rest-api/notifications_api.md",
    "content": "---\ntitle: Notifications API\n---\n\n# Notifications API\n\nThe Notifications API enables the raising, actioning and centralised management of Signal K notifications and their associated alarms.\n\n## Overview\n\nNotifications are a special type Signal K update delta that convey the occurrence of an event or change in condition.\n\nThey contain a `path` value that starts with the text `notifications` and a payload with specific attributes to indicate:\n\n- The severity of the event / condition (`state`)\n- How the event / condition should be indicated to the operator (`method`)\n- What actions can be / have been taken (`status`)\n\n<img src=\"../../img/notification_manager.svg\" width=\"600px\">\n\nThe **Notifications API** introduces the following components into the Signal K server's\ndelta processing chain:\n\n1. Notification Manager: Provides centralised management for all notifications including the emission of notification deltas\n2. Input Handler: Inspects all incoming deltas and routes notification messages _(i.e. path starts with `notifications`)_ to the Notification Manager.\n3. Notification API: REST endpoints for raising and actioning notifications and their associated alarm.\n\n### Terminology\n\n> The Signal K specification uses the terms `notification` and `alarm` interchangably, whilst Signal K Server assigns notification deltas originating from NMEA2000 alarm PGNs with attributes with the term `alert`.\n\nFor consistency and clarity this document will use the the following terminology:\n\n- `notification` - A Signal K update delta message with a path starting with the text _notifications._\n- `alarm` - The communication of the event / condition to the operator.\n\n### Initial Release\n\nThe initial release of the Notifications API implements core functionality to attribute Signal K notifications to allow them to be actioned and managed, regardless of their source.\nIt does this by:\n\n- Placing notifications into their own `update` in the delta message\n- Assigning them a unique identifier\n- Adding a `status` property to the payload\n- Making available HTTP endpoints at `/signalk/v2/api/notifications` to perform actions.\n\n> **Note:** Actions are only available for notifications containing a payload containing `state` and `method` properties.\n\n### Target State\n\nSubsequent releases of Signal K server will contain enhancements to the **Notification API** to implement the remaining functionality including:\n\n- Creating and clearing notifications\n- Managing Alarm lifecycle\n- Raising specified alarms i.e. MOB\n- Plugin interface\n\n## Notification Payload\n\nThe Notification API adds the following attributes to the notification payload:\n\n- `id` - Unique identifier for use when taking action.\n- `status` - An object detailing the actions that can be and have been taken.\n\n_Example_\n\n```json\n{\n \"state\": \"...\",\n \"method\": [..],\n \"message\": \"...\",\n \"id\": \"a987be59-d26f-46db-afeb-83987b837a8f\",\n \"status\": {\n      \"silenced\": true,\n      \"acknowledged\": false,\n      \"canSilence\": true,\n      \"canAcknowledge\": true,\n      \"canClear\": true\n   }\n}\n```\n\n### Notification Status\n\nThe `status` attribute is added to all notifications that have a payload containing `state` and `method` attributes.\n\nThe following status properties indicate the actions that **CAN be taken**. Their values are determined by the notification's `state` attribute:\n\n- `canSilence` - indicates whether the Alarm associated with this notification can be silenced\n- `canAcknowledge` - indicates whether the Alarm associated with this notification can be acknowledged\n- `canClear` - Indicates that the associated Alarm can be cleared (triggering condition has been resolved). _The value is `false` when the notification is not originated by the Notifcations API._\n\nThe remaining properties indicate the actions that **HAVE been taken**:\n\n- `silenced` - `true` when silence action has been taken\n- `acknowledged` - `true` when acknowledge action has been taken\n\n## Taking Action\n\nTo take action on the alarm associated with a notification, send an HTTP POST request to `/signalk/v2/api/notifications/{notificationId}/{action}`.\n\n### Silencing an Alarm\n\n> Note: The silence action is only available for alarms associated with notifications having `status.canSilence = true`.\n\nTo silence the alarm send an HTTP POST request to `/signalk/v2/api/notifications/{notificationId}/silence`.\n\nThe result of a successful silence request is that the:\n\n- `sound` value is removed from the `method` attribute\n- `status.silenced` is set to `true`\n\nIf the silence action is requested when the `status.canSilence` property is `false`, the alarm will not be silenced and an ERROR response is returned to the requestor.\n\n> **Note:** Notifications with `state = emergency` cannot be silenced regardless of the value of `status.canSilence`.\n\n_Example: Notification payload prior to `silence` action request._\n\n```JSON\n{\n   \"message\": \"Engine temperature is high!\",\n   \"method\": [\"sound\", \"visual\"],\n   \"state\": \"alert\",\n   \"id\": \"a987be59-d26f-46db-afeb-83987b837a8f\",\n   \"status\": {\n      \"silenced\": false,\n      \"acknowledged\": false,\n      \"canSilence\": true,\n      \"canAcknowledge\": true,\n      \"canClear\": true\n   }\n}\n```\n\n_Silence action request_\n\n```typescript\nHTTP POST \"/signalk/v2/api/notifications/a987be59-d26f-46db-afeb-83987b837a8f/silence\"\n```\n\n_Notification: post `silence` request_\n\n```JSON\n{\n   \"message\": \"Engine temperature is high!\",\n   \"method\": [\"visual\"],\n   \"state\": \"alert\",\n   \"id\": \"a987be59-d26f-46db-afeb-83987b837a8f\",\n   \"status\": {\n      \"silenced\": true,\n      \"acknowledged\": false,\n      \"canSilence\": true,\n      \"canAcknow;edge\": true,\n      \"canClear\": true\n   }\n}\n```\n\n### Acknowledging an Alarm\n\n> Note: The acknowledge action is only available for alarms associated with notifications having `status.canAcknowledge` = `true`.\n\nTo acknowledge the alarm send an HTTP POST request to `/signalk/v2/api/notifications/{notificationId}/acknowledge`.\n\nThe result of a successful acknowledge request is that the:\n\n- Both `sound` & `visual` values are removed from the `method` attribute\n- `status.acknowledged` is set to `true`\n\nIf the acknowledge action is requested when the `status.canAcknowledge` property is `false`, the alarm will not be acknowledged and an ERROR response is returned to the requestor.\n\n> **Note:** Notifications with `state = emergency` will only have the `sound` value removed from `method`.\n\n_Example: Notification prior to `acknowledge` request._\n\n```JSON\n{\n   \"message\": \"Engine temperature is high!\",\n   \"method\": [\"sound\", \"visual\"],\n   \"state\": \"alert\",\n   \"id\": \"a987be59-d26f-46db-afeb-83987b837a8f\",\n   \"status\": {\n      \"silenced\": true,\n      \"acknowledged\": false,\n      \"canSilence\": true,\n      \"canAcknow;edge\": true,\n      \"canClear\": true\n   }\n}\n```\n\n_Acknowledge action request_\n\n```typescript\nHTTP POST \"/signalk/v2/api/notifications/a987be59-d26f-46db-afeb-83987b837a8f/acknowledge\"\n```\n\n_Notification: post `acknowledge` request_\n\n```JSON\n{\n   \"message\": \"Engine temperature is high!\",\n   \"method\": [],\n   \"state\": \"alert\",\n   \"id\": \"a987be59-d26f-46db-afeb-83987b837a8f\",\n   \"status\": {\n      \"silenced\": true,\n      \"acknowledged\": true,\n      \"canSilence\": true,\n      \"canAcknow;edge\": true,\n      \"canClear\": true\n   }\n}\n```\n\n## NMEA2000 Alert Handling\n\nNMEA2000 alarm PGNs are processed by `n2k-signalk` which generates Signal K notification deltas as follows:\n\n- Path value starting with `notifications.nmea.*`\n- PGN fields mapped to the `state`, `method` and `message` attributes\n- Additional attributes capturing PGN field values added to the notification payload.\n\nThe **Notification API** uses these additional PGN attributes to populate the notification `status` to align the available actions and any action taken.\n\n_Example: Signal K notification from NMEA2000 Alarm PGN_\n\n```json\n{\n   \"path\": \"notifications.nmea.alarm.navigational.20.8196\" //\n   \"value\": {\n      \"state\": \"alarm\",\n      \"method\": [\n         \"visual\",\n         \"sound\"\n      ],\n      \"message\": \"Highwater\",\n      \"alertType\": \"Alarm\",\n      \"alertCategory\": \"Navigational\",\n      \"alertSystem\": 20,\n      \"alertId\": 8196,\n      \"dataSourceNetworkIDNAME\": 1240095849160158000,\n      \"dataSourceInstance\": 215,\n      \"dataSourceIndex-Source\": 1,\n      \"occurrence\": 2,\n      \"temporarySilenceStatus\": \"No\",\n      \"acknowledgeStatus\": \"No\",\n      \"escalationStatus\": \"No\",\n      \"temporarySilenceSupport\": \"No\",\n      \"acknowledgeSupport\": \"Yes\",\n      \"escalationSupport\": \"No\",\n      \"acknowledgeSourceNetworkIDNAME\": 1233993293343261200,\n      \"triggerCondition\": \"Auto\",\n      \"thresholdStatus\": \"Threshold Exceeded\",\n      \"alertPriority\": 0,\n      \"alertState\": \"Active\"\n      }\n}\n```\n\n### NMEA2000 -> Signal K `state` Mapping\n\nNMEA2000 alarm states are mapped to Signal K notification `state` as follows:\n\n| NMEA2000 State  | Signal K State | Description                                                                                                                        |\n| --------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| Emergency Alarm | `emergency`    | A life-threatening condition                                                                                                       |\n| Alarm           | `alarm`        | Immediate action is required to prevent loss of life or equipment damage                                                           |\n| Warning         | `warn`         | Indicates a condition that requires immediate attention but not immediate action                                                   |\n| Caution         | `alert`        | Indicates a safe or normal condition which is brought to the operators attention to impart information for routine action purposes |\n| --              | `normal`       | Indicates normal operation.                                                                                                        |\n| --              | `nominal`      | This is can be used to indicate value has entered a range within the normal zone                                                   |\n\n_Reference: [Signal K Specification](https://signalk.org/specification/1.7.0/doc/data_model_metadata.html?highlight=emergency#metadata-for-a-data-value)_\n\n### NMEA2000 alarm `method` Mapping\n\nThe `n2k-signalk` plugin will set a notification's `method = []` when the NMEA2000 `acknowledgeStatus` OR `temporarySilenceStatus` attributes are set to **\"Yes\"**.\n\nThe **Notifications API** will re-write the `method` attribute value, as outlined above in [Silencing a Notification](#silencing-a-notification) and [Acknowledging a Notification](#acknowledging-a-notification), to ensure alignment across all notifications regardless of source.\n"
  },
  {
    "path": "docs/develop/rest-api/plugin_api.md",
    "content": "---\ntitle: Plugin API\n---\n\n# Plugin configuration HTTP API\n\n## `GET /plugins/`\n\nGet a list of installed plugins and their configuration data.\n\n## `GET /plugins/<pluginid>`\n\nGet information from an installed plugin.\n\nExample result:\n\n```json\n{\n  \"enabled\": false,\n  \"id\": \"marinetrafficreporter\",\n  \"name\": \"Marine Traffic Reporter\"\n}\n```\n\n## `POST /plugins/<pluginid>/configure`\n\nSave configuration data for a plugin. Stops and starts the plugin as a side effect.\n"
  },
  {
    "path": "docs/develop/rest-api/proposed/README.md",
    "content": "---\ntitle: Proposed APIs\nchildren:\n  - anchor_api.md\n---\n\n# PROPOSED APIs\n\nThe following APIs have been identified for future development:\n\n| Proposed API                | Description                                                             | Endpoint                         |\n| --------------------------- | ----------------------------------------------------------------------- | -------------------------------- |\n| _[`Anchor`](anchor_api.md)_ | Provide endpoints to perform operations and facilitate an anchor alarm. | `vessels/self/navigation/anchor` |\n\n---\n"
  },
  {
    "path": "docs/develop/rest-api/proposed/anchor_api.md",
    "content": "---\ntitle: Anchor API\n---\n\n# Anchor API\n\n#### (Proposed)\n\n_Note: The definition of this API is currently under development and the information provided here is likely to change._\n\nThe Signal K server Anchor API will define endpoints that can be implemented by plugins for the purposes of implementing and and operating an anchor alarm.\n\nA plugin that implements this API must ensure that all endpoints and operations comply with the definition to ensure applications making requests receive reliable and consistent results.\n\nThe following HTTP requests are proposed:\n\nPOST `/navigation/anchor/drop` (Commence lowering of anchor)\n\nPOST `/navigation/anchor/radius` { value: number } (Set the radius of the alarm area)\n\nPOST `/navigation/anchor/reposition` { rodeLength: number, anchorDepth: number } (Calculate anchor position)\n\nPOST `/navigation/anchor/raise` (Commence raising the anchor)\n"
  },
  {
    "path": "docs/develop/rest-api/radar_api.md",
    "content": "---\ntitle: Radar API\n---\n\n# Radar API\n\nThe Signal K server Radar API provides a unified interface for viewing and controlling marine radar equipment from any manufacturer. The API is **(web)app-friendly**: clients can build dynamic UIs that automatically adapt to any radar's capabilities without hardcoding support for specific brands or models.\n\nThis is version v3.1.0 of the API. The version will use semver for version updates.\n\nRadar functionality is provided by \"provider plugins\" that handle the interaction with radar hardware and stream spoke data to connected clients.\n\nRequests to the Radar API are made to HTTP REST endpoints rooted at `/signalk/v2/api/vessels/self/radars` or the Signal K websocket stream at `/signalk/v1/stream`.\n\nLike `signalk-server` vis-a-vis the Signal K specification there is a reference implementation\nfor this API, which may very well remain the only implementation of the server side of the API,\nat https://github.com/MarineYachtRadar/mayara-server. However, like Signal K itself, there is no\nreason it needs to remain the only implementation. In particular it would be ultra cool if some\nmanufacturer of marine hardware would implement this API -- even though this is very unlikely.\n\n## Design Philosophy: Capabilities-Driven API\n\nThis API uses a **self-describing schema** pattern that benefits both radar provider developers and client/chartplotter developers.\n\n### For Client/Chartplotter Developers\n\nBuild a **single, adaptive UI** that works with any radar—now and in the future—without hardcoding brand-specific logic.\n\n**How it works:**\n\n1. **Fetch capabilities once** when a radar connects — this tells you what the radar can do\n2. **Generate UI widgets from the schema:**\n   - `dataType: \"number\"` → Slider with min/max/step\n   - `dataType: \"enum\"` with `descriptions` → Dropdown or button group\n   - `dataType: \"string\"` → Text input field\n   - `dataType: \"button\"` → Action button\n   - `dataType: \"sector\"` → Angle range selector (start/end angles)\n   - `dataType: \"zone\"` → Guard zone editor (angles + distances)\n   - `dataType: \"rect\"` → Rectangular exclusion zone (two corners + width)\n   - `isReadOnly: true` → Display-only label\n3. **Subscribe to updates for current values** — the schema tells you what to expect\n4. **Connect to websocket for spoke data** - receive the binary spoke data stream\n\n**Example: Rendering a Gain Control**\n\n```shell\n$ curl -s http://10.56.0.1:6502/signalk/v2/api/vessels/self/radars/nav1034A/capabilities | jq '.controls.gain'\n{\n  \"category\": \"base\",\n  \"dataType\": \"number\",\n  \"description\": \"How sensitive the radar is to returning echoes\",\n  \"hasAuto\": true,\n  \"hasAutoAdjustable\": false,\n  \"id\": 4,\n  \"maxValue\": 100.0,\n  \"minValue\": 0.0,\n  \"name\": \"Gain\",\n  \"stepValue\": 1.0\n}\n$ curl -s http://10.56.0.1:6502/signalk/v2/api/vessels/self/radars/nav1034A/controls/gain\n{\"auto\":false,\"value\":58}\n```\n\nYour UI renders:\n\n- Mode toggle: `[Auto] [Manual]`\n- Value slider: `0 ----[58]---- 100` (disabled or hidden when mode=auto)\n\nWhether it's a Furuno DRS4D-NXT with 20, a Navico HALO with 40 controls or a basic radar with 5 controls, the same client code handles both.\n\n### For Radar Provider Developers (Plugin Authors)\n\nDifferent manufacturers have vastly different hardware capabilities, control sets, value ranges, and operating modes. Instead of clients hardcoding knowledge about each model, your provider plugin **declares** what the radar can do:\n\n1. **Capabilities** — hardware capabilities (Doppler, dual-range, no-transmit zones, supported ranges)\n2. **Controls** — schema for each control (type, valid values, modes, read-only status)\n\n## Control Categories\n\n| Category       | Description                  | Examples                                           |\n| -------------- | ---------------------------- | -------------------------------------------------- |\n| `base`         | Available on all radars      | power, range, gain, sea, rain                      |\n| `targets`      | Target tracking settings     | targetExpansion, targetTrails                      |\n| `guardZones`   | Guard zone configuration     | guardZone1, guardZone2                             |\n| `trails`       | Trail display settings       | trailsTime, clearTrails                            |\n| `advanced`     | Model-specific features      | dopplerMode, beamSharpening, interferenceRejection |\n| `installation` | Setup/configuration settings | antennaHeight, bearingAlignment, noTransmitSector1 |\n| `info`         | Read-only information        | serialNumber, firmwareVersion, transmitTime        |\n\nRead-only information (serialNumber, firmwareVersion, operatingHours) is exposed as controls with `isReadOnly: true`. Some controls are **dynamically** read-only when a particular mode is set. This is handled with an optional `allowed: <bool>` field in the control value.\n\nSome further considerations as how to show controls:\n\n- Within each category, all controls have a numeric `id` field which may be used for ordering.\n- The `advanced` and especially the `installation` categories could be shown in a different panel.\n- In particular the `installation` controls are typically configured once.\n- The `power` and `range` controls are used often and should be easy to be controlled.\n- The `gain`, `sea` and `rain` controls are usually represented graphically on a PPI window.\n\n## API Overview\n\n```text\n/signalk/v2/api/vessels/self/radars\n├── GET                              → List all active radars\n├── /interfaces\n│   └── GET                          → List network interfaces and listener status\n└── /{radar_id}\n    ├── /capabilities GET            → Get radar capabilities and control definitions\n    ├── /controls\n    │   ├── GET                      → Get all control values\n    │   └── /{control_id}\n    │       ├── GET                  → Get single control value\n    │       └── PUT                  → Set single control value\n    ├── /spokes                      → WebSocket (spoke data in binary format)\n    └── /targets\n        ├── GET                      → List tracked targets\n        ├── POST                     → Acquire target manually\n        └── /{target_id}\n            └── DELETE               → Cancel target tracking\n\n/signalk/v1/stream                   → WebSocket (control values and targets for all radars)\n```\n\n## REST API\n\n### Listing All Radars\n\nRetrieve all available radars with their current info:\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars\"\n```\n\n_Response:_\n\n```json\n{\n  \"nav1034A\": {\n    \"brand\": \"Navico\",\n    \"model\": \"HALO\",\n    \"name\": \"HALO 034A\",\n    \"radarIpAddress\": \"192.168.1.50\",\n    \"spokeDataUrl\": \"ws://192.168.1.100:8080/signalk/v2/api/vessels/self/radars/nav1034A/spokes\",\n    \"streamUrl\": \"ws://192.168.1.100:8080/signalk/v1/stream\"\n  },\n  \"nav1034B\": {\n    \"brand\": \"Navico\",\n    \"model\": \"HALO\",\n    \"name\": \"HALO 034B\",\n    \"radarIpAddress\": \"192.168.1.50\",\n    \"spokeDataUrl\": \"ws://192.168.1.100:8080/signalk/v2/api/vessels/self/radars/nav1034B/spokes\",\n    \"streamUrl\": \"ws://192.168.1.100:8080/signalk/v1/stream\"\n  }\n}\n```\n\n### Network Interfaces\n\nCheck which network interfaces are available and which radar brands are listening:\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars/interfaces\"\n```\n\n_Response:_\n\n```json\n{\n  \"brands\": [\"Navico\", \"Furuno\", \"Raymarine\"],\n  \"interfaces\": {\n    \"en0\": {\n      \"status\": \"Ok\",\n      \"ip\": \"192.168.1.100\",\n      \"netmask\": \"255.255.255.0\",\n      \"listeners\": {\n        \"Navico\": \"Active\",\n        \"Furuno\": \"No match for 172.31.255.255\",\n        \"Raymarine\": \"Listening\"\n      }\n    },\n    \"en1\": {\n      \"status\": \"WirelessIgnored\"\n    }\n  }\n}\n```\n\nThis endpoint is useful for diagnosing network configuration issues when radars are not being detected.\n\n### Getting Radar Capabilities\n\nThe capability manifest describes everything a radar can do. Clients should fetch this at the beginning of a session. The contents do not change during radar operation.\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars/{radar_id}/capabilities\"\n```\n\n_Response:_\n\n```json\n{\n  \"maxRange\": 74080,\n  \"minRange\": 50,\n  \"supportedRanges\": [\n    50, 75, 100, 250, 500, 750, 1000, 1500, 2000, 3000, 4000, 6000, 8000, 12000,\n    16000, 24000, 36000, 48000, 64000, 74080\n  ],\n  \"spokesPerRevolution\": 2048,\n  \"maxSpokeLength\": 1024,\n  \"pixelValues\": 16,\n  \"hasDoppler\": true,\n  \"hasDualRadar\": false,\n  \"hasDualRange\": true,\n  \"hasSparseSpokes\": false,\n  \"noTransmitSectors\": 2,\n  \"controls\": {\n    \"gain\": {\n      \"id\": 4,\n      \"name\": \"Gain\",\n      \"description\": \"How sensitive the radar is to returning echoes\",\n      \"category\": \"base\",\n      \"dataType\": \"number\",\n      \"minValue\": 0.0,\n      \"maxValue\": 100.0,\n      \"stepValue\": 1.0,\n      \"hasAuto\": true,\n      \"hasAutoAdjustable\": false\n    }\n  },\n  \"legend\": {\n    \"lowReturn\": 1,\n    \"mediumReturn\": 8,\n    \"strongReturn\": 13,\n    \"targetBorder\": 17,\n    \"dopplerApproaching\": 18,\n    \"dopplerReceding\": 19,\n    \"historyStart\": 20,\n    \"pixelColors\": 16,\n    \"pixels\": [\n      { \"type\": \"normal\", \"color\": { \"r\": 0, \"g\": 0, \"b\": 0, \"a\": 0 } },\n      { \"type\": \"normal\", \"color\": { \"r\": 0, \"g\": 0, \"b\": 51, \"a\": 255 } }\n    ]\n  }\n}\n```\n\nCapability fields:\n\n1. `hasDoppler` - if true, the radar can detect boats or objects approaching or receding and emits separate pixel colors for these.\n2. `hasDualRadar` - if true, the physical radome reports itself as two independent radars that can be set to different ranges and modes. Currently only Navico 4G and HALO support this.\n3. `hasDualRange` - mutually exclusive with `hasDualRadar`, indicates a more limited form of supporting two ranges with one device.\n4. `minRange` and `maxRange` - define what ranges the radar supports (in meters).\n5. `supportedRanges` - list of all discrete range values the radar supports (in meters).\n6. `maxSpokeLength` and `spokesPerRevolution` - define how many pixels the radar produces each revolution.\n7. `noTransmitSectors` - how many sectors the radar can stop transmitting to avoid obstacles like masts.\n8. `pixelValues` - number of distinct pixel intensity values.\n9. `hasSparseSpokes` - if true, the radar produces fewer spokes per revolution than `spokesPerRevolution` indicates (see [Spoke skipping](#spoke-skipping)).\n\n### Legend\n\nAll spokes are sent with one byte per pixel. The legend explains what each byte value represents.\n\n```json\n{\n  \"lowReturn\": 1,\n  \"mediumReturn\": 8,\n  \"strongReturn\": 13,\n  \"dopplerApproaching\": 18,\n  \"dopplerReceding\": 19,\n  \"historyStart\": 20,\n  \"pixelColors\": 16,\n  \"pixels\": [\n    { \"type\": \"normal\", \"color\": \"#00000000\" },\n    { \"type\": \"normal\", \"color\": \"#0000ffff\" },\n    { \"type\": \"dopplerApproaching\", \"color\": \"#ff00ffff\" },\n    { \"type\": \"dopplerReceding\", \"color\": \"#00ff00ff\" },\n    { \"type\": \"history\", \"color\": \"#454545ff\" }\n  ]\n}\n```\n\nThe `lowReturn`, `mediumReturn`, and `strongReturn` indicate offsets in the array, typically used for smoothing algorithms.\n\nIf the radar doesn't implement Doppler, the `dopplerApproaching` and `dopplerReceding` fields will be null. If the provider doesn't implement target trails, `historyStart` will be null.\n\n### Dual range/radar\n\nThere are two different ways that radars handle \"dual\" ranges.\n\nNavico radars implement this by acting\nas if both radars are full independent, to the point where both radars use different ports and IP addresses.\nThey can be seen to be dependent in that if you change some controls they also change on the other radar.\nThe NoTransmitZones are examples of such controls.\nThese radars therefore also show up as two radars in the API.\nAs long as clients listen to updates to controls, which they should do anyway to be able to function in a setting where there is for instance a MFD device, they can assume that all controls can be set.\n\nFuruno radars do this in a way where the second range shares as many control settings as possible.\nCurrently there is no support for Furuno dual range yet and its impact on the API is unknown.\n\n### Controls\n\nThe `controls` object in capabilities lists all controls the radar supports. Control data types:\n\n| dataType | Description                              |\n| -------- | ---------------------------------------- |\n| number   | Numeric value with min/max/step          |\n| enum     | Discrete set of values with descriptions |\n| string   | Text value                               |\n| button   | Action trigger (no value)                |\n| sector   | Angle range (start/end)                  |\n| zone     | Guard zone (angles + distances)          |\n| rect     | Rectangular exclusion zone               |\n\n1. **number**\n\n```json\n{\n  \"id\": 47,\n  \"name\": \"Transmit time\",\n  \"description\": \"How long the radar has been transmitting over its lifetime\",\n  \"category\": \"info\",\n  \"dataType\": \"number\",\n  \"isReadOnly\": true,\n  \"minValue\": 0.0,\n  \"maxValue\": 3599996400.0,\n  \"stepValue\": 3600.0,\n  \"units\": \"s\"\n}\n```\n\nThe `units` field indicates the unit of measurement for the control value. A conforming server implementation sends only SI units to clients:\n\n| Category         | SI Unit            | Abbreviation |\n| ---------------- | ------------------ | ------------ |\n| Distance         | Meters             | `m`          |\n| Speed            | Meters per second  | `m/s`        |\n| Angle            | Radians            | `rad`        |\n| Rotational speed | Radians per second | `rad/s`      |\n| Duration         | Seconds            | `s`          |\n\nNote how in the above example the server has converted a value in hours (3600 seconds) to seconds to conform to the above, but the client can convert the value back to hours for representation to\na human.\n\nA conforming API server will allow the following units to be specified when receiving values from\na client:\n\n| Category         | Unit               | Abbreviation |\n| ---------------- | ------------------ | ------------ |\n| Distance         | Meters             | `m`          |\n| Distance         | Kilometers         | `km`         |\n| Distance         | Nautical miles     | `nm`         |\n| Speed            | Meters per second  | `m/s`        |\n| Speed            | Knots              | `kn`         |\n| Angle            | Radians            | `rad`        |\n| Angle            | Degrees            | `deg`        |\n| Rotational speed | Radians per second | `rad/s`      |\n| Rotational speed | Rotations/minute   | `rpm`        |\n| Duration         | Seconds            | `s`          |\n| Duration         | Minutes            | `min`        |\n| Duration         | Hours              | `h`          |\n\n2. **enum**\n\n```json\n{\n  \"id\": 0,\n  \"name\": \"Power\",\n  \"description\": \"Radar operational state\",\n  \"category\": \"base\",\n  \"dataType\": \"enum\",\n  \"minValue\": 0.0,\n  \"maxValue\": 3.0,\n  \"stepValue\": 1.0,\n  \"descriptions\": {\n    \"0\": \"Off\",\n    \"1\": \"Standby\",\n    \"2\": \"Transmit\",\n    \"3\": \"Preparing\"\n  },\n  \"validValues\": [1, 2]\n}\n```\n\nThe `validValues` array indicates which values can be set by clients. The `power` control guarantees that at least these values can be set across all radars: 1 (Standby) and 2 (Transmit).\n\n3. **string**\n\n```json\n{\n  \"id\": 53,\n  \"name\": \"Custom name\",\n  \"description\": \"User defined name for the radar\",\n  \"category\": \"advanced\",\n  \"dataType\": \"string\"\n}\n```\n\n4. **button**\n\nA button triggers an action without needing a value:\n\n```json\n{\n  \"id\": 15,\n  \"name\": \"Clear trails\",\n  \"description\": \"Clear target trails\",\n  \"category\": \"trails\",\n  \"dataType\": \"button\"\n}\n```\n\n5. **sector**\n\n```json\n{\n  \"id\": 35,\n  \"name\": \"No Transmit sector\",\n  \"description\": \"First no-transmit sector\",\n  \"category\": \"installation\",\n  \"dataType\": \"sector\",\n  \"hasEnabled\": true,\n  \"minValue\": -3.141592653589793,\n  \"maxValue\": 3.141592653589793,\n  \"stepValue\": 0.0017453292519943296,\n  \"units\": \"rad\"\n}\n```\n\nA sector defines a start and end angle from -π to +π radians, plus an enabled flag. The value for start is transmitted in `value` and the end in `endValue`.\n\n```shell\n$ curl -s http://localhost:6502/signalk/v2/api/vessels/self/radars/nav1034A/controls/noTransmitSector1\n{\"enabled\":true,\"value\":-1.5533,\"endValue\":-1.2217}\n```\n\n6. **zone**\n\n```json\n{\n  \"id\": 16,\n  \"name\": \"Guard zone\",\n  \"description\": \"First guard zone for target detection\",\n  \"category\": \"guardZones\",\n  \"dataType\": \"zone\",\n  \"hasEnabled\": true,\n  \"minValue\": -3.141592653589793,\n  \"maxValue\": 3.141592653589793,\n  \"maxDistance\": 100000.0,\n  \"units\": \"rad\"\n}\n```\n\nA zone defines five attributes: start angle, end angle, start distance, end distance, and enabled.\n\n```shell\n$ curl -s http://localhost:6502/signalk/v2/api/vessels/self/radars/nav1034A/controls/guardZone1\n{\"enabled\":true,\"value\":-0.5585,\"endValue\":1.7104,\"startDistance\":100.0,\"endDistance\":232.0}\n```\n\n7. **rect**\n\n```json\n{\n  \"id\": 60,\n  \"name\": \"Exclusion zone\",\n  \"description\": \"Rectangular exclusion zone\",\n  \"category\": \"guardZones\",\n  \"dataType\": \"rect\",\n  \"hasEnabled\": true,\n  \"maxValue\": 100000.0\n}\n```\n\nA rect defines a rectangular zone using two corners and a perpendicular width. The corners (x1, y1) and (x2, y2) define one edge of the rectangle in meters relative to the radar position (positive X is starboard, positive Y is ahead). The width extends perpendicular to this edge.\n\n```shell\n$ curl -s http://localhost:6502/signalk/v2/api/vessels/self/radars/nav1034A/controls/exclusionZone1\n{\"enabled\":true,\"x1\":-50.0,\"y1\":100.0,\"x2\":50.0,\"y2\":100.0,\"width\":200.0}\n```\n\n## Radar Control\n\nControlling the radar can be done via HTTP REST requests or via the stream websocket.\n\n### Getting All Control Values\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars/{radar_id}/controls\"\n```\n\n_Response:_\n\n```json\n{\n  \"gain\": { \"auto\": false, \"value\": 50 },\n  \"sea\": { \"auto\": true, \"autoValue\": 25, \"value\": 30 },\n  \"range\": { \"value\": 3000 }\n}\n```\n\n### Getting a Single Control Value\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars/{radar_id}/controls/{control_id}\"\n```\n\n_Response:_\n\n```json\n{ \"auto\": false, \"value\": 50 }\n```\n\n### Setting a Control Value\n\n```text\nHTTP PUT \"/signalk/v2/api/vessels/self/radars/{radar_id}/controls/{control_id}\"\n```\n\n**Simple numeric control:**\n\n```json\n{ \"value\": 75 }\n```\n\n**Control with auto mode:**\n\n```json\n{ \"auto\": false, \"value\": 75 }\n```\n\nor just change auto mode:\n\n```json\n{ \"auto\": true }\n```\n\n**Control with auto adjustment (e.g., Sea on HALO):**\n\nWhen in auto mode, some controls accept an adjustment value:\n\n```json\n{ \"auto\": true, \"autoValue\": -20 }\n```\n\n**Sector control:**\n\n```json\n{ \"enabled\": true, \"value\": -1.5533, \"endValue\": -1.2217 }\n```\n\n**Zone control:**\n\n```json\n{\n  \"enabled\": true,\n  \"value\": -0.5585,\n  \"endValue\": 1.7104,\n  \"startDistance\": 100.0,\n  \"endDistance\": 500.0\n}\n```\n\n**Button control:**\n\nFor buttons, send an empty body or `{}` - the PUT request itself triggers the action.\n\n### Control Value Fields\n\nControl values contain different fields depending on the control's `dataType` (defined in the capability schema).\n\n**Common fields**:\n\n| Field       | Description                                                       |\n| ----------- | ----------------------------------------------------------------- |\n| `value`     | The control value (numeric or string) (if dataType is not `rect`) |\n| `auto`      | Whether automatic mode is enabled (if `hasAuto` is true)          |\n| `autoValue` | Adjustment when auto=true (if `hasAutoAdjustable` is true)        |\n| `timestamp` | ISO 8601 timestamp when value was last changed                    |\n\n**dataType-specific fields**:\n\n| Field           | dataType           | Description                           |\n| --------------- | ------------------ | ------------------------------------- |\n| `enabled`       | sector, zone, rect | Whether the control is enabled        |\n| `endValue`      | sector, zone       | End angle (radians)                   |\n| `startDistance` | zone               | Inner radius (meters)                 |\n| `endDistance`   | zone               | Outer radius (meters)                 |\n| `x1`            | rect               | First corner X (meters, starboard +)  |\n| `y1`            | rect               | First corner Y (meters, ahead +)      |\n| `x2`            | rect               | Second corner X (meters, starboard +) |\n| `y2`            | rect               | Second corner Y (meters, ahead +)     |\n| `width`         | rect               | Perpendicular width (meters)          |\n\n## ARPA Target Tracking\n\nThe Radar API defines ARPA (Automatic Radar Plotting Aid) target tracking with CPA/TCPA calculations and SignalK notification integration.\n\n`mayara-server` fully supports both ARPA and MARPA, but this is an optional part of the API. When a server does not support it it shall\nreturn HTTP status 501.\n\nIf the radar is a dual-radar device then `mayara-server` has a CLI option `--merge-targets`, when this\nis used targets will be shared between both ranges and move from one radar to another.\n\n### Listing Tracked Targets\n\n```text\nHTTP GET \"/signalk/v2/api/vessels/self/radars/{id}/targets\"\n```\n\n_Response:_\n\n```json\n[\n  {\n    \"id\": 1,\n    \"status\": \"tracking\",\n    \"position\": {\n      \"bearing\": 0.789,\n      \"distance\": 1852,\n      \"latitude\": 52.3702,\n      \"longitude\": 4.8952\n    },\n    \"motion\": {\n      \"course\": 3.14159,\n      \"speed\": 3.34\n    },\n    \"danger\": {\n      \"cpa\": 150,\n      \"tcpa\": 324\n    },\n    \"acquisition\": \"auto\",\n    \"sourceZone\": 1,\n    \"firstSeen\": \"2025-01-15T10:25:00Z\",\n    \"lastSeen\": \"2025-01-15T10:30:00Z\"\n  }\n]\n```\n\n**Units:** All distances are in meters. All angles (bearing, course) are in radians [0, 2π). Speed is in m/s. Time values (tcpa) are in seconds.\n\n**Optional fields:** Sub-structures are omitted when data is not yet known or not applicable:\n\n- `motion`: Omitted when motion is not yet computed (target still acquiring). Present with `speed: 0` and `course: 0` for confirmed stationary targets (buoys, anchored vessels).\n- `danger`: Omitted when vessels are diverging (no CPA exists) or own-ship motion unavailable\n- `position.latitude`/`longitude`: Omitted when radar position is unavailable\n- `sourceZone`: Omitted for manually acquired targets or Doppler-detected targets\n\n### Manual Target Acquisition\n\n```text\nHTTP POST \"/signalk/v2/api/vessels/self/radars/{id}/targets\"\n```\n\n_Request body:_\n\n```json\n{\n  \"bearing\": 0.785,\n  \"distance\": 2000\n}\n```\n\n### Cancel Target Tracking\n\n```text\nHTTP DELETE \"/signalk/v2/api/vessels/self/radars/{id}/targets/{targetId}\"\n```\n\n## Streaming API (WebSocket)\n\nThere are two types of websocket:\n\n1. Control Stream: Signal-K-formatted JSON messages containing control information to and from radars, as well as targets.\n2. Spoke Data Stream: High-volume radar spoke data in binary format (up to 1 MB/s).\n\n## Control Stream\n\nThe JSON data websocket provides real-time control value updates for all radars via the standard Signal K stream.\n\nThe URI is found in the radar response as `streamUrl` or can be constructed as:\n\n```text\nws://{host}:{port}/signalk/v1/stream\n```\n\nThis websocket endpoint works identical to a Signal K stream, as documented in\nhttps://signalk.org/specification/1.5.0/doc/streaming_api.html\n\nIn short:\n\n- By default you are described to all paths\n- Query parameters `subscribe=none` can be used to start without any subscriptions and `sendCachedValues=false` to disable sending all currently cached values.\n- Subscriptions and desubscriptions can be made for paths. You can use '\\*' for all radars\n  including radars still to be discovered.\n- When first connected all radar meta data will be sent.\n- When a new radar is discovered all existing streams will also be sent the meta\n  data for the new radar.\n\nThe recommended way of connecting is to either send `subscribe=none` and then a subscribe to all controls, as in the example below, with a policy of `instant`. The number of updates after the\ninitial cache dump is low, about 2 messages per second.\n\n```json\n\"subscribe\": [\n            {\n              \"path\": \"radars.*.controls.*\",\n              \"period\": 1000\n            },\n          ]\n```\n\nTo receive real-time ARPA target updates, subscribe to the targets path:\n\n```json\n{\n  \"subscribe\": [\n    {\n      \"path\": \"radars.*.targets.*\",\n      \"policy\": \"instant\"\n    }\n  ]\n}\n```\n\nYou can subscribe to both controls and targets simultaneously:\n\n```json\n{\n  \"subscribe\": [\n    { \"path\": \"radars.*.controls.*\", \"period\": 1000 },\n    { \"path\": \"radars.*.targets.*\", \"policy\": \"instant\" }\n  ]\n}\n```\n\n### Controls\n\nExample of received meta-data:\n\n```json\n{\n  \"updates\": [\n    {\n      \"$source\": \"mayara\",\n      \"timestamp\": \"2026-02-23T18:15:26.409454084Z\",\n      \"meta\": [\n        {\n          \"path\": \"radars.nav1034A.controls.guardZone1\",\n          \"value\": {\n            \"id\": 13,\n            \"name\": \"Guard zone\",\n            \"description\": \"First guard zone for target detection\",\n            \"category\": \"guardZones\",\n            \"dataType\": \"zone\",\n            \"hasEnabled\": true,\n            \"minValue\": -3.141592653589793,\n            \"maxValue\": 3.141592653589793,\n            \"units\": \"rad\",\n            \"maxDistance\": 100000.0\n          }\n        },\n        {\n          \"path\": \"radars.nav1034A.controls.firmwareVersion\",\n          \"value\": {\n            \"id\": 48,\n            \"name\": \"Firmware version\",\n            \"description\": \"Version of the radar firmware\",\n            \"category\": \"info\",\n            \"dataType\": \"string\",\n            \"isReadOnly\": true\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\nExample of received data:\n\n```json\n{\n  \"updates\": [\n    {\n      \"$source\": \"mayara\",\n      \"values\": [\n        {\n          \"path\": \"radars.nav1034A.controls.spokes\",\n          \"value\": { \"value\": 2048 }\n        }\n      ]\n    }\n  ]\n}\n```\n\nExample of setting a control:\n\n```json\n{\n  \"path\": \"radars.nav1034A.controls.guardZone1\",\n  \"value\": {\n    \"value\": 0.735,\n    \"endValue\": 3.1415,\n    \"startDistance\": 0,\n    \"endDistance\": 500,\n    \"enabled\": true\n  }\n}\n```\n\nTarget updates are sent whenever a target's position, motion, or status changes:\n\n```json\n{\n  \"updates\": [\n    {\n      \"$source\": \"mayara\",\n      \"timestamp\": \"2025-01-15T10:30:00Z\",\n      \"values\": [\n        {\n          \"path\": \"radars.nav1034A.targets.1\",\n          \"value\": {\n            \"id\": 1,\n            \"status\": \"tracking\",\n            \"position\": {\n              \"bearing\": 0.789,\n              \"distance\": 1852,\n              \"latitude\": 52.3702,\n              \"longitude\": 4.8952\n            },\n            \"motion\": {\n              \"course\": 3.14159,\n              \"speed\": 3.34\n            },\n            \"danger\": {\n              \"cpa\": 150,\n              \"tcpa\": 324\n            },\n            \"acquisition\": \"auto\",\n            \"sourceZone\": 1,\n            \"firstSeen\": \"2025-01-15T10:25:00Z\",\n            \"lastSeen\": \"2025-01-15T10:30:00Z\"\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\nTargets are created either automatically (ARPA) or manually (MARPA, via a REST or stream message.)\nIn all cases the targets go through the following states: `acquiring` -> `tracking` -> `lost`.\n\nWhen a target is deleted (either because it has been in status `lost` for a while or a client explicitly deletes it), a final `null` value is sent:\n\n```json\n{\n  \"updates\": [\n    {\n      \"$source\": \"mayara\",\n      \"timestamp\": \"2025-01-15T10:32:00Z\",\n      \"values\": [\n        {\n          \"path\": \"radars.nav1034A.targets.1\",\n          \"value\": null\n        }\n      ]\n    }\n  ]\n}\n```\n\n## Spoke Data Stream\n\nBecause radars can produce up to 4 megabytes of data per rotation, this data is transmitted\non a separate websocket _per radar_ and is in a binary format. The data is encoded using [Protocol Buffers](https://protobuf.dev/) (protobuf), Google's language-neutral binary serialization format. Protobuf provides compact encoding and fast parsing, with official implementations available for most programming languages including JavaScript, Python, Java, C++, Go, and Rust.\n\nThe message schema is stable and will not change within a major version (per [semver](https://semver.org/)):\n\n```text\nsyntax = \"proto3\";\n\n/*\n * The data stream coming from a radar is a series of spokes.\n * The number of spokes per revolution is different for each type of\n * radar and can be found in the capabilities at\n * .../v2/api/vessels/self/radars/{id}/capabilities as 'spokesPerRevolution'.\n * The maximum length of each spoke is also defined there, as well as the legend that provides\n * a lookup table for each byte of data in the spoke.\n *\n * The angle and bearing fields below are in terms of spokes, so\n * range from [0..spokesPerRevolution>.\n *\n * Angle is a mandatory field and tells you the rotation of the spoke\n * relative to the front of the boat, going clockwise. 0 means directly\n * ahead, spokesPerRevolution / 4 is to starboard, spokesPerRevolution / 2 is directly astern, etc.\n *\n * Bearing, if set, means that either the radar or the radar server has\n * enriched the data with a true bearing, e.g. 0 is directly North,\n * spokesPerRevolution / 4 is directly West, spokesPerRevolution / 2 is South, etc.\n *\n * Likewise, time and lat/lon indicate the best effort when the spoke\n * was generated, and the lat/lon of the radar at the time of generation.\n *\n */\nmessage RadarMessage {\n    message Spoke {\n        uint32 angle = 1; // [0..spokesPerRevolution>, angle from bow\n        optional uint32 bearing = 2; // [0..spokesPerRevolution>, offset from True North\n        uint32 range = 3; // [meters], range in meters of the last pixel in data\n        optional uint64 time = 4; // [millis since UNIX epoch] Time when spoke was generated or received\n        optional double lat = 6; // Location of radar at time of generation\n        optional double lon = 7; // Location of radar at time of generation\n        bytes data = 5;\n    }\n    repeated Spoke spokes = 2;\n}\n```\n\nThe URL is found in the `radars` REST response as `spokeDataUrl` or can be constructed as:\n\n```text\n/signalk/v2/api/vessels/self/radars/{radar_id}/spokes\n```\n\n### Connection Logic\n\nThis a Javascript example how to set up the connection to receive spokes:\n\n```javascript\n// Fetch radars\nconst response = await fetch('/signalk/v2/api/vessels/self/radars/')\nconst data = await response.json()\n\n// Choose a radar_id from the returned radars\nconst radarId = Object.keys(data)[0]\nconst radar = data[radarId]\n\n// Connect to spoke data stream\nconst wsUrl =\n  radar.spokeDataUrl ??\n  `ws://${location.host}/signalk/v2/api/vessels/self/radars/${radarId}/spokes`\n\nconst socket = new WebSocket(wsUrl)\nsocket.binaryType = 'arraybuffer'\n\nsocket.onmessage = (event) => {\n  const spokeData = new Uint8Array(event.data)\n  // Process binary spoke data...\n}\n```\n\n### Spoke content and the legend\n\nEvery spoke contains `spoke_len` bytes. The radar API always uses one byte per pixel, with every byte representing a value explained by the `legend` contained in the capabilities.\n\nThe legend provides a lookup table mapping each byte value to its meaning and suggested display color:\n\n- **Byte values 0 to `pixelColors - 1`**: Normal radar returns, ranging from no echo (0) to strongest echo. The `lowReturn`, `mediumReturn`, and `strongReturn` fields indicate thresholds within this range, useful for smoothing or color gradient algorithms.\n- **Byte value at `targetBorder`**: Indicates the edge of a tracked ARPA target.\n- **Byte value at `dopplerApproaching`**: Object moving toward the radar (requires Doppler-capable radar).\n- **Byte value at `dopplerReceding`**: Object moving away from the radar (requires Doppler-capable radar).\n- **Byte values from `historyStart` onward**: Historical trail data showing where targets were in previous rotations.\n\nThe `pixels` array provides the complete mapping from byte value to RGBA color. Clients can use this directly for rendering, or implement their own color scheme based on the semantic pixel types (`normal`, `targetBorder`, `dopplerApproaching`, `dopplerReceding`, `history`).\n\nIf the radar doesn't support a feature, the corresponding legend field will be absent or null (e.g., `dopplerApproaching` and `dopplerReceding` are absent for non-Doppler radars).\n\nIn a later API release it is likely that the legend will be expanded to contain color mappings for different palettes.\n\n### Spoke skipping\n\nSome radars have a high value for `spokesPerRevolution` but actually only produce fewer spokes\nper each revolution. This is true for Furuno radars but not the other\nsupported radars from Garmin, Navico and Raymarine. The Furuno radars set `hasSparseSpokes` in\nthe capabilities struct to `true`.\n\nA conforming GUI must allow for this and either implement some way to expand missing spokes or\nto reconsider the width of spokes to be from the angle/bearing from the received spoke to the\npreviously received spoke.\n\nA typical value for Furuno is to have `spokesPerRevolution = 8192` but the actual # of spokes\nwill be ~ 900. Weirdly enough it is not a \"round\" figure like 1440, 2048, 512 or 250 like the\nother radars.\n\n## TypeScript Interfaces\n\n### RadarsResponse\n\n```typescript\ninterface RadarsResponse {\n  version: string\n  radars: Record<string, RadarInfo>\n}\n\ninterface RadarInfo {\n  name: string\n  brand: string\n  model?: string\n  radarIpAddress: string\n  spokeDataUrl: string\n  streamUrl: string\n}\n```\n\n### Capabilities\n\n```typescript\ninterface Capabilities {\n  maxRange: number\n  minRange: number\n  supportedRanges: number[]\n  spokesPerRevolution: number\n  maxSpokeLength: number\n  pixelValues: number\n  hasDoppler: boolean\n  hasDualRadar: boolean\n  hasDualRange: boolean\n  hasSparseSpokes: boolean\n  noTransmitSectors: number\n  controls: Record<string, ControlDefinition>\n  legend: Legend\n}\n```\n\n### ControlDefinition\n\n```typescript\ninterface ControlDefinition {\n  id: number\n  name: string\n  description: string\n  category:\n    | 'base'\n    | 'targets'\n    | 'guardZones'\n    | 'trails'\n    | 'advanced'\n    | 'installation'\n    | 'info'\n  dataType: 'number' | 'enum' | 'string' | 'button' | 'sector' | 'zone' | 'rect'\n  isReadOnly?: boolean\n  hasEnabled?: boolean\n  minValue?: number\n  maxValue?: number\n  stepValue?: number\n  maxDistance?: number\n  units?: 'm' | 'm/s' | 'rad' | 'rad/s' | 's'\n  descriptions?: Record<string, string> // For enum types\n  validValues?: number[] // For enum types\n  hasAuto?: boolean\n  hasAutoAdjustable?: boolean\n  autoAdjustMinValue?: number\n  autoAdjustMaxValue?: number\n}\n```\n\n### ControlValue\n\n```typescript\ninterface ControlValue {\n  value?: number | string\n  units?:\n    | 'm'\n    | 'km'\n    | 'nm'\n    | 'm/s'\n    | 'kn'\n    | 'rad'\n    | 'deg'\n    | 'rad/s'\n    | 'rpm'\n    | 's'\n    | 'min'\n    | 'h'\n  auto?: boolean\n  autoValue?: number\n  enabled?: boolean\n  endValue?: number // End angle for sectors/zones (radians)\n  startDistance?: number // Inner radius for zones (meters)\n  endDistance?: number // Outer radius for zones (meters)\n  x1?: number // Rect: first corner X (meters)\n  y1?: number // Rect: first corner Y (meters)\n  x2?: number // Rect: second corner X (meters)\n  y2?: number // Rect: second corner Y (meters)\n  width?: number // Rect: perpendicular width (meters)\n  timestamp?: string // ISO 8601 timestamp when value was last changed\n}\n```\n\n### Legend\n\n```typescript\ninterface Legend {\n  lowReturn: number\n  mediumReturn: number\n  strongReturn: number\n  targetBorder: number\n  dopplerApproaching?: number\n  dopplerReceding?: number\n  historyStart: number\n  pixelColors: number\n  pixels: LegendPixel[]\n}\n\ninterface LegendPixel {\n  type: 'normal' | 'dopplerApproaching' | 'dopplerReceding' | 'history'\n  color: string\n}\n```\n\n### Target\n\n```typescript\ninterface Target {\n  id: number\n  status: 'tracking' | 'lost' | 'acquiring'\n  position: {\n    bearing: number // radians [0, 2π)\n    distance: number // meters\n    latitude?: number // omitted if radar position unavailable\n    longitude?: number // omitted if radar position unavailable\n  }\n  motion?: {\n    // omitted if motion not yet computed; present with zeros for stationary targets\n    course: number // radians [0, 2π)\n    speed: number // m/s\n  }\n  danger?: {\n    // omitted if vessels diverging or own-ship motion unavailable\n    cpa: number // meters\n    tcpa: number // seconds\n  }\n  acquisition: 'manual' | 'auto'\n  sourceZone?: number // guard zone (1 or 2) that acquired this target; omitted for manual/Doppler\n  firstSeen: string // ISO 8601 timestamp\n  lastSeen: string // ISO 8601 timestamp\n}\n```\n"
  },
  {
    "path": "docs/develop/rest-api/resources_api.md",
    "content": "---\ntitle: Resources API\n---\n\n# Working with the Resources API\n\nThe SignalK specification defines a number of resources (routes, waypoints, notes, regions & charts) each with its own path under the root `resources` path _(e.g. `/signalk/v2/api/resources/routes`)_.\n\nAdditionally, the `/resources` path can be used to host other user defined resource types, each grouped within its own folder _(e.g. `/signalk/v2/api/resources/fishingZones`)_.\n\nThe _Resources API_ validates requests to these resource paths and passes them to a [Resource Provider plugin](../plugins/resource_provider_plugins.md) for storage and retrieval.\n\nClient applications can then use `HTTP` requests to these paths to store (`POST`, `PUT`), retrieve (`GET`) and remove (`DELETE`) resource entries.\n\n_Note: the ability to store resource entries is controlled by the server security settings so client applications may need to authenticate for write / delete operations to complete successfully._\n\n### Retrieving Resources\n\n---\n\nResource entries are retrived by submitting an HTTP `GET` request to the relevant path.\n\nFor example to return a list of all available routes\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/routes'\n```\n\nor alternatively fetch a specific route.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/routes/94052456-65fa-48ce-a85d-41b78a9d2111'\n```\n\nA filtered list of entries can be retrieved based on criteria such as:\n\n- being within a bounded area\n- distance from vessel\n- total entries returned\n- map zoom level\n\nby supplying a query string containing `key | value` pairs in the request.\n\n_Example 1: Retrieve waypoints within 50km of the vessel. Note: distance in meters value should be provided._\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?distance=50000'\n```\n\n_Example 2: Retrieve up to 20 waypoints within 90km of the vessel._\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?distance=90000&limit=20'\n```\n\n_Example 3: Retrieve waypoints within a bounded area. Note: the bounded area is supplied as bottom left & top right corner coordinates in the form swLongitude,swLatitude,neLongitude,neLatitude_.\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?bbox=[-135.5,38,-134,38.5]'\n```\n\n_Example 4: Return notes for display on a map view at zoom level 5._\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/notes?zoom=5'\n```\n\nIt is up to the provider to determine which resource entries are returned for any given zoom level. As a guide we recommend alignment with the criteria in the following document: https://wiki.openstreetmap.org/wiki/Zoom_levels_.\n\n### Deleting Resources\n\n---\n\nResource entries are deleted by submitting an HTTP `DELETE` request to a path containing the `id` of the resource to delete.\n\n_Example: Delete from storage the route with id `94052456-65fa-48ce-a85d-41b78a9d2111`._\n\n```typescript\nHTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/routes/94052456-65fa-48ce-a85d-41b78a9d2111'\n```\n\n### Creating / updating Resources\n\n---\n\n**Creating a new resource entry:**\n\nResource entries are created by submitting an HTTP `POST` request to a path for the relevant resource type.\n\n```typescript\nHTTP POST 'http://hostname:3000/signalk/v2/api/resources/routes' {resource_data}\n```\n\nThe new resource is created and its `id` (generated by the server) is returned in the response message.\n\n```JSON\n{\n  \"state\": \"COMPLETED\",\n  \"statusCode\": 200,\n  \"id\": \"94052456-65fa-48ce-a85d-41b78a9d2111\"\n}\n```\n\n_Note: Each `POST` will generate a new `id` so if the resource data remains the same duplicate resources will be created._\n\n**Updating a resource entry:**\n\nResource entries are updated by submitting an HTTP `PUT` request to a path for the relevant resource type that includes the resource `id`.\n\n```typescript\nHTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'\n```\n\nAs the `PUT` request replaces the record with the supplied `id`, the submitted resource data should contain a complete record for the resource type being written.\n\nEach resource type has a specific set of attributes that are required to be supplied before the resource entry can be created or updated.\n\nIf either the submitted resource data or the resource id are invalid then the operation is aborted.\\_\n\n_Note: the submitted resource data is validated against the OpenApi schema definition for the relevant resource type._\n\n---\n\n## Multiple Providers for a Resource Type\n\nThe Resources API will allow for multiple plugins to register as a provider for the same resource type.\n\nWhen this scenario occurs the server services request in the following ways:\n\n**Listing entries:**\n\nWhen a list of resources is requested\n\n_for example:_\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints'\n```\n\neach registered provider will be asked to return matching entries and the server aggregates the results and returns them to the client.\n\n---\n\n**Requests for specific resources:**\n\nWhen a request is received for a specific resource\n\n_for example:_\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'\n\nHTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'\n\nHTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111'\n```\n\neach registered provider will polled to determine which one owns the entry with the supplied id. The provider with the resource entry is then the target of the requested operation (`getResource()`, `setResource()`, `deleteResource()`).\n\n---\n\n**Creating new resource entries:**\n\nWhen a request is received to create a new resource\n\n_for example:_\n\n```typescript\nHTTP POST 'http://hostname:3000/signalk/v2/api/resources/waypoints'\n```\n\nBy default the first provider that was registered for that resource type will be the target of the requested operation (`setResource()`).\n\nYou can view the registered providers for a resource type by making the following request:\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/{resourceType}/_providers'\n```\n\n\\_Example: `HTTP GET 'http://hostname:3000/signalk/v2/api/resources/charts/\\_providers'\n\n```JSON\n[\n  \"charts\",\n  \"resources-provider\"\n]\n```\n\nYou can retrieve the default provider for a resource type by making the following request:\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/{resourceType}/_providers/_default'\n```\n\nExample: `HTTP GET 'http://hostname:3000/signalk/v2/api/resources/charts/\\_providers/\\_default'\n\n```JSON\n\"resources-provider\"\n```\n\nYou can change the provider used for writing a resource record in the following ways:\n\n1. Per-request by using the `?provider=` query parameter.\n2. Setting a \"default\" provider for a specific resource type\n\n**1. Per-request by using the `?provider=` query parameter:**\n\nWhen multiple providers are registered for a resource type the client can specify which provider should be the target of the request by using the query parameter `provider`.\n\n_Example:_\n\n```typescript\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints?provider=my-plugin-id'\n\nHTTP GET 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=my-plugin-id'\n\nHTTP PUT 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=my-plugin-id'\n\nHTTP DELETE 'http://hostname:3000/signalk/v2/api/resources/waypoints/94052456-65fa-48ce-a85d-41b78a9d2111?provider=my-plugin-id'\n\nHTTP POST 'http://hostname:3000/signalk/v2/api/resources/waypoints?provider=my-plugin-id'\n```\n\nthe value assigned to `provider` is the `plugin id` of the resource provider plugin.\n\nThe plugin id can be obtained from the Signal K server url _http://hostname:3000/skServer/plugins_.\n\n_Example:_\n\n```typescript\nHTTP GET 'http://hostname:3000/plugins'\n```\n\n```JSON\n[\n  {\n    \"id\": \"mysk-resource-plugin\",  // <-- plugin id\n    \"name\": \"Resources Provider\",\n    \"packageName\": \"mysk-resource-plugin\",\n    \"version\": \"1.3.0\",\n    ...\n  },\n  ...\n]\n```\n\n**2. Setting a default provider for a resource type:**\n\nTo change the default provider for a resource type make a POST request to _http://hostname:3000/signalk/v2/api/resources/{resourceType}/\\_providers/\\_default/{pluginId}_ where `pluginId` is the id of resource provider plugin.\n\n_Example: Direct create new chart source entries to `my-chart-plugin`._\n\n```typescript\nHTTP POST 'http://hostname:3000/signalk/v2/api/resources/charts/_providers/_default/my-chart-plugin'\n```\n"
  },
  {
    "path": "docs/develop/rest-api/weather_api.md",
    "content": "---\ntitle: Weather API\n---\n\n# Weather API\n\nThe Signal K server Weather API provides a common set of operations for viewing information from weather data sources via a \"provider plugin\". The provider plugin facilitates the interaction with the weather service and transforms the data into the Signal K data schema.\n\nRequests to the Weather API are made to HTTP REST endpoints rooted at `/signalk/v2/api/weather`.\n\nWeather API requests require that a postion be supplied which determines the location from which the weather data is sourced.\n\nThe following weather data sets are supported:\n\n- Observations\n- Forecasts\n- Warnings\n\nFollowing are examples of the types of requests that can be made.\n\n> [!NOTE]\n> The data available is dependent on the weather service API and provider-plugin.\n\n_Example 1: Return the latest observation data for the provided location_\n\n```javascript\nGET \"/signalk/v2/api/weather/observations?lat=5.432&lon=7.334\"\n```\n\n_Example 2: Return the last 5 observations for the provided location_\n\n```javascript\nGET \"/signalk/v2/api/weather/observations?lat=5.432&lon=7.334&count=5\"\n```\n\n_Example 3: Return the daily forecast for the next seven days for the provided location_\n\n```javascript\nGET \"/signalk/v2/api/weather/forecasts/daily?lat=5.432&lon=7.334&count=7\"\n```\n\n_Example 4: Return point forecasts for the next 12 periods (service provider dependant) for the provided location_\n\n```javascript\nGET \"/signalk/v2/api/weather/forecasts/point?lat=5.432&lon=7.334&count=12\"\n```\n\n_Example 5: Return current warnings for the provided location_\n\n```javascript\nGET \"/signalk/v2/api/weather/warnings?lat=5.432&lon=7.334\"\n```\n\n## Providers\n\nThe Weather API supports the registration of multiple weather provider plugins.\n\nThe first plugin registered is set as the _default_ provider and all requests will be directed to it.\n\nRequests can be directed to a specific provider by using the `provider` parameter in the request with the _id_ of the provider plugin.\n\n_Example:_\n\n```javascript\nGET \"/signalk/v2/api/weather/warnings?lat=5.432&lon=7.334?provider=my-weather-plugin\"\n```\n\n> [!NOTE] Any installed weather provider can be set as the default. _See [Setting the Default provider](#setting-a-provider-as-the-default)_\n\n### Listing the available Weather Providers\n\nTo retrieve a list of installed weather provider plugins, submit an HTTP `GET` request to `/signalk/v2/api/weather/_providers`.\n\nThe response will be an object containing all the registered weather providers, keyed by their identifier, detailing the service `name` and whether it is assigned as the _default_.\n\n```typescript\nHTTP GET \"/signalk/v2/api/weather/_providers\"\n```\n\n_Example: List of registered weather providers showing that `open-meteo` is assigned as the default._\n\n```JSON\n{\n  \"open-meteo\": {\n    \"provider\":\"OpenMeteo\",\n    \"isDefault\": true\n  },\n  \"openweather\": {\n    \"provider\":\"OpenWeather\",\n    \"isDefault\": false\n  }\n}\n```\n\n### Getting the Default Provider identifier\n\nTo get the id of the _default_ provider, submit an HTTP `GET` request to `/signalk/v2/api/weather/_providers/_default`.\n\n_Example:_\n\n```typescript\nHTTP GET \"//signalk/v2/api/weather/_providers\"\n```\n\n_Response:_\n\n```JSON\n{\n  \"id\":\"open-meteo\"\n}\n```\n\n### Setting a Provider as the Default\n\nTo set / change the weather provider that requests will be directed, submit an HTTP `POST` request to `/signalk/v2/api/weather/_providers/_default/{id}` where `{id}` is the identifier of the weather provider to use as the _default_.\n\n_Example:_\n\n```typescript\nHTTP POST \"/signalk/v2/api/weather/_providers/_default/openweather\"\n```\n"
  },
  {
    "path": "docs/develop/webapps.md",
    "content": "---\ntitle: WebApps\n---\n\n# WebApps and Components\n\nSignal K Server provides the following ways to add web-based user interfaces to enhance functionality and usability:\n\n1. **Standalone WebApps** are web applications that when launched, the server Admin UI disappears and the webapp controls the whole page (browser window / tab).\n\n2. **Embedded WebApps** are web applications that when launched, are **embedded in the server Admin UI**, leaving the toolbar and menu available to the user.\n\n3. **Embedded Plugin Configuration Forms** are forms provided by a plugin that the server embeds within the _Plugin Config_ screen to replace the generic form rendered using the plugin _configuration schema_. This allows a richer set of controls to be provided for the user to configure the plugin compared to the more generice server generated form provides.\n   ![calibration](../img/calibration.png 'Calibration plugin configuration form')\n\n4. **Embedded Components** are individual UI components provided by a plugin or a webapp. They are listed in the _Addons_ section at the bottom of the _Webapps_ page of the Admin UI. More a concept than a fully implemented feature at this stage, the idea is to allow a plugin to add individual components to different parts of the server UI.\n\nAll Plugins, WebApps and Components can be installed via the _Appstore_.\n\n## WebApp Structure\n\nAll WebApps (like plugins) are installed with `npm`, either from the npm registry or from your own Github repository. Only WebApps that are relevant for all users should be published to `npm` to be made available in the _Appstore_ of all Signal K Servers.\n\n_Note: Private plugins need not be published to `npm` - see the documentation for [npm install](https://docs.npmjs.com/cli/v6/commands/npm-install) for details._\n\nThe basic structure of a webapp is:\n\n- A folder named `public` that contains the html, JavaScript and resource files such as images, fonts and style sheets. This folder is automatically mounted by the server so that the webapp is available after installation and the server restarted.\n- `package.json` containing special keywords that classifies the webapp:\n  - `signalk-webapp` - standalone webapp\n  - `signalk-embeddable-webapp` - embeddable webapp\n  - `signalk-plugin-configurator` - plugin configuration form\n\nThis structure is all that is needed for a standalone webapp.\n\nYou can also include the following section in `package.json` to control how your webapp appears in the _Webapps_ list:\n\n```JSON\n  \"signalk\": {\n    \"appIcon\": \"./assets/icons/icon-72x72.png\",\n    \"displayName\": \"Freeboard-SK\"\n  },\n```\n\nwhere:\n\n- `appIcon` is the path (relative to the `public` directory) to an image within the package to display in the webapp list. The image should be at least 72x72 pixels in size.\n- `displayName` is the text you want to appear as the name in the webapp list. _(By default the \\_name_ attribute in the `package.json` is used.)\\_. Displayname is also used in an automatic redirect from the root of the server: if you have a webapp with displayName `foo` and you access it using for example the url http://foo.bar.org:3000 the first part of the hostname matches the webapp's displayName and you will be redirected to it instead of the default landingPage, the Admin webapp. With this mechanism you can add easy to access DNS names to each webapp, including .local names.\n\nSee also [Working Offline](./README.md#offline-use).\n\n## Application Data: Storing Webapp Data on the Server\n\nApplication Data is only supported if security is turned on. It supports two namespaces, one for _global data_ and one for _user specific data_. For example, a client might want to store boat specific gauge configuration globally so that other users have access to it. Otherwise, it could use the user area to store user specific preferences.\n\nThe data is structured and manipulated in JSON format.\n\nGlobal storage: `/signalk/v1/applicationData/global/:appid/:version`\nUser storage: `/signalk/v1/applicationData/user/:appid/:version`\n\nThere are two ways to update or add stored data:\n\n- You can POST any json data to any path:\n\n```\nPOST /signalk/v1/applicationData/user/my-application/1.0/unitPreferences\n{\n  \"shortDistance\": \"m\",\n  \"longDistance\": \"km\"\n}\n```\n\n- You can also use json patch format (http://jsonpatch.com):\n\n```\nPOST /signalk/v1/applicationData/user/my-application/1.0\n[\n  { \"op\": \"add\", \"path\": \"/unitPreferences\", \"value\": { \"shortDistace\": \"m\" } },\n  { \"op\": \"add\", \"path\": \"/unitPreferences/longDistance\", \"value\": \"km\"}\n]\n```\n\nUse an HTTP GET request to retrieve data from the server:\n\n`GET /signalk/v1/applicationData/user/my-application/1.0/unitPreferences/shortDistance`\n\nYou can just GET the list of keys:\n\n```\nGET /signalk/v1/applicationData/user/my-application/1.0/unitPreferences?keys=true\n[ \"longDistance\", \"shortDistance\"]\n```\n\nYou get can a list of available versions:\n\n```\nGET /signalk/v1/applicationData/user/my-application\n[ \"1.0\", \"1.1\"]\n```\n\n## Discovering Server Features\n\nTo assist in tailoring a WebApps UI, it can \"discover\" the features supported by the server by sending a request to `/signalk/v2/features`.\n\nThe response wil contain an object detailing the available APIs and Plugins.\n\nYou can use the `enabled` parameter to specify to only return enabled or disabled features.\n\nTo list only enabled features:\n`/signalk/v2/features?enable=1`\n\nTo list only disabled features:\n`/signalk/v2/features?enable=0`\n\n_Example response:_\n\n```JSON\n{\n  \"apis\": [\n    \"resources\",\"course\"\n  ],\n  \"plugins\": [\n    {\n      \"id\": \"anchoralarm\",\n      \"name\": \"Anchor Alarm\",\n      \"version\": \"1.13.0\",\n      \"enabled\": true\n    },\n    {\n      \"id\": \"autopilot\",\n      \"name\": \"Autopilot Control\",\n      \"version\": \"1.4.0\",\n      \"enabled\": false\n    },\n    {\n      \"id\": \"sk-to-nmea2000\",\n      \"name\": \"Signal K to NMEA 2000\",\n      \"version\": \"2.17.0\",\n      \"enabled\": false\n    },\n    {\n      \"id\": \"udp-nmea-sender\",\n      \"name\": \"UDP NMEA0183 Sender\",\n      \"version\": \"2.0.0\",\n      \"enabled\": false\n    }\n  ]\n}\n```\n\n## Embedded Components and Admin UI / Server interfaces\n\nEmbedded components are implemented using [Module Federation](https://module-federation.io/) and [React Code Splitting](https://react.dev/reference/react/lazy).\n\n_Note: There is no keyword for a module that provides only embedded components, use `signalk-webapp` instead._\n\nYou need to configure your build tool (Webpack or Vite) to create the necessary code for federation and expose the component with fixed names:\n\n- embeddable webapp: `./AppPanel`\n- plugin configuration form: `./PluginConfigurationPanel`\n- embedded component: `./AddonPanel`\n\nThe exposed modules need to `export default` a React component. Functional components with hooks are recommended. The server dependencies like `reactstrap` can and should be used. Add `@signalk/server-admin-ui-dependencies` as a dependency to the webapp, it defines the dependencies used by the server admin UI.\n\n### Webpack (var library)\n\nWith Webpack's ModuleFederationPlugin, use `library.type: 'var'` with a safe module name derived from the package name:\n\n```javascript\nlibrary: { type: 'var', name: packageJson.name.replace(/[-@/]/g, '_') },\n```\n\nThe server loads these via a classic `<script>` tag which places the container on the `window` object.\n\n### Vite / ESM bundlers\n\nThe server also supports ESM containers produced by Vite, Rollup, esbuild, or any bundler that outputs standard `export { init, get }`. To use an ESM container:\n\n1. Set `\"type\": \"module\"` in your plugin's `package.json`. The server uses this to emit `<script type=\"module\">` instead of a classic `<script>` tag.\n2. Configure your bundler to produce a Module Federation container as ESM. For example with `@module-federation/vite`:\n\n```javascript\n// vite.config.js\nimport { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\nimport { federation } from '@module-federation/vite'\n\nexport default defineConfig({\n  plugins: [\n    react(),\n    federation({\n      name: 'my-plugin',\n      filename: 'remoteEntry.js',\n      exposes: {\n        './PluginConfigurationPanel': './src/PluginConfigurationPanel.tsx'\n      },\n      shared: {\n        react: { singleton: true, requiredVersion: false },\n        'react-dom': { singleton: true, requiredVersion: false }\n      }\n    })\n  ],\n  define: {\n    'process.env.NODE_ENV': JSON.stringify('production')\n  },\n  build: {\n    outDir: 'public',\n    emptyOutDir: false\n  }\n})\n```\n\nThe `process.env.NODE_ENV` define is required because some shared dependencies reference `process.env` which is not available in the browser.\n\nIf your plugin's server-side code uses CommonJS (`module.exports`), set `\"main\"` to a `.cjs` file so Node.js treats it as CommonJS despite the `\"type\": \"module\"` in `package.json`.\n\nThe Admin UI detects ESM containers automatically via dynamic `import()` when the expected container is not present on `window`.\n\n### React Version Compatibility\n\nThe Admin UI uses **React 19** with shared dependencies via Module Federation. Your embedded webapp should:\n\n1. **Share React as a singleton** - Configure Module Federation to use the host's React instance with `requiredVersion: false`. See [vite.config.js](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/vite.config.js) for the current configuration.\n\n2. **Use functional components** - The Admin UI is built with functional components and React hooks. While class components still work, functional components are recommended for consistency.\n\nSee the Calibration plugin for an example. It is probably easier to start with an existing plugin and modify it to suit your needs. Don't forget to change the module id and name in package.json!\n\n## WebApp / Component and Admin UI / Server interfaces\n\nStandalone WebApps can use the server's APIs _(Signal K http and WebSocket APIs as well as any server specific endpoints)_ but they need to implement everything else themselves.\n\nEmbedded WebApps, Components and Plugin Configuration Forms work inside the Admin UI, so they can interact with both the Admin UI and the server using APIs exposed by the Admin UI as component properties.\n\nEmbedded webapp properties:\n\n- access to the login status of the browser user\n- ability to render Login form instead of the webapp content\n- getting and setting application data\n- opening an automatically reconnecting WebSocket connection to the server\n- getting Signal K data via `get`\n- [Embedded](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/src/views/Webapps/Embedded.tsx)\n\nPluginConfigurationForm properties:\n\n- `configuration` : the configuration data of the plugin\n- `save`: function to save the configuration data\n- [EmbeddedPluginConfigurationForm](https://github.com/SignalK/signalk-server/blob/master/packages/server-admin-ui/src/views/Configuration/EmbeddedPluginConfigurationForm.tsx)\n\n**_Note: The documentation regarding embedded WebApps and Components provided at this time is rudimentary and should be considered under development as the concept is evolving._**\n\n## Authentication and Session Management\n\nPer [the specification](https://signalk.org/specification/1.7.0/doc/security.html#authentication-via-http) the server provides the endpoint `/signalk/v1/auth/login` for logging in. A successful request will\n\n- set an authentication cookie\n- return an authentication token\n\nFor **cookie based, shared sessions** all a webapp needs to do is use `credentials: \"include\"` when making api calls with [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#sending_a_request_with_credentials_included). Cookies are included automatically in the initial WebSocket opening HTTP request, so the same works automatically for WebSocket connections.\n\nThe session cookie's value is the same as the token value: it is a JWT token that includes a validity period and is signed by the server. The server is stateless: JWT is verified for each request for a valid signature and time. Validity period is governed by server's security `expires` configuration value that can be changed in Admin UI's Security section. The server uses a sliding session window: when a token is past the midpoint of its lifetime, the server silently issues a fresh token on the next HTTP request, so active users are never logged out.\n\nThe login endpoint has an optional `rememberMe` request parameter. By default, without `rememberMe` set to true, the cookie is erased on browser restarts per standard browser behavior. When true the response's set cookie header includes MaxAge value based on the server's `expires` value. This makes the cookie persist over browser restarts. The `rememberMe` flag is preserved in refreshed tokens.\n\nAs the cookie is set to be [`HttpOnly`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#security) webapp JavaScript has no access to it. Including it in server requests and persisting its value is managed by the browser, governed by the `Set-Cookie` headers sent by the server.\n\nAdditionally the server sets cookie `skLoginInfo` when the user logs in and removes it when the user logs out. A webapp can poll for changes of this cookie to be notified of the browser's cookie based login status.\n\nFor **token based sessions** a webapp may manage the authentication token itself. It must include it explicitly in fetch call headers.\nAs JavaScript has no access to headers but cookies are included automatically by browsers when opening WebSocket connections the server will use the server-set, HttpOnly cookie. Normally browsers do not allow shadowing the server-set cookie with a new value. The only option for WebSocket connections is using a query parameter to override the cookie with a token.\n\nThe order that the server uses for finding the JWT token is\n\n1. query parameter `token`\n2. request header `authorization`\n3. authorization cookie (name managed by the server)\n\nToken-based session management is currently discouraged, because it may result in **session confusion**: all login calls set the shared session cookie for all webapps that are using cookie based, shared sessions.\n\nEach webapp acting separately, managing its authentication token independently, means that\n\n- each application needs to implement token management separately so that closing and reopening the webapp during a browser session does not require the user to reauthenticate\n- when navigating between the different webapps the user needs to authenticate to each one separately\n\nThe server's Admin UI is a regular webapp using cookie based sessions, there is no separate authentication mechanism.\n"
  },
  {
    "path": "docs/guides/README.md",
    "content": "---\ntitle: Guides\nchildren:\n  - anchoralarm/anchoralarm.md\n  - datalogging/datalogging.md\n  - navdataserver/navdataserver.md\n  - udev.md\n  - unitpreferences.md\n---\n\n# Signal K Server Guides\n\nThese guides will help you understand and use various features of the Signal K server. Using the server for a specific use case often involves one or more plugins.\n\n- [Unit Preferences](unitpreferences.md) - Learn how to configure and use unit preferences for automatic unit conversion\n- [Setting up an NMEA 0183 Navigation Data Server](navdataserver/navdataserver.md) - Learn how to set up Signal K as your boat's navigation data server\n- [Data Logging](datalogging/datalogging.md) - Configure and use Signal K's data logging capabilities\n- [Anchor Alarm](anchoralarm/anchoralarm.md) - Set up and use the anchor alarm feature\n- [Linux udev Rules](udev.md) - Create udev rules to provide consistent device names for USB devices on Linux\n\nFor questions and support see [Signal K Discussions](https://github.com/SignalK/signalk/discussions) or join [Signal K Discord](https://discord.gg/uuZrwz4dCS).\n"
  },
  {
    "path": "docs/guides/anchoralarm/anchoralarm.md",
    "content": "---\ntitle: Anchor Alarm\n---\n\n# Feature: Anchor Alarm\n\nThis document describes how to setup an anchor alarm using Signal K Server and the WilhelmSK app that:\n\n- Uses the GPS data from your navigation system, not your phone\n- Has a graphical map + satellite view\n- Vessel movement is saved and displayed as Track on a map\n- Provides the ability to move the anchor location\n- Sends push notifications to your iPhone (not Android), both remotely via the Internet and locally on the boat\n- Sound an audible alarm on a Fusion stereo or via a common speaker connected to a Yacht Devices N2K device\n- Does not depend on your phone having enough battery, GPS reception to wake you up\n\n<img src=\"wsk.png\" width=400px>\n\n_Image: WilhelmSK App on iPad._\n\n## Prerequisites\n\n- SignalK server installed, for example on a Victron GX device or RaspberryPi. See [Installation](../../installation/README.md) for details.\n- [WilhelmSK iOS App](https://itunes.apple.com/us/app/wilhelmsk/id1150499484?mt=8)\n\nFor use with other Apps (Android, web apps, etc) see [Alternatives to WilhelmSK](#alternatives-to-wilhelmsk).\n\n## Configuration\n\n**Step 1.** Configure the Vessel data in SignalK server:\n<img src=\"vesseldata.png\" width=600px>\n\nBe sure to set:\n\n- Boat length\n- GPS Distance from Bow\n- GPS Distance from Center.\n\n#### Step 2. Install required Signal K Server plugins:\n\n- Open the Signal K Admin UI and if necessary _Login_\n- Select _Appstore -> Available_ from the menu\n- Under _Available Apps_ select _All_ from the dropdown\n\n<img src=\"appstore_available.png\" width=600px>\n\nLocate and install each of the following plugins:\n\n- **signalk-anchoralarm-plugin**\n- **signalk-push-notifications**\n- **signalk-alarm-silencer**\n- **@signalk/tracks-plugin**\n\nAfter installation is complete, restart the server.\n\n_Note: The \\_Restart_ button only appears at the upper right of the screen when security has been enabled. (See [Enabling Security](../../security.md#enabling-security) for details.)\\_\n\n#### Step 3 Configure the plugins:\n\nEach of the plugins you installed in the previous step need to be configured and enabled. To do this:\n\n- Select `Server -> Plugin Config`` from the menu\n- Locate the plugin\n- Set the appropriate configuration values\n- Click _Submit_.\n- Ensure the plugin is _Enabled_.\n\nFollowing are details of how to configure each plugin:\n\n**_Anchor Alarm plugin:_**\n\nThis plugin only needs to be enabled.\n\nNo configuration is required as the settings values are populated by WilhelmSK.\n\n<img src=\"./anchoralarmplugin.jpg\" width=600px>\n\n**_Alarm Silencer plugin:_**\n\nThis plugin only needs to be enabled.\n\nNo configuration options available.\n\n<img src=\"./alarmsilencer.jpg\" width=600px>\n\n**_Push Notifications plugin:_**\n\n- To send notifications via an Internet connection check _Enable Remote Push_.\n\n_Note: The WilhelmSK app uses an Amazon RDS service to deliver push notifications. No additional accounts, etc are required as they are included with purchase._\n\n- _Local Push SSIDs_: Enter the SSID(s) of the WiFi network(s) on your boat which the devices that are to receive notifications are connected.\n\n- _Local Push Port_ specifies the port number that WilhelmSK app will receive the local push notifications.\n  The default value is _3001_ and only needs to be changed if that port number is already in use by another app / plugin on the Signal K Server.\n\n_Note: It is not necessary to set the same value in the WilhelmSK app, it auto configures itself._\n\n<img src=\"./pushnotificationplugin.jpg\" width=350px>\n\n**_Tracks plugin_**\n\nThis plugin keeps track of the position of vessels visible to the Signal K Server. This enables apps to display a track of vessel movements.\n\nThe configuration values chosen will determince the amount of resource required run the plugin (and potentially the performance of the Signal K Server) so please consider this when making entries.\n\nThe following settings represent conservative values that are suitable for use with an anchor alarm:\n\n- Track resolution: 60000 (60 seconds)\n- Points to keep: 240 (4 hours)\n- Max idle time: 600 (10 minutes)\n- Max Radius: 1 meter (no other vessels).\n\n_Note: This plugin stores the track all the time, not only when on anchor. Which comes in handy when you enable the the anchor alarm a while after having dropped the anchor._\n\n<img src=\"./tracks.jpg\" width=350px>\n\n**_Step 4._** Connect WilhelmSK to your SignalK server\n\nAfter installing the WilhelmSK app, go to the iOS settings screen and check that it has network access permissions.\n\n<img src=\"./wsk_ios.jpg\" width=350px>\n\nAlso ensure that Background App Refresh also enabled as it is required for local push notifications and to raise an alarm while WilhelmSK app in not open on your phone or tablet.\n\nOnce network access has been enabled, start the WilhelmSK app and go to the connections menu.\n\n<img src=\"./connections.jpg\" width=350px>\n\nYour boat's name _(as entered in the vessel data, in step 1 above)_ and suffixed with (Discovered) should appear in the list. _(If you can’t see it please ensure WilhelmSK has been granted network access permissions.)_\n\nSelect your boat from the list and the configuration screen is displayed:\n\n<img src=\"./wsk_connections.jpg\" width=350px>\n\n- Enter the user name and password that you use when logging into Signal K Server.\n\n- Select _AutoConnect On This Network_. This will cause WilhelmSK to auto-select this connection when on the currently connected WiFi network.\n\nWith regards to the other available config options:\n\n- _Request Admin Access_ provides an alternative to using user name and password using a security token instead. Selecting this option sends an [Access Request](../../setup/generating_tokens.md#access-requests) to the SignalK Server. The request will then need to be approved in the _Security -> Access Requests_ screen of the Signal K Admin UI .\n- _Port_: 3000 is the standard port.\n- _AutoConnect Default_ is used for a remote connection, which is out of scope of this manual.\n\nFinally, verify your connection. Swipe left to back to the main menu and select the same connection:\n\n<img src=\"./wsk_connection.jpg\" width=350px>\n\n**_Step 5._** Enable WilhelmSK to receive push notifications\n\nFrom the _Settings_ menu select _Notifications_.\n\n<img src=\"./wsk_notifications.jpg\" width=350px>\n\nNote that the actual monitoring of the GPS coordinates is done by Signal K Server itself, not the WilhelmSK app. The app is only used to configure the anchor location, enable the alarm and to receive the alarm notifications.\n\nIt is also possible, and highly recommended, to add other notifications. For example via Fusion stereo, if installed, or by using a dry contact with audible alarm. _(These are out of scope of this manual.)_\n\n_Tip: For using the Fusion stereo: search the server plugins with the keyword Fusion._\n\n## Using the Anchor Alarm\n\nNow that the connections have been configured, go to the main screen of the WilhelmSK App where you’ll see something similar to the following screenshot.\n\nIf data is being received from the Signal K server, green dots are displayed in the top right of each gauge to indicate that the value displayed is current.\n\n<img src=\"./wsk_screen.png\" width=300px>\n\nIn case of incorrect username and/or password or other connection errors, these will be displayed at the top of the screen as warning.\n\n<img src=\"./wsk_error.jpg\" width=300px>\n\nWith an established connection and data being received, swipe to the right a few times to display the anchor watch page.\n\n<img src=\"./wsk_phone.png\" width=400px>\n\nClicking the anchor on the top left of screen (next to the menu button), cycles through the sequence of arming / disarming the alarm:\n\n- White anchor indicates disarmed. Click when dropping the anchor and the color will change to yellow.\n- Yellow anchor indicates that the rode length is being calculated. Click when you have finished letting out the anchor and the colour will change to green.\n- Green anchor means the alarm is armed and ready.\n\nUse the “four arrows icon” on the top left of screen to move the anchor location.\n\nYou can also change the alarm radius.\n\nClicking the green anchor will prompt you to confirm that you want to disarm the alarm / raise the anchor.\n\n_TIP: To return to other pages (i.e. COG and AWA gauges) swipe left by holding the Course up/Head up/North up menu._\n\n---\n\n## Alarms & Notifications\n\nFor most use cases, push notifications shouldn’t be the only means of receiving alarms as the phone can decide to hide notifications, etc so additional means of sounding the alarm should be employed.\n\nFollowing are some alternatives.\n\n### Audible alarms using the Raspberry Pi audio connector\n\nTo have the Signal K Server produce audible notifications using a speaker connected directly to the Raspberry Pi audio connector install the [signalk-audio-notifications](https://www.npmjs.com/package/@meri-imperiumi/signalk-audio-notifications) plugin.\n\n### Alarm to NMEA2000 network\n\nTo have the Signal K Server forward the alarm to the NMEA2000 network to appear on connected devices, install and configure the [signalk-to-nmea2000](https://www.npmjs.com/package/signalk-to-nmea2000) plugin.\n\n#### Raymarine alarm compatibility\n\nWith the Raymarine options enabled in the _signalk-to-nmea2000_ plugin, an audible alarm will be generated on the Raymarine SeaTalkNG Auxiliary Alarm Buzzer - A8061 and will display on Raymarine Axiom plotters.\n\n\\_Note: The anchor alarm will be displayed as a “Shallow anchor alarm” on Raymarine, as that is the most suitable alarm type. Interpret that as just an anchor alarm, which has nothing to do with shallow. Here is how it looks on the Raymarine plotter:\n\n<img src=\"./mfd_notification.png\" >\n\n#### Garmin alarm compatibility\n\nCompatible\n\n#### Navico (B&G, Simrad, Lowrance) alarm compatibility\n\nNot compatible\n\n#### Yacht Devices compatibility\n\nThe [YDAB-01](https://www.yachtd.com/products/alarm_button.html) is a very flexible and configurable device sold by Yacht Devices.\n\nIt is connected to the NMEA2000 network and has a 10W audio amplifier which can output sound via a 4 or 8 Ohm speaker which directly connected. It has bank of 28 sound signals can be configured to sound on receipt of the anchor alarm.\n\n#### Additional information\n\nThe following post on Panbo is a great resource with regards to the N2K Alert PGNs:\n[Link](https://panbo.com/nmea-2000-network-alert-pgns-seem-great-so-why-are-they-hardly-used/)\n\n### Remote notifications\n\nThere are a number of Signal K Server plugins which enable notifications to be sent remotely, following are just a few:\n\n#### signalk-pushover-notification-relay\n\nThis plugin listens for a change of state in Signal K notifications and sends the updates to the Pushover App which is available for both Apple and Android phones and tablets.\n\nThis is a paid service from [Pushover](https://pushover.net/).\n\n_Plugin:_ [signalk-pushover-notification-relay](https://www.npmjs.com/package/signalk-pushover-notification-relay)\n\n#### signalk-notifications-manager\n\nThis plugin also works with [Pushover](https://pushover.net/) to deliver notifications as push messages on your phone or tablet, but it also:\n\n- Keeps a history of alerts stored in a local database\n- Includes a Signal K web app to manage the notifications.\n\n_Plugin:_ [signalk-notifications-manager](https://www.npmjs.com/package/signalk-notifications)\n\n#### signalk-clicksend-notifications-relay\n\nThis plugin forwards notifications via the (paid) Clicksend SMS gateway, which can deliver notifications to your phone.\n\n_Plugin:_ [signalk-clicksend-notifications-relay](https://www.npmjs.com/package/signalk-clicksend-notification-relay)\n\n### Switching a relay\n\nOperating a switch or relay provides a range of options for sounding an alarm but will require diving a bit deeper into the various (and extensive) automation options made available by Signal K Server.\n\nA good place to start is the [signalk-switch-automation](https://github.com/sbender9/signalk-switch-automation) plugin.\n\n---\n\n## Alternatives to WilhelmSK\n\nAs the data processing to \"watch\" the anchor and generate the alarm messages is performed by the Signal K Server,\nclient applications, any client application that supports the _anchor-alarm_ plugin can be used to arm / disarm and configure it.\n\nListed below are some other apps and supported operations:\n\n| Client App                           | Arm / disarm | Set radius | Move location |  See track | Plays sound |\n| ------------------------------------ | ------------ | ---------- | ------------- | ---------- | ----------- |\n| **Wilhelm SK**<br>(iOS)              | yes          | yes        | yes           | yes        | yes         |\n| **Anchor alarm plugin**<br>(web app) | yes          | yes        | yes           | yes        | no          |\n| **Freeboard SK**<br>(web app)        | yes          | yes        | yes           | yes        | yes         |\n| **Aqua Map**<br>(iOS & Android)      | ?            |  ?         |  ?            |  ?         | ?           |\n\n### Anchor Alarm Plugin\n\nThe anchor alarm plugin provides a web user interface available under _WebApps_ in the Signal K Server Admin UI.\n\nIt provides the ability to arm / disarm, set the radius and shift the anchor but does not display the alarm on screen or play a sound.\n\n<img src=\"./anchor_alarm_plugin_ui.png\" width=300px>\n\n### Freeboard SK\n\nFreeboard SK provides a \"sequence\" driven user interface to \"step\" through the setting of the anchor alarm.\n\nIt provides the ability to drop / raise the anchor, set / adjust the alarm radius and shift the anchor position via the _Anchor Watch_ feature in the main menu.\n\nWhen set, it will:\n\n- Display the alarm radius on the map\n- Show the vessel track whilst anchored\n\nWhen alarm is triggered:\n\n- Display an alarm notification on screen\n- Play a sound\n\nIt is available under _WebApps_ in the Signal K Server Admin UI.\n\n<img src=\"./freeboardsk_anchor_watch.png\" width=300px>\n<img src=\"./freeboardsk_anchor_alarm.png\" width=300px>\n"
  },
  {
    "path": "docs/guides/datalogging/datalogging.md",
    "content": "---\ntitle: Data Logging\n---\n\n# Data Logging\n\nSignal K server can log all input data from the configured input connections into hourly data log files.\n\nYou can activate data logging for each connection by switching on Data Logging under Server / Data Connections, saving the connection settings. The setting takes effect after restarting the server.\n\nThe log files are downloadable in the Admin UI under Server / Server Logs.\n\nThe logs contain the data that the server has processed in the raw, original format (prior to conversion to Signal K) and each message is timestamped.\n\nLog files can be used for archiving, to later play back the data or for debugging purposes. The server can play them back by creating a Data Connection with Data Type `File Stream` and secondary Data Type as `Multiplexed Log`.\n"
  },
  {
    "path": "docs/guides/navdataserver/navdataserver.md",
    "content": "---\ntitle: 'NMEA0183 Data Server'\ncategory: 'Guides'\n---\n\n# Signal K Server as a NMEA0183 Data Server\n\nThis document details how to setup Signal K Server to read AIS and navigation data from a NMEA2000 (or any other) network and make it available on a WiFi network for use with popular phone / tablet apps like:\n\n- Navionics\n- iSailor\n- iNavX\n- Aqua Map\n- WilhelmSK.\n\nThe Signal K Server does this by passing the data received from the configured Data Connections, through two plugins which transform it to NMEA0183 sentences, which are then transmitted on the WiFi network.\n\n## Prerequisites\n\nA Signal K Server:\n\n- Installed on a suitable device (e.g. Victron GX, RaspberryPi, etc). _See [Installation](../../installation/README.md) for details._\n- Connected to a NMEA2000, etc network and Data Connections configured.\n- Connected to a WiFi network. _(Beyond the scope of this document.)_\n\n## Server Setup and Configuration\n\nAll configuration is done from within the Signal K Server Admin UI. Open the Admin UI in your browser and complete the following steps.\n\n#### _Step 1._ Enter Vessel Base Data:\n\n- Select _Server -> Setup_ from the menu.\n\n- The **Vessel Base Data** section, enter values for _Length_, _GPS Distance from Bow_ and _GPS Distance from Center_.\n\n<img src=\"./vesseldata.png\" width=600px/>\n\n#### _Step 2._ Install and Configure Plugins:\n\nThe following plugins are required to process and transform the received data to NMEA0183:\n\n- `signalk-to-nmea0183` ([documentation](https://www.npmjs.com/package/@signalk/signalk-to-nmea0183) on npmjs)\n- `signalk-n2kais-to-nmea0183` ([documentation](https://www.npmjs.com/package/signalk-n2kais-to-nmea0183) on npmjs)\n\n_Note: Starting with Signal K Server version 2.2.0 these plugins are pre-installed. It is recommended that these plugins be updated to the current version._\n\n**To install the plugins:**\n\n- In the Admin UI, select _Appstore -> Available-> All_ from the menu\n- Locate the `signalk-to-nmea0183`plugin and click the install icon\n- Locate the `signalk-n2kais-to-nmea0183` plugin and click the install icon\n- Restart the Signal K Server.\n\n_Note: If the **Restart** button is not displayed in the upper right of screen, refer to [Enabling Security](../../security.md#enabling-security) for details._\n\n**To configure the plugins:**\n\n- In the Admin UI, select _Server -> Plugin Config_ from the menu.\n- Locate `signalk-to-nmea0183` plugin.\n  1. Ensure it is enabled\n  2. Check ALL the boxes to transmit all NMEA0183 sentence types\n  3. Leave the transmission interval (throttle) at 0\n  4. Click the **Submit** button to save your choices.\n\n    <img src=\"./sk2nmea0183.png\" width=\"450px\" />\n\n- Locate `signalk-n2kais-to-nmea0183` plugin. This plugin transmits all the AIS targets.\n  1. Ensure it is enabled\n  2. Enter _nmea0183out_ in the **NMEA 0183 Out Events** field.\n  3. Click the **Submit** button to save the configuration.\n\n    <img src=\"./n2kais2nmea0183.png\" width=\"450px\" />\n\n#### _Step 3._ Enable NMEA0183 on the WiFi network:\n\n- In the Admin UI, select _Server -> Settings_\n- Locate the **Server Settings** section\n- Ensure that **NMEA 0183 over TCP (10110)** is set to **On**\n- Click **Save** and **Restart** the Signal K Server.\n\n    <img src=\"./enable0183.png\" width=\"450px\" />\n\nOnce restarted the Signal K Server will transmit NMEA0183 sentences containing all your navigation and available AIS target data on the WiFi network on TCP port 10110.\n\n_Note: It is recommended that **Signal K over TCP (8375)** is set to **On** if you are using an app (e.g. Aqua Map) which supports the “Signal K over TCP” protocol as it is more feature rich._\n\n## Configuring Apps\n\nDevice apps can now be configured to connect to the NMEA0183 data stream from the Signal K Server.\n\nFollowing is an example of how to connect the Navionics boating app.\n\n- Open the menu\n- Select **Paired devices** and add a new paired device\n- Enter a name for the device _e.g. MySignalK Server_\n- In **Host** enter the IP address of the Signal K Server you configured in the steps above\n- In **Port** enter _10110_\n- Select **TCP**\n- Click **Save**\n\n    <img src=\"./navionics.png\" width=\"450px\" />\n"
  },
  {
    "path": "docs/guides/udev.md",
    "content": "---\ntitle: Linux udev Rules\n---\n\n# Linux udev Rules\n\nWhen you connect a USB device to a Linux computer, the kernel will automatically detect it and create a device file in\n\nLinux assigns device names sequentially to hotplug hardware. Usually, your device will get the same name each time you\nconnect it or boot your computer, but sometimes the name may change. For this reason, disks and partitions are\ntypically referenced by UUID and not by device path any more. For our purposes dealing with USB serial adapters, the\nassigned device name is typically `/dev/ttyUSB0`. However, if you have more than adapter the device names may not\nalways be consistent. Therefore, it is a good idea to create a udev rule to provide an alias for your device.\n\nThe example below assumes Debian or Ubuntu as the distribution, but it should be similar for others.\n\nFirst, we need to collect some identifiers for the device we want to alias. In a shell, run the `usb-devices` command.\n\n```sh\n$ usb-devices\n```\n\nThis will enumerate all of the USB devices connected to your computer (including internal USB hubs). In our example,\nwe're looking for Actisense devices. Write down the `Vendor`, `ProdId` and `SerialNumber` values for each of your\ndevices.\n\nThen, in your favorite text editor, create a file in `/etc/udev/rules.d/` called `90-actisense.rules`. The 90 ensures\nthat it processed after other udev rules.\n\nThe contents of the file should be:\n\n```\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"d9aa\", ATTRS{serial}==\"1B091\", SYMLINK+=\"actisense\"\n```\n\nReplace `0403` with the value you wrote down for `Vendor` (if you are working with and Actisense device, it will likely\nbe the same). Replace `d9aa` with the value you wrote down for `ProdId` and replace `1B091` with the value you wrote\ndown for `SerialNumber`. The last change is to give your symlink a name. In the example above it is `actisense`, but\nyou can call it whatever you want (without spaces or filesystems-reserved characters like `/`). Let's say you have two\nUSG-1 devices, one for the autopilot and one for your VHF radio. You might want to name these devices `autopilot` and\n`vhf`. Then they would be available at `/dev/autopilot` and `/dev/vhf` respectively.\n\nYou can specify multiple rules in one file, one rule per line:\n\n```\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"d9aa\", ATTRS{serial}==\"1B091\", SYMLINK+=\"autopilot\"\nSUBSYSTEMS==\"usb\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"d9aa\", ATTRS{serial}==\"1B094\", SYMLINK+=\"vhf\"\n```\n\nAfter creating this file, disconnect your devices and plug them back in. You should see the new entries under `/dev`.\nIf not, reboot.\n"
  },
  {
    "path": "docs/guides/unitpreferences.md",
    "content": "---\ntitle: Unit Preferences\n---\n\n# Unit Preferences\n\nThis guide describes the unit preferences mechanism in Signal K Server.\n\n## For End Users\n\nSignal K Server allows you to define your preferred units for different categories of data (e.g., Speed, Depth, Temperature) centrally. These settings are applied across all compatible apps and dashboards.\n\n### Changing Unit Settings\n\nYou can configure your unit preferences in the Signal K Server Admin UI.\n\n1.  Open the **Server Admin** interface.\n2.  Navigate to **Server > Configuration > Settings**.\n3.  Scroll down to the **Unit Preferences** section.\n\n### Available Settings\n\n#### Active Preset\n\nThe simplest way to configure units is to select a **Preset**. A preset is a collection of unit preferences for all standard categories.\n\nAvailable presets:\n\n- **Metric**: km/h, kilometers, meters, Celsius, liters.\n- **Imperial (US)**: mph, miles, feet, Fahrenheit, US gallons.\n- **Imperial (UK)**: mph, miles, feet, Celsius, UK gallons.\n- **Nautical (Metric)**: knots, nautical miles, meters, Celsius, liters.\n- **Nautical Imperial (US)**: knots, nautical miles, feet, Fahrenheit, US gallons.\n- **Nautical Imperial (UK)**: knots, nautical miles, feet, Celsius, UK gallons.\n\n#### Per-User Settings\n\nPreferences are stored **per user**. If you log in with your user account, your unit settings will follow you across different devices. If no user is logged in (or for anonymous users), the server's global default preset (configured by the administrator) is used.\n\n#### Custom Presets\n\nAdvanced users can upload **Custom Presets** to define specific combinations of units that aren't covered by the built-in options.\n\n### Overriding Specific Paths\n\nIn addition to category-wide settings (e.g., \"All speeds in Knots\"), you can override units for specific data paths. For example, you might want _Boat Speed_ in Knots but _Wind Speed_ in Meters/Second.\n\nThese overrides are typically managed by editing the server configuration. When a specific path has an override, it takes precedence over the general category setting in your active preset.\n\n---\n\n## Unit Categories\n\nUnit categories are the mechanism that allows the server to apply unit preferences to a wide range of data paths without needing configuration for every single path.\n\n### How Categories Work\n\n1.  **Categorization**: Every numeric Signal K path is assigned to a **Category** (e.g., `speed`, `temperature`, `depth`). This assignment is defined in the server's default configuration but can be customized.\n2.  **Base Unit**: The category defines the **Base Unit** (usually the SI unit) that the raw data is expected to be in. For example, the `speed` category expects `m/s`.\n3.  **Target Unit**: Your active Preset defines a **Target Unit** for each category. For example, your preset might map the `speed` category to `kn` (knots).\n4.  **Conversion**: When data is requested, the server looks up the path's category, finds the target unit from your preset, and provides the conversion formula.\n\nThis system means that if you set your `speed` preference to Knots, it applies to _Boat Speeds_, _Wind Speeds_ and any other path assigned to the `speed` category.\n\n### Standard Categories\n\nThe following categories are available by default:\n\n- **speed**: Speed measurements (Base: m/s). Examples: `navigation.speedOverGround`, `environment.wind.speedTrue`.\n- **distance**: Longer distances (Base: m). Examples: `navigation.log`, `navigation.courseRhumbline.nextPoint.distance`.\n- **depth**: Vertical distances/depths (Base: m). Examples: `environment.depth.belowTransducer`, `environment.depth.belowKeel`.\n- **length**: Dimensions of the vessel or objects (Base: m). Examples: `design.length.overall`, `design.airHeight`.\n- **temperature**: Temperature readings (Base: K). Examples: `environment.outside.temperature`, `propulsion.*.temperature`.\n- **pressure**: Pressure readings (Base: Pa). Examples: `environment.outside.pressure`, `propulsion.*.oilPressure`.\n- **angle**: Angles (Base: rad). Examples: `environment.wind.angleApparent`, `navigation.headingMagnetic`.\n- **angularVelocity**: Rate of turn (Base: rad/s). Examples: `navigation.rateOfTurn`.\n- **volume**: Liquid volumes (Base: m³). Examples: `tanks.*.currentLevel`.\n- **volumeRate**: Flow rates (Base: m³/s). Examples: `propulsion.*.fuel.rate`.\n- **mass**: Weight/Mass (Base: kg).\n- **electrical**:\n  - **voltage** (Base: V). Examples: `electrical.batteries.*.voltage`.\n  - **current** (Base: A). Examples: `electrical.batteries.*.current`.\n  - **charge** (Base: C). Examples: `electrical.batteries.*.capacity.stateOfCharge`.\n  - **power** (Base: W).\n  - **energy** (Base: J).\n- **frequency**: (Base: Hz). Examples: `propulsion.*.revolutions`.\n- **time**: Durations (Base: s).\n- **percentage**: Ratios and levels (Base: ratio 0-1). Examples: `tanks.*.currentLevel`, `electrical.batteries.*.capacity.stateOfCharge`.\n\nAdditional categories include `dateTime`, `epoch` for time representations, and `unitless`/`boolean` for data that doesn't require conversion.\n\n## For Client Application Developers\n\nThe Unit Preferences system simplifies client development by managing unit preferences centrally, on the server across all unit preferences aware client applications. As a developer, you don't need to maintain user preference settings in your application and can use the settings and conversion formulas provided by the server.\n\n### How it Works\n\nWhen you fetch metadata for a path (e.g., `vessels.self.navigation.speedOverGround`), the server checks the active unit preferences and includes a `displayUnits` object in the meta data.\n\n### REST API Usage\n\nRequest the metadata for any path:\n\n`GET /signalk/v1/api/vessels/self/navigation/speedOverGround/meta`\n\n**Response Example:**\n\n```json\n{\n  \"units\": \"m/s\",\n  \"description\": \"Speed over ground\",\n  \"displayName\": \"SOG\",\n  \"displayUnits\": {\n    \"category\": \"speed\",\n    \"targetUnit\": \"kn\",\n    \"formula\": \"value * 1.94384\",\n    \"inverseFormula\": \"value / 1.94384\",\n    \"symbol\": \"kn\",\n    \"displayFormat\": \"0.0\"\n  }\n}\n```\n\nThe `displayUnits` object provides everything you need to display the value:\n\n- **category**: The unit category this path belongs to (e.g., \"speed\", \"depth\", \"temperature\").\n- **targetUnit**: The unit the user wants to see (e.g., \"kn\" for knots).\n- **formula**: A [Math.js](https://mathjs.org/) expression to convert the raw SI value to the target unit. The variable `value` represents the input.\n- **inverseFormula**: A Math.js expression to convert back from the display unit to SI (useful for user input).\n- **symbol**: The symbol to display next to the value.\n- **displayFormat**: (Optional) A format pattern for consistency (e.g., \"0.0\" for one decimal place).\n\n### WebSocket Stream\n\nWhen subscribing to the WebSocket stream, add `sendMeta=all` to receive metadata once for each path (sent with the first delta for that path, and again only if it changes):\n\n```javascript\nconst ws = new WebSocket('ws://localhost:3000/signalk/v1/stream?subscribe=none')\n\nws.onopen = () => {\n  ws.send(\n    JSON.stringify({\n      context: 'vessels.self',\n      subscribe: [\n        {\n          path: 'navigation.speedOverGround',\n          policy: 'instant',\n          sendMeta: 'all'\n        }\n      ]\n    })\n  )\n}\n```\n\n**Delta with Metadata:**\n\n```json\n{\n  \"context\": \"vessels.urn:mrn:signalk:uuid:...\",\n  \"updates\": [\n    {\n      \"values\": [\n        {\n          \"path\": \"navigation.speedOverGround\",\n          \"value\": 5.14,\n          \"meta\": {\n            \"units\": \"m/s\",\n            \"description\": \"Speed over ground\",\n            \"displayUnits\": {\n              \"category\": \"speed\",\n              \"targetUnit\": \"kn\",\n              \"formula\": \"value * 1.94384\",\n              \"inverseFormula\": \"value / 1.94384\",\n              \"symbol\": \"kn\",\n              \"displayFormat\": \"0.0\"\n            }\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\nUsing `sendMeta=all` eliminates the need for separate REST calls to fetch metadata.\n\n### Consuming Data\n\n1.  **Get the value and metadata** - Either subscribe to the WebSocket stream with `sendMeta=all` (recommended), or poll the REST API and fetch metadata separately.\n2.  **Check for `displayUnits`** - If present, the user has unit preferences configured.\n3.  **Convert the value** - Evaluate the `formula` expression with the SI value as `value`.\n4.  **Display the result** - Show the converted value with the provided `symbol` and `displayFormat`.\n\nThis ensures that if the user changes their preferences (e.g., from \"Knots\" to \"m/s\" or \"km/h\") on the server, your application automatically reflects those changes without any code updates.\n\n### API Endpoints\n\nThe unit preferences system exposes the following REST API endpoints:\n\n| Method | Endpoint                                           | Description                                         |\n| ------ | -------------------------------------------------- | --------------------------------------------------- |\n| GET    | `/signalk/v1/unitpreferences/config`               | Get the current configuration                       |\n| PUT    | `/signalk/v1/unitpreferences/config`               | Update the configuration                            |\n| GET    | `/signalk/v1/unitpreferences/categories`           | Get all unit categories (merged standard + custom)  |\n| GET    | `/signalk/v1/unitpreferences/definitions`          | Get all unit definitions (merged standard + custom) |\n| GET    | `/signalk/v1/unitpreferences/custom-definitions`   | Get custom unit definitions only                    |\n| PUT    | `/signalk/v1/unitpreferences/custom-definitions`   | Update custom unit definitions                      |\n| GET    | `/signalk/v1/unitpreferences/custom-categories`    | Get custom category mappings only                   |\n| PUT    | `/signalk/v1/unitpreferences/custom-categories`    | Update custom category mappings                     |\n| GET    | `/signalk/v1/unitpreferences/presets`              | List all available presets (built-in and custom)    |\n| GET    | `/signalk/v1/unitpreferences/presets/:name`        | Get a specific preset by name                       |\n| PUT    | `/signalk/v1/unitpreferences/presets/custom/:name` | Create or update a custom preset                    |\n| DELETE | `/signalk/v1/unitpreferences/presets/custom/:name` | Delete a custom preset                              |\n| GET    | `/signalk/v1/unitpreferences/active`               | Get the currently active preset                     |\n| GET    | `/signalk/v1/unitpreferences/default-categories`   | Get the default category mappings                   |\n\n---\n"
  },
  {
    "path": "docs/installation/README.md",
    "content": "---\ntitle: Installation\nchildren:\n  - raspberry_pi_installation.md\n  - npm.md\n  - docker.md\n  - source.md\n  - updating.md\n  - command_line.md\n---\n\n# Installation\n\nSignal K Server is a [NodeJS](https://nodejs.org/en) application which can run on nearly any computer and operating system, including Window, Linux, and macOS.\n\nCurrently the most cost effective, powerful and best supported hardware platform for a Signal K server is the [Raspberry\nPi](https://www.raspberrypi.com). Any Raspberry Pi (even the very first model) can be used but for best performance we recommend Raspberry Pi 4 model B or 5. If you don't have a Raspberry Pi, any old laptop or computer you have sitting around would make a good initial test platform, although for permanent use on a yacht, more power efficient hardware like a Raspberry Pi is strongly recommended.\n\n## Prerequisites\n\n> [!NOTE]\n> Signal K server requires [NodeJS](https://nodejs.org) version >= 22 (version 24 recommended) be installed on the target system.\n\n## Getting Started\n\n- [Installing on Raspberry Pi](raspberry_pi_installation.md)\n- [Installing on Windows](https://github.com/SignalK/signalk-server-windows)\n- [Installing from NPM](npm.md)\n- [Installing from Docker](docker.md)\n- [Installing from Source](source.md)\n"
  },
  {
    "path": "docs/installation/command_line.md",
    "content": "---\ntitle: Runtime Environment & Options\n---\n\n# Runtime Environment & Options\n\nSignal K Server provides the following command line options and environment variables to configure your implementation.\n\n## Command line options\n\n| Option                   | Description                                                                                                                                                                                                                        |\n| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `-s`                     | Override path to the settings file. _(same as `SIGNALK_NODE_SETTINGS` environment variable)_                                                                                                                                       |\n| `-c`                     | Override the path to find server configuration. _(same as `SIGNALK_NODE_CONFIG_DIR` environment variable)_                                                                                                                         |\n| `--sample-nmea0183-data` | Starts signalk-server with sample NMEA0183 data.                                                                                                                                                                                   |\n| `--sample-n2k-data`      | Starts signalk-server with sample NMEA2000 data.                                                                                                                                                                                   |\n| `--override-timestamps`  | Override timestamps in the sample NMEA2000 data with current date and time. Doesn't apply nor makes a difference to NMEA0183 sample data.                                                                                          |\n| `--securityenabled`      | Enable security. For a fresh install this makes the Admin UI force the user to create an admin account before he/she can continue further into the UI. See [Security](../security.md#enabling-security) for further details.       |\n| `--no-plugins`           | Start the server without loading any plugins (Node.js or WASM). Useful for debugging, recovering from a misbehaving plugin, or running a stripped-down server. The Admin UI will not show a plugin list while this flag is active. |\n| `--no-webapps`           | Start the server without serving any webapps (regular, embeddable, or MFD). The core Admin UI is still served. Useful when running the server purely as a data backend or for diagnosing webapp issues.                            |\n\n## Environment variables\n\n| Variable                         | Description                                                                                                                                                                                                                                                                                                                                                                                                    |\n| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `PORT`                           | Override the port for http/ws service (default is 3000).                                                                                                                                                                                                                                                                                                                                                       |\n| `SSLPORT`                        | Override the port for https/wss service. If defined forces ssl as default protocol _(default port is 3443)_.                                                                                                                                                                                                                                                                                                   |\n| `PROTOCOL`                       | Override http/https where the server is accessed via https but the server sees http _(e.g. when Heroku handles https termination)_                                                                                                                                                                                                                                                                             |\n| `EXTERNALPORT`                   | The port used in /signalk response and Bonjour advertisement. Has precedence over configuration file.                                                                                                                                                                                                                                                                                                          |\n| `EXTERNALHOST`                   | The host used in /signalk response and Bonjour advertisement. Has precedence over configuration file.                                                                                                                                                                                                                                                                                                          |\n| `EXTERNALSSL`                    | Indicates that TLS is terminated by an external reverse proxy. Affects mDNS advertisement and discovery protocol selection. Set to `1` or `true` to enable. Has precedence over `proxy_ssl` in the settings file.                                                                                                                                                                                              |\n| `FILEUPLOADSIZELIMIT`            | Override the file upload size limit _(default is '10mb')_.                                                                                                                                                                                                                                                                                                                                                     |\n| `NMEA0183PORT`                   | Override the port for the NMEA 0183 over tcp service _(default is 10110)_.                                                                                                                                                                                                                                                                                                                                     |\n| `TCPSTREAMPORT`                  | Override the port for the Signal K Streaming (deltas) over TCP.                                                                                                                                                                                                                                                                                                                                                |\n| `TCPSTREAMADDRESS`               | Override the address the Signal K Stream (deltas) over TCP is listening on.                                                                                                                                                                                                                                                                                                                                    |\n| `DISABLEPLUGINS`                 | Disable all plugins so that they can not be enabled _(default is false)_.                                                                                                                                                                                                                                                                                                                                      |\n| `DEFAULTENABLEDPLUGINS`          | A comma-separated list of plugin ids that are overridden to be enabled by default if no settings exist. Lower preference than `DISABLEPLUGINS`.                                                                                                                                                                                                                                                                |\n| `PLUGINS_WITH_UPDATE_DISABLED`   | A comma-separated list of plugin that will not be updated.                                                                                                                                                                                                                                                                                                                                                     |\n| `SECURITYSTRATEGY`               | Override the security strategy module name.                                                                                                                                                                                                                                                                                                                                                                    |\n| `DISABLE_SECURITY_ACTIVATION`    | Prevent security from being activated via the Admin UI or API when the server is running without security. Set to `1` or `true` to enable. Useful for servers that are intentionally running without authentication and should not allow remote security activation _(default is false)_.                                                                                                                      |\n| `WSCOMPRESSION`                  | Compress websocket messages _(default is false)_.                                                                                                                                                                                                                                                                                                                                                              |\n| `MAXSENDBUFFERSIZE`              | The maximum number of bytes allowed in the server's send buffer of a client connection (WebSocket, Signal K TCP, and NMEA TCP). The connection will be terminated if this is exceeded for MAXSENDBUFFERCHECKTIME milliseconds. Guards against slow or dysfunctional clients that can not cope with the message volume _(default is 2097152 / 2MB)_.                                                            |\n| `MAXSENDBUFFERCHECKTIME`         | How long in milliseconds to wait before terminating a client connection (WebSocket, Signal K TCP, and NMEA TCP) whose send buffer exceeds MAXSENDBUFFERSIZE _(default is 30000 / 30s)_.                                                                                                                                                                                                                        |\n| `SIGNALK_SERVER_IS_UPDATABLE`    | Allows the server to be updated through the GUI even if it is not installed in the standard paths _(default is false)_. If set to true, the server must have been installed with `npm install -g signalk-server`.                                                                                                                                                                                              |\n| `SIGNALK_DISABLE_SERVER_UPDATES` | Disables server updates in the GUI _(default is false)_.                                                                                                                                                                                                                                                                                                                                                       |\n| `DEBUG`                          | A comma-separated list of tags for debugging the specified module _(e.g signalk-server\\*,signalk-provider-tcp)_. Can now be defined directly in the graphical interface. More help on how to use the debug here: `https://www.npmjs.com/package/debug#wildcards`                                                                                                                                               |\n| `IS_IN_DOCKER`                   | Used to tell the server it is in Docker and not normally updateable _(default is false)_.                                                                                                                                                                                                                                                                                                                      |\n| `NPMREGISTRYTIMEOUT`             | How long to wait for the registry when retrieving the App Store listing _(default is 20s)_.                                                                                                                                                                                                                                                                                                                    |\n| `SECRETKEY`                      | A secret string used to generate an authentication token _(the internal default autogenerated is a string of 512 hex chars like 'ef8307a4c7a4bd7...309d947bca3')_                                                                                                                                                                                                                                              |\n| `ALLOW_DEVICE_ACCESS_REQUESTS`   | Used when a device needs to gain access to a secured Signal K server _(default is true)_ (https://signalk.org/specification/1.4.0/doc/access_requests.html).                                                                                                                                                                                                                                                   |\n| `ALLOW_NEW_USER_REGISTRATION`    | _(default is true)_.                                                                                                                                                                                                                                                                                                                                                                                           |\n| `ADMINUSER`                      | Force an account for admin user _(username:password format)_.                                                                                                                                                                                                                                                                                                                                                  |\n| `PRESERIALCOMMAND`               | Command to run before opening a serial port.                                                                                                                                                                                                                                                                                                                                                                   |\n| `SIGNALK_NODE_SETTINGS`          | Override the path to the settings file.                                                                                                                                                                                                                                                                                                                                                                        |\n| `SIGNALK_NODE_CONFIG_DIR`        | Override the path to find server configuration. Includes all run-time changing content: configuration files, plugins, plugin configuration files, webapps, and so forth.                                                                                                                                                                                                                                       |\n| `SKIP_NODE_VERSION_CHECK`        | Skip the Node.js minimum version check. This is not recommended, but allows you to attempt to run the server on unsupported versions of Node. (Added in v2.14.1)                                                                                                                                                                                                                                               |\n| `HTTP_RATE_LIMITS`               | Override HTTP rate limits. Provide overrides like `api=1000,loginStatus=1000,login=1000` (optionally `windowMs=600000`). Useful for tests and unusual deployments.                                                                                                                                                                                                                                             |\n| `TRUST_PROXY`                    | Override the `trustProxy` setting from `settings.json`. Accepts `true`, `false`, an IP address/CIDR string, or an integer hop count. Useful for container and cloud deployments where the setting must be injected via the environment rather than baked into the config file. When set, takes precedence over the value in `settings.json`.                                                                   |\n| `BACKPRESSURE_ENTER`             | Backpressure threshold in bytes to enter backpressure mode _(default is 524288 / 512KB)_. Applies to WebSocket, Signal K TCP, NMEA TCP, and TCP client connections. When a connection's send buffer exceeds this, the server switches to accumulating only latest values per path (for delta connections), dropping messages (for NMEA connections), or skipping outbound writes (for TCP client connections). |\n| `BACKPRESSURE_EXIT`              | Backpressure threshold in bytes to exit backpressure mode _(default is 1024 / 1KB)_. When the buffer drains below this, accumulated values are flushed. Applies to WebSocket and Signal K TCP connections. Primarily for testing.                                                                                                                                                                              |\n| `EVENT_EMITTER_MAX_LISTENERS`    | Maximum number of delta event listeners _(default is 50)_. Increase if you see MaxListenersExceededWarning when connecting many WebSocket clients.                                                                                                                                                                                                                                                             |\n| `MAX_WS_CONNECTIONS_PER_IP`      | Maximum number of concurrent WebSocket connections allowed from a single IP address _(default is 30)_. Connections beyond the limit are rejected during the HTTP upgrade with HTTP 429 Too Many Requests.                                                                                                                                                                                                      |\n| `SIGNALK_ADMIN_UI`               | Select the Admin UI version. Set to `react19` to use the React 19 Admin UI. If not set, the legacy Admin UI is used.                                                                                                                                                                                                                                                                                           |\n\n## Settings file options\n\nThe following options can be set in `settings.json` or via the server settings API.\n\n| Option           | Description                                                                                                                                                                                                                                                                                                                                                                                            |\n| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `wsPingInterval` | Interval in milliseconds for native WebSocket ping/pong heartbeat _(default is 30000)_. The server sends a WebSocket ping frame to each connected client at this interval. Clients that do not respond with a pong are considered dead and disconnected. This prevents stale connections from accumulating when clients drop without a close frame (e.g. WiFi disconnects). Set to `false` to disable. |\n"
  },
  {
    "path": "docs/installation/docker.md",
    "content": "---\ntitle: Docker\n---\n\n# Installing from Docker\n\nSignal K Server is available as a Docker image on _Docker Hub_ and _cr.signalk.io/signalk/signalk-server_.\n\nTo simply run a Signal K Server with some sample data on a device with docker installed, enter the following into a terminal:\n\n```shell\ndocker run -it --rm --publish 3000:3000 signalk/signalk-server\n```\n\nThis will start an instance of Signal K Server on port 3000 which you can then access via the web based Admin UI by pointing your web browser at `http://localhost:3000`.\n\nIf you are wanting to use docker to deploy Signal K Server on your vessel you will need to:\n\n1. Specify a location to persist the server's configuration so it is not lost between restarts\n1. Run the instance as a background process\n\n_Example: Run as background process and store server configuration in the current folder:_\n\n```shell\ndocker run -d --init --name signalk-server -p 3000:3000 -v $(pwd):/home/node/.signalk signalk/signalk-server\n```\n\nYou are ready to now **[configure](../setup/configuration.md)** your installation and connect data from devices on your boat.\n"
  },
  {
    "path": "docs/installation/npm.md",
    "content": "---\ntitle: NPM\n---\n\n# Installing from NPM\n\nSignal K Server can be installed directly using NPM.\n\n## Linux / macOS\n\n```shell\nsudo npm install -g signalk-server\n```\n\nOnce installation is complete, enter the following in a terminal window, to generate a settings file and configure the server to start automatically:\n\n```shell\nsudo signalk-server-setup\n```\n\nIf you choose not to use `signalk-server-setup` you can start the server by entering the following in a terminal window:\n\n```shell\nsignalk-server\n```\n\nYou are ready to now **[configure](../setup/configuration.md)** your installation and connect data from devices on your boat.\n\n## Windows\n\nSee [Installing on Windows](https://github.com/SignalK/signalk-server-windows).\n"
  },
  {
    "path": "docs/installation/raspberry_pi_installation.md",
    "content": "---\ntitle: Raspberry Pi\n---\n\n# Installing on Raspberry Pi\n\nInstallation of Signal K server consists of the following steps:\n\n1. Install the tools and libraries required to run the Signal K server (the dependencies)\n1. Install a Signal K Server to process the Signal K data\n1. Run the Setup script.\n\n_**Important:** If you are updating a Signal K server installation, especially if upgrading an installed version <= 1.40.0, [please check here first](./updating.md)._\n\n## Prerequisites:\n\n**64-bit** Raspberry Pi OS is installed on the device (Pi 3, 4 or 5 required). Node.js 24 does not support 32-bit ARM (armv7).\n\nFor instructions on how to install the operating system see [Raspberry Pi Getting Started](https://www.raspberrypi.org/documentation/computers/getting-started.html#setting-up-your-raspberry-pi).\n\n_Note: It is also possible to perform a \"headless install\" using `Raspberry Pi OS Lite` since the GUI for Signal K is browser based._\n\nOnce the OS installation has been completed, you are ready to commence.\n\n---\n\n## Install the Dependencies\n\n1. Log in to the RPi Desktop and open a terminal.\n\n1. Update the list of install packages.\n\n   ```\n   sudo apt update\n   ```\n\n1. Install NodeJS 24 and npm.\n\n   Follow [instructions for Ubuntu and Debian based distributions like Raspberry Pi OS at NodeSource Distributions](https://github.com/nodesource/distributions#installation-instructions).\n\n1. Ensure that we're using the latest version of npm.\n\n   ```\n   sudo npm install -g npm@latest\n   ```\n\n   Use the following command to check the versions of NodeJS and npm installed.\n\n   ```\n   node -v && npm -v\n   ```\n\n   Ensure the reported versions are equal to or greater than `v24.0.0, 11.0.0` respectively.\n\n1. Install a Bonjour (mDNS) service for Linux called Avahi, which allows Apps and other network devices to Discover the Signal K server.\n   ```\n   sudo apt install libnss-mdns avahi-utils libavahi-compat-libdnssd-dev\n   ```\n\n## Install Signal K Server\n\n```\nsudo npm install -g signalk-server\n```\n\nYou can test that installation was successful by starting the server using some\nsample data.\n\n```\nsignalk-server --sample-nmea0183-data\n```\n\nYou should see the terminal output \"signalk-server running at 0.0.0.0:3000\" as shown below...\n\n```\nsignalk-server --sample-nmea0183-data\nUsing sample data from /usr/lib/node_modules/signalk-server/samples/plaka.log\nsignalk-server running at 0.0.0.0:3000\n```\n\nThe Signal K Node Server is now reading and publishing sample NMEA0183 data from the specified file.\n\nUsing a Web browser enter the following URL: `http://127.0.0.1:3000/signalk` which should display the following information indicating the server is up and running.\n\n```JSON\n{\n    \"endpoints\":{\n        \"v1\":{\n            \"version\":\"2.0.0\",\n            \"signalk-http\":\"http://127.0.0.1:3000/signalk/v1/api/\",\n            \"signalk-ws\":\"ws://127.0.0.1:3000/signalk/v1/stream\",\n            \"signalk-tcp\":\"tcp://127.0.0.1:3858\"\n        }\n    },\n    \"server\":{\n        \"id\":\"signalk-server-node\",\n        \"version\":\"2.0.0\"\n    }\n}\n```\n\n## Run the Setup Script\n\nNow that you have Signal K server installed, you will want to generate a settings file for your vessel\nand configure your RPi to start the server automatically. To do this run the setup script by entering the following command and follow the prompts.\n\n```\nsudo signalk-server-setup\n```\n\nYou can re-run this command at any time in the future to change the settings.\n\n_Note: The setup script will enable security which will require you to `Login` from the Admin UI.\nClicking `Login` for the first time will prompt you to create a user and password._\n\nSignal K server will now be started automatically when your RPi boots up.\n\nIf you want to temporarily stop the Signal K server, you can do so by entering the following commands:\n\n```\nsudo systemctl stop signalk.service\nsudo systemctl stop signalk.socket\n```\n\nTo start Signal K server again enter the following commands:\n\n```\nsudo systemctl start signalk.service\nsudo systemctl start signalk.socket\n```\n\nTo stop Signal K server from starting automatically enter the following commands:\n\n```\nsudo systemctl disable signalk.service\nsudo systemctl disable signalk.socket\n```\n\nYou are ready to now **[configure](../setup/configuration.md)** your installation and connect data from devices on your boat.\n"
  },
  {
    "path": "docs/installation/source.md",
    "content": "---\ntitle: From Source\n---\n\n# Installing from source\n\nInstallation from the GitHub repository is useful when developing plugins and components.\n\nTo do this enter the following commands in a terminal window:\n\n```shell\n# Copy the files to your device\ngit clone https://github.com/SignalK/signalk-server.git\n\n# change to the folder containing the downloaded files\ncd signalk-server\n\n# install the dependencies\nnpm install\n\n# build all packages in the repository\nnpm run build:all\n```\n\nTo start Signal K Server with a sample configuration file and some sample data, enter the following into a terminal:\n_To use NMEA0183 sample data:_\n\n```shell\nbin/nmea-from-file\n```\n\n_To use NMEA2000 sample data:_\n\n```shell\nbin/n2k-from-file\n```\n\nThe server will start playing back data from the specified sample file that can be viewed using the _Data Browser_ in the Admin UI _(`http://localhost:3000`)_ or via REST API / websocket connection.\n\n---\n"
  },
  {
    "path": "docs/installation/updating.md",
    "content": "---\ntitle: Updating your Installation\n---\n\n# Updating your Installation\n\nSignal K Server is frequently updated to introduce new features and fix issues that have been reported.\nSometime these updates require that NodeJS or other supporting software on your device to be upgraded to support the new functionality.\n\nAdditionally your device's operating system are constantly evolving to address security issues as well as providing new capabilities.\n\nRegularly updating your installation will reduce both the volume of data download and the time taken to complete the process. Connecting your device to a network with good broadband speed before performing an update is recommended.\n\nUpdates fall into four categories:\n\n1. Device Operating system (e.g. RaspberryPi OS)\n1. NodeJS / NPM\n1. Signal K Server\n1. Signal K WebApps and Plugins\n\n## Update Device Operating System\n\nInstructions will vary depending on your device but for linux based systems such as the Raspberry Pi the following instructions are used to update the OS.\n\nFrom a terminal window enter the following commands:\n\n```shell\nsudo apt update\n\nsudo apt dist-upgrade\n```\n\nIf you have not performed an update for a while these commands may take a while to complete, just be patient and make sure everything completes correctly.\n\nAfter the process has completed `restart` your device.\n\n## Update NodeJS and NPM\n\nTo ensure the version of NodeJS on your device is supported by Signal K Server _[(see prerequisites)](README.md#prerequisites)_, check the installed version by\nentering the following in a terminal window:\n\n```shell\nnode -v\n\n# example response\nv18.17.0\n```\n\nIf the version of NodeJS displayed is lower than the version supported by Signal K Server then you can update it with the following command:\n\n```shell\nsudo apt upgrade nodejs\n```\n\nIt is also recommended to update the version of the Node Package Manager (NPM).\n\n```shell\nsudo npm install -g npm@latest\n```\n\n## Update Signal K Server\n\nWhen an update is available for Signal K Server a visual indication is displayed in the Admin UI.\n\n**Important!**\nBefore updating please ensure the version of NodeJS on your device is [supported by Signal K Server](README.md#prerequisites).\n\n_**If you are updating from Signal K Server version v1.40.0 or earlier please [read this first](https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js) before proceeding.**_\n\nClick on _Server -> Update_ to display information about the new version.\n\n![server_update](../img/server_update.png)\n\nClick **Update** to start the installation.\n\nAfter the installation is complete, click **Restart** to launch the updated Signal K Server.\n\n### WebApps and Plugins\n\nAfter updating Signal K Server some plugins and WebApps may also need to be updated.\n\nThe AppStore is where WebApps and Plugins can be installed, removed or updated.\nThose with an update available will be listed in _Appstore -> Updates_ in the Admin UI.\n\nClicking on the _download cloud_ button next to the WebApp / Plugin you wish to update.\n\nAfter all installations have been completed, click **Restart** to activate the updated WebApps and Plugins.\n"
  },
  {
    "path": "docs/internal/README.md",
    "content": "# Internal Documentation\n\nThis folder contains internal/maintainer documentation for Signal K Server. These documents describe implementation details, architecture decisions, and technical internals that are useful for maintainers but not intended for end users or plugin developers.\n\n## Contents\n\n| Document                                     | Description                                                    |\n| -------------------------------------------- | -------------------------------------------------------------- |\n| [hotplug.md](hotplug.md)                     | Plugin hotplug implementation (enable/disable without restart) |\n| [wasm-architecture.md](wasm-architecture.md) | WASM plugin infrastructure overview                            |\n| [wasm-asyncify.md](wasm-asyncify.md)         | Asyncify implementation for async HTTP in WASM                 |\n\n## Related Documentation\n\n- `docs/develop/` - Public developer documentation (plugin API, REST API, etc.)\n- `docs/develop/plugins/wasm/` - WASM plugin developer guide\n- `docs/` - User-facing documentation (installation, configuration, etc.)\n"
  },
  {
    "path": "docs/internal/wasm-architecture.md",
    "content": "# WASM Plugin Architecture\n\nInternal documentation for Signal K Server WASM plugin infrastructure.\n\n## Overview\n\nThe WASM plugin system runs alongside the existing Node.js plugin system in a hybrid mode:\n\n- **Node.js plugins**: Full access (unsandboxed)\n- **WASM plugins**: Wasmer sandbox with VFS isolation and capability restrictions\n\n## Source Files\n\n### Core Infrastructure (`src/wasm/`)\n\n| File                    | Purpose                                                              |\n| ----------------------- | -------------------------------------------------------------------- |\n| `wasm-runtime.ts`       | WASM runtime management (Wasmer), module loading, instance lifecycle |\n| `wasm-storage.ts`       | Virtual filesystem (VFS) management, per-plugin isolation            |\n| `wasm-serverapi.ts`     | FFI bridge to ServerAPI, capability enforcement, delta handling      |\n| `wasm-subscriptions.ts` | Delta subscription management, pattern matching, buffering           |\n\n### Plugin Loader (`src/wasm/loader/`)\n\n| File                  | Purpose                                                           |\n| --------------------- | ----------------------------------------------------------------- |\n| `types.ts`            | `WasmPlugin` and `WasmPluginMetadata` interfaces                  |\n| `plugin-registry.ts`  | Plugin registration, global registry (Map), crash recovery timers |\n| `plugin-lifecycle.ts` | start/stop/unload/reload, crash recovery with exponential backoff |\n| `plugin-config.ts`    | Configuration persistence, enable/disable at runtime              |\n| `plugin-routes.ts`    | HTTP routes (GET/POST /config), custom plugin endpoints           |\n| `index.ts`            | Public API entry point, re-exports all functions                  |\n\n## VFS Structure\n\nEach WASM plugin gets an isolated virtual filesystem:\n\n```\n$CONFIG_DIR/plugin-config-data/{plugin-id}/\n├── {plugin-id}.json        # Server-managed config (outside VFS)\n├── vfs/                    # VFS root (plugin sees as \"/\")\n│   ├── data/               # Persistent storage\n│   ├── config/             # Plugin-managed config\n│   └── tmp/                # Temporary files\n```\n\n## Plugin Identification\n\nWASM plugins are identified by the `wasmManifest` field in `package.json`:\n\n```json\n{\n  \"name\": \"@scope/my-wasm-plugin\",\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"storage\": \"vfs-only\",\n    \"network\": false\n  }\n}\n```\n\nPlugin ID is derived from package name: `@scope/my-plugin` → `_scope_my-plugin`\n\n## Circular Dependency Resolution\n\nThe loader modules use a forward reference pattern:\n\n```typescript\n// In plugin-registry.ts\nlet startWasmPluginRef: typeof import('./plugin-lifecycle').startWasmPlugin\n\nexport function initializeLifecycleFunctions(\n  startFn: typeof startWasmPluginRef\n) {\n  startWasmPluginRef = startFn\n}\n\n// In loader/index.ts - wire up at import time\nimport { initializeLifecycleFunctions } from './plugin-registry'\nimport { startWasmPlugin } from './plugin-lifecycle'\ninitializeLifecycleFunctions(startWasmPlugin)\n```\n\n## Dependencies\n\n- `node:wasi` - Node.js built-in WASI support (Node 20+)\n- `@assemblyscript/loader` - AssemblyScript runtime support\n- `as-fetch` - HTTP fetch for AssemblyScript (via Asyncify)\n\n## Known Limitations\n\n- Serial ports not yet implemented\n- Autopilot API not yet integrated\n\n## Related Documentation\n\n- [wasm-asyncify.md](wasm-asyncify.md) - Asyncify implementation for async HTTP\n- [hotplug.md](hotplug.md) - Plugin enable/disable without restart\n- `docs/develop/plugins/wasm/` - Public developer documentation\n"
  },
  {
    "path": "docs/internal/wasm-asyncify.md",
    "content": "# Asyncify Implementation for SignalK WASM Plugins\n\n## Overview\n\nThis document describes the implementation of Asyncify support in the SignalK server WASM runtime, enabling WASM plugins to perform asynchronous operations like HTTP requests using `as-fetch`.\n\n## What is Asyncify?\n\nAsyncify is a Binaryen compile-time transform that enables pausing and resuming WebAssembly execution. This allows synchronous-style code in AssemblyScript to perform async operations like HTTP requests.\n\n### Asyncify State Machine\n\nAsyncify uses a state machine with three states:\n\n- **State 0 (Normal)**: Normal execution\n- **State 1 (Unwound/Paused)**: WASM execution is paused, waiting for async operation\n- **State 2 (Rewound/Resuming)**: Async operation completed, resuming WASM execution\n\n## Architecture\n\n### Components\n\n1. **FetchHandler** (`as-fetch/bindings.raw.esm.js`)\n   - Manages Asyncify state transitions\n   - Handles HTTP requests via browser/Node.js fetch API\n   - Calls main function callback when async operations complete\n\n2. **WASM Runtime** (`src/wasm/wasm-runtime.ts`)\n   - Initializes FetchHandler with resume callback\n   - Detects Asyncify state after plugin_start()\n   - Waits for async operations to complete before returning\n\n3. **Plugin Lifecycle** (`src/wasm/loader/plugin-lifecycle.ts`)\n   - Awaits async plugin_start() function\n   - Handles both sync and async plugin initialization\n\n## Implementation Details\n\n### 1. FetchHandler Initialization\n\nIn `src/wasm/wasm-runtime.ts` (lines 451-465):\n\n```typescript\n// Store reference to the function that needs to be resumed\nlet asyncifyResumeFunction: (() => any) | null = null\n\n// Initialize as-fetch handler if network capability is enabled\nif (fetchHandler && capabilities.network) {\n  debug(`Initializing as-fetch handler with exports`)\n  // The second parameter is the \"main function\" that gets called after async operations complete\n  // This function needs to re-call the WASM function to continue execution in rewind state\n  fetchHandler.init(rawExports, () => {\n    debug(`FetchHandler calling main function to resume execution`)\n    if (asyncifyResumeFunction) {\n      asyncifyResumeFunction()\n    }\n  })\n}\n```\n\n**Key Points:**\n\n- FetchHandler needs a \"main function\" callback to resume WASM execution\n- This callback is set up BEFORE calling plugin_start to avoid race conditions\n- The callback re-calls the WASM function to continue from the rewind state\n\n### 2. Async Plugin Start with Race Condition Prevention\n\nIn `src/wasm/wasm-runtime.ts` (lines 504-566):\n\n```typescript\nstartFunc = async (config: string) => {\n  debug(`Calling plugin_start with config: ${config.substring(0, 100)}...`)\n  const encoder = new TextEncoder()\n  const configBytes = encoder.encode(config)\n  const configLen = configBytes.length\n\n  const configPtr = asLoaderInstance.exports.__new(configLen, 0)\n  const memory = asLoaderInstance.exports.memory.buffer\n  const memoryView = new Uint8Array(memory)\n  memoryView.set(configBytes, configPtr)\n\n  // Set up the resume function BEFORE calling plugin_start to avoid race condition\n  let resumePromiseResolve: (() => void) | null = null\n  const resumePromise = new Promise<void>((resolve) => {\n    resumePromiseResolve = resolve\n  })\n\n  asyncifyResumeFunction = () => {\n    debug(`Re-calling plugin_start to resume from rewind state`)\n    const resumeResult = asLoaderInstance.exports.plugin_start(\n      configPtr,\n      configLen\n    )\n    if (resumePromiseResolve) {\n      resumePromiseResolve()\n    }\n    return resumeResult\n  }\n\n  // Call plugin_start - this may trigger Asyncify\n  let result = asLoaderInstance.exports.plugin_start(configPtr, configLen)\n\n  // Check if Asyncify is available and the function is in unwound state\n  if (typeof asLoaderInstance.exports.asyncify_get_state === 'function') {\n    const state = asLoaderInstance.exports.asyncify_get_state()\n    debug(`Asyncify state after plugin_start: ${state}`)\n\n    if (state === 1) {\n      debug(\n        `Plugin is in unwound state - waiting for async operation to complete`\n      )\n      await resumePromise\n      debug(`Async operation completed, plugin execution resumed`)\n    } else {\n      asyncifyResumeFunction = null\n    }\n  }\n\n  if (typeof asLoaderInstance.exports.__free === 'function') {\n    asLoaderInstance.exports.__free(configPtr)\n  }\n\n  return result\n}\n```\n\n**Key Points:**\n\n- **Race Condition Prevention**: Promise and callback are set up BEFORE calling plugin_start\n- If set up AFTER, fast HTTP responses could complete before callback is registered\n- Checks Asyncify state after initial call to detect if async operation started\n- Waits for Promise to resolve before returning from start()\n\n### 3. Type Updates\n\nUpdated function signatures to support async returns:\n\n```typescript\n// Interface definition (line 124)\nstart: (config: string) => number | Promise<number>\n\n// Plugin lifecycle (line 106)\nconst result = await plugin.instance.exports.start(configJson)\n```\n\n## Configuration File Path Fix\n\n### Problem\n\nOn server restart, plugins were not loading correctly due to config file path mismatch:\n\n- Temporary ID from package name: `weather-plugin-example` (from `@signalk/weather-plugin-example`)\n- Actual plugin ID from WASM: `weather-example`\n- Config file saved by UI: `weather-example.json`\n- Startup looked for: `weather-plugin-example.json` ❌\n\n### Solution\n\nIn `src/wasm/loader/plugin-registry.ts` (lines 85-110):\n\n```typescript\n// Load WASM module temporarily just to get the plugin ID\n// We need the real plugin ID to find the correct config file\nconst tempVfsRoot = path.join(\n  configPath,\n  'plugin-config-data',\n  '.temp-' + packageName.replace(/\\//g, '-')\n)\nif (!fs.existsSync(tempVfsRoot)) {\n  fs.mkdirSync(tempVfsRoot, { recursive: true })\n}\n\nconst runtime = getWasmRuntime()\nconst tempInstance = await runtime.loadPlugin(\n  packageName,\n  wasmPath,\n  tempVfsRoot,\n  capabilities,\n  app\n)\n\n// Extract plugin ID from WASM exports\nconst pluginId = tempInstance.exports.id()\nconst pluginName = tempInstance.exports.name()\nconst schemaJson = tempInstance.exports.schema()\nconst schema = schemaJson ? JSON.parse(schemaJson) : {}\n\n// Now check config using the REAL plugin ID\nconst storagePaths = getPluginStoragePaths(configPath, pluginId, packageName)\nconst savedConfig = readPluginConfig(storagePaths.configFile)\n```\n\n**Key Points:**\n\n- Always load WASM first to get real plugin ID\n- Use real plugin ID to locate config file\n- Reuse loaded instance for enabled plugins (no double-loading)\n\n## Plugin Configuration Requirements\n\n### 1. AssemblyScript Configuration (`asconfig.json`)\n\n```json\n{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"stub\",\n      \"use\": \"abort=\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"] // ← CRITICAL: Enables Asyncify\n  }\n}\n```\n\n**Critical Settings:**\n\n- `\"transform\": [\"as-fetch/transform\"]` - Enables Asyncify transform\n- `\"bindings\": \"esm\"` - Generates ESM bindings for FetchHandler\n- `\"exportRuntime\": true` - Exports Asyncify state functions\n\n### 2. Package Configuration (`package.json`)\n\n```json\n{\n  \"name\": \"@signalk/weather-plugin-example\",\n  \"version\": \"0.1.8\",\n  \"wasmManifest\": \"build/plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": true, // ← Required for as-fetch\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"serialPorts\": false\n  },\n  \"dependencies\": {\n    \"as-fetch\": \"^2.1.4\",\n    \"signalk-assemblyscript-plugin-sdk\": \"^0.1.0\"\n  }\n}\n```\n\n**Critical Settings:**\n\n- `\"network\": true` - Grants network capability\n- `\"as-fetch\": \"^2.1.4\"` - HTTP client library dependency\n\n## Using as-fetch in Plugins\n\n### Example: HTTP GET Request\n\n```typescript\nimport { fetchSync } from 'as-fetch/sync'\nimport { Response } from 'as-fetch/assembly'\n\nexport function plugin_start(config: Config): i32 {\n  // Fetch data using synchronous-style async API\n  const response = fetchSync('https://api.example.com/data')\n\n  if (response) {\n    const data = response.text()\n    // Process data...\n  }\n\n  return 0\n}\n```\n\n**Key Points:**\n\n- Import from `'as-fetch/sync'` for synchronous-style API\n- `fetchSync()` internally uses Asyncify to pause/resume execution\n- Runtime handles all state transitions automatically\n\n### Example: Weather Plugin\n\nSee `examples/wasm-plugins/example-weather-plugin/assembly/index.ts` for a complete example:\n\n```typescript\nprivate fetchWeatherData(): void {\n  const url =\n    `https://api.openweathermap.org/data/2.5/weather?lat=${this.lat}&lon=${this.lon}&appid=${this.apiKey}&units=metric`\n\n  debug('Fetching weather data from: ' + url)\n\n  const response = fetchSync(url)\n\n  if (!response) {\n    setError('Failed to fetch weather data from OpenWeatherMap')\n    return\n  }\n\n  if (response.status !== 200) {\n    setError(`OpenWeatherMap API error: ${response.status.toString()}`)\n    return\n  }\n\n  const jsonText = response.text()\n  const weatherData = JSON.parse<OpenWeatherMapResponse>(jsonText)\n\n  // Create and emit deltas\n  const delta = createEmptyDelta(this.pluginId)\n\n  const tempUpdate = new Update()\n  tempUpdate.path = 'environment.outside.temperature'\n  tempUpdate.value = JSON.stringify(weatherData.main.temp + 273.15)\n  delta.updates[0].values.push(tempUpdate)\n\n  emit(delta)\n}\n```\n\n## Debugging\n\n### Enable Debug Logging\n\nSet `DEBUG=signalk:wasm:*` environment variable:\n\n```bash\nDEBUG=signalk:wasm:* npm start\n```\n\n### Key Log Messages\n\n```\nsignalk:wasm:runtime Initializing as-fetch handler with exports\nsignalk:wasm:runtime Calling plugin_start with config: {...\nsignalk:wasm:runtime Asyncify state after plugin_start: 1\nsignalk:wasm:runtime Plugin is in unwound state - waiting for async operation to complete\nsignalk:wasm:runtime FetchHandler calling main function to resume execution\nsignalk:wasm:runtime Re-calling plugin_start to resume from rewind state\nsignalk:wasm:runtime Async operation completed, plugin execution resumed\n```\n\n### Common Issues\n\n**Issue**: Plugin doesn't fetch data on server restart\n\n- **Cause**: Config file not found due to plugin ID mismatch\n- **Solution**: Fixed in plugin-registry.ts - loads WASM first to get real ID\n\n**Issue**: FetchHandler callback undefined\n\n- **Cause**: Race condition - callback set after async operation completes\n- **Solution**: Set up Promise and callback BEFORE calling plugin_start\n\n**Issue**: Asyncify transform not working\n\n- **Cause**: Missing `\"transform\": [\"as-fetch/transform\"]` in asconfig.json\n- **Solution**: Add transform to options in asconfig.json\n\n## Testing\n\n### Test on Enable/Disable\n\n1. Open Plugin Config UI\n2. Disable plugin → Enable plugin\n3. Check logs for successful fetch\n4. Verify data appears in Signal K paths\n\n### Test on Server Restart\n\n1. Enable plugin in Plugin Config UI\n2. Restart SignalK server\n3. Check logs for:\n   - Config file loaded correctly\n   - Plugin started automatically\n   - HTTP request made successfully\n   - Data emitted to paths\n\n## References\n\n- Binaryen Asyncify: https://github.com/WebAssembly/binaryen/blob/main/src/passes/Asyncify.cpp\n- as-fetch Library: https://github.com/rockmor/as-fetch\n- AssemblyScript Documentation: https://www.assemblyscript.org/\n\n## Version History\n\n- **v0.1.8** - Fixed config file path mismatch and race condition\n- **v0.1.7** - Added race condition prevention in callback setup\n- **v0.1.6** - Initial Asyncify support implementation\n"
  },
  {
    "path": "docs/oidc.md",
    "content": "---\ntitle: OIDC Authentication\n---\n\n# OpenID Connect (OIDC) Authentication\n\nSignal K Server supports OpenID Connect (OIDC) authentication. This enables Single Sign-On (SSO) with identity providers (IdPs) running on your local network ([Keycloak](https://www.keycloak.org/), [Authentik](https://goauthentik.io/), [Authelia](https://www.authelia.com/)) or cloud services (Auth0, Okta, and others).\n\n## Overview\n\nOIDC authentication provides:\n\n- **Single Sign-On (SSO)**: Users **authenticate once** with the identity provider and the login information can be shared with **multiple applications**, such as Grafana.\n- **Modern authentication methods**: The IdP may support modern authentication methods such as [Passkey](https://safety.google/safety/authentication/passkey/) and Multi-factor authentication without implementing everything within Signal K\n- **Centralized User Management**: Manage users in your identity provider, not in Signal K\n- **Group-Based Permissions**: Map identity provider groups to Signal K permission levels\n- **Auto-Provisioning**: Automatically create Signal K users on first OIDC login\n\nOIDC works alongside local authentication. You can have both local users and OIDC users simultaneously.\n\n## Quick Start\n\n### 1. Register Signal K as an OIDC Client\n\nIn your identity provider, create a new OIDC/OAuth2 client application:\n\n- **Client ID**: Choose a name like `signalk-server`\n- **Client Type**: Confidential (requires client secret)\n- **Grant Type**: Authorization Code\n- **Redirect URI**: `https://your-signalk-server:3000/signalk/v1/auth/oidc/callback`\n\nNote the **Client ID** and **Client Secret** for the next step.\n\n### 2. Configure Signal K\n\nOIDC can be configured via environment variables or the Admin UI.\n\n#### Using Environment Variables\n\n```bash\nexport SIGNALK_OIDC_ENABLED=true\nexport SIGNALK_OIDC_ISSUER=https://auth.example.com\nexport SIGNALK_OIDC_CLIENT_ID=signalk-server\nexport SIGNALK_OIDC_CLIENT_SECRET=your-client-secret\n```\n\n#### Using the Admin UI\n\n1. Navigate to **Security > OIDC Configuration**\n2. Enable OIDC\n3. Enter your provider's Issuer URL\n4. Enter the Client ID and Client Secret\n5. Click **Save**\n\n### 3. Test the Configuration\n\n1. Log out of Signal K\n2. On the login page, click the SSO login button\n3. You should be redirected to your identity provider\n4. After authenticating, you'll be redirected back to Signal K\n\n## Configuration Reference\n\n### Environment Variables\n\n| Variable                          | Required | Default                | Description                                                                    |\n| --------------------------------- | -------- | ---------------------- | ------------------------------------------------------------------------------ |\n| `SIGNALK_OIDC_ENABLED`            | Yes      | `false`                | Enable OIDC authentication                                                     |\n| `SIGNALK_OIDC_ISSUER`             | Yes      | -                      | OIDC provider URL (e.g., `https://auth.example.com`)                           |\n| `SIGNALK_OIDC_CLIENT_ID`          | Yes      | -                      | Client ID registered with the provider                                         |\n| `SIGNALK_OIDC_CLIENT_SECRET`      | Yes      | -                      | Client secret from the provider                                                |\n| `SIGNALK_OIDC_SCOPE`              | No       | `openid email profile` | OAuth scopes to request (add `groups` for permission mapping)                  |\n| `SIGNALK_OIDC_DEFAULT_PERMISSION` | No       | `readonly`             | Default permission for new users                                               |\n| `SIGNALK_OIDC_AUTO_CREATE_USERS`  | No       | `true`                 | Auto-create users on first login                                               |\n| `SIGNALK_OIDC_ADMIN_GROUPS`       | No       | -                      | Comma-separated groups that grant admin                                        |\n| `SIGNALK_OIDC_READWRITE_GROUPS`   | No       | -                      | Comma-separated groups that grant readwrite                                    |\n| `SIGNALK_OIDC_GROUPS_ATTRIBUTE`   | No       | `groups`               | ID token claim containing groups                                               |\n| `SIGNALK_OIDC_PROVIDER_NAME`      | No       | `SSO Login`            | Button text on login page                                                      |\n| `SIGNALK_OIDC_AUTO_LOGIN`         | No       | `false`                | Auto-redirect to OIDC provider                                                 |\n| `SIGNALK_OIDC_REDIRECT_URI`       | **Yes**  | -                      | Full callback URL (e.g., `https://myserver.com/signalk/v1/auth/oidc/callback`) |\n\n### security.json Configuration\n\nOIDC can also be configured in `security.json`:\n\n```json\n{\n  \"oidc\": {\n    \"enabled\": true,\n    \"issuer\": \"https://auth.example.com\",\n    \"clientId\": \"signalk-server\",\n    \"clientSecret\": \"your-client-secret\",\n    \"redirectUri\": \"https://your-server.com/signalk/v1/auth/oidc/callback\",\n    \"scope\": \"openid email profile groups\",\n    \"defaultPermission\": \"readonly\",\n    \"autoCreateUsers\": true,\n    \"adminGroups\": [\"admins\", \"sk-admin\"],\n    \"readwriteGroups\": [\"users\"],\n    \"groupsAttribute\": \"groups\",\n    \"providerName\": \"Corporate SSO\",\n    \"autoLogin\": false\n  }\n}\n```\n\n**Note**: Environment variables take precedence over `security.json` settings.\n\n## Permission Mapping\n\nSignal K maps OIDC groups to permission levels in this priority order:\n\n1. **Admin**: User belongs to any group in `adminGroups`\n2. **Read/Write**: User belongs to any group in `readwriteGroups`\n3. **Default**: User gets `defaultPermission` (default: `readonly`)\n\n### Example Configuration\n\n```bash\n# Users in \"admins\" or \"signalk-admins\" get admin access\nSIGNALK_OIDC_ADMIN_GROUPS=admins,signalk-admins\n\n# Users in \"crew\" or \"operators\" get read/write access\nSIGNALK_OIDC_READWRITE_GROUPS=crew,operators\n\n# Everyone else gets read-only access\nSIGNALK_OIDC_DEFAULT_PERMISSION=readonly\n```\n\n### Groups Claim\n\nBy default, Signal K looks for groups in the `groups` claim of the ID token. Some providers use different claim names:\n\n| Provider    | Groups Claim               |\n| ----------- | -------------------------- |\n| Keycloak    | `groups` (requires mapper) |\n| Authentik   | `groups`                   |\n| Auth0       | Custom (requires rule)     |\n| Okta        | `groups`                   |\n| Azure AD    | `groups`                   |\n| AWS Cognito | `cognito:groups`           |\n\nConfigure the claim name:\n\n```bash\nSIGNALK_OIDC_GROUPS_ATTRIBUTE=cognito:groups\n```\n\n## Provider Setup Guides\n\n### Keycloak\n\n1. Create a new client in your realm:\n   - **Client ID**: `signalk-server`\n   - **Client Protocol**: `openid-connect`\n   - **Access Type**: `confidential`\n   - **Valid Redirect URIs**: `https://your-server:3000/signalk/v1/auth/oidc/callback`\n\n2. Add a groups mapper:\n   - Go to **Clients > signalk-server > Mappers**\n   - Click **Create**\n   - **Name**: `groups`\n   - **Mapper Type**: `Group Membership`\n   - **Token Claim Name**: `groups`\n   - **Add to ID token**: `ON`\n\n3. Configure Signal K:\n   ```bash\n   SIGNALK_OIDC_ENABLED=true\n   SIGNALK_OIDC_ISSUER=https://keycloak.example.com/realms/your-realm\n   SIGNALK_OIDC_CLIENT_ID=signalk-server\n   SIGNALK_OIDC_CLIENT_SECRET=<from Keycloak>\n   SIGNALK_OIDC_ADMIN_GROUPS=admins\n   ```\n\n### Authentik\n\n1. Create a new OAuth2/OIDC Provider:\n   - **Name**: `Signal K Server`\n   - **Client Type**: `Confidential`\n   - **Redirect URIs**: `https://your-server:3000/signalk/v1/auth/oidc/callback`\n   - **Scopes**: `openid email profile groups`\n\n2. Create an Application linked to the provider\n\n3. Configure Signal K:\n   ```bash\n   SIGNALK_OIDC_ENABLED=true\n   SIGNALK_OIDC_ISSUER=https://authentik.example.com/application/o/signalk/\n   SIGNALK_OIDC_CLIENT_ID=<from Authentik>\n   SIGNALK_OIDC_CLIENT_SECRET=<from Authentik>\n   SIGNALK_OIDC_SCOPE=openid email profile groups\n   SIGNALK_OIDC_ADMIN_GROUPS=authentik Admins\n   ```\n\n### Authelia\n\n[Authelia](https://www.authelia.com/) is a popular open-source authentication server.\n\n1. Add a client configuration to your Authelia `configuration.yml`:\n\n   ```yaml\n   identity_providers:\n     oidc:\n       clients:\n         - client_id: signalk\n           client_name: Signal K Server\n           client_secret: '$pbkdf2-sha512$310000$...' # Use authelia hash-password\n           public: false\n           authorization_policy: two_factor # or 'one_factor'\n           redirect_uris:\n             - https://your-signalk-server:3000/signalk/v1/auth/oidc/callback\n           scopes:\n             - openid\n             - email\n             - profile\n             - groups\n           userinfo_signed_response_alg: none\n           token_endpoint_auth_method: client_secret_post\n   ```\n\n2. Generate the client secret hash:\n\n   ```bash\n   authelia crypto hash generate pbkdf2 --variant sha512\n   ```\n\n3. Configure Signal K:\n\n   ```bash\n   SIGNALK_OIDC_ENABLED=true\n   SIGNALK_OIDC_ISSUER=https://auth.your-domain.com\n   SIGNALK_OIDC_CLIENT_ID=signalk\n   SIGNALK_OIDC_CLIENT_SECRET=your-unhashed-secret\n   SIGNALK_OIDC_SCOPE=openid email profile groups\n   SIGNALK_OIDC_DEFAULT_PERMISSION=readonly\n   ```\n\n4. For RP-initiated logout, add to Authelia's config:\n\n   ```yaml\n   identity_providers:\n     oidc:\n       cors:\n         allowed_origins_from_client_redirect_uris: true\n   ```\n\n### Auth0\n\n1. Create a new Regular Web Application:\n   - **Allowed Callback URLs**: `https://your-server:3000/signalk/v1/auth/oidc/callback`\n\n2. Add a custom rule to include groups (Actions > Flows > Login):\n\n   ```javascript\n   exports.onExecutePostLogin = async (event, api) => {\n     const namespace = 'https://signalk.org'\n     if (event.authorization) {\n       api.idToken.setCustomClaim(\n         `${namespace}/groups`,\n         event.authorization.roles\n       )\n     }\n   }\n   ```\n\n3. Configure Signal K:\n   ```bash\n   SIGNALK_OIDC_ENABLED=true\n   SIGNALK_OIDC_ISSUER=https://your-tenant.auth0.com/\n   SIGNALK_OIDC_CLIENT_ID=<from Auth0>\n   SIGNALK_OIDC_CLIENT_SECRET=<from Auth0>\n   SIGNALK_OIDC_GROUPS_ATTRIBUTE=https://signalk.org/groups\n   ```\n\n### Generic OIDC Provider\n\nAny OIDC-compliant provider should work. Ensure:\n\n1. The provider supports the Authorization Code flow with PKCE\n2. You can obtain the **Issuer URL** (used for OIDC Discovery)\n3. Groups are included in the ID token (or userinfo endpoint)\n\nThe Issuer URL should have a discovery document at:\n`{issuer}/.well-known/openid-configuration`\n\n## Auto-Login Mode\n\nWhen `SIGNALK_OIDC_AUTO_LOGIN=true`, Signal K automatically redirects unauthenticated users to the OIDC provider instead of showing the login page.\n\nThis is useful when:\n\n- OIDC is the only authentication method\n- Signal K is behind a reverse proxy that handles authentication\n- You want a seamless SSO experience\n\n**Note**: Local login remains available at `/admin/#/login?noAutoLogin=true`\n\n## Security Considerations\n\n### PKCE (Proof Key for Code Exchange)\n\nSignal K uses PKCE for all OIDC flows, providing protection against authorization code interception attacks. This is automatic and requires no configuration.\n\n### State Parameter\n\nA cryptographically random state parameter prevents CSRF attacks during the OAuth flow. The state is stored in an encrypted, HTTP-only cookie.\n\n### Token Validation\n\nID tokens are validated by:\n\n- Verifying the signature against the provider's JWKS\n- Checking the issuer matches the configured issuer\n- Verifying the audience contains the client ID\n- Validating the token is not expired\n- Verifying the nonce matches (prevents replay attacks)\n\n### HTTPS Requirement\n\nFor production use, always run Signal K behind HTTPS. OIDC cookies are marked as `Secure` when accessed over HTTPS.\n\n## Troubleshooting\n\n### \"OIDC discovery failed\"\n\n**Cause**: Signal K cannot reach the OIDC provider's discovery endpoint.\n\n**Solutions**:\n\n- Verify the issuer URL is correct\n- Check network connectivity to the provider\n- Ensure the discovery endpoint is accessible: `curl {issuer}/.well-known/openid-configuration`\n\n### \"Invalid redirect URI\"\n\n**Cause**: The callback URL doesn't match what's registered with the provider.\n\n**Solutions**:\n\n- Check the redirect URI registered with your provider\n- Ensure it exactly matches: `https://your-server:3000/signalk/v1/auth/oidc/callback`\n- For development, you may need to add `http://localhost:3000/...` as well\n\n### \"User has readonly permissions\" (expected admin)\n\n**Cause**: Groups aren't being mapped correctly.\n\n**Solutions**:\n\n1. Check the ID token contains groups:\n   - Use browser developer tools to inspect the token\n   - Or decode the JWT at [jwt.io](https://jwt.io)\n2. Verify `groupsAttribute` matches your provider's claim name\n3. Ensure the user is in a group listed in `adminGroups`\n4. Some providers require explicit configuration to include groups in tokens\n\n### \"State mismatch\" or \"Invalid state\"\n\n**Cause**: The OIDC flow state was lost or expired.\n\n**Solutions**:\n\n- Ensure cookies are enabled in the browser\n- Check if a reverse proxy is stripping cookies\n- The state cookie expires after 10 minutes; restart the login flow\n\n### Login redirects but user not authenticated\n\n**Cause**: The callback is failing silently.\n\n**Solutions**:\n\n- Check Signal K server logs for OIDC errors\n- Verify the client secret is correct\n- Ensure the token endpoint is accessible from Signal K\n\n## API Reference\n\n### Login Endpoint\n\n```\nGET /signalk/v1/auth/oidc/login\n```\n\nInitiates the OIDC login flow. Redirects to the identity provider.\n\nQuery parameters:\n\n- `returnTo` (optional): URL to redirect after successful login\n\n### Callback Endpoint\n\n```\nGET /signalk/v1/auth/oidc/callback\n```\n\nHandles the OIDC callback from the identity provider. Not called directly by users.\n\n### Login Status\n\n```\nGET /skServer/loginStatus\n```\n\nReturns the current authentication status including OIDC configuration:\n\n```json\n{\n  \"status\": \"loggedIn\",\n  \"username\": \"oidc-user@example.com\",\n  \"userLevel\": \"admin\",\n  \"oidcEnabled\": true,\n  \"oidcAutoLogin\": false,\n  \"oidcLoginUrl\": \"/signalk/v1/auth/oidc/login\",\n  \"oidcProviderName\": \"Corporate SSO\"\n}\n```\n\n### Admin Configuration API\n\n```\nGET /skServer/security/oidc\nPUT /skServer/security/oidc\nPOST /skServer/security/oidc/test\n```\n\nAdmin-only endpoints for managing OIDC configuration. See the OpenAPI documentation for details.\n"
  },
  {
    "path": "docs/security-architecture.md",
    "content": "---\ntitle: Security Architecture\n---\n\n# Security Architecture\n\nThis document describes the architecture of Signal K Server's security system,\nincluding how the various components interact.\n\n## Overview\n\nSignal K Server uses a pluggable security strategy pattern. The security system\nconsists of:\n\n1. **Security Strategy Interface** (`src/security.ts`) - Defines the contract\n   for security implementations\n2. **Dummy Security** (`src/dummysecurity.ts`) - No-op implementation when\n   security is disabled\n3. **Token Security** (`src/tokensecurity.js`) - Full implementation with JWT-\n   based authentication\n4. **OIDC Module** (`src/oidc/`) - OpenID Connect authentication support\n\n## Component Diagram\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                        Signal K Server                          │\n│                                                                 │\n│  ┌─────────────────────┐       ┌─────────────────────────────┐ │\n│  │    security.ts      │       │     tokensecurity.js        │ │\n│  │                     │       │                             │ │\n│  │ - SecurityStrategy  │◄──────│ - login/logout routes       │ │\n│  │   interface         │       │ - JWT token management      │ │\n│  │ - startSecurity()   │       │ - Session cookie management │ │\n│  │ - saveSecurityConfig│       │ - User/device management    │ │\n│  └─────────────────────┘       │ - ACL enforcement           │ │\n│           ▲                    └──────────────┬──────────────┘ │\n│           │                                   │                │\n│           │                                   │ Dependencies   │\n│  ┌────────┴────────┐                         ▼                │\n│  │ dummysecurity.ts │           ┌─────────────────────────────┐ │\n│  │                  │           │       src/oidc/             │ │\n│  │ - No-op impl     │           │                             │ │\n│  │ - Used when      │           │ ┌─────────────────────────┐ │ │\n│  │   security       │           │ │     oidc-auth.ts        │ │ │\n│  │   disabled       │           │ │                         │ │ │\n│  └──────────────────┘           │ │ - registerOIDCRoutes()  │ │ │\n│                                 │ │ - findOrCreateOIDCUser()│ │ │\n│                                 │ └────────────┬────────────┘ │ │\n│                                 │              │uses          │ │\n│                                 │ ┌────────────┴────────────┐ │ │\n│                                 │ │ Helper Modules          │ │ │\n│                                 │ │ - config.ts             │ │ │\n│                                 │ │ - state.ts              │ │ │\n│                                 │ │ - pkce.ts               │ │ │\n│                                 │ │ - discovery.ts          │ │ │\n│                                 │ │ - authorization.ts      │ │ │\n│                                 │ │ - token-exchange.ts     │ │ │\n│                                 │ │ - id-token-validation.ts│ │ │\n│                                 │ └─────────────────────────┘ │ │\n│                                 └─────────────────────────────┘ │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## Security Strategy Interface\n\nThe `SecurityStrategy` interface (`src/security.ts`) defines the methods that\na security implementation must provide:\n\n## Token Security Implementation\n\n`tokensecurity.js` is the production security implementation. It provides:\n\n### Authentication Flow\n\n1. **Local Login**: Username/password via `/login` or `/signalk/v1/auth/login`\n2. **OIDC Login**: Delegates to `oidc-auth.ts` for SSO authentication\n3. **Device Access Requests**: Devices can request access tokens\n\n### Session Management\n\nSessions are managed via HTTP-only cookies:\n\n- `JAUTHENTICATION`: The JWT token\n- `skLoginInfo`: Login status for JavaScript access (non-httpOnly)\n\nSession cookie helpers ensure consistent security settings:\n\n- `httpOnly: true` (for JAUTHENTICATION)\n- `sameSite: 'strict'`\n- `secure: true` (when over HTTPS)\n\nThe server implements a sliding session window: when a JWT token is past the midpoint of its lifetime, the next HTTP request silently replaces the cookie with a freshly issued token. This keeps active users logged in indefinitely while inactive sessions still expire after the configured duration.\n\n## OIDC Integration\n\nThe OIDC module provides OpenID Connect authentication for Single Sign-On.\n\n### Authentication Flow\n\n1. User clicks \"SSO Login\"\n2. Server creates state, stores in encrypted cookie\n3. Redirects to OIDC provider's authorization endpoint\n4. User authenticates with provider\n5. Provider redirects back with authorization code\n6. Server exchanges code for tokens\n7. Server validates ID token\n8. Server creates/updates local user record\n9. Server issues local JWT session\n\n### Logout Flow\n\nThe `/signalk/v1/auth/oidc/logout` endpoint supports logging out from both\nSignal K and the identity provider:\n\n1. User clicks \"Logout\"\n2. Server clears local session cookies\n3. If provider supports `end_session_endpoint`:\n   - Redirects to provider's logout endpoint with `post_logout_redirect_uri`\n   - Provider logs out the user and redirects back\n4. If provider doesn't support logout, redirects locally\n\nThis ensures users are logged out of both Signal K and the identity provider.\n\n### Helper Modules\n\nEach OIDC helper module has a single responsibility:\n\n| Module                   | Responsibility                 |\n| ------------------------ | ------------------------------ |\n| `config.ts`              | Parse and validate OIDC config |\n| `state.ts`               | Create/encrypt/decrypt state   |\n| `pkce.ts`                | Generate PKCE code verifier    |\n| `discovery.ts`           | Fetch OIDC provider metadata   |\n| `authorization.ts`       | Build authorization URLs       |\n| `token-exchange.ts`      | Exchange code for tokens       |\n| `id-token-validation.ts` | Validate ID token signatures   |\n\n## Configuration\n\nSecurity configuration is stored in `security.json`:\n\n```json\n{\n  \"users\": [...],\n  \"devices\": [...],\n  \"secretKey\": \"...\",\n  \"expiration\": \"1h\",\n  \"allow_readonly\": true,\n  \"acls\": [...],\n  \"oidc\": {\n    \"enabled\": true,\n    \"issuer\": \"https://...\",\n    \"clientId\": \"...\",\n    \"clientSecret\": \"...\"\n  }\n}\n```\n\nEnvironment variables can override configuration values. OIDC secrets are\nrecommended to be set via environment variables (`SIGNALK_OIDC_*`).\n\n## Strategy Selection\n\nThe security strategy is selected at startup in `startSecurity()`:\n\n1. Check `SECURITYSTRATEGY` environment variable\n2. Check `config.settings.security.strategy` in settings\n3. Fall back to `dummysecurity` if neither is set\n\nThe strategy is dynamically loaded and attached to `app.securityStrategy`.\n"
  },
  {
    "path": "docs/security.md",
    "content": "---\ntitle: Security\nchildren:\n  - setup/generating_tokens.md\n  - oidc.md\n---\n\n# Security\n\nThe umbrella term _Security_ in Signal K server refers to the difference between running a server, that any one connected to the network can access and alter at will **(unsecured)** , and one with restrictions in place **(secured)**.\n\nThe available security options relate to:\n\n- **authentication**: Users and / or connecting devices having to provide a credential to gain access to the server _(e.g. username & password, access token, etc.)_.\n- **access control**: Based on the authentication, access is granted to only specific Signal K data and server configuration.\n- **communications**: Network traffic is encrypted and the identity of the server verified to protect against eavesdropping.\n- **network services**: Control which of the server's services/interfaces are configured and active _(e.g. does it allow unsecured read/write over the network)_.\n\n## Enabling Security\n\nWhen Signal K Server does not have security enabled, the `Login` option at the top right corner of the Admin UI will not be available.\n\nSecurity can be enabled in several ways:\n\n1. Using the Admin UI, select _Security -> Users_ and then:\n   - Click **Add**\n   - Enter a **user id**\n   - Enter a **password** and confirm it\n   - In **Permissions** select **Admin**\n   - Click **Apply**.\n   - Restart the Signal K Server.\n\n2. Starting the server with the `--securityenabled` command line option\n3. Adding the following section in the settings file\n\n```JSON\n\"security\": {\n    \"strategy\": \"./tokensecurity\",\n  }\n```\n\nWhen security is enabled, the next time you access the Admin UI it will prompt you to create an administrator account. During this setup you can optionally enable [Allow Readonly Access](#allow-readonly-access) if you want unauthenticated users to be able to view data.\n\n## Security Settings\n\nAfter enabling security, the following settings are available in **Security > Settings**. They are stored in the `security.json` file in the server configuration directory, and can also be overridden with environment variables.\n\n### Allow Readonly Access\n\n_Default: **off** &nbsp;|&nbsp; Environment variable: `ALLOW_READONLY`_\n\nWhen enabled, unauthenticated users can read Signal K data and use webapps (such as Instrument Panel or WilhelmSK) without logging in. They cannot modify data or access server configuration.\n\nThis is useful when you want guest crew to view navigation data or use instrument displays without creating individual accounts. However, it also exposes your data to anyone on the local network — and potentially on the public internet if your server is accessible externally (e.g. via port forwarding or when connected to marina WiFi).\n\n### Allow New User Registration\n\n_Default: **on** &nbsp;|&nbsp; Environment variable: `ALLOW_NEW_USER_REGISTRATION`_\n\nWhen enabled, unauthenticated users can request an account by submitting their credentials to the server. The request enters a pending state and the admin is notified. The admin can then review and approve or deny the request in **Security > Access Requests**.\n\nWhen disabled, only administrators can create user accounts manually via **Security > Users**. Self-registration attempts are rejected.\n\n### Allow New Device Registration\n\n_Default: **on** &nbsp;|&nbsp; Environment variable: `ALLOW_DEVICE_ACCESS_REQUESTS`_\n\nWhen enabled, external devices (chart plotters, instrument displays, sensors) can request access tokens from the server. The device sends a request with its client identifier and description, and the admin is notified. The admin can approve or deny the request in **Security > Access Requests**, choosing which permission level to grant.\n\nWhen disabled, devices cannot request access tokens. Administrators must pre-provision device tokens manually via **Security > Devices**.\n\n### Remember Me timeout\n\nControls how long the server keeps a user logged in when \"Remember Me\" is checked at login. Examples: `60s`, `1m`, `1h`, `1d`. The default is `NEVER` (session does not expire).\n\n## Disabling Security / Lost Admin Credentials\n\nIn case the administrator user credentials are lost, removing the `security.json` file and restarting the server will restore access to the Admin UI.\n\n## Access Control\n\nAccess control lists _(acls)_ allow for fine grained access to specific data in Signal K. They specify the permissions assigned to users for resources within specifc contexts and are defined within the `security.json` file.\n\nThe following example defines acls for the self context allowing:\n\n1. Anyone to read the paths `\"steering.*\"`, `\"navigation.*\"`, `\"name\"`, `\"design.aisShipType\"` and grants the admin user permission to write (update) those paths.\n\n2. The user _john_ to read any data coming from the `actisense.35` $source.\n\n3. For all other paths, only the admin user to read and no one can write.\n\n```JSON\n  \"acls\": [\n    {\n      \"context\": \"vessels.self\",\n      \"resources\": [\n        {\n          \"paths\": [\"steering.*\", \"navigation.*\", \"name\", \"design.aisShipType\"],\n          \"permissions\": [\n            {\n              \"subject\": \"any\",\n              \"permission\": \"read\"\n            },\n            {\n              \"subject\": \"admin\",\n              \"permission\": \"write\"\n            }\n          ]\n        },\n        {\n          \"sources\": [ \"actisense.35\" ],\n          \"permissions\": [\n            {\n              \"subject\": \"john\",\n              \"permission\": \"read\"\n            }\n          ]\n        },\n        {\n          \"paths\": [\"*\"],\n          \"permissions\": [\n            {\n              \"subject\": \"admin\",\n              \"permission\": \"read\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n```\n\n_Note: If there is no match is found for a specific path in the acl list, then permission will be denied to that path!_\n\n## Active network services\n\nSignal K Server's main network services are:\n\n- The _primary Signal K http / WebSocket interface_, with options to use TLS encryption and authentication _(read/write)_\n- _NMEA0183 data over TCP_ on port 10110 _(read only)_\n- _Signal K over TCP_ on port 8375 _(read/write)_\n\nIn addition the user may configure any number of TCP, UDP and Websocket connections, some of which allow write access to the server.\n\nThe security implication of these connections is that with no security options turned on _devices connected to the network will have both read and write access to practically all of its data and settings_.\n\nPeople often dismiss local network access by saying that their boat's local network is secure enough. But one very common scenario is connecting your Signal K server _(e.g. a Raspberry Pi)_ to a marina wifi.\nMany wifi networks allow communication between all connected computers, so your Signal K server will be advertising its services over MDNS to all other connected devices.\n\nSo in the case that your server has a manually configured connection for _NMEA0183 over UDP_, NMEA0183 data broadcast by other devices will be received and written into your SIgnal K data.\n\nNMEA0183 connections over TCP and UDP are inherently unsafe. There are no options for authentication and / or secure communication. In comparison Signal K over TLS and HTTP / WebSockets can provide secure, authenticated read and write access to your data.\n\n## Security Headers\n\nSignal K Server uses the `helmet` middleware to set security-related HTTP headers:\n\n| Header                            | Value            | Purpose                                            |\n| --------------------------------- | ---------------- | -------------------------------------------------- |\n| X-Content-Type-Options            | nosniff          | Prevents MIME type sniffing attacks                |\n| X-Frame-Options                   | SAMEORIGIN       | Prevents clickjacking (allows same-origin iframes) |\n| X-DNS-Prefetch-Control            | off              | Privacy protection                                 |\n| X-Download-Options                | noopen           | Prevents IE from executing downloads               |\n| X-Permitted-Cross-Domain-Policies | none             | Blocks Flash/PDF cross-domain access               |\n| Referrer-Policy                   | no-referrer      | Privacy protection                                 |\n| Strict-Transport-Security         | max-age=15552000 | Forces HTTPS (only sent on HTTPS connections)      |\n\n### Intentionally Disabled\n\nThe following helmet features are disabled to maintain compatibility with the SignalK ecosystem:\n\n- **Content-Security-Policy**: Would prevent webapps (Freeboard, Instrumentpanel) from loading external resources like map tiles and CDN scripts\n- **Cross-Origin-Embedder-Policy**: Would prevent chart plotters from embedding SignalK data\n- **Cross-Origin-Resource-Policy**: Would prevent legitimate cross-origin API access from instruments and apps\n\n## Reverse Proxy Configuration (Trust Proxy)\n\nWhen running Signal K Server behind a reverse proxy (e.g., nginx, Apache, Traefik), the server needs to be configured to trust the `X-Forwarded-For` header to correctly identify client IP addresses.\n\n### Why Enable Trust Proxy?\n\nWithout this setting, when behind a reverse proxy:\n\n- All requests appear to come from the proxy's IP (e.g., `127.0.0.1`)\n- Rate limiting becomes ineffective (limits apply to proxy, not individual clients)\n- Access logs show proxy IP instead of real client IP\n\nWhen `trustProxy` is enabled, Signal K uses the `X-Forwarded-For` header (set by your proxy) to identify the real client IP address.\n\n### Configuration\n\nThe `trustProxy` setting can be enabled in the Admin UI under **Server Settings > Options > trustProxy**.\n\nFor most setups behind a local reverse proxy, simply enabling `trustProxy: true` in the Admin UI is sufficient.\n\nFor advanced configurations (specific proxy IPs, hop counts), edit `settings.json` directly:\n\n```json\n{\n  \"settings\": {\n    \"trustProxy\": \"127.0.0.1\"\n  }\n}\n```\n\nThe `trustProxy` setting accepts the following values:\n\n| Value           | Description                                                              |\n| --------------- | ------------------------------------------------------------------------ |\n| `true`          | Trust all proxies (use with caution)                                     |\n| `false`         | Don't trust any proxy (default)                                          |\n| `\"loopback\"`    | Trust loopback addresses (127.0.0.1, ::1)                                |\n| `\"linklocal\"`   | Trust link-local addresses                                               |\n| `\"uniquelocal\"` | Trust unique local addresses                                             |\n| Number          | Trust the first N proxies                                                |\n| IP/CIDR         | Trust specific proxy addresses (e.g., `\"192.168.1.1\"` or `\"10.0.0.0/8\"`) |\n\n### Example: nginx Reverse Proxy\n\nWhen using nginx as a reverse proxy, configure it to pass the client IP:\n\n```nginx\nlocation / {\n    proxy_pass http://localhost:3000;\n    proxy_set_header X-Forwarded-For $remote_addr;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    proxy_set_header Host $host;\n}\n```\n\nAnd set `trustProxy` to trust only the nginx server:\n\n```json\n{\n  \"settings\": {\n    \"trustProxy\": \"127.0.0.1\"\n  }\n}\n```\n\n### Security Considerations\n\n- Only enable `trustProxy` if you are actually running behind a reverse proxy\n- Configure the value to trust only your specific proxy IP address when possible\n- Using `trustProxy: true` trusts all proxies, which could allow IP spoofing if your server is directly accessible\n\n## OpenID Connect (OIDC) Authentication\n\nIf you run multiple services alongside Signal K (such as Grafana, Node-RED, or others), managing separate user accounts and passwords for each becomes tedious and error-prone. OpenID Connect (OIDC) solves this by letting users authenticate once with a central identity provider and access all connected services.\n\nFor configuration and setup, see the [OIDC Authentication Guide](oidc.md).\n"
  },
  {
    "path": "docs/setup/configuration.md",
    "content": "---\ntitle: Configuration\nchildren:\n  - seatalk/README.md\n  - nmea.md\n---\n\n# Configuring Signal K Server\n\nSignal K Server provides an Admin UI to allow you to easily configure your installation.\n\nOpen the Admin UI using a web browser on the device where Signal K server is installed (if the defaults have not been changed) by navigating to `http://localhost:3000`.\n\n## Create an Admin account\n\nIt is considered good practise to enable security and create an administrator account to controll access to your server and protect your data.\n\nIf you ran the `signalk-server-setup` script, security will be enabled and you will be presented with a login screen when accessing the Admin UI.\n\nIf the login screen is not displayed, click `Login` _(top right of screen)_ to display the prompt to create a user and password.\n\nAlternatively, from the menu select _Security -> Users_ and then:\n\n1. Click **Add**\n1. Enter a **user id**\n1. Enter a **password** and confirm it\n1. In **Permissions** select **Admin**\n1. Click **Apply**.\n\nAfter creating the account, the server needs to be restarted.\n\nHow you restart the server will depend on the installation type _(i.e. installed from NPM, embedded on a commercial device, etc)_. Power cycling the device that Signal K Server is always an option.\n\n## Set up data connections\n\nTo get data into Signal K server you will need to configure one or more data connections via the _Server -> Data Connections_ menu option.\n\nFrom this screen you can add connections for various data types including:\n\n- NMEA2000\n- NMEA0183\n- Signal K\n- SeaTalk\n- File Stream\n\nThe options presented will vary based on the data type chosen.\n\n**_NMEA2000_**: The processing of NMEA2000 PGNs is done by [n2k-signalk](https://github.com/SignalK/n2k-signalk) via [canboatjs](https://github.com/canboat/canboatjs).\n\nPlease refer to the [Canboat PGN database](https://canboat.github.io/canboat/canboat.html) to see what PGNs are supported.\n\n**_NMEA0183_**: The processing of NMEA0183 sentences is done by [nmea0183-signalk](https://github.com/SignalK/signalk-parser-nmea0183)\n\n### NMEA 0183 Options\n\n- _Suppress nmea0183 event_ - All incoming NMEA0183 data is made available over TCP on port 10110 by default. This happens by incoming data being emitted as _nmea0183_ events. Selecting this option will prevent data from this connection appearing on the NEMA0183 TCP service.\n\n- _Input Event_ - By default, data received on this connection will cause the nmea0183 event to be emitted. In order to distinguish input from this connection from other NMEA 0183 connections, enter an input event name which will be emitted (in addition to the nmea0183 event) when data is received on this connection.\n\n- _Validate checksum_ - Usually [NMEA 0183 sentences](https://en.wikipedia.org/wiki/NMEA_0183) contain a checksum that can be used to check that the data is not garbled so that erroneous data is discarded. However some data sources do not include the checksum or it is simply wrong. Unchecking this option will disable validating the checksum.\n\n- _Append Checksum_ - See previous point. Some data sources do not include a checksum, but for example a mobile app you are using may require them. Activating this option will add checksums to the data.\n\n- _Remove NULL characters_ - Some data sources include superfluous NULL characters in the input data stream, making the data invalid for consumption. This option will remove the NULL characters. It causes additional processing, so not on by default.\n\n- _Ignored Sentences_ - NMEA0183 sentences to throw away from the input data. Sometimes you may want to ignore certain sentences from a connection, because the data is invalid or missing or just not needed.\n\n- _Override timestamps_ - NMEA0183 data may include timestamps in tag blocks. These may be off or when playing back captured data you may want to ignore the data and override them with current time when converting to Signal K.\n\n**Connection type \"File Stream\"**\n\nSample files are available which can be set up as input for the server.\n\nUse below command to get the path to a NMEA 2000 file with navigation data and AIS targets.\n\n```\nsudo find / -name \"aava-n2k.data\"\n```\n\nSet up according to picture.\n\n![SK_N2K_file](./SK_file_stream_N2K.png)\n\nTo get the path for the sample file, data type NMEA 0183, use below command.\n\n```\nsudo find / -name \"plaka.log\"\n```\n\n## Install Plugins and Webapps\n\nSignal K server functionality can be extended through the use of plugins and webapps.\n\nPlugins typically extend data acquisition, data processing or enable operations (i.e. protocol conversion, etc).\n\nWebapps provide a user interface to view / interact with data or perform operations enabling full featured solutions such as a Chartplotter.\n\nTo install, update or remove plugins and webapps select _Appstore_ from the menu.\n\nSelect:\n\n- `Installed` to view a list of plugins and webapps currently installed.\n\n- `Updates` to view a list of plugins and webapps that have updates available.\n\n- `Available` to view a list of available plugins and webapps that can be filtered by categry.\n\nThe entries displayed with a blue icon are webapps, those with a green icon are plugins and those with both blue and green icons are plugins with a webapp providing a user interface.\n\n_Note: An internet connection is required for Signal K Server to list, install and update AppStore listings._\n\nTo install, click the `download` icon on the right hand side of the entry.\n\nTo view a list of Plugins and Webapps directly from the NPM registry select the links below.\n\n- [Plugins](https://www.npmjs.com/search?q=keywords%3Asignalk-node-server-plugin)\n- [Webapps](https://www.npmjs.com/search?q=keywords:signalk-webapp)\n\n**_Note: A restart of the Signal K server is required after plugins or webapps have been installed or updated._**\n\nClick the _Restart_ button at the top right of the screen to restart the server.\n\nAfter the server has restarted, the installed plugin(s) can be configued by selecting _Server -> Plugin Config_ menu entry.\n\n## Trouble shooting and the Server Log\n\nIf things are not working as expected after installing a plugin or webapp, select _Server -> Server Log_ to view the server's log. If the errors logged there are not providing the information required, you can enable debugging for individual components and plugins by toggling the switch to activate them.\n\nEnabling the `Remember debug setting` ensure your selections are remebered after a server restart.\n\n## Landing page\n\nWhen you access the Signal K server on a web browser you will be redirected to the Admin webapp as the default `landing page`. You can replace this default with your choice by adding the property `landingPage` in your `settings.json`. For example you can redirect the user to Kip or Freeboard.\n\n## Add your Logo\n\nYou can change the logo image displayed at the top left of the Admin UI screen.\nTo do this, add an SVG file named `logo.svg` in the settings directory _(default: $HOME/.signalk/)_.\n"
  },
  {
    "path": "docs/setup/generating_tokens.md",
    "content": "---\ntitle: Generating Tokens\n---\n\n# Generating Tokens\n\nFor a device to be able to interact with a Signal K server with security enabled, it is require to pass an access token with each request.\n\n_Examples include display / gauge, temperature sensor or client with no user interface._\n\nTo get an access token the following methods can be used:\n\n1. The device can submit an [Access Request](https://signalk.org/specification/1.5.0/doc/access_requests.html) which needs to be actioned via the Signal K Server UI.\n2. Generate a token against a user account that has been configured on the Signal K Server.\n\n### Generate Token\n\nTo generate a token against a user account that has been configured on the Signal K Server use the `signalk-generate-token` utility.\n\nThe `signalk-generate-token` utility is run from a terminal session on the Signal K Server and accepts the following parameters:\n\n- `-u <username>`: The user account against which the token is created.\n- `-e <time to live>`: The duration of time for which the token is valid.\n  - 1y = 1 year\n  - 2h = 2 hours\n  - 10m = 10 minutes\n  - 5s = 5 seconds\n- `-s <path to security.json>`: The path to the Siganl K Server's security.json file _(e.g. ~/.signalk/security.json)_\n\n_Example: Generate a token against the user \"TempSensorDevice\" that is valid for 1 year._\n\n```shell\nsignalk-generate-token -u TempSensorDevice -e 1y -s ~/.signalk/security.json\n\n```\n\n_Note: The device using the token will have the same permissions as the user account the token was generated against. It is recommended that you create a specific user with the appropriate permissions for use with the device._\n\n### Access Requests\n\nFor information regarding Access Requests, [ see the Signal K specification](https://signalk.org/specification/1.5.0/doc/access_requests.html).\n"
  },
  {
    "path": "docs/setup/nmea.md",
    "content": "---\ntitle: NMEA Connections\n---\n\n# NMEA Connections\n\nMost equipment on boats use NMEA 0183, NMEA 2000, or other proprietary interfaces to communicate with each other. A lot of work has been done within the Signal K community to convert these different data formats in to Signal K.\n\n## NMEA 0183\n\nThere are a number of NMEA to USB adaptors around, like\n[Actisense](http://www.actisense.com/product/usg-2/) and\n[Digital Yacht](http://digitalyacht.co.uk/product/usb-nmea-adaptor/), which allow\nbi-directional transfer of the NMEA 0183 Serial data (electrically similar to RS-422) and convert it in to a USB\nvirtual COM Port when plugged in to the Signal K server.\n\nIn Linux the virtual COM Port will be seen as a device called `/dev/ttyUSB0` (the number could be different if there\nare multiple USB-to-serial adapters connected). Linux assigns these device names automatically when the device is\nconnected, so it could change. If you want to ensure that the device always has the same name, you will need to write a\nUDEV rule to specify an alias. See [creating UDEV rules](../guides/udev.md) for details.\n\nTo verify that you have a working connection, you can use picocom or another terminal emulator to see if you are\nreceiving data. The default baud rate for standard NMEA 0183 is 4800, whilst AIS and multiplexers use NMEA 0183(HS) at the \"High Speed\" 38400 baud rate.\n\n```\n$ picocom -b 4800 /dev/ttyUSB0\n```\n\nYou should see NMEA 0183 sentences scrolling off the screen. To exit picocom press `Ctrl-a` followed by `Ctrl-x`.\n\nOnce your NMEA 0183 connection is working, you can [set up data connections the Signal K server](./configuration.md#set-up-data-connections) to read the data.\n\n## NMEA 2000\n\nNMEA 2000 support in Signal K is provided by [canboatjs](https://github.com/canboat/canboatjs), which is a library that can read and write NMEA 2000 data. See the [list of supported devices from canboatjs](https://github.com/canboat/canboatjs#supported-devices) for details of hardware that can be used to connect to NMEA 2000 networks.\n\nDirections for configuring your hardware will vary by device, so consult the documentation for your hardware for details. Once you have your hardware connected and configured, you can use the `candump` utility from the `can-utils` package to verify that you are receiving NMEA 2000 data.\n\n```sh\ncandump can0\n```\n\nYou should see NMEA 2000 data scrolling off the screen. Press `Ctrl-c` to exit candump.\n\nAfter confirming you have NMEA data, you can [set up data connections the Signal K server](./configuration.md#set-up-data-connections) to read the data.\n"
  },
  {
    "path": "docs/setup/seatalk/README.md",
    "content": "---\ntitle: Seatalk Connections\n---\n\n# Seatalk Connections\n\nThe Signal K Server supports a variety of data connection types including _Seatalk (GPIO)_ which provides the ability to receive Raymarine Seatalk 1 (ST1) data, via simple DIY hardware connected to a Raspberry Pi GPIO, and convert it to Signal K deltas. This information can then be forwarded by the Signal K Server to a NMEA 0183 or NMEA 2000 network using appropriate hardware and plugins.\n\nA guide to SeaTalk can be found [here](http://boatprojects.blogspot.com/2012/12/beginners-guide-to-raymarines-seatalk.html).\n\n## Hardware\n\nUsing an optocoupler as the hardware interface is recommended as it creates electrical isolation from hazardous voltages and avoids ground loops.\n\nThe circuit below uses the [PC817 optocoupler board](https://www.amazon.com/ARCELI-Optocoupler-Isolation-Converter-Photoelectric/dp/B07M78S8LB/ref=sr_1_2?dchild=1&keywords=pc817+optocoupler&qid=1593516071&sr=8-2) but any equivlent product can be used. The LED in the circuit will flicker when there is ST1 traffic.\n\n![ST1_opto_SK](./seatalk_circuit_3.jpg)\n\nIf you are building the interface yourself use the below circuit instead. If you don't want any flickering just drop the LED at the input.\n\n![ST1_opto_SK](./seatalk_circuit_4.jpg)\n\nA simpler, non-electrically isolated, solution is detailed below, using a low signal NPN transistor which inverts and shifts the voltage from 12V DC to 3.3V DC.\n\n![ST1_Tr](./seatalk_circuit_2.jpg)\n\nIf you do not want to build your own circuit, you can get a **MacArthur HAT** and simply connect it to your Seatalk 1 network [following the manual](https://macarthur-hat-documentation.readthedocs.io/en/latest/seatalk.html). If you also use OpenPlotter with this HAT, all the software will be installed and ready to go.\n\n![MacArthur HAT](./seatalk-dcdc.png)\n\n## Software\n\nBefore setting up the data connection on Signal K Server, you may need to install some associated Python libraries on your system. Here you have two options: gpiod library (**Raspberry Pi 3, 4 and 5 models**) or pigpio library (**Raspberry Pi 3 and 4 models**).\n\n### gpiod (recommended)\n\nBoth versions of this library 1.x.x (Debian package) and 2.x.x (Pip package) are supported. It is possible that your system already has one of the two versions of this library installed and some program is already using it, so before installing it we will check if we already have one.\n\nType this in a terminal:\n\n```\npython -m pydoc gpiod | tail\n```\n\nIf gpiod appears as installed, simply do nothing and go directly to the _Data Connection_ section.\n\nIf it is not installed, type this in a terminal to install the latest version from pip:\n\n```\nsudo pip3 install gpiod\n```\n\nSince Debian 12 (Bookworm) and Ubuntu 24 (Noble), pip packages need to be installed in virtual environments, but we need this library to be installed at the system level, so on these systems we need to type this instead:\n\n```\nsudo pip3 install gpiod --break-system-packages\n```\n\nPip will complain that the package is being installed in a non-virtual environment, but you can ignore the warning because it has not been detected to break any system packages.\n\n### pigpio\n\n_Inspired by [Read SeaTalk1 from the Raspberry Pi GPIO using pigpio](https://github.com/Thomas-GeDaD/Seatalk1-Raspi-reader)._\n\nOpen a terminal and enter the following:\n\n1. Update the package manifest\n\n```\n    sudo apt-get update\n```\n\n2. Install the software\n\n```\n    sudo apt-get install pigpio python-pigpio python3-pigpio\n```\n\n3. Enable and start the _pigpio_ [daemon](http://abyz.me.uk/rpi/pigpio/) which handles the data connection.\n\n```\n    sudo systemctl enable pigpiod && sudo systemctl restart  pigpiod\n```\n\n4. Check the \\_pigpio_service is running\n\n```\n    sudo systemctl status pigpiod\n```\n\n_Note: The \\_pigpio_ deamon by default provides a socket interface on port 8888, which may conflict with other software running on your Raspberry Pi. To have the socket interface use another port you will need to change the [pigpiod.service file](http://abyz.me.uk/rpi/pigpio/pigpiod.html) using the [Python program](http://abyz.me.uk/rpi/pigpio/python.html#pigpio.pi) with the -p option.\\_\n\n### Data Connection\n\nWith the required software installed, you can now add a new data connection using the Signal K Server Admin UI.\n\n_Example Data Connection:_\n\n![ST1_connection_SK](./config.png)\n\n- Select _Server -> Data Connections_ from the main menu.\n\n- Click the **Add** button to create a new connection.\n\n- Select **Seatalk (GPIO)** in the _Data Type_ dropdown list.\n\n- Set the _Enabled_ to **Yes**.\n\n- Enter an _ID_ _(e.g. Seatalk1)_.\n\n- In _GPIO Library_, select the software that is installed on your system as we have seen in the previous section.\n\n- In _GPIO Pin_, select one of the green GPIO pins from those pictured below _(this will be the pin to which you connect your hardware e.g. GPIO04)._\n\n![GPIO](./gpio.png)\n\n- Set _Invert Signal_ based on the hardware interface you have used _(e.g. Select **No** if using the optocoupler hardware setup above. Select **Yes** if using a hardware interface that inverts the ST1 signal)_.\n\n- Click **Apply** to save your data connection settings.\n\n- Restart the Signal K Server.\n\n### Viewing Received Data\n\nOnce the server has restarted, confirm that data is being received from the ST1 connection by using the _Data Browser_ in the Admin UI .\n\nThe data received via the Seatalk connection will be displayed in the Data Browser with a source value that contains the _ID_ you provided when setting up the connection.\n\nIf there is no data displayed in the Data Browser from the Seatalk connection, you can check if there is data available at the selected GPIO using these utilities:\n\ngpiod: https://gist.github.com/astuder/c319cf955f6d651350222d36065981b3\n\npigpio: https://raw.githubusercontent.com/MatsA/seatalk1-to-NMEA0183/master/STALK_read.py\n\nIf the display shows ST1 sentences being received at the GPIO pin then review your data connection settings.\n"
  },
  {
    "path": "docs/src/features/weather/weather.md",
    "content": "# Working with Weather Data\n\n## Introduction\n\nThis document outlines the way in which weather data is managed in Signal K and how to reliably access and use weather data from various sources.\n\nThe Signal K specification defines an [`environment`](https://github.com/SignalK/specification/blob/master/schemas/groups/environment.json) schema which contains attributes pertaining to weather and the environment, grouped under headings such as `outside`, `inside`, `water`, `wind`, etc.\n\nThe `environment` schema is then able to be applied to Signal K contexts such as `vessels`, `atons`, `meteo`, etc to allow Signal K client apps to reliably consume weather data.\n\nAdditionally, the `environment` schema is used by the `Weather API` to provide access to observation and forecast information sourced from weather service providers.\n\nFollowing are the different contexts and their use.\n\n## 1. On Vessel sensors\n\nSensors installed on a vesssel making measurements directly outside of the vessel _(e.g. temperature, humidity, etc)_ are placed in the `vessels.self` context.\n\n_On vessel sensor data paths:_\n\n- `vessels.self.environment.outside.*` Measurements taken outside the vessel hull\n- `vessels.self.environment.inside.*` Measurements taken inside the vessel hull\n- `vessels.self.environment.water.*` Measurements taken relating to the water the vessel is in.\n\n## 2. AIS Weather Sources\n\nEnvironment data from AIS weather stations via NMEA0183 `VDM` sentences are placed in the `meteo` context, with each station identified by a unique identifier.\n\n_Example - AIS sourced weather data paths:_\n\n- `meteo.urn:mrn:imo:mmsi:123456789:081751.environment.outside.*`\n- `meteo.urn:mrn:imo:mmsi:123456789:081751.environment.inside.*`\n- `meteo.urn:mrn:imo:mmsi:123456789:081751.environment.water.*`\n- `meteo.urn:mrn:imo:mmsi:123456789:081751.environment.tide.*`\n- `meteo.urn:mrn:imo:mmsi:123456789:081751.environment.current.*`\n\n## 3. Weather Service Providers _(Weather API)_\n\nWeather service providers provide a collection of observations, forecasts and weather warnings for a location that can include:\n\n- Current and historical data (observations)\n- Daily and \"point in time\" forecasts\n  over varying time periods.\n\nThis information is updated at regular intervals (e.g. hourly) and will relate to an area (of varying size) based on the location provided.\n\nThe nature of this data makes it more suited to a REST API rather than a websocket stream and as such the [Signal K Weather API](../../develop/rest-api/weather_api.md) is where this information is made available.\n\nAs each weather provider tends to have different interfaces to source information, [Signal K Server plugins](../../develop/plugins/weather_provider_plugins.md) provide the vehicle for fetching and transforming the data from the various data sources and making it available via the Weather API.\n\nThe Weather API supports the use of multiple weather provider plugins with the ability to switch between them.\n\n_Example: Fetching weather data for a location._\n\n- `GET \"/signalk/v2/api/weather?lat=5.432&lon=7.334`\n"
  },
  {
    "path": "docs/support/help.md",
    "content": "---\ntitle: Help & Support\n---\n\n# Help & Support\n\nSignal K has an friendly and helpful community where you can find support and assistance whether you are trouble shooting issues or just have a question.\n\n**Join the discussion:**\n\n- [**Discord**](https://discord.com/channels/1170433917761892493/1170433918592368684) _(New to Signal K Discord? [Click here](https://discord.gg/uuZrwz4dCS) for an invite.)_\n\n- [**GitHub Discussions**](https://github.com/SignalK/signalk/discussions/)\n\n## Frequently Asked Questions\n\nAnswers to common issues and queries can be found on the [Frequently Asked Questions](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions) space on GitHub.\n\nHere are some common queries:\n\n- [How do I integrate with NMEA2000 (CAN bus)](https://github.com/SignalK/signalk-server/wiki/FAQ:-Frequently-Asked-Questions#how-do-i-integrate-with-nmea2000-can-bus).\n\n- [Installing & Updating NodeJS](https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js)\n\n## Troubleshooting\n\n### \"Network congestion detected\" - What does this mean?\n\nYour device's connection to the Signal K server is slower than the data being sent. This can happen when:\n\n- **WiFi signal is weak** - try moving closer to your access point\n- **Network is busy** - other devices streaming video, large downloads, etc.\n- **Slow mobile connection** - cellular data may not keep up with high-frequency updates\n- **Many sensors active** - the server is sending a lot of data\n\n**What happens?**\n\nWhen your connection can't keep up:\n\n1. The server keeps only the **most recent value** for each data point\n2. You still see **current, accurate values** - they're just not every single update\n3. The system **recovers automatically** when your connection improves\n\nThis is normal and safe. Your navigation data remains accurate - you just might miss seeing some intermediate values (like every single GPS position update during a slow period).\n\n**What can I do?**\n\n- Move closer to your WiFi access point\n- Check if other devices are using a lot of bandwidth\n- If on a boat, verify the network connection to your navigation computer\n- Consider using a wired Ethernet connection for critical displays\n- For remote access (4G, VPN, public internet): enable WebSocket compression in Admin UI → Server → Settings to reduce bandwidth usage\n"
  },
  {
    "path": "docs/support/sponsor.md",
    "content": "---\ntitle: Sponsor\n---\n\n# Sponsor Signal K\n\nSignal K is all about creating open and interoperable marine data systems. We have created an open specification for representing marine related data, APIs and interfacing to use the data and free software that you can download and use.\n\nIf you would like to contribute and help fund continued development visit [Signal K on Open Collective](https://opencollective.com/signalk).\n"
  },
  {
    "path": "docs/whats_new.md",
    "content": "---\ntitle: What's New\n---\n\n# What's new in Version 2.\n\nSignal K Server version 2 introduces new REST APIs designed to perform specific operations _(e.g. set destination, advance to next point, etc)_.\n\nThese APIs have been implemented to ensure the integrity of the underlying Signal K data model by maintaining values in all related paths associated with the operation. In this way a cohesive, reliable data set is presented to all connected applications and devices.\n\nThe new APIs are mounted under `/signalk/v2/api`, their definitions available as OpenApi documents accessible via _Documentation -> OpenAPI_ in the server admin user interface. They coexist with `/signalk/v1/api` paths to ensure continued operation of applications.\n\nSome REST APIs provide an `interface` for use by plugins via the {@link @signalk/server-api!ServerAPI | Server Plugin API} to enable them to enact operations in a managed way.\n\n_**Important: The Signal K data paths maintained by the REST APIs should NOT be updated directly by any other plugin or process!**_\n\nWith the move towards operation based APIs some paths are flagged for deprecation. Please see [Changes & Deprecations](./breaking_changes.md) for details.\n\n---\n\n### Course API\n\nProvides common course operations via `/signalk/v2/api/vessels/self/navigation/course`.\n\nSee the [Course API](./develop/rest-api/course_api.md) for details.\n\n---\n\n### Resources API\n\nProvides operations for creating, maintaining and accessing resources such as routes, waypoints, etc via `/signalk/v2/api/resources`.\n\nSee the [Resources API](./develop/rest-api/resources_api.md) for details.\n\n---\n\n## Notes for Developers:\n\n### NMEA0183 / NMEA2000 message processing\n\nWhilst the Course API and its associated operations provide a means of setting a course, NMEA data streams are the source of information when the course is set on a connected device.\n\nIn the past, plugins processing NMEA data streams have directly populated the mapped `v1` Signal K paths based on the received sentence / PGN values. Moving forward these plugins should utilise the relevant {@link @signalk/server-api!ServerAPI | Server Plugin API} methods to enact course operations.\n\n### Stream updates\n\nThe new REST APIs emit `v2` deltas with values that are objects.\n\nFor example, when a course is activated, deltas will be emitted for `navigation.course.previousPoint`, `navigation.course.nextPoint` and `navigation.course.activeRoute` where the value is an object.\n\n_Example: v2 Delta_\n\n```JSON\n{\n    \"path\": \"navigation.course.previousPoint\",\n    \"value\": {\n        \"position\": {\n           \"latitude\": 65.0,\n           \"longitude\": 3.754\n        },\n        \"type\": \"Location\",\n        \"href\": null\n    }\n}\n```\n\n#### Connection with v1 Full Data Model\n\nThe current implementation of Signal K Server provides only a single `stream` endpoint _(`/signalk/v1/stream`)_ and all values emitted as deltas _(both `v1` & `v2`)_ will continue appear there.\n\nIt should be noted, that even though both `v1` & `v2` deltas appear in the one stream, only `v1` deltas will populate the _full data model_ and be available under the `/signalk/v1/api` path!\n"
  },
  {
    "path": "empty_file",
    "content": ""
  },
  {
    "path": "eslint.config.js",
    "content": "const { defineConfig, globalIgnores } = require('eslint/config')\nconst js = require('@eslint/js')\nconst globals = require('globals')\nconst tseslint = require('typescript-eslint')\nconst prettier = require('eslint-config-prettier/flat')\nconst react = require('eslint-plugin-react')\nconst reactHooks = require('eslint-plugin-react-hooks')\nconst reactCompiler = require('eslint-plugin-react-compiler')\nconst eslintReact = require('@eslint-react/eslint-plugin')\nconst chai = require('eslint-plugin-chai-friendly')\n\nmodule.exports = defineConfig([\n  globalIgnores([\n    '**/public',\n    '**/public_src',\n    '**/dist',\n    '**/.__mf__temp',\n    // WASM plugin examples - AssemblyScript has different semantics\n    'examples/wasm-plugins/**/assembly/**',\n    // AssemblyScript SDK - decorators and types not compatible with ESLint\n    'packages/assemblyscript-plugin-sdk/assembly/**',\n    // Auto-generated WASM bindings (created by AssemblyScript compiler)\n    'examples/wasm-plugins/**/build/**',\n    'examples/wasm-plugins/**/plugin.js',\n    'examples/wasm-plugins/**/plugin.d.ts',\n    'packages/assemblyscript-plugin-sdk/build/**',\n    // Legacy admin UI - kept as fallback, not actively maintained\n    'packages/server-admin-ui/**'\n  ]),\n\n  // TypeScript options\n  {\n    files: ['**/*.ts'],\n    extends: [common('@typescript-eslint/'), tseslint.configs.recommended],\n    languageOptions: {\n      parser: tseslint.parser,\n      globals: globals.node\n    }\n  },\n\n  // JavasScript-only options\n  {\n    files: ['**/*.js'],\n    extends: [common(), js.configs.recommended],\n    languageOptions: {\n      globals: globals.node\n    }\n  },\n\n  // Test-only options\n  {\n    files: [\n      '{src,packages/*/src}/**/*.test.{ts,js}',\n      '{test,packages/*/test}/**/*.{js,ts}'\n    ],\n    plugins: { chai },\n    rules: {\n      'no-unused-expressions': 'off',\n      '@typescript-eslint/no-unused-expressions': 'off',\n      'chai/no-unused-expressions': 'error'\n    },\n    languageOptions: {\n      parser: tseslint.parser,\n      globals: globals.mocha\n    }\n  },\n\n  // Server-admin UI React 19 specific options\n  {\n    settings: {\n      react: {\n        version: 'detect'\n      }\n    },\n    files: ['packages/server-admin-ui/src/**/*.{js,jsx,ts,tsx}'],\n    extends: [\n      common('@typescript-eslint/'),\n      tseslint.configs.recommended,\n      react.configs.flat.recommended,\n      eslintReact.configs['recommended-typescript']\n    ],\n    plugins: {\n      'react-hooks': reactHooks,\n      'react-compiler': reactCompiler\n    },\n    languageOptions: {\n      parser: tseslint.parser,\n      parserOptions: {\n        ecmaFeatures: {\n          jsx: true\n        },\n        project: './packages/server-admin-ui/tsconfig.json'\n      },\n      globals: {\n        ...globals.browser\n      }\n    },\n    rules: {\n      // React hooks rules\n      ...reactHooks.configs.recommended.rules,\n      // React compiler rules\n      'react-compiler/react-compiler': 'warn',\n      // React 17+ with new JSX transform doesn't require React in scope\n      'react/react-in-jsx-scope': 'off',\n      // Disable prop-types (using TypeScript)\n      'react/prop-types': 'off',\n      'react/no-string-refs': 'off',\n      'react/no-direct-mutation-state': 'off'\n    }\n  },\n\n  // Streams package - uses synchronous require() for lazy/dynamic imports\n  {\n    files: ['packages/streams/src/**/*.ts'],\n    rules: {\n      '@typescript-eslint/no-require-imports': 'off'\n    }\n  },\n\n  // Disable rules that prettier handles\n  prettier\n])\n\n// Common rules for all files\nfunction common(prefix = '') {\n  return {\n    rules: {\n      [`${prefix}no-unused-vars`]: [\n        'error',\n        {\n          argsIgnorePattern: '^_',\n          varsIgnorePattern: '^_',\n          caughtErrorsIgnorePattern: '^_'\n        }\n      ],\n      [`${prefix}no-unused-expressions`]: [\n        'error',\n        {\n          allowShortCircuit: true,\n          allowTernary: true\n        }\n      ],\n      'no-return-assign': ['error', 'always'],\n      eqeqeq: ['error', 'always']\n    }\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/.gitignore",
    "content": "# Rust build artifacts\ntarget/\nCargo.lock\n\n# Editor/IDE files\n.idea/\n.vscode/\n*.swp\n*.swo\n*~\n\n# OS files\n.DS_Store\nThumbs.db\n\n# Built WASM (will be built fresh)\n*.wasm\n\n# npm\nnode_modules/\npackage-lock.json\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/.npmignore",
    "content": "# Rust build artifacts\ntarget/\nCargo.lock\n\n# Editor/IDE files\n.idea/\n.vscode/\n*.swp\n*.swo\n*~\n\n# OS files\n.DS_Store\nThumbs.db\n\n# Development files\n*.rs.bk\n.rustfmt.toml\nrustfmt.toml\n.cargo/\n\n# Keep only the essential files:\n# - package.json\n# - plugin.wasm\n# - README.md\n# - wit/ (for documentation)\n# - src/ (optional, for reference)\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/Cargo.toml",
    "content": "[package]\nname = \"anchor-watch-rust\"\nversion = \"0.1.0\"\nedition = \"2021\"\ndescription = \"Anchor Watch WASM plugin for Signal K - Rust implementation\"\nlicense = \"Apache-2.0\"\n\n[lib]\ncrate-type = [\"cdylib\"]\n\n[dependencies]\n# JSON serialization\nserde = { version = \"1.0\", features = [\"derive\"] }\nserde_json = \"1.0\"\n\n[profile.release]\n# Optimize for size\nopt-level = \"s\"\nlto = true\nstrip = true\ncodegen-units = 1\npanic = \"abort\"\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/README.md",
    "content": "# Example Anchor Watch - Rust WASM Plugin\n\nA Signal K WASM plugin written in Rust demonstrating:\n\n- Rust WASM compilation for Signal K (wasm32-wasip1 target)\n- PUT handler registration and handling\n- **Custom HTTP endpoints** (REST API)\n- Delta message emission\n- Plugin configuration via JSON schema\n- Buffer-based FFI string passing\n\n## Status: Working\n\nThis plugin is fully functional and tested on Signal K Server 3.0+ running on Raspberry Pi 5.\n\n## Features\n\n- **Anchor Position Tracking** - Set and monitor anchor position via PUT requests\n- **Radius Alarm** - Configure maximum swing radius (10-1000 meters)\n- **PUT Handlers** - Control anchor watch via Signal K PUT requests\n- **Custom HTTP REST API** - Query status and drop anchor via HTTP endpoints\n- **Real-time Updates** - Emits delta messages for state changes\n- **Plugin State Control** - Anchor watch state tied to plugin enable/disable\n\n## Prerequisites\n\n### Rust Toolchain\n\n```bash\n# Install Rust\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n\n# Add WASI Preview 1 target (required for Signal K WASM runtime)\nrustup target add wasm32-wasip1\n```\n\n## Building\n\n### WASI Preview 1 (Required)\n\nSignal K Server uses the WASI Preview 1 runtime. Build with:\n\n```bash\ncargo build --release --target wasm32-wasip1\n```\n\nOutput: `target/wasm32-wasip1/release/anchor_watch_rust.wasm`\n\n### Copy to Plugin Directory\n\n```bash\ncp target/wasm32-wasip1/release/anchor_watch_rust.wasm plugin.wasm\n```\n\n## Installation\n\n### Option 1: Direct Copy (Development)\n\n```bash\n# Create plugin directory\nmkdir -p ~/.signalk/node_modules/@signalk/example-anchor-watch-rust\n\n# Copy files\ncp plugin.wasm package.json ~/.signalk/node_modules/@signalk/example-anchor-watch-rust/\n```\n\n### Option 2: npm pack (Distribution)\n\n```bash\nnpm pack\n# Install on target system\nnpm install -g ./signalk-anchor-watch-rust-0.1.0.tgz\n```\n\n## Configuration\n\nEnable and configure the plugin via the Signal K Admin UI under **Server → Plugin Config**. Configuration options are documented in the plugin's schema.\n\n## PUT Handlers\n\nThe plugin registers PUT handlers for vessel control. **Important**: When multiple sources provide the same path, you must specify the source in the PUT request body.\n\n### navigation.anchor.position\n\nSet the anchor position:\n\n```bash\ncurl -X PUT http://localhost:3000/signalk/v1/api/vessels/self/navigation/anchor/position \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -d '{\"value\": {\"latitude\": 52.1234, \"longitude\": 4.5678}, \"source\": \"@signalk/example-anchor-watch-rust\"}'\n```\n\n### navigation.anchor.maxRadius\n\nSet the maximum swing radius (meters):\n\n```bash\ncurl -X PUT http://localhost:3000/signalk/v1/api/vessels/self/navigation/anchor/maxRadius \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -d '{\"value\": 75, \"source\": \"@signalk/example-anchor-watch-rust\"}'\n```\n\n### navigation.anchor.state\n\nQuery anchor watch state (informational - state is controlled by enabling/disabling the plugin):\n\n```bash\ncurl -X PUT http://localhost:3000/signalk/v1/api/vessels/self/navigation/anchor/state \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -d '{\"value\": \"on\", \"source\": \"@signalk/example-anchor-watch-rust\"}'\n```\n\n**Note**: The anchor watch state is actually controlled by enabling/disabling the plugin itself. The PUT handler returns a success response but the actual state change requires toggling the plugin.\n\n## HTTP Endpoints (REST API)\n\nThe plugin exposes custom HTTP endpoints for status queries and anchor control. These are mounted at `/plugins/_signalk_example-anchor-watch-rust/`.\n\n### GET /api/status\n\nReturns current anchor watch status:\n\n```bash\ncurl http://localhost:3000/plugins/_signalk_example-anchor-watch-rust/api/status\n```\n\n**Response:**\n\n```json\n{\n  \"running\": true,\n  \"alarmActive\": false,\n  \"position\": { \"latitude\": 52.1234, \"longitude\": 4.5678 },\n  \"maxRadius\": 50,\n  \"checkInterval\": 10\n}\n```\n\n### GET /api/position\n\nReturns current anchor position:\n\n```bash\ncurl http://localhost:3000/plugins/_signalk_example-anchor-watch-rust/api/position\n```\n\n**Response:**\n\n```json\n{\n  \"latitude\": 52.1234,\n  \"longitude\": 4.5678,\n  \"maxRadius\": 50\n}\n```\n\n### POST /api/drop\n\nDrop anchor at a specified position:\n\n```bash\ncurl -X POST http://localhost:3000/plugins/_signalk_example-anchor-watch-rust/api/drop \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"latitude\": 52.1234, \"longitude\": 4.5678, \"maxRadius\": 75}'\n```\n\n**Request Body:**\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `latitude` | number | Yes | Latitude in degrees (-90 to 90) |\n| `longitude` | number | Yes | Longitude in degrees (-180 to 180) |\n| `maxRadius` | number | No | Max swing radius in meters (default: 50) |\n\n**Response:**\n\n```json\n{\n  \"success\": true,\n  \"message\": \"Anchor dropped\",\n  \"position\": { \"latitude\": 52.1234, \"longitude\": 4.5678 },\n  \"maxRadius\": 75\n}\n```\n\n### HTTP Authentication\n\nNote: If Signal K server security is enabled, you need to authenticate first:\n\n```bash\n# Login and save cookie\ncurl -X POST http://localhost:3000/signalk/v1/auth/login \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"admin\",\"password\":\"yourpassword\"}' \\\n  -c cookies.txt\n\n# Use cookie for API requests\ncurl -b cookies.txt http://localhost:3000/plugins/_signalk_example-anchor-watch-rust/api/status\n```\n\n## Source Parameter\n\nWhen multiple plugins/providers write to the same Signal K path, PUT requests require a `source` parameter to identify which handler should process the request.\n\nFor this plugin, use: `\"source\": \"@signalk/example-anchor-watch-rust\"`\n\nThe source name matches the npm package name declared in `package.json`.\n\n## Signal K Paths\n\nThe plugin emits delta updates to these paths:\n\n| Path                          | Type                      | Description                                   |\n| ----------------------------- | ------------------------- | --------------------------------------------- |\n| `navigation.anchor.position`  | `{ latitude, longitude }` | Anchor position in degrees                    |\n| `navigation.anchor.maxRadius` | number                    | Maximum swing radius in meters                |\n| `navigation.anchor.state`     | string                    | \"on\" when plugin enabled, \"off\" when disabled |\n\n## Project Structure\n\n```\nexample-anchor-watch-rust/\n├── Cargo.toml           # Rust package manifest\n├── package.json         # npm package for Signal K\n├── plugin.wasm          # Built WASM binary (after build)\n├── README.md\n└── src/\n    └── lib.rs           # Plugin implementation\n```\n\n## Technical Details\n\n### FFI Interface\n\nThe plugin uses raw FFI to communicate with the Signal K server:\n\n**Imports from host (env module):**\n\n- `sk_debug(ptr, len)` - Log debug message\n- `sk_set_status(ptr, len)` - Set plugin status\n- `sk_set_error(ptr, len)` - Set error message\n- `sk_handle_message(ptr, len)` - Emit delta message\n- `sk_register_put_handler(ctx_ptr, ctx_len, path_ptr, path_len)` - Register PUT handler\n\n**Exports to host:**\n\n- `plugin_id(out_ptr, max_len) -> len` - Return plugin ID\n- `plugin_name(out_ptr, max_len) -> len` - Return plugin name\n- `plugin_schema(out_ptr, max_len) -> len` - Return JSON schema\n- `plugin_start(config_ptr, config_len) -> status` - Start plugin\n- `plugin_stop() -> status` - Stop plugin\n- `allocate(size) -> ptr` - Allocate memory for host-to-WASM strings\n- `deallocate(ptr, size)` - Free allocated memory\n\n**PUT Handlers:**\n\n- `handle_put_vessels_self_navigation_anchor_position(value_ptr, value_len, response_ptr, response_max_len) -> len`\n- `handle_put_vessels_self_navigation_anchor_maxRadius(value_ptr, value_len, response_ptr, response_max_len) -> len`\n- `handle_put_vessels_self_navigation_anchor_state(value_ptr, value_len, response_ptr, response_max_len) -> len`\n\n**HTTP Endpoints:**\n\n- `http_endpoints(out_ptr, max_len) -> len` - Return JSON array of endpoint definitions\n- `http_get_status(request_ptr, request_len, response_ptr, response_max_len) -> len` - GET /api/status\n- `http_get_position(request_ptr, request_len, response_ptr, response_max_len) -> len` - GET /api/position\n- `http_post_drop(request_ptr, request_len, response_ptr, response_max_len) -> len` - POST /api/drop\n\n### PUT Handler Naming Convention\n\nHandler function names follow this pattern:\n\n```\nhandle_put_{context}_{path}\n```\n\n- Replace all dots (`.`) with underscores (`_`)\n- Context: `vessels.self` → `vessels_self`\n- Path: `navigation.anchor.position` → `navigation_anchor_position`\n\n### Memory Management\n\nRust plugins use buffer-based string passing:\n\n1. Host calls `allocate(size)` to get memory for input\n2. Host writes UTF-8 bytes to allocated memory\n3. Plugin reads input and writes output to provided buffer\n4. Host calls `deallocate(ptr, size)` to free memory\n\nThis differs from AssemblyScript plugins which use the AS loader for automatic string conversion.\n\n## Development\n\n```bash\n# Check code\ncargo check --target wasm32-wasip1\n\n# Build debug\ncargo build --target wasm32-wasip1\n\n# Build release (optimized)\ncargo build --release --target wasm32-wasip1\n\n# Copy to plugin.wasm\ncp target/wasm32-wasip1/release/anchor_watch_rust.wasm plugin.wasm\n```\n\n### Debugging\n\nEnable debug logging on the Signal K server:\n\n```bash\nDEBUG=signalk:wasm:* signalk-server\n```\n\nOr use journalctl on systemd systems:\n\n```bash\njournalctl -u signalk -f | grep wasm\n```\n\n## Binary Size\n\nRust WASM plugins are typically 50-200 KB when optimized:\n\n```bash\n# Check size\nls -lh target/wasm32-wasip1/release/anchor_watch_rust.wasm\n# Expected: ~100-150 KB\n```\n\n### Size Optimization\n\nThe `Cargo.toml` includes optimizations:\n\n```toml\n[profile.release]\nopt-level = \"z\"     # Optimize for size\nlto = true          # Link-time optimization\nstrip = true        # Strip debug symbols\n```\n\nFurther optimization with `wasm-opt` (optional):\n\n```bash\nwasm-opt -Oz plugin.wasm -o plugin.optimized.wasm\n```\n\n## Troubleshooting\n\n### Plugin not loading\n\n- Verify `wasmManifest` in `package.json` points to correct file\n- Check that `plugin.wasm` exists and is readable\n- Enable debug logging: `DEBUG=signalk:wasm:*`\n\n### PUT handlers not registering\n\n- Check `\"putHandlers\": true` in `wasmCapabilities`\n- Verify handler function names match the pattern exactly\n- Check server logs for registration messages\n\n### HTTP endpoints returning 404\n\n- Check `\"httpEndpoints\": true` in `wasmCapabilities`\n- Verify `http_endpoints()` export returns valid JSON array\n- Check that handler function names match exactly\n- Enable debug logging: `DEBUG=signalk:wasm:*`\n\n### PUT requests return \"multiple sources\" error\n\n- Add `\"source\": \"@signalk/example-anchor-watch-rust\"` to the request body\n- The source must match the package name in `package.json`\n\n### Memory errors\n\n- Ensure `allocate` and `deallocate` are exported\n- Check buffer sizes in handler functions\n- Verify UTF-8 encoding of all strings\n\n## Dependencies\n\n### Rust Crates (Cargo.toml)\n\n- `serde` (1.0) - JSON serialization with derive macros\n- `serde_json` (1.0) - JSON parsing\n\n### No external WASM libraries needed\n\nThe plugin uses only Rust standard library and serde for JSON. No wasm-bindgen or other WASM-specific crates required.\n\n## License\n\nApache-2.0\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/package.json",
    "content": "{\n  \"name\": \"@signalk/example-anchor-watch-rust\",\n  \"version\": \"0.2.0\",\n  \"description\": \"Anchor Watch WASM plugin for Signal K - Rust implementation with PUT handlers\",\n  \"main\": \"plugin.wasm\",\n  \"scripts\": {\n    \"build\": \"cargo build --release --target wasm32-wasip1\",\n    \"build:component\": \"cargo component build --release\",\n    \"postbuild\": \"cp target/wasm32-wasip1/release/anchor_watch_rust.wasm plugin.wasm\",\n    \"clean\": \"cargo clean && rm -f plugin.wasm\",\n    \"check\": \"cargo check --target wasm32-wasip1\"\n  },\n  \"keywords\": [\n    \"signalk-wasm-plugin\",\n    \"signalk-category-safety\",\n    \"wasm\",\n    \"rust\",\n    \"anchor-watch\"\n  ],\n  \"author\": \"Signal K\",\n  \"license\": \"Apache-2.0\",\n  \"signalk-plugin-enabled-by-default\": false,\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": false,\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"putHandlers\": true,\n    \"httpEndpoints\": true\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/SignalK/signalk-server\"\n  },\n  \"engines\": {\n    \"node\": \">=18\"\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/src/lib.rs",
    "content": "//! Anchor Watch WASM Plugin for Signal K\n//!\n//! A Rust implementation demonstrating:\n//! - WASM plugin architecture with raw FFI exports\n//! - PUT handler registration and handling\n//! - Custom HTTP endpoints (REST API)\n//! - Delta message emission\n//! - Plugin configuration via JSON schema\n\nuse std::cell::RefCell;\nuse std::f64::consts::PI;\nuse serde::{Deserialize, Serialize};\n\n// =============================================================================\n// FFI Imports - These must match what the SignalK WASM runtime provides in \"env\"\n// =============================================================================\n\n#[link(wasm_import_module = \"env\")]\nextern \"C\" {\n    fn sk_debug(ptr: *const u8, len: usize);\n    fn sk_set_status(ptr: *const u8, len: usize);\n    fn sk_set_error(ptr: *const u8, len: usize);\n    fn sk_handle_message(ptr: *const u8, len: usize);\n    fn sk_register_put_handler(context_ptr: *const u8, context_len: usize, path_ptr: *const u8, path_len: usize) -> i32;\n}\n\n// =============================================================================\n// Helper wrappers for FFI functions\n// =============================================================================\n\nfn debug(msg: &str) {\n    unsafe { sk_debug(msg.as_ptr(), msg.len()); }\n}\n\nfn set_status(msg: &str) {\n    unsafe { sk_set_status(msg.as_ptr(), msg.len()); }\n}\n\nfn set_error(msg: &str) {\n    unsafe { sk_set_error(msg.as_ptr(), msg.len()); }\n}\n\nfn handle_message(msg: &str) {\n    unsafe { sk_handle_message(msg.as_ptr(), msg.len()); }\n}\n\nfn register_put_handler(context: &str, path: &str) -> i32 {\n    unsafe { sk_register_put_handler(context.as_ptr(), context.len(), path.as_ptr(), path.len()) }\n}\n\n// =============================================================================\n// Plugin State\n// =============================================================================\n\nthread_local! {\n    static STATE: RefCell<PluginState> = RefCell::new(PluginState::default());\n}\n\n#[derive(Debug, Clone, Serialize, Deserialize, Default)]\n#[serde(rename_all = \"camelCase\")]\nstruct PluginConfig {\n    #[serde(default)]\n    anchor_lat: f64,\n    #[serde(default)]\n    anchor_lon: f64,\n    #[serde(default = \"default_max_radius\")]\n    max_radius: f64,\n    #[serde(default = \"default_interval\")]\n    check_interval: u32,\n}\n\nfn default_max_radius() -> f64 { 50.0 }\nfn default_interval() -> u32 { 10 }\n\n#[derive(Debug, Default)]\nstruct PluginState {\n    config: PluginConfig,\n    is_running: bool,\n    #[allow(dead_code)]\n    last_distance: f64,\n    alarm_active: bool,\n}\n\n// =============================================================================\n// Memory Allocation for string passing\n// =============================================================================\n\n/// Allocate memory for string passing from host\n#[no_mangle]\npub extern \"C\" fn allocate(size: usize) -> *mut u8 {\n    let mut buf = Vec::with_capacity(size);\n    let ptr = buf.as_mut_ptr();\n    std::mem::forget(buf);\n    ptr\n}\n\n/// Deallocate memory\n#[no_mangle]\npub extern \"C\" fn deallocate(ptr: *mut u8, size: usize) {\n    unsafe {\n        let _ = Vec::from_raw_parts(ptr, 0, size);\n    }\n}\n\n// =============================================================================\n// Plugin Exports - Core plugin interface\n// =============================================================================\n\nstatic PLUGIN_ID: &str = \"anchor-watch-rust\";\nstatic PLUGIN_NAME: &str = \"Anchor Watch (Rust)\";\nstatic PLUGIN_SCHEMA: &str = r#\"{\n    \"type\": \"object\",\n    \"title\": \"Anchor Watch Configuration\",\n    \"properties\": {\n        \"anchorLat\": {\n            \"type\": \"number\",\n            \"title\": \"Anchor Latitude\",\n            \"description\": \"Latitude where the anchor was dropped (degrees)\",\n            \"default\": 0\n        },\n        \"anchorLon\": {\n            \"type\": \"number\",\n            \"title\": \"Anchor Longitude\",\n            \"description\": \"Longitude where the anchor was dropped (degrees)\",\n            \"default\": 0\n        },\n        \"maxRadius\": {\n            \"type\": \"number\",\n            \"title\": \"Maximum Radius (meters)\",\n            \"description\": \"Alert if vessel moves beyond this distance from anchor\",\n            \"default\": 50,\n            \"minimum\": 10,\n            \"maximum\": 1000\n        },\n        \"checkInterval\": {\n            \"type\": \"integer\",\n            \"title\": \"Check Interval (seconds)\",\n            \"description\": \"How often to check vessel position\",\n            \"default\": 10,\n            \"minimum\": 1,\n            \"maximum\": 300\n        }\n    },\n    \"required\": [\"maxRadius\"]\n}\"#;\n\n/// Return the plugin ID\n#[no_mangle]\npub extern \"C\" fn plugin_id(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_ID, out_ptr, out_max_len)\n}\n\n/// Return the plugin name\n#[no_mangle]\npub extern \"C\" fn plugin_name(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_NAME, out_ptr, out_max_len)\n}\n\n/// Return the plugin JSON schema\n#[no_mangle]\npub extern \"C\" fn plugin_schema(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    write_string(PLUGIN_SCHEMA, out_ptr, out_max_len)\n}\n\n/// Start the plugin with configuration\n#[no_mangle]\npub extern \"C\" fn plugin_start(config_ptr: *const u8, config_len: usize) -> i32 {\n    let config_json = unsafe {\n        let slice = std::slice::from_raw_parts(config_ptr, config_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    let parsed_config: PluginConfig = match serde_json::from_str(&config_json) {\n        Ok(c) => c,\n        Err(e) => {\n            set_error(&format!(\"Failed to parse config: {}\", e));\n            return 1;\n        }\n    };\n\n    STATE.with(|state| {\n        let mut s = state.borrow_mut();\n        s.config = parsed_config.clone();\n        s.is_running = true;\n        s.alarm_active = false;\n    });\n\n    debug(&format!(\n        \"Anchor Watch started: anchor=({}, {}), radius={}m\",\n        parsed_config.anchor_lat,\n        parsed_config.anchor_lon,\n        parsed_config.max_radius\n    ));\n\n    // Register PUT handlers\n    if register_put_handler(\"vessels.self\", \"navigation.anchor.position\") == 1 {\n        debug(\"Registered PUT handler for navigation.anchor.position\");\n    }\n    if register_put_handler(\"vessels.self\", \"navigation.anchor.maxRadius\") == 1 {\n        debug(\"Registered PUT handler for navigation.anchor.maxRadius\");\n    }\n    if register_put_handler(\"vessels.self\", \"navigation.anchor.state\") == 1 {\n        debug(\"Registered PUT handler for navigation.anchor.state\");\n    }\n\n    // Plugin enabled = anchor watch active\n    set_status(\"Anchor watch active\");\n    emit_anchor_state(true, parsed_config.anchor_lat, parsed_config.anchor_lon, parsed_config.max_radius);\n\n    0\n}\n\n/// Stop the plugin\n#[no_mangle]\npub extern \"C\" fn plugin_stop() -> i32 {\n    STATE.with(|state| {\n        let mut s = state.borrow_mut();\n        s.is_running = false;\n    });\n\n    // Plugin stopped = anchor watch disabled\n    emit_anchor_state(false, 0.0, 0.0, 0.0);\n    debug(\"Anchor Watch stopped\");\n    set_status(\"Stopped\");\n\n    0\n}\n\n// =============================================================================\n// PUT Handlers\n// =============================================================================\n\n/// Handle PUT request for navigation.anchor.position\n#[no_mangle]\npub extern \"C\" fn handle_put_vessels_self_navigation_anchor_position(\n    value_ptr: *const u8,\n    value_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    let value_json = unsafe {\n        let slice = std::slice::from_raw_parts(value_ptr, value_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    debug(&format!(\"PUT navigation.anchor.position: {}\", value_json));\n\n    #[derive(Deserialize)]\n    struct Position {\n        latitude: f64,\n        longitude: f64,\n    }\n\n    let result = match serde_json::from_str::<Position>(&value_json) {\n        Ok(pos) => {\n            STATE.with(|state| {\n                let mut s = state.borrow_mut();\n                s.config.anchor_lat = pos.latitude;\n                s.config.anchor_lon = pos.longitude;\n\n                emit_anchor_state(\n                    s.is_running, // Plugin running = anchor watch active\n                    pos.latitude,\n                    pos.longitude,\n                    s.config.max_radius\n                );\n            });\n\n            set_status(&format!(\"Anchor position set: ({:.6}, {:.6})\", pos.latitude, pos.longitude));\n            r#\"{\"state\":\"COMPLETED\",\"statusCode\":200}\"#.to_string()\n        }\n        Err(e) => {\n            set_error(&format!(\"Invalid position: {}\", e));\n            format!(r#\"{{\"state\":\"COMPLETED\",\"statusCode\":400,\"message\":\"Invalid position format: {}\"}}\"#, e)\n        }\n    };\n\n    write_string(&result, response_ptr, response_max_len)\n}\n\n/// Handle PUT request for navigation.anchor.maxRadius\n#[no_mangle]\npub extern \"C\" fn handle_put_vessels_self_navigation_anchor_maxRadius(\n    value_ptr: *const u8,\n    value_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    let value_json = unsafe {\n        let slice = std::slice::from_raw_parts(value_ptr, value_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    debug(&format!(\"PUT navigation.anchor.maxRadius: {}\", value_json));\n\n    let result = match serde_json::from_str::<f64>(&value_json) {\n        Ok(radius) if radius >= 10.0 && radius <= 1000.0 => {\n            STATE.with(|state| {\n                let mut s = state.borrow_mut();\n                s.config.max_radius = radius;\n\n                emit_anchor_state(\n                    s.is_running, // Plugin running = anchor watch active\n                    s.config.anchor_lat,\n                    s.config.anchor_lon,\n                    radius\n                );\n            });\n\n            set_status(&format!(\"Max radius set: {}m\", radius));\n            r#\"{\"state\":\"COMPLETED\",\"statusCode\":200}\"#.to_string()\n        }\n        Ok(_) => {\n            set_error(\"Radius must be between 10 and 1000 meters\");\n            r#\"{\"state\":\"COMPLETED\",\"statusCode\":400,\"message\":\"Radius must be between 10 and 1000 meters\"}\"#.to_string()\n        }\n        Err(e) => {\n            set_error(&format!(\"Invalid radius: {}\", e));\n            format!(r#\"{{\"state\":\"COMPLETED\",\"statusCode\":400,\"message\":\"Invalid radius format: {}\"}}\"#, e)\n        }\n    };\n\n    write_string(&result, response_ptr, response_max_len)\n}\n\n/// Handle PUT request for navigation.anchor.state\n/// Note: Anchor watch state is controlled by enabling/disabling the plugin\n#[no_mangle]\npub extern \"C\" fn handle_put_vessels_self_navigation_anchor_state(\n    value_ptr: *const u8,\n    value_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    let value_json = unsafe {\n        let slice = std::slice::from_raw_parts(value_ptr, value_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    debug(&format!(\"PUT navigation.anchor.state: {} (state controlled by plugin enable/disable)\", value_json));\n\n    // Anchor watch state is controlled by enabling/disabling the plugin itself\n    // This PUT handler is informational only - actual state change requires plugin restart\n    let result = r#\"{\"state\":\"COMPLETED\",\"statusCode\":200,\"message\":\"Anchor watch state is controlled by enabling/disabling the plugin\"}\"#;\n    write_string(result, response_ptr, response_max_len)\n}\n\n// =============================================================================\n// HTTP Endpoints - Custom REST API\n// =============================================================================\n\n/// Export HTTP endpoint definitions\n/// Returns JSON array of endpoint definitions\n#[no_mangle]\npub extern \"C\" fn http_endpoints(out_ptr: *mut u8, out_max_len: usize) -> i32 {\n    let endpoints = r#\"[\n        {\"method\": \"GET\", \"path\": \"/api/status\", \"handler\": \"http_get_status\"},\n        {\"method\": \"GET\", \"path\": \"/api/position\", \"handler\": \"http_get_position\"},\n        {\"method\": \"POST\", \"path\": \"/api/drop\", \"handler\": \"http_post_drop\"}\n    ]\"#;\n    write_string(endpoints, out_ptr, out_max_len)\n}\n\n/// GET /api/status - Return current anchor watch status\n#[no_mangle]\npub extern \"C\" fn http_get_status(\n    _request_ptr: *const u8,\n    _request_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    debug(\"HTTP GET /api/status\");\n\n    let response = STATE.with(|state| {\n        let s = state.borrow();\n        format!(\n            r#\"{{\"statusCode\":200,\"headers\":{{\"Content-Type\":\"application/json\"}},\"body\":\"{{\\\"running\\\":{},\\\"alarmActive\\\":{},\\\"position\\\":{{\\\"latitude\\\":{},\\\"longitude\\\":{}}},\\\"maxRadius\\\":{},\\\"checkInterval\\\":{}}}\"}}\"#,\n            s.is_running,\n            s.alarm_active,\n            s.config.anchor_lat,\n            s.config.anchor_lon,\n            s.config.max_radius,\n            s.config.check_interval\n        )\n    });\n\n    write_string(&response, response_ptr, response_max_len)\n}\n\n/// GET /api/position - Return current anchor position\n#[no_mangle]\npub extern \"C\" fn http_get_position(\n    _request_ptr: *const u8,\n    _request_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    debug(\"HTTP GET /api/position\");\n\n    let response = STATE.with(|state| {\n        let s = state.borrow();\n        format!(\n            r#\"{{\"statusCode\":200,\"headers\":{{\"Content-Type\":\"application/json\"}},\"body\":\"{{\\\"latitude\\\":{},\\\"longitude\\\":{},\\\"maxRadius\\\":{}}}\"}}\"#,\n            s.config.anchor_lat,\n            s.config.anchor_lon,\n            s.config.max_radius\n        )\n    });\n\n    write_string(&response, response_ptr, response_max_len)\n}\n\n/// POST /api/drop - Drop anchor at specified position\n#[no_mangle]\npub extern \"C\" fn http_post_drop(\n    request_ptr: *const u8,\n    request_len: usize,\n    response_ptr: *mut u8,\n    response_max_len: usize,\n) -> i32 {\n    debug(\"HTTP POST /api/drop\");\n\n    // Read request context\n    let request_json = unsafe {\n        let slice = std::slice::from_raw_parts(request_ptr, request_len);\n        String::from_utf8_lossy(slice).to_string()\n    };\n\n    debug(&format!(\"Request: {}\", request_json));\n\n    // Parse request to get body\n    #[derive(Deserialize)]\n    struct RequestContext {\n        body: Option<DropRequest>,\n    }\n\n    #[derive(Deserialize)]\n    struct DropRequest {\n        latitude: f64,\n        longitude: f64,\n        #[serde(default = \"default_max_radius\")]\n        #[serde(rename = \"maxRadius\")]\n        max_radius: f64,\n    }\n\n    let response = match serde_json::from_str::<RequestContext>(&request_json) {\n        Ok(ctx) => {\n            match ctx.body {\n                Some(drop_req) => {\n                    // Validate coordinates\n                    if drop_req.latitude < -90.0 || drop_req.latitude > 90.0 {\n                        return write_string(\n                            r#\"{\"statusCode\":400,\"headers\":{\"Content-Type\":\"application/json\"},\"body\":\"{\\\"error\\\":\\\"Invalid latitude. Must be between -90 and 90.\\\"}\"}\"#,\n                            response_ptr,\n                            response_max_len\n                        );\n                    }\n                    if drop_req.longitude < -180.0 || drop_req.longitude > 180.0 {\n                        return write_string(\n                            r#\"{\"statusCode\":400,\"headers\":{\"Content-Type\":\"application/json\"},\"body\":\"{\\\"error\\\":\\\"Invalid longitude. Must be between -180 and 180.\\\"}\"}\"#,\n                            response_ptr,\n                            response_max_len\n                        );\n                    }\n\n                    // Update state\n                    STATE.with(|state| {\n                        let mut s = state.borrow_mut();\n                        s.config.anchor_lat = drop_req.latitude;\n                        s.config.anchor_lon = drop_req.longitude;\n                        s.config.max_radius = drop_req.max_radius;\n                        s.alarm_active = false;\n                    });\n\n                    // Emit delta to Signal K\n                    emit_anchor_state(true, drop_req.latitude, drop_req.longitude, drop_req.max_radius);\n                    set_status(&format!(\"Anchor dropped at ({:.6}, {:.6})\", drop_req.latitude, drop_req.longitude));\n\n                    format!(\n                        r#\"{{\"statusCode\":200,\"headers\":{{\"Content-Type\":\"application/json\"}},\"body\":\"{{\\\"success\\\":true,\\\"message\\\":\\\"Anchor dropped\\\",\\\"position\\\":{{\\\"latitude\\\":{},\\\"longitude\\\":{}}},\\\"maxRadius\\\":{}}}\"}}\"#,\n                        drop_req.latitude,\n                        drop_req.longitude,\n                        drop_req.max_radius\n                    )\n                }\n                None => {\n                    r#\"{\"statusCode\":400,\"headers\":{\"Content-Type\":\"application/json\"},\"body\":\"{\\\"error\\\":\\\"Missing request body. Expected {latitude, longitude, maxRadius?}\\\"}\"}\"#.to_string()\n                }\n            }\n        }\n        Err(e) => {\n            debug(&format!(\"Failed to parse request: {}\", e));\n            format!(\n                r#\"{{\"statusCode\":400,\"headers\":{{\"Content-Type\":\"application/json\"}},\"body\":\"{{\\\"error\\\":\\\"Invalid request format: {}\\\"}}\"}}\"#,\n                e.to_string().replace('\"', \"\\\\\\\"\")\n            )\n        }\n    };\n\n    write_string(&response, response_ptr, response_max_len)\n}\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\nfn emit_anchor_state(enabled: bool, lat: f64, lon: f64, radius: f64) {\n    let state_value = if enabled { \"on\" } else { \"off\" };\n\n    // Note: Do not include source or timestamp - the server automatically sets\n    // $source to the plugin ID and fills in timestamp with current time.\n    let delta = if enabled && (lat != 0.0 || lon != 0.0) {\n        format!(\n            r#\"{{\"context\":\"vessels.self\",\"updates\":[{{\"values\":[{{\"path\":\"navigation.anchor.position\",\"value\":{{\"latitude\":{},\"longitude\":{}}}}},{{\"path\":\"navigation.anchor.maxRadius\",\"value\":{}}},{{\"path\":\"navigation.anchor.state\",\"value\":\"{}\"}}]}}]}}\"#,\n            lat, lon, radius, state_value\n        )\n    } else {\n        format!(\n            r#\"{{\"context\":\"vessels.self\",\"updates\":[{{\"values\":[{{\"path\":\"navigation.anchor.state\",\"value\":\"{}\"}}]}}]}}\"#,\n            state_value\n        )\n    };\n\n    handle_message(&delta);\n}\n\nfn write_string(s: &str, ptr: *mut u8, max_len: usize) -> i32 {\n    let bytes = s.as_bytes();\n    let len = bytes.len().min(max_len);\n\n    unsafe {\n        std::ptr::copy_nonoverlapping(bytes.as_ptr(), ptr, len);\n    }\n\n    len as i32\n}\n\n/// Calculate distance between two points using Haversine formula (meters)\n#[allow(dead_code)]\nfn haversine_distance(lat1: f64, lon1: f64, lat2: f64, lon2: f64) -> f64 {\n    const EARTH_RADIUS_M: f64 = 6_371_000.0;\n\n    let lat1_rad = lat1 * PI / 180.0;\n    let lat2_rad = lat2 * PI / 180.0;\n    let delta_lat = (lat2 - lat1) * PI / 180.0;\n    let delta_lon = (lon2 - lon1) * PI / 180.0;\n\n    let a = (delta_lat / 2.0).sin().powi(2)\n        + lat1_rad.cos() * lat2_rad.cos() * (delta_lon / 2.0).sin().powi(2);\n    let c = 2.0 * a.sqrt().asin();\n\n    EARTH_RADIUS_M * c\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-anchor-watch-rust/wit/signalk-plugin.wit",
    "content": "// Signal K WASM Plugin Interface Definition for Rust\n// This WIT file defines the interface that Signal K WASM plugins must implement\n\npackage signalk:plugin@1.0.0;\n\n/// The main plugin interface that all Signal K WASM plugins must export\ninterface plugin {\n    /// Returns the unique plugin identifier (e.g., \"anchor-watch-rust\")\n    plugin-id: func() -> string;\n\n    /// Returns the human-readable plugin name (e.g., \"Anchor Watch (Rust)\")\n    plugin-name: func() -> string;\n\n    /// Returns the JSON schema for plugin configuration\n    plugin-schema: func() -> string;\n\n    /// Called when the plugin is started with configuration JSON\n    /// Returns 0 on success, non-zero on error\n    plugin-start: func(config: string) -> s32;\n\n    /// Called when the plugin is stopped\n    /// Returns 0 on success, non-zero on error\n    plugin-stop: func() -> s32;\n}\n\n/// Signal K host API functions that plugins can import\ninterface signalk-api {\n    /// Log a debug message\n    sk-debug: func(message: string);\n\n    /// Set plugin status message\n    sk-set-status: func(message: string);\n\n    /// Set plugin error message\n    sk-set-error: func(message: string);\n\n    /// Emit a Signal K delta message (JSON string)\n    sk-handle-message: func(delta-json: string);\n\n    /// Register a PUT handler for a path\n    /// Returns 1 on success, 0 on failure\n    sk-register-put-handler: func(context: string, path: string) -> s32;\n}\n\n/// World definition for Signal K plugins\nworld signalk-plugin {\n    /// Import the Signal K host API\n    import signalk-api;\n\n    /// Export the plugin interface\n    export plugin;\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/.gitignore",
    "content": "# Build artifacts\nbuild/\nplugin.js\nplugin.d.ts\n*.wasm\n\n# Dependencies\nnode_modules/\npackage-lock.json\n\n# OS files\n.DS_Store\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/.npmignore",
    "content": "# test builds\n*.tgz\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/README.md",
    "content": "# Example Hello AssemblyScript - Signal K WASM Plugin\n\nA minimal example of a Signal K WASM plugin written in AssemblyScript.\n\n## Features\n\n- Demonstrates AssemblyScript plugin structure\n- Emits delta messages on startup and periodically via `poll()`\n- Creates notifications\n- Configurable update interval for periodic heartbeats\n- HTTP Endpoints - Custom REST API\n- Tiny binary size (~18 KB)\n\n## Prerequisites\n\n- Node.js >= 20\n\n## Building\n\n```bash\n# Install dependencies\nnpm install\n\n# Build release version\nnpm run build\n```\n\nThis creates `plugin.wasm` in the current directory.\n\nFor debug builds with additional symbols:\n\n```bash\nnpm run asbuild:debug\n```\n\n## Installing to Signal K\n\n**Note:** The AssemblyScript Plugin SDK is not yet published to npm. You must install it first.\n\n### Step 1: Install the SDK\n\n```bash\ncd /path/to/signalk-server/packages/assemblyscript-plugin-sdk\nnpm pack\n\ncd ~/.signalk\nnpm install /path/to/signalk-assemblyscript-plugin-sdk-0.2.0.tgz\n```\n\n### Step 2: Install the plugin\n\nOption 1: Using npm pack (recommended)\n\n```bash\ncd /path/to/example-hello-assemblyscript\nnpm pack\n\ncd ~/.signalk\nnpm install /path/to/signalk-example-hello-assemblyscript-0.1.0.tgz\n```\n\nOption 2: Manual copy\n\n```bash\nmkdir -p ~/.signalk/node_modules/@signalk/example-hello-assemblyscript\ncp plugin.wasm package.json ~/.signalk/node_modules/@signalk/example-hello-assemblyscript/\n```\n\n## Enabling\n\n1. Navigate to **Server** → **Plugin Config** in Signal K admin UI\n2. Find \"Hello AssemblyScript Plugin\"\n3. Enable the plugin\n4. Optionally enable \"Debug logging\" to see detailed output\n5. Configure the welcome message and update interval if desired\n6. Click **Submit**\n\n## What It Does\n\nWhen started, the plugin:\n\n1. Emits a welcome notification to `notifications.hello`\n2. Emits plugin information to `plugins.hello-assemblyscript.info`\n3. Emits periodic heartbeat deltas to `plugins.hello-assemblyscript.heartbeat` (configurable interval)\n4. Registers HTTP endpoints for REST API access\n\n### Periodic Heartbeat\n\nThe plugin demonstrates the `poll()` export which is called by the server every ~1 second. The plugin tracks elapsed time and emits a heartbeat delta when the configured `updateInterval` (default: 5000ms) has elapsed.\n\nExample heartbeat delta:\n\n```json\n{\n  \"context\": \"vessels.self\",\n  \"updates\": [\n    {\n      \"source\": { \"label\": \"hello-assemblyscript\", \"type\": \"plugin\" },\n      \"values\": [\n        {\n          \"path\": \"plugins.hello-assemblyscript.heartbeat\",\n          \"value\": {\n            \"count\": 1,\n            \"message\": \"Hello from AssemblyScript!\",\n            \"intervalMs\": 5000\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\n### HTTP Endpoints\n\nThe plugin exposes two REST API endpoints:\n\n**GET /plugins/\\_signalk_example-hello-assemblyscript/api/info**\n\n```bash\ncurl http://localhost:3000/plugins/_signalk_example-hello-assemblyscript/api/info\n```\n\nReturns:\n\n```json\n{\n  \"pluginName\": \"Hello AssemblyScript Plugin\",\n  \"language\": \"AssemblyScript\",\n  \"version\": \"0.1.0\",\n  \"message\": \"Hello from WASM!\",\n  \"capabilities\": [\"delta\", \"notifications\", \"http-endpoints\"]\n}\n```\n\n**GET /plugins/\\_signalk_example-hello-assemblyscript/api/status**\n\n```bash\ncurl http://localhost:3000/plugins/_signalk_example-hello-assemblyscript/api/status\n```\n\nReturns:\n\n```json\n{\n  \"status\": \"running\",\n  \"uptime\": \"N/A\",\n  \"memory\": \"sandboxed\"\n}\n```\n\n## Configuration\n\n| Option           | Type   | Default                      | Description                                       |\n| ---------------- | ------ | ---------------------------- | ------------------------------------------------- |\n| `message`        | string | \"Hello from AssemblyScript!\" | Welcome message shown in notifications            |\n| `updateInterval` | number | 5000                         | Interval in milliseconds between heartbeat deltas |\n\nConfigure via the Signal K Admin UI under **Server → Plugin Config**.\n\n## Development\n\n### Project Structure\n\n```\nexample-hello-assemblyscript/\n├── assembly/\n│   └── index.ts          # Plugin implementation\n├── package.json          # NPM package definition\n├── asconfig.json         # AssemblyScript build config\n├── plugin.wasm           # Compiled WASM binary (after build)\n└── README.md             # This file\n```\n\n### Key Exports\n\nThe plugin exports these functions for the Signal K server:\n\n| Export                 | Description                                     |\n| ---------------------- | ----------------------------------------------- |\n| `plugin_name()`        | Returns the human-readable plugin name          |\n| `plugin_schema()`      | Returns JSON schema for configuration UI        |\n| `plugin_start(config)` | Called when plugin is enabled                   |\n| `plugin_stop()`        | Called when plugin is disabled                  |\n| `poll()`               | Called every ~1 second for periodic tasks       |\n| `http_endpoints()`     | Returns JSON array of HTTP endpoint definitions |\n\n### Debugging\n\nEnable debug logging in the plugin configuration, then check server logs:\n\n```bash\nDEBUG=signalk:wasm:* npm start\n```\n\nYou'll see messages like:\n\n```\nsignalk:wasm:bindings [@signalk/example-hello-assemblyscript] Heartbeat #1\nsignalk:wasm:bindings [@signalk/example-hello-assemblyscript] Emitting delta (v1): ...\n```\n\n## License\n\nApache-2.0\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/asconfig.json",
    "content": "{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"incremental\",\n      \"exportRuntime\": true\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"incremental\",\n      \"exportRuntime\": true\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\"\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/assembly/index.ts",
    "content": "/**\n * Hello World - AssemblyScript WASM Plugin\n *\n * Demonstrates basic AssemblyScript plugin structure for Signal K\n */\n\nimport {\n  Plugin,\n  Delta,\n  Update,\n  PathValue,\n  Notification,\n  NotificationState,\n  emit,\n  setStatus,\n  setError,\n  debug\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\n/**\n * Plugin configuration interface\n */\nclass HelloConfig {\n  message: string = 'Hello from AssemblyScript!'\n  updateInterval: i32 = 5000\n  enableDebugLogging: boolean = false\n}\n\n// Track elapsed time for polling (server calls poll() every ~1000ms)\nlet elapsedMs: i32 = 0\nlet pollCount: i32 = 0\n\n/**\n * Hello World Plugin Implementation\n */\nclass HelloPlugin extends Plugin {\n  private config: HelloConfig = new HelloConfig()\n\n  /**\n   * Helper to conditionally log debug messages\n   */\n  private logDebug(message: string): void {\n    if (this.config.enableDebugLogging) {\n      debug(message)\n    }\n  }\n\n  /**\n   * Plugin name shown in admin UI\n   * Note: Plugin ID is derived from package.json name\n   */\n  name(): string {\n    return 'Hello AssemblyScript Plugin'\n  }\n\n  /**\n   * JSON schema for configuration UI\n   */\n  schema(): string {\n    return `{\n      \"type\": \"object\",\n      \"properties\": {\n        \"message\": {\n          \"type\": \"string\",\n          \"title\": \"Welcome Message\",\n          \"default\": \"Hello from AssemblyScript!\"\n        },\n        \"updateInterval\": {\n          \"type\": \"number\",\n          \"title\": \"Update Interval (ms)\",\n          \"default\": 5000\n        }\n      }\n    }`\n  }\n\n  /**\n   * Start plugin with configuration\n   */\n  start(configJson: string): i32 {\n    // Parse configuration\n    // Note: For production, use a JSON parser like assemblyscript-json\n    // For this example, we do basic string parsing\n\n    // Check enableDebug at root level (matches regular plugin config structure)\n    if (\n      configJson.includes('\"enableDebug\":true') ||\n      configJson.includes('\"enableDebug\": true')\n    ) {\n      this.config.enableDebugLogging = true\n    }\n\n    // Parse updateInterval from config (basic string parsing)\n    const intervalKey = '\"updateInterval\":'\n    const intervalIdx = configJson.indexOf(intervalKey)\n    if (intervalIdx >= 0) {\n      const startIdx = intervalIdx + intervalKey.length\n      let endIdx = startIdx\n      while (endIdx < configJson.length) {\n        const c = configJson.charCodeAt(endIdx)\n        if (c < 48 || c > 57) break // Not a digit (0-9)\n        endIdx++\n      }\n      if (endIdx > startIdx) {\n        const intervalStr = configJson.substring(startIdx, endIdx)\n        this.config.updateInterval = i32(parseInt(intervalStr) as i32)\n      }\n    }\n\n    // Reset poll counters\n    elapsedMs = 0\n    pollCount = 0\n\n    this.logDebug('========================================')\n    this.logDebug('Hello AssemblyScript plugin starting...')\n    this.logDebug(`Plugin Name: ${this.name()}`)\n    this.logDebug(`Configuration received: ${configJson}`)\n    this.logDebug(\n      `Debug logging: ${this.config.enableDebugLogging ? 'ENABLED' : 'DISABLED'}`\n    )\n    this.logDebug(`Update interval: ${this.config.updateInterval}ms`)\n    this.logDebug('========================================')\n\n    setStatus('Started successfully')\n    this.logDebug('Status set to: Started successfully')\n\n    // Emit a welcome notification\n    this.logDebug('Emitting welcome notification...')\n    this.emitWelcomeNotification()\n\n    // Emit a test delta\n    this.logDebug('Emitting test delta with plugin info...')\n    this.emitTestDelta()\n\n    this.logDebug('========================================')\n    this.logDebug('Hello AssemblyScript plugin started successfully!')\n    this.logDebug('========================================')\n    return 0 // Success\n  }\n\n  /**\n   * Stop plugin\n   */\n  stop(): i32 {\n    this.logDebug('========================================')\n    this.logDebug('Hello AssemblyScript plugin stopping...')\n    setStatus('Stopped')\n    this.logDebug('Status set to: Stopped')\n    this.logDebug('Hello AssemblyScript plugin stopped successfully!')\n    this.logDebug('========================================')\n    return 0 // Success\n  }\n\n  /**\n   * Emit a welcome notification\n   */\n  private emitWelcomeNotification(): void {\n    this.logDebug('Building welcome notification...')\n    const notification = new Notification(\n      NotificationState.normal,\n      this.config.message\n    )\n\n    const pathValue = new PathValue(\n      'notifications.hello',\n      notification.toJSON()\n    )\n\n    const update = new Update([pathValue])\n    const delta = new Delta('vessels.self', [update])\n\n    emit(delta)\n    this.logDebug('✓ Welcome notification emitted to path: notifications.hello')\n  }\n\n  /**\n   * Emit a test delta with plugin information\n   */\n  private emitTestDelta(): void {\n    this.logDebug('Building plugin info delta...')\n    const pluginInfo = `{\n      \"name\": \"${this.name()}\",\n      \"language\": \"AssemblyScript\",\n      \"version\": \"0.1.0\"\n    }`\n\n    const pathValue = new PathValue(\n      'plugins.hello-assemblyscript.info',\n      pluginInfo\n    )\n\n    const update = new Update([pathValue])\n    const delta = new Delta('vessels.self', [update])\n\n    emit(delta)\n    this.logDebug(\n      '✓ Plugin info delta emitted to path: plugins.hello-assemblyscript.info'\n    )\n  }\n\n  /**\n   * Emit a periodic heartbeat delta\n   */\n  emitHeartbeat(): void {\n    pollCount++\n    this.logDebug(`Heartbeat #${pollCount}`)\n\n    const heartbeatValue = `{\n      \"count\": ${pollCount},\n      \"message\": \"${this.config.message}\",\n      \"intervalMs\": ${this.config.updateInterval}\n    }`\n\n    const pathValue = new PathValue(\n      'plugins.hello-assemblyscript.heartbeat',\n      heartbeatValue\n    )\n\n    const update = new Update([pathValue])\n    const delta = new Delta('vessels.self', [update])\n\n    emit(delta)\n    this.logDebug(\n      `✓ Heartbeat delta emitted to path: plugins.hello-assemblyscript.heartbeat`\n    )\n  }\n\n  /**\n   * Get update interval for polling\n   */\n  getUpdateInterval(): i32 {\n    return this.config.updateInterval\n  }\n}\n\n// Export plugin instance\n// Signal K server will call the exported functions\nconst plugin = new HelloPlugin()\n\n// Plugin lifecycle exports\n// Note: plugin_id() is no longer required - ID is derived from package.json name\n\nexport function plugin_name(): string {\n  return plugin.name()\n}\n\nexport function plugin_schema(): string {\n  return plugin.schema()\n}\n\nexport function plugin_start(configPtr: usize, configLen: usize): i32 {\n  // Read config string from memory\n  const len = i32(configLen)\n  const configBytes = new Uint8Array(len)\n  for (let i: i32 = 0; i < len; i++) {\n    configBytes[i] = load<u8>(configPtr + <usize>i)\n  }\n  const configJson = String.UTF8.decode(configBytes.buffer)\n\n  return plugin.start(configJson)\n}\n\nexport function plugin_stop(): i32 {\n  return plugin.stop()\n}\n\n/**\n * Poll function - called by server every ~1000ms\n * Emits heartbeat delta when updateInterval has elapsed\n */\nexport function poll(): i32 {\n  // Server calls poll() every ~1000ms\n  elapsedMs += 1000\n\n  // Check if it's time to emit a heartbeat\n  if (elapsedMs >= plugin.getUpdateInterval()) {\n    plugin.emitHeartbeat()\n    elapsedMs = 0\n  }\n\n  return 0 // Success\n}\n\n/**\n * HTTP Endpoints (Phase 2)\n * Register custom REST API endpoints\n */\nexport function http_endpoints(): string {\n  return `[\n    {\n      \"method\": \"GET\",\n      \"path\": \"/api/info\",\n      \"handler\": \"handle_get_info\"\n    },\n    {\n      \"method\": \"GET\",\n      \"path\": \"/api/status\",\n      \"handler\": \"handle_get_status\"\n    }\n  ]`\n}\n\n/**\n * Handle GET /api/info\n * Returns plugin information\n */\nexport function handle_get_info(requestPtr: usize, requestLen: usize): string {\n  // Decode request from memory (not used in this simple example)\n  const requestBytes = new Uint8Array(i32(requestLen))\n  for (let i: i32 = 0; i < i32(requestLen); i++) {\n    requestBytes[i] = load<u8>(requestPtr + <usize>i)\n  }\n  const requestJson = String.UTF8.decode(requestBytes.buffer)\n\n  // Build response data\n  // Note: pluginId is derived from package.json name\n  const bodyJson = `{\n    \"pluginName\": \"${plugin.name()}\",\n    \"language\": \"AssemblyScript\",\n    \"version\": \"0.1.0\",\n    \"message\": \"Hello from WASM!\",\n    \"capabilities\": [\"delta\", \"notifications\", \"http-endpoints\"]\n  }`\n\n  // Escape for embedding in JSON response\n  const escapedBody = bodyJson.replaceAll('\"', '\\\\\"').replaceAll('\\n', '\\\\n')\n\n  // Return HTTP response\n  return `{\n    \"statusCode\": 200,\n    \"headers\": {\"Content-Type\": \"application/json\"},\n    \"body\": \"${escapedBody}\"\n  }`\n}\n\n/**\n * Handle GET /api/status\n * Returns runtime status\n */\nexport function handle_get_status(\n  requestPtr: usize,\n  requestLen: usize\n): string {\n  const requestBytes = new Uint8Array(i32(requestLen))\n  for (let i: i32 = 0; i < i32(requestLen); i++) {\n    requestBytes[i] = load<u8>(requestPtr + <usize>i)\n  }\n  const requestJson = String.UTF8.decode(requestBytes.buffer)\n\n  const bodyJson = `{\n    \"status\": \"running\",\n    \"uptime\": \"N/A\",\n    \"memory\": \"sandboxed\"\n  }`\n\n  const escapedBody = bodyJson.replaceAll('\"', '\\\\\"').replaceAll('\\n', '\\\\n')\n\n  return `{\n    \"statusCode\": 200,\n    \"headers\": {\"Content-Type\": \"application/json\"},\n    \"body\": \"${escapedBody}\"\n  }`\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-hello-assemblyscript/package.json",
    "content": "{\n  \"name\": \"@signalk/example-hello-assemblyscript\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Hello World WASM plugin written in AssemblyScript\",\n  \"keywords\": [\n    \"signalk-wasm-plugin\"\n  ],\n  \"wasmManifest\": \"plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": false,\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"serialPorts\": false\n  },\n  \"author\": \"Signal K Team\",\n  \"license\": \"Apache-2.0\",\n  \"scripts\": {\n    \"asbuild:debug\": \"asc assembly/index.ts --target debug --outFile build/plugin.debug.wasm\",\n    \"asbuild:release\": \"asc assembly/index.ts --target release --outFile plugin.wasm --optimize --shrinkLevel 2\",\n    \"asbuild\": \"npm run asbuild:release\",\n    \"build\": \"npm run asbuild\",\n    \"test\": \"npm run asbuild:debug\"\n  },\n  \"devDependencies\": {\n    \"assemblyscript\": \"^0.27.0\"\n  },\n  \"dependencies\": {\n    \"@signalk/assemblyscript-plugin-sdk\": \"^0.2.0\"\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/.gitignore",
    "content": "# Build artifacts\nbuild/\n*.wasm\n\n# Dependencies\nnode_modules/\npackage-lock.json\n\n# OS files\n.DS_Store\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/.npmignore",
    "content": "# Source files - not needed for runtime\nassembly/\nasconfig.json\n\n# Dev/build artifacts\nnode_modules/\n*.tgz\n*.debug.wasm\n\n# Generated JS files (keep only .wasm)\nbuild/*.js\nbuild/*.d.ts\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/README.md",
    "content": "# Routes & Waypoints Resource Provider Plugin Example\n\nThis example demonstrates how to create a WASM plugin that provides **standard Signal K resource types** (routes and waypoints) via the Resource Provider API.\n\n## What is a Resource Provider?\n\nSignal K's Resource API provides generic CRUD operations for navigation data:\n\n```\nGET    /signalk/v2/api/resources/{type}           # List all\nGET    /signalk/v2/api/resources/{type}/{id}      # Get one\nPOST   /signalk/v2/api/resources/{type}           # Create new\nPUT    /signalk/v2/api/resources/{type}/{id}      # Update existing\nDELETE /signalk/v2/api/resources/{type}/{id}      # Delete\n```\n\nStandard resource types include:\n\n- `routes` - Navigation routes (GeoJSON LineString)\n- `waypoints` - Navigation waypoints (GeoJSON Point)\n- `notes` - Freeform notes\n- `regions` - Geographic regions\n- `charts` - Chart metadata\n\n## Features\n\nThis plugin demonstrates:\n\n- Registering as a resource provider for **multiple types** (routes AND waypoints)\n- Implementing all 4 CRUD handlers\n- GeoJSON-compliant data structures\n- Signal K schema compliance\n- In-memory storage with pre-populated sample data\n\n## Sample Data\n\nThe plugin comes with sample Helsinki-area navigation data:\n\n**Waypoints:**\n\n- Helsinki Marina (60.1695°N, 24.9560°E)\n- Suomenlinna Anchorage (60.1450°N, 24.9880°E)\n- Fuel Dock (60.1680°N, 24.9620°E)\n\n**Routes:**\n\n- \"Marina to Suomenlinna\" - 3.5km route with 3 waypoints\n\n## Building\n\n```bash\ncd examples/wasm-plugins/example-routes-waypoints\nnpm install\nnpm run build\n```\n\n## Installation\n\n**Note:** The AssemblyScript Plugin SDK is not yet published to npm. Install it first - see [example-hello-assemblyscript](../example-hello-assemblyscript/README.md#installing-to-signal-k) for instructions.\n\n1. Build the plugin\n2. Create installable package and install:\n   ```bash\n   npm pack\n   cd ~/.signalk\n   npm install /path/to/signalk-example-routes-waypoints-0.1.0.tgz\n   ```\n3. Restart Signal K server\n4. Enable the plugin in the Admin UI\n\n## Configuration\n\nNo configuration required. The plugin automatically loads sample data on startup.\n\n## Testing\n\nOnce enabled, test the Resource API:\n\n```bash\n# List all waypoints\ncurl http://localhost:3000/signalk/v2/api/resources/waypoints\n\n# Get a specific waypoint\ncurl http://localhost:3000/signalk/v2/api/resources/waypoints/a1b2c3d4-0001-4000-8000-000000000001\n\n# List all routes\ncurl http://localhost:3000/signalk/v2/api/resources/routes\n\n# Get a specific route\ncurl http://localhost:3000/signalk/v2/api/resources/routes/b2c3d4e5-0001-4000-8000-000000000001\n\n# Create a new waypoint\ncurl -X POST http://localhost:3000/signalk/v2/api/resources/waypoints \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"New Waypoint\",\n    \"description\": \"Test waypoint\",\n    \"type\": \"Waypoint\",\n    \"feature\": {\n      \"type\": \"Feature\",\n      \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [25.0, 60.2]\n      },\n      \"properties\": {}\n    }\n  }'\n\n# Delete a waypoint\ncurl -X DELETE http://localhost:3000/signalk/v2/api/resources/waypoints/a1b2c3d4-0001-4000-8000-000000000001\n```\n\n## Data Formats\n\n### Waypoint (GeoJSON Point)\n\n```json\n{\n  \"name\": \"Helsinki Marina\",\n  \"description\": \"Main marina in Helsinki harbor\",\n  \"type\": \"Marina\",\n  \"feature\": {\n    \"type\": \"Feature\",\n    \"geometry\": {\n      \"type\": \"Point\",\n      \"coordinates\": [24.956, 60.1695]\n    },\n    \"properties\": {}\n  }\n}\n```\n\n### Route (GeoJSON LineString)\n\n```json\n{\n  \"name\": \"Marina to Suomenlinna\",\n  \"description\": \"Short trip from Helsinki Marina to Suomenlinna anchorage\",\n  \"distance\": 3500,\n  \"feature\": {\n    \"type\": \"Feature\",\n    \"geometry\": {\n      \"type\": \"LineString\",\n      \"coordinates\": [\n        [24.956, 60.1695],\n        [24.97, 60.16],\n        [24.988, 60.145]\n      ]\n    },\n    \"properties\": {\n      \"coordinatesMeta\": [\n        { \"name\": \"Start - Marina\" },\n        { \"name\": \"Channel marker\" },\n        { \"name\": \"End - Anchorage\" }\n      ]\n    }\n  }\n}\n```\n\n## Implementation Details\n\n### Capability Declaration\n\nIn `package.json`:\n\n```json\n{\n  \"wasmManifest\": \"build/plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"resourceProvider\": true\n  }\n}\n```\n\n### Multiple Resource Type Registration\n\nThe plugin registers for BOTH resource types in `start()`:\n\n```typescript\nregisterResourceProvider('routes')\nregisterResourceProvider('waypoints')\n```\n\n### Handler Exports\n\nThe plugin exports these functions for resource operations:\n\n```typescript\n// List resources (routes or waypoints based on resourceType in query)\nexport function resources_list_resources(queryJson: string): string\n\n// Get single resource\nexport function resources_get_resource(requestJson: string): string\n\n// Create/update resource\nexport function resources_set_resource(requestJson: string): string\n\n// Delete resource\nexport function resources_delete_resource(requestJson: string): string\n```\n\n### Request Format\n\nAll handlers receive a JSON request with `resourceType` indicating which type is being accessed:\n\n```json\n{\n  \"resourceType\": \"waypoints\",\n  \"id\": \"a1b2c3d4-0001-4000-8000-000000000001\"\n}\n```\n\n## See Also\n\n- [example-weather-plugin](../example-weather-plugin/) - Resource Provider with custom type\n- [example-weather-provider](../example-weather-provider/) - Weather Provider API example\n- [WASM Developer Guide](../../../docs/develop/plugins/wasm/README.md)\n- [Signal K Resources API](https://signalk.org/specification/1.7.0/doc/resources.html)\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/asconfig.json",
    "content": "{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"stub\",\n      \"use\": \"abort=\"\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"stub\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/assembly/index.ts",
    "content": "/**\n * Routes & Waypoints Resource Provider Plugin Example\n *\n * Demonstrates:\n * - Resource Provider capability for standard Signal K resource types\n * - Routes: Navigation routes with GeoJSON LineString geometry\n * - Waypoints: Navigation points with GeoJSON Point geometry\n * - Full CRUD operations (list, get, set, delete)\n */\n\nimport {\n  Plugin,\n  setStatus,\n  setError,\n  debug\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\nimport {\n  registerResourceProvider,\n  ResourceGetRequest\n} from '@signalk/assemblyscript-plugin-sdk/assembly/resources'\n\n// ===== Data Types =====\n\n/**\n * Waypoint data structure (GeoJSON Point)\n */\nclass Waypoint {\n  id: string = ''\n  name: string = ''\n  description: string = ''\n  type: string = 'Waypoint' // Waypoint, PoI, Race Mark, etc.\n  longitude: f64 = 0.0\n  latitude: f64 = 0.0\n\n  toJSON(): string {\n    return (\n      '{' +\n      '\"name\":\"' +\n      this.name +\n      '\",' +\n      '\"description\":\"' +\n      this.description +\n      '\",' +\n      '\"type\":\"' +\n      this.type +\n      '\",' +\n      '\"feature\":{' +\n      '\"type\":\"Feature\",' +\n      '\"geometry\":{' +\n      '\"type\":\"Point\",' +\n      '\"coordinates\":[' +\n      this.longitude.toString() +\n      ',' +\n      this.latitude.toString() +\n      ']' +\n      '},' +\n      '\"properties\":{}' +\n      '}' +\n      '}'\n    )\n  }\n}\n\n/**\n * Route point metadata\n */\nclass RoutePoint {\n  name: string = ''\n  longitude: f64 = 0.0\n  latitude: f64 = 0.0\n}\n\n/**\n * Route data structure (GeoJSON LineString)\n */\nclass Route {\n  id: string = ''\n  name: string = ''\n  description: string = ''\n  distance: f64 = 0.0\n  points: RoutePoint[] = []\n\n  toJSON(): string {\n    let coords = ''\n    let meta = ''\n    for (let i = 0; i < this.points.length; i++) {\n      if (i > 0) {\n        coords += ','\n        meta += ','\n      }\n      coords +=\n        '[' +\n        this.points[i].longitude.toString() +\n        ',' +\n        this.points[i].latitude.toString() +\n        ']'\n      meta += '{\"name\":\"' + this.points[i].name + '\"}'\n    }\n\n    return (\n      '{' +\n      '\"name\":\"' +\n      this.name +\n      '\",' +\n      '\"description\":\"' +\n      this.description +\n      '\",' +\n      '\"distance\":' +\n      this.distance.toString() +\n      ',' +\n      '\"feature\":{' +\n      '\"type\":\"Feature\",' +\n      '\"geometry\":{' +\n      '\"type\":\"LineString\",' +\n      '\"coordinates\":[' +\n      coords +\n      ']' +\n      '},' +\n      '\"properties\":{' +\n      '\"coordinatesMeta\":[' +\n      meta +\n      ']' +\n      '}' +\n      '}' +\n      '}'\n    )\n  }\n}\n\n// ===== Storage =====\n\n// Use arrays with linear search since AssemblyScript Map has limitations\nconst waypoints: Waypoint[] = []\nconst routes: Route[] = []\n\n// Track which resource type we're currently handling\nconst currentResourceType: string = ''\n\n// ===== Helper Functions =====\n\nfunction findWaypointById(id: string): Waypoint | null {\n  for (let i = 0; i < waypoints.length; i++) {\n    if (waypoints[i].id === id) {\n      return waypoints[i]\n    }\n  }\n  return null\n}\n\nfunction findRouteById(id: string): Route | null {\n  for (let i = 0; i < routes.length; i++) {\n    if (routes[i].id === id) {\n      return routes[i]\n    }\n  }\n  return null\n}\n\nfunction deleteWaypointById(id: string): bool {\n  for (let i = 0; i < waypoints.length; i++) {\n    if (waypoints[i].id === id) {\n      waypoints.splice(i, 1)\n      return true\n    }\n  }\n  return false\n}\n\nfunction deleteRouteById(id: string): bool {\n  for (let i = 0; i < routes.length; i++) {\n    if (routes[i].id === id) {\n      routes.splice(i, 1)\n      return true\n    }\n  }\n  return false\n}\n\nfunction extractString(json: string, key: string): string {\n  const match = json.indexOf('\"' + key + '\":\"')\n  if (match < 0) return ''\n\n  const start = match + key.length + 4\n  const end = json.indexOf('\"', start)\n  if (end > start) {\n    return json.substring(start, end)\n  }\n  return ''\n}\n\nfunction extractNumber(json: string, key: string): f64 {\n  const match = json.indexOf('\"' + key + '\":')\n  if (match < 0) return 0.0\n\n  const start = match + key.length + 3\n  let end = start\n  while (\n    end < json.length &&\n    ((json.charCodeAt(end) >= 48 && json.charCodeAt(end) <= 57) ||\n      json.charCodeAt(end) === 46 ||\n      json.charCodeAt(end) === 45)\n  ) {\n    end++\n  }\n  if (end > start) {\n    return parseFloat(json.substring(start, end))\n  }\n  return 0.0\n}\n\n// Simple UUID-like ID generator (not true UUID, but valid format)\nlet idCounter: i32 = 0\nfunction generateId(): string {\n  idCounter++\n  const hex = idCounter.toString(16).padStart(8, '0')\n  return hex + '-0000-4000-8000-000000000000'\n}\n\n// ===== Initialize Sample Data =====\n\nfunction initializeSampleData(): void {\n  // Sample Waypoints\n  const wp1 = new Waypoint()\n  wp1.id = 'a1b2c3d4-0001-4000-8000-000000000001'\n  wp1.name = 'Helsinki Marina'\n  wp1.description = 'Main marina in Helsinki harbor'\n  wp1.type = 'Marina'\n  wp1.longitude = 24.956\n  wp1.latitude = 60.1695\n  waypoints.push(wp1)\n\n  const wp2 = new Waypoint()\n  wp2.id = 'a1b2c3d4-0002-4000-8000-000000000002'\n  wp2.name = 'Suomenlinna Anchorage'\n  wp2.description = 'Protected anchorage near Suomenlinna fortress'\n  wp2.type = 'Anchorage'\n  wp2.longitude = 24.988\n  wp2.latitude = 60.145\n  waypoints.push(wp2)\n\n  const wp3 = new Waypoint()\n  wp3.id = 'a1b2c3d4-0003-4000-8000-000000000003'\n  wp3.name = 'Fuel Dock'\n  wp3.description = 'Diesel and petrol available'\n  wp3.type = 'Fuel Station'\n  wp3.longitude = 24.962\n  wp3.latitude = 60.168\n  waypoints.push(wp3)\n\n  // Sample Route: Marina to Anchorage\n  const route1 = new Route()\n  route1.id = 'b2c3d4e5-0001-4000-8000-000000000001'\n  route1.name = 'Marina to Suomenlinna'\n  route1.description =\n    'Short trip from Helsinki Marina to Suomenlinna anchorage'\n  route1.distance = 3500.0 // meters\n\n  const pt1 = new RoutePoint()\n  pt1.name = 'Start - Marina'\n  pt1.longitude = 24.956\n  pt1.latitude = 60.1695\n  route1.points.push(pt1)\n\n  const pt2 = new RoutePoint()\n  pt2.name = 'Channel marker'\n  pt2.longitude = 24.97\n  pt2.latitude = 60.16\n  route1.points.push(pt2)\n\n  const pt3 = new RoutePoint()\n  pt3.name = 'End - Anchorage'\n  pt3.longitude = 24.988\n  pt3.latitude = 60.145\n  route1.points.push(pt3)\n\n  routes.push(route1)\n\n  debug(\n    'Initialized sample data: ' +\n      waypoints.length.toString() +\n      ' waypoints, ' +\n      routes.length.toString() +\n      ' routes'\n  )\n}\n\n// ===== Plugin Class =====\n\nclass RoutesWaypointsPlugin extends Plugin {\n  // Note: Plugin ID is derived from package.json name\n\n  name(): string {\n    return 'Routes & Waypoints Provider (Example)'\n  }\n\n  start(configJson: string): i32 {\n    debug('Routes & Waypoints plugin starting...')\n\n    // Initialize sample data\n    initializeSampleData()\n\n    // Register as resource provider for BOTH types\n    debug('Registering as routes resource provider...')\n    if (registerResourceProvider('routes')) {\n      debug('Successfully registered for routes')\n    } else {\n      debug('Warning: Failed to register for routes')\n    }\n\n    debug('Registering as waypoints resource provider...')\n    if (registerResourceProvider('waypoints')) {\n      debug('Successfully registered for waypoints')\n    } else {\n      debug('Warning: Failed to register for waypoints')\n    }\n\n    setStatus(\n      'Providing ' +\n        waypoints.length.toString() +\n        ' waypoints and ' +\n        routes.length.toString() +\n        ' routes'\n    )\n    return 0\n  }\n\n  stop(): i32 {\n    debug('Routes & Waypoints plugin stopped')\n    setStatus('Stopped')\n    return 0\n  }\n\n  schema(): string {\n    return `{\n      \"type\": \"object\",\n      \"properties\": {\n        \"info\": {\n          \"type\": \"string\",\n          \"title\": \"Information\",\n          \"description\": \"This plugin provides sample routes and waypoints. No configuration needed.\",\n          \"default\": \"Routes and waypoints are pre-populated with sample data from Helsinki area.\"\n        }\n      }\n    }`\n  }\n}\n\n// ===== Plugin Instance & Exports =====\n\nconst plugin = new RoutesWaypointsPlugin()\n\n// Note: plugin_id() is no longer required - ID is derived from package.json name\n\nexport function plugin_name(): string {\n  return plugin.name()\n}\n\nexport function plugin_schema(): string {\n  return plugin.schema()\n}\n\nexport function plugin_start(configPtr: usize, configLen: usize): i32 {\n  const len = i32(configLen)\n  const configBytes = new Uint8Array(len)\n  for (let i: i32 = 0; i < len; i++) {\n    configBytes[i] = load<u8>(configPtr + <usize>i)\n  }\n  const configJson = String.UTF8.decode(configBytes.buffer)\n  return plugin.start(configJson)\n}\n\nexport function plugin_stop(): i32 {\n  return plugin.stop()\n}\n\n// ===== Resource Provider Handler Exports =====\n\n/**\n * List resources\n * Called for: GET /signalk/v2/api/resources/routes\n *             GET /signalk/v2/api/resources/waypoints\n *\n * @param queryJson - JSON with query parameters and resourceType\n * @returns JSON object: { \"id1\": {...}, \"id2\": {...} }\n */\nexport function resources_list_resources(queryJson: string): string {\n  debug('resources_list_resources called: ' + queryJson)\n\n  // Extract resource type from query\n  const resourceType = extractString(queryJson, 'resourceType')\n  debug('Resource type: ' + resourceType)\n\n  if (resourceType === 'waypoints') {\n    let result = '{'\n    for (let i = 0; i < waypoints.length; i++) {\n      if (i > 0) result += ','\n      result += '\"' + waypoints[i].id + '\":' + waypoints[i].toJSON()\n    }\n    result += '}'\n    return result\n  } else if (resourceType === 'routes') {\n    let result = '{'\n    for (let i = 0; i < routes.length; i++) {\n      if (i > 0) result += ','\n      result += '\"' + routes[i].id + '\":' + routes[i].toJSON()\n    }\n    result += '}'\n    return result\n  }\n\n  // Unknown type - return empty\n  return '{}'\n}\n\n/**\n * Get a specific resource\n * Called for: GET /signalk/v2/api/resources/routes/{id}\n *             GET /signalk/v2/api/resources/waypoints/{id}\n *\n * @param requestJson - JSON with { \"id\": \"...\", \"resourceType\": \"...\" }\n * @returns JSON object of the resource\n */\nexport function resources_get_resource(requestJson: string): string {\n  debug('resources_get_resource called: ' + requestJson)\n\n  const req = ResourceGetRequest.parse(requestJson)\n  const resourceType = extractString(requestJson, 'resourceType')\n\n  debug('Get ' + resourceType + ' id: ' + req.id)\n\n  if (resourceType === 'waypoints') {\n    const wp = findWaypointById(req.id)\n    if (wp !== null) {\n      return (wp as Waypoint).toJSON()\n    }\n    return '{\"error\":\"Waypoint not found: ' + req.id + '\"}'\n  } else if (resourceType === 'routes') {\n    const route = findRouteById(req.id)\n    if (route !== null) {\n      return (route as Route).toJSON()\n    }\n    return '{\"error\":\"Route not found: ' + req.id + '\"}'\n  }\n\n  return '{\"error\":\"Unknown resource type\"}'\n}\n\n/**\n * Create or update a resource\n * Called for: POST/PUT /signalk/v2/api/resources/routes/{id}\n *             POST/PUT /signalk/v2/api/resources/waypoints/{id}\n *\n * @param requestJson - JSON with { \"id\": \"...\", \"resourceType\": \"...\", \"value\": {...} }\n * @returns Empty string on success, error message on failure\n */\nexport function resources_set_resource(requestJson: string): string {\n  debug('resources_set_resource called: ' + requestJson)\n\n  const id = extractString(requestJson, 'id')\n  const resourceType = extractString(requestJson, 'resourceType')\n\n  debug('Set ' + resourceType + ' id: ' + id)\n\n  if (resourceType === 'waypoints') {\n    // Parse waypoint data from value\n    const name = extractString(requestJson, 'name')\n    const description = extractString(requestJson, 'description')\n    const wpType = extractString(requestJson, 'type')\n\n    // Try to extract coordinates from feature.geometry.coordinates\n    // This is a simplified parser - production code would need full JSON parsing\n    const coordsMatch = requestJson.indexOf('\"coordinates\":[')\n    let lon: f64 = 0.0\n    let lat: f64 = 0.0\n    if (coordsMatch >= 0) {\n      const coordsStart = coordsMatch + 15\n      const coordsEnd = requestJson.indexOf(']', coordsStart)\n      if (coordsEnd > coordsStart) {\n        const coordsStr = requestJson.substring(coordsStart, coordsEnd)\n        const commaPos = coordsStr.indexOf(',')\n        if (commaPos > 0) {\n          lon = parseFloat(coordsStr.substring(0, commaPos))\n          lat = parseFloat(coordsStr.substring(commaPos + 1))\n        }\n      }\n    }\n\n    // Check if waypoint exists\n    let wp = findWaypointById(id)\n    if (wp === null) {\n      // Create new waypoint\n      wp = new Waypoint()\n      wp.id = id.length > 0 ? id : generateId()\n      waypoints.push(wp)\n      debug('Created new waypoint: ' + wp.id)\n    } else {\n      debug('Updating existing waypoint: ' + wp.id)\n    }\n\n    // Update fields\n    const w = wp as Waypoint\n    if (name.length > 0) w.name = name\n    if (description.length > 0) w.description = description\n    if (wpType.length > 0) w.type = wpType\n    if (lon !== 0.0) w.longitude = lon\n    if (lat !== 0.0) w.latitude = lat\n\n    setStatus(\n      'Providing ' +\n        waypoints.length.toString() +\n        ' waypoints and ' +\n        routes.length.toString() +\n        ' routes'\n    )\n    return '' // Success\n  } else if (resourceType === 'routes') {\n    // Parse route data - simplified\n    const name = extractString(requestJson, 'name')\n    const description = extractString(requestJson, 'description')\n    const distance = extractNumber(requestJson, 'distance')\n\n    // Check if route exists\n    let route = findRouteById(id)\n    if (route === null) {\n      // Create new route\n      route = new Route()\n      route.id = id.length > 0 ? id : generateId()\n      routes.push(route)\n      debug('Created new route: ' + route.id)\n    } else {\n      debug('Updating existing route: ' + route.id)\n    }\n\n    // Update fields\n    const r = route as Route\n    if (name.length > 0) r.name = name\n    if (description.length > 0) r.description = description\n    if (distance > 0) r.distance = distance\n\n    // Note: Full route point parsing would require more complex JSON parsing\n    // For this example, we just update metadata\n\n    setStatus(\n      'Providing ' +\n        waypoints.length.toString() +\n        ' waypoints and ' +\n        routes.length.toString() +\n        ' routes'\n    )\n    return '' // Success\n  }\n\n  return 'Unknown resource type'\n}\n\n/**\n * Delete a resource\n * Called for: DELETE /signalk/v2/api/resources/routes/{id}\n *             DELETE /signalk/v2/api/resources/waypoints/{id}\n *\n * @param requestJson - JSON with { \"id\": \"...\", \"resourceType\": \"...\" }\n * @returns Empty string on success, error message on failure\n */\nexport function resources_delete_resource(requestJson: string): string {\n  debug('resources_delete_resource called: ' + requestJson)\n\n  const id = extractString(requestJson, 'id')\n  const resourceType = extractString(requestJson, 'resourceType')\n\n  debug('Delete ' + resourceType + ' id: ' + id)\n\n  if (resourceType === 'waypoints') {\n    if (deleteWaypointById(id)) {\n      debug('Deleted waypoint: ' + id)\n      setStatus(\n        'Providing ' +\n          waypoints.length.toString() +\n          ' waypoints and ' +\n          routes.length.toString() +\n          ' routes'\n      )\n      return '' // Success\n    }\n    return 'Waypoint not found: ' + id\n  } else if (resourceType === 'routes') {\n    if (deleteRouteById(id)) {\n      debug('Deleted route: ' + id)\n      setStatus(\n        'Providing ' +\n          waypoints.length.toString() +\n          ' waypoints and ' +\n          routes.length.toString() +\n          ' routes'\n      )\n      return '' // Success\n    }\n    return 'Route not found: ' + id\n  }\n\n  return 'Unknown resource type'\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-routes-waypoints/package.json",
    "content": "{\n  \"name\": \"@signalk/example-routes-waypoints\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Example WASM plugin demonstrating Routes and Waypoints Resource Providers\",\n  \"keywords\": [\n    \"signalk-wasm-plugin\",\n    \"signalk\",\n    \"wasm\",\n    \"routes\",\n    \"waypoints\",\n    \"navigation\",\n    \"resource-provider\"\n  ],\n  \"wasmManifest\": \"build/plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"resourceProvider\": true\n  },\n  \"author\": \"Signal K Team\",\n  \"license\": \"Apache-2.0\",\n  \"scripts\": {\n    \"asbuild:debug\": \"asc assembly/index.ts --target debug --outFile build/plugin.debug.wasm\",\n    \"asbuild:release\": \"asc assembly/index.ts --target release --outFile build/plugin.wasm\",\n    \"asbuild\": \"npm run asbuild:release\",\n    \"build\": \"npm run asbuild\",\n    \"clean\": \"rimraf build/\"\n  },\n  \"devDependencies\": {\n    \"assemblyscript\": \"^0.27.0\",\n    \"rimraf\": \"^6.0.1\"\n  },\n  \"dependencies\": {\n    \"assemblyscript-json\": \"^1.1.0\",\n    \"@signalk/assemblyscript-plugin-sdk\": \"^0.2.0\"\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/.gitignore",
    "content": "# Build artifacts\nbuild/\n*.wasm\n\n# Dependencies\nnode_modules/\npackage-lock.json\n\n# OS files\n.DS_Store\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/.npmignore",
    "content": "# test builds\n*.tgz\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/README.md",
    "content": "# Weather Plugin Example\n\nThis example demonstrates a WASM plugin with **network capability** and **resource provider** support using the AssemblyScript SDK with Asyncify.\n\n## Features\n\n- HTTP requests via `as-fetch` with Asyncify\n- Resource provider for weather data REST API\n- Real API integration with OpenWeatherMap\n- Signal K delta emission\n\n## Signal K Paths\n\nThe plugin emits deltas for:\n\n- `environment.outside.temperature` - Temperature in Kelvin\n- `environment.outside.humidity` - Relative humidity (0-1)\n- `environment.outside.pressure` - Pressure in Pascals\n- `environment.wind.speedTrue` - Wind speed in m/s\n- `environment.wind.directionTrue` - Wind direction in radians\n\n## Resource Provider API\n\n```bash\n# List weather resources\ncurl http://localhost:3000/signalk/v2/api/resources/weather\n\n# Get current weather\ncurl http://localhost:3000/signalk/v2/api/resources/weather/current\n```\n\n## Prerequisites\n\n- Node.js 18+ (required for native fetch)\n- OpenWeatherMap API key (free at https://openweathermap.org/api)\n- Signal K Server 3.0+\n\n## Building\n\n```bash\ncd examples/wasm-plugins/example-weather-plugin\nnpm install\nnpm run build\n```\n\n## Installation\n\n**Note:** The AssemblyScript Plugin SDK is not yet published to npm. Install it first - see [example-hello-assemblyscript](../example-hello-assemblyscript/README.md#installing-to-signal-k) for instructions.\n\n1. Build the plugin\n2. Create installable package and install:\n   ```bash\n   npm pack\n   cd ~/.signalk\n   npm install /path/to/signalk-example-weather-plugin-0.2.0.tgz\n   ```\n3. Restart Signal K server\n4. Enable and configure in Admin UI\n\n## Configuration\n\nConfigure via the Signal K Admin UI under **Server → Plugin Config**. You must provide a valid OpenWeatherMap API key. Configuration options are documented in the plugin's schema.\n\n## Key Implementation Details\n\n### Asyncify Configuration\n\nThe `asconfig.json` must include the Asyncify transform:\n\n```json\n{\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n```\n\n### Capability Declaration\n\nThe `package.json` declares required capabilities:\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"network\": true,\n    \"resourceProvider\": true\n  }\n}\n```\n\n## Debugging\n\n```bash\nDEBUG=signalk:wasm:* npm start\n```\n\n## See Also\n\n- [AssemblyScript Plugin Guide](../../../docs/develop/plugins/wasm/assemblyscript.md) - Full documentation\n- [WASM Developer Guide](../../../docs/develop/plugins/wasm/README.md)\n- [as-fetch Library](https://github.com/nicoburniske/as-fetch)\n\n## License\n\nApache-2.0\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/asconfig.json",
    "content": "{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"stub\",\n      \"use\": \"abort=\"\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"stub\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/assembly/index.ts",
    "content": "/**\n * Weather Plugin Example for Signal K\n *\n * Demonstrates:\n * - Network capability by fetching weather data from OpenWeatherMap API\n * - Resource provider capability for serving weather data via REST API\n * - Delta emission for real-time weather updates\n */\n\nimport {\n  Plugin,\n  emit,\n  setStatus,\n  setError,\n  debug,\n  createSimpleDelta\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\nimport { hasNetworkCapability } from '@signalk/assemblyscript-plugin-sdk/assembly/network'\n\nimport {\n  registerResourceProvider,\n  ResourceGetRequest\n} from '@signalk/assemblyscript-plugin-sdk/assembly/resources'\n\nimport { fetchSync } from 'as-fetch/sync'\nimport { Response } from 'as-fetch/assembly'\n\n// Configuration interface\nclass WeatherConfig {\n  apiKey: string = ''\n  latitude: f64 = 0.0\n  longitude: f64 = 0.0\n  updateInterval: i32 = 600000 // 10 minutes default\n}\n\n// Simple JSON parsing helpers\nclass WeatherData {\n  temperature: f64 = 0.0\n  humidity: f64 = 0.0\n  pressure: f64 = 0.0\n  windSpeed: f64 = 0.0\n  windDirection: f64 = 0.0\n  description: string = ''\n  timestamp: string = ''\n  latitude: f64 = 0.0\n  longitude: f64 = 0.0\n\n  toJSON(): string {\n    return (\n      '{\"temperature\":' +\n      this.temperature.toString() +\n      ',\"humidity\":' +\n      this.humidity.toString() +\n      ',\"pressure\":' +\n      this.pressure.toString() +\n      ',\"windSpeed\":' +\n      this.windSpeed.toString() +\n      ',\"windDirection\":' +\n      this.windDirection.toString() +\n      ',\"timestamp\":\"' +\n      this.timestamp +\n      '\"' +\n      ',\"location\":{\"latitude\":' +\n      this.latitude.toString() +\n      ',\"longitude\":' +\n      this.longitude.toString() +\n      '}}'\n    )\n  }\n\n  static parse(json: string): WeatherData | null {\n    const data = new WeatherData()\n\n    // Very basic JSON parsing - in production, use a proper JSON parser\n    // This is just for demonstration purposes\n\n    // Extract temperature: \"temp\":293.15\n    const tempMatch = json.indexOf('\"temp\":')\n    if (tempMatch >= 0) {\n      const tempStart = tempMatch + 7\n      let tempEnd = tempStart\n      while (\n        tempEnd < json.length &&\n        ((json.charCodeAt(tempEnd) >= 48 && json.charCodeAt(tempEnd) <= 57) ||\n          json.charCodeAt(tempEnd) === 46)\n      ) {\n        tempEnd++\n      }\n      const tempStr = json.substring(tempStart, tempEnd)\n      data.temperature = parseFloat(tempStr) - 273.15 // Convert Kelvin to Celsius\n    }\n\n    // Extract humidity: \"humidity\":60\n    const humMatch = json.indexOf('\"humidity\":')\n    if (humMatch >= 0) {\n      const humStart = humMatch + 11\n      let humEnd = humStart\n      while (\n        humEnd < json.length &&\n        json.charCodeAt(humEnd) >= 48 &&\n        json.charCodeAt(humEnd) <= 57\n      ) {\n        humEnd++\n      }\n      const humStr = json.substring(humStart, humEnd)\n      data.humidity = parseFloat(humStr)\n    }\n\n    // Extract pressure: \"pressure\":1013\n    const pressMatch = json.indexOf('\"pressure\":')\n    if (pressMatch >= 0) {\n      const pressStart = pressMatch + 11\n      let pressEnd = pressStart\n      while (\n        pressEnd < json.length &&\n        json.charCodeAt(pressEnd) >= 48 &&\n        json.charCodeAt(pressEnd) <= 57\n      ) {\n        pressEnd++\n      }\n      const pressStr = json.substring(pressStart, pressEnd)\n      data.pressure = parseFloat(pressStr) * 100.0 // Convert hPa to Pa\n    }\n\n    // Extract wind speed: \"speed\":5.2\n    const speedMatch = json.indexOf('\"speed\":')\n    if (speedMatch >= 0) {\n      const speedStart = speedMatch + 8\n      let speedEnd = speedStart\n      while (\n        speedEnd < json.length &&\n        ((json.charCodeAt(speedEnd) >= 48 && json.charCodeAt(speedEnd) <= 57) ||\n          json.charCodeAt(speedEnd) === 46)\n      ) {\n        speedEnd++\n      }\n      const speedStr = json.substring(speedStart, speedEnd)\n      data.windSpeed = parseFloat(speedStr)\n    }\n\n    // Extract wind direction: \"deg\":180\n    const degMatch = json.indexOf('\"deg\":')\n    if (degMatch >= 0) {\n      const degStart = degMatch + 6\n      let degEnd = degStart\n      while (\n        degEnd < json.length &&\n        json.charCodeAt(degEnd) >= 48 &&\n        json.charCodeAt(degEnd) <= 57\n      ) {\n        degEnd++\n      }\n      const degStr = json.substring(degStart, degEnd)\n      // Convert degrees to radians\n      data.windDirection = (parseFloat(degStr) * 3.14159265359) / 180.0\n    }\n\n    return data\n  }\n}\n\n// Cached weather data for resource provider\nlet cachedWeatherData: WeatherData | null = null\nlet cachedConfig: WeatherConfig = new WeatherConfig()\n\n// Weather plugin class\nclass WeatherPlugin extends Plugin {\n  private config: WeatherConfig = new WeatherConfig()\n  private lastUpdate: i64 = 0\n\n  // Note: Plugin ID is derived from package.json name\n\n  name(): string {\n    return 'Weather Data Plugin (Example)'\n  }\n\n  start(configJson: string): i32 {\n    debug('Weather plugin starting...')\n\n    // Check if network capability is available\n    if (!hasNetworkCapability()) {\n      setError('Network capability not granted - cannot fetch weather data')\n      return 1\n    }\n\n    // Parse configuration\n    debug('Parsing config JSON')\n    debug(configJson)\n    if (configJson.length > 2) {\n      // Very basic config parsing - extract apiKey, lat, lon\n      // Fixed: indexOf searches FROM the given position, including that position\n      // So we need to search from AFTER the colon\n      const apiKeyMatch = configJson.indexOf('\"apiKey\"')\n      debug('apiKeyMatch index:')\n      debug(apiKeyMatch.toString())\n      if (apiKeyMatch >= 0) {\n        // Find the opening quote of the value (after the colon)\n        const colonPos = configJson.indexOf(':', apiKeyMatch)\n        const quoteStart = configJson.indexOf('\"', colonPos)\n        if (quoteStart >= 0) {\n          const keyStart = quoteStart + 1 // Position after opening quote\n          const keyEnd = configJson.indexOf('\"', keyStart) // Find closing quote\n          if (keyEnd > keyStart) {\n            this.config.apiKey = configJson.substring(keyStart, keyEnd)\n          }\n        }\n      }\n\n      const latMatch = configJson.indexOf('\"latitude\"')\n      if (latMatch >= 0) {\n        const colonPos = configJson.indexOf(':', latMatch)\n        let latStart = colonPos + 1\n        let latEnd = latStart\n        // Skip whitespace\n        while (\n          latEnd < configJson.length &&\n          (configJson.charCodeAt(latEnd) === 32 ||\n            configJson.charCodeAt(latEnd) === 9)\n        ) {\n          latEnd++\n        }\n        latStart = latEnd\n        // Read number\n        while (\n          latEnd < configJson.length &&\n          ((configJson.charCodeAt(latEnd) >= 48 &&\n            configJson.charCodeAt(latEnd) <= 57) ||\n            configJson.charCodeAt(latEnd) === 46 ||\n            configJson.charCodeAt(latEnd) === 45)\n        ) {\n          latEnd++\n        }\n        if (latEnd > latStart) {\n          this.config.latitude = parseFloat(\n            configJson.substring(latStart, latEnd)\n          )\n        }\n      }\n\n      const lonMatch = configJson.indexOf('\"longitude\"')\n      if (lonMatch >= 0) {\n        const colonPos = configJson.indexOf(':', lonMatch)\n        let lonStart = colonPos + 1\n        let lonEnd = lonStart\n        // Skip whitespace\n        while (\n          lonEnd < configJson.length &&\n          (configJson.charCodeAt(lonEnd) === 32 ||\n            configJson.charCodeAt(lonEnd) === 9)\n        ) {\n          lonEnd++\n        }\n        lonStart = lonEnd\n        // Read number\n        while (\n          lonEnd < configJson.length &&\n          ((configJson.charCodeAt(lonEnd) >= 48 &&\n            configJson.charCodeAt(lonEnd) <= 57) ||\n            configJson.charCodeAt(lonEnd) === 46 ||\n            configJson.charCodeAt(lonEnd) === 45)\n        ) {\n          lonEnd++\n        }\n        if (lonEnd > lonStart) {\n          this.config.longitude = parseFloat(\n            configJson.substring(lonStart, lonEnd)\n          )\n        }\n      }\n    }\n\n    // Validate configuration\n    if (this.config.apiKey.length === 0) {\n      setError(\n        'No API key configured - get one from https://openweathermap.org/api'\n      )\n      return 1\n    }\n\n    // Store config globally for resource provider handlers\n    cachedConfig = this.config\n\n    // Register as a resource provider for \"weather\" type\n    debug('Registering as weather resource provider...')\n    if (registerResourceProvider('weather')) {\n      debug('Successfully registered as weather resource provider')\n    } else {\n      debug(\n        'Warning: Failed to register as resource provider (capability may not be granted)'\n      )\n    }\n\n    // Fetch and emit real weather data using as-fetch\n    // This demonstrates the Asyncify integration for synchronous-style async operations\n    this.fetchWeatherData()\n    setStatus('Weather plugin running - data fetched from OpenWeatherMap')\n\n    return 0\n  }\n\n  stop(): i32 {\n    debug('Weather plugin stopped')\n    setStatus('Stopped')\n    return 0\n  }\n\n  schema(): string {\n    return `{\n      \"type\": \"object\",\n      \"required\": [\"apiKey\", \"latitude\", \"longitude\"],\n      \"properties\": {\n        \"apiKey\": {\n          \"type\": \"string\",\n          \"title\": \"OpenWeatherMap API Key\",\n          \"description\": \"Get your free API key from https://openweathermap.org/api\"\n        },\n        \"latitude\": {\n          \"type\": \"number\",\n          \"title\": \"Latitude\",\n          \"description\": \"Latitude for weather location\",\n          \"default\": 60.1699\n        },\n        \"longitude\": {\n          \"type\": \"number\",\n          \"title\": \"Longitude\",\n          \"description\": \"Longitude for weather location\",\n          \"default\": 24.9384\n        },\n        \"updateInterval\": {\n          \"type\": \"number\",\n          \"title\": \"Update Interval (ms)\",\n          \"description\": \"How often to fetch weather data\",\n          \"default\": 600000\n        }\n      }\n    }`\n  }\n\n  private emitTestWeatherData(): void {\n    debug('Emitting test weather data...')\n\n    // Emit test temperature (15°C)\n    const tempDelta = createSimpleDelta(\n      'environment.outside.temperature',\n      '288.15' // 15°C in Kelvin\n    )\n    emit(tempDelta)\n\n    // Emit test humidity (65%)\n    const humDelta = createSimpleDelta('environment.outside.humidity', '0.65')\n    emit(humDelta)\n\n    // Emit test pressure (101300 Pa)\n    const pressDelta = createSimpleDelta(\n      'environment.outside.pressure',\n      '101300'\n    )\n    emit(pressDelta)\n\n    // Emit test wind speed (5.2 m/s)\n    const windSpeedDelta = createSimpleDelta(\n      'environment.wind.speedTrue',\n      '5.2'\n    )\n    emit(windSpeedDelta)\n\n    // Emit test wind direction (180° = 3.14159 radians)\n    const windDirDelta = createSimpleDelta(\n      'environment.wind.directionTrue',\n      '3.14159'\n    )\n    emit(windDirDelta)\n\n    debug('Test weather data emitted successfully')\n  }\n\n  private fetchWeatherData(): void {\n    // Build API URL\n    const lat = this.config.latitude.toString()\n    const lon = this.config.longitude.toString()\n    const url =\n      'https://api.openweathermap.org/data/2.5/weather?lat=' +\n      lat +\n      '&lon=' +\n      lon +\n      '&appid=' +\n      this.config.apiKey\n\n    debug('Fetching weather data from: ' + url)\n\n    // Fetch weather data using as-fetch synchronously\n    const fetchResponse = fetchSync(url)\n\n    if (!fetchResponse.ok) {\n      setError(\n        'Failed to fetch weather data - HTTP status: ' +\n          fetchResponse.status.toString()\n      )\n      return\n    }\n\n    const response = fetchResponse.text()\n    debug('Received weather response: ' + response.substring(0, 100) + '...')\n\n    // Parse weather data\n    const weatherData = WeatherData.parse(response)\n    if (weatherData === null) {\n      setError('Failed to parse weather data')\n      return\n    }\n\n    // Add location for resource provider (timestamp will be set by server)\n    weatherData.latitude = this.config.latitude\n    weatherData.longitude = this.config.longitude\n\n    // Cache the weather data for resource provider queries\n    cachedWeatherData = weatherData\n\n    // Emit temperature\n    const tempDelta = createSimpleDelta(\n      'environment.outside.temperature',\n      weatherData.temperature.toString()\n    )\n    emit(tempDelta)\n\n    // Emit humidity\n    const humDelta = createSimpleDelta(\n      'environment.outside.humidity',\n      (weatherData.humidity / 100.0).toString()\n    )\n    emit(humDelta)\n\n    // Emit pressure\n    const pressDelta = createSimpleDelta(\n      'environment.outside.pressure',\n      weatherData.pressure.toString()\n    )\n    emit(pressDelta)\n\n    // Emit wind speed\n    const windSpeedDelta = createSimpleDelta(\n      'environment.wind.speedTrue',\n      weatherData.windSpeed.toString()\n    )\n    emit(windSpeedDelta)\n\n    // Emit wind direction\n    const windDirDelta = createSimpleDelta(\n      'environment.wind.directionTrue',\n      weatherData.windDirection.toString()\n    )\n    emit(windDirDelta)\n\n    setStatus('Weather data updated')\n    debug('Weather data emitted successfully')\n  }\n}\n\n// Export plugin instance\nconst plugin = new WeatherPlugin()\n\n// Plugin lifecycle exports\n// Note: plugin_id() is no longer required - ID is derived from package.json name\n\nexport function plugin_name(): string {\n  return plugin.name()\n}\n\nexport function plugin_schema(): string {\n  return plugin.schema()\n}\n\nexport function plugin_start(configPtr: usize, configLen: usize): i32 {\n  // Read config string from memory\n  const len = i32(configLen)\n  const configBytes = new Uint8Array(len)\n  for (let i: i32 = 0; i < len; i++) {\n    configBytes[i] = load<u8>(configPtr + <usize>i)\n  }\n  const configJson = String.UTF8.decode(configBytes.buffer)\n\n  return plugin.start(configJson)\n}\n\nexport function plugin_stop(): i32 {\n  return plugin.stop()\n}\n\n// ===== Resource Provider Handlers =====\n// These are called by the Signal K server when requests come in to\n// /signalk/v2/api/resources/weather\n\n/**\n * List available weather resources\n * Called for: GET /signalk/v2/api/resources/weather\n *\n * @param queryJson - JSON string with query parameters (e.g., filters)\n * @returns JSON object of resources: { \"id\": { ...resource... }, ... }\n */\nexport function resources_list_resources(queryJson: string): string {\n  debug('resources_list_resources called with query: ' + queryJson)\n\n  // Return available weather resources\n  // We have one resource: \"current\" for current weather conditions\n  if (cachedWeatherData !== null) {\n    const data = cachedWeatherData as WeatherData\n    return '{\"current\":' + data.toJSON() + '}'\n  }\n\n  // No data available yet\n  return '{}'\n}\n\n/**\n * Get a specific weather resource\n * Called for: GET /signalk/v2/api/resources/weather/{id}\n *\n * @param requestJson - JSON with { \"id\": \"resource-id\", \"property\": optional }\n * @returns JSON object of the resource\n */\nexport function resources_get_resource(requestJson: string): string {\n  debug('resources_get_resource called with request: ' + requestJson)\n\n  // Parse the request to get the ID\n  const req = ResourceGetRequest.parse(requestJson)\n  debug('Parsed request id: ' + req.id)\n\n  if (req.id === 'current') {\n    if (cachedWeatherData !== null) {\n      const data = cachedWeatherData as WeatherData\n      return data.toJSON()\n    }\n    return '{\"error\":\"No weather data available yet\"}'\n  }\n\n  // Unknown resource ID\n  return '{\"error\":\"Resource not found: ' + req.id + '\"}'\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-plugin/package.json",
    "content": "{\n  \"name\": \"@signalk/example-weather-plugin\",\n  \"version\": \"0.2.0\",\n  \"description\": \"Example SignalK WASM plugin demonstrating network capability and resource provider\",\n  \"keywords\": [\n    \"signalk-wasm-plugin\",\n    \"signalk\",\n    \"wasm\",\n    \"plugin\",\n    \"weather\",\n    \"resource-provider\",\n    \"example\"\n  ],\n  \"wasmManifest\": \"build/plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": true,\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"serialPorts\": false,\n    \"resourceProvider\": true\n  },\n  \"author\": \"Signal K Team\",\n  \"license\": \"Apache-2.0\",\n  \"scripts\": {\n    \"asbuild:debug\": \"asc assembly/index.ts --target debug --outFile build/plugin.debug.wasm\",\n    \"asbuild:release\": \"asc assembly/index.ts --target release --outFile build/plugin.wasm\",\n    \"asbuild\": \"npm run asbuild:release\",\n    \"build\": \"npm run asbuild\",\n    \"clean\": \"rimraf build/\"\n  },\n  \"devDependencies\": {\n    \"assemblyscript\": \"^0.27.0\",\n    \"rimraf\": \"^6.0.1\"\n  },\n  \"dependencies\": {\n    \"as-fetch\": \"^2.1.4\",\n    \"assemblyscript-json\": \"^1.1.0\",\n    \"@signalk/assemblyscript-plugin-sdk\": \"^0.2.0\"\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/.gitignore",
    "content": "# Build artifacts\nbuild/\n*.wasm\n\n# Dependencies\nnode_modules/\npackage-lock.json\n\n# OS files\n.DS_Store\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/.npmignore",
    "content": "# Source files - not needed for runtime\nassembly/\nasconfig.json\n\n# Dev/build artifacts\nnode_modules/\n*.tgz\n*.debug.wasm\n\n# Generated JS files (keep only .wasm)\nbuild/*.js\nbuild/*.d.ts\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/README.md",
    "content": "# Weather Provider Plugin Example\n\nThis example demonstrates how to create a WASM plugin that integrates with Signal K's **Weather Provider API**.\n\n## What is a Weather Provider?\n\nSignal K has a specialized Weather API that provides standardized endpoints for weather data:\n\n```\nGET /signalk/v2/api/weather/observations?lat=...&lon=...\nGET /signalk/v2/api/weather/forecasts/daily?lat=...&lon=...\nGET /signalk/v2/api/weather/forecasts/point?lat=...&lon=...\nGET /signalk/v2/api/weather/warnings?lat=...&lon=...\nGET /signalk/v2/api/weather/_providers\n```\n\nThis is different from the **Resource Provider** pattern (used by `weather-plugin`), which provides generic key-value storage at `/signalk/v2/api/resources/{type}`.\n\n## Features\n\n- Registers as a Signal K Weather Provider\n- Fetches real weather data from OpenWeatherMap API\n- Implements all three Weather Provider methods:\n  - `getObservations()` - Current weather conditions\n  - `getForecasts()` - Daily and point-in-time forecasts\n  - `getWarnings()` - Weather warnings/alerts\n- Also emits weather data as Signal K deltas\n\n## Prerequisites\n\n- Node.js 18+\n- OpenWeatherMap API key (free tier works)\n\n## Building\n\n```bash\ncd examples/wasm-plugins/example-weather-provider\nnpm install\nnpm run build\n```\n\n## Installation\n\n**Note:** The AssemblyScript Plugin SDK is not yet published to npm. Install it first - see [example-hello-assemblyscript](../example-hello-assemblyscript/README.md#installing-to-signal-k) for instructions.\n\n1. Build the plugin\n2. Create installable package and install:\n   ```bash\n   npm pack\n   cd ~/.signalk\n   npm install /path/to/signalk-example-weather-provider-0.1.0.tgz\n   ```\n3. Restart Signal K server\n4. Configure with your OpenWeatherMap API key\n\n## Configuration\n\nConfigure the plugin via the Signal K Admin UI under **Server → Plugin Config**. You will need to provide your OpenWeatherMap API key. Configuration options are documented in the plugin's schema.\n\n## Testing\n\nOnce configured and running, test the Weather API:\n\n```bash\n# Get providers\ncurl http://localhost:3000/signalk/v2/api/weather/_providers\n\n# Get observations\ncurl \"http://localhost:3000/signalk/v2/api/weather/observations?lat=60.17&lon=24.94\"\n\n# Get daily forecast\ncurl \"http://localhost:3000/signalk/v2/api/weather/forecasts/daily?lat=60.17&lon=24.94\"\n\n# Get point forecast\ncurl \"http://localhost:3000/signalk/v2/api/weather/forecasts/point?lat=60.17&lon=24.94\"\n\n# Get warnings\ncurl \"http://localhost:3000/signalk/v2/api/weather/warnings?lat=60.17&lon=24.94\"\n```\n\n## Weather Provider vs Resource Provider\n\n| Feature    | Weather Provider                           | Resource Provider                  |\n| ---------- | ------------------------------------------ | ---------------------------------- |\n| API Path   | `/signalk/v2/api/weather/*`                | `/signalk/v2/api/resources/{type}` |\n| Methods    | getObservations, getForecasts, getWarnings | list, get, set, delete             |\n| Use Case   | Standardized weather data                  | Generic data storage               |\n| Capability | `weatherProvider: true`                    | `resourceProvider: true`           |\n| FFI        | `sk_register_weather_provider`             | `sk_register_resource_provider`    |\n\n## Implementation Details\n\n### Capability Declaration\n\nIn `package.json`:\n\n```json\n{\n  \"wasmCapabilities\": {\n    \"weatherProvider\": true,\n    \"network\": true\n  }\n}\n```\n\n### Registration\n\nIn plugin `start()`:\n\n```typescript\n@external(\"env\", \"sk_register_weather_provider\")\ndeclare function sk_register_weather_provider(namePtr: usize, nameLen: usize): i32\n\n// Register with provider name\nregisterWeatherProvider('OpenWeatherMap WASM')\n```\n\n### Handler Exports\n\nThe plugin must export these functions:\n\n```typescript\n// GET /signalk/v2/api/weather/observations\nexport function weather_get_observations(requestJson: string): string\n\n// GET /signalk/v2/api/weather/forecasts/{type}\nexport function weather_get_forecasts(requestJson: string): string\n\n// GET /signalk/v2/api/weather/warnings\nexport function weather_get_warnings(requestJson: string): string\n```\n\n### Request Format\n\n```json\n{\n  \"position\": {\n    \"latitude\": 60.17,\n    \"longitude\": 24.94\n  },\n  \"type\": \"daily\",\n  \"options\": {\n    \"maxCount\": 7\n  }\n}\n```\n\n### Response Format (Observations/Forecasts)\n\n```json\n[\n  {\n    \"date\": \"2025-12-05T10:00:00.000Z\",\n    \"type\": \"observation\",\n    \"description\": \"light rain\",\n    \"outside\": {\n      \"temperature\": 275.15,\n      \"relativeHumidity\": 0.85,\n      \"pressure\": 101300,\n      \"cloudCover\": 0.75\n    },\n    \"wind\": {\n      \"speedTrue\": 5.2,\n      \"directionTrue\": 3.14\n    }\n  }\n]\n```\n\n### Response Format (Warnings)\n\n```json\n[\n  {\n    \"startTime\": \"2025-12-05T10:00:00.000Z\",\n    \"endTime\": \"2025-12-05T18:00:00.000Z\",\n    \"details\": \"Strong wind warning\",\n    \"source\": \"OpenWeatherMap\",\n    \"type\": \"Warning\"\n  }\n]\n```\n\n## See Also\n\n- [example-weather-plugin](../example-weather-plugin/) - Resource Provider example\n- [WASM Developer Guide](../../../docs/develop/plugins/wasm/README.md)\n- [Signal K Weather API](https://signalk.org/specification/1.7.0/doc/weather.html)\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/asconfig.json",
    "content": "{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"stub\",\n      \"use\": \"abort=\"\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"stub\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": true,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/assembly/index.ts",
    "content": "/**\n * Weather Provider Plugin Example for Signal K\n *\n * Demonstrates:\n * - Weather Provider API integration (Signal K's official weather API)\n * - Provides observations, forecasts, and warnings via /signalk/v2/api/weather\n * - Fetches real weather data from OpenWeatherMap API\n *\n * This is different from the Resource Provider pattern - Weather Provider\n * integrates with Signal K's specialized weather API at:\n *   GET /signalk/v2/api/weather/observations?lat=...&lon=...\n *   GET /signalk/v2/api/weather/forecasts/daily?lat=...&lon=...\n *   GET /signalk/v2/api/weather/forecasts/point?lat=...&lon=...\n *   GET /signalk/v2/api/weather/warnings?lat=...&lon=...\n */\n\nimport {\n  Plugin,\n  emit,\n  setStatus,\n  setError,\n  debug,\n  createSimpleDelta\n} from '@signalk/assemblyscript-plugin-sdk/assembly'\n\nimport { hasNetworkCapability } from '@signalk/assemblyscript-plugin-sdk/assembly/network'\n\nimport { fetchSync } from 'as-fetch/sync'\n\n// ===== Weather Provider FFI =====\n// Declare the host-provided function for registering as a weather provider\n@external(\"env\", \"sk_register_weather_provider\")\ndeclare function sk_register_weather_provider(\n  namePtr: usize,\n  nameLen: usize\n): i32\n\n/**\n * Register this plugin as a weather provider\n * @param providerName - Display name for this provider (e.g., \"OpenWeatherMap\")\n * @returns true if registration succeeded\n */\nfunction registerWeatherProvider(providerName: string): bool {\n  const nameBytes = String.UTF8.encode(providerName)\n  const result = sk_register_weather_provider(\n    changetype<usize>(nameBytes),\n    nameBytes.byteLength\n  )\n  return result === 1\n}\n\n// ===== Weather Data Types =====\n\n/**\n * Weather observation/forecast data structure\n * Aligned with Signal K Weather API specification\n */\nclass WeatherData {\n  date: string = ''\n  type: string = 'observation' // 'observation' | 'daily' | 'point'\n  description: string = ''\n\n  // Outside conditions\n  temperature: f64 = 0.0 // Kelvin\n  minTemperature: f64 = 0.0 // Kelvin (for daily forecasts)\n  maxTemperature: f64 = 0.0 // Kelvin (for daily forecasts)\n  feelsLikeTemperature: f64 = 0.0 // Kelvin\n  humidity: f64 = 0.0 // Ratio (0-1)\n  pressure: f64 = 0.0 // Pascals\n  dewPointTemperature: f64 = 0.0 // Kelvin\n  cloudCover: f64 = 0.0 // Ratio (0-1)\n  uvIndex: f64 = 0.0\n\n  // Wind\n  windSpeedTrue: f64 = 0.0 // m/s\n  windDirectionTrue: f64 = 0.0 // Radians\n  windGust: f64 = 0.0 // m/s\n\n  // Precipitation\n  precipitationVolume: f64 = 0.0 // mm\n\n  toJSON(): string {\n    let json = '{\"date\":\"' + this.date + '\"'\n    json += ',\"type\":\"' + this.type + '\"'\n\n    if (this.description.length > 0) {\n      json += ',\"description\":\"' + this.description + '\"'\n    }\n\n    json += ',\"outside\":{'\n    json += '\"temperature\":' + this.temperature.toString()\n\n    if (this.type === 'daily') {\n      json += ',\"minTemperature\":' + this.minTemperature.toString()\n      json += ',\"maxTemperature\":' + this.maxTemperature.toString()\n    }\n\n    if (this.feelsLikeTemperature > 0) {\n      json += ',\"feelsLikeTemperature\":' + this.feelsLikeTemperature.toString()\n    }\n    json += ',\"relativeHumidity\":' + this.humidity.toString()\n    json += ',\"pressure\":' + this.pressure.toString()\n    json += ',\"cloudCover\":' + this.cloudCover.toString()\n    json += '}'\n\n    json += ',\"wind\":{'\n    json += '\"speedTrue\":' + this.windSpeedTrue.toString()\n    json += ',\"directionTrue\":' + this.windDirectionTrue.toString()\n    if (this.windGust > 0) {\n      json += ',\"gust\":' + this.windGust.toString()\n    }\n    json += '}'\n\n    json += '}'\n    return json\n  }\n}\n\n/**\n * Weather warning data structure\n */\nclass WeatherWarning {\n  startTime: string = ''\n  endTime: string = ''\n  details: string = ''\n  source: string = 'OpenWeatherMap'\n  type: string = 'Warning'\n\n  toJSON(): string {\n    return (\n      '{\"startTime\":\"' +\n      this.startTime +\n      '\"' +\n      ',\"endTime\":\"' +\n      this.endTime +\n      '\"' +\n      ',\"details\":\"' +\n      this.details +\n      '\"' +\n      ',\"source\":\"' +\n      this.source +\n      '\"' +\n      ',\"type\":\"' +\n      this.type +\n      '\"}'\n    )\n  }\n}\n\n// ===== Configuration =====\n\nclass WeatherConfig {\n  apiKey: string = ''\n  defaultLatitude: f64 = 60.1699 // Helsinki\n  defaultLongitude: f64 = 24.9384\n}\n\n// ===== Global State =====\n\nlet config: WeatherConfig = new WeatherConfig()\nlet lastObservation: WeatherData | null = null\n\n// ===== JSON Parsing Helpers =====\n\nfunction extractNumber(json: string, key: string): f64 {\n  const match = json.indexOf('\"' + key + '\":')\n  if (match < 0) return 0.0\n\n  const start = match + key.length + 3\n  let end = start\n  while (\n    end < json.length &&\n    ((json.charCodeAt(end) >= 48 && json.charCodeAt(end) <= 57) ||\n      json.charCodeAt(end) === 46 ||\n      json.charCodeAt(end) === 45)\n  ) {\n    end++\n  }\n  if (end > start) {\n    return parseFloat(json.substring(start, end))\n  }\n  return 0.0\n}\n\nfunction extractString(json: string, key: string): string {\n  const match = json.indexOf('\"' + key + '\":\"')\n  if (match < 0) return ''\n\n  const start = match + key.length + 4\n  const end = json.indexOf('\"', start)\n  if (end > start) {\n    return json.substring(start, end)\n  }\n  return ''\n}\n\n// ===== Weather API Functions =====\n\nfunction fetchCurrentWeather(lat: f64, lon: f64): WeatherData | null {\n  const url =\n    'https://api.openweathermap.org/data/2.5/weather?lat=' +\n    lat.toString() +\n    '&lon=' +\n    lon.toString() +\n    '&appid=' +\n    config.apiKey\n\n  debug('Fetching current weather from: ' + url)\n\n  const response = fetchSync(url)\n  if (!response.ok) {\n    debug('Weather fetch failed: HTTP ' + response.status.toString())\n    return null\n  }\n\n  const json = response.text()\n  debug('Weather response: ' + json.substring(0, 200))\n\n  const data = new WeatherData()\n  data.date = '' // Server will provide timestamp\n  data.type = 'observation'\n\n  // Parse main weather data\n  data.temperature = extractNumber(json, 'temp')\n  data.feelsLikeTemperature = extractNumber(json, 'feels_like')\n  data.humidity = extractNumber(json, 'humidity') / 100.0\n  data.pressure = extractNumber(json, 'pressure') * 100.0 // hPa to Pa\n\n  // Parse wind\n  data.windSpeedTrue = extractNumber(json, 'speed')\n  const windDeg = extractNumber(json, 'deg')\n  data.windDirectionTrue = (windDeg * 3.14159265359) / 180.0\n\n  // Parse clouds\n  data.cloudCover = extractNumber(json, 'all') / 100.0\n\n  // Parse description\n  data.description = extractString(json, 'description')\n\n  return data\n}\n\nfunction fetchForecast(\n  lat: f64,\n  lon: f64,\n  forecastType: string\n): WeatherData[] {\n  // OpenWeatherMap One Call API would be better for forecasts\n  // For this example, we'll use the basic forecast API\n  const url =\n    'https://api.openweathermap.org/data/2.5/forecast?lat=' +\n    lat.toString() +\n    '&lon=' +\n    lon.toString() +\n    '&appid=' +\n    config.apiKey\n\n  debug('Fetching forecast from: ' + url)\n\n  const response = fetchSync(url)\n  if (!response.ok) {\n    debug('Forecast fetch failed: HTTP ' + response.status.toString())\n    return []\n  }\n\n  const json = response.text()\n\n  // Parse forecast list - simplified parsing\n  // In production, use proper JSON parsing\n  const forecasts: WeatherData[] = []\n\n  // For this example, create mock forecast data based on current conditions\n  // A real implementation would parse the OpenWeatherMap response\n  const data = new WeatherData()\n  data.date = '' // Server will provide timestamp\n  data.type = forecastType\n  data.temperature = extractNumber(json, 'temp')\n  data.humidity = extractNumber(json, 'humidity') / 100.0\n  data.pressure = extractNumber(json, 'pressure') * 100.0\n  data.windSpeedTrue = extractNumber(json, 'speed')\n  const windDeg = extractNumber(json, 'deg')\n  data.windDirectionTrue = (windDeg * 3.14159265359) / 180.0\n  data.description = extractString(json, 'description')\n\n  if (forecastType === 'daily') {\n    data.minTemperature = data.temperature - 5.0\n    data.maxTemperature = data.temperature + 5.0\n  }\n\n  forecasts.push(data)\n\n  return forecasts\n}\n\n// ===== Plugin Class =====\n\nclass WeatherProviderPlugin extends Plugin {\n  // Note: Plugin ID is derived from package.json name\n\n  name(): string {\n    return 'Weather Provider Plugin (Example)'\n  }\n\n  start(configJson: string): i32 {\n    debug('Weather Provider plugin starting...')\n\n    // Check network capability\n    if (!hasNetworkCapability()) {\n      setError('Network capability not granted')\n      return 1\n    }\n\n    // Parse configuration\n    if (configJson.length > 2) {\n      // Extract API key\n      const apiKeyMatch = configJson.indexOf('\"apiKey\"')\n      if (apiKeyMatch >= 0) {\n        const colonPos = configJson.indexOf(':', apiKeyMatch)\n        const quoteStart = configJson.indexOf('\"', colonPos)\n        if (quoteStart >= 0) {\n          const keyStart = quoteStart + 1\n          const keyEnd = configJson.indexOf('\"', keyStart)\n          if (keyEnd > keyStart) {\n            config.apiKey = configJson.substring(keyStart, keyEnd)\n          }\n        }\n      }\n\n      // Extract default latitude\n      const latMatch = configJson.indexOf('\"defaultLatitude\"')\n      if (latMatch >= 0) {\n        config.defaultLatitude = extractNumber(configJson, 'defaultLatitude')\n      }\n\n      // Extract default longitude\n      const lonMatch = configJson.indexOf('\"defaultLongitude\"')\n      if (lonMatch >= 0) {\n        config.defaultLongitude = extractNumber(configJson, 'defaultLongitude')\n      }\n    }\n\n    // Validate configuration\n    if (config.apiKey.length === 0) {\n      setError(\n        'No API key configured - get one from https://openweathermap.org/api'\n      )\n      return 1\n    }\n\n    // Register as a weather provider\n    debug('Registering as weather provider...')\n    if (registerWeatherProvider('OpenWeatherMap WASM')) {\n      debug('Successfully registered as weather provider')\n    } else {\n      debug('Warning: Failed to register as weather provider')\n      setError(\n        'Failed to register as weather provider - capability may not be granted'\n      )\n      return 1\n    }\n\n    // Fetch initial weather data\n    lastObservation = fetchCurrentWeather(\n      config.defaultLatitude,\n      config.defaultLongitude\n    )\n    if (lastObservation !== null) {\n      // Also emit as deltas for real-time display\n      const obs = lastObservation as WeatherData\n      emit(\n        createSimpleDelta(\n          'environment.outside.temperature',\n          obs.temperature.toString()\n        )\n      )\n      emit(\n        createSimpleDelta(\n          'environment.outside.humidity',\n          obs.humidity.toString()\n        )\n      )\n      emit(\n        createSimpleDelta(\n          'environment.outside.pressure',\n          obs.pressure.toString()\n        )\n      )\n    }\n\n    setStatus('Weather provider running - data from OpenWeatherMap')\n    return 0\n  }\n\n  stop(): i32 {\n    debug('Weather Provider plugin stopped')\n    setStatus('Stopped')\n    return 0\n  }\n\n  schema(): string {\n    return `{\n      \"type\": \"object\",\n      \"required\": [\"apiKey\"],\n      \"properties\": {\n        \"apiKey\": {\n          \"type\": \"string\",\n          \"title\": \"OpenWeatherMap API Key\",\n          \"description\": \"Get your free API key from https://openweathermap.org/api\"\n        },\n        \"defaultLatitude\": {\n          \"type\": \"number\",\n          \"title\": \"Default Latitude\",\n          \"description\": \"Default latitude when not specified in request\",\n          \"default\": 60.1699\n        },\n        \"defaultLongitude\": {\n          \"type\": \"number\",\n          \"title\": \"Default Longitude\",\n          \"description\": \"Default longitude when not specified in request\",\n          \"default\": 24.9384\n        }\n      }\n    }`\n  }\n}\n\n// ===== Plugin Instance & Exports =====\n\nconst plugin = new WeatherProviderPlugin()\n\n// Note: plugin_id() is no longer required - ID is derived from package.json name\n\nexport function plugin_name(): string {\n  return plugin.name()\n}\n\nexport function plugin_schema(): string {\n  return plugin.schema()\n}\n\nexport function plugin_start(configPtr: usize, configLen: usize): i32 {\n  const len = i32(configLen)\n  const configBytes = new Uint8Array(len)\n  for (let i: i32 = 0; i < len; i++) {\n    configBytes[i] = load<u8>(configPtr + <usize>i)\n  }\n  const configJson = String.UTF8.decode(configBytes.buffer)\n  return plugin.start(configJson)\n}\n\nexport function plugin_stop(): i32 {\n  return plugin.stop()\n}\n\n// ===== Weather Provider Handler Exports =====\n// These are called by the Signal K server when requests come to /signalk/v2/api/weather\n\n/**\n * Request structure for weather queries\n */\nclass WeatherRequest {\n  latitude: f64 = 0.0\n  longitude: f64 = 0.0\n  type: string = ''\n  maxCount: i32 = 10\n\n  static parse(json: string): WeatherRequest {\n    const req = new WeatherRequest()\n\n    // Parse position\n    const posMatch = json.indexOf('\"position\"')\n    if (posMatch >= 0) {\n      req.latitude = extractNumber(json, 'latitude')\n      req.longitude = extractNumber(json, 'longitude')\n    }\n\n    // Parse type\n    req.type = extractString(json, 'type')\n\n    // Parse options\n    const countMatch = json.indexOf('\"maxCount\"')\n    if (countMatch >= 0) {\n      req.maxCount = i32(extractNumber(json, 'maxCount'))\n    }\n\n    return req\n  }\n}\n\n/**\n * Get weather observations for a location\n * Called for: GET /signalk/v2/api/weather/observations?lat=...&lon=...\n *\n * @param requestJson - JSON with { \"position\": { \"latitude\": ..., \"longitude\": ... }, \"options\": {...} }\n * @returns JSON array of observation data\n */\nexport function weather_get_observations(requestJson: string): string {\n  debug('weather_get_observations called: ' + requestJson)\n\n  const req = WeatherRequest.parse(requestJson)\n\n  // Use provided position or default\n  const lat = req.latitude !== 0.0 ? req.latitude : config.defaultLatitude\n  const lon = req.longitude !== 0.0 ? req.longitude : config.defaultLongitude\n\n  // Fetch current weather as observation\n  const observation = fetchCurrentWeather(lat, lon)\n  if (observation === null) {\n    return '[]'\n  }\n\n  // Cache it\n  lastObservation = observation\n\n  // Return as array\n  return '[' + observation.toJSON() + ']'\n}\n\n/**\n * Get weather forecasts for a location\n * Called for: GET /signalk/v2/api/weather/forecasts/daily?lat=...&lon=...\n *             GET /signalk/v2/api/weather/forecasts/point?lat=...&lon=...\n *\n * @param requestJson - JSON with position, type ('daily'|'point'), and options\n * @returns JSON array of forecast data\n */\nexport function weather_get_forecasts(requestJson: string): string {\n  debug('weather_get_forecasts called: ' + requestJson)\n\n  const req = WeatherRequest.parse(requestJson)\n\n  // Use provided position or default\n  const lat = req.latitude !== 0.0 ? req.latitude : config.defaultLatitude\n  const lon = req.longitude !== 0.0 ? req.longitude : config.defaultLongitude\n\n  // Determine forecast type\n  const forecastType = req.type.length > 0 ? req.type : 'point'\n\n  // Fetch forecasts\n  const forecasts = fetchForecast(lat, lon, forecastType)\n\n  if (forecasts.length === 0) {\n    return '[]'\n  }\n\n  // Build JSON array\n  let result = '['\n  for (let i = 0; i < forecasts.length; i++) {\n    if (i > 0) result += ','\n    result += forecasts[i].toJSON()\n  }\n  result += ']'\n\n  return result\n}\n\n/**\n * Get weather warnings for a location\n * Called for: GET /signalk/v2/api/weather/warnings?lat=...&lon=...\n *\n * @param requestJson - JSON with position\n * @returns JSON array of warning data\n */\nexport function weather_get_warnings(requestJson: string): string {\n  debug('weather_get_warnings called: ' + requestJson)\n\n  // OpenWeatherMap's free tier doesn't include weather alerts\n  // Return empty array - real implementation would use One Call API\n  // which requires a paid subscription for alerts\n\n  return '[]'\n}\n"
  },
  {
    "path": "examples/wasm-plugins/example-weather-provider/package.json",
    "content": "{\n  \"name\": \"@signalk/example-weather-provider\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Example SignalK WASM plugin demonstrating Weather Provider API integration\",\n  \"keywords\": [\n    \"signalk-wasm-plugin\",\n    \"signalk\",\n    \"wasm\",\n    \"plugin\",\n    \"weather\",\n    \"weather-provider\",\n    \"example\"\n  ],\n  \"wasmManifest\": \"build/plugin.wasm\",\n  \"wasmCapabilities\": {\n    \"network\": true,\n    \"storage\": \"vfs-only\",\n    \"dataRead\": true,\n    \"dataWrite\": true,\n    \"serialPorts\": false,\n    \"weatherProvider\": true\n  },\n  \"author\": \"Signal K Team\",\n  \"license\": \"Apache-2.0\",\n  \"scripts\": {\n    \"asbuild:debug\": \"asc assembly/index.ts --target debug --outFile build/plugin.debug.wasm\",\n    \"asbuild:release\": \"asc assembly/index.ts --target release --outFile build/plugin.wasm\",\n    \"asbuild\": \"npm run asbuild:release\",\n    \"build\": \"npm run asbuild\",\n    \"clean\": \"rimraf build/\"\n  },\n  \"devDependencies\": {\n    \"assemblyscript\": \"^0.27.0\",\n    \"rimraf\": \"^6.0.1\"\n  },\n  \"dependencies\": {\n    \"as-fetch\": \"^2.1.4\",\n    \"@signalk/assemblyscript-plugin-sdk\": \"^0.2.0\"\n  }\n}\n"
  },
  {
    "path": "fly_io/cr_signalk_io/Dockerfile",
    "content": "FROM nginx:latest\nCOPY nginx.conf /etc/nginx/nginx.conf"
  },
  {
    "path": "fly_io/cr_signalk_io/fly.toml",
    "content": "# fly.toml file generated for cr-signalk-io on 2023-03-21T20:08:04+02:00\n\napp = \"cr-signalk-io\"\nkill_signal = \"SIGINT\"\nkill_timeout = 5\nprimary_region = \"ams\"\nprocesses = []\n\n[env]\n\n[experimental]\n  allowed_public_ports = []\n  auto_rollback = true\n\n[[services]]\n  http_checks = []\n  internal_port = 8080\n  processes = [\"app\"]\n  protocol = \"tcp\"\n  script_checks = []\n  [services.concurrency]\n    hard_limit = 25\n    soft_limit = 20\n    type = \"connections\"\n\n  [[services.ports]]\n    force_https = true\n    handlers = [\"http\"]\n    port = 80\n\n  [[services.ports]]\n    handlers = [\"tls\", \"http\"]\n    port = 443\n\n  [[services.tcp_checks]]\n    grace_period = \"1s\"\n    interval = \"15s\"\n    restart_limit = 0\n    timeout = \"2s\"\n"
  },
  {
    "path": "fly_io/cr_signalk_io/nginx.conf",
    "content": "events {\n  worker_connections  4096;  ## Default: 1024\n}\nhttp {\n  server {\n      listen 8080;\n      server_name cr.signalk.io;\n      return 301 https://registry-1.docker.io$request_uri;\n  }\n}"
  },
  {
    "path": "fly_io/demo_signalk_org/Dockerfile",
    "content": "ARG SK_VERSION\nFROM signalk/signalk-server:${SK_VERSION}\nCOPY --chown=node:node --chmod=600 security.json /home/node/.signalk/security.json\nENTRYPOINT [\"/home/node/signalk/node_modules/signalk-server/bin/signalk-server\", \"--securityenabled\", \"--sample-n2k-data\"]"
  },
  {
    "path": "fly_io/demo_signalk_org/fly.toml",
    "content": "# fly.toml file generated for demo-signalk-org on 2022-09-23T17:08:59+03:00\n\napp = \"demo-signalk-org\"\nkill_signal = \"SIGINT\"\nkill_timeout = 5\nprocesses = []\n\n[env]\n\n[experimental]\n  allowed_public_ports = []\n  auto_rollback = true\n\n[[services]]\n  http_checks = []\n  internal_port = 3000\n  processes = [\"app\"]\n  protocol = \"tcp\"\n  script_checks = []\n  [services.concurrency]\n    hard_limit = 25\n    soft_limit = 20\n    type = \"connections\"\n\n  [[services.ports]]\n    force_https = true\n    handlers = [\"http\"]\n    port = 80\n\n  [[services.ports]]\n    handlers = [\"tls\", \"http\"]\n    port = 443\n\n  [[services.tcp_checks]]\n    grace_period = \"1s\"\n    interval = \"15s\"\n    restart_limit = 0\n    timeout = \"2s\"\n"
  },
  {
    "path": "fly_io/demo_signalk_org/security.json",
    "content": "{\n  \"allow_readonly\": true,\n  \"allowNewUserRegistration\": false,\n  \"allowDeviceAccessRequests\": false,\n  \"users\": [],\n  \"devices\": [],\n  \"acls\": []\n}\n"
  },
  {
    "path": "index.js",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nmodule.exports = require('./dist')\n"
  },
  {
    "path": "kubernetes/README.md",
    "content": "# General\n\nA simple manifest for deploying the Signal K Server is available in the `signalk-deployment.yaml` file. In addition to the app Deployment, the manifest also includes a Service for connecting to the server and a Persistent Volume Claim for retaining configuration and state data between restarts.\n\nSee the [Signal K Server Docker documentation](https://github.com/SignalK/signalk-server/blob/master/docker/README.md) for information on the container images. The image/tag being deployed is declared in the manifest as `image: signalk/signalk-server:master`\n\n# Quick Start\n\nWith the kubectl CLI installed and configured for a running cluster, the manifest can be applied with\n\n```\nkubectl apply -f signalk-deployment.yaml\n```\n\n> [!NOTE]  \n> The cluster must have a [Storage Class](https://kubernetes.io/docs/concepts/storage/storage-classes/) enabled, which many Kubernetes implementations do by default.\n>\n> If you find the pod stuck in a pending state, it may be due to no available storage class. See the [Settings and Data Storage](#settings-and-data-storage) section below for more information.\n\n## Reaching the Server\n\n### Load Balancer\n\nIncluded in the deployment manifest file is a [Service](https://kubernetes.io/docs/concepts/services-networking/service/) resource for attachment to an [external load balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/). If the cluster has a load balancer with an available IP address, your newly deployed Signal K instance should become externally reachable on an IP address which is included in the output from this command (look for IP and IPs)\n\n```\nkubectl describe service signalk\n```\n\nIt may take some time for your load balancer to assign addresses. If the service appears to be stuck in a pending state and you are only interested in quick access to the service, consider using the more simple Ingress method described below. Troubleshooting a cluster's network configuration is beyond the scope of this document.\n\n#### MicroK8s\n\nAn easy to configure load balancer is available in MicroK8s that can be enabled by executing the following command and specifying a range of local IPs to dedicate to it (default ranges will often work)\n\n```\nmicrok8s enable metallb\n```\n\n### Ingress\n\nA simple solution for accessing the server on a local or single-node cluster without setting up a load balancer is to install an [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resource. The process for enabling ingress varies between Kubernetes clusters, here are examples for commonly used implementations.\n\n#### minikube\n\nThis command will setup a tunnel bound to a random port on the host into the signalk service in the cluster and attempt to launch a new web browser instance at the resulting URL\n\n```\nminikube service signalk\n```\n\nDepending on how minikube is deployed, you may need to leave the resulting CLI process running to keep the tunnel available.\n\n#### MicroK8s\n\nAn nginx ingress controller can be setup that binds to the host's port 80 by executing the command\n\n```\nmicrok8s enable ingress\n```\n\nYou can then deploy the ingress resource in `signalk-ingress.yaml` which routes requests to the controller's root with the command\n\n```\nkubectl apply -f signalk-ingress.yam\n```\n\nThe Signal K web UI should now be available at [http://localhost](http://localhost).\n\n# Resource Architecture\n\n```mermaid\ngraph TD\n    A[Web Browsers] -- HTTP 80 --> C\n    B[API Clients] -- HTTP 80 --> C\n\n    C(Load Balancer) -- HTTP 3000 --> D\n\n    D(Service) -- HTTP 3000 --> E\n\n    E(\"Pod (Signal K Server)\") -- Persistent Volume Claim --> F\n\n    F(Persistent Volume)\n```\n\n# Settings and Data Storage\n\nThe deployment manifest includes a resource that uses the Kubernetes [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) subsystem to retain settings and data across multiple deployment replicas and between container restarts. While many implementations come with a storage class pre-configured with default that allow a quick deployment, considerations should be made to insure that availability and resilience of the stored data meets the requirements of your deployment.\n\n#### MicroK8s\n\nDeployments of MicroK8s does not include a storage class by default which will cause the signalk pod to become stuck in a pending state. This can be quickly resolved by executing the following command and re-applying the signalk-deployment.yaml file\n\n```\nmicrok8s enable storage\n```\n\n## Uninstall\n\nExecute the following commands to remove all resources you may have added to the cluster while following this document. This will delete any settings and data that was created while the server was running.\n\n```\nkubectl delete deployment signalk\nkubectl delete persistentvolumeclaim signalkpvc\nkubectl delete service signalk\nkubectl delete ingress signalk\n```\n\n#### MicroK8s\n\nExecute these commands to disable the ingress and storage addons if needed\n\n```\nmicrok8s disable ingress\nmicrok8s disable storage\n```\n"
  },
  {
    "path": "kubernetes/signalk-deployment.yaml",
    "content": "apiVersion: v1\nkind: Service\nmetadata:\n  labels:\n    app: signalk\n  name: signalk\nspec:\n  externalTrafficPolicy: Cluster\n  ports:\n    - port: 80\n      protocol: TCP\n      targetPort: 3000\n  selector:\n    app: signalk\n  sessionAffinity: None\n  type: LoadBalancer\n\n---\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  labels:\n    app: signalk\n  name: signalkpvc\nspec:\n  accessModes:\n    - ReadWriteOnce\n  resources:\n    requests:\n      storage: 1Gi\n\n---\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  labels:\n    app: signalk\n  name: signalk\nspec:\n  progressDeadlineSeconds: 600\n  replicas: 1\n  revisionHistoryLimit: 10\n  selector:\n    matchLabels:\n      app: signalk\n  strategy:\n    rollingUpdate:\n      maxSurge: 25%\n      maxUnavailable: 25%\n    type: RollingUpdate\n  template:\n    metadata:\n      labels:\n        app: signalk\n    spec:\n      containers:\n        - image: signalk/signalk-server:master\n          imagePullPolicy: Always\n          name: signalk\n          resources: {}\n          terminationMessagePath: /dev/termination-log\n          terminationMessagePolicy: File\n          volumeMounts:\n            - mountPath: /home/node/.signalk\n              name: home-node-dotsignalk\n      dnsPolicy: ClusterFirst\n      restartPolicy: Always\n      schedulerName: default-scheduler\n      securityContext:\n        runAsUser: 1000\n        runAsGroup: 1000\n        fsGroup: 1000\n      terminationGracePeriodSeconds: 30\n      volumes:\n        - name: home-node-dotsignalk\n          persistentVolumeClaim:\n            claimName: signalkpvc\n"
  },
  {
    "path": "kubernetes/signalk-ingress.yaml",
    "content": "apiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: signalk\nspec:\n  rules:\n    - http:\n        paths:\n          - path: /\n            pathType: Prefix\n            backend:\n              service:\n                name: signalk\n                port:\n                  number: 3000\n"
  },
  {
    "path": "kubernetes.md",
    "content": "# Running Signalk in Docker and kubernetes\n\nSignalk-server can run in Docker and kubernetes. The following steps provide a guide on how to build an up-to-date Docker image, run it locally on Docker and eventually deploy it to kubernetes.\n\n## Preparations\n\nCheckout the Signalk source:\n\n```shell\n$ git clone https://github.com/SignalK/signalk-server-node.git\n$ cd signalk-server-node\n```\n\n## Docker\n\nFirst we build a Docker image with the name \"signalk\":\n\n```shell\n$ docker build -t signalk .\n```\n\nThen we can run it:\n\n```shell\n$ docker run --publish 3100:3000 --name signalk signalk\n```\n\nThis will start a container named `signalk` from the image `signalk` that is accessible on http://localhost:3000.\n\nThe container runs with `--securityenabled`, which means you'll have to login. Signalk-server allows you to specify the admin user and a password when you first log in.\n\n## Kubernetes\n\nOnce the Docker image has been made, it can be deployed to Kubernetes.\n\nFor this we first tag the Docker image so we can upload it to a remote registy. E.g:\n\n```shell\n$ docker tag signalk gcr.io/wouterdebie-personal/signalk\n```\n\nThe format for the tag is `<REGISTRY>/<PROJECT>/<APPLICATION>`\n\nAfter that we can push the image to the registry:\n\n```shell\n$ docker push gcr.io/wouterdebie-personal/signalk\n```\n\nEdit `kubernetes/signalk-deployment.yaml` and set the correct image that is supposed to be used. (Default is `signalk/signalk-server:master`)\n\nOnce the image is pushed, we can deploy the application (this assumes kubernetes is properly setup):\n\n```shell\n$ kubectl create -f kubernetes/signalk-deployment.yaml\n```\n\nThis deployment specification does a few things:\n\n- It creates a `PersistentVolumeClaim`, that is used to store the server configuration. A persistent volume is mounted at `~/.signalk`.\n- It creates a `Pod` and starts a container running the application.\n- It creates a `Service` that exposes the application on a public IP on port 80.\n\nTo check the external IP of the application:\n\n```shell\n$ kubectl get service\nNAME         TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE\nkubernetes   ClusterIP      10.12.0.1     <none>         443/TCP        27h\nsignalk      LoadBalancer   10.12.12.44   <EXTERNAL_IP>  80:31381/TCP   26m\n```\n\nTest your setup by going to http://<EXTERNAL_IP>\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"signalk-server\",\n  \"version\": \"2.26.0\",\n  \"description\": \"An implementation of a [Signal K](http://signalk.org) server for boats.\",\n  \"main\": \"index.js\",\n  \"scripts\": {\n    \"build\": \"tsc --build\",\n    \"build:all\": \"npm run build:workspaces && npm run build && npm run build:docs\",\n    \"build:docs\": \"typedoc\",\n    \"build:workspaces\": \"npm run build --workspaces --if-present\",\n    \"watch\": \"tsc --build -w\",\n    \"prettier\": \"prettier --write .\",\n    \"lint\": \"eslint --fix\",\n    \"format\": \"npm run prettier && npm run lint\",\n    \"ci-lint\": \"eslint && prettier --check .\",\n    \"update-latest-release\": \"git checkout master && git branch -D latest-release || git checkout -b latest-release && git push -f origin/latest-release\",\n    \"start\": \"node bin/signalk-server\",\n    \"test-only\": \"NODE_ENV=test mocha 'test/**/*.[jt]s'\",\n    \"test:admin-ui\": \"npm run test -w @signalk/server-admin-ui\",\n    \"test:server-api\": \"npm run test -w @signalk/server-api\",\n    \"test:streams\": \"npm run test -w @signalk/streams\",\n    \"test\": \"npm run build && npm run test-only && npm run ci-lint && npm run test:admin-ui && npm run test:server-api && npm run test:streams\",\n    \"heroku-postbuild\": \"npm run build:all\",\n    \"master-changed-files\": \"git diff --name-status $(git tag | tail -1)..master\"\n  },\n  \"bin\": {\n    \"signalk-server\": \"./bin/signalk-server\",\n    \"signalk-server-setup\": \"./bin/signalk-server-setup\",\n    \"signalk-generate-token\": \"./bin/signalk-generate-token\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/SignalK/signalk-server.git\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/SignalK/signalk-server/issues\"\n  },\n  \"keywords\": [\n    \"signalk\",\n    \"kjson\",\n    \"nmea\",\n    \"seatalk\",\n    \"gps\",\n    \"sailing\",\n    \"boat\",\n    \"marine\",\n    \"nautic\"\n  ],\n  \"contributors\": [\n    {\n      \"name\": \"Teppo Kurki\",\n      \"email\": \"teppo.kurki@iki.fi\"\n    },\n    {\n      \"name\": \"Scott Bender\",\n      \"email\": \"scott@scottbender.net\"\n    },\n    {\n      \"name\": \"Adrian Panazzolo\"\n    }\n  ],\n  \"license\": \"Apache-2.0\",\n  \"engines\": {\n    \"node\": \">=22\"\n  },\n  \"workspaces\": [\n    \"packages/server-admin-ui-dependencies\",\n    \"packages/server-admin-ui\",\n    \"packages/streams\",\n    \"packages/server-api\",\n    \"packages/resources-provider-plugin\",\n    \"packages/typedoc-theme\",\n    \"packages/assemblyscript-plugin-sdk\"\n  ],\n  \"dependencies\": {\n    \"@assemblyscript/loader\": \"^0.28.9\",\n    \"@signalk/course-provider\": \"^1.0.0\",\n    \"@signalk/n2k-signalk\": \">=4.1.0-beta\",\n    \"@signalk/nmea0183-signalk\": \"^3.0.0\",\n    \"@signalk/resources-provider\": \"^1.5.1\",\n    \"@signalk/server-admin-ui\": \"2.26.x\",\n    \"@signalk/server-api\": \"^2.24.0\",\n    \"@signalk/signalk-schema\": \"^1.7.1\",\n    \"@signalk/streams\": \"6.4.x\",\n    \"api-schema-builder\": \"^2.0.11\",\n    \"archiver\": \"^7.0.1\",\n    \"as-fetch\": \"^2.1.4\",\n    \"baconjs\": \"^3.0.0\",\n    \"bcryptjs\": \"^2.4.3\",\n    \"body-parser\": \"^1.20.3\",\n    \"bonjour-service\": \"^1.3.0\",\n    \"busboy\": \"^1.6.0\",\n    \"chalk\": \"^3.0.0\",\n    \"clear\": \"^0.1.0\",\n    \"command-exists\": \"^1.2.8\",\n    \"compression\": \"^1.7.3\",\n    \"cookie\": \"^0.7.0\",\n    \"cookie-parser\": \"^1.4.7\",\n    \"cors\": \"^2.5.2\",\n    \"debug\": \"^4.3.3\",\n    \"dnssd2\": \"1.0.0\",\n    \"errorhandler\": \"^1.3.0\",\n    \"esm-resolve\": \"^1.0.11\",\n    \"express\": \"^4.21.2\",\n    \"express-rate-limit\": \"^8.2.1\",\n    \"file-timestamp-stream\": \"^2.1.2\",\n    \"geolib\": \"^3.3.3\",\n    \"get-folder-size\": \"^5.0.0\",\n    \"helmet\": \"^8.1.0\",\n    \"jose\": \"^6.1.0\",\n    \"json-patch\": \"^0.7.0\",\n    \"jsonwebtoken\": \"^9.0.0\",\n    \"lodash\": \"^4.17.21\",\n    \"marked\": \"^17.0.5\",\n    \"mathjs\": \"^15.2.0\",\n    \"mdns-js\": \"^1.0.3\",\n    \"minimist\": \"^1.2.8\",\n    \"moment\": \"^2.10.6\",\n    \"morgan\": \"^1.5.0\",\n    \"ms\": \"^2.1.2\",\n    \"ncp\": \"^2.0.0\",\n    \"openid-client\": \"^6.1.0\",\n    \"ora\": \"^5.4.1\",\n    \"primus\": \"^7.0.0\",\n    \"prompts\": \"^2.4.2\",\n    \"selfsigned\": \"^2.4.1\",\n    \"semver\": \"^7.5.4\",\n    \"split\": \"^1.0.0\",\n    \"stat-mode\": \"^1.0.0\",\n    \"swagger-ui-express\": \"^4.5.0\",\n    \"unzipper\": \"^0.12.3\",\n    \"uuid\": \"^8.1.0\",\n    \"ws\": \"^8.17.0\"\n  },\n  \"optionalDependencies\": {\n    \"@mxtommy/kip\": \"^4.0.0\",\n    \"@signalk/app-dock\": \"^0.2.0\",\n    \"@signalk/freeboard-sk\": \"^2.0.0-beta.3\",\n    \"@signalk/instrumentpanel\": \"0.x\",\n    \"@signalk/set-system-time\": \"^1.5.0\",\n    \"@signalk/signalk-to-nmea0183\": \"^1.0.0\",\n    \"@signalk/udp-nmea-plugin\": \"^2.0.0\",\n    \"serialport\": \"^11.0.0\",\n    \"signalk-n2kais-to-nmea0183\": \"^2.0.0\",\n    \"signalk-to-nmea2000\": \"^2.16.0\"\n  },\n  \"devDependencies\": {\n    \"@eslint-react/eslint-plugin\": \"^1.53.1\",\n    \"@eslint/js\": \"^9.24.0\",\n    \"@signalk/typedoc-signalk-theme\": \"^0.3.0\",\n    \"@tsconfig/node24\": \"^24.0.0\",\n    \"@types/archiver\": \"^7.0.0\",\n    \"@types/bcryptjs\": \"^2.4.6\",\n    \"@types/busboy\": \"^1.5.0\",\n    \"@types/chai\": \"^4.2.15\",\n    \"@types/command-exists\": \"^1.2.0\",\n    \"@types/cookie\": \"^0.6.0\",\n    \"@types/cookie-parser\": \"^1.4.10\",\n    \"@types/cors\": \"^2.8.12\",\n    \"@types/debug\": \"^4.1.5\",\n    \"@types/express\": \"^4.17.1\",\n    \"@types/jsonwebtoken\": \"^9.0.10\",\n    \"@types/lodash\": \"^4.14.139\",\n    \"@types/mocha\": \"^10.0.10\",\n    \"@types/ncp\": \"^2.0.5\",\n    \"@types/semver\": \"^7.1.0\",\n    \"@types/split\": \"^1.0.0\",\n    \"@types/swagger-ui-express\": \"^4.1.3\",\n    \"@types/unzipper\": \"^0.10.5\",\n    \"@types/uuid\": \"^8.3.1\",\n    \"@types/ws\": \"^8.18.1\",\n    \"assemblyscript-prettier\": \"^3.0.2\",\n    \"chai\": \"^4.3.0\",\n    \"chai-json-equal\": \"0.0.1\",\n    \"chai-things\": \"^0.2.0\",\n    \"eslint\": \"^9.24.0\",\n    \"eslint-config-prettier\": \"^10.1.2\",\n    \"eslint-plugin-chai-friendly\": \"^1.0.1\",\n    \"eslint-plugin-prefer-arrow\": \"^1.2.3\",\n    \"eslint-plugin-react\": \"^7.37.5\",\n    \"eslint-plugin-react-compiler\": \"^19.1.0-rc.2\",\n    \"eslint-plugin-react-hooks\": \"^7.0.1\",\n    \"globals\": \"^16.0.0\",\n    \"lint-staged\": \"^10.0.3\",\n    \"mocha\": \"^11.7.5\",\n    \"nock\": \"^13.5.0\",\n    \"prettier\": \"^3.5.3\",\n    \"rimraf\": \"^6.0.1\",\n    \"ts-node\": \"^10.9.1\",\n    \"typedoc\": \"^0.28.17\",\n    \"typedoc-plugin-mdn-links\": \"^5.0.1\",\n    \"typescript\": \"^5.9.3\",\n    \"typescript-eslint\": \"^8.29.1\",\n    \"zod-validation-error\": \"^4.0.0\"\n  },\n  \"funding\": \"https://opencollective.com/signalk\"\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/.npmignore",
    "content": "node_modules\r\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/LICENSE",
    "content": "Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [dirkwa] [Dirk Wahrheit]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/README.md",
    "content": "# Signal K AssemblyScript Plugin SDK\n\nBuild WASM plugins for Signal K Server using TypeScript-like syntax.\n\n## Features\n\n- TypeScript-like syntax (strict subset)\n- Compiles directly to WASM\n- Small binaries (3-10 KB typical)\n- Good performance (80-90% of Rust)\n- Familiar tooling (npm, TypeScript)\n\n## Installation\n\n```bash\nnpm install @signalk/assemblyscript-plugin-sdk\nnpm install --save-dev assemblyscript\n```\n\n## Documentation\n\nFor complete documentation including:\n\n- Step-by-step tutorial\n- API reference\n- Resource providers\n- Troubleshooting\n\nSee the [AssemblyScript Plugin Guide](../../docs/develop/plugins/wasm/assemblyscript.md) in the Signal K Server documentation.\n\n## Examples\n\nSee [examples/wasm-plugins/](../../examples/wasm-plugins/) for working examples:\n\n- `example-hello-assemblyscript` - Basic plugin\n- `example-weather-plugin` - Resource provider with network requests\n\n## License\n\nApache-2.0\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/asconfig.json",
    "content": "{\n  \"targets\": {\n    \"release\": {\n      \"outFile\": \"build/plugin.wasm\",\n      \"sourceMap\": false,\n      \"optimize\": true,\n      \"shrinkLevel\": 2,\n      \"converge\": true,\n      \"noAssert\": true,\n      \"runtime\": \"stub\",\n      \"use\": \"abort=\"\n    },\n    \"debug\": {\n      \"outFile\": \"build/plugin.debug.wasm\",\n      \"sourceMap\": true,\n      \"debug\": true,\n      \"runtime\": \"stub\"\n    }\n  },\n  \"options\": {\n    \"bindings\": \"esm\",\n    \"exportRuntime\": false,\n    \"transform\": [\"as-fetch/transform\"]\n  }\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/api.ts",
    "content": "/**\n * Signal K Server API functions for AssemblyScript plugins\n *\n * These functions provide the FFI bridge to the Signal K server\n */\n\nimport { Delta } from './signalk'\n\n// ===== FFI Declarations =====\n// These functions are provided by the Signal K server\n\n/**\n * @internal\n * Emit delta to Signal K server\n * @param deltaPtr - Pointer to delta JSON string\n * @param deltaLen - Length of delta JSON string\n * @param version - Signal K version: 0 = v1 (default), 1 = v2\n */\n@external(\"env\", \"sk_handle_message\")\ndeclare function sk_handle_message_ffi(\n  deltaPtr: usize,\n  deltaLen: usize,\n  version: i32\n): void\n\n/**\n * @internal\n * Set plugin status message\n */\n@external(\"env\", \"sk_set_status\")\ndeclare function sk_set_status_ffi(msgPtr: usize, msgLen: usize): void\n\n/**\n * @internal\n * Set plugin error message\n */\n@external(\"env\", \"sk_set_error\")\ndeclare function sk_set_error_ffi(msgPtr: usize, msgLen: usize): void\n\n/**\n * @internal\n * Debug logging\n */\n@external(\"env\", \"sk_debug\")\ndeclare function sk_debug_ffi(msgPtr: usize, msgLen: usize): void\n\n/**\n * @internal\n * Get value from vessel.self path\n */\n@external(\"env\", \"sk_get_self_path\")\ndeclare function sk_get_self_path_ffi(\n  pathPtr: usize,\n  pathLen: usize,\n  bufPtr: usize,\n  bufLen: usize\n): i32\n\n/**\n * @internal\n * Get value from any context path\n */\n@external(\"env\", \"sk_get_path\")\ndeclare function sk_get_path_ffi(\n  pathPtr: usize,\n  pathLen: usize,\n  bufPtr: usize,\n  bufLen: usize\n): i32\n\n/**\n * @internal\n * Read plugin configuration\n */\n@external(\"env\", \"sk_read_config\")\ndeclare function sk_read_config_ffi(bufPtr: usize, bufLen: usize): i32\n\n/**\n * @internal\n * Save plugin configuration\n */\n@external(\"env\", \"sk_save_config\")\ndeclare function sk_save_config_ffi(configPtr: usize, configLen: usize): i32\n\n// ===== Public API Functions =====\n\n/**\n * Signal K version for delta emission\n */\nexport const SK_VERSION_V1: i32 = 1\nexport const SK_VERSION_V2: i32 = 2\n\n/**\n * Emit a delta message to the Signal K server\n *\n * @param delta The delta message to emit\n * @param skVersion Signal K version: SK_VERSION_V1 (default) or SK_VERSION_V2\n *\n * Use SK_VERSION_V1 (default) for regular navigation data.\n * Use SK_VERSION_V2 for Course API paths and other v2-specific data to prevent\n * v2 data from being mixed into the v1 full data model.\n *\n * @example\n * ```typescript\n * // Emit v1 delta (default - for regular navigation data)\n * const delta = createSimpleDelta('my-plugin', 'environment.temperature', '25.5')\n * emit(delta)\n *\n * // Emit v2 delta (for Course API and v2-specific paths)\n * const courseDelta = createSimpleDelta('my-plugin', 'navigation.course.nextPoint', positionJson)\n * emit(courseDelta, SK_VERSION_V2)\n * ```\n */\nexport function emit(delta: Delta, skVersion: i32 = SK_VERSION_V1): void {\n  const json = delta.toJSON()\n  const buffer = String.UTF8.encode(json)\n  const ptr = changetype<usize>(buffer)\n  sk_handle_message_ffi(ptr, buffer.byteLength, skVersion)\n}\n\n/**\n * Set plugin status message (shown in admin UI)\n *\n * @param message Status message\n *\n * @example\n * ```typescript\n * setStatus('Running normally')\n * ```\n */\nexport function setStatus(message: string): void {\n  const buffer = String.UTF8.encode(message)\n  const ptr = changetype<usize>(buffer)\n  sk_set_status_ffi(ptr, buffer.byteLength)\n}\n\n/**\n * Set plugin error message (shown in admin UI)\n *\n * @param message Error message\n *\n * @example\n * ```typescript\n * setError('Failed to connect to sensor')\n * ```\n */\nexport function setError(message: string): void {\n  const buffer = String.UTF8.encode(message)\n  const ptr = changetype<usize>(buffer)\n  sk_set_error_ffi(ptr, buffer.byteLength)\n}\n\n/**\n * Log debug message to server logs\n *\n * @param message Debug message\n *\n * @example\n * ```typescript\n * debug('Processing data: ' + value.toString())\n * ```\n */\nexport function debug(message: string): void {\n  const buffer = String.UTF8.encode(message)\n  const ptr = changetype<usize>(buffer)\n  sk_debug_ffi(ptr, buffer.byteLength)\n}\n\n/**\n * Get value from vessel.self path\n *\n * @param path Signal K path (e.g., 'navigation.speedOverGround')\n * @returns JSON-encoded value or null if not found\n *\n * @example\n * ```typescript\n * const speedJson = getSelfPath('navigation.speedOverGround')\n * if (speedJson !== null) {\n *   const speed = parseFloat(speedJson)\n *   debug('Current speed: ' + speed.toString())\n * }\n * ```\n */\nexport function getSelfPath(path: string): string | null {\n  const pathBuffer = String.UTF8.encode(path)\n  const pathPtr = changetype<usize>(pathBuffer)\n\n  // Allocate buffer for result\n  const resultBuffer = new ArrayBuffer(1024)\n  const resultPtr = changetype<usize>(resultBuffer)\n\n  const len = sk_get_self_path_ffi(\n    pathPtr,\n    pathBuffer.byteLength,\n    resultPtr,\n    1024\n  )\n\n  if (len === 0) {\n    return null\n  }\n\n  // Decode result\n  const bytes = Uint8Array.wrap(resultBuffer, 0, len)\n  return String.UTF8.decode(bytes.buffer)\n}\n\n/**\n * Get value from any context path\n *\n * @param path Full Signal K path (e.g., 'vessels.urn:mrn:imo:mmsi:123456789.navigation.position')\n * @returns JSON-encoded value or null if not found\n *\n * @example\n * ```typescript\n * const posJson = getPath('vessels.self.navigation.position')\n * if (posJson !== null) {\n *   debug('Position: ' + posJson)\n * }\n * ```\n */\nexport function getPath(path: string): string | null {\n  const pathBuffer = String.UTF8.encode(path)\n  const pathPtr = changetype<usize>(pathBuffer)\n\n  // Allocate buffer for result\n  const resultBuffer = new ArrayBuffer(1024)\n  const resultPtr = changetype<usize>(resultBuffer)\n\n  const len = sk_get_path_ffi(pathPtr, pathBuffer.byteLength, resultPtr, 1024)\n\n  if (len === 0) {\n    return null\n  }\n\n  // Decode result\n  const bytes = Uint8Array.wrap(resultBuffer, 0, len)\n  return String.UTF8.decode(bytes.buffer)\n}\n\n/**\n * Read plugin configuration\n *\n * @returns JSON string with configuration\n *\n * @example\n * ```typescript\n * const configJson = readConfig()\n * const config = JSON.parse<MyConfig>(configJson)\n * ```\n */\nexport function readConfig(): string {\n  // Allocate buffer for result\n  const resultBuffer = new ArrayBuffer(4096)\n  const resultPtr = changetype<usize>(resultBuffer)\n\n  const len = sk_read_config_ffi(resultPtr, 4096)\n\n  if (len === 0) {\n    return '{}'\n  }\n\n  // Decode result\n  const bytes = Uint8Array.wrap(resultBuffer, 0, len)\n  return String.UTF8.decode(bytes.buffer)\n}\n\n/**\n * Save plugin configuration\n *\n * @param config Configuration object (will be JSON-serialized)\n * @returns 0 on success, non-zero on error\n *\n * @example\n * ```typescript\n * const result = saveConfig(JSON.stringify(myConfig))\n * if (result !== 0) {\n *   setError('Failed to save configuration')\n * }\n * ```\n */\nexport function saveConfig(configJson: string): i32 {\n  const buffer = String.UTF8.encode(configJson)\n  const ptr = changetype<usize>(buffer)\n  return sk_save_config_ffi(ptr, buffer.byteLength)\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/index.ts",
    "content": "/**\n * Signal K AssemblyScript Plugin SDK\n *\n * Provides TypeScript-like API for building WASM plugins\n */\n\n// Export all public types and functions\nexport * from './plugin'\nexport * from './signalk'\nexport * from './api'\nexport * from './network'\nexport * from './resources'\n\n// Re-export JSON parsing library for plugin authors\nexport { JSON } from 'assemblyscript-json/assembly'\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/network.ts",
    "content": "/**\n * Network API for AssemblyScript plugins\n *\n * Provides capability checking for network access\n * Requires 'network' capability in plugin manifest\n *\n * For HTTP requests, use as-fetch directly:\n *\n * @example\n * ```typescript\n * import { fetchSync } from 'as-fetch/sync'\n * import { Response } from 'as-fetch/assembly'\n * import { hasNetworkCapability } from 'signalk-assemblyscript-plugin-sdk'\n *\n * if (!hasNetworkCapability()) {\n *   setError('Network capability not granted')\n *   return 1\n * }\n *\n * const response = fetchSync('https://api.example.com/data')\n * if (response && response.status === 200) {\n *   const data = response.text()\n *   // Process data...\n * }\n * ```\n */\n\n/**\n * @internal\n * Check if network capability is granted\n */\n@external(\"env\", \"sk_has_capability\")\ndeclare function sk_has_capability_ffi(capPtr: usize, capLen: usize): i32\n\n/**\n * Check if network capability is available\n *\n * @returns true if plugin has network capability\n *\n * @example\n * ```typescript\n * if (!hasNetworkCapability()) {\n *   setError('Network capability not granted')\n *   return 1\n * }\n * ```\n */\nexport function hasNetworkCapability(): boolean {\n  const capName = 'network'\n  const buffer = String.UTF8.encode(capName)\n  const ptr = changetype<usize>(buffer)\n  return sk_has_capability_ffi(ptr, buffer.byteLength) === 1\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/plugin.ts",
    "content": "/**\n * Base Plugin class that all AssemblyScript plugins must extend\n */\n\n/**\n * Abstract base class for Signal K WASM plugins\n *\n * Plugins must implement these abstract methods:\n * - name(): Human-readable plugin name\n * - schema(): JSON schema for configuration UI\n * - start(): Initialize plugin with configuration\n * - stop(): Clean shutdown\n *\n * Note: Plugin ID is automatically derived from your package.json name.\n * For example: \"@signalk/example-weather-plugin\" → \"_signalk_example-weather-plugin\"\n */\nexport abstract class Plugin {\n  /**\n   * Return human-readable plugin name for display in Admin UI\n   */\n  abstract name(): string\n\n  /**\n   * Return JSON schema for configuration UI\n   * Must be valid JSON Schema draft-07\n   */\n  abstract schema(): string\n\n  /**\n   * Initialize plugin with configuration\n   * @param config JSON string with configuration\n   * @returns 0 for success, non-zero for error\n   */\n  abstract start(config: string): i32\n\n  /**\n   * Stop plugin and clean up resources\n   * @returns 0 for success, non-zero for error\n   */\n  abstract stop(): i32\n}\n\n/**\n * Plugin configuration interface\n * Extend this for type-safe configuration\n */\nexport class PluginConfig {\n  enabled: bool = true\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/resources.ts",
    "content": "/**\n * Signal K Resource Provider API for AssemblyScript plugins\n *\n * Allows WASM plugins to act as resource providers (routes, waypoints, weather, etc.)\n */\n\nimport { JSON } from 'assemblyscript-json/assembly'\n\n// ===== FFI Declarations =====\n\n/**\n * @internal\n * Register this plugin as a resource provider for a given type\n */\n@external(\"env\", \"sk_register_resource_provider\")\ndeclare function sk_register_resource_provider_ffi(\n  typePtr: usize,\n  typeLen: usize\n): i32\n\n// ===== Public API Functions =====\n\n/**\n * Register this plugin as a resource provider for a given resource type.\n *\n * After calling this, the plugin must export the following handler functions:\n * - resources_list_resources(queryJson: string): string - List resources matching query\n * - resources_get_resource(requestJson: string): string - Get a single resource\n * - resources_set_resource(requestJson: string): void - Create/update a resource\n * - resources_delete_resource(requestJson: string): void - Delete a resource\n *\n * @param resourceType The type of resources to provide (e.g., \"weather\", \"routes\", \"waypoints\")\n * @returns true if registration succeeded, false otherwise\n *\n * @example\n * ```typescript\n * import { registerResourceProvider } from 'signalk-assemblyscript-plugin-sdk/assembly/resources'\n *\n * // In plugin start():\n * if (!registerResourceProvider(\"weather-forecasts\")) {\n *   setError(\"Failed to register as resource provider\")\n *   return 1\n * }\n *\n * // Export handler functions:\n * export function resources_list_resources(queryJson: string): string {\n *   // Return JSON object of resources\n *   return '{\"forecast-1\": {\"name\": \"Current Weather\"}}'\n * }\n *\n * export function resources_get_resource(requestJson: string): string {\n *   // requestJson: {\"id\": \"forecast-1\", \"property\": null}\n *   return '{\"name\": \"Current Weather\", \"temperature\": 20.5}'\n * }\n * ```\n */\nexport function registerResourceProvider(resourceType: string): bool {\n  const buffer = String.UTF8.encode(resourceType)\n  const ptr = changetype<usize>(buffer)\n  const result = sk_register_resource_provider_ffi(ptr, buffer.byteLength)\n  return result === 1\n}\n\n/**\n * Check if this plugin has the resourceProvider capability granted.\n *\n * The capability must be declared in package.json:\n * ```json\n * {\n *   \"wasmCapabilities\": {\n *     \"resourceProvider\": true\n *   }\n * }\n * ```\n *\n * @returns true if resourceProvider capability is granted\n */\nexport function hasResourceProviderCapability(): bool {\n  // Try to check capability via sk_has_capability if available\n  // For now, we'll just return true and let registration fail if not granted\n  return true\n}\n\n// ===== Helper Types for Resource Handlers =====\n\n/**\n * Request format for resources_get_resource handler\n */\nexport class ResourceGetRequest {\n  id: string = ''\n  property: string | null = null\n\n  static parse(jsonStr: string): ResourceGetRequest {\n    const req = new ResourceGetRequest()\n    const parsed = JSON.parse(jsonStr)\n\n    if (parsed.isObj) {\n      const obj = parsed as JSON.Obj\n      const idValue = obj.getString('id')\n      if (idValue !== null) {\n        req.id = idValue.valueOf()\n      }\n      const propValue = obj.getString('property')\n      if (propValue !== null) {\n        req.property = propValue.valueOf()\n      }\n    }\n\n    return req\n  }\n}\n\n/**\n * Request format for resources_set_resource handler\n */\nexport class ResourceSetRequest {\n  id: string = ''\n  value: string = '{}' // JSON string of the value\n\n  static parse(jsonStr: string): ResourceSetRequest {\n    const req = new ResourceSetRequest()\n    const parsed = JSON.parse(jsonStr)\n\n    if (parsed.isObj) {\n      const obj = parsed as JSON.Obj\n      const idValue = obj.getString('id')\n      if (idValue !== null) {\n        req.id = idValue.valueOf()\n      }\n      const valueObj = obj.getObj('value')\n      if (valueObj !== null) {\n        req.value = valueObj.stringify()\n      }\n    }\n\n    return req\n  }\n}\n\n/**\n * Request format for resources_delete_resource handler\n */\nexport class ResourceDeleteRequest {\n  id: string = ''\n\n  static parse(jsonStr: string): ResourceDeleteRequest {\n    const req = new ResourceDeleteRequest()\n    const parsed = JSON.parse(jsonStr)\n\n    if (parsed.isObj) {\n      const obj = parsed as JSON.Obj\n      const idValue = obj.getString('id')\n      if (idValue !== null) {\n        req.id = idValue.valueOf()\n      }\n    }\n\n    return req\n  }\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/assembly/signalk.ts",
    "content": "/**\n * Signal K data model types for AssemblyScript\n */\n\n/**\n * Position with latitude and longitude\n */\nexport class Position {\n  latitude: f64\n  longitude: f64\n\n  constructor(latitude: f64, longitude: f64) {\n    this.latitude = latitude\n    this.longitude = longitude\n  }\n\n  toJSON(): string {\n    return `{\"latitude\":${this.latitude},\"longitude\":${this.longitude}}`\n  }\n}\n\n/**\n * Path-value pair for delta updates\n */\nexport class PathValue {\n  path: string\n  value: string // JSON-encoded value\n\n  constructor(path: string, value: string) {\n    this.path = path\n    this.value = value\n  }\n\n  toJSON(): string {\n    return `{\"path\":\"${this.path}\",\"value\":${this.value}}`\n  }\n}\n\n/**\n * Delta update containing values\n *\n * Note: Plugins should NOT include source or timestamp when emitting deltas.\n * The server automatically sets $source to the plugin ID and fills in\n * timestamp with the current time.\n */\nexport class Update {\n  values: PathValue[]\n\n  constructor(values: PathValue[]) {\n    this.values = values\n  }\n\n  toJSON(): string {\n    let valuesJson = '['\n    for (let i = 0; i < this.values.length; i++) {\n      if (i > 0) valuesJson += ','\n      valuesJson += this.values[i].toJSON()\n    }\n    valuesJson += ']'\n\n    return `{\"values\":${valuesJson}}`\n  }\n}\n\n/**\n * Delta message with context and updates\n */\nexport class Delta {\n  context: string\n  updates: Update[]\n\n  constructor(context: string, updates: Update[]) {\n    this.context = context\n    this.updates = updates\n  }\n\n  toJSON(): string {\n    let updatesJson = '['\n    for (let i = 0; i < this.updates.length; i++) {\n      if (i > 0) updatesJson += ','\n      updatesJson += this.updates[i].toJSON()\n    }\n    updatesJson += ']'\n\n    return `{\"context\":\"${this.context}\",\"updates\":${updatesJson}}`\n  }\n}\n\n/**\n * Notification state\n */\nexport enum NotificationState {\n  normal = 0,\n  alert = 1,\n  warn = 2,\n  alarm = 3,\n  emergency = 4\n}\n\n/**\n * Notification method\n */\nexport enum NotificationMethod {\n  visual = 0,\n  sound = 1\n}\n\n/**\n * Signal K notification\n */\nexport class Notification {\n  state: NotificationState\n  method: NotificationMethod[]\n  message: string\n\n  constructor(state: NotificationState, message: string) {\n    this.state = state\n    this.method = [NotificationMethod.visual]\n    this.message = message\n  }\n\n  toJSON(): string {\n    let methodStr = '['\n    for (let i = 0; i < this.method.length; i++) {\n      if (i > 0) methodStr += ','\n      methodStr +=\n        this.method[i] == NotificationMethod.visual ? '\"visual\"' : '\"sound\"'\n    }\n    methodStr += ']'\n\n    let stateStr = 'normal'\n    if (this.state == NotificationState.alert) stateStr = 'alert'\n    else if (this.state == NotificationState.warn) stateStr = 'warn'\n    else if (this.state == NotificationState.alarm) stateStr = 'alarm'\n    else if (this.state == NotificationState.emergency) stateStr = 'emergency'\n\n    return `{\"state\":\"${stateStr}\",\"method\":${methodStr},\"message\":\"${this.message}\"}`\n  }\n}\n\n/**\n * Helper to create a simple delta with single value\n *\n * The server automatically adds $source (plugin ID) and timestamp.\n * Plugins should not include these fields.\n *\n * @param path Signal K path (e.g., 'environment.outside.temperature')\n * @param value JSON-encoded value (e.g., '288.15' or '{\"latitude\":60,\"longitude\":24}')\n */\nexport function createSimpleDelta(path: string, value: string): Delta {\n  const pathValue = new PathValue(path, value)\n  const update = new Update([pathValue])\n  return new Delta('vessels.self', [update])\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/build/plugin.d.ts",
    "content": "/** Exported memory */\nexport declare const memory: WebAssembly.Memory;\n/** assembly/signalk/NotificationState */\nexport declare enum NotificationState {\n  /** @type `i32` */\n  normal,\n  /** @type `i32` */\n  alert,\n  /** @type `i32` */\n  warn,\n  /** @type `i32` */\n  alarm,\n  /** @type `i32` */\n  emergency,\n}\n/** assembly/signalk/NotificationMethod */\nexport declare enum NotificationMethod {\n  /** @type `i32` */\n  visual,\n  /** @type `i32` */\n  sound,\n}\n/**\n * assembly/signalk/createSimpleDelta\n * @param path `~lib/string/String`\n * @param value `~lib/string/String`\n * @returns `assembly/signalk/Delta`\n */\nexport declare function createSimpleDelta(path: string, value: string): __Internref4;\n/** assembly/api/SK_VERSION_V1 */\nexport declare const SK_VERSION_V1: {\n  /** @type `i32` */\n  get value(): number\n};\n/** assembly/api/SK_VERSION_V2 */\nexport declare const SK_VERSION_V2: {\n  /** @type `i32` */\n  get value(): number\n};\n/**\n * assembly/api/emit\n * @param delta `assembly/signalk/Delta`\n * @param skVersion `i32`\n */\nexport declare function emit(delta: __Internref4, skVersion?: number): void;\n/**\n * assembly/api/setStatus\n * @param message `~lib/string/String`\n */\nexport declare function setStatus(message: string): void;\n/**\n * assembly/api/setError\n * @param message `~lib/string/String`\n */\nexport declare function setError(message: string): void;\n/**\n * assembly/api/debug\n * @param message `~lib/string/String`\n */\nexport declare function debug(message: string): void;\n/**\n * assembly/api/getSelfPath\n * @param path `~lib/string/String`\n * @returns `~lib/string/String | null`\n */\nexport declare function getSelfPath(path: string): string | null;\n/**\n * assembly/api/getPath\n * @param path `~lib/string/String`\n * @returns `~lib/string/String | null`\n */\nexport declare function getPath(path: string): string | null;\n/**\n * assembly/api/readConfig\n * @returns `~lib/string/String`\n */\nexport declare function readConfig(): string;\n/**\n * assembly/api/saveConfig\n * @param configJson `~lib/string/String`\n * @returns `i32`\n */\nexport declare function saveConfig(configJson: string): number;\n/**\n * assembly/network/hasNetworkCapability\n * @returns `bool`\n */\nexport declare function hasNetworkCapability(): boolean;\n/**\n * assembly/resources/registerResourceProvider\n * @param resourceType `~lib/string/String`\n * @returns `bool`\n */\nexport declare function registerResourceProvider(resourceType: string): boolean;\n/**\n * assembly/resources/hasResourceProviderCapability\n * @returns `bool`\n */\nexport declare function hasResourceProviderCapability(): boolean;\n/** assembly/signalk/Delta */\ndeclare class __Internref4 extends Number {\n  private __nominal4: symbol;\n  private __nominal0: symbol;\n}\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/build/plugin.js",
    "content": "async function instantiate(module, imports = {}) {\n  const adaptedImports = {\n    env: Object.assign(Object.create(globalThis), imports.env || {}, {\n      sk_handle_message(deltaPtr, deltaLen, version) {\n        // assembly/api/sk_handle_message_ffi(usize, usize, i32) => void\n        deltaPtr = deltaPtr >>> 0;\n        deltaLen = deltaLen >>> 0;\n        sk_handle_message(deltaPtr, deltaLen, version);\n      },\n      sk_set_status(msgPtr, msgLen) {\n        // assembly/api/sk_set_status_ffi(usize, usize) => void\n        msgPtr = msgPtr >>> 0;\n        msgLen = msgLen >>> 0;\n        sk_set_status(msgPtr, msgLen);\n      },\n      sk_set_error(msgPtr, msgLen) {\n        // assembly/api/sk_set_error_ffi(usize, usize) => void\n        msgPtr = msgPtr >>> 0;\n        msgLen = msgLen >>> 0;\n        sk_set_error(msgPtr, msgLen);\n      },\n      sk_debug(msgPtr, msgLen) {\n        // assembly/api/sk_debug_ffi(usize, usize) => void\n        msgPtr = msgPtr >>> 0;\n        msgLen = msgLen >>> 0;\n        sk_debug(msgPtr, msgLen);\n      },\n      sk_get_self_path(pathPtr, pathLen, bufPtr, bufLen) {\n        // assembly/api/sk_get_self_path_ffi(usize, usize, usize, usize) => i32\n        pathPtr = pathPtr >>> 0;\n        pathLen = pathLen >>> 0;\n        bufPtr = bufPtr >>> 0;\n        bufLen = bufLen >>> 0;\n        return sk_get_self_path(pathPtr, pathLen, bufPtr, bufLen);\n      },\n      sk_get_path(pathPtr, pathLen, bufPtr, bufLen) {\n        // assembly/api/sk_get_path_ffi(usize, usize, usize, usize) => i32\n        pathPtr = pathPtr >>> 0;\n        pathLen = pathLen >>> 0;\n        bufPtr = bufPtr >>> 0;\n        bufLen = bufLen >>> 0;\n        return sk_get_path(pathPtr, pathLen, bufPtr, bufLen);\n      },\n      sk_read_config(bufPtr, bufLen) {\n        // assembly/api/sk_read_config_ffi(usize, usize) => i32\n        bufPtr = bufPtr >>> 0;\n        bufLen = bufLen >>> 0;\n        return sk_read_config(bufPtr, bufLen);\n      },\n      sk_save_config(configPtr, configLen) {\n        // assembly/api/sk_save_config_ffi(usize, usize) => i32\n        configPtr = configPtr >>> 0;\n        configLen = configLen >>> 0;\n        return sk_save_config(configPtr, configLen);\n      },\n      sk_has_capability(capPtr, capLen) {\n        // assembly/network/sk_has_capability_ffi(usize, usize) => i32\n        capPtr = capPtr >>> 0;\n        capLen = capLen >>> 0;\n        return sk_has_capability(capPtr, capLen);\n      },\n      sk_register_resource_provider(typePtr, typeLen) {\n        // assembly/resources/sk_register_resource_provider_ffi(usize, usize) => i32\n        typePtr = typePtr >>> 0;\n        typeLen = typeLen >>> 0;\n        return sk_register_resource_provider(typePtr, typeLen);\n      },\n    }),\n  };\n  const { exports } = await WebAssembly.instantiate(module, adaptedImports);\n  const memory = exports.memory || imports.env.memory;\n  const adaptedExports = Object.setPrototypeOf({\n    NotificationState: (values => (\n      // assembly/signalk/NotificationState\n      values[values.normal = exports[\"NotificationState.normal\"].valueOf()] = \"normal\",\n      values[values.alert = exports[\"NotificationState.alert\"].valueOf()] = \"alert\",\n      values[values.warn = exports[\"NotificationState.warn\"].valueOf()] = \"warn\",\n      values[values.alarm = exports[\"NotificationState.alarm\"].valueOf()] = \"alarm\",\n      values[values.emergency = exports[\"NotificationState.emergency\"].valueOf()] = \"emergency\",\n      values\n    ))({}),\n    NotificationMethod: (values => (\n      // assembly/signalk/NotificationMethod\n      values[values.visual = exports[\"NotificationMethod.visual\"].valueOf()] = \"visual\",\n      values[values.sound = exports[\"NotificationMethod.sound\"].valueOf()] = \"sound\",\n      values\n    ))({}),\n    createSimpleDelta(path, value) {\n      // assembly/signalk/createSimpleDelta(~lib/string/String, ~lib/string/String) => assembly/signalk/Delta\n      path = __retain(__lowerString(path) || __notnull());\n      value = __lowerString(value) || __notnull();\n      try {\n        return __liftInternref(exports.createSimpleDelta(path, value) >>> 0);\n      } finally {\n        __release(path);\n      }\n    },\n    emit(delta, skVersion) {\n      // assembly/api/emit(assembly/signalk/Delta, i32?) => void\n      delta = __lowerInternref(delta) || __notnull();\n      exports.__setArgumentsLength(arguments.length);\n      exports.emit(delta, skVersion);\n    },\n    setStatus(message) {\n      // assembly/api/setStatus(~lib/string/String) => void\n      message = __lowerString(message) || __notnull();\n      exports.setStatus(message);\n    },\n    setError(message) {\n      // assembly/api/setError(~lib/string/String) => void\n      message = __lowerString(message) || __notnull();\n      exports.setError(message);\n    },\n    debug(message) {\n      // assembly/api/debug(~lib/string/String) => void\n      message = __lowerString(message) || __notnull();\n      exports.debug(message);\n    },\n    getSelfPath(path) {\n      // assembly/api/getSelfPath(~lib/string/String) => ~lib/string/String | null\n      path = __lowerString(path) || __notnull();\n      return __liftString(exports.getSelfPath(path) >>> 0);\n    },\n    getPath(path) {\n      // assembly/api/getPath(~lib/string/String) => ~lib/string/String | null\n      path = __lowerString(path) || __notnull();\n      return __liftString(exports.getPath(path) >>> 0);\n    },\n    readConfig() {\n      // assembly/api/readConfig() => ~lib/string/String\n      return __liftString(exports.readConfig() >>> 0);\n    },\n    saveConfig(configJson) {\n      // assembly/api/saveConfig(~lib/string/String) => i32\n      configJson = __lowerString(configJson) || __notnull();\n      return exports.saveConfig(configJson);\n    },\n    hasNetworkCapability() {\n      // assembly/network/hasNetworkCapability() => bool\n      return exports.hasNetworkCapability() != 0;\n    },\n    registerResourceProvider(resourceType) {\n      // assembly/resources/registerResourceProvider(~lib/string/String) => bool\n      resourceType = __lowerString(resourceType) || __notnull();\n      return exports.registerResourceProvider(resourceType) != 0;\n    },\n    hasResourceProviderCapability() {\n      // assembly/resources/hasResourceProviderCapability() => bool\n      return exports.hasResourceProviderCapability() != 0;\n    },\n  }, exports);\n  function __liftString(pointer) {\n    if (!pointer) return null;\n    const\n      end = pointer + new Uint32Array(memory.buffer)[pointer - 4 >>> 2] >>> 1,\n      memoryU16 = new Uint16Array(memory.buffer);\n    let\n      start = pointer >>> 1,\n      string = \"\";\n    while (end - start > 1024) string += String.fromCharCode(...memoryU16.subarray(start, start += 1024));\n    return string + String.fromCharCode(...memoryU16.subarray(start, end));\n  }\n  function __lowerString(value) {\n    if (value == null) return 0;\n    const\n      length = value.length,\n      pointer = exports.__new(length << 1, 2) >>> 0,\n      memoryU16 = new Uint16Array(memory.buffer);\n    for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);\n    return pointer;\n  }\n  class Internref extends Number {}\n  const registry = new FinalizationRegistry(__release);\n  function __liftInternref(pointer) {\n    if (!pointer) return null;\n    const sentinel = new Internref(__retain(pointer));\n    registry.register(sentinel, pointer);\n    return sentinel;\n  }\n  function __lowerInternref(value) {\n    if (value == null) return 0;\n    if (value instanceof Internref) return value.valueOf();\n    throw TypeError(\"internref expected\");\n  }\n  const refcounts = new Map();\n  function __retain(pointer) {\n    if (pointer) {\n      const refcount = refcounts.get(pointer);\n      if (refcount) refcounts.set(pointer, refcount + 1);\n      else refcounts.set(exports.__pin(pointer), 1);\n    }\n    return pointer;\n  }\n  function __release(pointer) {\n    if (pointer) {\n      const refcount = refcounts.get(pointer);\n      if (refcount === 1) exports.__unpin(pointer), refcounts.delete(pointer);\n      else if (refcount) refcounts.set(pointer, refcount - 1);\n      else throw Error(`invalid refcount '${refcount}' for reference '${pointer}'`);\n    }\n  }\n  function __notnull() {\n    throw TypeError(\"value must not be null\");\n  }\n  return adaptedExports;\n}\nexport const {\n  memory,\n  NotificationState,\n  NotificationMethod,\n  createSimpleDelta,\n  SK_VERSION_V1,\n  SK_VERSION_V2,\n  emit,\n  setStatus,\n  setError,\n  debug,\n  getSelfPath,\n  getPath,\n  readConfig,\n  saveConfig,\n  hasNetworkCapability,\n  registerResourceProvider,\n  hasResourceProviderCapability,\n} = await (async url => instantiate(\n  await (async () => {\n    const isNodeOrBun = typeof process != \"undefined\" && process.versions != null && (process.versions.node != null || process.versions.bun != null);\n    if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import(\"node:fs/promises\")).readFile(url)); }\n    else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); }\n  })(), {\n  }\n))(new URL(\"plugin.wasm\", import.meta.url));\n"
  },
  {
    "path": "packages/assemblyscript-plugin-sdk/package.json",
    "content": "{\n  \"name\": \"@signalk/assemblyscript-plugin-sdk\",\n  \"version\": \"0.2.0\",\n  \"description\": \"AssemblyScript SDK for developing Signal K WASM plugins\",\n  \"main\": \"assembly/index.ts\",\n  \"types\": \"index.d.ts\",\n  \"exports\": {\n    \".\": {\n      \"import\": \"./assembly/index.ts\",\n      \"types\": \"./index.d.ts\"\n    },\n    \"./assembly\": {\n      \"import\": \"./assembly/index.ts\"\n    },\n    \"./assembly/*\": {\n      \"import\": \"./assembly/*.ts\"\n    }\n  },\n  \"ascMain\": \"assembly/index.ts\",\n  \"keywords\": [\n    \"signalk\",\n    \"assemblyscript\",\n    \"wasm\",\n    \"plugin\",\n    \"sdk\"\n  ],\n  \"author\": \"Signal K\",\n  \"license\": \"Apache-2.0\",\n  \"scripts\": {\n    \"asbuild:debug\": \"asc assembly/index.ts --target debug --disableWarning 235\",\n    \"asbuild:release\": \"asc assembly/index.ts --target release --disableWarning 235\",\n    \"build\": \"npm run asbuild:release\",\n    \"test\": \"npm run asbuild:debug\"\n  },\n  \"devDependencies\": {\n    \"assemblyscript\": \"^0.27.0\"\n  },\n  \"dependencies\": {\n    \"as-wasi\": \"^0.6.0\",\n    \"as-fetch\": \"^2.1.4\",\n    \"assemblyscript-json\": \"^1.1.0\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/assemblyscript-plugin-sdk\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  }\n}\n"
  },
  {
    "path": "packages/resources-provider-plugin/.gitignore",
    "content": "/plugin\r\n/node_modules\r\npackage-lock.json\r\n"
  },
  {
    "path": "packages/resources-provider-plugin/.npmignore",
    "content": "package-lock.json\r\npackage.json\r\n/src\r\ntsconfig.json\r\n"
  },
  {
    "path": "packages/resources-provider-plugin/CHANGELOG.md",
    "content": "# CHANGELOG: RESOURCES-PROVIDER\n\n**_Note: Can only be used with Signal K server version 2.0.0 or later._**\n\n---\n\n## v1.2.0\n\n- **Update**: Update plugin configuration to include `charts`.\n\n## v1.1.2\n\n- **Update**: Change plugin category keyword to `signalk-category-utility`.\n\n## v1.1.0\n\n- **Fix**: Only process files in resource folders (ignore folders).\n\n## v1.0.0\n\nResource Provider plugin that facilitates the storage and retrieval of resources on the Signal K server filesystem.\n\nBy default it is enabled to handle the following Signal K resource types:\n\n- `routes`\n- `waypoints`\n- `notes`\n- `regions`\n\nEach resource type can individually enabled / disabled via the Plugin Config screen of the Signal K server.\n\nThe plugin can also be configured to handle additional `custom` resource types.\n\nAll resource types are stored on the local filesystem of the Signal K server with each type within its own folder.\n\nThe parent folder under which resources are stored can be configured from within the plugin config screen. The default path is `~/.signalk/resources`.\n\n```\n.signalk\n    /resources\n        /routes\n            ...\n        /waypoints\n            ...\n        /notes\n            ...\n        /regions\n            ...\n        /my_custom_type\n            ...\n```\n\n![image](https://user-images.githubusercontent.com/38519157/150449889-5049a624-821c-4f33-ba8b-596b6b643d07.png)\n"
  },
  {
    "path": "packages/resources-provider-plugin/LICENSE",
    "content": "                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "packages/resources-provider-plugin/README.md",
    "content": "# Signal K Resources Provider Plugin:\n\n**Signal K server plugin that implements the Resource Provider API**.\n\n_Note: This plugin requires Signal K Server v2.0 or later!_\n\n---\n\nThis plugin is a resource provider, facilitating the storage and retrieval of the following resource types defined by the Signal K specification:\n\n- `resources/routes`\n- `resources/waypoints`\n- `resources/notes`\n- `resources/regions`\n\nas well as providing the capability to serve custom resource types provisioned as additional paths under `/signalk/v2/api/resources`.\n\n- _example:_ `/signalk/v2/api/resources/fishingZones`\n\nEach path is provisioned with `GET`, `PUT`, `POST` and `DELETE` operations enabled.\n\nOperation of all paths is as set out in the OpenAPI resources definition available in the Signal K server Admin console.\n\n---\n\n## Installation and Configuration:\n\nSignal K server v2 includes this plugin as part of the installation / upgrade process.\n\nBy default the plugin is enabled with all standdard resource types enabled.\n\n1. `(optional)` De-select any resource types you want to disable.\n\n1. `(optional)` Specify any custom resource paths you require.\n1. Click **Submit**\n\n![image](https://user-images.githubusercontent.com/38519157/227807566-966a5640-87e1-4db8-a7f2-aadf06deb3f3.png)\n\n### Configuration API\n\nThe following API endpoints are made available to configure the plugin programatically.\n\n> See **OpenApi** documentaion in the Signal K Server admin console for details.\n>\n> _**NOTE:** You must be authenticated to the Signal K Server to access these endpoints!_\n\n- **Retrieve configured resource collections:**\n\n```bash\nHTTP GET \"/plugins/resources-provider/_config\"\n```\n\n- **Add a resource collection:**\n\n```\nHTTP POST \"/plugins/resources-provider/_config/:name\" {\n    \"description\": \"My custom collection\"\n}\n```\n\nWHERE `:name` is the name of the collection to create\nAND the request body contains the collection `description`.\n\n- **Remove a resource collection:**\n\n```bash\nHTTP DELETE \"/plugins/resources-provider/_config/:name\"\n```\n\nWHERE `:name` is the name of the collection to remove.\n\n---\n\n## Data Storage:\n\nResources are stored in the server's filesystem under the path `~/.signalk/plugin-config-data/resources-provider/resources`.\n\nA separate file is created for each resource with a name that reflects the resources `id`.\n\nEach resource is created within a folder allocated to that specific resource type.\n\n_Example:_\n\n```\n~/.signalk\n    /resources\n        /routes\n            ...\n        /waypoints\n            ...\n        /notes\n            ...\n        /regions\n            ...\n        /charts\n            ...\n        /my_custom_type\n            ...\n```\n\n---\n\n## Use and Operation:\n\nOnce configured, the plugin registers itself as the resource provider for each of the enabled resource types and the Signal K server will pass all _HTTP GET, POST, PUT and DELETE_ requests to the plugin.\n\n---\n\n_For further information about working with resources please refer to the [Signal K specification](https://signalk.org/specification) and [Signal K Server documentation](https://github.com/SignalK/signalk-server#readme)._\n"
  },
  {
    "path": "packages/resources-provider-plugin/package.json",
    "content": "{\n  \"name\": \"@signalk/resources-provider\",\n  \"version\": \"1.5.1\",\n  \"description\": \"Resources provider plugin for Signal K server.\",\n  \"main\": \"dist/index.js\",\n  \"keywords\": [\n    \"signalk-node-server-plugin\",\n    \"signalk-category-utility\",\n    \"signalk\",\n    \"resources\",\n    \"routes\",\n    \"waypoints\",\n    \"regions\",\n    \"notes\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/resources-provider-plugin\"\n  },\n  \"author\": \"AdrianP\",\n  \"contributors\": [\n    {\n      \"name\": \"panaaj@hotmail.com\"\n    }\n  ],\n  \"license\": \"Apache-20\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"watch\": \"npm run build -- -w\",\n    \"prettier\": \"prettier -w src/\",\n    \"lint\": \"eslint --fix\",\n    \"format\": \"npm run prettier && npm run lint\",\n    \"prepublishOnly\": \"npm run build\",\n    \"test\": \"npm run build\"\n  },\n  \"dependencies\": {\n    \"@signalk/server-api\": \"^2.5.0\",\n    \"geojson-validation\": \"^0.2.0\",\n    \"geolib\": \"^3.3.3\",\n    \"ngeohash\": \"^0.6.3\"\n  },\n  \"devDependencies\": {\n    \"@types/ngeohash\": \"^0.6.4\"\n  },\n  \"signalk-plugin-enabled-by-default\": true\n}\n"
  },
  {
    "path": "packages/resources-provider-plugin/src/@types/geojson-validation.d.ts",
    "content": "declare module 'geojson-validation'\n"
  },
  {
    "path": "packages/resources-provider-plugin/src/index.ts",
    "content": "import {\n  Plugin,\n  ServerAPI,\n  ResourceProviderRegistry,\n  SIGNALKRESOURCETYPES\n} from '@signalk/server-api'\n\nimport { FileStore, getUuid } from './lib/filestorage'\nimport { StoreRequestParams } from './types'\nimport { IRouter, Request, Response } from 'express'\nimport * as openapi from './openApi.json'\n\ninterface ResourceProviderApp extends ServerAPI, ResourceProviderRegistry {}\n\ninterface ProviderSettings {\n  standard: {\n    routes: boolean\n    waypoints: boolean\n    notes: boolean\n    regions: boolean\n    charts: boolean\n  }\n  custom: Array<{ name: string; description: string }>\n}\n\nconst CONFIG_SCHEMA = {\n  properties: {\n    standard: {\n      type: 'object',\n      title: 'Resources (standard)',\n      description:\n        'ENABLE / DISABLE provider for the following SignalK resource types.',\n      properties: {\n        routes: {\n          type: 'boolean',\n          title: 'ROUTES'\n        },\n        waypoints: {\n          type: 'boolean',\n          title: 'WAYPOINTS'\n        },\n        notes: {\n          type: 'boolean',\n          title: 'NOTES'\n        },\n        regions: {\n          type: 'boolean',\n          title: 'REGIONS'\n        },\n        charts: {\n          type: 'boolean',\n          title: 'CHART SOURCES'\n        }\n      }\n    },\n    custom: {\n      type: 'array',\n      title: 'Resources (custom)',\n      description: 'Add provider for custom resource collections.',\n      items: {\n        type: 'object',\n        required: ['name'],\n        properties: {\n          name: {\n            type: 'string',\n            title: 'Collection Name',\n            description: '/signalk/v2/api/resources/{name}'\n          },\n          description: {\n            type: 'string',\n            title: 'Description',\n            description: 'Type of resource in this collection.'\n          }\n        }\n      }\n    }\n  }\n}\n\nconst CONFIG_UISCHEMA = {\n  standard: {\n    routes: {\n      'ui:widget': 'checkbox',\n      'ui:title': ' ',\n      'ui:help': '/signalk/v2/api/resources/routes'\n    },\n    waypoints: {\n      'ui:widget': 'checkbox',\n      'ui:title': ' ',\n      'ui:help': '/signalk/v2/api/resources/waypoints'\n    },\n    notes: {\n      'ui:widget': 'checkbox',\n      'ui:title': ' ',\n      'ui:help': '/signalk/v2/api/resources/notes'\n    },\n    regions: {\n      'ui:widget': 'checkbox',\n      'ui:title': ' ',\n      'ui:help': '/signalk/v2/api/resources/regions'\n    },\n    charts: {\n      'ui:widget': 'checkbox',\n      'ui:title': ' ',\n      'ui:help': '/signalk/v2/api/resources/charts'\n    }\n  }\n}\n\nmodule.exports = (server: ResourceProviderApp): Plugin => {\n  let restart: (settings: object) => void\n\n  const plugin: Plugin = {\n    id: 'resources-provider',\n    name: 'Resources Provider (built-in)',\n    schema: () => CONFIG_SCHEMA,\n    uiSchema: () => CONFIG_UISCHEMA,\n    start: (settings, restartPlugin) => {\n      restart = restartPlugin\n      doStartup(settings as ProviderSettings)\n    },\n    stop: () => {\n      doShutdown()\n    },\n    registerWithRouter(router) {\n      initMgtEndpoints(router)\n    },\n    getOpenApi: () => openapi\n  }\n\n  const db: FileStore = new FileStore(plugin.id, server.debug)\n  let config: ProviderSettings\n\n  const doStartup = (settings: ProviderSettings) => {\n    try {\n      server.debug(`${plugin.name} starting.......`)\n      config = cleanConfig(settings)\n      server.debug(`Applied config: ${JSON.stringify(config)}`)\n\n      // compile list of enabled resource types\n      let apiProviderFor: string[] = []\n      Object.entries(config.standard).forEach((i) => {\n        if (i[1]) {\n          apiProviderFor.push(i[0])\n        }\n      })\n\n      if (config.custom && Array.isArray(config.custom)) {\n        const customTypes = config.custom.map(\n          (i: { name: string; description?: string }) => {\n            return i.name\n          }\n        )\n        apiProviderFor = apiProviderFor.concat(customTypes)\n      }\n\n      server.debug(\n        `** Enabled resource types: ${JSON.stringify(apiProviderFor)}`\n      )\n\n      // register as provider for enabled resource types\n      const result = registerProviders(apiProviderFor)\n\n      if (result.length !== 0) {\n        server.setPluginError(\n          `Error registering providers: ${result.toString()}`\n        )\n      } else {\n        server.setPluginStatus(`Providing: ${apiProviderFor.toString()}`)\n      }\n\n      // initialise resource storage\n      db.init({ settings: config, basePath: server.getDataDirPath() })\n        .then((res: { error: boolean; message: string }) => {\n          if (res.error) {\n            const msg = `*** ERROR: ${res.message} ***`\n            server.error(msg)\n            server.setPluginError(msg)\n          }\n\n          server.debug(\n            `** ${plugin.name} started... ${!res.error ? 'OK' : 'with errors!'}`\n          )\n        })\n        .catch((e: Error) => {\n          server.debug(e.message)\n          const msg = `Initialisation Error! See console for details.`\n          server.setPluginError(msg)\n        })\n    } catch (error) {\n      const msg = `Started with errors!`\n      server.setPluginError(msg)\n      server.error('error: ' + error)\n    }\n  }\n\n  const doShutdown = () => {\n    server.debug(`${plugin.name} stopping.......`)\n    server.debug('** Un-registering Update Handler(s) **')\n    const msg = 'Stopped.'\n    server.setPluginStatus(msg)\n  }\n\n  /** process changes in config schema */\n  const cleanConfig = (options: ProviderSettings): ProviderSettings => {\n    server.debug(`Check / Clean loaded settings...`)\n\n    const defaultConfig: ProviderSettings = {\n      standard: {\n        routes: true,\n        waypoints: true,\n        notes: true,\n        regions: true,\n        charts: true\n      },\n      custom: []\n    }\n\n    // set / save defaults if no saved settings\n    if (!options?.standard) {\n      server.savePluginOptions(defaultConfig, () => {\n        server.debug(`Default configuration applied...`)\n      })\n      return defaultConfig\n    }\n\n    // check / clean settings\n    if (!Array.isArray(options?.custom)) {\n      options.custom = []\n    }\n    options.custom.forEach((i: { name: string; description?: string }) => {\n      i.description = i.description ?? ''\n    })\n\n    SIGNALKRESOURCETYPES.forEach((r) => {\n      if (!(r in options.standard)) {\n        options.standard[r] = true\n      }\n    })\n\n    options.custom = options.custom.filter(\n      (i) => !(i.name in defaultConfig.standard)\n    )\n\n    server.savePluginOptions(options, () => {\n      server.debug(`Configuration cleaned and saved...`)\n    })\n\n    return options\n  }\n\n  /** plugin management endpoints */\n  const initMgtEndpoints = (router: IRouter) => {\n    const ApiResponses = {\n      ok: {\n        state: 'COMPLETED',\n        statusCode: 200,\n        message: 'OK'\n      },\n      invalid: {\n        state: 'FAILED',\n        statusCode: 400,\n        message: `Invalid Data supplied!`\n      },\n      notFound: {\n        state: 'FAILED',\n        statusCode: 400,\n        message: `Entry not found!`\n      },\n      unauthorised: {\n        state: 'FAILED',\n        statusCode: 403,\n        message: 'Unauthorised'\n      },\n      exists: {\n        state: 'FAILED',\n        statusCode: 400,\n        message: 'Collection already exists!'\n      },\n      errorCreate: {\n        state: 'FAILED',\n        statusCode: 500,\n        message: 'Error creating collection!'\n      }\n    }\n\n    // add new resource collection\n    router.post(\n      '/_config/:rescollection',\n      async (req: Request, res: Response) => {\n        server.debug('Add collection request...', req.params)\n        if (!req.params.rescollection) {\n          res.status(ApiResponses.invalid.statusCode).json(ApiResponses.invalid)\n          return\n        }\n        const e = config.custom.find(\n          (i) => i.name.toLowerCase() === req.params.rescollection.toLowerCase()\n        )\n        if (e || req.params.rescollection.toLowerCase() in config.standard) {\n          res.status(ApiResponses.exists.statusCode).json(ApiResponses.exists)\n          return\n        }\n        server.debug('****** Creating collection ***')\n        const coll: { [key: string]: boolean } = {}\n        coll[req.params.rescollection] = true\n        const r = await db.createSavePaths(coll)\n        if (r.error) {\n          server.debug(r.message)\n          res\n            .status(ApiResponses.errorCreate.statusCode)\n            .json(ApiResponses.errorCreate)\n        } else {\n          config.custom.push({\n            name: req.params.rescollection,\n            description: req.body.description ?? ''\n          })\n          server.savePluginOptions(config, () => {\n            server.debug('settings saved...')\n          })\n          res.status(200).json(ApiResponses.ok)\n          restart(config)\n        }\n      }\n    )\n    // remove resource collection config (does not remove folder of files.)\n    router.delete(\n      '/_config/:rescollection',\n      async (req: Request, res: Response) => {\n        server.debug('Remove collection request...', req.params)\n        if (!req.params.rescollection) {\n          res.status(ApiResponses.invalid.statusCode).json(ApiResponses.invalid)\n          return\n        }\n        const e = config.custom.findIndex(\n          (i) => i.name.toLowerCase() === req.params.rescollection.toLowerCase()\n        )\n        if (e === -1) {\n          res\n            .status(ApiResponses.notFound.statusCode)\n            .json(ApiResponses.notFound)\n          return\n        }\n        if (req.params.rescollection.toLowerCase() in config.standard) {\n          res.status(ApiResponses.invalid.statusCode).json(ApiResponses.invalid)\n          return\n        }\n        server.debug('****** Removing collection ***')\n        config.custom.splice(e, 1)\n        server.savePluginOptions(config, () => {\n          server.debug('settings saved...')\n        })\n        res.status(200).json(ApiResponses.ok)\n        restart(config)\n      }\n    )\n    // get configuration\n    router.get('/_config', (req: Request, res: Response) => {\n      res.json(config)\n    })\n  }\n\n  const getVesselPosition = () => {\n    const p = server.getSelfPath('navigation.position') as\n      | { value?: { longitude: number; latitude: number } }\n      | undefined\n    return p?.value ? [p.value.longitude, p.value.latitude] : null\n  }\n\n  const registerProviders = (resTypes: string[]): string[] => {\n    const failed: string[] = []\n    resTypes.forEach((resType) => {\n      try {\n        server.registerResourceProvider({\n          type: resType,\n          methods: {\n            listResources: (params: object) => {\n              return apiGetResources(resType, params)\n            },\n            getResource: (id: string, property?: string) => {\n              return db.getResource(resType, getUuid(id), property)\n            },\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            setResource: (id: string, value: any) => {\n              return apiSetResource(resType, id, value)\n            },\n            deleteResource: (id: string) => {\n              return apiSetResource(resType, id, null)\n            }\n          }\n        })\n      } catch (_error) {\n        failed.push(resType)\n      }\n    })\n    return failed\n  }\n\n  // Signal K server Resource Provider interface functions\n\n  const apiGetResources = async (\n    resType: string,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    params: any = {}\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ): Promise<any> => {\n    if (typeof params.position === 'undefined') {\n      params.position = getVesselPosition()\n    }\n    server.debug(`*** apiGetResource:  ${resType}, ${JSON.stringify(params)}`)\n    return await db.getResources(resType, params)\n  }\n\n  const apiSetResource = async (\n    resType: string,\n    id: string,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any\n  ): Promise<void> => {\n    server.debug(`*** apiSetResource:  ${resType}, ${id}, ${value}`)\n    const r: StoreRequestParams = {\n      type: resType,\n      id,\n      value\n    }\n    return await db.setResource(r)\n  }\n\n  return plugin\n}\n"
  },
  {
    "path": "packages/resources-provider-plugin/src/openApi.json",
    "content": "{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"version\": \"2.0.0\",\n    \"title\": \"Resources Provider (Built-in)\",\n    \"termsOfService\": \"http://signalk.org/terms/\",\n    \"license\": {\n      \"name\": \"Apache 2.0\",\n      \"url\": \"http://www.apache.org/licenses/LICENSE-2.0.html\"\n    }\n  },\n  \"externalDocs\": {\n    \"url\": \"http://signalk.org/specification/\",\n    \"description\": \"Signal K specification.\"\n  },\n  \"tags\": [\n    {\n      \"name\": \"configuration\",\n      \"description\": \"Configure Resource Collections\"\n    }\n  ],\n  \"components\": {\n    \"schemas\": {},\n    \"responses\": {\n      \"200ActionResponse\": {\n        \"description\": \"PUT, DELETE OK response\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"COMPLETED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [200]\n                }\n              },\n              \"required\": [\"id\", \"statusCode\", \"state\"]\n            }\n          }\n        }\n      },\n      \"201ActionResponse\": {\n        \"description\": \"POST OK response\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"COMPLETED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [201]\n                },\n                \"id\": {\n                  \"$ref\": \"#/components/schemas/SignalKUuid\"\n                }\n              },\n              \"required\": [\"id\", \"statusCode\", \"state\"]\n            }\n          }\n        }\n      },\n      \"ErrorResponse\": {\n        \"description\": \"Failed operation\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"description\": \"Request error response\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"FAILED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [404]\n                },\n                \"message\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"required\": [\"state\", \"statusCode\", \"message\"]\n            }\n          }\n        }\n      }\n    },\n    \"parameters\": {\n      \"CollectionParam\": {\n        \"name\": \"collection\",\n        \"in\": \"path\",\n        \"description\": \"Resource collection\",\n        \"required\": true,\n        \"schema\": {\n          \"type\": \"string\"\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"bearerAuth\": {\n        \"type\": \"http\",\n        \"scheme\": \"bearer\",\n        \"bearerFormat\": \"JWT\"\n      },\n      \"cookieAuth\": {\n        \"type\": \"apiKey\",\n        \"in\": \"cookie\",\n        \"name\": \"JAUTHENTICATION\"\n      }\n    }\n  },\n  \"security\": [{ \"cookieAuth\": [] }, { \"bearerAuth\": [] }],\n  \"paths\": {\n    \"/_config\": {\n      \"get\": {\n        \"tags\": [\"configuration\"],\n        \"summary\": \"Retrieve plugin configuration\",\n        \"responses\": {\n          \"default\": {\n            \"description\": \"List of available resource collections\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"required\": [\"standard\", \"custom\"],\n                  \"properties\": {\n                    \"standard\": {\n                      \"type\": \"object\",\n                      \"properties\": {\n                        \"routes\": {\n                          \"type\": \"boolean\"\n                        },\n                        \"waypoints\": {\n                          \"type\": \"boolean\"\n                        },\n                        \"notes\": {\n                          \"type\": \"boolean\"\n                        },\n                        \"regions\": {\n                          \"type\": \"boolean\"\n                        },\n                        \"charts\": {\n                          \"type\": \"boolean\"\n                        }\n                      }\n                    },\n                    \"custom\": {\n                      \"type\": \"array\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"required\": [\"name\"],\n                        \"properties\": {\n                          \"name\": {\n                            \"type\": \"string\"\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/_config/{collection}\": {\n      \"parameters\": [\n        {\n          \"$ref\": \"#/components/parameters/CollectionParam\"\n        }\n      ],\n      \"post\": {\n        \"tags\": [\"configuration\"],\n        \"summary\": \"Add a new resource collection with the supplied name and restarts the plugin.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\"description\"],\n                \"properties\": {\n                  \"description\": {\n                    \"type\": \"string\",\n                    \"description\": \"Text describing the collection contents.\",\n                    \"example\": \"Fishing zones\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/200ActionResponse\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      },\n      \"delete\": {\n        \"tags\": [\"configuration\"],\n        \"summary\": \"Remove the resource collection with the supplied name. `Note: This does NOT delete collection folder & files.\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/200ActionResponse\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/resources-provider-plugin/src/types/index.ts",
    "content": "export * from './store'\n"
  },
  {
    "path": "packages/resources-provider-plugin/src/types/store.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n// ** Resource Store Interface\nexport interface IResourceStore {\n  savePath: string\n  resources: any\n  init: (basePath: string) => Promise<{ error: boolean; message: string }>\n  getResources: (\n    type: string,\n    item: any,\n    params: { [key: string]: any }\n  ) => Promise<{ [key: string]: any }>\n  setResource: (r: StoreRequestParams) => Promise<void>\n}\n\nexport interface StoreRequestParams {\n  id: string\n  type: string\n  value: any\n}\n"
  },
  {
    "path": "packages/resources-provider-plugin/tsconfig.json",
    "content": "{\n  \"extends\": \"../../tsconfig.base.json\",\n  \"compilerOptions\": {\n    \"allowJs\": false\n  },\n  \"include\": [\"./src/**/*\", \"./src/openApi.json\"],\n  \"references\": [\n    {\n      \"path\": \"../server-api\"\n    }\n  ]\n}\n"
  },
  {
    "path": "packages/server-admin-ui/.gitignore",
    "content": "# See http://help.github.com/ignore-files/ for more about ignoring files.\n\n# dependencies\nnode_modules\npackage-lock.json\n\n# testing\ncoverage\n\n# production\npublic\n.__mf__temp\n\n# misc\n.DS_Store\nThumbs.db\n.env\n.idea\nnpm-debug.log\ncompilation-stats.json\nbundle-stats.html"
  },
  {
    "path": "packages/server-admin-ui/.npmignore",
    "content": "# Logs\nlogs\n*.log\nnpm-debug.log*\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by jscoverage/JSCover\nlib-cov\n\n# Coverage directory used by tools like istanbul\ncoverage\n\n# nyc test coverage\n.nyc_output\n\n# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)\n.grunt\n\n# node-waf configuration\n.lock-wscript\n\n# Compiled binary addons (http://nodejs.org/api/addons.html)\nbuild/Release\n\n# Dependency directories\nnode_modules\njspm_packages\n\n# Optional npm cache directory\n.npm\n\n# Optional REPL history\n.node_repl_history\n\nsrc\npublic_src\nscss\nvite.config.js\ntsconfig.json\ncompilation-stats.json\npublic/*.hot-update.js\npublic/*.hot-update.json\npublic/stats.json\n"
  },
  {
    "path": "packages/server-admin-ui/README.md",
    "content": "# @signalk/server-admin-ui\n\nAdmin interface for the [Signal K](http://signalk.org) [Node Server](https://github.com/SignalK/signalk-server-node).\n\n## Development\n\n### Hot Reload\n\n1. Start the Signal K server on port 3000:\n\n   ```bash\n   bin/nmea-from-file\n   ```\n\n2. In a separate terminal, start the Vite dev server:\n\n   ```bash\n   cd packages/server-admin-ui\n   npm run dev\n   ```\n\n3. Open http://localhost:5173 in your browser\n\nThe dev server proxies API requests to the Signal K server on port 3000.\n\n### Production Build\n\n```bash\nnpm run build\nnpm link\ncd ../../\nnpm link @signalk/server-admin-ui\nnpm start\n```\n\nThen access the Admin UI at http://localhost:3000.\n\n### Scripts\n\n- `npm run dev` - Vite dev server with hot reload (port 5173)\n- `npm run build` - Production build\n- `npm run lint` - ESLint with auto-fix\n- `npm run format` - Prettier\n\n## Module Federation\n\nEmbedded webapps and plugin configuration panels use Module Federation to share React as a singleton. See the [WebApps documentation](../../docs/develop/webapps.md) for details.\n"
  },
  {
    "path": "packages/server-admin-ui/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta\n      name=\"viewport\"\n      content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"\n    />\n    <meta name=\"description\" content=\"Signal K Node Server\" />\n\n    %ADDONSCRIPTS%\n\n    <link rel=\"shortcut icon\" href=\"img/favicon.ico\" />\n    <title>Signal K Server</title>\n  </head>\n  <body\n    class=\"app header-fixed sidebar-fixed aside-menu-fixed aside-menu-hidden\"\n  >\n    <div id=\"root\"></div>\n    <script type=\"module\" src=\"/src/index.ts\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "packages/server-admin-ui/package.json",
    "content": "{\n  \"name\": \"@signalk/server-admin-ui\",\n  \"version\": \"2.26.0\",\n  \"description\": \"Signal K server admin webapp\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/server-admin-ui\"\n  },\n  \"author\": \"Dirk Wahrheit, Scott Bender, Teppo Kurki\",\n  \"contributors\": [\n    {\n      \"name\": \"Teppo Kurki\"\n    },\n    {\n      \"name\": \"Scott Bender\"\n    }\n  ],\n  \"license\": \"MIT\",\n  \"type\": \"module\",\n  \"keywords\": [\n    \"signalk-webapp\"\n  ],\n  \"signalk\": {\n    \"appIcon\": \"./img/signal-k-logo-image.svg\",\n    \"displayName\": \"Admin UI\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.11.6\",\n    \"@babel/preset-react\": \"^7.10.4\",\n    \"@fortawesome/fontawesome-free\": \"^5.15.1\",\n    \"@fortawesome/fontawesome-svg-core\": \"^6.5.1\",\n    \"@fortawesome/free-brands-svg-icons\": \"^6.5.1\",\n    \"@fortawesome/free-regular-svg-icons\": \"^6.5.1\",\n    \"@fortawesome/free-solid-svg-icons\": \"^6.5.1\",\n    \"@fortawesome/react-fontawesome\": \"^3.1.1\",\n    \"@module-federation/vite\": \"^1.9.4\",\n    \"@rolldown/plugin-babel\": \"^0.2.2\",\n    \"@rjsf/core\": \"^5.24.13\",\n    \"@rjsf/utils\": \"^5.24.13\",\n    \"@rjsf/validator-ajv8\": \"^5.24.13\",\n    \"@signalk/server-admin-ui-dependencies\": \"2.23.0\",\n    \"@testing-library/dom\": \"^10.4.0\",\n    \"@testing-library/jest-dom\": \"^6.9.1\",\n    \"@testing-library/react\": \"^16.3.2\",\n    \"@testing-library/user-event\": \"^14.6.1\",\n    \"@types/escape-html\": \"^1.0.4\",\n    \"@types/lodash.remove\": \"^4.7.9\",\n    \"@types/lodash.set\": \"^4.3.9\",\n    \"@types/lodash.uniq\": \"^4.5.9\",\n    \"@types/react\": \"^19.2.0\",\n    \"@types/react-dom\": \"^19.2.0\",\n    \"@vitejs/plugin-react\": \"^6.0.1\",\n    \"@vitest/coverage-v8\": \"^4.1.2\",\n    \"ansi-to-html\": \"^0.6.14\",\n    \"babel-plugin-react-compiler\": \"^1.0.0\",\n    \"bootstrap\": \"^5.3.3\",\n    \"buffer\": \"^6.0.3\",\n    \"dayjs\": \"^1.11.13\",\n    \"escape-html\": \"^1.0.3\",\n    \"font-awesome\": \"^4.7.0\",\n    \"html-react-parser\": \"^5.2.5\",\n    \"jsdom\": \"^27.4.0\",\n    \"jsonlint-mod\": \"^1.7.6\",\n    \"lodash.remove\": \"^4.7.0\",\n    \"lodash.set\": \"^4.3.2\",\n    \"lodash.uniq\": \"^4.5.0\",\n    \"mathjs\": \"^15.2.0\",\n    \"path-browserify\": \"^1.0.1\",\n    \"react\": \"^19.2.0\",\n    \"react-bootstrap\": \"^2.10.10\",\n    \"react-dom\": \"^19.2.0\",\n    \"react-infinite-scroll-component\": \"^6.1.0\",\n    \"react-json-tree\": \"^0.20.0\",\n    \"react-router-dom\": \"^6.28.0\",\n    \"react-select\": \"^5.10.2\",\n    \"reconnecting-websocket\": \"^4.4.0\",\n    \"rollup-plugin-visualizer\": \"^5.12.0\",\n    \"sass\": \"^1.81.0\",\n    \"simple-line-icons\": \"^2.5.5\",\n    \"typescript\": \"^5.7.2\",\n    \"vite\": \"^8.0.9\",\n    \"vitest\": \"^4.1.2\"\n  },\n  \"scripts\": {\n    \"prepublishOnly\": \"npm run build\",\n    \"dev\": \"vite\",\n    \"watch\": \"vite build --watch\",\n    \"build\": \"vite build\",\n    \"preview\": \"vite preview\",\n    \"format\": \"prettier --write src/\",\n    \"lint\": \"eslint --fix\",\n    \"clean\": \"rimraf ./public\",\n    \"bundle-analyzer\": \"vite-bundle-visualizer\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest\",\n    \"test:coverage\": \"vitest run --coverage\"\n  },\n  \"dependencies\": {\n    \"zustand\": \"^5.0.10\"\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/public_src/index.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta\n      name=\"viewport\"\n      content=\"width=device-width, initial-scale=1, shrink-to-fit=no\"\n    />\n    <meta name=\"description\" content=\"Signal K Node Server\" />\n\n    %ADDONSCRIPTS%\n\n    <link rel=\"shortcut icon\" href=\"img/favicon.ico\" />\n    <title>Signal K Server</title>\n  </head>\n\n  <!-- BODY options, add following classes to body to change options\n\n  // Header options\n  1. '.header-fixed'\t\t\t\t\t- Fixed Header\n\n  // Brand options\n  1. '.brand-minimized'       - Minimized brand (Only symbol)\n\n  // Sidebar options\n  1. '.sidebar-fixed'\t\t\t\t\t- Fixed Sidebar\n  2. '.sidebar-hidden'\t\t\t\t- Hidden Sidebar\n  3. '.sidebar-off-canvas'\t\t- Off Canvas Sidebar\n  4. '.sidebar-minimized'\t\t\t- Minimized Sidebar (Only icons)\n  5. '.sidebar-compact'\t\t\t  - Compact Sidebar\n\n  // Aside options\n  1. '.aside-menu-fixed'\t\t\t- Fixed Aside Menu\n  2. '.aside-menu-hidden'\t\t\t- Hidden Aside Menu\n  3. '.aside-menu-off-canvas'\t- Off Canvas Aside Menu\n\n  // Breadcrumb options\n  1. '.breadcrumb-fixed'\t\t\t- Fixed Breadcrumb\n\n  // Footer options\n  1. '.footer-fixed'\t\t\t\t\t- Fixed footer\n\n  -->\n\n  <body\n    class=\"app header-fixed sidebar-fixed aside-menu-fixed aside-menu-hidden\"\n  >\n    <div id=\"root\"></div>\n    <!--\n      This HTML file is a template.\n      If you open it directly in the browser, you will see an empty page.\n\n      You can add webfonts, meta tags, or analytics to this file.\n      The build step will place the bundled scripts into the <body> tag.\n\n      To begin the development, run `npm start`.\n      To create a production bundle, use `npm run build`.\n    -->\n  </body>\n</html>\n"
  },
  {
    "path": "packages/server-admin-ui/scss/_bootstrap-variables.scss",
    "content": "// Bootstrap overrides\n\n//\n// Color system\n//\n\n$white: #fff;\n$gray-100: #f0f3f5;\n$gray-200: #c2cfd6;\n$gray-300: #a4b7c1;\n$gray-400: #869fac;\n$gray-500: #678898;\n$gray-600: #536c79;\n$gray-700: #3e515b;\n$gray-800: #29363d;\n$gray-900: #151b1e;\n$black: #000 !default;\n\n$blue: #003399;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #f86c6b;\n$orange: #f8cb00;\n$yellow: #ffcc00 !default;\n$green: #00cd79;\n$teal: #20c997 !default;\n$cyan: #63c2de;\n\n$colors: (\n  blue: $blue,\n  indigo: $indigo,\n  purple: $purple,\n  pink: $pink,\n  red: $red,\n  orange: $orange,\n  yellow: $yellow,\n  green: $green,\n  teal: $teal,\n  cyan: $cyan,\n  white: $white,\n  gray: $gray-600,\n  gray-dark: $gray-800\n);\n\n$theme-colors: (\n  primary: $blue,\n  secondary: $gray-700,\n  success: $green,\n  info: $cyan,\n  warning: $yellow,\n  danger: $red,\n  light: $gray-200,\n  dark: $gray-800\n);\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-transitions: true;\n$enable-rounded: true;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: #e4e5e6;\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n$font-size-base: 0.875rem;\n\n// Breadcrumbs\n\n$breadcrumb-bg: #fff;\n$breadcrumb-margin-bottom: 1.5rem;\n\n// Cards\n\n$card-bg: $white;\n$card-border-color: $gray-200;\n$card-cap-bg: $gray-100;\n\n// Dropdowns\n\n$dropdown-padding-y: 0;\n$dropdown-border-color: $gray-200;\n$dropdown-divider-bg: $gray-100;\n\n// Buttons\n\n$btn-secondary-border: $gray-300;\n\n// Progress bars\n\n$progress-bg: $gray-100;\n\n// Tables\n\n$table-bg: $white;\n$table-bg-accent: $gray-100;\n$table-bg-hover: $gray-100;\n\n// Forms\n\n$input-bg: $white;\n$input-focus-bg: $white;\n$input-group-addon-bg: $gray-100;\n$input-border-color: $gray-200;\n$input-group-addon-border-color: $gray-200;\n\n// List groups\n\n$list-group-bg: $white;\n"
  },
  {
    "path": "packages/server-admin-ui/scss/_core-variables.scss",
    "content": "// core overrides\n"
  },
  {
    "path": "packages/server-admin-ui/scss/_custom.scss",
    "content": "// Here you can add other styles\n\n// Navbar toggler - remove border to match CoreUI v1 styling\n.app-header .navbar-toggler {\n  border: none;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);\n\n  &:focus {\n    box-shadow: none;\n  }\n}\n\n// RJSF Form Styling\n\n// Mixin for button state variants to reduce duplication\n@mixin button-variant(\n  $bg-color,\n  $border-color,\n  $hover-bg,\n  $hover-border,\n  $shadow-color\n) {\n  background-color: $bg-color !important;\n  border-color: $border-color !important;\n  color: white !important;\n\n  &:hover {\n    background-color: $hover-bg !important;\n    border-color: $hover-border !important;\n  }\n\n  &:focus {\n    background-color: $hover-bg !important;\n    border-color: $hover-border !important;\n    box-shadow: 0 0 0 0.2rem $shadow-color !important;\n  }\n}\n\nform.rjsf {\n  // General form element styling\n  label {\n    margin-bottom: 0;\n  }\n\n  div > p.field-description {\n    font-size: 0.7rem;\n    font-style: italic;\n    margin-bottom: 0px;\n  }\n\n  input[type='text'],\n  input[type='number'],\n  input[type='email'],\n  input[type='url'],\n  input[type='password'],\n  textarea {\n    width: 100%;\n  }\n\n  // Add spacing between form fields (Bootstrap 5 compatibility)\n  fieldset {\n    margin-bottom: 1rem;\n\n    > div {\n      margin-bottom: 0.75rem;\n    }\n  }\n\n  // Add spacing after checkboxes\n  input[type='checkbox'] {\n    margin-right: 0.5rem;\n  }\n\n  .form-check-input {\n    margin-right: 0.5rem;\n  }\n\n  .form-check-label {\n    margin-left: 0.25rem;\n  }\n\n  // Checkbox container spacing\n  .checkbox,\n  .form-check {\n    margin-bottom: 0.5rem;\n  }\n\n  div.row.array-item {\n    background-color: aliceblue;\n    margin-bottom: 3px;\n  }\n\n  // Custom button styling for RJSF buttons to match original appearance\n\n  // Add button styling - cyan color\n  button.btn-add,\n  button.array-item-add button {\n    @include button-variant(\n      #20a8d8,\n      // background\n      #20a8d8,\n      // border\n      #1985ac,\n      // hover background\n      #1985ac,\n      // hover border\n      rgba(32, 168, 216, 0.5) // focus shadow\n    );\n  }\n\n  // Remove button styling - red color\n  button.array-item-remove {\n    @include button-variant(\n      #f86c6b,\n      // background\n      #f86c6b,\n      // border\n      #f63c3a,\n      // hover background\n      #f63c3a,\n      // hover border\n      rgba(248, 108, 107, 0.5) // focus shadow\n    );\n  }\n\n  // Array button styling\n  .array-button-style {\n    flex: 1 1 0%;\n    padding-left: 6px;\n    padding-right: 6px;\n    font-weight: bold;\n  }\n\n  // Button group flexbox layout\n  .btn-group-flex {\n    display: flex;\n    justify-content: space-around;\n  }\n}\n\n// react-bootstrap's Form.Group does not add margin like reactstrap's FormGroup did.\n// Reactstrap added mb-3 automatically; replicate that for horizontal form rows.\n.card-body form .row,\n.form-horizontal .row {\n  margin-bottom: 1rem;\n}\n\n@media (max-width: 767px) {\n  .container-fluid,\n  .row {\n    padding: 0 2px !important;\n  }\n  .navbar-header {\n    margin: 0px;\n  }\n}\n\n/** Utility class to attempt to wrap text in a more balanced way. **/\n.text-pretty {\n  text-wrap: balance; /* Fallback for older browsers */\n  text-wrap: pretty; /* Future spec */\n}\n\n// Bootstrap 5 compatibility: Remove default link underlines to match Bootstrap 4 styling\n// Affects Dashboard activity lists and status tables\n.horizontal-bars a,\n.table a {\n  text-decoration: none;\n\n  &:hover {\n    text-decoration: underline;\n  }\n}\n\n// Navbar FontAwesome icon styling to match original FA4 appearance\n.app-header.navbar {\n  .nav-link {\n    // Ensure FA6 SVG icons align properly with text\n    svg {\n      vertical-align: -0.125em;\n      margin-right: 0.35rem;\n    }\n  }\n\n  // Dropdown toggle icon sizing\n  .dropdown-toggle svg {\n    font-size: 1.25rem;\n    margin-right: 0;\n  }\n}\n\n// Dashboard callout values - use body color instead of primary for readability\n.callout-primary {\n  .h4,\n  .h5 {\n    color: inherit;\n  }\n}\n\n// Sidebar FontAwesome SVG icon styling\n.sidebar {\n  .nav-link {\n    svg.nav-icon {\n      display: inline-block;\n      width: 20px;\n      margin: 0 0.5rem 0 0;\n      font-size: 14px;\n      color: #536c79;\n      text-align: center;\n    }\n\n    &.active svg.nav-icon {\n      color: #003399;\n    }\n\n    &:hover svg.nav-icon {\n      color: #fff;\n    }\n  }\n\n  .nav-dropdown-toggle svg.nav-icon {\n    display: inline-block;\n    width: 20px;\n    margin: 0 0.5rem 0 0;\n    font-size: 14px;\n    color: #536c79;\n    text-align: center;\n  }\n\n  // Indent dropdown child items that don't have icons\n  .nav-dropdown-items .nav-link {\n    padding-left: calc(1rem + 20px + 0.5rem);\n  }\n\n  // Hide parent badges when dropdown is expanded (children show their own)\n  .nav-dropdown.open > .nav-dropdown-toggle > .badge {\n    display: none;\n  }\n}\n\n// Ensure btn-success has white text (Bootstrap 5 may calculate dark text for some greens)\n.btn-success,\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active {\n  --bs-btn-color: #fff;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-active-color: #fff;\n  color: #fff !important;\n}\n\n// Source Priorities: nested table in Priorities column should have white background\n.table-striped .table {\n  --bs-table-bg: #fff;\n  background-color: #fff;\n}\n\n// Ensure btn-danger has white text\n.btn-danger,\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active {\n  --bs-btn-color: #fff;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-active-color: #fff;\n  color: #fff !important;\n}\n\n// Ensure badges have white text\n.badge.text-bg-success,\n.badge.text-bg-danger,\n.badge.bg-success,\n.badge.bg-danger {\n  color: #fff !important;\n}\n\n// Plugin config: scrollable list and connected panels on desktop\n@media (min-width: 1200px) {\n  .plugin-list-container {\n    max-height: calc(100vh - 280px);\n    overflow-y: auto;\n  }\n  .plugin-config-row > :first-child .card {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .plugin-config-row > :last-child .card {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n    border-left: 0;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_animate.scss",
    "content": "// scss-lint:disable all\n.animated {\n  animation-duration: 1s;\n  // animation-fill-mode: both;\n}\n\n.animated.infinite {\n  animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n  animation-duration: 2s;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.fadeIn {\n  animation-name: fadeIn;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_aside.scss",
    "content": "@use 'sass:color';\n\n.aside-menu {\n  z-index: $zindex-sticky - 1;\n  width: $aside-menu-width;\n  color: $aside-menu-color;\n  background: $aside-menu-bg;\n  @include borders($aside-menu-borders);\n\n  .nav-tabs {\n    border-color: $border-color;\n    .nav-link {\n      padding: $aside-menu-nav-padding-y $aside-menu-nav-padding-x;\n      color: $body-color;\n      border-top: 0;\n      &.active {\n        color: theme-color('primary');\n        border-right-color: $border-color;\n        border-left-color: $border-color;\n      }\n    }\n    .nav-item:first-child {\n      .nav-link {\n        border-left: 0;\n      }\n    }\n  }\n\n  .tab-content {\n    position: relative;\n    overflow-x: hidden;\n    overflow-y: auto;\n    border: 0;\n    border-top: 1px solid $border-color;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n\n    &::-webkit-scrollbar {\n      width: 10px;\n      margin-left: -10px;\n      -webkit-appearance: none;\n    }\n\n    // &::-webkit-scrollbar-button {    }\n\n    &::-webkit-scrollbar-track {\n      background-color: color.adjust($aside-menu-bg, $lightness: 5%);\n      border-right: 1px solid color.adjust($aside-menu-bg, $lightness: -5%);\n      border-left: 1px solid color.adjust($aside-menu-bg, $lightness: -5%);\n    }\n\n    // &::-webkit-scrollbar-track-piece {    }\n\n    &::-webkit-scrollbar-thumb {\n      height: 50px;\n      background-color: color.adjust($aside-menu-bg, $lightness: -10%);\n      background-clip: content-box;\n      border-color: transparent;\n      border-style: solid;\n      border-width: 1px 2px;\n    }\n\n    .tab-pane {\n      padding: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_avatars.scss",
    "content": ".img-avatar {\n  border-radius: 50em;\n}\n\n.avatar {\n  $width: 36px;\n  $status-width: 10px;\n  @include avatar($width, $status-width);\n}\n\n.avatar.avatar-xs {\n  $width: 20px;\n  $status-width: 8px;\n  @include avatar($width, $status-width);\n}\n\n.avatar.avatar-sm {\n  $width: 24px;\n  $status-width: 8px;\n  @include avatar($width, $status-width);\n}\n\n.avatar.avatar-lg {\n  $width: 72px;\n  $status-width: 12px;\n  @include avatar($width, $status-width);\n}\n\n.avatars-stack {\n  .avatar.avatar-xs {\n    margin-right: -10px;\n  }\n\n  // .avatar.avatar-sm {\n  //\n  // }\n\n  .avatar {\n    margin-right: -15px;\n    transition:\n      margin-left $layout-transition-speed,\n      margin-right $layout-transition-speed;\n\n    &:hover {\n      margin-right: 0 !important;\n    }\n  }\n\n  // .avatar.avatar-lg {\n  //\n  // }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_badge.scss",
    "content": "// Bootstrap 5: .badge-pill is replaced by .rounded-pill\n// Keeping for backwards compatibility\n.badge-pill {\n  border-radius: var(--bs-border-radius-pill, 50rem);\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_breadcrumb-menu.scss",
    "content": ".breadcrumb-menu {\n  margin-left: auto;\n\n  &::before {\n    display: none;\n  }\n\n  .btn-group {\n    vertical-align: top;\n  }\n\n  .btn {\n    padding: 0 $input-btn-padding-x;\n    color: $text-muted;\n    vertical-align: top;\n    border: 0;\n\n    &:hover,\n    &.active {\n      color: $body-color;\n      background: transparent;\n    }\n  }\n\n  .open {\n    .btn {\n      color: $body-color;\n      background: transparent;\n    }\n  }\n\n  .dropdown-menu {\n    min-width: 180px;\n    line-height: $line-height-base;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_breadcrumb.scss",
    "content": ".breadcrumb {\n  position: relative;\n  @include borders($breadcrumb-borders);\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_buttons.scss",
    "content": "@use 'sass:color';\n\nbutton {\n  cursor: pointer;\n}\n\n.btn {\n  .badge {\n    position: absolute;\n    top: 2px;\n    right: 6px;\n    font-size: 9px;\n  }\n}\n\n.btn-transparent {\n  color: #fff;\n  background-color: transparent;\n  border-color: transparent;\n}\n\n.btn {\n  [class^='icon-'],\n  [class*=' icon-'] {\n    display: inline-block;\n    margin-top: -2px;\n    vertical-align: middle;\n  }\n}\n\n.btn-facebook,\n.btn-twitter,\n.btn-linkedin,\n.btn-flickr,\n.btn-tumblr,\n.btn-xing,\n.btn-github,\n.btn-html5,\n.btn-openid,\n.btn-stack-overflow,\n.btn-youtube,\n.btn-css3,\n.btn-dribbble,\n.btn-google-plus,\n.btn-instagram,\n.btn-pinterest,\n.btn-vk,\n.btn-yahoo,\n.btn-behance,\n.btn-dropbox,\n.btn-reddit,\n.btn-spotify,\n.btn-vine,\n.btn-foursquare,\n.btn-vimeo {\n  position: relative;\n  overflow: hidden;\n  color: #fff !important;\n  text-align: center;\n\n  &::before {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    font-family: 'FontAwesome';\n    font-style: normal;\n    font-weight: normal;\n    -moz-osx-font-smoothing: grayscale;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  &:hover {\n    color: #fff;\n  }\n\n  &.icon {\n    span {\n      display: none;\n    }\n  }\n\n  &.text {\n    &::before {\n      display: none;\n    }\n\n    span {\n      margin-left: 0 !important;\n    }\n  }\n  @include button-social-size(\n    $input-btn-padding-y,\n    $input-btn-padding-x,\n    $font-size-base,\n    $line-height-base,\n    $btn-border-radius\n  );\n\n  &.btn-lg {\n    @include button-social-size(\n      $input-btn-padding-y-lg,\n      $input-btn-padding-x-lg,\n      $font-size-lg,\n      $line-height-lg,\n      $btn-border-radius-lg\n    );\n  }\n\n  &.btn-sm {\n    @include button-social-size(\n      $input-btn-padding-y-sm,\n      $input-btn-padding-x-sm,\n      $font-size-sm,\n      $line-height-sm,\n      $btn-border-radius-sm\n    );\n  }\n}\n\n.btn-facebook {\n  $color: $facebook;\n\n  background: $color;\n  &::before {\n    content: '\\f09a';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-twitter {\n  $color: $twitter;\n\n  background: $color;\n  &::before {\n    content: '\\f099';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-linkedin {\n  $color: $linkedin;\n\n  background: $color;\n  &::before {\n    content: '\\f0e1';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-flickr {\n  $color: $flickr;\n\n  background: $color;\n  &::before {\n    content: '\\f16e';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-tumblr {\n  $color: $tumblr;\n\n  background: $color;\n  &::before {\n    content: '\\f173';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-xing {\n  $color: $xing;\n\n  background: $color;\n  &::before {\n    content: '\\f168';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-github {\n  $color: $github;\n\n  background: $color;\n  &::before {\n    content: '\\f09b';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-html5 {\n  $color: $html5;\n\n  background: $color;\n  &::before {\n    content: '\\f13b';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-openid {\n  $color: $openid;\n\n  background: $color;\n  &::before {\n    content: '\\f19b';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-stack-overflow {\n  $color: $stack-overflow;\n\n  background: $color;\n  &::before {\n    content: '\\f16c';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-css3 {\n  $color: $css3;\n\n  background: $color;\n  &::before {\n    content: '\\f13c';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-youtube {\n  $color: $youtube;\n\n  background: $color;\n  &::before {\n    content: '\\f167';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-dribbble {\n  $color: $dribbble;\n\n  background: $color;\n  &::before {\n    content: '\\f17d';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-google-plus {\n  $color: $google-plus;\n\n  background: $color;\n  &::before {\n    content: '\\f0d5';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-instagram {\n  $color: $instagram;\n\n  background: $color;\n  &::before {\n    content: '\\f16d';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-pinterest {\n  $color: $pinterest;\n\n  background: $color;\n  &::before {\n    content: '\\f0d2';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-vk {\n  $color: $vk;\n\n  background: $color;\n  &::before {\n    content: '\\f189';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-yahoo {\n  $color: $yahoo;\n\n  background: $color;\n  &::before {\n    content: '\\f19e';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-behance {\n  $color: $behance;\n\n  background: $color;\n  &::before {\n    content: '\\f1b4';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-dropbox {\n  $color: $dropbox;\n\n  background: $color;\n  &::before {\n    content: '\\f16b';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-reddit {\n  $color: $reddit;\n\n  background: $color;\n  &::before {\n    content: '\\f1a1';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-spotify {\n  $color: $spotify;\n\n  background: $color;\n  &::before {\n    content: '\\f1bc';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-vine {\n  $color: $vine;\n\n  background: $color;\n  &::before {\n    content: '\\f1ca';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-foursquare {\n  $color: $foursquare;\n\n  background: $color;\n  &::before {\n    content: '\\f180';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n.btn-vimeo {\n  $color: $vimeo;\n\n  background: $color;\n  &::before {\n    content: '\\f194';\n    background: color.adjust($color, $lightness: -5%);\n  }\n\n  &:hover {\n    background: color.adjust($color, $lightness: -5%);\n\n    &::before {\n      background: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_callout.scss",
    "content": ".callout {\n  position: relative;\n  padding: 0 $spacer;\n  margin: $spacer 0;\n  border: 0 solid $border-color;\n  border-left-width: 0.25rem;\n\n  @if $enable-rounded {\n    border-radius: 0.25rem;\n  }\n\n  .chart-wrapper {\n    position: absolute;\n    top: 10px;\n    left: 50%;\n    float: right;\n    width: 50%;\n  }\n}\n\n.callout-bordered {\n  border: 1px solid $border-color;\n  border-left-width: 0.25rem;\n}\n.callout code {\n  border-radius: 0.25rem;\n}\n.callout h4 {\n  margin-top: 0;\n  margin-bottom: 0.25rem;\n}\n.callout p:last-child {\n  margin-bottom: 0;\n}\n.callout + .callout {\n  margin-top: -0.25rem;\n}\n\n.callout-default {\n  border-left-color: $text-muted;\n\n  h4 {\n    color: $text-muted;\n  }\n}\n\n@each $color, $value in $theme-colors {\n  .callout-#{$color} {\n    border-left-color: $value;\n\n    h4 {\n      color: $value;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_card.scss",
    "content": "@use 'sass:color';\n@use 'sass:math';\n\n.card {\n  margin-bottom: 1.5 * $spacer;\n\n  // Cards with color accent\n  @each $color, $value in $theme-colors {\n    &.bg-#{$color} {\n      border-color: color.adjust($value, $lightness: -12.5%);\n      .card-header {\n        background-color: color.adjust($value, $lightness: -3%);\n        border-color: color.adjust($value, $lightness: -12.5%);\n      }\n    }\n  }\n}\n\n.text-white .text-muted {\n  color: rgba(255, 255, 255, 0.6) !important;\n}\n\n.card-header {\n  .icon-bg {\n    display: inline-body;\n    padding: $card-spacer-y $card-spacer-x !important;\n    margin-top: -$card-spacer-y;\n    margin-right: $card-spacer-x;\n    margin-bottom: -$card-spacer-y;\n    margin-left: -$card-spacer-x;\n    line-height: inherit;\n    color: $card-icon-color;\n    vertical-align: bottom;\n    background: $card-icon-bg;\n    border-right: $card-border-width solid $card-border-color;\n  }\n\n  .nav.nav-tabs {\n    margin-top: -$card-spacer-y;\n    margin-bottom: -$card-spacer-y;\n    border-bottom: 0;\n\n    .nav-item {\n      border-top: 0;\n    }\n\n    .nav-link {\n      padding: $card-spacer-y math.div($card-spacer-x, 2);\n      color: $text-muted;\n      border-top: 0;\n\n      &.active {\n        color: $body-color;\n        background: #fff;\n      }\n    }\n  }\n\n  &.card-header-inverse {\n    color: #fff;\n  }\n\n  .btn {\n    margin-top: -$input-btn-padding-y;\n  }\n  .btn-sm {\n    margin-top: -$input-btn-padding-y-sm;\n  }\n  .btn-lg {\n    margin-top: -$input-btn-padding-y-lg;\n  }\n}\n//\n.card-footer {\n  ul {\n    display: table;\n    width: 100%;\n    padding: 0;\n    margin: 0;\n    table-layout: fixed;\n\n    li {\n      display: table-cell;\n      padding: 0 $card-spacer-x;\n      text-align: center;\n    }\n  }\n}\n\n[class*='card-outline-'] {\n  .card-body {\n    background: #fff !important;\n  }\n\n  &.card-outline-top {\n    border-top-width: 2px;\n    border-right-color: $border-color;\n    border-bottom-color: $border-color;\n    border-left-color: $border-color;\n  }\n}\n\n// Cards with color accent\n@each $color, $value in $theme-colors {\n  .card-accent-#{$color} {\n    @include card-accent-variant($value);\n  }\n}\n\n// Card Actions\n.card-header {\n  > i {\n    margin-right: math.div($spacer, 2);\n  }\n  .card-actions {\n    position: absolute;\n    top: 0;\n    right: 0;\n    //height: inherit;\n\n    a,\n    button {\n      display: block;\n      float: left;\n      width: 50px;\n      padding: $card-spacer-y 0;\n      margin: 0 !important;\n      color: $body-color;\n      text-align: center;\n      background: transparent;\n      border: 0;\n      border-left: 1px solid $border-color;\n      box-shadow: 0;\n\n      &:hover {\n        text-decoration: none;\n      }\n\n      [class^='icon-'],\n      [class*=' icon-'] {\n        display: inline-body;\n        vertical-align: middle;\n      }\n\n      i {\n        display: inline-body;\n        transition: 0.4s;\n      }\n\n      .r180 {\n        transform: rotate(180deg);\n      }\n    }\n\n    .input-group {\n      width: 230px;\n      margin: 6px;\n\n      .input-group-addon {\n        background: #fff;\n      }\n\n      input {\n        border-left: 0;\n      }\n    }\n  }\n}\n\n.card-full {\n  margin-top: -$spacer;\n  margin-right: math.div(-$grid-gutter-width, 2);\n  margin-left: math.div(-$grid-gutter-width, 2);\n  border: 0;\n  border-bottom: $card-border-width solid $border-color;\n}\n\n@include media-breakpoint-up(sm) {\n  .card-columns {\n    &.cols-2 {\n      column-count: 2;\n    }\n  }\n}\n\n.card {\n  &.drag,\n  .drag {\n    cursor: move;\n  }\n}\n\n.card-placeholder {\n  background: rgba(0, 0, 0, 0.025);\n  border: 1px dashed $gray-300;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_charts.scss",
    "content": ".chart-wrapper {\n  canvas {\n    width: 100% !important;\n  }\n}\n// scss-lint:disable QualifyingElement\nbase-chart.chart {\n  display: block !important;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_dropdown-menu-right.scss",
    "content": "// Temp fix for reactstrap\n.app-header {\n  .navbar-nav {\n    .dropdown-menu-right {\n      right: auto;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_dropdown.scss",
    "content": "// Links, buttons, and more within the dropdown menu\n.dropdown-item {\n  position: relative;\n  padding: 0.375rem 0.75rem;\n  border-bottom: 1px solid $dropdown-border-color;\n\n  &:last-child {\n    border-bottom: 0;\n  }\n\n  i {\n    display: inline-block;\n    width: 20px;\n    margin-right: 10px;\n    margin-left: -10px;\n    color: $dropdown-border-color;\n    text-align: center;\n  }\n\n  .badge {\n    position: absolute;\n    right: 10px;\n    margin-top: 2px;\n  }\n}\n\n// Dropdown section headers\n.dropdown-header {\n  padding: 8px 20px;\n  background: $dropdown-divider-bg;\n  border-bottom: 1px solid $dropdown-border-color;\n\n  .btn {\n    margin-top: -7px;\n    color: $dropdown-header-color;\n\n    &:hover {\n      color: $body-color;\n    }\n\n    &.pull-right {\n      margin-right: -20px;\n    }\n  }\n}\n\n.dropdown-menu-lg {\n  width: 250px;\n}\n.app-header {\n  .navbar-nav {\n    .dropdown-menu {\n      position: absolute;\n    }\n    // Menu positioning\n    //\n    // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n    // menu with the parent.\n    .dropdown-menu-right {\n      right: 0;\n      left: auto; // Reset the default from `.dropdown-menu`\n    }\n\n    .dropdown-menu-left {\n      right: auto;\n      left: 0;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_footer.scss",
    "content": ".app-footer {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  padding: 0 $spacer;\n  color: $footer-color;\n  background: $footer-bg;\n  @include borders($footer-borders);\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_grid.scss",
    "content": "@use 'sass:math';\n\n.row.row-equal {\n  padding-right: math.div($grid-gutter-width, 4);\n  padding-left: math.div($grid-gutter-width, 4);\n  margin-right: math.div($grid-gutter-width, -2);\n  margin-left: math.div($grid-gutter-width, -2);\n\n  [class*='col-'] {\n    padding-right: math.div($grid-gutter-width, 4);\n    padding-left: math.div($grid-gutter-width, 4);\n  }\n}\n\n.main .container-fluid {\n  padding: 30px;\n  height: 100%;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_input-group.scss",
    "content": ".input-group-addon,\n.input-group-btn {\n  min-width: 40px;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_layout.scss",
    "content": "@use 'sass:math';\n@use 'sass:color';\n\n// IE10&11 Flexbox fix\n@media all and (-ms-high-contrast: none) {\n  html {\n    display: flex;\n    flex-direction: column;\n  }\n}\n\n// app-dashboard and app-root are Angular2+ selectors. You can add here your own selectors if you need.\n.app,\napp-dashboard,\napp-root {\n  display: flex;\n  flex-direction: column;\n  min-height: 100vh;\n  min-height: 100dvh;\n}\n\n.app-header {\n  flex: 0 0 $navbar-height;\n}\n\n.app-footer {\n  flex: 0 0 $footer-height;\n}\n\n.app-body {\n  display: flex;\n  flex-direction: row;\n  flex-grow: 1;\n  overflow-x: hidden;\n\n  .main {\n    flex: 1;\n    min-width: 0;\n  }\n\n  .sidebar {\n    // $sidebar-width is the width of the columns\n    flex: 0 0 $sidebar-width;\n    // put the nav on the left\n    order: -1;\n  }\n\n  .aside-menu {\n    // $aside-menu-width is the width of the columns\n    flex: 0 0 $aside-menu-width;\n  }\n}\n\n//\n// header\n//\n.header-fixed {\n  .app-header {\n    position: fixed;\n    z-index: $zindex-sticky;\n    width: 100%;\n  }\n  .app-body {\n    margin-top: $navbar-height;\n  }\n}\n\n//\n// Sidebar\n//\n.sidebar-hidden {\n  .sidebar {\n    margin-left: -$sidebar-width;\n  }\n}\n\n.sidebar-fixed {\n  .sidebar {\n    position: fixed;\n    z-index: $zindex-sticky - 1;\n    width: $sidebar-width;\n    height: calc(100vh - #{$navbar-height});\n    height: calc(100dvh - #{$navbar-height});\n    // margin-top: - $navbar-height;\n\n    // .sidebar-nav {\n    //   height: calc(100vh - #{$navbar-height});\n    // }\n  }\n\n  .main,\n  .app-footer {\n    margin-left: $sidebar-width;\n  }\n\n  &.sidebar-hidden {\n    .main,\n    .app-footer {\n      margin-left: 0;\n    }\n  }\n}\n\n.sidebar-off-canvas {\n  .sidebar {\n    position: fixed;\n    z-index: $zindex-sticky - 1;\n    height: calc(100vh - #{$navbar-height});\n    height: calc(100dvh - #{$navbar-height});\n  }\n}\n\n@include media-breakpoint-up(lg) {\n  .sidebar-compact {\n    .sidebar {\n      flex: 0 0 $sidebar-compact-width;\n    }\n\n    &.sidebar-hidden {\n      .sidebar {\n        margin-left: -$sidebar-compact-width;\n      }\n    }\n\n    &.sidebar-fixed {\n      .main,\n      .app-footer {\n        margin-left: $sidebar-compact-width;\n      }\n\n      .sidebar {\n        width: $sidebar-compact-width;\n      }\n\n      &.sidebar-hidden {\n        .main,\n        .app-footer {\n          margin-left: 0;\n        }\n      }\n    }\n  }\n\n  .sidebar-minimized {\n    .sidebar {\n      flex: 0 0 $sidebar-minimized-width;\n    }\n\n    &.sidebar-hidden {\n      .sidebar {\n        margin-left: -$sidebar-minimized-width;\n      }\n    }\n\n    &.sidebar-fixed {\n      .main,\n      .app-footer {\n        margin-left: $sidebar-minimized-width;\n      }\n\n      .sidebar {\n        width: $sidebar-minimized-width;\n      }\n\n      &.sidebar-hidden {\n        .main,\n        .app-footer {\n          margin-left: 0;\n        }\n      }\n    }\n  }\n}\n\n//\n// Aside Menu\n//\n.aside-menu-hidden {\n  .aside-menu {\n    margin-right: -$aside-menu-width;\n  }\n}\n\n.aside-menu-fixed {\n  .aside-menu {\n    position: fixed;\n    right: 0;\n    height: 100%;\n\n    .tab-content {\n      height: calc(\n        100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n          #{$navbar-height}\n      );\n      height: calc(\n        100dvh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n          #{$navbar-height}\n      );\n    }\n  }\n\n  .main,\n  .app-footer {\n    margin-right: $aside-menu-width;\n  }\n\n  &.aside-menu-hidden {\n    .main,\n    .app-footer {\n      margin-right: 0;\n    }\n  }\n}\n\n.aside-menu-off-canvas {\n  .aside-menu {\n    position: fixed;\n    right: 0;\n    z-index: $zindex-sticky - 1;\n    height: 100%;\n\n    .tab-content {\n      height: calc(\n        100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n          #{$navbar-height}\n      );\n      height: calc(\n        100dvh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n          #{$navbar-height}\n      );\n    }\n  }\n}\n\n//\n// Breadcrumb\n//\n.breadcrumb-fixed {\n  .main {\n    $breadcrumb-height: 2 * $breadcrumb-padding-y + $font-size-base + 1.5 *\n      $spacer;\n    padding-top: $breadcrumb-height;\n  }\n\n  .breadcrumb {\n    position: fixed;\n    top: $navbar-height;\n    right: 0;\n    left: 0;\n    z-index: $zindex-sticky - 2;\n  }\n\n  // if sidebar + main + aside\n  .main:nth-child(2) {\n    .breadcrumb {\n      right: $aside-menu-width;\n      left: $sidebar-width;\n    }\n  }\n\n  // if sidebar + main\n  .main:first-child {\n    .breadcrumb {\n      right: $aside-menu-width;\n      left: 0;\n    }\n  }\n\n  // if  main + aside\n  .main:last-child {\n    .breadcrumb {\n      right: 0;\n    }\n  }\n\n  &.sidebar-minimized {\n    .main .breadcrumb {\n      left: $sidebar-minimized-width;\n    }\n  }\n\n  &.sidebar-hidden,\n  &.sidebar-off-canvas {\n    .main .breadcrumb {\n      left: 0;\n    }\n  }\n\n  &.aside-menu-hidden,\n  &.aside-menu-off-canvas {\n    .main .breadcrumb {\n      right: 0;\n    }\n  }\n}\n\n//\n// Footer\n//\n.footer-fixed {\n  .app-footer {\n    position: fixed;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: $zindex-sticky;\n    height: $footer-height;\n  }\n\n  .app-body {\n    margin-bottom: $footer-height;\n  }\n}\n\n//\n// Animations\n//\n.app-header,\n.app-footer,\n.sidebar,\n.main,\n.aside-menu {\n  transition:\n    margin-left $layout-transition-speed,\n    margin-right $layout-transition-speed,\n    width $layout-transition-speed,\n    flex $layout-transition-speed;\n}\n.sidebar-nav {\n  transition: width $layout-transition-speed;\n}\n.breadcrumb {\n  transition:\n    left $layout-transition-speed,\n    right $layout-transition-speed,\n    width $layout-transition-speed;\n}\n\n//\n// Mobile layout\n//\n\n@include media-breakpoint-down(md) {\n  .app-header.navbar {\n    position: fixed !important;\n    z-index: $zindex-sticky;\n    width: 100%;\n    text-align: center;\n    background-color: $navbar-brand-bg;\n    @include borders($navbar-brand-border);\n\n    .navbar-toggler {\n      @if (color.channel($navbar-brand-bg, 'lightness', $space: hsl) > 40%) {\n        color: $navbar-color;\n      } @else {\n        color: #fff;\n      }\n    }\n\n    .navbar-brand {\n      position: absolute;\n      left: 50%;\n      margin-left: -(math.div($navbar-brand-width, 2));\n    }\n  }\n\n  .app-body {\n    margin-top: $navbar-height;\n  }\n\n  .breadcrumb-fixed {\n    .main:nth-child(2) .breadcrumb {\n      right: auto;\n      left: auto;\n      width: 100%;\n    }\n  }\n\n  .sidebar {\n    position: fixed;\n    z-index: $zindex-sticky - 1;\n    width: $mobile-sidebar-width;\n    height: calc(100vh - #{$navbar-height});\n    height: calc(100dvh - #{$navbar-height});\n    margin-left: -$mobile-sidebar-width;\n\n    .sidebar-nav,\n    .nav {\n      width: $mobile-sidebar-width;\n      min-height: calc(100vh - #{$navbar-height});\n      min-height: calc(100dvh - #{$navbar-height});\n    }\n\n    .sidebar-minimizer {\n      display: none;\n    }\n  }\n\n  .main,\n  .app-footer {\n    margin-left: 0 !important;\n  }\n\n  // .aside-menu {\n  //   margin-right: - $aside-menu-width;\n  // }\n\n  .sidebar-hidden {\n    .sidebar {\n      margin-left: -$mobile-sidebar-width;\n    }\n  }\n\n  .sidebar-mobile-show {\n    .sidebar {\n      width: $mobile-sidebar-width;\n      margin-left: 0;\n    }\n\n    .main {\n      margin-right: -$mobile-sidebar-width !important;\n      margin-left: $mobile-sidebar-width !important;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_loading.scss",
    "content": "// Angular Version\n// Make clicks pass-through\n// scss-lint:disable all\n#loading-bar,\n#loading-bar-spinner {\n  -webkit-pointer-events: none;\n  pointer-events: none;\n  -moz-transition: 350ms linear all;\n  -o-transition: 350ms linear all;\n  -webkit-transition: 350ms linear all;\n  transition: 350ms linear all;\n}\n\n#loading-bar.ng-enter,\n#loading-bar.ng-leave.ng-leave-active,\n#loading-bar-spinner.ng-enter,\n#loading-bar-spinner.ng-leave.ng-leave-active {\n  opacity: 0;\n}\n\n#loading-bar.ng-enter.ng-enter-active,\n#loading-bar.ng-leave,\n#loading-bar-spinner.ng-enter.ng-enter-active,\n#loading-bar-spinner.ng-leave {\n  opacity: 1;\n}\n\n#loading-bar .bar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 20002;\n  width: 100%;\n  height: 2px;\n  background: theme-color('primary');\n  border-top-right-radius: 1px;\n  border-bottom-right-radius: 1px;\n  -moz-transition: width 350ms;\n  -o-transition: width 350ms;\n  -webkit-transition: width 350ms;\n  transition: width 350ms;\n}\n\n// Fancy blur effect\n#loading-bar .peg {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 70px;\n  height: 2px;\n  -moz-border-radius: 100%;\n  -webkit-border-radius: 100%;\n  border-radius: 100%;\n  -moz-box-shadow: #29d 1px 0 6px 1px;\n  -ms-box-shadow: #29d 1px 0 6px 1px;\n  -webkit-box-shadow: #29d 1px 0 6px 1px;\n  box-shadow: #29d 1px 0 6px 1px;\n  opacity: 0.45;\n}\n\n#loading-bar-spinner {\n  position: fixed;\n  top: 10px;\n  left: 10px;\n  z-index: 10002;\n  display: block;\n}\n\n#loading-bar-spinner .spinner-icon {\n  width: 14px;\n  height: 14px;\n\n  border: solid 2px transparent;\n  border-top-color: #29d;\n  border-left-color: #29d;\n  border-radius: 50%;\n\n  -moz-animation: loading-bar-spinner 400ms linear infinite;\n  -ms-animation: loading-bar-spinner 400ms linear infinite;\n  -o-animation: loading-bar-spinner 400ms linear infinite;\n  -webkit-animation: loading-bar-spinner 400ms linear infinite;\n  animation: loading-bar-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes loading-bar-spinner {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-moz-keyframes loading-bar-spinner {\n  0% {\n    -moz-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -moz-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-o-keyframes loading-bar-spinner {\n  0% {\n    -o-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -o-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@-ms-keyframes loading-bar-spinner {\n  0% {\n    -ms-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -ms-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n@keyframes loading-bar-spinner {\n  0% {\n    transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n//Ajax & Static Version\n.pace {\n  -webkit-pointer-events: none;\n  pointer-events: none;\n\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.pace-inactive {\n  display: none;\n}\n\n.pace .pace-progress {\n  position: fixed;\n  top: 0;\n  right: 100%;\n  z-index: 2000;\n  width: 100%;\n  height: 2px;\n  background: theme-color('primary');\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_mixins.scss",
    "content": "@use 'sass:color';\n@use 'sass:list';\n@use 'sass:map';\n\n// Bootstrap 5 compatibility: hover mixins were removed in BS5\n// Adding them back for backwards compatibility with CoreUI styles\n@mixin hover-focus {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover {\n  &:hover {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n\n@mixin button-social-size(\n  $padding-y,\n  $padding-x,\n  $font-size,\n  $line-height,\n  $border-radius\n) {\n  padding: $padding-y $padding-x;\n  font-size: $font-size;\n  line-height: $line-height;\n  border: 0;\n  @include border-radius($border-radius);\n\n  &::before {\n    width: ($padding-y * 2) + ($font-size * $line-height);\n    height: ($padding-y * 2) + ($font-size * $line-height);\n    padding: $padding-y 0;\n    font-size: $font-size;\n    line-height: $line-height;\n    @include border-radius($border-radius);\n  }\n\n  span {\n    margin-left: ($padding-y * 2) + ($font-size * $line-height);\n  }\n\n  &.icon {\n    width: ($padding-y * 2) + ($font-size * $line-height);\n    height: ($padding-y * 2) + ($font-size * $line-height);\n  }\n}\n\n@mixin avatar($width, $status-width) {\n  position: relative;\n  display: inline-block;\n  width: $width;\n\n  .img-avatar {\n    width: $width;\n    height: $width;\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: 0;\n    bottom: 0;\n    display: block;\n    width: $status-width;\n    height: $status-width;\n    border: 1px solid #fff;\n    border-radius: 50em;\n  }\n}\n\n@mixin borders($borders) {\n  @each $border in $borders {\n    $direction: list.nth($border, 1);\n    @if $direction == 'all' {\n      $size: map.get(map.get($borders, $direction), size);\n      $style: map.get(map.get($borders, $direction), style);\n      $color: map.get(map.get($borders, $direction), color);\n      border: $size $style $color;\n    } @else if $direction == 'top' {\n      $size: map.get(map.get($borders, $direction), size);\n      $style: map.get(map.get($borders, $direction), style);\n      $color: map.get(map.get($borders, $direction), color);\n      border-top: $size $style $color;\n    } @else if $direction == 'right' {\n      $size: map.get(map.get($borders, $direction), size);\n      $style: map.get(map.get($borders, $direction), style);\n      $color: map.get(map.get($borders, $direction), color);\n      border-right: $size $style $color;\n    } @else if $direction == 'bottom' {\n      $size: map.get(map.get($borders, $direction), size);\n      $style: map.get(map.get($borders, $direction), style);\n      $color: map.get(map.get($borders, $direction), color);\n      border-bottom: $size $style $color;\n    } @else if $direction == 'left' {\n      $size: map.get(map.get($borders, $direction), size);\n      $style: map.get(map.get($borders, $direction), style);\n      $color: map.get(map.get($borders, $direction), color);\n      border-left: $size $style $color;\n    }\n  }\n}\n\n@mixin sidebar-width($borders, $width) {\n  $sidebar-width: $width;\n\n  @each $border in $borders {\n    $direction: list.nth($border, 1);\n    @if $direction == 'all' {\n      $size: map.get(map.get($borders, $direction), size);\n      $sidebar-width: ($sidebar-width - (2 * $size));\n    } @else if $direction == 'right' {\n      $size: map.get(map.get($borders, $direction), size);\n      $sidebar-width: $sidebar-width - $size;\n    } @else if $direction == 'left' {\n      $size: map.get(map.get($borders, $direction), size);\n      $sidebar-width: $sidebar-width - $size;\n    }\n    width: $sidebar-width;\n  }\n}\n\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    @include border-radius(\n      $card-border-radius-inner $card-border-radius-inner\n        $card-border-radius-inner $card-border-radius-inner\n    );\n    color: #fff !important;\n    background-color: $color !important;\n  }\n  a#{$parent} {\n    @include hover-focus {\n      background-color: color.adjust($color, $lightness: -10%);\n    }\n  }\n}\n\n@mixin card-accent-variant($color) {\n  border-top-width: 2px;\n  border-top-color: $color;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_mobile.scss",
    "content": ""
  },
  {
    "path": "packages/server-admin-ui/scss/core/_modal.scss",
    "content": "@each $color, $value in $theme-colors {\n  .modal-#{$color} {\n    .modal-content {\n      border-color: $value;\n    }\n\n    .modal-header {\n      color: #fff;\n      background-color: $value;\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_nav.scss",
    "content": ".nav-tabs {\n  .nav-link {\n    color: $gray-600;\n    &.active {\n      color: $gray-800;\n      background: #fff;\n      border-color: $border-color;\n      border-bottom-color: #fff;\n      &:focus {\n        background: #fff;\n        border-color: $border-color;\n        border-bottom-color: #fff;\n      }\n    }\n  }\n}\n\n.tab-content {\n  margin-top: -1px;\n  background: #fff;\n  border: 1px solid $border-color;\n  .tab-pane {\n    padding: $spacer;\n  }\n}\n\n.card-block {\n  .tab-content {\n    margin-top: 0;\n    border: 0;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_navbar.scss",
    "content": ".app-header.navbar {\n  position: relative;\n  flex-direction: row;\n  height: $navbar-height;\n  padding: 0;\n  margin: 0;\n  background-color: $navbar-bg;\n  @include borders($navbar-border);\n\n  .navbar-brand {\n    display: inline-block;\n    width: $navbar-brand-width;\n    height: $navbar-height;\n    padding: $navbar-padding-y $navbar-padding-x;\n    margin-right: 0;\n    background-color: $navbar-brand-bg;\n    background-image: $navbar-brand-logo;\n    background-repeat: no-repeat;\n    background-position: center center;\n    background-size: $navbar-brand-logo-size;\n    @include borders($navbar-brand-border);\n  }\n\n  .navbar-toggler {\n    min-width: 50px;\n    padding: $navbar-toggler-padding-y 0;\n\n    &:hover .navbar-toggler-icon {\n      background-image: $navbar-toggler-icon-hover;\n    }\n  }\n\n  .navbar-toggler-icon {\n    height: 23px;\n    background-image: $navbar-toggler-icon;\n  }\n\n  .navbar-nav {\n    flex-direction: row;\n    align-items: center;\n  }\n\n  .nav-item {\n    position: relative;\n    min-width: 50px;\n    margin: 0 !important;\n    text-align: center;\n\n    button {\n      margin: 0 auto;\n    }\n\n    .nav-link {\n      padding-top: 0;\n      padding-bottom: 0;\n      background: 0;\n      border: 0;\n\n      .badge {\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        margin-top: -16px;\n        margin-left: 0;\n      }\n\n      > .img-avatar {\n        height: $navbar-height - 20px;\n        margin: 0 10px;\n      }\n    }\n  }\n\n  .dropdown-menu {\n    padding-bottom: 0;\n    line-height: $line-height-base;\n  }\n\n  .dropdown-item {\n    min-width: 180px;\n  }\n}\n\n.navbar-brand {\n  color: $navbar-active-color;\n\n  @include hover-focus {\n    color: $navbar-active-color;\n  }\n}\n\n.navbar-nav {\n  .nav-link {\n    color: $navbar-color;\n\n    @include hover-focus {\n      color: $navbar-hover-color;\n    }\n  }\n\n  .open > .nav-link,\n  .active > .nav-link,\n  .nav-link.open,\n  .nav-link.active {\n    @include plain-hover-focus {\n      color: $navbar-active-color;\n    }\n  }\n}\n\n.navbar-divider {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n@include media-breakpoint-up(lg) {\n  .brand-minimized {\n    .app-header.navbar {\n      .navbar-brand {\n        width: $navbar-brand-minimized-width;\n        background-color: $navbar-brand-minimized-bg;\n        background-image: $navbar-brand-minimized-logo;\n        background-size: $navbar-brand-minimized-logo-size;\n        @include borders($navbar-brand-minimized-border);\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_others.scss",
    "content": "// scss-lint:disable QualifyingElement\nhr.transparent {\n  border-top: 1px solid transparent;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_progress.scss",
    "content": ".progress-xs {\n  height: 4px;\n}\n\n.progress-sm {\n  height: 8px;\n}\n\n// White progress bar\n.progress-white {\n  background-color: rgba(255, 255, 255, 0.2) !important;\n  .progress-bar {\n    background-color: #fff;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_rtl.scss",
    "content": "@use 'sass:math';\n\n//\n// RTL Support\n//\n// scss-lint:disable NestingDepth, SelectorDepth\n*[dir='rtl'] {\n  direction: rtl;\n  unicode-bidi: embed;\n\n  ul {\n    -webkit-padding-start: 0;\n  }\n\n  table tr th {\n    text-align: right;\n  }\n\n  // Breadcrumb\n\n  .breadcrumb-item {\n    float: right;\n  }\n\n  .breadcrumb-menu {\n    right: auto;\n    left: $breadcrumb-padding-x;\n  }\n\n  // Dropdown\n  .dropdown-item {\n    text-align: right;\n\n    i {\n      margin-right: -10px;\n      margin-left: 10px;\n    }\n\n    .badge {\n      right: auto;\n      left: 10px;\n    }\n  }\n\n  //\n  // Sidebar\n  //\n  .sidebar-hidden {\n    .sidebar {\n      margin-right: -$sidebar-width;\n    }\n  }\n\n  .sidebar-fixed {\n    .main,\n    .app-footer {\n      margin-right: $sidebar-width;\n    }\n\n    &.sidebar-hidden {\n      .main,\n      .app-footer {\n        margin-right: 0;\n      }\n    }\n  }\n\n  .sidebar-minimized {\n    .sidebar {\n      flex: 0 0 $sidebar-minimized-width;\n    }\n\n    &.sidebar-hidden {\n      .sidebar {\n        margin-right: -$sidebar-minimized-width;\n        margin-left: 0;\n      }\n    }\n\n    &.sidebar-fixed {\n      .main,\n      .app-footer {\n        margin-right: $sidebar-minimized-width;\n      }\n\n      &.sidebar-hidden {\n        .main,\n        .app-footer {\n          margin-left: 0;\n        }\n      }\n    }\n  }\n\n  //\n  // Aside Menu\n  //\n  .aside-menu-hidden {\n    .aside-menu {\n      margin-right: 0;\n      margin-left: -$aside-menu-width;\n    }\n  }\n\n  .aside-menu-fixed {\n    .aside-menu {\n      right: auto;\n      left: 0;\n    }\n\n    .main,\n    .app-footer {\n      //margin-right: 0;\n      margin-left: $aside-menu-width;\n    }\n\n    &.aside-menu-hidden {\n      .main,\n      .app-footer {\n        margin-left: 0;\n      }\n    }\n  }\n\n  .aside-menu-off-canvas {\n    .aside-menu {\n      position: fixed;\n      right: 0;\n      z-index: $zindex-sticky - 1;\n      height: 100%;\n\n      .tab-content {\n        height: calc(\n          100vh - #{$aside-menu-nav-padding-y * 2 + $font-size-base} -\n            #{$navbar-height}\n        );\n      }\n    }\n  }\n\n  // Sidebar Menu\n  .sidebar {\n    .sidebar-nav {\n      .nav {\n        .nav-item {\n          .nav-link {\n            direction: rtl;\n            i {\n              margin: 0 0 0 math.div($sidebar-nav-link-padding-x, 2);\n            }\n            .badge {\n              float: left;\n              margin-top: 2px;\n              // margin-left: 10px;\n            }\n            &.nav-dropdown-toggle {\n              &::before {\n                position: absolute;\n                right: auto !important;\n                left: $sidebar-nav-link-padding-x;\n                transform: rotate(180deg);\n              }\n            }\n          }\n          &.nav-dropdown {\n            &.open {\n              > .nav-link.nav-dropdown-toggle::before {\n                transform: rotate(270deg);\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n\n  .sidebar-minimized .sidebar {\n    .nav-link {\n      padding-right: 0;\n      i {\n        float: right;\n        padding: 0;\n        margin: 0;\n      }\n      .badge {\n        right: auto;\n        left: 15px;\n      }\n    }\n    .nav > .nav-dropdown {\n      &:hover {\n        > .nav-dropdown-items {\n          right: $sidebar-minimized-width;\n          left: 0;\n        }\n      }\n    }\n  }\n\n  // Horizontal bars\n  .horizontal-bars {\n    li {\n      .bars {\n        padding-right: 100px;\n        padding-left: 0;\n\n        .progress:first-child {\n          margin-bottom: 2px;\n        }\n      }\n    }\n\n    &.type-2 {\n      li {\n        i {\n          margin-right: 5px;\n          margin-left: $spacer;\n        }\n\n        .value {\n          float: left;\n          font-weight: 600;\n        }\n\n        .bars {\n          padding: 0;\n        }\n      }\n    }\n  }\n\n  // Icon list\n  .icons-list {\n    li {\n      position: relative;\n      height: 40px;\n      vertical-align: middle;\n\n      i {\n        float: right;\n      }\n\n      .desc {\n        margin-right: 50px;\n        margin-left: 0;\n      }\n\n      .value {\n        right: auto;\n        left: 45px;\n        text-align: left;\n\n        strong {\n          display: block;\n          margin-top: -3px;\n        }\n      }\n\n      .actions {\n        right: auto;\n        left: 10px;\n      }\n    }\n  }\n\n  // Callouts\n  .callout {\n    border: 0 solid $border-color;\n    border-right-width: 0.25rem;\n\n    @each $color, $value in $theme-colors {\n      &.callout-#{$color} {\n        border-right-color: $value;\n      }\n    }\n\n    .chart-wrapper {\n      left: 0;\n      float: left;\n    }\n  }\n\n  .callout-default {\n    border-right-color: $text-muted;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_sidebar.scss",
    "content": "@use 'sass:math';\n@use 'sass:color';\n\n// scss-lint:disable NestingDepth, SelectorDepth\n.sidebar {\n  display: flex;\n  flex-direction: column;\n  padding: $sidebar-padding;\n  color: $sidebar-color;\n  background: $sidebar-bg;\n  @include borders($sidebar-borders);\n\n  .sidebar-close {\n    position: absolute;\n    right: 0;\n    display: none;\n    padding: 0 $spacer;\n    font-size: 24px;\n    font-weight: 800;\n    line-height: $navbar-height;\n    color: $sidebar-color;\n    background: 0;\n    border: 0;\n    opacity: 0.8;\n\n    &:hover {\n      opacity: 1;\n    }\n  }\n\n  // Will be added soon\n  // .sidebar-brand { }\n\n  .sidebar-header {\n    flex: 0 0 $sidebar-header-height;\n    padding: $sidebar-header-padding-y $sidebar-header-padding-x;\n    text-align: center;\n    background: $sidebar-header-bg;\n  }\n\n  .sidebar-form .form-control {\n    color: $sidebar-form-color;\n    background: $sidebar-form-bg;\n    border: $sidebar-form-border;\n\n    &::placeholder {\n      color: $sidebar-form-placeholder-color;\n    }\n  }\n\n  .sidebar-nav {\n    position: relative;\n    flex: 1;\n    overflow-x: hidden;\n    overflow-y: auto;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    @include sidebar-width($sidebar-borders, $sidebar-width);\n\n    &::-webkit-scrollbar {\n      position: absolute;\n      width: 10px;\n      margin-left: -10px;\n      -webkit-appearance: none;\n    }\n\n    &::-webkit-scrollbar-track {\n      background-color: color.adjust($sidebar-bg, $lightness: 5%);\n      border-right: 1px solid color.adjust($sidebar-bg, $lightness: -5%);\n      border-left: 1px solid color.adjust($sidebar-bg, $lightness: -5%);\n    }\n\n    &::-webkit-scrollbar-thumb {\n      height: 50px;\n      background-color: color.adjust($sidebar-bg, $lightness: -10%);\n      background-clip: content-box;\n      border-color: transparent;\n      border-style: solid;\n      border-width: 1px 2px;\n    }\n  }\n\n  .nav {\n    @include sidebar-width($sidebar-borders, $sidebar-width);\n    flex-direction: column;\n    min-height: 100%;\n  }\n\n  .nav-title {\n    padding: $sidebar-nav-title-padding-y $sidebar-nav-title-padding-x;\n    font-size: 11px;\n    font-weight: 600;\n    color: $sidebar-nav-title-color;\n    text-transform: uppercase;\n  }\n\n  .nav-divider,\n  .divider {\n    height: 10px;\n  }\n\n  .nav-item {\n    position: relative;\n    margin: 0;\n    transition: background 0.3s ease-in-out;\n  }\n\n  .nav-dropdown-items {\n    max-height: 0;\n    padding: 0;\n    margin: 0;\n    overflow-y: hidden;\n    transition: max-height 0.3s ease-in-out;\n\n    .nav-item {\n      padding: 0;\n      list-style: none;\n    }\n  }\n\n  .nav-link {\n    display: block;\n    padding: $sidebar-nav-link-padding-y $sidebar-nav-link-padding-x;\n    color: $sidebar-nav-link-color;\n    text-decoration: none;\n    background: $sidebar-nav-link-bg;\n    @include borders($sidebar-nav-link-borders);\n    @if $enable-sidebar-nav-rounded {\n      border-radius: $border-radius;\n    }\n\n    i {\n      display: inline-block;\n      width: 20px;\n      margin: 0 math.div($sidebar-nav-link-padding-x, 2) 0 0;\n      font-size: 14px;\n      color: $sidebar-nav-link-icon-color;\n      text-align: center;\n    }\n\n    .badge {\n      float: right;\n      margin-top: 2px;\n    }\n\n    &.active {\n      color: $sidebar-nav-link-active-color;\n      background: $sidebar-nav-link-active-bg;\n      @include borders($sidebar-nav-link-active-borders);\n\n      i {\n        color: $sidebar-nav-link-active-icon-color;\n      }\n    }\n\n    &:hover {\n      color: $sidebar-nav-link-hover-color;\n      background: $sidebar-nav-link-hover-bg;\n      @include borders($sidebar-nav-link-hover-borders);\n\n      i {\n        color: $sidebar-nav-link-hover-icon-color;\n      }\n\n      &.nav-dropdown-toggle::before {\n        background-image: $sidebar-nav-dropdown-indicator-hover;\n      }\n    }\n\n    @each $color, $value in $theme-colors {\n      &.nav-link-#{$color} {\n        background: $value;\n        i {\n          color: rgba(255, 255, 255, 0.7);\n        }\n        &:hover {\n          background: color.adjust($value, $lightness: -5%) !important;\n          i {\n            color: #fff;\n          }\n        }\n      }\n    }\n  }\n\n  //  ex. <a class=\"nav-link nav-dropdown-toggle\" href=\"#\">Components</a>\n  .nav-dropdown-toggle {\n    position: relative;\n\n    &::before {\n      position: absolute;\n      top: 50%;\n      right: $sidebar-nav-link-padding-x;\n      display: block;\n      width: 8px;\n      height: 8px;\n      padding: 0;\n      margin-top: -4px;\n      content: '';\n      background-image: $sidebar-nav-dropdown-indicator;\n      background-repeat: no-repeat;\n      background-position: center;\n      transition: transform 0.3s;\n    }\n  }\n\n  // ex.  <li class=\"nav-item nav-dropdown\">\n  .nav-dropdown.open {\n    background: $sidebar-nav-dropdown-bg;\n    @include borders($sidebar-nav-dropdown-borders);\n    @if $enable-sidebar-nav-rounded {\n      border-radius: $border-radius;\n    }\n    > .nav-dropdown-items {\n      max-height: 1000px;\n    }\n\n    .nav-link {\n      color: $sidebar-nav-dropdown-color;\n      border-left: 0 !important;\n    }\n\n    > .nav-link.nav-dropdown-toggle::before {\n      transform: rotate(-90deg);\n    }\n\n    .nav-dropdown.open {\n      border-left: 0;\n    }\n  }\n\n  .nav-label {\n    display: block;\n    padding: math.div($sidebar-nav-link-padding-y, 8)\n      $sidebar-nav-link-padding-x;\n    color: $sidebar-nav-title-color;\n\n    &:hover {\n      color: $sidebar-color;\n      text-decoration: none;\n    }\n\n    i {\n      width: 20px;\n      margin: -3px math.div($sidebar-nav-link-padding-x, 2) 0 0;\n      font-size: 10px;\n      color: $sidebar-nav-link-icon-color;\n      text-align: center;\n      vertical-align: middle;\n    }\n  }\n\n  @if (color.channel($sidebar-bg, 'lightness', $space: hsl) < 40%) {\n    .progress {\n      background-color: color.adjust($sidebar-bg, $lightness: 15%) !important;\n    }\n  }\n\n  .sidebar-footer {\n    flex: 0 0 $sidebar-footer-height;\n    padding: $sidebar-footer-padding-y $sidebar-footer-padding-x;\n    background: $sidebar-footer-bg;\n    @include borders($sidebar-footer-borders);\n  }\n\n  .sidebar-minimizer {\n    position: relative;\n    flex: 0 0 $sidebar-minimizer-height;\n    background-color: $sidebar-minimizer-bg;\n    border: 0;\n    @include borders($sidebar-minimizer-borders);\n\n    &::before {\n      position: absolute;\n      top: 0;\n      right: 0;\n      width: $sidebar-minimizer-height;\n      height: $sidebar-minimizer-height;\n      content: '';\n      background-image: $sidebar-minimizer-indicator;\n      background-repeat: no-repeat;\n      background-position: center;\n      background-size: math.div($sidebar-minimizer-height, 4);\n      transition: 0.3s;\n    }\n\n    &:focus,\n    &.focus {\n      outline: 0;\n    }\n\n    &:hover {\n      background-color: $sidebar-minimizer-hover-bg;\n      &::before {\n        background-image: $sidebar-minimizer-hover-indicator;\n      }\n    }\n  }\n}\n\n@include media-breakpoint-up(lg) {\n  .sidebar-compact {\n    .sidebar {\n      .sidebar-nav {\n        @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n      }\n\n      .nav {\n        @include sidebar-width($sidebar-borders, $sidebar-compact-width);\n\n        .nav-title {\n          text-align: center;\n        }\n\n        .nav-item {\n          width: $sidebar-compact-width;\n          border-left: 0 !important;\n\n          .nav-link {\n            text-align: center;\n\n            i {\n              display: block;\n              width: 100%;\n              margin: math.div($spacer, 4) 0;\n              font-size: 24px;\n            }\n\n            .badge {\n              position: absolute;\n              top: 18px;\n              right: 10px;\n            }\n\n            &.nav-dropdown-toggle {\n              &::before {\n                top: 30px;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // Minimized Sidebar\n  .sidebar-minimized {\n    .hidden-cn {\n      display: none;\n    }\n    .sidebar {\n      z-index: $zindex-sticky - 1;\n\n      .sidebar-nav {\n        overflow: visible;\n        @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n      }\n\n      .nav {\n        @include sidebar-width($sidebar-borders, $sidebar-minimized-width);\n      }\n\n      .nav-divider,\n      .divider,\n      .nav-title,\n      .sidebar-footer,\n      .sidebar-form,\n      .sidebar-header {\n        display: none;\n      }\n\n      .sidebar-minimizer::before {\n        width: 100%;\n        transform: rotate(-180deg);\n      }\n\n      .nav-item {\n        width: $sidebar-minimized-width;\n        overflow: hidden;\n        border-left: 0 !important;\n\n        &:hover {\n          width: $sidebar-width + $sidebar-minimized-width;\n          overflow: visible;\n\n          > .nav-link {\n            background: $sidebar-nav-link-hover-bg;\n\n            i {\n              color: $sidebar-nav-link-hover-color;\n            }\n          }\n        }\n      }\n\n      .nav-link {\n        position: relative;\n        padding-left: 0;\n        margin: 0;\n        white-space: nowrap;\n        border-left: 0 !important;\n\n        i {\n          display: block;\n          float: left;\n          width: $sidebar-minimized-height;\n          // padding: 0;\n          // margin: 0 !important;\n          font-size: 18px;\n        }\n\n        .badge {\n          position: absolute;\n          right: 15px;\n          display: none;\n        }\n\n        &:hover {\n          width: $sidebar-width + $sidebar-minimized-width;\n          background: $sidebar-nav-link-hover-bg;\n\n          .badge {\n            display: inline;\n          }\n        }\n\n        &.nav-dropdown-toggle::before {\n          display: none;\n        }\n      }\n\n      .nav-dropdown-items {\n        .nav-item {\n          width: $sidebar-width;\n\n          .nav-link {\n            width: $sidebar-width;\n          }\n        }\n      }\n\n      .nav > .nav-dropdown {\n        > .nav-dropdown-items {\n          display: none;\n          max-height: 1000px;\n          background: $sidebar-bg;\n        }\n\n        &:hover {\n          background: $sidebar-nav-link-hover-bg;\n          > .nav-dropdown-items {\n            position: absolute;\n            left: $sidebar-minimized-width;\n            display: inline;\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_switches.scss",
    "content": "@use 'sass:color';\n\n@mixin switch-size($width, $height, $font-size, $handle-margin) {\n  width: $width;\n  height: $height;\n\n  .switch-label {\n    font-size: $font-size;\n  }\n\n  .switch-handle {\n    width: $height - $handle-margin * 2;\n    height: $height - $handle-margin * 2;\n  }\n\n  .switch-input:checked ~ .switch-handle {\n    left: $width - $height + $handle-margin;\n  }\n}\n\n@mixin switch($type, $width, $height, $font-size, $handle-margin) {\n  position: relative;\n  display: inline-block;\n  vertical-align: top;\n  width: $width;\n  height: $height;\n  background-color: transparent;\n  cursor: pointer;\n\n  .switch-input {\n    position: absolute;\n    top: 0;\n    left: 0;\n    opacity: 0;\n  }\n\n  .switch-label {\n    position: relative;\n    display: block;\n    height: inherit;\n    @if $type == icon {\n      font-family: FontAwesome;\n    }\n    font-size: $font-size;\n    font-weight: 600;\n    text-transform: uppercase;\n    @if $type == ddd {\n      background-color: $gray-100;\n    } @else {\n      background-color: #fff;\n    }\n    border: 1px solid $border-color;\n    border-radius: 2px;\n    transition: opacity background 0.15s ease-out;\n  }\n  @if $type == text or $type == icon {\n    .switch-label::before,\n    .switch-label::after {\n      position: absolute;\n      top: 50%;\n      width: 50%;\n      margin-top: -0.5em;\n      line-height: 1;\n      text-align: center;\n      transition: inherit;\n    }\n    .switch-label::before {\n      right: 1px;\n      color: $gray-200;\n      content: attr(data-off);\n    }\n    .switch-label::after {\n      left: 1px;\n      color: #fff;\n      content: attr(data-on);\n      opacity: 0;\n    }\n  }\n  .switch-input:checked ~ .switch-label {\n    //background: $gray-lightest;\n  }\n  .switch-input:checked ~ .switch-label::before {\n    opacity: 0;\n  }\n  .switch-input:checked ~ .switch-label::after {\n    opacity: 1;\n  }\n\n  .switch-handle {\n    position: absolute;\n    top: $handle-margin;\n    left: $handle-margin;\n    width: $height - $handle-margin * 2;\n    height: $height - $handle-margin * 2;\n    background: #fff;\n    border: 1px solid $border-color;\n    border-radius: 1px;\n    transition: left 0.15s ease-out;\n    @if $type == ddd {\n      border: 0;\n      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);\n    }\n  }\n\n  .switch-input:checked ~ .switch-handle {\n    left: $width - $height + $handle-margin;\n  }\n\n  @if $type == ddd {\n    @extend .switch-pill;\n  }\n\n  //size variations\n  @if $type == default {\n    &.switch-lg {\n      @include switch-size(\n        $switch-lg-width,\n        $switch-lg-height,\n        $switch-lg-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-sm {\n      @include switch-size(\n        $switch-sm-width,\n        $switch-sm-height,\n        $switch-sm-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-xs {\n      @include switch-size(\n        $switch-xs-width,\n        $switch-xs-height,\n        $switch-xs-font-size,\n        $handle-margin\n      );\n    }\n  } @else if $type == text {\n    &.switch-lg {\n      @include switch-size(\n        $switch-text-lg-width,\n        $switch-text-lg-height,\n        $switch-text-lg-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-sm {\n      @include switch-size(\n        $switch-text-sm-width,\n        $switch-text-sm-height,\n        $switch-text-sm-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-xs {\n      @include switch-size(\n        $switch-text-xs-width,\n        $switch-text-xs-height,\n        $switch-text-xs-font-size,\n        $handle-margin\n      );\n    }\n  } @else if $type == icon {\n    &.switch-lg {\n      @include switch-size(\n        $switch-icon-lg-width,\n        $switch-icon-lg-height,\n        $switch-icon-lg-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-sm {\n      @include switch-size(\n        $switch-icon-sm-width,\n        $switch-icon-sm-height,\n        $switch-icon-sm-font-size,\n        $handle-margin\n      );\n    }\n    &.switch-xs {\n      @include switch-size(\n        $switch-icon-xs-width,\n        $switch-icon-xs-height,\n        $switch-icon-xs-font-size,\n        $handle-margin\n      );\n    }\n  } @else if $type == ddd {\n    &.switch-lg {\n      @include switch-size(\n        $switch-lg-width,\n        $switch-lg-height,\n        $switch-lg-font-size,\n        0\n      );\n    }\n    &.switch-sm {\n      @include switch-size(\n        $switch-sm-width,\n        $switch-sm-height,\n        $switch-sm-font-size,\n        0\n      );\n    }\n    &.switch-xs {\n      @include switch-size(\n        $switch-xs-width,\n        $switch-xs-height,\n        $switch-xs-font-size,\n        0\n      );\n    }\n  }\n}\n\n@mixin switch-variant($color) {\n  > .switch-input:checked ~ .switch-label {\n    background: $color !important;\n    border-color: color.adjust($color, $lightness: -10%);\n  }\n\n  > .switch-input:checked ~ .switch-handle {\n    border-color: color.adjust($color, $lightness: -10%);\n  }\n}\n\n@mixin switch-outline-variant($color) {\n  > .switch-input:checked ~ .switch-label {\n    background: #fff !important;\n    border-color: $color;\n\n    &::after {\n      color: $color;\n    }\n  }\n\n  > .switch-input:checked ~ .switch-handle {\n    border-color: $color;\n  }\n}\n\n@mixin switch-outline-alt-variant($color) {\n  > .switch-input:checked ~ .switch-label {\n    background: #fff !important;\n    border-color: $color;\n\n    &::after {\n      color: $color;\n    }\n  }\n\n  > .switch-input:checked ~ .switch-handle {\n    background: $color !important;\n    border-color: $color;\n  }\n}\n\n$switch-lg-width: 48px;\n$switch-lg-height: 28px;\n$switch-lg-font-size: 12px;\n\n$switch-width: 40px;\n$switch-height: 24px;\n$switch-font-size: 10px;\n\n$handle-margin: 2px;\n\n$switch-sm-width: 32px;\n$switch-sm-height: 20px;\n$switch-sm-font-size: 8px;\n\n$switch-xs-width: 24px;\n$switch-xs-height: 16px;\n$switch-xs-font-size: 7px;\n\n$switch-text-lg-width: 56px;\n$switch-text-lg-height: 28px;\n$switch-text-lg-font-size: 12px;\n\n$switch-text-width: 48px;\n$switch-text-height: 24px;\n$switch-text-font-size: 10px;\n\n$switch-text-sm-width: 40px;\n$switch-text-sm-height: 20px;\n$switch-text-sm-font-size: 8px;\n\n$switch-text-xs-width: 32px;\n$switch-text-xs-height: 16px;\n$switch-text-xs-font-size: 7px;\n\n$switch-icon-lg-width: 56px;\n$switch-icon-lg-height: 28px;\n$switch-icon-lg-font-size: 12px;\n\n$switch-icon-width: 48px;\n$switch-icon-height: 24px;\n$switch-icon-font-size: 10px;\n\n$switch-icon-sm-width: 40px;\n$switch-icon-sm-height: 20px;\n$switch-icon-sm-font-size: 8px;\n\n$switch-icon-xs-width: 32px;\n$switch-icon-xs-height: 16px;\n$switch-icon-xs-font-size: 7px;\n\n.switch.switch-default {\n  @include switch(\n    'default',\n    $switch-width,\n    $switch-height,\n    $switch-font-size,\n    $handle-margin\n  );\n}\n\n.switch.switch-text {\n  @include switch(\n    'text',\n    $switch-text-width,\n    $switch-text-height,\n    $switch-text-font-size,\n    $handle-margin\n  );\n}\n\n.switch.switch-icon {\n  @include switch(\n    'icon',\n    $switch-icon-width,\n    $switch-icon-height,\n    $switch-icon-font-size,\n    $handle-margin\n  );\n}\n\n.switch.switch-3d {\n  @include switch('ddd', $switch-width, $switch-height, $switch-font-size, 0);\n}\n\n//pills style\n.switch-pill {\n  .switch-label,\n  .switch-handle {\n    border-radius: 50em !important;\n  }\n\n  .switch-label::before {\n    right: 2px !important;\n  }\n  .switch-label::after {\n    left: 2px !important;\n  }\n}\n\n@each $color, $value in $theme-colors {\n  //normal style\n  .switch-#{$color} {\n    @include switch-variant($value);\n  }\n  //outline style\n  .switch-#{$color}-outline {\n    @include switch-outline-variant($value);\n  }\n  //outline alternative style\n  .switch-#{$color}-outline-alt {\n    @include switch-outline-alt-variant($value);\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_tables.scss",
    "content": ".table-outline {\n  border: 1px solid $table-border-color;\n\n  td {\n    vertical-align: middle;\n  }\n}\n\n.table-align-middle {\n  td {\n    vertical-align: middle;\n  }\n}\n\n.table-clear {\n  td {\n    border: 0;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_temp.scss",
    "content": ".pagination-datatables,\n.pagination {\n  li {\n    @extend .page-item;\n\n    a {\n      @extend .page-link;\n    }\n  }\n}\n\n.label-pill {\n  border-radius: 1rem !important;\n}\n\n// temp fix for Vue & React\n\n// Open state for the dropdown\n.open,\n.show {\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// navbar dropdown fix\n.navbar .dropdown-toggle {\n  @extend .nav-link;\n\n  .img-avatar {\n    height: $navbar-height - 20px;\n    margin: 0 10px;\n  }\n}\n\n.card-block {\n  @extend .card-body;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_typography.scss",
    "content": "body {\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n}\n\n.font-xs {\n  font-size: 0.75rem !important;\n}\n\n.font-sm {\n  font-size: 0.85rem !important;\n}\n\n.font-lg {\n  font-size: 1rem !important;\n}\n\n.font-xl {\n  font-size: 1.25rem !important;\n}\n\n.font-2xl {\n  font-size: 1.5rem !important;\n}\n\n.font-3xl {\n  font-size: 1.75rem !important;\n}\n\n.font-4xl {\n  font-size: 2rem !important;\n}\n\n.font-5xl {\n  font-size: 2.5rem !important;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_utilities.scss",
    "content": "@import 'utilities/background';\n@import 'utilities/borders';\n@import 'utilities/display';\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_variables.scss",
    "content": "// scss-lint:disable all\n@use 'sass:color';\n\n// Core Admin Variables\n\n$enable-sidebar-nav-rounded: false !default;\n\n$border-color: $gray-200 !default;\n$layout-transition-speed: 0.25s !default;\n\n// Social Colors\n\n$facebook: #3b5998 !default;\n$twitter: #00aced !default;\n$linkedin: #4875b4 !default;\n$google-plus: #d34836 !default;\n$flickr: #ff0084 !default;\n$tumblr: #32506d !default;\n$xing: #026466 !default;\n$github: #4183c4 !default;\n$html5: #e34f26 !default;\n$openid: #f78c40 !default;\n$stack-overflow: #fe7a15 !default;\n$youtube: #b00 !default;\n$css3: #0170ba !default;\n$dribbble: #ea4c89 !default;\n$google-plus: #bb4b39 !default;\n$instagram: #517fa4 !default;\n$pinterest: #cb2027 !default;\n$vk: #45668e !default;\n$yahoo: #400191 !default;\n$behance: #1769ff !default;\n$dropbox: #007ee5 !default;\n$reddit: #ff4500 !default;\n$spotify: #7ab800 !default;\n$vine: #00bf8f !default;\n$foursquare: #1073af !default;\n$vimeo: #aad450 !default;\n\n// Navbar\n\n$navbar-height: 55px !default;\n$navbar-bg: #fff !default;\n$navbar-border: (\n  bottom: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n$navbar-brand-width: 130px !default;\n$navbar-brand-bg: #fff !default;\n$navbar-brand-logo: url('../public_src/img/signal-k-logo-image-text.svg') !default;\n$navbar-brand-logo-size: 110px auto !default;\n$navbar-brand-border: (\n  bottom: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n\n$navbar-brand-minimized-width: 50px !default;\n$navbar-brand-minimized-bg: $navbar-brand-bg !default;\n$navbar-brand-minimized-logo: url('../public_src/img/signal-k-logo-image.svg') !default;\n$navbar-brand-minimized-logo-size: 30px !default;\n$navbar-brand-minimized-border: $navbar-brand-border !default;\n\n$navbar-color: $gray-600 !default;\n$navbar-hover-color: $gray-800 !default;\n$navbar-active-color: $gray-800 !default;\n$navbar-disabled-color: $gray-300 !default;\n\n$navbar-toggler-icon: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n$navbar-toggler-icon-hover: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-hover-color}' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n\n// Sidebar\n\n$sidebar-width: 200px !default;\n$sidebar-padding: 0 !default;\n$sidebar-minimized-width: 50px !default;\n$sidebar-minimized-height: $sidebar-minimized-width !default;\n$sidebar-compact-width: 150px !default;\n$sidebar-compact-height: $sidebar-compact-width !default;\n$sidebar-color: #fff !default;\n$sidebar-bg: $gray-800 !default;\n$sidebar-borders: none !default;\n$mobile-sidebar-width: 220px !default;\n\n// Sidebar Header\n\n$sidebar-header-height: auto !default;\n$sidebar-header-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-header-padding-y: 0.75rem !default;\n$sidebar-header-padding-x: 1rem !default;\n\n// Sidebar Form\n\n$sidebar-form-border: 0 !default;\n$sidebar-form-bg: color.adjust($sidebar-bg, $lightness: -10%) !default;\n$sidebar-form-color: #fff !default;\n$sidebar-form-placeholder-color: rgba(255, 255, 255, 0.7) !default;\n\n// Sidebar Navigation\n\n$sidebar-nav-color: #fff !default;\n$sidebar-nav-title-padding-y: 0.75rem !default;\n$sidebar-nav-title-padding-x: 1rem !default;\n$sidebar-nav-title-color: $gray-200 !default;\n$sidebar-nav-link-padding-y: 0.75rem !default;\n$sidebar-nav-link-padding-x: 1rem !default;\n$sidebar-nav-link-color: #fff !default;\n$sidebar-nav-link-bg: transparent !default;\n$sidebar-nav-link-icon-color: $gray-600 !default;\n$sidebar-nav-link-borders: 0 !default;\n\n$sidebar-nav-link-hover-color: #fff !default;\n$sidebar-nav-link-hover-bg: theme-color('primary') !default;\n$sidebar-nav-link-hover-icon-color: #fff !default;\n$sidebar-nav-link-hover-borders: 0 !default;\n\n$sidebar-nav-link-active-color: #fff !default;\n$sidebar-nav-link-active-bg: color.adjust($sidebar-bg, $lightness: 5%) !default;\n$sidebar-nav-link-active-icon-color: theme-color('primary') !default;\n$sidebar-nav-link-active-borders: 0 !default;\n\n$sidebar-nav-dropdown-color: #fff !default;\n$sidebar-nav-dropdown-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-nav-dropdown-borders: 0 !default;\n$sidebar-nav-dropdown-indicator-color: $gray-600 !default;\n$sidebar-nav-dropdown-indicator: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n$sidebar-nav-dropdown-indicator-hover-color: $sidebar-nav-link-hover-color;\n$sidebar-nav-dropdown-indicator-hover: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-nav-dropdown-indicator-hover-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n\n// Sidebar Footer\n\n$sidebar-footer-height: auto !default;\n$sidebar-footer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-footer-padding-y: 0.75rem !default;\n$sidebar-footer-padding-x: 1rem !default;\n$sidebar-footer-borders: 0 !default;\n\n// Sidebar Minimizer\n\n$sidebar-minimizer-height: 50px !default;\n$sidebar-minimizer-bg: rgba(0, 0, 0, 0.2) !default;\n$sidebar-minimizer-borders: 0 !default;\n$sidebar-minimizer-indicator-color: $gray-600 !default;\n$sidebar-minimizer-indicator: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n$sidebar-minimizer-hover-bg: rgba(0, 0, 0, 0.3) !default;\n$sidebar-minimizer-hover-indicator-color: $sidebar-nav-link-hover-color !default;\n$sidebar-minimizer-hover-indicator: str-replace(\n  url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='#{$sidebar-minimizer-hover-indicator-color}' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E\"),\n  '#',\n  '%23'\n) !default;\n\n// Top Navigation\n\n$top-nav-bg: #fff !default;\n$top-nav-color: $body-color !default;\n$top-nav-borders: (\n  bottom: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n$top-nav-ul-borders: (\n  all: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n\n$top-nav-hover-color: #fff !default;\n$top-nav-hover-bg: theme-color('primary') !default;\n$top-nav-active-color: #fff !default;\n$top-nav-active-bg: theme-color('primary') !default;\n$top-nav-height: $navbar-height - 15px !default;\n\n// Breadcrumb\n$breadcrumb-borders: (\n  bottom: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n\n// Aside\n\n$aside-menu-width: 250px !default;\n$aside-menu-color: $gray-800 !default;\n$aside-menu-bg: #fff !default;\n$aside-menu-borders: (\n  left: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n\n$aside-menu-nav-padding-y: 0.75rem !default;\n$aside-menu-nav-padding-x: 1rem !default;\n\n// Footer\n\n$footer-height: 50px !default;\n$footer-bg: $gray-100 !default;\n$footer-color: $body-color !default;\n$footer-borders: (\n  top: (\n    size: 1px,\n    style: solid,\n    color: $border-color\n  )\n) !default;\n\n// Cards\n\n$card-icon-bg: transparent !default;\n$card-icon-color: $body-color !default;\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/_widgets.scss",
    "content": "// .social-box\n.social-box {\n  min-height: 160px;\n  margin-bottom: 2 * $card-spacer-y;\n  text-align: center;\n  background: #fff;\n  border: $card-border-width solid $card-border-color;\n  @include border-radius($card-border-radius);\n\n  i {\n    display: block;\n    margin: -1px -1px 0;\n    font-size: 40px;\n    line-height: 90px;\n    background: $gray-200;\n\n    @include border-radius($card-border-radius $card-border-radius 0 0);\n  }\n\n  .chart-wrapper {\n    height: 90px;\n    margin: -90px 0 0;\n\n    canvas {\n      width: 100% !important;\n      height: 90px !important;\n    }\n  }\n\n  ul {\n    padding: 10px 0;\n    list-style: none;\n\n    li {\n      display: block;\n      float: left;\n      width: 50%;\n\n      &:first-child {\n        border-right: 1px solid $border-color;\n      }\n\n      strong {\n        display: block;\n        font-size: 20px;\n      }\n\n      span {\n        font-size: 10px;\n        font-weight: 500;\n        color: $border-color;\n        text-transform: uppercase;\n      }\n    }\n  }\n\n  &.facebook {\n    i {\n      color: #fff;\n      background: $facebook;\n    }\n  }\n\n  &.twitter {\n    i {\n      color: #fff;\n      background: $twitter;\n    }\n  }\n\n  &.linkedin {\n    i {\n      color: #fff;\n      background: $linkedin;\n    }\n  }\n\n  &.google-plus {\n    i {\n      color: #fff;\n      background: $google-plus;\n    }\n  }\n}\n\n.horizontal-bars {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n\n  li {\n    position: relative;\n    height: 40px;\n    line-height: 40px;\n    vertical-align: middle;\n\n    .title {\n      width: 100px;\n      font-size: 12px;\n      font-weight: 600;\n      color: $text-muted;\n      vertical-align: middle;\n    }\n\n    .bars {\n      position: absolute;\n      top: 15px;\n      width: 100%;\n      padding-left: 100px;\n\n      .progress:first-child {\n        margin-bottom: 2px;\n      }\n    }\n\n    &.legend {\n      text-align: center;\n\n      .badge {\n        display: inline-block;\n        width: 8px;\n        height: 8px;\n        padding: 0;\n      }\n    }\n\n    &.divider {\n      height: 40px;\n\n      i {\n        margin: 0 !important;\n      }\n    }\n  }\n\n  &.type-2 {\n    li {\n      overflow: hidden;\n\n      i {\n        display: inline-block;\n        margin-right: $spacer;\n        margin-left: 5px;\n        font-size: 18px;\n        line-height: 40px;\n      }\n\n      .title {\n        display: inline-block;\n        width: auto;\n        margin-top: -9px;\n        font-size: $font-size-base;\n        font-weight: normal;\n        line-height: 40px;\n        color: $body-color;\n      }\n\n      .value {\n        float: right;\n        font-weight: 600;\n      }\n\n      .bars {\n        position: absolute;\n        top: auto;\n        bottom: 0;\n        padding: 0;\n      }\n    }\n  }\n}\n\n.icons-list {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n\n  li {\n    position: relative;\n    height: 40px;\n    vertical-align: middle;\n\n    i {\n      display: block;\n      float: left;\n      width: 35px !important;\n      height: 35px !important;\n      margin: 2px;\n      line-height: 35px !important;\n      text-align: center;\n    }\n\n    .desc {\n      height: 40px;\n      margin-left: 50px;\n      border-bottom: 1px solid $border-color;\n\n      .title {\n        padding: 2px 0 0;\n        margin: 0;\n      }\n      small {\n        display: block;\n        margin-top: -4px;\n        color: $text-muted;\n      }\n    }\n\n    .value {\n      position: absolute;\n      top: 2px;\n      right: 45px;\n      text-align: right;\n\n      strong {\n        display: block;\n        margin-top: -3px;\n      }\n    }\n\n    .actions {\n      position: absolute;\n      top: -4px;\n      right: 10px;\n      width: 40px;\n      height: 40px;\n      line-height: 40px;\n      text-align: center;\n\n      i {\n        float: none;\n        width: auto;\n        height: auto;\n        padding: 0;\n        margin: 0;\n        line-height: normal;\n      }\n    }\n\n    &.divider {\n      height: 40px;\n\n      i {\n        width: auto;\n        height: auto;\n        margin: 2px 0 0;\n        font-size: 18px;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/core.scss",
    "content": "// Import core styles\n@import 'variables';\n@import 'mixins';\n\n// Additional typography\n@import 'typography';\n\n// Animations\n@import 'animate';\n\n// Components\n@import 'aside';\n@import 'avatars';\n@import 'badge';\n@import 'breadcrumb-menu';\n@import 'breadcrumb';\n@import 'buttons';\n@import 'callout';\n@import 'card';\n@import 'charts';\n@import 'dropdown';\n@import 'footer';\n@import 'grid';\n@import 'input-group';\n@import 'loading';\n@import 'modal';\n@import 'nav';\n@import 'navbar';\n@import 'progress';\n@import 'sidebar';\n@import 'switches';\n@import 'tables';\n@import 'widgets';\n\n// Layout Options\n@import 'layout';\n\n@import 'others';\n\n// Utility classes\n@import 'utilities';\n\n// Temporary fixes\n@import 'temp';\n\n// Right-to-left\n@import 'rtl';\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/utilities/_background.scss",
    "content": ".bg-primary,\n.bg-success,\n.bg-info,\n.bg-warning,\n.bg-danger,\n.bg-inverse {\n  color: #fff;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/utilities/_borders.scss",
    "content": "//border\n@each $prop, $abbrev in (border: b) {\n  @each $size in (0, 1, 2) {\n    @if $size == 0 {\n      .#{$abbrev}-a-#{$size} {\n        #{$prop}: 0 !important;\n      } // a = All sides\n      .#{$abbrev}-t-#{$size} {\n        #{$prop}-top: 0 !important;\n      }\n      .#{$abbrev}-r-#{$size} {\n        #{$prop}-right: 0 !important;\n      }\n      .#{$abbrev}-b-#{$size} {\n        #{$prop}-bottom: 0 !important;\n      }\n      .#{$abbrev}-l-#{$size} {\n        #{$prop}-left: 0 !important;\n      }\n    } @else {\n      .#{$abbrev}-a-#{$size} {\n        #{$prop}: $size * $border-width solid $border-color !important;\n      } // a = All sides\n      .#{$abbrev}-t-#{$size} {\n        #{$prop}-top: $size * $border-width solid $border-color !important;\n      }\n      .#{$abbrev}-r-#{$size} {\n        #{$prop}-right: $size * $border-width solid $border-color !important;\n      }\n      .#{$abbrev}-b-#{$size} {\n        #{$prop}-bottom: $size * $border-width solid $border-color !important;\n      }\n      .#{$abbrev}-l-#{$size} {\n        #{$prop}-left: $size * $border-width solid $border-color !important;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/core/utilities/_display.scss",
    "content": "@use 'sass:map';\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map.keys($grid-breakpoints) {\n  @include media-breakpoint-down($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .d#{$infix}-down-none {\n      display: none !important;\n    }\n    // .d#{$infix}-inline       { display: inline !important; }\n    // .d#{$infix}-inline-block { display: inline-block !important; }\n    // .d#{$infix}-block        { display: block !important; }\n    // .d#{$infix}-table        { display: table !important; }\n    // .d#{$infix}-table-cell   { display: table-cell !important; }\n    // .d#{$infix}-flex         { display: flex !important; }\n    // .d#{$infix}-inline-flex  { display: inline-flex !important; }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/scss/style.scss",
    "content": "/*!\n * CoreUI - Open Source Bootstrap Admin Template\n * @version v1.0.6\n * @link http://coreui.io\n * Copyright (c) 2017 creativeLabs Łukasz Holeczek\n * @license MIT\n */\n\n// Override Boostrap variables\n@import 'bootstrap-variables';\n\n// Import Bootstrap source files\n@import 'bootstrap/scss/bootstrap';\n\n// Override core variables\n@import 'core-variables';\n\n// Import core styles\n@import 'core/core';\n\n// Custom styles\n@import 'custom';\n"
  },
  {
    "path": "packages/server-admin-ui/scss/vendors/_variables.scss",
    "content": "@import 'node_modules/bootstrap/scss/functions';\n@import '../bootstrap-variables';\n@import 'node_modules/bootstrap/scss/variables';\n@import 'node_modules/bootstrap/scss/mixins';\n@import '../core-variables';\n@import '../core/variables';\n"
  },
  {
    "path": "packages/server-admin-ui/scss/vendors/chart.js/chart.scss",
    "content": "// Import variables\n@import '../variables';\n\n.chart-legend,\n.bar-legend,\n.line-legend,\n.pie-legend,\n.radar-legend,\n.polararea-legend,\n.doughnut-legend {\n  list-style-type: none;\n  margin-top: 5px;\n  text-align: center;\n  -webkit-padding-start: 0;\n  -moz-padding-start: 0;\n  padding-left: 0;\n}\n.chart-legend li,\n.bar-legend li,\n.line-legend li,\n.pie-legend li,\n.radar-legend li,\n.polararea-legend li,\n.doughnut-legend li {\n  display: inline-block;\n  white-space: nowrap;\n  position: relative;\n  margin-bottom: 4px;\n  @include border-radius($border-radius);\n  padding: 2px 8px 2px 28px;\n  font-size: smaller;\n  cursor: default;\n}\n.chart-legend li span,\n.bar-legend li span,\n.line-legend li span,\n.pie-legend li span,\n.radar-legend li span,\n.polararea-legend li span,\n.doughnut-legend li span {\n  display: block;\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 20px;\n  height: 20px;\n  @include border-radius($border-radius);\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/actions.ts",
    "content": "import { webSocketService } from './services/WebSocketService'\nimport { useStore } from './store'\nimport { authFetch, fetchAllData, fetchLoginStatus } from './dataFetching'\n\nexport { fetchAllData, fetchLoginStatus }\n\nexport async function logoutAction(): Promise<void> {\n  try {\n    const response = await authFetch('/signalk/v1/auth/logout', {\n      method: 'PUT'\n    })\n    if (!response.ok) {\n      throw new Error(response.statusText)\n    }\n  } catch (error) {\n    console.error('Logout failed:', error)\n  }\n  // Reconnect WebSocket so admin event subscriptions are dropped\n  webSocketService.reconnect()\n  await fetchLoginStatus()\n}\n\nexport function restartAction(): void {\n  if (confirm('Are you sure you want to restart?')) {\n    fetch(`${window.serverRoutesPrefix}/restart`, {\n      credentials: 'include',\n      method: 'PUT'\n    }).then(() => {\n      useStore.getState().setRestarting(true)\n    })\n  }\n}\n\nexport async function loginAction(\n  username: string,\n  password: string,\n  rememberMe: boolean\n): Promise<string | null> {\n  const payload = {\n    username,\n    password,\n    rememberMe\n  }\n  const request = await authFetch('/signalk/v1/auth/login', {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify(payload)\n  })\n\n  const response = await request.json()\n  if (request.status !== 200) {\n    return response.message\n  }\n  // Reconnect WebSocket so the server subscribes the new authenticated\n  // connection to admin events (ACCESS_REQUEST, etc.)\n  webSocketService.reconnect()\n  await fetchAllData()\n  return null\n}\n\nexport async function enableSecurity(\n  userId: string,\n  password: string,\n  allowReadonly?: boolean\n): Promise<string | null> {\n  const payload: Record<string, unknown> = {\n    userId,\n    password,\n    type: 'admin'\n  }\n  if (allowReadonly) {\n    payload.allow_readonly = true\n  }\n  const response = await fetch(`${window.serverRoutesPrefix}/enableSecurity`, {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify(payload)\n  })\n  if (response.status !== 200) {\n    const text = await response.text()\n    return text\n  }\n  await fetchLoginStatus()\n  return null\n}\n\nexport async function disableSecurity(\n  username: string,\n  password: string\n): Promise<string | null> {\n  try {\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/disableSecurity`,\n      {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        credentials: 'include',\n        body: JSON.stringify({ username, password })\n      }\n    )\n    const text = await response.text()\n    return response.ok ? null : text || 'Unable to disable security'\n  } catch (error) {\n    console.error('Disable security failed:', error)\n    return 'Unable to disable security'\n  }\n}\n\nexport async function restoreSecurity(\n  username: string,\n  password: string\n): Promise<string | null> {\n  try {\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/enableSecurity`,\n      {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ restore: true, username, password })\n      }\n    )\n    const text = await response.text()\n    if (!response.ok) {\n      return text || 'Unable to restore security'\n    }\n    fetchLoginStatus().catch((err) =>\n      console.error('Failed to refresh login status:', err)\n    )\n    return null\n  } catch (error) {\n    console.error('Restore security failed:', error)\n    return 'Unable to restore security'\n  }\n}\n\nexport async function checkSecurityBackup(): Promise<boolean> {\n  const response = await authFetch(\n    `${window.serverRoutesPrefix}/security/hasBackup`\n  )\n  if (response.ok) {\n    const data = await response.json()\n    return data.hasBackup === true\n  }\n  return false\n}\n\nexport function openServerEventsConnection(isReconnect?: boolean): void {\n  webSocketService.connect(isReconnect)\n}\n\nexport function closeServerEventsConnection(skipReconnect = false): void {\n  webSocketService.close(skipReconnect)\n}\n\nexport function getWebSocketService() {\n  return webSocketService\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/blinking-circle.css",
    "content": ".blinking-circle {\n  display: inline-block;\n  width: 1em;\n  height: 1em;\n  border-radius: 50%;\n  background-color: red;\n  animation: blinking-circle 0.65s infinite ease-in-out;\n}\n\n@keyframes blinking-circle {\n  0% {\n    opacity: 0.15;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0.15;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/bootstrap.tsx",
    "content": "import { createRoot } from 'react-dom/client'\nimport { HashRouter, Routes, Route } from 'react-router-dom'\n\nimport 'simple-line-icons/css/simple-line-icons.css'\nimport '../scss/style.scss'\nimport '../scss/core/_dropdown-menu-right.scss'\n\nimport Full from './containers/Full/Full'\nimport { WebSocketProvider } from './contexts/WebSocketContext'\n\nwindow.serverRoutesPrefix = '/skServer'\n\nconst container = document.getElementById('root')!\nconst root = createRoot(container)\nroot.render(\n  <WebSocketProvider>\n    <HashRouter>\n      <Routes>\n        <Route path=\"/*\" element={<Full />} />\n      </Routes>\n    </HashRouter>\n  </WebSocketProvider>\n)\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/Aside/Aside.tsx",
    "content": "export default function Aside() {\n  return <aside className=\"aside-menu\">{/* Aside Menu */}</aside>\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/Footer/Footer.tsx",
    "content": "import { Link } from 'react-router-dom'\nimport Badge from 'react-bootstrap/Badge'\nimport {\n  useLoginStatus,\n  useAppStore,\n  useVesselInfo,\n  useServerSpecification,\n  useNodeInfo\n} from '../../store'\n\nexport default function Footer() {\n  const loginStatus = useLoginStatus()\n  const serverSpecification = useServerSpecification()\n  const appStore = useAppStore()\n  const vesselInfo = useVesselInfo()\n  const nodeInfo = useNodeInfo()\n\n  const { name, mmsi, uuid } = vesselInfo\n\n  const currentMajor = nodeInfo.nodeVersion\n    ? parseInt(nodeInfo.nodeVersion.replace(/^v/, '').split('.')[0], 10)\n    : NaN\n  const recommendedMajor = nodeInfo.recommendedNodeVersion\n    ? parseInt(nodeInfo.recommendedNodeVersion.split('.')[0], 10)\n    : NaN\n  const showWarning =\n    !isNaN(currentMajor) &&\n    !isNaN(recommendedMajor) &&\n    currentMajor > recommendedMajor\n\n  return (\n    <footer className=\"app-footer\">\n      <span>\n        <a href=\"https://github.com/SignalK/signalk-server-node/\">\n          Signal K Server\n        </a>\n      </span>\n      {typeof serverSpecification.server !== 'undefined' && (\n        <span>&nbsp; version {serverSpecification.server.version}</span>\n      )}\n      {nodeInfo.nodeVersion && (\n        <span>\n          &nbsp; node {nodeInfo.nodeVersion.replace(/^v/, '')}\n          {nodeInfo.npmVersion && <> · npm {nodeInfo.npmVersion}</>}\n        </span>\n      )}\n      {showWarning && (\n        <span>\n          &nbsp;\n          <Badge bg=\"warning\">\n            node {nodeInfo.recommendedNodeVersion} recommended\n          </Badge>\n        </span>\n      )}\n      <span>\n        &nbsp; <a href=\"https://opencollective.com/signalk\">Sponsor Signal K</a>\n      </span>\n      {typeof appStore.serverUpdate !== 'undefined' && (\n        <span>\n          <Link to=\"/serverConfiguration/update\">\n            &nbsp;(version {appStore.serverUpdate} is available)\n          </Link>\n        </span>\n      )}\n      {loginStatus.status === 'loggedIn' && (\n        <span className=\"ms-auto\">Logged in as {loginStatus.username}</span>\n      )}\n      &nbsp;- {name ?? mmsi ?? uuid ?? ''}\n    </footer>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/Header/Header.tsx",
    "content": "import { useState, useEffect, useCallback, type MouseEvent } from 'react'\nimport Alert from 'react-bootstrap/Alert'\nimport Dropdown from 'react-bootstrap/Dropdown'\nimport Nav from 'react-bootstrap/Nav'\nimport Navbar from 'react-bootstrap/Navbar'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons/faCircleNotch'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faBars } from '@fortawesome/free-solid-svg-icons/faBars'\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation'\nimport {\n  useLoginStatus,\n  useRestarting,\n  useBackpressureWarning\n} from '../../store'\nimport { logoutAction, restartAction } from '../../actions'\n\nexport default function Header() {\n  const [dropdownOpen, setDropdownOpen] = useState(false)\n\n  const loginStatus = useLoginStatus()\n  const restarting = useRestarting()\n  const backpressureWarning = useBackpressureWarning()\n\n  const handleSidebarHide = useCallback(() => {\n    document.body.classList.toggle('sidebar-hidden', true)\n    document.body.classList.toggle('sidebar-mobile-show', false)\n  }, [])\n\n  const handlePopstate = useCallback(() => {\n    document.body.classList.toggle('sidebar-mobile-show', false)\n  }, [])\n\n  useEffect(() => {\n    window.addEventListener('sidebar:hide', handleSidebarHide)\n    window.addEventListener('popstate', handlePopstate)\n    return () => {\n      window.removeEventListener('sidebar:hide', handleSidebarHide)\n      window.removeEventListener('popstate', handlePopstate)\n    }\n  }, [handleSidebarHide, handlePopstate])\n\n  const toggleDropdown = () => {\n    setDropdownOpen(!dropdownOpen)\n  }\n\n  const mobileSidebarToggle = (e: MouseEvent<HTMLButtonElement>) => {\n    e.preventDefault()\n    document.body.classList.toggle('sidebar-mobile-show')\n  }\n\n  const sidebarToggle = (e: MouseEvent<HTMLButtonElement>) => {\n    e.preventDefault()\n    document.body.classList.toggle('sidebar-hidden')\n  }\n\n  const handleLogout = () => {\n    logoutAction()\n  }\n\n  const handleRestart = () => {\n    restartAction()\n  }\n\n  return (\n    <header className=\"app-header navbar\">\n      {backpressureWarning && (\n        <Alert\n          variant=\"warning\"\n          className=\"backpressure-warning\"\n          style={{\n            position: 'absolute',\n            top: '55px',\n            left: '50%',\n            transform: 'translateX(-50%)',\n            zIndex: 1050,\n            margin: 0,\n            padding: '8px 16px',\n            fontSize: '14px',\n            boxShadow: '0 2px 8px rgba(0,0,0,0.15)'\n          }}\n        >\n          <FontAwesomeIcon icon={faTriangleExclamation} /> Network congestion\n          detected – some updates were skipped. Check your connection.\n        </Alert>\n      )}\n      <button\n        type=\"button\"\n        className=\"navbar-toggler d-lg-none\"\n        onClick={mobileSidebarToggle}\n        aria-label=\"Toggle sidebar\"\n      >\n        <span className=\"navbar-toggler-icon\" />\n      </button>\n      <Navbar.Brand href=\"#\" />\n      <button\n        type=\"button\"\n        className=\"navbar-toggler d-none d-lg-block me-auto\"\n        onClick={sidebarToggle}\n        aria-label=\"Toggle sidebar\"\n      >\n        <span className=\"navbar-toggler-icon\" />\n      </button>\n      <Nav className=\"ms-auto\">\n        {/* Desktop: show items directly */}\n        {loginStatus.status === 'loggedIn' &&\n          loginStatus.userLevel === 'admin' && (\n            <Nav.Item className=\"d-none d-sm-block px-3\">\n              <Nav.Link href=\"#/\" onClick={handleRestart}>\n                <FontAwesomeIcon\n                  icon={faCircleNotch}\n                  spin={restarting}\n                  className={restarting ? 'text-danger' : ''}\n                />{' '}\n                Restart\n              </Nav.Link>\n            </Nav.Item>\n          )}\n        {loginStatus.status === 'loggedIn' && (\n          <Nav.Item className=\"d-none d-sm-block px-3\">\n            <Nav.Link href=\"#/\" onClick={handleLogout}>\n              <FontAwesomeIcon icon={faLock} /> Logout\n            </Nav.Link>\n          </Nav.Item>\n        )}\n        {loginStatus.status !== 'loggedIn' &&\n          loginStatus.authenticationRequired && (\n            <Nav.Item className=\"d-none d-sm-block px-3\">\n              <Nav.Link href=\"#/login\">\n                <FontAwesomeIcon icon={faLock} /> Login\n              </Nav.Link>\n            </Nav.Item>\n          )}\n        {/* Mobile: show dropdown menu */}\n        <div className=\"d-sm-none\">\n          <Dropdown as={Nav.Item} show={dropdownOpen} onToggle={toggleDropdown}>\n            <Dropdown.Toggle as={Nav.Link}>\n              <FontAwesomeIcon icon={faBars} />\n            </Dropdown.Toggle>\n            <Dropdown.Menu align=\"end\">\n              {loginStatus.status === 'loggedIn' &&\n                loginStatus.userLevel === 'admin' && (\n                  <Dropdown.Item onClick={handleRestart}>\n                    <FontAwesomeIcon\n                      icon={faCircleNotch}\n                      spin={restarting}\n                      className={restarting ? 'text-danger' : ''}\n                    />{' '}\n                    Restart\n                  </Dropdown.Item>\n                )}\n              {loginStatus.status === 'loggedIn' && (\n                <Dropdown.Item onClick={handleLogout}>\n                  <FontAwesomeIcon icon={faLock} /> Logout\n                </Dropdown.Item>\n              )}\n              {loginStatus.status !== 'loggedIn' &&\n                loginStatus.authenticationRequired && (\n                  <Dropdown.Item href=\"#/login\">\n                    <FontAwesomeIcon icon={faLock} /> Login\n                  </Dropdown.Item>\n                )}\n            </Dropdown.Menu>\n          </Dropdown>\n        </div>\n      </Nav>\n    </header>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/Icons.tsx",
    "content": "import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\n// Solid icons\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faBan } from '@fortawesome/free-solid-svg-icons/faBan'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck'\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons/faCircleInfo'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons/faCircleNotch'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons/faCirclePlus'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport { faGear } from '@fortawesome/free-solid-svg-icons/faGear'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faRightToBracket } from '@fortawesome/free-solid-svg-icons/faRightToBracket'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation'\n\n// Regular icons (outline style)\nimport { faCircleDot } from '@fortawesome/free-regular-svg-icons/faCircleDot'\n\n// Brand icons\nimport { faOpenid } from '@fortawesome/free-brands-svg-icons/faOpenid'\n\nexport {\n  FontAwesomeIcon,\n  // Solid\n  faAlignJustify,\n  faBan,\n  faCheck,\n  faCircleInfo,\n  faCircleNotch,\n  faCirclePlus,\n  faFloppyDisk,\n  faGear,\n  faLock,\n  faRightToBracket,\n  faSpinner,\n  faTriangleExclamation,\n  // Regular\n  faCircleDot,\n  // Brands\n  faOpenid\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/Sidebar/Sidebar.tsx",
    "content": "import React, { useMemo, useCallback, MouseEvent, ReactNode } from 'react'\nimport { NavLink, Location } from 'react-router-dom'\nimport Badge from 'react-bootstrap/Badge'\nimport Nav from 'react-bootstrap/Nav'\nimport {\n  useAppStore,\n  useAccessRequests,\n  useDevices,\n  useLoginStatus\n} from '../../store'\nimport classNames from 'classnames'\nimport SidebarFooter from './../SidebarFooter/SidebarFooter'\nimport SidebarForm from './../SidebarForm/SidebarForm'\nimport SidebarHeader from './../SidebarHeader/SidebarHeader'\nimport SidebarMinimizer from './../SidebarMinimizer/SidebarMinimizer'\n\ninterface BadgeData {\n  variant?: string\n  text?: string\n  color?: string\n  class?: string\n}\n\ninterface NavItemData {\n  name: string\n  url?: string\n  icon?: string\n  badge?: BadgeData | null\n  badges?: BadgeData[]\n  class?: string\n  variant?: string\n  title?: boolean\n  divider?: boolean\n  children?: NavItemData[]\n  wrapper?: {\n    element: string\n    attributes?: Record<string, unknown>\n  }\n  props?: Record<string, unknown>\n}\n\ninterface SidebarProps {\n  location: Location\n}\n\nexport default function Sidebar({ location }: SidebarProps) {\n  const appStore = useAppStore()\n  const accessRequests = useAccessRequests()\n  const devices = useDevices()\n  const loginStatus = useLoginStatus()\n\n  const nowMs = Date.now() // eslint-disable-line react-hooks/purity -- expired status is stable\n  const expiredDeviceCount = devices.filter(\n    (d) => d.tokenExpiry && d.tokenExpiry * 1000 < nowMs\n  ).length\n\n  const items = useMemo((): NavItemData[] => {\n    const appUpdates = appStore.updates.length\n    let updatesBadge: BadgeData | null = null\n    let serverUpdateBadge: BadgeData | null = null\n    let accessRequestsBadge: BadgeData | null = null\n    let expiredDevicesBadge: BadgeData | null = null\n\n    if (appUpdates > 0) {\n      updatesBadge = {\n        variant: 'success',\n        text: `${appUpdates}`,\n        color: 'success'\n      }\n    }\n\n    if (accessRequests.length > 0) {\n      accessRequestsBadge = {\n        variant: 'success',\n        text: `${accessRequests.length}`,\n        color: 'success'\n      }\n    }\n\n    if (expiredDeviceCount > 0) {\n      expiredDevicesBadge = {\n        variant: 'danger',\n        text: `${expiredDeviceCount}`,\n        color: 'danger'\n      }\n    }\n\n    if (appStore.storeAvailable === false) {\n      updatesBadge = {\n        variant: 'danger',\n        text: 'OFFLINE'\n      }\n    }\n\n    if (appStore.serverUpdate) {\n      serverUpdateBadge = {\n        variant: 'danger',\n        text: appStore.serverUpdate,\n        color: 'danger'\n      }\n    }\n\n    const result: NavItemData[] = [\n      {\n        name: 'Dashboard',\n        url: '/dashboard',\n        icon: 'icon-speedometer'\n      },\n      {\n        name: 'Webapps',\n        url: '/webapps',\n        icon: 'icon-grid'\n      },\n      {\n        name: 'Data Browser',\n        url: '/databrowser',\n        icon: 'icon-folder'\n      }\n    ]\n\n    if (\n      !loginStatus.authenticationRequired ||\n      loginStatus.userLevel === 'admin'\n    ) {\n      result.push(\n        {\n          name: 'Appstore',\n          url: '/appstore',\n          icon: 'icon-basket',\n          badge: updatesBadge\n        },\n        {\n          name: 'Server',\n          url: '/serverConfiguration',\n          icon: 'icon-settings',\n          children: [\n            {\n              name: 'Settings',\n              url: '/serverConfiguration/settings'\n            },\n            {\n              name: 'Data Connections',\n              url: '/serverConfiguration/connections/-'\n            },\n            {\n              name: 'Plugin Config',\n              url: '/serverConfiguration/plugins/-'\n            },\n            {\n              name: 'Server Logs',\n              url: '/serverConfiguration/log'\n            },\n            {\n              name: 'Update',\n              url: '/serverConfiguration/update',\n              badge: serverUpdateBadge\n            },\n            {\n              name: 'Data Fiddler',\n              url: '/serverConfiguration/datafiddler'\n            },\n            {\n              name: 'Backup/Restore',\n              url: '/serverConfiguration/backuprestore'\n            }\n          ]\n        }\n      )\n    }\n\n    if (\n      loginStatus.authenticationRequired === false ||\n      loginStatus.userLevel === 'admin'\n    ) {\n      const securityBadges: BadgeData[] = []\n      if (accessRequestsBadge) securityBadges.push(accessRequestsBadge)\n      if (expiredDevicesBadge) securityBadges.push(expiredDevicesBadge)\n\n      const security: NavItemData = {\n        name: 'Security',\n        url: '/security',\n        icon: 'icon-shield',\n        badges: securityBadges,\n        children: [\n          {\n            name: 'Settings',\n            url: '/security/settings'\n          },\n          {\n            name: 'Users',\n            url: '/security/users'\n          }\n        ]\n      }\n      if (loginStatus.allowDeviceAccessRequests) {\n        security.children!.push({\n          name: 'Devices',\n          url: '/security/devices',\n          badge: expiredDevicesBadge\n        })\n      }\n      if (\n        loginStatus.allowNewUserRegistration ||\n        loginStatus.allowDeviceAccessRequests\n      ) {\n        security.children!.push({\n          name: 'Access Requests',\n          url: '/security/access/requests',\n          badge: accessRequestsBadge\n        })\n      }\n      result.push(security)\n    }\n\n    result.push({\n      name: 'Documentation',\n      url: '/documentation',\n      icon: 'icon-book-open'\n    })\n\n    result.push({\n      name: 'OpenApi',\n      url: `${window.location.protocol}//${window.location.host}/doc/openapi`,\n      icon: 'icon-energy',\n      props: {\n        target: '_blank',\n        rel: 'noopener noreferrer'\n      }\n    })\n\n    result.push({\n      name: 'AsyncApi',\n      url: '/asyncapi',\n      icon: 'icon-feed'\n    })\n\n    return result\n  }, [appStore, accessRequests, expiredDeviceCount, loginStatus])\n\n  const handleClick = useCallback((e: MouseEvent<HTMLAnchorElement>) => {\n    e.preventDefault()\n    ;(e.target as HTMLElement).parentElement?.classList.toggle('open')\n  }, [])\n\n  const activeRoute = useCallback(\n    (routeName: string) => {\n      return location.pathname.indexOf(routeName) > -1\n        ? 'nav-item nav-dropdown open'\n        : 'nav-item nav-dropdown'\n    },\n    [location.pathname]\n  )\n\n  const renderBadge = (badgeData: BadgeData, key?: number): ReactNode => {\n    const classes = classNames(badgeData.class)\n    return (\n      <Badge key={key} className={classes} bg={badgeData.variant}>\n        {badgeData.text}\n      </Badge>\n    )\n  }\n\n  const badges = (item: NavItemData): ReactNode => {\n    if (item.badges && item.badges.length > 0) {\n      return <>{item.badges.map((b, i) => renderBadge(b, i))}</>\n    }\n    if (item.badge) {\n      return renderBadge(item.badge)\n    }\n    return null\n  }\n\n  const wrapper = (item: NavItemData): ReactNode => {\n    return item.wrapper && item.wrapper.element\n      ? React.createElement(\n          item.wrapper.element,\n          item.wrapper.attributes,\n          item.name\n        )\n      : item.name\n  }\n\n  const title = (titleItem: NavItemData, key: number): ReactNode => {\n    const classes = classNames('nav-title', titleItem.class)\n    return (\n      <li key={key} className={classes}>\n        {wrapper(titleItem)}{' '}\n      </li>\n    )\n  }\n\n  const divider = (dividerItem: NavItemData, key: number): ReactNode => {\n    const classes = classNames('divider', dividerItem.class)\n    return <li key={key} className={classes} />\n  }\n\n  const renderIcon = (iconClass?: string): ReactNode => {\n    if (!iconClass) return null\n    return <i className={classNames(iconClass, 'nav-icon')} />\n  }\n\n  const navLink = (\n    item: NavItemData,\n    key: number,\n    classes: { item: string; link: string; icon: string }\n  ): ReactNode => {\n    const url = item.url ? item.url : ''\n    const isExternal = (url: string) => {\n      const link = url ? url.substring(0, 4) : ''\n      return link === 'http'\n    }\n    return (\n      <Nav.Item as=\"li\" key={key} className={classes.item}>\n        {isExternal(url) ? (\n          <Nav.Link href={url} className={classes.link} {...(item.props || {})}>\n            {renderIcon(item.icon)}\n            {item.name}\n            {badges(item)}\n          </Nav.Link>\n        ) : (\n          <NavLink\n            to={url}\n            className={({ isActive }) =>\n              isActive ? `${classes.link} active` : classes.link\n            }\n            {...(item.props || {})}\n          >\n            {renderIcon(item.icon)}\n            {item.name}\n            {badges(item)}\n          </NavLink>\n        )}\n      </Nav.Item>\n    )\n  }\n\n  const navItem = (item: NavItemData, key: number): ReactNode => {\n    const classes = {\n      item: classNames(item.class),\n      link: classNames(\n        'nav-link',\n        item.variant ? `nav-link-${item.variant}` : ''\n      ),\n      icon: classNames(item.icon)\n    }\n    return navLink(item, key, classes)\n  }\n\n  const navDropdown = (item: NavItemData, key: number): ReactNode => {\n    return (\n      <li key={key} className={activeRoute(item.url || '')}>\n        <a\n          className=\"nav-link nav-dropdown-toggle\"\n          href=\"#\"\n          onClick={handleClick}\n        >\n          {renderIcon(item.icon)}\n          {item.name}\n          {badges(item)}\n        </a>\n        <ul className=\"nav-dropdown-items\">{navList(item.children || [])}</ul>\n      </li>\n    )\n  }\n\n  const navType = (item: NavItemData, idx: number): ReactNode =>\n    item.title\n      ? title(item, idx)\n      : item.divider\n        ? divider(item, idx)\n        : item.children\n          ? navDropdown(item, idx)\n          : navItem(item, idx)\n\n  const navList = (navItems: NavItemData[]): ReactNode[] => {\n    return navItems.map((item, index) => navType(item, index))\n  }\n\n  return (\n    <div className=\"sidebar\">\n      <SidebarHeader />\n      <SidebarForm />\n      <nav className=\"sidebar-nav\">\n        <Nav>{navList(items)}</Nav>\n      </nav>\n      <SidebarFooter />\n      <SidebarMinimizer />\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/SidebarFooter/SidebarFooter.tsx",
    "content": "export default function SidebarFooter() {\n  return null\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/SidebarForm/SidebarForm.tsx",
    "content": "export default function SidebarForm() {\n  return null\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/SidebarHeader/SidebarHeader.tsx",
    "content": "export default function SidebarHeader() {\n  return null\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/components/SidebarMinimizer/SidebarMinimizer.tsx",
    "content": "import { useCallback } from 'react'\n\nexport default function SidebarMinimizer() {\n  const handleClick = useCallback(() => {\n    document.body.classList.toggle('sidebar-minimized')\n    document.body.classList.toggle('brand-minimized')\n  }, [])\n\n  return (\n    <button className=\"sidebar-minimizer\" type=\"button\" onClick={handleClick} />\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/containers/Full/Full.tsx",
    "content": "import React, { useEffect, Component, ReactNode, ComponentType } from 'react'\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom'\nimport Container from 'react-bootstrap/Container'\nimport { useLoginStatus, type LoginStatus } from '../../store'\n\nimport Header from '../../components/Header/Header'\nimport Sidebar from '../../components/Sidebar/Sidebar'\nimport Aside from '../../components/Aside/Aside'\nimport Footer from '../../components/Footer/Footer'\n\nimport Dashboard from '../../views/Dashboard/Dashboard'\nimport Embedded from '../../views/Webapps/Embedded'\nimport EmbeddedDocs from '../../views/Webapps/EmbeddedDocs'\nimport EmbeddedAsyncApi from '../../views/Webapps/EmbeddedAsyncApi'\nimport Webapps from '../../views/Webapps/Webapps'\nimport DataBrowser from '../../views/DataBrowser/DataBrowser'\nimport Playground from '../../views/Playground'\nimport Apps from '../../views/appstore/Apps/Apps'\nimport Configuration from '../../views/Configuration/Configuration'\nimport Login from '../../views/security/Login'\nimport SecuritySettings from '../../views/security/Settings'\nimport Users from '../../views/security/Users'\nimport Devices from '../../views/security/Devices'\nimport Register from '../../views/security/Register'\nimport AccessRequests from '../../views/security/AccessRequests'\nimport ProvidersConfiguration from '../../views/ServerConfig/ProvidersConfiguration'\nimport Settings from '../../views/ServerConfig/Settings'\nimport BackupRestore from '../../views/ServerConfig/BackupRestore'\nimport ServerLog from '../../views/ServerConfig/ServerLog'\nimport ServerUpdate from '../../views/ServerConfig/ServerUpdate'\n\nimport { fetchAllData } from '../../actions'\n\ninterface ErrorBoundaryProps {\n  children: ReactNode\n}\n\ninterface ErrorBoundaryState {\n  hasError: boolean\n  error: Error | null\n}\n\n// Must be a class component — React error boundaries don't support hooks\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n  constructor(props: ErrorBoundaryProps) {\n    super(props)\n    this.state = { hasError: false, error: null }\n  }\n\n  static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n    return { hasError: true, error }\n  }\n\n  override componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n    console.error('ErrorBoundary caught an error:', error, errorInfo)\n  }\n\n  override render(): ReactNode {\n    if (this.state.hasError) {\n      return (\n        <span>\n          Something went wrong.\n          {this.state.error && (\n            <pre\n              style={{ fontSize: '0.8rem', color: 'red', marginTop: '1rem' }}\n            >\n              {this.state.error.toString()}\n            </pre>\n          )}\n        </span>\n      )\n    }\n    return this.props.children\n  }\n}\n\ninterface ProtectedRouteProps {\n  component: ComponentType\n  supportsReadOnly?: boolean\n}\n\nfunction loginRequired(\n  loginStatus: LoginStatus,\n  componentSupportsReadOnly: boolean\n): boolean {\n  if (componentSupportsReadOnly && loginStatus.readOnlyAccess) {\n    return false\n  }\n\n  return (\n    loginStatus.authenticationRequired === true &&\n    loginStatus.status === 'notLoggedIn'\n  )\n}\n\nfunction ProtectedRoute({\n  component: ComponentToRender,\n  supportsReadOnly = false\n}: ProtectedRouteProps) {\n  const loginStatus = useLoginStatus()\n\n  if (loginRequired(loginStatus, supportsReadOnly)) {\n    return <Login />\n  }\n\n  return (\n    <ErrorBoundary>\n      <ComponentToRender />\n    </ErrorBoundary>\n  )\n}\n\nexport default function Full() {\n  const location = useLocation()\n\n  useEffect(() => {\n    fetchAllData()\n  }, [])\n\n  const suppressPadding =\n    location.pathname.indexOf('/e/') === 0 ||\n    location.pathname.indexOf('/documentation') === 0\n      ? { padding: '0px' }\n      : {}\n\n  return (\n    <div className=\"app\">\n      <Header />\n      <div className=\"app-body\">\n        <Sidebar location={location} />\n        <main className=\"main\">\n          <Container fluid style={suppressPadding}>\n            <Routes>\n              <Route\n                path=\"/dashboard\"\n                element={\n                  <ProtectedRoute component={Dashboard} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/webapps\"\n                element={\n                  <ProtectedRoute component={Webapps} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/e/:moduleId\"\n                element={\n                  <ProtectedRoute component={Embedded} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/databrowser\"\n                element={\n                  <ProtectedRoute component={DataBrowser} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/serverConfiguration/datafiddler\"\n                element={\n                  <ProtectedRoute component={Playground} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/appstore/*\"\n                element={<ProtectedRoute component={Apps} />}\n              />\n              <Route\n                path=\"/serverConfiguration/plugins/:pluginid\"\n                element={<ProtectedRoute component={Configuration} />}\n              />\n              <Route\n                path=\"/serverConfiguration/settings\"\n                element={<ProtectedRoute component={Settings} />}\n              />\n              <Route\n                path=\"/serverConfiguration/backuprestore\"\n                element={<ProtectedRoute component={BackupRestore} />}\n              />\n              <Route\n                path=\"/serverConfiguration/connections/:providerId\"\n                element={<ProtectedRoute component={ProvidersConfiguration} />}\n              />\n              <Route\n                path=\"/serverConfiguration/log\"\n                element={\n                  <ProtectedRoute component={ServerLog} supportsReadOnly />\n                }\n              />\n              <Route\n                path=\"/serverConfiguration/update\"\n                element={<ProtectedRoute component={ServerUpdate} />}\n              />\n              <Route\n                path=\"/security/settings\"\n                element={<ProtectedRoute component={SecuritySettings} />}\n              />\n              <Route\n                path=\"/security/users\"\n                element={<ProtectedRoute component={Users} />}\n              />\n              <Route\n                path=\"/security/devices\"\n                element={<ProtectedRoute component={Devices} />}\n              />\n              <Route\n                path=\"/security/access/requests\"\n                element={<ProtectedRoute component={AccessRequests} />}\n              />\n              <Route path=\"/asyncapi\" element={<EmbeddedAsyncApi />} />\n              <Route path=\"/documentation/*\" element={<EmbeddedDocs />} />\n              <Route path=\"/login\" element={<Login />} />\n              <Route path=\"/register\" element={<Register />} />\n              <Route path=\"/\" element={<Navigate to=\"/dashboard\" replace />} />\n            </Routes>\n          </Container>\n        </main>\n        <Aside />\n      </div>\n      <Footer />\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/contexts/WebSocketContext.tsx",
    "content": "import { createContext, use, useEffect, ReactNode } from 'react'\nimport { webSocketService } from '../services/WebSocketService'\nimport type { WebSocketService } from '../services/WebSocketService'\nimport { useStore } from '../store'\n\nexport type { WebSocketService }\n\nconst WebSocketContext = createContext<typeof webSocketService | null>(null)\n\ninterface WebSocketProviderProps {\n  children: ReactNode\n  autoConnect?: boolean\n}\n\n// Must wire up before connect() so server events reach the store\nwebSocketService.setZustandState(useStore.setState)\n\nexport function WebSocketProvider({\n  children,\n  autoConnect = true\n}: WebSocketProviderProps) {\n  useEffect(() => {\n    if (autoConnect) {\n      webSocketService.connect()\n    }\n    return () => {\n      webSocketService.close(true)\n    }\n  }, [autoConnect])\n\n  return (\n    <WebSocketContext value={webSocketService}>{children}</WebSocketContext>\n  )\n}\n\nexport function useWebSocketContext() {\n  const context = use(WebSocketContext)\n  if (!context) {\n    throw new Error(\n      'useWebSocketContext must be used within a WebSocketProvider'\n    )\n  }\n  return context\n}\n\nexport default WebSocketContext\n"
  },
  {
    "path": "packages/server-admin-ui/src/dataFetching.ts",
    "content": "import { isUndefined } from 'lodash'\nimport { useStore } from './store'\n\ndeclare global {\n  interface Window {\n    serverRoutesPrefix: string\n  }\n}\n\nexport const authFetch = (\n  url: string,\n  options?: RequestInit\n): Promise<Response> => {\n  return fetch(url, {\n    ...options,\n    credentials: 'include'\n  })\n}\n\nexport async function fetchLoginStatus(): Promise<void> {\n  const response = await authFetch(`${window.serverRoutesPrefix}/loginStatus`)\n  if (response.status === 200) {\n    const data = await response.json()\n    useStore.getState().setLoginStatus(data)\n  }\n}\n\nexport async function fetchAllData(): Promise<void> {\n  const fetchAndSet = async <T>(\n    endpoint: string,\n    setter: (data: T) => void,\n    prefix?: string\n  ) => {\n    try {\n      const response = await authFetch(\n        `${isUndefined(prefix) ? window.serverRoutesPrefix : prefix}${endpoint}`\n      )\n      if (response.status === 200) {\n        const data = await response.json()\n        setter(data)\n      }\n    } catch (error) {\n      console.error(`Failed to fetch ${endpoint}:`, error)\n    }\n  }\n\n  const state = useStore.getState()\n\n  await Promise.all([\n    fetchAndSet('/plugins', state.setPlugins),\n    fetchAndSet('/webapps', state.setWebapps),\n    fetchAndSet('/addons', state.setAddons),\n    fetchAndSet('/appstore/available', state.setAppStore),\n    fetchAndSet('/loginStatus', state.setLoginStatus),\n    fetchAndSet('/signalk', state.setServerSpecification, ''),\n    fetchAndSet('/security/access/requests', state.setAccessRequests),\n    fetchAndSet('/security/devices', state.setDevices),\n    fetchAndSet('/nodeInfo', state.setNodeInfo)\n  ])\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/dependency-sync.test.ts",
    "content": "import { describe, it, expect } from 'vitest'\nimport { readFileSync } from 'node:fs'\nimport { join } from 'node:path'\nimport { satisfies } from 'semver'\n\ndescribe('dependency version sync', () => {\n  it('installed versions satisfy @signalk/server-admin-ui-dependencies peerDependencies', () => {\n    const depsPackageJson = JSON.parse(\n      readFileSync(\n        join(__dirname, '../../server-admin-ui-dependencies/package.json'),\n        'utf-8'\n      )\n    )\n\n    const peerDeps: Record<string, string> =\n      depsPackageJson.peerDependencies ?? {}\n\n    const mismatches: string[] = []\n\n    for (const [name, range] of Object.entries(peerDeps)) {\n      let installedVersion: string\n      try {\n        const pkgJson = JSON.parse(\n          readFileSync(\n            require.resolve(`${name}/package.json`, {\n              paths: [join(__dirname, '..')]\n            }),\n            'utf-8'\n          )\n        )\n        installedVersion = pkgJson.version\n      } catch {\n        mismatches.push(`${name}: not installed (expected ${range})`)\n        continue\n      }\n\n      if (!satisfies(installedVersion, range)) {\n        mismatches.push(\n          `${name}: installed ${installedVersion} does not satisfy ${range}`\n        )\n      }\n    }\n\n    expect(\n      mismatches,\n      'Version mismatches with @signalk/server-admin-ui-dependencies'\n    ).toEqual([])\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/fa-pulse.css",
    "content": ".fa-pulse {\n  display: inline-block;\n  animation: fa-pulse 2s infinite linear;\n}\n\n.fa-pulse-fast {\n  display: inline-block;\n  animation: fa-pulse 1s infinite linear;\n}\n\n@keyframes fa-pulse {\n  0% {\n    opacity: 1;\n  }\n  50% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/hooks/useWebSocket.ts",
    "content": "import { useSyncExternalStore, useCallback, useEffect, useRef } from 'react'\nimport { webSocketService } from '../services/WebSocketService'\nimport type {\n  WebSocketStatus,\n  DeltaMessageHandler\n} from '../services/WebSocketService'\n\ninterface WebSocketState {\n  status: WebSocketStatus\n  skSelf: string | null\n  ws: WebSocket | null\n  isConnected: boolean\n}\n\nexport function useWebSocket(): WebSocketState {\n  const state = useSyncExternalStore(\n    webSocketService.subscribe,\n    webSocketService.getSnapshot,\n    webSocketService.getServerSnapshot\n  )\n\n  return {\n    status: state.status,\n    skSelf: state.skSelf,\n    ws: state.ws,\n    isConnected: state.status === 'open'\n  }\n}\n\nexport function useWebSocketStatus(): WebSocketStatus {\n  const state = useSyncExternalStore(\n    webSocketService.subscribe,\n    webSocketService.getSnapshot,\n    webSocketService.getServerSnapshot\n  )\n  return state.status\n}\n\nexport function useSkSelf(): string | null {\n  const state = useSyncExternalStore(\n    webSocketService.subscribe,\n    webSocketService.getSnapshot,\n    webSocketService.getServerSnapshot\n  )\n  return state.skSelf\n}\n\nexport function useDeltaMessages(handler: DeltaMessageHandler): void {\n  const handlerRef = useRef(handler)\n\n  useEffect(() => {\n    handlerRef.current = handler\n  })\n\n  useEffect(() => {\n    const wrappedHandler: DeltaMessageHandler = (message) => {\n      handlerRef.current(message)\n    }\n    return webSocketService.addDeltaHandler(wrappedHandler)\n  }, [])\n}\n\nexport function useWebSocketActions() {\n  return {\n    connect: useCallback((isReconnect?: boolean) => {\n      webSocketService.connect(isReconnect)\n    }, []),\n    close: useCallback((skipReconnect?: boolean) => {\n      webSocketService.close(skipReconnect)\n    }, []),\n    reconnect: useCallback(() => {\n      webSocketService.reconnect()\n    }, [])\n  }\n}\n\nexport function getWebSocketService() {\n  return webSocketService\n}\n\nexport default useWebSocket\n"
  },
  {
    "path": "packages/server-admin-ui/src/index.ts",
    "content": "import('./bootstrap')\n"
  },
  {
    "path": "packages/server-admin-ui/src/routes.ts",
    "content": "const routes = {\n  '/': 'Home',\n  '/dashboard': 'Dashboard',\n  '/webapps': 'Webapps'\n}\nexport default routes\n"
  },
  {
    "path": "packages/server-admin-ui/src/services/WebSocketService.ts",
    "content": "import { useStore, type SignalKStore } from '../store'\nimport { fetchAllData } from '../dataFetching'\n\nexport type WebSocketStatus =\n  | 'initial'\n  | 'connecting'\n  | 'open'\n  | 'closed'\n  | 'error'\n\nexport type DeltaMessageHandler = (message: unknown) => void\nexport type StatusChangeHandler = (status: WebSocketStatus) => void\n\ninterface WebSocketServiceState {\n  status: WebSocketStatus\n  skSelf: string | null\n  ws: WebSocket | null\n}\n\ntype Listener = () => void\ntype ZustandStateSetter = (\n  partial:\n    | Partial<SignalKStore>\n    | ((state: SignalKStore) => Partial<SignalKStore>)\n) => void\n\nexport class WebSocketService {\n  private state: WebSocketServiceState = {\n    status: 'initial',\n    skSelf: null,\n    ws: null\n  }\n\n  private listeners = new Set<Listener>()\n  private deltaHandlers = new Set<DeltaMessageHandler>()\n  private statusHandlers = new Set<StatusChangeHandler>()\n  private reconnectTimer: ReturnType<typeof setInterval> | null = null\n  private reconnectAttempts = 0\n  private maxReconnectAttempts = Infinity\n  private reconnectInterval = 5000\n  private zustandSetState: ZustandStateSetter | null = null\n\n  setZustandState(setState: ZustandStateSetter): void {\n    this.zustandSetState = setState\n  }\n\n  connect(isReconnect = false): void {\n    if (this.state.ws?.readyState === WebSocket.OPEN) {\n      return\n    }\n\n    const proto = window.location.protocol === 'https:' ? 'wss' : 'ws'\n    const url =\n      proto +\n      '://' +\n      window.location.host +\n      `/signalk/v1/stream?serverevents=all&subscribe=none&sendMeta=all`\n\n    this.updateState({ status: 'connecting' })\n\n    const ws = new WebSocket(url)\n\n    ws.onopen = () => {\n      console.log('connected')\n      this.reconnectAttempts = 0\n      this.stopReconnectTimer()\n      this.updateState({ status: 'open', ws })\n\n      if (isReconnect) {\n        fetchAllData()\n        useStore.getState().setRestarting(false)\n      }\n    }\n\n    ws.onmessage = (event: MessageEvent) => {\n      const message = JSON.parse(event.data)\n      this.handleMessage(message)\n    }\n\n    ws.onclose = () => {\n      console.log('closed')\n      this.updateState({ status: 'closed', ws: null })\n      this.startReconnectTimer()\n    }\n\n    ws.onerror = () => {\n      this.updateState({ status: 'error' })\n    }\n\n    this.state.ws = ws\n  }\n\n  close(skipReconnect = false): void {\n    if (skipReconnect) {\n      this.stopReconnectTimer()\n      if (this.state.ws) {\n        this.state.ws.onclose = null\n      }\n    }\n    this.state.ws?.close()\n    this.updateState({ status: 'closed', ws: null })\n  }\n\n  reconnect(): void {\n    this.close(true)\n    this.connect()\n  }\n\n  getWebSocket(): WebSocket | null {\n    return this.state.ws\n  }\n\n  getSkSelf(): string | null {\n    return this.state.skSelf\n  }\n\n  getStatus(): WebSocketStatus {\n    return this.state.status\n  }\n\n  // useSyncExternalStore support\n  subscribe = (listener: Listener): (() => void) => {\n    this.listeners.add(listener)\n    return () => {\n      this.listeners.delete(listener)\n    }\n  }\n\n  getSnapshot = (): WebSocketServiceState => {\n    return this.state\n  }\n\n  getServerSnapshot = (): WebSocketServiceState => {\n    return this.state\n  }\n\n  addDeltaHandler(handler: DeltaMessageHandler): () => void {\n    this.deltaHandlers.add(handler)\n    return () => {\n      this.deltaHandlers.delete(handler)\n    }\n  }\n\n  addStatusHandler(handler: StatusChangeHandler): () => void {\n    this.statusHandlers.add(handler)\n    return () => {\n      this.statusHandlers.delete(handler)\n    }\n  }\n\n  private handleMessage(message: unknown): void {\n    const msg = message as Record<string, unknown>\n\n    if (msg.$backpressure) {\n      const bp = msg.$backpressure as {\n        accumulated: number\n        duration: number\n      }\n      if (this.zustandSetState) {\n        this.zustandSetState({\n          backpressureWarning: {\n            accumulated: bp.accumulated,\n            duration: bp.duration,\n            timestamp: Date.now()\n          }\n        } as Partial<SignalKStore>)\n        setTimeout(() => {\n          if (this.zustandSetState) {\n            this.zustandSetState({\n              backpressureWarning: null\n            } as Partial<SignalKStore>)\n          }\n        }, 10000)\n      }\n    }\n\n    if (msg.type) {\n      this.handleServerEvent(msg)\n      return\n    }\n\n    // Hello message — extract skSelf\n    if (msg.name) {\n      this.updateState({ skSelf: msg.self as string })\n      return\n    }\n\n    this.dispatchDelta(message)\n  }\n\n  private dispatchDelta(message: unknown): void {\n    this.deltaHandlers.forEach((handler) => {\n      try {\n        handler(message)\n      } catch (e) {\n        console.error('Delta handler error:', e)\n      }\n    })\n  }\n\n  private handleServerEvent(msg: Record<string, unknown>): void {\n    if (!this.zustandSetState) return\n\n    const eventType = msg.type as string\n    const data = msg.data as Record<string, unknown> | undefined\n\n    switch (eventType) {\n      case 'SERVERSTATISTICS':\n        this.zustandSetState({\n          serverStatistics: data\n        } as Partial<SignalKStore>)\n        break\n      case 'PROVIDERSTATUS':\n        this.zustandSetState({ providerStatus: data } as Partial<SignalKStore>)\n        break\n      case 'DEBUG_SETTINGS':\n        this.zustandSetState((state) => ({\n          log: {\n            ...state.log,\n            debugEnabled:\n              (data as { debugEnabled?: string })?.debugEnabled ?? '',\n            rememberDebug:\n              (data as { rememberDebug?: boolean })?.rememberDebug ?? false\n          }\n        }))\n        break\n      case 'LOG': {\n        const logData = msg.data as {\n          isError?: boolean\n          ts: string\n          row: string\n        }\n        useStore.getState().addLogEntry(logData)\n        break\n      }\n      case 'ACCESS_REQUEST':\n        this.zustandSetState({ accessRequests: data } as Partial<SignalKStore>)\n        break\n      case 'RECEIVE_LOGIN_STATUS':\n        this.zustandSetState({ loginStatus: data } as Partial<SignalKStore>)\n        break\n      case 'DISCOVERY_CHANGED':\n        this.zustandSetState({\n          discoveredProviders: data\n        } as Partial<SignalKStore>)\n        break\n      case 'RESTORESTATUS':\n        this.zustandSetState({ restoreStatus: data } as Partial<SignalKStore>)\n        break\n      case 'VESSEL_INFO':\n        useStore\n          .getState()\n          .setVesselInfo(data as Parameters<SignalKStore['setVesselInfo']>[0])\n        break\n      case 'SOURCEPRIORITIES':\n        useStore\n          .getState()\n          .setSourcePriorities(\n            data as Parameters<SignalKStore['setSourcePriorities']>[0]\n          )\n        break\n      case 'RECEIVE_APPSTORE_LIST':\n      case 'APP_STORE_CHANGED':\n        useStore\n          .getState()\n          .setAppStore(data as Parameters<SignalKStore['setAppStore']>[0])\n        break\n      default:\n        console.debug('Unhandled server event:', eventType)\n    }\n  }\n\n  private updateState(updates: Partial<WebSocketServiceState>): void {\n    const prevStatus = this.state.status\n    this.state = { ...this.state, ...updates }\n\n    this.listeners.forEach((listener) => listener())\n\n    if (updates.status && updates.status !== prevStatus) {\n      this.statusHandlers.forEach((handler) => {\n        try {\n          handler(this.state.status)\n        } catch (e) {\n          console.error('Status handler error:', e)\n        }\n      })\n    }\n\n    if (this.zustandSetState) {\n      const zustandUpdates: Record<string, unknown> = {}\n      if (updates.status !== undefined) {\n        zustandUpdates.wsStatus = updates.status\n      }\n      if (updates.skSelf !== undefined) {\n        zustandUpdates.skSelf = updates.skSelf\n      }\n      if (updates.ws !== undefined) {\n        zustandUpdates.ws = updates.ws\n      }\n      if (Object.keys(zustandUpdates).length > 0) {\n        this.zustandSetState(zustandUpdates as Partial<SignalKStore>)\n      }\n    }\n  }\n\n  private startReconnectTimer(): void {\n    if (this.reconnectTimer) return\n\n    this.reconnectTimer = setInterval(() => {\n      if (this.reconnectAttempts >= this.maxReconnectAttempts) {\n        this.stopReconnectTimer()\n        return\n      }\n      console.log('retry...')\n      this.reconnectAttempts++\n      this.connect(true)\n    }, this.reconnectInterval)\n  }\n\n  private stopReconnectTimer(): void {\n    if (this.reconnectTimer) {\n      clearInterval(this.reconnectTimer)\n      this.reconnectTimer = null\n    }\n  }\n}\n\nexport const webSocketService = new WebSocketService()\n\nexport default webSocketService\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/index.ts",
    "content": "import { create } from 'zustand'\nimport { subscribeWithSelector } from 'zustand/middleware'\nimport { useShallow } from 'zustand/react/shallow'\n\nimport { createAppSlice, type AppSlice } from './slices/appSlice'\nimport { createWsSlice, type WsSlice } from './slices/wsSlice'\nimport { createDataSlice, type DataSlice } from './slices/dataSlice'\nimport {\n  createPrioritiesSlice,\n  type PrioritiesSlice\n} from './slices/prioritiesSlice'\nimport {\n  createUnitPreferencesSlice,\n  type UnitPreferencesSlice\n} from './slices/unitPreferencesSlice'\n\nexport type { AppSlice } from './slices/appSlice'\nexport type {\n  WsSlice,\n  WebSocketStatus,\n  DeltaMessageHandler\n} from './slices/wsSlice'\nexport type { DataSlice, PathData, MetaData } from './slices/dataSlice'\nexport type { PrioritiesSlice } from './slices/prioritiesSlice'\nexport type { UnitPreferencesSlice } from './slices/unitPreferencesSlice'\n\nexport type SignalKStore = AppSlice &\n  WsSlice &\n  DataSlice &\n  PrioritiesSlice &\n  UnitPreferencesSlice\n\nexport const useStore = create<SignalKStore>()(\n  subscribeWithSelector((...args) => ({\n    ...createAppSlice(...args),\n    ...createWsSlice(...args),\n    ...createDataSlice(...args),\n    ...createPrioritiesSlice(...args),\n    ...createUnitPreferencesSlice(...args)\n  }))\n)\n\nexport { useShallow }\n\nexport function useWsStatus() {\n  return useStore((s) => s.wsStatus)\n}\n\nexport function useWsConnection() {\n  return useStore(\n    useShallow((s) => ({\n      status: s.wsStatus,\n      skSelf: s.skSelf,\n      ws: s.ws,\n      isConnected: s.wsStatus === 'open'\n    }))\n  )\n}\n\nexport function useLoginStatus() {\n  return useStore((s) => s.loginStatus)\n}\n\nexport function useAppStore() {\n  return useStore((s) => s.appStore)\n}\n\nexport function useServerStats() {\n  return useStore((s) => s.serverStatistics)\n}\n\nexport function useLogEntries() {\n  return useStore((s) => s.log)\n}\n\nexport function useClearLogEntries() {\n  return useStore((s) => s.clearLogEntries)\n}\n\nexport function usePathData(context: string, path$SourceKey: string) {\n  return useStore((s) => s.signalkData[context]?.[path$SourceKey])\n}\n\nexport function useMetaData(context: string, path: string) {\n  return useStore((s) => s.signalkMeta[context]?.[path])\n}\n\nexport function useDataVersion() {\n  return useStore((s) => s.dataVersion)\n}\n\nexport function useSourcePriorities() {\n  return useStore((s) => s.sourcePrioritiesData)\n}\n\nexport function useWebapps() {\n  return useStore((s) => s.webapps)\n}\n\nexport function useAddons() {\n  return useStore((s) => s.addons)\n}\n\nexport function usePlugins() {\n  return useStore((s) => s.plugins)\n}\n\nexport function useAccessRequests() {\n  return useStore((s) => s.accessRequests)\n}\n\nexport function useDevices() {\n  return useStore((s) => s.devices)\n}\n\nexport function useVesselInfo() {\n  return useStore((s) => s.vesselInfo)\n}\n\nexport function useServerSpecification() {\n  return useStore((s) => s.serverSpecification)\n}\n\nexport function useRestarting() {\n  return useStore((s) => s.restarting)\n}\n\nexport function useNodeInfo() {\n  return useStore((s) => s.nodeInfo)\n}\n\nexport function useBackpressureWarning() {\n  return useStore((s) => s.backpressureWarning)\n}\n\nexport function useActivePreset() {\n  return useStore((s) => s.activePreset)\n}\n\nexport function useServerDefaultPreset() {\n  return useStore((s) => s.serverDefaultPreset)\n}\n\nexport function usePresets() {\n  return useStore((s) => s.presets)\n}\n\nexport function usePresetDetails() {\n  return useStore((s) => s.presetDetails)\n}\n\nexport function useUnitDefinitions() {\n  return useStore((s) => s.unitDefinitions)\n}\n\nexport function useDefaultCategories() {\n  return useStore((s) => s.defaultCategories)\n}\n\nexport function useUnitPrefsLoaded() {\n  return useStore((s) => s.unitPrefsLoaded)\n}\n\nexport function useUnitCategories() {\n  return useStore((s) => s.categories)\n}\n\nexport * from './types'\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/appSlice.test.ts",
    "content": "import { describe, it, expect, beforeEach } from 'vitest'\nimport { useStore } from '../index'\nimport type { Plugin, Webapp, LoginStatus, AppStoreState } from '../types'\n\ndescribe('appSlice', () => {\n  beforeEach(() => {\n    // Reset store to initial state before each test\n    useStore.setState({\n      plugins: [],\n      webapps: [],\n      addons: [],\n      appStore: {\n        updates: [],\n        installed: [],\n        available: [],\n        installing: []\n      },\n      loginStatus: {},\n      serverSpecification: {},\n      restarting: false,\n      accessRequests: [],\n      discoveredProviders: [],\n      restoreStatus: {},\n      vesselInfo: {},\n      backpressureWarning: null,\n      serverStatistics: null,\n      providerStatus: []\n    })\n  })\n\n  describe('setPlugins', () => {\n    it('should update plugins state', () => {\n      const plugins: Plugin[] = [\n        { id: 'plugin-1', name: 'Test Plugin', version: '1.0.0' },\n        { id: 'plugin-2', name: 'Another Plugin', version: '2.0.0' }\n      ]\n\n      useStore.getState().setPlugins(plugins)\n\n      expect(useStore.getState().plugins).toEqual(plugins)\n    })\n\n    it('should replace existing plugins', () => {\n      const initialPlugins: Plugin[] = [\n        { id: 'old', name: 'Old Plugin', version: '0.1.0' }\n      ]\n      const newPlugins: Plugin[] = [\n        { id: 'new', name: 'New Plugin', version: '3.0.0' }\n      ]\n\n      useStore.getState().setPlugins(initialPlugins)\n      useStore.getState().setPlugins(newPlugins)\n\n      expect(useStore.getState().plugins).toEqual(newPlugins)\n    })\n  })\n\n  describe('setWebapps', () => {\n    it('should update webapps state', () => {\n      const webapps: Webapp[] = [\n        { name: 'Webapp 1', description: 'A webapp' },\n        { name: 'Webapp 2', description: 'Another webapp' }\n      ]\n\n      useStore.getState().setWebapps(webapps)\n\n      expect(useStore.getState().webapps).toEqual(webapps)\n    })\n  })\n\n  describe('setLoginStatus', () => {\n    it('should update login status', () => {\n      const loginStatus: LoginStatus = {\n        status: 'loggedIn',\n        username: 'testuser',\n        allowNewUserRegistration: true,\n        allowDeviceAccessRequests: true\n      }\n\n      useStore.getState().setLoginStatus(loginStatus)\n\n      expect(useStore.getState().loginStatus).toEqual(loginStatus)\n    })\n\n    it('should handle empty login status', () => {\n      useStore.getState().setLoginStatus({})\n\n      expect(useStore.getState().loginStatus).toEqual({})\n    })\n  })\n\n  describe('setAppStore', () => {\n    it('should sort appStore lists alphabetically by name', () => {\n      const appStore: AppStoreState = {\n        updates: [\n          { name: 'zebra', version: '1.0' },\n          { name: 'alpha', version: '1.0' }\n        ],\n        installed: [\n          { name: 'charlie', version: '1.0' },\n          { name: 'beta', version: '1.0' }\n        ],\n        available: [{ name: 'delta', version: '1.0' }],\n        installing: []\n      }\n\n      useStore.getState().setAppStore(appStore)\n\n      const state = useStore.getState().appStore\n      expect(state.updates[0].name).toBe('alpha')\n      expect(state.updates[1].name).toBe('zebra')\n      expect(state.installed[0].name).toBe('beta')\n      expect(state.installed[1].name).toBe('charlie')\n    })\n  })\n\n  describe('setRestarting', () => {\n    it('should set restarting to true', () => {\n      useStore.getState().setRestarting(true)\n\n      expect(useStore.getState().restarting).toBe(true)\n    })\n\n    it('should set restarting to false', () => {\n      useStore.getState().setRestarting(true)\n      useStore.getState().setRestarting(false)\n\n      expect(useStore.getState().restarting).toBe(false)\n    })\n  })\n\n  describe('setVesselInfo', () => {\n    it('should update vessel info', () => {\n      const vesselInfo = {\n        name: 'My Boat',\n        mmsi: '123456789',\n        uuid: 'urn:mrn:signalk:uuid:test'\n      }\n\n      useStore.getState().setVesselInfo(vesselInfo)\n\n      expect(useStore.getState().vesselInfo).toEqual(vesselInfo)\n    })\n  })\n\n  describe('setBackpressureWarning', () => {\n    it('should set backpressure warning', () => {\n      const warning = {\n        message: 'High backpressure detected',\n        timestamp: new Date().toISOString()\n      }\n\n      useStore.getState().setBackpressureWarning(warning)\n\n      expect(useStore.getState().backpressureWarning).toEqual(warning)\n    })\n\n    it('should clear backpressure warning with null', () => {\n      useStore.getState().setBackpressureWarning({\n        message: 'test',\n        timestamp: ''\n      })\n      useStore.getState().setBackpressureWarning(null)\n\n      expect(useStore.getState().backpressureWarning).toBeNull()\n    })\n  })\n\n  describe('setDebugSettings', () => {\n    it('should update debug enabled setting', () => {\n      useStore.getState().setDebugSettings({ debugEnabled: 'signalk:*' })\n\n      expect(useStore.getState().log.debugEnabled).toBe('signalk:*')\n    })\n\n    it('should update remember debug setting', () => {\n      useStore.getState().setDebugSettings({ rememberDebug: true })\n\n      expect(useStore.getState().log.rememberDebug).toBe(true)\n    })\n\n    it('should preserve other log state when updating partial settings', () => {\n      useStore.getState().setDebugSettings({ debugEnabled: 'test:*' })\n      useStore.getState().setDebugSettings({ rememberDebug: true })\n\n      const logState = useStore.getState().log\n      expect(logState.debugEnabled).toBe('test:*')\n      expect(logState.rememberDebug).toBe(true)\n    })\n  })\n\n  describe('addLogEntry', () => {\n    it('should add a log entry', () => {\n      const entry = {\n        ts: '2024-01-15T10:30:00Z',\n        row: 'Test log message'\n      }\n\n      useStore.getState().addLogEntry(entry)\n\n      const entries = useStore.getState().log.entries\n      const lastEntry = entries[entries.length - 1]\n      expect(lastEntry.d).toContain('Test log message')\n    })\n\n    it('should style error entries with red color', () => {\n      const entry = {\n        ts: '2024-01-15T10:30:00Z',\n        row: 'Error message',\n        isError: true\n      }\n\n      useStore.getState().addLogEntry(entry)\n\n      const entries = useStore.getState().log.entries\n      const lastEntry = entries[entries.length - 1]\n      expect(lastEntry.d).toContain('color:red')\n    })\n\n    it('should limit log entries to 100', () => {\n      // Add 150 entries\n      for (let i = 0; i < 150; i++) {\n        useStore.getState().addLogEntry({\n          ts: '2024-01-15T10:30:00Z',\n          row: `Message ${i}`\n        })\n      }\n\n      const entries = useStore.getState().log.entries\n      expect(entries.length).toBe(100)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/appSlice.ts",
    "content": "import type { StateCreator } from 'zustand'\nimport escape from 'escape-html'\nimport Convert from 'ansi-to-html'\nimport type {\n  Plugin,\n  Webapp,\n  Addon,\n  AppStoreState,\n  LoginStatus,\n  ServerSpecification,\n  ProviderStatus,\n  AccessRequest,\n  DeviceInfo,\n  DiscoveredProvider,\n  RestoreStatus,\n  VesselInfo,\n  BackpressureWarning,\n  ServerStatistics,\n  PathPriority,\n  LogState,\n  NodeInfo\n} from '../types'\n\nconst convert = new Convert()\nlet logEntryCount = 0\n\nfunction nameCollator<T extends { name: string }>(left: T, right: T): number {\n  if (left.name < right.name) {\n    return -1\n  }\n  if (left.name > right.name) {\n    return 1\n  }\n  return 0\n}\n\nexport interface AppSliceState {\n  plugins: Plugin[]\n  webapps: Webapp[]\n  addons: Addon[]\n  appStore: AppStoreState\n  loginStatus: LoginStatus\n  serverSpecification: ServerSpecification\n  restarting: boolean\n  accessRequests: AccessRequest[]\n  devices: DeviceInfo[]\n  discoveredProviders: DiscoveredProvider[]\n  log: LogState\n  restoreStatus: RestoreStatus\n  vesselInfo: VesselInfo\n  backpressureWarning: BackpressureWarning | null\n  serverStatistics: ServerStatistics | null\n  providerStatus: ProviderStatus[]\n  nodeInfo: NodeInfo\n}\n\nexport interface AppSliceActions {\n  setPlugins: (plugins: Plugin[]) => void\n  setWebapps: (webapps: Webapp[]) => void\n  setAddons: (addons: Addon[]) => void\n  setAppStore: (appStore: AppStoreState) => void\n  setLoginStatus: (status: LoginStatus) => void\n  setServerSpecification: (spec: ServerSpecification) => void\n  setServerStatistics: (stats: ServerStatistics) => void\n  setProviderStatus: (status: ProviderStatus[]) => void\n  setRestarting: (restarting: boolean) => void\n  setAccessRequests: (requests: AccessRequest[]) => void\n  setDevices: (devices: DeviceInfo[]) => void\n  setDiscoveredProviders: (providers: DiscoveredProvider[]) => void\n  setRestoreStatus: (status: RestoreStatus) => void\n  setVesselInfo: (info: VesselInfo) => void\n  setNodeInfo: (info: NodeInfo) => void\n  setBackpressureWarning: (warning: BackpressureWarning | null) => void\n  setDebugSettings: (settings: {\n    debugEnabled?: string\n    rememberDebug?: boolean\n  }) => void\n  addLogEntry: (entry: { isError?: boolean; ts: string; row: string }) => void\n  clearLogEntries: () => void\n  setSourcePrioritiesFromServer: (\n    priorities: Record<\n      string,\n      { sourceRef: string; timeout: string | number }[]\n    >\n  ) => void\n}\n\nexport type AppSlice = AppSliceState & AppSliceActions\n\nconst initialAppState: AppSliceState = {\n  plugins: [],\n  webapps: [],\n  addons: [],\n  appStore: {\n    updates: [],\n    installed: [],\n    available: [],\n    installing: []\n  },\n  loginStatus: {},\n  serverSpecification: {},\n  restarting: false,\n  accessRequests: [],\n  devices: [],\n  discoveredProviders: [],\n  log: {\n    entries: [],\n    debugEnabled: '',\n    rememberDebug: false\n  },\n  restoreStatus: {},\n  vesselInfo: {},\n  backpressureWarning: null,\n  serverStatistics: null,\n  providerStatus: [],\n  nodeInfo: {}\n}\n\nexport const createAppSlice: StateCreator<AppSlice, [], [], AppSlice> = (\n  set\n) => ({\n  ...initialAppState,\n\n  setPlugins: (plugins) => {\n    set({ plugins })\n  },\n\n  setWebapps: (webapps) => {\n    set({ webapps })\n  },\n\n  setAddons: (addons) => {\n    set({ addons })\n  },\n\n  setAppStore: (appStore) => {\n    const sorted = {\n      ...appStore,\n      installing: [...appStore.installing].sort(nameCollator),\n      available: [...appStore.available].sort(nameCollator),\n      installed: [...appStore.installed].sort(nameCollator),\n      updates: [...appStore.updates].sort(nameCollator)\n    }\n    set({ appStore: sorted })\n  },\n\n  setLoginStatus: (loginStatus) => {\n    set({ loginStatus })\n  },\n\n  setServerSpecification: (serverSpecification) => {\n    set({ serverSpecification })\n  },\n\n  setServerStatistics: (serverStatistics) => {\n    set({ serverStatistics })\n  },\n\n  setProviderStatus: (status) => {\n    const sorted = [...status].sort((l, r) => (l.id > r.id ? 1 : -1))\n    set({ providerStatus: sorted })\n  },\n\n  setRestarting: (restarting) => {\n    set({ restarting })\n  },\n\n  setAccessRequests: (accessRequests) => {\n    set({ accessRequests })\n  },\n\n  setDevices: (devices) => {\n    set({ devices })\n  },\n\n  setDiscoveredProviders: (discoveredProviders) => {\n    set({ discoveredProviders })\n  },\n\n  setRestoreStatus: (restoreStatus) => {\n    set({ restoreStatus })\n  },\n\n  setVesselInfo: (vesselInfo) => {\n    if (vesselInfo.name && typeof document !== 'undefined') {\n      document.title = vesselInfo.name\n    }\n    set({ vesselInfo })\n  },\n\n  setNodeInfo: (nodeInfo) => {\n    set({ nodeInfo })\n  },\n\n  setBackpressureWarning: (backpressureWarning) => {\n    set({ backpressureWarning })\n  },\n\n  setDebugSettings: (settings) => {\n    set((state) => ({\n      log: { ...state.log, ...settings }\n    }))\n  },\n\n  clearLogEntries: () => {\n    set((state) => ({ log: { ...state.log, entries: [] } }))\n  },\n\n  addLogEntry: (entry) => {\n    set((state) => {\n      const style = entry.isError ? 'color:red' : 'font-weight:lighter'\n      const html =\n        `<span style=\"${style}\">` +\n        entry.ts +\n        '</span> ' +\n        convert.toHtml(escape(entry.row))\n\n      const newEntries = [...state.log.entries, { i: logEntryCount++, d: html }]\n      if (newEntries.length > 100) {\n        newEntries.shift()\n      }\n      return { log: { ...state.log, entries: newEntries } }\n    })\n  },\n\n  setSourcePrioritiesFromServer: (sourcePrioritiesMap) => {\n    const sourcePriorities: PathPriority[] = Object.keys(\n      sourcePrioritiesMap\n    ).map((key) => ({\n      path: key,\n      priorities: sourcePrioritiesMap[key]\n    }))\n    set((state) => ({\n      ...state,\n      sourcePrioritiesData: {\n        sourcePriorities,\n        saveState: {\n          dirty: false,\n          timeoutsOk: true\n        }\n      }\n    }))\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/dataSlice.test.ts",
    "content": "import { describe, it, expect, beforeEach } from 'vitest'\nimport { useStore } from '../index'\nimport type { PathData, MetaData } from './dataSlice'\n\ndescribe('dataSlice', () => {\n  beforeEach(() => {\n    // Reset data state before each test\n    useStore.getState().clearData()\n  })\n\n  describe('updatePath', () => {\n    it('should add path data for a new context and path', () => {\n      const pathData: PathData = {\n        value: 12.5,\n        timestamp: '2024-01-15T10:30:00Z',\n        $source: 'nmea0183.0'\n      }\n\n      useStore\n        .getState()\n        .updatePath(\n          'vessels.self',\n          'navigation.speedOverGround$nmea0183.0',\n          pathData\n        )\n\n      const data = useStore.getState().signalkData\n      expect(\n        data['vessels.self']['navigation.speedOverGround$nmea0183.0']\n      ).toEqual(pathData)\n    })\n\n    it('should increment dataVersion when adding a new path', () => {\n      const initialVersion = useStore.getState().dataVersion\n\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.heading$nmea0183.0', {\n          value: 1.57,\n          timestamp: '2024-01-15T10:30:00Z'\n        })\n\n      expect(useStore.getState().dataVersion).toBe(initialVersion + 1)\n    })\n\n    it('should not increment dataVersion when updating existing path', () => {\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.heading$nmea0183.0', {\n          value: 1.57,\n          timestamp: '2024-01-15T10:30:00Z'\n        })\n\n      const versionAfterAdd = useStore.getState().dataVersion\n\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.heading$nmea0183.0', {\n          value: 1.58,\n          timestamp: '2024-01-15T10:30:01Z'\n        })\n\n      expect(useStore.getState().dataVersion).toBe(versionAfterAdd)\n    })\n\n    it('should handle multiple contexts', () => {\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.speedOverGround$nmea0183.0', {\n          value: 10.0\n        })\n      useStore\n        .getState()\n        .updatePath(\n          'vessels.urn:mrn:imo:mmsi:123456789',\n          'navigation.speedOverGround$ais',\n          {\n            value: 15.0\n          }\n        )\n\n      const contexts = useStore.getState().getContexts()\n      expect(contexts).toHaveLength(2)\n      expect(contexts).toContain('vessels.self')\n      expect(contexts).toContain('vessels.urn:mrn:imo:mmsi:123456789')\n    })\n  })\n\n  describe('updateMeta', () => {\n    it('should add metadata for a path', () => {\n      const metaData: MetaData = {\n        units: 'm/s',\n        description: 'Speed over ground'\n      }\n\n      useStore\n        .getState()\n        .updateMeta('vessels.self', 'navigation.speedOverGround', metaData)\n\n      const meta = useStore.getState().signalkMeta\n      expect(meta['vessels.self']['navigation.speedOverGround']).toEqual(\n        metaData\n      )\n    })\n\n    it('should replace metadata on update', () => {\n      useStore\n        .getState()\n        .updateMeta('vessels.self', 'navigation.speedOverGround', {\n          units: 'm/s'\n        })\n\n      useStore\n        .getState()\n        .updateMeta('vessels.self', 'navigation.speedOverGround', {\n          units: 'm/s',\n          description: 'Speed over ground'\n        })\n\n      const meta = useStore\n        .getState()\n        .getMeta('vessels.self', 'navigation.speedOverGround')\n      expect(meta?.units).toBe('m/s')\n      expect(meta?.description).toBe('Speed over ground')\n    })\n  })\n\n  describe('getPathData', () => {\n    it('should return path data if it exists', () => {\n      const pathData: PathData = {\n        value: 25.5,\n        timestamp: '2024-01-15T10:30:00Z'\n      }\n\n      useStore\n        .getState()\n        .updatePath(\n          'vessels.self',\n          'environment.wind.speedApparent$nmea0183.0',\n          pathData\n        )\n\n      const result = useStore\n        .getState()\n        .getPathData(\n          'vessels.self',\n          'environment.wind.speedApparent$nmea0183.0'\n        )\n      expect(result).toEqual(pathData)\n    })\n\n    it('should return undefined for non-existent path', () => {\n      const result = useStore\n        .getState()\n        .getPathData('vessels.self', 'non.existent.path')\n      expect(result).toBeUndefined()\n    })\n\n    it('should return undefined for non-existent context', () => {\n      const result = useStore\n        .getState()\n        .getPathData('non.existent.context', 'some.path')\n      expect(result).toBeUndefined()\n    })\n  })\n\n  describe('getMeta', () => {\n    it('should return metadata if it exists', () => {\n      useStore\n        .getState()\n        .updateMeta('vessels.self', 'navigation.speedOverGround', {\n          units: 'm/s'\n        })\n\n      const result = useStore\n        .getState()\n        .getMeta('vessels.self', 'navigation.speedOverGround')\n      expect(result?.units).toBe('m/s')\n    })\n\n    it('should return undefined for non-existent metadata', () => {\n      const result = useStore\n        .getState()\n        .getMeta('vessels.self', 'non.existent.path')\n      expect(result).toBeUndefined()\n    })\n  })\n\n  describe('getPath$SourceKeys', () => {\n    it('should return all path$source keys for a context', () => {\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.speedOverGround$nmea0183.0', {\n          value: 10\n        })\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.speedOverGround$n2k.1', {\n          value: 10.1\n        })\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.heading$nmea0183.0', {\n          value: 1.5\n        })\n\n      const keys = useStore.getState().getPath$SourceKeys('vessels.self')\n      expect(keys).toHaveLength(3)\n      expect(keys).toContain('navigation.speedOverGround$nmea0183.0')\n      expect(keys).toContain('navigation.speedOverGround$n2k.1')\n      expect(keys).toContain('navigation.heading$nmea0183.0')\n    })\n\n    it('should return empty array for non-existent context', () => {\n      const keys = useStore\n        .getState()\n        .getPath$SourceKeys('non.existent.context')\n      expect(keys).toEqual([])\n    })\n  })\n\n  describe('getContexts', () => {\n    it('should return all contexts', () => {\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.speedOverGround$nmea0183.0', {\n          value: 10\n        })\n      useStore\n        .getState()\n        .updatePath(\n          'vessels.urn:mrn:imo:mmsi:111111111',\n          'navigation.position$ais',\n          { value: {} }\n        )\n\n      const contexts = useStore.getState().getContexts()\n      expect(contexts).toHaveLength(2)\n    })\n\n    it('should return empty array when no data', () => {\n      const contexts = useStore.getState().getContexts()\n      expect(contexts).toEqual([])\n    })\n  })\n\n  describe('clearData', () => {\n    it('should clear all data and reset version', () => {\n      useStore\n        .getState()\n        .updatePath('vessels.self', 'navigation.speedOverGround$nmea0183.0', {\n          value: 10\n        })\n      useStore\n        .getState()\n        .updateMeta('vessels.self', 'navigation.speedOverGround', {\n          units: 'm/s'\n        })\n\n      useStore.getState().clearData()\n\n      expect(useStore.getState().signalkData).toEqual({})\n      expect(useStore.getState().signalkMeta).toEqual({})\n      expect(useStore.getState().dataVersion).toBe(0)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/dataSlice.ts",
    "content": "import type { StateCreator } from 'zustand'\n\nexport interface PathData {\n  path?: string\n  value: unknown\n  timestamp?: string\n  $source?: string\n  pgn?: string\n  sentence?: string\n  [key: string]: unknown\n}\n\nexport interface RendererConfig {\n  module?: string\n  name?: string\n  options?: Record<string, unknown>\n}\n\nexport interface MetaData {\n  units?: string\n  description?: string\n  renderer?: RendererConfig\n  [key: string]: unknown\n}\n\nexport interface DataSliceState {\n  /** Nested data: { context: { path$source: PathData } } */\n  signalkData: Record<string, Record<string, PathData>>\n  /** Nested metadata: { context: { path: MetaData } } */\n  signalkMeta: Record<string, Record<string, MetaData>>\n  /** Version counter - increments when structure changes (new paths added) */\n  dataVersion: number\n}\n\nexport interface DataSliceActions {\n  updatePath: (\n    context: string,\n    path$SourceKey: string,\n    pathData: PathData\n  ) => void\n  updateMeta: (\n    context: string,\n    path: string,\n    metaData: Partial<MetaData>\n  ) => void\n  getPathData: (context: string, path$SourceKey: string) => PathData | undefined\n  getMeta: (context: string, path: string) => MetaData | undefined\n  getPath$SourceKeys: (context: string) => string[]\n  getContexts: () => string[]\n  clearData: () => void\n}\n\nexport type DataSlice = DataSliceState & DataSliceActions\n\nconst initialDataState: DataSliceState = {\n  signalkData: {},\n  signalkMeta: {},\n  dataVersion: 0\n}\n\nexport const createDataSlice: StateCreator<DataSlice, [], [], DataSlice> = (\n  set,\n  get\n) => ({\n  ...initialDataState,\n\n  updatePath: (context, path$SourceKey, pathData) => {\n    set((state) => {\n      const contextData = state.signalkData[context] || {}\n      const isNew = !contextData[path$SourceKey]\n\n      const newContextData = {\n        ...contextData,\n        [path$SourceKey]: pathData\n      }\n\n      const newSignalkData = {\n        ...state.signalkData,\n        [context]: newContextData\n      }\n\n      // Increment version only for new paths\n      const newVersion = isNew ? state.dataVersion + 1 : state.dataVersion\n\n      return {\n        signalkData: newSignalkData,\n        dataVersion: newVersion\n      }\n    })\n  },\n\n  updateMeta: (context, path, metaData) => {\n    set((state) => {\n      const contextMeta = state.signalkMeta[context] || {}\n\n      const newContextMeta = {\n        ...contextMeta,\n        [path]: { ...contextMeta[path], ...metaData } as MetaData\n      }\n\n      return {\n        signalkMeta: {\n          ...state.signalkMeta,\n          [context]: newContextMeta\n        }\n      }\n    })\n  },\n\n  getPathData: (context, path$SourceKey) => {\n    const state = get()\n    return state.signalkData[context]?.[path$SourceKey]\n  },\n\n  getMeta: (context, path) => {\n    const state = get()\n    return state.signalkMeta[context]?.[path]\n  },\n\n  getPath$SourceKeys: (context) => {\n    const state = get()\n    return Object.keys(state.signalkData[context] || {})\n  },\n\n  getContexts: () => {\n    const state = get()\n    return Object.keys(state.signalkData)\n  },\n\n  clearData: () => {\n    set(initialDataState)\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/prioritiesSlice.test.ts",
    "content": "import { describe, it, expect, beforeEach } from 'vitest'\nimport { useStore } from '../index'\n\ndescribe('prioritiesSlice', () => {\n  beforeEach(() => {\n    // Reset store to initial state before each test\n    useStore.setState({\n      sourcePrioritiesData: {\n        sourcePriorities: [],\n        saveState: {\n          dirty: false,\n          timeoutsOk: true\n        }\n      }\n    })\n  })\n\n  describe('initial state', () => {\n    it('should have empty source priorities', () => {\n      expect(useStore.getState().sourcePrioritiesData.sourcePriorities).toEqual(\n        []\n      )\n    })\n\n    it('should have dirty false', () => {\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        false\n      )\n    })\n\n    it('should have timeoutsOk true', () => {\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(true)\n    })\n  })\n\n  describe('setSourcePriorities', () => {\n    it('should set source priorities from server format', () => {\n      const serverData = {\n        'navigation.speedOverGround': [\n          { sourceRef: 'nmea0183.0', timeout: 5000 },\n          { sourceRef: 'n2k.1', timeout: 10000 }\n        ],\n        'navigation.courseOverGroundTrue': [\n          { sourceRef: 'nmea0183.0', timeout: 3000 }\n        ]\n      }\n\n      useStore.getState().setSourcePriorities(serverData)\n\n      const priorities =\n        useStore.getState().sourcePrioritiesData.sourcePriorities\n      expect(priorities).toHaveLength(2)\n      expect(priorities[0].path).toBe('navigation.speedOverGround')\n      expect(priorities[0].priorities).toHaveLength(2)\n      expect(priorities[1].path).toBe('navigation.courseOverGroundTrue')\n    })\n\n    it('should reset save state when setting priorities', () => {\n      // First make it dirty\n      useStore.getState().changePath(0, 'test.path')\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n\n      // Then set from server\n      useStore.getState().setSourcePriorities({})\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        false\n      )\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(true)\n    })\n  })\n\n  describe('changePath', () => {\n    it('should add a new path when index equals length', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n\n      const priorities =\n        useStore.getState().sourcePrioritiesData.sourcePriorities\n      expect(priorities).toHaveLength(1)\n      expect(priorities[0].path).toBe('navigation.speedOverGround')\n      expect(priorities[0].priorities).toEqual([])\n    })\n\n    it('should update an existing path', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePath(0, 'navigation.courseOverGroundTrue')\n\n      const priorities =\n        useStore.getState().sourcePrioritiesData.sourcePriorities\n      expect(priorities).toHaveLength(1)\n      expect(priorities[0].path).toBe('navigation.courseOverGroundTrue')\n    })\n\n    it('should mark state as dirty', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n    })\n  })\n\n  describe('deletePath', () => {\n    it('should delete a path at the given index', () => {\n      useStore.getState().changePath(0, 'path1')\n      useStore.getState().changePath(1, 'path2')\n      useStore.getState().changePath(2, 'path3')\n\n      useStore.getState().deletePath(1)\n\n      const priorities =\n        useStore.getState().sourcePrioritiesData.sourcePriorities\n      expect(priorities).toHaveLength(2)\n      expect(priorities[0].path).toBe('path1')\n      expect(priorities[1].path).toBe('path3')\n    })\n\n    it('should mark state as dirty', () => {\n      useStore.getState().changePath(0, 'path1')\n      useStore.setState({\n        sourcePrioritiesData: {\n          ...useStore.getState().sourcePrioritiesData,\n          saveState: { dirty: false, timeoutsOk: true }\n        }\n      })\n\n      useStore.getState().deletePath(0)\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n    })\n  })\n\n  describe('changePriority', () => {\n    it('should add a new priority to a path', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n\n      const prios =\n        useStore.getState().sourcePrioritiesData.sourcePriorities[0].priorities\n      expect(prios).toHaveLength(1)\n      expect(prios[0].sourceRef).toBe('nmea0183.0')\n      expect(prios[0].timeout).toBe(5000)\n    })\n\n    it('should update an existing priority', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 0, 'n2k.1', 10000)\n\n      const prios =\n        useStore.getState().sourcePrioritiesData.sourcePriorities[0].priorities\n      expect(prios).toHaveLength(1)\n      expect(prios[0].sourceRef).toBe('n2k.1')\n      expect(prios[0].timeout).toBe(10000)\n    })\n\n    it('should create path if it does not exist', () => {\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n\n      const priorities =\n        useStore.getState().sourcePrioritiesData.sourcePriorities\n      expect(priorities).toHaveLength(1)\n      expect(priorities[0].path).toBe('')\n      expect(priorities[0].priorities[0].sourceRef).toBe('nmea0183.0')\n    })\n\n    it('should mark state as dirty', () => {\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n    })\n\n    it('should validate timeouts - first priority can have any timeout', () => {\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(true)\n    })\n\n    it('should validate timeouts - subsequent must be increasing', () => {\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(true)\n    })\n\n    it('should fail timeout validation when third is not greater than second', () => {\n      // Note: The checkTimeouts function only validates that timeouts are increasing\n      // starting from the 3rd element (index 2). First two just need to be valid numbers.\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n      useStore.getState().changePriority(0, 2, 'ais', 8000) // Less than second\n\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(false)\n    })\n\n    it('should fail timeout validation for invalid timeout values', () => {\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 0) // Zero is invalid\n\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(false)\n    })\n  })\n\n  describe('deletePriority', () => {\n    it('should delete a priority at the given index', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n      useStore.getState().changePriority(0, 2, 'ais', 15000)\n\n      useStore.getState().deletePriority(0, 1)\n\n      const prios =\n        useStore.getState().sourcePrioritiesData.sourcePriorities[0].priorities\n      expect(prios).toHaveLength(2)\n      expect(prios[0].sourceRef).toBe('nmea0183.0')\n      expect(prios[1].sourceRef).toBe('ais')\n    })\n\n    it('should mark state as dirty', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.setState({\n        sourcePrioritiesData: {\n          ...useStore.getState().sourcePrioritiesData,\n          saveState: { dirty: false, timeoutsOk: true }\n        }\n      })\n\n      useStore.getState().deletePriority(0, 0)\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n    })\n  })\n\n  describe('movePriority', () => {\n    it('should move priority up (change = -1)', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n\n      useStore.getState().movePriority(0, 1, -1)\n\n      const prios =\n        useStore.getState().sourcePrioritiesData.sourcePriorities[0].priorities\n      expect(prios[0].sourceRef).toBe('n2k.1')\n      expect(prios[1].sourceRef).toBe('nmea0183.0')\n    })\n\n    it('should move priority down (change = 1)', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n\n      useStore.getState().movePriority(0, 0, 1)\n\n      const prios =\n        useStore.getState().sourcePrioritiesData.sourcePriorities[0].priorities\n      expect(prios[0].sourceRef).toBe('n2k.1')\n      expect(prios[1].sourceRef).toBe('nmea0183.0')\n    })\n\n    it('should mark state as dirty', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n      useStore.setState({\n        sourcePrioritiesData: {\n          ...useStore.getState().sourcePrioritiesData,\n          saveState: { dirty: false, timeoutsOk: true }\n        }\n      })\n\n      useStore.getState().movePriority(0, 0, 1)\n\n      expect(useStore.getState().sourcePrioritiesData.saveState.dirty).toBe(\n        true\n      )\n    })\n\n    it('should revalidate timeouts after move', () => {\n      useStore.getState().changePath(0, 'navigation.speedOverGround')\n      useStore.getState().changePriority(0, 0, 'nmea0183.0', 5000)\n      useStore.getState().changePriority(0, 1, 'n2k.1', 10000)\n      useStore.getState().changePriority(0, 2, 'ais', 15000)\n\n      // Move third item to second position - now timeouts are 5000, 15000, 10000\n      useStore.getState().movePriority(0, 2, -1)\n\n      // After swap: index 1 has 15000, index 2 has 10000 - invalid (not increasing)\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.timeoutsOk\n      ).toBe(false)\n    })\n  })\n\n  describe('save state management', () => {\n    it('setSaving should set isSaving and clear saveFailed', () => {\n      useStore.getState().setSaving()\n\n      const saveState = useStore.getState().sourcePrioritiesData.saveState\n      expect(saveState.isSaving).toBe(true)\n      expect(saveState.saveFailed).toBe(false)\n    })\n\n    it('setSaved should clear dirty, isSaving, and saveFailed', () => {\n      useStore.getState().changePath(0, 'test')\n      useStore.getState().setSaving()\n\n      useStore.getState().setSaved()\n\n      const saveState = useStore.getState().sourcePrioritiesData.saveState\n      expect(saveState.dirty).toBe(false)\n      expect(saveState.isSaving).toBe(false)\n      expect(saveState.saveFailed).toBe(false)\n    })\n\n    it('setSaveFailed should set saveFailed and clear isSaving', () => {\n      useStore.getState().setSaving()\n\n      useStore.getState().setSaveFailed()\n\n      const saveState = useStore.getState().sourcePrioritiesData.saveState\n      expect(saveState.isSaving).toBe(false)\n      expect(saveState.saveFailed).toBe(true)\n    })\n\n    it('clearSaveFailed should clear saveFailed', () => {\n      useStore.getState().setSaveFailed()\n\n      useStore.getState().clearSaveFailed()\n\n      expect(\n        useStore.getState().sourcePrioritiesData.saveState.saveFailed\n      ).toBe(false)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/prioritiesSlice.ts",
    "content": "import type { StateCreator } from 'zustand'\nimport remove from 'lodash.remove'\nimport type {\n  SourcePrioritiesData,\n  SourcePriority,\n  PathPriority\n} from '../types'\n\nfunction checkTimeouts(priorities: SourcePriority[]): boolean {\n  return priorities.reduce((acc: boolean, prio, i) => {\n    const { timeout } = prio\n    if (!acc) {\n      return acc\n    }\n    if (i === 0) {\n      return true\n    }\n\n    const thisOne = Number(timeout)\n    if (Number.isNaN(thisOne) || thisOne <= 0) {\n      return false\n    }\n    if (i === 1) {\n      return true\n    }\n\n    return thisOne > Number(priorities[i - 1].timeout)\n  }, true)\n}\n\nexport interface PrioritiesSliceState {\n  sourcePrioritiesData: SourcePrioritiesData\n}\n\nexport interface PrioritiesSliceActions {\n  setSourcePriorities: (priorities: Record<string, SourcePriority[]>) => void\n  changePath: (index: number, path: string) => void\n  deletePath: (index: number) => void\n  changePriority: (\n    pathIndex: number,\n    index: number,\n    sourceRef: string,\n    timeout: string | number\n  ) => void\n  deletePriority: (pathIndex: number, index: number) => void\n  movePriority: (pathIndex: number, index: number, change: 1 | -1) => void\n  setSaving: () => void\n  setSaved: () => void\n  setSaveFailed: () => void\n  clearSaveFailed: () => void\n}\n\nexport type PrioritiesSlice = PrioritiesSliceState & PrioritiesSliceActions\n\nconst initialPrioritiesState: PrioritiesSliceState = {\n  sourcePrioritiesData: {\n    sourcePriorities: [],\n    saveState: {\n      dirty: false,\n      timeoutsOk: true\n    }\n  }\n}\n\nexport const createPrioritiesSlice: StateCreator<\n  PrioritiesSlice,\n  [],\n  [],\n  PrioritiesSlice\n> = (set) => ({\n  ...initialPrioritiesState,\n\n  setSourcePriorities: (sourcePrioritiesMap) => {\n    const sourcePriorities: PathPriority[] = Object.keys(\n      sourcePrioritiesMap\n    ).map((key) => ({\n      path: key,\n      priorities: sourcePrioritiesMap[key]\n    }))\n    set({\n      sourcePrioritiesData: {\n        sourcePriorities,\n        saveState: {\n          dirty: false,\n          timeoutsOk: true\n        }\n      }\n    })\n  },\n\n  changePath: (index, path) => {\n    set((state) => {\n      const sourcePriorities = [...state.sourcePrioritiesData.sourcePriorities]\n      if (index === sourcePriorities.length) {\n        sourcePriorities.push({ path: '', priorities: [] })\n      }\n      sourcePriorities[index] = { ...sourcePriorities[index], path }\n      return {\n        sourcePrioritiesData: {\n          ...state.sourcePrioritiesData,\n          sourcePriorities,\n          saveState: { ...state.sourcePrioritiesData.saveState, dirty: true }\n        }\n      }\n    })\n  },\n\n  deletePath: (index) => {\n    set((state) => {\n      const sourcePriorities = [...state.sourcePrioritiesData.sourcePriorities]\n      remove(sourcePriorities, (_, i) => i === index)\n      return {\n        sourcePrioritiesData: {\n          ...state.sourcePrioritiesData,\n          sourcePriorities,\n          saveState: { ...state.sourcePrioritiesData.saveState, dirty: true }\n        }\n      }\n    })\n  },\n\n  changePriority: (pathIndex, index, sourceRef, timeout) => {\n    set((state) => {\n      const sourcePriorities = [...state.sourcePrioritiesData.sourcePriorities]\n      if (pathIndex === sourcePriorities.length) {\n        sourcePriorities.push({ path: '', priorities: [] })\n      }\n      const prios = [...sourcePriorities[pathIndex].priorities]\n      if (index === prios.length) {\n        prios.push({ sourceRef: '', timeout: '' })\n      }\n      prios[index] = { sourceRef, timeout }\n      sourcePriorities[pathIndex] = {\n        ...sourcePriorities[pathIndex],\n        priorities: prios\n      }\n\n      return {\n        sourcePrioritiesData: {\n          ...state.sourcePrioritiesData,\n          sourcePriorities,\n          saveState: {\n            ...state.sourcePrioritiesData.saveState,\n            dirty: true,\n            timeoutsOk: checkTimeouts(prios)\n          }\n        }\n      }\n    })\n  },\n\n  deletePriority: (pathIndex, index) => {\n    set((state) => {\n      const sourcePriorities = [...state.sourcePrioritiesData.sourcePriorities]\n      const prios = [...sourcePriorities[pathIndex].priorities]\n      remove(prios, (_, i) => i === index)\n      sourcePriorities[pathIndex] = {\n        ...sourcePriorities[pathIndex],\n        priorities: prios\n      }\n\n      return {\n        sourcePrioritiesData: {\n          ...state.sourcePrioritiesData,\n          sourcePriorities,\n          saveState: { ...state.sourcePrioritiesData.saveState, dirty: true }\n        }\n      }\n    })\n  },\n\n  movePriority: (pathIndex, index, change) => {\n    set((state) => {\n      const sourcePriorities = [...state.sourcePrioritiesData.sourcePriorities]\n      const prios = [...sourcePriorities[pathIndex].priorities]\n      const tmp = prios[index]\n      prios[index] = prios[index + change]\n      prios[index + change] = tmp\n      sourcePriorities[pathIndex] = {\n        ...sourcePriorities[pathIndex],\n        priorities: prios\n      }\n\n      return {\n        sourcePrioritiesData: {\n          ...state.sourcePrioritiesData,\n          sourcePriorities,\n          saveState: {\n            ...state.sourcePrioritiesData.saveState,\n            dirty: true,\n            timeoutsOk: checkTimeouts(prios)\n          }\n        }\n      }\n    })\n  },\n\n  setSaving: () => {\n    set((state) => ({\n      sourcePrioritiesData: {\n        ...state.sourcePrioritiesData,\n        saveState: {\n          ...state.sourcePrioritiesData.saveState,\n          isSaving: true,\n          saveFailed: false\n        }\n      }\n    }))\n  },\n\n  setSaved: () => {\n    set((state) => ({\n      sourcePrioritiesData: {\n        ...state.sourcePrioritiesData,\n        saveState: {\n          ...state.sourcePrioritiesData.saveState,\n          dirty: false,\n          isSaving: false,\n          saveFailed: false\n        }\n      }\n    }))\n  },\n\n  setSaveFailed: () => {\n    set((state) => ({\n      sourcePrioritiesData: {\n        ...state.sourcePrioritiesData,\n        saveState: {\n          ...state.sourcePrioritiesData.saveState,\n          isSaving: false,\n          saveFailed: true\n        }\n      }\n    }))\n  },\n\n  clearSaveFailed: () => {\n    set((state) => ({\n      sourcePrioritiesData: {\n        ...state.sourcePrioritiesData,\n        saveState: {\n          ...state.sourcePrioritiesData.saveState,\n          saveFailed: false\n        }\n      }\n    }))\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/unitPreferencesSlice.ts",
    "content": "import type { StateCreator } from 'zustand'\nimport type {\n  PresetInfo,\n  PresetDetails,\n  UnitDefinitions,\n  CategoryInfo\n} from '../types'\n\nexport interface DefaultCategories {\n  [category: string]: {\n    paths?: string[]\n    baseUnit?: string\n    [key: string]: unknown\n  }\n}\n\nexport interface UnitPreferencesSliceState {\n  activePreset: string\n  serverDefaultPreset: string\n  presets: PresetInfo[]\n  presetDetails: PresetDetails | null\n  unitDefinitions: UnitDefinitions | null\n  defaultCategories: DefaultCategories | null\n  categories: Record<string, CategoryInfo> | null\n  unitPrefsLoaded: boolean\n}\n\nexport interface UnitPreferencesSliceActions {\n  fetchUnitPreferences: () => Promise<void>\n  fetchPresetDetails: (presetName: string) => Promise<void>\n  setActivePresetAndSave: (preset: string) => Promise<void>\n  setServerDefaultPreset: (preset: string) => Promise<void>\n  setPresets: (presets: PresetInfo[]) => void\n  setActivePreset: (preset: string) => void\n  setUnitDefinitions: (defs: UnitDefinitions) => void\n  setDefaultCategories: (cats: DefaultCategories) => void\n  setCategories: (cats: Record<string, CategoryInfo>) => void\n}\n\nexport type UnitPreferencesSlice = UnitPreferencesSliceState &\n  UnitPreferencesSliceActions\n\nconst DEFAULT_PRESETS: PresetInfo[] = [\n  { name: 'metric', label: 'Metric (SI)' },\n  { name: 'imperial-us', label: 'Imperial (US)' },\n  { name: 'imperial-uk', label: 'Imperial (UK)' }\n]\n\nasync function fetchPresetsFromServer(): Promise<PresetInfo[]> {\n  try {\n    const response = await fetch('/signalk/v1/unitpreferences/presets', {\n      credentials: 'include'\n    })\n    if (response.ok) {\n      const data = await response.json()\n      const presets: PresetInfo[] = []\n      if (data.builtIn) {\n        for (const p of data.builtIn) {\n          presets.push({\n            name: typeof p === 'object' ? p.name : p,\n            label: typeof p === 'object' ? p.displayName || p.name : p,\n            isCustom: false,\n            isBuiltIn: true\n          })\n        }\n      }\n      if (data.custom) {\n        for (const p of data.custom) {\n          presets.push({\n            name: typeof p === 'object' ? p.name : p,\n            label: typeof p === 'object' ? p.displayName || p.name : p,\n            isCustom: true,\n            isBuiltIn: false\n          })\n        }\n      }\n      return presets.length > 0 ? presets : DEFAULT_PRESETS\n    }\n  } catch (e) {\n    console.error('Failed to fetch presets:', e)\n  }\n  return DEFAULT_PRESETS\n}\n\nasync function fetchActivePresetFromServer(): Promise<string> {\n  try {\n    const userResponse = await fetch(\n      '/signalk/v1/applicationData/user/unitpreferences/1.0.0',\n      { credentials: 'include' }\n    )\n    if (userResponse.ok) {\n      const userConfig = await userResponse.json()\n      if (userConfig.activePreset) {\n        return userConfig.activePreset\n      }\n    }\n  } catch {}\n\n  try {\n    const response = await fetch('/signalk/v1/unitpreferences/config', {\n      credentials: 'include'\n    })\n    if (response.ok) {\n      const config = await response.json()\n      return config.activePreset || 'nautical-metric'\n    }\n  } catch (e) {\n    console.error('Failed to fetch unit preferences:', e)\n  }\n  return 'nautical-metric'\n}\n\nasync function fetchServerDefaultPresetFromServer(): Promise<string> {\n  try {\n    const response = await fetch('/signalk/v1/unitpreferences/config', {\n      credentials: 'include'\n    })\n    if (response.ok) {\n      const config = await response.json()\n      return config.activePreset || 'nautical-metric'\n    }\n  } catch (e) {\n    console.error('Failed to fetch server default preset:', e)\n  }\n  return 'nautical-metric'\n}\n\nconst initialState: UnitPreferencesSliceState = {\n  activePreset: 'nautical-metric',\n  serverDefaultPreset: 'nautical-metric',\n  presets: DEFAULT_PRESETS,\n  presetDetails: null,\n  unitDefinitions: null,\n  defaultCategories: null,\n  categories: null,\n  unitPrefsLoaded: false\n}\n\nexport const createUnitPreferencesSlice: StateCreator<\n  UnitPreferencesSlice,\n  [],\n  [],\n  UnitPreferencesSlice\n> = (set, get) => ({\n  ...initialState,\n\n  fetchUnitPreferences: async () => {\n    const [presets, activePreset, serverDefaultPreset] = await Promise.all([\n      fetchPresetsFromServer(),\n      fetchActivePresetFromServer(),\n      fetchServerDefaultPresetFromServer()\n    ])\n\n    const [definitions, defaultCategories, categories] = await Promise.all([\n      fetch('/signalk/v1/unitpreferences/definitions', {\n        credentials: 'include'\n      })\n        .then((r) => (r.ok ? r.json() : null))\n        .catch(() => null),\n      fetch('/signalk/v1/unitpreferences/default-categories', {\n        credentials: 'include'\n      })\n        .then((r) => (r.ok ? r.json() : null))\n        .then((data) => data?.categories || null)\n        .catch(() => null),\n      fetch('/signalk/v1/unitpreferences/categories', {\n        credentials: 'include'\n      })\n        .then((r) => (r.ok ? r.json() : null))\n        .catch(() => null)\n    ])\n\n    set({\n      presets,\n      activePreset,\n      serverDefaultPreset,\n      unitDefinitions: definitions,\n      defaultCategories,\n      categories,\n      unitPrefsLoaded: true\n    })\n\n    await get().fetchPresetDetails(activePreset)\n  },\n\n  fetchPresetDetails: async (presetName: string) => {\n    try {\n      const response = await fetch(\n        `/signalk/v1/unitpreferences/presets/${presetName}`,\n        { credentials: 'include' }\n      )\n      if (response.ok) {\n        const details = await response.json()\n        set({ presetDetails: details })\n      }\n    } catch (e) {\n      console.error('Failed to fetch preset details:', e)\n    }\n  },\n\n  setActivePresetAndSave: async (preset: string) => {\n    set({ activePreset: preset })\n    try {\n      await fetch('/signalk/v1/applicationData/user/unitpreferences/1.0.0', {\n        method: 'POST',\n        credentials: 'include',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: preset })\n      })\n    } catch (e) {\n      console.error('Failed to set unit preferences:', e)\n    }\n    await get().fetchPresetDetails(preset)\n  },\n\n  setServerDefaultPreset: async (preset: string) => {\n    try {\n      await fetch('/signalk/v1/unitpreferences/config', {\n        method: 'PUT',\n        credentials: 'include',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: preset })\n      })\n      set({ serverDefaultPreset: preset })\n    } catch (e) {\n      console.error('Failed to set server default preset:', e)\n    }\n  },\n\n  setPresets: (presets) => {\n    set({ presets })\n  },\n\n  setActivePreset: (activePreset) => {\n    set({ activePreset })\n  },\n\n  setUnitDefinitions: (unitDefinitions) => {\n    set({ unitDefinitions })\n  },\n\n  setDefaultCategories: (defaultCategories) => {\n    set({ defaultCategories })\n  },\n\n  setCategories: (categories) => {\n    set({ categories })\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/wsSlice.test.ts",
    "content": "import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest'\nimport { useStore } from '../index'\nimport type { WebSocketStatus } from './wsSlice'\n\ndescribe('wsSlice', () => {\n  beforeEach(() => {\n    // Reset store to initial state before each test\n    useStore.setState({\n      wsStatus: 'initial',\n      skSelf: null,\n      ws: null\n    })\n  })\n\n  afterEach(() => {\n    vi.restoreAllMocks()\n  })\n\n  describe('initial state', () => {\n    it('should have initial status', () => {\n      expect(useStore.getState().wsStatus).toBe('initial')\n    })\n\n    it('should have null skSelf', () => {\n      expect(useStore.getState().skSelf).toBeNull()\n    })\n\n    it('should have null ws', () => {\n      expect(useStore.getState().ws).toBeNull()\n    })\n  })\n\n  describe('setWsStatus', () => {\n    it('should update wsStatus to connecting', () => {\n      useStore.getState().setWsStatus('connecting')\n      expect(useStore.getState().wsStatus).toBe('connecting')\n    })\n\n    it('should update wsStatus to open', () => {\n      useStore.getState().setWsStatus('open')\n      expect(useStore.getState().wsStatus).toBe('open')\n    })\n\n    it('should update wsStatus to closed', () => {\n      useStore.getState().setWsStatus('closed')\n      expect(useStore.getState().wsStatus).toBe('closed')\n    })\n\n    it('should update wsStatus to error', () => {\n      useStore.getState().setWsStatus('error')\n      expect(useStore.getState().wsStatus).toBe('error')\n    })\n\n    it.each<WebSocketStatus>([\n      'initial',\n      'connecting',\n      'open',\n      'closed',\n      'error'\n    ])('should accept %s as valid status', (status) => {\n      useStore.getState().setWsStatus(status)\n      expect(useStore.getState().wsStatus).toBe(status)\n    })\n  })\n\n  describe('setSkSelf', () => {\n    it('should set skSelf to a vessel URN', () => {\n      const selfUrn =\n        'vessels.urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d'\n      useStore.getState().setSkSelf(selfUrn)\n      expect(useStore.getState().skSelf).toBe(selfUrn)\n    })\n\n    it('should set skSelf to null', () => {\n      useStore.getState().setSkSelf('vessels.self')\n      useStore.getState().setSkSelf(null)\n      expect(useStore.getState().skSelf).toBeNull()\n    })\n  })\n\n  describe('delta handlers', () => {\n    it('should add a delta handler', () => {\n      const handler = vi.fn()\n      const unsubscribe = useStore.getState().addDeltaHandler(handler)\n\n      // Handler should be called when message is handled\n      useStore.getState().handleWsMessage({ updates: [] })\n      expect(handler).toHaveBeenCalledWith({ updates: [] })\n\n      unsubscribe()\n    })\n\n    it('should remove a delta handler via unsubscribe', () => {\n      const handler = vi.fn()\n      const unsubscribe = useStore.getState().addDeltaHandler(handler)\n\n      unsubscribe()\n\n      useStore.getState().handleWsMessage({ updates: [] })\n      expect(handler).not.toHaveBeenCalled()\n    })\n\n    it('should remove a delta handler via removeDeltaHandler', () => {\n      const handler = vi.fn()\n      useStore.getState().addDeltaHandler(handler)\n\n      useStore.getState().removeDeltaHandler(handler)\n\n      useStore.getState().handleWsMessage({ updates: [] })\n      expect(handler).not.toHaveBeenCalled()\n    })\n\n    it('should call multiple handlers', () => {\n      const handler1 = vi.fn()\n      const handler2 = vi.fn()\n      const unsubscribe1 = useStore.getState().addDeltaHandler(handler1)\n      const unsubscribe2 = useStore.getState().addDeltaHandler(handler2)\n\n      useStore.getState().handleWsMessage({ updates: [] })\n\n      expect(handler1).toHaveBeenCalled()\n      expect(handler2).toHaveBeenCalled()\n\n      unsubscribe1()\n      unsubscribe2()\n    })\n\n    it('should catch errors from handlers and continue', () => {\n      const errorHandler = vi.fn().mockImplementation(() => {\n        throw new Error('Handler error')\n      })\n      const goodHandler = vi.fn()\n\n      const unsubscribe1 = useStore.getState().addDeltaHandler(errorHandler)\n      const unsubscribe2 = useStore.getState().addDeltaHandler(goodHandler)\n\n      const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {})\n\n      useStore.getState().handleWsMessage({ updates: [] })\n\n      expect(errorHandler).toHaveBeenCalled()\n      expect(goodHandler).toHaveBeenCalled()\n      expect(consoleSpy).toHaveBeenCalled()\n\n      unsubscribe1()\n      unsubscribe2()\n    })\n  })\n\n  describe('handleWsMessage', () => {\n    it('should set skSelf from hello message', () => {\n      const helloMessage = {\n        name: 'signalk-server',\n        version: '2.0.0',\n        self: 'vessels.urn:mrn:signalk:uuid:test-uuid'\n      }\n\n      useStore.getState().handleWsMessage(helloMessage)\n\n      expect(useStore.getState().skSelf).toBe(\n        'vessels.urn:mrn:signalk:uuid:test-uuid'\n      )\n    })\n\n    it('should route delta messages to handlers', () => {\n      const handler = vi.fn()\n      const unsubscribe = useStore.getState().addDeltaHandler(handler)\n\n      const deltaMessage = {\n        context: 'vessels.self',\n        updates: [\n          {\n            source: { label: 'test' },\n            values: [{ path: 'navigation.speedOverGround', value: 5.5 }]\n          }\n        ]\n      }\n\n      useStore.getState().handleWsMessage(deltaMessage)\n\n      expect(handler).toHaveBeenCalledWith(deltaMessage)\n\n      unsubscribe()\n    })\n\n    it('should route server events (messages with type) to handlers', () => {\n      const handler = vi.fn()\n      const unsubscribe = useStore.getState().addDeltaHandler(handler)\n\n      const serverEvent = {\n        type: 'SERVEREVENT',\n        from: 'plugins',\n        data: { pluginId: 'test-plugin' }\n      }\n\n      useStore.getState().handleWsMessage(serverEvent)\n\n      expect(handler).toHaveBeenCalledWith(serverEvent)\n\n      unsubscribe()\n    })\n  })\n\n  describe('closeWebSocket', () => {\n    it('should set status to closed and ws to null', () => {\n      // Simulate having an open connection\n      const mockWs = {\n        close: vi.fn(),\n        onclose: null as (() => void) | null\n      }\n      useStore.setState({\n        wsStatus: 'open',\n        ws: mockWs as unknown as WebSocket\n      })\n\n      useStore.getState().closeWebSocket()\n\n      expect(useStore.getState().wsStatus).toBe('closed')\n      expect(useStore.getState().ws).toBeNull()\n      expect(mockWs.close).toHaveBeenCalled()\n    })\n\n    it('should clear onclose handler when skipReconnect is true', () => {\n      const mockWs = {\n        close: vi.fn(),\n        onclose: vi.fn()\n      }\n      useStore.setState({\n        wsStatus: 'open',\n        ws: mockWs as unknown as WebSocket\n      })\n\n      useStore.getState().closeWebSocket(true)\n\n      expect(mockWs.onclose).toBeNull()\n      expect(mockWs.close).toHaveBeenCalled()\n    })\n\n    it('should handle null ws gracefully', () => {\n      useStore.setState({ wsStatus: 'initial', ws: null })\n\n      expect(() => {\n        useStore.getState().closeWebSocket()\n      }).not.toThrow()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/slices/wsSlice.ts",
    "content": "import type { StateCreator } from 'zustand'\n\nexport type WebSocketStatus =\n  | 'initial'\n  | 'connecting'\n  | 'open'\n  | 'closed'\n  | 'error'\n\nexport type DeltaMessageHandler = (message: unknown) => void\n\nexport interface WsSliceState {\n  wsStatus: WebSocketStatus\n  skSelf: string | null\n  ws: WebSocket | null\n}\n\nexport interface WsSliceActions {\n  connectWebSocket: (isReconnect?: boolean) => void\n  closeWebSocket: (skipReconnect?: boolean) => void\n  reconnectWebSocket: () => void\n  setWsStatus: (status: WebSocketStatus) => void\n  setSkSelf: (skSelf: string | null) => void\n  addDeltaHandler: (handler: DeltaMessageHandler) => () => void\n  removeDeltaHandler: (handler: DeltaMessageHandler) => void\n  handleWsMessage: (message: unknown) => void\n}\n\nexport type WsSlice = WsSliceState & WsSliceActions\n\n// Store handlers outside Zustand state to avoid serialization issues\nconst deltaHandlers = new Set<DeltaMessageHandler>()\nlet reconnectTimer: ReturnType<typeof setInterval> | null = null\nlet reconnectAttempts = 0\nconst maxReconnectAttempts = Infinity\nconst reconnectInterval = 5000\n\n// Store reference for reconnection logic\nlet storeRef: {\n  getState: () => WsSlice\n  setState: (partial: Partial<WsSlice>) => void\n} | null = null\n\nfunction stopReconnectTimer(): void {\n  if (reconnectTimer) {\n    clearInterval(reconnectTimer)\n    reconnectTimer = null\n  }\n}\n\nfunction startReconnectTimer(): void {\n  if (reconnectTimer) {\n    return\n  }\n\n  reconnectTimer = setInterval(() => {\n    if (reconnectAttempts >= maxReconnectAttempts) {\n      stopReconnectTimer()\n      return\n    }\n    console.log('retry...')\n    reconnectAttempts++\n    storeRef?.getState().connectWebSocket(true)\n  }, reconnectInterval)\n}\n\nconst initialWsState: WsSliceState = {\n  wsStatus: 'initial',\n  skSelf: null,\n  ws: null\n}\n\nexport const createWsSlice: StateCreator<WsSlice, [], [], WsSlice> = (\n  set,\n  get\n) => {\n  // Store reference for reconnection timer\n  storeRef = { getState: get, setState: set }\n\n  return {\n    ...initialWsState,\n\n    connectWebSocket: (isReconnect = false) => {\n      const { ws } = get()\n      if (ws?.readyState === WebSocket.OPEN) {\n        return\n      }\n\n      const proto = window.location.protocol === 'https:' ? 'wss' : 'ws'\n      const url =\n        proto +\n        '://' +\n        window.location.host +\n        `/signalk/v1/stream?serverevents=all&subscribe=none&sendMeta=all`\n\n      set({ wsStatus: 'connecting' })\n\n      const newWs = new WebSocket(url)\n\n      newWs.onopen = () => {\n        console.log('connected')\n        reconnectAttempts = 0\n        stopReconnectTimer()\n        set({ wsStatus: 'open', ws: newWs })\n\n        if (isReconnect) {\n          window.location.reload()\n        }\n      }\n\n      newWs.onmessage = (event: MessageEvent) => {\n        const message = JSON.parse(event.data)\n        get().handleWsMessage(message)\n      }\n\n      newWs.onclose = () => {\n        console.log('closed')\n        set({ wsStatus: 'closed', ws: null })\n        startReconnectTimer()\n      }\n\n      newWs.onerror = () => {\n        set({ wsStatus: 'error' })\n      }\n    },\n\n    closeWebSocket: (skipReconnect = false) => {\n      const { ws } = get()\n      if (skipReconnect) {\n        stopReconnectTimer()\n        // Prevent onclose from triggering reconnect\n        if (ws) {\n          ws.onclose = null\n        }\n      }\n      ws?.close()\n      set({ wsStatus: 'closed', ws: null })\n    },\n\n    reconnectWebSocket: () => {\n      get().closeWebSocket(true)\n      get().connectWebSocket()\n    },\n\n    setWsStatus: (wsStatus) => {\n      set({ wsStatus })\n    },\n\n    setSkSelf: (skSelf) => {\n      set({ skSelf })\n    },\n\n    addDeltaHandler: (handler) => {\n      deltaHandlers.add(handler)\n      return () => {\n        deltaHandlers.delete(handler)\n      }\n    },\n\n    removeDeltaHandler: (handler) => {\n      deltaHandlers.delete(handler)\n    },\n\n    handleWsMessage: (message) => {\n      const msg = message as Record<string, unknown>\n      const state = get()\n\n      // Check for backpressure indicator\n      if (msg.$backpressure) {\n        const bp = msg.$backpressure as {\n          accumulated: number\n          duration: number\n        }\n        // This will be handled by the store's setBackpressureWarning\n        // We need access to the full store here\n        if ('setBackpressureWarning' in state) {\n          const fullState = state as WsSlice & {\n            setBackpressureWarning: (\n              warning: {\n                accumulated: number\n                duration: number\n                timestamp: number\n              } | null\n            ) => void\n          }\n          fullState.setBackpressureWarning({\n            accumulated: bp.accumulated,\n            duration: bp.duration,\n            timestamp: Date.now()\n          })\n          setTimeout(() => {\n            fullState.setBackpressureWarning(null)\n          }, 10000)\n        }\n      }\n\n      // Server event (has type property) - handle internally\n      if (msg.type) {\n        // Server events will be processed by the app slice via subscription\n        // For now, we just route them to delta handlers\n        deltaHandlers.forEach((handler) => {\n          try {\n            handler(message)\n          } catch (e) {\n            console.error('Delta handler error:', e)\n          }\n        })\n        return\n      }\n\n      // Hello message (has name property) - extract skSelf\n      if (msg.name) {\n        set({ skSelf: msg.self as string })\n        return\n      }\n\n      // Delta message - route to handlers\n      deltaHandlers.forEach((handler) => {\n        try {\n          handler(message)\n        } catch (e) {\n          console.error('Delta handler error:', e)\n        }\n      })\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/store/types.ts",
    "content": "export interface LogEntry {\n  i: number\n  d: string\n}\n\nexport interface LogState {\n  entries: LogEntry[]\n  debugEnabled: string\n  rememberDebug: boolean\n}\n\nexport interface AppStoreState {\n  updates: AppInfo[]\n  installed: AppInfo[]\n  available: AppInfo[]\n  installing: InstallingApp[]\n  storeAvailable?: boolean\n  canUpdateServer?: boolean\n  serverUpdate?: string\n  isInDocker?: boolean\n}\n\nexport interface AppInfo {\n  name: string\n  version?: string\n  description?: string\n  author?: string\n  [key: string]: unknown\n}\n\nexport interface InstallingApp {\n  name: string\n  isWaiting?: boolean\n  isInstalling?: boolean\n  isRemoving?: boolean\n  isRemove?: boolean\n  installFailed?: boolean\n}\n\nexport interface LoginStatus {\n  status?: 'notLoggedIn' | 'loggedIn'\n  authenticationRequired?: boolean\n  readOnlyAccess?: boolean\n  username?: string\n  securityWasEnabled?: boolean\n  noUsers?: boolean\n  allowNewUserRegistration?: boolean\n  oidcEnabled?: boolean\n  oidcLoginUrl?: string\n  oidcProviderName?: string\n  [key: string]: unknown\n}\n\nexport interface ServerSpecification {\n  endpoints?: Record<string, unknown>\n  server?: {\n    id?: string\n    version?: string\n  }\n  [key: string]: unknown\n}\n\nexport interface ProviderStatus {\n  id: string\n  enabled?: boolean\n  [key: string]: unknown\n}\n\nexport interface AccessRequest {\n  clientId: string\n  description?: string\n  [key: string]: unknown\n}\n\nexport interface DeviceInfo {\n  clientId: string\n  permissions?: string\n  description?: string\n  requestedPermissions?: string\n  tokenExpiry?: number\n}\n\nexport interface DiscoveredProvider {\n  id: string\n  [key: string]: unknown\n}\n\nexport interface RestoreStatus {\n  state?: 'started' | 'complete' | 'failed'\n  progress?: number\n  [key: string]: unknown\n}\n\nexport interface VesselInfo {\n  name?: string\n  mmsi?: string\n  uuid?: string\n  [key: string]: unknown\n}\n\nexport interface NodeInfo {\n  nodeVersion?: string\n  npmVersion?: string\n  recommendedNodeVersion?: string\n}\n\nexport interface SourcePriority {\n  sourceRef: string\n  timeout: string | number\n}\n\nexport interface PathPriority {\n  path: string\n  priorities: SourcePriority[]\n}\n\nexport interface SaveState {\n  dirty: boolean\n  timeoutsOk: boolean\n  isSaving?: boolean\n  saveFailed?: boolean\n}\n\nexport interface SourcePrioritiesData {\n  sourcePriorities: PathPriority[]\n  saveState: SaveState\n}\n\nexport interface BackpressureWarning {\n  accumulated: number\n  duration: number\n  timestamp: number\n}\n\nexport interface ProviderStatistics {\n  deltaRate?: number\n  writeRate?: number\n  deltaCount?: number\n  writeCount?: number\n}\n\nexport interface ServerStatistics {\n  deltaRate?: number\n  numberOfAvailablePaths?: number\n  wsClients?: number\n  providerStatistics?: Record<string, ProviderStatistics>\n  uptime?: number\n  [key: string]: unknown\n}\n\nexport interface Plugin {\n  id: string\n  name: string\n  packageName?: string\n  enabled?: boolean\n  [key: string]: unknown\n}\n\nexport interface Webapp {\n  name: string\n  description?: string\n  [key: string]: unknown\n}\n\nexport interface Addon {\n  name: string\n  [key: string]: unknown\n}\n\nexport interface PresetInfo {\n  name: string\n  label: string\n  isCustom?: boolean\n  isBuiltIn?: boolean\n}\n\nexport interface PresetCategoryConfig {\n  targetUnit?: string\n  symbol?: string\n}\n\nexport interface PresetDetails {\n  name?: string\n  label?: string\n  categories?: Record<string, PresetCategoryConfig>\n}\n\nexport interface UnitConversion {\n  formula?: string\n  symbol?: string\n}\n\nexport interface UnitDefinition {\n  conversions?: Record<string, UnitConversion>\n}\n\nexport type UnitDefinitions = Record<string, UnitDefinition>\n\nexport interface DefaultCategory {\n  pattern: string\n  category: string\n}\n\nexport interface CategoryInfo {\n  baseUnit?: string\n  [key: string]: unknown\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/test/setup.ts",
    "content": "import '@testing-library/jest-dom/vitest'\nimport { beforeAll, vi } from 'vitest'\n\n// Mock WebSocket for tests that interact with WebSocket connections\nbeforeAll(() => {\n  vi.stubGlobal(\n    'WebSocket',\n    class MockWebSocket {\n      static CONNECTING = 0\n      static OPEN = 1\n      static CLOSING = 2\n      static CLOSED = 3\n\n      readyState = MockWebSocket.CONNECTING\n      url: string\n      onopen: ((event: Event) => void) | null = null\n      onclose: ((event: CloseEvent) => void) | null = null\n      onmessage: ((event: MessageEvent) => void) | null = null\n      onerror: ((event: Event) => void) | null = null\n\n      constructor(url: string) {\n        this.url = url\n      }\n\n      send(): void {\n        // Mock send\n      }\n\n      close(): void {\n        this.readyState = MockWebSocket.CLOSED\n      }\n    }\n  )\n\n  // Mock matchMedia for components that use media queries\n  vi.stubGlobal(\n    'matchMedia',\n    vi.fn().mockImplementation((query: string) => ({\n      matches: false,\n      media: query,\n      onchange: null,\n      addListener: vi.fn(),\n      removeListener: vi.fn(),\n      addEventListener: vi.fn(),\n      removeEventListener: vi.fn(),\n      dispatchEvent: vi.fn()\n    }))\n  )\n\n  // Mock ResizeObserver for components that observe size changes\n  vi.stubGlobal(\n    'ResizeObserver',\n    class ResizeObserver {\n      observe(): void {\n        // Mock observe\n      }\n      unobserve(): void {\n        // Mock unobserve\n      }\n      disconnect(): void {\n        // Mock disconnect\n      }\n    }\n  )\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/types/jsonlint-mod.d.ts",
    "content": "declare module 'jsonlint-mod' {\n  export function parse(text: string): unknown\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/utils/unitConversion.ts",
    "content": "import { compile, type EvalFunction } from 'mathjs'\n\nconst compiledFormulaCache = new Map<string, EvalFunction>()\n\nexport function getCompiledFormula(formula: string): EvalFunction {\n  let cached = compiledFormulaCache.get(formula)\n  if (!cached) {\n    cached = compile(formula)\n    compiledFormulaCache.set(formula, cached)\n  }\n  return cached\n}\n\nexport interface ConvertedValue {\n  value: number\n  unit: string\n}\n\nexport interface PresetDetails {\n  name?: string\n  label?: string\n  categories?: Record<\n    string,\n    {\n      targetUnit?: string\n      symbol?: string\n    }\n  >\n}\n\nexport interface UnitConversion {\n  formula?: string\n  inverseFormula?: string\n  symbol?: string\n  longName?: string\n}\n\nexport interface UnitDefinition {\n  conversions?: Record<string, UnitConversion>\n}\n\nexport type UnitDefinitions = Record<string, UnitDefinition>\n\nexport function convertValue(\n  value: unknown,\n  siUnit: string,\n  category: string,\n  presetDetails: PresetDetails | null,\n  unitDefinitions: UnitDefinitions | null,\n  displayUnits?: { targetUnit?: string; formula?: string; symbol?: string }\n): ConvertedValue | null {\n  if (typeof value !== 'number' || !category) {\n    return null\n  }\n  // \"base\" category means display in SI units without conversion\n  if (category === 'base' && siUnit) {\n    return { value, unit: siUnit }\n  }\n  // \"custom\" category uses explicitly stored formula/targetUnit\n  if (category === 'custom' && displayUnits?.formula) {\n    try {\n      const compiled = getCompiledFormula(displayUnits.formula)\n      const converted = compiled.evaluate({ value })\n      return {\n        value: converted,\n        unit: displayUnits.symbol || displayUnits.targetUnit || ''\n      }\n    } catch {\n      return null\n    }\n  }\n  if (!presetDetails || !unitDefinitions) {\n    return null\n  }\n  const targetConfig = presetDetails.categories?.[category]\n  if (!targetConfig?.targetUnit) return null\n  const targetUnit = targetConfig.targetUnit\n  if (targetUnit === siUnit) return null\n  const formula = unitDefinitions[siUnit]?.conversions?.[targetUnit]?.formula\n  const symbol =\n    unitDefinitions[siUnit]?.conversions?.[targetUnit]?.symbol || targetUnit\n  if (!formula) return null\n  try {\n    const compiled = getCompiledFormula(formula)\n    const converted = compiled.evaluate({ value })\n    return { value: converted, unit: symbol }\n  } catch {\n    return null\n  }\n}\n\nexport function convertFromSI(\n  siValue: number,\n  siUnit: string,\n  targetUnit: string,\n  unitDefinitions: UnitDefinitions | null\n): number | null {\n  if (!unitDefinitions || targetUnit === siUnit) return siValue\n  const formula = unitDefinitions[siUnit]?.conversions?.[targetUnit]?.formula\n  if (!formula) return null\n  try {\n    return getCompiledFormula(formula).evaluate({ value: siValue })\n  } catch {\n    return null\n  }\n}\n\nexport function convertToSI(\n  displayValue: number,\n  siUnit: string,\n  targetUnit: string,\n  unitDefinitions: UnitDefinitions | null\n): number | null {\n  if (!unitDefinitions || targetUnit === siUnit) return displayValue\n  const inverseFormula =\n    unitDefinitions[siUnit]?.conversions?.[targetUnit]?.inverseFormula\n  if (!inverseFormula) return null\n  try {\n    return getCompiledFormula(inverseFormula).evaluate({ value: displayValue })\n  } catch {\n    return null\n  }\n}\n\nexport interface AvailableUnit {\n  unit: string\n  symbol: string\n}\n\nexport function getAvailableUnits(\n  siUnit: string,\n  unitDefinitions: UnitDefinitions | null\n): AvailableUnit[] {\n  if (!unitDefinitions || !siUnit) return []\n  const conversions = unitDefinitions[siUnit]?.conversions\n  if (!conversions) return []\n  return Object.entries(conversions).map(([unit, conv]) => ({\n    unit,\n    symbol: conv.symbol || unit\n  }))\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Configuration/Configuration.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useRef,\n  useCallback,\n  useOptimistic,\n  useTransition,\n  ChangeEvent,\n  MouseEvent,\n  FormEvent\n} from 'react'\nimport { useParams } from 'react-router-dom'\nimport PluginConfigurationForm from './../ServerConfig/PluginConfigurationForm'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck'\nimport { faGear } from '@fortawesome/free-solid-svg-icons/faGear'\nimport EmbeddedPluginConfigurationForm from './EmbeddedPluginConfigurationForm'\n\ninterface PluginSchema {\n  properties?: Record<string, unknown>\n  [key: string]: unknown\n}\n\ninterface PluginData {\n  enabled?: boolean\n  enableLogging?: boolean\n  enableDebug?: boolean\n  configuration?: Record<string, unknown>\n  [key: string]: unknown\n}\n\ninterface Plugin {\n  id: string\n  name: string\n  packageName: string\n  description?: string\n  type?: string\n  keywords?: string[]\n  schema: PluginSchema\n  uiSchema?: Record<string, unknown>\n  statusMessage?: string\n  data: PluginData\n  [key: string]: unknown\n}\n\nconst searchStorageKey = 'admin.v1.plugins.search'\nconst openPluginStorageKey = 'admin.v1.plugins.openPlugin'\nconst statusFilterStorageKey = 'admin.v1.plugins.statusFilter'\n\nconst isConfigurator = (pluginData: Plugin): boolean =>\n  (pluginData.keywords || []).includes('signalk-plugin-configurator')\n\nexport default function PluginConfigurationList() {\n  const params = useParams<{ pluginid?: string }>()\n\n  const [plugins, setPlugins] = useState<Plugin[]>([])\n  const [search, setSearch] = useState(\n    () => localStorage.getItem(searchStorageKey) || ''\n  )\n  const [statusFilter, setStatusFilter] = useState(\n    () => localStorage.getItem(statusFilterStorageKey) || 'all'\n  )\n  const [selectedPlugin, setSelectedPlugin] = useState<Plugin | null>(null)\n  const [wasmEnabled, setWasmEnabled] = useState(true)\n\n  const [isFiltering, startFilterTransition] = useTransition()\n\n  const tableContainerRef = useRef<HTMLDivElement>(null)\n  const configCardRef = useRef<HTMLDivElement>(null)\n\n  const searchPlugins = useCallback(\n    (pluginList: Plugin[], searchString: string): Plugin[] => {\n      const lowerCase = searchString.toLowerCase()\n      return pluginList.filter((plugin) => {\n        return (\n          plugin.id.toLowerCase().includes(lowerCase) ||\n          plugin.packageName.toLowerCase().includes(lowerCase) ||\n          (plugin.description &&\n            plugin.description.toLowerCase().includes(lowerCase)) ||\n          plugin.name.toLowerCase().includes(lowerCase)\n        )\n      })\n    },\n    []\n  )\n\n  const filterPluginsByStatus = useCallback(\n    (pluginList: Plugin[], filter: string): Plugin[] => {\n      if (filter === 'all') {\n        return pluginList\n      }\n\n      return pluginList.filter((plugin) => {\n        const configurationRequired =\n          plugin.schema &&\n          plugin.schema.properties &&\n          Object.keys(plugin.schema?.properties).length !== 0 &&\n          (plugin.data.configuration === null ||\n            plugin.data.configuration === undefined)\n\n        switch (filter) {\n          case 'enabled':\n            return !configurationRequired && plugin.data.enabled\n          case 'disabled':\n            return configurationRequired || !plugin.data.enabled\n          default:\n            return true\n        }\n      })\n    },\n    []\n  )\n\n  const getFilteredPlugins = useCallback((): Plugin[] => {\n    let filtered = filterPluginsByStatus(plugins, statusFilter)\n    if (search.length > 0) {\n      filtered = searchPlugins(filtered, search)\n    }\n    return filtered\n  }, [plugins, statusFilter, search, filterPluginsByStatus, searchPlugins])\n\n  const scrollToSelectedPlugin = useCallback((selectedPluginId: string) => {\n    if (!tableContainerRef.current || !selectedPluginId) return\n\n    const selectedRow = tableContainerRef.current.querySelector(\n      `[data-plugin-id=\"${selectedPluginId}\"]`\n    ) as HTMLElement | null\n    if (!selectedRow) return\n\n    const containerRect = tableContainerRef.current.getBoundingClientRect()\n    const rowRect = selectedRow.getBoundingClientRect()\n\n    if (\n      rowRect.bottom > containerRect.bottom ||\n      rowRect.top < containerRect.top\n    ) {\n      const rowOffsetTop = selectedRow.offsetTop\n      const containerHeight = tableContainerRef.current.clientHeight\n      const rowHeight = selectedRow.clientHeight\n\n      const targetScrollTop = rowOffsetTop - containerHeight / 2 + rowHeight / 2\n\n      tableContainerRef.current.scrollTo({\n        top: Math.max(0, targetScrollTop),\n        behavior: 'smooth'\n      })\n    }\n  }, [])\n\n  const scrollToConfigCard = useCallback(() => {\n    if (!configCardRef.current) return\n    requestAnimationFrame(() => {\n      if (!configCardRef.current) return\n      const rect = configCardRef.current.getBoundingClientRect()\n      const navbarHeight =\n        document.querySelector('.app-header')?.getBoundingClientRect().height ??\n        55\n      window.scrollBy({\n        top: rect.top - navbarHeight,\n        behavior: 'smooth'\n      })\n    })\n  }, [])\n\n  const selectPlugin = useCallback(\n    (plugin: Plugin | null) => {\n      const selectedPluginId = plugin ? plugin.id : null\n\n      if (selectedPluginId) {\n        localStorage.setItem(openPluginStorageKey, selectedPluginId)\n        setSelectedPlugin(plugin)\n        requestAnimationFrame(() => scrollToConfigCard())\n      } else {\n        localStorage.removeItem(openPluginStorageKey)\n        setSelectedPlugin(null)\n      }\n    },\n    [scrollToConfigCard]\n  )\n\n  const handleSearch = useCallback((event: ChangeEvent<HTMLInputElement>) => {\n    const value = event.target.value\n    setSearch(value)\n    startFilterTransition(() => {\n      localStorage.setItem(searchStorageKey, value)\n    })\n  }, [])\n\n  const handleStatusFilter = useCallback(\n    (event: ChangeEvent<HTMLInputElement>) => {\n      const value = event.target.value\n      startFilterTransition(() => {\n        setStatusFilter(value)\n        localStorage.setItem(statusFilterStorageKey, value)\n      })\n    },\n    []\n  )\n\n  const handlePluginClick = useCallback(\n    (event: MouseEvent<HTMLTableRowElement>) => {\n      const pluginId = event.currentTarget.getAttribute('data-plugin-id')\n      const plugin = plugins.find((p) => p.id === pluginId)\n\n      if (plugin) {\n        selectPlugin(plugin)\n      }\n    },\n    [plugins, selectPlugin]\n  )\n\n  const saveData = useCallback(\n    async (id: string, data: PluginData): Promise<boolean> => {\n      const response = await fetch(\n        `${window.serverRoutesPrefix}/plugins/${id}/config`,\n        {\n          method: 'POST',\n          body: JSON.stringify(data),\n          headers: new Headers({ 'Content-Type': 'application/json' }),\n          credentials: 'same-origin'\n        }\n      )\n\n      if (response.status !== 200) {\n        console.error(response)\n        alert('Saving plugin settings failed')\n        throw new Error('Save failed')\n      }\n\n      setPlugins((prevPlugins) => {\n        const newPlugins = [...prevPlugins]\n        const pluginIndex = newPlugins.findIndex((plugin) => plugin.id === id)\n        if (pluginIndex !== -1) {\n          newPlugins[pluginIndex] = { ...newPlugins[pluginIndex], data }\n        }\n        return newPlugins\n      })\n\n      setSelectedPlugin((prev) =>\n        prev && prev.id === id ? { ...prev, data } : prev\n      )\n\n      return true\n    },\n    []\n  )\n\n  useEffect(() => {\n    const fetchData = async () => {\n      try {\n        const [pluginsResponse, settingsResponse] = await Promise.all([\n          fetch(`${window.serverRoutesPrefix}/plugins`, {\n            credentials: 'same-origin'\n          }),\n          fetch(`${window.serverRoutesPrefix}/settings`, {\n            credentials: 'same-origin'\n          })\n        ])\n\n        if (pluginsResponse.status !== 200) {\n          throw new Error('/plugins request failed:' + pluginsResponse.status)\n        }\n\n        const fetchedPlugins: Plugin[] = await pluginsResponse.json()\n\n        let settings: { interfaces?: { wasm?: boolean } } = {\n          interfaces: { wasm: true }\n        }\n        if (settingsResponse.status === 200) {\n          settings = await settingsResponse.json()\n        }\n        const wasmInterfaceEnabled = settings?.interfaces?.wasm !== false\n\n        const currentPluginId = params.pluginid\n        const lastOpenPluginId = localStorage.getItem(openPluginStorageKey)\n        let initialSelectedPlugin: Plugin | null = null\n\n        if (currentPluginId && currentPluginId !== '-') {\n          initialSelectedPlugin =\n            fetchedPlugins.find((plugin) => plugin.id === currentPluginId) ||\n            null\n        } else if (lastOpenPluginId) {\n          initialSelectedPlugin =\n            fetchedPlugins.find((plugin) => plugin.id === lastOpenPluginId) ||\n            null\n        }\n\n        setPlugins(fetchedPlugins)\n        setSelectedPlugin(initialSelectedPlugin)\n        setWasmEnabled(wasmInterfaceEnabled)\n\n        // Scroll to the initially selected plugin if one exists (from URL/bookmark)\n        if (initialSelectedPlugin) {\n          requestAnimationFrame(() => {\n            scrollToSelectedPlugin(initialSelectedPlugin!.id)\n          })\n        }\n      } catch (error) {\n        console.error(error)\n        alert('Could not fetch plugins list')\n      }\n    }\n\n    fetchData()\n  }, [params.pluginid, scrollToSelectedPlugin])\n\n  const pluginList = getFilteredPlugins()\n  const selectedPluginId = selectedPlugin ? selectedPlugin.id : null\n\n  return (\n    <Row className=\"plugin-config-row g-0\">\n      <Col xl={6}>\n        <Card>\n          <Card.Header>\n            <FontAwesomeIcon icon={faAlignJustify} />{' '}\n            <strong>Plugin Configuration</strong>\n          </Card.Header>\n          <Card.Body>\n            <Form\n              action=\"\"\n              method=\"post\"\n              encType=\"multipart/form-data\"\n              className=\"form-horizontal\"\n              onSubmit={(e: FormEvent) => {\n                e.preventDefault()\n              }}\n            >\n              <Form.Group className=\"mb-2\">\n                <Form.Control\n                  type=\"text\"\n                  name=\"search\"\n                  id=\"search\"\n                  onChange={handleSearch}\n                  value={search}\n                  placeholder=\"Filter installed plugins...\"\n                />\n              </Form.Group>\n              <Form.Group className=\"mb-2\">\n                <Form.Select\n                  name=\"statusFilter\"\n                  id=\"statusFilter\"\n                  onChange={handleStatusFilter}\n                  value={statusFilter}\n                  size=\"sm\"\n                >\n                  <option value=\"all\">All Plugins</option>\n                  <option value=\"enabled\">Enabled</option>\n                  <option value=\"disabled\">Disabled</option>\n                </Form.Select>\n              </Form.Group>\n            </Form>\n\n            <div\n              ref={tableContainerRef}\n              className=\"plugin-list-container\"\n              style={{\n                border: '1px solid #dee2e6',\n                opacity: isFiltering ? 0.7 : 1,\n                transition: 'opacity 0.2s'\n              }}\n            >\n              <Table responsive bordered size=\"sm\" hover className=\"mb-0\">\n                <thead\n                  style={{\n                    position: 'sticky',\n                    top: 0,\n                    backgroundColor: '#f8f9fa',\n                    zIndex: 1\n                  }}\n                >\n                  <tr>\n                    <th>Plugin Name</th>\n                    <th style={{ width: '1%', whiteSpace: 'nowrap' }}>\n                      Status\n                    </th>\n                  </tr>\n                </thead>\n                <tbody>\n                  {pluginList.map((plugin) => {\n                    const isSelected = selectedPluginId === plugin.id\n                    const configurationRequired =\n                      plugin.schema &&\n                      plugin.schema.properties &&\n                      Object.keys(plugin.schema?.properties).length !== 0 &&\n                      (plugin.data.configuration === null ||\n                        plugin.data.configuration === undefined)\n\n                    const isWasmPlugin = plugin.type === 'wasm'\n                    const wasmDisabledForPlugin = isWasmPlugin && !wasmEnabled\n\n                    let badgeClass = 'text-bg-secondary'\n                    let badgeText = 'Disabled'\n\n                    if (wasmDisabledForPlugin) {\n                      badgeClass = 'text-bg-danger'\n                      badgeText = 'WASM disabled'\n                    } else if (plugin.data.enabled && !configurationRequired) {\n                      badgeClass = 'text-bg-success'\n                      badgeText = 'Enabled'\n                    }\n\n                    return (\n                      <tr\n                        key={plugin.id}\n                        data-plugin-id={plugin.id}\n                        onClick={handlePluginClick}\n                        style={{ cursor: 'pointer' }}\n                        className={isSelected ? 'table-active' : ''}\n                      >\n                        <td>\n                          {isSelected ? (\n                            <strong>\n                              <FontAwesomeIcon icon={faGear} className=\"me-1\" />\n                              {plugin.name}\n                            </strong>\n                          ) : (\n                            plugin.name\n                          )}\n                        </td>\n                        <td>\n                          <div className={`badge ${badgeClass}`}>\n                            {badgeText}\n                          </div>\n                        </td>\n                      </tr>\n                    )\n                  })}\n                </tbody>\n              </Table>\n            </div>\n          </Card.Body>\n        </Card>\n      </Col>\n\n      <Col xl={6} ref={configCardRef}>\n        {selectedPlugin && (\n          <PluginConfigCard\n            plugin={selectedPlugin}\n            isConfigurator={isConfigurator(selectedPlugin)}\n            saveData={(data: PluginData) => {\n              if (\n                selectedPlugin.data.enabled === undefined &&\n                data.enabled === undefined\n              ) {\n                data.enabled = true\n              }\n              return saveData(selectedPlugin.id, data)\n            }}\n          />\n        )}\n        {!selectedPlugin && (\n          <Card className=\"mt-3 mt-xl-0\">\n            <Card.Body className=\"text-center text-muted py-5\">\n              <FontAwesomeIcon\n                icon={faGear}\n                style={{ fontSize: '48px', opacity: 0.3 }}\n              />\n              <p className=\"mt-3\">Select a plugin in the list to configure</p>\n            </Card.Body>\n          </Card>\n        )}\n      </Col>\n    </Row>\n  )\n}\n\ninterface PluginConfigCardProps {\n  plugin: Plugin\n  isConfigurator: boolean\n  saveData: (data: PluginData) => Promise<boolean>\n}\n\nfunction PluginConfigCard({\n  plugin,\n  isConfigurator,\n  saveData\n}: PluginConfigCardProps) {\n  const [showSaveSuccess, setShowSaveSuccess] = useState(false)\n\n  const [optimisticData, setOptimisticData] = useOptimistic<\n    PluginData,\n    PluginData\n  >(plugin.data, (currentData, newData) => ({ ...currentData, ...newData }))\n\n  const showSuccessMessage = useCallback(() => {\n    setShowSaveSuccess(true)\n    setTimeout(() => {\n      setShowSaveSuccess(false)\n    }, 3000)\n  }, [])\n\n  const handleToggle = useCallback(\n    (field: 'enabled' | 'enableLogging' | 'enableDebug') => {\n      const newData = {\n        ...plugin.data,\n        [field]: !plugin.data[field]\n      }\n      setOptimisticData(newData)\n      saveData(newData).catch(() => {})\n    },\n    [plugin.data, saveData, setOptimisticData]\n  )\n\n  const labelStyle = { marginLeft: '10px', marginBottom: '0px' }\n  const { schema } = plugin\n  const configurationRequired =\n    schema &&\n    schema.properties &&\n    Object.keys(schema?.properties).length !== 0 &&\n    (plugin.data.configuration === null ||\n      plugin.data.configuration === undefined)\n\n  return (\n    <div>\n      {showSaveSuccess && (\n        <div\n          style={{\n            position: 'fixed',\n            top: '20px',\n            right: '20px',\n            zIndex: 9999,\n            maxWidth: '300px'\n          }}\n        >\n          <div\n            className=\"alert alert-success mb-0\"\n            role=\"alert\"\n            style={{ boxShadow: '0 4px 12px rgba(0,0,0,0.3)' }}\n          >\n            <FontAwesomeIcon icon={faCheck} /> Configuration saved successfully!\n          </div>\n        </div>\n      )}\n      <Card className=\"mt-3 mt-xl-0 plugin-config-card\">\n        <Card.Header id=\"plugin-config-header\">\n          <Row className=\"mb-2\">\n            <Col className={'align-self-center'}>\n              <h5 className=\"mb-0\">\n                <FontAwesomeIcon\n                  icon={faGear}\n                  style={{ marginRight: '10px' }}\n                />\n                Configure: {plugin.name}\n              </h5>\n              <small className=\"text-muted\">{plugin.packageName}</small>\n              {plugin.description && (\n                <p className=\"text-muted mb-0 mt-1\">\n                  <small>{plugin.description}</small>\n                </p>\n              )}\n            </Col>\n          </Row>\n          {configurationRequired && (\n            <Row>\n              <Col>Save configuration to enable this plugin</Col>\n            </Row>\n          )}\n          {!configurationRequired && (\n            <Row>\n              <Col lg={4} className={'mt-2 mt-lg-0'}>\n                <Form.Label\n                  style={labelStyle}\n                  className=\"switch switch-text switch-primary\"\n                >\n                  <input\n                    type=\"checkbox\"\n                    name=\"enabled\"\n                    className=\"switch-input\"\n                    onChange={() => handleToggle('enabled')}\n                    checked={optimisticData.enabled}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </Form.Label>\n                <span className=\"ms-1\">Enabled</span>\n              </Col>\n              <Col lg={4} className={'mt-2 mt-lg-0'}>\n                <Form.Label\n                  style={labelStyle}\n                  className=\"switch switch-text switch-primary\"\n                >\n                  <input\n                    type=\"checkbox\"\n                    name=\"enableLogging\"\n                    className=\"switch-input\"\n                    onChange={() => handleToggle('enableLogging')}\n                    checked={optimisticData.enableLogging}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </Form.Label>\n                <span className=\"ms-1\">Data logging</span>\n                {optimisticData.enableLogging && (\n                  <Form.Text className=\"text-warning d-block\">\n                    Creates hourly log files that can consume significant disk\n                    space\n                  </Form.Text>\n                )}\n              </Col>\n              <Col lg={4} className={'mt-2 mt-lg-0'}>\n                <Form.Label\n                  style={labelStyle}\n                  className=\"switch switch-text switch-primary\"\n                >\n                  <input\n                    type=\"checkbox\"\n                    name=\"enableDebug\"\n                    className=\"switch-input\"\n                    onChange={() => handleToggle('enableDebug')}\n                    checked={optimisticData.enableDebug}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </Form.Label>\n                <span className=\"ms-1\">Enable debug log</span>\n              </Col>\n            </Row>\n          )}\n        </Card.Header>\n        <Card.Body>\n          {!isConfigurator && (\n            <PluginConfigurationForm\n              plugin={plugin}\n              onSubmit={(data: PluginData) => {\n                saveData(data)\n                  .then(() => {\n                    showSuccessMessage()\n                  })\n                  .catch(() => {})\n              }}\n            />\n          )}\n          {isConfigurator && (\n            <EmbeddedPluginConfigurationForm\n              key={plugin.packageName}\n              plugin={plugin}\n              saveData={saveData}\n            />\n          )}\n        </Card.Body>\n      </Card>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Configuration/EmbeddedPluginConfigurationForm.tsx",
    "content": "import {\n  useState,\n  Suspense,\n  createElement,\n  ComponentType,\n  Component,\n  ReactNode\n} from 'react'\nimport {\n  PLUGIN_CONFIG_PANEL,\n  toLazyDynamicComponent\n} from '../Webapps/dynamicutilities'\n\ninterface PluginErrorBoundaryProps {\n  children: ReactNode\n  pluginName: string\n}\n\ninterface PluginErrorBoundaryState {\n  hasError: boolean\n  error: Error | null\n}\n\nclass PluginErrorBoundary extends Component<\n  PluginErrorBoundaryProps,\n  PluginErrorBoundaryState\n> {\n  override state: PluginErrorBoundaryState = { hasError: false, error: null }\n\n  static getDerivedStateFromError(error: Error): PluginErrorBoundaryState {\n    return { hasError: true, error }\n  }\n\n  override render() {\n    if (this.state.hasError) {\n      return (\n        <div className=\"alert alert-warning\">\n          <h5>Plugin Configuration Unavailable</h5>\n          <p>\n            The configuration panel for <strong>{this.props.pluginName}</strong>{' '}\n            could not be loaded. This plugin may need to be updated for React 19\n            compatibility.\n          </p>\n          <details>\n            <summary>Technical details</summary>\n            <pre style={{ fontSize: '0.8rem' }}>\n              {this.state.error?.message}\n            </pre>\n          </details>\n        </div>\n      )\n    }\n    return this.props.children\n  }\n}\n\ninterface PluginData {\n  packageName: string\n  data: {\n    configuration?: unknown\n    [key: string]: unknown\n  }\n  [key: string]: unknown\n}\n\ninterface EmbeddedPluginConfigurationFormProps {\n  plugin: PluginData\n  saveData: (data: Record<string, unknown>) => Promise<boolean>\n}\n\ninterface ConfigPanelProps {\n  configuration: unknown\n  save: (configuration: unknown) => void\n}\n\nexport default function EmbeddedPluginConfigurationForm({\n  plugin,\n  saveData\n}: EmbeddedPluginConfigurationFormProps) {\n  // Initialize component once from plugin.packageName\n  const [Component] = useState<ComponentType<ConfigPanelProps>>(() =>\n    toLazyDynamicComponent(plugin.packageName, PLUGIN_CONFIG_PANEL)\n  )\n  const [configuration, setConfiguration] = useState<unknown>(\n    plugin.data.configuration\n  )\n\n  const handleSave = (newConfiguration: unknown) => {\n    saveData({\n      ...plugin.data,\n      configuration: newConfiguration\n    })\n    setConfiguration(newConfiguration)\n  }\n\n  return (\n    <PluginErrorBoundary pluginName={plugin.packageName}>\n      <Suspense fallback=\"Loading...\">\n        {createElement(Component, {\n          configuration,\n          save: handleSave\n        })}\n      </Suspense>\n    </PluginErrorBoundary>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Dashboard/Dashboard.tsx",
    "content": "import { ReactNode } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport Card from 'react-bootstrap/Card'\nimport ProgressBar from 'react-bootstrap/ProgressBar'\nimport Row from 'react-bootstrap/Row'\nimport Col from 'react-bootstrap/Col'\nimport Table from 'react-bootstrap/Table'\nimport { useServerStats, useWsStatus, useStore } from '../../store'\nimport type { ProviderStatistics } from '../../store/types'\nimport '../../fa-pulse.css'\n\ninterface ProviderStatusItem {\n  id: string\n  type?: string\n  statusType?: string\n  message?: string\n  lastError?: string\n  lastErrorTimeStamp?: string\n}\n\nexport default function Dashboard() {\n  const serverStatistics = useServerStats()\n  const websocketStatus = useWsStatus()\n  const providerStatus =\n    (useStore((state) => state.providerStatus) as ProviderStatusItem[]) || []\n  const navigate = useNavigate()\n\n  const deltaRate = serverStatistics?.deltaRate ?? 0\n  const numberOfAvailablePaths = serverStatistics?.numberOfAvailablePaths ?? 0\n  const wsClients = serverStatistics?.wsClients ?? 0\n  const providerStatistics: Record<string, ProviderStatistics> =\n    serverStatistics?.providerStatistics ?? {}\n  const uptime = serverStatistics?.uptime ?? 0\n\n  const errorCount = providerStatus.filter((s) => s.type === 'error').length\n  const uptimeNum = typeof uptime === 'number' ? uptime : 0\n  const uptimeD = Math.floor(uptimeNum / (60 * 60 * 24))\n  const uptimeH = Math.floor((uptimeNum % (60 * 60 * 24)) / (60 * 60))\n  const uptimeM = Math.floor((uptimeNum % (60 * 60)) / 60)\n  const deltaRateNum = typeof deltaRate === 'number' ? deltaRate : 0\n  let errors = ''\n  if (errorCount > 0) {\n    errors = `(${errorCount} errors)`\n  }\n\n  const getLinkType = (providerId: string): string => {\n    try {\n      return (\n        providerStatus.find((item) => item.id === providerId)?.statusType ||\n        'provider'\n      )\n    } catch (_) {\n      return 'provider'\n    }\n  }\n\n  const getInputPulseClass = (providerStats: ProviderStatistics): string => {\n    if ((providerStats.deltaRate || 0) > 50) return 'text-primary fa-pulse-fast'\n    if ((providerStats.deltaRate || 0) > 0) return 'text-primary fa-pulse'\n    return ''\n  }\n\n  const getOutputPulseClass = (providerStats: ProviderStatistics): string => {\n    if ((providerStats.writeRate || 0) > 50) return 'text-primary fa-pulse-fast'\n    if ((providerStats.writeRate || 0) > 0) return 'text-primary fa-pulse'\n    return ''\n  }\n\n  const renderActivity = (\n    providerId: string,\n    providerStats: ProviderStatistics,\n    linkType: string\n  ): ReactNode => {\n    return (\n      <li key={providerId} onClick={() => navigate(`/dashboard`)}>\n        <i\n          className={`icon-login ${getInputPulseClass(providerStats)}`}\n          style={{\n            color: providerStats.deltaCount ? '#039' : 'lightblue'\n          }}\n        />\n        <i\n          className={`icon-logout ${getOutputPulseClass(providerStats)}`}\n          style={{\n            transform: 'scaleX(-1)',\n            color: providerStats.writeCount ? '#039' : 'lightblue'\n          }}\n        />\n        <span className=\"title\">\n          {linkType === 'plugin'\n            ? pluginNameLink(providerId)\n            : providerIdLink(providerId)}\n        </span>\n        {(providerStats.writeRate || 0) > 0 && (\n          <span className=\"value\" style={{ fontWeight: 'normal' }}>\n            {' '}\n            <strong>{providerStats.writeRate}</strong>{' '}\n            <span className=\"text-muted small\">{'msg/s'}</span>{' '}\n          </span>\n        )}\n        {(providerStats.deltaRate || 0) > 0 &&\n          (providerStats.writeRate || 0) > 0 && (\n            <span className=\"value\" style={{ fontWeight: 'normal' }}>\n              <span className=\"text-muted small\">{','}</span>\n              &#160;\n            </span>\n          )}\n        {(providerStats.deltaRate || 0) > 0 && (\n          <span className=\"value\" style={{ fontWeight: 'normal' }}>\n            {' '}\n            <strong>{providerStats.deltaRate}</strong>{' '}\n            <span className=\"text-muted small\">\n              (\n              {(((providerStats.deltaRate || 0) / deltaRateNum) * 100).toFixed(\n                0\n              )}\n              %)\n            </span>{' '}\n            <span className=\"text-muted small\">{'deltas/s'}</span>{' '}\n          </span>\n        )}\n        <div className=\"bars\">\n          <ProgressBar\n            className=\"progress-xs\"\n            variant=\"warning\"\n            now={((providerStats.deltaRate || 0) / deltaRateNum) * 100}\n          />\n        </div>\n      </li>\n    )\n  }\n\n  const renderStatus = (\n    status: ProviderStatusItem,\n    statusClass: string,\n    lastError: string\n  ): ReactNode => {\n    return (\n      <tr\n        key={status.id}\n        onClick={() => {\n          navigate(\n            '/serverConfiguration/' +\n              (status.statusType === 'plugin' ? 'plugins/' : 'connections/') +\n              status.id\n          )\n        }}\n      >\n        <td>\n          {status.statusType === 'plugin'\n            ? pluginNameLink(status.id)\n            : providerIdLink(status.id)}\n        </td>\n        <td>\n          <p className=\"text-danger\">{lastError}</p>\n        </td>\n        <td>\n          <p className={statusClass}>\n            {(status.message || '').substring(0, 80)}\n            {(status.message || '').length > 80 ? '...' : ''}\n          </p>\n        </td>\n      </tr>\n    )\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {websocketStatus === 'open' && (\n        <div>\n          <Card>\n            <Card.Header>Stats</Card.Header>\n            <Card.Body>\n              <Row>\n                <Col xs=\"12\" md=\"6\">\n                  <div className=\"callout callout-primary\">\n                    <small className=\"text-muted\">\n                      Total server Signal K throughput (deltas/second)\n                    </small>\n                    <br />\n                    <strong className=\"h4\">{deltaRateNum.toFixed(1)}</strong>\n                  </div>\n                  <div className=\"callout callout-primary\">\n                    <small className=\"text-muted\">\n                      Number of Signal K Paths\n                    </small>\n                    <br />\n                    <strong className=\"h4\">{numberOfAvailablePaths}</strong>\n                  </div>\n                  <div className=\"callout callout-primary\">\n                    <small className=\"text-muted\">\n                      Number of WebSocket Clients\n                    </small>\n                    <br />\n                    <strong className=\"h4\">{wsClients}</strong>\n                  </div>\n                  <div className=\"callout callout-primary\">\n                    <small className=\"text-muted\">Uptime</small>\n                    <br />\n                    <strong className=\"h5\">\n                      {uptimeD} days, {uptimeH} hours, {uptimeM} minutes\n                    </strong>\n                  </div>\n                </Col>\n                <Col xs=\"12\" md=\"6\">\n                  <div className=\"text-muted\" style={{ fontSize: '1rem' }}>\n                    Connections activity\n                  </div>\n                  <ul className=\"horizontal-bars type-2\">\n                    {Object.keys(providerStatistics || {})\n                      .sort()\n                      .map((providerId) => {\n                        if (getLinkType(providerId) === 'provider') {\n                          return renderActivity(\n                            providerId,\n                            providerStatistics[providerId],\n                            'provider'\n                          )\n                        }\n                        return null\n                      })}\n                  </ul>\n                  <br></br>\n                  <div className=\"text-muted\" style={{ fontSize: '1rem' }}>\n                    {Object.keys(providerStatistics || {}).some(\n                      (providerId) => getLinkType(providerId) === 'plugin'\n                    )\n                      ? 'Plugins activity'\n                      : null}\n                  </div>\n                  <ul className=\"horizontal-bars type-2\">\n                    {Object.keys(providerStatistics || {})\n                      .sort()\n                      .map((providerId) => {\n                        if (getLinkType(providerId) === 'plugin') {\n                          return renderActivity(\n                            providerId,\n                            providerStatistics[providerId],\n                            'plugin'\n                          )\n                        }\n                        return null\n                      })}\n                  </ul>\n                </Col>\n              </Row>\n            </Card.Body>\n          </Card>\n\n          <Card>\n            <Card.Header>\n              Connection & Plugin Status <p className=\"text-danger\">{errors}</p>\n            </Card.Header>\n            <Card.Body>\n              <Row>\n                <Col xs=\"12\" md=\"12\">\n                  <Table hover responsive bordered striped size=\"sm\">\n                    <thead>\n                      <tr>\n                        <th>Id</th>\n                        <th>Last Error</th>\n                        <th>Status</th>\n                      </tr>\n                    </thead>\n                    <tbody>\n                      {providerStatus.map((status) => {\n                        const statusClasses: Record<string, string> = {\n                          status: 'text-success',\n                          warning: 'text-warning',\n                          error: 'text-danger'\n                        }\n                        const statusClass =\n                          statusClasses[status.type || ''] || ''\n                        const lastError =\n                          status.lastError &&\n                          status.lastError !== status.message\n                            ? status.lastErrorTimeStamp +\n                              ': ' +\n                              status.lastError\n                            : ''\n                        return renderStatus(status, statusClass, lastError)\n                      })}\n                    </tbody>\n                  </Table>\n                </Col>\n              </Row>\n            </Card.Body>\n          </Card>\n        </div>\n      )}\n\n      {websocketStatus === 'closed' && (\n        <Card className=\"border-warning\">\n          <Card.Header>Not connected to the server</Card.Header>\n        </Card>\n      )}\n    </div>\n  )\n}\n\nfunction pluginNameLink(id: string): ReactNode {\n  return <a href={'#/serverConfiguration/plugins/' + id}>{id}</a>\n}\n\nfunction providerIdLink(id: string): ReactNode {\n  if (id === 'defaults') {\n    return <a href={'#/serverConfiguration/settings'}>{id}</a>\n  } else if (id.startsWith('ws.')) {\n    return <a href={'#/security/devices'}>{id}</a>\n  } else {\n    return <a href={'#/serverConfiguration/connections/' + id}>{id}</a>\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/CopyToClipboardWithFade.tsx",
    "content": "import { useState, useCallback, ReactNode } from 'react'\n\nfunction copyToClipboard(text: string): Promise<void> {\n  if (navigator.clipboard && window.isSecureContext) {\n    return navigator.clipboard.writeText(text)\n  }\n\n  // Fallback for HTTP (Clipboard API requires secure context)\n  const textArea = document.createElement('textarea')\n  textArea.value = text\n  textArea.style.position = 'fixed'\n  textArea.style.left = '-9999px'\n  textArea.style.top = '-9999px'\n  document.body.appendChild(textArea)\n  textArea.focus()\n  textArea.select()\n\n  return new Promise((resolve, reject) => {\n    const success = document.execCommand('copy')\n    document.body.removeChild(textArea)\n    if (success) {\n      resolve()\n    } else {\n      reject(new Error('execCommand copy failed'))\n    }\n  })\n}\n\ninterface CopyToClipboardWithFadeProps {\n  text: string\n  children: ReactNode\n}\n\nfunction CopyToClipboardWithFade({\n  text,\n  children\n}: CopyToClipboardWithFadeProps) {\n  const [opacity, setOpacity] = useState(1)\n\n  const handleClick = useCallback(() => {\n    copyToClipboard(text).then(() => {\n      setOpacity(0.5)\n      setTimeout(() => {\n        setOpacity(1)\n      }, 500)\n    })\n  }, [text])\n\n  return (\n    <span style={{ opacity, cursor: 'pointer' }} onClick={handleClick}>\n      {children}\n    </span>\n  )\n}\n\nexport default CopyToClipboardWithFade\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/DataBrowser.tsx",
    "content": "import React, {\n  useState,\n  useEffect,\n  useCallback,\n  useRef,\n  useMemo,\n  useDeferredValue,\n  useTransition\n} from 'react'\nimport { JSONTree } from 'react-json-tree'\nimport Select, {\n  components,\n  type OptionProps,\n  type SingleValue\n} from 'react-select'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport dayjs from 'dayjs'\nimport VirtualizedMetaTable from './VirtualizedMetaTable'\nimport VirtualizedDataTable from './VirtualizedDataTable'\nimport type { PathData, MetaData } from '../../store'\nimport granularSubscriptionManager from './GranularSubscriptionManager'\nimport { getPath$SourceKey } from './pathUtils'\nimport {\n  useWebSocket,\n  useDeltaMessages,\n  getWebSocketService\n} from '../../hooks/useWebSocket'\nimport { useStore, useShallow, useUnitPrefsLoaded } from '../../store'\n\n// Imperative accessor — avoids subscribing the component to every value change.\nconst getSignalkData = () => useStore.getState().signalkData\n\nconst TIMESTAMP_FORMAT = 'MM/DD HH:mm:ss'\nconst TIME_ONLY_FORMAT = 'HH:mm:ss'\n\nconst metaStorageKey = 'admin.v1.dataBrowser.meta'\nconst pauseStorageKey = 'admin.v1.dataBrowser.v1.pause'\nconst rawStorageKey = 'admin.v1.dataBrowser.v1.raw'\nconst contextStorageKey = 'admin.v1.dataBrowser.context'\nconst searchStorageKey = 'admin.v1.dataBrowser.search'\nconst selectedSourcesStorageKey = 'admin.v1.dataBrowser.selectedSources'\nconst sourceFilterActiveStorageKey = 'admin.v1.dataBrowser.sourceFilterActive'\n\nfunction matchesSearch(key: string, search: string): boolean {\n  if (!search || search.length === 0) return true\n  const lowerKey = key.toLowerCase()\n  const terms = search\n    .toLowerCase()\n    .split(/\\s+/)\n    .filter((t) => t.length > 0)\n  if (terms.length === 0) return true\n  return terms.some((term) => lowerKey.includes(term))\n}\n\ninterface DeltaMessage {\n  context?: string\n  updates?: Array<{\n    timestamp: string\n    $source?: string\n    source?: {\n      pgn?: number\n      sentence?: string\n    }\n    values?: Array<{\n      path: string\n      value: unknown\n    }>\n    meta?: Array<{\n      path: string\n      value: unknown\n    }>\n  }>\n}\n\ninterface SelectOption {\n  label: string\n  value: string\n  section?: 'all' | 'self' | 'ais'\n  isFirstAis?: boolean\n}\n\nconst ContextOption = (props: OptionProps<SelectOption>) => {\n  const { data } = props\n  const needsBorder = data.value === 'self' || data.isFirstAis\n  return (\n    <div style={needsBorder ? { borderTop: '1px solid #ccc' } : undefined}>\n      <components.Option {...props} />\n    </div>\n  )\n}\n\ninterface SourceDevice {\n  n2k?: {\n    manufacturerCode?: string\n    modelId?: string\n  }\n  type?: string\n  [key: string]: unknown\n}\n\ninterface Sources {\n  [key: string]: SourceDevice\n}\n\nconst DataBrowser: React.FC = () => {\n  const { ws: webSocket, isConnected, skSelf } = useWebSocket()\n\n  const [hasData, setHasData] = useState(false)\n  const [pause, setPause] = useState(\n    () => localStorage.getItem(pauseStorageKey) === 'true'\n  )\n  const [includeMeta, setIncludeMeta] = useState(\n    () => localStorage.getItem(metaStorageKey) === 'true'\n  )\n  const [raw, setRaw] = useState(\n    () => localStorage.getItem(rawStorageKey) === 'true'\n  )\n  const [context, setContext] = useState(\n    () => localStorage.getItem(contextStorageKey) || 'self'\n  )\n  const [search, setSearch] = useState(\n    () => localStorage.getItem(searchStorageKey) || ''\n  )\n  const [selectedSources, setSelectedSources] = useState<Set<string>>(\n    () =>\n      new Set(\n        JSON.parse(localStorage.getItem(selectedSourcesStorageKey) || '[]')\n      )\n  )\n  const [sourceFilterActive, setSourceFilterActive] = useState(\n    () => localStorage.getItem(sourceFilterActiveStorageKey) === 'true'\n  )\n  const [sources, setSources] = useState<Sources | null>(null)\n  const [sourcesExpanded, setSourcesExpanded] = useState(false)\n\n  const deferredSearch = useDeferredValue(search)\n  const isSearchStale = search !== deferredSearch\n  const [, startTransition] = useTransition()\n\n  // dataVersion only increments when new paths appear, not on every value update.\n  const dataVersion = useStore((s) => s.dataVersion)\n\n  // Only re-renders when the set of contexts changes (new vessel appears / disappears).\n  const contextKeys = useStore(\n    useShallow((s) => Object.keys(s.signalkData).sort())\n  )\n\n  const updatePath = useStore((s) => s.updatePath)\n  const updateMeta = useStore((s) => s.updateMeta)\n  const getPathData = useStore((s) => s.getPathData)\n\n  const unitPrefsLoaded = useUnitPrefsLoaded()\n  const fetchUnitPreferences = useStore((s) => s.fetchUnitPreferences)\n\n  const didSubscribeRef = useRef(false)\n  const webSocketRef = useRef<WebSocket | null>(null)\n  const isMountedRef = useRef(true)\n\n  const loadSources = useCallback(async (): Promise<Sources> => {\n    const response = await fetch(`/signalk/v1/api/sources`, {\n      credentials: 'include'\n    })\n    const sourcesData: Sources = await response.json()\n\n    Object.values(sourcesData).forEach((source) => {\n      if (source.type === 'NMEA2000') {\n        Object.keys(source).forEach((key) => {\n          const device = source[key] as SourceDevice\n          if (device && device.n2k && device.n2k.modelId) {\n            sourcesData[\n              `${device.n2k.manufacturerCode || ''} ${device.n2k.modelId} (${key})`\n            ] = device\n            delete sourcesData[key]\n          }\n        })\n      }\n    })\n    return sourcesData\n  }, [])\n\n  const handleMessage = useCallback(\n    (msg: unknown) => {\n      if (pause) {\n        return\n      }\n\n      // Read from service directly to avoid stale closure\n      const currentSkSelf = getWebSocketService().getSkSelf()\n      const deltaMsg = msg as DeltaMessage\n\n      if (!currentSkSelf) {\n        return\n      }\n\n      if (deltaMsg.context && deltaMsg.updates) {\n        const key =\n          deltaMsg.context === currentSkSelf ? 'self' : deltaMsg.context\n\n        let isNew = false\n\n        deltaMsg.updates.forEach((update) => {\n          if (update.values) {\n            const pgn =\n              update.source && update.source.pgn && `(${update.source.pgn})`\n            const sentence =\n              update.source &&\n              update.source.sentence &&\n              `(${update.source.sentence})`\n\n            update.values.forEach((vp) => {\n              const timestamp = dayjs(update.timestamp)\n              const formattedTimestamp = timestamp.isSame(dayjs(), 'day')\n                ? timestamp.format(TIME_ONLY_FORMAT)\n                : timestamp.format(TIMESTAMP_FORMAT)\n\n              if (vp.path === '') {\n                Object.keys(vp.value as object).forEach((k) => {\n                  const pathData: PathData = {\n                    path: k,\n                    value: (vp.value as Record<string, unknown>)[k],\n                    $source: update.$source,\n                    pgn: pgn || undefined,\n                    sentence: sentence || undefined,\n                    timestamp: formattedTimestamp\n                  }\n                  const wasNew = !getPathData(key, k)\n                  updatePath(key, k, pathData)\n                  if (wasNew) isNew = true\n                })\n              } else {\n                const path$SourceKey = getPath$SourceKey(\n                  vp.path,\n                  update.$source\n                )\n                const pathData: PathData = {\n                  path: vp.path,\n                  $source: update.$source,\n                  value: vp.value,\n                  pgn: pgn || undefined,\n                  sentence: sentence || undefined,\n                  timestamp: formattedTimestamp\n                }\n                const wasNew = !getPathData(key, path$SourceKey)\n                updatePath(key, path$SourceKey, pathData)\n                if (wasNew) isNew = true\n              }\n            })\n          }\n          if (update.meta) {\n            update.meta.forEach((vp) => {\n              updateMeta(key, vp.path, vp.value as Partial<MetaData>)\n            })\n          }\n        })\n\n        if ((isNew || (context && context === key)) && !hasData) {\n          setHasData(true)\n        }\n      }\n    },\n    [pause, context, hasData, updatePath, updateMeta, getPathData]\n  )\n\n  useDeltaMessages(handleMessage)\n\n  const subscribeToDataIfNeeded = useCallback(() => {\n    // Wait for hello message (skSelf) before discovery — handleMessage needs\n    // the vessel's self identity to map contexts correctly.\n    if (\n      !pause &&\n      webSocket &&\n      isConnected &&\n      skSelf &&\n      (webSocket !== webSocketRef.current || didSubscribeRef.current === false)\n    ) {\n      granularSubscriptionManager.setWebSocket(\n        webSocket as unknown as WebSocket\n      )\n      granularSubscriptionManager.startDiscovery()\n\n      webSocketRef.current = webSocket\n      didSubscribeRef.current = true\n    }\n  }, [pause, webSocket, isConnected, skSelf])\n\n  useEffect(() => {\n    isMountedRef.current = true\n\n    loadSources().then((data) => {\n      if (isMountedRef.current) {\n        setSources(data)\n      }\n    })\n\n    if (!unitPrefsLoaded) {\n      fetchUnitPreferences()\n    }\n\n    return () => {\n      isMountedRef.current = false\n    }\n  }, [loadSources, unitPrefsLoaded, fetchUnitPreferences])\n\n  const contextOptions: SelectOption[] = useMemo(() => {\n    const currentData = getSignalkData()\n    const options: SelectOption[] = [\n      { value: 'all', label: 'ALL', section: 'all' }\n    ]\n\n    if (contextKeys.includes('self')) {\n      const contextData = currentData['self']?.['name'] as\n        | { value?: string }\n        | undefined\n      const contextName = contextData?.value\n      options.push({\n        value: 'self',\n        label: `${contextName || ''} self`,\n        section: 'self'\n      })\n    }\n\n    let isFirst = true\n    contextKeys.forEach((key) => {\n      if (key !== 'self') {\n        const contextData = currentData[key]?.['name'] as\n          | { value?: string }\n          | undefined\n        const contextName = contextData?.value\n        options.push({\n          value: key,\n          label: `${contextName || ''} ${key}`,\n          section: 'ais',\n          isFirstAis: isFirst\n        })\n        isFirst = false\n      }\n    })\n\n    return options\n  }, [contextKeys])\n\n  useEffect(() => {\n    subscribeToDataIfNeeded()\n  }, [subscribeToDataIfNeeded])\n\n  // Re-subscribe when switching back from meta view — the subscription manager\n  // may have gone idle while the data table was unmounted.\n  const prevIncludeMetaRef = useRef(includeMeta)\n  useEffect(() => {\n    if (prevIncludeMetaRef.current && !includeMeta) {\n      const state = granularSubscriptionManager.getState()\n      if (state.state === 'idle') {\n        didSubscribeRef.current = false\n        subscribeToDataIfNeeded()\n      }\n    }\n    prevIncludeMetaRef.current = includeMeta\n  }, [includeMeta, subscribeToDataIfNeeded])\n\n  useEffect(() => {\n    return () => {\n      granularSubscriptionManager.unsubscribeAll()\n      didSubscribeRef.current = false\n    }\n  }, [])\n\n  const handleContextChange = useCallback(\n    (selectedOption: SingleValue<SelectOption>) => {\n      const value = selectedOption ? selectedOption.value : 'none'\n\n      localStorage.setItem(selectedSourcesStorageKey, JSON.stringify([]))\n      localStorage.setItem(sourceFilterActiveStorageKey, 'false')\n\n      granularSubscriptionManager.cancelPending()\n      granularSubscriptionManager.startDiscovery()\n\n      setContext(value)\n      setSelectedSources(new Set())\n      setSourceFilterActive(false)\n\n      localStorage.setItem(contextStorageKey, value)\n    },\n    []\n  )\n\n  const currentContext: SelectOption | null =\n    contextOptions.find((option) => option.value === context) || null\n\n  const handleSearch = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value = event.target.value\n      setSearch(value)\n      localStorage.setItem(searchStorageKey, value)\n    },\n    []\n  )\n\n  const showContext = context === 'all'\n\n  const filteredPathKeys: string[] = useMemo(() => {\n    const currentData = dataVersion >= 0 ? getSignalkData() : {}\n    const contexts = context === 'all' ? Object.keys(currentData) : [context]\n\n    const filtered: string[] = []\n\n    for (const ctx of contexts) {\n      const contextData = currentData[ctx] || {}\n      for (const key of Object.keys(contextData)) {\n        if (!matchesSearch(key, deferredSearch)) {\n          continue\n        }\n\n        if (sourceFilterActive && selectedSources.size > 0) {\n          const data = contextData[key] as PathData | undefined\n          if (data && !selectedSources.has(data.$source || '')) {\n            continue\n          }\n        }\n\n        filtered.push(context === 'all' ? `${ctx}\\0${key}` : key)\n      }\n    }\n\n    return filtered.sort()\n  }, [\n    context,\n    deferredSearch,\n    sourceFilterActive,\n    selectedSources,\n    dataVersion\n  ])\n\n  const toggleMeta = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      setIncludeMeta(event.target.checked)\n      localStorage.setItem(metaStorageKey, String(event.target.checked))\n    },\n    []\n  )\n\n  const toggleRaw = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      setRaw(event.target.checked)\n      localStorage.setItem(rawStorageKey, String(event.target.checked))\n    },\n    []\n  )\n\n  const handlePause = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const newPause = event.target.checked\n      setPause(newPause)\n      localStorage.setItem(pauseStorageKey, String(newPause))\n      if (newPause) {\n        granularSubscriptionManager.unsubscribeAll()\n        didSubscribeRef.current = false\n      } else {\n        loadSources().then(setSources)\n        subscribeToDataIfNeeded()\n      }\n    },\n    [loadSources, subscribeToDataIfNeeded]\n  )\n\n  const toggleSourceSelection = useCallback(\n    (source: string) => {\n      setSelectedSources((prev) => {\n        const newSelectedSources = new Set(prev)\n        const wasEmpty = newSelectedSources.size === 0\n\n        if (newSelectedSources.has(source)) {\n          newSelectedSources.delete(source)\n        } else {\n          newSelectedSources.add(source)\n        }\n\n        const newSize = newSelectedSources.size\n        const shouldActivateFilter = wasEmpty && newSize === 1\n        const shouldDeactivateFilter = newSelectedSources.size === 0\n\n        startTransition(() => {\n          localStorage.setItem(\n            selectedSourcesStorageKey,\n            JSON.stringify([...newSelectedSources])\n          )\n\n          if (shouldActivateFilter) {\n            localStorage.setItem(sourceFilterActiveStorageKey, 'true')\n          } else if (shouldDeactivateFilter) {\n            localStorage.setItem(sourceFilterActiveStorageKey, 'false')\n          }\n        })\n\n        if (shouldActivateFilter) {\n          setSourceFilterActive(true)\n        } else if (shouldDeactivateFilter) {\n          setSourceFilterActive(false)\n        }\n\n        return newSelectedSources\n      })\n    },\n    [startTransition]\n  )\n\n  const toggleSourceFilter = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const newSourceFilterActive = event.target.checked\n      localStorage.setItem(\n        sourceFilterActiveStorageKey,\n        String(newSourceFilterActive)\n      )\n\n      setSourceFilterActive(newSourceFilterActive)\n    },\n    []\n  )\n\n  const uniquePathsForMeta = useMemo(() => {\n    const currentData = dataVersion >= 0 ? getSignalkData() : {}\n    const contexts = context === 'all' ? Object.keys(currentData) : [context]\n    const paths: string[] = []\n    const seen = new Set<string>()\n\n    for (const ctx of contexts) {\n      const contextData = currentData[ctx] || {}\n      for (const key of Object.keys(contextData)) {\n        if (!matchesSearch(key, search)) {\n          continue\n        }\n        const data = contextData[key] as PathData | undefined\n        const path = data?.path || key\n        const dedupKey = context === 'all' ? `${ctx}\\0${path}` : path\n        if (!seen.has(dedupKey)) {\n          seen.add(dedupKey)\n          paths.push(dedupKey)\n        }\n      }\n    }\n\n    return paths.sort()\n  }, [context, search, dataVersion])\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Card>\n        <Card.Body>\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n            onSubmit={(e) => {\n              e.preventDefault()\n            }}\n          >\n            <Form.Group as={Row}>\n              <Col xs=\"12\" md=\"4\">\n                <Select<SelectOption, false>\n                  value={currentContext}\n                  onChange={handleContextChange}\n                  options={contextOptions}\n                  placeholder=\"Select a context\"\n                  isSearchable={true}\n                  isClearable={true}\n                  maxMenuHeight={500}\n                  noOptionsMessage={() => 'No contexts available'}\n                  components={{ Option: ContextOption }}\n                  styles={{\n                    menu: (base) => ({ ...base, zIndex: 100 }),\n                    option: (base, state) => ({\n                      ...base,\n                      backgroundColor: state.isSelected\n                        ? base.backgroundColor\n                        : 'transparent',\n                      ':hover': {\n                        backgroundColor: '#deebff'\n                      }\n                    })\n                  }}\n                />\n              </Col>\n              <Col xs=\"6\" md=\"2\">\n                <label className=\"switch switch-text switch-primary\">\n                  <input\n                    type=\"checkbox\"\n                    id=\"databrowser-meta\"\n                    name=\"meta\"\n                    className=\"switch-input\"\n                    onChange={toggleMeta}\n                    checked={includeMeta}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </label>{' '}\n                <label\n                  htmlFor=\"databrowser-meta\"\n                  style={{ whiteSpace: 'nowrap', cursor: 'pointer' }}\n                >\n                  Meta data\n                </label>\n              </Col>\n              <Col xs=\"6\" md=\"2\">\n                <label className=\"switch switch-text switch-primary\">\n                  <input\n                    type=\"checkbox\"\n                    id=\"databrowser-pause\"\n                    name=\"pause\"\n                    className=\"switch-input\"\n                    onChange={handlePause}\n                    checked={pause}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </label>{' '}\n                <label\n                  htmlFor=\"databrowser-pause\"\n                  style={{ cursor: 'pointer' }}\n                >\n                  Pause\n                </label>\n              </Col>\n              <Col xs=\"6\" md=\"2\">\n                <label className=\"switch switch-text switch-primary\">\n                  <input\n                    type=\"checkbox\"\n                    id=\"databrowser-raw\"\n                    name=\"raw\"\n                    className=\"switch-input\"\n                    onChange={toggleRaw}\n                    checked={raw}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </label>{' '}\n                <label\n                  htmlFor=\"databrowser-raw\"\n                  style={{ whiteSpace: 'nowrap', cursor: 'pointer' }}\n                >\n                  Raw Values\n                </label>\n              </Col>\n            </Form.Group>\n            {context && context !== 'none' && (\n              <Form.Group as={Row}>\n                <Col xs=\"3\" md=\"2\">\n                  <label htmlFor=\"databrowser-search\">Search</label>\n                </Col>\n                <Col xs=\"12\" md=\"12\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"databrowser-search\"\n                    name=\"search\"\n                    autoComplete=\"off\"\n                    placeholder=\"e.g. pos wind (space = OR)\"\n                    onChange={handleSearch}\n                    value={search}\n                  />\n                </Col>\n              </Form.Group>\n            )}\n\n            {!includeMeta && context && context !== 'none' && (\n              <div\n                style={{\n                  opacity: isSearchStale ? 0.7 : 1,\n                  transition: 'opacity 0.15s'\n                }}\n              >\n                <VirtualizedDataTable\n                  path$SourceKeys={filteredPathKeys}\n                  context={context}\n                  raw={raw}\n                  isPaused={pause}\n                  onToggleSource={toggleSourceSelection}\n                  selectedSources={selectedSources}\n                  onToggleSourceFilter={toggleSourceFilter}\n                  sourceFilterActive={sourceFilterActive}\n                  showContext={showContext}\n                />\n              </div>\n            )}\n\n            {includeMeta && context && context !== 'none' && (\n              <VirtualizedMetaTable\n                paths={uniquePathsForMeta}\n                context={context}\n                showContext={context === 'all'}\n              />\n            )}\n          </Form>\n        </Card.Body>\n      </Card>\n\n      {sources && (\n        <Card>\n          <Card.Header\n            style={{ cursor: 'pointer', userSelect: 'none' }}\n            onClick={() => setSourcesExpanded((prev) => !prev)}\n          >\n            Sources {sourcesExpanded ? '[-]' : '[+]'}\n          </Card.Header>\n          {sourcesExpanded && (\n            <Card.Body>\n              <JSONTree\n                data={sources}\n                theme=\"default\"\n                invertTheme={true}\n                sortObjectKeys\n                hideRoot\n              />\n            </Card.Body>\n          )}\n        </Card>\n      )}\n    </div>\n  )\n}\n\nexport default DataBrowser\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/DataRow.tsx",
    "content": "import { useMemo } from 'react'\nimport { usePathData, useMetaData } from './usePathData'\nimport TimestampCell from './TimestampCell'\nimport CopyToClipboardWithFade from './CopyToClipboardWithFade'\nimport { getValueRenderer, DefaultValueRenderer } from './ValueRenderers'\nimport {\n  usePresetDetails,\n  useUnitDefinitions,\n  useDefaultCategories\n} from '../../store'\nimport type { PathData, MetaData } from '../../store'\nimport { convertValue } from '../../utils/unitConversion'\nimport type { DefaultCategories } from '../../store/slices/unitPreferencesSlice'\n\ninterface DataRowProps {\n  path$SourceKey: string\n  context: string\n  index: number\n  raw: boolean\n  isPaused: boolean\n  onToggleSource: (source: string) => void\n  selectedSources: Set<string>\n  showContext: boolean\n}\n\ninterface ValueRendererProps {\n  data: PathData\n  meta: MetaData | null\n  units: string\n  raw: boolean\n  convertedValue?: number | null\n  convertedUnit?: string | null\n}\n\n/**\n * Find category for a path by checking wildcard patterns in default categories\n */\nfunction findCategoryForPath(\n  path: string,\n  defaultCategories: DefaultCategories\n): string | null {\n  if (!path || !defaultCategories) return null\n\n  for (const [category, config] of Object.entries(defaultCategories)) {\n    if (config.paths && Array.isArray(config.paths)) {\n      for (const pattern of config.paths) {\n        const regex = new RegExp(\n          '^' + pattern.replace(/\\*/g, '[^.]+').replace(/\\./g, '\\\\.') + '$'\n        )\n        if (regex.test(path)) {\n          return category\n        }\n      }\n    }\n  }\n  return null\n}\n\nfunction DataRow({\n  path$SourceKey,\n  context,\n  index,\n  raw,\n  isPaused,\n  onToggleSource,\n  selectedSources,\n  showContext\n}: DataRowProps) {\n  // When showContext is true, path$SourceKey is a composite key: context\\0realKey\n  const nullIdx = showContext ? path$SourceKey.indexOf('\\0') : -1\n  const realContext = nullIdx >= 0 ? path$SourceKey.slice(0, nullIdx) : context\n  const realKey =\n    nullIdx >= 0 ? path$SourceKey.slice(nullIdx + 1) : path$SourceKey\n\n  const data = usePathData(realContext, realKey)\n  const meta = useMetaData(realContext, data?.path)\n\n  const contextNameData = usePathData(realContext, 'name')\n  const contextLabel = showContext\n    ? contextNameData?.value\n      ? String(contextNameData.value)\n      : realContext\n    : ''\n\n  const presetDetails = usePresetDetails()\n  const unitDefinitions = useUnitDefinitions()\n  const defaultCategories = useDefaultCategories()\n\n  if (!data) {\n    return (\n      <div\n        className={`virtual-table-row ${index % 2 ? 'striped' : ''}`}\n        data-raw-row={raw ? 'true' : undefined}\n      >\n        <div className=\"virtual-table-cell path-cell\" data-label=\"Path\">\n          Loading...\n        </div>\n        {showContext && (\n          <div\n            className=\"virtual-table-cell context-cell\"\n            data-label=\"Context\"\n          ></div>\n        )}\n        <div className=\"virtual-table-cell value-cell\" data-label=\"Value\"></div>\n        <div\n          className=\"virtual-table-cell timestamp-cell\"\n          data-label=\"Time\"\n        ></div>\n        <div\n          className=\"virtual-table-cell source-cell\"\n          data-label=\"Source\"\n        ></div>\n      </div>\n    )\n  }\n\n  const units = meta && meta.units ? meta.units : ''\n\n  let category =\n    (meta as Record<string, unknown> | null)?.displayUnits &&\n    typeof (meta as Record<string, unknown>).displayUnits === 'object'\n      ? ((\n          (meta as Record<string, unknown>).displayUnits as Record<\n            string,\n            unknown\n          >\n        )?.category as string | undefined)\n      : undefined\n  if (!category && data?.path && defaultCategories) {\n    category = findCategoryForPath(data.path, defaultCategories) ?? undefined\n  }\n\n  const displayUnits =\n    (meta as Record<string, unknown> | null)?.displayUnits &&\n    typeof (meta as Record<string, unknown>).displayUnits === 'object'\n      ? ((meta as Record<string, unknown>).displayUnits as {\n          targetUnit?: string\n          formula?: string\n          symbol?: string\n        })\n      : undefined\n\n  let convertedValue: number | null = null\n  let convertedUnit: string | null = null\n  if (category && typeof data.value === 'number') {\n    const converted = convertValue(\n      data.value,\n      units,\n      category,\n      presetDetails,\n      unitDefinitions,\n      displayUnits\n    )\n    if (converted && converted.unit !== units) {\n      convertedValue = converted.value\n      convertedUnit = converted.unit\n    }\n  }\n\n  const path = data.path ?? ''\n  const source = data.$source ?? ''\n  const timestamp = data.timestamp ?? ''\n\n  return (\n    <div\n      className={`virtual-table-row ${index % 2 ? 'striped' : ''}`}\n      data-raw-row={raw ? 'true' : undefined}\n    >\n      <div className=\"virtual-table-cell path-cell\" data-label=\"Path\">\n        <CopyToClipboardWithFade text={path}>\n          <span>\n            {path} <span className=\"copy-icon\" aria-hidden=\"true\" />\n          </span>\n        </CopyToClipboardWithFade>\n      </div>\n\n      {showContext && (\n        <div className=\"virtual-table-cell context-cell\" data-label=\"Context\">\n          {contextLabel}\n        </div>\n      )}\n\n      <div className=\"virtual-table-cell value-cell\" data-label=\"Value\">\n        <ValueRenderer\n          data={data}\n          meta={meta}\n          units={units}\n          raw={raw}\n          convertedValue={convertedValue}\n          convertedUnit={convertedUnit}\n        />\n      </div>\n\n      <TimestampCell timestamp={timestamp} isPaused={isPaused} />\n\n      <div className=\"virtual-table-cell source-cell\" data-label=\"Source\">\n        <label style={{ display: 'inline', cursor: 'pointer' }}>\n          <input\n            type=\"checkbox\"\n            onChange={() => onToggleSource(source)}\n            checked={selectedSources.has(source)}\n            aria-label={`Select source ${source}`}\n            style={{\n              marginRight: '5px',\n              verticalAlign: 'middle'\n            }}\n          />\n        </label>\n        <CopyToClipboardWithFade text={source}>\n          {source} <span className=\"copy-icon\" aria-hidden=\"true\" />\n        </CopyToClipboardWithFade>{' '}\n        {data.pgn && <span>&nbsp;{data.pgn}</span>}\n        {data.sentence && <span>&nbsp;{data.sentence}</span>}\n      </div>\n    </div>\n  )\n}\n\n// ValueRenderer uses dynamic component selection for plugin extensibility.\n// getValueRenderer returns cached components from a module-level registry.\n// The first access per renderer type creates and caches the component,\n// subsequent accesses return the cached reference. This pattern is intentional\n// for supporting dynamically loaded renderers from plugins.\nfunction ValueRenderer({\n  data,\n  meta,\n  units,\n  raw,\n  convertedValue,\n  convertedUnit\n}: ValueRendererProps) {\n  // Get the renderer component - memoized to prevent recreating on every render\n  const rendererInfo = useMemo(() => {\n    if (raw) return { type: 'raw' as const }\n    const Renderer = getValueRenderer(data.path ?? '', meta)\n    if (Renderer) return { type: 'custom' as const, Renderer }\n    return { type: 'default' as const }\n  }, [raw, data.path, meta])\n\n  if (rendererInfo.type === 'raw') {\n    return (\n      <div>\n        <div className=\"text-primary\">\n          value: {JSON.stringify(data.value, null, 2)}\n        </div>\n        <div className=\"text-primary\">\n          meta: {JSON.stringify(meta ? meta : {}, null, 2)}\n        </div>\n      </div>\n    )\n  }\n\n  if (rendererInfo.type === 'custom') {\n    const Renderer = rendererInfo.Renderer\n    return (\n      <Renderer\n        value={data.value}\n        units={units}\n        convertedValue={convertedValue}\n        convertedUnit={convertedUnit}\n        {...(meta?.renderer?.options ?? {})}\n      />\n    )\n  }\n\n  return (\n    <DefaultValueRenderer\n      value={data.value}\n      units={units}\n      convertedValue={convertedValue}\n      convertedUnit={convertedUnit}\n    />\n  )\n}\n\nexport default DataRow\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/GranularSubscriptionManager.ts",
    "content": "import { getPathFromKey } from './pathUtils'\n\n// Only subscribes to visible paths for continuous updates, but uses\n// announceNewPaths: true so the server announces all existing/new paths once.\n// State machine: IDLE -> SUBSCRIBED <-> RESUBSCRIBING\n\nconst STATE = {\n  IDLE: 'idle',\n  SUBSCRIBED: 'subscribed',\n  RESUBSCRIBING: 'resubscribing'\n} as const\n\ntype SubscriptionState = (typeof STATE)[keyof typeof STATE]\n\n// Debug logging - can be disabled by setting to false\nconst DEBUG = false\nconst log = (...args: unknown[]) =>\n  DEBUG && console.log('[GranularSub]', ...args)\n\ninterface SubscriptionMessage {\n  context: string\n  announceNewPaths?: boolean\n  subscribe?: Array<{ path: string }>\n  unsubscribe?: Array<{ path: string }>\n}\n\ntype MessageHandler = (msg: unknown) => void\n\ninterface WebSocketLike {\n  send: (data: string) => void\n  readyState?: number\n}\n\nclass GranularSubscriptionManager {\n  private webSocket: WebSocketLike | null = null\n  private state: SubscriptionState = STATE.IDLE\n  private currentPaths: Set<string> = new Set()\n  private pendingPaths: Set<string> | null = null\n  private debounceTimer: ReturnType<typeof setTimeout> | null = null\n  private messageHandler: MessageHandler | null = null\n\n  // Configuration\n  private readonly DEBOUNCE_MS = 350\n  private readonly OVERSCAN = 20\n  private readonly SIMILARITY_THRESHOLD = 0.8\n\n  setWebSocket(ws: WebSocketLike | null): void {\n    this.webSocket = ws\n  }\n\n  setMessageHandler(handler: MessageHandler): void {\n    this.messageHandler = handler\n  }\n\n  /**\n   * Start subscription - immediately subscribe with announceNewPaths\n   * The server will announce all existing paths (once) and any new paths as they appear\n   */\n  startDiscovery(): void {\n    if (!this.webSocket) {\n      return\n    }\n\n    // Subscribe with announceNewPaths to discover all paths\n    // Server will send cached values for ALL paths matching context (once each)\n    // and announce any new paths that appear later\n    this._send({\n      context: '*',\n      announceNewPaths: true,\n      subscribe: [] // Empty initially, will be populated by requestPaths\n    })\n\n    this.state = STATE.SUBSCRIBED\n\n    // If there are pending paths from before WebSocket was ready, apply them now\n    if (this.pendingPaths && this.pendingPaths.size > 0) {\n      const pending = this.pendingPaths\n      this.pendingPaths = null\n      this._executeResubscription(pending)\n    }\n  }\n\n  /**\n   * Request subscription to specific paths (debounced)\n   * Called by VirtualizedDataTable when visible range changes\n   */\n  requestPaths(visiblePathKeys: string[], allPathKeys: string[]): void {\n    if (!visiblePathKeys || visiblePathKeys.length === 0 || !allPathKeys) {\n      return\n    }\n\n    // Calculate paths with overscan\n    const targetPaths = this._expandWithOverscan(visiblePathKeys, allPathKeys)\n\n    // If not yet connected, queue the request\n    if (this.state === STATE.IDLE) {\n      this.pendingPaths = targetPaths\n      log('Queued paths (not yet connected):', targetPaths.size)\n      return\n    }\n\n    // If paths haven't changed significantly, skip\n    if (this._pathsAreSimilar(this.currentPaths, targetPaths)) {\n      return\n    }\n\n    log(\n      'Paths changed, scheduling resubscription. Target:',\n      targetPaths.size,\n      'Current:',\n      this.currentPaths.size\n    )\n\n    // Clear existing debounce timer\n    if (this.debounceTimer) {\n      clearTimeout(this.debounceTimer)\n    }\n\n    // Debounce the subscription change\n    this.debounceTimer = setTimeout(() => {\n      this.debounceTimer = null\n      this._executeResubscription(targetPaths)\n    }, this.DEBOUNCE_MS)\n  }\n\n  /**\n   * Expand visible paths with overscan buffer for smooth scrolling\n   */\n  private _expandWithOverscan(\n    visiblePathKeys: string[],\n    allPathKeys: string[]\n  ): Set<string> {\n    if (!visiblePathKeys || visiblePathKeys.length === 0) {\n      return new Set()\n    }\n\n    // Find indices of first and last visible paths in the full list\n    const firstVisible = allPathKeys.indexOf(visiblePathKeys[0])\n    const lastVisible = allPathKeys.indexOf(\n      visiblePathKeys[visiblePathKeys.length - 1]\n    )\n\n    if (firstVisible === -1 || lastVisible === -1) {\n      // Fallback: just use visible paths\n      return new Set(visiblePathKeys)\n    }\n\n    // Expand range with overscan\n    const startIdx = Math.max(0, firstVisible - this.OVERSCAN)\n    const endIdx = Math.min(allPathKeys.length - 1, lastVisible + this.OVERSCAN)\n\n    return new Set(allPathKeys.slice(startIdx, endIdx + 1))\n  }\n\n  /**\n   * Check if two path sets are similar enough to skip resubscription\n   * This prevents unnecessary churn during small scroll movements\n   */\n  private _pathsAreSimilar(\n    currentPaths: Set<string>,\n    newPaths: Set<string>\n  ): boolean {\n    if (currentPaths.size === 0 && newPaths.size === 0) return true\n    if (currentPaths.size === 0 || newPaths.size === 0) return false\n\n    // Check overlap percentage\n    let overlap = 0\n    for (const path of newPaths) {\n      if (currentPaths.has(path)) overlap++\n    }\n\n    const overlapPercent = overlap / Math.max(currentPaths.size, newPaths.size)\n    return overlapPercent >= this.SIMILARITY_THRESHOLD\n  }\n\n  /**\n   * Execute the resubscription - unsubscribe all, then subscribe to new set\n   */\n  private _executeResubscription(newPaths: Set<string>): void {\n    if (!this.webSocket) return\n\n    if (this.state === STATE.RESUBSCRIBING) {\n      // Already resubscribing, queue this request\n      this.pendingPaths = newPaths\n      log('Already resubscribing, queued request')\n      return\n    }\n\n    this.state = STATE.RESUBSCRIBING\n    log('Executing resubscription for', newPaths.size, 'paths')\n\n    // Step 1: Unsubscribe all\n    this._send({\n      context: '*',\n      unsubscribe: [{ path: '*' }]\n    })\n\n    // Step 2: Subscribe to new paths (with small delay to ensure order)\n    setTimeout(() => {\n      if (!newPaths || newPaths.size === 0) {\n        this.currentPaths = new Set()\n        this.state = STATE.SUBSCRIBED\n        return\n      }\n\n      // Extract unique paths (remove source suffix from path$SourceKeys)\n      const uniquePaths = this._extractUniquePaths(newPaths)\n\n      if (uniquePaths.length === 0) {\n        this.currentPaths = new Set()\n        this.state = STATE.SUBSCRIBED\n        return\n      }\n\n      const subMsg: SubscriptionMessage = {\n        context: '*',\n        announceNewPaths: true, // Continue discovering new paths\n        subscribe: uniquePaths.map((path) => ({ path }))\n      }\n\n      this._send(subMsg)\n      this.currentPaths = newPaths\n      this.state = STATE.SUBSCRIBED\n\n      // Check if there's a pending request that came in during resubscription\n      if (this.pendingPaths) {\n        const pending = this.pendingPaths\n        this.pendingPaths = null\n        // Debounce the pending request\n        this.debounceTimer = setTimeout(() => {\n          this.debounceTimer = null\n          this._executeResubscription(pending)\n        }, this.DEBOUNCE_MS)\n      }\n    }, 10)\n  }\n\n  /**\n   * Extract unique paths from path$SourceKeys\n   * path$SourceKey format: \"navigation.position$sourceId\" -> extract \"navigation.position\"\n   * When context is \"all\", keys are prefixed: \"context\\0path$source\" -> strip context prefix first\n   */\n  private _extractUniquePaths(path$SourceKeys: Set<string>): string[] {\n    const paths = new Set<string>()\n    for (const pk of path$SourceKeys) {\n      const nullIdx = pk.indexOf('\\0')\n      const key = nullIdx >= 0 ? pk.slice(nullIdx + 1) : pk\n      const path = getPathFromKey(key)\n      if (path) {\n        paths.add(path)\n      }\n    }\n    return [...paths]\n  }\n\n  /**\n   * Handle incoming WebSocket message - forward to external handler\n   */\n  handleMessage(msg: unknown): void {\n    if (this.messageHandler) {\n      this.messageHandler(msg)\n    }\n  }\n\n  /**\n   * Unsubscribe from all paths - used during pause/cleanup\n   */\n  unsubscribeAll(): void {\n    if (this.debounceTimer) {\n      clearTimeout(this.debounceTimer)\n      this.debounceTimer = null\n    }\n\n    if (this.webSocket) {\n      try {\n        this._send({\n          context: '*',\n          unsubscribe: [{ path: '*' }]\n        })\n      } catch {\n        // WebSocket may already be closed\n      }\n    }\n\n    this.currentPaths = new Set()\n    this.pendingPaths = null\n    this.state = STATE.IDLE\n  }\n\n  /**\n   * Cancel pending subscription changes\n   */\n  cancelPending(): void {\n    if (this.debounceTimer) {\n      clearTimeout(this.debounceTimer)\n      this.debounceTimer = null\n    }\n    this.pendingPaths = null\n  }\n\n  /**\n   * Get current state for debugging\n   */\n  getState(): {\n    state: SubscriptionState\n    currentPathsCount: number\n    hasPending: boolean\n    hasDebounceTimer: boolean\n  } {\n    return {\n      state: this.state,\n      currentPathsCount: this.currentPaths.size,\n      hasPending: this.pendingPaths !== null,\n      hasDebounceTimer: this.debounceTimer !== null\n    }\n  }\n\n  private _send(msg: SubscriptionMessage): void {\n    if (\n      this.webSocket &&\n      this.webSocket.readyState !== undefined &&\n      this.webSocket.readyState === WebSocket.OPEN\n    ) {\n      this.webSocket.send(JSON.stringify(msg))\n    } else if (this.webSocket && this.webSocket.send) {\n      // For WebSocket implementations without readyState check\n      try {\n        this.webSocket.send(JSON.stringify(msg))\n      } catch {\n        // WebSocket may not be ready\n      }\n    }\n  }\n}\n\nconst granularSubscriptionManager = new GranularSubscriptionManager()\n\nexport default granularSubscriptionManager\nexport { GranularSubscriptionManager, STATE }\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/Meta.tsx",
    "content": "import { faArrowDown } from '@fortawesome/free-solid-svg-icons/faArrowDown'\nimport { faArrowUp } from '@fortawesome/free-solid-svg-icons/faArrowUp'\nimport { faPencil } from '@fortawesome/free-solid-svg-icons/faPencil'\nimport { faPlusSquare } from '@fortawesome/free-solid-svg-icons/faPlusSquare'\nimport { faSave } from '@fortawesome/free-solid-svg-icons/faSave'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes'\nimport { faTrashCan } from '@fortawesome/free-solid-svg-icons/faTrashCan'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { useState, useEffect, useRef, type JSX } from 'react'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport ButtonGroup from 'react-bootstrap/ButtonGroup'\nimport Card from 'react-bootstrap/Card'\nimport {\n  useLoginStatus,\n  usePresetDetails,\n  useUnitDefinitions,\n  useStore\n} from '../../store'\nimport {\n  convertFromSI,\n  convertToSI,\n  convertValue,\n  getAvailableUnits\n} from '../../utils/unitConversion'\nimport type { UnitDefinitions } from '../../utils/unitConversion'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\n\n// Imperative accessor — avoids subscribing Meta to every value change.\nconst getSignalkData = () => useStore.getState().signalkData\n\ninterface DisplayScaleValue {\n  lower?: number\n  upper?: number\n  type?: string\n  power?: number\n}\n\ninterface DisplayUnits {\n  category?: string\n  targetUnit?: string\n  formula?: string\n  inverseFormula?: string\n  symbol?: string\n}\n\ninterface MetaData {\n  units?: string\n  description?: string\n  displayName?: string\n  longName?: string\n  shortName?: string\n  timeout?: number\n  displayScale?: DisplayScaleValue\n  displayUnits?: DisplayUnits\n  zones?: Zone[]\n  normalMethod?: string[]\n  nominalMethod?: string[]\n  alertMethod?: string[]\n  warnMethod?: string[]\n  alarmMethod?: string[]\n  emergencyMethod?: string[]\n  [key: string]: unknown\n}\n\ninterface Zone {\n  lower: number\n  upper: number\n  state: string\n  message: string\n}\n\n// Counter for generating unique zone IDs for stable React keys\nlet zoneIdCounter = 0\nfunction generateZoneId(): string {\n  return `zone-${++zoneIdCounter}`\n}\n\ninterface MetaProps {\n  meta: MetaData\n  path: string\n  context?: string\n  showContext?: boolean\n}\n\ninterface MetaFormRowProps {\n  fieldKey: string\n  value: unknown\n  disabled: boolean\n  setValue: (value: unknown) => void\n  setKey: (key: string) => void\n  deleteKey: () => void\n  renderValue: React.FC<ValueRenderProps>\n  idPrefix: string\n  categories?: string[]\n  siUnit?: string\n  unitDefinitions?: UnitDefinitions | null\n  description?: string\n}\n\ninterface ValueRenderProps {\n  disabled: boolean\n  value: unknown\n  setValue: (value: unknown) => void\n  inputId?: string\n}\n\nconst UNITS: Record<string, string> = {\n  A: 'Ampere',\n  C: 'Coulomb',\n  Hz: 'Hertz',\n  'ISO-8601 (UTC)': 'Timestamp',\n  J: 'Joule',\n  K: 'Kelvin',\n  Pa: 'Pascal',\n  V: 'Volt',\n  W: 'Watt',\n  deg: 'Degree',\n  kg: 'Kilogram',\n  m: 'Meter',\n  'm/s': 'Meters per second',\n  m2: 'Square meter',\n  m3: 'Cubic meter',\n  'm3/s': 'Cubic meters per second',\n  rad: 'Radian',\n  'rad/s': 'Radians per second',\n  ratio: 'Ratio',\n  s: 'Second',\n  bool: 'Boolean'\n}\n\nconst METAFIELDS = [\n  'units',\n  'description',\n  'displayName',\n  'longName',\n  'shortName',\n  'timeout',\n  'displayScale',\n  'displayUnits',\n  'zones',\n  'normalMethod',\n  'nominalMethod',\n  'alertMethod',\n  'warnMethod',\n  'alarmMethod',\n  'emergencyMethod'\n]\n\nconst DISPLAYTYPES = ['linear', 'logarithmic', 'squareroot', 'power']\n\nconst STATES = ['nominal', 'alert', 'warn', 'alarm', 'emergency']\n\nconst STATE_COLORS: Record<string, string> = {\n  nominal: '#28a745',\n  alert: '#ffc107',\n  warn: '#fd7e14',\n  alarm: '#dc3545',\n  emergency: '#6f42c1'\n}\n\nconst DEFAULT_CATEGORIES = [\n  'speed',\n  'temperature',\n  'pressure',\n  'distance',\n  'depth',\n  'angle',\n  'angleDegrees',\n  'angularVelocity',\n  'volume',\n  'voltage',\n  'current',\n  'power',\n  'percentage',\n  'frequency',\n  'time',\n  'charge',\n  'volumeRate',\n  'length',\n  'energy',\n  'mass',\n  'area',\n  'dateTime',\n  'epoch',\n  'unitless',\n  'boolean'\n]\n\nconst CATEGORY_BADGE_COLORS: Record<string, string> = {\n  speed: 'primary',\n  temperature: 'danger',\n  pressure: 'warning',\n  voltage: 'info',\n  current: 'info',\n  power: 'success',\n  distance: 'secondary',\n  depth: 'secondary',\n  angle: 'dark',\n  time: 'light'\n}\n\ninterface CategorySelectProps extends ValueRenderProps {\n  categories?: string[]\n  siUnit?: string\n  unitDefinitions?: UnitDefinitions | null\n}\n\nconst CategorySelect: React.FC<CategorySelectProps> = ({\n  disabled,\n  value,\n  setValue,\n  inputId,\n  categories,\n  siUnit,\n  unitDefinitions\n}) => {\n  const displayUnits = value as DisplayUnits | undefined\n  const category = displayUnits?.category || ''\n  const categoryList =\n    categories !== undefined ? categories : DEFAULT_CATEGORIES\n  const conversions =\n    siUnit && unitDefinitions ? unitDefinitions[siUnit]?.conversions : undefined\n  return (\n    <>\n      <Form.Select\n        id={inputId}\n        disabled={disabled}\n        value={category}\n        size=\"sm\"\n        onChange={(e) => setValue({ category: e.target.value })}\n      >\n        <option value=\"\">-- No category --</option>\n        {siUnit && <option value=\"base\">base ({siUnit})</option>}\n        {conversions && <option value=\"custom\">custom unit</option>}\n        {categoryList.map((cat) => (\n          <option key={cat} value={cat}>\n            {cat}\n          </option>\n        ))}\n      </Form.Select>\n      {category === 'custom' && conversions && (\n        <Form.Select\n          disabled={disabled}\n          value={displayUnits?.targetUnit || ''}\n          size=\"sm\"\n          style={{ marginTop: '4px' }}\n          onChange={(e) => {\n            const targetUnit = e.target.value\n            if (!targetUnit) {\n              setValue({ category: 'custom' })\n              return\n            }\n            const conv = conversions[targetUnit]\n            setValue({\n              category: 'custom',\n              targetUnit,\n              formula: conv?.formula,\n              inverseFormula: conv?.inverseFormula,\n              symbol: conv?.symbol || targetUnit\n            })\n          }}\n        >\n          <option value=\"\">-- Select unit --</option>\n          {Object.entries(conversions).map(([unit, conv]) => (\n            <option key={unit} value={unit}>\n              {conv.symbol || unit}\n              {conv.longName ? ` - ${conv.longName}` : ''}\n            </option>\n          ))}\n        </Form.Select>\n      )}\n    </>\n  )\n}\n\nconst formatMetaValue = (v: unknown): string =>\n  typeof v === 'number'\n    ? Number.isInteger(v)\n      ? String(v)\n      : v.toFixed(2)\n    : String(v)\n\nconst UnitSelect: React.FC<ValueRenderProps> = ({\n  disabled,\n  value,\n  setValue,\n  inputId\n}) => (\n  <Form.Select\n    id={inputId}\n    disabled={disabled}\n    value={value as string}\n    size=\"sm\"\n    onChange={(e) => setValue(e.target.value)}\n  >\n    {Object.entries(UNITS).map(([unit, description]) => (\n      <option key={unit} value={unit}>\n        {unit}:{description}\n      </option>\n    ))}\n  </Form.Select>\n)\n\nconst Text: React.FC<ValueRenderProps> = ({\n  disabled,\n  setValue,\n  value,\n  inputId\n}) => (\n  <Form.Control\n    id={inputId}\n    disabled={disabled}\n    type=\"text\"\n    size=\"sm\"\n    onChange={(e) => setValue(e.target.value)}\n    value={value as string}\n  />\n)\n\nconst NumberValue: React.FC<ValueRenderProps> = ({\n  disabled,\n  setValue,\n  value,\n  inputId\n}) => (\n  <Form.Control\n    id={inputId}\n    disabled={disabled}\n    type=\"number\"\n    size=\"sm\"\n    onChange={(e) => {\n      try {\n        setValue(Number(e.target.value))\n      } catch {\n        setValue('')\n      }\n    }}\n    value={value as number}\n  />\n)\n\nconst MethodSelect: React.FC<ValueRenderProps> = ({\n  setValue,\n  value,\n  inputId\n}) => {\n  if (!Array.isArray(value)) {\n    setValue([])\n    return null\n  }\n  const baseId = inputId || 'meta-method'\n  return (\n    <>\n      {['sound', 'visual'].map((method) => (\n        <label\n          key={method}\n          className=\"switch switch-text switch-primary\"\n          htmlFor={`${baseId}-${method}`}\n        >\n          <input\n            type=\"checkbox\"\n            id={`${baseId}-${method}`}\n            className=\"switch-input\"\n            onChange={() => {\n              const arr = value as string[]\n              if (arr.indexOf(method) < 0) {\n                arr.push(method)\n                setValue([...arr])\n              } else {\n                const newArr = arr.filter((m) => m !== method)\n                setValue(newArr)\n              }\n            }}\n            checked={(value as string[]).indexOf(method) >= 0}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n          {method}\n        </label>\n      ))}\n    </>\n  )\n}\n\nconst DisplaySelect: React.FC<ValueRenderProps> = ({\n  disabled,\n  setValue,\n  value,\n  inputId\n}) => {\n  const displayValue = value as DisplayScaleValue\n  const { lower, upper, type, power } = displayValue\n  const baseId = inputId || 'display-scale'\n  return (\n    <>\n      <label htmlFor={`${baseId}-type`} className=\"visually-hidden\">\n        Display type\n      </label>\n      <Form.Select\n        id={`${baseId}-type`}\n        disabled={disabled}\n        value={type}\n        size=\"sm\"\n        onChange={(e) =>\n          setValue({\n            ...displayValue,\n            type: e.target.value\n          })\n        }\n      >\n        {DISPLAYTYPES.map((t) => (\n          <option key={t} value={t}>\n            {t}\n          </option>\n        ))}\n      </Form.Select>\n\n      <label htmlFor={`${baseId}-lower`} className=\"visually-hidden\">\n        Lower bound\n      </label>\n      <Form.Control\n        id={`${baseId}-lower`}\n        disabled={disabled}\n        type=\"number\"\n        size=\"sm\"\n        onChange={(e) => {\n          try {\n            setValue({\n              ...displayValue,\n              lower: Number(e.target.value)\n            })\n          } catch {\n            setValue({\n              ...displayValue,\n              lower: undefined\n            })\n          }\n        }}\n        value={lower}\n      />\n\n      <label htmlFor={`${baseId}-upper`} className=\"visually-hidden\">\n        Upper bound\n      </label>\n      <Form.Control\n        id={`${baseId}-upper`}\n        disabled={disabled}\n        type=\"number\"\n        size=\"sm\"\n        onChange={(e) => {\n          try {\n            setValue({\n              ...displayValue,\n              upper: Number(e.target.value)\n            })\n          } catch {\n            setValue({\n              ...displayValue,\n              upper: undefined\n            })\n          }\n        }}\n        value={upper}\n      />\n      <label htmlFor={`${baseId}-power`} className=\"visually-hidden\">\n        Power\n      </label>\n      <Form.Control\n        id={`${baseId}-power`}\n        disabled={disabled || type !== 'power'}\n        type=\"number\"\n        size=\"sm\"\n        onChange={(e) => {\n          try {\n            setValue({\n              ...displayValue,\n              power: Number(e.target.value)\n            })\n          } catch {\n            setValue({\n              ...displayValue,\n              power: undefined\n            })\n          }\n        }}\n        value={power}\n      />\n    </>\n  )\n}\n\nconst DisplayUnitsView: React.FC<CategorySelectProps> = (props) => {\n  const { disabled, categories, siUnit, unitDefinitions } = props\n  if (disabled) {\n    const displayUnits = props.value as DisplayUnits | undefined\n    if (!displayUnits || !displayUnits.category) {\n      return (\n        <span className=\"text-muted\" style={{ padding: '0.375rem 0' }}>\n          No display unit category assigned\n        </span>\n      )\n    }\n    return (\n      <div style={{ padding: '0.375rem 0' }}>\n        <Badge\n          bg={CATEGORY_BADGE_COLORS[displayUnits.category] || 'primary'}\n          style={{ fontSize: '0.8rem', marginRight: '8px' }}\n        >\n          {displayUnits.category}\n        </Badge>\n        {displayUnits.targetUnit && (\n          <span className=\"text-muted\">\n            target:{' '}\n            <strong>{displayUnits.symbol || displayUnits.targetUnit}</strong>\n          </span>\n        )}\n      </div>\n    )\n  }\n  return (\n    <CategorySelect\n      {...props}\n      categories={categories}\n      siUnit={siUnit}\n      unitDefinitions={unitDefinitions}\n    />\n  )\n}\n\nconst METAFIELDRENDERERS: Record<\n  string,\n  (props: MetaFormRowProps) => JSX.Element\n> = {\n  units: (props) => (\n    <MetaFormRow\n      {...props}\n      renderValue={UnitSelect}\n      description=\"SI base unit for this path\"\n    />\n  ),\n  description: (props) => <MetaFormRow {...props} renderValue={Text} />,\n  displayName: (props) => <MetaFormRow {...props} renderValue={Text} />,\n  longName: (props) => <MetaFormRow {...props} renderValue={Text} />,\n  shortName: (props) => <MetaFormRow {...props} renderValue={Text} />,\n  timeout: (props) => <MetaFormRow {...props} renderValue={NumberValue} />,\n  displayScale: (props) => (\n    <MetaFormRow {...props} renderValue={DisplaySelect} />\n  ),\n  displayUnits: (props) => (\n    <MetaFormRow\n      {...props}\n      renderValue={(p) => (\n        <DisplayUnitsView\n          {...p}\n          categories={props.categories}\n          siUnit={props.siUnit}\n          unitDefinitions={props.unitDefinitions}\n        />\n      )}\n      description={\n        (props.value as DisplayUnits)?.category !== 'custom'\n          ? 'Target category for unit conversion'\n          : ''\n      }\n    />\n  ),\n  zones: () => <></>,\n  normalMethod: (props) => (\n    <MetaFormRow {...props} renderValue={MethodSelect} />\n  ),\n  nominalMethod: (props) => (\n    <MetaFormRow {...props} renderValue={MethodSelect} />\n  ),\n  alertMethod: (props) => <MetaFormRow {...props} renderValue={MethodSelect} />,\n  warnMethod: (props) => <MetaFormRow {...props} renderValue={MethodSelect} />,\n  alarmMethod: (props) => <MetaFormRow {...props} renderValue={MethodSelect} />,\n  emergencyMethod: (props) => (\n    <MetaFormRow {...props} renderValue={MethodSelect} />\n  )\n}\n\nconst saveMeta = (path: string, meta: MetaData) => {\n  // Mark displayUnits as explicit (manually set) so patterns don't overwrite\n  const metaToSave = {\n    ...meta,\n    displayUnits: meta.displayUnits\n      ? {\n          ...meta.displayUnits,\n          explicit: true\n        }\n      : undefined\n  }\n\n  fetch(`/signalk/v1/api/vessels/self/${path.replaceAll('.', '/')}/meta`, {\n    method: 'PUT',\n    credentials: 'include',\n    headers: { 'Content-Type': 'application/json' },\n    body: JSON.stringify({ value: metaToSave })\n  })\n}\n\nconst Meta: React.FC<MetaProps> = ({ meta, path, context, showContext }) => {\n  const loginStatus = useLoginStatus()\n  const presetDetails = usePresetDetails()\n  const unitDefinitions = useUnitDefinitions()\n  const [isExpanded, setIsExpanded] = useState(false)\n  const [isEditing, setIsEditing] = useState(false)\n  const [localMeta, setLocalMeta] = useState<MetaData>(meta)\n  const [categoryToBaseUnit, setCategoryToBaseUnit] = useState<\n    Record<string, string>\n  >({})\n\n  // Fetch categories from server for SI unit filtering\n  useEffect(() => {\n    fetch('/signalk/v1/unitpreferences/categories', { credentials: 'include' })\n      .then((res) => res.json())\n      .then((data) => {\n        setCategoryToBaseUnit(data.categoryToBaseUnit || {})\n      })\n      .catch(() => {})\n  }, [])\n\n  // Get current value — imperative read, no subscription to avoid re-renders on every delta.\n  const ctxData = getSignalkData()[context || 'self']\n  let currentValue: unknown\n  if (ctxData) {\n    for (const entry of Object.values(ctxData)) {\n      const e = entry as { path?: string; value?: unknown } | undefined\n      if (e?.path === path) {\n        currentValue = e.value\n        break\n      }\n    }\n  }\n\n  const ctxPrefix = context ? context.replace(/[.:]/g, '-') + '-' : ''\n  const idPrefix = `meta-${ctxPrefix}${path.replace(/\\./g, '-')}`\n\n  const canEditMetadata =\n    !loginStatus.authenticationRequired ||\n    (loginStatus.status === 'loggedIn' && loginStatus.userLevel === 'admin')\n\n  // Get category and converted value for preview\n  const category = localMeta.displayUnits?.category\n  const siUnit = localMeta.units || ''\n  const converted = convertValue(\n    currentValue,\n    siUnit,\n    category,\n    presetDetails,\n    unitDefinitions,\n    localMeta.displayUnits\n  )\n\n  const handleEdit = () => {\n    setIsEditing(true)\n    setIsExpanded(true)\n  }\n\n  const handleSave = () => {\n    saveMeta(path, localMeta)\n    setIsEditing(false)\n  }\n\n  const handleCancel = () => {\n    setLocalMeta(meta)\n    setIsEditing(false)\n    setIsExpanded(false)\n  }\n\n  const metaValues: Array<{ key: string; value: unknown }> = METAFIELDS.reduce(\n    (acc: Array<{ key: string; value: unknown }>, key) => {\n      if (localMeta[key] !== undefined) {\n        acc.push({ key, value: localMeta[key] })\n      }\n      return acc\n    },\n    []\n  )\n\n  Object.keys(localMeta).reduce((acc, key) => {\n    if (METAFIELDS.indexOf(key) < 0) {\n      acc.push({ key, value: localMeta[key] })\n    }\n    return acc\n  }, metaValues)\n\n  const zonesMetaValue = metaValues.find(({ key }) => key === 'zones')\n  const zones = zonesMetaValue ? (zonesMetaValue.value as Zone[]) : []\n\n  // Filter categories by SI unit\n  let filteredCategories: string[] = []\n  if (siUnit) {\n    const builtIn = Object.entries(categoryToBaseUnit)\n      .filter(([, unit]) => unit === siUnit)\n      .map(([cat]) => cat)\n\n    const presetCats = presetDetails?.categories\n      ? Object.entries(presetDetails.categories)\n          .filter(\n            ([, config]) =>\n              (config as { baseUnit?: string }).baseUnit === siUnit\n          )\n          .map(([cat]) => cat)\n      : []\n\n    const merged = [...builtIn]\n    presetCats.forEach((cat) => {\n      if (!merged.includes(cat)) {\n        merged.push(cat)\n      }\n    })\n    filteredCategories = merged.sort()\n  }\n\n  return (\n    <Card className=\"meta-card\" style={{ marginBottom: '0.5rem' }}>\n      <Card.Header\n        style={{\n          display: 'flex',\n          justifyContent: 'space-between',\n          alignItems: 'center',\n          cursor: !isEditing ? 'pointer' : 'default',\n          padding: '8px 15px'\n        }}\n        onClick={() => !isEditing && setIsExpanded(!isExpanded)}\n      >\n        <div\n          style={{\n            display: 'flex',\n            alignItems: 'center',\n            gap: '10px',\n            flex: 1\n          }}\n        >\n          <strong style={{ fontFamily: 'monospace', fontSize: '0.9rem' }}>\n            {showContext && context ? `${context}: ${path}` : path}\n          </strong>\n          {category && (\n            <Badge\n              bg={CATEGORY_BADGE_COLORS[category] || 'primary'}\n              style={{ fontSize: '0.75rem' }}\n            >\n              {category}\n            </Badge>\n          )}\n          {!isExpanded &&\n            currentValue !== undefined &&\n            typeof currentValue === 'number' && (\n              <span style={{ color: '#6c757d', fontSize: '0.85rem' }}>\n                {formatMetaValue(currentValue)} {siUnit}\n                {converted && (\n                  <span style={{ color: '#28a745' }}>\n                    {' '}\n                    → {formatMetaValue(converted.value)} {converted.unit}\n                  </span>\n                )}\n              </span>\n            )}\n        </div>\n        <div onClick={(e) => e.stopPropagation()}>\n          {!isEditing && canEditMetadata && (\n            <Button variant=\"info\" size=\"sm\" onClick={handleEdit}>\n              <FontAwesomeIcon icon={faPencil} /> Edit\n            </Button>\n          )}\n          {isEditing && (\n            <ButtonGroup>\n              <Button variant=\"success\" size=\"sm\" onClick={handleSave}>\n                <FontAwesomeIcon icon={faSave} /> Save\n              </Button>\n              <Button variant=\"secondary\" size=\"sm\" onClick={handleCancel}>\n                Cancel\n              </Button>\n            </ButtonGroup>\n          )}\n        </div>\n      </Card.Header>\n      {isExpanded && (\n        <Card.Body>\n          {currentValue !== undefined && typeof currentValue === 'number' && (\n            <div\n              style={{\n                padding: '10px 15px',\n                background: '#f8f9fa',\n                borderRadius: '4px',\n                marginBottom: '15px',\n                display: 'flex',\n                alignItems: 'center',\n                gap: '15px'\n              }}\n            >\n              <span style={{ color: '#495057' }}>\n                <strong>Value:</strong> {formatMetaValue(currentValue)}{' '}\n                {siUnit && <strong>{siUnit}</strong>}\n              </span>\n              {converted && (\n                <span style={{ color: '#28a745', fontWeight: 'bold' }}>\n                  → {formatMetaValue(converted.value)}{' '}\n                  <strong>{converted.unit}</strong>\n                </span>\n              )}\n            </div>\n          )}\n\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n            onSubmit={(e) => e.preventDefault()}\n          >\n            {metaValues\n              .filter(({ key }) => key !== 'zones')\n              .map(({ key, value }) => {\n                const renderer = METAFIELDRENDERERS[key]\n                if (renderer) {\n                  const props: MetaFormRowProps = {\n                    fieldKey: key,\n                    value,\n                    disabled: !isEditing,\n                    categories: filteredCategories,\n                    siUnit,\n                    unitDefinitions,\n                    setValue: (metaFieldValue) =>\n                      setLocalMeta({ ...localMeta, [key]: metaFieldValue }),\n                    setKey: (metaFieldKey) => {\n                      const copy = { ...localMeta }\n                      copy[metaFieldKey] = localMeta[key]\n                      delete copy[key]\n                      setLocalMeta(copy)\n                    },\n                    deleteKey: () => {\n                      const copy = { ...localMeta }\n                      delete copy[key]\n                      setLocalMeta(copy)\n                    },\n                    renderValue: () => <></>,\n                    idPrefix\n                  }\n\n                  return (\n                    <React.Fragment key={key}>{renderer(props)}</React.Fragment>\n                  )\n                } else {\n                  return (\n                    <UnknownMetaFormRow key={key} metaKey={key} value={value} />\n                  )\n                }\n              })}\n\n            {isEditing && (\n              <Button\n                variant=\"info\"\n                size=\"sm\"\n                className=\"mt-2\"\n                onClick={() => {\n                  const copy = { ...localMeta }\n                  const firstNewMetaFieldKey = METAFIELDS.find(\n                    (metaFieldName) => localMeta[metaFieldName] === undefined\n                  )\n                  if (firstNewMetaFieldKey) {\n                    copy[firstNewMetaFieldKey] = ''\n                    setLocalMeta(copy)\n                  }\n                }}\n              >\n                <FontAwesomeIcon icon={faPlusSquare} /> Add Field\n              </Button>\n            )}\n\n            <Zones\n              zones={zones !== undefined && zones !== null ? zones : []}\n              isEditing={isEditing}\n              setZones={(newZones) =>\n                setLocalMeta({ ...localMeta, zones: newZones })\n              }\n              idPrefix={idPrefix}\n              siUnit={siUnit}\n              category={category}\n              presetDetails={presetDetails}\n              unitDefinitions={unitDefinitions}\n            />\n          </Form>\n        </Card.Body>\n      )}\n    </Card>\n  )\n}\n\nconst MetaFormRow: React.FC<MetaFormRowProps> = (props) => {\n  const {\n    fieldKey,\n    renderValue: V,\n    disabled,\n    setKey,\n    deleteKey,\n    description,\n    idPrefix\n  } = props\n  const fieldSelectId = `${idPrefix}-field-${fieldKey}`\n  const valueInputId = `${idPrefix}-value-${fieldKey}`\n  return (\n    <Form.Group\n      as={Row}\n      className=\"align-items-start\"\n      style={{ marginBottom: '10px' }}\n    >\n      <Col xs=\"3\" md=\"2\">\n        <label htmlFor={fieldSelectId} className=\"visually-hidden\">\n          Field name\n        </label>\n        <Form.Select\n          id={fieldSelectId}\n          disabled={disabled}\n          value={fieldKey}\n          size=\"sm\"\n          onChange={(e) => setKey(e.target.value)}\n        >\n          {METAFIELDS.filter((fieldName) => fieldName !== 'zones').map(\n            (fieldName) => (\n              <option key={fieldName} value={fieldName}>\n                {fieldName}\n              </option>\n            )\n          )}\n        </Form.Select>\n      </Col>\n      <Col xs=\"12\" md=\"6\">\n        <label htmlFor={valueInputId} className=\"visually-hidden\">\n          {fieldKey} value\n        </label>\n        <V {...props} inputId={valueInputId} />\n        {description && (\n          <Form.Text muted style={{ fontSize: '0.75rem', fontStyle: 'italic' }}>\n            {description}\n          </Form.Text>\n        )}\n      </Col>\n      <Col xs=\"1\" md=\"1\">\n        {!disabled && (\n          <Button variant=\"outline-danger\" size=\"sm\" onClick={deleteKey}>\n            <FontAwesomeIcon icon={faTrashCan} />\n          </Button>\n        )}\n      </Col>\n    </Form.Group>\n  )\n}\n\ninterface UnknownMetaFormRowProps {\n  metaKey: string\n  value: unknown\n}\n\nconst UnknownMetaFormRow: React.FC<UnknownMetaFormRowProps> = ({\n  metaKey,\n  value\n}) => {\n  return (\n    <Form.Group as={Row}>\n      <Col xs=\"3\" md=\"2\" className={'col-form-label'}>\n        {metaKey}\n      </Col>\n      <Col xs=\"12\" md=\"9\">\n        <pre\n          className=\"text-primary\"\n          style={{\n            border: '1px solid #c8ced3',\n            borderRadius: '0.25rem',\n            padding: '0.375rem 0.75rem',\n            backgroundColor: '#f0f3f5',\n            margin: 0,\n            whiteSpace: 'pre-wrap',\n            wordWrap: 'break-word',\n            overflowX: 'auto'\n          }}\n        >\n          {JSON.stringify(value, null, 2)}\n        </pre>\n      </Col>\n    </Form.Group>\n  )\n}\n\ninterface ZoneProps {\n  zone: Zone\n  isEditing: boolean\n  showHint: boolean\n  setZone: (zone: Zone) => void\n  deleteZone: () => void\n  moveUp: () => void\n  moveDown: () => void\n  canMoveUp: boolean\n  canMoveDown: boolean\n  idPrefix: string\n  index: number\n  displayUnit: string\n  siUnit: string\n  unitDefinitions: UnitDefinitions | null\n}\n\nconst formatZoneValue = (v: number | null | undefined): string => {\n  if (v === null || v === undefined) return ''\n  return Number.isInteger(v) ? String(v) : v.toFixed(2)\n}\n\nconst ZoneRow: React.FC<ZoneProps> = ({\n  zone,\n  isEditing,\n  showHint,\n  setZone,\n  deleteZone,\n  moveUp,\n  moveDown,\n  canMoveUp,\n  canMoveDown,\n  idPrefix,\n  index,\n  displayUnit,\n  siUnit,\n  unitDefinitions\n}) => {\n  const { state, lower, upper, message } = zone\n  const zoneId = `${idPrefix}-zone-${index}`\n\n  const hasConversion = displayUnit && displayUnit !== siUnit\n  const displayLower = hasConversion\n    ? convertFromSI(lower, siUnit, displayUnit, unitDefinitions)\n    : lower\n  const displayUpper = hasConversion\n    ? convertFromSI(upper, siUnit, displayUnit, unitDefinitions)\n    : upper\n\n  const onLowerChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const val = Number(e.target.value)\n    if (hasConversion) {\n      const si = convertToSI(val, siUnit, displayUnit, unitDefinitions)\n      if (si !== null) setZone({ ...zone, lower: si })\n    } else {\n      setZone({ ...zone, lower: val })\n    }\n  }\n\n  const onUpperChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const val = Number(e.target.value)\n    if (hasConversion) {\n      const si = convertToSI(val, siUnit, displayUnit, unitDefinitions)\n      if (si !== null) setZone({ ...zone, upper: si })\n    } else {\n      setZone({ ...zone, upper: val })\n    }\n  }\n\n  return (\n    <div\n      style={{\n        backgroundColor: 'aliceblue',\n        padding: '10px',\n        marginBottom: '5px',\n        borderRadius: '4px',\n        borderLeft: `4px solid ${STATE_COLORS[state] || '#6c757d'}`\n      }}\n    >\n      <Row>\n        <Col xs=\"2\" md=\"2\">\n          {showHint && (\n            <Form.Text muted style={{ fontSize: '0.7rem' }}>\n              Lower\n            </Form.Text>\n          )}\n          <Form.Control\n            id={`${zoneId}-lower`}\n            disabled={!isEditing}\n            type=\"number\"\n            size=\"sm\"\n            onChange={onLowerChange}\n            value={\n              isEditing\n                ? (displayLower ?? lower)\n                : formatZoneValue(displayLower ?? lower)\n            }\n          />\n        </Col>\n        <Col xs=\"2\" md=\"2\">\n          {showHint && (\n            <Form.Text muted style={{ fontSize: '0.7rem' }}>\n              Upper\n            </Form.Text>\n          )}\n          <Form.Control\n            id={`${zoneId}-upper`}\n            disabled={!isEditing}\n            type=\"number\"\n            size=\"sm\"\n            onChange={onUpperChange}\n            value={\n              isEditing\n                ? (displayUpper ?? upper)\n                : formatZoneValue(displayUpper ?? upper)\n            }\n          />\n        </Col>\n        <Col xs=\"2\" md=\"2\">\n          {showHint && (\n            <Form.Text muted style={{ fontSize: '0.7rem' }}>\n              State\n            </Form.Text>\n          )}\n          <Form.Select\n            id={`${zoneId}-state`}\n            disabled={!isEditing}\n            value={state}\n            size=\"sm\"\n            onChange={(e) => setZone({ ...zone, state: e.target.value })}\n          >\n            {STATES.map((s) => (\n              <option key={s} value={s}>\n                {s}\n              </option>\n            ))}\n          </Form.Select>\n        </Col>\n        <Col xs=\"4\" md=\"4\">\n          {showHint && (\n            <Form.Text muted style={{ fontSize: '0.7rem' }}>\n              Message\n            </Form.Text>\n          )}\n          <Form.Control\n            id={`${zoneId}-message`}\n            disabled={!isEditing}\n            type=\"text\"\n            size=\"sm\"\n            onChange={(e) => setZone({ ...zone, message: e.target.value })}\n            value={message}\n          />\n        </Col>\n        <Col\n          xs=\"2\"\n          md=\"2\"\n          className=\"d-flex align-items-end\"\n          style={showHint ? { paddingBottom: '1px' } : undefined}\n        >\n          {isEditing && (\n            <ButtonGroup size=\"sm\">\n              <Button\n                variant=\"outline-dark\"\n                disabled={!canMoveUp}\n                onClick={moveUp}\n                title=\"Move Up\"\n              >\n                <FontAwesomeIcon icon={faArrowUp} />\n              </Button>\n              <Button\n                variant=\"outline-dark\"\n                disabled={!canMoveDown}\n                onClick={moveDown}\n                title=\"Move Down\"\n              >\n                <FontAwesomeIcon icon={faArrowDown} />\n              </Button>\n              <Button variant=\"danger\" onClick={deleteZone} title=\"Remove\">\n                <FontAwesomeIcon icon={faTimes} />\n              </Button>\n            </ButtonGroup>\n          )}\n        </Col>\n      </Row>\n    </div>\n  )\n}\n\ninterface ZonesProps {\n  zones: Zone[]\n  isEditing: boolean\n  setZones: (zones: Zone[]) => void\n  idPrefix: string\n  siUnit: string\n  category: string | undefined\n  presetDetails: ReturnType<typeof usePresetDetails>\n  unitDefinitions: UnitDefinitions | null\n}\n\nfunction Zones({\n  zones,\n  isEditing,\n  setZones,\n  idPrefix,\n  siUnit,\n  category,\n  presetDetails,\n  unitDefinitions\n}: ZonesProps) {\n  const availableUnits = getAvailableUnits(siUnit, unitDefinitions)\n\n  // Default display unit: preset's target unit for the category, or SI unit\n  const presetTargetUnit = category\n    ? (presetDetails?.categories?.[category]?.targetUnit ?? '')\n    : ''\n  const defaultUnit =\n    presetTargetUnit && availableUnits.some((u) => u.unit === presetTargetUnit)\n      ? presetTargetUnit\n      : siUnit\n\n  const [displayUnit, setDisplayUnit] = useState(defaultUnit)\n  const prevDefaultUnit = useRef(defaultUnit)\n  if (prevDefaultUnit.current !== defaultUnit) {\n    prevDefaultUnit.current = defaultUnit\n    setDisplayUnit(defaultUnit)\n  }\n\n  const displaySymbol =\n    availableUnits.find((u) => u.unit === displayUnit)?.symbol || displayUnit\n\n  const [zoneIds, setZoneIds] = useState<string[]>(() =>\n    zones.map(() => generateZoneId())\n  )\n\n  const expectedLength = zones.length\n  if (zoneIds.length !== expectedLength) {\n    if (expectedLength > zoneIds.length) {\n      const newIds = [...zoneIds]\n      while (newIds.length < expectedLength) {\n        newIds.push(generateZoneId())\n      }\n      setZoneIds(newIds)\n    } else {\n      setZoneIds(zoneIds.slice(0, expectedLength))\n    }\n  }\n\n  const moveZone = (fromIndex: number, toIndex: number) => {\n    const newZones = [...zones]\n    const [moved] = newZones.splice(fromIndex, 1)\n    newZones.splice(toIndex, 0, moved)\n    const newIds = [...zoneIds]\n    const [movedId] = newIds.splice(fromIndex, 1)\n    newIds.splice(toIndex, 0, movedId)\n    setZoneIds(newIds)\n    setZones(newZones)\n  }\n\n  return (\n    <div\n      style={{\n        marginTop: '20px',\n        borderTop: '1px solid #dee2e6',\n        paddingTop: '15px'\n      }}\n    >\n      <Row>\n        <Col md=\"2\">\n          <strong>Zones</strong>\n          <Form.Text muted style={{ fontSize: '0.7rem' }}>\n            Alert thresholds\n          </Form.Text>\n        </Col>\n        <Col md=\"10\">\n          {availableUnits.length > 1 && (\n            <div\n              style={{\n                marginBottom: '8px',\n                display: 'flex',\n                alignItems: 'center',\n                gap: '6px'\n              }}\n            >\n              <Form.Text muted style={{ fontSize: '0.75rem' }}>\n                Unit:\n              </Form.Text>\n              <Form.Select\n                size=\"sm\"\n                style={{ width: 'auto', display: 'inline-block' }}\n                value={displayUnit}\n                onChange={(e) => setDisplayUnit(e.target.value)}\n              >\n                {availableUnits.map((u) => (\n                  <option key={u.unit} value={u.unit}>\n                    {u.symbol}\n                  </option>\n                ))}\n              </Form.Select>\n            </div>\n          )}\n          {(zones === undefined || zones.length === 0) && !isEditing && (\n            <span style={{ color: '#6c757d', fontStyle: 'italic' }}>\n              No zones defined\n            </span>\n          )}\n          {zones.map((zone, i) => (\n            <ZoneRow\n              key={zoneIds[i] ?? `zone-fallback-${i}`}\n              zone={zone}\n              isEditing={isEditing}\n              showHint={i === 0}\n              setZone={(newZone) => {\n                const newZones = [...zones]\n                newZones[i] = newZone\n                setZones(newZones)\n              }}\n              deleteZone={() => {\n                setZoneIds((prev) => [\n                  ...prev.slice(0, i),\n                  ...prev.slice(i + 1)\n                ])\n                const newZones = zones.filter((_, index) => index !== i)\n                setZones(newZones)\n              }}\n              moveUp={() => moveZone(i, i - 1)}\n              moveDown={() => moveZone(i, i + 1)}\n              canMoveUp={i > 0}\n              canMoveDown={i < zones.length - 1}\n              idPrefix={idPrefix}\n              index={i}\n              displayUnit={displayUnit}\n              siUnit={siUnit}\n              unitDefinitions={unitDefinitions}\n            />\n          ))}\n          {isEditing && (\n            <Button\n              variant=\"outline-info\"\n              size=\"sm\"\n              style={{ marginTop: '10px' }}\n              onClick={() => {\n                const defaultLowerSI = convertToSI(\n                  0,\n                  siUnit,\n                  displayUnit,\n                  unitDefinitions\n                )\n                const defaultUpperSI = convertToSI(\n                  100,\n                  siUnit,\n                  displayUnit,\n                  unitDefinitions\n                )\n                setZones([\n                  ...zones,\n                  {\n                    upper: defaultUpperSI ?? 1,\n                    lower: defaultLowerSI ?? 0,\n                    state: STATES[0],\n                    message: ''\n                  }\n                ])\n              }}\n            >\n              <FontAwesomeIcon icon={faPlusSquare} /> Add Zone{' '}\n              {displaySymbol && `(${displaySymbol})`}\n            </Button>\n          )}\n        </Col>\n      </Row>\n    </div>\n  )\n}\n\nexport default Meta\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/TimestampCell.tsx",
    "content": "interface TimestampCellProps {\n  timestamp: string\n  isPaused: boolean\n  className?: string\n}\n\n// TimestampCell triggers a CSS animation when the timestamp changes.\n// We use the timestamp string itself as the animation key to trigger re-animation.\n// The CSS animation class is always applied when not paused - the key change\n// triggers the animation restart.\nfunction TimestampCell({ timestamp, isPaused, className }: TimestampCellProps) {\n  // Use timestamp as animation key - when it changes, React remounts the element\n  // which restarts the CSS animation. When paused, use static key.\n  const animationKey = isPaused ? 'paused' : timestamp\n\n  const cellClass = `virtual-table-cell timestamp-cell ${className || ''} ${\n    !isPaused ? 'timestamp-updated' : ''\n  }`\n\n  return (\n    <div className={cellClass} key={animationKey} data-label=\"Time\">\n      {timestamp}\n    </div>\n  )\n}\n\nexport default TimestampCell\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/ValueRenderers.tsx",
    "content": "import { Suspense, ComponentType } from 'react'\nimport { toLazyDynamicComponent } from '../Webapps/dynamicutilities'\nimport parse from 'html-react-parser'\nimport { faEye } from '@fortawesome/free-solid-svg-icons/faEye'\nimport { faEyeSlash } from '@fortawesome/free-solid-svg-icons/faEyeSlash'\nimport { faBell } from '@fortawesome/free-solid-svg-icons/faBell'\nimport { faBellSlash } from '@fortawesome/free-solid-svg-icons/faBellSlash'\n\nimport '../../blinking-circle.css'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport type { MetaData } from '../../store'\n\ninterface RendererProps {\n  value: unknown\n  units?: string\n  convertedValue?: number | null\n  convertedUnit?: string | null\n  [key: string]: unknown\n}\n\ninterface HTMLRendererProps {\n  value: unknown\n  html: string\n}\n\ninterface DirectionRendererProps {\n  value: number\n  size?: string\n}\n\ninterface AttitudeValue {\n  pitch?: number\n  roll?: number\n}\n\ninterface AttitudeRendererProps {\n  value: AttitudeValue\n  size?: string\n}\n\ninterface NotificationValue {\n  message?: string\n  state?: string\n  method?: string[]\n}\n\ninterface NotificationRendererProps {\n  value: NotificationValue | null | undefined\n}\n\ninterface LargeArrayRendererProps {\n  value: unknown\n}\n\ninterface MeterRendererProps {\n  value: number\n  min?: number\n  max?: number\n  low?: number\n  high?: number\n  optimum?: number\n  pct?: boolean\n  precision?: number\n}\n\ninterface PositionValue {\n  longitude?: number\n  latitude?: number\n}\n\ninterface PositionRendererProps {\n  value: PositionValue | null | undefined\n}\n\ninterface Satellite {\n  id: number | string\n  elevation: number\n  azimuth: number\n  SNR?: number\n}\n\ninterface SatellitesInViewValue {\n  count?: number\n  satellites?: Satellite[]\n}\n\ninterface SatellitesInViewRendererProps {\n  value: SatellitesInViewValue | null | undefined\n}\n\nfunction radiansToDegrees(radians: number): number {\n  return radians * (180 / Math.PI)\n}\n\nconst SimpleHTMLRenderer = ({ value, html }: HTMLRendererProps) => {\n  const h = html.replaceAll('{{value}}', String(value))\n  return <div>{parse(h)}</div>\n}\n\nconst DirectionRenderer = ({ value, size = '1em' }: DirectionRendererProps) => {\n  const traditionalCompassPoints = [\n    'N',\n    'N by E',\n    'NNE',\n    'NE by N',\n    'NE',\n    'NE by E',\n    'ENE',\n    'E by N',\n    'E',\n    'E by S',\n    'ESE',\n    'SE by E',\n    'SE',\n    'SE by S',\n    'SSE',\n    'S by E',\n    'S',\n    'S by W',\n    'SSW',\n    'SW by S',\n    'SW',\n    'SW by W',\n    'WSW',\n    'W by S',\n    'W',\n    'W by N',\n    'WNW',\n    'NW by W',\n    'NW',\n    'NW by N',\n    'NNW',\n    'N by W'\n  ]\n\n  const directionDegrees = radiansToDegrees(value)\n  const compassPoint =\n    traditionalCompassPoints[\n      Math.round((((directionDegrees % 360) + 360) % 360) / 11.25) % 32\n    ]\n  const arrowStyle: React.CSSProperties = {\n    fontSize: size,\n    fontWeight: 'bold',\n    transition: 'transform 0.3s ease-out',\n    transform: `rotate(${directionDegrees}deg) translateY(-2px)`,\n    display: 'inline-block' // Required for rotation to work reliably\n  }\n\n  return (\n    <div\n      className=\"text-primary\"\n      style={{\n        display: 'inline-flex'\n      }}\n    >\n      <span\n        style={arrowStyle}\n        aria-label={`Wind direction: ${directionDegrees} degrees`}\n      >\n        &#x2191;\n      </span>\n\n      <span style={{ marginLeft: '.5em' }}>\n        {directionDegrees.toFixed(2)}° {compassPoint}\n      </span>\n    </div>\n  )\n}\n\nconst AttitudeRenderer = ({ value, size = '2em' }: AttitudeRendererProps) => {\n  const pitch = radiansToDegrees(value.pitch || 0)\n  const roll = radiansToDegrees(value.roll || 0)\n  const horizonHeight = ((pitch + 90) / 180) * 100 + '%'\n  const attitudeText = `pitch: ${pitch.toFixed(1)}° roll: ${roll.toFixed(1)}°`\n  return (\n    <div\n      className=\"text-primary\"\n      style={{\n        display: 'inline-flex'\n      }}\n    >\n      <div\n        style={{\n          width: size,\n          height: size,\n          border: '2px solid black',\n          borderRadius: '50%',\n          overflow: 'hidden',\n          position: 'relative'\n        }}\n      >\n        <div\n          style={{\n            width: '100%',\n            height: '100%',\n            backgroundColor: 'skyblue',\n            position: 'absolute',\n            transformOrigin: 'center',\n            transform: `rotateZ(${roll}deg)`\n          }}\n        >\n          <div\n            style={{\n              width: '100%',\n              height: horizonHeight,\n              backgroundColor: 'brown',\n              position: 'absolute',\n              bottom: 0\n            }}\n          ></div>\n        </div>\n      </div>\n      <span className=\"text-primary\" style={{ marginLeft: '.5em' }}>\n        {attitudeText}\n      </span>\n    </div>\n  )\n}\n\nconst NotificationRenderer = ({ value }: NotificationRendererProps) => {\n  const { message, state, method = [] } = value ? value : {}\n\n  const severityColor =\n    {\n      info: 'green',\n      normal: 'green',\n      nominal: 'green',\n      warn: 'yellow',\n      alert: 'orange',\n      alarm: 'red',\n      emergency: 'darkred'\n    }[state as string] || 'gray'\n\n  const circleStyle: React.CSSProperties = {\n    width: '1em',\n    height: '1em',\n    borderRadius: '50%',\n    backgroundColor: severityColor,\n    display: 'inline-block',\n    marginLeft: '.5em'\n  }\n  return (\n    <div className=\"d-flex justify-content-between\">\n      <div className=\"d-flex\" style={{ verticalAlign: 'middle' }}>\n        {state === 'emergency' ? (\n          <span className=\"blinking-circle\"></span>\n        ) : (\n          <span style={circleStyle}></span>\n        )}\n        <span className=\"d-flex\" style={{ marginLeft: '.5em' }}>\n          {(state ? state.toUpperCase() : 'undefined') + ': ' + message}\n        </span>\n      </div>\n      <div className=\"d-flex\" style={{ gap: '.5em' }}>\n        <FontAwesomeIcon\n          icon={method.includes('visual') ? faEye : faEyeSlash}\n        />\n        <FontAwesomeIcon\n          icon={method.includes('sound') ? faBell : faBellSlash}\n        />\n      </div>\n    </div>\n  )\n}\n\nconst LargeArrayRenderer = ({ value }: LargeArrayRendererProps) => {\n  if (!Array.isArray(value) || value.length <= 1) {\n    return <span className=\"text-primary\">{JSON.stringify(value)}</span>\n  }\n  return (\n    <div className=\"text-primary\">\n      <details>\n        <summary>\n          {JSON.stringify(value[0])} 1 of {value.length}\n        </summary>\n        {JSON.stringify(value)}\n      </details>\n    </div>\n  )\n}\n\nconst MeterRenderer = ({\n  value,\n  min = 0,\n  max = 1,\n  low = 0.5,\n  high = 1.01,\n  optimum = 1,\n  pct = true,\n  precision = 2\n}: MeterRendererProps) => {\n  const txt = (value * (pct ? 100 : 1)).toFixed(precision) + (pct ? '%' : '')\n\n  return (\n    <div className=\"text-primary\">\n      <meter\n        value={value}\n        min={min}\n        max={max}\n        low={low}\n        high={high}\n        optimum={optimum}\n      >\n        {value}%\n      </meter>\n      <span\n        className=\"text-primary\"\n        style={{ verticalAlign: 'middle', marginLeft: '.5em' }}\n      >\n        {' '}\n        {txt}\n      </span>\n    </div>\n  )\n}\n\nconst PositionRenderer = ({ value }: PositionRendererProps) => {\n  if (!value || typeof value !== 'object') {\n    return <span className=\"text-primary\">{JSON.stringify(value)}</span>\n  }\n\n  const { longitude, latitude } = value\n\n  if (typeof longitude !== 'number' || typeof latitude !== 'number') {\n    return <span className=\"text-primary\">{JSON.stringify(value)}</span>\n  }\n\n  return (\n    <span className=\"text-primary\">\n      longitude: {longitude}, latitude: {latitude}\n    </span>\n  )\n}\n\nconst SatellitesInViewRenderer = ({ value }: SatellitesInViewRendererProps) => {\n  if (!value || typeof value !== 'object' || !Array.isArray(value.satellites)) {\n    return <span className=\"text-primary\">{JSON.stringify(value)}</span>\n  }\n\n  const { count, satellites } = value\n  const size = 200\n  const center = size / 2\n  const maxRadius = center - 20\n\n  const getSNRColor = (snr: number | undefined): string => {\n    if (!snr || snr <= 0) return '#000'\n    if (snr >= 40) return '#28a745'\n    if (snr >= 30) return '#004085'\n    return '#8b0000'\n  }\n\n  const polarToCartesian = (\n    elevation: number,\n    azimuth: number\n  ): { x: number; y: number } => {\n    const elevationRadius = maxRadius * (1 - elevation / (Math.PI / 2))\n    const x = center + elevationRadius * Math.sin(azimuth)\n    const y = center - elevationRadius * Math.cos(azimuth)\n    return { x, y }\n  }\n\n  return (\n    <div className=\"text-primary\">\n      <div style={{ display: 'flex', alignItems: 'flex-start', gap: '16px' }}>\n        <svg\n          width={size}\n          height={size}\n          style={{\n            border: '2px solid #666',\n            borderRadius: '4px',\n            backgroundColor: '#f8f9fa'\n          }}\n        >\n          {/* Elevation circles (30° intervals) */}\n          <circle\n            cx={center}\n            cy={center}\n            r={maxRadius}\n            fill=\"none\"\n            stroke=\"#999\"\n            strokeWidth=\"1\"\n          />\n          <circle\n            cx={center}\n            cy={center}\n            r={(maxRadius * 2) / 3}\n            fill=\"none\"\n            stroke=\"#aaa\"\n            strokeWidth=\"1\"\n          />\n          <circle\n            cx={center}\n            cy={center}\n            r={(maxRadius * 1) / 3}\n            fill=\"none\"\n            stroke=\"#aaa\"\n            strokeWidth=\"1\"\n          />\n\n          {/* Cardinal direction lines */}\n          <line\n            x1={center}\n            y1={20}\n            x2={center}\n            y2={size - 20}\n            stroke=\"#999\"\n            strokeWidth=\"1\"\n          />\n          <line\n            x1={20}\n            y1={center}\n            x2={size - 20}\n            y2={center}\n            stroke=\"#999\"\n            strokeWidth=\"1\"\n          />\n\n          {/* Direction labels */}\n          <text\n            x={center}\n            y={15}\n            textAnchor=\"middle\"\n            fontSize=\"12\"\n            fill=\"#333\"\n            fontWeight=\"bold\"\n          >\n            N\n          </text>\n          <text\n            x={center}\n            y={size - 5}\n            textAnchor=\"middle\"\n            fontSize=\"12\"\n            fill=\"#333\"\n            fontWeight=\"bold\"\n          >\n            S\n          </text>\n          <text\n            x={10}\n            y={center + 4}\n            textAnchor=\"middle\"\n            fontSize=\"12\"\n            fill=\"#333\"\n            fontWeight=\"bold\"\n          >\n            W\n          </text>\n          <text\n            x={size - 10}\n            y={center + 4}\n            textAnchor=\"middle\"\n            fontSize=\"12\"\n            fill=\"#333\"\n            fontWeight=\"bold\"\n          >\n            E\n          </text>\n\n          {/* Elevation angle labels */}\n          <text\n            x={center + maxRadius + 5}\n            y={center + 4}\n            fontSize=\"10\"\n            fill=\"#666\"\n          >\n            0°\n          </text>\n          <text\n            x={center + (maxRadius * 2) / 3 + 5}\n            y={center + 4}\n            fontSize=\"10\"\n            fill=\"#666\"\n          >\n            30°\n          </text>\n          <text\n            x={center + (maxRadius * 1) / 3 + 5}\n            y={center + 4}\n            fontSize=\"10\"\n            fill=\"#666\"\n          >\n            60°\n          </text>\n          <text x={center + 5} y={center + 4} fontSize=\"10\" fill=\"#666\">\n            90°\n          </text>\n\n          {/* Satellites */}\n          {satellites.map((sat) => {\n            const { x, y } = polarToCartesian(sat.elevation, sat.azimuth)\n            const color = getSNRColor(sat.SNR)\n            const hasSignal = sat.SNR && sat.SNR > 0\n            const snrText = sat.SNR ? `${sat.SNR} dB` : 'No signal'\n\n            return (\n              <g key={sat.id}>\n                <title>\n                  Satellite {sat.id}: {snrText}\n                </title>\n                <circle\n                  cx={x}\n                  cy={y}\n                  r=\"8\"\n                  fill={color}\n                  stroke={hasSignal ? 'none' : '#000'}\n                  strokeWidth={hasSignal ? 0 : 2}\n                />\n                <text\n                  x={x}\n                  y={y + 4}\n                  textAnchor=\"middle\"\n                  fontSize=\"10\"\n                  fill=\"white\"\n                  fontWeight=\"bold\"\n                >\n                  {sat.id}\n                </text>\n              </g>\n            )\n          })}\n        </svg>\n\n        {/* Info and Legend */}\n        <div style={{ fontSize: '12px', minWidth: '80px' }}>\n          <div style={{ marginBottom: '12px' }}>\n            <strong>Satellites in view: {count}</strong>\n          </div>\n          <div style={{ display: 'flex', flexDirection: 'column', gap: '8px' }}>\n            <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n              <div\n                style={{\n                  width: '12px',\n                  height: '12px',\n                  backgroundColor: '#28a745',\n                  borderRadius: '50%'\n                }}\n              ></div>\n              <span>≥40 dB</span>\n            </div>\n            <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n              <div\n                style={{\n                  width: '12px',\n                  height: '12px',\n                  backgroundColor: '#004085',\n                  borderRadius: '50%'\n                }}\n              ></div>\n              <span>30-40 dB</span>\n            </div>\n            <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n              <div\n                style={{\n                  width: '12px',\n                  height: '12px',\n                  backgroundColor: '#8b0000',\n                  borderRadius: '50%'\n                }}\n              ></div>\n              <span>0-30 dB</span>\n            </div>\n            <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n              <div\n                style={{\n                  width: '12px',\n                  height: '12px',\n                  backgroundColor: '#000',\n                  border: '2px solid #000',\n                  borderRadius: '50%'\n                }}\n              ></div>\n              <span>No signal</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  )\n}\n\ntype RendererComponent = ComponentType<RendererProps>\n\nfunction createLazySuspenseWrapper(\n  LazyComponent: ComponentType<RendererProps>\n): RendererComponent {\n  // Define the component function outside of render to satisfy react-hooks/static-components\n  const SuspenseWrapper: RendererComponent = (props: RendererProps) => (\n    <div>\n      <Suspense fallback={<DefaultValueRenderer {...props} />}>\n        <LazyComponent {...props} />\n      </Suspense>\n    </div>\n  )\n  return SuspenseWrapper\n}\n\nconst Renderers: Record<string, RendererComponent> = {\n  Position: PositionRenderer as RendererComponent,\n  SatellitesInView: SatellitesInViewRenderer as RendererComponent,\n  Meter: MeterRenderer as RendererComponent,\n  SimpleHTML: SimpleHTMLRenderer as unknown as RendererComponent,\n  LargeArray: LargeArrayRenderer as RendererComponent,\n  Notification: NotificationRenderer as RendererComponent,\n  Attitude: AttitudeRenderer as RendererComponent,\n  Direction: DirectionRenderer as RendererComponent\n}\n\nconst VALUE_RENDERERS: Record<string, RendererComponent> = {\n  'navigation.position': Renderers.Position,\n  'navigation.gnss.satellitesInView': Renderers.SatellitesInView\n}\n\nexport const getValueRenderer = (\n  path: string,\n  meta: MetaData | null\n): RendererComponent | null => {\n  if (path.startsWith('notifications.')) {\n    return NotificationRenderer as RendererComponent\n  }\n  if (meta && meta.renderer && meta.renderer.module && meta.renderer.name) {\n    const cacheKey = `${meta.renderer.module}.${meta.renderer.name}`\n    if (Renderers[cacheKey]) {\n      return Renderers[cacheKey]\n    } else {\n      const LazyRenderer = toLazyDynamicComponent(\n        meta.renderer.module,\n        meta.renderer.name\n      ) as ComponentType<RendererProps>\n\n      const comp = createLazySuspenseWrapper(LazyRenderer)\n      Renderers[cacheKey] = comp\n      return comp\n    }\n  }\n\n  if (meta && meta.renderer && meta.renderer.name) {\n    return Renderers[meta.renderer.name] || null\n  }\n  if (meta && meta.units === 'ratio') {\n    return MeterRenderer as RendererComponent\n  }\n\n  if (VALUE_RENDERERS[path]) {\n    return VALUE_RENDERERS[path]\n  }\n\n  return null\n}\n\nexport const DefaultValueRenderer = ({\n  value,\n  units,\n  convertedValue,\n  convertedUnit\n}: RendererProps) => {\n  let formattedValue = JSON.stringify(\n    value,\n    null,\n    typeof value === 'object' && Object.keys(value || {}).length > 1 ? 2 : 0\n  )\n\n  if (typeof value === 'number') {\n    formattedValue = Number.isInteger(value)\n      ? value.toString()\n      : value.toFixed(2)\n  }\n\n  let formattedConverted: string | null = null\n  if (\n    convertedValue !== null &&\n    convertedValue !== undefined &&\n    typeof convertedValue === 'number'\n  ) {\n    formattedConverted = Number.isInteger(convertedValue)\n      ? convertedValue.toString()\n      : convertedValue.toFixed(2)\n  }\n\n  return (\n    <>\n      {typeof value === 'object' ? (\n        <pre className=\"text-primary\">{formattedValue}</pre>\n      ) : (\n        <span className=\"text-primary\">\n          {formattedValue}\n          {typeof value === 'number' && units && <strong> {units}</strong>}\n          {formattedConverted && convertedUnit && (\n            <span style={{ color: '#28a745', marginLeft: '8px' }}>\n              ({formattedConverted} <strong>{convertedUnit}</strong>)\n            </span>\n          )}\n        </span>\n      )}\n    </>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/VirtualTable.css",
    "content": "/* Virtual Table - CSS Grid layout for virtualization */\n/* Uses Bootstrap 5 CSS custom properties for consistency */\n\n.virtual-table {\n  width: 100%;\n  border: 1px solid var(--bs-border-color, #c2cfd6);\n  border-radius: 0.25rem;\n  background-color: var(--bs-body-bg, #fff);\n  contain: layout style;\n}\n\n.virtual-table-header {\n  display: grid;\n  grid-template-columns:\n    minmax(150px, 1.5fr) minmax(120px, 2fr) minmax(80px, 0.8fr)\n    minmax(120px, 1.2fr);\n  background-color: var(--bs-tertiary-bg, #f0f3f5);\n  border-bottom: 2px solid var(--bs-border-color, #c2cfd6);\n  position: sticky;\n  top: 55px; /* Fixed header height */\n  z-index: 1; /* Low z-index to allow dropdowns to appear above */\n}\n\n.virtual-table-header-cell {\n  padding: 0.5rem 0.25rem;\n  font-size: 0.8rem;\n  font-weight: 600;\n  border-right: 1px solid var(--bs-border-color, #c2cfd6);\n}\n\n.virtual-table-header-cell:last-child {\n  border-right: none;\n}\n\n/* 5-column layout when context column is shown */\n.virtual-table[data-show-context='true'] .virtual-table-header,\n.virtual-table[data-show-context='true'] .virtual-table-row {\n  grid-template-columns:\n    minmax(150px, 1.5fr) minmax(80px, 1fr) minmax(120px, 2fr)\n    minmax(80px, 0.8fr) minmax(120px, 1.2fr);\n}\n\n.virtual-table-cell.context-cell {\n  min-width: 80px;\n}\n\n.virtual-table-body {\n  position: relative;\n}\n\n.virtual-table-row {\n  display: grid;\n  grid-template-columns:\n    minmax(150px, 1.5fr) minmax(120px, 2fr) minmax(80px, 0.8fr)\n    minmax(120px, 1.2fr);\n  border-bottom: 1px solid var(--bs-border-color, #c2cfd6);\n  font-size: 0.875rem;\n  contain: layout paint style;\n}\n\n.virtual-table-row[data-raw-row='true'] {\n  content-visibility: auto;\n  contain-intrinsic-block-size: 150px;\n}\n\n.virtual-table-row:hover {\n  background-color: var(--bs-tertiary-bg, #f0f3f5);\n}\n\n.virtual-table-row.striped {\n  background-color: var(--bs-tertiary-bg, #f0f3f5);\n}\n\n.virtual-table-row.striped:hover {\n  background-color: var(--bs-secondary-bg, #e2e6ea);\n}\n\n.virtual-table-cell {\n  padding: 0.5rem 0.25rem;\n  vertical-align: top;\n  word-wrap: break-word;\n  word-break: break-word;\n  border-right: 1px solid var(--bs-border-color, #c2cfd6);\n  overflow: hidden;\n}\n\n.virtual-table-cell:last-child {\n  border-right: none;\n}\n\n.virtual-table-cell.path-cell {\n  min-width: 150px;\n}\n\n.virtual-table-cell.value-cell {\n  min-width: 120px;\n}\n\n.virtual-table-cell.timestamp-cell {\n  min-width: 80px;\n  white-space: nowrap;\n}\n\n.virtual-table-cell.source-cell {\n  min-width: 120px;\n}\n\n/* Timestamp animation */\n.virtual-table-cell.timestamp-updated {\n  position: relative;\n}\n\n.virtual-table-cell.timestamp-updated::before {\n  content: '';\n  position: absolute;\n  left: 0;\n  top: 0;\n  bottom: 0;\n  width: 3px;\n  background-color: var(--bs-success, #00cd79);\n  animation: highlightFade 15s ease-out forwards;\n}\n\n@keyframes highlightFade {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n\n/* Pre formatting for JSON values */\n.virtual-table-cell pre {\n  margin: 0;\n  padding: 0;\n  font-size: 0.8rem;\n  white-space: pre-wrap;\n  word-wrap: break-word;\n  word-break: break-word;\n}\n\n/* Responsive breakpoints */\n@media (max-width: 1200px) {\n  .virtual-table-row,\n  .virtual-table-header {\n    font-size: 0.8rem;\n  }\n\n  .virtual-table-cell,\n  .virtual-table-header-cell {\n    padding: 0.4rem 0.2rem;\n  }\n}\n\n@media (max-width: 992px) {\n  .virtual-table-header,\n  .virtual-table-row {\n    grid-template-columns:\n      minmax(120px, 1.5fr) minmax(100px, 2fr) minmax(70px, 0.8fr)\n      minmax(100px, 1.2fr);\n  }\n\n  .virtual-table[data-show-context='true'] .virtual-table-header,\n  .virtual-table[data-show-context='true'] .virtual-table-row {\n    grid-template-columns:\n      minmax(120px, 1.5fr) minmax(70px, 1fr) minmax(100px, 2fr)\n      minmax(70px, 0.8fr) minmax(100px, 1.2fr);\n  }\n}\n\n/* Narrow screens: stack cells vertically with per-row labels */\n@media (max-width: 768px) {\n  .virtual-table-header {\n    display: none;\n  }\n\n  .virtual-table-row {\n    display: block;\n    padding: 0.5rem;\n    border-bottom: 2px solid var(--bs-border-color, #c2cfd6);\n  }\n\n  .virtual-table-row.striped {\n    background-color: var(--bs-tertiary-bg, #f0f3f5);\n  }\n\n  .virtual-table-cell {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: baseline;\n    width: 100%;\n    border-right: none;\n    padding: 0.25rem 0;\n    overflow: visible;\n    min-width: 0;\n  }\n\n  .virtual-table-cell::before {\n    content: attr(data-label);\n    font-weight: 600;\n    flex-shrink: 0;\n    width: 60px;\n    color: var(--bs-secondary-color, #6c757d);\n    font-size: 0.75rem;\n  }\n\n  .virtual-table-cell.path-cell {\n    display: block;\n    font-weight: 600;\n    font-size: 0.85rem;\n    padding-bottom: 0.35rem;\n    border-bottom: 1px solid var(--bs-border-color-translucent, #e9ecef);\n    margin-bottom: 0.25rem;\n    word-break: break-all;\n  }\n\n  .virtual-table-cell.path-cell::before {\n    display: none;\n  }\n\n  .virtual-table-cell.value-cell {\n    min-width: 0;\n  }\n\n  .virtual-table-cell.value-cell > * {\n    flex: 1;\n    min-width: 0;\n    word-break: break-word;\n  }\n\n  .virtual-table-cell.timestamp-cell {\n    white-space: normal;\n  }\n\n  .virtual-table-cell.timestamp-updated {\n    position: static;\n  }\n\n  .virtual-table-cell.timestamp-updated::before {\n    content: attr(data-label);\n    position: static;\n    width: 60px;\n    background-color: transparent;\n    animation: none;\n  }\n\n  .virtual-table-row:has(.timestamp-updated) {\n    border-left: 3px solid var(--bs-success, #00cd79);\n    animation: borderFade 15s ease-out forwards;\n  }\n\n  @keyframes borderFade {\n    0% {\n      border-left-color: var(--bs-success, #00cd79);\n    }\n    100% {\n      border-left-color: transparent;\n    }\n  }\n\n  .virtual-table-cell.source-cell {\n    flex-wrap: wrap;\n  }\n\n  .virtual-table-cell.source-cell > * {\n    word-break: break-all;\n  }\n\n  .virtual-table-info {\n    font-size: 0.7rem;\n    padding: 0.4rem;\n  }\n}\n\n/* Row count indicator */\n.virtual-table-info {\n  padding: 0.5rem;\n  font-size: 0.8rem;\n  color: var(--bs-secondary-color, #6c757d);\n  background-color: var(--bs-tertiary-bg, #f0f3f5);\n  border-top: 1px solid var(--bs-border-color, #c2cfd6);\n}\n\n.copy-icon {\n  display: inline-block;\n  width: 12px;\n  height: 14px;\n  border: 1px solid currentColor;\n  border-radius: 2px;\n  position: relative;\n  opacity: 0.5;\n  margin-left: 4px;\n  cursor: pointer;\n  vertical-align: middle;\n}\n\n.copy-icon::before {\n  content: '';\n  position: absolute;\n  width: 10px;\n  height: 12px;\n  border: 1px solid currentColor;\n  border-radius: 2px;\n  top: -4px;\n  left: -4px;\n  background: var(--bs-body-bg, #fff);\n}\n\n.path-cell:hover .copy-icon,\n.source-cell:hover .copy-icon,\n.copy-icon:hover {\n  opacity: 1;\n}\n\n.virtual-table-meta-row {\n  content-visibility: auto;\n  contain-intrinsic-block-size: 200px;\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/VirtualizedDataTable.tsx",
    "content": "import {\n  useRef,\n  useEffect,\n  useState,\n  useCallback,\n  useMemo,\n  ChangeEvent\n} from 'react'\nimport DataRow from './DataRow'\nimport granularSubscriptionManager from './GranularSubscriptionManager'\nimport './VirtualTable.css'\n\ninterface VisibleItem {\n  index: number\n  path$SourceKey: string\n}\n\ninterface VirtualizedDataTableProps {\n  path$SourceKeys: string[]\n  context: string\n  raw: boolean\n  isPaused: boolean\n  onToggleSource: (source: string) => void\n  selectedSources: Set<string>\n  onToggleSourceFilter: (event: ChangeEvent<HTMLInputElement>) => void\n  sourceFilterActive: boolean\n  showContext: boolean\n}\n\nfunction VirtualizedDataTable({\n  path$SourceKeys,\n  context,\n  raw,\n  isPaused,\n  onToggleSource,\n  selectedSources,\n  onToggleSourceFilter,\n  sourceFilterActive,\n  showContext\n}: VirtualizedDataTableProps) {\n  const containerRef = useRef<HTMLDivElement>(null)\n  const [isNarrowScreen, setIsNarrowScreen] = useState(\n    typeof window !== 'undefined' && window.innerWidth <= 768\n  )\n\n  const rowHeight = raw ? 150 : isNarrowScreen ? 120 : 40\n  const overscan = raw ? 5 : isNarrowScreen ? 5 : 15\n\n  const computeInitialRange = useCallback(() => {\n    const visibleCount =\n      Math.ceil(window.innerHeight / rowHeight) + overscan * 2\n    return { start: 0, end: Math.min(path$SourceKeys.length - 1, visibleCount) }\n  }, [path$SourceKeys.length, rowHeight, overscan])\n\n  const [visibleRange, setVisibleRange] = useState(computeInitialRange)\n\n  useEffect(() => {\n    const checkWidth = () => setIsNarrowScreen(window.innerWidth <= 768)\n    window.addEventListener('resize', checkWidth)\n    return () => window.removeEventListener('resize', checkWidth)\n  }, [])\n\n  const computeVisibleRange = useCallback(() => {\n    if (!containerRef.current) return null\n\n    const rect = containerRef.current.getBoundingClientRect()\n    const containerTop = rect.top\n    const viewportHeight = window.innerHeight\n\n    let startOffset = 0\n    if (containerTop < 0) {\n      startOffset = Math.abs(containerTop)\n    }\n\n    const startIndex = Math.max(\n      0,\n      Math.floor(startOffset / rowHeight) - overscan\n    )\n    const visibleCount = Math.ceil(viewportHeight / rowHeight) + overscan * 2\n    const endIndex = Math.min(\n      path$SourceKeys.length - 1,\n      startIndex + visibleCount\n    )\n\n    return { start: startIndex, end: endIndex, visibleCount }\n  }, [path$SourceKeys.length, rowHeight, overscan])\n\n  useEffect(() => {\n    let ticking = false\n    const handleScroll = () => {\n      if (!ticking) {\n        window.requestAnimationFrame(() => {\n          const computed = computeVisibleRange()\n          if (computed) {\n            setVisibleRange((prev) => {\n              const atStart = computed.start === 0\n              const atEnd = computed.end >= path$SourceKeys.length - 1\n              const significantChange =\n                Math.abs(prev.start - computed.start) > 2 ||\n                Math.abs(prev.end - computed.end) > 2\n              const listGrew =\n                prev.end < computed.end &&\n                prev.end === prev.start + computed.visibleCount - 1\n\n              if (atStart || atEnd || significantChange || listGrew) {\n                return { start: computed.start, end: computed.end }\n              }\n              return prev\n            })\n          }\n          ticking = false\n        })\n        ticking = true\n      }\n    }\n\n    handleScroll()\n\n    window.addEventListener('scroll', handleScroll, { passive: true })\n    window.addEventListener('resize', handleScroll, { passive: true })\n\n    return () => {\n      window.removeEventListener('scroll', handleScroll)\n      window.removeEventListener('resize', handleScroll)\n    }\n  }, [computeVisibleRange, path$SourceKeys.length])\n\n  const spacerBeforeHeight = raw ? 0 : visibleRange.start * rowHeight\n  const spacerAfterHeight = raw\n    ? 0\n    : Math.max(0, (path$SourceKeys.length - visibleRange.end - 1) * rowHeight)\n\n  // Raw mode: render all rows, content-visibility handles off-screen skipping.\n  const visibleItems: VisibleItem[] = useMemo(() => {\n    if (raw) {\n      return path$SourceKeys.map((path$SourceKey, i) => ({\n        index: i,\n        path$SourceKey\n      }))\n    }\n    const end = Math.min(visibleRange.end + 1, path$SourceKeys.length)\n    return path$SourceKeys\n      .slice(visibleRange.start, end)\n      .map((path$SourceKey, i) => ({\n        index: visibleRange.start + i,\n        path$SourceKey\n      }))\n  }, [raw, visibleRange.start, visibleRange.end, path$SourceKeys])\n\n  useEffect(() => {\n    if (isPaused) return\n    if (visibleItems.length === 0) return\n\n    const visiblePath$SourceKeys = visibleItems.map(\n      (item) => item.path$SourceKey\n    )\n    granularSubscriptionManager.requestPaths(\n      visiblePath$SourceKeys,\n      path$SourceKeys\n    )\n  }, [\n    visibleRange.start,\n    visibleRange.end,\n    path$SourceKeys,\n    isPaused,\n    visibleItems\n  ])\n\n  if (path$SourceKeys.length === 0) {\n    return (\n      <div className=\"virtual-table\">\n        <div className=\"virtual-table-info\">\n          No data available. Waiting for data...\n        </div>\n      </div>\n    )\n  }\n\n  return (\n    <div\n      className=\"virtual-table\"\n      ref={containerRef}\n      data-show-context={showContext ? 'true' : undefined}\n    >\n      <div className=\"virtual-table-header\">\n        <div className=\"virtual-table-header-cell\">Path</div>\n        {showContext && (\n          <div className=\"virtual-table-header-cell\">Context</div>\n        )}\n        <div className=\"virtual-table-header-cell\">Value</div>\n        <div className=\"virtual-table-header-cell\">Timestamp</div>\n        <div className=\"virtual-table-header-cell\">\n          <label\n            style={{\n              display: 'inline-flex',\n              alignItems: 'center',\n              margin: 0,\n              cursor: 'pointer'\n            }}\n          >\n            <input\n              type=\"checkbox\"\n              onChange={onToggleSourceFilter}\n              checked={sourceFilterActive}\n              disabled={selectedSources.size === 0}\n              title={\n                selectedSources.size === 0\n                  ? 'Check a source in the list to filter by source'\n                  : sourceFilterActive\n                    ? 'Uncheck to deactivate source filtering'\n                    : 'Check to activate source filtering'\n              }\n              style={{\n                marginRight: '5px',\n                verticalAlign: 'middle'\n              }}\n            />\n            Source\n          </label>\n        </div>\n      </div>\n\n      <div className=\"virtual-table-body\">\n        {spacerBeforeHeight > 0 && (\n          <div style={{ height: spacerBeforeHeight }} />\n        )}\n\n        {visibleItems.map((item) => (\n          <DataRow\n            key={item.path$SourceKey}\n            path$SourceKey={item.path$SourceKey}\n            context={context}\n            index={item.index}\n            raw={raw}\n            isPaused={isPaused}\n            onToggleSource={onToggleSource}\n            selectedSources={selectedSources}\n            showContext={showContext}\n          />\n        ))}\n\n        {spacerAfterHeight > 0 && <div style={{ height: spacerAfterHeight }} />}\n      </div>\n\n      <div className=\"virtual-table-info\">\n        {raw ? (\n          <>Showing {path$SourceKeys.length} paths</>\n        ) : (\n          <>\n            Showing {visibleItems.length} of {path$SourceKeys.length} paths\n            (rows {visibleRange.start + 1}-\n            {Math.min(visibleRange.end + 1, path$SourceKeys.length)})\n          </>\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport default VirtualizedDataTable\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/VirtualizedMetaTable.tsx",
    "content": "import { memo } from 'react'\nimport Meta from './Meta'\nimport { useMetaData } from './usePathData'\nimport './VirtualTable.css'\n\ninterface MetaRowProps {\n  path: string\n  ctx: string\n  index: number\n  showContext: boolean\n}\n\nconst MetaRow = memo(function MetaRow({\n  path,\n  ctx,\n  index,\n  showContext\n}: MetaRowProps) {\n  const meta = useMetaData(ctx, path)\n  if (path.startsWith('notifications')) return null\n  return (\n    <div\n      className={`virtual-table-meta-row ${index % 2 ? 'striped' : ''}`}\n      style={{ padding: '0 2px' }}\n    >\n      <Meta\n        meta={meta || {}}\n        path={path}\n        context={ctx}\n        showContext={showContext}\n      />\n    </div>\n  )\n})\n\ninterface VirtualizedMetaTableProps {\n  paths: string[]\n  context: string\n  showContext?: boolean\n}\n\n// Renders all rows; content-visibility: auto (in CSS) handles off-screen skipping.\n// Variable row heights make spacer-based virtualization impractical here.\nfunction VirtualizedMetaTable({\n  paths,\n  context,\n  showContext = false\n}: VirtualizedMetaTableProps) {\n  if (paths.length === 0) {\n    return (\n      <div className=\"virtual-table\">\n        <div className=\"virtual-table-info\">No metadata available</div>\n      </div>\n    )\n  }\n\n  return (\n    <div style={{ marginTop: '10px' }}>\n      <h6 className=\"text-muted mb-2\">Path Metadata</h6>\n      {paths.map((item, i) => {\n        const separatorIndex = item.indexOf('\\0')\n        const ctx =\n          separatorIndex !== -1 ? item.slice(0, separatorIndex) : context\n        const path =\n          separatorIndex !== -1 ? item.slice(separatorIndex + 1) : item\n        return (\n          <MetaRow\n            key={item}\n            path={path}\n            ctx={ctx}\n            index={i}\n            showContext={showContext}\n          />\n        )\n      })}\n      <div className=\"text-muted small mt-2\">Showing {paths.length} paths</div>\n    </div>\n  )\n}\n\nexport default VirtualizedMetaTable\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/pathUtils.ts",
    "content": "// The same Signal K path can have multiple values from different sources.\n// We combine them as \"path$source\" to create a unique key.\n\nexport function getPath$SourceKey(path: string, source?: string): string {\n  return `${path}$${source ?? ''}`\n}\n\nexport function getPathFromKey(path$SourceKey: string): string {\n  const idx = path$SourceKey.indexOf('$')\n  return idx >= 0 ? path$SourceKey.substring(0, idx) : path$SourceKey\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/DataBrowser/usePathData.ts",
    "content": "import { useRef, useSyncExternalStore, useCallback } from 'react'\nimport { useStore } from '../../store'\nimport type { PathData, MetaData } from '../../store'\n\nconst THROTTLE_MS = 200 // max 5 UI re-renders per second per path\n\nexport function usePathData(\n  context: string,\n  path$SourceKey: string\n): PathData | null {\n  const lastUpdateRef = useRef<number>(0)\n  const cachedDataRef = useRef<PathData | null>(null)\n  const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n  const listenerRef = useRef<(() => void) | null>(null)\n\n  const subscribe = useCallback(\n    (onStoreChange: () => void) => {\n      listenerRef.current = onStoreChange\n\n      const unsubscribe = useStore.subscribe(\n        (state) => state.signalkData[context]?.[path$SourceKey],\n        (newData) => {\n          const now = Date.now()\n          const elapsed = now - lastUpdateRef.current\n\n          if (elapsed >= THROTTLE_MS) {\n            lastUpdateRef.current = now\n            cachedDataRef.current = newData ?? null\n            onStoreChange()\n          } else {\n            if (!timeoutRef.current) {\n              timeoutRef.current = setTimeout(() => {\n                lastUpdateRef.current = Date.now()\n                cachedDataRef.current =\n                  useStore.getState().signalkData[context]?.[path$SourceKey] ??\n                  null\n                timeoutRef.current = null\n                if (listenerRef.current) {\n                  listenerRef.current()\n                }\n              }, THROTTLE_MS - elapsed)\n            }\n          }\n        },\n        { fireImmediately: true }\n      )\n\n      return () => {\n        unsubscribe()\n        listenerRef.current = null\n        if (timeoutRef.current) {\n          clearTimeout(timeoutRef.current)\n          timeoutRef.current = null\n        }\n      }\n    },\n    [context, path$SourceKey]\n  )\n\n  const getSnapshot = useCallback(() => {\n    if (cachedDataRef.current === null) {\n      cachedDataRef.current =\n        useStore.getState().signalkData[context]?.[path$SourceKey] ?? null\n    }\n    return cachedDataRef.current\n  }, [context, path$SourceKey])\n\n  return useSyncExternalStore(subscribe, getSnapshot, getSnapshot)\n}\n\nexport function useMetaData(\n  context: string,\n  path: string | undefined\n): MetaData | null {\n  const metaData = useStore((s) =>\n    path ? s.signalkMeta[context]?.[path] : undefined\n  )\n  return metaData ?? null\n}\n\nexport type { PathData, MetaData }\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Playground.tsx",
    "content": "import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Nav from 'react-bootstrap/Nav'\nimport Row from 'react-bootstrap/Row'\nimport Tab from 'react-bootstrap/Tab'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircleDot } from '@fortawesome/free-regular-svg-icons/faCircleDot'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport dayjs from 'dayjs'\nimport jsonlint from 'jsonlint-mod'\n\nconst timestampFormat = 'MM/DD HH:mm:ss'\nconst inputStorageKey = 'admin.v1.playground.input'\n\nconst DELTAS_TAB_ID = 'deltas'\nconst PATHS_TAB_ID = 'paths'\nconst N2KJSON_TAB_ID = 'n2kjson'\nconst PUTRESULTS_TAB_ID = 'putresults'\nconst LINT_ERROR_TAB_ID = 'lintErrors'\n\ninterface PathData {\n  path: string\n  value: unknown\n  context: string\n  timestamp: string\n}\n\ninterface Delta {\n  context?: string\n  updates?: Array<{\n    timestamp: string\n    values?: Array<{\n      path: string\n      value: unknown\n    }>\n  }>\n}\n\ninterface SendResponse {\n  error?: string\n  deltas: Delta[]\n  n2kJson: unknown[]\n  n2kOutAvailable: boolean\n  putResults: unknown[]\n}\n\nfunction isJson(input: string): boolean {\n  try {\n    JSON.parse(input)\n    return true\n  } catch {\n    return false\n  }\n}\n\nfunction N2kJsonPanel({ n2kData }: { n2kData: unknown[] }) {\n  return (\n    <Tab.Pane eventKey={N2KJSON_TAB_ID}>\n      <div\n        style={{\n          overflowY: 'scroll',\n          maxHeight: '60vh',\n          border: '1px solid',\n          padding: '5px'\n        }}\n      >\n        <pre>{JSON.stringify(n2kData, null, 2)}</pre>\n      </div>\n    </Tab.Pane>\n  )\n}\n\nconst Playground: React.FC = () => {\n  const [data, setData] = useState<PathData[]>([])\n  const [deltas, setDeltas] = useState<Delta[]>([])\n  const [n2kJson, setN2kJson] = useState<unknown[]>([])\n  const [n2kOutAvailable, setN2kOutAvailable] = useState(false)\n  const [input, setInput] = useState(\n    () => localStorage.getItem(inputStorageKey) || ''\n  )\n  const [inputIsJson, setInputIsJson] = useState(() =>\n    isJson(localStorage.getItem(inputStorageKey) || '')\n  )\n  const [sending, setSending] = useState(false)\n  const [sendingN2K, setSendingN2K] = useState(false)\n  const [activeTab, setActiveTab] = useState(DELTAS_TAB_ID)\n  const [error, setError] = useState<string | null>(null)\n  const [jsonError, setJsonError] = useState<string | null>(null)\n  const [putResults, setPutResults] = useState<unknown[]>([])\n\n  const inputWaitTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n  // Track if initial auto-send has been scheduled\n  const initialSendScheduledRef = useRef(false)\n  const inputRef = useRef(input)\n  useEffect(() => {\n    inputRef.current = input\n  }, [input])\n\n  const send = useCallback(\n    (sendToServer: boolean, sendToN2K = false) => {\n      const currentInput = inputRef.current\n      const start = currentInput.trim().charAt(0)\n      if (start === '{' || start === '[') {\n        try {\n          jsonlint.parse(currentInput)\n          if (activeTab === LINT_ERROR_TAB_ID) {\n            setActiveTab(DELTAS_TAB_ID)\n          }\n        } catch (err) {\n          setData([])\n          setDeltas([])\n          setPutResults([])\n          setN2kJson([])\n          setN2kOutAvailable(false)\n          setError('invalid json')\n          setJsonError((err as Error).message)\n          setActiveTab(LINT_ERROR_TAB_ID)\n          return\n        }\n      }\n\n      const body = { value: currentInput, sendToServer, sendToN2K }\n      localStorage.setItem(inputStorageKey, currentInput)\n\n      if (sendToServer) {\n        setSending(true)\n      }\n      if (sendToN2K) {\n        setSendingN2K(true)\n      }\n\n      fetch(`${window.serverRoutesPrefix}/inputTest`, {\n        method: 'POST',\n        credentials: 'include',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(body)\n      })\n        .then((response) => response.json())\n        .then((responseData: SendResponse) => {\n          if (sendToServer || sendToN2K) {\n            setTimeout(() => {\n              setSending(false)\n              setSendingN2K(false)\n            }, 1000)\n          }\n\n          if (responseData.error) {\n            setData([])\n            setDeltas([])\n            setPutResults([])\n            setN2kJson([])\n            setN2kOutAvailable(false)\n            setJsonError(null)\n            setError(responseData.error)\n          } else {\n            setError(null)\n            const values: PathData[] = []\n\n            responseData.deltas.forEach((delta) => {\n              const context = delta.context || 'vessels.self'\n              if (delta.updates) {\n                delta.updates.forEach((update) => {\n                  if (update.values) {\n                    update.values.forEach((vp) => {\n                      if (vp.path === '') {\n                        Object.keys(vp.value as object).forEach((k) => {\n                          values.push({\n                            path: k,\n                            value: (vp.value as Record<string, unknown>)[k],\n                            context,\n                            timestamp: dayjs(update.timestamp).format(\n                              timestampFormat\n                            )\n                          })\n                        })\n                      } else {\n                        values.push({\n                          path: vp.path,\n                          value: vp.value,\n                          context,\n                          timestamp: dayjs(update.timestamp).format(\n                            timestampFormat\n                          )\n                        })\n                      }\n                    })\n                  }\n                })\n              }\n            })\n\n            setData(values)\n            setDeltas(responseData.deltas)\n            setN2kJson(responseData.n2kJson)\n            setN2kOutAvailable(responseData.n2kOutAvailable)\n            setPutResults(responseData.putResults)\n            setJsonError(null)\n          }\n        })\n        .catch((err) => {\n          console.error(err)\n          setData([])\n          setDeltas([])\n          setPutResults([])\n          setN2kJson([])\n          setN2kOutAvailable(false)\n          setError((err as Error).message)\n          setJsonError(null)\n          if (sendToServer || sendToN2K) {\n            setSending(false)\n            setSendingN2K(false)\n          }\n        })\n    },\n    [activeTab]\n  )\n\n  const handleInput = useCallback(\n    (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n      const value = event.target.value\n      setInput(value)\n      setInputIsJson(isJson(value))\n      localStorage.setItem(inputStorageKey, value)\n\n      if (inputWaitTimeoutRef.current) {\n        clearTimeout(inputWaitTimeoutRef.current)\n      }\n\n      inputWaitTimeoutRef.current = setTimeout(() => {\n        if (value.length > 0) {\n          send(false)\n        }\n      }, 500)\n    },\n    [send]\n  )\n\n  const handleExecute = useCallback(() => {\n    send(true)\n  }, [send])\n\n  const handleSendN2K = useCallback(() => {\n    send(false, true)\n  }, [send])\n\n  const beautify = useCallback(() => {\n    const currentInput = inputRef.current\n    try {\n      jsonlint.parse(currentInput)\n      const text = JSON.stringify(JSON.parse(currentInput), null, 2)\n      setInput(text)\n      setJsonError(null)\n    } catch (err) {\n      setData([])\n      setDeltas([])\n      setPutResults([])\n      setN2kJson([])\n      setN2kOutAvailable(false)\n      setError('invalid json')\n      setJsonError((err as Error).message)\n      setActiveTab(LINT_ERROR_TAB_ID)\n    }\n  }, [])\n\n  // Auto-send on mount if there's saved input\n  // The ref is only read when scheduling the initial send, never during render\n  useEffect(() => {\n    if (input && input.length > 0 && !initialSendScheduledRef.current) {\n      initialSendScheduledRef.current = true\n      // Use setTimeout to schedule send as a callback, not synchronously\n      const timeoutId = setTimeout(() => send(false), 0)\n      return () => clearTimeout(timeoutId)\n    }\n    return undefined\n  }, [input, send])\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Row>\n        <Col xs={12} md={6}>\n          <Card>\n            <Card.Header>Input</Card.Header>\n            <Card.Body>\n              <Form\n                action=\"\"\n                method=\"post\"\n                encType=\"multipart/form-data\"\n                className=\"form-horizontal\"\n                onSubmit={(e) => {\n                  e.preventDefault()\n                }}\n              >\n                <Form.Group as={Row}>\n                  <Col xs={12} md={12}>\n                    <Form.Text muted>\n                      You can enter multi-line raw NMEA 2000, NMEA 0183 or\n                      Signal K deltas (one delta or an array). For sending PGNs\n                      out over the servers NMEA 2000 connection, use one of the\n                      formats{' '}\n                      <a href=\"/documentation/develop/plugins/deltas.html?highlight=NMEA%202000%20json#sending-nmea-2000-data-from-a-plugin\">\n                        here\n                      </a>\n                    </Form.Text>\n                    <Form.Control\n                      as=\"textarea\"\n                      name=\"input\"\n                      rows={15}\n                      onChange={handleInput}\n                      value={input}\n                    />\n                  </Col>\n                </Form.Group>\n              </Form>\n            </Card.Body>\n            <Card.Footer>\n              <Row style={{ paddingBottom: '0.25rem' }}>\n                <Col>\n                  <Button\n                    size=\"sm\"\n                    variant=\"primary\"\n                    className=\"float-start\"\n                    disabled={!inputIsJson}\n                    onClick={beautify}\n                  >\n                    <FontAwesomeIcon icon={faCircleDot} /> Beautify JSON\n                  </Button>\n                </Col>\n\n                <Col>\n                  <Button\n                    size=\"sm\"\n                    variant=\"primary\"\n                    onClick={handleExecute}\n                    className=\"float-end\"\n                  >\n                    <FontAwesomeIcon\n                      icon={sending ? faSpinner : faCircleDot}\n                      spin={sending}\n                    />{' '}\n                    Send To Server\n                  </Button>\n                </Col>\n              </Row>\n              <Row style={{ paddingBottom: '0.25rem' }}>\n                <Col className=\"text-end\">\n                  <Button\n                    size=\"sm\"\n                    variant=\"primary\"\n                    disabled={\n                      !(n2kJson && n2kJson.length > 0 && n2kOutAvailable)\n                    }\n                    onClick={handleSendN2K}\n                  >\n                    <FontAwesomeIcon\n                      icon={sendingN2K ? faSpinner : faCircleDot}\n                      spin={sendingN2K}\n                    />{' '}\n                    Send as PGN to server&apos;s NMEA2000 connection\n                  </Button>\n                </Col>\n              </Row>\n              <Row>\n                <Col>\n                  <span className=\"float-end\">\n                    {error && <p className=\"text-danger\">{error}</p>}\n                  </span>\n                </Col>\n              </Row>\n            </Card.Footer>\n          </Card>\n        </Col>\n        <Col xs={12} md={6}>\n          <Card>\n            <Card.Header>Output</Card.Header>\n            <Card.Body>\n              <Tab.Container\n                activeKey={activeTab}\n                onSelect={(k) => k && setActiveTab(k)}\n              >\n                <Nav variant=\"tabs\">\n                  <Nav.Item>\n                    <Nav.Link eventKey={DELTAS_TAB_ID}>Deltas</Nav.Link>\n                  </Nav.Item>\n                  {data.length > 0 && (\n                    <Nav.Item>\n                      <Nav.Link eventKey={PATHS_TAB_ID}>Paths</Nav.Link>\n                    </Nav.Item>\n                  )}\n\n                  {n2kJson && n2kJson.length > 0 && (\n                    <Nav.Item>\n                      <Nav.Link eventKey={N2KJSON_TAB_ID}>\n                        Decoded NMEA 2000\n                      </Nav.Link>\n                    </Nav.Item>\n                  )}\n                  {putResults && putResults.length > 0 && (\n                    <Nav.Item>\n                      <Nav.Link eventKey={PUTRESULTS_TAB_ID}>\n                        Put Results\n                      </Nav.Link>\n                    </Nav.Item>\n                  )}\n                  {jsonError && (\n                    <Nav.Item>\n                      <Nav.Link eventKey={LINT_ERROR_TAB_ID}>\n                        Json Lint Error\n                      </Nav.Link>\n                    </Nav.Item>\n                  )}\n                </Nav>\n                <Tab.Content>\n                  <Tab.Pane eventKey={DELTAS_TAB_ID}>\n                    {deltas.length > 0 && (\n                      <div\n                        style={{\n                          overflowY: 'scroll',\n                          maxHeight: '60vh',\n                          border: '1px solid',\n                          padding: '5px'\n                        }}\n                      >\n                        <pre>{JSON.stringify(deltas, null, 2)}</pre>\n                      </div>\n                    )}\n                  </Tab.Pane>\n\n                  {data.length > 0 && (\n                    <Tab.Pane eventKey={PATHS_TAB_ID}>\n                      <div style={{ overflowY: 'scroll', maxHeight: '60vh' }}>\n                        <Table responsive bordered striped size=\"sm\">\n                          <thead>\n                            <tr>\n                              <th>Path</th>\n                              <th>Value</th>\n                              <th>Context</th>\n                            </tr>\n                          </thead>\n                          <tbody>\n                            {data.map((item) => {\n                              const formatted = JSON.stringify(\n                                item.value,\n                                null,\n                                typeof item.value === 'object' &&\n                                  item.value !== null &&\n                                  Object.keys(item.value).length > 1\n                                  ? 2\n                                  : 0\n                              )\n                              const key = `${item.path}${item.context}`\n\n                              return (\n                                <tr key={key}>\n                                  <td>{item.path}</td>\n                                  <td>\n                                    <pre\n                                      className=\"text-primary\"\n                                      style={{ whiteSpace: 'pre-wrap' }}\n                                    >\n                                      {formatted}\n                                    </pre>\n                                  </td>\n                                  <td>{item.context}</td>\n                                </tr>\n                              )\n                            })}\n                          </tbody>\n                        </Table>\n                      </div>\n                    </Tab.Pane>\n                  )}\n\n                  {n2kJson && n2kJson.length > 0 && (\n                    <N2kJsonPanel n2kData={n2kJson} />\n                  )}\n\n                  {putResults && putResults.length > 0 && (\n                    <Tab.Pane eventKey={PUTRESULTS_TAB_ID}>\n                      <div\n                        style={{\n                          overflowY: 'scroll',\n                          maxHeight: '60vh',\n                          border: '1px solid',\n                          padding: '5px'\n                        }}\n                      >\n                        <pre>{JSON.stringify(putResults, null, 2)}</pre>\n                      </div>\n                    </Tab.Pane>\n                  )}\n\n                  {jsonError && (\n                    <Tab.Pane eventKey={LINT_ERROR_TAB_ID}>\n                      <div\n                        style={{\n                          overflowY: 'scroll',\n                          maxHeight: '60vh',\n                          border: '1px solid',\n                          padding: '5px'\n                        }}\n                      >\n                        <pre>{jsonError}</pre>\n                      </div>\n                    </Tab.Pane>\n                  )}\n                </Tab.Content>\n              </Tab.Container>\n            </Card.Body>\n          </Card>\n        </Col>\n      </Row>\n    </div>\n  )\n}\n\nexport default Playground\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/BackupRestore.tsx",
    "content": "import React, { useState, useCallback } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport ProgressBar from 'react-bootstrap/ProgressBar'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons/faCircleNotch'\nimport { faCircleDot } from '@fortawesome/free-regular-svg-icons/faCircleDot'\nimport { useStore, useRestarting } from '../../store'\nimport { restartAction } from '../../actions'\n\nconst RESTORE_NONE = 0\nconst RESTORE_VALIDATING = 1\nconst RESTORE_CONFIRM = 2\nconst RESTORE_RUNNING = 3\n\ninterface RestoreStatus {\n  state?: string\n  message?: string\n  percentComplete?: number\n}\n\nconst BackupRestore: React.FC = () => {\n  const restoreStatus = useStore(\n    (state) => state.restoreStatus\n  ) as RestoreStatus\n  const restarting = useRestarting()\n\n  const [restoreFile, setRestoreFile] = useState<File | null>(null)\n  const [restoreState, setRestoreState] = useState(RESTORE_NONE)\n  const [includePlugins, setIncludePlugins] = useState(false)\n  const [restoreContents, setRestoreContents] = useState<\n    Record<string, boolean>\n  >({})\n\n  const cancelRestore = useCallback(() => {\n    setRestoreState(RESTORE_NONE)\n  }, [])\n\n  const fileChanged = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      setRestoreFile(event.target.files?.[0] || null)\n    },\n    []\n  )\n\n  const backup = useCallback(() => {\n    const url = `${window.serverRoutesPrefix}/backup?includePlugins=${includePlugins}`\n    window.location.href = url\n  }, [includePlugins])\n\n  const restore = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/restore`, {\n      credentials: 'include',\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(restoreContents)\n    })\n      .then((response) => {\n        if (!response.ok) {\n          return response.text()\n        }\n        return null\n      })\n      .then((res) => {\n        if (typeof res === 'string') {\n          alert(res)\n          setRestoreState(RESTORE_NONE)\n          setRestoreFile(null)\n        } else {\n          setRestoreState(RESTORE_RUNNING)\n        }\n      })\n      .catch((error) => {\n        alert(error.message)\n      })\n  }, [restoreContents])\n\n  const handleRestart = useCallback(() => {\n    restartAction()\n    setRestoreState(RESTORE_NONE)\n    window.location.href = '/admin/#/dashboard'\n  }, [])\n\n  const validate = useCallback(() => {\n    if (!restoreFile) {\n      alert('Please choose a file')\n      return\n    }\n\n    const data = new FormData()\n    data.append('file', restoreFile)\n\n    setRestoreState(RESTORE_VALIDATING)\n    fetch(`${window.serverRoutesPrefix}/validateBackup`, {\n      credentials: 'include',\n      method: 'POST',\n      headers: {\n        Accept: 'application/json'\n      },\n      body: data\n    })\n      .then((response) => {\n        if (response.ok) {\n          return response.json()\n        } else {\n          return response.text()\n        }\n      })\n      .then((res) => {\n        if (typeof res === 'string') {\n          alert(res)\n          setRestoreState(RESTORE_NONE)\n          setRestoreFile(null)\n        } else {\n          const contents: Record<string, boolean> = {}\n          ;(res as string[]).forEach((filename) => {\n            contents[filename] = true\n          })\n          setRestoreState(RESTORE_CONFIRM)\n          setRestoreContents(contents)\n        }\n      })\n      .catch((error) => {\n        alert(error.message)\n      })\n  }, [restoreFile])\n\n  const handleRestoreFileChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setRestoreContents((prev) => ({\n        ...prev,\n        [event.target.name]: value as boolean\n      }))\n    },\n    []\n  )\n\n  const includePluginsChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      setIncludePlugins(event.target.checked)\n    },\n    []\n  )\n\n  const fieldColWidthMd = 10\n\n  return (\n    <div>\n      {restoreState === RESTORE_NONE && !restoreStatus.state && (\n        <Card>\n          <Card.Header>Backup Settings</Card.Header>\n          <Card.Body>\n            <Form\n              action=\"\"\n              method=\"post\"\n              encType=\"multipart/form-data\"\n              className=\"form-horizontal\"\n            >\n              <Form.Text className=\"text-muted\">\n                This will backup your server and plugin settings.\n              </Form.Text>\n              <br />\n              <Form.Group as={Row}>\n                <Col xs=\"3\" md=\"2\">\n                  <Form.Label htmlFor=\"backup-includePlugins\">\n                    Include Plugins\n                  </Form.Label>\n                </Col>\n                <Col xs=\"2\" md={fieldColWidthMd}>\n                  <Form.Label className=\"switch switch-text switch-primary\">\n                    <Form.Control\n                      type=\"checkbox\"\n                      id=\"backup-includePlugins\"\n                      name=\"enabled\"\n                      className=\"switch-input\"\n                      onChange={includePluginsChange}\n                      checked={includePlugins}\n                    />\n                    <span\n                      className=\"switch-label\"\n                      data-on=\"Yes\"\n                      data-off=\"No\"\n                    />\n                    <span className=\"switch-handle\" />\n                  </Form.Label>\n                  <Form.Text className=\"text-muted\">\n                    Selecting Yes will increase the size of the backup, but will\n                    allow for offline restore.\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n            </Form>\n          </Card.Body>\n          <Card.Footer>\n            <Button size=\"sm\" variant=\"primary\" onClick={backup}>\n              <FontAwesomeIcon icon={faCircleDot} /> Backup\n            </Button>{' '}\n          </Card.Footer>\n        </Card>\n      )}\n      <Card>\n        <Card.Header>Restore Settings</Card.Header>\n        <Card.Body>\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n          >\n            {restoreState === RESTORE_NONE && !restoreStatus.state && (\n              <div>\n                <Form.Text className=\"text-muted\">\n                  Please select the backup file from your device to use in\n                  restoring the settings. Your existing settings will be\n                  overwritten.\n                </Form.Text>\n                <br />\n                <Form.Group as={Row}>\n                  <Col xs=\"12\" md={fieldColWidthMd}>\n                    <Form.Control\n                      type=\"file\"\n                      name=\"backupFile\"\n                      onChange={fileChanged}\n                    />\n                  </Col>\n                </Form.Group>\n              </div>\n            )}\n            {restoreState === RESTORE_CONFIRM && (\n              <Form.Group>\n                <Col xs=\"12\" md={fieldColWidthMd}>\n                  {Object.keys(restoreContents).map((name) => {\n                    return (\n                      <div key={name}>\n                        <Form.Label className=\"switch switch-text switch-primary\">\n                          <Form.Control\n                            type=\"checkbox\"\n                            id={name}\n                            name={name}\n                            className=\"switch-input\"\n                            onChange={handleRestoreFileChange}\n                            checked={restoreContents[name]}\n                          />\n                          <span\n                            className=\"switch-label\"\n                            data-on=\"Yes\"\n                            data-off=\"No\"\n                          />\n                          <span className=\"switch-handle\" />\n                        </Form.Label>{' '}\n                        {name}\n                      </div>\n                    )\n                  })}\n                </Col>\n              </Form.Group>\n            )}\n            {restoreStatus &&\n              restoreStatus.state &&\n              restoreStatus.state !== 'Complete' && (\n                <div>\n                  <Form.Group as={Row}>\n                    <Col xs=\"12\" md={fieldColWidthMd}>\n                      <Form.Text>\n                        {restoreStatus.state} : {restoreStatus.message}\n                      </Form.Text>\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col xs=\"12\" md={fieldColWidthMd}>\n                      <ProgressBar\n                        animated\n                        variant=\"success\"\n                        now={restoreStatus.percentComplete}\n                      />\n                    </Col>\n                  </Form.Group>\n                </div>\n              )}\n            {restoreStatus.state && restoreStatus.state === 'Complete' && (\n              <div>\n                <Form.Group as={Row}>\n                  <Col xs=\"12\" md={fieldColWidthMd}>\n                    <Form.Text>Please Restart</Form.Text>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col xs=\"12\" md={fieldColWidthMd}>\n                    <Button size=\"sm\" variant=\"danger\" onClick={handleRestart}>\n                      <FontAwesomeIcon icon={faCircleNotch} spin={restarting} />{' '}\n                      Restart\n                    </Button>\n                  </Col>\n                </Form.Group>\n              </div>\n            )}\n          </Form>\n        </Card.Body>\n        <Card.Footer>\n          {restoreState === RESTORE_NONE && !restoreStatus.state && (\n            <div>\n              <Button\n                size=\"sm\"\n                variant=\"danger\"\n                onClick={validate}\n                disabled={restoreFile === null}\n              >\n                <FontAwesomeIcon icon={faCircleDot} /> Restore\n              </Button>{' '}\n            </div>\n          )}\n          {restoreState === RESTORE_CONFIRM && (\n            <div>\n              <Button size=\"sm\" variant=\"primary\" onClick={cancelRestore}>\n                <FontAwesomeIcon icon={faCircleDot} /> Cancel\n              </Button>{' '}\n              <Button size=\"sm\" variant=\"danger\" onClick={restore}>\n                <FontAwesomeIcon icon={faCircleDot} /> Confirm\n              </Button>\n            </div>\n          )}\n        </Card.Footer>\n      </Card>\n    </div>\n  )\n}\n\nexport default BackupRestore\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/BasicProvider.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useCallback,\n  useRef,\n  ChangeEvent,\n  ReactNode\n} from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport N2KFilters from './N2KFilters'\n\ninterface ProviderOptions {\n  type?: string\n  device?: string\n  baudrate?: number\n  port?: string\n  host?: string\n  interface?: string\n  uniqueNumber?: string\n  mfgCode?: string\n  useCanName?: boolean\n  useCamelCompat?: boolean\n  createDevice?: boolean\n  sendNetworkStats?: boolean\n  noDataReceivedTimeout?: string\n  remoteSelf?: string\n  selfHandling?: string\n  subscription?: string\n  selfsignedcert?: boolean\n  token?: string\n  useDiscovery?: boolean\n  toStdout?: string | string[]\n  ignoredSentences?: string | string[]\n  sentenceEvent?: string\n  validateChecksum?: boolean\n  appendChecksum?: boolean\n  overrideTimestamp?: boolean\n  removeNulls?: boolean\n  suppress0183event?: boolean\n  dataType?: string\n  filename?: string\n  gpio?: string\n  gpioInvert?: boolean\n  filtersEnabled?: boolean\n  filters?: Array<{ source: string; pgn: string }>\n  [key: string]: unknown\n}\n\ninterface ProviderValue {\n  type: string\n  id: string\n  enabled: boolean\n  logging?: boolean\n  isNew?: boolean\n  options: ProviderOptions\n  [key: string]: unknown\n}\n\ninterface DeviceListMap {\n  byOpenPlotter?: string[]\n  byId?: string[]\n  byPath?: string[]\n  serialports?: string[]\n  [key: string]: string[] | undefined\n}\n\ntype OnChangeHandler = (\n  event:\n    | ChangeEvent<HTMLInputElement>\n    | { target: { name: string; value: unknown; type?: string } },\n  valueType?: string\n) => void\ntype OnPropChangeHandler = (\n  event:\n    | ChangeEvent<HTMLInputElement>\n    | { target: { name: string; value: unknown; type?: string } }\n) => void\n\ninterface BasicProviderProps {\n  value: ProviderValue\n  onChange: OnChangeHandler\n  onPropChange: OnPropChangeHandler\n}\n\ninterface TextInputProps {\n  name: string\n  title: string\n  value: string | number | undefined\n  helpText?: string\n  onChange: OnChangeHandler\n}\n\ninterface TextAreaInputProps {\n  name: string\n  title: string\n  value: string | undefined\n  rows?: number\n  helpText?: string\n  onChange: OnChangeHandler\n}\n\ninterface DeviceInputProps {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}\n\ninterface LoggingInputProps {\n  value: ProviderValue\n  onChange: OnChangeHandler\n}\n\ninterface ValidateChecksumInputProps {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}\n\ninterface OverrideTimestampsProps {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}\n\ninterface TypeComponentProps {\n  value: ProviderValue\n  onChange: OnChangeHandler\n  hasAnalyzer?: boolean\n}\n\n// Defined outside component to avoid recreation on render\nconst TYPE_COMPONENTS: Record<\n  string,\n  React.ComponentType<TypeComponentProps>\n> = {\n  NMEA2000: NMEA2000,\n  NMEA0183: NMEA0183,\n  SignalK: SignalK,\n  Seatalk: Seatalk,\n  FileStream: FileStream\n}\n\nexport default function BasicProvider({\n  value,\n  onChange,\n  onPropChange\n}: BasicProviderProps) {\n  const [hasAnalyzer, setHasAnalyzer] = useState(false)\n\n  useEffect(() => {\n    fetch(`${window.serverRoutesPrefix}/hasAnalyzer`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data) => {\n        setHasAnalyzer(data)\n      })\n  }, [])\n\n  const TypeComponent = TYPE_COMPONENTS[value.type]\n\n  return (\n    <div>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col xs=\"3\" md=\"3\">\n          <Form.Label htmlFor=\"select\">Data Type</Form.Label>\n        </Col>\n        <Col xs=\"6\" md=\"3\">\n          {value.isNew ? (\n            <Form.Select\n              value={value.type}\n              name=\"type\"\n              onChange={(event) => onChange(event)}\n            >\n              <option value=\"NMEA2000\">NMEA 2000</option>\n              <option value=\"NMEA0183\">NMEA 0183</option>\n              <option value=\"SignalK\">Signal K</option>\n              <option value=\"Seatalk\">Seatalk (GPIO)</option>\n              <option value=\"FileStream\">File Stream</option>\n            </Form.Select>\n          ) : (\n            value.type\n          )}\n        </Col>\n      </Form.Group>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col xs=\"3\" md=\"3\">\n          <Form.Label htmlFor=\"provider-enabled\">Enabled</Form.Label>\n        </Col>\n        <Col xs=\"2\" md=\"3\">\n          <Form.Label className=\"switch switch-text switch-primary\">\n            <input\n              type=\"checkbox\"\n              id=\"provider-enabled\"\n              name=\"enabled\"\n              className=\"switch-input\"\n              onChange={(event) => onChange(event)}\n              checked={value.enabled}\n            />\n            <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n            <span className=\"switch-handle\" />\n          </Form.Label>\n        </Col>\n      </Form.Group>\n      {value.type !== 'FileStream' && (\n        <LoggingInput value={value} onChange={onChange} />\n      )}\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"id\">ID</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Control\n            type=\"text\"\n            name=\"id\"\n            value={value.id}\n            disabled={!value.isNew}\n            onChange={(event) => {\n              const dummyEvent = {\n                target: {\n                  name: event.target.name,\n                  type: event.target.type,\n                  value: (event.target.value || '').replace(\n                    /[^a-zA-Z\\d-_]/g,\n                    ''\n                  )\n                }\n              }\n              onChange(dummyEvent)\n            }}\n          />\n        </Col>\n      </Form.Group>\n      {TypeComponent && (\n        <TypeComponent\n          value={value}\n          onChange={onChange}\n          hasAnalyzer={hasAnalyzer}\n        />\n      )}\n      <OverrideTimestamps value={value.options} onChange={onChange} />\n\n      {value.type === 'NMEA2000' && (\n        <N2KFilters value={value} onChange={onPropChange} />\n      )}\n    </div>\n  )\n}\n\nfunction TextInput({ name, title, value, helpText, onChange }: TextInputProps) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col md=\"3\">\n        <Form.Label htmlFor={name}>{title}</Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"3\">\n        <Form.Control\n          type=\"text\"\n          name={name}\n          value={value ?? ''}\n          onChange={(event) => onChange(event)}\n        />\n        {helpText && <Form.Text muted>{helpText}</Form.Text>}\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction TextAreaInput({\n  name,\n  title,\n  value,\n  rows,\n  helpText,\n  onChange\n}: TextAreaInputProps) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col md=\"3\">\n        <Form.Label htmlFor={name}>{title}</Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"3\">\n        <Form.Control\n          as=\"textarea\"\n          name={name}\n          value={value ?? ''}\n          rows={rows}\n          onChange={(event) => onChange(event)}\n        />\n        {helpText && <Form.Text muted>{helpText}</Form.Text>}\n      </Col>\n    </Form.Group>\n  )\n}\n\ninterface TestConnectionResult {\n  success: boolean\n  authenticated?: boolean\n  connected?: boolean\n  self?: string\n  server?: { id: string; version: string }\n  error?: string\n}\n\ninterface AccessRequestState {\n  requestId?: string\n  state: 'idle' | 'requesting' | 'pending' | 'polling' | 'completed' | 'error'\n  error?: string\n}\n\nfunction TokenInput({\n  value,\n  onChange\n}: {\n  value: ProviderValue\n  onChange: OnChangeHandler\n}) {\n  const [testResult, setTestResult] = useState<TestConnectionResult | null>(\n    null\n  )\n  const [testing, setTesting] = useState(false)\n  const [accessRequest, setAccessRequest] = useState<AccessRequestState>({\n    state: 'idle'\n  })\n  const pollTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n  useEffect(() => {\n    return () => {\n      if (pollTimerRef.current) {\n        clearTimeout(pollTimerRef.current)\n      }\n    }\n  }, [])\n\n  const remoteParams = useCallback(\n    () => ({\n      host: value.options.host,\n      port: value.options.port,\n      useTLS: value.options.type === 'wss',\n      selfsignedcert: value.options.selfsignedcert\n    }),\n    [\n      value.options.host,\n      value.options.port,\n      value.options.type,\n      value.options.selfsignedcert\n    ]\n  )\n\n  const testConnection = useCallback(() => {\n    setTesting(true)\n    setTestResult(null)\n    fetch(`${window.serverRoutesPrefix}/testSignalKConnection`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      credentials: 'include',\n      body: JSON.stringify({\n        ...remoteParams(),\n        token: value.options.token\n      })\n    })\n      .then((response) => response.json())\n      .then((result: TestConnectionResult) => setTestResult(result))\n      .catch((err: Error) =>\n        setTestResult({ success: false, error: err.message })\n      )\n      .finally(() => setTesting(false))\n  }, [remoteParams, value.options.token])\n\n  const pollAccessRequestRef = useRef<(requestId: string) => void>(() => {})\n\n  const pollAccessRequest = useCallback(\n    (requestId: string) => {\n      fetch(`${window.serverRoutesPrefix}/checkAccessRequest`, {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        credentials: 'include',\n        body: JSON.stringify({ ...remoteParams(), requestId })\n      })\n        .then((response) => response.json())\n        .then((data) => {\n          if (data.state === 'COMPLETED') {\n            const token = data.accessRequest?.token\n            if (token) {\n              onChange({\n                target: { name: 'options.token', value: token }\n              })\n              setAccessRequest({ state: 'completed' })\n            } else if (data.accessRequest?.permission === 'DENIED') {\n              setAccessRequest({ state: 'error', error: 'Access denied' })\n            }\n          } else if (data.state === 'PENDING') {\n            setAccessRequest({\n              state: 'pending',\n              requestId\n            })\n            pollTimerRef.current = setTimeout(\n              () => pollAccessRequestRef.current(requestId),\n              5000\n            )\n          } else {\n            setAccessRequest({\n              state: 'error',\n              error: data.error || `Unexpected state: ${data.state}`\n            })\n          }\n        })\n        .catch((err: Error) => {\n          setAccessRequest({ state: 'error', error: err.message })\n        })\n    },\n    [remoteParams, onChange]\n  )\n\n  useEffect(() => {\n    pollAccessRequestRef.current = pollAccessRequest\n  }, [pollAccessRequest])\n\n  const requestAccess = useCallback(() => {\n    // If we have a previous requestId from a cancelled request, resume polling\n    if (accessRequest.requestId) {\n      setAccessRequest({ state: 'pending', requestId: accessRequest.requestId })\n      pollTimerRef.current = setTimeout(\n        () => pollAccessRequestRef.current(accessRequest.requestId!),\n        1000\n      )\n      return\n    }\n\n    setAccessRequest({ state: 'requesting' })\n    const clientId = `${value.id || 'signalk-server'}-${Date.now()}`\n    fetch(`${window.serverRoutesPrefix}/requestAccess`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      credentials: 'include',\n      body: JSON.stringify({\n        ...remoteParams(),\n        clientId,\n        description: `Signal K Server connection: ${value.id || 'unknown'}`\n      })\n    })\n      .then((response) => response.json())\n      .then((data) => {\n        if (data.state === 'PENDING' && data.requestId) {\n          setAccessRequest({ state: 'pending', requestId: data.requestId })\n          pollTimerRef.current = setTimeout(\n            () => pollAccessRequestRef.current(data.requestId),\n            5000\n          )\n        } else {\n          setAccessRequest({\n            state: 'error',\n            error:\n              data.message ||\n              data.error ||\n              `Unexpected response: ${JSON.stringify(data)}`\n          })\n        }\n      })\n      .catch((err: Error) => {\n        setAccessRequest({ state: 'error', error: err.message })\n      })\n  }, [remoteParams, value.id, accessRequest.requestId])\n\n  const cancelPolling = useCallback(() => {\n    if (pollTimerRef.current) {\n      clearTimeout(pollTimerRef.current)\n      pollTimerRef.current = null\n    }\n    setAccessRequest((prev) => ({\n      state: 'idle',\n      requestId: prev.requestId\n    }))\n  }, [])\n\n  return (\n    <>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"options.token\">Authentication Token</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Control\n            type=\"text\"\n            name=\"options.token\"\n            value={value.options.token ?? ''}\n            onChange={(event) => onChange(event)}\n          />\n          <Form.Text muted>\n            Use &quot;Request Access&quot; to request a token from the remote\n            server. An admin on the remote server must approve the request.\n          </Form.Text>\n        </Col>\n      </Form.Group>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\" />\n        <Col xs=\"12\" md=\"3\">\n          <div className=\"d-flex flex-wrap gap-2\">\n            <Button\n              size=\"sm\"\n              variant=\"outline-primary\"\n              onClick={requestAccess}\n              disabled={\n                !value.options.host ||\n                !value.options.port ||\n                accessRequest.state === 'requesting' ||\n                accessRequest.state === 'pending'\n              }\n            >\n              {accessRequest.state === 'requesting'\n                ? 'Requesting...'\n                : 'Request Access'}\n            </Button>\n            <Button\n              size=\"sm\"\n              variant=\"outline-primary\"\n              onClick={testConnection}\n              disabled={testing || !value.options.host || !value.options.port}\n            >\n              {testing ? 'Testing...' : 'Test Connection'}\n            </Button>\n          </div>\n          {accessRequest.state === 'pending' && (\n            <div className=\"mt-2\">\n              <span className=\"text-warning\">\n                Waiting for approval on the remote server...\n              </span>\n              <Button\n                size=\"sm\"\n                variant=\"link\"\n                className=\"p-0 ms-2\"\n                onClick={cancelPolling}\n              >\n                Cancel\n              </Button>\n            </div>\n          )}\n          {accessRequest.state === 'completed' && (\n            <div className=\"mt-2\">\n              <span className=\"text-success\">\n                Access approved. Token has been filled in automatically.\n              </span>\n            </div>\n          )}\n          {accessRequest.state === 'error' && (\n            <div className=\"mt-2\">\n              <span className=\"text-danger\">{accessRequest.error}</span>\n            </div>\n          )}\n          {testResult && (\n            <div className=\"mt-2\">\n              {testResult.success && testResult.authenticated ? (\n                <span className=\"text-success\">\n                  Connected and authenticated\n                  {testResult.server &&\n                    ` \\u2014 ${testResult.server.id} v${testResult.server.version}`}\n                </span>\n              ) : testResult.success && !testResult.authenticated ? (\n                <span className=\"text-warning\">\n                  Connected but not authenticated — use Request Access or enter\n                  a token\n                  {testResult.server &&\n                    ` \\u2014 ${testResult.server.id} v${testResult.server.version}`}\n                </span>\n              ) : (\n                <span className=\"text-danger\">\n                  {testResult.connected ? 'Connected but ' : ''}\n                  {testResult.error}\n                </span>\n              )}\n            </div>\n          )}\n        </Col>\n      </Form.Group>\n    </>\n  )\n}\n\nfunction DeviceInput({ value, onChange }: DeviceInputProps) {\n  const [devices, setDevices] = useState<DeviceListMap>({})\n\n  useEffect(() => {\n    fetch(`${window.serverRoutesPrefix}/serialports`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data) => {\n        data.serialports = data.serialports.map(\n          (portInfo: { path: string }) => portInfo.path\n        )\n        setDevices(data)\n      })\n  }, [])\n\n  const isManualEntry = !isListedDevice(value.device, devices)\n  const manualEntryValue = isManualEntry\n    ? value.device === 'Enter manually'\n      ? ''\n      : value.device\n    : ''\n\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col md=\"3\">\n        <Form.Label htmlFor=\"serialportselect\">Serial port</Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"3\">\n        <Form.Select\n          name=\"options.device\"\n          id=\"serialportselect\"\n          onChange={onChange}\n          value={isManualEntry ? 'Enter manually' : value.device}\n        >\n          <option key=\"enterManually\">Enter manually</option>\n          {serialportListOptions(\n            ['byOpenPlotter', 'byId', 'byPath', 'serialports'],\n            ['OpenPlotter managed:', 'by-id:', 'by-path:', 'Listed:'],\n            devices\n          )}\n        </Form.Select>\n      </Col>\n      <Col xs=\"12\" md=\"3\">\n        <Form.Control\n          type=\"text\"\n          name=\"options.device\"\n          disabled={!isManualEntry}\n          value={manualEntryValue || ''}\n          onChange={(event) => onChange(event)}\n        />\n      </Col>\n    </Form.Group>\n  )\n}\n\nconst isListedDevice = (\n  device: string | undefined,\n  deviceListMap: DeviceListMap\n): boolean => {\n  const list = Object.keys(deviceListMap).reduce<string[]>((acc, key) => {\n    return acc.concat(deviceListMap[key] || [])\n  }, [])\n  return list.includes(device || '')\n}\n\nconst serialportListOptions = (\n  keys: string[],\n  labels: string[],\n  deviceListMap: DeviceListMap\n): ReactNode[] => {\n  return keys.reduce<ReactNode[]>((acc, key, j) => {\n    const devices = deviceListMap[key]\n    if (devices && devices.length > 0) {\n      acc.push(\n        <option disabled key={key}>\n          {labels[j]}\n        </option>\n      )\n      devices.forEach((device) => {\n        acc.push(<option key={`${key}-${device}`}>{device}</option>)\n      })\n    }\n    return acc\n  }, [])\n}\n\nfunction LoggingInput({ value, onChange }: LoggingInputProps) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-logging\">Data Logging</Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-logging\"\n            name=\"logging\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.logging}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n        {value.logging && (\n          <Form.Text className=\"text-warning\">\n            Creates hourly log files that can consume significant disk space\n          </Form.Text>\n        )}\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction ValidateChecksumInput({\n  value,\n  onChange\n}: ValidateChecksumInputProps) {\n  // Default to true if undefined - controlled with fallback\n  const isValidateChecksumEnabled = value.validateChecksum ?? true\n\n  const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const newValidateChecksum = event.target.checked\n    onChange(event)\n\n    // When enabling validateChecksum, disable appendChecksum\n    // (they are mutually exclusive - can't append checksum if validating it)\n    if (newValidateChecksum && value.appendChecksum) {\n      onChange({\n        target: {\n          name: 'options.appendChecksum',\n          value: false,\n          type: 'checkbox'\n        }\n      })\n    }\n  }\n\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-validateChecksum\">\n          Validate Checksum\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-validateChecksum\"\n            name=\"options.validateChecksum\"\n            className=\"switch-input\"\n            onChange={handleChange}\n            checked={isValidateChecksumEnabled}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction OverrideTimestamps({ value, onChange }: OverrideTimestampsProps) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-overrideTimestamp\">\n          Override timestamps\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-overrideTimestamp\"\n            name=\"options.overrideTimestamp\"\n            className=\"switch-input\"\n            onChange={onChange}\n            checked={value.overrideTimestamp}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction RemoveNullsInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-removeNulls\">\n          Remove NULL characters\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-removeNulls\"\n            name=\"options.removeNulls\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.removeNulls}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction AppendChecksum({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  // validateChecksum defaults to true when undefined\n  const isValidateChecksumEnabled = value.validateChecksum ?? true\n\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-appendChecksum\">\n          Append Checksum\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"1\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-appendChecksum\"\n            name=\"options.appendChecksum\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.appendChecksum && !isValidateChecksumEnabled}\n            disabled={isValidateChecksumEnabled}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"6\">\n        {isValidateChecksumEnabled && (\n          <label className=\"text-muted small\">\n            Turn Validate Checksum OFF to enable appending the checksum\n          </label>\n        )}\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction SentenceEventInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"Input Event\"\n      name=\"options.sentenceEvent\"\n      helpText=\"Additional event name for incoming sentences. Example: nmea1data\"\n      value={value.sentenceEvent}\n      onChange={onChange}\n    />\n  )\n}\n\nfunction DataTypeInput({\n  value,\n  onChange,\n  hasAnalyzer\n}: {\n  value: ProviderValue\n  onChange: OnChangeHandler\n  hasAnalyzer?: boolean\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col md=\"3\">\n        <Form.Label htmlFor=\"dataType\">Data Type</Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"4\">\n        <Form.Select\n          value={value.options.dataType}\n          name=\"options.dataType\"\n          onChange={(event) => onChange(event)}\n        >\n          {!value.options.dataType && (\n            <option value=\"\">Select data type</option>\n          )}\n          <option value=\"SignalK\">Signal K</option>\n          <option value=\"NMEA2000JS\">Actisense NMEA 2000 (canboatjs)</option>\n          <option value=\"NMEA2000IK\">iKonvert NMEA 2000 (canboatjs)</option>\n          <option value=\"NMEA2000YD\">\n            Yacht Devices YDGW-02 NMEA 2000 (canboatjs)\n          </option>\n          <option value=\"NMEA2000\" disabled={!hasAnalyzer}>\n            NMEA 2000 (canboat)\n          </option>\n          <option value=\"NMEA0183\">NMEA 0183</option>\n          {value.type === 'FileStream' && (\n            <option value=\"Multiplexed\">Multiplexed Log</option>\n          )}\n        </Form.Select>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction BaudRateInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"Baud Rate\"\n      name=\"options.baudrate\"\n      helpText=\"Example: 4800\"\n      value={value.baudrate}\n      onChange={(event) => onChange(event, 'number')}\n    />\n  )\n}\n\nfunction BaudRateInputCanboat({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  // Default baud rate based on device type - controlled with fallback\n  const defaultBaudrate = value.type === 'ikonvert-canboatjs' ? 230400 : 115200\n  const displayBaudrate = value.baudrate ?? defaultBaudrate\n\n  return (\n    <TextInput\n      title=\"Baud Rate\"\n      name=\"options.baudrate\"\n      value={displayBaudrate}\n      onChange={(event) => onChange(event, 'number')}\n    />\n  )\n}\n\nfunction StdOutInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  let displayValue = value.toStdout\n  if (Array.isArray(displayValue)) {\n    displayValue = displayValue.join(',')\n  }\n\n  const handleChange: OnChangeHandler = (e) => {\n    const target = e.target as { type?: string; name: string; value: unknown }\n    onChange({\n      target: {\n        type: target.type,\n        name: target.name,\n        value: String(target.value).split(',')\n      }\n    })\n  }\n\n  return (\n    <TextInput\n      title=\"Output Events\"\n      name=\"options.toStdout\"\n      helpText=\"Events that should be written as output to this connection. Example: nmea0183,nmea0183out\"\n      value={displayValue as string}\n      onChange={handleChange}\n    />\n  )\n}\n\nfunction IgnoredSentences({\n  value,\n  onChange,\n  helpText\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n  helpText: string\n}) {\n  let displayValue = value.ignoredSentences\n  if (Array.isArray(displayValue)) {\n    displayValue = displayValue.join(',')\n  }\n\n  const handleChange: OnChangeHandler = (e) => {\n    const target = e.target as { type?: string; name: string; value: unknown }\n    onChange({\n      target: {\n        type: target.type,\n        name: target.name,\n        value: String(target.value).split(',')\n      }\n    })\n  }\n\n  return (\n    <TextInput\n      title=\"Ignored Sentences\"\n      name=\"options.ignoredSentences\"\n      helpText={helpText}\n      value={displayValue as string}\n      onChange={handleChange}\n    />\n  )\n}\n\nfunction PortInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"Port\"\n      name=\"options.port\"\n      helpText=\"Example: 4123\"\n      value={value.port}\n      onChange={onChange}\n    />\n  )\n}\n\nfunction HostInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"Host\"\n      name=\"options.host\"\n      helpText=\"Example: localhost\"\n      value={value.host}\n      onChange={onChange}\n    />\n  )\n}\n\nfunction NoDataReceivedTimeoutInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"No data timeout\"\n      name=\"options.noDataReceivedTimeout\"\n      helpText=\"Timeout for no data received in seconds (default: 60). Socket is disconnected and reconnection attempted if timeout is reached. Set to 0 to disable.\"\n      value={value.noDataReceivedTimeout}\n      onChange={onChange}\n    />\n  )\n}\n\nfunction RemoteSelfInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <TextInput\n      title=\"Remote 'self' to use\"\n      name=\"options.remoteSelf\"\n      helpText=\"like vessels.urn:mrn:signalk:uuid:f6d9f041-4e61-4335-82c0-7a51fb10ae86 OR vessels.urn:mrn:imo:mmsi:230099999\"\n      value={value.remoteSelf}\n      onChange={onChange}\n    />\n  )\n}\n\nfunction Suppress0183Checkbox({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-suppress0183event\">\n          Suppress nmea0183 event\n        </Form.Label>\n      </Col>\n      <Col xs=\"1\" md=\"1\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-suppress0183event\"\n            name=\"options.suppress0183event\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.suppress0183event}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n      <Col xs=\"12\" md=\"6\">\n        <label className=\"text-muted small\">\n          Supress sending the default nmea0183 event for incoming sentences\n        </label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction UseCanNameInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-useCanName\">\n          Use Can NAME in source data\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-useCanName\"\n            name=\"options.useCanName\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.useCanName}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction CreateDeviceInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-createDevice\">\n          Act as N2K device (createDevice)\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-createDevice\"\n            name=\"options.createDevice\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.createDevice === true}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n      <Col xs=\"7\" md=\"6\" className=\"form-text text-muted small\">\n        Claim an N2K address and participate actively on the bus. Recommended\n        for Yacht Devices gateways — when off, the gateway may drop ISO Requests\n        for PGN 60928 / 126996 / 126998 and device identity (model, software\n        version, serial) stays incomplete.\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction CamelCaseCompatInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-useCamelCompat\">\n          CamcelCase Compat (for legacy N2K plugins)\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-useCamelCompat\"\n            name=\"options.useCamelCompat\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={\n              value.useCamelCompat !== undefined ? value.useCamelCompat : true\n            }\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction CollectNetworkStatsInput({\n  value,\n  onChange\n}: {\n  value: ProviderOptions\n  onChange: OnChangeHandler\n}) {\n  return (\n    <Form.Group as={Row} className=\"mb-3\">\n      <Col xs=\"3\" md=\"3\">\n        <Form.Label htmlFor=\"provider-sendNetworkStats\">\n          Collect Network Statistics\n        </Form.Label>\n      </Col>\n      <Col xs=\"2\" md=\"3\">\n        <Form.Label className=\"switch switch-text switch-primary\">\n          <input\n            type=\"checkbox\"\n            id=\"provider-sendNetworkStats\"\n            name=\"options.sendNetworkStats\"\n            className=\"switch-input\"\n            onChange={(event) => onChange(event)}\n            checked={value.sendNetworkStats}\n          />\n          <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n          <span className=\"switch-handle\" />\n        </Form.Label>\n      </Col>\n    </Form.Group>\n  )\n}\n\nfunction NMEA2000({ value, onChange, hasAnalyzer }: TypeComponentProps) {\n  return (\n    <div>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"options.type\">NMEA 2000 Source</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Select\n            value={value.options.type || 'none'}\n            name=\"options.type\"\n            onChange={(event) => onChange(event)}\n          >\n            <option value=\"none\">Select a source</option>\n            <option value=\"ngt-1-canboatjs\">Actisense NGT-1 (canboatjs)</option>\n            <option value=\"ngt-1\" disabled={!hasAnalyzer}>\n              Actisense NGT-1 (canboat)\n            </option>\n            <option value=\"ikonvert-canboatjs\">iKonvert (canboatjs)</option>\n            <option value=\"navlink2-tcp-canboatjs\">NavLink2 (canboatjs)</option>\n            <option value=\"ydwg02-canboatjs\">\n              Yacht Devices RAW TCP (canboatjs)\n            </option>\n            <option value=\"ydwg02-udp-canboatjs\">\n              Yacht Devices RAW UDP (canboatjs)\n            </option>\n            <option value=\"ydwg02-usb-canboatjs\">\n              Yacht Devices RAW USB (canboatjs)\n            </option>\n            <option value=\"canbus-canboatjs\">Canbus (canboatjs)</option>\n            <option value=\"w2k-1-n2k-ascii-canboatjs\">\n              W2K-1 N2K ASCII (canboatjs)\n            </option>\n            <option value=\"w2k-1-n2k-actisense-canboatjs\">\n              W2K-1 N2K ACTISENSE (canboatjs)\n            </option>\n            <option value=\"canbus\" disabled={!hasAnalyzer}>\n              Canbus (canboat)\n            </option>\n          </Form.Select>\n        </Col>\n      </Form.Group>\n      {(value.options.type === 'ngt-1' ||\n        value.options.type === 'ngt-1-canboatjs' ||\n        value.options.type === 'ydwg02-usb-canboatjs' ||\n        value.options.type === 'ikonvert-canboatjs') && (\n        <div>\n          <DeviceInput value={value.options} onChange={onChange} />\n          <BaudRateInputCanboat value={value.options} onChange={onChange} />\n        </div>\n      )}\n      {value.options.type === 'ydwg02-canboatjs' && (\n        <div>\n          <HostInput value={value.options} onChange={onChange} />\n          <PortInput value={value.options} onChange={onChange} />\n          <NoDataReceivedTimeoutInput\n            value={value.options}\n            onChange={onChange}\n          />\n        </div>\n      )}\n      {value.options.type === 'ydwg02-udp-canboatjs' && (\n        <div>\n          <HostInput value={value.options} onChange={onChange} />\n          <PortInput value={value.options} onChange={onChange} />\n        </div>\n      )}\n      {value.options.type === 'navlink2-tcp-canboatjs' && (\n        <div>\n          <HostInput value={value.options} onChange={onChange} />\n          <PortInput value={value.options} onChange={onChange} />\n          <NoDataReceivedTimeoutInput\n            value={value.options}\n            onChange={onChange}\n          />\n        </div>\n      )}\n      {(value.options.type === 'canbus' ||\n        value.options.type === 'canbus-canboatjs') && (\n        <div>\n          <TextInput\n            title=\"Interface\"\n            name=\"options.interface\"\n            helpText=\"Example: can0\"\n            value={value.options.interface}\n            onChange={onChange}\n          />\n          <TextInput\n            title=\"UniqueNumber\"\n            name=\"options.uniqueNumber\"\n            helpText=\"Example: any number from 1 to 2097151, will be equal to SerialNumber of a SignalK NMEA2000 device. Leave empty for random (default). Set a fixed value if you have problem with source identification on some B&G MFD's after SignalK restart.\"\n            value={value.options.uniqueNumber}\n            onChange={onChange}\n          />\n          <TextInput\n            title=\"ManufacturerCode\"\n            name=\"options.mfgCode\"\n            helpText=\"Example: 999 - Unknown (default), 0 - Internal, or any other mabufacturer code to emulate. Leave empty for default 999.  Set to 0 if you have problem with source identification on some B&G MFD's after SignalK restart.\"\n            value={value.options.mfgCode}\n            onChange={onChange}\n          />\n        </div>\n      )}\n      {(value.options.type === 'ngt-1-canboatjs' ||\n        value.options.type === 'ikonvert-canboatjs' ||\n        value.options.type === 'navlink2-tcp-canboatjs') && (\n        <CollectNetworkStatsInput value={value.options} onChange={onChange} />\n      )}\n      {(value.options.type === 'w2k-1-n2k-ascii-canboatjs' ||\n        value.options.type === 'w2k-1-n2k-actisense-canboatjs') && (\n        <div>\n          <HostInput value={value.options} onChange={onChange} />\n          <PortInput value={value.options} onChange={onChange} />\n          <NoDataReceivedTimeoutInput\n            value={value.options}\n            onChange={onChange}\n          />\n        </div>\n      )}\n      <UseCanNameInput value={value.options} onChange={onChange} />\n      {value.options.type !== undefined &&\n        value.options.type.indexOf('canboatjs') !== -1 && (\n          <CamelCaseCompatInput value={value.options} onChange={onChange} />\n        )}\n      {value.options.type !== undefined &&\n        /^ydwg02/.test(value.options.type) && (\n          <CreateDeviceInput value={value.options} onChange={onChange} />\n        )}\n    </div>\n  )\n}\n\nfunction NMEA0183({ value, onChange }: TypeComponentProps) {\n  return (\n    <div>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"options.type\">NMEA 0183 Source</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Select\n            value={value.options.type}\n            name=\"options.type\"\n            onChange={(event) => onChange(event)}\n          >\n            <option>Select a source</option>\n            <option value=\"serial\">Serial</option>\n            <option value=\"tcp\">TCP Client</option>\n            <option value=\"tcpserver\">TCP Server on port 10110</option>\n            <option value=\"udp\">UDP</option>\n            <option value=\"gpsd\">GPSD</option>\n          </Form.Select>\n        </Col>\n        {value.options.type === 'serial' && (\n          <Col xs=\"12\" md=\"6\">\n            Serial ports are bidirectional. Input from the connection is parsed\n            as NMEA0183. Configure Output Events below to connect server&apos;s\n            NMEA0183 data for output.\n          </Col>\n        )}\n        {value.options.type === 'tcpserver' && (\n          <Col xs=\"12\" md=\"6\">\n            Accept input from clients connected to the default TCP/10110\n            NMEA0183 server\n          </Col>\n        )}\n      </Form.Group>\n      {serialParams({ value, onChange })}\n      {(value.options.type === 'tcp' || value.options.type === 'gpsd') && (\n        <div>\n          <HostInput value={value.options} onChange={onChange} />\n          <PortInput value={value.options} onChange={onChange} />\n          <StdOutInput value={value.options} onChange={onChange} />\n          <NoDataReceivedTimeoutInput\n            value={value.options}\n            onChange={onChange}\n          />\n        </div>\n      )}\n      <div>\n        <Suppress0183Checkbox value={value.options} onChange={onChange} />\n      </div>\n      {value.options.type === 'udp' && (\n        <PortInput value={value.options} onChange={onChange} />\n      )}\n      <SentenceEventInput value={value.options} onChange={onChange} />\n      <ValidateChecksumInput value={value.options} onChange={onChange} />\n      <AppendChecksum value={value.options} onChange={onChange} />\n      <RemoveNullsInput value={value.options} onChange={onChange} />\n      <IgnoredSentences\n        value={value.options}\n        onChange={onChange}\n        helpText=\"NMEA0183 sentences to throw away from the input data. Example: RMC,ROT\"\n      />\n    </div>\n  )\n}\n\nfunction SignalK({ value, onChange }: TypeComponentProps) {\n  return (\n    <div>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"options.type\">SignalK Source</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Select\n            value={value.options.type}\n            name=\"options.type\"\n            onChange={(event) => onChange(event)}\n            disabled={value.options.useDiscovery}\n          >\n            <option>Select a source</option>\n            <option value=\"serial\">Serial</option>\n            <option value=\"ws\">WebSocket</option>\n            <option value=\"wss\">WebSocket SSL</option>\n            <option value=\"tcp\">TCP</option>\n            <option value=\"udp\">UDP</option>\n          </Form.Select>\n        </Col>\n      </Form.Group>\n      {value.options.useDiscovery && (\n        <p className=\"text-danger\">\n          This connection is deprecated, please delete it and recreate it with\n          the connection automatically discovered at the top of the page.\n        </p>\n      )}\n      {!value.options.useDiscovery &&\n        (value.options.type === 'ws' ||\n          value.options.type === 'wss' ||\n          value.options.type === 'tcp') && (\n          <div>\n            <HostInput value={value.options} onChange={onChange} />\n            <PortInput value={value.options} onChange={onChange} />\n            {value.options.type === 'wss' && (\n              <Form.Group as={Row} className=\"mb-3\">\n                <Col xs=\"0\" md=\"3\">\n                  <Form.Label htmlFor=\"provider-selfsignedcert\">\n                    Allow self signed certificates\n                  </Form.Label>\n                </Col>\n                <Col xs=\"12\" md=\"8\">\n                  <div>\n                    <Form.Label className=\"switch switch-text switch-primary\">\n                      <input\n                        type=\"checkbox\"\n                        id=\"provider-selfsignedcert\"\n                        name=\"options.selfsignedcert\"\n                        className=\"switch-input\"\n                        onChange={onChange}\n                        checked={value.options.selfsignedcert}\n                        disabled={!(value.options.type === 'wss')}\n                      />\n                      <span\n                        className=\"switch-label\"\n                        data-on=\"On\"\n                        data-off=\"Off\"\n                      />\n                      <span className=\"switch-handle\" />\n                    </Form.Label>\n                  </div>\n                </Col>\n              </Form.Group>\n            )}\n            {(value.options.type === 'ws' || value.options.type === 'wss') && (\n              <div>\n                <TextAreaInput\n                  title=\"Subscription\"\n                  name=\"options.subscription\"\n                  rows={6}\n                  value={value.options.subscription}\n                  onChange={(event) => onChange(event, 'jsonstring')}\n                  helpText=\"Defaults to all. This can be an array of subscriptions.\"\n                />\n                <TokenInput value={value} onChange={onChange} />\n              </div>\n            )}\n          </div>\n        )}\n      {value.options.type === 'udp' && (\n        <PortInput value={value.options} onChange={onChange} />\n      )}\n      {serialParams({ value, onChange })}\n      {!value.options.useDiscovery && (\n        <Form.Group as={Row} className=\"mb-3\">\n          <Col md=\"3\">\n            <Form.Label htmlFor=\"options.type\">\n              &apos;self&apos; handling\n            </Form.Label>\n          </Col>\n          <Col xs=\"12\" md=\"3\">\n            <Form.Select\n              value={value.options.selfHandling || 'useRemoteSelf'}\n              name=\"options.selfHandling\"\n              onChange={(event) => onChange(event)}\n            >\n              <option value=\"useRemoteSelf\">\n                Map remote &apos;self&apos; to local &apos;self&apos;\n              </option>\n              <option value=\"manualSelf\">Manual mapping</option>\n              <option value=\"noSelf\">No &apos;self&apos; mapping</option>\n            </Form.Select>\n          </Col>\n        </Form.Group>\n      )}\n      {!value.options.useDiscovery &&\n        value.options.selfHandling === 'manualSelf' && (\n          <RemoteSelfInput value={value.options} onChange={onChange} />\n        )}\n    </div>\n  )\n}\n\nconst gpios = [\n  4, 5, 6, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27\n].map((gpio) => `0${gpio}`.slice(-2))\n\nfunction Seatalk({ value, onChange }: TypeComponentProps) {\n  return (\n    <span>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"options.type\">GPIO Library</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Select\n            value={value.options.type || 'none'}\n            name=\"options.type\"\n            onChange={(event) => onChange(event)}\n          >\n            <option value=\"none\">Select a library</option>\n            <option value=\"gpiod\">gpiod</option>\n            <option value=\"pigpio\">pigpio (legacy)</option>\n          </Form.Select>\n        </Col>\n      </Form.Group>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"gpio\">GPIO Pin</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"3\">\n          <Form.Select\n            name=\"options.gpio\"\n            id=\"gpio\"\n            onChange={onChange}\n            value={value.options.gpio || gpios[0]}\n          >\n            {gpios.map((gpio) => (\n              <option key={gpio}>{`GPIO${gpio}`}</option>\n            ))}\n          </Form.Select>\n        </Col>\n      </Form.Group>\n      <Form.Group as={Row} className=\"mb-3\">\n        <Col md=\"3\">\n          <Form.Label htmlFor=\"gpioInvert\">Invert signal</Form.Label>\n        </Col>\n        <Col xs=\"12\" md=\"10\">\n          <Form.Label className=\"switch switch-text switch-primary\">\n            <input\n              type=\"checkbox\"\n              id=\"gpioInvert\"\n              name=\"options.gpioInvert\"\n              className=\"switch-input\"\n              onChange={onChange}\n              checked={value.options.gpioInvert}\n            />\n            <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n            <span className=\"switch-handle\" />\n          </Form.Label>\n        </Col>\n      </Form.Group>\n      <IgnoredSentences\n        value={value.options}\n        onChange={onChange}\n        helpText=\"SeaTalk1 command bytes (hex) to throw away from the input data. Example: 84,9C,11\"\n      />\n    </span>\n  )\n}\n\nfunction FileStream({ value, onChange, hasAnalyzer }: TypeComponentProps) {\n  return (\n    <div>\n      <DataTypeInput\n        hasAnalyzer={hasAnalyzer}\n        value={value}\n        onChange={onChange}\n      />\n      <TextInput\n        title=\"File Name\"\n        name=\"options.filename\"\n        value={value.options.filename}\n        onChange={onChange}\n      />\n    </div>\n  )\n}\n\nconst serialParams = ({\n  value,\n  onChange\n}: {\n  value: ProviderValue\n  onChange: OnChangeHandler\n}) =>\n  value.options.type === 'serial' && (\n    <div>\n      <DeviceInput value={value.options} onChange={onChange} />\n      <BaudRateInput value={value.options} onChange={onChange} />\n      <StdOutInput value={value.options} onChange={onChange} />\n    </div>\n  )\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/Logging.tsx",
    "content": "import React, { useState, useEffect, useCallback } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport ListGroup from 'react-bootstrap/ListGroup'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\n\nconst Logging: React.FC = () => {\n  const [hasData, setHasData] = useState(false)\n  const [authorized, setAuthorized] = useState(true)\n  const [logfileslist, setLogfileslist] = useState<string[]>([])\n\n  const fetchLogfileList = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/logfiles/`, {\n      credentials: 'include'\n    })\n      .then((response) => {\n        if (!response.ok) {\n          setAuthorized(false)\n          return null\n        }\n        return response.json()\n      })\n      .then((logfiles: string[] | null) => {\n        if (logfiles) {\n          logfiles.sort()\n          setLogfileslist(logfiles)\n          setHasData(true)\n          setAuthorized(true)\n        }\n      })\n  }, [])\n\n  useEffect(() => {\n    fetchLogfileList()\n  }, [fetchLogfileList])\n\n  const logfilesToRows = useCallback((logfiles: string[]) => {\n    // skserver-raw_2017-03-04T14.log\n    // 012345678901234567890123456789012\n    const datesWithHours = logfiles.reduce<Record<string, string[]>>(\n      (acc, logfile) => {\n        const date = logfile.substr(13, 10)\n        const hour = logfile.substr(24, 2)\n        if (!acc[date]) {\n          acc[date] = []\n        }\n        acc[date].push(hour)\n        return acc\n      },\n      {}\n    )\n\n    return Object.keys(datesWithHours).map((date) => {\n      return (\n        <ListGroup.Item key={date}>\n          {date}\n          {datesWithHours[date].map((hour) => (\n            <span key={`${date}-${hour}`}>\n              <a\n                href={`${window.serverRoutesPrefix}/logfiles/skserver-raw_${date}T${hour}.log`}\n              >\n                <Button className=\"m-2\">{hour}</Button>\n              </a>\n            </span>\n          ))}\n        </ListGroup.Item>\n      )\n    })\n  }, [])\n\n  if (!authorized) {\n    return <div className=\"animated fadeIn\">Not Authorized</div>\n  }\n\n  if (!hasData) {\n    return null\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Row>\n        <Col sm=\"12\" xl=\"12\">\n          <Card>\n            <Card.Header>\n              <FontAwesomeIcon icon={faAlignJustify} />{' '}\n              <strong>Data Logfiles</strong>\n            </Card.Header>\n            <Card.Body>\n              <ListGroup>{logfilesToRows(logfileslist)}</ListGroup>\n            </Card.Body>\n            <Card.Footer>\n              <small className=\"text-muted\">\n                Click button to download each logfile or\n              </small>\n              <a href={`${window.serverRoutesPrefix}/ziplogs`}>\n                <Button className=\"m-2\">Get all logs in one ZIP file</Button>\n              </a>\n            </Card.Footer>\n          </Card>\n        </Col>\n      </Row>\n    </div>\n  )\n}\n\nexport default Logging\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/N2KFilters.tsx",
    "content": "import { ChangeEvent } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Form from 'react-bootstrap/Form'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTrash } from '@fortawesome/free-solid-svg-icons/faTrash'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons/faCirclePlus'\n\ninterface N2KFilter {\n  source: string\n  pgn: string\n}\n\ninterface ProviderOptions {\n  filtersEnabled?: boolean\n  filters?: N2KFilter[]\n  useCanName?: boolean\n  [key: string]: unknown\n}\n\ninterface ProviderValue {\n  options: ProviderOptions\n  [key: string]: unknown\n}\n\ninterface N2KFiltersProps {\n  value: ProviderValue\n  onChange: (\n    event:\n      | ChangeEvent<HTMLInputElement>\n      | { target: { name: string; value: unknown; type?: string } }\n  ) => void\n}\n\nexport default function N2KFilters({ value, onChange }: N2KFiltersProps) {\n  const filters = value.options.filters ?? []\n\n  const handleFilterFieldChange = (\n    index: number,\n    field: keyof N2KFilter,\n    newValue: string\n  ) => {\n    const updatedFilters = filters.map((filter, i) =>\n      i === index ? { ...filter, [field]: newValue } : filter\n    )\n    onChange({\n      target: { name: 'options.filters', value: updatedFilters }\n    })\n  }\n\n  const deleteFilter = (index: number) => {\n    const updatedFilters = filters.filter((_, i) => i !== index)\n    onChange({\n      target: { name: 'options.filters', value: updatedFilters }\n    })\n  }\n\n  const handleEnabledChange = (event: ChangeEvent<HTMLInputElement>) => {\n    onChange({\n      target: {\n        name: 'options.filtersEnabled',\n        value: event.target.checked\n      }\n    })\n  }\n\n  const handleAddFilter = () => {\n    const updatedFilters = [...filters, { source: '', pgn: '' }]\n    onChange({\n      target: { name: 'options.filters', value: updatedFilters }\n    })\n  }\n\n  const sourceName = value.options.useCanName ? 'Can NAME' : 'Address'\n\n  return (\n    <div>\n      <Card>\n        <Card.Header>Filters</Card.Header>\n        <Card.Body>\n          <Form.Label className=\"switch switch-text switch-primary\">\n            <input\n              type=\"checkbox\"\n              name=\"filtersEnabled\"\n              className=\"switch-input\"\n              checked={!!value.options.filtersEnabled}\n              onChange={handleEnabledChange}\n            />\n            <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n            <span className=\"switch-handle\" />\n          </Form.Label>\n          &nbsp; Enabled <br />\n          <br />\n          Filter out all messages from a specific {sourceName} by entering just\n          the {sourceName}.<br />\n          Filter out a specific PGN from all devices by entering just the PGN.\n          <br />\n          Filter out a specific PGN from a specific {sourceName} by entering\n          both.\n          <br />\n          <br />\n          {filters.length > 0 && (\n            <Table responsive bordered striped size=\"sm\">\n              <thead>\n                <tr>\n                  <th>{sourceName}</th>\n                  <th>PGN</th>\n                  <th></th>\n                </tr>\n              </thead>\n              <tbody>\n                {filters.map((filter, index) => {\n                  return (\n                    <tr key={index}>\n                      <td>\n                        <Form.Control\n                          type=\"text\"\n                          name=\"source\"\n                          value={filter.source}\n                          onChange={(e) =>\n                            handleFilterFieldChange(\n                              index,\n                              'source',\n                              e.target.value\n                            )\n                          }\n                        />\n                      </td>\n                      <td>\n                        <Form.Control\n                          type=\"text\"\n                          name=\"pgn\"\n                          value={filter.pgn}\n                          onChange={(e) =>\n                            handleFilterFieldChange(\n                              index,\n                              'pgn',\n                              e.target.value\n                            )\n                          }\n                        />\n                      </td>\n                      <td>\n                        <Button\n                          variant=\"link\"\n                          className=\"text-danger\"\n                          onClick={() => deleteFilter(index)}\n                        >\n                          <FontAwesomeIcon icon={faTrash} />\n                        </Button>\n                      </td>\n                    </tr>\n                  )\n                })}\n              </tbody>\n            </Table>\n          )}\n          <Button size=\"sm\" variant=\"primary\" onClick={() => handleAddFilter()}>\n            <FontAwesomeIcon icon={faCirclePlus} /> Add\n          </Button>\n        </Card.Body>\n      </Card>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/PluginConfigurationForm.tsx",
    "content": "import Form from '@rjsf/core'\nimport validator from '@rjsf/validator-ajv8'\nimport {\n  getTemplate,\n  getUiOptions,\n  RJSFSchema,\n  UiSchema,\n  RegistryFieldsType,\n  RegistryWidgetsType\n} from '@rjsf/utils'\nimport { ReactNode } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPlus } from '@fortawesome/free-solid-svg-icons/faPlus'\nimport { faArrowUp } from '@fortawesome/free-solid-svg-icons/faArrowUp'\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons/faArrowDown'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\n\nconst GRID_COLUMNS = {\n  CONTENT: 'col-9',\n  TOOLBAR: 'col-3',\n  ADD_BUTTON_CONTAINER: 'col-3 offset-9'\n}\n\nconst CSS_CLASSES = {\n  FORM_CONTROL: 'form-control',\n  FORM_CHECK: 'form-check',\n  FORM_CHECK_INPUT: 'form-check-input',\n  FORM_CHECK_LABEL: 'form-check-label',\n  BTN_INFO: 'btn btn-info',\n  BTN_OUTLINE_DARK: 'btn btn-outline-dark',\n  BTN_DANGER: 'btn btn-danger',\n  ARRAY_ITEM: 'row array-item',\n  ARRAY_ITEM_TOOLBOX: 'array-item-toolbox',\n  ARRAY_ITEM_LIST: 'array-item-list',\n  ARRAY_ITEM_ADD: 'row',\n  FIELD_DESCRIPTION: 'field-description',\n  CHECKBOX: 'checkbox '\n}\n\nconst isArrayItemId = (id: string | undefined): boolean => {\n  if (!id || typeof id !== 'string') return false\n  const parts = id.split('_')\n  return parts.length > 2 && /^\\d+$/.test(parts[parts.length - 1])\n}\n\ninterface ButtonProps {\n  className?: string\n  onClick?: (e: React.MouseEvent) => void\n  disabled?: boolean\n  style?: React.CSSProperties\n  tabIndex?: number\n}\n\nconst createButton = (\n  className: string,\n  onClick: ((e: React.MouseEvent) => void) | undefined,\n  disabled: boolean | undefined,\n  style: React.CSSProperties | undefined,\n  icon: ReactNode,\n  tabIndex = 0\n) => (\n  <button\n    type=\"button\"\n    className={className}\n    onClick={onClick}\n    disabled={disabled}\n    tabIndex={tabIndex}\n    style={style}\n  >\n    {icon}\n  </button>\n)\n\ninterface ArrayFieldItemTemplateProps {\n  children: ReactNode\n  disabled?: boolean\n  hasToolbar?: boolean\n  hasMoveUp?: boolean\n  hasMoveDown?: boolean\n  hasRemove?: boolean\n  index: number\n  onDropIndexClick: (index: number) => (e?: React.MouseEvent) => void\n  onReorderClick: (\n    index: number,\n    newIndex: number\n  ) => (e?: React.MouseEvent) => void\n  readonly?: boolean\n  registry: {\n    templates: {\n      ButtonTemplates: {\n        MoveUpButton: React.ComponentType<\n          ButtonProps & { uiSchema?: UiSchema; registry: unknown }\n        >\n        MoveDownButton: React.ComponentType<\n          ButtonProps & { uiSchema?: UiSchema; registry: unknown }\n        >\n        RemoveButton: React.ComponentType<\n          ButtonProps & { uiSchema?: UiSchema; registry: unknown }\n        >\n      }\n    }\n    fields: RegistryFieldsType\n    widgets: RegistryWidgetsType\n  }\n  uiSchema?: UiSchema\n}\n\nconst ArrayFieldItemTemplate = (props: ArrayFieldItemTemplateProps) => {\n  const {\n    children,\n    disabled,\n    hasToolbar,\n    hasMoveUp,\n    hasMoveDown,\n    hasRemove,\n    index,\n    onDropIndexClick,\n    onReorderClick,\n    readonly,\n    registry,\n    uiSchema\n  } = props\n\n  const { MoveUpButton, MoveDownButton, RemoveButton } =\n    registry.templates.ButtonTemplates\n\n  return (\n    <div className={CSS_CLASSES.ARRAY_ITEM}>\n      <div className={GRID_COLUMNS.CONTENT}>{children}</div>\n      <div\n        className={`${GRID_COLUMNS.TOOLBAR} ${CSS_CLASSES.ARRAY_ITEM_TOOLBOX}`}\n      >\n        {hasToolbar && (\n          <div className=\"btn-group btn-group-flex\">\n            {(hasMoveUp || hasMoveDown) && (\n              <MoveUpButton\n                className=\"array-item-move-up array-button-style\"\n                disabled={disabled || readonly || !hasMoveUp}\n                onClick={onReorderClick(index, index - 1)}\n                uiSchema={uiSchema}\n                registry={registry}\n              />\n            )}\n            {(hasMoveUp || hasMoveDown) && (\n              <MoveDownButton\n                className=\"array-item-move-down array-button-style\"\n                disabled={disabled || readonly || !hasMoveDown}\n                onClick={onReorderClick(index, index + 1)}\n                uiSchema={uiSchema}\n                registry={registry}\n              />\n            )}\n            {hasRemove && (\n              <RemoveButton\n                className=\"array-item-remove array-button-style\"\n                disabled={disabled || readonly}\n                onClick={onDropIndexClick(index)}\n                uiSchema={uiSchema}\n                registry={registry}\n              />\n            )}\n          </div>\n        )}\n      </div>\n    </div>\n  )\n}\n\ninterface FieldTemplateProps {\n  id: string\n  classNames?: string\n  style?: React.CSSProperties\n  label?: string\n  help?: ReactNode\n  required?: boolean\n  description?: ReactNode\n  errors?: ReactNode\n  children: ReactNode\n  displayLabel?: boolean\n  schema: RJSFSchema\n}\n\nconst FieldTemplate = (props: FieldTemplateProps) => {\n  const {\n    id,\n    classNames,\n    style,\n    label,\n    help,\n    required,\n    description,\n    errors,\n    children,\n    displayLabel,\n    schema\n  } = props\n\n  const isCheckbox = schema.type === 'boolean'\n  const isObject = schema.type === 'object'\n\n  return (\n    <div className={classNames} style={style}>\n      {displayLabel && label && !isCheckbox && (\n        <label htmlFor={id}>\n          {label}\n          {required && <span className=\"required\">*</span>}\n        </label>\n      )}\n      {description && !isObject && !isCheckbox && (\n        <p id={`${id}__description`} className={CSS_CLASSES.FIELD_DESCRIPTION}>\n          {description}\n        </p>\n      )}\n      {children}\n      {errors}\n      {help}\n    </div>\n  )\n}\n\ninterface ObjectFieldTemplateProps {\n  title?: string\n  description?: ReactNode\n  properties: Array<{ content: ReactNode }>\n  idSchema: { $id: string }\n}\n\nconst ObjectFieldTemplate = (props: ObjectFieldTemplateProps) => {\n  const { title, description, properties, idSchema } = props\n  const isArrayItem = isArrayItemId(idSchema.$id)\n\n  return (\n    <fieldset id={idSchema.$id}>\n      {title && !isArrayItem && (\n        <legend id={`${idSchema.$id}__title`}>{title}</legend>\n      )}\n      {description && (\n        <p\n          id={`${idSchema.$id}__description`}\n          className={CSS_CLASSES.FIELD_DESCRIPTION}\n        >\n          {description}\n        </p>\n      )}\n      {properties.map((prop) => prop.content)}\n    </fieldset>\n  )\n}\n\ninterface ArrayFieldTemplateProps {\n  canAdd?: boolean\n  disabled?: boolean\n  idSchema: { $id: string }\n  uiSchema?: UiSchema\n  items?: Array<{ key: string; [key: string]: unknown }>\n  onAddClick: (e?: React.MouseEvent) => void\n  readonly?: boolean\n  registry: {\n    templates: {\n      ButtonTemplates: {\n        AddButton: React.ComponentType<\n          ButtonProps & { uiSchema?: UiSchema; registry: unknown }\n        >\n      }\n    }\n    fields: RegistryFieldsType\n    widgets: RegistryWidgetsType\n  }\n  schema: RJSFSchema\n  title?: string\n}\n\nconst ArrayFieldTemplate = (props: ArrayFieldTemplateProps) => {\n  const {\n    canAdd,\n    disabled,\n    idSchema,\n    uiSchema,\n    items,\n    onAddClick,\n    readonly,\n    registry,\n    schema,\n    title\n  } = props\n\n  const uiOptions = getUiOptions(uiSchema)\n\n  // RJSF library requires 'any' type parameters for generic template resolution.\n  // The library's TypeScript types are designed with 'any' as default generics.\n\n  const ResolvedArrayFieldItemTemplate = getTemplate<\n    'ArrayFieldItemTemplate',\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- RJSF formData type\n    any,\n    RJSFSchema,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- RJSF uiSchema type\n    any\n  >(\n    'ArrayFieldItemTemplate',\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- RJSF registry type mismatch\n    registry as any,\n    uiOptions\n  )\n  const {\n    ButtonTemplates: { AddButton }\n  } = registry.templates\n\n  return (\n    <fieldset\n      className=\"field field-array field-array-of-object\"\n      id={idSchema.$id}\n    >\n      {(uiOptions.title || title) && (\n        <legend id={`${idSchema.$id}__title`}>\n          {(uiOptions.title || title) as string}\n        </legend>\n      )}\n      {(uiOptions.description || schema.description) && (\n        <div className={CSS_CLASSES.FIELD_DESCRIPTION}>\n          {(uiOptions.description || schema.description) as string}\n        </div>\n      )}\n      <div className={CSS_CLASSES.ARRAY_ITEM_LIST}>\n        {/* eslint-disable-next-line @typescript-eslint/no-explicit-any -- RJSF item type */}\n        {items?.map(({ key, ...restProps }: any) => (\n          <ResolvedArrayFieldItemTemplate key={key} {...restProps} />\n        ))}\n      </div>\n      {canAdd && (\n        <div className={CSS_CLASSES.ARRAY_ITEM_ADD}>\n          <p\n            className={`${GRID_COLUMNS.ADD_BUTTON_CONTAINER} text-end array-item-add`}\n          >\n            <AddButton\n              className=\"btn-add col-12\"\n              onClick={onAddClick}\n              disabled={disabled || readonly}\n              uiSchema={uiSchema}\n              registry={registry}\n            />\n          </p>\n        </div>\n      )}\n    </fieldset>\n  )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- RJSF template types require any\nconst customTemplates: any = {\n  FieldTemplate,\n  ObjectFieldTemplate,\n  ArrayFieldTemplate,\n  ArrayFieldItemTemplate,\n  ButtonTemplates: {\n    AddButton: (props: ButtonProps) =>\n      createButton(\n        `${CSS_CLASSES.BTN_INFO} ${props.className || ''}`,\n        props.onClick,\n        props.disabled,\n        undefined,\n        <FontAwesomeIcon icon={faPlus} />,\n        0\n      ),\n    MoveUpButton: (props: ButtonProps) =>\n      createButton(\n        `${CSS_CLASSES.BTN_OUTLINE_DARK} ${props.className || ''}`,\n        props.onClick,\n        props.disabled,\n        undefined,\n        <FontAwesomeIcon icon={faArrowUp} />,\n        -1\n      ),\n    MoveDownButton: (props: ButtonProps) =>\n      createButton(\n        `${CSS_CLASSES.BTN_OUTLINE_DARK} ${props.className || ''}`,\n        props.onClick,\n        props.disabled,\n        undefined,\n        <FontAwesomeIcon icon={faArrowDown} />,\n        -1\n      ),\n    RemoveButton: (props: ButtonProps) =>\n      createButton(\n        `${CSS_CLASSES.BTN_DANGER} ${props.className || ''}`,\n        props.onClick,\n        props.disabled,\n        undefined,\n        <FontAwesomeIcon icon={faTimes} />,\n        -1\n      ),\n    SubmitButton: (props: { uiSchema?: UiSchema }) => {\n      const { submitText } =\n        (props.uiSchema?.['ui:submitButtonOptions'] as {\n          submitText?: string\n        }) || {}\n      return (\n        <div>\n          <button type=\"submit\" className={CSS_CLASSES.BTN_INFO}>\n            {submitText || 'Submit'}\n          </button>\n        </div>\n      )\n    }\n  }\n}\n\ninterface PluginData {\n  enabled?: boolean\n  enableLogging?: boolean\n  enableDebug?: boolean\n  configuration?: Record<string, unknown>\n  [key: string]: unknown\n}\n\ninterface PluginSchema {\n  description?: string\n  properties?: Record<string, unknown>\n}\n\ninterface Plugin {\n  data: PluginData\n  schema: PluginSchema\n  uiSchema?: UiSchema\n  statusMessage?: string\n}\n\ninterface PluginConfigurationFormProps {\n  plugin: Plugin\n  onSubmit: (data: PluginData) => void\n}\n\nexport default function PluginConfigurationForm({\n  plugin,\n  onSubmit\n}: PluginConfigurationFormProps) {\n  const { enabled, enableLogging, enableDebug } = plugin.data\n\n  // Build the schema object with proper types\n  const formSchema: RJSFSchema = {\n    type: 'object',\n    ...(plugin.statusMessage && {\n      description: `Status: ${plugin.statusMessage}`\n    }),\n    properties: {\n      configuration: {\n        type: 'object',\n        title: ' ',\n        description: plugin.schema.description,\n        properties: plugin.schema.properties as RJSFSchema['properties']\n      }\n    }\n  }\n\n  return (\n    <Form\n      validator={validator}\n      schema={formSchema}\n      uiSchema={plugin.uiSchema ? { configuration: plugin.uiSchema } : {}}\n      formData={plugin.data || {}}\n      templates={customTemplates}\n      onSubmit={({ formData }) => {\n        onSubmit({\n          ...formData,\n          enabled,\n          enableLogging,\n          enableDebug\n        })\n      }}\n    >\n      <button type=\"submit\" className=\"btn btn-primary\">\n        <FontAwesomeIcon icon={faFloppyDisk} style={{ marginRight: '8px' }} />\n        Save Configuration\n      </button>\n    </Form>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/ProvidersConfiguration.tsx",
    "content": "import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport { useParams, useNavigate } from 'react-router-dom'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Form from 'react-bootstrap/Form'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faBan } from '@fortawesome/free-solid-svg-icons/faBan'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons/faCirclePlus'\nimport { faCircleDot } from '@fortawesome/free-regular-svg-icons/faCircleDot'\nimport { useStore } from '../../store'\n\nimport BasicProvider from './BasicProvider'\nimport SourcePriorities from './SourcePriorities'\nimport set from 'lodash.set'\n\ninterface Provider {\n  id: string\n  type: string\n  enabled: boolean\n  logging: boolean\n  editable: boolean\n  options: Record<string, unknown>\n  json?: string\n  isNew?: boolean\n  wasDiscovered?: boolean\n  originalId?: string\n  [key: string]: unknown\n}\n\nconst ProvidersConfiguration: React.FC = () => {\n  const params = useParams<{ providerId?: string }>()\n  const navigate = useNavigate()\n  const discoveredProviders = useStore(\n    (state) => state.discoveredProviders\n  ) as Provider[]\n\n  const [providers, setProviders] = useState<Provider[]>([])\n  const [selectedProvider, setSelectedProvider] = useState<Provider | null>(\n    null\n  )\n  const [selectedIndex, setSelectedIndex] = useState<number>(-1)\n\n  const selectedProviderRef = useRef<HTMLDivElement>(null)\n\n  interface ProvidersData {\n    providers: Provider[]\n    selectedProvider: Provider | null\n    selectedIndex: number\n  }\n\n  const loadProviders = useCallback(async (): Promise<ProvidersData> => {\n    const response = await fetch(`${window.serverRoutesPrefix}/providers`, {\n      credentials: 'include'\n    })\n    const data: Provider[] = await response.json()\n\n    let foundProvider: Provider | undefined\n    let foundIndex: number | undefined\n\n    if (params.providerId) {\n      foundProvider = data.find((provider) => provider.id === params.providerId)\n      foundIndex = data.findIndex(\n        (provider) => provider.id === params.providerId\n      )\n    }\n\n    if (foundProvider) {\n      foundProvider.originalId = foundProvider.id\n    }\n\n    return {\n      providers: data,\n      selectedProvider: foundProvider ? structuredClone(foundProvider) : null,\n      selectedIndex: foundIndex ?? -1\n    }\n  }, [params.providerId])\n\n  const runDiscovery = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/runDiscovery`, {\n      method: 'PUT',\n      credentials: 'include'\n    })\n  }, [])\n\n  useEffect(() => {\n    loadProviders().then((data) => {\n      setProviders(data.providers)\n      setSelectedProvider(data.selectedProvider)\n      setSelectedIndex(data.selectedIndex)\n    })\n    runDiscovery()\n  }, [loadProviders, runDiscovery])\n\n  const handleProviderChange = useCallback(\n    (\n      event:\n        | React.ChangeEvent<HTMLInputElement>\n        | { target: { name: string; value: unknown; type?: string } },\n      valueType?: string\n    ) => {\n      if (!selectedProvider) return\n\n      let value: unknown =\n        event.target.type === 'checkbox'\n          ? (event.target as HTMLInputElement).checked\n          : event.target.value\n\n      if (valueType === 'number') {\n        value = Number(value)\n      }\n\n      const updatedProvider = { ...selectedProvider }\n      set(updatedProvider, event.target.name, value)\n      // createDevice only applies to YDWG source types. Drop a stale\n      // value when the user picks a non-YDWG type so we don't submit a\n      // hidden option that no longer has a UI control. On a brand-new\n      // connection picking a YDWG type, default createDevice to on —\n      // without it the gateway silently drops ISO Requests for PGN\n      // 60928 / 126996 / 126998, leaving device identity incomplete.\n      // Existing connections that already store a value are left alone:\n      // an MFD on the bus may already be locked onto current $source\n      // refs, and flipping createDevice on retroactively makes the\n      // server claim a new address and disrupts that binding.\n      if (event.target.name === 'options.type' && typeof value === 'string') {\n        const isYdwg = /^ydwg02/.test(value)\n        if (!isYdwg && updatedProvider.options?.createDevice !== undefined) {\n          delete updatedProvider.options.createDevice\n        } else if (\n          isYdwg &&\n          updatedProvider.isNew &&\n          updatedProvider.options?.createDevice === undefined\n        ) {\n          set(updatedProvider, 'options.createDevice', true)\n        }\n      }\n      setSelectedProvider(updatedProvider)\n    },\n    [selectedProvider]\n  )\n\n  const handleAddProvider = useCallback(() => {\n    const newProvider: Provider = {\n      type: 'NMEA2000',\n      logging: false,\n      isNew: true,\n      id: '',\n      enabled: true,\n      options: {},\n      editable: true\n    }\n\n    setSelectedProvider(structuredClone(newProvider))\n    setSelectedIndex(providers.length - 1)\n\n    setTimeout(() => {\n      selectedProviderRef.current?.scrollIntoView()\n    }, 0)\n  }, [providers.length])\n\n  const handleApply = useCallback(async () => {\n    if (!selectedProvider) return\n\n    const isNew = selectedProvider.isNew\n    const wasDiscovered = selectedProvider.wasDiscovered\n    const providerToSave = { ...selectedProvider }\n    delete providerToSave.json\n\n    const id = selectedProvider.originalId\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/providers/${id && !isNew ? encodeURIComponent(id) : ''}`,\n      {\n        method: isNew ? 'POST' : 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(providerToSave),\n        credentials: 'include'\n      }\n    )\n\n    if (response.ok) {\n      const provider = structuredClone(selectedProvider)\n      delete provider.isNew\n      delete provider.wasDiscovered\n\n      setProviders((prev) => {\n        const newProviders = [...prev]\n        if (isNew) {\n          newProviders.push(provider)\n        } else if (selectedIndex >= 0) {\n          newProviders[selectedIndex] = provider\n        }\n        return newProviders\n      })\n\n      if (wasDiscovered && discoveredProviders) {\n        // Note: discoveredProviders state is managed by Zustand store\n        // Updates arrive via WebSocket DISCOVERED_PROVIDER events\n      }\n\n      setSelectedProvider(null)\n      setSelectedIndex(-1)\n      navigate('/serverConfiguration/connections/-')\n    } else {\n      const text = await response.text()\n      alert(text)\n    }\n  }, [selectedProvider, selectedIndex, discoveredProviders, navigate])\n\n  const handleCancel = useCallback(() => {\n    setSelectedProvider(null)\n  }, [])\n\n  const handleDelete = useCallback(async () => {\n    if (!selectedProvider) return\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/providers/${encodeURIComponent(selectedProvider.id)}`,\n      {\n        method: 'DELETE',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        credentials: 'include'\n      }\n    )\n    if (response.ok) {\n      setProviders((prev) => {\n        const newProviders = [...prev]\n        if (selectedIndex >= 0) {\n          newProviders.splice(selectedIndex, 1)\n        }\n        return newProviders\n      })\n      setSelectedProvider(null)\n      setSelectedIndex(-1)\n      runDiscovery()\n    } else {\n      const text = await response.text()\n      alert(text)\n    }\n  }, [selectedProvider, selectedIndex, runDiscovery])\n\n  const providerClicked = useCallback((provider: Provider, index: number) => {\n    setSelectedProvider({\n      ...structuredClone(provider),\n      originalId: provider.id\n    })\n    setSelectedIndex(index)\n\n    setTimeout(() => {\n      selectedProviderRef.current?.scrollIntoView()\n    }, 0)\n  }, [])\n\n  return (\n    <div className=\"animated fadeIn\">\n      {discoveredProviders && discoveredProviders.length > 0 && (\n        <Card>\n          <Card.Header>Discovered Connections</Card.Header>\n          <Card.Body>\n            <Table hover responsive bordered striped size=\"sm\">\n              <thead>\n                <tr>\n                  <th>ID</th>\n                  <th>Data Type</th>\n                  <th>Enabled</th>\n                  <th>Data Logging</th>\n                </tr>\n              </thead>\n              <tbody>\n                {(discoveredProviders || []).map((provider, index) => {\n                  return (\n                    <tr\n                      onClick={() => providerClicked(provider, index)}\n                      key={provider.id}\n                    >\n                      <td>{provider.id}</td>\n                      <td>\n                        <ProviderType provider={provider} />\n                      </td>\n                      <td>\n                        <ApplicableStatus\n                          applicable={provider.editable}\n                          toggle={provider.enabled}\n                        />\n                      </td>\n                      <td>\n                        <ApplicableStatus\n                          applicable={provider.editable}\n                          toggle={provider.logging}\n                        />\n                      </td>\n                    </tr>\n                  )\n                })}\n              </tbody>\n            </Table>\n          </Card.Body>\n        </Card>\n      )}\n      <Card>\n        <Card.Header>Connections</Card.Header>\n        <Card.Body>\n          <Table hover responsive bordered striped size=\"sm\">\n            <thead>\n              <tr>\n                <th>ID</th>\n                <th>Data Type</th>\n                <th>Enabled</th>\n                <th>Data Logging</th>\n              </tr>\n            </thead>\n            <tbody>\n              {(providers || []).map((provider, index) => {\n                return (\n                  <tr\n                    onClick={() => providerClicked(provider, index)}\n                    key={provider.id}\n                  >\n                    <td>{provider.id}</td>\n                    <td>\n                      <ProviderType provider={provider} />\n                    </td>\n                    <td>\n                      <ApplicableStatus\n                        applicable={provider.editable}\n                        toggle={provider.enabled}\n                      />\n                    </td>\n                    <td>\n                      <ApplicableStatus\n                        applicable={provider.editable}\n                        toggle={provider.logging}\n                      />\n                    </td>\n                  </tr>\n                )\n              })}\n            </tbody>\n          </Table>\n        </Card.Body>\n        <Card.Footer>\n          <Button size=\"sm\" variant=\"primary\" onClick={handleAddProvider}>\n            <FontAwesomeIcon icon={faCirclePlus} /> Add\n          </Button>\n        </Card.Footer>\n      </Card>\n\n      {selectedProvider && (\n        <div ref={selectedProviderRef} style={{ scrollMarginTop: '54px' }}>\n          <Card>\n            <Card.Body>\n              {selectedProvider.editable ? (\n                <BasicProvider\n                  value={selectedProvider}\n                  onChange={handleProviderChange}\n                  onPropChange={handleProviderChange}\n                />\n              ) : (\n                <Form.Control\n                  as=\"textarea\"\n                  name=\"json\"\n                  id=\"json\"\n                  rows={20}\n                  value={selectedProvider.json}\n                  readOnly\n                />\n              )}\n            </Card.Body>\n            <Card.Footer>\n              {selectedProvider.editable ? (\n                <div className=\"d-flex flex-wrap gap-2\">\n                  <Button size=\"sm\" variant=\"primary\" onClick={handleApply}>\n                    <FontAwesomeIcon icon={faCircleDot} /> Apply\n                  </Button>\n                  <Button size=\"sm\" variant=\"secondary\" onClick={handleCancel}>\n                    <FontAwesomeIcon icon={faBan} /> Cancel\n                  </Button>\n                  <Button\n                    size=\"sm\"\n                    variant=\"danger\"\n                    className=\"ms-auto\"\n                    onClick={handleDelete}\n                  >\n                    <FontAwesomeIcon icon={faBan} /> Delete\n                  </Button>\n                </div>\n              ) : (\n                <div className=\"text-end\">\n                  <Button size=\"sm\" variant=\"danger\" onClick={handleDelete}>\n                    <FontAwesomeIcon icon={faBan} /> Delete\n                  </Button>\n                </div>\n              )}\n            </Card.Footer>\n          </Card>\n        </div>\n      )}\n\n      <SourcePriorities />\n    </div>\n  )\n}\n\ninterface ApplicableStatusProps {\n  applicable: boolean\n  toggle: boolean\n}\n\nconst ApplicableStatus: React.FC<ApplicableStatusProps> = ({\n  applicable,\n  toggle\n}) => <div>{applicable ? (toggle ? 'Yes' : 'No') : 'N/A'}</div>\n\ninterface ProviderTypeProps {\n  provider: Provider\n}\n\nconst ProviderType: React.FC<ProviderTypeProps> = ({ provider }) => (\n  <div>\n    {provider.type}\n    {provider.type === 'FileStream'\n      ? `/${(provider.options as { dataType?: string })?.dataType || ''}`\n      : ''}\n  </div>\n)\n\nexport default ProvidersConfiguration\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/ServerLog.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useRef,\n  useCallback,\n  ChangeEvent,\n  FormEvent\n} from 'react'\nimport parse from 'html-react-parser'\nimport { useLogEntries, useClearLogEntries } from '../../store'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport LogFiles from './Logging'\nimport Creatable from 'react-select/creatable'\nimport { useWebSocket } from '../../hooks/useWebSocket'\n\ninterface LogEntry {\n  i: number\n  d: string\n}\n\ninterface LogState {\n  entries: LogEntry[]\n  debugEnabled?: string\n  rememberDebug?: boolean\n}\n\ninterface SelectOption {\n  label: string\n  value: string\n}\n\nexport default function ServerLogs() {\n  const log = useLogEntries()\n  const clearLogEntries = useClearLogEntries()\n  const { ws: webSocket, isConnected } = useWebSocket()\n\n  const [pause, setPause] = useState(false)\n  const [debugKeys, setDebugKeys] = useState<string[]>([])\n  const didSubscribeRef = useRef(false)\n  const webSocketRef = useRef<WebSocket | null>(null)\n  const unsubscribeRef = useRef<() => void>(() => {})\n\n  const subscribeToLogsIfNeeded = useCallback(() => {\n    if (\n      !pause &&\n      webSocket &&\n      isConnected &&\n      (webSocket !== webSocketRef.current || !didSubscribeRef.current)\n    ) {\n      const sub = { context: 'vessels.self', subscribe: [{ path: 'log' }] }\n      webSocket.send(JSON.stringify(sub))\n      webSocketRef.current = webSocket\n      didSubscribeRef.current = true\n    }\n  }, [pause, webSocket, isConnected])\n\n  const unsubscribeToLogs = useCallback(() => {\n    if (webSocket && webSocket.readyState === WebSocket.OPEN) {\n      const sub = { context: 'vessels.self', unsubscribe: [{ path: 'log' }] }\n      webSocket.send(JSON.stringify(sub))\n      didSubscribeRef.current = false\n    }\n  }, [webSocket])\n\n  useEffect(() => {\n    unsubscribeRef.current = unsubscribeToLogs\n  })\n\n  const fetchDebugKeys = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/debugKeys`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((keys) => {\n        setDebugKeys(keys.sort())\n      })\n      .catch(() => {})\n  }, [])\n\n  useEffect(() => {\n    fetchDebugKeys()\n    return () => {\n      unsubscribeRef.current()\n      clearLogEntries()\n    }\n  }, [fetchDebugKeys, clearLogEntries])\n\n  useEffect(() => {\n    subscribeToLogsIfNeeded()\n  }, [subscribeToLogsIfNeeded])\n\n  const doHandleDebug = (value: string) => {\n    fetch(`${window.serverRoutesPrefix}/debug`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({ value }),\n      credentials: 'include'\n    }).then((response) => response.text())\n  }\n\n  const handleRememberDebug = (event: ChangeEvent<HTMLInputElement>) => {\n    fetch(`${window.serverRoutesPrefix}/rememberDebug`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({ value: event.target.checked }),\n      credentials: 'include'\n    }).then((response) => response.text())\n  }\n\n  const handlePause = (event: ChangeEvent<HTMLInputElement>) => {\n    const newPause = event.target.checked\n    setPause(newPause)\n    if (newPause) {\n      unsubscribeToLogs()\n    } else {\n      subscribeToLogsIfNeeded()\n    }\n  }\n\n  const handleSubmit = (e: FormEvent) => {\n    e.preventDefault()\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Card>\n        <Card.Header>\n          <FontAwesomeIcon icon={faAlignJustify} /> <strong>Server Log</strong>\n        </Card.Header>\n\n        <Card.Body>\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n            onSubmit={handleSubmit}\n          >\n            <Form.Group as={Row}>\n              <Col>\n                <Creatable\n                  isMulti\n                  options={debugKeys.map((key) => ({\n                    label: key,\n                    value: key\n                  }))}\n                  value={\n                    log.debugEnabled\n                      ? log.debugEnabled\n                          .split(',')\n                          .map((value) => ({ label: value, value }))\n                      : null\n                  }\n                  onChange={(v) => {\n                    const value =\n                      v !== null\n                        ? (v as SelectOption[])\n                            .map(({ value }) => value)\n                            .join(',')\n                        : ''\n                    doHandleDebug(value)\n                  }}\n                />\n                <Form.Text\n                  className=\"text-muted\"\n                  style={{ marginBottom: '15px' }}\n                >\n                  Select the appropriate debug keys to activate debug logging\n                  for various components on the server.\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col xs=\"6\" md=\"6\">\n                Persist debug settings over server restarts{' '}\n                <Form.Label className=\"switch switch-text switch-primary\">\n                  <Form.Control\n                    type=\"checkbox\"\n                    id=\"Enabled\"\n                    name=\"debug\"\n                    className=\"switch-input\"\n                    onChange={handleRememberDebug}\n                    checked={log.rememberDebug}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </Form.Label>\n              </Col>\n              <Col xs=\"6\" md=\"6\">\n                Pause the log window{' '}\n                <Form.Label className=\"switch switch-text switch-primary\">\n                  <Form.Control\n                    type=\"checkbox\"\n                    id=\"Pause\"\n                    name=\"pause\"\n                    className=\"switch-input\"\n                    onChange={handlePause}\n                    checked={pause}\n                  />\n                  <span className=\"switch-label\" data-on=\"Yes\" data-off=\"No\" />\n                  <span className=\"switch-handle\" />\n                </Form.Label>\n              </Col>\n            </Form.Group>\n            <LogList value={log} />\n          </Form>\n        </Card.Body>\n      </Card>\n      <LogFiles />\n    </div>\n  )\n}\n\ninterface LogListProps {\n  value: LogState\n}\n\nfunction LogList({ value }: LogListProps) {\n  const containerRef = useRef<HTMLDivElement>(null)\n\n  useEffect(() => {\n    const el = containerRef.current\n    if (el) {\n      el.scrollTop = el.scrollHeight\n    }\n  }, [value.entries])\n\n  return (\n    <div\n      ref={containerRef}\n      style={{\n        overflowY: 'scroll',\n        height: '60vh',\n        border: '1px solid',\n        padding: '5px',\n        fontFamily: 'monospace'\n      }}\n    >\n      {value.entries.length === 0 ? (\n        <span style={{ color: 'grey', fontStyle: 'italic' }}>\n          Waiting for log entries...\n        </span>\n      ) : (\n        value.entries.map((logEntry) => (\n          <LogRow key={logEntry.i} log={logEntry.d} />\n        ))\n      )}\n    </div>\n  )\n}\n\ninterface LogRowProps {\n  log: string\n}\n\nfunction LogRow({ log }: LogRowProps) {\n  return (\n    <span>\n      {parse(log)}\n      <br />\n    </span>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/ServerUpdate.tsx",
    "content": "import React, { useCallback } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport { useAppStore } from '../../store'\n\ninterface InstallingApp {\n  name: string\n  isWaiting?: boolean\n  isInstalling?: boolean\n}\n\ninterface AppStore {\n  storeAvailable: boolean\n  canUpdateServer: boolean\n  isInDocker: boolean\n  serverUpdate: string | null\n  installing: InstallingApp[]\n}\n\nconst ServerUpdate: React.FC = () => {\n  const navigate = useNavigate()\n  const appStore = useAppStore() as AppStore\n\n  const handleUpdate = useCallback(() => {\n    if (confirm('Are you sure you want to update the server?')) {\n      navigate('/appstore/updates')\n      fetch(\n        `${window.serverRoutesPrefix}/appstore/install/signalk-server/${appStore.serverUpdate}`,\n        {\n          method: 'POST',\n          credentials: 'include'\n        }\n      )\n    }\n  }, [appStore.serverUpdate, navigate])\n\n  if (!appStore.storeAvailable) {\n    return (\n      <div className=\"animated fadeIn\">\n        <Card>\n          <Card.Header>Waiting for App store data to load...</Card.Header>\n        </Card>\n      </div>\n    )\n  }\n\n  let isInstalling = false\n  let isInstalled = false\n  const info = appStore.installing.find((p) => p.name === 'signalk-server')\n  if (info) {\n    if (info.isWaiting || info.isInstalling) {\n      isInstalling = true\n    } else {\n      isInstalled = true\n    }\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {!appStore.canUpdateServer && (\n        <Card className=\"border-warning\">\n          <Card.Header>Server Update</Card.Header>\n          <Card.Body>\n            This installation is not updatable from the admin user interface.\n          </Card.Body>\n        </Card>\n      )}\n      {appStore.isInDocker && (\n        <Card className=\"border-warning\">\n          <Card.Header>Running as a Docker container</Card.Header>\n          <Card.Body>\n            <p>\n              The server is running as a Docker container. You need to pull a\n              new server version from Container registry to update.\n            </p>\n            <pre>\n              <code>docker pull cr.signalk.io/signalk/signalk-server</code>\n            </pre>\n            <p>\n              More info about running Signal K in Docker can be found at{' '}\n              <a\n                href=\"https://github.com/SignalK/signalk-server/blob/master/docker/README.md\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n              >\n                Docker README\n              </a>{' '}\n              .\n            </p>\n          </Card.Body>\n        </Card>\n      )}\n      {appStore.canUpdateServer &&\n        appStore.serverUpdate &&\n        !isInstalling &&\n        !isInstalled && (\n          <Card>\n            <Card.Header>\n              Server version {appStore.serverUpdate} is available\n            </Card.Header>\n            <Card.Body>\n              <a href=\"https://github.com/SignalK/signalk-server/releases/\">\n                Release Notes for latest releases.\n              </a>\n              <br />\n              <br />\n              <Button\n                className=\"btn btn-danger\"\n                size=\"sm\"\n                variant=\"primary\"\n                onClick={handleUpdate}\n              >\n                Update\n              </Button>\n            </Card.Body>\n          </Card>\n        )}\n      {isInstalling && (\n        <Card>\n          <Card.Header>Server Update</Card.Header>\n          <Card.Body>The update is being installed</Card.Body>\n        </Card>\n      )}\n      {isInstalled && (\n        <Card>\n          <Card.Header>Server Update</Card.Header>\n          <Card.Body>\n            The update has been installed, please restart the Signal K server.\n          </Card.Body>\n        </Card>\n      )}\n      {appStore.canUpdateServer && !appStore.serverUpdate && (\n        <Card>\n          <Card.Header>Server Update</Card.Header>\n          <Card.Body>Your server is up to date.</Card.Body>\n        </Card>\n      )}\n\n      <Card>\n        <Card.Header>Sponsoring</Card.Header>\n        <Card.Body>\n          <p>\n            If you find Signal K valuable to you consider sponsoring our work on\n            developing it further.\n          </p>\n          <p>Your support allows us to do things like</p>\n          <ul>\n            <li>travel to meet in person and push things forward</li>\n            <li>purchase equipment to develop on</li>\n            <li>upgrade our cloud resources beyond the free tiers</li>\n          </ul>\n          <p>\n            See{' '}\n            <a href=\"https://opencollective.com/signalk\">\n              Signal K in Open Collective\n            </a>{' '}\n            for details.\n          </p>\n        </Card.Body>\n      </Card>\n    </div>\n  )\n}\n\nexport default ServerUpdate\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/Settings.tsx",
    "content": "import React, { useState, useEffect, useCallback } from 'react'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\n\nimport VesselConfiguration from './VesselConfiguration'\nimport UnitPreferencesSettings from './UnitPreferencesSettings'\nimport Logging from './Logging'\n\ninterface ServerSettingsData {\n  hasData?: boolean\n  port?: string\n  sslport?: string\n  runFromSystemd?: boolean\n  options?: Record<string, boolean>\n  interfaces?: Record<string, boolean>\n  pruneContextsMinutes?: string\n  loggingDirectory?: string\n  keepMostRecentLogsOnly?: boolean\n  logCountToKeep?: string\n  courseApi?: {\n    apiOnly?: boolean\n  }\n}\n\nconst SettableInterfaces: Record<string, string> = {\n  applicationData: 'Application Data Storage',\n  logfiles: 'Data log files access',\n  'nmea-tcp': 'NMEA 0183 over TCP (10110)',\n  tcp: 'Signal K over TCP (8375)',\n  wasm: 'WebAssembly Runtime'\n}\n\nconst ServerSettings: React.FC = () => {\n  const [settings, setSettings] = useState<ServerSettingsData>({\n    hasData: false\n  })\n\n  const fetchSettings = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/settings`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data: ServerSettingsData) => {\n        setSettings({ ...data, hasData: true })\n      })\n  }, [])\n\n  useEffect(() => {\n    fetchSettings()\n  }, [fetchSettings])\n\n  const handleChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setSettings((prev) => ({ ...prev, [event.target.name]: value }))\n    },\n    []\n  )\n\n  const handleCourseApiChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setSettings((prev) => ({\n        ...prev,\n        courseApi: {\n          ...prev.courseApi,\n          [event.target.name]: value\n        }\n      }))\n    },\n    []\n  )\n\n  const handleOptionChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setSettings((prev) => ({\n        ...prev,\n        options: {\n          ...prev.options,\n          [event.target.name]: value as boolean\n        }\n      }))\n    },\n    []\n  )\n\n  const handleInterfaceChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setSettings((prev) => ({\n        ...prev,\n        interfaces: {\n          ...prev.interfaces,\n          [event.target.name]: value as boolean\n        }\n      }))\n    },\n    []\n  )\n\n  const handleSaveSettings = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/settings`, {\n      method: 'PUT',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(settings),\n      credentials: 'include'\n    })\n      .then((response) => response.text())\n      .then((response) => {\n        alert(response)\n      })\n  }, [settings])\n\n  const fieldColWidthMd = 10\n\n  if (!settings.hasData) {\n    return null\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Card>\n        <Card.Header>\n          <FontAwesomeIcon icon={faAlignJustify} />{' '}\n          <strong>Server Settings</strong>\n        </Card.Header>\n        <Card.Body>\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n          >\n            {!settings.runFromSystemd && (\n              <Form.Group as={Row}>\n                <Col md=\"2\">\n                  <Form.Label htmlFor=\"port\">HTTP Port</Form.Label>\n                </Col>\n                <Col xs=\"12\" md={fieldColWidthMd}>\n                  <Form.Control\n                    size={5}\n                    style={{ width: 'auto' }}\n                    type=\"text\"\n                    id=\"port\"\n                    name=\"port\"\n                    autoComplete=\"off\"\n                    onChange={handleChange}\n                    value={settings.port || ''}\n                  />\n                  <Form.Text muted>\n                    Saving a new value here will not have effect if overridden\n                    by environment variable PORT\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n            )}\n            {settings.runFromSystemd && (\n              <Form.Group as={Row}>\n                <Col xs=\"12\" md={fieldColWidthMd}>\n                  <Form.Text>\n                    The server was started by systemd, run signalk-server-setup\n                    to change ports and ssl configuration.\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n            )}\n            {settings.options?.ssl && !settings.runFromSystemd && (\n              <Form.Group as={Row}>\n                <Col md=\"2\">\n                  <Form.Label htmlFor=\"sslport\">SSL Port</Form.Label>\n                </Col>\n                <Col xs=\"12\" md={fieldColWidthMd}>\n                  <Form.Control\n                    size={5}\n                    style={{ width: 'auto' }}\n                    type=\"text\"\n                    id=\"sslport\"\n                    name=\"sslport\"\n                    autoComplete=\"off\"\n                    onChange={handleChange}\n                    value={settings.sslport || ''}\n                  />\n                  <Form.Text muted>\n                    Saving a new value here will not have effect if overridden\n                    by environment variable SSLPORT\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n            )}\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <span className=\"col-form-label\">Options</span>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                {settings.options &&\n                  Object.keys(settings.options).map((name) => {\n                    return (\n                      <div\n                        key={name}\n                        className=\"d-flex align-items-center mb-2\"\n                      >\n                        <Form.Label\n                          style={{ marginRight: '15px', marginBottom: 0 }}\n                          className=\"switch switch-text switch-primary\"\n                        >\n                          <input\n                            type=\"checkbox\"\n                            id={`option-${name}`}\n                            name={name}\n                            className=\"switch-input\"\n                            onChange={handleOptionChange}\n                            checked={settings.options?.[name] || false}\n                          />\n                          <span\n                            className=\"switch-label\"\n                            data-on=\"On\"\n                            data-off=\"Off\"\n                          />\n                          <span className=\"switch-handle\" />\n                        </Form.Label>\n                        <span>{name}</span>\n                      </div>\n                    )\n                  })}\n              </Col>\n            </Form.Group>\n\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <span className=\"col-form-label\">Interfaces</span>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                {Object.keys(SettableInterfaces).map((name) => {\n                  return (\n                    <div key={name} className=\"d-flex align-items-center mb-2\">\n                      <Form.Label\n                        style={{ marginRight: '15px', marginBottom: 0 }}\n                        className=\"switch switch-text switch-primary\"\n                      >\n                        <input\n                          type=\"checkbox\"\n                          id={`interface-${name}`}\n                          name={name}\n                          className=\"switch-input\"\n                          onChange={handleInterfaceChange}\n                          checked={settings.interfaces?.[name] || false}\n                        />\n                        <span\n                          className=\"switch-label\"\n                          data-on=\"On\"\n                          data-off=\"Off\"\n                        />\n                        <span className=\"switch-handle\" />\n                      </Form.Label>\n                      <span>{SettableInterfaces[name]}</span>\n                    </div>\n                  )\n                })}\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"pruneContextsMinutes\">\n                  Maximum age of inactive vessels&apos; data\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                <Form.Control\n                  type=\"text\"\n                  id=\"pruneContextsMinutes\"\n                  name=\"pruneContextsMinutes\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={settings.pruneContextsMinutes || ''}\n                />\n                <Form.Text muted>\n                  Vessels that have not been updated after this many minutes\n                  will be removed\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"loggingDirectory\">\n                  Data Logging Directory\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                <Form.Control\n                  type=\"text\"\n                  id=\"loggingDirectory\"\n                  name=\"loggingDirectory\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={settings.loggingDirectory || ''}\n                />\n                <Form.Text muted>\n                  Connections and plugins that have logging enabled create\n                  hourly log files in Multiplexed format in this directory. This\n                  can consume significant disk space — enable the option below\n                  to limit retention.\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"keepMostRecentLogsOnly\">\n                  Keep only most recent data log files\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                <div className=\"d-flex align-items-center\">\n                  <Form.Label\n                    style={{ marginRight: '15px', marginBottom: 0 }}\n                    className=\"switch switch-text switch-primary\"\n                  >\n                    <input\n                      type=\"checkbox\"\n                      name=\"keepMostRecentLogsOnly\"\n                      id=\"keepMostRecentLogsOnly\"\n                      className=\"switch-input\"\n                      onChange={handleChange}\n                      checked={settings.keepMostRecentLogsOnly || false}\n                    />\n                    <span\n                      className=\"switch-label\"\n                      data-on=\"On\"\n                      data-off=\"Off\"\n                    />\n                    <span className=\"switch-handle\" />\n                  </Form.Label>\n                  <div>\n                    <Form.Label\n                      htmlFor=\"logCountToKeep\"\n                      className=\"visually-hidden\"\n                    >\n                      Number of log files to keep\n                    </Form.Label>\n                    <Form.Control\n                      type=\"text\"\n                      id=\"logCountToKeep\"\n                      name=\"logCountToKeep\"\n                      autoComplete=\"off\"\n                      onChange={handleChange}\n                      value={settings.logCountToKeep || ''}\n                      style={{ width: '80px' }}\n                    />\n                    <Form.Text muted>How many hourly files to keep</Form.Text>\n                  </div>\n                </div>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"apiOnly\">\n                  API Only Mode\n                  <br />\n                  <i>(Course API)</i>\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md={fieldColWidthMd}>\n                <div className=\"d-flex align-items-center mb-2\">\n                  <Form.Label\n                    style={{ marginRight: '15px', marginBottom: 0 }}\n                    className=\"switch switch-text switch-primary\"\n                  >\n                    <input\n                      type=\"checkbox\"\n                      name=\"apiOnly\"\n                      id=\"apiOnly\"\n                      className=\"switch-input\"\n                      onChange={handleCourseApiChange}\n                      checked={settings.courseApi?.apiOnly || false}\n                    />\n                    <span\n                      className=\"switch-label\"\n                      data-on=\"On\"\n                      data-off=\"Off\"\n                    />\n                    <span className=\"switch-handle\" />\n                  </Form.Label>\n                </div>\n                <Form.Text muted>\n                  Accept course operations only via HTTP requests. Destination\n                  data from NMEA sources is not used.\n                </Form.Text>\n              </Col>\n            </Form.Group>\n          </Form>\n        </Card.Body>\n        <Card.Footer>\n          <Button size=\"sm\" variant=\"primary\" onClick={handleSaveSettings}>\n            <FontAwesomeIcon icon={faFloppyDisk} /> Save\n          </Button>{' '}\n          <Badge bg=\"danger\" className=\"float-end\">\n            Restart Required\n          </Badge>\n        </Card.Footer>\n      </Card>\n    </div>\n  )\n}\n\nconst Settings: React.FC = () => {\n  return (\n    <div>\n      <VesselConfiguration />\n      <UnitPreferencesSettings />\n      <ServerSettings />\n      <Logging />\n    </div>\n  )\n}\n\nexport default Settings\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/SourcePriorities.tsx",
    "content": "import React, { useState, useEffect, useCallback } from 'react'\nimport Alert from 'react-bootstrap/Alert'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Collapse from 'react-bootstrap/Collapse'\nimport Form from 'react-bootstrap/Form'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faArrowUp } from '@fortawesome/free-solid-svg-icons/faArrowUp'\nimport { faArrowDown } from '@fortawesome/free-solid-svg-icons/faArrowDown'\nimport { faTrash } from '@fortawesome/free-solid-svg-icons/faTrash'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport Creatable from 'react-select/creatable'\nimport uniq from 'lodash.uniq'\nimport { useStore, useSourcePriorities } from '../../store'\n\n// Types\ninterface Priority {\n  sourceRef: string\n  timeout: string | number\n}\n\ninterface PathPriority {\n  path: string\n  priorities: Priority[]\n}\n\ninterface SelectOption {\n  label: string\n  value: string\n}\n\nfunction fetchSourceRefs(path: string, cb: (refs: string[]) => void) {\n  fetch(`/signalk/v1/api/vessels/self/${path.replace(/\\./g, '/')}`, {\n    credentials: 'include'\n  })\n    .then((response) => response.json())\n    .then((pathResponse) => {\n      let sourceRefs = [pathResponse.$source]\n      if (pathResponse.values) {\n        sourceRefs = sourceRefs.concat(Object.keys(pathResponse.values))\n      }\n      return uniq(sourceRefs)\n    })\n    .then(cb)\n}\n\ninterface PrefsEditorProps {\n  path: string\n  priorities: Priority[]\n  pathIndex: number\n  isSaving: boolean\n}\n\nconst PrefsEditor: React.FC<PrefsEditorProps> = ({\n  path,\n  priorities,\n  pathIndex,\n  isSaving\n}) => {\n  const changePriority = useStore((s) => s.changePriority)\n  const deletePriority = useStore((s) => s.deletePriority)\n  const movePriority = useStore((s) => s.movePriority)\n\n  const [isOpen, setIsOpen] = useState(false)\n  const [sourceRefs, setSourceRefs] = useState<string[]>([])\n\n  useEffect(() => {\n    if (path) {\n      fetchSourceRefs(path, (refs) => {\n        setSourceRefs(refs)\n      })\n    }\n  }, [path])\n\n  const toggleEditor = () => setIsOpen((prev) => !prev)\n\n  const options: SelectOption[] = sourceRefs.map((ref) => ({\n    label: ref,\n    value: ref\n  }))\n\n  return (\n    <div>\n      {!isOpen && <div onClick={toggleEditor}>...</div>}\n      <Collapse in={isOpen}>\n        <Table>\n          <thead onClick={toggleEditor}>\n            <tr>\n              <td style={{ width: '30px' }}>#</td>\n              <td>Source Reference (see DataBrowser for details)</td>\n              <td style={{ width: '120px' }}>Timeout (ms)</td>\n              <td style={{ width: '80px' }}>Order</td>\n              <td></td>\n            </tr>\n          </thead>\n          <tbody>\n            {[...priorities, { sourceRef: '', timeout: '' }].map(\n              ({ sourceRef, timeout }, index) => {\n                // Priority items are ordered and may have empty sourceRef\n                const priorityKey = `${index}-${sourceRef || 'new'}`\n                return (\n                  <tr key={priorityKey}>\n                    <td>{index + 1}.</td>\n                    <td>\n                      <Creatable\n                        menuPortalTarget={document.body}\n                        options={options}\n                        value={{ value: sourceRef, label: sourceRef }}\n                        onChange={(e) => {\n                          changePriority(\n                            pathIndex,\n                            index,\n                            e?.value || '',\n                            timeout\n                          )\n                        }}\n                      />\n                    </td>\n                    <td>\n                      {index > 0 && (\n                        <Form.Control\n                          type=\"number\"\n                          name=\"timeout\"\n                          onChange={(e) =>\n                            changePriority(\n                              pathIndex,\n                              index,\n                              sourceRef,\n                              e.target.value\n                            )\n                          }\n                          value={timeout}\n                        />\n                      )}\n                    </td>\n                    <td>\n                      {index > 0 && index < priorities.length && (\n                        <button\n                          type=\"button\"\n                          onClick={() =>\n                            !isSaving && movePriority(pathIndex, index, -1)\n                          }\n                        >\n                          <FontAwesomeIcon icon={faArrowUp} />\n                        </button>\n                      )}\n                      {index < priorities.length - 1 && (\n                        <button\n                          type=\"button\"\n                          onClick={() =>\n                            !isSaving && movePriority(pathIndex, index, 1)\n                          }\n                        >\n                          <FontAwesomeIcon icon={faArrowDown} />\n                        </button>\n                      )}\n                    </td>\n                    <td>\n                      {index < priorities.length && (\n                        <FontAwesomeIcon\n                          icon={faTrash}\n                          style={{ cursor: 'pointer' }}\n                          onClick={() =>\n                            !isSaving && deletePriority(pathIndex, index)\n                          }\n                        />\n                      )}\n                    </td>\n                  </tr>\n                )\n              }\n            )}\n          </tbody>\n        </Table>\n      </Collapse>\n    </div>\n  )\n}\n\nfunction fetchAvailablePaths(cb: (paths: string[]) => void) {\n  fetch(`${window.serverRoutesPrefix}/availablePaths`, {\n    credentials: 'include'\n  })\n    .then((response) => response.json())\n    .then(cb)\n}\n\nconst SourcePriorities: React.FC = () => {\n  const sourcePrioritiesData = useSourcePriorities()\n  const changePath = useStore((s) => s.changePath)\n  const deletePath = useStore((s) => s.deletePath)\n  const setSaving = useStore((s) => s.setSaving)\n  const setSaved = useStore((s) => s.setSaved)\n  const setSaveFailed = useStore((s) => s.setSaveFailed)\n  const clearSaveFailed = useStore((s) => s.clearSaveFailed)\n\n  const { sourcePriorities, saveState } = sourcePrioritiesData\n\n  const [availablePaths, setAvailablePaths] = useState<SelectOption[]>([])\n\n  useEffect(() => {\n    fetchAvailablePaths((pathsArray) => {\n      setAvailablePaths(\n        pathsArray.map((path) => ({\n          value: path,\n          label: path\n        }))\n      )\n    })\n  }, [])\n\n  const handleSave = useCallback(\n    (e: React.MouseEvent) => {\n      e.preventDefault()\n      setSaving()\n      fetch(`${window.serverRoutesPrefix}/sourcePriorities`, {\n        method: 'PUT',\n        credentials: 'include',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(\n          sourcePriorities.reduce<Record<string, Priority[]>>(\n            (acc, pathPriority) => {\n              acc[pathPriority.path] = pathPriority.priorities\n              return acc\n            },\n            {}\n          )\n        )\n      })\n        .then((response) => {\n          if (response.status === 200) {\n            setSaved()\n          } else {\n            throw new Error()\n          }\n        })\n        .catch(() => {\n          setSaveFailed()\n          setTimeout(() => clearSaveFailed(), 5000)\n        })\n    },\n    [sourcePriorities, setSaving, setSaved, setSaveFailed, clearSaveFailed]\n  )\n\n  const priosWithEmpty: PathPriority[] = [\n    ...sourcePriorities,\n    { path: '', priorities: [] }\n  ]\n\n  return (\n    <Card>\n      <Card.Header>Source Priorities Settings</Card.Header>\n      <Card.Body>\n        <Alert>\n          <p>\n            Use Source Priorities to filter incoming data so that data from\n            lower priority sources is discarded when there is fresh data from\n            some higher priority source.\n          </p>\n          <p>\n            Incoming data is not handled if the{' '}\n            <b>\n              latest value for a path is from a higher priority source and it is\n              not older than the timeout\n            </b>{' '}\n            specified for the source of the incoming data. Timeout for data from\n            unlisted sources is 10 seconds.\n          </p>\n          <p>\n            You can debug the settings by saving them and activating debug key{' '}\n            <b>signalk-server:sourcepriorities</b> in{' '}\n            <a\n              href=\"./#/serverConfiguration/log\"\n              className=\"text-decoration-none\"\n            >\n              Server Log\n            </a>\n          </p>\n        </Alert>\n        <Table responsive bordered striped size=\"sm\">\n          <thead>\n            <tr>\n              <th style={{ width: '40%' }}>Path</th>\n              <th>Priorities</th>\n              <th></th>\n            </tr>\n          </thead>\n          <tbody>\n            {priosWithEmpty.map(({ path, priorities }, index) => {\n              // Path items may be empty for new entries\n              const pathKey = `${index}-${path || 'new'}`\n              return (\n                <tr key={pathKey}>\n                  <td>\n                    <Creatable\n                      menuPortalTarget={document.body}\n                      options={availablePaths}\n                      value={{ value: path, label: path }}\n                      onChange={(e) => {\n                        changePath(index, e?.value || '')\n                      }}\n                    />\n                  </td>\n                  <td>\n                    <PrefsEditor\n                      key={path}\n                      path={path}\n                      priorities={priorities}\n                      pathIndex={index}\n                      isSaving={saveState.isSaving || false}\n                    />\n                  </td>\n                  <td style={{ border: 'none' }}>\n                    {index < sourcePriorities.length && (\n                      <FontAwesomeIcon\n                        icon={faTrash}\n                        style={{ cursor: 'pointer' }}\n                        onClick={() => deletePath(index)}\n                      />\n                    )}\n                  </td>\n                </tr>\n              )\n            })}\n          </tbody>\n        </Table>\n      </Card.Body>\n      <Card.Footer>\n        <Button\n          size=\"sm\"\n          variant=\"primary\"\n          disabled={\n            !saveState.dirty || saveState.isSaving || !saveState.timeoutsOk\n          }\n          onClick={handleSave}\n        >\n          <FontAwesomeIcon icon={faFloppyDisk} /> Save\n        </Button>\n        {saveState.saveFailed && 'Saving priorities settings failed!'}\n        {!saveState.timeoutsOk && (\n          <span style={{ paddingLeft: '10px' }}>\n            <Badge bg=\"danger\">Error</Badge>\n            {\n              'The timeout values need to be numbers in ascending order, please fix.'\n            }\n          </span>\n        )}\n      </Card.Footer>\n    </Card>\n  )\n}\n\nexport default SourcePriorities\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/UnitPreferencesSettings.tsx",
    "content": "import React, { useState, useEffect, useRef, useCallback } from 'react'\nimport Alert from 'react-bootstrap/Alert'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faUpload } from '@fortawesome/free-solid-svg-icons/faUpload'\nimport { faTrash } from '@fortawesome/free-solid-svg-icons/faTrash'\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes'\nimport { faSliders } from '@fortawesome/free-solid-svg-icons/faSliders'\nimport {\n  useLoginStatus,\n  useActivePreset,\n  useServerDefaultPreset,\n  usePresets,\n  useStore\n} from '../../store'\n\ntype UploadStatus = 'uploading' | 'success' | 'duplicate' | 'error' | null\n\nconst UnitPreferencesSettings: React.FC = () => {\n  const loginStatus = useLoginStatus()\n  const activePreset = useActivePreset()\n  const serverDefaultPreset = useServerDefaultPreset()\n  const presets = usePresets()\n  const unitPrefsLoaded = useStore((s) => s.unitPrefsLoaded)\n  const fetchUnitPreferences = useStore((s) => s.fetchUnitPreferences)\n  const setActivePresetAndSave = useStore((s) => s.setActivePresetAndSave)\n  const setServerDefaultPreset = useStore((s) => s.setServerDefaultPreset)\n  const setPresets = useStore((s) => s.setPresets)\n\n  const [uploadStatus, setUploadStatus] = useState<UploadStatus>(null)\n  const [uploadError, setUploadError] = useState<string | null>(null)\n  const [duplicatePresetName, setDuplicatePresetName] = useState<string | null>(\n    null\n  )\n  const [pendingFile, setPendingFile] = useState<File | null>(null)\n  const [updateServerDefault, setUpdateServerDefault] = useState(false)\n  const fileInputRef = useRef<HTMLInputElement>(null)\n\n  useEffect(() => {\n    if (loginStatus.status === 'loggedIn') {\n      fetchUnitPreferences()\n    }\n  }, [fetchUnitPreferences, loginStatus.status, loginStatus.username])\n\n  const isAdmin =\n    !loginStatus.authenticationRequired ||\n    (loginStatus.status === 'loggedIn' &&\n      (loginStatus as Record<string, unknown>).userLevel === 'admin')\n\n  const handlePresetChange = useCallback(\n    async (preset: string) => {\n      await setActivePresetAndSave(preset)\n      if (updateServerDefault) {\n        await setServerDefaultPreset(preset)\n      }\n    },\n    [setActivePresetAndSave, setServerDefaultPreset, updateServerDefault]\n  )\n\n  const refreshPresets = useCallback(async () => {\n    try {\n      const response = await fetch('/signalk/v1/unitpreferences/presets', {\n        credentials: 'include'\n      })\n      if (response.ok) {\n        const data = await response.json()\n        const fetched = []\n        if (data.builtIn) {\n          for (const p of data.builtIn) {\n            fetched.push({\n              name: typeof p === 'object' ? p.name : p,\n              label: typeof p === 'object' ? p.displayName || p.name : p,\n              isCustom: false,\n              isBuiltIn: true\n            })\n          }\n        }\n        if (data.custom) {\n          for (const p of data.custom) {\n            fetched.push({\n              name: typeof p === 'object' ? p.name : p,\n              label: typeof p === 'object' ? p.displayName || p.name : p,\n              isCustom: true,\n              isBuiltIn: false\n            })\n          }\n        }\n        if (fetched.length > 0) {\n          setPresets(fetched)\n        }\n      }\n    } catch (e) {\n      console.error('Failed to refresh presets:', e)\n    }\n  }, [setPresets])\n\n  const handleFileUpload = useCallback(\n    async (event: React.ChangeEvent<HTMLInputElement>) => {\n      const file = event.target.files?.[0]\n      if (!file) return\n\n      setUploadStatus('uploading')\n      setUploadError(null)\n      setDuplicatePresetName(null)\n      setPendingFile(file)\n\n      const formData = new FormData()\n      formData.append('preset', file)\n\n      try {\n        const response = await fetch(\n          '/signalk/v1/unitpreferences/presets/custom/upload',\n          {\n            method: 'POST',\n            credentials: 'include',\n            body: formData\n          }\n        )\n\n        const result = await response.json()\n\n        if (response.ok) {\n          setUploadStatus('success')\n          setUploadError(null)\n          setPendingFile(null)\n          await refreshPresets()\n          setTimeout(() => setUploadStatus(null), 3000)\n        } else if (response.status === 409 && result.error === 'duplicate') {\n          setUploadStatus('duplicate')\n          setDuplicatePresetName(result.existingName)\n        } else {\n          setUploadStatus('error')\n          setUploadError(result.error || 'Upload failed')\n          setPendingFile(null)\n        }\n      } catch (e) {\n        setUploadStatus('error')\n        setUploadError(e instanceof Error ? e.message : 'Upload failed')\n        setPendingFile(null)\n      }\n\n      if (fileInputRef.current) {\n        fileInputRef.current.value = ''\n      }\n    },\n    [refreshPresets]\n  )\n\n  const handleDeletePreset = useCallback(\n    async (presetName: string) => {\n      if (!window.confirm(`Delete custom preset \"${presetName}\"?`)) {\n        return\n      }\n\n      try {\n        const response = await fetch(\n          `/signalk/v1/unitpreferences/presets/custom/${presetName}`,\n          {\n            method: 'DELETE',\n            credentials: 'include'\n          }\n        )\n\n        if (response.ok) {\n          await refreshPresets()\n          if (activePreset === presetName) {\n            await setActivePresetAndSave('metric')\n          }\n        } else {\n          const result = await response.json()\n          setUploadStatus('error')\n          setUploadError(result.error || 'Delete failed')\n        }\n      } catch (e) {\n        setUploadStatus('error')\n        setUploadError(e instanceof Error ? e.message : 'Delete failed')\n      }\n    },\n    [activePreset, refreshPresets, setActivePresetAndSave]\n  )\n\n  const handleReplacePreset = useCallback(async () => {\n    if (!duplicatePresetName || !pendingFile) return\n\n    setUploadStatus('uploading')\n\n    try {\n      const deleteResponse = await fetch(\n        `/signalk/v1/unitpreferences/presets/custom/${duplicatePresetName}`,\n        {\n          method: 'DELETE',\n          credentials: 'include'\n        }\n      )\n\n      if (!deleteResponse.ok) {\n        const result = await deleteResponse.json()\n        setUploadStatus('error')\n        setUploadError(result.error || 'Failed to replace preset')\n        setDuplicatePresetName(null)\n        setPendingFile(null)\n        return\n      }\n\n      const formData = new FormData()\n      formData.append('preset', pendingFile)\n\n      const uploadResponse = await fetch(\n        '/signalk/v1/unitpreferences/presets/custom/upload',\n        {\n          method: 'POST',\n          credentials: 'include',\n          body: formData\n        }\n      )\n\n      const result = await uploadResponse.json()\n\n      if (uploadResponse.ok) {\n        setUploadStatus('success')\n        setUploadError(null)\n        setDuplicatePresetName(null)\n        setPendingFile(null)\n        await refreshPresets()\n        setTimeout(() => setUploadStatus(null), 3000)\n      } else {\n        setUploadStatus('error')\n        setUploadError(result.error || 'Upload failed')\n        setDuplicatePresetName(null)\n        setPendingFile(null)\n      }\n    } catch (e) {\n      setUploadStatus('error')\n      setUploadError(e instanceof Error ? e.message : 'Replace failed')\n      setDuplicatePresetName(null)\n      setPendingFile(null)\n    }\n  }, [duplicatePresetName, pendingFile, refreshPresets])\n\n  const dismissError = useCallback(() => {\n    setUploadStatus(null)\n    setUploadError(null)\n    setDuplicatePresetName(null)\n    setPendingFile(null)\n  }, [])\n\n  if (!unitPrefsLoaded) {\n    return null\n  }\n\n  const builtInPresets = presets.filter((p) => !p.isCustom)\n  const customPresets = presets.filter((p) => p.isCustom)\n  const activeCustomPreset = customPresets.find((p) => p.name === activePreset)\n\n  return (\n    <Card>\n      <Card.Header>\n        <FontAwesomeIcon icon={faSliders} /> <strong>Unit Preferences</strong>\n      </Card.Header>\n      <Card.Body>\n        <Form.Group as={Row} className=\"mb-3\">\n          <Col md={2}>\n            <Form.Label>Display Units</Form.Label>\n          </Col>\n          <Col xs=\"12\" md={10}>\n            <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n              <Form.Select\n                value={activePreset}\n                onChange={(e: React.ChangeEvent<HTMLSelectElement>) =>\n                  handlePresetChange(e.target.value)\n                }\n                style={{ maxWidth: '300px' }}\n              >\n                <optgroup label=\"Built-in\">\n                  {builtInPresets.map((p) => (\n                    <option key={p.name} value={p.name}>\n                      {p.label}\n                    </option>\n                  ))}\n                </optgroup>\n                {customPresets.length > 0 && (\n                  <optgroup label=\"Custom\">\n                    {customPresets.map((p) => (\n                      <option key={p.name} value={p.name}>\n                        {p.label}\n                      </option>\n                    ))}\n                  </optgroup>\n                )}\n              </Form.Select>\n              {isAdmin && activeCustomPreset && (\n                <Button\n                  variant=\"outline-danger\"\n                  size=\"sm\"\n                  onClick={() => handleDeletePreset(activePreset)}\n                  title={`Delete ${activeCustomPreset.label}`}\n                >\n                  <FontAwesomeIcon icon={faTrash} />\n                </Button>\n              )}\n            </div>\n            {isAdmin && (\n              <div style={{ marginTop: '10px' }}>\n                <Form.Check\n                  type=\"checkbox\"\n                  id=\"updateServerDefault\"\n                  checked={updateServerDefault}\n                  onChange={async (e: React.ChangeEvent<HTMLInputElement>) => {\n                    const checked = e.target.checked\n                    setUpdateServerDefault(checked)\n                    if (checked) {\n                      await setServerDefaultPreset(activePreset)\n                    }\n                  }}\n                  label=\"Also set as server default (for new users)\"\n                />\n                <Form.Text className=\"text-muted\">\n                  Current server default: {serverDefaultPreset}\n                </Form.Text>\n              </div>\n            )}\n            {isAdmin && (\n              <div style={{ marginTop: '10px' }}>\n                <input\n                  ref={fileInputRef}\n                  type=\"file\"\n                  accept=\".json\"\n                  onChange={handleFileUpload}\n                  style={{ display: 'none' }}\n                />\n                <Form.Text\n                  className=\"text-muted\"\n                  style={{ marginRight: '8px' }}\n                >\n                  Add custom preset\n                </Form.Text>\n                <Button\n                  variant=\"outline-primary\"\n                  size=\"sm\"\n                  onClick={() => fileInputRef.current?.click()}\n                  disabled={uploadStatus === 'uploading'}\n                >\n                  <FontAwesomeIcon icon={faUpload} />{' '}\n                  {uploadStatus === 'uploading' ? 'Uploading...' : 'Upload'}\n                </Button>\n              </div>\n            )}\n            {uploadStatus === 'success' && (\n              <Alert\n                variant=\"success\"\n                style={{ marginTop: '10px', marginBottom: 0 }}\n              >\n                Preset uploaded successfully!\n              </Alert>\n            )}\n            {uploadStatus === 'duplicate' && (\n              <Alert\n                variant=\"warning\"\n                style={{ marginTop: '10px', marginBottom: 0 }}\n              >\n                <div\n                  style={{\n                    display: 'flex',\n                    justifyContent: 'space-between',\n                    alignItems: 'center'\n                  }}\n                >\n                  <span>\n                    A preset named &quot;{duplicatePresetName}&quot; already\n                    exists.\n                  </span>\n                  <span>\n                    <Button\n                      variant=\"warning\"\n                      size=\"sm\"\n                      onClick={handleReplacePreset}\n                      style={{ marginRight: '8px' }}\n                    >\n                      Replace\n                    </Button>\n                    <Button\n                      variant=\"secondary\"\n                      size=\"sm\"\n                      onClick={dismissError}\n                    >\n                      Cancel\n                    </Button>\n                  </span>\n                </div>\n              </Alert>\n            )}\n            {uploadStatus === 'error' && (\n              <Alert\n                variant=\"danger\"\n                style={{ marginTop: '10px', marginBottom: 0 }}\n              >\n                <div\n                  style={{\n                    display: 'flex',\n                    justifyContent: 'space-between',\n                    alignItems: 'flex-start'\n                  }}\n                >\n                  <span style={{ whiteSpace: 'pre-wrap' }}>{uploadError}</span>\n                  <span\n                    onClick={dismissError}\n                    style={{ cursor: 'pointer', marginLeft: '10px' }}\n                    title=\"Dismiss\"\n                  >\n                    <FontAwesomeIcon icon={faTimes} />\n                  </span>\n                </div>\n              </Alert>\n            )}\n          </Col>\n        </Form.Group>\n      </Card.Body>\n    </Card>\n  )\n}\n\nexport default UnitPreferencesSettings\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/ServerConfig/VesselConfiguration.tsx",
    "content": "import React, { useState, useEffect, useCallback } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\n\ninterface VesselData {\n  name?: string\n  mmsi?: string\n  callsignVhf?: string\n  uuid?: string\n  aisShipType?: string\n  draft?: string\n  length?: string\n  beam?: string\n  height?: string\n  gpsFromBow?: string\n  gpsFromCenter?: string\n}\n\nconst VesselConfiguration: React.FC = () => {\n  const [hasData, setHasData] = useState(false)\n  const [vesselData, setVesselData] = useState<VesselData>({})\n\n  const fetchVessel = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/vessel`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data: VesselData) => {\n        setVesselData(data)\n        setHasData(true)\n      })\n  }, [])\n\n  useEffect(() => {\n    fetchVessel()\n  }, [fetchVessel])\n\n  const handleChange = useCallback(\n    (event: React.ChangeEvent<HTMLInputElement>) => {\n      const value =\n        event.target.type === 'checkbox'\n          ? event.target.checked\n          : event.target.value\n      setVesselData((prev) => ({ ...prev, [event.target.name]: value }))\n    },\n    []\n  )\n\n  const handleSaveVessel = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/vessel`, {\n      method: 'PUT',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(vesselData),\n      credentials: 'include'\n    })\n      .then((response) => response.text())\n      .then((response) => {\n        alert(response)\n      })\n  }, [vesselData])\n\n  if (!hasData) {\n    return null\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Card>\n        <Card.Header>\n          <FontAwesomeIcon icon={faAlignJustify} />{' '}\n          <strong>Vessel Base Data</strong>\n        </Card.Header>\n        <Card.Body>\n          <Form\n            action=\"\"\n            method=\"post\"\n            encType=\"multipart/form-data\"\n            className=\"form-horizontal\"\n          >\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"name\">Name</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"name\"\n                  name=\"name\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.name || ''}\n                />\n                <Form.Text muted>The name of the vessel</Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"mmsi\">MMSI</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"mmsi\"\n                  name=\"mmsi\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.mmsi || ''}\n                />\n                <Form.Text muted>Leave blank if there is no mmsi</Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"callsignVhf\">Call Sign</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"callsignVhf\"\n                  name=\"callsignVhf\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.callsignVhf || ''}\n                />\n                <Form.Text muted>\n                  Leave blank if there is no call sign\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"uuid\">UUID</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"uuid\"\n                  name=\"uuid\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.uuid || ''}\n                />\n                <Form.Text muted>Ignored if MMSI is set</Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"aisShipType\">Ship Type</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Select\n                  id=\"aisShipType\"\n                  name=\"aisShipType\"\n                  value={vesselData.aisShipType || ''}\n                  onChange={handleChange}\n                >\n                  <option value=\"20\">Wing In Ground</option>\n                  <option value=\"29\">\n                    Wing In Ground (no other information)\n                  </option>\n                  <option value=\"30\">Fishing</option>\n                  <option value=\"31\">Towing</option>\n                  <option value=\"32\">\n                    Towing exceeds 200m or wider than 25m\n                  </option>\n                  <option value=\"33\">\n                    Engaged in dredging or underwater operations\n                  </option>\n                  <option value=\"34\">Engaged in diving operations</option>\n                  <option value=\"35\">Engaged in military operations</option>\n                  <option value=\"36\">Sailing</option>\n                  <option value=\"37\">Pleasure</option>\n                  <option value=\"40\">High speed craft</option>\n                  <option value=\"41\">\n                    High speed craft carrying dangerous goods\n                  </option>\n                  <option value=\"42\">High speed craft hazard cat B</option>\n                  <option value=\"43\">High speed craft hazard cat C</option>\n                  <option value=\"44\">High speed craft hazard cat D</option>\n                  <option value=\"49\">\n                    High speed craft (no additional information)\n                  </option>\n                  <option value=\"50\">Pilot vessel</option>\n                  <option value=\"51\">SAR</option>\n                  <option value=\"52\">Tug</option>\n                  <option value=\"53\">Port tender</option>\n                  <option value=\"54\">Anti-pollution</option>\n                  <option value=\"55\">Law enforcement</option>\n                  <option value=\"56\">Spare</option>\n                  <option value=\"57\">Spare #2</option>\n                  <option value=\"58\">Medical</option>\n                  <option value=\"59\">RR Resolution No.1</option>\n                  <option value=\"60\">Passenger ship</option>\n                  <option value=\"69\">\n                    Passenger ship (no additional information)\n                  </option>\n                  <option value=\"70\">Cargo ship</option>\n                  <option value=\"71\">\n                    Cargo ship carrying dangerous goods\n                  </option>\n                  <option value=\"72\">Cargo ship hazard cat B</option>\n                  <option value=\"73\">Cargo ship hazard cat C</option>\n                  <option value=\"74\">Cargo ship hazard cat D</option>\n                  <option value=\"79\">\n                    Cargo ship (no additional information)\n                  </option>\n                  <option value=\"80\">Tanker</option>\n                  <option value=\"81\">Tanker carrying dangerous goods</option>\n                  <option value=\"82\">Tanker hazard cat B</option>\n                  <option value=\"83\">Tanker hazard cat C</option>\n                  <option value=\"84\">Tanker hazard cat D</option>\n                  <option value=\"89\">Tanker (no additional information)</option>\n                  <option value=\"90\">Other</option>\n                  <option value=\"91\">Other carrying dangerous goods</option>\n                  <option value=\"92\">Other hazard cat B</option>\n                  <option value=\"93\">Other hazard cat C</option>\n                  <option value=\"94\">Other hazard cat D</option>\n                  <option value=\"99\">Other (no additional information)</option>\n                </Form.Select>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"draft\">Draft</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"draft\"\n                  name=\"draft\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.draft || ''}\n                />\n                <Form.Text muted>\n                  The maximum draft in meters of the vessel\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"length\">Length</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"length\"\n                  name=\"length\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.length || ''}\n                />\n                <Form.Text muted>\n                  The overall length of the vessel in meters\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"beam\">Beam</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"beam\"\n                  name=\"beam\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.beam || ''}\n                />\n                <Form.Text muted>The beam of the vessel in meters</Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"height\">Height</Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"height\"\n                  name=\"height\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.height || ''}\n                />\n                <Form.Text muted>\n                  The total height of the vessel in meters{' '}\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"gpsFromBow\">\n                  GPS Distance From Bow\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"gpsFromBow\"\n                  name=\"gpsFromBow\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.gpsFromBow || ''}\n                />\n                <Form.Text muted>\n                  The distance of the gps receiver from the bow in meters\n                </Form.Text>\n              </Col>\n            </Form.Group>\n            <Form.Group as={Row}>\n              <Col md=\"2\">\n                <Form.Label htmlFor=\"gpsFromCenter\">\n                  GPS Distance From Center\n                </Form.Label>\n              </Col>\n              <Col xs=\"12\" md=\"4\">\n                <Form.Control\n                  type=\"text\"\n                  id=\"gpsFromCenter\"\n                  name=\"gpsFromCenter\"\n                  autoComplete=\"off\"\n                  onChange={handleChange}\n                  value={vesselData.gpsFromCenter || ''}\n                />\n                <Form.Text muted>\n                  The distance from the center of vessel of the gps receiver in\n                  meters\n                </Form.Text>\n              </Col>\n            </Form.Group>\n          </Form>\n        </Card.Body>\n        <Card.Footer>\n          <Button size=\"sm\" variant=\"primary\" onClick={handleSaveVessel}>\n            <FontAwesomeIcon icon={faFloppyDisk} /> Save\n          </Button>\n        </Card.Footer>\n      </Card>\n    </div>\n  )\n}\n\nexport default VesselConfiguration\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/Embedded.tsx",
    "content": "import {\n  useEffect,\n  useMemo,\n  useCallback,\n  Suspense,\n  createElement,\n  ComponentType,\n  Component,\n  ReactNode\n} from 'react'\nimport { useLoginStatus } from '../../store'\nimport { useParams } from 'react-router-dom'\nimport { toLazyDynamicComponent, APP_PANEL } from './dynamicutilities'\nimport Login from '../../views/security/Login'\nimport ReconnectingWebSocket from 'reconnecting-websocket'\nimport { LoginStatus } from '../../store/types'\n\n// Error boundary for catching fatal React errors from webapps (e.g., React 19 incompatibility)\n// This boundary only catches errors during React's render phase, not errors in event handlers\ninterface WebappErrorBoundaryState {\n  hasError: boolean\n  error: Error | null\n}\n\ninterface WebappErrorBoundaryProps {\n  children: ReactNode\n  webappName: string\n}\n\nclass WebappErrorBoundary extends Component<\n  WebappErrorBoundaryProps,\n  WebappErrorBoundaryState\n> {\n  override state: WebappErrorBoundaryState = { hasError: false, error: null }\n\n  static getDerivedStateFromError(error: Error): WebappErrorBoundaryState {\n    return { hasError: true, error }\n  }\n\n  handleRetry = () => {\n    this.setState({ hasError: false, error: null })\n  }\n\n  override render() {\n    if (this.state.hasError) {\n      const errorMessage = this.state.error?.message || ''\n      // Check if this looks like a React version incompatibility error\n      const isReactIncompatibility =\n        errorMessage.includes('Minified React error') ||\n        errorMessage.includes('Element type is invalid') ||\n        errorMessage.includes('Cannot read properties of undefined') ||\n        errorMessage.includes('Cannot access') ||\n        errorMessage.includes('#306') ||\n        errorMessage.includes('#130') ||\n        errorMessage.includes('#152')\n\n      return (\n        <div className=\"container mt-4\">\n          <div className=\"alert alert-warning\">\n            <h5>Webapp Error</h5>\n            <p>\n              The webapp <strong>{this.props.webappName}</strong> encountered an\n              error.\n              {isReactIncompatibility && (\n                <>\n                  {' '}\n                  This webapp may need to be updated for React 19 compatibility.\n                </>\n              )}\n            </p>\n            <button\n              type=\"button\"\n              className=\"btn btn-outline-secondary btn-sm me-2\"\n              onClick={this.handleRetry}\n            >\n              Try again\n            </button>\n            <details className=\"mt-2\">\n              <summary>Technical details</summary>\n              <pre style={{ fontSize: '0.8rem', whiteSpace: 'pre-wrap' }}>\n                {this.state.error?.message}\n              </pre>\n            </details>\n          </div>\n        </div>\n      )\n    }\n    return this.props.children\n  }\n}\n\nconst wsProto = window.location.protocol === 'https:' ? 'wss' : 'ws'\n\n// Module-level websocket tracking to avoid ref access during render\n// Each Embedded component instance gets its own array keyed by moduleId\nconst moduleWebsockets = new Map<string, ReconnectingWebSocket[]>()\n\ninterface WebSocketParams {\n  subscribe?: string\n  sendCachedValues?: boolean\n  events?: string\n}\n\ninterface AdminUI {\n  hideSideBar: () => void\n  getApplicationUserData: (\n    appDataVersion: string,\n    path?: string\n  ) => Promise<unknown>\n  setApplicationUserData: (\n    appDataVersion: string,\n    data?: object,\n    path?: string\n  ) => Promise<Response>\n  openWebsocket: (wsParams: WebSocketParams) => ReconnectingWebSocket\n  get: (params: { context: string; path: string }) => Promise<Response>\n  Login: typeof Login\n}\n\ninterface EmbeddedComponentProps {\n  loginStatus: LoginStatus\n  adminUI: AdminUI\n}\n\nexport default function Embedded() {\n  const loginStatus = useLoginStatus()\n  const params = useParams<{ moduleId: string }>()\n  const moduleId = params.moduleId ?? ''\n\n  const component = useMemo(\n    () =>\n      moduleId\n        ? (toLazyDynamicComponent(\n            moduleId,\n            APP_PANEL\n          ) as ComponentType<EmbeddedComponentProps>)\n        : null,\n    [moduleId]\n  )\n\n  useEffect(() => {\n    if (!moduleWebsockets.has(moduleId)) {\n      moduleWebsockets.set(moduleId, [])\n    }\n    const cleanupModuleId = moduleId\n    return () => {\n      const websockets = moduleWebsockets.get(cleanupModuleId)\n      if (websockets) {\n        websockets.forEach((ws) => {\n          try {\n            ws.close()\n          } catch (e) {\n            console.error(e)\n          }\n        })\n        moduleWebsockets.delete(cleanupModuleId)\n      }\n    }\n  }, [moduleId])\n\n  const openWebsocket = useCallback(\n    (wsParams: WebSocketParams) => {\n      const knownParams: (keyof WebSocketParams)[] = [\n        'subscribe',\n        'sendCachedValues',\n        'events'\n      ]\n      const queryParam = knownParams\n        .map((p, i) => [i, wsParams[p]] as [number, unknown])\n        .filter((x) => x[1] !== undefined)\n        .map(([i, v]) => `${knownParams[i]}=${v}`)\n        .join('&')\n      const ws = new ReconnectingWebSocket(\n        `${wsProto}://${window.location.host}/signalk/v1/stream?${queryParam}`\n      )\n      const websockets = moduleWebsockets.get(moduleId)\n      if (websockets) {\n        websockets.push(ws)\n      }\n      return ws\n    },\n    [moduleId]\n  )\n\n  const adminUI: AdminUI = useMemo(\n    () => ({\n      hideSideBar: () => {\n        window.dispatchEvent(new Event('sidebar:hide'))\n      },\n      getApplicationUserData: (appDataVersion: string, path = '') =>\n        fetch(\n          `/signalk/v1/applicationData/user/${moduleId}/${appDataVersion}${path}`,\n          { credentials: 'include' }\n        )\n          .then((r) => {\n            if (r.status !== 200) {\n              throw new Error(String(r.status))\n            }\n            return r\n          })\n          .then((r) => r.json()),\n      setApplicationUserData: (appDataVersion: string, data = {}, path = '') =>\n        fetch(\n          `/signalk/v1/applicationData/user/${moduleId}/${appDataVersion}${path}`,\n          {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(data),\n            credentials: 'include'\n          }\n        ).then((r) => {\n          if (r.status !== 200) {\n            throw new Error(String(r.status))\n          }\n          return r\n        }),\n      openWebsocket,\n      get: ({ context, path }) => {\n        const cParts = context.split('.')\n        return fetch(\n          `/signalk/v1/api/${cParts[0]}/${cParts.slice(1).join('.')}/${path}`,\n          {\n            credentials: 'include'\n          }\n        )\n      },\n      Login\n    }),\n    [moduleId, openWebsocket]\n  )\n\n  if (!component) {\n    return <div>Loading...</div>\n  }\n\n  return (\n    <div\n      style={{ backgroundColor: 'aliceblue', height: 'calc(100vh - 105px)' }}\n    >\n      <WebappErrorBoundary key={moduleId} webappName={moduleId || 'Unknown'}>\n        <Suspense fallback=\"Loading...\">\n          {createElement(component, {\n            loginStatus,\n            adminUI\n          })}\n        </Suspense>\n      </WebappErrorBoundary>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/EmbeddedAsyncApi.tsx",
    "content": "import { useEffect, useState } from 'react'\n\ninterface AsyncApiSpec {\n  title: string\n  url: string\n}\n\ninterface AsyncApiDoc {\n  asyncapi: string\n  info: {\n    title: string\n    version: string\n    description?: string\n    descriptionHtml?: string\n  }\n  servers?: Record<\n    string,\n    { host: string; protocol: string; pathname?: string; description?: string }\n  >\n  channels?: Record<\n    string,\n    {\n      address?: string\n      description?: string\n      messages?: Record<\n        string,\n        {\n          name?: string\n          title?: string\n          summary?: string\n          payload?: Record<string, unknown>\n        }\n      >\n    }\n  >\n  operations?: Record<\n    string,\n    { action: string; summary?: string; description?: string }\n  >\n}\n\nfunction schemaToString(schema: Record<string, unknown>, indent = 0): string {\n  if (!schema) return 'any'\n  const pad = '  '.repeat(indent)\n  if (schema.anyOf)\n    return (schema.anyOf as Record<string, unknown>[])\n      .map((s) => schemaToString(s, indent))\n      .join(' | ')\n  if (schema.const !== undefined) return JSON.stringify(schema.const)\n  if (\n    schema.type === 'object' &&\n    schema.properties &&\n    typeof schema.properties === 'object'\n  ) {\n    const props = schema.properties as Record<string, Record<string, unknown>>\n    const lines = ['{']\n    for (const k of Object.keys(props)) {\n      lines.push(`${pad}  ${k}: ${schemaToString(props[k], indent + 1)}`)\n    }\n    lines.push(`${pad}}`)\n    return lines.join('\\n')\n  }\n  if (schema.type === 'array' && schema.items)\n    return (\n      schemaToString(schema.items as Record<string, unknown>, indent) + '[]'\n    )\n  if (schema.type) return schema.type as string\n  return 'any'\n}\n\nexport default function EmbeddedAsyncApi() {\n  const [specs, setSpecs] = useState<AsyncApiSpec[]>([])\n  const [selectedIdx, setSelectedIdx] = useState(0)\n  const [doc, setDoc] = useState<AsyncApiDoc | null>(null)\n  const [error, setError] = useState('')\n\n  useEffect(() => {\n    fetch('/skServer/asyncapi')\n      .then((r) => {\n        if (!r.ok) throw new Error(`${r.status} ${r.statusText}`)\n        return r.json()\n      })\n      .then((list) => {\n        const s = list.map((item: { title: string; jsonUrl: string }) => ({\n          title: item.title,\n          url: item.jsonUrl\n        }))\n        setSpecs(s)\n      })\n      .catch((e) => setError(e.message))\n  }, [])\n\n  useEffect(() => {\n    if (specs.length === 0) return\n    setError('')\n    setDoc(null)\n    fetch(specs[selectedIdx].url)\n      .then((r) => {\n        if (!r.ok) throw new Error(`${r.status} ${r.statusText}`)\n        return r.json()\n      })\n      .then(setDoc)\n      .catch((e) => setError(e.message))\n  }, [specs, selectedIdx])\n\n  if (error) return <p style={{ color: 'red', padding: 20 }}>Error: {error}</p>\n\n  return (\n    <div style={{ padding: 20 }}>\n      <div style={{ marginBottom: 16 }}>\n        <label htmlFor=\"api-select\" style={{ marginRight: 8, fontWeight: 500 }}>\n          API:\n        </label>\n        <select\n          id=\"api-select\"\n          value={selectedIdx}\n          onChange={(e) => setSelectedIdx(Number(e.target.value))}\n          style={{ padding: '4px 8px' }}\n        >\n          {specs.map((s, i) => (\n            <option key={s.url} value={i}>\n              {s.title}\n            </option>\n          ))}\n        </select>\n      </div>\n\n      {!doc ? (\n        <p>Loading...</p>\n      ) : (\n        <>\n          <h4>{doc.info.title}</h4>\n          <small className=\"text-muted\">\n            v{doc.info.version} — AsyncAPI {doc.asyncapi}\n          </small>\n          {doc.info.descriptionHtml && (\n            <div\n              style={{ marginTop: 12, fontSize: 14, lineHeight: 1.6 }}\n              dangerouslySetInnerHTML={{ __html: doc.info.descriptionHtml }}\n            />\n          )}\n\n          {doc.servers && (\n            <>\n              <h5 style={{ marginTop: 24 }}>Servers</h5>\n              {Object.entries(doc.servers).map(([name, srv]) => (\n                <div\n                  key={name}\n                  className=\"card\"\n                  style={{ marginBottom: 8, padding: 12 }}\n                >\n                  <strong>{name}</strong>{' '}\n                  <span className=\"badge bg-primary\">{srv.protocol}</span>\n                  <div style={{ fontSize: 13, marginTop: 4 }}>\n                    Host: {srv.host}\n                    {srv.pathname && <> — Path: {srv.pathname}</>}\n                  </div>\n                  {srv.description && (\n                    <div className=\"text-muted\" style={{ fontSize: 13 }}>\n                      {srv.description}\n                    </div>\n                  )}\n                </div>\n              ))}\n            </>\n          )}\n\n          {doc.channels && (\n            <>\n              <h5 style={{ marginTop: 24 }}>Channels</h5>\n              {Object.entries(doc.channels).map(([cname, ch]) => (\n                <div\n                  key={cname}\n                  className=\"card\"\n                  style={{ marginBottom: 12, padding: 12 }}\n                >\n                  <code style={{ fontSize: 14 }}>{ch.address || cname}</code>\n                  {ch.description && (\n                    <div\n                      className=\"text-muted\"\n                      style={{ fontSize: 13, marginTop: 4 }}\n                    >\n                      {ch.description}\n                    </div>\n                  )}\n                  {ch.messages && (\n                    <>\n                      <h6 style={{ marginTop: 12 }}>Messages</h6>\n                      {Object.entries(ch.messages).map(([mname, msg]) => (\n                        <div\n                          key={mname}\n                          style={{\n                            marginBottom: 10,\n                            paddingLeft: 12,\n                            borderLeft: '2px solid #dee2e6'\n                          }}\n                        >\n                          <code style={{ fontSize: 13 }}>\n                            {msg.name || mname}\n                          </code>\n                          {msg.title && (\n                            <span style={{ marginLeft: 8, fontWeight: 500 }}>\n                              {msg.title}\n                            </span>\n                          )}\n                          {msg.summary && (\n                            <div\n                              className=\"text-muted\"\n                              style={{ fontSize: 12 }}\n                            >\n                              {msg.summary}\n                            </div>\n                          )}\n                          {msg.payload && (\n                            <pre\n                              style={{\n                                background: '#f5f5f5',\n                                padding: 8,\n                                borderRadius: 4,\n                                fontSize: 12,\n                                marginTop: 4\n                              }}\n                            >\n                              {schemaToString(\n                                msg.payload as Record<string, unknown>\n                              )}\n                            </pre>\n                          )}\n                        </div>\n                      ))}\n                    </>\n                  )}\n                </div>\n              ))}\n            </>\n          )}\n\n          {doc.operations && (\n            <>\n              <h5 style={{ marginTop: 24 }}>Operations</h5>\n              {Object.entries(doc.operations).map(([oname, op]) => (\n                <div\n                  key={oname}\n                  className=\"card\"\n                  style={{ marginBottom: 8, padding: 12 }}\n                >\n                  <span className=\"badge bg-success\" style={{ marginRight: 8 }}>\n                    {op.action}\n                  </span>\n                  <strong>{oname}</strong>\n                  {op.summary && (\n                    <div\n                      className=\"text-muted\"\n                      style={{ fontSize: 13, marginTop: 4 }}\n                    >\n                      {op.summary}\n                    </div>\n                  )}\n                </div>\n              ))}\n            </>\n          )}\n        </>\n      )}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/EmbeddedDocs.tsx",
    "content": "import { useCallback, useEffect, useRef } from 'react'\nimport { useLocation, useNavigate } from 'react-router-dom'\n\nexport default function EmbeddedDocs() {\n  const location = useLocation()\n  const navigate = useNavigate()\n  const iframeRef = useRef<HTMLIFrameElement>(null)\n  const currentPathRef = useRef(location.pathname)\n  const currentHashRef = useRef(location.hash)\n\n  const docsBase = `${window.location.protocol}//${window.location.host}/documentation/`\n  const routeSubPath = location.pathname.replace('/documentation', '') || '/'\n  const initialSrc =\n    docsBase + routeSubPath.replace(/^\\//, '') + (location.hash || '')\n\n  useEffect(() => {\n    currentPathRef.current = location.pathname\n    currentHashRef.current = location.hash\n  }, [location.pathname, location.hash])\n\n  useEffect(() => {\n    document.body.classList.add('sidebar-hidden')\n    return () => {\n      document.body.classList.remove('sidebar-hidden')\n    }\n  }, [])\n\n  const handleIframeLoad = useCallback(() => {\n    const iframe = iframeRef.current\n    if (!iframe?.contentWindow) return\n    try {\n      const iframePath = iframe.contentWindow.location.pathname\n      const hash = iframe.contentWindow.location.hash || ''\n      const subPath = iframePath.replace('/documentation', '') || '/'\n      const currentRouteSubPath =\n        currentPathRef.current.replace('/documentation', '') || '/'\n      if (subPath !== currentRouteSubPath || hash !== currentHashRef.current) {\n        navigate('/documentation' + subPath + hash, { replace: true })\n      }\n\n      iframe.contentWindow.addEventListener('hashchange', () => {\n        const newHash = iframe.contentWindow!.location.hash || ''\n        const currentSubPath =\n          iframe.contentWindow!.location.pathname.replace(\n            '/documentation',\n            ''\n          ) || '/'\n        navigate('/documentation' + currentSubPath + newHash, { replace: true })\n      })\n    } catch (_e) {\n      // Cross-origin fallback (shouldn't happen with same-origin docs)\n    }\n  }, [navigate])\n\n  useEffect(() => {\n    const iframe = iframeRef.current\n    if (!iframe?.contentWindow) return\n    try {\n      const iframePath = iframe.contentWindow.location.pathname\n      const iframeSubPath = iframePath.replace('/documentation', '') || '/'\n      const iframeHash = iframe.contentWindow.location.hash || ''\n      if (\n        routeSubPath !== iframeSubPath ||\n        (location.hash || '') !== iframeHash\n      ) {\n        iframe.contentWindow.location.href =\n          docsBase + routeSubPath.replace(/^\\//, '') + (location.hash || '')\n      }\n    } catch (_e) {\n      // Cross-origin fallback\n    }\n  }, [docsBase, routeSubPath, location.hash])\n\n  return (\n    <div style={{ backgroundColor: '#0d1117', margin: 0, padding: 0 }}>\n      <iframe\n        ref={iframeRef}\n        src={initialSrc}\n        onLoad={handleIframeLoad}\n        style={{\n          width: '100%',\n          height: 'calc(100vh - 55px)',\n          border: 'none'\n        }}\n        title=\"Signal K Documentation\"\n        // eslint-disable-next-line @eslint-react/dom/no-unsafe-iframe-sandbox -- trusted same-origin server docs\n        sandbox=\"allow-scripts allow-same-origin\"\n      />\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/Webapp.tsx",
    "content": "import { ReactNode } from 'react'\nimport Card from 'react-bootstrap/Card'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTableCells } from '@fortawesome/free-solid-svg-icons/faTableCells'\nimport classNames from 'classnames'\nimport { toSafeModuleId } from './dynamicutilities'\n\ninterface SignalKInfo {\n  displayName?: string\n  appIcon?: string\n}\n\ninterface WebAppInfo {\n  name: string\n  description?: string\n  keywords?: string[]\n  signalk?: SignalKInfo\n}\n\ninterface WebappProps {\n  webAppInfo: WebAppInfo\n  children?: ReactNode\n}\n\nexport function urlToWebapp(webAppInfo: WebAppInfo): string {\n  return webAppInfo.keywords?.includes('signalk-embeddable-webapp')\n    ? `/admin/#/e/${toSafeModuleId(webAppInfo.name)}`\n    : `/${webAppInfo.name}/`\n}\n\nexport default function Webapp({ webAppInfo, ...attributes }: WebappProps) {\n  const padding = { card: 'p-3', icon: 'p-3', lead: 'mt-2' }\n\n  const card = {\n    style: 'clearfix',\n    color: 'primary'\n  }\n\n  const lead = { style: 'h5 mb-0', color: card.color, classes: '' }\n  lead.classes = classNames(\n    lead.style,\n    'text-' + card.color,\n    padding.lead,\n    'text-capitalize'\n  )\n  const header = webAppInfo?.signalk?.displayName || webAppInfo.name\n  const url = urlToWebapp(webAppInfo)\n  const hasDisplayName = !!webAppInfo?.signalk?.displayName\n\n  const blockIcon = function (appIcon: string | null = null) {\n    const classes = classNames(\n      'bg-primary',\n      padding.icon,\n      'font-2xl me-3 float-start'\n    )\n    const style: React.CSSProperties = {\n      backgroundSize: 'cover',\n      backgroundImage: appIcon\n        ? `url(/${webAppInfo.name}/${appIcon})`\n        : 'unset',\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center'\n    }\n    if (appIcon) {\n      style.width = style.height = '72px'\n    }\n    return (\n      <span className={classes} style={style}>\n        {!appIcon && !hasDisplayName && <FontAwesomeIcon icon={faTableCells} />}\n      </span>\n    )\n  }\n\n  return (\n    <a href={url}>\n      <Card>\n        <Card.Body className={card.style} {...attributes}>\n          {blockIcon(webAppInfo?.signalk?.appIcon || null)}\n          <div className={lead.classes}>{header}</div>\n          <div className=\"text-muted font-xs\">{webAppInfo.description}</div>\n        </Card.Body>\n      </Card>\n    </a>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/Webapps.tsx",
    "content": "import { useMemo, Suspense, createElement, ComponentType } from 'react'\nimport { useWebapps, useAddons } from '../../store'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport { ADDON_PANEL, toLazyDynamicComponent } from './dynamicutilities'\nimport Webapp from './Webapp'\n\ninterface WebAppInfo {\n  name: string\n  description?: string\n  keywords?: string[]\n  signalk?: {\n    displayName?: string\n    appIcon?: string\n  }\n}\n\ninterface AddonModule {\n  name: string\n}\n\ninterface AddonPanelProps {\n  webapps: WebAppInfo[]\n  addons: AddonModule[]\n}\n\nexport default function Webapps() {\n  const webapps = useWebapps() as WebAppInfo[]\n  const addons = useAddons() as AddonModule[]\n\n  const addonComponents = useMemo(\n    () =>\n      addons.map((md) => ({\n        name: md.name,\n        Component: toLazyDynamicComponent(\n          md.name,\n          ADDON_PANEL\n        ) as ComponentType<AddonPanelProps>\n      })),\n    [addons]\n  )\n\n  return (\n    <div className=\"animated fadeIn\">\n      <Card>\n        <Card.Header>Webapps</Card.Header>\n        <Card.Body>\n          <div className=\"row\">\n            {webapps\n              .filter(\n                (webAppInfo) => webAppInfo.name !== '@signalk/server-admin-ui'\n              )\n              .map((webAppInfo) => {\n                return (\n                  <Col xs=\"12\" md=\"12\" lg=\"6\" xl=\"4\" key={webAppInfo.name}>\n                    <Webapp key={webAppInfo.name} webAppInfo={webAppInfo} />\n                  </Col>\n                )\n              })}\n          </div>\n        </Card.Body>\n      </Card>\n\n      <Card>\n        <Card.Header>Addons</Card.Header>\n        <Card.Body>\n          {addonComponents.map(({ name, Component }) => (\n            <Suspense key={name} fallback=\"Loading...\">\n              {createElement(Component, { webapps, addons })}\n            </Suspense>\n          ))}\n        </Card.Body>\n      </Card>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/dynamicutilities.ts",
    "content": "import React from 'react'\nimport ReactDOM from 'react-dom'\n\ninterface ShareScopeEntry {\n  get: () => Promise<() => unknown>\n  loaded: boolean\n  from: string\n  eager: boolean\n  shareConfig: {\n    singleton: boolean\n    requiredVersion: string\n  }\n}\n\ninterface ShareScope {\n  react?: Record<string, ShareScopeEntry>\n  'react-dom'?: Record<string, ShareScopeEntry>\n  [key: string]: Record<string, ShareScopeEntry> | undefined\n}\n\ninterface FederationInstance {\n  shareScopeMap?: {\n    default?: ShareScope\n  }\n}\n\ninterface Container {\n  init: (shareScope: ShareScope) => Promise<void> | void\n  get: (module: string) => Promise<() => { default: React.ComponentType }>\n}\n\ndeclare global {\n  interface Window {\n    [key: string]: Container | undefined\n  }\n\n  var __webpack_share_scopes__: { default: ShareScope } | undefined\n\n  var __FEDERATION__: { __INSTANCES__?: FederationInstance[] } | undefined\n}\n\nlet cachedShareScope: ShareScope | null = null\nconst initializedContainers = new Set<string>()\n\nconst getShareScope = (): ShareScope => {\n  if (cachedShareScope) {\n    return cachedShareScope\n  }\n\n  // Webpack-built hosts expose share scopes via this global\n  if (typeof __webpack_share_scopes__ !== 'undefined') {\n    cachedShareScope = __webpack_share_scopes__.default\n    return cachedShareScope\n  }\n\n  // __FEDERATION__ global is set up by @module-federation/vite runtime\n  if (\n    typeof __FEDERATION__ !== 'undefined' &&\n    __FEDERATION__.__INSTANCES__ &&\n    __FEDERATION__.__INSTANCES__.length > 0\n  ) {\n    const hostInstance = __FEDERATION__.__INSTANCES__[0]\n    if (hostInstance && hostInstance.shareScopeMap) {\n      if (!hostInstance.shareScopeMap.default) {\n        hostInstance.shareScopeMap.default = {}\n      }\n      cachedShareScope = hostInstance.shareScopeMap.default\n      return cachedShareScope\n    }\n  }\n\n  // Fallback for Webpack remotes — format matches Webpack's share scope structure\n  cachedShareScope = {\n    react: {\n      [React.version]: {\n        get: () => Promise.resolve(() => React),\n        loaded: true,\n        from: 'adminUI',\n        eager: true,\n        shareConfig: {\n          singleton: true,\n          requiredVersion: `^${React.version}`\n        }\n      }\n    },\n    'react-dom': {\n      [ReactDOM.version as string]: {\n        get: () => Promise.resolve(() => ReactDOM),\n        loaded: true,\n        from: 'adminUI',\n        eager: true,\n        shareConfig: {\n          singleton: true,\n          requiredVersion: `^${(ReactDOM as { version?: string }).version || ''}`\n        }\n      }\n    }\n  }\n  return cachedShareScope\n}\n\nconst legacyReactContainers = new Set<string>()\n\n/**\n * Resolve a module's remoteEntry.js URL from the server-injected script\n * tags, bridging safe IDs (e.g. _canboat_visual_analyzer) back to the\n * original package name paths (e.g. /@canboat/visual-analyzer/).\n */\nconst findRemoteEntryUrl = (moduleName: string): string | null => {\n  const safeId = toSafeModuleId(moduleName)\n  const scripts = document.querySelectorAll('script[src$=\"/remoteEntry.js\"]')\n  for (const script of scripts) {\n    const src = script.getAttribute('src')\n    if (!src) continue\n    const match = src.match(/^\\/(.+)\\/remoteEntry\\.js$/)\n    if (match && toSafeModuleId(match[1]) === safeId) {\n      return src\n    }\n  }\n  return null\n}\n\nconst initializeContainer = async (\n  container: Container,\n  moduleName: string\n): Promise<void> => {\n  const containerId = toSafeModuleId(moduleName)\n\n  if (initializedContainers.has(containerId)) {\n    return\n  }\n\n  const shareScope = getShareScope()\n  const hostMajor = parseInt(React.version.split('.')[0], 10)\n\n  const reactVersionsBefore = new Set(Object.keys(shareScope.react || {}))\n\n  // container.init() may return a promise in Vite Module Federation\n  try {\n    const initResult = container.init(shareScope)\n    if (\n      initResult &&\n      typeof (initResult as Promise<void>).then === 'function'\n    ) {\n      await initResult\n    }\n    initializedContainers.add(containerId)\n\n    if (shareScope.react) {\n      for (const version of Object.keys(shareScope.react)) {\n        if (!reactVersionsBefore.has(version)) {\n          const major = parseInt(version.split('.')[0], 10)\n          if (major !== hostMajor) {\n            legacyReactContainers.add(containerId)\n          }\n        }\n      }\n    }\n  } catch (error) {\n    // Benign: container was initialized by another code path\n    if (\n      error instanceof Error &&\n      error.message.includes('already been initialized')\n    ) {\n      initializedContainers.add(containerId)\n    } else {\n      throw error\n    }\n  }\n}\n\n/**\n * Initialize a legacy container with a share scope containing only React 16.\n * Using a separate scope ensures webpack's singleton resolution always picks\n * R16 — if we mutated the host scope (temporarily hiding R19), the container\n * would keep a reference to that same object and later chunk resolution\n * would pick R19 (higher version, not yet loaded) over R16.\n */\nconst initLegacyContainer = async (\n  container: Container,\n  moduleName: string,\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  legacy: { React16: any; ReactDOM16: any }\n): Promise<void> => {\n  const containerId = toSafeModuleId(moduleName)\n  if (initializedContainers.has(containerId)) {\n    return\n  }\n\n  const r16Version =\n    (legacy.React16 as { version?: string }).version || '16.14.0'\n  const legacyShareScope: ShareScope = {\n    react: {\n      [r16Version]: {\n        get: () => Promise.resolve(() => legacy.React16),\n        loaded: true,\n        from: 'legacyBridge',\n        eager: true,\n        shareConfig: {\n          singleton: true,\n          requiredVersion: `^${r16Version}`\n        }\n      }\n    },\n    'react-dom': {\n      [r16Version]: {\n        get: () => Promise.resolve(() => legacy.ReactDOM16),\n        loaded: true,\n        from: 'legacyBridge',\n        eager: true,\n        shareConfig: {\n          singleton: true,\n          requiredVersion: `^${r16Version}`\n        }\n      }\n    }\n  }\n\n  try {\n    const initResult = container.init(legacyShareScope)\n    if (\n      initResult &&\n      typeof (initResult as Promise<void>).then === 'function'\n    ) {\n      await initResult\n    }\n    initializedContainers.add(containerId)\n    legacyReactContainers.add(containerId)\n  } catch (error) {\n    if (\n      error instanceof Error &&\n      error.message.includes('already been initialized')\n    ) {\n      initializedContainers.add(containerId)\n    } else {\n      throw error\n    }\n  }\n}\n\n/** Load a UMD script in an isolated CommonJS shim (no window globals). */\nconst loadUMD = async (\n  url: string,\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  require: (name: string) => any\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Promise<any> => {\n  const resp = await fetch(url)\n  if (!resp.ok) throw new Error(`Failed to load ${url}: ${resp.status}`)\n  const code = await resp.text()\n  const exportsObj: Record<string, unknown> = {}\n  const moduleObj = { exports: exportsObj }\n\n  const factory = new Function('exports', 'module', 'require', 'define', code)\n  factory(exportsObj, moduleObj, require, undefined)\n  return moduleObj.exports\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet cachedLegacyReact: { React16: any; ReactDOM16: any } | null = null\n\n/**\n * Load React 16 + ReactDOM 16 for bridging legacy remote components.\n *\n * React 16 is loaded from the share scope if a plugin already registered it\n * (via container.init), otherwise from a bundled UMD. ReactDOM 16 always\n * comes from the bundled UMD, wired to the same React 16 instance so hooks\n * share a single dispatcher.\n */\nconst getLegacyReact = async (): Promise<{\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  React16: any\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ReactDOM16: any\n} | null> => {\n  if (cachedLegacyReact) return cachedLegacyReact\n\n  try {\n    const base = document.baseURI || window.location.href\n    const noRequire = (name: string) => {\n      throw new Error(`Unexpected require(\"${name}\")`)\n    }\n\n    // Load UMD React 16 first (includes Scheduler, needed by ReactDOM 16)\n    const React16UMD = await loadUMD(\n      new URL('react-16.production.min.js', base).href,\n      noRequire\n    )\n\n    // Check if a plugin already registered its React 16 in the share scope.\n    // If so, link the UMD's internal dispatchers to the plugin's instance\n    // so hooks work across both the plugin's CJS React and the UMD ReactDOM.\n    const shareScope = getShareScope()\n    const reactEntries = shareScope.react\n    const hostMajor = parseInt(React.version.split('.')[0], 10)\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let pluginReact16: any = null\n\n    if (reactEntries) {\n      for (const version of Object.keys(reactEntries)) {\n        const major = parseInt(version.split('.')[0], 10)\n        if (major !== hostMajor) {\n          try {\n            pluginReact16 = (await reactEntries[version].get())()\n            break\n          } catch {\n            // ignore\n          }\n        }\n      }\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let React16ForBridge: any\n    if (pluginReact16) {\n      const pluginInternals =\n        pluginReact16.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n      const umdInternals =\n        React16UMD.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED\n      if (pluginInternals && umdInternals) {\n        umdInternals.ReactCurrentDispatcher =\n          pluginInternals.ReactCurrentDispatcher\n        umdInternals.ReactCurrentBatchConfig =\n          pluginInternals.ReactCurrentBatchConfig\n        umdInternals.ReactCurrentOwner = pluginInternals.ReactCurrentOwner\n        umdInternals.IsSomeRendererActing = pluginInternals.IsSomeRendererActing\n      }\n      React16ForBridge = pluginReact16\n    } else {\n      // No plugin React 16 yet (pre-init). The container will be\n      // initialized with a share scope pointing to React16UMD, so\n      // the plugin's webpack chunks will use this same instance.\n      React16ForBridge = React16UMD\n    }\n\n    const ReactDOM16 = await loadUMD(\n      new URL('react-dom-16.production.min.js', base).href,\n      (name: string) => {\n        if (name === 'react') return React16UMD\n        throw new Error(`Unexpected require(\"${name}\") in ReactDOM UMD`)\n      }\n    )\n\n    cachedLegacyReact = { React16: React16ForBridge, ReactDOM16 }\n    return cachedLegacyReact\n  } catch (e) {\n    console.warn('Could not load legacy ReactDOM for bridging:', e)\n    return null\n  }\n}\n\nconst createErrorModule = (message?: string): { default: React.FC } => ({\n  default: () =>\n    React.createElement(\n      'div',\n      { className: 'p-4 text-center' },\n      React.createElement(\n        'h4',\n        { className: 'text-danger' },\n        'Error loading component'\n      ),\n      message &&\n        React.createElement(\n          'p',\n          { className: 'text-secondary small mt-3' },\n          message\n        )\n    )\n})\n\n/**\n * Check whether a container uses a legacy (non-host) React version.\n *\n * Uses two strategies: first checks if initializeContainer() observed\n * a non-host React version in the share scope. Falls back to fetching\n * the remoteEntry.js source and scanning for React version declarations,\n * since containers sharing an already-registered version (e.g. when\n * multiple plugins use React 16.14.0) don't create new scope entries.\n */\nconst containerUsesLegacyReact = async (\n  moduleName: string\n): Promise<boolean> => {\n  if (legacyReactContainers.has(toSafeModuleId(moduleName))) {\n    return true\n  }\n\n  const remoteEntryUrl = findRemoteEntryUrl(moduleName)\n  if (!remoteEntryUrl) {\n    return false\n  }\n  const hostMajor = parseInt(React.version.split('.')[0], 10)\n  try {\n    const resp = await fetch(remoteEntryUrl)\n    if (resp.ok) {\n      const source = await resp.text()\n      // Match webpack MF shared dep declarations: (\"react\",\"16.14.0\"\n      const pattern = /\\(\"react\",\"(\\d+)\\.\\d+\\.\\d+\"/g\n      let match\n      while ((match = pattern.exec(source)) !== null) {\n        const major = parseInt(match[1], 10)\n        if (major !== hostMajor) {\n          legacyReactContainers.add(toSafeModuleId(moduleName))\n          return true\n        }\n      }\n    }\n  } catch {\n    // If fetch fails, fall through — component will render directly\n  }\n  return false\n}\n\n/**\n * Wrap a legacy-React component so it renders in an isolated R16 subtree\n * via ReactDOM 16's render(), avoiding hook errors from mixed runtimes.\n */\nconst createLegacyBridge = (\n  RemoteComponent: React.ComponentType,\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  React16: any,\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ReactDOM16: any\n): React.FC => {\n  const Bridge: React.FC = (props) => {\n    const containerRef = React.useRef<HTMLDivElement>(null)\n    const propsRef = React.useRef(props)\n    propsRef.current = props\n\n    React.useEffect(() => {\n      const el = containerRef.current\n      if (!el) return\n      // Deferred to avoid interfering with R19's commit phase (error #525)\n      let cancelled = false\n      const id = setTimeout(() => {\n        if (!cancelled) {\n          ReactDOM16.render(\n            React16.createElement(RemoteComponent, propsRef.current),\n            el\n          )\n        }\n      }, 0)\n      return () => {\n        cancelled = true\n        clearTimeout(id)\n      }\n    })\n\n    React.useEffect(() => {\n      const el = containerRef.current\n      return () => {\n        if (el) {\n          try {\n            ReactDOM16.unmountComponentAtNode(el)\n          } catch {\n            // best-effort cleanup\n          }\n        }\n      }\n    }, [])\n\n    // eslint-disable-next-line react-hooks/refs\n    return React.createElement('div', { ref: containerRef })\n  }\n  Bridge.displayName = `LegacyBridge(${(RemoteComponent as { displayName?: string }).displayName || RemoteComponent.name || 'Remote'})`\n  return Bridge\n}\n\nexport const toLazyDynamicComponent = (\n  moduleName: string,\n  component: string\n): React.LazyExoticComponent<React.ComponentType> =>\n  React.lazy(() =>\n    (async () => {\n      let container = window[toSafeModuleId(moduleName)] as\n        | Container\n        | undefined\n\n      if (container === undefined) {\n        const remoteEntryUrl = findRemoteEntryUrl(moduleName)\n        if (remoteEntryUrl) {\n          try {\n            const esmModule = await import(/* @vite-ignore */ remoteEntryUrl)\n            if (\n              typeof esmModule.get === 'function' &&\n              typeof esmModule.init === 'function'\n            ) {\n              container = esmModule as Container\n            }\n          } catch (e) {\n            console.warn(`ESM import failed for ${moduleName}:`, e)\n          }\n        }\n      }\n\n      if (container === undefined) {\n        console.error(`Could not load module ${moduleName}`)\n        return createErrorModule(\n          `Module \"${moduleName}\" is not available. Make sure the webapp is installed.`\n        )\n      }\n\n      try {\n        const isLegacy = await containerUsesLegacyReact(moduleName)\n\n        if (isLegacy) {\n          const legacy = await getLegacyReact()\n          if (legacy) {\n            await initLegacyContainer(container, moduleName, legacy)\n\n            const factory = await container.get(component)\n            if (!factory) {\n              return createErrorModule(\n                `Module \"${moduleName}\" does not export the required component.`\n              )\n            }\n\n            const Module = factory()\n            const RemoteComponent = (Module as { default: React.ComponentType })\n              .default\n\n            console.log(\n              `Module ${moduleName} uses legacy React — bridging with isolated ReactDOM.render`\n            )\n            return {\n              default: createLegacyBridge(\n                RemoteComponent,\n                legacy.React16,\n                legacy.ReactDOM16\n              )\n            }\n          }\n        }\n\n        // Normal (non-legacy) path\n        await initializeContainer(container, moduleName)\n\n        const factory = await container.get(component)\n        if (!factory) {\n          return createErrorModule(\n            `Module \"${moduleName}\" does not export the required component.`\n          )\n        }\n\n        const Module = factory()\n        const RemoteComponent = (Module as { default: React.ComponentType })\n          .default\n\n        // Double-check: initializeContainer may have detected legacy\n        // after init (via share scope version diff)\n        if (await containerUsesLegacyReact(moduleName)) {\n          const legacy = await getLegacyReact()\n          if (legacy) {\n            console.log(\n              `Module ${moduleName} uses legacy React (post-init) — bridging with isolated ReactDOM.render`\n            )\n            return {\n              default: createLegacyBridge(\n                RemoteComponent,\n                legacy.React16,\n                legacy.ReactDOM16\n              )\n            }\n          }\n        }\n\n        return Module as { default: React.ComponentType }\n      } catch (ex) {\n        console.error(`Error loading ${component} from ${moduleName}:`, ex)\n\n        // Check for React version incompatibility\n        const errorMessage = ex instanceof Error ? ex.message : String(ex)\n        if (\n          errorMessage.includes('hasOwnProperty') ||\n          errorMessage.includes('Cannot read properties of undefined') ||\n          (errorMessage.includes('Cannot access') &&\n            errorMessage.includes('before initialization'))\n        ) {\n          return createErrorModule(\n            `This webapp may be incompatible with React 19. ` +\n              `It may need to be updated by its developer. (${moduleName})`\n          )\n        }\n\n        return createErrorModule(`Failed to load webapp: ${errorMessage}`)\n      }\n    })()\n  )\n\nexport const toSafeModuleId = (moduleName: string): string =>\n  moduleName.replace(/[-@/]/g, '_')\n\nexport const APP_PANEL = './AppPanel'\nexport const ADDON_PANEL = './AddonPanel'\nexport const PLUGIN_CONFIG_PANEL = './PluginConfigurationPanel'\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/Webapps/loadingerror.tsx",
    "content": "interface LoadingErrorProps {\n  message?: string\n}\n\nexport default function LoadingError({ message }: LoadingErrorProps) {\n  return (\n    <div className=\"p-4 text-center\">\n      <h4 className=\"text-danger\">Error loading component</h4>\n      {message && <p className=\"text-secondary small mt-3\">{message}</p>}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/Apps/Apps.tsx",
    "content": "import { faMagnifyingGlass } from '@fortawesome/free-solid-svg-icons/faMagnifyingGlass'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport React, { useState, useCallback, useMemo, useDeferredValue } from 'react'\nimport { useAppStore } from '../../../store'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Form from 'react-bootstrap/Form'\nimport AppsList from '../AppsList'\nimport WarningBox from './WarningBox'\n\nimport '../appStore.scss'\n\ninterface InstallingApp {\n  name: string\n  isWaiting?: boolean\n  isInstalling?: boolean\n}\n\ninterface AppInfo {\n  name: string\n  description?: string\n  version: string\n  installedVersion?: string\n  installed?: boolean\n  installing?: boolean\n  newVersion?: string\n  prereleaseVersion?: string\n  updated?: string\n  categories: string[]\n  [key: string]: unknown\n}\n\ninterface AppStore {\n  storeAvailable: boolean\n  available: AppInfo[]\n  installed: AppInfo[]\n  installing: InstallingApp[]\n  updates: AppInfo[]\n  categories?: string[]\n}\n\nconst installingCount = (appStore: AppStore): number => {\n  return appStore.installing.filter((app) => {\n    return app.isWaiting || app.isInstalling\n  }).length\n}\n\nconst selectedViewToFilter = (\n  selectedView: string,\n  appStore: AppStore\n): ((app: AppInfo) => boolean) => {\n  if (selectedView === 'Installed') {\n    return (app) => !!app.installedVersion || !!app.installing\n  } else if (selectedView === 'Updates') {\n    return (app) => updateAvailable(app, appStore)\n  } else if (selectedView === 'Installing') {\n    return (app) => !!app.installing\n  }\n  return () => true\n}\n\nconst updateAvailable = (app: AppInfo, appStore: AppStore): boolean => {\n  return !!(\n    app.installedVersion &&\n    app.version !== app.installedVersion &&\n    appStore.updates.find((update) => update.name === app.name)\n  )\n}\n\nconst Apps: React.FC = () => {\n  const appStore = useAppStore() as AppStore\n  const [view, setSelectedView] = useState('All')\n  const [category, setSelectedCategory] = useState('All')\n  const [search, setSearch] = useState('')\n\n  const deferredSearch = useDeferredValue(search)\n  const isSearchStale = search !== deferredSearch\n\n  const deriveAppList = useCallback((): AppInfo[] => {\n    const allApps: Record<string, AppInfo> = appStore.available.reduce(\n      (acc, app) => {\n        acc[app.name] = { ...app }\n        return acc\n      },\n      {} as Record<string, AppInfo>\n    )\n\n    appStore.installed.forEach((app) => {\n      const update = appStore.updates.find((u) => u.name === app.name)\n      allApps[app.name] = {\n        ...app,\n        installed: true,\n        newVersion: update ? app.version : undefined,\n        updateDisabled: update?.updateDisabled\n      }\n    })\n\n    appStore.installing.forEach((app) => {\n      if (allApps[app.name]) {\n        allApps[app.name] = { ...allApps[app.name], ...app, installing: true }\n      }\n    })\n\n    return Object.values(allApps).sort(\n      (a, b) =>\n        new Date(b.updated || 0).getTime() - new Date(a.updated || 0).getTime()\n    )\n  }, [appStore])\n\n  const rowData = useMemo(() => {\n    const selectedViewFilter = selectedViewToFilter(view, appStore)\n    const selectedCategoryFilter =\n      category === 'All'\n        ? () => true\n        : (app: AppInfo) => app.categories?.includes(category)\n    const textSearchFilter =\n      deferredSearch === ''\n        ? () => true\n        : (app: AppInfo) => {\n            const lower = deferredSearch.toLowerCase()\n            return (\n              app.name.toLowerCase().indexOf(lower) >= 0 ||\n              (app.description &&\n                app.description.toLowerCase().indexOf(lower) >= 0)\n            )\n          }\n\n    return deriveAppList()\n      .filter(selectedViewFilter)\n      .filter(selectedCategoryFilter)\n      .filter(textSearchFilter)\n  }, [appStore, view, category, deferredSearch, deriveAppList])\n\n  const handleUpdateAll = useCallback(() => {\n    if (confirm(`Are you sure you want to install all updates?`)) {\n      for (const app of rowData) {\n        if (app.newVersion && app.installed && !app.updateDisabled) {\n          fetch(\n            `${window.serverRoutesPrefix}/appstore/install/${app.name}/${app.version}`,\n            {\n              method: 'POST',\n              credentials: 'include'\n            }\n          )\n        }\n      }\n    }\n  }, [rowData])\n\n  let warning: string | undefined\n  if (appStore.storeAvailable === false) {\n    warning = `You probably don't have Internet connectivity and Appstore can not be reached.`\n  } else if (appStore.installing.length > 0) {\n    warning =\n      'Please restart the server after installing, updating or deleting a plugin'\n  }\n\n  return (\n    <div className=\"appstore animated fadeIn\">\n      {warning && (\n        <section className=\"appstore__warning section\">\n          <WarningBox>{warning}</WarningBox>\n        </section>\n      )}\n\n      <Card>\n        <Card.Header className=\"appstore__header\">\n          <div className=\"title__container\">\n            <Card.Title>Apps & Plugins</Card.Title>\n            <div className=\"button-wrapper\">\n              <Button\n                variant={view === 'All' ? 'secondary' : 'light'}\n                onClick={() => setSelectedView('All')}\n              >\n                All\n              </Button>\n              <Button\n                variant={view === 'Installed' ? 'secondary' : 'light'}\n                onClick={() => setSelectedView('Installed')}\n              >\n                Installed\n              </Button>\n              <Button\n                variant={view === 'Updates' ? 'secondary' : 'light'}\n                onClick={() => setSelectedView('Updates')}\n              >\n                Updates\n                {appStore.updates.length > 0 && (\n                  <span className=\"badge__update\">\n                    {appStore.updates.length}\n                  </span>\n                )}\n              </Button>\n              {appStore.installing.length > 0 && (\n                <>\n                  <Button\n                    variant={view === 'Installing' ? 'secondary' : 'light'}\n                    onClick={() => setSelectedView('Installing')}\n                  >\n                    Installs & Removes\n                    {installingCount(appStore) > 0 && (\n                      <span className=\"badge__update\">\n                        {installingCount(appStore)}\n                      </span>\n                    )}\n                  </Button>\n                  {appStore.installing.length > 0 && '(Pending restart)'}\n                </>\n              )}\n            </div>\n          </div>\n\n          <div className=\"action__container\">\n            {view === 'Updates' && appStore.updates.length > 0 ? (\n              <Button variant=\"success\" onClick={handleUpdateAll}>\n                Update all\n              </Button>\n            ) : undefined}\n\n            <div className=\"search\">\n              <label htmlFor=\"search-text-box\" className=\"visually-hidden\">\n                Search apps and plugins\n              </label>\n              <FontAwesomeIcon\n                className=\"search__icon\"\n                icon={faMagnifyingGlass}\n              />\n              <Form.Control\n                id=\"search-text-box\"\n                className=\"search__input\"\n                placeholder=\"Search ...\"\n                autoComplete=\"off\"\n                onInput={(e) => {\n                  setSearch((e.target as HTMLInputElement).value)\n                }}\n                value={search}\n              />\n            </div>\n          </div>\n        </Card.Header>\n\n        <Card.Body>\n          <section className=\"appstore__tags section\">\n            {appStore.categories?.map((item) => (\n              <Button\n                key={item}\n                variant={category === item ? 'secondary' : 'outline-secondary'}\n                onClick={() => setSelectedCategory(item)}\n              >\n                {item}\n              </Button>\n            ))}\n          </section>\n          <section className=\"appstore__grid\">\n            <div\n              style={{\n                height: '100%',\n                opacity: isSearchStale ? 0.7 : 1,\n                transition: 'opacity 0.2s'\n              }}\n            >\n              <AppsList apps={rowData} />\n            </div>\n          </section>\n        </Card.Body>\n      </Card>\n    </div>\n  )\n}\n\nexport default Apps\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/Apps/WarningBox.tsx",
    "content": "import { ReactNode } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation'\n\ninterface WarningBoxProps {\n  children: ReactNode\n}\n\nexport default function WarningBox({ children }: WarningBoxProps) {\n  return (\n    <div className=\"message__container\" role=\"alert\">\n      <p className=\"message\">\n        <span aria-hidden=\"true\">\n          <FontAwesomeIcon icon={faTriangleExclamation} />\n        </span>\n        {children}\n      </p>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/AppsList.tsx",
    "content": "import { useState } from 'react'\nimport InfiniteScroll from 'react-infinite-scroll-component'\nimport ListGroup from 'react-bootstrap/ListGroup'\nimport ActionCellRenderer from './Grid/cell-renderers/ActionCellRenderer'\n\nexport interface AppData {\n  name: string\n  version?: string\n  installedVersion?: string\n  newVersion?: string\n  prereleaseVersion?: string\n  author?: string\n  updated?: string\n  description?: string\n  [key: string]: unknown\n}\n\nexport function AppListItem(app: AppData) {\n  return (\n    <ListGroup.Item className=\"p-3\">\n      <div className=\"d-md-flex align-items-center flex-grow-1\">\n        <div className=\"flex-grow-1 me-3\">\n          <h5 className=\"text-dark mb-0\">{app.name}</h5>\n          <div className=\"text-muted\">\n            <span className=\"fw-bold\">\n              v{app.installedVersion || app.version}{' '}\n            </span>\n            {app.newVersion && (\n              <>\n                <span className=\"text-secondary\"> → </span>\n                <span className=\"fw-bold text-success fst-italic\">\n                  v{app.newVersion}\n                </span>{' '}\n              </>\n            )}\n            released by\n            <span className=\"text-nowrap fw-bold\"> {app.author}</span> on\n            <span className=\"text-nowrap\">\n              {' '}\n              {app.updated?.substring(0, 10)}\n            </span>\n            {app.prereleaseVersion && (\n              <span className=\"badge text-bg-info ms-2\">\n                pre-release: v{app.prereleaseVersion}\n              </span>\n            )}\n          </div>\n          <p className=\"text-pretty mb-0\">{app.description}</p>\n        </div>\n        <div className=\"mt-3 mt-md-0\">\n          <ActionCellRenderer data={app} />\n        </div>\n      </div>\n    </ListGroup.Item>\n  )\n}\n\ninterface AppListProps {\n  apps: AppData[]\n}\n\nexport default function AppList({ apps: propsApps }: AppListProps) {\n  const [displayCount, setDisplayCount] = useState(20)\n  const [prevAppsLength, setPrevAppsLength] = useState(propsApps.length)\n\n  if (propsApps.length !== prevAppsLength) {\n    setPrevAppsLength(propsApps.length)\n    setDisplayCount(20)\n  }\n\n  const apps = propsApps.slice(0, displayCount)\n\n  function loadMore() {\n    setDisplayCount((prev) => prev + 20)\n  }\n\n  return (\n    <ListGroup>\n      <InfiniteScroll\n        dataLength={apps.length}\n        next={loadMore}\n        hasMore={apps.length !== propsApps.length}\n        loader={null}\n        style={{ overflow: 'visible' }}\n      >\n        {apps.map((app) => (\n          <AppListItem key={app.name} {...app} />\n        ))}\n      </InfiniteScroll>\n    </ListGroup>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/Grid/cell-renderers/ActionCellRenderer.test.tsx",
    "content": "import { describe, it, expect } from 'vitest'\nimport { formatBytes } from './ActionCellRenderer'\n\ndescribe('formatBytes', () => {\n  it('formats bytes', () => {\n    expect(formatBytes(0)).toBe('0 B')\n    expect(formatBytes(500)).toBe('500 B')\n    expect(formatBytes(1023)).toBe('1023 B')\n  })\n\n  it('formats kilobytes', () => {\n    expect(formatBytes(1024)).toBe('1.0 KB')\n    expect(formatBytes(1536)).toBe('1.5 KB')\n    expect(formatBytes(10240)).toBe('10.0 KB')\n  })\n\n  it('formats megabytes', () => {\n    expect(formatBytes(1048576)).toBe('1.0 MB')\n    expect(formatBytes(2621440)).toBe('2.5 MB')\n    expect(formatBytes(10485760)).toBe('10.0 MB')\n  })\n\n  it('formats gigabytes', () => {\n    expect(formatBytes(1073741824)).toBe('1.0 GB')\n    expect(formatBytes(2684354560)).toBe('2.5 GB')\n  })\n})\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/Grid/cell-renderers/ActionCellRenderer.tsx",
    "content": "import { useState, ReactNode } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport ButtonGroup from 'react-bootstrap/ButtonGroup'\nimport Dropdown from 'react-bootstrap/Dropdown'\nimport ListGroup from 'react-bootstrap/ListGroup'\nimport Modal from 'react-bootstrap/Modal'\nimport ProgressBar from 'react-bootstrap/ProgressBar'\nimport { NavLink } from 'react-router-dom'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faTrashCan } from '@fortawesome/free-solid-svg-icons/faTrashCan'\nimport { faCloudArrowDown } from '@fortawesome/free-solid-svg-icons/faCloudArrowDown'\nimport { faGear } from '@fortawesome/free-solid-svg-icons/faGear'\nimport { faArrowUpRightFromSquare } from '@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare'\nimport { faLink } from '@fortawesome/free-solid-svg-icons/faLink'\nimport { faTriangleExclamation } from '@fortawesome/free-solid-svg-icons/faTriangleExclamation'\nimport { urlToWebapp } from '../../../Webapps/Webapp'\nimport semver from 'semver'\n\ninterface PluginDataSize {\n  totalBytes: number\n  fileCount: number\n  hasData: boolean\n}\n\nexport function formatBytes(bytes: number): string {\n  if (bytes < 1024) return `${bytes} B`\n  if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`\n  if (bytes < 1024 * 1024 * 1024)\n    return `${(bytes / (1024 * 1024)).toFixed(1)} MB`\n  return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`\n}\n\ninterface AppData {\n  name: string\n  version?: string\n  installedVersion?: string\n  newVersion?: string\n  installed?: boolean\n  installing?: boolean\n  isInstalling?: boolean\n  isRemoving?: boolean\n  isWaiting?: boolean\n  isRemove?: boolean\n  installFailed?: boolean\n  isPlugin?: boolean\n  id?: string\n  npmUrl?: string\n  [key: string]: unknown\n}\n\ninterface ActionCellRendererProps {\n  data: AppData\n}\n\nexport default function ActionCellRenderer({\n  data: app\n}: ActionCellRendererProps) {\n  const [showVersionsModal, setShowVersionsModal] = useState(false)\n  const [versions, setVersions] = useState<string[]>([])\n  const [allVersions, setAllVersions] = useState<string[]>([])\n  const [distTags, setDistTags] = useState<Record<string, string>>({})\n  const [loadingVersions, setLoadingVersions] = useState(false)\n  const [showAllVersions, setShowAllVersions] = useState(false)\n  const [showRemoveModal, setShowRemoveModal] = useState(false)\n  const [deleteData, setDeleteData] = useState(false)\n  const [dataSize, setDataSize] = useState<PluginDataSize | null>(null)\n  const [loadingDataSize, setLoadingDataSize] = useState(false)\n  const [removeError, setRemoveError] = useState<string | null>(null)\n\n  const handleInstallClick = () => {\n    fetch(\n      `${window.serverRoutesPrefix}/appstore/install/${app.name}/${app.version}`,\n      {\n        method: 'POST',\n        credentials: 'include'\n      }\n    )\n  }\n\n  const handleInstallVersionClick = (version: string) => {\n    fetch(\n      `${window.serverRoutesPrefix}/appstore/install/${app.name}/${version}`,\n      {\n        method: 'POST',\n        credentials: 'include'\n      }\n    )\n    setShowVersionsModal(false)\n  }\n\n  const handleVersionsClick = async () => {\n    setLoadingVersions(true)\n    setShowVersionsModal(true)\n    setShowAllVersions(false)\n\n    try {\n      const response = await fetch(`https://registry.npmjs.org/${app.name}`)\n      const packageData = await response.json()\n\n      if (packageData.versions) {\n        const sorted = semver.rsort(Object.keys(packageData.versions))\n        const nonDeprecated = sorted.filter(\n          (v) => !packageData.versions[v].deprecated\n        )\n\n        // Default view: last 5 stable releases + only pre-releases newer than latest stable\n        const filtered: string[] = []\n        let stableCount = 0\n        for (const v of nonDeprecated) {\n          if (semver.prerelease(v)) {\n            if (stableCount === 0) {\n              filtered.push(v) // only pre-releases above latest stable\n            }\n          } else {\n            if (stableCount < 5) {\n              filtered.push(v)\n              stableCount++\n            }\n          }\n        }\n\n        setVersions(filtered)\n        setAllVersions(nonDeprecated)\n      }\n      if (packageData['dist-tags']) {\n        setDistTags(packageData['dist-tags'])\n      }\n    } catch (error) {\n      console.error('Failed to fetch versions:', error)\n      setVersions([])\n      setAllVersions([])\n    } finally {\n      setLoadingVersions(false)\n    }\n  }\n\n  const handleRemoveClick = async () => {\n    setDeleteData(false)\n    setRemoveError(null)\n    setShowRemoveModal(true)\n    setLoadingDataSize(true)\n    setDataSize(null)\n\n    try {\n      const response = await fetch(\n        `${window.serverRoutesPrefix}/appstore/datasize/${app.name}`,\n        { credentials: 'include' }\n      )\n      if (response.ok) {\n        setDataSize(await response.json())\n      }\n    } catch (error) {\n      console.error('Failed to fetch data size:', error)\n    } finally {\n      setLoadingDataSize(false)\n    }\n  }\n\n  const handleConfirmRemove = async () => {\n    setRemoveError(null)\n    try {\n      const response = await fetch(\n        `${window.serverRoutesPrefix}/appstore/remove/${app.name}`,\n        {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          credentials: 'include',\n          body: JSON.stringify({ deleteData })\n        }\n      )\n      if (!response.ok) {\n        setRemoveError(\n          `Failed to remove ${app.name}: server returned ${response.status}`\n        )\n        return\n      }\n      setShowRemoveModal(false)\n    } catch (error) {\n      setRemoveError(\n        `Failed to remove ${app.name}: ${error instanceof Error ? error.message : String(error)}`\n      )\n    }\n  }\n\n  let content: ReactNode\n  let status: string | undefined\n  let progress: ReactNode | undefined\n\n  if (app.installing) {\n    if (app.isInstalling || app.isRemoving || app.isWaiting) {\n      status = app.isRemove\n        ? 'Removing'\n        : app.isWaiting\n          ? 'Waiting..'\n          : 'Installing'\n      progress = (\n        <ProgressBar\n          className=\"progress-sm progress__bar\"\n          animated\n          variant=\"success\"\n          now={100}\n        />\n      )\n    } else if (app.installFailed) {\n      status = 'Failed'\n    } else if (app.isRemove) {\n      status = 'Removed'\n    } else if (app.installedVersion) {\n      status = 'Updated'\n    } else {\n      status = 'Installed'\n    }\n\n    content = (\n      <div className=\"progress__wrapper\">\n        <div className=\"progress__status p-1\">{status}</div>\n        {progress}\n      </div>\n    )\n  } else {\n    content = (\n      <>\n        <Dropdown as={ButtonGroup} className=\"w-100\">\n          {app.installed ? (\n            app.newVersion ? (\n              app.updateDisabled ? (\n                <span className=\"btn btn-outline-secondary text-start disabled\">\n                  Update disabled\n                </span>\n              ) : (\n                <Button\n                  className=\"text-start\"\n                  variant=\"success\"\n                  onClick={handleInstallClick}\n                >\n                  <FontAwesomeIcon\n                    className=\"icon__update me-2\"\n                    icon={faCloudArrowDown}\n                  />\n                  Update\n                </Button>\n              )\n            ) : app.isPlugin ? (\n              <NavLink\n                to={`/serverConfiguration/plugins/${app.id}`}\n                role=\"button\"\n                className=\"btn btn-light text-start\"\n              >\n                <FontAwesomeIcon className=\"me-2\" icon={faGear} />\n                Configure\n              </NavLink>\n            ) : (\n              <a\n                href={urlToWebapp(app)}\n                role=\"button\"\n                className=\"btn btn-light text-start\"\n              >\n                <FontAwesomeIcon className=\"me-2\" icon={faLink} />\n                Open\n              </a>\n            )\n          ) : (\n            <Button\n              className=\"text-start\"\n              variant=\"light\"\n              onClick={handleInstallClick}\n            >\n              <FontAwesomeIcon className=\"me-2\" icon={faCloudArrowDown} />\n              Install\n            </Button>\n          )}\n\n          <Dropdown.Toggle\n            split\n            variant={app.newVersion ? 'success' : 'light'}\n            className=\"flex-grow-0\"\n          />\n          <Dropdown.Menu align=\"end\">\n            {app.installed && app.newVersion && (\n              <NavLink\n                to={`/serverConfiguration/plugins/${app.id}`}\n                className=\"dropdown-item\"\n              >\n                <FontAwesomeIcon className=\"me-2\" icon={faGear} /> Configure\n              </NavLink>\n            )}\n            {app.npmUrl && (\n              <a\n                href={app.npmUrl}\n                target=\"_blank\"\n                rel=\"noreferrer\"\n                className=\"dropdown-item\"\n              >\n                <FontAwesomeIcon\n                  icon={faArrowUpRightFromSquare}\n                  className=\"me-2\"\n                />\n                View on NPM\n              </a>\n            )}\n\n            <Dropdown.Item onClick={handleVersionsClick} className=\"text-start\">\n              <FontAwesomeIcon className=\"me-2\" icon={faCloudArrowDown} />\n              Versions\n            </Dropdown.Item>\n\n            {app.installed && (\n              <Dropdown.Item\n                onClick={handleRemoveClick}\n                className=\"text-danger\"\n              >\n                <FontAwesomeIcon className=\"me-2\" icon={faTrashCan} />\n                Remove\n              </Dropdown.Item>\n            )}\n          </Dropdown.Menu>\n        </Dropdown>\n      </>\n    )\n  }\n  return (\n    <div className=\"cell__renderer cell-action\">\n      <div>{content}</div>\n      {/* Versions Modal */}\n      <Modal\n        show={showVersionsModal}\n        onHide={() => setShowVersionsModal(false)}\n        size=\"lg\"\n      >\n        <Modal.Header closeButton>\n          <Modal.Title>Versions - {app.name}</Modal.Title>\n        </Modal.Header>\n        <Modal.Body>\n          {loadingVersions ? (\n            <div className=\"text-center\">\n              <div className=\"spinner-border text-primary\" role=\"status\">\n                <span className=\"sr-only\">Loading...</span>\n              </div>\n              <p className=\"mt-2\">Loading versions...</p>\n            </div>\n          ) : versions.length > 0 ? (\n            <>\n              <div\n                style={{\n                  maxHeight: '450px',\n                  overflowY: 'auto',\n                  border: '1px solid #ccc'\n                }}\n              >\n                <ListGroup>\n                  {(showAllVersions ? allVersions : versions).map((version) => {\n                    const isPrerelease = !!semver.prerelease(version)\n\n                    return (\n                      <ListGroup.Item\n                        key={version}\n                        className=\"d-flex justify-content-between align-items-center\"\n                      >\n                        <span>\n                          <strong>{version}</strong>\n                          {app.installedVersion === version && (\n                            <span className=\"badge text-bg-success ms-2\">\n                              Installed\n                            </span>\n                          )}\n                          {distTags.latest === version && (\n                            <span className=\"badge text-bg-primary ms-2\">\n                              latest\n                            </span>\n                          )}\n                          {isPrerelease && (\n                            <span className=\"badge text-bg-warning ms-2\">\n                              pre-release\n                            </span>\n                          )}\n                        </span>\n                        {app.installedVersion !== version && (\n                          <Button\n                            size=\"sm\"\n                            variant=\"light\"\n                            onClick={() => handleInstallVersionClick(version)}\n                          >\n                            <FontAwesomeIcon\n                              className=\"icon__update me-2\"\n                              icon={faCloudArrowDown}\n                            />\n                            Install\n                          </Button>\n                        )}\n                      </ListGroup.Item>\n                    )\n                  })}\n                </ListGroup>\n              </div>\n              {allVersions.length > versions.length && (\n                <div className=\"text-center mt-2\">\n                  <Button\n                    variant=\"link\"\n                    size=\"sm\"\n                    onClick={() => setShowAllVersions(!showAllVersions)}\n                  >\n                    {showAllVersions\n                      ? 'Show recent versions'\n                      : `Show all ${allVersions.length} versions`}\n                  </Button>\n                </div>\n              )}\n            </>\n          ) : (\n            <p className=\"text-muted\">\n              No older versions available or failed to load versions.\n            </p>\n          )}\n        </Modal.Body>\n      </Modal>\n      <Modal show={showRemoveModal} onHide={() => setShowRemoveModal(false)}>\n        <Modal.Header closeButton>\n          <Modal.Title>Remove {app.name}</Modal.Title>\n        </Modal.Header>\n        <Modal.Body>\n          <p>\n            Are you sure you want to remove <strong>{app.name}</strong>?\n          </p>\n          {loadingDataSize ? (\n            <div className=\"text-center\">\n              <div\n                className=\"spinner-border spinner-border-sm text-primary\"\n                role=\"status\"\n              >\n                <span className=\"visually-hidden\">Loading...</span>\n              </div>\n              <span className=\"ms-2\">Checking plugin data...</span>\n            </div>\n          ) : dataSize && dataSize.hasData ? (\n            <div className=\"mt-3\">\n              <div className=\"form-check\">\n                <input\n                  className=\"form-check-input\"\n                  type=\"checkbox\"\n                  id={`deleteDataCheck-${app.name}`}\n                  checked={deleteData}\n                  onChange={(e) => setDeleteData(e.target.checked)}\n                />\n                <label\n                  className=\"form-check-label\"\n                  htmlFor={`deleteDataCheck-${app.name}`}\n                >\n                  Also delete plugin configuration and data (\n                  {formatBytes(dataSize.totalBytes)})\n                </label>\n              </div>\n              {deleteData && (\n                <div className=\"alert alert-danger mt-2 py-2\" role=\"alert\">\n                  <FontAwesomeIcon\n                    icon={faTriangleExclamation}\n                    className=\"me-2\"\n                  />\n                  <small>\n                    Plugin configuration and data files ({dataSize.fileCount}{' '}\n                    {dataSize.fileCount === 1 ? 'file' : 'files'}) will be\n                    permanently deleted.\n                  </small>\n                </div>\n              )}\n            </div>\n          ) : dataSize && !dataSize.hasData ? (\n            <p className=\"text-muted mb-0\">\n              <small>No plugin data found on disk.</small>\n            </p>\n          ) : null}\n          {removeError && (\n            <div className=\"alert alert-danger mt-3 py-2 mb-0\" role=\"alert\">\n              <small>{removeError}</small>\n            </div>\n          )}\n        </Modal.Body>\n        <Modal.Footer>\n          <Button variant=\"secondary\" onClick={() => setShowRemoveModal(false)}>\n            Cancel\n          </Button>\n          <Button\n            variant=\"danger\"\n            onClick={handleConfirmRemove}\n            disabled={loadingDataSize}\n          >\n            <FontAwesomeIcon className=\"me-2\" icon={faTrashCan} />\n            Remove\n          </Button>\n        </Modal.Footer>\n      </Modal>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/appstore/appStore.scss",
    "content": ".appstore {\n  &__warning {\n    margin-bottom: 20px;\n\n    .message__container {\n      padding: 10px;\n      color: var(--bs-warning-text-emphasis, #9d8641);\n      border: 1px solid var(--bs-warning-border-subtle, #9d8641);\n      background-color: var(--bs-warning-bg-subtle, #fff2cd);\n      p {\n        span {\n          margin-right: 5px;\n        }\n        margin: 0;\n      }\n      i {\n        margin-right: 5px;\n      }\n    }\n  }\n\n  &__header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    flex-wrap: wrap;\n\n    @media (max-width: 768px) {\n      flex-direction: column;\n\n      .title__container {\n        width: 100%;\n        justify-content: space-between;\n        margin-bottom: 10px;\n      }\n\n      .action__container {\n        width: 100%;\n        flex-direction: row-reverse;\n\n        .search {\n          min-width: none;\n          justify-self: flex-start;\n        }\n      }\n    }\n\n    .title__container {\n      display: flex;\n      align-items: center;\n\n      .card-title {\n        margin: 0 10px 0 0;\n        font-size: 1.25rem;\n        font-weight: 500;\n      }\n\n      .button-wrapper {\n        button {\n          margin: 0 2px;\n        }\n\n        span.badge__update {\n          color: #fff !important;\n          font-size: 10px;\n          border-radius: 3px;\n          background-color: #00cd79 !important;\n          margin-left: 5px;\n          padding: 3px;\n          vertical-align: middle;\n        }\n      }\n    }\n\n    .action__container {\n      display: flex;\n      align-items: center;\n\n      button {\n        margin: 0 5px;\n      }\n\n      .search {\n        height: 100%;\n        position: relative;\n        margin: 0 5px;\n\n        &__icon {\n          position: absolute;\n          left: 0.75rem;\n          top: 50%;\n          transform: translateY(-50%);\n          color: grey;\n        }\n        &__input {\n          padding: 0.375rem 0.75rem;\n          padding-left: 2.5rem;\n          width: 100%;\n          height: calc(1.5em + 0.75rem + 2px);\n        }\n      }\n    }\n  }\n\n  &__tags {\n    button {\n      margin: 5px 5px;\n      border-radius: 30px;\n    }\n    margin-bottom: 20px;\n  }\n\n  &__grid {\n    flex: 1 1 auto;\n    background-color: white;\n    max-height: 80%;\n    font-size: 14px;\n\n    .grid__action {\n      display: flex;\n      justify-content: flex-end;\n    }\n\n    .cell-action {\n      width: 160px;\n      min-width: 160px;\n\n      // Connect the main button and split-toggle into one visual unit\n      .btn-group {\n        > .btn:first-child {\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0;\n          flex: 1 1 auto;\n        }\n        > .dropdown-toggle-split {\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0;\n        }\n      }\n\n      .proress__wrapper {\n        display: flex;\n        flex-direction: column;\n      }\n\n      .progress__status {\n        text-align: center;\n        width: 100%;\n      }\n\n      .progress__bar {\n        width: 100%;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/AccessRequests.tsx",
    "content": "import {\n  useState,\n  useRef,\n  useOptimistic,\n  useCallback,\n  ChangeEvent\n} from 'react'\nimport { useLoginStatus, useAccessRequests } from '../../store'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faBan } from '@fortawesome/free-solid-svg-icons/faBan'\nimport { faCheck } from '@fortawesome/free-solid-svg-icons/faCheck'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport EnableSecurity from './EnableSecurity'\n\ninterface AccessRequestData {\n  accessIdentifier: string\n  accessDescription?: string\n  ip?: string\n  permissions?: 'readonly' | 'readwrite' | 'admin'\n  requestedPermissions?: string\n  expiration?: string\n  config?: unknown\n}\n\ninterface ProcessingState {\n  approving: Set<string>\n  denying: Set<string>\n}\n\nexport default function AccessRequests() {\n  const accessRequests = useAccessRequests() as unknown as AccessRequestData[]\n  const loginStatus = useLoginStatus()\n\n  const [selectedRequest, setSelectedRequest] =\n    useState<AccessRequestData | null>(null)\n  const selectedRequestRef = useRef<HTMLDivElement>(null)\n\n  const [processing, setProcessing] = useState<ProcessingState>(() => ({\n    approving: new Set(),\n    denying: new Set()\n  }))\n\n  const [optimisticRequests, removeOptimisticRequest] = useOptimistic(\n    accessRequests,\n    (currentRequests: AccessRequestData[], identifierToRemove: string) =>\n      currentRequests.filter((r) => r.accessIdentifier !== identifierToRemove)\n  )\n\n  const handleAccessRequest = useCallback(\n    async (identifier: string, approved: boolean) => {\n      setProcessing((prev) => ({\n        approving: approved\n          ? new Set([...prev.approving, identifier])\n          : prev.approving,\n        denying: !approved\n          ? new Set([...prev.denying, identifier])\n          : prev.denying\n      }))\n\n      const payload = {\n        permissions: selectedRequest?.permissions || 'readonly',\n        config: selectedRequest?.config,\n        expiration: selectedRequest?.expiration || 'NEVER'\n      }\n\n      try {\n        removeOptimisticRequest(identifier)\n\n        const response = await fetch(\n          `${window.serverRoutesPrefix}/security/access/requests/${identifier}/${\n            approved ? 'approved' : 'denied'\n          }`,\n          {\n            method: 'PUT',\n            credentials: 'include',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(payload)\n          }\n        )\n\n        if (!response.ok) {\n          throw new Error('Request failed')\n        }\n\n        setSelectedRequest(null)\n      } finally {\n        setProcessing((prev) => ({\n          approving: new Set(\n            [...prev.approving].filter((id) => id !== identifier)\n          ),\n          denying: new Set([...prev.denying].filter((id) => id !== identifier))\n        }))\n      }\n    },\n    [selectedRequest, removeOptimisticRequest]\n  )\n\n  const requestClicked = (request: AccessRequestData) => {\n    setSelectedRequest(structuredClone(request))\n    setTimeout(() => {\n      selectedRequestRef.current?.scrollIntoView()\n    }, 0)\n  }\n\n  const handleRequestChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const value =\n      event.target.type === 'checkbox'\n        ? event.target.checked\n        : event.target.value\n    setSelectedRequest((prev) =>\n      prev ? { ...prev, [event.target.name]: value } : null\n    )\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {loginStatus.authenticationRequired === false && <EnableSecurity />}\n      {loginStatus.authenticationRequired && (\n        <div>\n          <Card>\n            <Card.Header>\n              <FontAwesomeIcon icon={faAlignJustify} /> Access Requests\n            </Card.Header>\n            <Card.Body>\n              <Table hover responsive bordered striped size=\"sm\">\n                <thead>\n                  <tr>\n                    <th>Permissions</th>\n                    <th>Identifier</th>\n                    <th>Description</th>\n                    <th>Source IP</th>\n                  </tr>\n                </thead>\n                <tbody>\n                  {(optimisticRequests || []).map((req) => {\n                    return (\n                      <tr\n                        key={req.accessIdentifier}\n                        onClick={() => requestClicked(req)}\n                      >\n                        <td>\n                          {req.permissions === 'admin' ? (\n                            <Badge bg=\"danger\">Admin</Badge>\n                          ) : req.permissions === 'readwrite' ? (\n                            <Badge bg=\"warning\">Read/Write</Badge>\n                          ) : (\n                            <Badge bg=\"secondary\">Read Only</Badge>\n                          )}\n                        </td>\n                        <td>{req.accessIdentifier}</td>\n                        <td>{req.accessDescription}</td>\n                        <td>{req.ip}</td>\n                      </tr>\n                    )\n                  })}\n                </tbody>\n              </Table>\n            </Card.Body>\n          </Card>\n\n          {selectedRequest && (\n            <div ref={selectedRequestRef}>\n              <Card>\n                <Card.Header>\n                  <FontAwesomeIcon icon={faAlignJustify} /> Request\n                </Card.Header>\n                <Card.Body>\n                  <Form.Group as={Row}>\n                    <Col md=\"4\" lg=\"2\">\n                      <Form.Label>Identifier</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"8\">\n                      <Form.Label>\n                        {selectedRequest.accessIdentifier}\n                      </Form.Label>\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"4\" lg=\"2\">\n                      <Form.Label>Description</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"8\">\n                      <Form.Label>\n                        {selectedRequest.accessDescription}\n                      </Form.Label>\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"4\" lg=\"2\">\n                      <Form.Label htmlFor=\"expiration\">\n                        Authentication Timeout\n                      </Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"8\" lg=\"3\">\n                      <Form.Control\n                        type=\"text\"\n                        id=\"expiration\"\n                        name=\"expiration\"\n                        autoComplete=\"off\"\n                        onChange={handleRequestChange}\n                        value={selectedRequest.expiration || 'NEVER'}\n                      />\n                      <Form.Text className=\"text-muted\">\n                        Examples: 60s, 1m, 1h, 1d, NEVER\n                      </Form.Text>\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"4\" lg=\"2\">\n                      <Form.Label htmlFor=\"permissions\">Permissions</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"8\" lg=\"3\">\n                      {!selectedRequest.requestedPermissions && (\n                        <Form.Select\n                          id=\"permissions\"\n                          name=\"permissions\"\n                          value={selectedRequest.permissions || 'readonly'}\n                          onChange={handleRequestChange}\n                        >\n                          <option value=\"readonly\">Read Only</option>\n                          <option value=\"readwrite\">Read/Write</option>\n                          <option value=\"admin\">Admin</option>\n                        </Form.Select>\n                      )}\n                      {selectedRequest.requestedPermissions && (\n                        <Form.Label>\n                          {selectedRequest.permissions === 'admin' ? (\n                            <Badge bg=\"danger\" style={{ fontSize: 'large' }}>\n                              Admin\n                            </Badge>\n                          ) : selectedRequest.permissions === 'readwrite' ? (\n                            <Badge bg=\"warning\" style={{ fontSize: 'large' }}>\n                              Read/Write\n                            </Badge>\n                          ) : (\n                            <Badge bg=\"secondary\" style={{ fontSize: 'large' }}>\n                              Read Only\n                            </Badge>\n                          )}\n                        </Form.Label>\n                      )}\n                    </Col>\n                  </Form.Group>\n                </Card.Body>\n                <Card.Footer>\n                  <Row\n                    className={\n                      'ms-0 me-0 d-flex justify-content-between justify-content-sm-start'\n                    }\n                  >\n                    <Col xs=\"4\" md=\"4\" lg=\"2\" className={'ps-0 pe-0 pe-md-2'}>\n                      <Button\n                        size=\"md\"\n                        variant=\"success\"\n                        onClick={() =>\n                          handleAccessRequest(\n                            selectedRequest.accessIdentifier,\n                            true\n                          )\n                        }\n                        disabled={\n                          processing.approving.has(\n                            selectedRequest.accessIdentifier\n                          ) ||\n                          processing.denying.has(\n                            selectedRequest.accessIdentifier\n                          )\n                        }\n                      >\n                        <FontAwesomeIcon\n                          icon={\n                            processing.approving.has(\n                              selectedRequest.accessIdentifier\n                            )\n                              ? faSpinner\n                              : faCheck\n                          }\n                          spin={processing.approving.has(\n                            selectedRequest.accessIdentifier\n                          )}\n                        />{' '}\n                        Approve\n                      </Button>\n                    </Col>\n                    <Col\n                      xs=\"4\"\n                      md=\"8\"\n                      lg=\"3\"\n                      className={'ps-2 ps-lg-1 pe-0 pe-md-2'}\n                    >\n                      <Button\n                        size=\"md\"\n                        variant=\"danger\"\n                        className=\"float-end float-sm-start\"\n                        onClick={() =>\n                          handleAccessRequest(\n                            selectedRequest.accessIdentifier,\n                            false\n                          )\n                        }\n                        disabled={\n                          processing.approving.has(\n                            selectedRequest.accessIdentifier\n                          ) ||\n                          processing.denying.has(\n                            selectedRequest.accessIdentifier\n                          )\n                        }\n                      >\n                        <FontAwesomeIcon\n                          icon={\n                            processing.denying.has(\n                              selectedRequest.accessIdentifier\n                            )\n                              ? faSpinner\n                              : faBan\n                          }\n                          spin={processing.denying.has(\n                            selectedRequest.accessIdentifier\n                          )}\n                        />{' '}\n                        Deny\n                      </Button>\n                    </Col>\n                  </Row>\n                </Card.Footer>\n              </Card>\n            </div>\n          )}\n        </div>\n      )}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/Devices.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useRef,\n  useCallback,\n  ChangeEvent,\n  FormEvent\n} from 'react'\nimport { useLoginStatus } from '../../store'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport Table from 'react-bootstrap/Table'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faBan } from '@fortawesome/free-solid-svg-icons/faBan'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport EnableSecurity from './EnableSecurity'\n\ntype PermissionType = 'readonly' | 'readwrite' | 'admin'\n\ninterface Device {\n  clientId: string\n  description?: string\n  permissions?: PermissionType\n  requestedPermissions?: string\n  tokenExpiry?: number\n}\n\nfunction convertPermissions(type: PermissionType | undefined): string {\n  if (type === 'readonly') {\n    return 'Read Only'\n  } else if (type === 'readwrite') {\n    return 'Read/Write'\n  } else if (type === 'admin') {\n    return 'Admin'\n  }\n  return ''\n}\n\nfunction isExpired(device: Device): boolean {\n  return !!device.tokenExpiry && device.tokenExpiry * 1000 < Date.now()\n}\n\nfunction formatExpiry(device: Device): string {\n  if (!device.tokenExpiry) {\n    return 'NEVER'\n  }\n  const expiryMs = device.tokenExpiry * 1000\n  const nowMs = Date.now()\n  if (expiryMs < nowMs) {\n    return 'Expired'\n  }\n  const diffMs = expiryMs - nowMs\n  const days = Math.floor(diffMs / (1000 * 60 * 60 * 24))\n  const hours = Math.floor((diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))\n  if (days > 0) {\n    return `${days}d ${hours}h remaining`\n  }\n  const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60))\n  if (hours > 0) {\n    return `${hours}h ${minutes}m remaining`\n  }\n  return `${minutes}m remaining`\n}\n\nexport default function Devices() {\n  const loginStatus = useLoginStatus()\n  const [devices, setDevices] = useState<Device[]>([])\n  const [selectedDevice, setSelectedDevice] = useState<Device | null>(null)\n  const selectedDeviceRef = useRef<HTMLDivElement>(null)\n\n  const loadDevices = useCallback(async (): Promise<Device[]> => {\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/devices`,\n      {\n        credentials: 'include'\n      }\n    )\n    return response.json()\n  }, [])\n\n  const refreshDevices = useCallback(() => {\n    loadDevices().then((data) => {\n      setDevices(data)\n    })\n  }, [loadDevices])\n\n  useEffect(() => {\n    if (loginStatus.authenticationRequired) {\n      loadDevices().then((data) => {\n        setDevices(data)\n      })\n    }\n  }, [loginStatus.authenticationRequired, loadDevices])\n\n  const handleDeviceChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const value =\n      event.target.type === 'checkbox'\n        ? event.target.checked\n        : event.target.value\n    setSelectedDevice((prev) =>\n      prev ? { ...prev, [event.target.name]: value } : null\n    )\n  }\n\n  const handleApply = async (event: FormEvent) => {\n    event.preventDefault()\n\n    if (!selectedDevice) return\n\n    const payload = {\n      permissions: selectedDevice.permissions || 'readonly',\n      description: selectedDevice.description\n    }\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/devices/${selectedDevice.clientId}`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(payload),\n        credentials: 'include'\n      }\n    )\n    const text = await response.text()\n    setSelectedDevice(null)\n    alert(text)\n    refreshDevices()\n  }\n\n  const deleteDevice = async () => {\n    if (!selectedDevice) return\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/devices/${selectedDevice.clientId}`,\n      {\n        method: 'DELETE',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        credentials: 'include'\n      }\n    )\n    const text = await response.text()\n    setSelectedDevice(null)\n    alert(text)\n    refreshDevices()\n  }\n\n  const deviceClicked = (device: Device) => {\n    setSelectedDevice(structuredClone(device))\n    setTimeout(() => {\n      selectedDeviceRef.current?.scrollIntoView()\n    }, 0)\n  }\n\n  const handleCancel = () => {\n    setSelectedDevice(null)\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {loginStatus.authenticationRequired === false && <EnableSecurity />}\n      {loginStatus.authenticationRequired && (\n        <div>\n          <Card>\n            <Card.Header>\n              <FontAwesomeIcon icon={faAlignJustify} /> Devices\n            </Card.Header>\n            <Card.Body>\n              <Table hover responsive bordered striped size=\"sm\">\n                <thead>\n                  <tr>\n                    <th>Client ID</th>\n                    <th>Description</th>\n                    <th>Type</th>\n                    <th>Token Expiry</th>\n                  </tr>\n                </thead>\n                <tbody>\n                  {(devices || []).map((device) => {\n                    return (\n                      <tr\n                        key={device.clientId}\n                        onClick={() => deviceClicked(device)}\n                      >\n                        <td>{device.clientId}</td>\n                        <td>{device.description}</td>\n                        <td>{convertPermissions(device.permissions)}</td>\n                        <td>\n                          {isExpired(device) ? (\n                            <Badge bg=\"danger\">Expired</Badge>\n                          ) : (\n                            formatExpiry(device)\n                          )}\n                        </td>\n                      </tr>\n                    )\n                  })}\n                </tbody>\n              </Table>\n            </Card.Body>\n            <Card.Footer></Card.Footer>\n          </Card>\n\n          {selectedDevice && (\n            <div ref={selectedDeviceRef}>\n              <Card>\n                <Card.Header>\n                  <FontAwesomeIcon icon={faAlignJustify} /> Device\n                </Card.Header>\n                <Card.Body>\n                  <Form.Group as={Row}>\n                    <Col md=\"2\">\n                      <Form.Label>Client ID</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"9\">\n                      <span className=\"form-control-plaintext\">\n                        {selectedDevice.clientId}\n                      </span>\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"2\">\n                      <Form.Label htmlFor=\"description\">Description</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"9\">\n                      <Form.Control\n                        size={60}\n                        style={{ width: 'auto' }}\n                        type=\"text\"\n                        id=\"description\"\n                        name=\"description\"\n                        autoComplete=\"off\"\n                        onChange={handleDeviceChange}\n                        value={selectedDevice.description || ''}\n                      />\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"2\">\n                      <Form.Label htmlFor=\"permissions\">Permissions</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"2\">\n                      {!selectedDevice.requestedPermissions && (\n                        <Form.Select\n                          id=\"permissions\"\n                          name=\"permissions\"\n                          value={selectedDevice.permissions || 'readonly'}\n                          onChange={handleDeviceChange}\n                        >\n                          <option value=\"readonly\">Read Only</option>\n                          <option value=\"readwrite\">Read/Write</option>\n                          <option value=\"admin\">Admin</option>\n                        </Form.Select>\n                      )}\n                      {selectedDevice.requestedPermissions && (\n                        <span className=\"form-control-plaintext\">\n                          {convertPermissions(selectedDevice.permissions)}\n                        </span>\n                      )}\n                    </Col>\n                  </Form.Group>\n                  <Form.Group as={Row}>\n                    <Col md=\"2\">\n                      <Form.Label>Token Expiry</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"9\">\n                      <span className=\"form-control-plaintext\">\n                        {isExpired(selectedDevice) ? (\n                          <Badge bg=\"danger\">Expired</Badge>\n                        ) : (\n                          formatExpiry(selectedDevice)\n                        )}\n                      </span>\n                    </Col>\n                  </Form.Group>\n                </Card.Body>\n                <Card.Footer>\n                  <div className=\"d-flex flex-wrap gap-2\">\n                    <Button size=\"sm\" variant=\"primary\" onClick={handleApply}>\n                      <FontAwesomeIcon icon={faFloppyDisk} /> Apply\n                    </Button>\n                    <Button\n                      size=\"sm\"\n                      variant=\"secondary\"\n                      onClick={handleCancel}\n                    >\n                      <FontAwesomeIcon icon={faBan} /> Cancel\n                    </Button>\n                    <Button\n                      size=\"sm\"\n                      variant=\"danger\"\n                      className=\"ms-auto\"\n                      onClick={deleteDevice}\n                    >\n                      <FontAwesomeIcon icon={faBan} /> Delete\n                    </Button>\n                  </div>\n                </Card.Footer>\n              </Card>\n            </div>\n          )}\n        </div>\n      )}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/EnableSecurity.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useActionState,\n  ChangeEvent,\n  KeyboardEvent\n} from 'react'\nimport Alert from 'react-bootstrap/Alert'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport CardGroup from 'react-bootstrap/CardGroup'\nimport Col from 'react-bootstrap/Col'\nimport Container from 'react-bootstrap/Container'\nimport Form from 'react-bootstrap/Form'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faRotateLeft } from '@fortawesome/free-solid-svg-icons/faRotateLeft'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faUser } from '@fortawesome/free-solid-svg-icons/faUser'\nimport { useLoginStatus } from '../../store'\nimport {\n  enableSecurity,\n  checkSecurityBackup,\n  restoreSecurity\n} from '../../actions'\nimport Login from './Login'\n\ninterface EnableSecurityState {\n  error: string | null\n}\n\nexport default function EnableSecurity() {\n  const loginStatus = useLoginStatus()\n\n  const [username, setUsername] = useState('')\n  const [password, setPassword] = useState('')\n  const [allowReadonly, setAllowReadonly] = useState(false)\n  const [hasBackup, setHasBackup] = useState(false)\n  const [isRestoring, setIsRestoring] = useState(false)\n  const [restoreError, setRestoreError] = useState<string | null>(null)\n  const [restoreUsername, setRestoreUsername] = useState('')\n  const [restorePassword, setRestorePassword] = useState('')\n\n  useEffect(() => {\n    checkSecurityBackup()\n      .then(setHasBackup)\n      .catch((err) => console.error('Failed to check security backup:', err))\n  }, [])\n\n  const handleRestore = async () => {\n    if (isRestoring || !restoreUsername || !restorePassword) {\n      return\n    }\n    setIsRestoring(true)\n    setRestoreError(null)\n    const error = await restoreSecurity(restoreUsername, restorePassword)\n    setIsRestoring(false)\n    if (error) {\n      setRestoreError(error)\n    } else {\n      alert(\n        'Security restored. Please restart the server for changes to take effect.'\n      )\n    }\n  }\n\n  const [state, submitAction, isEnabling] = useActionState<\n    EnableSecurityState,\n    FormData\n  >(\n    async () => {\n      const error = await enableSecurity(username, password, allowReadonly)\n      return { error }\n    },\n    { error: null }\n  )\n\n  const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const { name, value } = event.target\n    if (name === 'username') setUsername(value)\n    else if (name === 'password') setPassword(value)\n  }\n\n  const handleInputKeyUp = (event: KeyboardEvent<HTMLInputElement>) => {\n    if (event.key === 'Enter') {\n      const form = event.currentTarget.form\n      if (form) {\n        form.requestSubmit()\n      }\n    }\n  }\n\n  return (\n    <div>\n      {loginStatus.authenticationRequired && !loginStatus.noUsers && <Login />}\n      {(loginStatus.authenticationRequired === false ||\n        loginStatus.noUsers === true) && (\n        <Container>\n          <Row className=\"justify-content-center\">\n            <Col md=\"8\">\n              <CardGroup>\n                <Card className=\"p-4\">\n                  <Card.Body>\n                    {loginStatus.securityWasEnabled &&\n                      loginStatus.authenticationRequired === false && (\n                        <p className=\"text-danger\">\n                          Security has been enabled, please restart the server\n                        </p>\n                      )}\n                    {!loginStatus.securityWasEnabled && hasBackup && (\n                      <div className=\"mb-4\">\n                        <h1>Enable Security</h1>\n                        <Alert variant=\"info\">\n                          <p className=\"mb-2\">\n                            A previous security configuration was found. Enter\n                            admin credentials from the previous configuration to\n                            restore it.\n                          </p>\n                          <InputGroup className=\"mb-2\">\n                            <InputGroup.Text>\n                              <FontAwesomeIcon icon={faUser} />\n                            </InputGroup.Text>\n                            <Form.Control\n                              type=\"text\"\n                              placeholder=\"Admin username\"\n                              aria-label=\"Admin username\"\n                              value={restoreUsername}\n                              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                                setRestoreUsername(e.target.value)\n                              }\n                              onKeyUp={(e: KeyboardEvent<HTMLInputElement>) =>\n                                e.key === 'Enter' && handleRestore()\n                              }\n                            />\n                          </InputGroup>\n                          <InputGroup className=\"mb-2\">\n                            <InputGroup.Text>\n                              <FontAwesomeIcon icon={faLock} />\n                            </InputGroup.Text>\n                            <Form.Control\n                              type=\"password\"\n                              placeholder=\"Password\"\n                              aria-label=\"Password\"\n                              value={restorePassword}\n                              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                                setRestorePassword(e.target.value)\n                              }\n                              onKeyUp={(e: KeyboardEvent<HTMLInputElement>) =>\n                                e.key === 'Enter' && handleRestore()\n                              }\n                            />\n                          </InputGroup>\n                          <Button\n                            variant=\"primary\"\n                            onClick={handleRestore}\n                            disabled={\n                              isRestoring ||\n                              isEnabling ||\n                              !restoreUsername ||\n                              !restorePassword\n                            }\n                          >\n                            <FontAwesomeIcon\n                              icon={isRestoring ? faSpinner : faRotateLeft}\n                              spin={isRestoring}\n                            />{' '}\n                            Restore Previous Security Settings\n                          </Button>\n                          {restoreError && (\n                            <p className=\"text-danger mt-2\">{restoreError}</p>\n                          )}\n                        </Alert>\n                        <hr />\n                        <p className=\"text-muted\">\n                          Or create a new admin account instead:\n                        </p>\n                      </div>\n                    )}\n                    {!loginStatus.securityWasEnabled && (\n                      <Form action={submitAction}>\n                        {!hasBackup && <h1>Enable Security</h1>}\n                        <p className=\"text-muted\">Create an admin account</p>\n                        <InputGroup className=\"mb-3\">\n                          <InputGroup.Text>\n                            <FontAwesomeIcon icon={faUser} />\n                          </InputGroup.Text>\n                          <Form.Control\n                            type=\"text\"\n                            name=\"username\"\n                            placeholder=\"Username\"\n                            onChange={handleInputChange}\n                            onKeyUp={handleInputKeyUp}\n                          />\n                        </InputGroup>\n                        <InputGroup className=\"mb-4\">\n                          <InputGroup.Text>\n                            <FontAwesomeIcon icon={faLock} />\n                          </InputGroup.Text>\n                          <Form.Control\n                            type=\"password\"\n                            name=\"password\"\n                            placeholder=\"Password\"\n                            onChange={handleInputChange}\n                            onKeyUp={handleInputKeyUp}\n                          />\n                        </InputGroup>\n                        <Alert variant=\"warning\" className=\"mb-4\">\n                          <Form.Check\n                            type=\"checkbox\"\n                            id=\"allow-readonly\"\n                            label=\"Allow Readonly Access\"\n                            checked={allowReadonly}\n                            onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                              setAllowReadonly(e.target.checked)\n                            }\n                            className=\"mb-2\"\n                          />\n                          <small className=\"d-block text-body-secondary\">\n                            When enabled, unauthenticated users can read Signal\n                            K data and use webapps without logging in. This\n                            exposes your data on the local network and\n                            potentially on the public internet.\n                          </small>\n                          <small className=\"d-block text-body-secondary mt-1\">\n                            You can change this anytime in Security &gt;\n                            Settings.\n                          </small>\n                        </Alert>\n                        <Row>\n                          <Col xs=\"6\">\n                            <Button\n                              type=\"submit\"\n                              variant=\"primary\"\n                              className=\"px-4\"\n                              disabled={isEnabling || isRestoring}\n                            >\n                              <FontAwesomeIcon\n                                icon={isEnabling ? faSpinner : faLock}\n                                spin={isEnabling}\n                              />{' '}\n                              Enable\n                            </Button>\n                          </Col>\n                          <Col xs=\"6\" className=\"text-end\">\n                            <p className=\"text-danger\">{state.error}</p>\n                          </Col>\n                        </Row>\n                      </Form>\n                    )}\n                  </Card.Body>\n                </Card>\n              </CardGroup>\n            </Col>\n          </Row>\n        </Container>\n      )}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/Login.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useRef,\n  useCallback,\n  useActionState,\n  ChangeEvent,\n  KeyboardEvent\n} from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport CardGroup from 'react-bootstrap/CardGroup'\nimport Col from 'react-bootstrap/Col'\nimport Container from 'react-bootstrap/Container'\nimport Form from 'react-bootstrap/Form'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Row from 'react-bootstrap/Row'\nimport { Link } from 'react-router-dom'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faRightToBracket } from '@fortawesome/free-solid-svg-icons/faRightToBracket'\nimport { faUser } from '@fortawesome/free-solid-svg-icons/faUser'\nimport { useLoginStatus } from '../../store'\nimport { loginAction as performLogin } from '../../actions'\nimport Dashboard from '../Dashboard/Dashboard'\nimport EnableSecurity from './EnableSecurity'\n\n// HashRouter puts query params in the hash fragment\nconst getHashParams = (): URLSearchParams => {\n  const hash = window.location.hash\n  const queryIndex = hash.indexOf('?')\n  if (queryIndex === -1) {\n    return new URLSearchParams()\n  }\n  return new URLSearchParams(hash.substring(queryIndex + 1))\n}\n\ninterface LoginState {\n  error: string | null\n}\n\nexport default function Login() {\n  const loginStatus = useLoginStatus()\n\n  const urlParams = getHashParams()\n  const initialOidcError = urlParams.has('oidcError')\n    ? urlParams.get('message') || 'SSO login failed'\n    : null\n\n  const [username, setUsername] = useState('')\n  const [password, setPassword] = useState('')\n  const [rememberMe, setRememberMe] = useState(false)\n\n  const [loginState, loginAction, isLoggingIn] = useActionState<\n    LoginState,\n    FormData\n  >(\n    async () => {\n      const error = await performLogin(username, password, rememberMe)\n      return { error }\n    },\n    { error: initialOidcError }\n  )\n\n  const prevLoginStatusRef = useRef(loginStatus.status)\n  const isFirstRenderRef = useRef(true)\n\n  const shouldSkipAutoLogin = useCallback((): boolean => {\n    // Check URL params to prevent redirect loops and provide escape hatch\n    const params = getHashParams()\n    // Skip if OIDC callback returned an error\n    if (params.has('oidcError')) {\n      return true\n    }\n    // Skip if user explicitly requested no auto-login (escape hatch)\n    if (params.get('noAutoLogin') === 'true') {\n      return true\n    }\n    return false\n  }, [])\n\n  useEffect(() => {\n    const shouldAutoLogin =\n      loginStatus.status === 'notLoggedIn' &&\n      loginStatus.oidcEnabled &&\n      loginStatus.oidcAutoLogin &&\n      !loginStatus.noUsers &&\n      !shouldSkipAutoLogin()\n\n    const statusChanged = prevLoginStatusRef.current !== loginStatus.status\n    const shouldRedirect =\n      shouldAutoLogin && (isFirstRenderRef.current || statusChanged)\n\n    if (shouldRedirect) {\n      window.location.href = loginStatus.oidcLoginUrl as string\n    }\n\n    prevLoginStatusRef.current = loginStatus.status\n    isFirstRenderRef.current = false\n  }, [loginStatus, shouldSkipAutoLogin])\n\n  const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const { name, type, checked, value } = event.target\n    const inputValue = type === 'checkbox' ? checked : value\n    if (name === 'username') setUsername(inputValue as string)\n    else if (name === 'password') setPassword(inputValue as string)\n    else if (name === 'rememberMe') setRememberMe(inputValue as boolean)\n  }\n\n  const handleInputKeyUp = (event: KeyboardEvent<HTMLInputElement>) => {\n    if (event.key === 'Enter') {\n      const form = event.currentTarget.closest('form')\n      if (form) {\n        form.requestSubmit()\n      }\n    }\n  }\n\n  if (loginStatus.status === 'notLoggedIn' && loginStatus.noUsers === true) {\n    return <EnableSecurity />\n  }\n\n  return (\n    <div>\n      {loginStatus.status === 'notLoggedIn' && (\n        <Container>\n          <Row className=\"justify-content-center\">\n            <Col md=\"8\">\n              <CardGroup>\n                <Card className=\"p-4\">\n                  <Card.Body>\n                    <form action={loginAction}>\n                      <h1>Login</h1>\n                      <p className=\"text-muted\">Sign In to your account</p>\n                      <InputGroup className=\"mb-3\">\n                        <InputGroup.Text>\n                          <FontAwesomeIcon icon={faUser} />\n                        </InputGroup.Text>\n                        <Form.Control\n                          type=\"text\"\n                          name=\"username\"\n                          placeholder=\"Username\"\n                          onChange={handleInputChange}\n                          onKeyUp={handleInputKeyUp}\n                          value={username}\n                        />\n                      </InputGroup>\n                      <InputGroup className=\"mb-4\">\n                        <InputGroup.Text>\n                          <FontAwesomeIcon icon={faLock} />\n                        </InputGroup.Text>\n                        <Form.Control\n                          type=\"password\"\n                          name=\"password\"\n                          placeholder=\"Password\"\n                          onChange={handleInputChange}\n                          onKeyUp={handleInputKeyUp}\n                          value={password}\n                        />\n                      </InputGroup>\n                      <Row>\n                        <Col xs=\"8\">\n                          <InputGroup className=\"mb-4\">\n                            <Form.Label className=\"switch switch-text switch-primary\">\n                              <input\n                                type=\"checkbox\"\n                                name=\"rememberMe\"\n                                className=\"switch-input\"\n                                onChange={handleInputChange}\n                                checked={rememberMe}\n                              />\n                              <span\n                                className=\"switch-label\"\n                                data-on=\"Yes\"\n                                data-off=\"No\"\n                              />\n                              <span className=\"switch-handle\" />\n                            </Form.Label>\n                            &nbsp; Remember Me\n                          </InputGroup>\n                        </Col>\n                      </Row>\n                      <Row>\n                        <Col xs=\"6\">\n                          <Button\n                            type=\"submit\"\n                            variant=\"primary\"\n                            className=\"px-4\"\n                            disabled={isLoggingIn}\n                          >\n                            <FontAwesomeIcon\n                              icon={isLoggingIn ? faSpinner : faLock}\n                              spin={isLoggingIn}\n                            />{' '}\n                            Login\n                          </Button>\n                        </Col>\n                        <Col xs=\"6\" className=\"text-end\">\n                          {loginState.error && (\n                            <p className=\"text-danger\">{loginState.error}</p>\n                          )}\n                          {!loginState.error &&\n                            loginStatus.allowNewUserRegistration && (\n                              <div>\n                                <Link to=\"/register\">\n                                  <Button variant=\"link\" className=\"px-0\">\n                                    Sign up\n                                  </Button>\n                                </Link>\n                              </div>\n                            )}\n                        </Col>\n                      </Row>\n                    </form>\n                    {loginStatus.oidcEnabled && (\n                      <>\n                        <Row className=\"mt-4 mb-3\">\n                          <Col className=\"text-center\">\n                            <span className=\"text-muted\">\n                              &#8212; or &#8212;\n                            </span>\n                          </Col>\n                        </Row>\n                        <Row>\n                          <Col className=\"text-center\">\n                            <Button\n                              onClick={() => {\n                                window.location.href =\n                                  loginStatus.oidcLoginUrl as string\n                              }}\n                              variant=\"secondary\"\n                              className=\"px-4\"\n                            >\n                              <FontAwesomeIcon icon={faRightToBracket} />{' '}\n                              {(loginStatus.oidcProviderName as string) ||\n                                'SSO Login'}\n                            </Button>\n                          </Col>\n                        </Row>\n                      </>\n                    )}\n                  </Card.Body>\n                </Card>\n              </CardGroup>\n            </Col>\n          </Row>\n        </Container>\n      )}\n      {loginStatus.status === 'loggedIn' && <Dashboard />}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/OIDCSettings.tsx",
    "content": "import React, { useState, useEffect, useCallback } from 'react'\nimport { useLoginStatus } from '../../store'\nimport Alert from 'react-bootstrap/Alert'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Collapse from 'react-bootstrap/Collapse'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faChevronUp } from '@fortawesome/free-solid-svg-icons/faChevronUp'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons/faChevronDown'\nimport { faPlug } from '@fortawesome/free-solid-svg-icons/faPlug'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport { faOpenid } from '@fortawesome/free-brands-svg-icons/faOpenid'\n\ninterface TestResult {\n  success: boolean\n  message: string\n  endpoints?: {\n    authorization: string\n    token: string\n  }\n}\n\ninterface SaveResult {\n  success: boolean\n  message: string\n}\n\ninterface EnvOverrides {\n  [key: string]: boolean\n}\n\ninterface OIDCConfig {\n  enabled: boolean\n  issuer: string\n  clientId: string\n  clientSecretSet: boolean\n  redirectUri: string\n  providerName: string\n  defaultPermission: string\n  autoCreateUsers: boolean\n  autoLogin: boolean\n  adminGroups: string | string[]\n  readwriteGroups: string | string[]\n  groupsAttribute: string\n  scope: string\n  envOverrides: EnvOverrides\n}\n\nconst OIDCSettings: React.FC = () => {\n  const loginStatus = useLoginStatus()\n\n  const [hasData, setHasData] = useState(false)\n  const [isOpen, setIsOpen] = useState(false)\n  const [isSaving, setIsSaving] = useState(false)\n  const [isTesting, setIsTesting] = useState(false)\n  const [testResult, setTestResult] = useState<TestResult | null>(null)\n  const [saveResult, setSaveResult] = useState<SaveResult | null>(null)\n\n  const [enabled, setEnabled] = useState(false)\n  const [issuer, setIssuer] = useState('')\n  const [clientId, setClientId] = useState('')\n  const [clientSecret, setClientSecret] = useState('')\n  const [clientSecretSet, setClientSecretSet] = useState(false)\n  const [redirectUri, setRedirectUri] = useState('')\n  const [providerName, setProviderName] = useState('SSO Login')\n  const [defaultPermission, setDefaultPermission] = useState('readonly')\n  const [autoCreateUsers, setAutoCreateUsers] = useState(true)\n  const [autoLogin, setAutoLogin] = useState(false)\n  const [adminGroups, setAdminGroups] = useState('')\n  const [readwriteGroups, setReadwriteGroups] = useState('')\n  const [groupsAttribute, setGroupsAttribute] = useState('groups')\n  const [scope, setScope] = useState('openid email profile')\n  const [envOverrides, setEnvOverrides] = useState<EnvOverrides>({})\n\n  const fetchOIDCConfig = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/security/oidc`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data: OIDCConfig) => {\n        setHasData(true)\n        setEnabled(data.enabled || false)\n        setIssuer(data.issuer || '')\n        setClientId(data.clientId || '')\n        setClientSecret('')\n        setClientSecretSet(data.clientSecretSet || false)\n        setRedirectUri(data.redirectUri || '')\n        setProviderName(data.providerName || 'SSO Login')\n        setDefaultPermission(data.defaultPermission || 'readonly')\n        setAutoCreateUsers(\n          data.autoCreateUsers !== undefined ? data.autoCreateUsers : true\n        )\n        setAutoLogin(data.autoLogin || false)\n        setAdminGroups(\n          Array.isArray(data.adminGroups)\n            ? data.adminGroups.join(', ')\n            : data.adminGroups || ''\n        )\n        setReadwriteGroups(\n          Array.isArray(data.readwriteGroups)\n            ? data.readwriteGroups.join(', ')\n            : data.readwriteGroups || ''\n        )\n        setGroupsAttribute(data.groupsAttribute || 'groups')\n        setScope(data.scope || 'openid email profile')\n        setEnvOverrides(data.envOverrides || {})\n      })\n      .catch((err) => {\n        console.error('Failed to fetch OIDC config:', err)\n      })\n  }, [])\n\n  useEffect(() => {\n    if (loginStatus.authenticationRequired) {\n      fetchOIDCConfig()\n    }\n  }, [loginStatus.authenticationRequired, fetchOIDCConfig])\n\n  const handleSaveConfig = useCallback(() => {\n    setIsSaving(true)\n    setSaveResult(null)\n\n    const payload = {\n      enabled,\n      issuer,\n      clientId,\n      clientSecret,\n      redirectUri,\n      providerName,\n      defaultPermission,\n      autoCreateUsers,\n      autoLogin,\n      adminGroups,\n      readwriteGroups,\n      groupsAttribute,\n      scope\n    }\n\n    fetch(`${window.serverRoutesPrefix}/security/oidc`, {\n      method: 'PUT',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(payload),\n      credentials: 'include'\n    })\n      .then((response) => {\n        if (!response.ok) {\n          return response.json().then((data) => {\n            throw new Error(data.error || 'Failed to save configuration')\n          })\n        }\n        return response.json()\n      })\n      .then(() => {\n        setIsSaving(false)\n        setSaveResult({ success: true, message: 'OIDC configuration saved' })\n        setClientSecret('')\n        setClientSecretSet(true)\n        fetchOIDCConfig()\n      })\n      .catch((err) => {\n        setIsSaving(false)\n        setSaveResult({ success: false, message: err.message })\n      })\n  }, [\n    enabled,\n    issuer,\n    clientId,\n    clientSecret,\n    redirectUri,\n    providerName,\n    defaultPermission,\n    autoCreateUsers,\n    autoLogin,\n    adminGroups,\n    readwriteGroups,\n    groupsAttribute,\n    scope,\n    fetchOIDCConfig\n  ])\n\n  const handleTestConnection = useCallback(() => {\n    if (!issuer) {\n      setTestResult({ success: false, message: 'Issuer URL is required' })\n      return\n    }\n\n    setIsTesting(true)\n    setTestResult(null)\n\n    fetch(`${window.serverRoutesPrefix}/security/oidc/test`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({ issuer }),\n      credentials: 'include'\n    })\n      .then((response) => {\n        if (!response.ok) {\n          return response.json().then((data) => {\n            throw new Error(data.error || 'Connection test failed')\n          })\n        }\n        return response.json()\n      })\n      .then((data) => {\n        setIsTesting(false)\n        setTestResult({\n          success: true,\n          message: `Connected to ${data.issuer}`,\n          endpoints: {\n            authorization: data.authorization_endpoint,\n            token: data.token_endpoint\n          }\n        })\n      })\n      .catch((err) => {\n        setIsTesting(false)\n        setTestResult({ success: false, message: err.message })\n      })\n  }, [issuer])\n\n  const toggle = useCallback(() => {\n    setIsOpen((prev) => !prev)\n  }, [])\n\n  const isFieldDisabled = useCallback(\n    (fieldName: string) => {\n      return envOverrides[fieldName] === true\n    },\n    [envOverrides]\n  )\n\n  const renderEnvBadge = useCallback(\n    (fieldName: string) => {\n      if (envOverrides[fieldName]) {\n        return (\n          <Badge\n            bg=\"warning\"\n            className=\"ms-2\"\n            title=\"Set via environment variable\"\n          >\n            ENV\n          </Badge>\n        )\n      }\n      return null\n    },\n    [envOverrides]\n  )\n\n  if (!hasData || !loginStatus.authenticationRequired) {\n    return null\n  }\n\n  return (\n    <Card>\n      <Card.Header onClick={toggle} style={{ cursor: 'pointer' }}>\n        <FontAwesomeIcon icon={faOpenid} /> OIDC / SSO Authentication\n        <span className=\"float-end\">\n          {enabled && (\n            <Badge bg=\"success\" className=\"me-2\">\n              Enabled\n            </Badge>\n          )}\n          <FontAwesomeIcon icon={isOpen ? faChevronUp : faChevronDown} />\n        </span>\n      </Card.Header>\n      <Collapse in={isOpen}>\n        <div>\n          <Card.Body>\n            <Form\n              action=\"\"\n              method=\"post\"\n              encType=\"multipart/form-data\"\n              className=\"form-horizontal\"\n            >\n              <Form.Group as={Row}>\n                <Col xs=\"0\" md=\"3\">\n                  <span className=\"col-form-label\">Enable OIDC</span>\n                  {renderEnvBadge('enabled')}\n                </Col>\n                <Col md=\"9\">\n                  <div className=\"d-flex align-items-center\">\n                    <label\n                      style={{ marginRight: '15px', marginBottom: 0 }}\n                      className=\"switch switch-text switch-primary\"\n                    >\n                      <input\n                        type=\"checkbox\"\n                        id=\"oidc-enabled\"\n                        name=\"enabled\"\n                        className=\"switch-input\"\n                        onChange={(e) => setEnabled(e.target.checked)}\n                        checked={enabled}\n                        disabled={isFieldDisabled('enabled')}\n                      />\n                      <span\n                        className=\"switch-label\"\n                        data-on=\"Yes\"\n                        data-off=\"No\"\n                      />\n                      <span className=\"switch-handle\" />\n                    </label>\n                  </div>\n                  <Form.Text muted>\n                    Enable OpenID Connect authentication\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"issuer\">Issuer URL</Form.Label>\n                  {renderEnvBadge('issuer')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Row>\n                    <Col md=\"8\">\n                      <Form.Control\n                        type=\"text\"\n                        id=\"issuer\"\n                        name=\"issuer\"\n                        autoComplete=\"off\"\n                        placeholder=\"https://auth.example.com\"\n                        onChange={(e) => setIssuer(e.target.value)}\n                        value={issuer}\n                        disabled={isFieldDisabled('issuer')}\n                      />\n                    </Col>\n                    <Col md=\"4\">\n                      <Button\n                        variant=\"secondary\"\n                        onClick={handleTestConnection}\n                        disabled={isTesting || !issuer}\n                      >\n                        <FontAwesomeIcon\n                          icon={isTesting ? faSpinner : faPlug}\n                          spin={isTesting}\n                        />{' '}\n                        Test Connection\n                      </Button>\n                    </Col>\n                  </Row>\n                  <Form.Text muted>\n                    The OIDC provider&apos;s issuer URL (e.g., Keycloak,\n                    Authentik)\n                  </Form.Text>\n                  {testResult && (\n                    <Alert\n                      variant={testResult.success ? 'success' : 'danger'}\n                      className=\"mt-2\"\n                    >\n                      {testResult.message}\n                    </Alert>\n                  )}\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"clientId\">Client ID</Form.Label>\n                  {renderEnvBadge('clientId')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"clientId\"\n                    name=\"clientId\"\n                    autoComplete=\"off\"\n                    placeholder=\"signalk-server\"\n                    onChange={(e) => setClientId(e.target.value)}\n                    value={clientId}\n                    disabled={isFieldDisabled('clientId')}\n                  />\n                  <Form.Text muted>Client ID from your OIDC provider</Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"clientSecret\">Client Secret</Form.Label>\n                  {renderEnvBadge('clientSecret')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"password\"\n                    id=\"clientSecret\"\n                    name=\"clientSecret\"\n                    autoComplete=\"new-password\"\n                    placeholder={\n                      clientSecretSet\n                        ? '••••••••••••••••'\n                        : 'Enter client secret'\n                    }\n                    onChange={(e) => setClientSecret(e.target.value)}\n                    value={clientSecret}\n                    disabled={isFieldDisabled('clientSecret')}\n                  />\n                  <Form.Text muted>\n                    {clientSecretSet\n                      ? 'Leave empty to keep existing secret'\n                      : 'Client secret from your OIDC provider'}\n                  </Form.Text>\n                  <Form.Text>\n                    <strong>Recommended:</strong> Set via environment variable{' '}\n                    <code>SIGNALK_OIDC_CLIENT_SECRET</code> instead of storing\n                    in configuration.\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"redirectUri\">Redirect URI</Form.Label>\n                  {renderEnvBadge('redirectUri')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"redirectUri\"\n                    name=\"redirectUri\"\n                    autoComplete=\"off\"\n                    placeholder=\"https://your-server/signalk/v1/auth/oidc/callback\"\n                    onChange={(e) => setRedirectUri(e.target.value)}\n                    value={redirectUri}\n                    disabled={isFieldDisabled('redirectUri')}\n                  />\n                  <Form.Text muted>\n                    The full public URL of the OIDC callback endpoint on this\n                    server. Must use https unless targeting localhost.\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"providerName\">\n                    Provider Display Name\n                  </Form.Label>\n                  {renderEnvBadge('providerName')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"providerName\"\n                    name=\"providerName\"\n                    autoComplete=\"off\"\n                    placeholder=\"SSO Login\"\n                    onChange={(e) => setProviderName(e.target.value)}\n                    value={providerName}\n                    disabled={isFieldDisabled('providerName')}\n                  />\n                  <Form.Text muted>\n                    Text shown on the SSO login button\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <hr />\n              <h5>Permission Mapping</h5>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"defaultPermission\">\n                    Default Permission\n                  </Form.Label>\n                  {renderEnvBadge('defaultPermission')}\n                </Col>\n                <Col xs=\"12\" md=\"4\">\n                  <Form.Select\n                    id=\"defaultPermission\"\n                    name=\"defaultPermission\"\n                    value={defaultPermission}\n                    onChange={(e) => setDefaultPermission(e.target.value)}\n                    disabled={isFieldDisabled('defaultPermission')}\n                  >\n                    <option value=\"readonly\">Read Only</option>\n                    <option value=\"readwrite\">Read/Write</option>\n                    <option value=\"admin\">Admin</option>\n                  </Form.Select>\n                  <Form.Text muted>\n                    Permission for users not matching any group mapping\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"adminGroups\">Admin Groups</Form.Label>\n                  {renderEnvBadge('adminGroups')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"adminGroups\"\n                    name=\"adminGroups\"\n                    autoComplete=\"off\"\n                    placeholder=\"admins, sk-admin\"\n                    onChange={(e) => setAdminGroups(e.target.value)}\n                    value={adminGroups}\n                    disabled={isFieldDisabled('adminGroups')}\n                  />\n                  <Form.Text muted>\n                    Comma-separated list of groups that grant admin permission\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"readwriteGroups\">\n                    Read/Write Groups\n                  </Form.Label>\n                  {renderEnvBadge('readwriteGroups')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"readwriteGroups\"\n                    name=\"readwriteGroups\"\n                    autoComplete=\"off\"\n                    placeholder=\"users, operators\"\n                    onChange={(e) => setReadwriteGroups(e.target.value)}\n                    value={readwriteGroups}\n                    disabled={isFieldDisabled('readwriteGroups')}\n                  />\n                  <Form.Text muted>\n                    Comma-separated list of groups that grant read/write\n                    permission\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"groupsAttribute\">\n                    Groups Attribute\n                  </Form.Label>\n                  {renderEnvBadge('groupsAttribute')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"groupsAttribute\"\n                    name=\"groupsAttribute\"\n                    autoComplete=\"off\"\n                    placeholder=\"groups\"\n                    onChange={(e) => setGroupsAttribute(e.target.value)}\n                    value={groupsAttribute}\n                    disabled={isFieldDisabled('groupsAttribute')}\n                  />\n                  <Form.Text muted>\n                    ID token claim containing user groups (e.g., groups, roles,\n                    memberOf)\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <hr />\n              <h5>User Settings</h5>\n\n              <Form.Group as={Row}>\n                <Col xs=\"0\" md=\"3\">\n                  <span className=\"col-form-label\">Auto-Create Users</span>\n                  {renderEnvBadge('autoCreateUsers')}\n                </Col>\n                <Col md=\"9\">\n                  <div className=\"d-flex align-items-center\">\n                    <label\n                      style={{ marginRight: '15px', marginBottom: 0 }}\n                      className=\"switch switch-text switch-primary\"\n                    >\n                      <input\n                        type=\"checkbox\"\n                        id=\"oidc-autoCreateUsers\"\n                        name=\"autoCreateUsers\"\n                        className=\"switch-input\"\n                        onChange={(e) => setAutoCreateUsers(e.target.checked)}\n                        checked={autoCreateUsers}\n                        disabled={isFieldDisabled('autoCreateUsers')}\n                      />\n                      <span\n                        className=\"switch-label\"\n                        data-on=\"Yes\"\n                        data-off=\"No\"\n                      />\n                      <span className=\"switch-handle\" />\n                    </label>\n                  </div>\n                  <Form.Text muted>\n                    Automatically create local user on first OIDC login\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <Form.Group as={Row}>\n                <Col xs=\"0\" md=\"3\">\n                  <span className=\"col-form-label\">Auto-Login</span>\n                  {renderEnvBadge('autoLogin')}\n                </Col>\n                <Col md=\"9\">\n                  <div className=\"d-flex align-items-center\">\n                    <label\n                      style={{ marginRight: '15px', marginBottom: 0 }}\n                      className=\"switch switch-text switch-primary\"\n                    >\n                      <input\n                        type=\"checkbox\"\n                        id=\"oidc-autoLogin\"\n                        name=\"autoLogin\"\n                        className=\"switch-input\"\n                        onChange={(e) => setAutoLogin(e.target.checked)}\n                        checked={autoLogin}\n                        disabled={isFieldDisabled('autoLogin')}\n                      />\n                      <span\n                        className=\"switch-label\"\n                        data-on=\"Yes\"\n                        data-off=\"No\"\n                      />\n                      <span className=\"switch-handle\" />\n                    </label>\n                  </div>\n                  <Form.Text muted>\n                    Automatically redirect to OIDC login when not authenticated\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n\n              <hr />\n              <h5>Advanced</h5>\n\n              <Form.Group as={Row}>\n                <Col md=\"3\">\n                  <Form.Label htmlFor=\"scope\">Scope</Form.Label>\n                  {renderEnvBadge('scope')}\n                </Col>\n                <Col xs=\"12\" md=\"9\">\n                  <Form.Control\n                    type=\"text\"\n                    id=\"scope\"\n                    name=\"scope\"\n                    autoComplete=\"off\"\n                    placeholder=\"openid email profile\"\n                    onChange={(e) => setScope(e.target.value)}\n                    value={scope}\n                    disabled={isFieldDisabled('scope')}\n                  />\n                  <Form.Text muted>\n                    Space-separated OAuth scopes (must include\n                    &apos;openid&apos;)\n                  </Form.Text>\n                </Col>\n              </Form.Group>\n            </Form>\n          </Card.Body>\n          <Card.Footer>\n            {saveResult && (\n              <Alert\n                variant={saveResult.success ? 'success' : 'danger'}\n                className=\"mb-2\"\n              >\n                {saveResult.message}\n              </Alert>\n            )}\n            <Button\n              size=\"sm\"\n              variant=\"primary\"\n              onClick={handleSaveConfig}\n              disabled={isSaving}\n            >\n              <FontAwesomeIcon\n                icon={isSaving ? faSpinner : faFloppyDisk}\n                spin={isSaving}\n              />{' '}\n              Save\n            </Button>\n          </Card.Footer>\n        </div>\n      </Collapse>\n    </Card>\n  )\n}\n\nexport default OIDCSettings\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/Register.tsx",
    "content": "import { useState, useActionState, ChangeEvent } from 'react'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Container from 'react-bootstrap/Container'\nimport Form from 'react-bootstrap/Form'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\n\ninterface FormFields {\n  email: string\n  password: string\n  confirmPassword: string\n}\n\ninterface RegisterState {\n  error: string | null\n  success: boolean\n}\n\nexport default function Register() {\n  const [fields, setFields] = useState<FormFields>({\n    email: '',\n    password: '',\n    confirmPassword: ''\n  })\n\n  const [validationError, setValidationError] = useState<string | null>(null)\n\n  const [submitState, submitAction, isSubmitting] = useActionState<\n    RegisterState,\n    FormData\n  >(\n    async () => {\n      if (fields.email.length === 0) {\n        return { error: 'Please enter an email address', success: false }\n      }\n      if (fields.password.length === 0 && fields.confirmPassword.length === 0) {\n        return {\n          error: 'Please enter and confirm your password',\n          success: false\n        }\n      }\n      if (fields.password !== fields.confirmPassword) {\n        return { error: 'Passwords do not match', success: false }\n      }\n\n      const payload = {\n        userId: fields.email,\n        password: fields.password\n      }\n\n      try {\n        const response = await fetch(`/signalk/v1/access/requests`, {\n          method: 'POST',\n          headers: {\n            'Content-Type': 'application/json'\n          },\n          body: JSON.stringify(payload),\n          credentials: 'include'\n        })\n\n        if (response.status !== 202) {\n          const json = await response.json()\n          return {\n            error: json.message ? json.message : json.result,\n            success: false\n          }\n        }\n\n        return { error: null, success: true }\n      } catch {\n        return { error: 'Network error. Please try again.', success: false }\n      }\n    },\n    { error: null, success: false }\n  )\n\n  const handleInputChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const { name, value } = event.target\n\n    setFields((prev) => {\n      const newFields = { ...prev, [name]: value }\n\n      if (name === 'password' || name === 'confirmPassword') {\n        if (\n          newFields.password &&\n          newFields.confirmPassword &&\n          newFields.password !== newFields.confirmPassword\n        ) {\n          setValidationError('Passwords do not match')\n        } else {\n          setValidationError(null)\n        }\n      }\n\n      return newFields\n    })\n  }\n\n  const displayError = validationError || submitState.error\n\n  return (\n    <div>\n      <Container>\n        <Row className=\"justify-content-center\">\n          <Col md=\"6\">\n            <Card className=\"mx-4\">\n              <Card.Body className=\"p-4\">\n                <h1>Register</h1>\n                {submitState.success && (\n                  <p className=\"text-muted\">Your registration has been sent</p>\n                )}\n                {!submitState.success && (\n                  <Form id=\"register-form\" action={submitAction}>\n                    <p className=\"text-muted\">Create your account</p>\n                    <InputGroup className=\"mb-3\">\n                      <InputGroup.Text>@</InputGroup.Text>\n                      <Form.Control\n                        name=\"email\"\n                        type=\"text\"\n                        placeholder=\"Email\"\n                        value={fields.email}\n                        onChange={handleInputChange}\n                      />\n                    </InputGroup>\n                    <InputGroup className=\"mb-3\">\n                      <InputGroup.Text>\n                        <FontAwesomeIcon icon={faLock} />\n                      </InputGroup.Text>\n                      <Form.Control\n                        name=\"password\"\n                        type=\"password\"\n                        placeholder=\"Password\"\n                        value={fields.password}\n                        onChange={handleInputChange}\n                      />\n                    </InputGroup>\n                    <InputGroup className=\"mb-0\">\n                      <InputGroup.Text>\n                        <FontAwesomeIcon icon={faLock} />\n                      </InputGroup.Text>\n                      <Form.Control\n                        name=\"confirmPassword\"\n                        type=\"password\"\n                        placeholder=\"Repeat password\"\n                        value={fields.confirmPassword}\n                        onChange={handleInputChange}\n                      />\n                    </InputGroup>\n                    {displayError && (\n                      <p className=\"text-danger mt-3 mb-0\">{displayError}</p>\n                    )}\n                  </Form>\n                )}\n              </Card.Body>\n              {!submitState.success && (\n                <Card.Footer className=\"p-4\">\n                  <Row>\n                    <Col xs=\"12\" sm=\"12\">\n                      <Button\n                        type=\"submit\"\n                        form=\"register-form\"\n                        variant=\"success\"\n                        className=\"w-100\"\n                        disabled={isSubmitting || !!validationError}\n                      >\n                        {isSubmitting ? (\n                          <>\n                            <FontAwesomeIcon icon={faSpinner} spin />{' '}\n                            Creating...\n                          </>\n                        ) : (\n                          'Create Account'\n                        )}\n                      </Button>\n                    </Col>\n                  </Row>\n                </Card.Footer>\n              )}\n            </Card>\n          </Col>\n        </Row>\n      </Container>\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/Settings.tsx",
    "content": "import { useState, useEffect, useCallback, ChangeEvent } from 'react'\nimport { useLoginStatus } from '../../store'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport InputGroup from 'react-bootstrap/InputGroup'\nimport Modal from 'react-bootstrap/Modal'\nimport Row from 'react-bootstrap/Row'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport { faLock } from '@fortawesome/free-solid-svg-icons/faLock'\nimport { faShieldHalved } from '@fortawesome/free-solid-svg-icons/faShieldHalved'\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons/faSpinner'\nimport { faUser } from '@fortawesome/free-solid-svg-icons/faUser'\nimport EnableSecurity from './EnableSecurity'\nimport OIDCSettings from './OIDCSettings'\nimport { disableSecurity } from '../../actions'\n\nconst adminUIOrigin = `${window.location.protocol}//${window.location.host}`\n\ninterface SecurityConfig {\n  hasData: boolean\n  allow_readonly: boolean\n  expiration: string\n  allowNewUserRegistration: boolean\n  allowDeviceAccessRequests: boolean\n  allowedCorsOrigins: string\n}\n\nexport default function Settings() {\n  const loginStatus = useLoginStatus()\n  const [config, setConfig] = useState<SecurityConfig>({\n    hasData: false,\n    allow_readonly: false,\n    expiration: '',\n    allowNewUserRegistration: false,\n    allowDeviceAccessRequests: false,\n    allowedCorsOrigins: ''\n  })\n\n  const fetchSecurityConfig = useCallback(() => {\n    fetch(`${window.serverRoutesPrefix}/security/config`, {\n      credentials: 'include'\n    })\n      .then((response) => response.json())\n      .then((data) => {\n        setConfig({ ...data, hasData: true })\n      })\n  }, [])\n\n  useEffect(() => {\n    if (loginStatus.authenticationRequired) {\n      fetchSecurityConfig()\n    }\n  }, [loginStatus.authenticationRequired, fetchSecurityConfig])\n\n  const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const value =\n      event.target.type === 'checkbox'\n        ? event.target.checked\n        : event.target.value\n    setConfig((prev) => ({ ...prev, [event.target.name]: value }))\n  }\n\n  const handleSaveConfig = () => {\n    const payload = {\n      allow_readonly: config.allow_readonly,\n      expiration: config.expiration,\n      allowNewUserRegistration: config.allowNewUserRegistration,\n      allowDeviceAccessRequests: config.allowDeviceAccessRequests,\n      allowedCorsOrigins: config.allowedCorsOrigins,\n      adminUIOrigin\n    }\n    fetch(`${window.serverRoutesPrefix}/security/config`, {\n      method: 'PUT',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify(payload),\n      credentials: 'include'\n    })\n      .then((response) => response.text())\n      .then((response) => {\n        fetchSecurityConfig()\n        alert(response)\n      })\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {loginStatus.authenticationRequired === false && <EnableSecurity />}\n      {config.hasData && loginStatus.authenticationRequired && (\n        <div>\n          <Card>\n            <Card.Header>\n              <FontAwesomeIcon icon={faAlignJustify} /> Settings\n            </Card.Header>\n            <Card.Body>\n              <Form\n                action=\"\"\n                method=\"post\"\n                encType=\"multipart/form-data\"\n                className=\"form-horizontal\"\n              >\n                <Form.Group as={Row}>\n                  <Col xs=\"0\" md=\"3\">\n                    <span className=\"col-form-label\">\n                      Allow Readonly Access\n                    </span>\n                  </Col>\n                  <Col md=\"9\">\n                    <div className=\"d-flex align-items-center\">\n                      <label\n                        style={{ marginRight: '15px', marginBottom: 0 }}\n                        className=\"switch switch-text switch-primary\"\n                      >\n                        <input\n                          type=\"checkbox\"\n                          id=\"security-allow_readonly\"\n                          name=\"allow_readonly\"\n                          className=\"switch-input\"\n                          onChange={handleChange}\n                          checked={config.allow_readonly}\n                        />\n                        <span\n                          className=\"switch-label\"\n                          data-on=\"Yes\"\n                          data-off=\"No\"\n                        />\n                        <span className=\"switch-handle\" />\n                      </label>\n                    </div>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col xs=\"0\" md=\"3\">\n                    <span className=\"col-form-label\">\n                      Allow New User Registration\n                    </span>\n                  </Col>\n                  <Col md=\"9\">\n                    <div className=\"d-flex align-items-center\">\n                      <label\n                        style={{ marginRight: '15px', marginBottom: 0 }}\n                        className=\"switch switch-text switch-primary\"\n                      >\n                        <input\n                          type=\"checkbox\"\n                          id=\"security-allowNewUserRegistration\"\n                          name=\"allowNewUserRegistration\"\n                          className=\"switch-input\"\n                          onChange={handleChange}\n                          checked={config.allowNewUserRegistration}\n                        />\n                        <span\n                          className=\"switch-label\"\n                          data-on=\"Yes\"\n                          data-off=\"No\"\n                        />\n                        <span className=\"switch-handle\" />\n                      </label>\n                    </div>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col xs=\"0\" md=\"3\">\n                    <span className=\"col-form-label\">\n                      Allow New Device Registration\n                    </span>\n                  </Col>\n                  <Col md=\"9\">\n                    <div className=\"d-flex align-items-center\">\n                      <label\n                        style={{ marginRight: '15px', marginBottom: 0 }}\n                        className=\"switch switch-text switch-primary\"\n                      >\n                        <input\n                          type=\"checkbox\"\n                          id=\"security-allowDeviceAccessRequests\"\n                          name=\"allowDeviceAccessRequests\"\n                          className=\"switch-input\"\n                          onChange={handleChange}\n                          checked={config.allowDeviceAccessRequests}\n                        />\n                        <span\n                          className=\"switch-label\"\n                          data-on=\"Yes\"\n                          data-off=\"No\"\n                        />\n                        <span className=\"switch-handle\" />\n                      </label>\n                    </div>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col md=\"3\">\n                    <Form.Label htmlFor=\"expiration\">\n                      Remember Me timeout\n                    </Form.Label>\n                  </Col>\n                  <Col xs=\"12\" md=\"3\">\n                    <Form.Control\n                      type=\"text\"\n                      id=\"expiration\"\n                      name=\"expiration\"\n                      autoComplete=\"off\"\n                      onChange={handleChange}\n                      value={config.expiration || ''}\n                    />\n                    <Form.Text muted>Examples: 60s, 1m, 1h, 1d</Form.Text>\n                  </Col>\n                  <Col md=\"6\">\n                    <Form.Text muted>\n                      How long server keeps you logged when Remember Me is\n                      checked in login.\n                    </Form.Text>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col md=\"12\">\n                    <Form.Text muted>\n                      With no configuration all CORS origins are accepted, but\n                      client requests with credentials:include do not work. Add\n                      a single * origin to allow all origins with credentials.\n                      You can also restrict CORS requests to specific origins.\n                      The origin that this UI was loaded from is automatically\n                      added to the allowed origins so that requests from the UI\n                      work. Changes to the Allowed CORS origins requires a\n                      server restart.\n                    </Form.Text>\n                  </Col>\n                </Form.Group>\n                <Form.Group as={Row}>\n                  <Col md=\"3\">\n                    <Form.Label htmlFor=\"allowedCorsOrigins\">\n                      Allowed CORS origins\n                    </Form.Label>\n                  </Col>\n                  <Col xs=\"12\" md=\"9\">\n                    <Form.Control\n                      type=\"text\"\n                      id=\"allowedCorsOrigins\"\n                      name=\"allowedCorsOrigins\"\n                      autoComplete=\"off\"\n                      onChange={handleChange}\n                      value={config.allowedCorsOrigins || ''}\n                    />\n                    <Form.Text muted>\n                      Use either * or a comma delimited list of origins,\n                      example:\n                      http://host1.name.com:3000,http://host2.name.com:3000\n                    </Form.Text>\n                  </Col>\n                </Form.Group>\n              </Form>\n            </Card.Body>\n            <Card.Footer>\n              <Button size=\"sm\" variant=\"primary\" onClick={handleSaveConfig}>\n                <FontAwesomeIcon icon={faFloppyDisk} /> Save\n              </Button>\n            </Card.Footer>\n          </Card>\n          <OIDCSettings />\n          <DisableSecurity />\n        </div>\n      )}\n    </div>\n  )\n}\n\nfunction DisableSecurity() {\n  const [showModal, setShowModal] = useState(false)\n  const [username, setUsername] = useState('')\n  const [password, setPassword] = useState('')\n  const [error, setError] = useState<string | null>(null)\n  const [isDisabling, setIsDisabling] = useState(false)\n\n  const handleClose = () => {\n    setShowModal(false)\n    setUsername('')\n    setPassword('')\n    setError(null)\n  }\n\n  const handleSubmit = async () => {\n    if (isDisabling || !username || !password) {\n      return\n    }\n    setIsDisabling(true)\n    setError(null)\n    const result = await disableSecurity(username, password)\n    setIsDisabling(false)\n    if (result) {\n      setError(result)\n    } else {\n      handleClose()\n      alert(\n        'Security disabled. Please restart the server for changes to take effect.'\n      )\n    }\n  }\n\n  return (\n    <>\n      <Card className=\"mt-3\">\n        <Card.Header>\n          <FontAwesomeIcon icon={faShieldHalved} /> Disable Security\n        </Card.Header>\n        <Card.Body>\n          <p className=\"text-muted\">\n            Disabling security removes all authentication requirements. Your\n            security configuration (users, devices) will be backed up and can be\n            restored when re-enabling security.\n          </p>\n          <Button size=\"sm\" variant=\"danger\" onClick={() => setShowModal(true)}>\n            <FontAwesomeIcon icon={faShieldHalved} /> Disable Security\n          </Button>\n        </Card.Body>\n      </Card>\n      <Modal show={showModal} onHide={handleClose} centered>\n        <Modal.Header closeButton>\n          <Modal.Title>Confirm Disable Security</Modal.Title>\n        </Modal.Header>\n        <Modal.Body>\n          <p className=\"text-muted\">\n            Enter your admin credentials to confirm disabling security. The\n            server will need to be restarted.\n          </p>\n          <InputGroup className=\"mb-3\">\n            <InputGroup.Text>\n              <FontAwesomeIcon icon={faUser} />\n            </InputGroup.Text>\n            <Form.Control\n              type=\"text\"\n              placeholder=\"Username\"\n              aria-label=\"Username\"\n              value={username}\n              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                setUsername(e.target.value)\n              }\n              onKeyUp={(e) => e.key === 'Enter' && handleSubmit()}\n              autoFocus\n            />\n          </InputGroup>\n          <InputGroup className=\"mb-3\">\n            <InputGroup.Text>\n              <FontAwesomeIcon icon={faLock} />\n            </InputGroup.Text>\n            <Form.Control\n              type=\"password\"\n              placeholder=\"Password\"\n              aria-label=\"Password\"\n              value={password}\n              onChange={(e: ChangeEvent<HTMLInputElement>) =>\n                setPassword(e.target.value)\n              }\n              onKeyUp={(e) => e.key === 'Enter' && handleSubmit()}\n            />\n          </InputGroup>\n          {error && <p className=\"text-danger\">{error}</p>}\n        </Modal.Body>\n        <Modal.Footer>\n          <Button variant=\"secondary\" onClick={handleClose}>\n            Cancel\n          </Button>\n          <Button\n            variant=\"danger\"\n            onClick={handleSubmit}\n            disabled={isDisabling || !username || !password}\n          >\n            <FontAwesomeIcon\n              icon={isDisabling ? faSpinner : faShieldHalved}\n              spin={isDisabling}\n            />{' '}\n            Disable Security\n          </Button>\n        </Modal.Footer>\n      </Modal>\n    </>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/src/views/security/Users.tsx",
    "content": "import {\n  useState,\n  useEffect,\n  useRef,\n  useCallback,\n  ChangeEvent,\n  FormEvent\n} from 'react'\nimport Badge from 'react-bootstrap/Badge'\nimport Button from 'react-bootstrap/Button'\nimport Card from 'react-bootstrap/Card'\nimport Col from 'react-bootstrap/Col'\nimport Form from 'react-bootstrap/Form'\nimport Row from 'react-bootstrap/Row'\nimport Table from 'react-bootstrap/Table'\nimport { useLoginStatus } from '../../store'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faAlignJustify } from '@fortawesome/free-solid-svg-icons/faAlignJustify'\nimport { faBan } from '@fortawesome/free-solid-svg-icons/faBan'\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons/faCircleInfo'\nimport { faCirclePlus } from '@fortawesome/free-solid-svg-icons/faCirclePlus'\nimport { faFloppyDisk } from '@fortawesome/free-solid-svg-icons/faFloppyDisk'\nimport EnableSecurity from './EnableSecurity'\n\ntype UserType = 'readonly' | 'readwrite' | 'admin'\n\ninterface User {\n  userId: string\n  type?: UserType\n  email?: string\n  isOIDC?: boolean\n  isNew?: boolean\n  password?: string\n  confirmPassword?: string\n}\n\nfunction convertType(type: UserType | undefined): string {\n  if (type === 'readonly') {\n    return 'Read Only'\n  } else if (type === 'readwrite') {\n    return 'Read/Write'\n  } else if (type === 'admin') {\n    return 'Admin'\n  }\n  return ''\n}\n\nexport default function Users() {\n  const loginStatus = useLoginStatus()\n  const [users, setUsers] = useState<User[] | null>(null)\n  const [selectedUser, setSelectedUser] = useState<User | null>(null)\n  const selectedUserRef = useRef<HTMLDivElement>(null)\n\n  const loadUsers = useCallback(async (): Promise<User[]> => {\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/users`,\n      {\n        credentials: 'include'\n      }\n    )\n    if (response.status === 401) {\n      throw new Error('Not authenticated — please log in')\n    }\n    if (!response.ok) {\n      throw new Error(`Failed to load users: ${response.statusText}`)\n    }\n    return response.json()\n  }, [])\n\n  const refreshUsers = useCallback(() => {\n    loadUsers()\n      .then((data) => setUsers(data))\n      .catch((err) => alert(err.message))\n  }, [loadUsers])\n\n  useEffect(() => {\n    if (loginStatus.authenticationRequired) {\n      loadUsers()\n        .then((data) => setUsers(data))\n        .catch((err) => alert(err.message))\n    }\n  }, [loginStatus.authenticationRequired, loadUsers])\n\n  const handleUserChange = (event: ChangeEvent<HTMLInputElement>) => {\n    const value =\n      event.target.type === 'checkbox'\n        ? event.target.checked\n        : event.target.value\n    setSelectedUser((prev) =>\n      prev ? { ...prev, [event.target.name]: value } : null\n    )\n  }\n\n  const handleAddUser = () => {\n    const newUser: User = {\n      userId: '',\n      type: 'readonly',\n      isNew: true\n    }\n    setSelectedUser(newUser)\n    setTimeout(() => {\n      selectedUserRef.current?.scrollIntoView()\n    }, 0)\n  }\n\n  const handleApply = async (event: FormEvent) => {\n    event.preventDefault()\n\n    if (!selectedUser) return\n\n    if (!selectedUser.userId || selectedUser.userId.length === 0) {\n      alert('Please specify a User Id')\n      return\n    }\n\n    if (selectedUser.password) {\n      if (selectedUser.password !== selectedUser.confirmPassword) {\n        alert('Passwords do not match')\n        return\n      }\n    }\n\n    const isNew = selectedUser.isNew\n\n    const payload = {\n      password: selectedUser.password,\n      type: selectedUser.type || 'readonly'\n    }\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/users/${selectedUser.userId}`,\n      {\n        method: isNew ? 'POST' : 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(payload),\n        credentials: 'include'\n      }\n    )\n    const text = await response.text()\n    if (!response.ok) {\n      alert(\n        response.status === 401 ? 'Not authenticated — please log in' : text\n      )\n      return\n    }\n    setSelectedUser(null)\n    alert(text)\n    refreshUsers()\n  }\n\n  const deleteUser = async () => {\n    if (!selectedUser) return\n\n    const response = await fetch(\n      `${window.serverRoutesPrefix}/security/users/${selectedUser.userId}`,\n      {\n        method: 'DELETE',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        credentials: 'include'\n      }\n    )\n    const text = await response.text()\n    if (!response.ok) {\n      alert(\n        response.status === 401 ? 'Not authenticated — please log in' : text\n      )\n      return\n    }\n    setSelectedUser(null)\n    alert(text)\n    refreshUsers()\n  }\n\n  const userClicked = (user: User) => {\n    setSelectedUser(structuredClone(user))\n    setTimeout(() => {\n      selectedUserRef.current?.scrollIntoView()\n    }, 0)\n  }\n\n  const handleCancel = () => {\n    setSelectedUser(null)\n  }\n\n  return (\n    <div className=\"animated fadeIn\">\n      {loginStatus.authenticationRequired === false && <EnableSecurity />}\n      {users && loginStatus.authenticationRequired && (\n        <div>\n          <Card>\n            <Card.Header>\n              <FontAwesomeIcon icon={faAlignJustify} /> Users\n            </Card.Header>\n            <Card.Body>\n              <Table hover responsive bordered striped size=\"sm\">\n                <thead>\n                  <tr>\n                    <th>User ID</th>\n                    <th>Type</th>\n                    <th>Auth</th>\n                  </tr>\n                </thead>\n                <tbody>\n                  {(users || []).map((user) => {\n                    return (\n                      <tr key={user.userId} onClick={() => userClicked(user)}>\n                        <td>\n                          {user.userId}\n                          {user.email && (\n                            <small className=\"text-muted ms-2\">\n                              ({user.email})\n                            </small>\n                          )}\n                        </td>\n                        <td>{convertType(user.type)}</td>\n                        <td>\n                          {user.isOIDC ? (\n                            <Badge bg=\"info\" title=\"Authenticated via SSO\">\n                              SSO\n                            </Badge>\n                          ) : (\n                            <Badge bg=\"secondary\">Local</Badge>\n                          )}\n                        </td>\n                      </tr>\n                    )\n                  })}\n                </tbody>\n              </Table>\n            </Card.Body>\n            <Card.Footer>\n              <Button size=\"sm\" variant=\"primary\" onClick={handleAddUser}>\n                <FontAwesomeIcon icon={faCirclePlus} /> Add\n              </Button>\n            </Card.Footer>\n          </Card>\n\n          {selectedUser && (\n            <div ref={selectedUserRef}>\n              <Card>\n                <Card.Header>\n                  <FontAwesomeIcon icon={faAlignJustify} /> User\n                  {selectedUser.isOIDC && (\n                    <Badge bg=\"info\" className=\"ms-2\">\n                      SSO User\n                    </Badge>\n                  )}\n                </Card.Header>\n                <Card.Body>\n                  <Form.Group as={Row} className=\"mb-3\">\n                    <Col md=\"2\">\n                      <Form.Label htmlFor=\"userId\">User ID</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"9\">\n                      {selectedUser.isNew && (\n                        <Form.Control\n                          type=\"text\"\n                          id=\"userId\"\n                          name=\"userId\"\n                          autoComplete=\"off\"\n                          value={selectedUser.userId || ''}\n                          onChange={handleUserChange}\n                        />\n                      )}\n                      {!selectedUser.isNew && (\n                        <Form.Label>{selectedUser.userId}</Form.Label>\n                      )}\n                    </Col>\n                  </Form.Group>\n                  {selectedUser.email && (\n                    <Form.Group as={Row} className=\"mb-3\">\n                      <Col md=\"2\">\n                        <Form.Label>Email</Form.Label>\n                      </Col>\n                      <Col xs=\"12\" md=\"9\">\n                        <Form.Label>{selectedUser.email}</Form.Label>\n                      </Col>\n                    </Form.Group>\n                  )}\n                  {selectedUser.isOIDC ? (\n                    <Form.Group as={Row} className=\"mb-3\">\n                      <Col md=\"12\">\n                        <Form.Text muted>\n                          <FontAwesomeIcon icon={faCircleInfo} /> This user\n                          authenticates via Single Sign-On. Password cannot be\n                          set for SSO users.\n                        </Form.Text>\n                      </Col>\n                    </Form.Group>\n                  ) : (\n                    <>\n                      <Form.Group as={Row} className=\"mb-3\">\n                        <Col md=\"2\">\n                          <Form.Label htmlFor=\"password\">Password</Form.Label>\n                        </Col>\n                        <Col xs=\"12\" md=\"9\">\n                          <Form.Control\n                            type=\"password\"\n                            id=\"password\"\n                            name=\"password\"\n                            autoComplete=\"new-password\"\n                            value={selectedUser.password || ''}\n                            onChange={handleUserChange}\n                          />\n                        </Col>\n                      </Form.Group>\n                      <Form.Group as={Row} className=\"mb-3\">\n                        <Col md=\"2\">\n                          <Form.Label htmlFor=\"confirmPassword\">\n                            Confirm Password\n                          </Form.Label>\n                        </Col>\n                        <Col xs=\"12\" md=\"9\">\n                          <Form.Control\n                            type=\"password\"\n                            id=\"confirmPassword\"\n                            name=\"confirmPassword\"\n                            autoComplete=\"new-password\"\n                            value={selectedUser.confirmPassword || ''}\n                            onChange={handleUserChange}\n                          />\n                        </Col>\n                      </Form.Group>\n                    </>\n                  )}\n                  <Form.Group as={Row} className=\"mb-3\">\n                    <Col md=\"2\">\n                      <Form.Label htmlFor=\"permissions\">Permissions</Form.Label>\n                    </Col>\n                    <Col xs=\"12\" md=\"2\">\n                      <Form.Select\n                        id=\"permissions\"\n                        name=\"type\"\n                        value={selectedUser.type || 'readonly'}\n                        onChange={handleUserChange}\n                      >\n                        <option value=\"readonly\">Read Only</option>\n                        <option value=\"readwrite\">Read/Write</option>\n                        <option value=\"admin\">Admin</option>\n                      </Form.Select>\n                    </Col>\n                  </Form.Group>\n                </Card.Body>\n                <Card.Footer>\n                  <div className=\"d-flex flex-wrap gap-2\">\n                    <Button size=\"sm\" variant=\"primary\" onClick={handleApply}>\n                      <FontAwesomeIcon icon={faFloppyDisk} /> Apply\n                    </Button>\n                    <Button\n                      size=\"sm\"\n                      variant=\"secondary\"\n                      onClick={handleCancel}\n                    >\n                      <FontAwesomeIcon icon={faBan} /> Cancel\n                    </Button>\n                    <Button\n                      size=\"sm\"\n                      variant=\"danger\"\n                      className=\"ms-auto\"\n                      onClick={deleteUser}\n                    >\n                      <FontAwesomeIcon icon={faBan} /> Delete\n                    </Button>\n                  </div>\n                </Card.Footer>\n              </Card>\n            </div>\n          )}\n        </div>\n      )}\n    </div>\n  )\n}\n"
  },
  {
    "path": "packages/server-admin-ui/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"useDefineForClassFields\": true,\n    \"lib\": [\"ES2021\", \"DOM\", \"DOM.Iterable\"],\n    \"module\": \"ESNext\",\n    \"skipLibCheck\": true,\n\n    /* Bundler mode */\n    \"moduleResolution\": \"bundler\",\n    \"allowImportingTsExtensions\": true,\n    \"resolveJsonModule\": true,\n    \"isolatedModules\": true,\n    \"noEmit\": true,\n    \"jsx\": \"react-jsx\",\n\n    /* Linting */\n    \"strict\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"allowUnusedLabels\": false,\n    \"allowUnreachableCode\": false,\n    \"noImplicitReturns\": true,\n    \"noImplicitOverride\": true,\n\n    /* Allow JS */\n    \"allowJs\": true,\n    \"checkJs\": false,\n\n    /* Interop */\n    \"esModuleInterop\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"forceConsistentCasingInFileNames\": true,\n\n    /* Paths */\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"@/*\": [\"src/*\"]\n    }\n  },\n  \"include\": [\"src\"],\n  \"references\": [{ \"path\": \"./tsconfig.node.json\" }]\n}\n"
  },
  {
    "path": "packages/server-admin-ui/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": true,\n    \"skipLibCheck\": true,\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"bundler\",\n    \"allowSyntheticDefaultImports\": true\n  },\n  \"include\": [\"vite.config.js\"]\n}\n"
  },
  {
    "path": "packages/server-admin-ui/vite.config.ts",
    "content": "/// <reference types=\"vitest\" />\nimport { defineConfig } from 'vite'\nimport react, { reactCompilerPreset } from '@vitejs/plugin-react'\nimport babel from '@rolldown/plugin-babel'\n\nimport '@signalk/server-admin-ui-dependencies'\n\n// %ADDONSCRIPTS% is replaced server-side at request time with actual addon script tags.\nfunction replaceAddonScripts() {\n  return {\n    name: 'replace-addon-scripts',\n    transformIndexHtml: {\n      order: 'pre',\n      handler(html) {\n        if (process.env.NODE_ENV !== 'production') {\n          return html.replace(\n            '%ADDONSCRIPTS%',\n            '<!-- addon scripts not available in dev mode -->'\n          )\n        }\n        return html\n      }\n    }\n  }\n}\n\n// Strip obsolete SVG font references from @font-face declarations (~2.5MB savings)\nfunction stripSvgFonts() {\n  return {\n    name: 'strip-svg-fonts',\n    enforce: 'post',\n    transform(code, id) {\n      if (!id.includes('.css') && !id.includes('.scss')) {\n        return null\n      }\n      const svgFontRegex =\n        /,?\\s*url\\(['\"]?[^'\"()]+\\.svg[^'\"()]*['\"]?\\)\\s*format\\(['\"]svg['\"]\\)/gi\n      if (svgFontRegex.test(code)) {\n        return {\n          code: code.replace(svgFontRegex, ''),\n          map: null\n        }\n      }\n      return null\n    },\n    generateBundle(options, bundle) {\n      for (const fileName of Object.keys(bundle)) {\n        const chunk = bundle[fileName]\n        if (chunk.type === 'asset' && fileName.endsWith('.css')) {\n          const svgFontRegex =\n            /,?\\s*url\\(['\"]?[^'\"()]+\\.svg[^'\"()]*['\"]?\\)\\s*format\\(['\"]svg['\"]\\)/gi\n          if (\n            typeof chunk.source === 'string' &&\n            svgFontRegex.test(chunk.source)\n          ) {\n            chunk.source = chunk.source.replace(svgFontRegex, '')\n          }\n        }\n        if (\n          chunk.type === 'asset' &&\n          fileName.endsWith('.svg') &&\n          (fileName.includes('fontawesome') ||\n            fileName.includes('fa-') ||\n            fileName.includes('Simple-Line-Icons'))\n        ) {\n          delete bundle[fileName]\n        }\n      }\n    }\n  }\n}\n\nexport default defineConfig({\n  base: './',\n  publicDir: 'public_src',\n  plugins: [\n    replaceAddonScripts(),\n    stripSvgFonts(),\n    react(),\n    babel({\n      presets: [reactCompilerPreset()]\n    })\n  ],\n  css: {\n    preprocessorOptions: {\n      scss: {\n        quietDeps: true,\n        // Bootstrap 5 still uses @import internally\n        silenceDeprecations: ['import']\n      }\n    }\n  },\n  server: {\n    port: 5173,\n    host: 'localhost',\n    proxy: {\n      '/signalk': {\n        target: 'http://localhost:3000',\n        changeOrigin: true,\n        ws: true\n      },\n      '/skServer': {\n        target: 'http://localhost:3000',\n        changeOrigin: true,\n        ws: true\n      },\n      '/plugins': {\n        target: 'http://localhost:3000',\n        changeOrigin: true\n      },\n      // Proxy scoped webapp packages (@signalk/*, etc.) but not Vite internals\n      '/@': {\n        target: 'http://localhost:3000',\n        changeOrigin: true,\n        bypass: (req) => {\n          if (\n            req.url.startsWith('/@vite') ||\n            req.url.startsWith('/@react-refresh') ||\n            req.url.startsWith('/@fs') ||\n            req.url.startsWith('/@id')\n          ) {\n            return req.url\n          }\n        }\n      }\n    }\n  },\n  build: {\n    outDir: 'public',\n    sourcemap: true,\n    target: 'es2023',\n    assetsInlineLimit: 0, // Prevent inlining assets to allow server-side logo override\n    cssCodeSplit: false // Generate single CSS file to ensure it's always loaded\n  },\n  resolve: {\n    alias: {\n      path: 'path-browserify',\n      events: 'events',\n      buffer: 'buffer'\n    }\n  },\n  test: {\n    globals: true,\n    environment: 'jsdom',\n    setupFiles: ['./src/test/setup.ts'],\n    include: ['src/**/*.{test,spec}.{ts,tsx}'],\n    coverage: {\n      provider: 'v8',\n      reporter: ['text', 'json', 'html'],\n      include: ['src/**/*.{ts,tsx}'],\n      exclude: ['src/test/**', 'src/**/*.d.ts']\n    }\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui-dependencies/index.js",
    "content": "require('validate-peer-dependencies')(__dirname, {\n  resolvePeerDependenciesFrom: './',\n  handleFailure(result) {\n    let { missingPeerDependencies, incompatibleRanges } = result\n\n    let missingWithVersions = (missingPeerDependencies || []).reduce(\n      (message, metadata) => {\n        return `${message}${metadata.name}@${metadata.specifiedPeerDependencyRange} `\n      },\n      ''\n    )\n\n    let incompatiblePeerDependenciesMessage = (incompatibleRanges || []).reduce(\n      (message, metadata) => {\n        return `${message}\\n\\t* ${metadata.name}: \\`${metadata.specifiedPeerDependencyRange}\\`; it was resolved to \\`${metadata.version}\\``\n      },\n      ''\n    )\n\n    if (missingWithVersions.length > 0) {\n      console.error(`Please INSTALL MISSING PEERDEPENDENCIES with\n      npm install --save-dev ${missingWithVersions}`)\n      process.exit(-1)\n    }\n\n    console.error(\n      `Incompatible peerDependencies: ${incompatiblePeerDependenciesMessage}`\n    )\n    process.exit(-1)\n  }\n})\n"
  },
  {
    "path": "packages/server-admin-ui-dependencies/package.json",
    "content": "{\n  \"name\": \"@signalk/server-admin-ui-dependencies\",\n  \"version\": \"2.23.0\",\n  \"description\": \"UI dependencies of the admin UI exposed to plugins that expose federated components\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/server-admin-ui-dependencies\"\n  },\n  \"main\": \"index.js\",\n  \"author\": \"teppo.kurki@iki.fi\",\n  \"license\": \"Apache-2.0\",\n  \"optionalDependencies\": {\n    \"validate-peer-dependencies\": \"^1.1.0\"\n  },\n  \"peerDependencies\": {\n    \"@fortawesome/fontawesome-free\": \"^5.15.1\",\n    \"bootstrap\": \"^5.3.3\",\n    \"font-awesome\": \"^4.7.0\",\n    \"react\": \"^19.0.0\",\n    \"react-dom\": \"^19.0.0\",\n    \"react-bootstrap\": \"^2.10.10\",\n    \"react-select\": \"^5.10.2\",\n    \"simple-line-icons\": \"^2.5.5\"\n  }\n}\n"
  },
  {
    "path": "packages/server-api/.gitignore",
    "content": "dist\nsrc/autopilotapi.guard.ts\nsrc/weatherapi.guard.ts\ndocs\n"
  },
  {
    "path": "packages/server-api/.npmignore",
    "content": "src\nnode_modules"
  },
  {
    "path": "packages/server-api/.npmrc",
    "content": "package-lock=false\n"
  },
  {
    "path": "packages/server-api/package.json",
    "content": "{\n  \"name\": \"@signalk/server-api\",\n  \"version\": \"2.24.0\",\n  \"description\": \"signalk-server Typescript API for plugins etc with relevant implementation classes\",\n  \"main\": \"dist/index.js\",\n  \"types\": \"dist/index.d.ts\",\n  \"scripts\": {\n    \"generate\": \"ts-auto-guard src/autopilotapi.ts\",\n    \"build\": \"npm run generate && tsc -b\",\n    \"watch\": \"tsc --watch\",\n    \"prepublishOnly\": \"npm run build\",\n    \"prettier\": \"prettier --write .\",\n    \"lint\": \"eslint --fix\",\n    \"format\": \"npm run prettier && npm run lint\",\n    \"test\": \"mocha 'src/**/*.test.ts' 'src/*.test.ts'\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/server-api\"\n  },\n  \"author\": \"teppo.kurki@iki.fi\",\n  \"license\": \"Apache-2.0\",\n  \"dependencies\": {\n    \"@js-temporal/polyfill\": \"^0.5.1\",\n    \"@sinclair/typebox\": \"^0.34.0\",\n    \"baconjs\": \"^3.0.0\"\n  },\n  \"devDependencies\": {\n    \"ts-auto-guard\": \"^5.0.1\"\n  },\n  \"exports\": {\n    \".\": \"./dist/index.js\",\n    \"./history\": \"./dist/history.js\",\n    \"./typebox\": \"./dist/typebox/index.js\"\n  },\n  \"typesVersions\": {\n    \"*\": {\n      \"history\": [\n        \"dist/history.d.ts\"\n      ],\n      \"typebox\": [\n        \"dist/typebox/index.d.ts\"\n      ]\n    }\n  }\n}\n"
  },
  {
    "path": "packages/server-api/src/autopilotapi.ts",
    "content": "import { Value } from './deltas'\n\n/**\n * Valid autopilot delta path names.\n * @category  Autopilot API\n */\nexport type AutopilotUpdateAttrib =\n  | 'mode'\n  | 'state'\n  | 'target'\n  | 'engaged'\n  | 'options'\n  | 'actions'\n  | 'alarm'\n\n/**@hidden\n * @category  Autopilot API\n */\nconst AUTOPILOTUPDATEATTRIBS: AutopilotUpdateAttrib[] = [\n  'mode',\n  'state',\n  'target',\n  'engaged',\n  'options',\n  'actions',\n  'alarm'\n]\n\n/**\n * This method returns true if the supplied value represents a valid autopilot delta path.\n * @category  Autopilot API\n */\nexport const isAutopilotUpdateAttrib = (value: string) =>\n  AUTOPILOTUPDATEATTRIBS.includes(value as AutopilotUpdateAttrib)\n\n/**\n * Valid autopilot alarm delta path names.\n * @category  Autopilot API\n */\nexport type AutopilotAlarm =\n  | 'waypointAdvance'\n  | 'waypointArrival'\n  | 'routeComplete'\n  | 'xte'\n  | 'heading'\n  | 'wind'\n\n/** @hidden\n * @category  Autopilot API\n */\nconst AUTOPILOTALARMS: AutopilotAlarm[] = [\n  'waypointAdvance',\n  'waypointArrival',\n  'routeComplete',\n  'xte',\n  'heading',\n  'wind'\n]\n\n/**\n * This method returns true if the supplied value represents a valid autopilot alarm delta path.\n * @category  Autopilot API\n */\nexport const isAutopilotAlarm = (value: string) =>\n  AUTOPILOTALARMS.includes(value as AutopilotAlarm)\n\n/**\n * Valid tack / gybe action direction values.\n * @category  Autopilot API\n */\nexport type TackGybeDirection = 'port' | 'starboard'\n\n/**\n * This method returns true if the supplied object is a valid AutopilotProvider.\n * @category  Autopilot API\n */\nexport const isAutopilotProvider = (obj: unknown) => {\n  const typedObj = obj as AutopilotProvider\n  return (\n    ((typedObj !== null && typeof typedObj === 'object') ||\n      typeof typedObj === 'function') &&\n    typeof typedObj['getData'] === 'function' &&\n    typeof typedObj['getState'] === 'function' &&\n    typeof typedObj['setState'] === 'function' &&\n    typeof typedObj['getMode'] === 'function' &&\n    typeof typedObj['setMode'] === 'function' &&\n    typeof typedObj['getTarget'] === 'function' &&\n    typeof typedObj['setTarget'] === 'function' &&\n    typeof typedObj['adjustTarget'] === 'function' &&\n    typeof typedObj['engage'] === 'function' &&\n    typeof typedObj['disengage'] === 'function' &&\n    typeof typedObj['tack'] === 'function' &&\n    typeof typedObj['gybe'] === 'function' &&\n    typeof typedObj['dodge'] === 'function'\n  )\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotApi {\n  register(pluginId: string, provider: AutopilotProvider): void\n  unRegister(pluginId: string): void\n  /**\n   * This method instructs the server to send deltas for the provided paths.\n   *\n   * > [!NOTE]\n   * > Valid `apInfo` paths are defined in {@link AutopilotUpdateAttrib}\n   * > `apInfo.actions` value (like `options.actions`) must contain an Array<{@link AutopilotActionDef}>\n   \n  @example\n   * ```javascript\n   * apUpdate({\n   *  'mode': 'gps',\n   *  'actions': [{id: 'tack', name: 'Tack', available: true}]\n   * });\n   * ```\n  \n  \n  */\n  apUpdate(\n    pluginId: string,\n    deviceId: string,\n    apInfo: { [path: string]: Value }\n  ): void\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotProvider {\n  /**\n   * This method returns an AutopilotInfo object containing the current data values and valid options for the supplied autopilot device identifier.\n   *\n   * > [!NOTE]\n   * > It is the responsibility of the autopilot provider plugin to map the value of `engaged` to the current `state`.\n   *\n   * Additionally, the plugin can maintain a list of `availableActions` that can be taken in the current\n   * operational state.\n   *\n   * @example\n   * API request:\n   * ```\n   * GET /signalk/v2/api/vessels/self/autopilots/mypilot1\n   * ```\n   *\n   * AutopilotProvider method invocation:\n   * ```javascript\n   * getData('mypilot1');\n   *\n   * // Returns:\n   * {\n   *    options: {\n   *     states: [\n   *         {\n   *             name: 'auto' // autopilot state name\n   *             engaged: true // actively steering\n   *         },\n   *         {\n   *             name: 'standby' // autopilot state name\n   *             engaged: false // not actively steering\n   *         }\n   *     ]\n   *     modes: ['compass', 'gps', 'wind'],  // supported modes of operation\n   *     actions: [\n   *     {\n   *        id: 'tack',\n   *        name: 'Tack',\n   *        available: true\n   *     },\n   *     {\n   *        id: 'gybe',\n   *        name: 'Gybe',\n   *        available: false\n   *     }\n   *      ]  // actions the autopilot supports\n   * },\n   *   target: 0.326\n   *   mode: 'compass'\n   *   state: 'auto'\n   *   engaged: true\n   * }\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   */\n  getData(deviceId: string): Promise<AutopilotInfo>\n\n  /**\n   * Returns the current state of the supplied autopilot device identifier. If the autopilot device is not connected or unreachable then `off-line` should be returned.\n   *\n   * @example\n   * API request\n   * ```\n   * GET /signalk/v2/api/vessels/self/autopilots/mypilot1/state\n   * ```\n   *\n   * AutopilotProvider method invocation\n   * ```javascript\n   * await getState('mypilot1'); // Returns: 'auto'\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   */\n  getState(deviceId: string): Promise<string | null>\n\n  /**\n   * Sets the autopilot device with the supplied identifier to the supplied state value.\n   *\n   * @example\n   * API request\n   * ```\n   * PUT /signalk/v2/api/vessels/self/autopilots/mypilot1/state {value: \"standby\"}\n   * ```\n   *\n   * AutopilotProvider method invocation\n   * ```javascript\n   * setState('standby', 'mypilot1');\n   * ```\n   *\n   * @param state - state value to set. Must be a valid state value.\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws if supplied state value is invalid.\n   */\n  setState(state: string, deviceId: string): Promise<void>\n\n  getMode(deviceId: string): Promise<string | null>\n  /**\n   * Sets the autopilot device with the supplied identifier to the supplied mode value.\n   *\n   * @example\n   * API request\n   * ```\n   * PUT /signalk/v2/api/vessels/self/autopilots/mypilot1/mode {value: \"gps\"}\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript   *\n   * setMode('gps', 'mypilot1');\n   * ```\n   *\n   * @param mode - Must be a valid mode value.\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws if supplied mode value is invalid.\n   */\n  setMode(mode: string, deviceId: string): Promise<void>\n  getTarget(deviceId: string): Promise<number | null>\n\n  /**\n   * Sets target for the autopilot device with the supplied identifier to the supplied value.\n   *\n   * @example\n   * API request\n   * ```\n   * PUT /signalk/v2/api/vessels/self/autopilots/mypilot1/target {value: 129}\n   * ```\n   *\n   * // AutopilotProvider method invocation\n   * ```javascript\n   * setTarget(129, 'mypilot1');\n   * ```\n   *\n   * @param value - target value in radians.\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws if supplied target value is outside the valid range.\n   */\n  setTarget(value: number, deviceId: string): Promise<void>\n\n  /**\n   * Adjusts target for the autopilot device with the supplied identifier by the supplied value.\n   *\n   * @example\n   * API request\n   * ```\n   * PUT /signalk/v2/api/vessels/self/autopilots/mypilot1/target {value: 2}\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * adjustTarget(2, 'mypilot1');\n   * ```\n   *\n   * @param value - value in radians to add to current target value.\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws if supplied target value is outside the valid range.\n   */\n  adjustTarget(value: number, deviceId: string): Promise<void>\n\n  /**\n   * Sets the state of the autopilot device with the supplied identifier to a state that is actively steering the vessel.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/engage\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * engage('mypilot1');\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  engage(deviceId: string): Promise<void>\n\n  /**\n   * **`disengage(deviceId)`**: This method sets the state of the autopilot device with the supplied identifier to a state that is NOT actively steering the vessel.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/disengage\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * disengage('mypilot1');\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  disengage(deviceId: string): Promise<void>\n\n  /**\n   * Instructs the autopilot device to steer for the currently set destination position.\n   *\n   * It is assumed that a destination has been set prior to invoking this action.\n   *\n   * The intended result of this action is that the autopilot device be engaged in the\n   * appropriate mode to steer to the active waypoint / position.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/courseCurrentPoint\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * courseCurrentPoint('mypilot1');\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  courseCurrentPoint(deviceId: string): Promise<void>\n\n  /**\n   * Instructs the autopilot device to advance to the next waypoint on the route.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/courseNextPoint\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * courseNextPoint('mypilot1');\n   * ```\n   *\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  courseNextPoint(deviceId: string): Promise<void>\n\n  /**\n   * Instructs the autopilot device with the supplied identifier to perform a tack in the supplied direction.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/tack/port\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * tack('port', 'mypilot1');\n   * ```\n   *\n   * @param direction - `port` or `starboard`\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  tack(direction: TackGybeDirection, deviceId: string): Promise<void>\n\n  /**\n   * **`gybe(direction, deviceId)`**: This method instructs the autopilot device with the supplied identifier to perform a gybe in the supplied direction.\n   *\n   * @example\n   * API request\n   * ```\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/gybe/starboard\n   * ```\n   * AutopilotProvider method invocation\n   * ```javascript\n   * gybe('starboard', 'mypilot1');\n   * ```\n   *\n   * @param direction - `port` or `starboard`\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  gybe(direction: TackGybeDirection, deviceId: string): Promise<void>\n\n  /**\n   * Instructs the autopilot device with the supplied identifier to enter / exit dodge mode and alter the current course by the supplied value (radians) direction.\n   *\n   * @example\n   * To address different pilot behaviour, the `dodge` function can be used in the following ways:\n   *\n   * **1. Enter dodge mode at the current course**\n   * ```javascript\n   * // API request\n   * POST /signalk/v2/api/vessels/self/autopilots/mypilot1/dodge\n   *\n   * // _AutopilotProvider method invocation\n   * dodge(0, 'mypilot1');\n   * ```\n   *\n   * **2. Enter dodge mode and change course**\n   * ```javascript\n   * // API request\n   * PUT /signalk/v2/api/vessels/self/autopilots/mypilot1/dodge {\"value\": 5}\n   *\n   * // AutopilotProvider method invocation\n   * dodge(5, 'mypilot1');\n   * ```\n   *\n   * **3. Cancel dodge mode**\n   * ```javascript\n   * // API request\n   * DELETE /signalk/v2/api/vessels/self/autopilots/mypilot1/dodge\n   *\n   * // AutopilotProvider method invocation\n   * dodge(null, 'mypilot1');\n   * ```\n   *\n   * @param value - +/- value in radians 'port (-ive)' or 'starboard' to change direction. _Setting the value to `null` indicates exit of dodge mode._\n   * @param deviceId - identifier of the autopilot device to query.\n   * @throws on error.\n   */\n  dodge(value: number | null, deviceId: string): Promise<void>\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotStateDef {\n  name: string // autopilot state\n  engaged: boolean // true if state indicates actively steering\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotActionDef {\n  id: 'dodge' | 'tack' | 'gybe' | 'courseCurrentPoint' | 'courseNextPoint'\n  name: string // display name\n  available: boolean // true if can be used in current AP mode of operation\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotOptions {\n  states: AutopilotStateDef[]\n  modes: string[]\n  actions: AutopilotActionDef[]\n}\n\n/** @category  Autopilot API  */\nexport interface AutopilotInfo {\n  options: AutopilotOptions\n  target: number | null\n  mode: string | null\n  state: string | null\n  engaged: boolean\n}\n\n/**\n * @hidden visible through ServerAPI\n */\nexport interface AutopilotProviderRegistry {\n  /**\n   * @category Autopilot API\n   */\n  registerAutopilotProvider(\n    provider: AutopilotProvider,\n    devices: string[]\n  ): void\n\n  /**\n   * @category Autopilot API\n   * @param deviceId - the autopilot device identifier\n   * @param apInfo - object containing values keyed by {@link AutopilotInfo}\n   */\n  autopilotUpdate(deviceId: string, apInfo: { [path: string]: Value }): void\n}\n"
  },
  {
    "path": "packages/server-api/src/brand.ts",
    "content": "declare const __brand: unique symbol\n\n/**\n * An interface for creating branded types, which create a more specific and unique data type\n * with greater clarity and specificity,\n * @hidden\n * @example\n * ```ts\n * type Path = Branded<string, \"path\">\n *\n * function getSelfPath(path: Path): Delta {\n *   // ...\n * }\n * ```\n *\n * @see https://egghead.io/blog/using-branded-types-in-typescript\n * @internal\n * @typeParam Type - The real type to use (e.g. `string`, `boolean`, etc.)\n * @typeParam Name - The name of this type (e.g. `path`, `sourceRef`, etc.)\n */\nexport type Brand<Type, Name> = Type & { [__brand]: Name }\n"
  },
  {
    "path": "packages/server-api/src/course.ts",
    "content": "import { PointDestination, RouteDestination, CourseInfo } from './coursetypes'\n\n/**\n * @see [Course REST API](../../../docs/develop/rest-api/course_api.md) provides the following functions for use by plugins.\n * @category  Course API\n */\nexport interface CourseApi {\n  /**\n   * Retrieves the current course information.\n   *\n   * @category Course API\n   */\n  getCourse(): Promise<CourseInfo>\n\n  /**\n   * Cancels navigation to the current point or route being followed.\n   *\n   * @category Course API\n   */\n  clearDestination(): Promise<void>\n\n  /**\n   * Set course to a specified position / waypoint.\n   *\n   * @category Course API\n   *\n   * @param dest - Object containing destination position information.\n   *\n   */\n  setDestination(\n    dest: (PointDestination & { arrivalCircle?: number }) | null\n  ): Promise<void>\n\n  /**\n   * Follow a route in the specified direction and starting at the specified point.\n   *\n   * @param dest - Object containing route information.\n   *\n   * - returns: Resolved Promise on success.\n   *\n   * @category Course API\n   */\n  activateRoute(dest: RouteDestination | null): Promise<void>\n}\n"
  },
  {
    "path": "packages/server-api/src/coursetypes.ts",
    "content": "import { Position } from '.'\nimport { Brand } from './brand'\n\n/** @category Course API */\nexport interface HrefDestination {\n  href: string\n}\n\n/** @category Course API */\nexport interface PositionDestination {\n  position: Position\n}\n\n/** @category Course API */\nexport type PointDestination = HrefDestination | PositionDestination\n\n/** @category Course API */\nexport interface RouteDestination {\n  href: string\n  reverse?: boolean\n  pointIndex?: number\n  arrivalCircle?: number\n}\n\n/** @category Course API */\nexport interface ActiveRoute {\n  href: string\n  pointIndex: number\n  pointTotal: number\n  reverse: boolean\n  name: string\n}\n\n/** @category Course API */\nexport interface NextPreviousPoint {\n  href?: string\n  type: CoursePointType\n  position: Position\n}\n\n/** @category Course API */\nexport type CoursePointType = Brand<string, 'coursepointtype'>\n\n/** @category  Course API */\nexport const COURSE_POINT_TYPES = {\n  VesselPosition: 'VesselPosition' as CoursePointType,\n  RoutePoint: 'RoutePoint' as CoursePointType,\n  Location: 'Location' as CoursePointType\n}\n\n/** @category Course API */\nexport interface CourseInfo {\n  startTime: string | null\n  targetArrivalTime: string | null\n  arrivalCircle: number\n  activeRoute: ActiveRoute | null\n  nextPoint: NextPreviousPoint | null\n  previousPoint: NextPreviousPoint | null\n}\n"
  },
  {
    "path": "packages/server-api/src/deltas.test.ts",
    "content": "import { Delta, Path } from './deltas'\n\n// Type-check tests - verify Delta types compile correctly\nconst _typeCheckMetaDelta: Delta = {\n  updates: [\n    {\n      meta: [\n        {\n          path: 'foo.bar' as Path,\n          value: {\n            displayName: 'Foo Bar'\n          }\n        }\n      ]\n    }\n  ]\n}\nvoid _typeCheckMetaDelta\n\nconst _typeCheckValuesDelta: Delta = {\n  updates: [\n    {\n      values: [\n        {\n          path: 'foo.bar' as Path,\n          value: {\n            displayName: 'Foo Bar'\n          }\n        }\n      ]\n    }\n  ]\n}\nvoid _typeCheckValuesDelta\n\nconst _typeCheckCombinedDelta: Delta = {\n  updates: [\n    {\n      meta: [\n        {\n          path: 'foo.bar' as Path,\n          value: {\n            displayName: 'Foo Bar'\n          }\n        }\n      ]\n    },\n    {\n      values: [\n        {\n          path: 'foo.bar' as Path,\n          value: {\n            displayName: 'Foo Bar'\n          }\n        }\n      ]\n    }\n  ]\n}\nvoid _typeCheckCombinedDelta\n"
  },
  {
    "path": "packages/server-api/src/deltas.ts",
    "content": "import { Position } from '.'\nimport { Brand } from './brand'\n\n/** @hidden */\nexport interface WithContext {\n  context: Context\n}\n\n/** @inline - Not exported as part of the public API */\ntype NormalizedBaseDelta = {\n  context: Context\n  $source: SourceRef\n  /** @deprecated Use $source instead */\n  source?: Source\n  path: Path\n  timestamp: Timestamp\n}\n\n/** @hidden */\nexport type NormalizedMetaDelta = NormalizedBaseDelta & {\n  value: MetaValue\n  isMeta: true\n}\n\n/** @hidden */\nexport type NormalizedValueDelta = NormalizedBaseDelta & {\n  value: Value\n  isMeta: false\n}\n\n/** @hidden */\nexport type NormalizedDelta = NormalizedValueDelta | NormalizedMetaDelta\n\n/** @category Server API */\nexport type SourceRef = Brand<string, 'sourceRef'>\n/** @category Server API */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Source = any\n\n/** @category Server API */\nexport type Path = Brand<string, 'path'>\n/** @category Server API */\nexport type Timestamp = Brand<string, 'timestamp'>\n/** @category Server API */\nexport type Context = Brand<string, 'context'>\n/** @category Server API */\nexport type NotificationId = Brand<string, 'notificationId'>\n\n/** @category Server API */\nexport type Value = object | number | string | null | Notification | boolean\n\n/** @category Server API */\nexport interface Delta {\n  context?: Context\n  updates: Update[]\n}\n\n/**\n * @deprecated earlier mistake assumed ValuesDelta and MetaDelta were separate\n * @hidden\n */\nexport type ValuesDelta = Delta\n/**\n * @deprecated earlier mistake assumed ValuesDelta and MetaDelta were separate\n * @hidden\n */\nexport type MetaDelta = Delta\n\n/** @category Server API */\nexport type Update = {\n  timestamp?: Timestamp\n  /** @deprecated Use $source (SourceRef) instead for more practical string-based referencing */\n  source?: Source\n  $source?: SourceRef\n  notificationId?: NotificationId\n} & ({ values: PathValue[] } | { meta: Meta[] }) // require either values or meta or both\n\n/** @category Server API */\nexport function hasValues(u: Update): u is Update & { values: PathValue[] } {\n  return 'values' in u && Array.isArray(u.values)\n}\n\n/** @category Server API */\nexport function hasMeta(u: Update): u is Update & { meta: Meta[] } {\n  return 'meta' in u && Array.isArray(u.meta)\n}\n\n// Update delta\n/** @category Server API */\nexport interface PathValue {\n  path: Path\n  value: Value\n}\n\n// Notification payload\n/** @category Server API */\nexport interface Notification {\n  state: ALARM_STATE\n  method: ALARM_METHOD[]\n  message: string\n  status?: AlarmStatus\n  position?: Position\n  createdAt?: Timestamp\n  id?: string\n}\n\n// MetaMessage\n/** @category Server API */\nexport interface Meta {\n  path: Path\n  value: MetaValue\n}\n\n// Meta payload\n/** @category Server API */\nexport interface MetaValue {\n  description?: string\n  units?: string\n  example?: string\n  timeout?: number\n  displayName?: string\n  displayScale?: {\n    lower: number\n    upper: number\n  }\n  zones?: Zone[]\n  supportsPut?: boolean\n  displayUnits?: {\n    category: string\n    targetUnit: string\n    displayFormat?: string\n    formula: string\n    inverseFormula: string\n    symbol: string\n  }\n}\n\n// Notification attribute types\n/** @category Server API */\nexport enum ALARM_STATE {\n  nominal = 'nominal',\n  normal = 'normal',\n  alert = 'alert',\n  warn = 'warn',\n  alarm = 'alarm',\n  emergency = 'emergency'\n}\n\n/** @category Server API */\nexport enum ALARM_METHOD {\n  visual = 'visual',\n  sound = 'sound'\n}\n\n/** @category Server API */\nexport interface AlarmStatus {\n  silenced: boolean\n  acknowledged: boolean\n  canSilence: boolean\n  canAcknowledge: boolean\n  canClear: boolean\n}\n\n/** @category Server API */\nexport interface Zone {\n  lower: number | undefined\n  upper: number | undefined\n  state: ALARM_STATE\n  message: string\n}\n"
  },
  {
    "path": "packages/server-api/src/features.ts",
    "content": "/**\n * @ignore this is extended by {@link ServerAPI}, no need to document separately\n */\nexport interface WithFeatures {\n  /**\n   * Returns the available APIs and Plugins.\n   *\n   * _Example:_\n   * ```javascript\n   * let features = app.getFeatures();\n   *\n   * {\n   *   \"apis\": [\n   *     \"resources\",\"course\"\n   *   ],\n   *   \"plugins\": [\n   *     {\n   *       \"id\": \"anchoralarm\",\n   *       \"name\": \"Anchor Alarm\",\n   *       \"version\": \"1.13.0\",\n   *       \"enabled\": true\n   *     },\n   *     {\n   *       \"id\": \"autopilot\",\n   *       \"name\": \"Autopilot Control\",\n   *       \"version\": \"1.4.0\",\n   *       \"enabled\": false\n   *     },\n   *     {\n   *       \"id\": \"sk-to-nmea2000\",\n   *       \"name\": \"Signal K to NMEA 2000\",\n   *       \"version\": \"2.17.0\",\n   *       \"enabled\": false\n   *     },\n   *     {\n   *       \"id\": \"udp-nmea-sender\",\n   *       \"name\": \"UDP NMEA0183 Sender\",\n   *       \"version\": \"2.0.0\",\n   *       \"enabled\": false\n   *     }\n   *   ]\n   * }\n   * ```\n   *\n   * @param onlyEnabled\n   * - `undefined` (not provided): list all features\n   * - `true`: list only enabled features\n   * - `false`: list only disabled features\n   */\n  getFeatures(onlyEnabled?: boolean): Promise<FeatureInfo>\n}\n\n/**\n * Information about the available APIs and Plugins.\n * @category Server API\n */\nexport interface FeatureInfo {\n  apis: SignalKApiId[]\n  plugins: Array<{\n    id: string\n    name: string\n    version: string\n    enabled: boolean\n  }>\n}\n\n/** @category Server API  */\nexport type SignalKApiId =\n  | 'weather'\n  | 'course'\n  | 'resources'\n  | 'history'\n  | 'autopilot'\n  | 'anchor'\n  | 'logbook'\n  | 'radar'\n  | 'historyplayback' //https://signalk.org/specification/1.7.0/doc/streaming_api.html#history-playback\n  | 'historysnapshot' //https://signalk.org/specification/1.7.0/doc/rest_api.html#history-snapshot-retrieval\n  | 'notifications'\n"
  },
  {
    "path": "packages/server-api/src/history.ts",
    "content": "import { Context, Path, Timestamp } from '.'\nimport { Temporal } from '@js-temporal/polyfill'\n\n/**\n * Method for aggregating historical data points within a time bucket.\n *\n * - `average`: Mean of all values in the bucket\n * - `min`: Minimum value\n * - `max`: Maximum value\n * - `first`: First value chronologically\n * - `last`: Last value chronologically\n * - `mid`: Midpoint between min and max: (min + max) / 2\n * - `middle_index`: Value at the middle index position\n * - `sma`: Simple Moving Average with number of samples specified in the parameter array (e.g., sma:5 for 5-sample SMA)\n * - `ema`: Exponential Moving Average with alpha specified in the parameter array (e.g., ema:0.2 for alpha=0.2 EMA)\n */\nexport type AggregateMethod =\n  | 'average'\n  | 'min'\n  | 'max'\n  | 'first'\n  | 'last'\n  | 'mid'\n  | 'middle_index'\n  | 'sma'\n  | 'ema'\n\nexport type ValueList = {\n  path: Path\n  method: AggregateMethod\n}[]\n\n/**\n * A row of historical data: first element is timestamp, followed by aggregated values.\n * Values can be primitives, objects (like navigation.position), or null depending on the path.\n */\nexport type DataRow = [Timestamp, ...unknown[]]\n\nexport interface ValuesResponse {\n  context: Context\n  range: {\n    from: Timestamp\n    to: Timestamp\n  }\n  values: ValueList\n\n  data: DataRow[]\n}\n\n// Type-check test - verify ValuesResponse compiles correctly\nconst _exampleValuesResponse: ValuesResponse = {\n  context:\n    'vessels.urn:mrn:signalk:uuid:2ffee4a6-52f6-4d4e-8179-0fc9aaf22c87' as Context,\n  range: {\n    from: '2025-08-11T05:26:04.888Z' as Timestamp,\n    to: '2025-08-11T05:41:04.888Z' as Timestamp\n  },\n  values: [\n    {\n      path: 'navigation.speedOverGround' as Path,\n      method: 'average' as AggregateMethod\n    }\n  ],\n  data: [\n    ['2025-08-11T05:26:05.000Z' as Timestamp, null],\n    ['2025-08-11T05:26:10.000Z' as Timestamp, 3.14]\n  ]\n}\nvoid _exampleValuesResponse\n\nexport type TimeRangeQueryParams =\n  | {\n      // only duration, to defaults to now\n      duration: number | string\n      from?: never\n      to?: never\n    }\n  | {\n      // duration from\n      duration: number | string\n      from: string\n      to?: never\n    }\n  | {\n      // duration to\n      duration: number | string\n      from?: never\n      to: string\n    }\n  | {\n      // no duration, only from, to defaults to now\n      duration?: never\n      from: string\n      to?: never\n    }\n  | {\n      // from - to\n      duration?: never\n      from: string\n      to: string\n    }\n\nexport type ValuesRequestQueryParams = TimeRangeQueryParams & {\n  context?: string\n  resolution?: number\n}\n\nexport type PathsRequestQueryParams = TimeRangeQueryParams\nexport type PathsResponse = Path[]\n\nexport type ContextsRequestQueryParams = TimeRangeQueryParams\nexport type ContextsResponse = Context[]\n\n/** @category  History API */\nexport type HistoryProviderRegistry = {\n  registerHistoryApiProvider(provider: HistoryProvider): void\n  unregisterHistoryApiProvider(): void\n}\n\n/**\n * @deprecated Use {@link HistoryProviderRegistry} instead.\n * @category  History API\n */\nexport type HistoryApiRegistry = HistoryProviderRegistry\n/** @category  History API */\nexport type WithHistoryApi = {\n  /**\n   * Returns a promise for a History API implementation, or rejects if unavailable.\n   * The property is optional to support explicitly older servers that do not have a history api provider.\n   *\n   * When called without arguments, returns a proxy to the default provider.\n   * When called with a provider id, returns that specific provider's HistoryApi instance.\n   *\n   * @param providerId - Optional id of a specific history provider plugin. If omitted, returns the default provider.\n   * @returns Promise that resolves to a {@link HistoryApi} instance if available, or rejects with an error if not.\n   */\n  getHistoryApi?: (providerId?: string) => Promise<HistoryApi>\n}\n\n/**\n * Provider interface for the History API.\n *\n * Plugins that supply historical data implement this interface and register\n * it via {@link HistoryProviderRegistry.registerHistoryApiProvider}.\n *\n * @category  History API\n */\nexport type HistoryProvider = HistoryApi\n\n/** @category  History API */\nexport interface HistoryApi {\n  /**\n   * Retrieves historical values for the specified query parameters.\n   *\n   * For aggregation methods that require parameters (sma, ema), implementations should use sensible defaults\n   * if the parameter array is empty in the PathSpec. For example: sma could default to 5 samples, ema could default to 0.2 alpha.\n   *\n   * @param query - The {@link ValuesRequest} containing context, time range, resolution, and path specifications.\n   * @returns A promise that resolves to a {@link ValuesResponse} containing the requested historical data.\n   */\n  getValues(query: ValuesRequest): Promise<ValuesResponse>\n\n  /**\n   * Lists available contexts for which historical data can be queried.\n   *\n   * @param query - The {@link ContextsRequest} specifying time range and filters.\n   * @returns A promise that resolves to a {@link ContextsResponse} array of available contexts.\n   */\n  getContexts(query: ContextsRequest): Promise<ContextsResponse>\n\n  /**\n   * Lists available paths for historical data queries.\n   *\n   * @param query - The {@link PathsRequest} specifying time range and filters.\n   * @returns A promise that resolves to a {@link PathsResponse} array of available paths.\n   */\n  getPaths(query: PathsRequest): Promise<PathsResponse>\n}\n\nexport function isHistoryProvider(obj: unknown): obj is HistoryProvider {\n  if (typeof obj !== 'object' || obj === null) {\n    return false\n  }\n  return (\n    typeof (obj as HistoryProvider).getValues === 'function' &&\n    typeof (obj as HistoryProvider).getContexts === 'function' &&\n    typeof (obj as HistoryProvider).getPaths === 'function'\n  )\n}\n\n/**\n * @deprecated Use {@link isHistoryProvider} instead.\n */\nexport const isHistoryApi = isHistoryProvider\n\n/**\n * @hidden visible through ServerAPI\n * @category History API\n */\nexport interface HistoryProviders {\n  [pluginId: string]: {\n    isDefault: boolean\n  }\n}\n\n/**\n * Represents a time duration, either as a {@link Temporal.Duration} object or a number (seconds).\n *\n * @example\n * // Using Temporal.Duration\n * const duration: Duration = Temporal.Duration.from({ minutes: 5 });\n *\n * // Using seconds\n * const duration: Duration = 300; // 5 minutes in seconds\n */\nexport type Duration = Temporal.Duration | number\n\nexport type TimeRangeParams =\n  | {\n      // only duration, to defaults to now\n      duration: Temporal.Duration\n      from?: never\n      to?: never\n    }\n  | {\n      // duration from\n      duration: Duration\n      from: Temporal.Instant\n      to?: never\n    }\n  | {\n      // duration to\n      duration: Duration\n      from?: never\n      to: Temporal.Instant\n    }\n  | {\n      // no duration, only from, to defaults to now\n      duration?: never\n      from: Temporal.Instant\n      to?: never\n    }\n  | {\n      // from - to\n      duration?: never\n      from: Temporal.Instant\n      to: Temporal.Instant\n    }\n\nexport interface PathSpec {\n  path: Path\n  aggregate: AggregateMethod\n  parameter: string[]\n}\n\nexport type ValuesRequest = TimeRangeParams & {\n  context?: Context\n  resolution?: number\n  pathSpecs: PathSpec[]\n}\n\nexport type PathsRequest = TimeRangeParams\nexport type ContextsRequest = TimeRangeParams\n"
  },
  {
    "path": "packages/server-api/src/index.ts",
    "content": "export * from './plugin'\nexport * from './serverapi'\nexport * from './deltas'\nexport * from './coursetypes'\nexport * from './resourcetypes'\nexport * from './resourcesapi'\nexport * from './features'\nexport * from './course'\nexport * from './autopilotapi'\nexport * from './mmsi/mmsi'\nexport * from './propertyvalues'\nexport * from './brand'\nexport * from './weatherapi'\nexport * as radar from './radarapi'\nexport * from './streambundle'\nexport * from './subscriptionmanager'\n/** @category History API */\nexport * as history from './history'\n/** @category Notifications API */\nexport * from './notificationsapi'\n\n/** @category  Server API */\nexport interface Position {\n  latitude: number\n  longitude: number\n  altitude?: number\n}\n\n/** @category  Server API */\nexport interface RelativePositionOrigin {\n  radius: number\n  position: Position\n}\n\n/** @category  Server API */\nexport enum SKVersion {\n  v1 = 'v1',\n  v2 = 'v2'\n}\n"
  },
  {
    "path": "packages/server-api/src/mmsi/mid.ts",
    "content": "/**\n * Represents a country with its ISO 3166 country codes and name.\n *\n * @see {@link https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes | List of ISO 3166 country codes}\n * @category MMSI\n */\nexport interface FlagCountry {\n  /** ISO 3166-1 alpha-2 country code (2 letters) */\n  alpha2: string\n  /** ISO 3166-1 alpha-3 country code (3 letters) */\n  alpha3: string\n  /** Country name */\n  name: string\n}\n\nexport const mid2Country = (mid: string): FlagCountry | undefined => MID[mid]\n\ntype Mid2FlagCountries = { [mid: string]: FlagCountry }\n\n// source: https://github.com/michaeljfazio/MIDs/blob/master/mids.json\nexport const MID: Mid2FlagCountries = Object.entries({\n  '201': ['AL', 'ALB', '', 'Albania'],\n  '202': ['AD', 'AND', '', 'Andorra'],\n  '203': ['AT', 'AUT', '', 'Austria'],\n  '204': ['PT', 'PRT', 'PT-20', 'Azores'],\n  '205': ['BE', 'BEL', '', 'Belgium'],\n  '206': ['BY', 'BLR', '', 'Belarus'],\n  '207': ['BG', 'BGR', '', 'Bulgaria'],\n  '208': ['VA', 'VAT', '', 'Vatican City State'],\n  '209': ['CY', 'CYP', '', 'Cyprus'],\n  '210': ['CY', 'CYP', '', 'Cyprus'],\n  '211': ['DE', 'DEU', '', 'Germany'],\n  '212': ['CY', 'CYP', '', 'Cyprus'],\n  '213': ['GE', 'GEO', '', 'Georgia'],\n  '214': ['MD', 'MDA', '', 'Moldova'],\n  '215': ['MT', 'MLT', '', 'Malta'],\n  '216': ['AM', 'ARM', '', 'Armenia'],\n  '218': ['DE', 'DEU', '', 'Germany'],\n  '219': ['DK', 'DNK', '', 'Denmark'],\n  '220': ['DK', 'DNK', '', 'Denmark'],\n  '224': ['ES', 'ESP', '', 'Spain'],\n  '225': ['ES', 'ESP', '', 'Spain'],\n  '226': ['FR', 'FRA', '', 'France'],\n  '227': ['FR', 'FRA', '', 'France'],\n  '228': ['FR', 'FRA', '', 'France'],\n  '229': ['MT', 'MLT', '', 'Malta'],\n  '230': ['FI', 'FIN', '', 'Finland'],\n  '231': ['FO', 'FRO', '', 'Faroe Islands'],\n  '232': ['GB', 'GBR', '', 'United Kingdom'],\n  '233': ['GB', 'GBR', '', 'United Kingdom'],\n  '234': ['GB', 'GBR', '', 'United Kingdom'],\n  '235': ['GB', 'GBR', '', 'United Kingdom'],\n  '236': ['GI', 'GIB', '', 'Gibraltar'],\n  '237': ['GR', 'GRC', '', 'Greece'],\n  '238': ['HR', 'HRV', '', 'Croatia'],\n  '239': ['GR', 'GRC', '', 'Greece'],\n  '240': ['GR', 'GRC', '', 'Greece'],\n  '241': ['GR', 'GRC', '', 'Greece'],\n  '242': ['MA', 'MAR', '', 'Morocco'],\n  '243': ['HU', 'HUN', '', 'Hungary'],\n  '244': ['NL', 'NLD', '', 'Netherlands'],\n  '245': ['NL', 'NLD', '', 'Netherlands'],\n  '246': ['NL', 'NLD', '', 'Netherlands'],\n  '247': ['IT', 'ITA', '', 'Italy'],\n  '248': ['MT', 'MLT', '', 'Malta'],\n  '249': ['MT', 'MLT', '', 'Malta'],\n  '250': ['IE', 'IRL', '', 'Ireland'],\n  '251': ['IS', 'ISL', '', 'Iceland'],\n  '252': ['LI', 'LIE', '', 'Liechtenstein'],\n  '253': ['LU', 'LUX', '', 'Luxembourg'],\n  '254': ['MC', 'MCO', '', 'Monaco'],\n  '255': ['PT', 'PRT', 'PT-30', 'Madeira'],\n  '256': ['MT', 'MLT', '', 'Malta'],\n  '257': ['NO', 'NOR', '', 'Norway'],\n  '258': ['NO', 'NOR', '', 'Norway'],\n  '259': ['NO', 'NOR', '', 'Norway'],\n  '261': ['PL', 'POL', '', 'Poland'],\n  '262': ['ME', 'MNE', '', 'Montenegro'],\n  '263': ['PT', 'PRT', '', 'Portugal'],\n  '264': ['RO', 'ROU', '', 'Romania'],\n  '265': ['SE', 'SWE', '', 'Sweden'],\n  '266': ['SE', 'SWE', '', 'Sweden'],\n  '267': ['SK', 'SVK', '', 'Slovak Republic'],\n  '268': ['SM', 'SMR', '', 'San Marino'],\n  '269': ['CH', 'CHE', '', 'Switzerland'],\n  '270': ['CZ', 'CZE', '', 'Czech Republic'],\n  '271': ['TR', 'TUR', '', 'Turkey'],\n  '272': ['UA', 'UKR', '', 'Ukraine'],\n  '273': ['RU', 'RUS', '', 'Russia'],\n  '274': ['MK', 'MKD', '', 'Macedonia'],\n  '275': ['LV', 'LVA', '', 'Latvia'],\n  '276': ['EE', 'EST', '', 'Estonia'],\n  '277': ['LT', 'LTU', '', 'Lithuania'],\n  '278': ['SI', 'SVN', '', 'Slovenia'],\n  '279': ['RS', 'SRB', '', 'Serbia'],\n  '301': ['AI', 'AIA', '', 'Anguilla'],\n  '303': ['US', 'USA', 'US-AK', 'Alaska'],\n  '304': ['AG', 'ATG', '', 'Antigua and Barbuda'],\n  '305': ['AG', 'ATG', '', 'Antigua and Barbuda'],\n  '306': ['CW', 'CUW', '', 'Antilles'],\n  '307': ['AW', 'ABW', '', 'Aruba'],\n  '308': ['BS', 'BHS', '', 'Bahamas'],\n  '309': ['BS', 'BHS', '', 'Bahamas'],\n  '310': ['BM', 'BMU', '', 'Bermuda'],\n  '311': ['BS', 'BMU', '', 'Bahamas'],\n  '312': ['BZ', 'BLZ', '', 'Belize'],\n  '314': ['BB', 'BRB', '', 'Barbados'],\n  '316': ['CA', 'CAN', '', 'Canada'],\n  '319': ['KY', 'CYM', '', 'Cayman Islands'],\n  '321': ['CR', 'CRI', '', 'Costa Rica'],\n  '323': ['CU', 'CUB', '', 'Cuba'],\n  '325': ['DM', 'DMA', '', 'Dominica'],\n  '327': ['DO', 'DOM', '', 'Dominican Republic'],\n  '329': ['GP', 'GLP', '', 'Guadeloupe'],\n  '330': ['GD', 'GRD', '', 'Grenada'],\n  '331': ['GL', 'GRL', '', 'Greenland'],\n  '332': ['GT', 'GTM', '', 'Guatemala'],\n  '335': ['HN', 'HND', '', 'Honduras'],\n  '336': ['HT', 'HTI', '', 'Haiti'],\n  '338': ['US', 'USA', '', 'United States of America'],\n  '339': ['JM', 'JAM', '', 'Jamaica'],\n  '341': ['KN', 'KNA', '', 'Saint Kitts and Nevis'],\n  '343': ['LC', 'LCA', '', 'Saint Lucia'],\n  '345': ['MX', 'MEX', '', 'Mexico'],\n  '347': ['MQ', 'MTQ', '', 'Martinique'],\n  '348': ['MS', 'MSR', '', 'Montserrat'],\n  '350': ['NI', 'NIC', '', 'Nicaragua'],\n  '351': ['PA', 'PAN', '', 'Panama'],\n  '352': ['PA', 'PAN', '', 'Panama'],\n  '353': ['PA', 'PAN', '', 'Panama'],\n  '354': ['PA', 'PAN', '', 'Panama'],\n  '355': ['PA', 'PAN', '', 'Panama'],\n  '356': ['PA', 'PAN', '', 'Panama'],\n  '357': ['PA', 'PAN', '', 'Panama'],\n  '358': ['PR', 'PRI', '', 'Puerto Rico'],\n  '359': ['SV', 'SLV', '', 'El Salvador'],\n  '361': ['PM', 'SPM', '', 'Saint Pierre and Miquelon'],\n  '362': ['TT', 'TTO', '', 'Trinidad and Tobago'],\n  '364': ['TC', 'TCA', '', 'Turks and Caicos Islands'],\n  '366': ['US', 'USA', '', 'United States of America'],\n  '367': ['US', 'USA', '', 'United States of America'],\n  '368': ['US', 'USA', '', 'United States of America'],\n  '369': ['US', 'USA', '', 'United States of America'],\n  '370': ['PA', 'PAN', '', 'Panama'],\n  '371': ['PA', 'PAN', '', 'Panama'],\n  '372': ['PA', 'PAN', '', 'Panama'],\n  '373': ['PA', 'PAN', '', 'Panama'],\n  '374': ['PA', 'PAN', '', 'Panama'],\n  '375': ['VC', 'VCT', '', 'Saint Vincent and the Grenadines'],\n  '376': ['VC', 'VCT', '', 'Saint Vincent and the Grenadines'],\n  '377': ['VC', 'VCT', '', 'Saint Vincent and the Grenadines'],\n  '378': ['VG', 'VGB', '', 'British Virgin Islands'],\n  '379': ['VI', 'VIR', '', 'United States Virgin Islands'],\n  '401': ['AF', 'AFG', '', 'Afghanistan'],\n  '403': ['SA', 'SAU', '', 'Saudi Arabia'],\n  '405': ['BD', 'BGD', '', 'Bangladesh'],\n  '408': ['BH', 'BHR', '', 'Bahrain'],\n  '410': ['BT', 'BTN', '', 'Bhutan'],\n  '412': ['CN', 'CHN', '', 'China'],\n  '413': ['CN', 'CHN', '', 'China'],\n  '414': ['CN', 'CHN', '', 'China'],\n  '416': ['TW', 'TWN', '', 'Taiwan'],\n  '417': ['LK', 'LKA', '', 'Sri Lanka'],\n  '419': ['IN', 'IND', '', 'India'],\n  '422': ['IR', 'IRN', '', 'Iran'],\n  '423': ['AZ', 'AZE', '', 'Azerbaijan'],\n  '425': ['IQ', 'IRQ', '', 'Iraq'],\n  '428': ['IL', 'ISR', '', 'Israel'],\n  '431': ['JP', 'JPN', '', 'Japan'],\n  '432': ['JP', 'JPN', '', 'Japan'],\n  '434': ['TM', 'TKM', '', 'Turkmenistan'],\n  '436': ['KZ', 'KAZ', '', 'Kazakhstan'],\n  '437': ['UZ', 'UZB', '', 'Uzbekistan'],\n  '438': ['JO', 'JOR', '', 'Jordan'],\n  '440': ['KR', 'KOR', '', 'Korea'],\n  '441': ['KR', 'KOR', '', 'Korea'],\n  '443': ['PS', 'PSE', '', 'State of Palestine'],\n  '445': ['KP', 'PRK', '', \"Democratic People's Republic of Korea\"],\n  '447': ['KW', 'KWT', '', 'Kuwait'],\n  '450': ['LB', 'LBN', '', 'Lebanon'],\n  '451': ['KG', 'KGZ', '', 'Kyrgyz Republic'],\n  '453': ['MO', 'MAC', '', 'Macao'],\n  '455': ['MV', 'MDV', '', 'Maldives'],\n  '457': ['MN', 'MNG', '', 'Mongolia'],\n  '459': ['NP', 'NPL', '', 'Nepal'],\n  '461': ['OM', 'OMN', '', 'Oman'],\n  '463': ['PK', 'PAK', '', 'Pakistan'],\n  '466': ['QA', 'QAT', '', 'Qatar (State of)'],\n  '468': ['SY', 'SYR', '', 'Syrian Arab Republic'],\n  '470': ['AE', 'ARE', '', 'United Arab Emirates'],\n  '472': ['TJ', 'TJK', '', 'Tajikistan'],\n  '473': ['YE', 'YEM', '', 'Yemen'],\n  '475': ['YE', 'YEM', '', 'Yemen'],\n  '477': ['HK', 'HKG', '', 'Hong Kong'],\n  '478': ['BA', 'BIH', '', 'Bosnia and Herzegovina'],\n  '501': ['FR', 'FRA', 'AQ', 'Adelie Land'],\n  '503': ['AU', 'AUS', '', 'Australia'],\n  '506': ['MM', 'MMR', '', 'Myanmar'],\n  '508': ['BN', 'BRN', '', 'Brunei Darussalam'],\n  '510': ['FM', 'FSM', '', 'Micronesia'],\n  '511': ['PW', 'PLW', '', 'Palau'],\n  '512': ['NZ', 'NZL', '', 'New Zealand'],\n  '514': ['KH', 'KHM', '', 'Cambodia'],\n  '515': ['KH', 'KHM', '', 'Cambodia'],\n  '516': ['CX', 'CXR', '', 'Christmas Island'],\n  '518': ['CK', 'COK', '', 'Cook Islands'],\n  '520': ['FJ', 'FJI', '', 'Fiji'],\n  '523': ['CC', 'CCK', '', 'Cocos (Keeling) Islands'],\n  '525': ['ID', 'IDN', '', 'Indonesia'],\n  '529': ['KI', 'KIR', '', 'Kiribati'],\n  '531': ['LA', 'LAO', '', \"Lao People's Democratic Republic\"],\n  '533': ['MY', 'MYS', '', 'Malaysia'],\n  '536': ['MP', 'MNP', '', 'Northern Mariana Islands'],\n  '538': ['MH', 'MHL', '', 'Marshall Islands'],\n  '540': ['NC', 'NCL', '', 'New Caledonia'],\n  '542': ['NU', 'NIU', '', 'Niue'],\n  '544': ['NR', 'NRU', '', 'Nauru'],\n  '546': ['PF', 'PYF', '', 'French Polynesia'],\n  '548': ['PH', 'PHL', '', 'Philippines'],\n  '553': ['PG', 'PNG', '', 'Papua New Guinea'],\n  '555': ['PN', 'PCN', '', 'Pitcairn Island'],\n  '557': ['SB', 'SLB', '', 'Solomon Islands'],\n  '559': ['AS', 'ASM', '', 'American Samoa'],\n  '561': ['WS', 'WSM', '', 'Samoa'],\n  '563': ['SG', 'SGP', '', 'Singapore'],\n  '564': ['SG', 'SGP', '', 'Singapore'],\n  '565': ['SG', 'SGP', '', 'Singapore'],\n  '566': ['SG', 'SGP', '', 'Singapore'],\n  '567': ['TH', 'THA', '', 'Thailand'],\n  '570': ['TO', 'TON', '', 'Tonga'],\n  '572': ['TV', 'TUV', '', 'Tuvalu'],\n  '574': ['VN', 'VNM', '', 'Viet Nam'],\n  '576': ['VU', 'VUT', '', 'Vanuatu'],\n  '577': ['VU', 'VUT', '', 'Vanuatu'],\n  '578': ['WF', 'WLF', '', 'Wallis and Futuna Islands'],\n  '601': ['ZA', 'ZAF', '', 'South Africa'],\n  '603': ['AO', 'AGO', '', 'Angola'],\n  '605': ['DZ', 'DZA', '', 'Algeria'],\n  '607': ['FR', 'FRA', 'TF', 'Saint Paul and Amsterdam Islands'],\n  '608': ['GB', 'GBR', 'AC', 'Ascension Island'],\n  '609': ['BI', 'BDI', '', 'Burundi'],\n  '610': ['BJ', 'BEN', '', 'Benin'],\n  '611': ['BW', 'BWA', '', 'Botswana'],\n  '612': ['CF', 'CAF', '', 'Central African Republic'],\n  '613': ['CM', 'CMR', '', 'Cameroon'],\n  '615': ['CG', 'COG', '', 'Congo'],\n  '616': ['KM', 'COM', '', 'Comoros'],\n  '617': ['CV', 'CPV', '', 'Cabo Verde'],\n  '618': ['FR', 'FRA', 'TF', 'Crozet Archipelago'],\n  '619': ['CI', 'CIV', '', 'Ivory Coast'],\n  '620': ['KM', 'COM', '', 'Comoros'],\n  '621': ['DJ', 'DJI', '', 'Djibouti'],\n  '622': ['EG', 'EGY', '', 'Egypt'],\n  '624': ['ET', 'ETH', '', 'Ethiopia'],\n  '625': ['ER', 'ERI', '', 'Eritrea'],\n  '626': ['GA', 'GAB', '', 'Gabonese Republic'],\n  '627': ['GH', 'GHA', '', 'Ghana'],\n  '629': ['GM', 'GMB', '', 'Gambia'],\n  '630': ['GW', 'GNB', '', 'Guinea-Bissau'],\n  '631': ['GQ', 'GNQ', '', 'Equatorial Guinea'],\n  '632': ['GN', 'GIN', '', 'Guinea'],\n  '633': ['BF', 'BFA', '', 'Burkina Faso'],\n  '634': ['KE', 'KEN', '', 'Kenya'],\n  '635': ['FR', 'FRA', 'TF', 'Kerguelen Islands'],\n  '636': ['LR', 'LBR', '', 'Liberia'],\n  '637': ['LR', 'LBR', '', 'Liberia'],\n  '638': ['SS', 'SSD', '', 'South Sudan'],\n  '642': ['LY', 'LBY', '', 'Libya'],\n  '644': ['LS', 'LSO', '', 'Lesotho'],\n  '645': ['MU', 'MUS', '', 'Mauritius'],\n  '647': ['MG', 'MDG', '', 'Madagascar'],\n  '649': ['ML', 'MLI', '', 'Mali'],\n  '650': ['MZ', 'MOZ', '', 'Mozambique'],\n  '654': ['MR', 'MRT', '', 'Mauritania'],\n  '655': ['MW', 'MWI', '', 'Malawi'],\n  '656': ['NE', 'NER', '', 'Niger'],\n  '657': ['NG', 'NGA', '', 'Nigeria'],\n  '659': ['NA', 'NAM', '', 'Namibia'],\n  '660': ['RE', 'REU', '', 'Reunion'],\n  '661': ['RW', 'RWA', '', 'Rwanda'],\n  '662': ['SD', 'SDN', '', 'Sudan'],\n  '663': ['SN', 'SEN', '', 'Senegal'],\n  '664': ['SC', 'SYC', '', 'Seychelles'],\n  '665': ['SH', 'SHN', '', 'Saint Helena'],\n  '666': ['SO', 'SOM', '', 'Somali Democratic Republic'],\n  '667': ['SL', 'SLE', '', 'Sierra Leone'],\n  '668': ['ST', 'STP', '', 'Sao Tome and Principe'],\n  '669': ['SZ', 'SWZ', '', 'Swaziland'],\n  '670': ['TD', 'TCD', '', 'Chad'],\n  '671': ['TG', 'TGO', '', 'Togolese Republic'],\n  '672': ['TN', 'TUN', '', 'Tunisian Republic'],\n  '674': ['TZ', 'TZA', '', 'Tanzania'],\n  '675': ['UG', 'UGA', '', 'Uganda'],\n  '676': ['CD', 'COD', '', 'Democratic Republic of the Congo'],\n  '677': ['TZ', 'TZA', '', 'Tanzania'],\n  '678': ['ZM', 'ZMB', '', 'Zambia'],\n  '679': ['ZW', 'ZWE', '', 'Zimbabwe'],\n  '701': ['AR', 'ARG', '', 'Argentine Republic'],\n  '710': ['BR', 'BRA', '', 'Brazil'],\n  '720': ['BO', 'BOL', '', 'Bolivia'],\n  '725': ['CL', 'CHL', '', 'Chile'],\n  '730': ['CO', 'COL', '', 'Colombia'],\n  '735': ['EC', 'ECU', '', 'Ecuador'],\n  '740': ['FK', 'FLK', '', 'Falkland Islands'],\n  '745': ['GF', 'GUF', '', 'Guiana'],\n  '750': ['GY', 'GUY', '', 'Guyana'],\n  '755': ['PY', 'PRY', '', 'Paraguay'],\n  '760': ['PE', 'PER', '', 'Peru'],\n  '765': ['SR', 'SUR', '', 'Suriname'],\n  '770': ['UY', 'URY', '', 'Uruguay'],\n  '775': ['VE', 'VEN', '', 'Venezuela']\n}).reduce<Mid2FlagCountries>((acc, [key, [alpha2, alpha3, , name]]) => {\n  acc[key] = { alpha2, alpha3, name } as FlagCountry\n  return acc\n}, {})\n"
  },
  {
    "path": "packages/server-api/src/mmsi/mmsi.test.ts",
    "content": "import { expect } from 'chai'\n\nimport { getFlag, parseMmsi } from './mmsi'\n\ndescribe('MMSI parser', () => {\n  it('Ship MMSI', (done) => {\n    const r = parseMmsi('201456789')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456789)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('ship')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('Ship MMSI (no flag)', (done) => {\n    const r = parseMmsi('299456789')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(299)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456789)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('ship')\n    expect(r).to.be.an('object').to.not.have.property('flag')\n    done()\n  })\n\n  it('Coastal Station MMSI', (done) => {\n    const r = parseMmsi('002014567')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(4567)\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('type')\n      .to.equal('coastalStation')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('Group MMSI', (done) => {\n    const r = parseMmsi('020145678')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(45678)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('group')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('AtoN MMSI', (done) => {\n    const r = parseMmsi('992014567')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(4567)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('aton')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('Auxiliary Craft MMSI', (done) => {\n    const r = parseMmsi('982014567')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(4567)\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('type')\n      .to.equal('auxiliaryCraft')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('SART MMSI', (done) => {\n    const r = parseMmsi('970201456')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('sart')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('MOB Device MMSI', (done) => {\n    const r = parseMmsi('972201456')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('mobDevice')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('EPIRB MMSI', (done) => {\n    const r = parseMmsi('974201456')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('epirb')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('Diver Radio MMSI', (done) => {\n    const r = parseMmsi('820145678')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(45678)\n    expect(r).to.be.an('object').to.have.property('type').to.equal('diverRadio')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('SaR Aircraft MMSI', (done) => {\n    const r = parseMmsi('111201456')\n    expect(r).to.be.an('object').to.have.property('mid').to.equal(201)\n    expect(r).to.be.an('object').to.have.property('msi').to.equal(456)\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('type')\n      .to.equal('sarAircraft')\n    expect(r)\n      .to.be.an('object')\n      .to.have.property('flagCountry')\n      .with.property('alpha2', 'AL')\n    done()\n  })\n\n  it('Get Flag', (done) => {\n    const r = getFlag('201456789')\n    expect(r).to.be.equal('AL')\n    done()\n  })\n\n  it('Invalid Flag', (done) => {\n    const r = getFlag('299456789')\n    expect(r).to.be.equal(null)\n    done()\n  })\n})\n"
  },
  {
    "path": "packages/server-api/src/mmsi/mmsi.ts",
    "content": "import { FlagCountry, mid2Country } from './mid'\n\nexport { FlagCountry } from './mid'\n\n/** @category MMSI */\nexport type MMSISourceType =\n  | 'ship'\n  | 'coastalStation'\n  | 'group'\n  | 'aton'\n  | 'auxiliaryCraft'\n  | 'sart'\n  | 'sarAircraft'\n  | 'mobDevice'\n  | 'epirb'\n  | 'diverRadio'\n\n/** @category MMSI */\nexport interface MMSIInfo {\n  /** Maritime identifier */\n  mid: number\n  /** Mobile station identifier */\n  msi: number\n  /** Source type */\n  type?: MMSISourceType\n  /** Two character country code */\n  flagCountry?: FlagCountry\n}\n\n/**\n * Parse the supplied MMSI value into object containing mid, msi, type and flagCountry.\n *\n * @example\n * ```javascript\n * app.parseMmsi('201456789')\n *\n * returns: {\n *   mid: 201,\n *   msi: 456789,\n *   type: 'ship',\n *   flagCountry: {\n *     alpha2: 'AL',\n *     alpha3: 'ALB',\n *     name: 'Albania'\n *   }\n * }\n * ```\n *\n * @param mmsi - MMSI.\n *\n * @category MMSI\n */\nexport const parseMmsi = (mmsi: string): MMSIInfo | null => {\n  if (typeof mmsi !== 'string') {\n    return null\n  }\n  let info: MMSIInfo\n  try {\n    if (mmsi.startsWith('00')) {\n      // coast station\n      info = {\n        mid: parseInt(mmsi.slice(2, 5)),\n        msi: parseInt(mmsi.slice(5)),\n        type: 'coastalStation'\n      }\n    } else if (mmsi.startsWith('0')) {\n      // Group of ships\n      info = {\n        mid: parseInt(mmsi.slice(1, 4)),\n        msi: parseInt(mmsi.slice(4)),\n        type: 'group'\n      }\n    } else if (mmsi.startsWith('99')) {\n      // AtoN\n      info = {\n        mid: parseInt(mmsi.slice(2, 5)),\n        msi: parseInt(mmsi.slice(5)),\n        type: 'aton'\n      }\n    } else if (mmsi.startsWith('98')) {\n      // Aux craft associated with parent ship\n      info = {\n        mid: parseInt(mmsi.slice(2, 5)),\n        msi: parseInt(mmsi.slice(5)),\n        type: 'auxiliaryCraft'\n      }\n    } else if (mmsi.startsWith('970')) {\n      // SART transmitter\n      info = {\n        mid: parseInt(mmsi.slice(3, 6)),\n        msi: parseInt(mmsi.slice(6)),\n        type: 'sart'\n      }\n    } else if (mmsi.startsWith('972')) {\n      // MOB device\n      info = {\n        mid: parseInt(mmsi.slice(3, 6)),\n        msi: parseInt(mmsi.slice(6)),\n        type: 'mobDevice'\n      }\n    } else if (mmsi.startsWith('974')) {\n      // EPIRB\n      info = {\n        mid: parseInt(mmsi.slice(3, 6)),\n        msi: parseInt(mmsi.slice(6)),\n        type: 'epirb'\n      }\n    } else if (mmsi.startsWith('8')) {\n      // diver\n      info = {\n        mid: parseInt(mmsi.slice(1, 4)),\n        msi: parseInt(mmsi.slice(4)),\n        type: 'diverRadio'\n      }\n    } else if (mmsi.startsWith('111')) {\n      // SaR\n      info = {\n        mid: parseInt(mmsi.slice(3, 6)),\n        msi: parseInt(mmsi.slice(6)),\n        type: 'sarAircraft'\n      }\n    } else {\n      // ship\n      info = {\n        mid: parseInt(mmsi.slice(0, 3)),\n        msi: parseInt(mmsi.slice(3)),\n        type: 'ship'\n      }\n    }\n    info.flagCountry = mid2Country(info.mid.toString()) ?? undefined\n    return info\n  } catch {\n    return null\n  }\n}\n\n/**\n * Return the two letter country code for the MID from the supplied MMSI.\n *\n * @example\n * ```javascript\n * app.getFlag('201456789')\n\n* returns: 'AL'\n* ```\n*\n* @param mmsi - MMSI.\n* @returns Two letter country code.\n*\n* @category MMSI\n*/\nexport const getFlag = (mmsi: string): string | null => {\n  const m = parseMmsi(mmsi)\n  return m?.flagCountry?.alpha2 ?? null\n}\n\n/**\n * Return the flag country information for the MID from the supplied MMSI.\n *\n * @example\n * ```javascript\n * app.getFlagCountry('201456789')\n *\n * returns: {\n *   alpha2: 'AL',\n *   alpha3: 'ALB',\n *   name: 'Albania'\n * }\n * ```\n *\n * @param mmsi - MMSI.\n * @returns Flag country information with ISO codes and name, or null if not found.\n *\n * @category MMSI\n */\nexport const getFlagCountry = (mmsi: string): FlagCountry | null => {\n  const m = parseMmsi(mmsi)\n  return m?.flagCountry ?? null\n}\n"
  },
  {
    "path": "packages/server-api/src/notificationsapi.ts",
    "content": "import { ALARM_STATE, Path } from '.'\n\n/**\n * @see [Notifications REST API](../../../docs/develop/rest-api/notifications_api.md) provides the following functions for use by plugins.\n * @category  Notifications API\n */\nexport interface NotificationsApi {\n  /**\n   * Silences the notification with the supplied identifier.\n   * Note: Calling this method on a Notifications with a status of `canSilence = false` will throw an Error\n   *\n   * @category Notifications API\n   *\n   * @param id - Notification identifier.\n   *\n   */\n  silenceNotification(id: string): void\n\n  /**\n   * Silences all notifications.\n   *\n   * @category Notifications API\n   *\n   */\n  silenceAll(): void\n\n  /**\n   * Acknowledges the notification with the supplied identifier.\n   * Note: Calling this method on a Notifications with a status of `canAcknowledge = false` will throw an Error\n   *\n   * @category Notifications API\n   *\n   * @param id - Notification identifier.\n   *\n   */\n  acknowledgeNotification(id: string): void\n\n  /**\n   * Acknowledges all notifications.\n   *\n   * @category Notifications API\n   *\n   */\n  acknowledgeAll(): void\n\n  /**\n   * Clears the notification with the supplied identifier.\n   * Note: Calling this method on a Notifications with a status of `canClear = false` will throw an Error\n   *\n   * @category Notifications API\n   *\n   * @param id - Notification identifier.\n   *\n   */\n}\n\n/** @category  Notifications API */\nexport interface WithNotificationsApi {\n  notificationsApi: NotificationsApi\n}\n\n/**\n * @category  Notifications API\n */\nexport interface AlarmOptions {\n  state: ALARM_STATE\n  message: string\n  path?: Path\n  position?: boolean\n  createdAt?: boolean\n  appendId?: boolean\n  //meta?: { [key: string]: object | number | string | null | boolean }\n}\n"
  },
  {
    "path": "packages/server-api/src/plugin.ts",
    "content": "import { IRouter } from 'express'\nimport { ServerAPI } from './serverapi'\n\n/**\n * A plugin constructor is the interface that all plugins must export.\n * It is called by the server when the server is starting up.\n *  @category Server API\n */\nexport type PluginConstructor = (app: ServerAPI) => Plugin\n\n/**\n * Plugins are components that extend functionality of the server and can be installed via the Signal K AppStore.\n *\n * A plugin can:\n * - Interact with the {@link ServerAPI}, including the full data model.\n * - Provide a [webapp interface](../../../docs/develop/webapps.md).\n * - Provide access to resources such as `route,` `waypoint`,`POI`, or `charts` via the _[Resources API](../../../docs/develop/rest-api/resources_api.md)_ by operating as a _[Resources Provider Plugin](../../../docs/develop/plugins/resource_provider_plugins.md)_.\n * - Perform common autopilot operations by acting as an [Autopilot Provider Plugin](../../../docs/develop/plugins/autopilot_provider_plugins.md)\n * - Perform course calculations by integrating with the [Course API](../../../docs/develop/rest-api/course_api.md).\n * - process requests\n *\n * > [!WARNING]\n * > Typing is incomplete. If you find a missing or inaccurate type, please [report it](https://github.com/SignalK/signalk-server/issues/1917).\n *\n * @example\n *\n * Signal K server plugins are NodeJs `javascript` or `typescript` projects that return an object that implements this interface.\n *\n * ```typescript\n * import { Plugin, ServerAPI } from '@signalk/server-api';\n *\n * module.exports = (app: ServerAPI): Plugin => {\n *   const plugin: Plugin = {\n *     id: 'my-signalk-plugin',\n *     name: 'My Great Plugin',\n *     start: (settings, restartPlugin) => {\n *       // start up code goes here.\n *     },\n *     stop: () => {\n *       // shutdown code goes here.\n *     },\n *     schema: () => {\n *       properties: {\n *         // plugin configuration goes here\n *       }\n *     }\n *   };\n *\n *   return plugin;\n * }\n * ```\n * @category Server API\n * @see [Developing Server Plugins](../../../docs/develop/plugins/README.md)\n */\nexport interface Plugin {\n  /**\n   * Used to identify the plugin in the server, for example\n   * when storing the plugin's configuration and in http endpoints.\n   *\n   * @category Identification\n   */\n  id: string\n\n  /**\n   * Human oriented name for the plugin. This is used in the server's plugin configuration UI.\n   * @category Identification\n   */\n  name: string\n\n  description?: string\n\n  /**\n   * This function is called to start the plugin.\n   *\n   * It is called:\n   * - during server startup for enabled plugins (by configuration or by default)\n   * - when a plugin is enabled in the admin UI\n   * - after {@link stop} when the configuration of an enabled plugin has been updated in the admin UI\n   *\n   * @category Lifecycle\n   *\n   * @param config - the configuration data entered via the Plugin Config screen\n   * @param restart - a function that can be called by the plugin to restart itself\n   */\n  start(config: object, restart: (newConfiguration: object) => void): void\n\n  /**\n   * This function is called when the plugin is disabled or after configuration changes. Use this function to \"clean up\"\n   * the resources consumed by the plugin i.e. unsubscribe from streams, stop timers / loops and close devices. If there\n   * are asynchronous operations in your plugin's stop implementation you should return a Promise that resolves when\n   * stopping is complete.\n   *\n   * @category Lifecycle\n   */\n  stop(): void | Promise<void>\n\n  /**\n   * @category Configuration\n   */\n  enabledByDefault?: boolean\n\n  /**\n   * A [JSON Schema](http://json-schema.org/) object describing the structure of the configuration data.\n   *\n   * This is used by the server to render the plugin's configuration screen in the Admin UI.\n   * The configuration data is stored by the server in `$SIGNALK_NODE_CONFIG_DIR/plugin-config-data/<plugin-name>.json`. _(Default value of `SIGNALK_NODE_CONFIG_DIR` is `$HOME/.signalk`.)_\n   *\n   * @example\n   * ```javascript\n   *   plugin.schema = {\n   *     type: 'object',\n   *     required: ['some_string', 'some_other_number'],\n   *     properties: {\n   *       some_string: {\n   *         type: 'string',\n   *         title: 'Some string that the plugin needs'\n   *       },\n   *       some_number: {\n   *         type: 'number',\n   *         title: 'Some number that the plugin needs',\n   *         default: 60\n   *       },\n   *       some_other_number: {\n   *         type: 'number',\n   *         title: 'Some other number that the plugin needs',\n   *         default: 5\n   *       }\n   *     }\n   *   };\n   * ```\n   *\n   * @category Configuration\n   */\n  schema: object | (() => object)\n\n  /**\n   * A [uiSchema object](https://github.com/mozilla-services/react-jsonschema-form#the-uischema-object) which is used to control how the user interface is rendered in the Admin UI.\n   *\n   * For more information, see [react-jsonschema-form-extras](https://github.com/RxNT/react-jsonschema-form-extras#collapsible-fields-collapsible)\n   *\n   * @example\n   * Make all data in an object called 'myObject' collapsible:\n   * ```javascript\n   * uiSchema['myObject'] = {\n   *   'ui:field': 'collapsible',\n   *   collapse: {\n   *     field: 'ObjectField',\n   *     wrapClassName: 'panel-group'\n   *   }\n   * }\n   * ```\n   *\n   * @category Configuration\n   */\n  uiSchema?: object | (() => object)\n\n  /**\n   * Plugins can implement this method to provide an API. Like {@link start} and {@link stop}, this function will be\n   * called during plugin startup with an [Express](https://expressjs.com/) router as the parameter.\n   *\n   * The router will be mounted at `/plugins/<pluginId>` and you can use standard _Express_ _(`.get()` `.post()` `.use()`, etc)_ methods to add HTTP path handlers.\n   *\n   * > [!note]\n   * > `GET /plugins/<pluginid>` and `POST /plugins/<pluginid>/configure` are reserved by server (see below).\n   *\n   * It should be noted that _Express_ does not have a public API for deregistering subrouters, so {@link stop} does not do anything to the router.\n   *\n   * If a plugin does provide an API, it is strongly recommended that it implement {@link getOpenApi} to document its\n   * operation. Doing so promotes interoperability with other plugins / webapps by making it easy to find and use the\n   * functionality built into plugins. It is also a means to avoid duplication, promote reuse and the possibility of\n   * including them in the Signal K specification.\n   *\n   * @category Rest API\n   *\n   * @param router\n   * @returns\n   */\n  registerWithRouter?(router: IRouter): void\n\n  getOpenApi?: () => object\n\n  statusMessage?: () => string | void\n\n  signalKApiRoutes?(router: IRouter): IRouter\n}\n"
  },
  {
    "path": "packages/server-api/src/propertyvalues.test.ts",
    "content": "import { expect } from 'chai'\nimport { PropertyValue, PropertyValues } from './propertyvalues'\n\nconst setupTest = (done: () => void, startAt: number) => {\n  const testValues = [\n    {\n      timestamp: Date.now(),\n      name: 'foo',\n      setter: 'pluginX',\n      value: 1\n    }\n  ]\n  const pv = new PropertyValues()\n  let cbCount = 0\n  const cb = (values: (PropertyValue | undefined)[]) => {\n    expect(values).to.deep.equal([\n      undefined,\n      ...testValues.slice(0, startAt + cbCount++)\n    ])\n    if (cbCount === testValues.length) {\n      done()\n    }\n  }\n\n  return { pv, cb, testValues }\n}\n\ndescribe('PropertyValues', () => {\n  it('early subscriptions work', (done) => {\n    const { pv, cb, testValues } = setupTest(done, 0)\n    // subscribe, then emit\n    pv.onPropertyValues('foo', cb)\n    pv.emitPropertyValue(testValues[0]!)\n  })\n\n  it('late subscriptions work', (done) => {\n    const { pv, cb, testValues } = setupTest(done, 1)\n    // emit, then subscribe\n    pv.emitPropertyValue(testValues[0]!)\n    pv.onPropertyValues('foo', cb)\n  })\n\n  it('emit throws after too many values', () => {\n    const pv = new PropertyValues()\n    for (let i = 1; i < PropertyValues.MAX_VALUES_COUNT; i++) {\n      pv.emitPropertyValue(newPropertyValue(i))\n    }\n    expect(() =>\n      pv.emitPropertyValue(newPropertyValue(PropertyValues.MAX_VALUES_COUNT))\n    ).to.throw()\n  })\n})\n\nconst newPropertyValue = (value: unknown): PropertyValue => ({\n  timestamp: Date.now(),\n  setter: 'foobar',\n  name: 'aProperty',\n  value: value\n})\n"
  },
  {
    "path": "packages/server-api/src/propertyvalues.ts",
    "content": "import * as Bacon from 'baconjs'\n\n/**\n * The _PropertyValues_ mechanism provides a means for passing configuration type values between different components running in the server process such as plugins and input connections.\n *\n * A plugin can both *emit* values and *listen* for values emitted by others.\n *\n * The difference between the _PropertyValues_ mechanism and _Event Emitters_ in NodeJs is that when  `onPropertyValues` is called, the `callback()` function will be invoked and passed an array containing all of the previous values for that _property name_, starting with the initial value of `undefined`. If no values have been emitted for that _property name_ the callback will be invoked with a value of `undefined`.\n * *\n * **PropertyValue** has the following structure:\n * ```typescript\n * interface PropertyValue {\n *   timestamp: number // millis\n *   setter: string // plugin id, server, provider id\n *   name: string\n *   value: any\n * }\n * ```\n *\n * _Note that the value can be also a function._\n *\n * This mechanism allows plugins to _offer_ extensions via _\"Well Known Properties\"_, for example\n * - additional [NMEA0183 sentence parsers for custom sentences](https://github.com/SignalK/nmea0183-signalk/pull/193) via `nmea0183sentenceParser`\n * - additional PGN definitions for propietary or custom PGNs\n *\n * Code handling incoming _PropertyValues_ should be fully reactive due to:\n * - Plugins being able to emit _PropertyValues_ when they activated and / or started\n * - There being no defined load / startup order for plugins / connections.\n *\n * So even if all plugins / connections emit during their startup, you cannot depend on a specific _PropertyValue_ being available. It may be present when your code starts or it may arrive after your code has started.\n *\n *\n * **Note: The _PropertyValues_ mechanism is not intended to be used for data passing on a regular basis, as the total history makes it a potential memory leak.**\n *\n * To safeguard against a component accidentally emitting regularly, via a fixed upper bound is enforced for the value array per _property name_. New values will be ignored if the upper bound is reached and are logged as errors.\n * @category Server API\n */\nexport interface PropertyValuesEmitter {\n  /**\n   * Emit a property value that can be received by listeners.\n   * @param name - The property name identifier\n   * @param value - The value to emit (can be any type including functions)\n   * @category Property Values\n   */\n  emitPropertyValue(name: string, value: unknown): void\n\n  /**\n   * @category Property Values\n   */\n  onPropertyValues(name: string, cb: PropertyValuesCallback): Unsubscribe\n}\n\n/** @category Server API */\nexport interface PropertyValue {\n  /** Timestamp in milliseconds */\n  timestamp: number\n  /** Source identifier (plugin id, server, provider id) */\n  setter: string\n  /** Property name */\n  name: string\n  /** The property value (can be any type including functions) */\n  value: unknown\n}\n\n/**\n * Callback function for property value subscriptions.\n * The history array starts with `undefined` as the initial value.\n * @category Server API\n */\nexport type PropertyValuesCallback = (\n  propValuesHistory: (PropertyValue | undefined)[]\n) => void\n\n/** @hidden */\ninterface StreamTuple {\n  bus: Bacon.Bus<PropertyValue | undefined>\n  stream: Bacon.Property<(PropertyValue | undefined)[]>\n}\n\n/** @category Server API */\nexport class PropertyValues {\n  private streams: {\n    [key: string]: StreamTuple\n  } = {}\n  private count = 0\n\n  static readonly MAX_VALUES_COUNT = 1000\n\n  onPropertyValues(propName: string, cb: PropertyValuesCallback): () => void {\n    return this.getStreamTuple(propName).stream.onValue(cb)\n  }\n\n  emitPropertyValue(pv: PropertyValue) {\n    if (this.count >= PropertyValues.MAX_VALUES_COUNT) {\n      throw new Error(\n        `Max PropertyValues count ${\n          PropertyValues.MAX_VALUES_COUNT\n        } exceeded trying to emit ${JSON.stringify(pv)}`\n      )\n    }\n    this.getStreamTuple(pv.name).bus.push(pv)\n  }\n\n  private getStreamTuple(propName: string): StreamTuple {\n    let streamTuple = this.streams[propName]\n    if (!streamTuple) {\n      const bus = new Bacon.Bus<PropertyValue | undefined>()\n      const stream = bus.scan([] as (PropertyValue | undefined)[], (acc, v) => {\n        acc.push(v)\n        this.count++\n        return acc\n      })\n      streamTuple = {\n        bus,\n        stream\n      }\n      streamTuple.stream.subscribe(() => ({})) // start the stream eagerly\n      streamTuple.bus.push(undefined)\n      this.streams[propName] = streamTuple\n    }\n    return streamTuple\n  }\n}\n\n/**\n * @inline\n * @category Server API\n */\ntype Unsubscribe = () => void\n"
  },
  {
    "path": "packages/server-api/src/radarapi.ts",
    "content": "/**\n * Radar API Types\n *\n * Types and interfaces for the Signal K Radar API at\n * /signalk/v2/api/vessels/self/radars\n */\n\n// ============================================================================\n// Radar Status Types\n// ============================================================================\n\n/** @category Radar API */\nexport type RadarStatus = 'off' | 'standby' | 'transmit' | 'warming'\n\n// ============================================================================\n// Radar Control Types\n// ============================================================================\n\n/** @category Radar API */\nexport interface RadarControlValue {\n  auto: boolean\n  value: number\n}\n\n/** @category Radar API */\nexport interface RadarControls {\n  gain: RadarControlValue\n  sea?: RadarControlValue\n  rain?: { value: number }\n  interferenceRejection?: { value: number }\n  targetExpansion?: { value: number }\n  targetBoost?: { value: number }\n  // Extensible for radar-specific controls\n  [key: string]: RadarControlValue | { value: number } | undefined\n}\n\n/** @category Radar API */\nexport interface LegendEntry {\n  color: string\n  label: string\n  minValue?: number\n  maxValue?: number\n}\n\n// ============================================================================\n// Capability and State Types\n// ============================================================================\n\n/**\n * Optional features a radar provider may support.\n *\n * These indicate what API features are implemented by the provider,\n * NOT hardware capabilities (those are in characteristics).\n *\n * @category Radar API\n */\nexport type SupportedFeature = 'arpa' | 'guardZones' | 'trails' | 'dualRange'\n\n/**\n * Hardware characteristics of a radar.\n *\n * @category Radar API\n */\nexport interface RadarCharacteristics {\n  /** Maximum detection range in meters */\n  maxRange: number\n  /** Minimum detection range in meters */\n  minRange: number\n  /** Supported discrete range values in meters */\n  supportedRanges: number[]\n  /** Number of spokes per full rotation */\n  spokesPerRevolution: number\n  /** Maximum spoke length in samples */\n  maxSpokeLength: number\n  /** Whether the radar supports Doppler/motion detection */\n  hasDoppler: boolean\n  /** Whether the radar supports dual-range mode */\n  hasDualRange: boolean\n  /** Maximum range for dual-range mode (if supported) */\n  maxDualRange?: number\n  /** Number of no-transmit zones supported */\n  noTransmitZoneCount: number\n}\n\n/**\n * Control definition describing a radar control.\n *\n * @category Radar API\n */\nexport interface ControlDefinitionV5 {\n  /** Semantic control ID (e.g., \"gain\", \"beamSharpening\") */\n  id: string\n  /** Human-readable name */\n  name: string\n  /** Description for tooltips */\n  description: string\n  /** Category: base controls all radars have, extended are model-specific */\n  category: 'base' | 'extended'\n  /** Control value type */\n  type: 'boolean' | 'number' | 'enum' | 'compound'\n\n  /** For type: \"number\" - value range constraints */\n  range?: {\n    min: number\n    max: number\n    step?: number\n    unit?: string\n  }\n\n  /** For type: \"enum\" - allowed values */\n  values?: Array<{\n    value: string | number\n    label: string\n    description?: string\n  }>\n\n  /**\n   * For type: \"compound\" - property definitions.\n   * Structure varies by control type (radar-specific).\n   */\n  properties?: Record<string, unknown>\n\n  /** Supported modes (auto/manual) */\n  modes?: ('auto' | 'manual')[]\n  /** Default mode */\n  defaultMode?: 'auto' | 'manual'\n\n  /** Whether this control is read-only */\n  readOnly?: boolean\n  /**\n   * Default value for this control.\n   * Type depends on the control type (boolean, number, enum value, or compound object).\n   */\n  default?: boolean | number | string | Record<string, unknown>\n}\n\n/**\n * Control constraint describing dependencies between controls.\n *\n * @category Radar API\n */\nexport interface ControlConstraint {\n  /** Control ID this constraint applies to */\n  controlId: string\n\n  /** Condition that triggers the constraint */\n  condition: {\n    type: 'disabled_when' | 'read_only_when' | 'restricted_when'\n    dependsOn: string\n    operator: '==' | '!=' | '>' | '<' | '>=' | '<='\n    value: string | number | boolean\n  }\n\n  /** Effect when condition is true */\n  effect: {\n    disabled?: boolean\n    readOnly?: boolean\n    /** Restricted set of allowed values when constraint is active */\n    allowedValues?: (string | number | boolean)[]\n    reason?: string\n  }\n}\n\n/**\n * Capability manifest describing what a radar can do.\n * This is cacheable - capabilities rarely change at runtime.\n *\n * @category Radar API\n *\n * @example\n * ```json\n * {\n *   \"id\": \"1\",\n *   \"make\": \"Furuno\",\n *   \"model\": \"DRS4D-NXT\",\n *   \"characteristics\": {\n *     \"maxRange\": 88896,\n *     \"minRange\": 116,\n *     \"supportedRanges\": [116, 231, 463, ...],\n *     \"hasDoppler\": true\n *   },\n *   \"controls\": [\n *     {\"id\": \"power\", \"type\": \"enum\", ...},\n *     {\"id\": \"gain\", \"type\": \"compound\", ...}\n *   ]\n * }\n * ```\n */\nexport interface CapabilityManifest {\n  /** Radar ID */\n  id: string\n  /** Manufacturer name */\n  make: string\n  /** Model name */\n  model: string\n\n  /** Model family (optional) */\n  modelFamily?: string\n  /** Serial number (optional) */\n  serialNumber?: string\n  /** Firmware version (optional) */\n  firmwareVersion?: string\n\n  /** Hardware characteristics */\n  characteristics: RadarCharacteristics\n\n  /** Available controls with their schemas */\n  controls: ControlDefinitionV5[]\n\n  /** Control dependencies/constraints */\n  constraints?: ControlConstraint[]\n\n  /**\n   * Optional features this provider implements.\n   *\n   * Indicates which optional API features are available:\n   * - 'arpa': ARPA target tracking (GET /targets, POST /targets, etc.)\n   * - 'guardZones': Guard zone alerting (GET /guardZones, etc.)\n   * - 'trails': Target trails/history (GET /trails)\n   * - 'dualRange': Dual-range simultaneous display\n   *\n   * Note: This declares API capabilities, not hardware. A radar may have\n   * hardware Doppler support (characteristics.hasDoppler) but the provider\n   * might not implement the trails API endpoint.\n   */\n  supportedFeatures?: SupportedFeature[]\n}\n\n/**\n * Current radar state.\n * Contains status and all current control values.\n *\n * @category Radar API\n *\n * @example\n * ```json\n * {\n *   \"id\": \"1\",\n *   \"timestamp\": \"2025-01-15T10:30:00Z\",\n *   \"status\": \"transmit\",\n *   \"controls\": {\n *     \"power\": \"transmit\",\n *     \"range\": 5556,\n *     \"gain\": {\"mode\": \"auto\", \"value\": 65}\n *   }\n * }\n * ```\n */\nexport interface RadarState {\n  /** Radar ID */\n  id: string\n  /** ISO 8601 timestamp of when state was captured */\n  timestamp: string\n  /** Current operational status */\n  status: RadarStatus\n\n  /**\n   * Current control values keyed by control ID.\n   * Value types depend on the control type defined in CapabilityManifest.\n   */\n  controls: Record<string, unknown>\n\n  /** Controls that are currently disabled and why */\n  disabledControls?: Array<{\n    controlId: string\n    reason: string\n  }>\n}\n\n// ============================================================================\n// ARPA Target Types\n// ============================================================================\n\n/**\n * ARPA target status.\n *\n * @category Radar API\n */\nexport type ArpaTargetStatus = 'tracking' | 'lost' | 'acquiring'\n\n/**\n * ARPA target acquisition method.\n *\n * @category Radar API\n */\nexport type ArpaAcquisitionMethod = 'manual' | 'auto'\n\n/**\n * ARPA target position data.\n *\n * @category Radar API\n */\nexport interface ArpaTargetPosition {\n  /** Bearing from own ship in degrees (0-360, true north) */\n  bearing: number\n  /** Distance from own ship in meters */\n  distance: number\n  /** Latitude (if GPS available) */\n  latitude?: number\n  /** Longitude (if GPS available) */\n  longitude?: number\n}\n\n/**\n * ARPA target motion data.\n *\n * @category Radar API\n */\nexport interface ArpaTargetMotion {\n  /** Course over ground in degrees (0-360, true north) */\n  course: number\n  /** Speed over ground in meters per second */\n  speed: number\n}\n\n/**\n * ARPA target danger assessment.\n *\n * @category Radar API\n */\nexport interface ArpaTargetDanger {\n  /** Closest Point of Approach in meters */\n  cpa: number\n  /** Time to CPA in seconds (negative if target is receding) */\n  tcpa: number\n}\n\n/**\n * ARPA tracked target.\n *\n * @category Radar API\n *\n * @example\n * ```json\n * {\n *   \"id\": 1,\n *   \"status\": \"tracking\",\n *   \"position\": {\n *     \"bearing\": 45.2,\n *     \"distance\": 1852,\n *     \"latitude\": 52.1234,\n *     \"longitude\": 4.5678\n *   },\n *   \"motion\": {\n *     \"course\": 180.5,\n *     \"speed\": 5.14\n *   },\n *   \"danger\": {\n *     \"cpa\": 150,\n *     \"tcpa\": 300\n *   },\n *   \"acquisition\": \"manual\",\n *   \"firstSeen\": \"2025-01-15T10:28:00Z\",\n *   \"lastSeen\": \"2025-01-15T10:30:00Z\"\n * }\n * ```\n */\nexport interface ArpaTarget {\n  /** Unique target identifier (1-99 typically) */\n  id: number\n  /** Current tracking status */\n  status: ArpaTargetStatus\n  /** Target position relative to own ship */\n  position: ArpaTargetPosition\n  /** Target motion (course and speed) */\n  motion: ArpaTargetMotion\n  /** Danger assessment (CPA/TCPA) */\n  danger: ArpaTargetDanger\n  /** How this target was acquired */\n  acquisition: ArpaAcquisitionMethod\n  /** ISO 8601 timestamp when target was first acquired */\n  firstSeen: string\n  /** ISO 8601 timestamp of most recent radar return */\n  lastSeen: string\n}\n\n/**\n * Response from GET /radars/{id}/targets.\n *\n * @category Radar API\n *\n * @example\n * ```json\n * {\n *   \"radarId\": \"radar-0\",\n *   \"timestamp\": \"2025-01-15T10:30:00Z\",\n *   \"targets\": [\n *     { \"id\": 1, \"status\": \"tracking\", ... },\n *     { \"id\": 2, \"status\": \"lost\", ... }\n *   ]\n * }\n * ```\n */\nexport interface TargetListResponse {\n  /** Radar ID */\n  radarId: string\n  /** ISO 8601 timestamp */\n  timestamp: string\n  /** List of tracked targets */\n  targets: ArpaTarget[]\n}\n\n/**\n * WebSocket message for target streaming.\n *\n * @category Radar API\n */\nexport interface TargetStreamMessage {\n  /** Message type */\n  type: 'target_update' | 'target_lost' | 'target_acquired'\n  /** ISO 8601 timestamp */\n  timestamp: string\n  /** Updated/lost/acquired target */\n  target: ArpaTarget\n}\n\n/**\n * ARPA settings for a radar.\n *\n * @category Radar API\n */\nexport interface ArpaSettings {\n  /** Whether ARPA is enabled */\n  enabled: boolean\n  /** Maximum number of targets to track (typically 10-100) */\n  maxTargets: number\n  /** CPA threshold for danger alert in meters */\n  cpaThreshold: number\n  /** TCPA threshold for danger alert in seconds */\n  tcpaThreshold: number\n  /** Seconds before marking a target as lost */\n  lostTargetTimeout: number\n  /** Auto-acquisition sensitivity (0=off, 1-3=low/med/high) */\n  autoAcquisition: number\n}\n\n// ============================================================================\n// Radar Info (Response Object)\n// ============================================================================\n\n/**\n * Radar information returned by GET /radars/{id}\n *\n * @category Radar API\n *\n * @example\n * ```json\n * {\n *   \"id\": \"radar-0\",\n *   \"name\": \"Furuno DRS4D-NXT\",\n *   \"brand\": \"Furuno\",\n *   \"status\": \"transmit\",\n *   \"spokesPerRevolution\": 2048,\n *   \"maxSpokeLen\": 1024,\n *   \"range\": 2000,\n *   \"controls\": {\n *     \"gain\": { \"auto\": false, \"value\": 50 },\n *     \"sea\": { \"auto\": true, \"value\": 30 }\n *   },\n *   \"streamUrl\": \"ws://192.168.1.100:3001/v1/api/stream/radar-0\"\n * }\n * ```\n */\nexport interface RadarInfo {\n  /** Unique identifier for this radar */\n  id: string\n  /** Display name */\n  name: string\n  /** Radar brand/manufacturer */\n  brand?: string\n  /** Current operational status */\n  status: RadarStatus\n  /** Number of spokes per full rotation */\n  spokesPerRevolution: number\n  /** Maximum spoke length in samples */\n  maxSpokeLen: number\n  /** Current range in meters */\n  range: number\n  /** Current control settings */\n  controls: RadarControls\n  /** Color legend for radar display */\n  legend?: LegendEntry[]\n  /**\n   * WebSocket URL for radar spoke streaming.\n   *\n   * - If **absent**: Clients use the built-in stream endpoint:\n   *   `ws://server/signalk/v2/api/vessels/self/radars/{id}/stream`\n   *   or `ws://server/signalk/v2/api/streams/radars/{id}`\n   *   (WASM plugins emit spokes via `sk_radar_emit_spokes()` FFI binding)\n   *\n   * - If **present**: Clients connect directly to external URL (backward compat)\n   *   @example \"ws://192.168.1.100:3001/stream\" (external mayara-server)\n   */\n  streamUrl?: string\n}\n\n// ============================================================================\n// Radar Provider Interface (for plugins)\n// ============================================================================\n\n/**\n * Provider interface for plugins that provide radar data.\n *\n * @category Radar API\n *\n * @example\n * ```javascript\n * app.registerRadarProvider({\n *   name: 'Furuno Radar Plugin',\n *   methods: {\n *     getRadars: async () => ['radar-0'],\n *     getRadarInfo: async (id) => ({\n *       id: 'radar-0',\n *       name: 'Furuno DRS4D-NXT',\n *       status: 'transmit',\n *       spokesPerRevolution: 2048,\n *       maxSpokeLen: 1024,\n *       range: 2000,\n *       controls: { gain: { auto: false, value: 50 } },\n *       streamUrl: 'ws://192.168.1.100:3001/stream'\n *     }),\n *     setPower: async (id, state) => { ... },\n *     setRange: async (id, range) => { ... },\n *     setGain: async (id, gain) => { ... }\n *   }\n * })\n * ```\n */\nexport interface RadarProvider {\n  /** Display name for this radar provider */\n  name: string\n  /** Provider methods */\n  methods: RadarProviderMethods\n}\n\n/** @category Radar API */\nexport interface RadarProviderMethods {\n  /** Plugin ID (set automatically on registration) */\n  pluginId?: string\n\n  /**\n   * Get list of radar IDs this provider manages.\n   * @returns Array of radar IDs\n   */\n  getRadars: () => Promise<string[]>\n\n  /**\n   * Get detailed info for a specific radar.\n   * @param radarId The radar ID\n   * @returns Radar info or null if not found\n   */\n  getRadarInfo: (radarId: string) => Promise<RadarInfo | null>\n\n  /**\n   * Set radar power state.\n   * @param radarId The radar ID\n   * @param state Target power state\n   * @returns true on success\n   */\n  setPower?: (radarId: string, state: RadarStatus) => Promise<boolean>\n\n  /**\n   * Set radar range in meters.\n   * @param radarId The radar ID\n   * @param range Range in meters\n   * @returns true on success\n   */\n  setRange?: (radarId: string, range: number) => Promise<boolean>\n\n  /**\n   * Set radar gain.\n   * @param radarId The radar ID\n   * @param gain Gain settings\n   * @returns true on success\n   */\n  setGain?: (\n    radarId: string,\n    gain: { auto: boolean; value?: number }\n  ) => Promise<boolean>\n\n  /**\n   * Set radar sea clutter.\n   * @param radarId The radar ID\n   * @param sea Sea clutter settings\n   * @returns true on success\n   */\n  setSea?: (\n    radarId: string,\n    sea: { auto: boolean; value?: number }\n  ) => Promise<boolean>\n\n  /**\n   * Set radar rain clutter.\n   * @param radarId The radar ID\n   * @param rain Rain clutter settings\n   * @returns true on success\n   */\n  setRain?: (\n    radarId: string,\n    rain: { auto: boolean; value?: number }\n  ) => Promise<boolean>\n\n  /**\n   * Set multiple radar controls at once.\n   * @param radarId The radar ID\n   * @param controls Partial controls to update\n   * @returns true on success\n   */\n  setControls?: (\n    radarId: string,\n    controls: Partial<RadarControls>\n  ) => Promise<boolean>\n\n  /**\n   * Handle WebSocket stream connection (optional).\n   * Only needed if provider doesn't expose external streamUrl.\n   * @param radarId The radar ID\n   * @param ws WebSocket connection to send spoke data to\n   */\n  handleStreamConnection?: (radarId: string, ws: WebSocket) => void\n\n  // ============================================\n  // Capability and State Methods\n  // ============================================\n\n  /**\n   * Get capability manifest for a radar.\n   * Returns detailed capabilities including supported controls, ranges, features.\n   * @param radarId The radar ID\n   * @returns CapabilityManifest or null if not found\n   */\n  getCapabilities?: (radarId: string) => Promise<CapabilityManifest | null>\n\n  /**\n   * Get current radar state.\n   * Returns status and all current control values.\n   * @param radarId The radar ID\n   * @returns RadarState or null if not found\n   */\n  getState?: (radarId: string) => Promise<RadarState | null>\n\n  /**\n   * Get a single control value.\n   * @param radarId The radar ID\n   * @param controlId The semantic control ID (e.g., \"gain\", \"beamSharpening\")\n   * @returns Control value or null if not found. Type depends on control definition.\n   */\n  getControl?: (radarId: string, controlId: string) => Promise<unknown>\n\n  /**\n   * Set a single control value.\n   * @param radarId The radar ID\n   * @param controlId The semantic control ID (e.g., \"gain\", \"beamSharpening\")\n   * @param value The value to set. Type depends on control definition.\n   * @returns Result with success flag and optional error\n   */\n  setControl?: (\n    radarId: string,\n    controlId: string,\n    value: unknown\n  ) => Promise<{ success: boolean; error?: string }>\n\n  // ============================================\n  // ARPA Target Methods\n  // ============================================\n\n  /**\n   * Get all tracked ARPA targets.\n   * @param radarId The radar ID\n   * @returns Target list response or null if not supported\n   */\n  getTargets?: (radarId: string) => Promise<TargetListResponse | null>\n\n  /**\n   * Manually acquire a target at the specified position.\n   * @param radarId The radar ID\n   * @param bearing Bearing in degrees (0-360, true north)\n   * @param distance Distance in meters\n   * @returns Result with success flag and optional target ID\n   */\n  acquireTarget?: (\n    radarId: string,\n    bearing: number,\n    distance: number\n  ) => Promise<{ success: boolean; targetId?: number; error?: string }>\n\n  /**\n   * Cancel tracking of a target.\n   * @param radarId The radar ID\n   * @param targetId The target ID to cancel\n   * @returns true on success\n   */\n  cancelTarget?: (radarId: string, targetId: number) => Promise<boolean>\n\n  /**\n   * Handle WebSocket target stream connection.\n   * Streams target updates in real-time.\n   * @param radarId The radar ID\n   * @param ws WebSocket connection to send target updates to\n   */\n  handleTargetStreamConnection?: (radarId: string, ws: WebSocket) => void\n\n  /**\n   * Get ARPA settings.\n   * @param radarId The radar ID\n   * @returns ARPA settings or null if not supported\n   */\n  getArpaSettings?: (radarId: string) => Promise<ArpaSettings | null>\n\n  /**\n   * Update ARPA settings.\n   * @param radarId The radar ID\n   * @param settings Partial settings to update\n   * @returns Result with success flag and optional error\n   */\n  setArpaSettings?: (\n    radarId: string,\n    settings: Partial<ArpaSettings>\n  ) => Promise<{ success: boolean; error?: string }>\n}\n\n// ============================================================================\n// Radar API Interface\n// ============================================================================\n\n/**\n * Radar API methods available on the server.\n *\n * @category Radar API\n */\nexport interface RadarApi {\n  /** Register a radar provider plugin */\n  register: (pluginId: string, provider: RadarProvider) => void\n  /** Unregister a radar provider plugin */\n  unRegister: (pluginId: string) => void\n  /** Get list of all radars from all providers */\n  getRadars: () => Promise<RadarInfo[]>\n  /** Get info for a specific radar */\n  getRadarInfo: (radarId: string) => Promise<RadarInfo | null>\n}\n\n/**\n * Registry interface exposed to plugins via ServerAPI.\n *\n * @category Radar API\n */\nexport interface RadarProviderRegistry {\n  /**\n   * Register a radar provider plugin.\n   * See Radar Provider Plugins documentation for details.\n   *\n   * @category Radar API\n   */\n  registerRadarProvider: (provider: RadarProvider) => void\n  /**\n   * Access the Radar API to get radar info and manage radars.\n   *\n   * @category Radar API\n   */\n  radarApi: RadarApi\n}\n\n/**\n * Interface for accessing the Radar API from plugins.\n *\n * This provides typed, in-process programmatic access to the Radar API,\n * similar to {@link history!WithHistoryApi | WithHistoryApi} for the History API.\n *\n * @category Radar API\n *\n * @example\n * ```javascript\n * // Check if Radar API is available\n * if (app.getRadarApi) {\n *   const radarApi = await app.getRadarApi();\n *   const radars = await radarApi.getRadars();\n *   app.debug(`Found ${radars.length} radars`);\n * }\n * ```\n */\nexport type WithRadarApi = {\n  /**\n   * Returns a promise for the active Radar API implementation, or rejects if unavailable.\n   * The property is optional to support older servers that do not have radar API support.\n   *\n   * @returns Promise that resolves to a {@link RadarApi} instance if available, or rejects with an error if not.\n   */\n  getRadarApi?: () => Promise<RadarApi>\n}\n\n/**\n * List of registered radar providers (for /_providers endpoint)\n *\n * @hidden visible through API\n * @category Radar API\n */\nexport interface RadarProviders {\n  [id: string]: {\n    name: string\n    isDefault: boolean\n  }\n}\n\n// ============================================================================\n// Validation\n// ============================================================================\n\n/**\n * Type guard to validate a RadarProvider object.\n *\n * @category Radar API\n */\nexport const isRadarProvider = (obj: unknown): obj is RadarProvider => {\n  if (typeof obj !== 'object' || obj === null) {\n    return false\n  }\n  const typedObj = obj as Record<string, unknown>\n  const methods = typedObj['methods']\n  return (\n    typeof typedObj['name'] === 'string' &&\n    typeof methods === 'object' &&\n    methods !== null &&\n    (typeof (methods as Record<string, unknown>)['pluginId'] === 'undefined' ||\n      typeof (methods as Record<string, unknown>)['pluginId'] === 'string') &&\n    typeof (methods as Record<string, unknown>)['getRadars'] === 'function' &&\n    typeof (methods as Record<string, unknown>)['getRadarInfo'] === 'function'\n  )\n}\n"
  },
  {
    "path": "packages/server-api/src/resourcesapi.ts",
    "content": "/** @category  Resources API */\nexport type SignalKResourceType =\n  | 'routes'\n  | 'waypoints'\n  | 'notes'\n  | 'regions'\n  | 'charts'\n\n/**\n * @hidden\n * @category  Resources API */\nexport const SIGNALKRESOURCETYPES: SignalKResourceType[] = [\n  'routes',\n  'waypoints',\n  'notes',\n  'regions',\n  'charts'\n]\n/** @category  Resources API */\nexport const isSignalKResourceType = (s: string) =>\n  SIGNALKRESOURCETYPES.includes(s as SignalKResourceType)\n\n/** @category  Resources API */\nexport type ResourceType = SignalKResourceType | string\n\n/** @category  Resources API */\nexport interface ResourcesApi {\n  register(pluginId: string, provider: ResourceProvider): void\n  unRegister(pluginId: string): void\n\n  /**\n   * Retrieve collection of resource entries of the supplied resource_type matching the provided criteria.\n   *\n   * > [!note]\n   * > Requires a registered Resource Provider. See {@link ResourceProviderRegistry.registerResourceProvider}.\n   *\n   * @example\n   * ```javascript\n   * app.resourcesApi.listResources(\n   *   'waypoints',\n   *   {region: 'fishing_zone'}\n   * ).then (data => {\n   *   // success\n   *   console.log(data);\n   *   ...\n   * }).catch (error) {\n   *   // handle error\n   *   console.log(error.message);\n   *   ...\n   * }\n   * ```\n   *\n   * @param resType - A {@link SignalKResourceType} or user defined resource type.\n   * @param params - Object containing `key | value` pairs representing the criteria by which to filter the returned entries.\n   *   > [!note]\n   *   > The registered Resource Provider must support the supplied parameters for results to be filtered.\n   * @param providerId - The id of the Resource Provider plugin to use to complete the request.\n   */\n  listResources(\n    resType: SignalKResourceType,\n    params: Record<string, unknown>,\n    providerId?: string\n  ): Promise<Record<string, unknown>>\n\n  /**\n   * Retrieve the resource with the supplied SignalK resource_type and resource_id.\n   *\n   * > [!note]\n   * > Requires a registered Resource Provider. See {@link ResourceProviderRegistry.registerResourceProvider}.\n   *\n   * @example\n   * ```javascript\n   * try {\n   *   const waypoint = await app.resourcesApi.getResource('waypoints', 'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a');\n   *   // success\n   * } catch (error) {\n   *   // handle error\n   *   console.error(error);\n   *   // ...\n   * }\n   * ```\n   *\n   * @param resType - A {@link SignalKResourceType} or user defined resource type.\n   * @param resId - The resource identifier. _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_\n   * @param providerId - The id of the Resource Provider plugin to use to complete the request. Most commonly used for creating a new resource entry when more than one provider is registered for the specified resource type.\n   */\n  getResource(\n    resType: ResourceType,\n    resId: string,\n    providerId?: string\n  ): Promise<object>\n\n  /**\n   * Create / update value of the resource with the supplied SignalK resource_type and resource_id.\n   *\n   * > [!note]\n   * > Requires a registered Resource Provider. See {@link ResourceProviderRegistry.registerResourceProvider}.\n   *\n   * @example\n   * ```javascript\n   * app.resourcesApi.setResource(\n   *   'waypoints',\n   *   'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a',\n   *   {\n   *     \"name\": \"My Waypoint\",\n   *     \"feature\": {\n   *       \"type\":\"Feature\",\n   *       \"geometry\": {\n   *         \"type\": \"Point\",\n   *         \"coordinates\": [138.5, -38.6]\n   *       },\n   *       \"properties\":{}\n   *     }\n   *   }\n   * ).then ( () => {\n   *   // success\n   *   ...\n   * }).catch (error) {\n   *   // handle error\n   *   console.log(error.message);\n   *   ...\n   * }\n   * ```\n   *\n   * @param resType - A {@link SignalKResourceType} or user defined resource type.\n   * @param resId - The resource identifier. _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_\n   * @param data - A complete and valid resource record.\n   * @param providerId - The id of the Resource Provider plugin to use to complete the request. Most commonly used for creating a new resource entry when more than one provider is registered for the specified resource type.\n   */\n  setResource(\n    resType: SignalKResourceType,\n    resId: string,\n    data: Record<string, unknown>,\n    providerId?: string\n  ): Promise<void>\n\n  /**\n   * Delete the resource with the supplied SignalK resource_type and resource_id.\n   *\n   * > [!note]\n   * > Requires a registered Resource Provider. See {@link ResourceProviderRegistry.registerResourceProvider}.\n   *\n   * @example\n   * ```javascript\n   * app.resourcesApi.deleteResource(\n   *   'notes',\n   *   'ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a'\n   * ).then ( () => {\n   *   // success\n   *   ...\n   * }).catch (error) {\n   *   // handle error\n   *   console.log(error.message);\n   *   ...\n   * }\n   * ```\n   *\n   * @param resType - A {@link SignalKResourceType} or user defined resource type.\n   * @param resId - The resource identifier. _(e.g. `ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a`)_\n   * @param providerId - The id of the Resource Provider plugin to use to complete the request.\n   */\n  deleteResource(\n    resType: SignalKResourceType,\n    resId: string,\n    providerId?: string\n  ): Promise<void>\n}\n\n/** @category  Resources API */\nexport interface WithResourcesApi {\n  resourcesApi: ResourcesApi\n}\n\n/** @category  Resources API */\nexport interface ResourceProvider {\n  /**\n   * The resource type provided for by the plugin.These can be either __Standard__ _(Signal K defined)_ types defined in {@link SignalKResourceType},  or __Custom__ _(user defined)_ resource types _(e.g. `'fishingZones'`)_\n   */\n  type: ResourceType\n\n  /**\n   * An object implementing the `ResourceProviderMethods` interface defining the functions to which resource requests are passed by the SignalK server.\n   */\n  methods: ResourceProviderMethods\n}\n\n/** @category  Resources API */\nexport interface ResourceProviderMethods {\n  /**\n   * This method is called when a request is made for resource entries that match a specific criteria.\n   *\n   * > [!NOTE]\n   * > It is the responsibility of the resource provider plugin to filter the resources returned as per the supplied query parameters._\n   *\n   * @example\n   * Return waypoints within the bounded area with lower left corner at E5.4 N25.7 & upper right corner E6.9 & N31.2:\n   * ```\n   * GET /signalk/v2/api/resources/waypoints?bbox=[5.4,25.7,6.9,31.2]\n   * ```\n   * _ResourceProvider method invocation:_\n   * ```javascript\n   * listResources(\n   *   {\n   *     bbox: '5.4,25.7,6.9,31.2'\n   *   }\n   * );\n   * ```\n   *\n   * _Returns:_\n   * ```JSON\n   * {\n   *   \"07894aba-f151-4099-aa4f-5e5773734b69\": {\n   *     \"name\":\"my Point\",\n   *     \"description\":\"A Signal K waypoint\",\n   *     \"distance\":124226.65183615577,\n   *     \"feature\":{\n   *       \"type\":\"Feature\",\n   *       \"geometry\":{\n   *         \"type\":\"Point\",\n   *         \"coordinates\":[5.7,26.4]\n   *       },\n   *       \"properties\":{}\n   *     },\n   *     \"timestamp\":\"2023-01-01T05:02:54.561Z\",\n   *     \"$source\":\"resources-provider\"\n   *   },\n   *   \"0c894aba-d151-4099-aa4f-be5773734e99\": {\n   *     \"name\":\"another point\",\n   *     \"description\":\"Another Signal K waypoint\",\n   *     \"distance\":107226.84,\n   *     \"feature\":{\n   *       \"type\":\"Feature\",\n   *       \"geometry\":{\n   *         \"type\":\"Point\",\n   *         \"coordinates\":[6.1,29.43]\n   *       },\n   *       \"properties\":{}\n   *     },\n   *     \"timestamp\":\"2023-01-01T05:02:54.561Z\",\n   *     \"$source\":\"resources-provider\"\n   *   }\n   * }\n   * ```\n   *\n   * @param query - Object containing `key | value` pairs representing the parameters by which to filter the returned entries. _e.g. {region: 'fishing_zone'}_\n   */\n  listResources(\n    query: Record<string, unknown>\n  ): Promise<Record<string, unknown>>\n\n  /**\n   * This method is called when a request is made for a specific resource entry with the supplied `id`. If `property` is supplied then the value of the resource property is returned. If there is no resource associated with the id the call should return Promise.reject.\n   *\n   * @param id - String containing the target resource entry id. _(e.g. '07894aba-f151-4099-aa4f-5e5773734b99')_\n   * @param property -  Name of resource property for which to return the value (in dot notation). _e.g. feature.geometry.coordinates_\n   *\n   * @example Resource request:\n   *\n   * ```\n   * GET /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99\n   * ```\n   * _ResourceProvider method invocation:_\n   * ```javascript\n   * getResource(\n   *   '07894aba-f151-4099-aa4f-5e5773734b99'\n   * );\n   * ```\n   *\n   * _Returns:_\n   * ```JSON\n   * {\n   *   \"name\":\"myRoute\",\n   *   \"description\":\"A Signal K route\",\n   *   \"distance\":124226.65183615577,\n   *   \"feature\":{\n   *     \"type\":\"Feature\",\n   *     \"geometry\":{\n   *       \"type\":\"LineString\",\n   *       \"coordinates\":[[-8,-8],[-8.5,-8],[-8.5,-8.4],[-8.7,-8.3]]\n   *     },\n   *     \"properties\":{}\n   *   },\n   *   \"timestamp\":\"2023-01-01T05:02:54.561Z\",\n   *   \"$source\":\"resources-provider\"\n   * }\n   * ```\n   *\n   * @example resource property value request:\n   * ```\n   * GET /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99/feature/geometry/type\n   * ```\n   * _ResourceProvider method invocation:_\n   * ```javascript\n   * getResource(\n   *   '07894aba-f151-4099-aa4f-5e5773734b99',\n   *   'feature.geometry.type'\n   * );\n   * ```\n   *\n   * _Returns:_\n   * ```JSON\n   * {\n   *   \"value\": \"LineString\",\n   *   \"timestamp\":\"2023-01-01T05:02:54.561Z\",\n   *   \"$source\":\"resources-provider\"\n   * }\n   * ```\n   *\n   */\n  getResource(id: string, property?: string): Promise<object>\n\n  /**\n   * This method is called when a request is made to save / update a resource entry with the supplied id. The supplied data is a complete resource record.\n   *\n   * @param id - String containing the id of the resource entry created / updated. _e.g. '07894aba-f151-4099-aa4f-5e5773734b99'_\n   * @param value - Resource data to be stored.\n   *\n   * @example PUT resource request:\n   * ```\n   * PUT /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99 {resource_data}\n   * ```\n   * _ResourceProvider method invocation:_\n   *\n   * ```javascript\n   * setResource(\n   *   '07894aba-f151-4099-aa4f-5e5773734b99',\n   *   {\n   *     name: 'test route',\n   *     distance': 8000,\n   *     feature: {\n   *       type: 'Feature',\n   *       geometry: {\n   *         type: 'LineString',\n   *         coordinates: [[138.5, -38.6], [138.7, -38.2], [138.9, -38.0]]\n   *       },\n   *       properties:{}\n   *     }\n   *   }\n   * );\n   * ```\n   *\n   * @example POST resource request:\n   * ```\n   * POST /signalk/v2/api/resources/routes {resource_data}\n   * ```\n   * _ResourceProvider method invocation:_\n   *\n   * ```javascript\n   * setResource(\n   *   '<server_generated_id>',\n   *   {\n   *     name: 'test route',\n   *     distance': 8000,\n   *     feature: {\n   *       type: 'Feature',\n   *       geometry: {\n   *         type: 'LineString',\n   *         coordinates: [[138.5, -38.6], [138.7, -38.2], [138.9, -38.0]]\n   *       },\n   *       properties:{}\n   *     }\n   *   }\n   * );\n   * ```\n   *\n   */\n  setResource(id: string, value: Record<string, unknown>): Promise<void>\n\n  /**\n   * This method is called when a request is made to remove the specific resource entry with the supplied resource id.\n   *\n   * @param id - String containing the target resource entry id. _e.g. '07894aba-f151-4099-aa4f-5e5773734b99'_\n   *\n   * @example: resource request:\n   *\n   * ```\n   * DELETE /signalk/v2/api/resources/routes/07894aba-f151-4099-aa4f-5e5773734b99\n   * ```\n   * _ResourceProvider method invocation:_\n   *\n   * ```javascript\n   * deleteResource(\n   *   '07894aba-f151-4099-aa4f-5e5773734b99'\n   * );\n   * ```\n   */\n  deleteResource(id: string): Promise<void>\n}\n\n/** @category  Resources API */\nexport interface ResourceProviderRegistry {\n  /**\n   * Used by _Resource Provider plugins_ to register each resource type it handles.\n   * See [`Resource Provider Plugins`](../../../docs/develop/plugins/resource_provider_plugins.md#registering-as-a-resource-provider) for details.\n   *\n   * @category Resources API\n   */\n  registerResourceProvider(provider: ResourceProvider): void\n\n  /**\n   * Access the Resources API to list, get, set, and delete resources.\n   *\n   * @category Resources API\n   */\n  resourcesApi: ResourcesApi\n}\n"
  },
  {
    "path": "packages/server-api/src/resourcetypes.ts",
    "content": "import { Position } from '.'\n\n/** A resource returned from the API will always have these fields\n * @hidden\n */\nexport type Resource<T> = T & {\n  timestamp: string\n  $source: string\n}\n\n/** @category  Resources API */\nexport interface Route {\n  name?: string\n  description?: string\n  distance?: number\n  start?: string\n  end?: string\n  feature: {\n    type: 'Feature'\n    geometry: {\n      type: 'LineString'\n      coordinates: GeoJsonLinestring\n    }\n    properties?: object\n    id?: string\n  }\n}\n\n/** @category  Resources API */\nexport interface Waypoint {\n  name?: string\n  description?: string\n  type?: string\n  feature: {\n    type: 'Feature'\n    geometry: {\n      type: 'Point'\n      coordinates: GeoJsonPoint\n    }\n    properties?: object\n    id?: string\n  }\n}\n\n/** @category  Resources API */\nexport interface Note {\n  name?: string\n  description?: string\n  href?: string\n  position?: Position\n  geohash?: string\n  mimeType?: string\n  url?: string\n}\n\n/** @category  Resources API */\nexport interface Region {\n  name?: string\n  description?: string\n  feature: Polygon | MultiPolygon\n}\n\n/** @category  Resources API */\nexport interface Chart {\n  name: string\n  identifier: string\n  description?: string\n  tilemapUrl?: string\n  chartUrl?: string\n  geohash?: string\n  region?: string\n  scale?: number\n  chartLayers?: string[]\n  bounds?: [[number, number], [number, number]]\n  chartFormat: string\n}\n\n/** @hidden */\nexport type GeoJsonPoint = [number, number, number?]\n/** @hidden */\nexport type GeoJsonLinestring = GeoJsonPoint[]\n/** @hidden */\nexport type GeoJsonPolygon = GeoJsonLinestring[]\n/** @hidden */\nexport type GeoJsonMultiPolygon = GeoJsonPolygon[]\n\n/** @hidden */\nexport interface Polygon {\n  type: 'Feature'\n  geometry: {\n    type: 'Polygon'\n    coordinates: GeoJsonPolygon\n  }\n  properties?: object\n  id?: string\n}\n\n/** @hidden */\nexport interface MultiPolygon {\n  type: 'Feature'\n  geometry: {\n    type: 'MultiPolygon'\n    coordinates: GeoJsonMultiPolygon\n  }\n  properties?: object\n  id?: string\n}\n"
  },
  {
    "path": "packages/server-api/src/serverapi.ts",
    "content": "import {\n  SKVersion,\n  AutopilotProviderRegistry,\n  WithFeatures,\n  PropertyValuesEmitter,\n  ResourceProviderRegistry,\n  WeatherProviderRegistry,\n  Delta,\n  WithResourcesApi,\n  WithNotificationsApi\n} from '.'\nimport { RadarProviderRegistry, WithRadarApi } from './radarapi'\nimport { CourseApi } from './course'\nimport { HistoryProviderRegistry, WithHistoryApi } from './history'\nimport { StreamBundle } from './streambundle'\nimport { SubscriptionManager } from './subscriptionmanager'\n\n/**\n * SignalK server provides an interface to allow {@link Plugin | Plugins } to:\n *\n * - Discover Features.\n * - Access / update the full data model\n * - send / receive deltas (updates)\n * - Interact with APIs\n * - Expose HTTP endpoints\n *\n * These functions are available via the app object passed to the plugin when it is invoked.\n *\n * > [!WARNING]\n * > Typing is incomplete. If you find a missing or inaccurate type, please [report it](https://github.com/SignalK/signalk-server/issues/1917).\n * @category Server API\n */\nexport interface ServerAPI\n  extends\n    PropertyValuesEmitter,\n    ResourceProviderRegistry,\n    WithResourcesApi,\n    AutopilotProviderRegistry,\n    WeatherProviderRegistry,\n    RadarProviderRegistry,\n    WithRadarApi,\n    WithHistoryApi,\n    HistoryProviderRegistry,\n    WithFeatures,\n    CourseApi,\n    WithNotificationsApi,\n    SelfIdentity {\n  /**\n   * Returns the entry for the provided path starting from `vessels.self` in the full data model.\n   *\n   * @remarks\n   * Returns `unknown` because the Signal K data model is dynamic and path-dependent.\n   * Callers should validate the returned type at runtime.\n   *\n   * @example\n   * ```ts\n   * let uuid = app.getSelfPath('uuid');\n   * // Note: This is synonymous with app.getPath('vessels.self.uuid')\n   *\n   * app.debug(uuid);\n   * // urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60\n   * ```\n   *\n   * @category Data Model\n   */\n  getSelfPath(path: string): unknown\n\n  /**\n   * Returns the entry for the provided path starting from the `root` of the full data model.\n   *\n   * @remarks\n   * Returns `unknown` because the Signal K data model is dynamic and path-dependent.\n   * Callers should validate the returned type at runtime.\n   *\n   * @example\n   * ```javascript\n   * let baseStations = app.getPath('shore.basestations');\n   *\n   * // baseStations:\n   * {\n   *   'urn:mrn:imo:mmsi:2766140': {\n   *     url: 'basestations',\n   *     navigation: { position: {latitude: 45.2, longitude: 76.4} },\n   *     mmsi: '2766140'\n   *   },\n   *   'urn:mrn:imo:mmsi:2766160': {\n   *     url: 'basestations',\n   *     navigation: { position: {latitude: 46.9, longitude: 72.22} },\n   *     mmsi: '2766160'\n   *   }\n   * }\n   * ```\n   *\n   * @category Data Model\n   */\n  getPath(path: string): unknown\n\n  /**\n   * @category Data Model\n   */\n  getMetadata(path: string): Metadata | undefined\n\n  /**\n   * Call the PUT handler for a path on the vessel's own context.\n   * @param aPath - The path for the PUT request\n   * @param value - The value to send in the PUT request\n   * @param updateCb - Callback invoked when the update completes\n   * @category Data Model\n   */\n  putSelfPath(\n    aPath: string,\n    value: unknown,\n    updateCb: () => void\n  ): Promise<unknown> //see requestResponse.createReply\n\n  /**\n   * Call the PUT handler for a path with a specified context.\n   * @param aPath - The path for the PUT request\n   * @param value - The value to send in the PUT request\n   * @param updateCb - Callback invoked when the update completes, with error if failed\n   * @param source - The source identifier for this update\n   * @category Data Model\n   */\n  putPath(\n    aPath: string,\n    value: number | string | object | boolean,\n    updateCb: (err?: Error) => void,\n    source: string\n  ): Promise<unknown> //see requestResponse.createReply\n\n  /**\n   * @category Data Model\n   */\n  streambundle: StreamBundle\n\n  /**\n   * @see [Processing data from the server](../../../docs/develop/plugins/deltas.md#subscribing-to-deltas)\n   * @category Data Model\n   */\n  subscriptionmanager: SubscriptionManager\n\n  /**\n   * Query the status of an async request by its ID.\n   * @param requestId - The request ID to query\n   * @returns Promise resolving to the request status/result\n   */\n  queryRequest(requestId: string): Promise<unknown>\n\n  /**\n   * @category Status and Debugging\n   */\n  error(msg: string): void\n\n  /**\n   * Log debug messages.\n   *\n   * This function exposes the `debug` method from the [debug module](https://www.npmjs.com/package/debug).\n   * The npm module name is used as the debug name.\n   *\n   * `app.debug()` can take any type and will serialize it before outputting.\n   *\n   * > [!note]\n   * > Do not use `debug` from the debug module directly! Using `app.debug()` provided by the server ensures that the plugin taps into the server's debug logging system, including the helper switches in Admin UI's Server Log page.\n   *\n   * @category Status and Debugging\n   */\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  debug(msg: any, ...args: any[]): void\n\n  /**\n   * Register a function to intercept all delta messages _before_ they are processed by the server.\n   *\n   * The callback function should call `next(delta)` with either:\n   * - A modified delta (if it wants to alter the incoming delta)\n   * - With the original delta to process it normally.\n   *\n   * > [!important]\n   * > Not calling `next(delta)` will cause the incoming delta to be dropped and will only show in delta statistics.\n   *\n   * Other, non-delta messages produced by provider pipe elements are emitted normally.\n   *\n   * @example\n   * ```javascript\n   * app.registerDeltaInputHandler((delta, next) => {\n   *   delta.updates.forEach(update => {\n   *     update.values.forEach(pathValue => {\n   *       if(pathValue.startsWith(\"foo\")) {\n   *         pathValue.path = \"bar\"\n   *       }\n   *     })\n   *   })\n   *   next(delta)\n   * });\n   * ```\n   *\n   * @category Data Model\n   */\n  registerDeltaInputHandler(handler: DeltaInputHandler): void\n\n  /**\n   * Set the current status of the plugin that is displayed in the plugin configuration UI and the Dashboard.\n   *\n   * The `msg` parameter should be a short text message describing the current status of the plugin.\n   *\n   * @example\n   * ```javascript\n   * app.setPluginStatus('Initializing');\n   * // Do something\n   * app.setPluginStatus('Done initializing');\n   * ```\n   *\n   * _Note: Replaces deprecated `setProviderStatus()`_\n   *\n   * @category Status and Debugging\n   */\n  setPluginStatus(msg: string): void\n\n  /**\n   * Set the current error status of the plugin that is displayed in the plugin configuration UI and the Dashboard.\n   *\n   * The `msg` parameter should be a short text message describing the current status of the plugin.\n   *\n   * @example\n   * ```javascript\n   * app.setPluginError('Error connecting to database');\n   * ```\n   *\n   * _Note: Replaces deprecated `setProviderError()`_\n   *\n   * @category Status and Debugging\n   */\n  setPluginError(msg: string): void\n\n  /**\n   * Emit a delta message.\n   *\n   * _Note: These deltas are handled by the server in the same way as any other incoming deltas._\n   *\n   * @example\n   * ```javascript\n   * app.handleMessage('my-signalk-plugin', {\n   *   updates: [\n   *     {\n   *       values: [\n   *         {\n   *           path: 'navigation.courseOverGroundTrue',\n   *           value: 1.0476934\n   *         }\n   *       ]\n   *     }\n   *   ]\n   * });\n   * ```\n   *\n   * Plugins emitting deltas that use Signal K v2 paths (like the [Course API](http://localhost:3000/admin/openapi/?urls.primaryName=course) paths) should call `handleMessage` with the optional `skVersion` parameter set to `v2`. This prevents v2 API data getting mixed in v1 paths' data in full data model & the v1 http API.\n   *\n   * Omitting the `skVersion` parameter will cause the delta to be sent as `v1`.\n   *\n   * @param skVersion Optional parameter to specify the Signal K version of the delta.\n   * @category Data Model\n   */\n  handleMessage(id: string, msg: Partial<Delta>, skVersion?: SKVersion): void\n\n  /**\n   * Save changes to the plugin's configuration options.\n   *\n   * @example\n   * ```javascript\n   * let options = {\n   *   myConfigValue = 'Something the plugin calculated'\n   * };\n   *\n   * app.savePluginOptions(options, () => {app.debug('Plugin options saved')});\n   * ```\n   *\n   * @category Configuration\n   */\n  savePluginOptions(\n    configuration: object,\n    cb: (err: NodeJS.ErrnoException | null) => void\n  ): void\n\n  /**\n   * Read the stored plugin configuration options.\n   *\n   * @example\n   * ```javascript\n   * let options = app.readPluginOptions();\n   * ```\n   *\n   * @category Configuration\n   */\n  readPluginOptions(): object\n\n  /**\n   * Returns the full path of the directory where the plugin can persist its internal data, e.g. data files, etc.\n   * Callable in plugin's `start()` function and later, not in plugin constructor function.\n   *\n   * @example\n   * ```javascript\n   * let myDataFile = require('path').join( app.getDataDirPath(), 'somedatafile.ext')\n   * ```\n   * @category Configuration\n   */\n  getDataDirPath(): string\n\n  /**\n   * Register a handler to action [`PUT`](http://signalk.org/specification/1.3.0/doc/put.html) requests for a specific path.\n   *\n   * The action handler can handle the request synchronously or asynchronously.\n   *\n   * The `callback` parameter should be a function which accepts the following arguments:\n   * - `context`\n   * - `path`\n   * - `value`\n   * - `callback`\n   *\n   * For synchronous actions, the handler must return a value describing the response of the request:\n   *\n   * ```javascript\n   * {\n   *   state: 'COMPLETED',\n   *   statusCode: 200\n   * }\n   * ```\n   *\n   *  or\n   *\n   *  ```javascript\n   * {\n   *   state:'COMPLETED',\n   *   statusCode: 400,\n   *   message:'Some Error Message'\n   * }\n   *  ```\n   *\n   *  The `statusCode` value can be any valid HTTP response code.\n   *\n   * For asynchronous actions, that may take considerable time to complete and the requester should not be kept waiting for the result, the handler must return:\n   *\n   * ```javascript\n   * { state: 'PENDING' }\n   * ```\n   *\n   * When the action has completed the handler should call the `callback` function with the result:\n   *\n   * ```javascript\n   * callback({ state: 'COMPLETED', statusCode: 200 })\n   * ```\n   * or\n   *\n   * ```javascript\n   * callback({\n   *   state:'COMPLETED',\n   *   statusCode: 400,\n   *   message:'Some Error Message'\n   * })\n   * ```\n   *\n   * _Example: Synchronous response:_\n   * ```javascript\n   * function myActionHandler(context, path, value, callback) {\n   *   if(doSomething(context, path, value)){\n   *     return { state: 'COMPLETED', statusCode: 200 };\n   *   } else {\n   *     return { state: 'COMPLETED', statusCode: 400 };\n   *   }\n   * }\n   *\n   * plugin.start = (options) => {\n   *   app.registerPutHandler('vessels.self', 'some.path', myActionHandler, 'somesource.1');\n   * }\n   * ```\n   *\n   * _Example: Asynchronous response:_\n   * ```javascript\n   * function myActionHandler(context, path, value, callback) {\n   *\n   *   doSomethingAsync(context, path, value, (result) =>{\n   *     if(result) {\n   *       callback({ state: 'COMPLETED', result: 200 })\n   *     } else {\n   *       callback({ state: 'COMPLETED', result: 400 })\n   *     }\n   *   });\n   *\n   *   return { state: 'PENDING' };\n   * }\n   *\n   * plugin.start = (options) => {\n   *   app.registerPutHandler('vessels.self', 'some.path', myActionHandler);\n   * }\n   * ```\n   */\n  registerPutHandler(\n    context: string,\n    path: string,\n    callback: ActionHandler,\n    source?: string\n  ): void\n\n  registerActionHandler(\n    context: string,\n    path: string,\n    callback: ActionHandler,\n    source?: string\n  ): void\n\n  registerHistoryProvider(provider: {\n    hasAnydata: (options: object, cb: (hasResults: boolean) => void) => void\n    getHistory: (\n      date: Date,\n      path: string,\n      cb: (deltas: object[]) => void\n    ) => void\n    streamHistory: (\n      /** Primus spark connection - typed as unknown due to dynamic Primus types */\n      spark: unknown,\n      options: object,\n      onDelta: (delta: object) => void\n    ) => void\n  }): void\n\n  /**\n   * Returns Ports object which contains information about the serial ports available on the machine.\n   *\n   * @category Serial Ports\n   */\n  getSerialPorts(): Promise<Ports>\n\n  /**\n   * Report to the server that the plugin has sent data to other hosts, which will update the output message rate and\n   * icon in the Dashboard.\n   *\n   * _Note: This function is for use when the plugin is sending data to hosts other than the Signal K server (e.g.\n   * network packets, http requests or messages sent to a broker)._\n   *\n   * _**This function should NOT be used for deltas that the plugin sends with `handleMessage()`!**_\n   *\n   * @example\n   * ```javascript\n   * app.reportOutputMessages(54);\n   * ```\n   *\n   * @param count - number of handled messages between the last\n   * call and this one. If omitted the call will count as one output\n   * message.\n   *\n   * @category Status and Debugging\n   */\n  reportOutputMessages(count?: number): void\n}\n\n/**\n * @deprecated Use {@link ServerAPI} instead.\n * @category Server API\n */\nexport type PluginServerApp = ServerAPI\n\n/** @category Server API */\nexport type DeltaInputHandler = (\n  delta: Delta,\n  next: (delta: Delta) => void\n) => void\n\n/** @category Server API */\nexport interface Ports {\n  byId: string[]\n  byPath: string[]\n  byOpenPlotter: string[]\n  /** Raw serial port info from serialport library - structure varies by platform */\n  serialports: unknown\n}\n\n/** @category Server API */\nexport interface SelfIdentity {\n  selfType: string\n  selfId: string\n  selfContext: string\n}\n\n/** @category Server API */\nexport interface Metadata {\n  units?: string\n  description?: string\n}\n\n/**\n * Handler function for PUT/action requests.\n * @param context - The context (e.g., 'vessels.self')\n * @param path - The path specified in the PUT request\n * @param value - The value being set (type depends on the path)\n * @param callback - Callback for async completion\n * @category Server API\n */\nexport type ActionHandler = (\n  context: string,\n  path: string,\n  value: unknown,\n  callback: (result: ActionResult) => void\n) => ActionResult\n\n/** @category Server API */\nexport interface ActionResult {\n  state: 'COMPLETED' | 'PENDING' | 'FAILED'\n  statusCode?: number\n  message?: string\n  timestamp?: string\n}\n"
  },
  {
    "path": "packages/server-api/src/streambundle.ts",
    "content": "import { NormalizedDelta, Path, Value } from './deltas'\nimport * as Bacon from 'baconjs'\n\n/** @category Server API */\nexport interface StreamBundle {\n  /**\n   * Get a [Bacon JS](https://baconjs.github.io/) stream for a Signal K path that will stream values from any context.\n   *\n   * Stream values are objects with the following structure:\n   * ```javascript\n   *   {\n   *     path: ...,\n   *     value: ...,\n   *     context: ...,\n   *     source: ...,\n   *     $source: ...,\n   *     timestamp: ...\n   *   }\n   * ```\n   *\n   * @example\n   * ```javascript\n   * app.streambundle\n   *   .getBus('navigation.position')\n   *   .onValue(pos => app.debug(pos));\n   *\n   * /* output\n   * {\n   *   path: 'navigation.position',\n   *   value: { longitude: 24.7366117, latitude: 59.72493 },\n   *   context: 'vessels.urn:mrn:imo:mmsi:2766160',\n   *   source: {\n   *     label: 'n2k-sample-data',\n   *     type: 'NMEA2000',\n   *     pgn: 129039,\n   *     src: '43'\n   *   },\n   *   '$source': 'n2k-sample-data.43',\n   *   timestamp: '2014-08-15T19:00:02.392Z'\n   * }\n   * {\n   *   path: 'navigation.position',\n   *   value: { longitude: 24.82365, latitude: 58.159598 },\n   *   context: 'vessels.urn:mrn:imo:mmsi:2766140',\n   *   source: {\n   *     label: 'n2k-sample-data',\n   *     type: 'NMEA2000',\n   *     pgn: 129025,\n   *     src: '160'\n   *   },\n   *   '$source': 'n2k-sample-data.160',\n   *   timestamp: '2014-08-15T19:00:02.544Z'\n   * }\n   * *\\/\n   * ```\n   *\n   * @param path - If it is not provided the returned stream produces values for all paths.\n   */\n  getBus(path?: Path): Bacon.Bus<NormalizedDelta>\n\n  /**\n   * Get a [Bacon JS](https://baconjs.github.io/) stream for path from the `vessels.self` context.\n   *\n   * @example\n   * ```javascript\n   *  app.streambundle\n   *    .getSelfBus('navigation.position')\n   *    .onValue(pos => app.debug(pos));\n   * ```\n   * Output:\n   * ```\n   * {\n   *   path: 'navigation.position',\n   *   value: { longitude: 24.7366117, latitude: 59.72493 },\n   *   context: 'vessels.urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60',\n   *   source: {\n   *     label: 'n2k-sample-data',\n   *     type: 'NMEA2000',\n   *     pgn: 129039,\n   *     src: '43'\n   *   },\n   *   '$source': 'n2k-sample-data.43',\n   *   timestamp: '2014-08-15T19:00:02.392Z'\n   * }\n   * {\n   *   path: 'navigation.position',\n   *   value: { longitude: 24.7366208, latitude: 59.7249198 },\n   *   context: 'vessels.urn:mrn:signalk:uuid:a9d2c3b1-611b-4b00-8628-0b89d014ed60',\n   *   source: {\n   *     label: 'n2k-sample-data',\n   *     type: 'NMEA2000',\n   *     pgn: 129025,\n   *     src: '160'\n   *   },\n   *   '$source': 'n2k-sample-data.160',\n   *   timestamp: '2014-08-15T19:00:02.544Z'\n   * }\n   * ```\n   *\n   * @param path - If it is not provided the returned stream produces values for all paths.\n   */\n  getSelfBus(path: Path): Bacon.Bus<NormalizedDelta>\n\n  /**\n   * Get a [Bacon JS](https://baconjs.github.io/) stream for a path in the `vessels.self` context.\n   *\n   * > [!NOTE]\n   * > This is similar to {@link getSelfBus}, except that the stream values contain only the `value` property from the incoming deltas.\n   *\n   * @example\n   * ```javascript\n   * app.streambundle\n   *   .getSelfStream('navigation.position')\n   *   .onValue(pos => app.debug(pos));\n   * ```\n   * Output:\n   * ```\n   *   my-signalk-plugin { longitude: 24.736677, latitude: 59.7250108 } +600ms\n   *   my-signalk-plugin { longitude: 24.736645, latitude: 59.7249883 } +321ms\n   *   my-signalk-plugin { longitude: 24.7366563, latitude: 59.7249807 } +174ms\n   *   my-signalk-plugin { longitude: 24.7366563, latitude: 59.724980699999996 } +503ms\n   *\n   * @param path - If it is not provided the returned stream produces values for all paths.\n   */\n  getSelfStream(path?: Path): Bacon.Bus<Value>\n\n  /**\n   * Get a list of available full data model paths maintained by the server.\n   *\n   * @example\n   * ```javascript\n   * app.streambundle.getAvailablePaths();\n   * ```\n   * Returns\n   * ```json\n   * [\n   *   \"navigation.speedOverGround\",\n   *   \"navigation.courseOverGroundTrue\",\n   *   \"navigation.courseGreatCircle.nextPoint.position\",\n   *   \"navigation.position\",\n   *   \"navigation.gnss.antennaAltitude\",\n   *   \"navigation.gnss.satellites\",\n   *   \"navigation.gnss.horizontalDilution\",\n   *   \"navigation.gnss.positionDilution\",\n   *   \"navigation.gnss.geoidalSeparation\",\n   *   \"navigation.gnss.type\",\"navigation.gnss.methodQuality\",\n   *   \"navigation.gnss.integrity\",\n   *   \"navigation.magneticVariation\",\n   * ]\n   * ```\n   */\n  getAvailablePaths(): Path[]\n}\n"
  },
  {
    "path": "packages/server-api/src/subscriptionmanager.ts",
    "content": "import { RelativePositionOrigin } from '.'\nimport { Context, Delta, Path } from './deltas'\n\n/** @category Server API  */\nexport interface SubscriptionManager {\n  subscribe(\n    command: SubscribeMessage,\n    unsubscribes: Unsubscribes,\n    errorCallback: (err: unknown) => void,\n    callback: SubscribeCallback,\n    user?: string\n  ): void\n\n  unsubscribe(msg: UnsubscribeMessage, unsubscribes: Unsubscribes): void\n}\n\n/** @category Server API  */\nexport type SubscribeCallback = (delta: Delta) => void\n\n/** @category Server API  */\nexport type Unsubscribes = Array<() => void>\n\n/**\n * A message to allow a client to subscribe for data updates from a signalk server\n *\n * @see [SignalK Specification: Subscription Protocol](https://signalk.org/specification/1.7.0/doc/subscription_protocol.html?highlight=subscribe#introduction)\n * @category Server API\n */\nexport interface SubscribeMessage {\n  /**\n   * The context path for all subsequent paths, usually a vessel's path.\n   */\n  context: Context | RelativePositionOrigin\n\n  /**\n   * An array of paths to subscribe to, with optional criteria\n   */\n  subscribe: SubscriptionOptions[]\n\n  /**\n   * When true, the server will send cached values for ALL paths matching the context\n   * filter once (for discovery), plus announce any new paths that appear later.\n   * This allows clients using granular subscriptions to discover available paths\n   * without subscribing to everything continuously.\n   */\n  announceNewPaths?: boolean\n}\n\n/** @inline\n */\ntype FixedPolicyOptions = {\n  /**\n   * - `fixed` - Send the last known values every `period`.\n   * - `inline` - Send all changes as fast as they are received, but no faster than `minPeriod`. With this policy the client has an immediate copy of the current state of the server.\n   */\n  policy?: 'fixed'\n\n  /**\n   * The subscription will be sent every period millisecs.\n   */\n  period?: number\n\n  /**\n   * If policy=immediate or ideal, consecutive messages will be buffered until minPeriod has expired so the receiver is not swamped.\n   */\n  minPeriod?: never\n}\n\n/** @inline docs inherited from above\n */\ntype InstantPolicyOptions = {\n  policy?: 'instant'\n  minPeriod?: number\n  period?: never\n}\n\n/**\n * A path object with optional criteria to control output\n * @inline\n * @category Server API\n */\nexport type SubscriptionOptions = (\n  | FixedPolicyOptions\n  | InstantPolicyOptions\n) & {\n  /**\n   * The path to subscribe to.\n   */\n  path?: Path\n\n  /**\n   * The signal K format to use for the message. Only `delta` is currently supported. See [Signal K Data Model](https://signalk.org/specification/1.7.0/doc/data_model.html)\n   */\n  format?: 'delta'\n}\n\n/**\n * A message to allow a client to unsubscribe from data updates from a signalk server\n * @category Server API\n */\nexport interface UnsubscribeMessage {\n  /**\n   * The root path for all subsequent paths, usually a vessel's path.\n   *\n   * > [!NOTE]\n   * > Currently only `*` is supported for the context.\n   */\n  context: '*'\n\n  /**\n   * An array of paths to unsubscribe from.\n\n  * > [!NOTE]\n   * > Currently only one entry is supported, and it must have `\"path\": \"*\"`.\n   */\n  unsubscribe: [\n    {\n      path: '*'\n    }\n  ]\n}\n"
  },
  {
    "path": "packages/server-api/src/typebox/autopilot-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Autopilot API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\n\n/** Autopilot state definition (name + engaged flag) */\nexport const AutopilotStateDefSchema = Type.Object(\n  {\n    name: Type.String({\n      description: 'Autopilot state name',\n      examples: ['auto']\n    }),\n    engaged: Type.Boolean({\n      description: 'true if state indicates actively steering',\n      examples: [true]\n    })\n  },\n  { $id: 'AutopilotStateDef' }\n)\n\n/** Autopilot action definition */\nexport const AutopilotActionDefSchema = Type.Object(\n  {\n    id: Type.Union(\n      [\n        Type.Literal('dodge'),\n        Type.Literal('tack'),\n        Type.Literal('gybe'),\n        Type.Literal('courseCurrentPoint'),\n        Type.Literal('courseNextPoint')\n      ],\n      { description: 'Action identifier' }\n    ),\n    name: Type.String({ description: 'Display name', examples: ['Tack'] }),\n    available: Type.Boolean({\n      description: 'true if can be used in current AP mode of operation'\n    })\n  },\n  { $id: 'AutopilotActionDef' }\n)\n\n/** Autopilot options — available states, modes, and actions */\nexport const AutopilotOptionsSchema = Type.Object(\n  {\n    states: Type.Array(AutopilotStateDefSchema, {\n      description: 'Available autopilot states'\n    }),\n    modes: Type.Array(Type.String(), {\n      description: 'Supported modes of operation',\n      examples: [['compass', 'gps', 'wind']]\n    }),\n    actions: Type.Array(AutopilotActionDefSchema, {\n      description: 'Actions the autopilot supports'\n    })\n  },\n  {\n    $id: 'AutopilotOptions',\n    description: 'Available autopilot states, modes, and actions'\n  }\n)\n\n/** Autopilot info — full state of an autopilot device */\nexport const AutopilotInfoSchema = Type.Object(\n  {\n    options: AutopilotOptionsSchema,\n    target: Type.Union([Type.Number(), Type.Null()], {\n      description:\n        'Current target value in radians. Interpretation depends on the current mode (heading for compass, wind angle for wind mode).',\n      units: 'rad'\n    }),\n    mode: Type.Union([Type.String(), Type.Null()], {\n      description: 'Current autopilot mode'\n    }),\n    state: Type.Union([Type.String(), Type.Null()], {\n      description: 'Current autopilot state'\n    }),\n    engaged: Type.Boolean({\n      description: 'true if autopilot is actively steering'\n    })\n  },\n  {\n    $id: 'AutopilotInfo',\n    description: 'Full state of an autopilot device'\n  }\n)\nexport type AutopilotInfoType = Static<typeof AutopilotInfoSchema>\n\n/** Angle input — value with optional units (deg or rad) */\nexport const AngleInputSchema = Type.Object(\n  {\n    value: Type.Number({\n      description: 'Angle value',\n      examples: [129]\n    }),\n    units: Type.Optional(\n      Type.Union([Type.Literal('deg'), Type.Literal('rad')], {\n        description: 'Units for the angle value. Default is radians.',\n        default: 'rad'\n      })\n    )\n  },\n  {\n    $id: 'AngleInput',\n    description: 'Angle input with optional units (deg or rad)'\n  }\n)\nexport type AngleInput = Static<typeof AngleInputSchema>\n\n/** String value input (for state, mode) */\nexport const StringValueInputSchema = Type.Object(\n  {\n    value: Type.String({ description: 'String value to set' })\n  },\n  { $id: 'StringValueInput' }\n)\n"
  },
  {
    "path": "packages/server-api/src/typebox/course-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Course API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\nimport {\n  PositionSchema,\n  IsoTimePattern,\n  IsoTimeSchema,\n  SignalKUuidPattern,\n  OkResponseSchema,\n  ErrorResponseSchema\n} from './shared-schemas'\n\nexport { IsoTimeSchema, PositionSchema, OkResponseSchema, ErrorResponseSchema }\nexport type { IsoTimeType } from './shared-schemas'\n\n/** Signal K route resource href (UUID v4 format). */\nexport const SignalKHrefRouteSchema = Type.String({\n  $id: 'SignalKHrefRoute',\n  pattern: `^/resources/routes/${SignalKUuidPattern}$`,\n  description: 'Pointer to route resource.',\n  examples: ['/resources/routes/ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a']\n})\n\n/** Signal K waypoint resource href (UUID v4 format). */\nexport const SignalKHrefWaypointSchema = Type.String({\n  $id: 'SignalKHrefWaypoint',\n  pattern: `^/resources/waypoints/${SignalKUuidPattern}$`,\n  description: 'Pointer to waypoint resource.',\n  examples: ['/resources/waypoints/ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a']\n})\n\n/** Arrival circle radius in meters (non-negative). */\nexport const ArrivalCircleSchema = Type.Number({\n  $id: 'ArrivalCircle',\n  minimum: 0,\n  description: 'Radius of arrival zone in meters',\n  examples: [500]\n})\nexport type ArrivalCircleType = Static<typeof ArrivalCircleSchema>\n\nexport type PositionType = Static<typeof PositionSchema>\n\n/** Type of course point. */\nexport const CoursePointTypeSchema = Type.Union(\n  [\n    Type.Literal('VesselPosition'),\n    Type.Literal('RoutePoint'),\n    Type.Literal('Location')\n  ],\n  {\n    $id: 'CoursePointType',\n    description: 'Type of course point'\n  }\n)\n\n/** Destination by waypoint href. */\nexport const HrefDestinationSchema = Type.Object(\n  {\n    href: Type.String({\n      pattern: `^/resources/waypoints/${SignalKUuidPattern}$`,\n      description:\n        'Reference to a related waypoint resource. A pointer to the resource UUID.',\n      examples: ['/resources/waypoints/ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a']\n    })\n  },\n  { $id: 'HrefDestination' }\n)\nexport type HrefDestinationType = Static<typeof HrefDestinationSchema>\n\n/** Destination by position coordinates. */\nexport const PositionDestinationSchema = Type.Object(\n  {\n    position: PositionSchema\n  },\n  { $id: 'PositionDestination', description: 'Location coordinates.' }\n)\nexport type PositionDestinationType = Static<typeof PositionDestinationSchema>\n\n/**\n * PUT /course/destination request body.\n * Either a waypoint href or a position, optionally with an arrival circle.\n */\nexport const SetDestinationBodySchema = Type.Intersect(\n  [\n    Type.Union([HrefDestinationSchema, PositionDestinationSchema]),\n    Type.Object({\n      arrivalCircle: Type.Optional(ArrivalCircleSchema)\n    })\n  ],\n  { $id: 'SetDestinationBody' }\n)\nexport type SetDestinationBodyType = Static<typeof SetDestinationBodySchema>\n\n/** PUT /course/activeRoute request body. */\nexport const RouteDestinationSchema = Type.Object(\n  {\n    href: SignalKHrefRouteSchema,\n    pointIndex: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        default: 0,\n        description:\n          '0 based index of the point in the route to set as the destination'\n      })\n    ),\n    reverse: Type.Optional(\n      Type.Boolean({\n        default: false,\n        description:\n          'Set to true to navigate the route points in reverse order.'\n      })\n    ),\n    arrivalCircle: Type.Optional(ArrivalCircleSchema)\n  },\n  { $id: 'RouteDestination' }\n)\nexport type RouteDestinationType = Static<typeof RouteDestinationSchema>\n\n/** PUT /course/arrivalCircle request body */\nexport const ArrivalCircleBodySchema = Type.Object(\n  {\n    value: ArrivalCircleSchema\n  },\n  { $id: 'ArrivalCircleBody' }\n)\nexport type ArrivalCircleBodyType = Static<typeof ArrivalCircleBodySchema>\n\n/** PUT /course/targetArrivalTime request body */\nexport const TargetArrivalTimeBodySchema = Type.Object(\n  {\n    value: Type.Union([\n      Type.String({\n        pattern: IsoTimePattern,\n        description: 'ISO 8601 date-time string'\n      }),\n      Type.Null()\n    ])\n  },\n  { $id: 'TargetArrivalTimeBody' }\n)\nexport type TargetArrivalTimeBodyType = Static<\n  typeof TargetArrivalTimeBodySchema\n>\n\n/** PUT /course/activeRoute/nextPoint request body */\nexport const NextPointBodySchema = Type.Object(\n  {\n    value: Type.Optional(\n      Type.Number({\n        default: 1,\n        description: 'Index offset of point in route (-ve = previous)'\n      })\n    )\n  },\n  { $id: 'NextPointBody' }\n)\nexport type NextPointBodyType = Static<typeof NextPointBodySchema>\n\n/** PUT /course/activeRoute/pointIndex request body */\nexport const PointIndexBodySchema = Type.Object(\n  {\n    value: Type.Number({\n      minimum: 0,\n      description: 'Index of point in route to set as destination.',\n      examples: [2]\n    })\n  },\n  { $id: 'PointIndexBody' }\n)\nexport type PointIndexBodyType = Static<typeof PointIndexBodySchema>\n\n/** PUT /course/activeRoute/reverse request body */\nexport const ReverseBodySchema = Type.Object(\n  {\n    pointIndex: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description: 'Index of point in route to set as destination.',\n        examples: [2]\n      })\n    )\n  },\n  { $id: 'ReverseBody' }\n)\nexport type ReverseBodyType = Static<typeof ReverseBodySchema>\n\n/** Active route state. */\nexport const ActiveRouteSchema = Type.Object(\n  {\n    href: SignalKHrefRouteSchema,\n    name: Type.String({\n      description: 'Name of route.',\n      examples: ['Here to eternity.']\n    }),\n    pointIndex: Type.Number({\n      minimum: 0,\n      description:\n        '0 based index of the point in the route that is the current destination'\n    }),\n    pointTotal: Type.Number({\n      description: 'Total number of points in the route'\n    }),\n    reverse: Type.Boolean({\n      description:\n        'When true indicates the route points are being navigated in reverse order.'\n    })\n  },\n  { $id: 'ActiveRoute' }\n)\nexport type ActiveRouteType = Static<typeof ActiveRouteSchema>\n\n/** Navigation point (next or previous). */\nexport const NextPreviousPointSchema = Type.Object(\n  {\n    href: Type.Optional(\n      Type.String({ description: 'Reference to a waypoint resource.' })\n    ),\n    type: Type.String({\n      description:\n        \"Type of point. Known values: VesselPosition (vessel's current location), RoutePoint (a point on the active route), Location (an arbitrary geographic position).\",\n      examples: ['RoutePoint', 'Location', 'VesselPosition']\n    }),\n    position: PositionSchema\n  },\n  { $id: 'NextPreviousPoint' }\n)\nexport type NextPreviousPointType = Static<typeof NextPreviousPointSchema>\n\n/** Full course state response. */\nexport const CourseInfoSchema = Type.Object(\n  {\n    startTime: Type.Union(\n      [Type.String({ pattern: IsoTimePattern }), Type.Null()],\n      {\n        description:\n          'ISO 8601 timestamp when the course was set, or null when no course is active'\n      }\n    ),\n    targetArrivalTime: Type.Union(\n      [Type.String({ pattern: IsoTimePattern }), Type.Null()],\n      {\n        description: 'ISO 8601 target arrival time, or null when not set'\n      }\n    ),\n    arrivalCircle: Type.Number({\n      minimum: 0,\n      description: 'Radius of arrival zone in meters',\n      units: 'm'\n    }),\n    activeRoute: Type.Union([ActiveRouteSchema, Type.Null()], {\n      description: 'The active route, or null when navigating to a point'\n    }),\n    nextPoint: Type.Union([NextPreviousPointSchema, Type.Null()], {\n      description: 'The next navigation point, or null when no course is set'\n    }),\n    previousPoint: Type.Union([NextPreviousPointSchema, Type.Null()], {\n      description:\n        'The previous navigation point (departure point or last waypoint passed), or null when no course is set'\n    })\n  },\n  {\n    $id: 'CourseInfo',\n    description: 'Course state including active route and navigation points.'\n  }\n)\nexport type CourseInfoType = Static<typeof CourseInfoSchema>\n\n/**\n * Calculated course values derived from vessel position and destination.\n */\nexport const CourseCalculationsSchema = Type.Object(\n  {\n    calcMethod: Type.Union(\n      [Type.Literal('GreatCircle'), Type.Literal('Rhumbline')],\n      {\n        description: 'Calculation method by which values are derived.',\n        default: 'GreatCircle',\n        examples: ['Rhumbline']\n      }\n    ),\n    crossTrackError: Type.Optional(\n      Type.Number({\n        description:\n          \"The distance from the vessel's present position to the closest point on a line (track) between previousPoint and nextPoint. A negative number indicates that the vessel is currently to the left of this line (and thus must steer right to compensate), a positive number means the vessel is to the right of the line (steer left to compensate).\",\n        units: 'm',\n        examples: [458.784]\n      })\n    ),\n    bearingTrackTrue: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          'The bearing of a line between previousPoint and nextPoint, relative to true north',\n        units: 'rad',\n        examples: [4.58491]\n      })\n    ),\n    bearingTrackMagnetic: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          'The bearing of a line between previousPoint and nextPoint, relative to magnetic north',\n        units: 'rad',\n        examples: [4.51234]\n      })\n    ),\n    estimatedTimeOfArrival: Type.Optional(\n      Type.String({\n        pattern: IsoTimePattern,\n        description: 'The estimated time of arrival at nextPoint position.'\n      })\n    ),\n    distance: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          \"The distance between the vessel's present position and the nextPoint\",\n        units: 'm',\n        examples: [10157]\n      })\n    ),\n    bearingTrue: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          \"The bearing of a line between the vessel's current position and nextPoint, relative to true north\",\n        units: 'rad',\n        examples: [4.58491]\n      })\n    ),\n    bearingMagnetic: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          \"The bearing of a line between the vessel's current position and nextPoint, relative to magnetic north\",\n        units: 'rad',\n        examples: [4.51234]\n      })\n    ),\n    velocityMadeGood: Type.Optional(\n      Type.Number({\n        description:\n          'The velocity component of the vessel towards the nextPoint',\n        units: 'm/s',\n        examples: [7.2653]\n      })\n    ),\n    timeToGo: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        description:\n          \"Time to reach nextPoint's perpendicular with current speed and direction\",\n        units: 's',\n        examples: [8491]\n      })\n    ),\n    targetSpeed: Type.Optional(\n      Type.Number({\n        description:\n          'The average velocity required to reach the destination at the targetArrivalTime',\n        units: 'm/s',\n        examples: [2.2653]\n      })\n    ),\n    previousPoint: Type.Optional(\n      Type.Object({\n        distance: Type.Optional(\n          Type.Number({\n            minimum: 0,\n            description:\n              \"The distance between the vessel's present position and the start point\",\n            units: 'm',\n            examples: [10157]\n          })\n        )\n      })\n    ),\n    route: Type.Optional(\n      Type.Object({\n        distance: Type.Optional(\n          Type.Number({\n            minimum: 0,\n            description: 'The distance along the route to the last point',\n            units: 'm',\n            examples: [15936]\n          })\n        ),\n        timeToGo: Type.Optional(\n          Type.Number({\n            minimum: 0,\n            description:\n              'Time to reach perpendicular of last point in route with current speed and direction',\n            units: 's',\n            examples: [10452]\n          })\n        ),\n        estimatedTimeOfArrival: Type.Optional(\n          Type.String({\n            pattern: IsoTimePattern,\n            description: 'The estimated time of arrival at last point in route.'\n          })\n        )\n      })\n    )\n  },\n  {\n    $id: 'CourseCalculations',\n    description: 'Calculated course data values.'\n  }\n)\nexport type CourseCalculationsType = Static<typeof CourseCalculationsSchema>\n\n/**\n * v2 course delta paths emitted on navigation.course.*\n * Emitted via handleMessage() with SKVersion.v2\n */\nexport const CourseDeltaV2Schema = Type.Object(\n  {\n    startTime: Type.Union([\n      Type.String({ pattern: IsoTimePattern }),\n      Type.Null()\n    ]),\n    targetArrivalTime: Type.Union([\n      Type.String({ pattern: IsoTimePattern }),\n      Type.Null()\n    ]),\n    activeRoute: Type.Union([ActiveRouteSchema, Type.Null()]),\n    arrivalCircle: Type.Number({\n      minimum: 0,\n      description: 'Radius of arrival zone in meters',\n      units: 'm'\n    }),\n    previousPoint: Type.Union([NextPreviousPointSchema, Type.Null()]),\n    nextPoint: Type.Union([NextPreviousPointSchema, Type.Null()])\n  },\n  {\n    $id: 'CourseDeltaV2',\n    description:\n      'Course delta values emitted under navigation.course.* (Signal K v2)'\n  }\n)\n\n/**\n * v1 course delta paths emitted on courseGreatCircle.* / courseRhumbline.*\n * Emitted via handleMessage() with SKVersion.v1\n */\nexport const CourseDeltaV1Schema = Type.Object(\n  {\n    'activeRoute.href': Type.Union([Type.String(), Type.Null()]),\n    'activeRoute.startTime': Type.Union([\n      Type.String({ pattern: IsoTimePattern }),\n      Type.Null()\n    ]),\n    'nextPoint.value.href': Type.Union([Type.String(), Type.Null()]),\n    'nextPoint.value.type': Type.Union([Type.String(), Type.Null()]),\n    'nextPoint.position': Type.Union([PositionSchema, Type.Null()]),\n    'nextPoint.arrivalCircle': Type.Number({\n      minimum: 0,\n      description: 'Radius of arrival zone in meters',\n      units: 'm'\n    }),\n    'previousPoint.position': Type.Union([PositionSchema, Type.Null()]),\n    'previousPoint.value.type': Type.Union([Type.String(), Type.Null()])\n  },\n  {\n    $id: 'CourseDeltaV1',\n    description:\n      'Course delta values emitted under navigation.courseGreatCircle.* and navigation.courseRhumbline.* (Signal K v1)'\n  }\n)\n\n/** API config response */\nexport const CourseConfigSchema = Type.Object(\n  {\n    apiOnly: Type.Boolean({\n      description:\n        'When true, course data is only available via the API and not emitted as v1 deltas'\n    })\n  },\n  { $id: 'CourseConfig', description: 'Course API configuration' }\n)\n"
  },
  {
    "path": "packages/server-api/src/typebox/discovery-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Discovery API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\n\n/**\n * v1 endpoint descriptor — protocol addresses for a specific API version.\n */\nexport const V1EndpointSchema = Type.Object(\n  {\n    version: Type.String({\n      description: 'Version of the Signal K API',\n      examples: ['1.1.0']\n    }),\n    'signalk-http': Type.Optional(\n      Type.String({\n        description: \"Address of the server's http API.\",\n        examples: ['http://192.168.1.88:3000/signalk/v1/api/']\n      })\n    ),\n    'signalk-ws': Type.Optional(\n      Type.String({\n        description: \"Address of the server's WebSocket API.\",\n        examples: ['ws://192.168.1.88:3000/signalk/v1/stream']\n      })\n    ),\n    'signalk-tcp': Type.Optional(\n      Type.String({\n        description: \"Address of the server's Signal K over TCP API.\",\n        examples: ['tcp://192.168.1.88:8375']\n      })\n    )\n  },\n  { $id: 'V1Endpoint' }\n)\n\n/**\n * Discovery response — server version and service endpoints.\n */\nexport const DiscoveryDataSchema = Type.Object(\n  {\n    endpoints: Type.Object({\n      v1: Type.Optional(V1EndpointSchema)\n    }),\n    server: Type.Object({\n      id: Type.String({\n        description: 'Id of the server implementation',\n        examples: ['signalk-server-node']\n      }),\n      version: Type.String({\n        description: 'Server software version'\n      })\n    })\n  },\n  {\n    $id: 'DiscoveryData',\n    description: 'Server version and service endpoint discovery data'\n  }\n)\nexport type DiscoveryData = Static<typeof DiscoveryDataSchema>\n\n/**\n * Plugin metadata for feature discovery.\n */\nexport const PluginMetaDataSchema = Type.Object(\n  {\n    id: Type.String({ description: 'Plugin ID.' }),\n    name: Type.String({ description: 'Plugin name.' }),\n    version: Type.String({ description: 'Plugin version.' })\n  },\n  {\n    $id: 'PluginMetaData',\n    description: 'Plugin metadata.'\n  }\n)\nexport type PluginMetaData = Static<typeof PluginMetaDataSchema>\n\n/**\n * Server features response — available APIs and installed plugins.\n */\nexport const FeaturesModelSchema = Type.Object(\n  {\n    apis: Type.Array(Type.String(), {\n      description: 'Implemented APIs.'\n    }),\n    plugins: Type.Array(PluginMetaDataSchema, {\n      description: 'Installed Plugins.'\n    })\n  },\n  {\n    $id: 'FeaturesModel',\n    description: 'Features response'\n  }\n)\nexport type FeaturesModel = Static<typeof FeaturesModelSchema>\n"
  },
  {
    "path": "packages/server-api/src/typebox/history-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K History API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\n\nexport const AggregateMethodSchema = Type.Union(\n  [\n    Type.Literal('average'),\n    Type.Literal('min'),\n    Type.Literal('max'),\n    Type.Literal('first'),\n    Type.Literal('last'),\n    Type.Literal('mid'),\n    Type.Literal('middle_index'),\n    Type.Literal('sma'),\n    Type.Literal('ema')\n  ],\n  {\n    $id: 'AggregateMethod',\n    description:\n      \"Aggregation method for historical data. The 'sma' (Simple Moving Average) and 'ema' (Exponential Moving Average) methods accept an optional numeric parameter separated by colon: for sma it is the number of samples, for ema it is the alpha value (0-1).\"\n  }\n)\nexport type AggregateMethodSchemaType = Static<typeof AggregateMethodSchema>\n\nexport const ValuesResponseSchema = Type.Object(\n  {\n    context: Type.String({\n      description: 'Signal K context that the data is about',\n      examples: ['vessels.urn:mrn:imo:mmsi:123456789']\n    }),\n    range: Type.Object({\n      from: Type.String({\n        format: 'date-time',\n        description: 'Start of the time range, inclusive, as UTC timestamp',\n        examples: ['2018-03-20T09:12:28Z']\n      }),\n      to: Type.String({\n        format: 'date-time',\n        description: 'End of the time range, inclusive, as UTC timestamp',\n        examples: ['2018-03-20T09:13:28Z']\n      })\n    }),\n    values: Type.Array(\n      Type.Object({\n        path: Type.String({ description: 'Signal K path' }),\n        method: Type.String({ description: 'Aggregation method' })\n      })\n    ),\n    data: Type.Array(\n      Type.Array(\n        Type.Union([\n          Type.String(),\n          Type.Number(),\n          Type.Null(),\n          Type.Array(Type.Number())\n        ]),\n        {\n          description:\n            'Data for a point in time. The first array element is the timestamp in ISO 8601 format. Missing data for a path is returned as null'\n        }\n      ),\n      {\n        examples: [[['2023-11-09T02:45:38.160Z', 13.2, null, [-120.5, 59.2]]]]\n      }\n    )\n  },\n  {\n    $id: 'HistoryValuesResponse',\n    description: 'Historical data series with header and data rows'\n  }\n)\nexport type ValuesResponseSchemaType = Static<typeof ValuesResponseSchema>\n\nexport const PathSpecSchema = Type.Object(\n  {\n    path: Type.String({ description: 'Signal K path' }),\n    aggregate: AggregateMethodSchema,\n    parameter: Type.Array(Type.String(), {\n      description:\n        'Additional parameters for the aggregation method (e.g., sample count for sma, alpha for ema)'\n    })\n  },\n  {\n    $id: 'PathSpec',\n    description:\n      'Specification for a path to query, including the aggregation method and optional parameters'\n  }\n)\nexport type PathSpecSchemaType = Static<typeof PathSpecSchema>\n\nexport const HistoryProviderInfoSchema = Type.Object(\n  {\n    isDefault: Type.Boolean({\n      description: '`true` if this provider is set as the default.'\n    })\n  },\n  { $id: 'HistoryProviderInfo' }\n)\nexport type HistoryProviderInfoSchemaType = Static<\n  typeof HistoryProviderInfoSchema\n>\n\nexport const HistoryProvidersResponseSchema = Type.Record(\n  Type.String({ description: 'Plugin id of the history provider' }),\n  HistoryProviderInfoSchema,\n  {\n    $id: 'HistoryProvidersResponse',\n    description: 'Map of registered history providers keyed by plugin id'\n  }\n)\nexport type HistoryProvidersResponseSchemaType = Static<\n  typeof HistoryProvidersResponseSchema\n>\n"
  },
  {
    "path": "packages/server-api/src/typebox/index.ts",
    "content": "export * from './shared-schemas'\nexport * from './protocol-schemas'\nexport * from './autopilot-schemas'\nexport * from './course-schemas'\nexport * from './discovery-schemas'\nexport * from './history-schemas'\nexport * from './notifications-schemas'\nexport * from './radar-schemas'\nexport * from './resources-schemas'\nexport * from './weather-schemas'\n"
  },
  {
    "path": "packages/server-api/src/typebox/notifications-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Notifications API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\nimport {\n  AlarmStateSchema,\n  AlarmMethodSchema,\n  AlarmStatusSchema,\n  NotificationSchema\n} from './protocol-schemas'\nimport { SignalKUuidPattern } from './shared-schemas'\n\nexport {\n  AlarmStateSchema,\n  AlarmMethodSchema,\n  AlarmStatusSchema,\n  NotificationSchema\n}\n\n/**\n * Alarm method array — wraps the AlarmMethod enum for OpenAPI.\n */\nexport const AlarmMethodArraySchema = Type.Array(AlarmMethodSchema, {\n  $id: 'AlarmMethodArray',\n  description: 'Methods to use to raise the alarm.',\n  uniqueItems: true,\n  examples: [['sound']]\n})\n\n/**\n * Alarm object — state, method, message, and optional status.\n * Used as the `value` field in a notification response.\n */\nexport const AlarmSchema = Type.Object(\n  {\n    state: AlarmStateSchema,\n    method: AlarmMethodArraySchema,\n    message: Type.String({ description: 'Message to display or speak' }),\n    status: Type.Optional(AlarmStatusSchema)\n  },\n  {\n    $id: 'Alarm',\n    description: 'Alarm notification value'\n  }\n)\nexport type Alarm = Static<typeof AlarmSchema>\n\n/**\n * Notification response wrapper — value containing an alarm.\n */\nexport const NotificationResponseSchema = Type.Object(\n  {\n    value: AlarmSchema\n  },\n  {\n    $id: 'NotificationResponse',\n    description: 'Notification with alarm value'\n  }\n)\nexport type NotificationResponse = Static<typeof NotificationResponseSchema>\n\n/**\n * Notification ID parameter — UUID v4 format.\n */\nexport const NotificationIdParamSchema = Type.String({\n  $id: 'NotificationIdParam',\n  pattern: `${SignalKUuidPattern}$`,\n  description: 'Notification identifier',\n  examples: ['ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a']\n})\n"
  },
  {
    "path": "packages/server-api/src/typebox/protocol-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for Signal K Protocol Types\n *\n * Core protocol schemas: Delta, Update, Source, Notification, Meta, Zone.\n *\n * Metadata sourced from:\n *   specification/schemas/definitions.json\n *   specification/schemas/groups/notifications.json\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\nimport {\n  PositionSchema,\n  IsoTimePattern,\n  SignalKUuidPattern\n} from './shared-schemas'\n\n// Keep as TypeScript enums alongside TypeBox enum schemas — enums are values\n// used at runtime (switch statements, comparisons), not just types.\n\n/**\n * Alarm state enum.\n * @see specification/schemas/definitions.json#/definitions/alarmState\n * @category Server API\n */\nexport enum ALARM_STATE {\n  nominal = 'nominal',\n  normal = 'normal',\n  alert = 'alert',\n  warn = 'warn',\n  alarm = 'alarm',\n  emergency = 'emergency'\n}\n\n/**\n * Alarm method enum.\n * @see specification/schemas/definitions.json#/definitions/alarmMethodEnum\n * @category Server API\n */\nexport enum ALARM_METHOD {\n  visual = 'visual',\n  sound = 'sound'\n}\n\n/**\n * TypeBox schema for alarm state values.\n * Mirrors the ALARM_STATE enum for runtime validation and documentation.\n */\nexport const AlarmStateSchema = Type.Union(\n  [\n    Type.Literal('nominal'),\n    Type.Literal('normal'),\n    Type.Literal('alert'),\n    Type.Literal('warn'),\n    Type.Literal('alarm'),\n    Type.Literal('emergency')\n  ],\n  {\n    $id: 'AlarmState',\n    description: 'The alarm state when the value is in this zone.',\n    default: 'normal'\n  }\n)\n\n/**\n * TypeBox schema for alarm method values.\n * Mirrors the ALARM_METHOD enum for runtime validation and documentation.\n */\nexport const AlarmMethodSchema = Type.Union(\n  [Type.Literal('visual'), Type.Literal('sound')],\n  {\n    $id: 'AlarmMethod',\n    description: 'Method to use to raise notifications.'\n  }\n)\n\n/**\n * A zone defining display and alarm state for a value range.\n * @see specification/schemas/definitions.json zones definition\n */\nexport const ZoneSchema = Type.Object(\n  {\n    lower: Type.Optional(\n      Type.Number({\n        description: 'The lowest number in this zone',\n        examples: [3500]\n      })\n    ),\n    upper: Type.Optional(\n      Type.Number({\n        description: 'The highest value in this zone',\n        examples: [4000]\n      })\n    ),\n    state: AlarmStateSchema,\n    message: Type.String({\n      description: 'The message to display for the alarm.',\n      default: 'Warning'\n    })\n  },\n  {\n    $id: 'Zone',\n    description:\n      'A zone used to define the display and alarm state when the value is in between lower and upper.'\n  }\n)\nexport type Zone = Static<typeof ZoneSchema>\n\n/**\n * Alarm status flags (silenced, acknowledged, etc.).\n */\nexport const AlarmStatusSchema = Type.Object(\n  {\n    silenced: Type.Boolean({\n      description: 'Whether the alarm has been silenced'\n    }),\n    acknowledged: Type.Boolean({\n      description: 'Whether the alarm has been acknowledged'\n    }),\n    canSilence: Type.Boolean({\n      description: 'Whether the alarm can be silenced'\n    }),\n    canAcknowledge: Type.Boolean({\n      description: 'Whether the alarm can be acknowledged'\n    }),\n    canClear: Type.Boolean({\n      description: 'Whether the alarm can be cleared'\n    })\n  },\n  {\n    $id: 'AlarmStatus',\n    description: 'Status flags for an active alarm/notification'\n  }\n)\nexport type AlarmStatus = Static<typeof AlarmStatusSchema>\n\n/**\n * Stored display-units metadata — the minimal form persisted in path metadata.\n * The server resolves this into EnhancedDisplayUnits before sending to clients.\n */\nexport const DisplayUnitsMetadataSchema = Type.Object(\n  {\n    category: Type.String({\n      description: 'Unit category (e.g. \"speed\", \"temperature\", \"distance\")'\n    }),\n    targetUnit: Type.Optional(\n      Type.String({\n        description: 'Per-path target unit override (e.g. \"kn\", \"°C\")'\n      })\n    ),\n    displayFormat: Type.Optional(\n      Type.String({\n        description: 'Display format string (e.g. \"0.0\", \"0.00\")'\n      })\n    )\n  },\n  {\n    $id: 'DisplayUnitsMetadata',\n    description: 'Stored display-units metadata for a Signal K path'\n  }\n)\nexport type DisplayUnitsMetadata = Static<typeof DisplayUnitsMetadataSchema>\n\n/**\n * Enhanced display-units metadata — the resolved form returned to clients,\n * containing the Math.js conversion formulas needed to convert from SI.\n */\nexport const EnhancedDisplayUnitsSchema = Type.Object(\n  {\n    category: Type.String({\n      description: 'Unit category (e.g. \"speed\", \"temperature\")'\n    }),\n    targetUnit: Type.String({\n      description: 'Target display unit (e.g. \"kn\", \"°C\")'\n    }),\n    formula: Type.String({\n      description:\n        'Math.js formula to convert from SI to target unit (e.g. \"value * 1.94384\")'\n    }),\n    inverseFormula: Type.String({\n      description:\n        'Math.js formula to convert from target unit back to SI (e.g. \"value * 0.514444\")'\n    }),\n    symbol: Type.String({\n      description: 'Unit symbol for display (e.g. \"kn\", \"°C\")'\n    }),\n    displayFormat: Type.Optional(\n      Type.String({\n        description: 'Display format string (e.g. \"0.0\")'\n      })\n    )\n  },\n  {\n    $id: 'EnhancedDisplayUnits',\n    description:\n      'Resolved display-units metadata with conversion formulas, as returned to clients'\n  }\n)\nexport type EnhancedDisplayUnits = Static<typeof EnhancedDisplayUnitsSchema>\n\n/**\n * Metadata payload for a Signal K path.\n * Contains display hints, units, timeout, and alarm zones.\n */\nexport const MetaValueSchema = Type.Object(\n  {\n    description: Type.Optional(\n      Type.String({ description: 'Description of the Signal K path' })\n    ),\n    units: Type.Optional(\n      Type.String({\n        description:\n          'Allowed units of physical quantities. Units should be (derived) SI units where possible.'\n      })\n    ),\n    example: Type.Optional(\n      Type.String({ description: 'An example value for this path' })\n    ),\n    timeout: Type.Optional(\n      Type.Number({\n        description:\n          'The timeout in seconds after which the value should be considered stale',\n        minimum: 0\n      })\n    ),\n    displayName: Type.Optional(\n      Type.String({\n        description: 'A human-readable display name for this path'\n      })\n    ),\n    displayScale: Type.Optional(\n      Type.Object({\n        lower: Type.Number({ description: 'Lower bound of display scale' }),\n        upper: Type.Number({ description: 'Upper bound of display scale' })\n      })\n    ),\n    zones: Type.Optional(\n      Type.Array(ZoneSchema, {\n        description:\n          'The zones defining the range of values for this Signal K value.'\n      })\n    ),\n    supportsPut: Type.Optional(\n      Type.Boolean({\n        description: 'Whether this path supports PUT operations'\n      })\n    ),\n    displayUnits: Type.Optional(\n      Type.Union([DisplayUnitsMetadataSchema, EnhancedDisplayUnitsSchema], {\n        description:\n          'Display unit preferences — either stored metadata or resolved with conversion formulas'\n      })\n    )\n  },\n  {\n    $id: 'MetaValue',\n    description: 'Metadata about a Signal K path'\n  }\n)\nexport type MetaValue = Static<typeof MetaValueSchema>\n\n/**\n * Meta message — a path paired with its metadata.\n */\nexport const MetaSchema = Type.Object(\n  {\n    path: Type.String({ description: 'Signal K path' }),\n    value: MetaValueSchema\n  },\n  {\n    $id: 'Meta',\n    description: 'A path with its metadata value'\n  }\n)\nexport type Meta = Static<typeof MetaSchema>\n\n/**\n * Source of data in delta format — a record of where the data was received from.\n *\n * Properties cover NMEA 0183 (talker, sentence), NMEA 2000 (src, pgn, canName,\n * instance), and AIS (aisType 1-27) sources.\n *\n * @see specification/schemas/definitions.json#/definitions/source\n */\nexport const SourceSchema = Type.Object(\n  {\n    label: Type.String({\n      description:\n        'A label to identify the source bus, e.g. serial-COM1, eth-local, etc.',\n      examples: ['N2K-1']\n    }),\n    type: Type.Optional(\n      Type.String({\n        description:\n          'A human name to identify the type. NMEA0183, NMEA2000, signalk',\n        default: 'NMEA2000',\n        examples: ['NMEA2000']\n      })\n    ),\n    // NMEA 2000 fields\n    src: Type.Optional(\n      Type.String({\n        description:\n          'NMEA2000 src value or any similar value for encapsulating the original source of the data',\n        examples: ['36']\n      })\n    ),\n    canName: Type.Optional(\n      Type.String({\n        description: 'NMEA2000 CAN name of the source device',\n        examples: ['13877444229283709432']\n      })\n    ),\n    pgn: Type.Optional(\n      Type.Number({\n        description: 'NMEA2000 PGN of the source message',\n        examples: [130312]\n      })\n    ),\n    instance: Type.Optional(\n      Type.String({\n        description: 'NMEA2000 instance value of the source message'\n      })\n    ),\n    // NMEA 0183 fields\n    sentence: Type.Optional(\n      Type.String({\n        description:\n          'Sentence type of the source NMEA0183 sentence, e.g. RMC from $GPRMC,...',\n        examples: ['RMC']\n      })\n    ),\n    talker: Type.Optional(\n      Type.String({\n        description:\n          'Talker id of the source NMEA0183 sentence, e.g. GP from $GPRMC,...',\n        examples: ['GP']\n      })\n    ),\n    // AIS fields\n    aisType: Type.Optional(\n      Type.Integer({\n        minimum: 1,\n        maximum: 27,\n        description: 'AIS Message Type',\n        examples: [15]\n      })\n    )\n  },\n  {\n    $id: 'Source',\n    description:\n      'Source of data in delta format, a record of where the data was received from.'\n  }\n)\nexport type Source = Static<typeof SourceSchema>\n\n/**\n * Notification payload — state, method, message, and optional position/status.\n */\nexport const NotificationSchema = Type.Object(\n  {\n    state: AlarmStateSchema,\n    method: Type.Array(AlarmMethodSchema, {\n      description: 'Methods to use to raise this notification'\n    }),\n    message: Type.String({\n      description: 'Message to display or speak'\n    }),\n    status: Type.Optional(AlarmStatusSchema),\n    position: Type.Optional(\n      Type.Ref(PositionSchema, {\n        description:\n          'Geographic position associated with the notification, when relevant (e.g. MOB, anchor alarm, waypoint arrival)'\n      })\n    ),\n    createdAt: Type.Optional(\n      Type.String({\n        pattern: IsoTimePattern,\n        description: 'ISO 8601 timestamp when the notification was created'\n      })\n    ),\n    id: Type.Optional(\n      Type.String({\n        pattern: SignalKUuidPattern,\n        description: 'Unique notification identifier (UUID)',\n        examples: ['ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a']\n      })\n    )\n  },\n  {\n    $id: 'Notification',\n    description: 'A Signal K notification with alarm state and message'\n  }\n)\nexport type Notification = Static<typeof NotificationSchema>\n\n/**\n * A path-value pair in an update delta.\n */\nexport const PathValueSchema = Type.Object(\n  {\n    path: Type.String({ description: 'Signal K path' }),\n    value: Type.Unknown({ description: 'The value for this path' })\n  },\n  {\n    $id: 'PathValue',\n    description: 'A Signal K path and its value'\n  }\n)\nexport type PathValue = Static<typeof PathValueSchema>\n\n/**\n * An update within a delta message.\n * Must contain values[] or meta[] (or both), plus optional timestamp and source.\n *\n * Uses a Union to match the Signal K specification's oneOf constraint:\n * an update with neither values nor meta is invalid.\n * @see specification delta.json oneOf constraint\n */\nconst UpdateBase = Type.Object({\n  timestamp: Type.Optional(\n    Type.String({\n      pattern: IsoTimePattern,\n      description:\n        'RFC 3339 (UTC only without local offset) string representing date and time.'\n    })\n  ),\n  source: Type.Optional(SourceSchema),\n  $source: Type.Optional(\n    Type.String({\n      pattern: '^[A-Za-z0-9-_.]*$',\n      description:\n        'Reference to the source under /sources. A dot separated path to the data, e.g. [type].[bus].[device]',\n      examples: ['NMEA0183.COM1.GP']\n    })\n  ),\n  notificationId: Type.Optional(\n    Type.String({ description: 'Notification identifier' })\n  )\n})\n\nconst ValuesFields = Type.Object({\n  values: Type.Array(PathValueSchema, {\n    description: 'Array of path-value pairs'\n  }),\n  meta: Type.Optional(\n    Type.Array(MetaSchema, {\n      description: 'Array of path-metadata pairs'\n    })\n  )\n})\n\nconst MetaFields = Type.Object({\n  meta: Type.Array(MetaSchema, {\n    description: 'Array of path-metadata pairs'\n  }),\n  values: Type.Optional(\n    Type.Array(PathValueSchema, {\n      description: 'Array of path-value pairs'\n    })\n  )\n})\n\nexport const UpdateSchema = Type.Union(\n  [\n    Type.Intersect([UpdateBase, ValuesFields]),\n    Type.Intersect([UpdateBase, MetaFields])\n  ],\n  {\n    $id: 'Update',\n    description:\n      'A Signal K update containing path-value and/or path-meta pairs with timestamp and source'\n  }\n)\n\n/**\n * A Signal K delta message — the fundamental unit of data exchange.\n * Contains a context (vessel/aircraft/etc.) and one or more updates.\n */\nexport const DeltaSchema = Type.Object(\n  {\n    context: Type.Optional(\n      Type.String({\n        description:\n          'The context path, usually a vessel URN (e.g. vessels.urn:mrn:signalk:uuid:...)',\n        examples: [\n          'vessels.urn:mrn:signalk:uuid:b7590868-1d62-47d9-989c-32321b349fb9'\n        ]\n      })\n    ),\n    updates: Type.Array(UpdateSchema, {\n      description: 'One or more updates in this delta'\n    })\n  },\n  {\n    $id: 'Delta',\n    description:\n      'A Signal K delta message — the fundamental unit of data exchange'\n  }\n)\n"
  },
  {
    "path": "packages/server-api/src/typebox/radar-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Radar API\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\n\nexport const RadarStatusSchema = Type.Union(\n  [\n    Type.Literal('off'),\n    Type.Literal('standby'),\n    Type.Literal('transmit'),\n    Type.Literal('warming')\n  ],\n  {\n    $id: 'RadarStatus',\n    description: 'Current operational status of the radar'\n  }\n)\nexport type RadarStatusSchemaType = Static<typeof RadarStatusSchema>\n\nexport const RadarControlValueSchema = Type.Object(\n  {\n    auto: Type.Boolean({\n      description: 'Whether automatic adjustment is enabled'\n    }),\n    value: Type.Number({\n      description:\n        'Current control value. The valid range depends on the radar hardware — see the capability manifest at GET /radars/{id}/capabilities for min/max/step per control.'\n    })\n  },\n  {\n    $id: 'RadarControlValue',\n    description: 'A radar control with auto mode and a numeric value'\n  }\n)\nexport type RadarControlValueSchemaType = Static<typeof RadarControlValueSchema>\n\nexport const RadarControlsSchema = Type.Object(\n  {\n    gain: Type.Ref(RadarControlValueSchema, {\n      description: 'Receiver gain control'\n    }),\n    sea: Type.Optional(\n      Type.Ref(RadarControlValueSchema, {\n        description:\n          'Sea clutter rejection control. Present when supported by the radar.'\n      })\n    ),\n    rain: Type.Optional(\n      Type.Object(\n        {\n          value: Type.Number({\n            description:\n              'Rain clutter rejection level. Valid range is hardware-dependent — see capability manifest.'\n          })\n        },\n        {\n          description:\n            'Rain clutter rejection control (no auto mode). Present when supported by the radar.'\n        }\n      )\n    )\n  },\n  {\n    $id: 'RadarControlsModel',\n    description:\n      'Current control settings for a radar. Additional radar-specific controls beyond gain/sea/rain may be present.'\n  }\n)\nexport type RadarControlsSchemaType = Static<typeof RadarControlsSchema>\n\nexport const RadarInfoSchema = Type.Object(\n  {\n    id: Type.String({ description: 'Unique radar identifier' }),\n    name: Type.String({ description: 'Display name' }),\n    brand: Type.Optional(Type.String({ description: 'Manufacturer/brand' })),\n    status: RadarStatusSchema,\n    spokesPerRevolution: Type.Integer({\n      description: 'Number of spokes per full rotation (e.g. 512, 1024, 2048)',\n      examples: [2048]\n    }),\n    maxSpokeLen: Type.Integer({\n      description: 'Maximum spoke length in samples (e.g. 512, 1024)',\n      examples: [1024]\n    }),\n    range: Type.Number({\n      description: 'Current range in meters',\n      units: 'm'\n    }),\n    controls: RadarControlsSchema,\n    streamUrl: Type.Optional(\n      Type.String({\n        description:\n          'WebSocket URL for spoke stream. If absent, use /radars/{id}/stream'\n      })\n    )\n  },\n  {\n    $id: 'RadarInfoModel',\n    description: 'Information about a radar device'\n  }\n)\nexport type RadarInfoSchemaType = Static<typeof RadarInfoSchema>\n"
  },
  {
    "path": "packages/server-api/src/typebox/resources-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Resources API\n *\n * Covers routes, waypoints, regions, notes, and charts.\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\nimport {\n  PositionSchema,\n  SignalKUuidPattern,\n  GeoJsonPointGeometrySchema,\n  GeoJsonLinestringGeometrySchema,\n  GeoJsonPolygonGeometrySchema,\n  GeoJsonMultiPolygonGeometrySchema\n} from './shared-schemas'\n\n/**\n * Signal K resource href — generic pointer to any resource type by UUID.\n */\nexport const SignalKHrefSchema = Type.String({\n  $id: 'SignalKHref',\n  pattern: `^/resources/(\\\\w*)/${SignalKUuidPattern}$`,\n  description:\n    'Reference to a related resource. A pointer to the resource UUID.'\n})\n\n/** Href attribute — used to link a note to another resource */\nexport const HrefAttributeSchema = Type.Object(\n  {\n    href: SignalKHrefSchema\n  },\n  { $id: 'HrefAttribute' }\n)\n\n/** Position attribute — used to give a note a geographic position */\nexport const PositionAttributeSchema = Type.Object(\n  {\n    position: PositionSchema\n  },\n  { $id: 'ResourcePositionAttribute', description: 'Resource location.' }\n)\n\nexport const BaseResponseModelSchema = Type.Object(\n  {\n    timestamp: Type.String({\n      description: 'ISO 8601 timestamp of when the resource was last modified',\n      examples: ['2024-01-15T12:30:00.000Z']\n    }),\n    $source: Type.String({\n      description:\n        'Dot-separated identifier of the source that provided this resource (e.g. the resource provider plugin)',\n      examples: ['resources-provider']\n    })\n  },\n  {\n    $id: 'BaseResponseModel',\n    description: 'Metadata fields included in resource responses'\n  }\n)\n\n/** Route point metadata */\nexport const RoutePointMetaSchema = Type.Object(\n  {\n    name: Type.String({ description: 'Point name / identifier' })\n  },\n  {\n    $id: 'RoutePointMeta',\n    additionalProperties: true\n  }\n)\n\n/** Route resource */\nexport const RouteSchema = Type.Object(\n  {\n    name: Type.Optional(Type.String({ description: \"Route's common name\" })),\n    description: Type.Optional(\n      Type.String({ description: 'A description of the route' })\n    ),\n    distance: Type.Optional(\n      Type.Number({\n        description: 'Total distance from start to end in meters',\n        units: 'm',\n        minimum: 0\n      })\n    ),\n    feature: Type.Object({\n      geometry: GeoJsonLinestringGeometrySchema,\n      properties: Type.Optional(\n        Type.Object(\n          {\n            coordinatesMeta: Type.Optional(\n              Type.Array(\n                Type.Union([RoutePointMetaSchema, HrefAttributeSchema]),\n                {\n                  description: 'Metadata for each point within the route'\n                }\n              )\n            )\n          },\n          { additionalProperties: true }\n        )\n      )\n    })\n  },\n  {\n    $id: 'Route',\n    description: 'A route resource'\n  }\n)\nexport type RouteResource = Static<typeof RouteSchema>\n\n/** Waypoint resource */\nexport const WaypointSchema = Type.Object(\n  {\n    name: Type.Optional(Type.String({ description: \"Waypoint's common name\" })),\n    description: Type.Optional(\n      Type.String({ description: 'A description of the waypoint' })\n    ),\n    type: Type.Optional(\n      Type.String({\n        description: 'The type of point (e.g. Waypoint, PoI, Race Mark, etc)'\n      })\n    ),\n    feature: Type.Object({\n      geometry: GeoJsonPointGeometrySchema,\n      properties: Type.Optional(\n        Type.Object(\n          {},\n          {\n            additionalProperties: true,\n            description: 'Additional feature properties'\n          }\n        )\n      )\n    })\n  },\n  {\n    $id: 'Waypoint',\n    description: 'A waypoint resource'\n  }\n)\nexport type WaypointResource = Static<typeof WaypointSchema>\n\n/** Region resource */\nexport const RegionSchema = Type.Object(\n  {\n    name: Type.Optional(Type.String({ description: \"Region's common name\" })),\n    description: Type.Optional(\n      Type.String({ description: 'A description of the region' })\n    ),\n    feature: Type.Object({\n      geometry: Type.Union([\n        GeoJsonPolygonGeometrySchema,\n        GeoJsonMultiPolygonGeometrySchema\n      ]),\n      properties: Type.Optional(\n        Type.Object(\n          {},\n          {\n            additionalProperties: true,\n            description: 'Additional feature properties'\n          }\n        )\n      )\n    })\n  },\n  {\n    $id: 'Region',\n    description: 'A region resource'\n  }\n)\nexport type RegionResource = Static<typeof RegionSchema>\n\n/** Note base model */\nexport const NoteBaseModelSchema = Type.Object(\n  {\n    title: Type.Optional(Type.String({ description: 'Title of note' })),\n    description: Type.Optional(\n      Type.String({ description: 'Text describing note' })\n    ),\n    mimeType: Type.Optional(\n      Type.String({\n        description: 'MIME type of the note content',\n        examples: ['text/plain', 'text/html', 'application/pdf']\n      })\n    ),\n    url: Type.Optional(Type.String({ description: 'Location of the note' })),\n    properties: Type.Optional(\n      Type.Object(\n        {},\n        {\n          additionalProperties: true,\n          description: 'Additional user defined note properties'\n        }\n      )\n    )\n  },\n  { $id: 'NoteBaseModel' }\n)\n\n/** Note resource — a note linked to either an href or a position */\nexport const NoteSchema = Type.Intersect(\n  [\n    NoteBaseModelSchema,\n    Type.Partial(\n      Type.Object({\n        href: SignalKHrefSchema,\n        position: PositionSchema\n      })\n    )\n  ],\n  {\n    $id: 'Note',\n    description: 'A note resource — linked to either an href or a position'\n  }\n)\nexport type NoteResource = Static<typeof NoteSchema>\n\n/** Tile layer source */\nexport const TileLayerSourceSchema = Type.Object(\n  {\n    type: Type.Literal('tilelayer'),\n    bounds: Type.Optional(\n      Type.Array(Type.Number(), {\n        minItems: 4,\n        maxItems: 4,\n        description:\n          'Geographic bounding box in [west, south, east, north] order (longitude, latitude, longitude, latitude) in degrees'\n      })\n    ),\n    format: Type.Optional(\n      Type.Union(\n        [\n          Type.Literal('jpg'),\n          Type.Literal('pbf'),\n          Type.Literal('png'),\n          Type.Literal('webp')\n        ],\n        { description: 'Tile image format' }\n      )\n    ),\n    maxzoom: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        maximum: 30,\n        default: 0,\n        description: 'Maximum zoom level available'\n      })\n    ),\n    minzoom: Type.Optional(\n      Type.Number({\n        minimum: 0,\n        maximum: 30,\n        default: 0,\n        description: 'Minimum zoom level available'\n      })\n    ),\n    scale: Type.Optional(\n      Type.Number({\n        minimum: 1,\n        default: 250000,\n        description: 'Chart scale denominator (e.g. 250000 for 1:250000)'\n      })\n    )\n  },\n  {\n    $id: 'TileLayerSource',\n    description: 'A tile layer chart source (XYZ/TMS tiles)'\n  }\n)\n\n/** Map server source */\nexport const MapServerSourceSchema = Type.Object(\n  {\n    type: Type.Union([\n      Type.Literal('tileJSON'),\n      Type.Literal('WMS'),\n      Type.Literal('WMTS'),\n      Type.Literal('mapstyleJSON'),\n      Type.Literal('S-57')\n    ])\n  },\n  {\n    $id: 'MapServerSource',\n    description:\n      'A map server chart source (WMS, WMTS, tileJSON, mapstyleJSON, or S-57)'\n  }\n)\n\n/** Chart resource */\nexport const ChartSchema = Type.Intersect(\n  [\n    Type.Object({\n      identifier: Type.Optional(\n        Type.String({ description: 'Chart identifier / number' })\n      ),\n      name: Type.Optional(Type.String({ description: 'Chart name' })),\n      description: Type.Optional(\n        Type.String({ description: 'A text description of the chart' })\n      ),\n      url: Type.Optional(\n        Type.String({ description: 'URL to tile / map source' })\n      ),\n      layers: Type.Optional(\n        Type.Array(Type.String(), {\n          description: 'List of chart layer ids'\n        })\n      )\n    }),\n    Type.Union([TileLayerSourceSchema, MapServerSourceSchema])\n  ],\n  {\n    $id: 'Chart',\n    description: 'A chart resource'\n  }\n)\nexport type ChartResource = Static<typeof ChartSchema>\n\n/**\n * 200 success response with resource ID.\n */\nexport const ResourceActionOkResponseSchema = Type.Object(\n  {\n    state: Type.Literal('COMPLETED'),\n    statusCode: Type.Literal(200),\n    id: Type.String({\n      pattern: `${SignalKUuidPattern}$`,\n      description: 'Resource UUID'\n    })\n  },\n  { $id: 'ResourceActionOkResponse' }\n)\n\n/**\n * 201 created response with resource ID.\n */\nexport const ResourceActionCreatedResponseSchema = Type.Object(\n  {\n    state: Type.Literal('COMPLETED'),\n    statusCode: Type.Literal(201),\n    id: Type.String({\n      pattern: `${SignalKUuidPattern}$`,\n      description: 'Resource UUID'\n    })\n  },\n  { $id: 'ResourceActionCreatedResponse' }\n)\n"
  },
  {
    "path": "packages/server-api/src/typebox/shared-schemas.ts",
    "content": "/**\n * Shared TypeBox Schema Definitions for Signal K\n *\n * Domain object schemas and common patterns used across multiple APIs.\n *\n * Metadata (descriptions, units, examples) sourced from:\n *   specification/schemas/definitions.json\n *   specification/schemas/groups/navigation.json\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\n\n/** Signal K UUID v4 pattern (without anchors) */\nexport const SignalKUuidPattern =\n  '[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}'\n\n/** ISO 8601 date-time pattern */\nexport const IsoTimePattern =\n  '^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})T(\\\\d{2}):(\\\\d{2}):(\\\\d{2}(?:\\\\.\\\\d*)?)((-(\\\\d{2}):(\\\\d{2})|Z)?)$'\n\n/**\n * ISO 8601 date-time string.\n * @see specification/schemas/definitions.json#/definitions/timestamp\n */\nexport const IsoTimeSchema = Type.String({\n  $id: 'IsoTime',\n  pattern: IsoTimePattern,\n  description: 'ISO 8601 date-time string',\n  examples: ['2022-04-22T05:02:56.484Z']\n})\nexport type IsoTimeType = Static<typeof IsoTimeSchema>\n\n/**\n * Signal K UUID — Maritime Resource Name.\n * Format: urn:mrn:signalk:uuid:{uuid-v4}\n * @see specification/schemas/definitions.json#/definitions/uuid\n */\nexport const SignalKUuidSchema = Type.String({\n  $id: 'SignalKUuid',\n  pattern: `^urn:mrn:signalk:uuid:${SignalKUuidPattern}$`,\n  description:\n    'A unique Signal K flavoured maritime resource identifier (MRN). ' +\n    'Format: urn:mrn:signalk:uuid:{uuid-v4}',\n  examples: ['urn:mrn:signalk:uuid:b7590868-1d62-47d9-989c-32321b349fb9']\n})\n\n/**\n * MMSI — Maritime Mobile Service Identity (vessel).\n * @see specification/schemas/definitions.json#/definitions/mmsi\n */\nexport const MmsiSchema = Type.String({\n  $id: 'Mmsi',\n  pattern: '^[2-7][0-9]{8}$',\n  description:\n    'Maritime Mobile Service Identity (MMSI). 9 digits, first digit 2-7.',\n  examples: ['503123456']\n})\n\n/**\n * Geographic position with latitude, longitude, and optional altitude.\n *\n * Canonical Position schema — all APIs reference this single definition.\n * @see specification/schemas/definitions.json#/definitions/position\n */\nexport const PositionSchema = Type.Object(\n  {\n    latitude: Type.Number({\n      minimum: -90,\n      maximum: 90,\n      description: 'Latitude',\n      units: 'deg',\n      examples: [52.0987654]\n    }),\n    longitude: Type.Number({\n      minimum: -180,\n      maximum: 180,\n      description: 'Longitude',\n      units: 'deg',\n      examples: [4.98765245]\n    }),\n    altitude: Type.Optional(\n      Type.Number({\n        description: 'Altitude',\n        units: 'm',\n        examples: [12.5]\n      })\n    )\n  },\n  {\n    $id: 'SignalKPosition',\n    description: 'The position in 3 dimensions'\n  }\n)\n\nexport type Position = Static<typeof PositionSchema>\n\n/**\n * Relative position origin — a circle defined by radius and center position.\n * Used for subscription context filtering.\n */\nexport const RelativePositionOriginSchema = Type.Object(\n  {\n    radius: Type.Number({\n      minimum: 0,\n      description: 'Radius in meters',\n      units: 'm'\n    }),\n    position: PositionSchema\n  },\n  {\n    $id: 'RelativePositionOrigin',\n    description: 'A circle defined by radius and center position'\n  }\n)\n\nexport type RelativePositionOrigin = Static<typeof RelativePositionOriginSchema>\n\n/** GeoJSON Point geometry object (type + coordinates) */\nexport const GeoJsonPointGeometrySchema = Type.Object(\n  {\n    type: Type.Literal('Point'),\n    coordinates: Type.Tuple([\n      Type.Number({ description: 'Longitude' }),\n      Type.Number({ description: 'Latitude' })\n    ])\n  },\n  {\n    $id: 'GeoJsonPointGeometry',\n    description: 'GeoJSON Point geometry — [longitude, latitude]'\n  }\n)\nexport type GeoJsonPointGeometry = Static<typeof GeoJsonPointGeometrySchema>\n\n/** GeoJSON LineString geometry object (type + coordinates) */\nexport const GeoJsonLinestringGeometrySchema = Type.Object(\n  {\n    type: Type.Literal('LineString'),\n    coordinates: Type.Array(\n      Type.Tuple([\n        Type.Number({ description: 'Longitude' }),\n        Type.Number({ description: 'Latitude' })\n      ]),\n      { minItems: 2 }\n    )\n  },\n  {\n    $id: 'GeoJsonLineStringGeometry',\n    description: 'GeoJSON LineString geometry — array of [lon, lat] pairs'\n  }\n)\nexport type GeoJsonLinestringGeometry = Static<\n  typeof GeoJsonLinestringGeometrySchema\n>\n\n/** GeoJSON Polygon geometry object (type + coordinates) */\nexport const GeoJsonPolygonGeometrySchema = Type.Object(\n  {\n    type: Type.Literal('Polygon'),\n    coordinates: Type.Array(\n      Type.Array(\n        Type.Tuple([\n          Type.Number({ description: 'Longitude' }),\n          Type.Number({ description: 'Latitude' })\n        ]),\n        { minItems: 4 }\n      )\n    )\n  },\n  {\n    $id: 'GeoJsonPolygonGeometry',\n    description: 'GeoJSON Polygon geometry — array of linear rings'\n  }\n)\nexport type GeoJsonPolygonGeometry = Static<typeof GeoJsonPolygonGeometrySchema>\n\n/** GeoJSON MultiPolygon geometry object (type + coordinates) */\nexport const GeoJsonMultiPolygonGeometrySchema = Type.Object(\n  {\n    type: Type.Literal('MultiPolygon'),\n    coordinates: Type.Array(\n      Type.Array(\n        Type.Array(\n          Type.Tuple([\n            Type.Number({ description: 'Longitude' }),\n            Type.Number({ description: 'Latitude' })\n          ]),\n          { minItems: 4 }\n        )\n      )\n    )\n  },\n  {\n    $id: 'GeoJsonMultiPolygonGeometry',\n    description: 'GeoJSON MultiPolygon geometry'\n  }\n)\nexport type GeoJsonMultiPolygonGeometry = Static<\n  typeof GeoJsonMultiPolygonGeometrySchema\n>\n\n/** Standard success response */\nexport const OkResponseSchema = Type.Object(\n  {\n    state: Type.Literal('COMPLETED'),\n    statusCode: Type.Literal(200)\n  },\n  { $id: 'OkResponse' }\n)\n\n/** Standard error response */\nexport const ErrorResponseSchema = Type.Object(\n  {\n    state: Type.Literal('FAILED'),\n    statusCode: Type.Number(),\n    message: Type.String()\n  },\n  { $id: 'ErrorResponse', description: 'Request error response' }\n)\n"
  },
  {
    "path": "packages/server-api/src/typebox/weather-schemas.ts",
    "content": "/**\n * TypeBox Schema Definitions for the Signal K Weather API\n *\n * Units follow SI conventions: K (temperature), Pa (pressure), m/s (speed),\n * rad (direction), m (distance/visibility), ratio (humidity/cloud).\n */\n\nimport { Type, type Static } from '@sinclair/typebox'\nimport { IsoTimeSchema } from './shared-schemas'\n\n/** Weather data type */\nexport const WeatherDataTypeSchema = Type.Union(\n  [Type.Literal('daily'), Type.Literal('point'), Type.Literal('observation')],\n  { $id: 'WeatherDataType' }\n)\n\n/** Pressure tendency */\nexport const PressureTendencySchema = Type.Union(\n  [\n    Type.Literal('steady'),\n    Type.Literal('decreasing'),\n    Type.Literal('increasing')\n  ],\n  { $id: 'PressureTendency' }\n)\n\n/** Precipitation type */\nexport const PrecipitationTypeSchema = Type.Union(\n  [\n    Type.Literal('rain'),\n    Type.Literal('thunderstorm'),\n    Type.Literal('snow'),\n    Type.Literal('freezing rain'),\n    Type.Literal('mixed/ice')\n  ],\n  { $id: 'PrecipitationType' }\n)\n\n/**\n * Weather data model — observation, daily forecast, or point forecast.\n */\nexport const WeatherDataModelSchema = Type.Object(\n  {\n    date: IsoTimeSchema,\n    description: Type.Optional(\n      Type.String({\n        description: 'Weather description',\n        examples: ['broken clouds']\n      })\n    ),\n    type: WeatherDataTypeSchema,\n    sun: Type.Optional(\n      Type.Object({\n        sunrise: Type.Optional(IsoTimeSchema),\n        sunset: Type.Optional(IsoTimeSchema)\n      })\n    ),\n    outside: Type.Optional(\n      Type.Object({\n        uvIndex: Type.Optional(\n          Type.Number({\n            description: 'UV Index (1 UVI = 25mW/sqm)',\n            examples: [7.5]\n          })\n        ),\n        cloudCover: Type.Optional(\n          Type.Number({\n            description: 'Amount of cloud cover (ratio)',\n            examples: [0.85]\n          })\n        ),\n        horizontalVisibility: Type.Optional(\n          Type.Number({\n            description: 'Visibility (m)',\n            units: 'm',\n            examples: [5000]\n          })\n        ),\n        horizontalVisibilityOverRange: Type.Optional(\n          Type.Boolean({\n            description:\n              'Visibility distance is greater than the range of the measuring equipment'\n          })\n        ),\n        temperature: Type.Optional(\n          Type.Number({\n            description: 'Air temperature (K)',\n            units: 'K',\n            examples: [290]\n          })\n        ),\n        feelsLikeTemperature: Type.Optional(\n          Type.Number({\n            description: 'Feels-like temperature (K)',\n            units: 'K',\n            examples: [277]\n          })\n        ),\n        dewPointTemperature: Type.Optional(\n          Type.Number({\n            description: 'Dew point temperature (K)',\n            units: 'K',\n            examples: [260]\n          })\n        ),\n        pressure: Type.Optional(\n          Type.Number({\n            description: 'Air pressure (Pa)',\n            units: 'Pa',\n            examples: [10100]\n          })\n        ),\n        pressureTendency: Type.Optional(PressureTendencySchema),\n        absoluteHumidity: Type.Optional(\n          Type.Number({\n            description: 'Absolute humidity (ratio)',\n            examples: [0.56]\n          })\n        ),\n        relativeHumidity: Type.Optional(\n          Type.Number({\n            description: 'Relative humidity (ratio)',\n            examples: [0.56]\n          })\n        ),\n        precipitationType: Type.Optional(PrecipitationTypeSchema),\n        precipitationVolume: Type.Optional(\n          Type.Number({\n            description: 'Amount of precipitation (m)',\n            units: 'm',\n            examples: [0.56]\n          })\n        )\n      })\n    ),\n    wind: Type.Optional(\n      Type.Object({\n        averageSpeed: Type.Optional(\n          Type.Number({\n            description: 'Average wind speed (m/s)',\n            units: 'm/s',\n            examples: [9.3]\n          })\n        ),\n        speedTrue: Type.Optional(\n          Type.Number({\n            description: 'Wind speed (m/s)',\n            units: 'm/s',\n            examples: [15.3]\n          })\n        ),\n        directionTrue: Type.Optional(\n          Type.Number({\n            description: 'Wind direction relative to true north (rad)',\n            units: 'rad',\n            examples: [2.145]\n          })\n        ),\n        gust: Type.Optional(\n          Type.Number({\n            description: 'Wind gust (m/s)',\n            units: 'm/s',\n            examples: [21.6]\n          })\n        ),\n        gustDirectionTrue: Type.Optional(\n          Type.Number({\n            description: 'Wind gust direction relative to true north (rad)',\n            units: 'rad',\n            examples: [2.6]\n          })\n        )\n      })\n    ),\n    water: Type.Optional(\n      Type.Object({\n        temperature: Type.Optional(\n          Type.Number({\n            description: 'Water temperature (K)',\n            units: 'K',\n            examples: [281.6]\n          })\n        ),\n        level: Type.Optional(\n          Type.Number({\n            description: 'Water level (m)',\n            units: 'm',\n            examples: [11.9]\n          })\n        ),\n        levelTendency: Type.Optional(\n          Type.Union([\n            Type.Literal('steady'),\n            Type.Literal('decreasing'),\n            Type.Literal('increasing')\n          ])\n        ),\n        waves: Type.Optional(\n          Type.Object({\n            significantHeight: Type.Optional(\n              Type.Number({\n                description: 'Wave height (m)',\n                units: 'm',\n                examples: [2.6]\n              })\n            ),\n            directionTrue: Type.Optional(\n              Type.Number({\n                description: 'Wave direction relative to true north (rad)',\n                units: 'rad',\n                examples: [2.3876]\n              })\n            ),\n            period: Type.Optional(\n              Type.Number({\n                description: 'Wave period (s)',\n                units: 's',\n                examples: [2.3876]\n              })\n            )\n          })\n        ),\n        swell: Type.Optional(\n          Type.Object({\n            height: Type.Optional(\n              Type.Number({\n                description: 'Swell height (m)',\n                units: 'm',\n                examples: [2.6]\n              })\n            ),\n            directionTrue: Type.Optional(\n              Type.Number({\n                description: 'Swell direction relative to true north (rad)',\n                units: 'rad',\n                examples: [2.3876]\n              })\n            ),\n            period: Type.Optional(\n              Type.Number({\n                description: 'Swell period (s)',\n                units: 's',\n                examples: [2.3876]\n              })\n            )\n          })\n        ),\n        seaState: Type.Optional(\n          Type.Number({ description: 'Sea state (Beaufort)', examples: [2] })\n        ),\n        salinity: Type.Optional(\n          Type.Number({\n            description: 'Water salinity (ratio)',\n            examples: [0.12]\n          })\n        ),\n        ice: Type.Optional(\n          Type.Boolean({ description: 'Whether ice is present' })\n        )\n      })\n    ),\n    current: Type.Optional(\n      Type.Object({\n        drift: Type.Optional(\n          Type.Number({\n            description: 'Surface current speed (m/s)',\n            units: 'm/s',\n            examples: [3.4]\n          })\n        ),\n        set: Type.Optional(\n          Type.Number({\n            description: 'Surface current direction (rad)',\n            units: 'rad',\n            examples: [1.74]\n          })\n        )\n      })\n    )\n  },\n  {\n    $id: 'WeatherDataModel',\n    description: 'Weather data — observation, daily forecast, or point forecast'\n  }\n)\nexport type WeatherDataModel = Static<typeof WeatherDataModelSchema>\n\n/**\n * Weather warning — time-bound severe weather advisory.\n */\nexport const WeatherWarningModelSchema = Type.Object(\n  {\n    startTime: IsoTimeSchema,\n    endTime: IsoTimeSchema,\n    source: Type.Optional(Type.String({ description: 'Name of source.' })),\n    type: Type.Optional(\n      Type.String({\n        description: 'Type of warning.',\n        examples: ['Heat Advisory']\n      })\n    ),\n    details: Type.Optional(\n      Type.String({\n        description: 'Text describing the details of the warning.',\n        examples: [\n          'HEAT ADVISORY REMAINS IN EFFECT FROM 1 PM THIS AFTERNOON....'\n        ]\n      })\n    )\n  },\n  {\n    $id: 'WeatherWarningModel',\n    description: 'Weather warning — time-bound severe weather advisory'\n  }\n)\nexport type WeatherWarningModel = Static<typeof WeatherWarningModelSchema>\n"
  },
  {
    "path": "packages/server-api/src/weatherapi.guard.ts",
    "content": "/*\n * Generated type guards for \"weatherapi.ts\".\n * WARNING: Do not manually change this file.\n */\nimport { WeatherProvider } from \"./weatherapi\";\n\nexport function isWeatherProvider(obj: unknown): obj is WeatherProvider {\n    const typedObj = obj as WeatherProvider\n    return (\n        (typedObj !== null &&\n            typeof typedObj === \"object\" ||\n            typeof typedObj === \"function\") &&\n        typeof typedObj[\"name\"] === \"string\" &&\n        (typedObj[\"methods\"] !== null &&\n            typeof typedObj[\"methods\"] === \"object\" ||\n            typeof typedObj[\"methods\"] === \"function\") &&\n        (typeof typedObj[\"methods\"][\"pluginId\"] === \"undefined\" ||\n            typeof typedObj[\"methods\"][\"pluginId\"] === \"string\") &&\n        typeof typedObj[\"methods\"][\"getObservations\"] === \"function\" &&\n        typeof typedObj[\"methods\"][\"getForecasts\"] === \"function\" &&\n        typeof typedObj[\"methods\"][\"getWarnings\"] === \"function\"\n    )\n}\n"
  },
  {
    "path": "packages/server-api/src/weatherapi.ts",
    "content": "import { Position } from '.'\n\n/** @category  Weather API  */\nexport interface WeatherApi {\n  register: (pluginId: string, provider: WeatherProvider) => void\n  unRegister: (pluginId: string) => void\n\n  /**\n   * Retrieves observation data from the weather provider for the supplied position.\n   * The returned array of observations should be ordered in descending date order.\n   *\n   * @category Weather API\n   * \n   * @param position Location of interest \n   * @param options Options\n   * \n   * @example\n    ```javascript\n    getObservations({latitude: 16.34765, longitude: 12.5432}, {maxCount: 1});\n    ```\n\n    ```JSON\n    [\n        {\n            \"date\": \"2024-05-03T06:00:00.259Z\",\n            \"type\": \"observation\",\n            \"outside\": { ... }\n        },\n        {\n            \"date\": \"2024-05-03T05:00:00.259Z\",\n            \"type\": \"observation\",\n            \"outside\": { ... }\n        }\n    ]\n    ```\n  */\n  getObservations: (\n    position: Position,\n    options?: WeatherReqParams\n  ) => Promise<WeatherData[]>\n\n  /**\n   * Retrieves forecast data from the weather provider for the supplied position, forecast type and number of intervals.\n   * The returned array of forecasts should be ordered in ascending date order.\n   * \n   * @category Weather API\n   * \n   * @param position Location of interest \n   * @param type Type of forecast point | daily\n   * @param options Options\n   * \n   * @example\n   * Retrieve point forecast data for the next eight point intervalss\n    ```javascript\n    getForecasts(\n      {latitude: 16.34765, longitude: 12.5432}, \n      'point',\n      {maxCount: 8}\n    );\n    ```\n\n    ```JSON\n    [\n        {\n            \"date\": \"2024-05-03T06:00:00.259Z\",\n            \"type\": \"point\",\n            \"outside\": { ... }\n        },\n        {\n            \"date\": \"2024-05-03T05:00:00.259Z\",\n            \"type\": \"point\",\n            \"outside\": { ... }\n        }\n    ]\n    ```\n  */\n  getForecasts: (\n    position: Position,\n    type: WeatherForecastType,\n    options?: WeatherReqParams\n  ) => Promise<WeatherData[]>\n\n  /**\n   * Retrieves warning data from the weather provider for the supplied position.\n   * The returned array of warnings should be ordered in ascending date order.\n   *\n   * @category Weather API\n   * \n   * @param position Location of interest \n   *\n   * @example\n    ```javascript\n    getWarnings({latitude: 16.34765, longitude: 12.5432});\n    ```\n\n    ```JSON\n    [\n      {\n        \"startTime\": \"2024-05-03T05:00:00.259Z\",\n        \"endTime\": \"2024-05-03T08:00:00.702Z\",\n        \"details\": \"Strong wind warning.\",\n        \"source\": \"MyWeatherService\",\n        \"type\": \"Warning\"\n      }\n    ]\n    ```\n  */\n  getWarnings: (position: Position) => Promise<WeatherWarning[]>\n}\n\n/** @category Weather API  */\nexport interface WeatherProviderRegistry {\n  /**\n   * Used by _Weather Provider plugins_ to register the weather service from which the data is sourced.\n   * See [`Weather Provider Plugins`](../../../docs/develop/plugins/weather_provider_plugins.md#registering-a-weather-provider) for details.\n   *\n   * @category Weather API\n   */\n  registerWeatherProvider: (provider: WeatherProvider) => void\n  /**\n   * Access the Weather API to get observations, forcasts and warnings.\n   *\n   * @category Weather API\n   */\n  weatherApi: WeatherApi\n}\n\n/**\n * @hidden visible through ServerAPI\n * @category  Weather API\n */\nexport interface WeatherProviders {\n  [id: string]: {\n    name: string\n    isDefault: boolean\n  }\n}\n\n/**\n * Type guard to check if an object is a valid WeatherProvider.\n * @category Weather API\n */\nexport const isWeatherProvider = (obj: unknown): obj is WeatherProvider => {\n  if (typeof obj !== 'object' || obj === null) {\n    return false\n  }\n  const typedObj = obj as Record<string, unknown>\n  const methods = typedObj['methods']\n  return (\n    typeof typedObj['name'] === 'string' &&\n    typeof methods === 'object' &&\n    methods !== null &&\n    (typeof (methods as Record<string, unknown>)['pluginId'] === 'undefined' ||\n      typeof (methods as Record<string, unknown>)['pluginId'] === 'string') &&\n    typeof (methods as Record<string, unknown>)['getObservations'] ===\n      'function' &&\n    typeof (methods as Record<string, unknown>)['getForecasts'] ===\n      'function' &&\n    typeof (methods as Record<string, unknown>)['getWarnings'] === 'function'\n  )\n}\n\n/** @category  Weather API */\nexport interface WeatherProvider {\n  name: string\n  methods: WeatherProviderMethods\n}\n\n/** @category  Weather API */\nexport interface WeatherProviderMethods {\n  pluginId?: string\n\n  /**\n   * Retrieves observation data from the weather provider for the supplied position.\n   * The returned array of observations should be ordered in descending date order.\n   *\n   * @category Weather API\n   * \n   * @param position Location of interest \n   * @param options Options\n   * \n   * @example\n    ```javascript\n    getObservations({latitude: 16.34765, longitude: 12.5432}, {maxCount: 1});\n    ```\n\n    ```JSON\n    [\n        {\n            \"date\": \"2024-05-03T06:00:00.259Z\",\n            \"type\": \"observation\",\n            \"outside\": { ... }\n        },\n        {\n            \"date\": \"2024-05-03T05:00:00.259Z\",\n            \"type\": \"observation\",\n            \"outside\": { ... }\n        }\n    ]\n    ```\n  */\n  getObservations: (\n    position: Position,\n    options?: WeatherReqParams\n  ) => Promise<WeatherData[]>\n\n  /**\n   * Retrieves forecast data from the weather provider for the supplied position, forecast type and number of intervals.\n   * The returned array of forecasts should be ordered in ascending date order.\n   * \n   * @category Weather API\n   * \n   * @param position Location of interest \n   * @param type Type of forecast point | daily\n   * @param options Options\n   * \n   * @example\n   * Retrieve point forecast data for the next eight point intervalss\n    ```javascript\n    getForecasts(\n      {latitude: 16.34765, longitude: 12.5432}, \n      'point',\n      {maxCount: 8}\n    );\n    ```\n\n    ```JSON\n    [\n        {\n            \"date\": \"2024-05-03T06:00:00.259Z\",\n            \"type\": \"point\",\n            \"outside\": { ... }\n        },\n        {\n            \"date\": \"2024-05-03T05:00:00.259Z\",\n            \"type\": \"point\",\n            \"outside\": { ... }\n        }\n    ]\n    ```\n  */\n  getForecasts: (\n    position: Position,\n    type: WeatherForecastType,\n    options?: WeatherReqParams\n  ) => Promise<WeatherData[]>\n\n  /**\n   * Retrieves warning data from the weather provider for the supplied position.\n   * The returned array of warnings should be ordered in ascending date order.\n   *\n   * @category Weather API\n   * \n   * @param position Location of interest \n   *\n   * @example\n    ```javascript\n    getWarnings({latitude: 16.34765, longitude: 12.5432});\n    ```\n\n    ```JSON\n    [\n      {\n        \"startTime\": \"2024-05-03T05:00:00.259Z\",\n        \"endTime\": \"2024-05-03T08:00:00.702Z\",\n        \"details\": \"Strong wind warning.\",\n        \"source\": \"MyWeatherService\",\n        \"type\": \"Warning\"\n      }\n    ]\n    ```\n  */\n  getWarnings: (position: Position) => Promise<WeatherWarning[]>\n}\n\n/**\n * @category  Weather API\n */\nexport interface WeatherWarning {\n  startTime: string\n  endTime: string\n  details: string\n  source: string\n  type: string\n}\n\n/**\n * Request options\n *\n * @prop maxCount Maximum number of records to return\n * @prop startDate Start date of forecast / observation data (format: YYYY-MM-DD)\n * @prop custom Additional query parameters in the API request\n * @category  Weather API\n */\nexport interface WeatherReqParams {\n  maxCount?: number\n  startDate?: string\n  custom?: { [key: string]: string | number | boolean | object | null }\n}\n\n/**\n * @category  Weather API\n */\nexport type WeatherForecastType = 'daily' | 'point'\n/**\n * @category  Weather API\n */\nexport type WeatherDataType = WeatherForecastType | 'observation'\n\n// Aligned with Signal K environment specification\n/**\n * @category  Weather API\n */\nexport interface WeatherData {\n  description?: string\n  date: string\n  type: WeatherDataType // daily forecast, point-in-time forecast, observed values\n  outside?: {\n    minTemperature?: number\n    maxTemperature?: number\n    feelsLikeTemperature?: number\n    precipitationVolume?: number\n    absoluteHumidity?: number\n    horizontalVisibility?: number\n    uvIndex?: number\n    cloudCover?: number\n    temperature?: number\n    dewPointTemperature?: number\n    pressure?: number\n    pressureTendency?: TendencyKind\n    relativeHumidity?: number\n    precipitationType?: PrecipitationKind\n  }\n  water?: {\n    temperature?: number\n    level?: number\n    levelTendency?: TendencyKind\n    surfaceCurrentSpeed?: number\n    surfaceCurrentDirection?: number\n    salinity?: number\n    waveSignificantHeight?: number\n    wavePeriod?: number\n    waveDirection?: number\n    swellHeight?: number\n    swellPeriod?: number\n    swellDirection?: number\n  }\n  wind?: {\n    speedTrue?: number\n    directionTrue?: number\n    gust?: number\n    gustDirection?: number\n  }\n  sun?: {\n    sunrise?: string\n    sunset?: string\n  }\n}\n\n/**\n * @category  Weather API\n */\nexport type TendencyKind =\n  | 'steady'\n  | 'decreasing'\n  | 'increasing'\n  | 'not available'\n\n/**\n * @category  Weather API\n */\nexport type PrecipitationKind =\n  | 'reserved'\n  | 'rain'\n  | 'thunderstorm'\n  | 'freezing rain'\n  | 'mixed/ice'\n  | 'snow'\n  | 'reserved'\n  | 'not available'\n"
  },
  {
    "path": "packages/server-api/tsconfig.json",
    "content": "{\n  \"extends\": \"../../tsconfig.base.json\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"noImplicitAny\": true,\n    \"strictNullChecks\": true,\n    \"noUncheckedIndexedAccess\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true\n  },\n  \"include\": [\"./src/**/*\"],\n  \"exclude\": [\"./src/**/*.test.ts\"]\n}\n"
  },
  {
    "path": "packages/server-api/typedoc.json",
    "content": "{\n  \"$schema\": \"https://typedoc.org/schema.json\",\n  \"entryPoints\": [\"src/index.ts\"]\n}\n"
  },
  {
    "path": "packages/server-api/wit/signalk.wit",
    "content": "// Signal K Server Plugin API - WASM Interface Types (WIT)\n// This defines the contract between WASM plugins and the Signal K server\n\npackage signalk:plugin-api@1.0.0;\n\n// World definition - entry point for WASM plugins\nworld plugin {\n  // Plugin exports these functions\n  export plugin-interface;\n\n  // Plugin can use these server APIs\n  import delta-handler;\n  import plugin-config;\n  import plugin-status;\n  import full-model;\n}\n\n// Plugin lifecycle and metadata interface\ninterface plugin-interface {\n  // Plugin metadata\n  id: func() -> string;\n  name: func() -> string;\n  schema: func() -> string; // JSON schema as string\n\n  // Lifecycle hooks\n  start: func(config: string) -> result<_, string>;\n  stop: func() -> result<_, string>;\n}\n\n// Delta message handling\ninterface delta-handler {\n  // Delta data types\n  record source-ref {\n    label: string,\n    type: option<string>,\n  }\n\n  record path-value {\n    path: string,\n    value: string, // JSON-encoded value\n  }\n\n  record update {\n    source: source-ref,\n    timestamp: string, // ISO 8601 timestamp\n    values: list<path-value>,\n  }\n\n  record delta {\n    context: string,\n    updates: list<update>,\n  }\n\n  // Plugin → Server: emit delta message\n  handle-message: func(plugin-id: string, delta: delta);\n\n  // Server → Plugin: register callback for incoming deltas\n  // Note: Callback registration will be done during plugin initialization\n  on-delta: func(delta: delta);\n}\n\n// Plugin configuration and storage\ninterface plugin-config {\n  // Read saved plugin configuration (JSON string)\n  read-plugin-options: func() -> string;\n\n  // Save plugin configuration (persisted to disk)\n  save-plugin-options: func(config: string) -> result<_, string>;\n\n  // Get plugin data directory path (VFS root)\n  get-data-dir-path: func() -> string;\n}\n\n// Plugin status and logging\ninterface plugin-status {\n  // Set plugin status message (shown in Admin UI)\n  set-plugin-status: func(message: string);\n\n  // Set plugin error message (shown in Admin UI)\n  set-plugin-error: func(message: string);\n\n  // Debug logging (respects plugin debug settings)\n  debug: func(message: string);\n\n  // Error logging\n  error: func(message: string);\n}\n\n// Signal K full model access\ninterface full-model {\n  // Read data from vessel.self path\n  // Returns JSON-encoded value or none if path doesn't exist\n  get-self-path: func(path: string) -> option<string>;\n\n  // Read data from any context path\n  // Returns JSON-encoded value or none if path doesn't exist\n  get-path: func(path: string) -> option<string>;\n}\n"
  },
  {
    "path": "packages/streams/.npmrc",
    "content": "package-lock=false\n"
  },
  {
    "path": "packages/streams/README.md",
    "content": "# @signalk/streams\n\nUsed within the [Signal K](http://signalk.org) [Node Server](https://github.com/SignalK/signalk-server-node) for streaming and converting input data in different formats.\n\nThe code is not compiled and is not more effective, but allows using the streams and their conversions independently outside the server.\n\n## Development\n\n- Install dev packages with `npm i`.\n- Edit files with `/src`.\n- `npm link`\n- `cd ../../`\n- `npm link @signalk/streams`\n- Restart signalk `npm start`\n"
  },
  {
    "path": "packages/streams/package.json",
    "content": "{\n  \"name\": \"@signalk/streams\",\n  \"version\": \"6.4.0\",\n  \"description\": \"Utilities for handling streams of Signal K data\",\n  \"main\": \"dist/index.js\",\n  \"types\": \"dist/index.d.ts\",\n  \"files\": [\n    \"dist\",\n    \"!dist/**/*.test.*\"\n  ],\n  \"scripts\": {\n    \"build\": \"tsc -b\",\n    \"watch\": \"tsc --watch\",\n    \"test\": \"mocha 'src/**/*.test.ts'\",\n    \"ci\": \"prettier --check src/\",\n    \"format\": \"prettier --write src/\"\n  },\n  \"exports\": {\n    \".\": \"./dist/index.js\",\n    \"./actisense-serial\": \"./dist/actisense-serial.js\",\n    \"./autodetect\": \"./dist/autodetect.js\",\n    \"./canboatjs\": \"./dist/canboatjs.js\",\n    \"./canbus\": \"./dist/canbus.js\",\n    \"./execute\": \"./dist/execute.js\",\n    \"./filestream\": \"./dist/filestream.js\",\n    \"./folderstream\": \"./dist/folderstream.js\",\n    \"./from_json\": \"./dist/from_json.js\",\n    \"./gpiod-seatalk\": \"./dist/gpiod-seatalk.js\",\n    \"./gpsd\": \"./dist/gpsd.js\",\n    \"./keys-filter\": \"./dist/keys-filter.js\",\n    \"./liner\": \"./dist/liner.js\",\n    \"./log\": \"./dist/log.js\",\n    \"./logging\": \"./dist/logging.js\",\n    \"./mdns-ws\": \"./dist/mdns-ws.js\",\n    \"./multiplexedlog\": \"./dist/multiplexedlog.js\",\n    \"./n2kAnalyzer\": \"./dist/n2kAnalyzer.js\",\n    \"./n2k-signalk\": \"./dist/n2k-signalk.js\",\n    \"./nmea0183-signalk\": \"./dist/nmea0183-signalk.js\",\n    \"./nullprovider\": \"./dist/nullprovider.js\",\n    \"./pigpio-seatalk\": \"./dist/pigpio-seatalk.js\",\n    \"./replacer\": \"./dist/replacer.js\",\n    \"./s3\": \"./dist/s3.js\",\n    \"./serialport\": \"./dist/serialport.js\",\n    \"./simple\": \"./dist/simple.js\",\n    \"./splitting-liner\": \"./dist/splitting-liner.js\",\n    \"./tcp\": \"./dist/tcp.js\",\n    \"./tcpserver\": \"./dist/tcpserver.js\",\n    \"./throttle\": \"./dist/throttle.js\",\n    \"./timestamp-throttle\": \"./dist/timestamp-throttle.js\",\n    \"./udp\": \"./dist/udp.js\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/streams\"\n  },\n  \"keywords\": [\n    \"Signal\",\n    \"K\"\n  ],\n  \"author\": \"Teppo Kurki <teppo.kurki@iki.fi> (https://github.com/tkurki)\",\n  \"license\": \"Apache-2.0\",\n  \"bugs\": {\n    \"url\": \"https://github.com/SignalK/signalk-server-node/issues\"\n  },\n  \"homepage\": \"https://github.com/SignalK/signalk-server-node#readme\",\n  \"dependencies\": {\n    \"@canboat/canboatjs\": \"^3.3.0\",\n    \"@signalk/client\": \"^2.3.0\",\n    \"@signalk/n2k-signalk\": \"^4.1.0\",\n    \"@signalk/nmea0183-signalk\": \"^3.0.0\",\n    \"@signalk/nmea0183-utilities\": \"^1.0.0\",\n    \"@signalk/signalk-schema\": \"^1.5.0\",\n    \"any-shell-escape\": \"^0.1.1\",\n    \"file-timestamp-stream\": \"^2.1.2\",\n    \"lodash\": \"^4.17.4\",\n    \"moment\": \"^2.24.0\",\n    \"reconnect-core\": \"^1.3.0\",\n    \"stream-throttle\": \"^0.1.3\"\n  },\n  \"optionalDependencies\": {\n    \"serialport\": \"^11.0.0\"\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/actisense-serial.ts",
    "content": "import { serial } from '@canboat/canboatjs'\n\nexport default serial\n"
  },
  {
    "path": "packages/streams/src/autodetect.test.ts",
    "content": "import { expect } from 'chai'\nimport { EventEmitter } from 'events'\nimport DeMultiplexer from './autodetect'\nimport type { DeltaCache } from './types'\n\nfunction createAutodetectApp() {\n  const emitter = new EventEmitter()\n  const signalk = new EventEmitter()\n  return Object.assign(emitter, {\n    selfContext: 'vessels.urn:mrn:imo:mmsi:000000000',\n    isNmea2000OutAvailable: false,\n    deltaCache: {\n      setSourceDelta(_key: string, _delta: object): void {}\n    } as DeltaCache,\n    handleMessage(_id: string, _delta: object): void {},\n    signalk\n  })\n}\n\nconst SK_DELTA = JSON.stringify({\n  updates: [\n    {\n      source: { label: 'test' },\n      values: [{ path: 'navigation.speedOverGround', value: 5 }]\n    }\n  ],\n  context: 'vessels.urn:mrn:imo:mmsi:000000000'\n})\n\nconst MUX_DELTA = `${Date.now()};I;${SK_DELTA}`\n\ndescribe('DeMultiplexer (autodetect)', () => {\n  it('detects multiplexed log format and parses Signal K delta', (done) => {\n    const app = createAutodetectApp()\n    const demux = new DeMultiplexer({\n      app,\n      providerId: 'test-auto',\n      noThrottle: true\n    })\n\n    demux.once('data', (d: unknown) => {\n      const delta = d as {\n        updates: Array<{ values: Array<{ path: string }> }>\n      }\n      expect(delta.updates[0]!.values[0]!.path).to.equal(\n        'navigation.speedOverGround'\n      )\n      done()\n    })\n\n    demux.write(MUX_DELTA)\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/autodetect.ts",
    "content": "/*\n * Copyright 2016 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Writable, Transform, TransformCallback } from 'stream'\nimport TimestampThrottle from './timestamp-throttle'\nimport N2KJsonToSignalK from './n2k-signalk'\nimport ActisenseSerialToJSON from './n2kAnalyzer'\nimport CanboatJs from './canboatjs'\nimport Nmea0183ToSignalK from './nmea0183-signalk'\nimport type { DeltaCache } from './types'\n\n/*\n\nProvider to handle any kind of supported input data.\n\nIt will detect if the incoming data is in the 'multiplexedlog' format\n(produced by the server's logging function)and if not, then it will\nlook at each incoming line to try to determine the type of data.\n\nA multiplexed log should have this format:\n\nmilliseconds;discriminator;data\nwhere discriminator can be\nN => NMEA0183\nI => Signal K delta\nA => actisense-serial format N2K data\n\n1471172400151;N;!AIVDM,1,1,,A,13KdO60034Qk?WtRHUJQ3@ol05Cd,0*55\n1471172400152;I;{\"updates\":[{\"source\":{\"label\":\"i2c\"},\"values\":[{\"path\":\"electrical.batteries.house.voltage\",\"value\":13.5741469711775},{\"path\":\"electrical.batteries.house.current\",\"value\":0.39957033121875}],\"timestamp\":\"2016-07-16T12:00:08.825Z\"}],\"context\":\"vessels.230029970\"}\n1471172400153;A;2016-07-16T12:00:00.000Z,2,130306,105,255,8,00,d1,03,c9,23,fa,ff,ff\n*/\n\ninterface AutodetectOptions {\n  app: {\n    selfContext: string\n    isNmea2000OutAvailable: boolean\n    deltaCache: DeltaCache\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    handleMessage(id: string, delta: object): void\n    signalk: { emit(event: string, ...args: unknown[]): void }\n  }\n  providerId: string\n  noThrottle?: boolean\n  useCanboatjs?: boolean\n  [key: string]: unknown\n}\n\ninterface TimestampedMessage {\n  timestamp: number | string\n  discriminator: string\n  data: string\n  fromFile?: boolean\n}\n\ninterface DeltaMessage {\n  updates?: Array<{ timestamp?: Date; [key: string]: unknown }>\n  [key: string]: unknown\n}\n\nclass ToTimestamped extends Transform {\n  private readonly deMultiplexer: DeMultiplexer\n  private readonly options: AutodetectOptions\n  private multiplexedFormat = false\n\n  constructor(deMultiplexer: DeMultiplexer, options: AutodetectOptions) {\n    super({ objectMode: true })\n    this.deMultiplexer = deMultiplexer\n    this.options = options\n  }\n\n  _transform(\n    msg: string | Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const str = msg.toString()\n    if (str.trim().length === 0) {\n      done()\n      return\n    }\n\n    this.multiplexedFormat =\n      str.length > 16 && str.charAt(13) === ';' && str.split(';').length >= 3\n    if (this.multiplexedFormat) {\n      if (this.options.noThrottle) {\n        this.deMultiplexer.toTimestamped.pipe(this.deMultiplexer.splitter)\n      } else {\n        this.deMultiplexer.toTimestamped\n          .pipe(this.deMultiplexer.timestampThrottle)\n          .pipe(this.deMultiplexer.splitter)\n      }\n      this._transform = this.handleMultiplexed\n    } else {\n      this._transform = this.handleMixed\n    }\n    this._transform(msg, encoding, done)\n  }\n\n  private handleMixed(\n    msg: string | Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const line = msg.toString()\n    const res: TimestampedMessage = {\n      timestamp: new Date().getTime(),\n      data: line,\n      discriminator: 'I'\n    }\n    if (line.charAt(0) === '{') {\n      res.discriminator = 'I'\n    } else if (\n      (line.charAt(0) === '$' || line.charAt(0) === '!') &&\n      !line.startsWith('!PDGY')\n    ) {\n      res.discriminator = 'N'\n    } else {\n      res.discriminator = 'A'\n    }\n    this.push(res)\n    done()\n  }\n\n  private handleMultiplexed(\n    msg: string | Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const line = msg.toString()\n    const parts = line.split(';')\n    this.push({\n      timestamp: parts[0],\n      discriminator: parts[1],\n      data: parts.slice(2).join(';')\n    })\n    done()\n  }\n}\n\nclass Splitter extends Transform {\n  private readonly demuxEmitData: (msg: object) => void\n  private readonly fromN2KJson: N2KJsonToSignalK\n  private readonly fromActisenseSerial: CanboatJs | ActisenseSerialToJSON\n  private readonly fromNMEA0183: Nmea0183ToSignalK\n\n  constructor(deMultiplexer: DeMultiplexer, options: AutodetectOptions) {\n    super({ objectMode: true })\n    this.demuxEmitData = (msg: object) => {\n      deMultiplexer.emit('data', msg)\n    }\n\n    this.fromN2KJson = new N2KJsonToSignalK(options)\n    this.fromN2KJson.on('data', this.demuxEmitData)\n\n    if (options.useCanboatjs === undefined || options.useCanboatjs) {\n      this.fromActisenseSerial = new CanboatJs(options)\n    } else {\n      this.fromActisenseSerial = new ActisenseSerialToJSON(options)\n    }\n    this.fromActisenseSerial.pipe(this.fromN2KJson)\n\n    this.fromNMEA0183 = new Nmea0183ToSignalK(options)\n    this.fromNMEA0183.on('data', this.demuxEmitData)\n  }\n\n  _transform(\n    msg: TimestampedMessage,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    let actualDone = done\n    try {\n      switch (msg.discriminator) {\n        case 'A': {\n          msg.fromFile = true\n          const result = this.fromActisenseSerial.write(msg, encoding)\n          if (!result) {\n            this.fromActisenseSerial.once('drain', done)\n            actualDone = () => {}\n          }\n          break\n        }\n        case 'C':\n        case 'N':\n        case 'G':\n        case 'M':\n          this.fromNMEA0183.write(\n            { line: msg.data, timestamp: msg.timestamp },\n            encoding\n          )\n          break\n        case 'I':\n        default:\n          try {\n            const parsed = JSON.parse(msg.data) as DeltaMessage\n            const timestamp = new Date(Number(msg.timestamp))\n            if (parsed.updates) {\n              parsed.updates.forEach((update) => {\n                update.timestamp = timestamp\n              })\n            }\n            this.push(parsed)\n            this.demuxEmitData(parsed)\n          } catch (e) {\n            console.error(e)\n          }\n          break\n      }\n    } finally {\n      actualDone()\n    }\n  }\n\n  pipe<T extends NodeJS.WritableStream>(target: T): T {\n    this.fromN2KJson.pipe(target as unknown as Writable)\n    this.fromNMEA0183.pipe(target as unknown as Writable)\n    return Transform.prototype.pipe.call(this, target) as T\n  }\n}\n\nexport default class DeMultiplexer extends Writable {\n  readonly toTimestamped: ToTimestamped\n  readonly timestampThrottle: TimestampThrottle\n  readonly splitter: Splitter\n\n  constructor(options: AutodetectOptions) {\n    super()\n    this.toTimestamped = new ToTimestamped(this, options)\n    this.timestampThrottle = new TimestampThrottle({\n      getMilliseconds: (msg) =>\n        typeof msg.timestamp === 'string'\n          ? Number(msg.timestamp)\n          : msg.timestamp\n    })\n    this.splitter = new Splitter(this, options)\n\n    this.toTimestamped.on('drain', this.emit.bind(this, 'drain'))\n  }\n\n  pipe<T extends NodeJS.WritableStream>(target: T): T {\n    return this.splitter.pipe(target)\n  }\n\n  write(\n    chunk: unknown,\n    encodingOrCallback?: BufferEncoding | ((error?: Error | null) => void),\n    callback?: (error?: Error | null) => void\n  ): boolean {\n    if (typeof encodingOrCallback === 'function') {\n      return this.toTimestamped.write(\n        chunk as string | Buffer,\n        encodingOrCallback\n      )\n    }\n    return this.toTimestamped.write(\n      chunk as string | Buffer,\n      encodingOrCallback ?? 'utf8',\n      callback\n    )\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/canboatjs.test.ts",
    "content": "import { expect } from 'chai'\nimport CanboatJs from './canboatjs'\nimport {\n  createMockApp,\n  collectStreamOutput,\n  createDebugStub\n} from './test-helpers'\n\ndescribe('CanboatJs', () => {\n  it('parses Actisense format N2K data and pushes PGN object', async () => {\n    const app = createMockApp()\n    const stream = new CanboatJs({\n      app,\n      createDebug: createDebugStub()\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(\n      '2024-01-01T00:00:00.000Z,2,127250,204,255,8,00,10,6e,01,00,ff,7f,fd'\n    )\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    const pgn = results[0] as { pgn: number; fields: { heading: number } }\n    expect(pgn.pgn).to.equal(127250)\n    expect(pgn.fields.heading).to.be.a('number')\n  })\n\n  it('emits analyzerOutEvent on app for each parsed PGN', async () => {\n    const app = createMockApp()\n    const emitted: unknown[] = []\n    app.on('N2KAnalyzerOut', (data: unknown) => emitted.push(data))\n\n    const stream = new CanboatJs({\n      app,\n      createDebug: createDebugStub()\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(\n      '2024-01-01T00:00:00.000Z,2,127250,204,255,8,00,10,6e,01,00,ff,7f,fd'\n    )\n    stream.end()\n\n    await outputPromise\n    expect(emitted).to.have.length(1)\n  })\n\n  it('handles fromFile chunks with timestamp override', async () => {\n    const app = createMockApp()\n    const stream = new CanboatJs({\n      app,\n      createDebug: createDebugStub()\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write({\n      fromFile: true,\n      data: '2024-01-01T00:00:00.000Z,2,127250,204,255,8,00,10,6e,01,00,ff,7f,fd',\n      timestamp: String(new Date('2025-06-15T12:00:00Z').getTime())\n    })\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    const pgn = results[0] as { timestamp: string }\n    expect(pgn.timestamp).to.equal('2025-06-15T12:00:00.000Z')\n  })\n\n  it('emits canboatjs:unparsed:data for unparseable input', async () => {\n    const app = createMockApp()\n    const unparsed: unknown[] = []\n    app.on('canboatjs:unparsed:data', (data: unknown) => unparsed.push(data))\n\n    const stream = new CanboatJs({\n      app,\n      createDebug: createDebugStub()\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write('not valid n2k data')\n    stream.end()\n\n    await outputPromise\n    expect(unparsed).to.have.length(1)\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/canboatjs.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\nimport { FromPgn } from '@canboat/canboatjs'\nimport type { CreateDebug } from './types'\n\ninterface CanboatJsOptions {\n  app: {\n    emit(event: string, ...args: unknown[]): void\n  }\n  analyzerOutEvent?: string\n  useCamelCompat?: boolean\n  createDebug?: CreateDebug\n  [key: string]: unknown\n}\n\ninterface FileChunk {\n  fromFile: boolean\n  data: string\n  timestamp: string\n}\n\nexport default class CanboatJs extends Transform {\n  private readonly fromPgn: InstanceType<typeof FromPgn>\n  private readonly app: CanboatJsOptions['app']\n  private readonly analyzerOutEvent: string\n\n  constructor(options: CanboatJsOptions) {\n    super({ objectMode: true })\n\n    const opts = {\n      ...options,\n      useCamelCompat: options.useCamelCompat ?? true\n    }\n    this.fromPgn = new FromPgn(opts)\n    const createDebug = options.createDebug ?? require('debug')\n    const debug = createDebug('signalk:streams:canboatjs')\n\n    this.fromPgn.on('warning', (pgn: { pgn: number }, warning: string) => {\n      debug(`[warning] ${pgn.pgn} ${warning}`)\n      options.app.emit('canboatjs:warning', warning)\n    })\n\n    this.fromPgn.on('error', (pgn: { input: string }, err: Error) => {\n      console.error(pgn.input, err.message)\n      options.app.emit('canboatjs:error', err)\n    })\n\n    this.app = options.app\n    this.analyzerOutEvent = options.analyzerOutEvent ?? 'N2KAnalyzerOut'\n  }\n\n  _transform(\n    chunk: Buffer | FileChunk,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    if (\n      typeof chunk === 'object' &&\n      chunk !== null &&\n      'fromFile' in chunk &&\n      chunk.fromFile\n    ) {\n      const pgnData = this.fromPgn.parse(chunk.data)\n      if (pgnData) {\n        pgnData.timestamp = new Date(Number(chunk.timestamp)).toISOString()\n        this.push(pgnData)\n        this.app.emit(this.analyzerOutEvent, pgnData)\n      } else {\n        this.app.emit('canboatjs:unparsed:object', chunk)\n      }\n    } else {\n      const pgnData = this.fromPgn.parse(chunk)\n      if (pgnData) {\n        this.push(pgnData)\n        this.app.emit(this.analyzerOutEvent, pgnData)\n      } else {\n        this.app.emit('canboatjs:unparsed:data', chunk)\n      }\n    }\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/canbus.ts",
    "content": "import { canbus } from '@canboat/canboatjs'\n\nexport default canbus\n"
  },
  {
    "path": "packages/streams/src/execute.test.ts",
    "content": "import { expect } from 'chai'\nimport { Writable } from 'stream'\nimport Execute from './execute'\nimport { createMockApp, createDebugStub } from './test-helpers'\n\nfunction createCollectingWritable(): Writable & { chunks: string[] } {\n  const chunks: string[] = []\n  const writable = new Writable({\n    write(chunk: Buffer, _encoding: BufferEncoding, callback: () => void) {\n      chunks.push(chunk.toString())\n      writable.emit('chunk', chunk.toString())\n      callback()\n    }\n  })\n  return Object.assign(writable, { chunks })\n}\n\ndescribe('Execute', () => {\n  it('captures stdout from child process', function (done) {\n    this.timeout(5000)\n    const app = createMockApp()\n    const exec = new Execute({\n      command: 'echo hello',\n      app,\n      providerId: 'test-exec',\n      restartOnClose: false,\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    writable.on('chunk', () => {\n      if (writable.chunks.join('').includes('hello')) {\n        expect(app.providerStatuses.some((s) => s.msg === 'Started')).to.equal(\n          true\n        )\n        exec.end()\n        done()\n      }\n    })\n    exec.pipe(writable)\n  })\n\n  it('reports stderr on app provider error', function (done) {\n    this.timeout(5000)\n    const app = createMockApp()\n    const origSetError = app.setProviderError.bind(app)\n    app.setProviderError = (id: string, msg: string) => {\n      origSetError(id, msg)\n      if (msg.includes('error')) {\n        exec.end()\n        done()\n      }\n    }\n\n    const exec = new Execute({\n      command: 'echo error >&2',\n      app,\n      providerId: 'test-exec',\n      restartOnClose: false,\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    exec.pipe(writable)\n  })\n\n  it('writes to child process stdin via app event', function (done) {\n    this.timeout(5000)\n    const app = createMockApp()\n    const origSetStatus = app.setProviderStatus.bind(app)\n    app.setProviderStatus = (id: string, msg: string) => {\n      origSetStatus(id, msg)\n      if (msg === 'Started') {\n        setImmediate(() => app.emit('testInput', 'hello from event'))\n      }\n    }\n\n    const exec = new Execute({\n      command: 'cat',\n      app,\n      providerId: 'test-exec',\n      toChildProcess: 'testInput',\n      restartOnClose: false,\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    writable.on('chunk', () => {\n      if (writable.chunks.join('').includes('hello from event')) {\n        exec.end()\n        done()\n      }\n    })\n    exec.pipe(writable)\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/execute.ts",
    "content": "import { ChildProcess, spawn } from 'child_process'\nimport { Transform, TransformCallback, Writable } from 'stream'\nimport { pgnToActisenseSerialFormat } from '@canboat/canboatjs'\nimport type { PGN } from '@canboat/ts-pgns'\nimport type { CreateDebug, DebugLogger } from './types'\n\ninterface ExecuteOptions {\n  command: string\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  toChildProcess?: string\n  restartOnClose?: boolean\n  restartThrottleTime?: number\n  createDebug?: CreateDebug\n  debug?: DebugLogger\n  [key: string]: unknown\n}\n\nexport default class Execute extends Transform {\n  private readonly options: ExecuteOptions\n  private readonly debug: DebugLogger\n  childProcess!: ChildProcess\n  private pipeTo: Writable | null = null\n  private lastStartupTime = 0\n  private stopped = false\n\n  constructor(options: ExecuteOptions) {\n    super({})\n    this.options = options\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = options.debug ?? createDebug('signalk:streams:execute')\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    this.childProcess.stdin?.write(chunk.toString())\n    done()\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    this.pipeTo = pipeTo as unknown as Writable\n    this.startProcess(this.options.command)\n\n    const stdOutEvent = this.options.toChildProcess ?? 'toChildProcess'\n    this.debug(\n      'Using event ' + stdOutEvent + \" for output to child process's stdin\"\n    )\n\n    this.options.app.on(stdOutEvent, (d: string) => {\n      try {\n        this.childProcess.stdin?.write(d + '\\n')\n      } catch (err: unknown) {\n        const message = err instanceof Error ? err.message : String(err)\n        console.log('execute:' + message)\n      }\n    })\n\n    if (stdOutEvent === 'nmea2000out') {\n      this.options.app.on('nmea2000JsonOut', (pgn: PGN) => {\n        this.childProcess.stdin?.write(pgnToActisenseSerialFormat(pgn) + '\\r\\n')\n      })\n      this.options.app.emit('nmea2000OutAvailable')\n    }\n\n    super.pipe(pipeTo)\n    return pipeTo\n  }\n\n  end(): this {\n    this.debug('end, killing child process')\n    this.stopped = true\n    this.childProcess.kill()\n    if (this.pipeTo) {\n      this.pipeTo.end()\n    }\n    return this\n  }\n\n  private startProcess(command: string): void {\n    this.debug(`starting |${command}|`)\n    if (process.platform === 'win32') {\n      this.childProcess = spawn('cmd', ['/c', command])\n    } else {\n      this.childProcess = spawn('sh', ['-c', command])\n    }\n    this.lastStartupTime = Date.now()\n    this.options.app.setProviderStatus(this.options.providerId, 'Started')\n\n    this.childProcess.stderr?.on('data', (data: Buffer) => {\n      const msg = data.toString()\n      this.options.app.setProviderError(this.options.providerId, msg)\n      console.error(msg)\n    })\n\n    this.childProcess.stdout?.on('data', (data: Buffer) => {\n      if (this.debug.enabled) {\n        this.debug(data.toString())\n      }\n      this.push(data)\n    })\n\n    this.childProcess.on('close', (code: number | null) => {\n      const msg = `|${command}| exited with ${code}`\n      console.error(msg)\n      if (this.stopped) return\n      if (\n        this.options.restartOnClose === undefined ||\n        this.options.restartOnClose\n      ) {\n        const throttleTime = (this.options.restartThrottleTime ?? 60) * 1000\n\n        const sinceLast = Date.now() - this.lastStartupTime\n        if (sinceLast > throttleTime) {\n          this.startProcess(command)\n        } else {\n          const nextStart = throttleTime - sinceLast\n          const waitMsg = `Waiting ${nextStart / 1000} seconds to restart`\n          this.options.app.setProviderStatus(this.options.providerId, waitMsg)\n          this.debug(waitMsg)\n          setTimeout(() => {\n            this.startProcess(command)\n          }, nextStart)\n        }\n      }\n    })\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/filestream.ts",
    "content": "import { createReadStream, existsSync, ReadStream } from 'fs'\nimport { isAbsolute, join } from 'path'\nimport { PassThrough, Writable } from 'stream'\nclass EndIgnoringPassThrough extends PassThrough {\n  end(): this {\n    return this\n  }\n}\n\ninterface FileStreamOptions {\n  filename: string\n  app: {\n    config: { configPath: string }\n  }\n  keepRunning?: boolean\n  [key: string]: unknown\n}\n\nexport default class FileStream {\n  private readonly options: FileStreamOptions\n  private keepRunning: boolean\n  private pipeTo: Writable | null = null\n  private endIgnoringPassThrough: EndIgnoringPassThrough | null = null\n  private filestream: ReadStream | null = null\n\n  constructor(options: FileStreamOptions) {\n    this.options = options\n    this.keepRunning = options.keepRunning ?? true\n  }\n\n  pipe<T extends Writable>(pipeTo: T): T {\n    this.pipeTo = pipeTo\n    this.endIgnoringPassThrough = new EndIgnoringPassThrough()\n    this.endIgnoringPassThrough.pipe(pipeTo)\n    this.startStream()\n    return pipeTo\n  }\n\n  startStream(): void {\n    let filename: string\n    if (isAbsolute(this.options.filename)) {\n      filename = this.options.filename\n    } else {\n      filename = join(this.options.app.config.configPath, this.options.filename)\n      if (!existsSync(filename)) {\n        filename = join(__dirname, '..', this.options.filename)\n      }\n    }\n\n    this.filestream = createReadStream(filename)\n    this.filestream.on('error', (err: Error) => {\n      console.error(err.message)\n      this.keepRunning = false\n    })\n    if (this.keepRunning) {\n      this.filestream.on('end', () => this.startStream())\n    }\n    this.filestream.pipe(this.endIgnoringPassThrough!)\n  }\n\n  end(): void {\n    if (this.pipeTo) {\n      this.pipeTo.end()\n    }\n    if (this.filestream) {\n      this.filestream.close()\n    }\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/folderstream.ts",
    "content": "import { createReadStream, readdirSync } from 'fs'\nimport { Transform } from 'stream'\n\ninterface FolderStreamOptions {\n  folder: string\n}\n\nexport default class FolderStream extends Transform {\n  private readonly folder: string\n  private fileIndex = 0\n\n  constructor(options: FolderStreamOptions) {\n    super({ objectMode: false })\n    this.folder = options.folder\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    const files = readdirSync(this.folder)\n\n    const pipeNextFile = (): void => {\n      const file = files[this.fileIndex]\n      if (!file) {\n        pipeTo.end()\n        return\n      }\n      const fileStream = createReadStream(this.folder + '/' + file)\n      fileStream.pipe(pipeTo, { end: false })\n      fileStream.on('end', () => {\n        this.fileIndex++\n        if (this.fileIndex === files.length) {\n          pipeTo.end()\n        } else {\n          pipeNextFile()\n        }\n      })\n    }\n\n    pipeNextFile()\n    return pipeTo\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/from_json.test.ts",
    "content": "import { expect } from 'chai'\nimport FromJson from './from_json'\n\ndescribe('FromJson', () => {\n  it('parses valid JSON', (done) => {\n    const fromJson = new FromJson()\n    const results: unknown[] = []\n    fromJson.on('data', (d: unknown) => results.push(d))\n    fromJson.write('{\"key\":\"value\"}')\n    fromJson.end()\n    fromJson.on('finish', () => {\n      expect(results).to.have.length(1)\n      expect(results[0]).to.deep.equal({ key: 'value' })\n      done()\n    })\n  })\n\n  it('handles arrays', (done) => {\n    const fromJson = new FromJson()\n    const results: unknown[] = []\n    fromJson.on('data', (d: unknown) => results.push(d))\n    fromJson.write('[1,2,3]')\n    fromJson.end()\n    fromJson.on('finish', () => {\n      expect(results[0]).to.deep.equal([1, 2, 3])\n      done()\n    })\n  })\n\n  it('drops invalid JSON without error', (done) => {\n    const fromJson = new FromJson()\n    const results: unknown[] = []\n    fromJson.on('data', (d: unknown) => results.push(d))\n    fromJson.write('not json')\n    fromJson.write('{\"valid\":true}')\n    fromJson.end()\n    fromJson.on('finish', () => {\n      expect(results).to.have.length(1)\n      expect(results[0]).to.deep.equal({ valid: true })\n      done()\n    })\n  })\n\n  it('handles multiple JSON objects in sequence', (done) => {\n    const fromJson = new FromJson()\n    const results: unknown[] = []\n    fromJson.on('data', (d: unknown) => results.push(d))\n    fromJson.write('{\"a\":1}')\n    fromJson.write('{\"b\":2}')\n    fromJson.end()\n    fromJson.on('finish', () => {\n      expect(results).to.have.length(2)\n      expect(results[0]).to.deep.equal({ a: 1 })\n      expect(results[1]).to.deep.equal({ b: 2 })\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/from_json.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\n\nexport default class FromJson extends Transform {\n  constructor() {\n    super({ objectMode: true })\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    let parsed: unknown = null\n    try {\n      parsed = JSON.parse(chunk.toString())\n    } catch {\n      console.error('Could not parse JSON:' + chunk.toString())\n    }\n    if (parsed) {\n      this.push(parsed)\n    }\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/gpiod-seatalk.ts",
    "content": "/*\n * Copyright 2024 Adrian Studer\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * This stream receives Seatalk1 data over GPIO on a Raspberry Pi\n * Supports Python libraries gpiod 1.x and 2.x\n * Supports Raspberry Pi OS Bookworm and Bullseye on Raspberry Pi 3, 4 and 5\n */\n\nimport Execute from './execute'\nimport type { CreateDebug } from './types'\n\nconst pythonScript = `\nimport gpiod, sys, datetime, glob\n\nST_PIN = 4\n\nST_INVERT = 0   # 0=idle high, 1=idle low\nST_BITS = 9\nST_STOP = 1\nST_BAUD = 4800\n\n# detect version of gpiod,\ngpiod_v = int(gpiod.__version__.split(\".\")[0])\nif gpiod_v != 1 and gpiod_v !=2:\n    print(\"Error: gpiod version {} is not supported\".format(gpiod.__version__), file=sys.stderr)\n    sys.exit()\n\n# detect gpiochip, based on model of Raspberry Pi\nwith open(\"/proc/device-tree/model\") as f:\n    model = f.read()\nif \"Pi 4\" in model or \"Pi 3\" in model:\n    gpio_chip = \"gpiochip0\"\nelif \"Pi 5\" in model:\n    gpio_chip = \"gpiochip0\"\n    if gpiod_v == 1:\n        for c in gpiod.ChipIter():\n            if c.label() == \"pinctrl-rp1\":\n                gpio_chip = c.name()\n                break\n    else:\n        for g in glob.glob(\"/dev/gpiochip*\"):\n            if gpiod.is_gpiochip_device(g):\n                with gpiod.Chip(g) as c:\n                    info = c.get_info()\n                    if info.label == \"pinctrl-rp1\":\n                        gpio_chip = info.name\n                        break\nelse:\n    print(\"Warning: Use of {} is untested\".format(model), file=sys.stderr)\n    gpio_chip = \"gpiochip0\"\n\nclass st1rx:\n    line = None\n    pending_e = None\n\n    def open(self, pin, baud=ST_BAUD, bits=ST_BITS, stop=ST_STOP, invert=ST_INVERT):\n        self.baud = baud\n        self.bits = bits\n        self.stop = stop\n        self.invert = invert\n\n        # calculate timing based on baud rate\n        self.fullbit_ns = int(1000000000 / self.baud)\n        self.halfbit_ns = int(self.fullbit_ns / 2)\n        self.frame_ns = int((1 + self.bits + self.stop) * self.fullbit_ns)\n        # ideally we should sample at halfbit_ns, but opto-coupler circuit may have slow rising edge\n        # sample at 1/4 bit pos with invert, and 3/4 bit without invert\n        self.sample_ns = int(self.halfbit_ns / 2)\n        if invert == False:\n            self.sample_ns += self.halfbit_ns\n\n        if gpiod_v == 1:\n            # get pin with gpiod v1.x.x\n            if self.invert == 0:\n                pull = gpiod.LINE_REQ_FLAG_BIAS_PULL_UP\n            else:\n                pull = gpiod.LINE_REQ_FLAG_BIAS_PULL_DOWN\n            chip = gpiod.Chip(gpio_chip)\n            self.line = chip.get_line(pin)\n            if self.line is None:\n                print(\"Error connecting to pin \", pin, file=sys.stderr)\n                return False\n            self.line.request(\n                consumer=\"ST1RX\",\n                type=gpiod.LINE_REQ_EV_BOTH_EDGES,\n                flags=pull)\n        else:\n            # get pin with gpiod v2.x.x\n            if self.invert == 0:\n                pull = gpiod.line.Bias.PULL_UP\n            else:\n                pull = gpiod.line.Bias.PULL_DOWN\n            self.line = gpiod.request_lines(\n                \"/dev/\" + gpio_chip,\n                consumer=\"ST1RX\",\n                config={pin: gpiod.LineSettings(edge_detection=gpiod.line.Edge.BOTH, bias=pull)}\n                )\n\n        self.pending_e = None\n        return True\n\n    def close(self):\n        if self.line is not None:\n            self.line.release()\n        self.line = None\n\n    def read_gpiod1(self):\n        l = self.line\n        level = 0\n        data = 0\n        bits = self.bits\n        stop = self.stop\n        pol = self.invert\n\n        if self.pending_e is None:\n            # wait for new gpio events, timeout after 0.5 seconds\n            if l.event_wait(nsec=500000000) == False:\n                # no activity, return None\n                return\n            e = l.event_read()\n        else:\n            # we got a pending event\n            e = self.pending_e\n            self.pending_e = None\n\n        if e.type == e.FALLING_EDGE:\n            level = 0^pol\n        else:\n            level = 1^pol\n        e_ns = e.nsec\n\n        fullbit_ns = self.fullbit_ns\n        sample_ns = e_ns + self.sample_ns\n        remaining_ns = self.frame_ns\n\n        b = 0\n        sb = False\n\n        while True:\n            # wait for next event\n            if l.event_wait(nsec=remaining_ns):\n                e = l.event_read()\n                e_ns = e.nsec\n                if e_ns < sample_ns:\n                    e_ns += 1000000000\n\n                # process bits since previous event\n                while sample_ns < e_ns:\n                    if sb == False:\n                        if level == 0:\n                            sb = True\n                        else:\n                            # not a start bit, drop byte (normal on noisy bus)\n                            print(\"# not a start bit\")\n                            return\n                    elif b < bits:\n                        # store data bits\n                        data |= level << b\n                        b += 1\n                    elif stop > 0:\n                        # check stop bits\n                        if level == 1:\n                            stop -= 1\n                        else:\n                            # invalid stop bit, drop byte (normal on noisy bus)\n                            print(\"# invalid stop bits\")\n                            return\n                    sample_ns += fullbit_ns\n                    remaining_ns -= fullbit_ns\n\n                # new level going forward\n                if e.type == e.FALLING_EDGE:\n                    level = 0^pol\n                else:\n                    level = 1^pol\n\n                # check if we are done processing this event\n                if remaining_ns < fullbit_ns:\n                    # if so, this event is already start of next frame\n                    self.pending_e = e\n                    break\n            else:\n                # timeout is end of frame\n                if level == 0:\n                    # invalid idle state at end of frame, drop byte (normal on noisy bus)\n                    print(\"# invalid idle state\")\n                    return\n                # add remaining bits to byte\n                while b < bits:\n                    data |= level << b\n                    b += 1\n                stop = 0\n                break\n\n        if stop == 0 and b == bits:\n            return data\n        else:\n            # missing stop or data bits, drop byte (normal on noisy bus)\n            print(\"# missing stop or data bits\")\n            return\n\n    def read_gpiod2(self):\n        l = self.line\n        level = 0\n        data = 0\n        bits = self.bits\n        stop = self.stop\n        pol = self.invert\n\n        if self.pending_e is None:\n            # wait for new gpio events, timeout after 0.5 seconds\n            if l.wait_edge_events(datetime.timedelta(microseconds=500000)) == False:\n                # no activity, return None\n                return\n            e = l.read_edge_events(1)[0]\n        else:\n            # we got a pending event\n            e = self.pending_e\n            self.pending_e = None\n\n        if e.event_type == e.Type.FALLING_EDGE:\n            level = 0^pol\n        else:\n            level = 1^pol\n        e_ns = e.timestamp_ns\n\n        fullbit_ns = self.fullbit_ns\n        sample_ns = e_ns + self.sample_ns\n        remaining_ns = self.frame_ns\n\n        b = 0\n        sb = False\n\n        while True:\n            # wait for next event\n            if l.wait_edge_events(datetime.timedelta(microseconds=remaining_ns/1000)):\n                e = l.read_edge_events(1)[0]\n                e_ns = e.timestamp_ns\n                if e_ns < sample_ns:\n                    e_ns += 1000000000\n\n                # process bits since previous event\n                while sample_ns < e_ns:\n                    if sb == False:\n                        if level == 0:\n                            sb = True\n                        else:\n                            # not a start bit, drop byte (normal on noisy bus)\n                            print(\"# not a start bit\")\n                            return\n                    elif b < bits:\n                        # store data bits\n                        data |= level << b\n                        b += 1\n                    elif stop > 0:\n                        # check stop bits\n                        if level == 1:\n                            stop -= 1\n                        else:\n                            # invalid stop bit, drop byte (normal on noisy bus)\n                            print(\"# invalid stop bits\")\n                            return\n                    sample_ns += fullbit_ns\n                    remaining_ns -= fullbit_ns\n\n                # new level going forward\n                if e.event_type == e.Type.FALLING_EDGE:\n                    level = 0^pol\n                else:\n                    level = 1^pol\n\n                # check if we are done processing this event\n                if remaining_ns < fullbit_ns:\n                    # if so, this event is already start of next frame\n                    self.pending_e = e\n                    break\n            else:\n                # timeout is end of frame\n                if level == 0:\n                    # invalid idle state at end of frame, drop byte (normal on noisy bus)\n                    print(\"# invalid idle state\")\n                    return\n                # add remaining bits to byte\n                while b < bits:\n                    data |= level << b\n                    b += 1\n                stop = 0\n                break\n\n        if stop == 0 and b == bits:\n            return data\n        else:\n            # missing stop or data bits, drop byte (normal on noisy bus)\n            print(\"# missing stop or data bits\")\n            return\n\n    def read(self):\n        if self.line is None:\n            print(\"Error: no pin connected\", file=sys.stderr)\n            return\n        if gpiod_v == 1:\n            return self.read_gpiod1()\n        else:\n            return self.read_gpiod2()\n\nif __name__ == \"__main__\":\n    gpio = ST_PIN\n    if len(sys.argv) > 1 and isinstance(sys.argv[1], str) and sys.argv[1][:4]==\"GPIO\":\n        # Gpio, info as \"GPIOnn\", from GUI setup. Sensing the seatalk1 (yellow wire)\n        try:\n          gpio = int(sys.argv[1][4:])\n        except:\n          pass\n\n    pol = ST_INVERT\n    if len(sys.argv) > 2:\n        # Invert, inverted input from ST1, selected in the GUI\n        if sys.argv[2] == \"true\":\n            pol = 1\n\n    try:\n        st = st1rx()\n        if st.open(pin=gpio, invert=pol) == False:\n            print(\"Error: Failed to open Seatalk1 pin\", file=sys.stderr)\n            sys.exit()\n\n        st_msg = \"\"\n        st_start = False\n        while True:\n            # read a byte from Seatalk pin\n            d = st.read()\n            # if error, timeout, or start flag is set\n            if d is None or d > 255:\n                # output pending seatalk data\n                if st_start == True:\n                    print(\"$STALK\" + st_msg)\n                    st_start = False\n                    st_msg = \"\"\n            # if new data\n            if d is not None:\n                # if start flag is set, start a new msg\n                if d > 255:\n                    st_start = True\n                    st_msg = \"\"\n                # if a msg is in progress, append byte\n                if st_start == True:\n                    st_msg += \",{:02X}\".format(d & 0xff)\n    except Exception as e:\n        print(e, file=sys.stderr)\n    except KeyboardInterrupt:\n        pass\n    st.close()\n`\n\ninterface GpiodSeatalkOptions {\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  createDebug?: CreateDebug\n  gpio?: string\n  gpioInvert?: string\n}\n\nexport default class GpiodSeatalk extends Execute {\n  constructor(options: GpiodSeatalkOptions) {\n    const createDebug = options.createDebug ?? require('debug')\n    super({\n      ...options,\n      debug: createDebug('signalk:streams:gpiod-seatalk'),\n      command: `python -u -c '${pythonScript}' ${options.gpio} ${options.gpioInvert} `\n    })\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/gpsd.test.ts",
    "content": "import { expect } from 'chai'\nimport net from 'net'\nimport { Writable } from 'stream'\nimport Gpsd from './gpsd'\nimport { createMockApp, createDebugStub } from './test-helpers'\n\ndescribe('Gpsd', () => {\n  let server: net.Server\n  let serverPort: number\n  const activeSockets = new Set<net.Socket>()\n  const pendingStreams = new Set<Gpsd>()\n  const pendingIntervals = new Set<ReturnType<typeof setInterval>>()\n\n  beforeEach((done) => {\n    server = net.createServer((socket) => {\n      activeSockets.add(socket)\n      socket.on('close', () => activeSockets.delete(socket))\n    })\n    server.listen(0, '127.0.0.1', () => {\n      const addr = server.address() as net.AddressInfo\n      serverPort = addr.port\n      done()\n    })\n  })\n\n  afterEach((done) => {\n    pendingIntervals.forEach((i) => clearInterval(i))\n    pendingIntervals.clear()\n    pendingStreams.forEach((s) => s.end())\n    pendingStreams.clear()\n    activeSockets.forEach((s) => s.destroy())\n    activeSockets.clear()\n    if (server.listening) {\n      server.close(() => done())\n    } else {\n      done()\n    }\n  })\n\n  it('does not report a provider error for the initial connection attempt', function (done) {\n    this.timeout(5000)\n\n    server.on('connection', (socket) => {\n      socket.write('$GPRMC,,V,,,,,,,,,,N*53\\r\\n')\n    })\n\n    const app = createMockApp()\n    const gpsd = new Gpsd({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-gpsd',\n      createDebug: createDebugStub()\n    })\n    pendingStreams.add(gpsd)\n\n    const writable = new Writable({\n      write(_chunk, _encoding, callback) {\n        callback()\n      }\n    })\n\n    writable.on('pipe', () => {\n      setTimeout(() => {\n        const retryZeroErrors = app.providerErrors.filter((e) =>\n          e.msg.includes('retry 0')\n        )\n        expect(retryZeroErrors).to.have.lengthOf(0)\n        expect(\n          app.providerStatuses.some((s) => s.msg.includes('Connected'))\n        ).to.equal(true)\n        done()\n      }, 200)\n    })\n\n    gpsd.pipe(writable)\n  })\n\n  it('reports a provider error for actual reconnect attempts (retry > 0)', function (done) {\n    this.timeout(5000)\n\n    // Close the listener so connection attempts fail and reconnect-core retries.\n    server.close(() => {\n      const app = createMockApp()\n      const gpsd = new Gpsd({\n        host: '127.0.0.1',\n        port: serverPort,\n        app,\n        providerId: 'test-gpsd',\n        createDebug: createDebugStub()\n      })\n      pendingStreams.add(gpsd)\n\n      const writable = new Writable({\n        write(_chunk, _encoding, callback) {\n          callback()\n        }\n      })\n\n      const check = setInterval(() => {\n        const retryErrors = app.providerErrors.filter((e) =>\n          /retry [1-9]/.test(e.msg)\n        )\n        if (retryErrors.length > 0) {\n          clearInterval(check)\n          pendingIntervals.delete(check)\n          done()\n        }\n      }, 50)\n      pendingIntervals.add(check)\n\n      gpsd.pipe(writable)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/gpsd.ts",
    "content": "import net from 'net'\nimport { Transform, TransformCallback } from 'stream'\nimport reconnect from 'reconnect-core'\nimport type { CreateDebug, DebugLogger } from './types'\n\nconst GPSD_DEFAULT_PORT = 2947\nconst GPSD_WATCH_COMMAND = '?WATCH={\"class\":\"WATCH\",\"nmea\":true,\"json\":false}\\n'\n\ninterface GpsdOptions {\n  port?: number\n  hostname?: string\n  host?: string\n  noDataReceivedTimeout?: number\n  app: {\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  createDebug?: CreateDebug\n  [key: string]: unknown\n}\n\nexport default class Gpsd extends Transform {\n  private readonly hostname: string\n  private readonly port: number\n  private readonly debug: DebugLogger\n  private readonly noDataReceivedTimeout: number\n  private readonly options: GpsdOptions\n  private reconnector: { disconnect(): void } | null = null\n\n  constructor(options: GpsdOptions) {\n    super()\n    this.options = options\n    this.port = options.port ?? GPSD_DEFAULT_PORT\n    this.hostname = options.hostname ?? options.host ?? 'localhost'\n    this.noDataReceivedTimeout = (options.noDataReceivedTimeout ?? 0) * 1000\n\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:gpsd')\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    if (this.reconnector) {\n      return super.pipe(pipeTo)\n    }\n\n    const label = `${this.hostname}:${this.port}`\n\n    this.options.app.setProviderStatus(\n      this.options.providerId,\n      `Connecting to ${label}`\n    )\n\n    this.reconnector = reconnect((opts: object) => {\n      return net.connect(opts as { host: string; port: number })\n    })({ maxDelay: 5 * 1000 }, (socket: net.Socket) => {\n      if (this.noDataReceivedTimeout > 0) {\n        socket.setTimeout(this.noDataReceivedTimeout)\n        this.debug(`Socket idle timeout set to ${this.noDataReceivedTimeout}ms`)\n        socket.on('timeout', () => {\n          this.debug(`Idle timeout on ${label}`)\n          socket.end()\n        })\n      }\n\n      socket.write(GPSD_WATCH_COMMAND)\n      this.debug(`Sent WATCH command to ${label}`)\n\n      socket.on('data', (data: Buffer) => {\n        this.write(data)\n      })\n    })\n      .on('connect', () => {\n        const msg = `Connected to ${label}`\n        this.options.app.setProviderStatus(this.options.providerId, msg)\n        this.debug(msg)\n      })\n      .on('reconnect', (n: number, delay: number) => {\n        const msg = `Reconnect ${label} retry ${n} delay ${delay}`\n        if (n > 0) {\n          this.options.app.setProviderError(this.options.providerId, msg)\n        }\n        this.debug(msg)\n      })\n      .on('disconnect', () => {\n        const msg = `Disconnected from ${label}`\n        this.options.app.setProviderError(this.options.providerId, msg)\n        this.debug(msg)\n      })\n      .on('error', (err: Error & { errors?: string[] }) => {\n        let msg: string\n        if (err.message && err.message.length > 0) {\n          msg = err.message\n        } else if (err.errors) {\n          msg = err.errors.toString()\n        } else {\n          msg = err.toString()\n        }\n        this.options.app.setProviderError(this.options.providerId, msg)\n        console.error(`GpsdProvider: ${msg}`)\n      })\n      .connect({ host: this.hostname, port: this.port })\n\n    super.pipe(pipeTo)\n    return pipeTo\n  }\n\n  end(): this {\n    if (this.reconnector) {\n      this.reconnector.disconnect()\n    }\n    return this\n  }\n\n  _transform(\n    data: Buffer,\n    encoding: BufferEncoding,\n    callback: TransformCallback\n  ): void {\n    callback(null, data)\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/index.ts",
    "content": "export { default as Simple } from './simple'\nexport { default as Execute } from './execute'\nexport { getLogger, getFullLogDir, listLogFiles } from './logging'\nexport type { CreateDebug, DebugLogger } from './types'\n"
  },
  {
    "path": "packages/streams/src/keys-filter.test.ts",
    "content": "import { expect } from 'chai'\nimport KeysFilter from './keys-filter'\nimport { createDebugStub } from './test-helpers'\n\ndescribe('KeysFilter', () => {\n  it('filters out excluded paths', (done) => {\n    const filter = new KeysFilter({\n      excludeMatchingPaths: ['navigation.speedOverGround'],\n      createDebug: createDebugStub()\n    })\n    const results: unknown[] = []\n    filter.on('data', (d: unknown) => results.push(d))\n\n    filter.write({\n      updates: [\n        {\n          values: [\n            { path: 'navigation.speedOverGround', value: 5 },\n            { path: 'navigation.courseOverGround', value: 1.2 }\n          ],\n          $source: 'test'\n        }\n      ]\n    })\n    filter.end()\n    filter.on('finish', () => {\n      expect(results).to.have.length(1)\n      const delta = results[0] as {\n        updates: Array<{ values: Array<{ path: string }> }>\n      }\n      expect(delta.updates[0]!.values).to.have.length(1)\n      expect(delta.updates[0]!.values[0]!.path).to.equal(\n        'navigation.courseOverGround'\n      )\n      done()\n    })\n  })\n\n  it('drops entire update if all values are excluded', (done) => {\n    const filter = new KeysFilter({\n      excludeMatchingPaths: ['navigation.speedOverGround'],\n      createDebug: createDebugStub()\n    })\n    const results: unknown[] = []\n    filter.on('data', (d: unknown) => results.push(d))\n\n    filter.write({\n      updates: [\n        {\n          values: [{ path: 'navigation.speedOverGround', value: 5 }],\n          $source: 'test'\n        }\n      ]\n    })\n    filter.end()\n    filter.on('finish', () => {\n      expect(results).to.have.length(0)\n      done()\n    })\n  })\n\n  it('passes through deltas with no excluded paths', (done) => {\n    const filter = new KeysFilter({\n      excludeMatchingPaths: ['nothing.matches'],\n      createDebug: createDebugStub()\n    })\n    const results: unknown[] = []\n    filter.on('data', (d: unknown) => results.push(d))\n\n    filter.write({\n      updates: [\n        {\n          values: [{ path: 'navigation.speedOverGround', value: 5 }],\n          $source: 'test',\n          timestamp: '2024-01-01T00:00:00Z'\n        }\n      ]\n    })\n    filter.end()\n    filter.on('finish', () => {\n      expect(results).to.have.length(1)\n      const delta = results[0] as {\n        updates: Array<{ $source: string; timestamp: string }>\n      }\n      expect(delta.updates[0]!.$source).to.equal('test')\n      expect(delta.updates[0]!.timestamp).to.equal('2024-01-01T00:00:00Z')\n      done()\n    })\n  })\n\n  it('handles string input (JSON)', (done) => {\n    const filter = new KeysFilter({\n      excludeMatchingPaths: ['a.b'],\n      createDebug: createDebugStub()\n    })\n    const results: unknown[] = []\n    filter.on('data', (d: unknown) => results.push(d))\n\n    const json = JSON.stringify({\n      updates: [{ values: [{ path: 'a.c', value: 1 }] }]\n    })\n    filter.write(json)\n    filter.end()\n    filter.on('finish', () => {\n      expect(results).to.have.length(1)\n      expect(typeof results[0]).to.equal('string')\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/keys-filter.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\nimport type { CreateDebug, DebugLogger } from './types'\n\ninterface KeysFilterOptions {\n  excludeMatchingPaths: string[]\n  createDebug?: CreateDebug\n}\n\ninterface DeltaUpdate {\n  values?: Array<{ path: string; [key: string]: unknown }>\n  $source?: string\n  source?: unknown\n  timestamp?: string\n}\n\ninterface Delta {\n  updates?: DeltaUpdate[]\n  [key: string]: unknown\n}\n\nexport default class KeysFilter extends Transform {\n  private readonly debug: DebugLogger\n  private readonly exclude: string[]\n\n  constructor(options: KeysFilterOptions) {\n    super({ objectMode: true })\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:keys-filter')\n    this.exclude = options.excludeMatchingPaths\n  }\n\n  _transform(\n    chunk: Buffer | string | Delta,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    let delta: Delta | null = null\n    let isString = false\n\n    if (\n      typeof chunk === 'object' &&\n      chunk !== null &&\n      !Buffer.isBuffer(chunk)\n    ) {\n      delta = chunk as Delta\n    } else if (typeof chunk === 'string') {\n      try {\n        delta = JSON.parse(chunk) as Delta\n        isString = true\n      } catch (e: unknown) {\n        const message = e instanceof Error ? e.message : String(e)\n        this.debug(`Error parsing chunk: ${message}`)\n      }\n    }\n\n    if (delta && Array.isArray(delta.updates)) {\n      const updates: DeltaUpdate[] = []\n      for (const update of delta.updates) {\n        if (Array.isArray(update.values)) {\n          const values = update.values.filter(\n            (value) => !this.exclude.includes(value.path)\n          )\n\n          if (values.length > 0) {\n            const upd: DeltaUpdate = { values }\n\n            if (update.$source) {\n              upd.$source = update.$source\n            }\n            if (update.source) {\n              upd.source = update.source\n            }\n            if (update.timestamp) {\n              upd.timestamp = update.timestamp\n            }\n\n            updates.push(upd)\n          }\n        }\n      }\n\n      if (updates.length > 0) {\n        delta.updates = updates\n        this.push(isString ? JSON.stringify(delta) : delta)\n      }\n    }\n\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/liner.test.ts",
    "content": "import { expect } from 'chai'\nimport Liner from './liner'\n\ndescribe('Liner', () => {\n  it('splits data into lines on newline', (done) => {\n    const liner = new Liner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('line1\\nline2\\nline3\\n')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['line1', 'line2', 'line3'])\n      done()\n    })\n  })\n\n  it('handles partial lines across chunks', (done) => {\n    const liner = new Liner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('hel')\n    liner.write('lo\\nwor')\n    liner.write('ld\\n')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['hello', 'world'])\n      done()\n    })\n  })\n\n  it('flushes remaining data on end', (done) => {\n    const liner = new Liner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('no-newline-at-end')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['no-newline-at-end'])\n      done()\n    })\n  })\n\n  it('supports custom line separator', (done) => {\n    const liner = new Liner({ lineSeparator: '\\r\\n' })\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('a\\r\\nb\\r\\nc\\r\\n')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['a', 'b', 'c'])\n      done()\n    })\n  })\n\n  it('resets partial line buffer when it exceeds 2048 chars', (done) => {\n    const liner = new Liner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('x'.repeat(2100))\n    liner.write('\\nnormal\\n')\n    liner.end()\n    liner.on('finish', () => {\n      // Overlong partial line is discarded, leaving empty buffer.\n      // Next write splits on \\n starting from that empty buffer.\n      expect(results).to.deep.equal(['', 'normal'])\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/liner.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\n\ninterface LinerOptions {\n  lineSeparator?: string\n  [key: string]: unknown\n}\n\nexport default class Liner extends Transform {\n  private readonly lineSeparator: string\n  private lastLineData: string | null = null\n\n  constructor(options: LinerOptions = {}) {\n    super({ objectMode: true })\n    this.lineSeparator = options.lineSeparator ?? '\\n'\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    let data = chunk.toString()\n    if (this.lastLineData) {\n      data = this.lastLineData + data\n    }\n\n    const lines = data.split(this.lineSeparator)\n    this.lastLineData = lines.splice(lines.length - 1, 1)[0] ?? null\n\n    if (this.lastLineData && this.lastLineData.length > 2048) {\n      console.error(\n        'Are you sure you are using the correct line terminator? Not going to handle lines longer than 2048 chars.'\n      )\n      this.lastLineData = ''\n    }\n\n    for (const line of lines) {\n      this.push(line)\n    }\n\n    done()\n  }\n\n  _flush(done: TransformCallback): void {\n    if (this.lastLineData) {\n      this.push(this.lastLineData)\n    }\n    this.lastLineData = null\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/log.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\nimport { getLogger } from './logging'\nimport type { LoggingApp } from './logging'\n\ninterface LogOptions {\n  app: LoggingApp\n  discriminator?: string\n  logdir?: string\n  [key: string]: unknown\n}\n\nexport default class Log extends Transform {\n  private readonly logger: (msg: unknown) => void\n\n  constructor(options: LogOptions) {\n    super({ objectMode: true })\n    this.logger = getLogger(options.app, options.discriminator, options.logdir)\n  }\n\n  _transform(\n    msg: unknown,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    this.push(msg)\n    this.logger(msg)\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/logging.test.ts",
    "content": "import { expect } from 'chai'\nimport fs from 'fs'\nimport path from 'path'\nimport os from 'os'\nimport { getFullLogDir, listLogFiles, getLogger } from './logging'\nimport type { LoggingApp } from './logging'\n\nfunction createLoggingApp(\n  overrides: Partial<LoggingApp['config']> = {}\n): LoggingApp {\n  return {\n    config: {\n      configPath: overrides.configPath ?? '/tmp/test-signalk',\n      settings: {\n        loggingDirectory: overrides.settings?.loggingDirectory,\n        keepMostRecentLogsOnly: overrides.settings?.keepMostRecentLogsOnly,\n        logCountToKeep: overrides.settings?.logCountToKeep\n      }\n    }\n  }\n}\n\ndescribe('logging', () => {\n  describe('getFullLogDir', () => {\n    it('uses configPath when no loggingDirectory is set', () => {\n      const app = createLoggingApp({ configPath: '/tmp/my-config' })\n      expect(getFullLogDir(app)).to.equal('/tmp/my-config')\n    })\n\n    it('uses loggingDirectory from settings when set (absolute)', () => {\n      const app = createLoggingApp({\n        configPath: '/tmp/my-config',\n        settings: { loggingDirectory: '/var/log/signalk' }\n      })\n      expect(getFullLogDir(app)).to.equal('/var/log/signalk')\n    })\n\n    it('resolves relative loggingDirectory against configPath', () => {\n      const app = createLoggingApp({\n        configPath: '/tmp/my-config',\n        settings: { loggingDirectory: 'logs' }\n      })\n      expect(getFullLogDir(app)).to.equal('/tmp/my-config/logs')\n    })\n\n    it('uses explicit logdir parameter when provided', () => {\n      const app = createLoggingApp({ configPath: '/tmp/my-config' })\n      expect(getFullLogDir(app, '/custom/dir')).to.equal('/custom/dir')\n    })\n\n    it('resolves relative logdir parameter against configPath', () => {\n      const app = createLoggingApp({ configPath: '/tmp/my-config' })\n      expect(getFullLogDir(app, 'relative-dir')).to.equal(\n        '/tmp/my-config/relative-dir'\n      )\n    })\n  })\n\n  describe('listLogFiles', () => {\n    let tmpDir: string\n\n    beforeEach(() => {\n      tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'sk-log-test-'))\n    })\n\n    afterEach(() => {\n      fs.rmSync(tmpDir, { recursive: true, force: true })\n    })\n\n    it('lists only matching log files', (done) => {\n      fs.writeFileSync(path.join(tmpDir, 'skserver-raw_2024-01-15T12.log'), '')\n      fs.writeFileSync(path.join(tmpDir, 'skserver-raw_2024-01-16T13.log'), '')\n      fs.writeFileSync(path.join(tmpDir, 'other-file.txt'), '')\n      fs.writeFileSync(path.join(tmpDir, 'README.md'), '')\n\n      const app = createLoggingApp({ configPath: tmpDir })\n      listLogFiles(app, (err, files) => {\n        expect(err).to.equal(undefined)\n        expect(files).to.have.length(2)\n        expect(files).to.include('skserver-raw_2024-01-15T12.log')\n        expect(files).to.include('skserver-raw_2024-01-16T13.log')\n        done()\n      })\n    })\n\n    it('returns error for non-existent directory', (done) => {\n      const app = createLoggingApp({ configPath: '/nonexistent/path' })\n      listLogFiles(app, (err) => {\n        expect(err).to.not.equal(undefined)\n        done()\n      })\n    })\n\n    it('returns empty array for directory with no log files', (done) => {\n      const app = createLoggingApp({ configPath: tmpDir })\n      listLogFiles(app, (err, files) => {\n        expect(err).to.equal(undefined)\n        expect(files).to.have.length(0)\n        done()\n      })\n    })\n  })\n\n  describe('getLogger', () => {\n    let tmpDir: string\n\n    beforeEach(() => {\n      tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'sk-log-test-'))\n    })\n\n    afterEach(() => {\n      fs.rmSync(tmpDir, { recursive: true, force: true })\n    })\n\n    it('returns a function that writes log messages', function (done) {\n      this.timeout(2000)\n      const app = createLoggingApp({\n        configPath: tmpDir,\n        settings: { keepMostRecentLogsOnly: false }\n      })\n      const logger = getLogger(app, 'test')\n\n      logger('hello log message')\n\n      const check = setInterval(() => {\n        const files = fs.readdirSync(tmpDir).filter((f) => f.endsWith('.log'))\n        if (files.length > 0) {\n          const content = fs.readFileSync(path.join(tmpDir, files[0]!), 'utf8')\n          if (content.includes('hello log message')) {\n            clearInterval(check)\n            expect(content).to.include('test')\n            done()\n          }\n        }\n      }, 10)\n    })\n\n    it('writes JSON for messages with updates property', function (done) {\n      this.timeout(2000)\n      const app = createLoggingApp({\n        configPath: tmpDir,\n        settings: { keepMostRecentLogsOnly: false }\n      })\n      const logger = getLogger(app, 'delta')\n\n      const delta = { updates: [{ values: [{ path: 'a', value: 1 }] }] }\n      logger(delta)\n\n      const check = setInterval(() => {\n        const files = fs.readdirSync(tmpDir).filter((f) => f.endsWith('.log'))\n        if (files.length > 0) {\n          const content = fs.readFileSync(path.join(tmpDir, files[0]!), 'utf8')\n          if (content.includes('\"updates\"')) {\n            clearInterval(check)\n            expect(content).to.include('delta')\n            done()\n          }\n        }\n      }, 10)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/logging.ts",
    "content": "/*\n * Copyright 2017 Scott Bender (scott@scottbender.net)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport FileTimestampStream from 'file-timestamp-stream'\nimport path from 'path'\nimport fs from 'fs'\nimport type { CreateDebug } from './types'\n\nexport interface LoggingApp {\n  config: {\n    configPath: string\n    settings: {\n      loggingDirectory?: string\n      keepMostRecentLogsOnly?: boolean\n      logCountToKeep?: number\n    }\n  }\n}\n\nlet debug: (...args: unknown[]) => void = require('debug')(\n  'signalk:streams:logging'\n)\n\nconst filenamePattern = /skserver-raw_\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d\\.log/\nconst loggers: Record<string, FileTimestampStream> = {}\n\ninterface LogMessage {\n  updates?: unknown[]\n}\n\nclass FileTimestampStreamWithDelete extends FileTimestampStream {\n  private readonly app: LoggingApp\n  private readonly filesToKeep: number | undefined\n  private readonly fullLogDir: string\n  private prevFilename: string | undefined\n\n  constructor(\n    app: LoggingApp,\n    fullLogDir: string,\n    filesToKeep: number | undefined,\n    options: { path: string; createDebug?: CreateDebug }\n  ) {\n    super(options)\n    this.app = app\n    this.filesToKeep = filesToKeep\n    this.fullLogDir = fullLogDir\n    this.prevFilename = undefined\n    debug = (options.createDebug ?? require('debug'))('signalk:streams:logging')\n  }\n\n  newFilename(): string {\n    if (this.prevFilename !== this.currentFilename) {\n      this.prevFilename = this.currentFilename\n      this.deleteOldFiles()\n    }\n    return super.newFilename()\n  }\n\n  private deleteOldFiles(): void {\n    debug('Checking for old log files')\n    listLogFiles(this.app, (err, files) => {\n      if (err) {\n        console.error(err)\n      } else if (\n        files &&\n        this.filesToKeep !== undefined &&\n        files.length > this.filesToKeep\n      ) {\n        const sortedFiles = files.sort()\n        const numToDelete = files.length - this.filesToKeep\n        debug(`Will delete ${numToDelete} files`)\n        for (let i = 0; i < numToDelete; i++) {\n          const fileName = path.join(this.fullLogDir, sortedFiles[i]!)\n          debug(`Deleting ${fileName}`)\n          fs.unlink(fileName, (unlinkErr) => {\n            if (unlinkErr) {\n              console.error(unlinkErr)\n            } else {\n              debug(`${fileName} was deleted`)\n            }\n          })\n        }\n      }\n    })\n  }\n}\n\nexport function getLogger(\n  app: LoggingApp,\n  discriminator = '',\n  logdir?: string\n): (msg: unknown) => void {\n  const fullLogdir = getFullLogDir(app, logdir)\n\n  if (!loggers[fullLogdir]) {\n    const fileName = path.join(fullLogdir, 'skserver-raw_%Y-%m-%dT%H.log')\n\n    debug(`logging to ${fileName}`)\n\n    let fileTimestampStream: FileTimestampStream\n    if (\n      app.config.settings.keepMostRecentLogsOnly === undefined ||\n      app.config.settings.keepMostRecentLogsOnly\n    ) {\n      fileTimestampStream = new FileTimestampStreamWithDelete(\n        app,\n        fullLogdir,\n        app.config.settings.logCountToKeep,\n        { path: fileName }\n      )\n    } else {\n      fileTimestampStream = new FileTimestampStream({ path: fileName })\n    }\n\n    loggers[fullLogdir] = fileTimestampStream\n  }\n\n  const logger = loggers[fullLogdir]\n  logger.on('error', (err: Error) => {\n    console.error(`Error opening data logging file: ${err.message}`)\n  })\n\n  return (msg: unknown) => {\n    try {\n      const logMsg = msg as LogMessage\n      logger.write(\n        Date.now() +\n          ';' +\n          discriminator +\n          ';' +\n          (logMsg.updates ? JSON.stringify(msg) : String(msg)) +\n          '\\n'\n      )\n    } catch (e) {\n      console.error(e)\n    }\n  }\n}\n\nexport function getFullLogDir(app: LoggingApp, logdir?: string): string {\n  const dir =\n    logdir || app.config.settings.loggingDirectory || app.config.configPath\n  return path.isAbsolute(dir) ? dir : path.join(app.config.configPath, dir)\n}\n\nexport function listLogFiles(\n  app: LoggingApp,\n  cb: (err: NodeJS.ErrnoException | undefined, files?: string[]) => void\n): void {\n  fs.readdir(getFullLogDir(app), (err, files) => {\n    if (!err) {\n      cb(\n        undefined,\n        files.filter((filename) => filenamePattern.test(filename))\n      )\n    } else {\n      cb(err)\n    }\n  })\n}\n"
  },
  {
    "path": "packages/streams/src/mdns-ws.test.ts",
    "content": "import { expect } from 'chai'\nimport { WebSocketServer } from 'ws'\nimport { Writable } from 'stream'\nimport MdnsWs from './mdns-ws'\nimport { createMockApp, createDebugStub } from './test-helpers'\n\ninterface DeltaChunk {\n  updates?: Array<{\n    values?: Array<{ path: string }>\n    $source?: string\n  }>\n}\n\nconst SK_HELLO = JSON.stringify({\n  name: 'test-server',\n  version: '2.0.0',\n  roles: ['master'],\n  self: 'vessels.urn:mrn:imo:mmsi:123456789'\n})\n\ntype SkServer = {\n  wss: InstanceType<typeof WebSocketServer>\n  port: number\n  close: () => Promise<void>\n}\n\nfunction createSkWsServer(fixedPort = 0): Promise<SkServer> {\n  return new Promise((resolve) => {\n    const wss = new WebSocketServer(\n      {\n        port: fixedPort,\n        host: '127.0.0.1',\n        path: '/signalk/v1/stream'\n      },\n      () => {\n        const addr = wss.address() as { port: number }\n        resolve({\n          wss,\n          port: addr.port,\n          close: () =>\n            new Promise<void>((res) => {\n              wss.clients.forEach((c: { close: () => void }) => c.close())\n              wss.close(() => res())\n            })\n        })\n      }\n    )\n\n    wss.on('connection', (ws: { send: (data: string) => void }) => {\n      ws.send(SK_HELLO)\n    })\n  })\n}\n\nfunction createSink(): {\n  chunks: unknown[]\n  writable: InstanceType<typeof Writable>\n} {\n  const chunks: unknown[] = []\n  const writable = new Writable({\n    objectMode: true,\n    write(chunk: unknown, _encoding: string, callback: () => void) {\n      chunks.push(chunk)\n      writable.emit('data-received', chunk)\n      callback()\n    }\n  })\n  return { chunks, writable }\n}\n\ndescribe('MdnsWs', () => {\n  const intervals: ReturnType<typeof setInterval>[] = []\n  const servers: SkServer[] = []\n  const mdnsInstances: MdnsWs[] = []\n\n  function track<T extends ReturnType<typeof setInterval>>(id: T): T {\n    intervals.push(id)\n    return id\n  }\n\n  function trackServer(s: SkServer): SkServer {\n    servers.push(s)\n    return s\n  }\n\n  function trackMdns(m: MdnsWs): MdnsWs {\n    mdnsInstances.push(m)\n    return m\n  }\n\n  afterEach(async () => {\n    while (intervals.length) {\n      clearInterval(intervals.pop()!)\n    }\n    while (mdnsInstances.length) {\n      mdnsInstances.pop()!.destroy()\n    }\n    while (servers.length) {\n      await servers.pop()!.close()\n    }\n  })\n\n  it('sets provider status on successful connection', function (done) {\n    this.timeout(10000)\n\n    createSkWsServer().then((s) => {\n      trackServer(s)\n      const app = createMockApp()\n      const mdns = trackMdns(\n        new MdnsWs({\n          app,\n          providerId: 'test-mdns',\n          host: '127.0.0.1',\n          port: s.port,\n          createDebug: createDebugStub()\n        })\n      )\n\n      mdns.pipe(createSink().writable)\n\n      const check = track(\n        setInterval(() => {\n          if (app.providerStatuses.some((st) => st.msg.includes('connected'))) {\n            clearInterval(check)\n            done()\n          }\n        }, 100)\n      )\n    })\n  })\n\n  it('sets provider error on connection failure', function (done) {\n    this.timeout(10000)\n    const app = createMockApp()\n    const mdns = trackMdns(\n      new MdnsWs({\n        app,\n        providerId: 'test-mdns',\n        host: '127.0.0.1',\n        port: 1,\n        createDebug: createDebugStub()\n      })\n    )\n\n    mdns.pipe(createSink().writable)\n\n    const check = track(\n      setInterval(() => {\n        if (app.providerErrors.length > 0) {\n          clearInterval(check)\n          expect(app.providerErrors[0]!.id).to.equal('test-mdns')\n          done()\n        }\n      }, 100)\n    )\n  })\n\n  it('detects disconnect when server closes', function (done) {\n    this.timeout(10000)\n\n    createSkWsServer().then((s) => {\n      trackServer(s)\n      const app = createMockApp()\n      const mdns = trackMdns(\n        new MdnsWs({\n          app,\n          providerId: 'test-mdns',\n          host: '127.0.0.1',\n          port: s.port,\n          createDebug: createDebugStub()\n        })\n      )\n\n      mdns.pipe(createSink().writable)\n\n      const checkConnected = track(\n        setInterval(() => {\n          if (app.providerStatuses.some((st) => st.msg.includes('connected'))) {\n            clearInterval(checkConnected)\n\n            s.close().then(() => {\n              const checkDisconnect = track(\n                setInterval(() => {\n                  if (\n                    app.providerErrors.some((e) =>\n                      e.msg.toLowerCase().includes('disconnect')\n                    )\n                  ) {\n                    clearInterval(checkDisconnect)\n                    done()\n                  }\n                }, 100)\n              )\n            })\n          }\n        }, 100)\n      )\n    })\n  })\n\n  it('reconnects and re-establishes data flow', function (done) {\n    this.timeout(30000)\n\n    createSkWsServer().then((s) => {\n      trackServer(s)\n      const app = createMockApp()\n      const mdns = trackMdns(\n        new MdnsWs({\n          app,\n          providerId: 'test-mdns',\n          host: '127.0.0.1',\n          port: s.port,\n          createDebug: createDebugStub()\n        })\n      )\n\n      const { chunks, writable } = createSink()\n      mdns.pipe(writable)\n\n      const waitForConnect = track(\n        setInterval(() => {\n          if (app.providerStatuses.some((st) => st.msg.includes('connected'))) {\n            clearInterval(waitForConnect)\n            const savedPort = s.port\n\n            s.close().then(() => {\n              const waitForDisconnect = track(\n                setInterval(() => {\n                  if (\n                    app.providerErrors.some((e) =>\n                      e.msg.toLowerCase().includes('disconnect')\n                    )\n                  ) {\n                    clearInterval(waitForDisconnect)\n                    app.providerStatuses.length = 0\n\n                    createSkWsServer(savedPort).then((s2) => {\n                      trackServer(s2)\n                      s2.wss.on(\n                        'connection',\n                        (ws: { send: (data: string) => void }) => {\n                          setTimeout(() => {\n                            ws.send(\n                              JSON.stringify({\n                                context: 'vessels.urn:mrn:imo:mmsi:123456789',\n                                updates: [\n                                  {\n                                    values: [\n                                      {\n                                        path: 'navigation.courseOverGroundTrue',\n                                        value: 1.23\n                                      }\n                                    ],\n                                    source: { label: 'test' }\n                                  }\n                                ]\n                              })\n                            )\n                          }, 200)\n                        }\n                      )\n\n                      const onData = () => {\n                        const delta = chunks.find(\n                          (c) =>\n                            (c as DeltaChunk)?.updates?.[0]?.values?.[0]\n                              ?.path === 'navigation.courseOverGroundTrue'\n                        )\n                        if (delta) {\n                          writable.off('data-received', onData)\n                          expect(\n                            (delta as DeltaChunk).updates![0]!['$source']\n                          ).to.include('test-mdns')\n                          done()\n                        }\n                      }\n                      writable.on('data-received', onData)\n                    })\n                  }\n                }, 100)\n              )\n            })\n          }\n        }, 100)\n      )\n    })\n  })\n\n  it('receives delta data through the stream', function (done) {\n    this.timeout(10000)\n\n    createSkWsServer().then((s) => {\n      trackServer(s)\n\n      s.wss.on('connection', (ws: { send: (data: string) => void }) => {\n        setTimeout(() => {\n          ws.send(\n            JSON.stringify({\n              context: 'vessels.urn:mrn:imo:mmsi:123456789',\n              updates: [\n                {\n                  values: [{ path: 'navigation.speedOverGround', value: 3.5 }],\n                  source: { label: 'test' }\n                }\n              ]\n            })\n          )\n        }, 200)\n      })\n\n      const app = createMockApp()\n      const mdns = trackMdns(\n        new MdnsWs({\n          app,\n          providerId: 'test-mdns',\n          host: '127.0.0.1',\n          port: s.port,\n          createDebug: createDebugStub()\n        })\n      )\n\n      const { chunks, writable } = createSink()\n      mdns.pipe(writable)\n\n      const onData = () => {\n        const delta = chunks.find(\n          (c) =>\n            (c as DeltaChunk)?.updates?.[0]?.values?.[0]?.path ===\n            'navigation.speedOverGround'\n        )\n        if (delta) {\n          writable.off('data-received', onData)\n          expect((delta as DeltaChunk).updates![0]!['$source']).to.include(\n            'test-mdns'\n          )\n          done()\n        }\n      }\n      writable.on('data-received', onData)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/mdns-ws.ts",
    "content": "/*\n * Copyright 2016 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Transform, TransformCallback } from 'stream'\nimport http from 'http'\nimport https from 'https'\nimport { Client } from '@signalk/client'\nimport { getMetadata } from '@signalk/signalk-schema'\nimport { CreateDebug, DebugLogger } from './types'\n\ninterface MdnsWsOptions {\n  app: {\n    config: {\n      getExternalHostname(): string\n      getExternalPort(): number\n    }\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  createDebug?: CreateDebug\n  host?: string\n  port?: number\n  type?: string\n  subscription?: string\n  selfHandling?: string\n  token?: string\n  remoteSelf?: string\n  ignoreServers?: string[]\n  selfsignedcert?: boolean\n}\n\ninterface DeltaMessage {\n  context?: string\n  updates?: Array<{ $source?: string; [key: string]: unknown }>\n}\n\nexport default class MdnsWs extends Transform {\n  private readonly options: MdnsWsOptions\n  private readonly selfHost: string\n  private readonly selfPort: number\n  private readonly remoteServers: Record<string, object> = {}\n  private readonly debug: DebugLogger\n  private readonly dataDebug: DebugLogger\n  private readonly subscriptions: object[] = []\n  private handleContext: (delta: DeltaMessage) => void\n  private signalkClient?: Client\n  private isDestroying = false\n  private fetchedMetaPaths = new Set<string>()\n\n  constructor(options: MdnsWsOptions) {\n    super({ objectMode: true })\n    this.options = options\n    this.selfHost = options.app.config.getExternalHostname() + '.'\n    this.selfPort = options.app.config.getExternalPort()\n    this.remoteServers[this.selfHost + ':' + this.selfPort] = {}\n    const deltaStreamBehaviour = options.subscription ? 'none' : 'all'\n\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:mdns-ws')\n    this.dataDebug = createDebug('signalk:streams:mdns-ws-data')\n    this.debug(`deltaStreamBehaviour:${deltaStreamBehaviour}`)\n\n    this.handleContext = () => {}\n    if (options.selfHandling === 'manualSelf') {\n      if (options.remoteSelf) {\n        this.debug(`Using manual remote self ${options.remoteSelf}`)\n        this.handleContext = (delta) => {\n          if (delta.context === options.remoteSelf) {\n            delete delta.context\n          }\n        }\n      } else {\n        console.error(\n          'Manual self handling speficied but no remoteSelf configured'\n        )\n      }\n    }\n\n    if (options.ignoreServers) {\n      options.ignoreServers.forEach((s) => {\n        this.remoteServers[s] = {}\n      })\n    }\n    if (options.subscription) {\n      try {\n        const parsed = JSON.parse(options.subscription)\n        this.subscriptions = Array.isArray(parsed) ? parsed : [parsed]\n      } catch (ex) {\n        const error = ex as Error\n        options.app.setProviderError(\n          options.providerId,\n          `unable to parse subscription json: ${options.subscription}: ${error.message}`\n        )\n        console.error(\n          `unable to parse subscription json: ${options.subscription}: ${error.message}`\n        )\n        return\n      }\n    }\n    if (options.host && options.port) {\n      this.signalkClient = new Client({\n        hostname: options.host,\n        port: options.port,\n        useTLS: options.type === 'wss',\n        reconnect: true,\n        notifications: false,\n        autoConnect: false,\n        deltaStreamBehaviour,\n        rejectUnauthorized: !(options.selfsignedcert === true),\n        wsKeepaliveInterval: 10\n      })\n      this.connectClient(this.signalkClient)\n    } else {\n      this.options.app.setProviderError(\n        this.options.providerId,\n        'This connection is deprecated and must be deleted'\n      )\n    }\n  }\n\n  private verifyRemoteToken(): Promise<boolean> {\n    const protocol = this.options.type === 'wss' ? https : http\n    return new Promise((resolve, reject) => {\n      const reqOptions = {\n        hostname: this.options.host,\n        port: this.options.port,\n        path: '/signalk/v1/api/self',\n        method: 'GET',\n        headers: {\n          Authorization: `JWT ${this.options.token}`\n        },\n        rejectUnauthorized: !(this.options.selfsignedcert === true)\n      }\n      const req = protocol.request(reqOptions, (response) => {\n        response.resume()\n        resolve(response.statusCode === 200)\n      })\n      req.on('error', (err) => reject(err))\n      req.setTimeout(10000, () => {\n        req.destroy(new Error('Token verification timed out'))\n      })\n      req.end()\n    })\n  }\n\n  private setProviderStatus(message: string, isError: boolean): void {\n    if (!isError) {\n      this.options.app.setProviderStatus(this.options.providerId, message)\n    } else {\n      this.options.app.setProviderError(this.options.providerId, message)\n    }\n  }\n\n  private connectClient(client: Client): void {\n    client.on('connect', () => {\n      this.fetchedMetaPaths.clear()\n      this.options.app.setProviderStatus(\n        this.options.providerId,\n        `ws connection connected to ${client.options.hostname}:${client.options.port}`\n      )\n      if (this.options.token) {\n        const conn = client.connection\n        if (conn) {\n          conn.send(JSON.stringify({ token: this.options.token })).catch(() => {\n            // ignore send errors; error event handler will report\n          })\n          conn.setAuthenticated(this.options.token, 'JWT')\n          this.debug('Sent authentication token to remote server')\n\n          this.verifyRemoteToken()\n            .then((isValid) => {\n              if (!isValid) {\n                this.setProviderStatus(\n                  `Authentication failed for ${client.options.hostname}:${client.options.port} — token may be invalid or revoked`,\n                  true\n                )\n                conn.disconnect()\n              }\n            })\n            .catch((err) => {\n              if (this.debug.enabled) {\n                this.debug('Token verification error: ' + err.message)\n              }\n            })\n        }\n      }\n      if (\n        this.options.selfHandling !== 'manualSelf' &&\n        this.options.selfHandling !== 'noSelf'\n      ) {\n        client\n          .API()\n          .then((api) => api.get('/self'))\n          .then((selfFromServer) => {\n            this.debug(\n              `Mapping context ${selfFromServer} to self (empty context)`\n            )\n            this.handleContext = (delta) => {\n              if (delta.context === selfFromServer) {\n                delete delta.context\n              }\n            }\n          })\n          .catch((err) => {\n            console.error('Error retrieving self from remote server')\n            console.error(err)\n          })\n      }\n      this.remoteServers[client.options.hostname + ':' + client.options.port] =\n        client\n      this.subscriptions.forEach((sub, idx) => {\n        if (this.debug.enabled) {\n          this.debug('sending subscription %j', sub)\n        }\n        client.subscribe(sub, String(idx))\n      })\n    })\n\n    client.on('disconnect', () => {\n      if (this.isDestroying) {\n        return\n      }\n      this.setProviderStatus(\n        `Disconnected from ${client.options.hostname}:${client.options.port}`,\n        true\n      )\n    })\n\n    client.on('error', (err: Error) => {\n      if (this.isDestroying) {\n        return\n      }\n      this.setProviderStatus(`Connection error: ${err.message}`, true)\n    })\n\n    client.on('delta', (data: DeltaMessage) => {\n      if (data && data.updates) {\n        this.handleContext(data)\n        if (this.dataDebug.enabled) {\n          this.dataDebug(JSON.stringify(data))\n        }\n        data.updates.forEach((update) => {\n          update['$source'] =\n            `${this.options.providerId}.${client.options.hostname}:${client.options.port}.${update['$source'] ?? '-'}`\n        })\n      }\n\n      this.push(data)\n\n      if (data?.updates) {\n        for (const update of data.updates) {\n          const values = update.values as Array<{ path: string }> | undefined\n          if (values) {\n            for (const pv of values) {\n              if (!this.fetchedMetaPaths.has(pv.path)) {\n                this.fetchedMetaPaths.add(pv.path)\n                this.fetchMetaIfNeeded(client, data.context, pv.path)\n              }\n            }\n          }\n        }\n      }\n    })\n\n    client.connect().catch((err) => {\n      if (this.debug.enabled) {\n        this.debug('connect() promise rejected: %s', err?.message ?? err)\n      }\n    })\n  }\n\n  private fetchMetaIfNeeded(\n    client: Client,\n    context: string | undefined,\n    path: string\n  ): void {\n    if (getMetadata('vessels.self.' + path)) {\n      return\n    }\n\n    client\n      .API()\n      .then((api) => api.getMeta(`/vessels/self/${path.replace(/\\./g, '/')}`))\n      .then((meta) => {\n        if (meta) {\n          this.debug(`fetched meta for ${path} from remote`)\n          this.push({\n            context,\n            updates: [{ meta: [{ path, value: meta }] }]\n          })\n        }\n      })\n      .catch((err: Error) => {\n        this.debug(`failed to fetch meta for ${path}: ${err.message}`)\n      })\n  }\n\n  _transform(\n    chunk: unknown,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    done()\n  }\n\n  _destroy(\n    error: Error | null,\n    callback: (error?: Error | null) => void\n  ): void {\n    this.isDestroying = true\n    try {\n      this.signalkClient?.disconnect()\n    } catch (err) {\n      this.debug('error disconnecting client: %s', (err as Error).message)\n    }\n    this.signalkClient = undefined\n    callback(error)\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/multiplexedlog.ts",
    "content": "import autodetect from './autodetect'\n\nexport default autodetect\n"
  },
  {
    "path": "packages/streams/src/n2k-signalk.test.ts",
    "content": "import { expect } from 'chai'\nimport N2kToSignalK from './n2k-signalk'\nimport { createMockApp, collectStreamOutput } from './test-helpers'\n\nconst HEADING_PGN = {\n  prio: 2,\n  pgn: 127250,\n  dst: 255,\n  src: 204,\n  timestamp: '2024-01-01T00:00:00.000Z',\n  fields: { sid: 0, heading: 2.8176, deviation: 0.0001, reference: 'Magnetic' },\n  description: 'Vessel Heading',\n  id: 'vesselHeading'\n}\n\ndescribe('N2kToSignalK', () => {\n  it('converts N2K PGN to Signal K delta', async () => {\n    const app = createMockApp()\n    const stream = new N2kToSignalK({\n      app,\n      providerId: 'test-n2k'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(HEADING_PGN)\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    const delta = results[0] as {\n      updates: Array<{\n        source: { pgn: number; src: string; type: string }\n        values: Array<{ path: string; value: number }>\n      }>\n    }\n    expect(delta.updates[0]!.source.pgn).to.equal(127250)\n    expect(delta.updates[0]!.source.src).to.equal('204')\n    expect(delta.updates[0]!.source.type).to.equal('NMEA2000')\n    expect(delta.updates[0]!.values.length).to.be.greaterThan(0)\n  })\n\n  it('filters PGNs when filters are enabled', async () => {\n    const app = createMockApp()\n    const stream = new N2kToSignalK({\n      app,\n      providerId: 'test-n2k',\n      filtersEnabled: true,\n      filters: [{ pgn: '127250', source: '204' }]\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(HEADING_PGN)\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(0)\n  })\n\n  it('passes PGNs that do not match active filters', async () => {\n    const app = createMockApp()\n    const stream = new N2kToSignalK({\n      app,\n      providerId: 'test-n2k',\n      filtersEnabled: true,\n      filters: [{ pgn: '999999', source: '' }]\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(HEADING_PGN)\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n  })\n\n  it('ignores filters when filtersEnabled is false', async () => {\n    const app = createMockApp()\n    const stream = new N2kToSignalK({\n      app,\n      providerId: 'test-n2k',\n      filtersEnabled: false,\n      filters: [{ pgn: '127250', source: '204' }]\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(HEADING_PGN)\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/n2k-signalk.ts",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { EventEmitter } from 'events'\nimport { Transform, TransformCallback } from 'stream'\nimport { N2kMapper } from '@signalk/n2k-signalk'\nimport type { DeltaCache } from './types'\n\ninterface N2kFilter {\n  source?: string\n  pgn?: string\n}\n\ninterface N2kToSignalKOptions {\n  app: {\n    selfContext: string\n    isNmea2000OutAvailable: boolean\n    deltaCache: DeltaCache\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    handleMessage(id: string, delta: object): void\n  }\n  providerId: string\n  filters?: N2kFilter[]\n  filtersEnabled?: boolean\n  useCanName?: boolean\n  [key: string]: unknown\n}\n\ninterface N2kMessage {\n  src: string | number\n  pgn: string | number\n  timestamp: string\n}\n\ninterface DeltaSource {\n  label: string\n  type: string\n  pgn: number\n  src: string\n  canName?: string\n}\n\ninterface DeltaValue {\n  path: string\n  value: { state: string; [key: string]: unknown }\n}\n\ninterface DeltaUpdate {\n  source: DeltaSource\n  timestamp?: string\n  values: DeltaValue[]\n}\n\ninterface Delta {\n  context: string\n  updates: DeltaUpdate[]\n}\n\ninterface SourceMeta {\n  unknowCanName?: boolean\n  [key: string]: unknown\n}\n\ninterface NotificationEntry {\n  lastTime: number\n  interval: ReturnType<typeof setInterval>\n}\n\nexport default class N2kToSignalK extends Transform {\n  private readonly sourceMeta: Record<number, SourceMeta> = {}\n  private readonly notifications: Record<\n    string,\n    Record<number, NotificationEntry>\n  > = {}\n  private readonly options: N2kToSignalKOptions\n  private readonly app: N2kToSignalKOptions['app']\n  private readonly filters?: N2kFilter[]\n  private readonly n2kMapper: N2kMapper & EventEmitter\n\n  constructor(options: N2kToSignalKOptions) {\n    super({ objectMode: true })\n    this.options = options\n    this.app = options.app\n\n    if (options.filters && options.filtersEnabled) {\n      this.filters = options.filters.filter(\n        (f) => (f.source && f.source.length) || (f.pgn && f.pgn.length)\n      )\n    }\n\n    this.n2kMapper = new N2kMapper({\n      ...options,\n      sendMetaData: true\n    }) as N2kMapper & EventEmitter\n\n    const n2kOutEvent = 'nmea2000JsonOut'\n\n    this.n2kMapper.on('n2kOut', (pgn: object) =>\n      this.app.emit('nmea2000JsonOut', pgn)\n    )\n\n    this.n2kMapper.on(\n      'n2kSourceMetadata',\n      (n2k: N2kMessage, meta: Record<string, unknown>) => {\n        const src = Number(n2k.src)\n        const existing = this.sourceMeta[src] ?? {}\n        this.sourceMeta[src] = { ...existing, ...meta }\n        const delta = {\n          context: this.app.selfContext,\n          updates: [\n            {\n              source: {\n                ...this.sourceMeta[src],\n                label: this.options.providerId,\n                type: 'NMEA2000',\n                pgn: Number(n2k.pgn),\n                src: n2k.src.toString()\n              },\n              timestamp:\n                n2k.timestamp.substring(0, 10) +\n                'T' +\n                n2k.timestamp.substring(11, n2k.timestamp.length),\n              values: []\n            }\n          ]\n        }\n        this.app.deltaCache.setSourceDelta(\n          `${this.options.providerId}.${n2k.src}`,\n          delta\n        )\n      }\n    )\n\n    this.n2kMapper.on(\n      'n2kSourceMetadataTimeout',\n      (pgn: string | number, src: string | number) => {\n        if (Number(pgn) === 60928) {\n          console.warn(`n2k-signalk: unable to detect can name for src ${src}`)\n          const srcNum = Number(src)\n          const meta = this.sourceMeta[srcNum]\n          if (meta) {\n            meta.unknowCanName = true\n          }\n        }\n      }\n    )\n\n    this.n2kMapper.on(\n      'n2kSourceChanged',\n      (src: string | number, from: string, to: string) => {\n        console.warn(`n2k-signalk: address ${src} changed from ${from} ${to}`)\n        const srcNum = Number(src)\n        if (this.sourceMeta[srcNum]) {\n          delete this.sourceMeta[srcNum]\n        }\n      }\n    )\n\n    if (this.app.isNmea2000OutAvailable) {\n      this.n2kMapper.n2kOutIsAvailable(this.app, n2kOutEvent)\n    } else {\n      this.app.on('nmea2000OutAvailable', () =>\n        this.n2kMapper.n2kOutIsAvailable(this.app, n2kOutEvent)\n      )\n    }\n  }\n\n  private isFiltered(source: DeltaSource): N2kFilter | undefined {\n    if (!this.filters) {\n      return undefined\n    }\n    return this.filters.find((filter) => {\n      const sFilter = this.options.useCanName ? source.canName : source.src\n      return (\n        (!filter.source ||\n          filter.source.length === 0 ||\n          filter.source === sFilter) &&\n        (!filter.pgn ||\n          filter.pgn.length === 0 ||\n          String(filter.pgn) === String(source.pgn))\n      )\n    })\n  }\n\n  _transform(\n    chunk: N2kMessage,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    try {\n      const delta = this.n2kMapper.toDelta(chunk) as unknown as\n        | Delta\n        | undefined\n\n      const src = Number(chunk.src)\n      if (!this.sourceMeta[src]) {\n        this.sourceMeta[src] = {}\n      }\n\n      const firstUpdate = delta?.updates[0]\n      if (\n        delta &&\n        firstUpdate &&\n        firstUpdate.values.length > 0 &&\n        !this.isFiltered(firstUpdate.source)\n      ) {\n        if (!this.options.useCanName) {\n          delete firstUpdate.source.canName\n        }\n\n        const canName = firstUpdate.source.canName\n\n        if (\n          this.options.useCanName &&\n          !canName &&\n          !this.sourceMeta[src]?.unknowCanName\n        ) {\n          done()\n          return\n        }\n\n        delta.updates.forEach((update) => {\n          update.values.forEach((kv) => {\n            if (kv.path && kv.path.startsWith('notifications.')) {\n              const pathNotifs = this.notifications[kv.path]\n              if (\n                kv.value.state === 'normal' &&\n                pathNotifs &&\n                pathNotifs[src]\n              ) {\n                clearInterval(pathNotifs[src].interval)\n                delete pathNotifs[src]\n              } else if (kv.value.state !== 'normal') {\n                if (!this.notifications[kv.path]) {\n                  this.notifications[kv.path] = {}\n                }\n                const currentPathNotifs = this.notifications[kv.path]!\n                if (!currentPathNotifs[src]) {\n                  const interval = setInterval(() => {\n                    const entry = currentPathNotifs[src]\n                    if (entry && Date.now() - entry.lastTime > 10000) {\n                      const copy = JSON.parse(JSON.stringify(kv)) as DeltaValue\n                      copy.value.state = 'normal'\n                      const normalDelta = {\n                        context: delta.context,\n                        updates: [\n                          {\n                            source: update.source,\n                            values: [copy]\n                          }\n                        ]\n                      }\n                      delete currentPathNotifs[src]\n                      clearInterval(interval)\n                      this.app.handleMessage(\n                        this.options.providerId,\n                        normalDelta\n                      )\n                    }\n                  }, 5000)\n                  currentPathNotifs[src] = {\n                    lastTime: Date.now(),\n                    interval\n                  }\n                } else {\n                  currentPathNotifs[src].lastTime = Date.now()\n                }\n              }\n            }\n          })\n        })\n        this.push(delta)\n      }\n    } catch (ex) {\n      console.error(ex)\n    }\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/n2kAnalyzer.ts",
    "content": "import { ChildProcess, spawn } from 'child_process'\nimport { createInterface } from 'readline'\nimport { Transform, TransformCallback, Writable } from 'stream'\ninterface N2kAnalyzerOptions {\n  app: {\n    emit(event: string, ...args: unknown[]): void\n  }\n  analyzerOutEvent?: string\n  [key: string]: unknown\n}\n\ninterface AnalyzerOutput {\n  version?: string\n  [key: string]: unknown\n}\n\nexport default class N2kAnalyzer extends Transform {\n  private readonly analyzerOutEvent: string\n  private readonly analyzerProcess: ChildProcess\n  private pipeTo: Writable | null = null\n\n  constructor(options: N2kAnalyzerOptions) {\n    super({ objectMode: true })\n\n    this.analyzerOutEvent = options.analyzerOutEvent ?? 'N2KAnalyzerOut'\n\n    if (process.platform === 'win32') {\n      this.analyzerProcess = spawn('cmd', ['/c', 'analyzer -json -si -camel'])\n    } else {\n      this.analyzerProcess = spawn('sh', ['-c', 'analyzer -json -si -camel'])\n    }\n\n    this.analyzerProcess.stderr?.on('data', (data: Buffer) => {\n      console.error(data.toString())\n    })\n\n    this.analyzerProcess.on('close', (code: number | null) => {\n      console.error('Analyzer process exited with code ' + code)\n    })\n\n    const linereader = createInterface(\n      this.analyzerProcess.stdout!,\n      this.analyzerProcess.stdin!\n    )\n\n    linereader.on('line', (data: string) => {\n      try {\n        const parsed: AnalyzerOutput = JSON.parse(data)\n        if (parsed.version) {\n          console.log('Connected to analyzer v' + parsed.version)\n          return\n        }\n        this.push(parsed)\n        options.app.emit(this.analyzerOutEvent, parsed)\n      } catch (ex: unknown) {\n        console.error(data)\n        if (ex instanceof Error) {\n          console.error(ex.stack)\n        }\n      }\n    })\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    this.analyzerProcess.stdin?.write(chunk.toString() + '\\n')\n    done()\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    this.pipeTo = pipeTo as unknown as Writable\n    return super.pipe(pipeTo)\n  }\n\n  end(): this {\n    console.log('end, killing child analyzer process')\n    this.analyzerProcess.kill()\n    if (this.pipeTo) {\n      this.pipeTo.end()\n    }\n    return this\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/nmea0183-signalk.test.ts",
    "content": "import { expect } from 'chai'\nimport { EventEmitter } from 'events'\nimport Nmea0183ToSignalK from './nmea0183-signalk'\nimport Liner from './liner'\nimport { collectStreamOutput } from './test-helpers'\n\nfunction createNmeaApp() {\n  const emitter = new EventEmitter()\n  const signalk = new EventEmitter()\n  const nmea0183Events: string[] = []\n  const signalkEvents: string[] = []\n\n  emitter.on('nmea0183', (s: string) => nmea0183Events.push(s))\n  signalk.on('nmea0183', (s: string) => signalkEvents.push(s))\n\n  return Object.assign(emitter, {\n    signalk,\n    nmea0183Events,\n    signalkEvents\n  })\n}\n\nconst RMC_SENTENCE =\n  '$IIRMC,120000,A,6000.0000,N,02400.0000,E,5.0,45.0,150124,,,A*53'\n\ndescribe('Nmea0183ToSignalK', () => {\n  it('parses NMEA0183 sentence into Signal K delta', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(RMC_SENTENCE)\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    const delta = results[0] as { updates: Array<{ values: unknown[] }> }\n    expect(delta.updates).to.be.an('array')\n    expect(delta.updates[0]!.values).to.be.an('array')\n  })\n\n  it('emits nmea0183 event on app and signalk', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(RMC_SENTENCE)\n    stream.end()\n\n    await outputPromise\n    expect(app.nmea0183Events).to.have.length(1)\n    expect(app.nmea0183Events[0]).to.equal(RMC_SENTENCE)\n    expect(app.signalkEvents).to.have.length(1)\n  })\n\n  it('suppresses nmea0183 event when suppress0183event is true', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test',\n      suppress0183event: true\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(RMC_SENTENCE)\n    stream.end()\n\n    await outputPromise\n    expect(app.nmea0183Events).to.have.length(0)\n  })\n\n  it('handles TimestampedChunk input', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    const timestamp = new Date('2025-06-15T12:00:00Z').getTime()\n    stream.write({\n      line: RMC_SENTENCE,\n      timestamp\n    })\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    const delta = results[0] as { updates: Array<{ timestamp: Date }> }\n    expect(delta.updates[0]!.timestamp).to.be.instanceOf(Date)\n    expect(delta.updates[0]!.timestamp.toISOString()).to.equal(\n      '2025-06-15T12:00:00.000Z'\n    )\n  })\n\n  it('handles Buffer input', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write(Buffer.from(RMC_SENTENCE))\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n  })\n\n  it('does not push delta for unparseable sentences', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write('not a valid sentence')\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(0)\n  })\n\n  it('drops # comment lines without parsing or emitting events', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write('# not a start bit')\n    stream.write('# invalid stop bits')\n    stream.write('# anything else upstream wants to say')\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(0)\n    expect(app.nmea0183Events).to.have.length(0)\n    expect(app.signalkEvents).to.have.length(0)\n  })\n\n  it('passes valid sentences through when interleaved with # comments', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write('# not a start bit')\n    stream.write(RMC_SENTENCE)\n    stream.write('# invalid stop bits')\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    expect(app.nmea0183Events).to.deep.equal([RMC_SENTENCE])\n  })\n\n  it('drops empty input lines silently', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    stream.write('')\n    stream.write('   ')\n    stream.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(0)\n    expect(app.nmea0183Events).to.have.length(0)\n    expect(app.signalkEvents).to.have.length(0)\n  })\n\n  it('parses a valid sentence inside a multi-line chunk via Liner', async () => {\n    const app = createNmeaApp()\n    const liner = new Liner({})\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    liner.pipe(stream)\n    const outputPromise = collectStreamOutput(stream)\n\n    // Simulate the OS pipe coalescing several Python print() calls into a\n    // single read: a framing-error comment, a real sentence, another\n    // comment, all in one chunk. The Liner splits the chunk back into\n    // individual lines so the parser sees each one on its own.\n    liner.write(`# not a start bit\\n${RMC_SENTENCE}\\n# invalid stop bits\\n`)\n    liner.end()\n\n    const results = await outputPromise\n    expect(results).to.have.length(1)\n    expect(app.nmea0183Events).to.deep.equal([RMC_SENTENCE])\n  })\n\n  it('parses N2K-over-0183 (PCDIN) sentence into Signal K delta', async () => {\n    const app = createNmeaApp()\n    const stream = new Nmea0183ToSignalK({\n      app,\n      providerId: 'test'\n    })\n\n    const outputPromise = collectStreamOutput(stream)\n\n    // PGN 127250 (Vessel Heading) via PCDIN encapsulation\n    stream.write('$PCDIN,01F112,00000000,0F,2AAF00D1067414FF*59')\n    stream.end()\n\n    const results = await outputPromise\n    expect(results.length).to.be.greaterThan(0)\n    const delta = results[0] as { updates: Array<{ values: unknown[] }> }\n    expect(delta.updates).to.be.an('array')\n    expect(delta.updates[0]!.values).to.be.an('array')\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/nmea0183-signalk.ts",
    "content": "/*\n * Copyright 2017 Signal K & Fabian Tollenaar <fabian@signalk.org>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Transform, TransformCallback } from 'stream'\nimport Parser from '@signalk/nmea0183-signalk'\nimport { appendChecksum } from '@signalk/nmea0183-utilities'\nimport type { CreateDebug, DebugLogger } from './types'\n\nfunction isN2KOver0183(msg: string): boolean {\n  const sentence = msg.charAt(0) === '\\\\' ? msg.split('\\\\')[2] : msg\n  return sentence\n    ? sentence.startsWith('$PCDIN,') || sentence.startsWith('$MXPGN,')\n    : false\n}\n\ninterface Nmea0183ToSignalKOptions {\n  app: {\n    emit(event: string, ...args: unknown[]): void\n    signalk: { emit(event: string, ...args: unknown[]): void }\n  }\n  providerId: string\n  createDebug?: CreateDebug\n  suppress0183event?: boolean\n  appendChecksum?: boolean\n  sentenceEvent?: string | string[]\n  [key: string]: unknown\n}\n\ninterface TimestampedChunk {\n  line: string\n  timestamp: number | string\n}\n\ninterface DeltaUpdate {\n  timestamp?: Date | null\n  [key: string]: unknown\n}\n\ninterface Delta {\n  updates: DeltaUpdate[]\n}\n\ntype N2kToDelta = (\n  pgn: object,\n  state: Record<string, unknown>,\n  options: { sendMetaData: boolean }\n) => Delta | null\n\nexport default class Nmea0183ToSignalK extends Transform {\n  private readonly debug: DebugLogger\n  private readonly parser: InstanceType<typeof Parser>\n\n  private parseN2KOver0183: (\n    sentence: string,\n    callback: (err: Error | null, pgn?: unknown) => void\n  ) => object | undefined =\n    // runs only once when needed, replaces itself with the actual function\n    // after loading the required modules\n    (sentence: string) => {\n      const { FromPgn } = require('@canboat/canboatjs')\n      const n2kParser = new FromPgn({\n        ...this.options,\n        useCamelCompat: this.options.useCamelCompat ?? true\n      })\n      n2kParser.on('warning', (pgn: { pgn: number }, warning: string) => {\n        this.debug.enabled && this.debug(`[warning] ${pgn.pgn} ${warning}`)\n      })\n      n2kParser.on('error', (pgn: { input: string }, err: Error) => {\n        this.debug.enabled && this.debug(`[error] ${pgn.input} ${err.message}`)\n      })\n      this.parseN2KOver0183 = n2kParser.parseN2KOver0183.bind(n2kParser)\n      this.n2kToDelta = require('@signalk/n2k-signalk').toDelta as N2kToDelta\n      return this.parseN2KOver0183(sentence, () => {})\n    }\n  private n2kToDelta?: N2kToDelta\n  private readonly n2kState: Record<string, unknown> = {}\n  private readonly app: Nmea0183ToSignalKOptions['app']\n  private readonly sentenceEvents: string[]\n  private readonly appendChecksumFlag: boolean\n  private readonly options: Nmea0183ToSignalKOptions\n\n  constructor(options: Nmea0183ToSignalKOptions) {\n    super({ objectMode: true })\n    this.debug = (options.createDebug ?? require('debug'))(\n      'signalk:streams:nmea0183-signalk'\n    )\n\n    this.parser = new Parser(options)\n    this.options = options\n\n    this.app = options.app\n    this.appendChecksumFlag = options.appendChecksum ?? false\n\n    this.sentenceEvents = options.suppress0183event ? [] : ['nmea0183']\n\n    if (options.sentenceEvent) {\n      if (Array.isArray(options.sentenceEvent)) {\n        this.sentenceEvents = this.sentenceEvents.concat(options.sentenceEvent)\n      } else {\n        this.sentenceEvents.push(options.sentenceEvent)\n      }\n    }\n  }\n\n  _transform(\n    chunk: string | Buffer | TimestampedChunk,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    let sentence: string | undefined\n    let timestamp: Date | null = null\n\n    if (\n      chunk &&\n      typeof chunk === 'object' &&\n      !Buffer.isBuffer(chunk) &&\n      typeof (chunk as TimestampedChunk).line === 'string'\n    ) {\n      const tsChunk = chunk as TimestampedChunk\n      timestamp = new Date(Number(tsChunk.timestamp))\n      sentence = tsChunk.line.trim()\n    } else if (Buffer.isBuffer(chunk)) {\n      sentence = chunk.toString().trim()\n    } else if (chunk && typeof chunk === 'string') {\n      sentence = chunk.trim()\n    }\n\n    if (sentence === '') {\n      // Empty input (e.g. trailing newline from upstream source). Drop\n      // silently without emitting events or invoking the parser.\n      done()\n      return\n    }\n\n    if (sentence !== undefined && sentence.startsWith('#')) {\n      // Comment line from upstream source (e.g. gpiod-seatalk framing\n      // diagnostics). Log at debug level and drop without parsing or\n      // emitting nmea0183 events.\n      this.debug(sentence)\n      done()\n      return\n    }\n\n    try {\n      if (sentence !== undefined) {\n        if (this.appendChecksumFlag) {\n          sentence = appendChecksum(sentence)\n        }\n        this.sentenceEvents.forEach((eventName) => {\n          this.app.emit(eventName, sentence)\n          this.app.signalk.emit(eventName, sentence)\n        })\n\n        let delta: Delta | null = null\n        if (isN2KOver0183(sentence)) {\n          const pgn = this.parseN2KOver0183(sentence, () => {})\n          if (pgn) {\n            delta = this.n2kToDelta!(pgn, this.n2kState, {\n              sendMetaData: true\n            })\n          }\n        } else {\n          delta = this.parser.parse(sentence) as Delta | null\n        }\n\n        if (delta !== null) {\n          if (timestamp !== null) {\n            delta.updates.forEach((update) => {\n              update.timestamp = timestamp\n            })\n          }\n\n          this.push(delta)\n        }\n      }\n    } catch (e) {\n      this.debug(e)\n    }\n\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/nullprovider.ts",
    "content": "import { Transform } from 'stream'\n\nexport default class NullProvider extends Transform {\n  constructor() {\n    super({ objectMode: true })\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/pigpio-seatalk.ts",
    "content": "/*\n *\n * prototype-server: An implementation of a Signal K server for boats.\n * Copyright (C) 2020 Teppo Kurki <teppo.kurki@iki.fi> *et al*.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program.  If not, see <http://www.gnu.org/licenses/>.\n *\n * 2020-06-24 Original Python code from @Thomas-GeDaD https://github.com/Thomas-GeDaD/Seatalk1-Raspi-reader\n * and finetuned by @MatsA\n *\n */\n\nimport Execute from './execute'\nimport type { CreateDebug } from './types'\n\nconst pythonScript = `\nimport pigpio, time, signal, sys\n\nif  sys.argv[1] == \"undefined\":\n        gpio = 4\t\t\t\t\t                            #Default GPIO4 if not set\nelse:\n        #Ggpio, info as \"GPIOnn\", from GUI setup. Sensing the seatalk1 (yellow wire)\n        try:\n                gpio = int(filter(str.isdigit, sys.argv[1])) #python2\n        except:\n                gpio = int(\"\".join(filter(str.isdigit, sys.argv[1]))) #python3\n\nif __name__ == \"__main__\":\n        st1read =pigpio.pi()\n\n        try:\n                st1read.bb_serial_read_close(gpio) #close if already run\n        except:\n                pass\n\n        st1read.bb_serial_read_open(gpio, 4800,9)\n\n        if  sys.argv[2] == \"true\":\t\t\t        # Invert, inverted input from ST1, selected in the GUI\n                st1read.bb_serial_invert(gpio, 1)\n\n        data=\"\"\n\n        try:\n                while True:\n                        out=(st1read.bb_serial_read(gpio))\n                        out0=out[0]\n                        if out0>0:\n                                out_data=out[1]\n                                x=0\n                                while x < out0:\n                                        if out_data[x+1] ==0:\n                                                if out_data[x] > 15:\n                                                  string1=str(hex(out_data[x]))\n                                                elif out_data[x] ==0:\n                                                  string1=\"0x00\"\n                                                else:\n                                                  string1=\"0x0\"+str(hex(out_data[x]).lstrip(\"0x\"))\n                                                data= data+string1[2:]+ \",\"\n                                        else:\n                                                data=data[0:-1]\n                                                data=\"$STALK,\"+data\n                                                print (data)\n                                                string2=str(hex(out_data[x]))\n                                                string2_new=string2[2:]\n                                                if len(string2_new)==1:\n                                                        string2_new=\"0\"+string2_new\n                                                data=string2_new + \",\"\n                                        x+=2\n                        time.sleep(0.01)\n        except:\n                st1read.bb_serial_read_close(gpio)\n                print (\"exit\")\n`\n\ninterface PigpioSeatalkOptions {\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  createDebug?: CreateDebug\n  gpio?: string\n  gpioInvert?: string\n}\n\nexport default class PigpioSeatalk extends Execute {\n  constructor(options: PigpioSeatalkOptions) {\n    const createDebug = options.createDebug ?? require('debug')\n    super({\n      ...options,\n      debug: createDebug('signalk:streams:pigpio-seatalk'),\n      command: `python -u -c '${pythonScript}' ${options.gpio} ${options.gpioInvert} `\n    })\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/replacer.test.ts",
    "content": "import { expect } from 'chai'\nimport Replacer from './replacer'\n\ndescribe('Replacer', () => {\n  it('replaces matching patterns', (done) => {\n    const replacer = new Replacer({ regexp: 'foo', template: 'bar' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.write('hello foo world')\n    replacer.end()\n    replacer.on('finish', () => {\n      expect(results).to.deep.equal(['hello bar world'])\n      done()\n    })\n  })\n\n  it('replaces all occurrences (global flag)', (done) => {\n    const replacer = new Replacer({ regexp: 'x', template: 'y' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.write('xaxbxc')\n    replacer.end()\n    replacer.on('finish', () => {\n      expect(results).to.deep.equal(['yaybyc'])\n      done()\n    })\n  })\n\n  it('filters out empty results', (done) => {\n    const replacer = new Replacer({ regexp: '^.*$', template: '' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.write('remove me')\n    replacer.end()\n    replacer.on('finish', () => {\n      expect(results).to.deep.equal([])\n      done()\n    })\n  })\n\n  it('passes through non-matching data unchanged', (done) => {\n    const replacer = new Replacer({ regexp: 'NOMATCH', template: '' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.write('keep this')\n    replacer.end()\n    replacer.on('finish', () => {\n      expect(results).to.deep.equal(['keep this'])\n      done()\n    })\n  })\n\n  it('removes null characters', (done) => {\n    const replacer = new Replacer({ regexp: '\\u0000', template: '' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.write('hel\\u0000lo')\n    replacer.end()\n    replacer.on('finish', () => {\n      expect(results).to.deep.equal(['hello'])\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/replacer.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\n\ninterface ReplacerOptions {\n  regexp: string\n  template: string\n}\n\nexport default class Replacer extends Transform {\n  private readonly regexp: RegExp\n  private readonly template: string\n\n  constructor(options: ReplacerOptions) {\n    super({ objectMode: true })\n    this.regexp = new RegExp(options.regexp, 'gu')\n    this.template = options.template\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const result = chunk.toString().replace(this.regexp, this.template)\n    if (result.length > 0) {\n      this.push(result)\n    }\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/s3.ts",
    "content": "/*\n * Copyright 2015 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Transform } from 'stream'\n/*\n  aws-sdk is not included in dependencies because of the\n  persistent deprecation warnings caused by its transitive\n  dependencies. This feature is not in wide use, especially\n  not in signalk-server where people encounter the scary looking\n  deprecation warnings.\n  Known to work with ^2.413.0\n*/\nimport { S3 } from 'aws-sdk'\n\ninterface S3ProviderOptions {\n  bucket: string\n  prefix: string\n}\n\nexport default class S3Provider extends Transform {\n  private readonly Bucket: string\n  private readonly Prefix: string\n\n  constructor({ bucket, prefix }: S3ProviderOptions) {\n    super({ objectMode: false })\n    this.Bucket = bucket\n    this.Prefix = prefix\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    const doEnd = this.end.bind(this)\n    const s3 = new S3()\n    const params = {\n      Bucket: this.Bucket,\n      Prefix: this.Prefix\n    }\n    console.log('listobjects')\n    s3.listObjects(params)\n      .promise()\n      .then((data) => {\n        const jobs = data.Contents.map(\n          (item, i) =>\n            function () {\n              return new Promise<void>((resolve) => {\n                console.log('Starting key ' + item.Key)\n                const objectParams = {\n                  Bucket: params.Bucket,\n                  Key: item.Key\n                }\n                const request = s3.getObject(objectParams)\n                request.on('error', (err) => {\n                  console.log(err)\n                })\n                const stream = request.createReadStream()\n                stream.on('end', resolve)\n                stream.pipe(pipeTo, {\n                  end: i === data.Contents.length - 1\n                })\n              })\n            }\n        )\n\n        let idx = 0\n        function startNext() {\n          if (idx < jobs.length) {\n            jobs[idx++]!().then(startNext)\n          } else {\n            doEnd()\n          }\n        }\n        startNext()\n      })\n      .catch((error) => {\n        console.error(error)\n      })\n    return pipeTo\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/serialport.ts",
    "content": "import { execSync } from 'child_process'\nimport { Transform, TransformCallback } from 'stream'\nimport shellescape from 'any-shell-escape'\nimport type { CreateDebug, DebugLogger } from './types'\n\ninterface SerialStreamOptions {\n  device: string\n  baudrate: number\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    emitPropertyValue(name: string, value: unknown): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  toStdout?: string | string[]\n  maxPendingWrites?: number\n  reconnect?: boolean\n  createDebug?: CreateDebug\n}\n\nexport default class SerialStream extends Transform {\n  private readonly options: SerialStreamOptions\n  private readonly debug: DebugLogger\n  private serial: import('serialport').SerialPort | null = null\n  private reconnectEnabled: boolean\n  private reconnectDelay = 1000\n  private isFirstError = true\n  private readonly maxPendingWrites: number\n  private reconnectTimeout: ReturnType<typeof setTimeout> | null = null\n\n  constructor(options: SerialStreamOptions) {\n    super()\n\n    this.options = options\n    this.reconnectEnabled = options.reconnect ?? true\n    this.maxPendingWrites = options.maxPendingWrites ?? 5\n\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:serialport')\n\n    let pendingWrites = 0\n    const stdOutEvents = Array.isArray(this.options.toStdout)\n      ? [...this.options.toStdout]\n      : ([this.options.toStdout].filter(Boolean) as string[])\n    const standardOutEventName = `serial-${this.options.providerId}-toStdout`\n    stdOutEvents.push(standardOutEventName)\n\n    for (const event of stdOutEvents) {\n      this.options.app.on(event, (d: string | Buffer) => {\n        if (!this.serial) {\n          return\n        }\n        if (pendingWrites > this.maxPendingWrites) {\n          this.debug('Buffer overflow, not writing:' + d)\n          return\n        }\n        this.debug('Writing:' + d)\n        const data = Buffer.isBuffer(d) ? d : d + '\\r\\n'\n        const flushed = this.serial.write(data, (err) => {\n          if (err) {\n            this.debug('Write error: ' + err.message)\n          }\n        })\n        setImmediate(() => {\n          this.options.app.emit('connectionwrite', {\n            providerId: this.options.providerId\n          })\n        })\n        if (!flushed) {\n          pendingWrites++\n          this.serial.once('drain', () => {\n            pendingWrites--\n          })\n        }\n      })\n    }\n\n    this.options.app.emitPropertyValue('serialport', {\n      id: this.options.providerId,\n      eventNames: {\n        toStdout: standardOutEventName\n      }\n    })\n\n    this.start()\n  }\n\n  start(): void {\n    if (this.serial !== null) {\n      this.serial.unpipe(this)\n      this.serial.removeAllListeners()\n      this.serial = null\n    }\n\n    if (this.reconnectEnabled === false) {\n      return\n    }\n\n    if (process.env['PRESERIALCOMMAND']) {\n      execSync(\n        `${process.env['PRESERIALCOMMAND']} ${shellescape(this.options.device)}`\n      )\n    }\n\n    const { SerialPort } = require('serialport') as typeof import('serialport')\n    const { ReadlineParser } =\n      require('@serialport/parser-readline') as typeof import('@serialport/parser-readline')\n\n    this.serial = new SerialPort({\n      path: this.options.device,\n      baudRate: this.options.baudrate\n    })\n\n    this.serial.on('open', () => {\n      this.reconnectDelay = 1000\n      this.options.app.setProviderStatus(\n        this.options.providerId,\n        `Connected to ${this.options.device}`\n      )\n      this.isFirstError = true\n      const parser = new ReadlineParser()\n      this.serial!.pipe(parser).pipe(this)\n    })\n\n    this.serial.on('error', (x: Error) => {\n      this.options.app.setProviderError(this.options.providerId, x.message)\n      if (this.isFirstError) {\n        console.log(x.message)\n      }\n      this.debug(x.message)\n      this.isFirstError = false\n      this.scheduleReconnect()\n    })\n\n    this.serial.on('close', () => {\n      this.options.app.setProviderError(\n        this.options.providerId,\n        'Closed, reconnecting...'\n      )\n      this.scheduleReconnect()\n    })\n  }\n\n  end(): this {\n    this.reconnectEnabled = false\n    if (this.reconnectTimeout) {\n      clearTimeout(this.reconnectTimeout)\n    }\n    if (this.serial) {\n      this.serial.close()\n    }\n    return this\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    this.push(chunk)\n    done()\n  }\n\n  private scheduleReconnect(): void {\n    this.reconnectDelay *= this.reconnectDelay < 60 * 1000 ? 1.5 : 1\n    const msg = `Not connected (retry delay ${(\n      this.reconnectDelay / 1000\n    ).toFixed(0)} s)`\n    this.debug(msg)\n    this.options.app.setProviderStatus(this.options.providerId, msg)\n    this.reconnectTimeout = setTimeout(() => this.start(), this.reconnectDelay)\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/simple.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\nimport N2kAnalyzer from './n2kAnalyzer'\nimport FromJson from './from_json'\nimport MultiplexedLog from './multiplexedlog'\nimport Log from './log'\nimport Liner from './liner'\nimport SplittingLiner from './splitting-liner'\nimport Execute from './execute'\nimport Udp from './udp'\nimport Tcp from './tcp'\nimport TcpServer from './tcpserver'\nimport FileStream from './filestream'\nimport Replacer from './replacer'\nimport Throttle from './throttle'\nimport TimestampThrottle from './timestamp-throttle'\nimport Gpsd from './gpsd'\nimport PigpioSeatalk from './pigpio-seatalk'\nimport GpiodSeatalk from './gpiod-seatalk'\nimport type { CreateDebug, DeltaCache } from './types'\n\n// canboat exports are old-style constructor functions, not classes.\n// They lack construct signatures in their type declarations, so we\n// define callable interfaces here to use them with `new`.\ninterface CanboatCtor {\n  new (options: object, ...args: unknown[]): Transform\n}\n\n// CJS/ESM compat: these modules export the constructor on .default\n// when compiled from ESM, or as the module itself in plain CJS.\nfunction requireN2K(): {\n  CanboatJs: new (options: object) => PipeElement\n  N2kToSignalK: new (options: object) => PipeElement\n} {\n  const cb = require('./canboatjs')\n  const n2k = require('./n2k-signalk')\n  return {\n    CanboatJs: cb.default ?? cb,\n    N2kToSignalK: n2k.default ?? n2k\n  }\n}\n\nfunction requireN2kToSignalK(): new (options: object) => PipeElement {\n  const n2k = require('./n2k-signalk')\n  return n2k.default ?? n2k\n}\n\nfunction requireNmea0183ToSignalK(): new (options: object) => PipeElement {\n  const mod = require('./nmea0183-signalk')\n  return mod.default ?? mod\n}\n\nfunction requireW2k01(): CanboatCtor {\n  return (require('@canboat/canboatjs') as { W2k01: unknown })\n    .W2k01 as unknown as CanboatCtor\n}\n\ninterface SimpleApp {\n  selfContext: string\n  isNmea2000OutAvailable: boolean\n  deltaCache: DeltaCache\n  config: {\n    configPath: string\n    settings: {\n      loggingDirectory?: string\n      keepMostRecentLogsOnly?: boolean\n      logCountToKeep?: number\n    }\n    getExternalHostname(): string\n    getExternalPort(): number\n  }\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  on(event: string, cb: (...args: any[]) => void): void\n  emit(event: string, ...args: unknown[]): void\n  emitPropertyValue(name: string, value: unknown): void\n  setProviderStatus(id: string, msg: string): void\n  setProviderError(id: string, msg: string): void\n  handleMessage(id: string, delta: object): void\n  signalk: { emit(event: string, ...args: unknown[]): void }\n}\n\ninterface SubOptions {\n  app: SimpleApp\n  providerId: string\n  emitPropertyValue?: (name: string, value: unknown) => void\n  onPropertyValues?: (name: string, callback: (value: unknown) => void) => void\n  createDebug?: CreateDebug\n  dataType?: string\n  type?: string\n  host?: string\n  port?: number\n  device?: string\n  interface?: string\n  command?: string\n  filename?: string\n  baudrate?: number\n  throttleRate?: number\n  overrideTimestamp?: boolean\n  removeNulls?: boolean\n  ignoredSentences?: string[]\n  noThrottle?: boolean\n  validateChecksum?: boolean\n  useCanboatjs?: boolean\n  suppress0183event?: boolean\n  sentenceEvent?: string | string[]\n  appendChecksum?: boolean\n  filters?: Array<{ source?: string; pgn?: string }>\n  filtersEnabled?: boolean\n  useCanName?: boolean\n  tcp?: boolean\n  [key: string]: unknown\n}\n\ninterface SimpleOptions {\n  app: SimpleApp\n  providerId: string\n  type: string\n  logging?: boolean\n  subOptions: SubOptions\n  emitPropertyValue: (name: string, value: unknown) => void\n  onPropertyValues: (name: string, callback: (value: unknown) => void) => void\n  createDebug?: CreateDebug\n}\n\n// Pipeline elements must support .pipe() and .end(). Most are Transform\n// streams, but FileStream and DeMultiplexer are custom stream-like objects.\ninterface PipeElement {\n  pipe(\n    destination: NodeJS.WritableStream,\n    options?: { end?: boolean }\n  ): NodeJS.WritableStream\n  end(): unknown\n}\n\ntype PipelineFactory = (options: SimpleOptions) => PipeElement[]\ntype PipeStartFactory = (\n  subOptions: SubOptions,\n  logging?: boolean\n) => PipeElement[]\n\nconst discriminatorByDataType: Record<string, string> = {\n  NMEA2000JS: 'A',\n  NMEA2000IK: 'A',\n  NMEA2000YD: 'A',\n  NMEA2000: 'A',\n  NMEA0183: 'N',\n  SignalK: 'I',\n  Seatalk: 'N'\n}\n\nconst dataTypeMapping: Record<string, PipelineFactory> = {\n  SignalK: (options) =>\n    options.subOptions.type !== 'wss' && options.subOptions.type !== 'ws'\n      ? [new FromJson()]\n      : [],\n  Seatalk: (options) => {\n    const Ctor = requireNmea0183ToSignalK()\n    return [\n      new Ctor({\n        ...options.subOptions,\n        validateChecksum: false\n      })\n    ]\n  },\n  NMEA0183: (options) => {\n    const Ctor = requireNmea0183ToSignalK()\n    const result: PipeElement[] = [new Ctor(options.subOptions)]\n    if (options.type === 'FileStream') {\n      result.unshift(\n        new Throttle({\n          rate: options.subOptions.throttleRate ?? 1000,\n          chunksize: options.subOptions.throttleRate ?? 1000\n        })\n      )\n    }\n    return result\n  },\n  NMEA2000: (options) => {\n    const N2kCtor = requireN2kToSignalK()\n    const result: PipeElement[] = [new N2kAnalyzer(options.subOptions)]\n    if (options.type === 'FileStream') {\n      result.push(new TimestampThrottle())\n    }\n    return [...result, new N2kCtor(options.subOptions)]\n  },\n  NMEA2000JS: (options) => {\n    const { CanboatJs, N2kToSignalK } = requireN2K()\n    const result: PipeElement[] = [new CanboatJs(options.subOptions)]\n    if (options.type === 'FileStream') {\n      result.push(new TimestampThrottle())\n    }\n    return [...result, new N2kToSignalK(options.subOptions)]\n  },\n  NMEA2000IK: (options) => {\n    const { CanboatJs, N2kToSignalK } = requireN2K()\n    const canboatjs = require('@canboat/canboatjs') as {\n      iKonvert: unknown\n    }\n    const iKonvertCtor = canboatjs.iKonvert as unknown as CanboatCtor\n    const result: PipeElement[] = [new CanboatJs(options.subOptions)]\n    if (options.type === 'FileStream') {\n      result.push(\n        new TimestampThrottle({\n          getMilliseconds: (msg) => {\n            return (msg as unknown as { timer: number }).timer * 1000\n          }\n        })\n      )\n    }\n    {\n      let subOptions: SubOptions\n      if (options.subOptions.type === 'navlink2-tcp-canboatjs') {\n        subOptions = { ...options.subOptions, tcp: true }\n      } else {\n        subOptions = options.subOptions\n      }\n      result.unshift(new iKonvertCtor(subOptions))\n    }\n    return [...result, new N2kToSignalK(options.subOptions)]\n  },\n  NMEA2000YD: (options) => {\n    const N2kCtor = requireN2kToSignalK()\n    const canboatjs = require('@canboat/canboatjs') as {\n      Ydwg02: unknown\n    }\n    const Ydwg02Ctor = canboatjs.Ydwg02 as unknown as CanboatCtor\n    const result: PipeElement[] = [\n      new Ydwg02Ctor(\n        { ...options.subOptions },\n        options.subOptions.type === 'ydwg02-usb-canboatjs' ? 'usb' : 'network'\n      )\n    ]\n    if (options.type === 'FileStream') {\n      result.push(new TimestampThrottle())\n    }\n    return [...result, new N2kCtor(options.subOptions)]\n  },\n  NMEA2000W2K_ASCII: (options) => {\n    const N2kCtor = requireN2kToSignalK()\n    const W2k01Ctor = requireW2k01()\n    const result: PipeElement[] = [\n      new W2k01Ctor({\n        format: 'ascii',\n        ...options.subOptions\n      })\n    ]\n    if (options.type === 'FileStream') {\n      result.push(new TimestampThrottle())\n    }\n    return [...result, new N2kCtor(options.subOptions)]\n  },\n  NMEA2000W2K_ACTISENSE: (options) => {\n    const N2kCtor = requireN2kToSignalK()\n    const W2k01Ctor = requireW2k01()\n    const result: PipeElement[] = [\n      new W2k01Ctor({\n        format: 'actisense',\n        ...options.subOptions\n      })\n    ]\n    if (options.type === 'FileStream') {\n      result.push(new TimestampThrottle())\n    }\n    return [...result, new N2kCtor(options.subOptions)]\n  },\n  Multiplexed: (options) => [new MultiplexedLog(options.subOptions)]\n}\n\nfunction nmea2000input(\n  subOptions: SubOptions,\n  logging?: boolean\n): PipeElement[] {\n  if (subOptions.type === 'ngt-1-canboatjs') {\n    const ActisenseSerial = require('./actisense-serial') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = ActisenseSerial.default ?? ActisenseSerial\n    return [\n      new (Ctor as new (options: object) => PipeElement)({\n        ...subOptions,\n        plainText: logging\n      })\n    ]\n  } else if (subOptions.type === 'canbus-canboatjs') {\n    const Canbus = require('./canbus') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = Canbus.default ?? Canbus\n    return [\n      new (Ctor as new (options: object) => PipeElement)({\n        ...subOptions,\n        canDevice: subOptions.interface\n      })\n    ]\n  } else if (subOptions.type === 'ikonvert-canboatjs') {\n    const Serialport = require('./serialport') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = Serialport.default ?? Serialport\n    return [\n      new (Ctor as new (options: object) => PipeElement)({\n        ...subOptions,\n        baudrate: 230400,\n        toStdout: 'ikonvertOut'\n      })\n    ]\n  } else if (subOptions.type === 'ydwg02-canboatjs') {\n    return [\n      new Tcp({ ...subOptions, outEvent: 'ydwg02-out' } as SubOptions & {\n        host: string\n        port: number\n        outEvent: string\n      }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'ydwg02-udp-canboatjs') {\n    return [\n      new Udp({ ...subOptions, outEvent: 'ydwg02-out' } as SubOptions & {\n        port: number\n        outEvent: string\n      }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'navlink2-tcp-canboatjs') {\n    return [\n      new Tcp({ ...subOptions, outEvent: 'navlink2-out' } as SubOptions & {\n        host: string\n        port: number\n        outEvent: string\n      }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'w2k-1-n2k-ascii-canboatjs') {\n    const W2k01Ctor = requireW2k01()\n    return [\n      new Tcp({ ...subOptions, outEvent: 'w2k-1-out' } as SubOptions & {\n        host: string\n        port: number\n        outEvent: string\n      }),\n      new Liner(subOptions),\n      new W2k01Ctor(subOptions, 'ascii', 'w2k-1-out')\n    ]\n  } else if (subOptions.type === 'w2k-1-n2k-actisense-canboatjs') {\n    const W2k01Ctor = requireW2k01()\n    return [\n      new Tcp({ ...subOptions, outEvent: 'w2k-1-out' } as SubOptions & {\n        host: string\n        port: number\n        outEvent: string\n      }),\n      new W2k01Ctor(subOptions, 'actisense', 'w2k-1-out')\n    ]\n  } else if (subOptions.type === 'navlink2-udp-canboatjs') {\n    return [\n      new Udp(subOptions as SubOptions & { port: number }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'ydwg02-usb-canboatjs') {\n    const Serialport = require('./serialport') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = Serialport.default ?? Serialport\n    return [\n      new (Ctor as new (options: object) => PipeElement)({\n        ...subOptions,\n        baudrate: 38400,\n        toStdout: 'ydwg02-out'\n      })\n    ]\n  } else {\n    let command: string\n    let toChildProcess: string | undefined\n    if (subOptions.type === 'ngt-1') {\n      command = `actisense-serial -s ${subOptions.baudrate ?? 115200} ${subOptions.device}`\n      toChildProcess = 'nmea2000out'\n    } else if (subOptions.type === 'canbus') {\n      command = `candump ${subOptions.interface} | candump2analyzer`\n      toChildProcess = undefined\n    } else {\n      throw new Error(`unknown NMEA2000 type ${subOptions.type}`)\n    }\n    return [\n      new Execute({\n        command,\n        toChildProcess,\n        app: subOptions.app,\n        providerId: subOptions.providerId\n      }),\n      new Liner(subOptions)\n    ]\n  }\n}\n\nfunction nmea0183input(subOptions: SubOptions): PipeElement[] {\n  let pipePart: PipeElement[] | undefined\n  if (subOptions.type === 'tcp') {\n    pipePart = [\n      new Tcp(subOptions as SubOptions & { host: string; port: number }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'tcpserver') {\n    pipePart = [new TcpServer(subOptions), new Liner(subOptions)]\n  } else if (subOptions.type === 'udp') {\n    pipePart = [\n      new Udp(subOptions as SubOptions & { port: number }),\n      new SplittingLiner(subOptions)\n    ]\n  } else if (subOptions.type === 'serial') {\n    const Serialport = require('./serialport') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = Serialport.default ?? Serialport\n    pipePart = [new (Ctor as new (options: object) => PipeElement)(subOptions)]\n  } else if (subOptions.type === 'gpsd') {\n    pipePart = [new Gpsd(subOptions), new Liner(subOptions)]\n  }\n\n  if (pipePart) {\n    if (subOptions.removeNulls) {\n      pipePart.push(new Replacer({ regexp: '\\u0000', template: '' }))\n    }\n    pipePart.push(...nmea0183inputFilter(subOptions.ignoredSentences ?? []))\n    return pipePart\n  } else {\n    throw new Error(`Unknown networking type: ${subOptions.type}`)\n  }\n}\n\nfunction executeInput(subOptions: SubOptions): PipeElement[] {\n  return [\n    new Execute(subOptions as SubOptions & { command: string }),\n    new Liner(subOptions)\n  ]\n}\n\nfunction fileInput(subOptions: SubOptions): PipeElement[] {\n  return [\n    new FileStream(subOptions as SubOptions & { filename: string }),\n    new Liner(subOptions)\n  ]\n}\n\nfunction signalKInput(subOptions: SubOptions): PipeElement[] {\n  if (subOptions.type === 'ws' || subOptions.type === 'wss') {\n    const MdnsWs = require('./mdns-ws') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = MdnsWs.default ?? MdnsWs\n    return [new (Ctor as new (options: object) => PipeElement)(subOptions)]\n  } else if (subOptions.type === 'tcp') {\n    return [\n      new Tcp(subOptions as SubOptions & { host: string; port: number }),\n      new Liner(subOptions)\n    ]\n  } else if (subOptions.type === 'udp') {\n    return [new Udp(subOptions as SubOptions & { port: number })]\n  } else if (subOptions.type === 'serial') {\n    const Serialport = require('./serialport') as {\n      default: new (options: object) => PipeElement\n    }\n    const Ctor = Serialport.default ?? Serialport\n    return [new (Ctor as new (options: object) => PipeElement)(subOptions)]\n  }\n  throw new Error(`unknown SignalK type: ${subOptions.type}`)\n}\n\nfunction seatalkInput(subOptions: SubOptions): PipeElement[] {\n  const pipePart: PipeElement[] = []\n  if (subOptions.type === 'gpiod') {\n    pipePart.push(new GpiodSeatalk(subOptions))\n  } else {\n    pipePart.push(new PigpioSeatalk(subOptions))\n  }\n  // Split the child process stdout on newlines so each $STALK frame and\n  // each '# ...' comment from the bit-bang reader becomes its own line,\n  // even when multiple writes get coalesced into one read by the OS pipe.\n  pipePart.push(new Liner(subOptions))\n  pipePart.push(...seatalk1inputFilter(subOptions.ignoredSentences ?? []))\n  return pipePart\n}\n\n// Returns an array of pipe elements that filter NMEA0183 sentences by matching\n// the three-letter sentence identifier that follows the talker id. For example,\n// filtering \"RMC\" removes lines like \"$GPRMC,123519,A,...\" because the pattern\n// \"^...RMC.*\" skips the \"$GP\" talker prefix (3 chars) and matches \"RMC\" plus\n// the rest of the line.\nfunction nmea0183inputFilter(ignoredSentences: string[]): PipeElement[] {\n  return ignoredSentences\n    .filter((sentence) => sentence.length > 0)\n    .map(\n      (sentence) =>\n        new Replacer({\n          regexp: `^...${sentence.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}.*`,\n          template: ''\n        })\n    )\n}\n\n// Returns an array of pipe elements that filter SeaTalk1 datagrams by matching\n// the command byte in $STALK sentences. SeaTalk1 data arrives as\n// \"$STALK,<cmd>,<d1>,<d2>,...\" where <cmd> is a hex byte identifying the\n// datagram type. For example, filtering \"84\" removes\n// \"$STALK,84,56,FA,01,03,37,2F,1C,0B\" (depth) while letting other datagrams\n// like \"$STALK,9C,01,23,45\" (compass heading) pass through.\nfunction seatalk1inputFilter(ignoredCommands: string[]): PipeElement[] {\n  return ignoredCommands\n    .filter((command) => command.length > 0)\n    .map(\n      (command) =>\n        new Replacer({\n          regexp: `^\\\\$STALK,${command.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}\\\\b.*`,\n          template: ''\n        })\n    )\n}\n\nconst pipeStartByType: Record<string, PipeStartFactory> = {\n  NMEA2000: nmea2000input,\n  NMEA0183: nmea0183input,\n  Execute: executeInput,\n  FileStream: fileInput,\n  SignalK: signalKInput,\n  Seatalk: seatalkInput\n}\n\nfunction getLoggerPipeline(\n  app: SimpleApp,\n  logging: boolean | undefined,\n  discriminator: string | undefined\n): PipeElement[] {\n  if (!logging) {\n    return []\n  }\n  return [\n    new Log({\n      app,\n      discriminator\n    })\n  ]\n}\n\nexport default class Simple extends Transform {\n  private readonly pipeline: PipeElement[]\n\n  constructor(options: SimpleOptions) {\n    super({ objectMode: true })\n\n    const { emitPropertyValue, onPropertyValues, createDebug } = options\n    const opts = { ...options }\n    opts.subOptions = {\n      ...options.subOptions,\n      emitPropertyValue,\n      onPropertyValues,\n      createDebug\n    }\n\n    opts.subOptions.providerId = options.providerId\n    const dataType = opts.subOptions.dataType ?? options.type\n    if (!dataType) {\n      throw new Error(`Unknown data type for ${options.type}`)\n    }\n\n    if (!pipeStartByType[options.type]) {\n      throw new Error(`Invalid input type: ${options.type}`)\n    }\n    if (!dataTypeMapping[dataType]) {\n      throw new Error(`Unknown data type: ${dataType}`)\n    }\n    if (dataType !== 'Multiplexed' && !discriminatorByDataType[dataType]) {\n      throw new Error(`No discriminator for: ${dataType}`)\n    }\n\n    opts.subOptions.app = options.app\n\n    let mappingType = dataType\n\n    if (options.type === 'NMEA2000' && opts.subOptions) {\n      if (\n        opts.subOptions.type === 'ngt-1-canboatjs' ||\n        opts.subOptions.type === 'canbus-canboatjs' ||\n        opts.subOptions.type === 'w2k-1-n2k-actisense-canboatjs' ||\n        opts.subOptions.type === 'w2k-1-n2k-ascii-canboatjs'\n      ) {\n        mappingType = 'NMEA2000JS'\n      } else if (\n        opts.subOptions.type === 'ikonvert-canboatjs' ||\n        opts.subOptions.type === 'navlink2-tcp-canboatjs'\n      ) {\n        mappingType = 'NMEA2000IK'\n      } else if (\n        opts.subOptions.type === 'ydwg02-canboatjs' ||\n        opts.subOptions.type === 'ydwg02-udp-canboatjs' ||\n        opts.subOptions.type === 'ydwg02-usb-canboatjs'\n      ) {\n        mappingType = 'NMEA2000YD'\n      }\n      options.app.on('nmea2000out', () => {\n        setImmediate(() =>\n          options.app.emit('connectionwrite', {\n            providerId: options.providerId\n          })\n        )\n      })\n      options.app.on('nmea2000JsonOut', () => {\n        setImmediate(() =>\n          options.app.emit('connectionwrite', {\n            providerId: options.providerId\n          })\n        )\n      })\n    }\n\n    const pipeStart = pipeStartByType[options.type]!\n    const dataMapper = dataTypeMapping[mappingType]!\n\n    const pipeline: PipeElement[] = [\n      ...pipeStart(opts.subOptions, options.logging),\n      ...getLoggerPipeline(\n        options.app,\n        options.logging,\n        discriminatorByDataType[dataType]\n      ),\n      ...dataMapper(opts)\n    ]\n\n    const dataReceivedEventName = `${opts.subOptions.providerId}-received`\n\n    const spy = new Transform({\n      objectMode: true,\n      transform(\n        chunk: unknown,\n        encoding: BufferEncoding,\n        callback: TransformCallback\n      ) {\n        options.app.emit(dataReceivedEventName, chunk)\n        callback(null, chunk)\n      }\n    })\n    pipeline.splice(pipeline.length - 1, 0, spy)\n\n    opts.subOptions.app.emitPropertyValue('pipedprovider', {\n      id: opts.subOptions.providerId,\n      type: mappingType,\n      eventNames: {\n        received: dataReceivedEventName\n      }\n    })\n\n    if (opts.subOptions.overrideTimestamp) {\n      pipeline.push(\n        new Transform({\n          objectMode: true,\n          transform(\n            delta: { updates?: Array<{ timestamp?: string }> },\n            encoding: BufferEncoding,\n            callback: TransformCallback\n          ) {\n            if (delta.updates) {\n              const now = new Date().toISOString()\n              delta.updates.forEach((update) => {\n                update.timestamp = now\n              })\n            }\n            callback(null, delta)\n          }\n        })\n      )\n    }\n\n    for (let i = pipeline.length - 2; i >= 0; i--) {\n      pipeline[i]!.pipe(pipeline[i + 1]! as unknown as NodeJS.WritableStream)\n    }\n    pipeline[pipeline.length - 1]!.pipe(this)\n\n    this.pipeline = pipeline\n  }\n\n  _transform(\n    msg: unknown,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    this.push(msg)\n    done()\n  }\n\n  end(): this {\n    this.pipeline[0]!.end()\n    return this\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/splitting-liner.test.ts",
    "content": "import { expect } from 'chai'\nimport SplittingLiner from './splitting-liner'\n\ndescribe('SplittingLiner', () => {\n  it('splits data on newline', (done) => {\n    const liner = new SplittingLiner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('a\\nb\\nc')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['a', 'b', 'c'])\n      done()\n    })\n  })\n\n  it('does not buffer partial lines across chunks', (done) => {\n    const liner = new SplittingLiner()\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('hel')\n    liner.write('lo\\nworld')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['hel', 'lo', 'world'])\n      done()\n    })\n  })\n\n  it('supports custom line separator', (done) => {\n    const liner = new SplittingLiner({ lineSeparator: '|' })\n    const results: string[] = []\n    liner.on('data', (d: string) => results.push(d))\n    liner.write('a|b|c')\n    liner.end()\n    liner.on('finish', () => {\n      expect(results).to.deep.equal(['a', 'b', 'c'])\n      done()\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/splitting-liner.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\n\ninterface SplittingLinerOptions {\n  lineSeparator?: string\n  [key: string]: unknown\n}\n\nexport default class SplittingLiner extends Transform {\n  private readonly lineSeparator: string\n\n  constructor(options: SplittingLinerOptions = {}) {\n    super({ objectMode: true })\n    this.lineSeparator = options.lineSeparator ?? '\\n'\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const data = chunk.toString()\n    const lines = data.split(this.lineSeparator)\n    for (const line of lines) {\n      this.push(line)\n    }\n    done()\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/tcp.test.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { expect } from 'chai'\nimport net from 'net'\nimport { Writable } from 'stream'\nimport TcpStream from './tcp'\nimport { createMockApp, createDebugStub } from './test-helpers'\n\nfunction createCollectingWritable(): Writable & { chunks: string[] } {\n  const chunks: string[] = []\n  const writable = new Writable({\n    write(chunk: Buffer, _encoding: BufferEncoding, callback: () => void) {\n      chunks.push(chunk.toString())\n      writable.emit('chunk', chunk.toString())\n      callback()\n    }\n  })\n  return Object.assign(writable, { chunks })\n}\n\ndescribe('TcpStream', () => {\n  let server: net.Server\n  let serverPort: number\n\n  beforeEach((done) => {\n    server = net.createServer()\n    server.listen(0, '127.0.0.1', () => {\n      const addr = server.address() as net.AddressInfo\n      serverPort = addr.port\n      done()\n    })\n  })\n\n  afterEach((done) => {\n    server.close(() => done())\n  })\n\n  it('connects to TCP server and receives data', function (done) {\n    this.timeout(5000)\n    server.on('connection', (socket) => {\n      socket.write('hello from server\\n')\n    })\n\n    const app = createMockApp()\n    const tcp = new TcpStream({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-tcp',\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    writable.on('chunk', () => {\n      if (writable.chunks.join('').includes('hello from server')) {\n        expect(\n          app.providerStatuses.some((s) => s.msg.includes('Connected'))\n        ).to.equal(true)\n        tcp.end()\n        done()\n      }\n    })\n    tcp.pipe(writable)\n  })\n\n  it('sends data to TCP server via outEvent', function (done) {\n    this.timeout(5000)\n    const received: string[] = []\n    server.on('connection', (socket) => {\n      socket.on('data', (data) => {\n        received.push(data.toString())\n        if (received.join('').includes('test data')) {\n          tcp.end()\n          done()\n        }\n      })\n    })\n\n    const app = createMockApp()\n    const origSetStatus = app.setProviderStatus.bind(app)\n    app.setProviderStatus = (id: string, msg: string) => {\n      origSetStatus(id, msg)\n      if (msg.includes('Connected')) {\n        app.emit('tcpOut', 'test data')\n      }\n    }\n\n    const tcp = new TcpStream({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-tcp',\n      outEvent: 'tcpOut',\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    tcp.pipe(writable)\n  })\n\n  it('sends data to TCP server via toStdout event', function (done) {\n    this.timeout(5000)\n    const received: string[] = []\n    server.on('connection', (socket) => {\n      socket.on('data', (data) => {\n        received.push(data.toString())\n        if (received.join('').includes('stdout data')) {\n          tcp.end()\n          done()\n        }\n      })\n    })\n\n    const app = createMockApp()\n    const origSetStatus = app.setProviderStatus.bind(app)\n    app.setProviderStatus = (id: string, msg: string) => {\n      origSetStatus(id, msg)\n      if (msg.includes('Connected')) {\n        app.emit('stdoutEvent', 'stdout data')\n      }\n    }\n\n    const tcp = new TcpStream({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-tcp',\n      toStdout: 'stdoutEvent',\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    tcp.pipe(writable)\n  })\n\n  it('skips outEvent writes when send buffer exceeds threshold', function (done) {\n    this.timeout(5000)\n\n    server.on('connection', () => {\n      // accept connection, do nothing\n    })\n\n    const app = createMockApp()\n    const debugMessages: string[] = []\n    const createDebug = () => {\n      const fn = Object.assign(\n        (...args: unknown[]): void => {\n          debugMessages.push(String(args[0]))\n        },\n        { enabled: true }\n      )\n      return fn\n    }\n\n    const origSetStatus = app.setProviderStatus.bind(app)\n    app.setProviderStatus = (id: string, msg: string) => {\n      origSetStatus(id, msg)\n      if (msg.includes('Connected')) {\n        const tcpStream = (tcp as any).tcpStream as net.Socket | undefined\n        if (tcpStream) {\n          Object.defineProperty(tcpStream, 'writableLength', {\n            get: () => 1024 * 1024,\n            configurable: true\n          })\n        }\n\n        app.emit('tcpOut', 'should be skipped')\n\n        setTimeout(() => {\n          const skipped = debugMessages.some((m) =>\n            m.includes('outEvent write skipped')\n          )\n          expect(skipped).to.equal(true)\n          tcp.end()\n          done()\n        }, 100)\n      }\n    }\n\n    const tcp = new TcpStream({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-tcp',\n      outEvent: 'tcpOut',\n      createDebug\n    })\n\n    const writable = createCollectingWritable()\n    tcp.pipe(writable)\n  })\n\n  it('skips toStdout writes when send buffer exceeds threshold', function (done) {\n    this.timeout(5000)\n\n    server.on('connection', () => {\n      // accept connection, do nothing\n    })\n\n    const app = createMockApp()\n    const debugMessages: string[] = []\n    const createDebug = () => {\n      const fn = Object.assign(\n        (...args: unknown[]): void => {\n          debugMessages.push(String(args[0]))\n        },\n        { enabled: true }\n      )\n      return fn\n    }\n\n    const origSetStatus = app.setProviderStatus.bind(app)\n    app.setProviderStatus = (id: string, msg: string) => {\n      origSetStatus(id, msg)\n      if (msg.includes('Connected')) {\n        const tcpStream = (tcp as any).tcpStream as net.Socket | undefined\n        if (tcpStream) {\n          Object.defineProperty(tcpStream, 'writableLength', {\n            get: () => 1024 * 1024,\n            configurable: true\n          })\n        }\n\n        app.emit('stdoutEvent', 'should be skipped')\n\n        setTimeout(() => {\n          const skipped = debugMessages.some((m) =>\n            m.includes('toStdout write skipped')\n          )\n          expect(skipped).to.equal(true)\n          tcp.end()\n          done()\n        }, 100)\n      }\n    }\n\n    const tcp = new TcpStream({\n      host: '127.0.0.1',\n      port: serverPort,\n      app,\n      providerId: 'test-tcp',\n      toStdout: 'stdoutEvent',\n      createDebug\n    })\n\n    const writable = createCollectingWritable()\n    tcp.pipe(writable)\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/tcp.ts",
    "content": "import net from 'net'\nimport { Transform, TransformCallback } from 'stream'\nimport reconnect from 'reconnect-core'\nimport type { CreateDebug, DebugLogger } from './types'\n\nconst BUFFER_LIMIT = process.env.BACKPRESSURE_ENTER\n  ? parseInt(process.env.BACKPRESSURE_ENTER, 10)\n  : 512 * 1024\n\ninterface TcpOptions {\n  host: string\n  port: number\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    emit(event: string, ...args: unknown[]): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  noDataReceivedTimeout?: string | number\n  outEvent?: string\n  toStdout?: string | string[]\n  createDebug?: CreateDebug\n  [key: string]: unknown\n}\n\nexport default class TcpStream extends Transform {\n  private readonly options: TcpOptions\n  private readonly debug: DebugLogger\n  private readonly debugData: DebugLogger\n  private static readonly DEFAULT_TIMEOUT_SECONDS = 60\n  private readonly noDataReceivedTimeout: number\n  private tcpStream: net.Socket | undefined\n  private reconnector: { disconnect(): void } | null = null\n\n  constructor(options: TcpOptions) {\n    super()\n    this.options = options\n    const parsedTimeout = Number.parseInt(\n      (this.options.noDataReceivedTimeout + '').trim()\n    )\n    this.noDataReceivedTimeout =\n      (isNaN(parsedTimeout)\n        ? TcpStream.DEFAULT_TIMEOUT_SECONDS\n        : parsedTimeout) * 1000\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:tcp')\n    this.debug(`noDataReceivedTimeout:${this.noDataReceivedTimeout}`)\n    this.debugData = createDebug('signalk:streams:tcp-data')\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    if (this.options.outEvent) {\n      this.options.app.on(this.options.outEvent, (d: string) => {\n        if (this.tcpStream) {\n          if (this.tcpStream.writableLength > BUFFER_LIMIT) {\n            this.debug(\n              'outEvent write skipped, buffer full: %d',\n              this.tcpStream.writableLength\n            )\n            return\n          }\n          this.debug('sending %s', d)\n          this.tcpStream.write(d)\n          setImmediate(() => {\n            this.options.app.emit('connectionwrite', {\n              providerId: this.options.providerId\n            })\n          })\n        }\n      })\n    }\n\n    const stdOutEvent = this.options.toStdout\n    if (stdOutEvent) {\n      const events = Array.isArray(stdOutEvent) ? stdOutEvent : [stdOutEvent]\n      for (const stdEvent of events) {\n        this.options.app.on(stdEvent, (d: string) => {\n          if (this.tcpStream) {\n            if (this.tcpStream.writableLength > BUFFER_LIMIT) {\n              this.debug(\n                'toStdout write skipped for %s, buffer full: %d',\n                stdEvent,\n                this.tcpStream.writableLength\n              )\n              return\n            }\n            this.tcpStream.write(d + '\\r\\n')\n            this.debug('event %s sending %s', stdEvent, d)\n          }\n        })\n      }\n    }\n\n    this.reconnector = reconnect((opts: object) => {\n      return net.connect(opts as { host: string; port: number })\n    })({ maxDelay: 5 * 1000 }, (tcpStream: net.Socket) => {\n      if (this.noDataReceivedTimeout > 0) {\n        tcpStream.setTimeout(this.noDataReceivedTimeout)\n        this.debug(\n          `Setting socket idle timeout ${this.options.host}:${this.options.port} ${this.noDataReceivedTimeout}`\n        )\n        tcpStream.on('timeout', () => {\n          this.debug(\n            `Idle timeout, closing socket ${this.options.host}:${this.options.port}`\n          )\n          tcpStream.end()\n        })\n      }\n      tcpStream.on('data', (data: Buffer) => {\n        if (this.debugData.enabled) {\n          this.debugData(data.toString())\n        }\n        this.write(data)\n      })\n    })\n      .on('connect', (con: net.Socket) => {\n        this.tcpStream = con\n        const msg = `Connected to ${this.options.host} ${this.options.port}`\n        this.options.app.setProviderStatus(this.options.providerId, msg)\n        this.debug(msg)\n      })\n      .on('reconnect', (n: number, delay: number) => {\n        const msg = `Reconnect ${this.options.host} ${this.options.port} retry ${n} delay ${delay}`\n        this.options.app.setProviderError(this.options.providerId, msg)\n        this.debug(msg)\n      })\n      .on('disconnect', () => {\n        this.tcpStream = undefined\n        const msg = `Disconnected ${this.options.host} ${this.options.port}`\n        this.options.app.setProviderError(this.options.providerId, msg)\n        this.debug(msg)\n      })\n      .on('error', (err: Error & { errors?: string[] }) => {\n        let msg: string\n        if (err.message && err.message.length > 0) {\n          msg = err.message\n        } else if (err.errors) {\n          msg = err.errors.toString()\n        } else {\n          msg = err.toString()\n        }\n        this.options.app.setProviderError(this.options.providerId, msg)\n        console.error('TcpProvider:' + msg)\n      })\n      .connect(this.options)\n\n    super.pipe(pipeTo)\n    return pipeTo\n  }\n\n  end(): this {\n    if (this.reconnector) {\n      this.reconnector.disconnect()\n    }\n    return this\n  }\n\n  _transform(\n    data: Buffer,\n    encoding: BufferEncoding,\n    callback: TransformCallback\n  ): void {\n    callback(null, data)\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/tcpserver.ts",
    "content": "import { Transform, TransformCallback } from 'stream'\n\ninterface TcpServerOptions {\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n  }\n}\n\nexport default class TcpServer extends Transform {\n  private readonly options: TcpServerOptions\n\n  constructor(options: TcpServerOptions) {\n    super()\n    this.options = options\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    this.options.app.on('tcpserver0183data', (d: string) => this.write(d))\n    return super.pipe(pipeTo)\n  }\n\n  _transform(\n    data: Buffer,\n    encoding: BufferEncoding,\n    callback: TransformCallback\n  ): void {\n    callback(null, data)\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/test-helpers.ts",
    "content": "import { EventEmitter } from 'events'\nimport type { CreateDebug, DebugLogger, DeltaCache } from './types'\n\ninterface MockAppOptions {\n  selfContext?: string\n  configPath?: string\n  loggingDirectory?: string\n  keepMostRecentLogsOnly?: boolean\n  logCountToKeep?: number\n  isNmea2000OutAvailable?: boolean\n}\n\ninterface MockApp extends EventEmitter {\n  selfContext: string\n  isNmea2000OutAvailable: boolean\n  deltaCache: DeltaCache\n  config: {\n    configPath: string\n    settings: {\n      loggingDirectory?: string\n      keepMostRecentLogsOnly?: boolean\n      logCountToKeep?: number\n    }\n    getExternalHostname(): string\n    getExternalPort(): number\n  }\n  setProviderStatus(id: string, msg: string): void\n  setProviderError(id: string, msg: string): void\n  handleMessage(id: string, delta: object): void\n  emitPropertyValue(name: string, value: unknown): void\n  signalk: EventEmitter\n  providerStatuses: Array<{ id: string; msg: string }>\n  providerErrors: Array<{ id: string; msg: string }>\n  handledMessages: Array<{ id: string; delta: object }>\n  propertyValues: Array<{ name: string; value: unknown }>\n}\n\nexport function createMockApp(options: MockAppOptions = {}): MockApp {\n  const emitter = new EventEmitter()\n  const signalk = new EventEmitter()\n\n  const providerStatuses: Array<{ id: string; msg: string }> = []\n  const providerErrors: Array<{ id: string; msg: string }> = []\n  const handledMessages: Array<{ id: string; delta: object }> = []\n  const propertyValues: Array<{ name: string; value: unknown }> = []\n  const sourceDeltaStore: Record<string, object> = {}\n\n  const app = Object.assign(emitter, {\n    selfContext: options.selfContext ?? 'vessels.urn:mrn:imo:mmsi:000000000',\n    isNmea2000OutAvailable: options.isNmea2000OutAvailable ?? false,\n    deltaCache: {\n      setSourceDelta(key: string, delta: object): void {\n        sourceDeltaStore[key] = delta\n      }\n    },\n    config: {\n      configPath: options.configPath ?? '/tmp/test-config',\n      settings: {\n        loggingDirectory: options.loggingDirectory,\n        keepMostRecentLogsOnly: options.keepMostRecentLogsOnly,\n        logCountToKeep: options.logCountToKeep\n      },\n      getExternalHostname(): string {\n        return 'localhost'\n      },\n      getExternalPort(): number {\n        return 3000\n      }\n    },\n    setProviderStatus(id: string, msg: string): void {\n      providerStatuses.push({ id, msg })\n    },\n    setProviderError(id: string, msg: string): void {\n      providerErrors.push({ id, msg })\n    },\n    handleMessage(id: string, delta: object): void {\n      handledMessages.push({ id, delta })\n    },\n    emitPropertyValue(name: string, value: unknown): void {\n      propertyValues.push({ name, value })\n    },\n    signalk,\n    providerStatuses,\n    providerErrors,\n    handledMessages,\n    propertyValues\n  }) as MockApp\n\n  return app\n}\n\nexport function collectStreamOutput<T = unknown>(\n  stream: NodeJS.ReadableStream\n): Promise<T[]> {\n  return new Promise((resolve, reject) => {\n    const results: T[] = []\n    stream.on('data', (chunk: T) => results.push(chunk))\n    stream.on('end', () => resolve(results))\n    stream.on('error', reject)\n  })\n}\n\nexport function noopDebug(): DebugLogger {\n  const fn = ((..._args: unknown[]): void => {}) as DebugLogger\n  fn.enabled = false\n  return fn\n}\n\nexport function createDebugStub(): CreateDebug {\n  return () => noopDebug()\n}\n"
  },
  {
    "path": "packages/streams/src/throttle.ts",
    "content": "import { Throttle } from 'stream-throttle'\n\nexport default Throttle\n"
  },
  {
    "path": "packages/streams/src/timestamp-throttle.test.ts",
    "content": "import { expect } from 'chai'\nimport TimestampThrottle from './timestamp-throttle'\n\ndescribe('TimestampThrottle', () => {\n  it('passes through a past-timestamp message immediately', (done) => {\n    const throttle = new TimestampThrottle({\n      getMilliseconds: (msg) => Number(msg.timestamp)\n    })\n\n    throttle.once('data', () => {\n      done()\n    })\n\n    const now = Date.now()\n    throttle.write({ timestamp: String(now - 1000) })\n  })\n\n  it('delays messages with future timestamps', function (done) {\n    this.timeout(5000)\n    const throttle = new TimestampThrottle({\n      getMilliseconds: (msg) => Number(msg.timestamp)\n    })\n    let count = 0\n    throttle.on('data', () => {\n      count++\n      if (count === 1) {\n        // first message (current time) should arrive immediately\n        // second message (50ms future) should not be here yet\n        setImmediate(() => {\n          expect(count).to.equal(1)\n        })\n      } else if (count === 2) {\n        done()\n      }\n    })\n\n    const now = Date.now()\n    throttle.write({ timestamp: String(now) })\n    throttle.write({ timestamp: String(now + 50) })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/timestamp-throttle.ts",
    "content": "import moment from 'moment'\nimport { Transform, TransformCallback } from 'stream'\n\ninterface TimestampMessage {\n  timestamp: string\n}\n\ntype GetMilliseconds = (msg: TimestampMessage) => number\n\ninterface TimestampThrottleOptions {\n  getMilliseconds?: GetMilliseconds\n}\n\nfunction defaultGetMilliseconds(msg: TimestampMessage): number {\n  // 2014-08-15-16:00:00.083\n  return moment(msg.timestamp, 'YYYY-MM-DD-HH:mm:ss.SSS').valueOf()\n}\n\nexport default class TimestampThrottle extends Transform {\n  private lastMsgMillis: number\n  private offsetMillis = 0\n  private readonly getMilliseconds: GetMilliseconds\n\n  constructor(options: TimestampThrottleOptions = {}) {\n    super({ objectMode: true })\n    this.lastMsgMillis = Date.now()\n    this.getMilliseconds = options.getMilliseconds ?? defaultGetMilliseconds\n  }\n\n  _transform(\n    msg: TimestampMessage,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    const msgMillis = this.getMilliseconds(msg)\n    if (msgMillis < this.lastMsgMillis) {\n      this.offsetMillis = Date.now() - msgMillis\n    }\n    this.lastMsgMillis = msgMillis\n    const millisToCorrectSendTime = msgMillis - Date.now() + this.offsetMillis\n    if (millisToCorrectSendTime <= 0) {\n      this.push(msg)\n      done()\n    } else {\n      const doPush = this.push.bind(this, msg)\n      setTimeout(() => {\n        doPush()\n        done()\n      }, millisToCorrectSendTime)\n    }\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/types.ts",
    "content": "export type DebugLogger = ((...args: unknown[]) => void) & {\n  enabled: boolean\n}\n\nexport type CreateDebug = (namespace: string) => DebugLogger\n\nexport interface DeltaCache {\n  setSourceDelta(key: string, delta: object): void\n}\n"
  },
  {
    "path": "packages/streams/src/udp.test.ts",
    "content": "import { expect } from 'chai'\nimport dgram from 'dgram'\nimport { Writable } from 'stream'\nimport Udp from './udp'\nimport { createMockApp, createDebugStub } from './test-helpers'\n\nfunction createCollectingWritable(): Writable & { chunks: string[] } {\n  const chunks: string[] = []\n  const writable = new Writable({\n    write(chunk: Buffer, _encoding: BufferEncoding, callback: () => void) {\n      chunks.push(chunk.toString())\n      callback()\n    }\n  })\n  return Object.assign(writable, { chunks })\n}\n\ndescribe('Udp', () => {\n  it('receives UDP datagrams and pushes to stream', function (done) {\n    this.timeout(5000)\n    const app = createMockApp()\n    const udp = new Udp({\n      port: 0,\n      app,\n      providerId: 'test-udp',\n      createDebug: createDebugStub()\n    })\n\n    const writable = createCollectingWritable()\n    udp.pipe(writable)\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const socket = (udp as any).socket as dgram.Socket\n    socket.once('listening', () => {\n      const addr = socket.address()\n      const port = addr.port\n\n      const sender = dgram.createSocket('udp4')\n      const msg = Buffer.from('hello udp')\n      sender.send(msg, 0, msg.length, port, '127.0.0.1', () => {\n        sender.close()\n      })\n\n      setTimeout(() => {\n        expect(writable.chunks.join('')).to.include('hello udp')\n        udp.end()\n        done()\n      }, 50)\n    })\n  })\n})\n"
  },
  {
    "path": "packages/streams/src/udp.ts",
    "content": "import { createSocket, Socket } from 'dgram'\nimport { Transform, TransformCallback, Writable } from 'stream'\nimport type { CreateDebug, DebugLogger } from './types'\n\ninterface UdpOptions {\n  port: number\n  host?: string\n  app: {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    on(event: string, cb: (...args: any[]) => void): void\n    setProviderStatus(id: string, msg: string): void\n    setProviderError(id: string, msg: string): void\n  }\n  providerId: string\n  outEvent?: string\n  createDebug?: CreateDebug\n  [key: string]: unknown\n}\n\nexport default class Udp extends Transform {\n  private readonly options: UdpOptions\n  private readonly debug: DebugLogger\n  private socket: Socket | null = null\n  private pipeTo: Writable | null = null\n\n  constructor(options: UdpOptions) {\n    super({ objectMode: false })\n    this.options = options\n    const createDebug = options.createDebug ?? require('debug')\n    this.debug = createDebug('signalk:streams:udp')\n  }\n\n  pipe<T extends NodeJS.WritableStream>(pipeTo: T): T {\n    this.pipeTo = pipeTo as unknown as Writable\n    super.pipe(pipeTo)\n\n    const socket = createSocket('udp4')\n    this.socket = socket\n\n    if (this.options.outEvent && this.options.port !== undefined) {\n      this.options.app.on(this.options.outEvent, (d: string) => {\n        this.debug('sending over udp: %s', d)\n        socket.send(\n          d,\n          0,\n          d.length,\n          this.options.port,\n          this.options.host ?? '255.255.255.255'\n        )\n      })\n    }\n\n    socket.on('message', (message: Buffer) => {\n      this.debug(message.toString())\n      this.push(message)\n    })\n\n    socket.on('error', (err: Error) => {\n      this.options.app.setProviderError(this.options.providerId, err.message)\n      console.error('UdpProvider:' + err)\n    })\n\n    socket.bind(this.options.port, () => {\n      socket.setBroadcast(true)\n      const addr = socket.address()\n      this.options.app.setProviderStatus(\n        this.options.providerId,\n        `Listening on UDP port ${addr.port}`\n      )\n    })\n\n    return pipeTo\n  }\n\n  _transform(\n    chunk: Buffer,\n    encoding: BufferEncoding,\n    done: TransformCallback\n  ): void {\n    done()\n  }\n\n  end(): this {\n    if (this.socket) {\n      this.socket.close()\n    }\n    if (this.pipeTo) {\n      this.pipeTo.end()\n    }\n    return this\n  }\n}\n"
  },
  {
    "path": "packages/streams/src/vendor.d.ts",
    "content": "declare module 'stream-throttle' {\n  import { Transform } from 'stream'\n  export class Throttle extends Transform {\n    constructor(options: { rate: number; chunksize?: number })\n  }\n}\n\ndeclare module 'reconnect-core' {\n  import { EventEmitter } from 'events'\n  type ConnectFunction<T> = (options: object) => T\n  interface Reconnector<T> extends EventEmitter {\n    (options: object, callback?: (stream: T) => void): Reconnector<T>\n    connect(options: object): Reconnector<T>\n    disconnect(): void\n    reconnect: boolean\n  }\n  function reconnect<T>(connect: ConnectFunction<T>): Reconnector<T>\n  export = reconnect\n}\n\ndeclare module 'file-timestamp-stream' {\n  import { Writable } from 'stream'\n  interface FileTimestampStreamOptions {\n    path: string\n    flags?: string\n  }\n  class FileTimestampStream extends Writable {\n    constructor(options: FileTimestampStreamOptions)\n    currentFilename: string\n    newFilename(): string\n  }\n  export = FileTimestampStream\n}\n\ndeclare module 'any-shell-escape' {\n  function shellescape(args: string | string[]): string\n  export = shellescape\n}\n\ndeclare module '@signalk/nmea0183-signalk' {\n  class Parser {\n    constructor(options?: object)\n    parse(sentence: string): object | null\n  }\n  export = Parser\n}\n\ndeclare module '@signalk/client' {\n  import { EventEmitter } from 'events'\n  interface ClientOptions {\n    hostname: string\n    port: number\n    useTLS?: boolean\n    reconnect?: boolean\n    notifications?: boolean\n    autoConnect?: boolean\n    deltaStreamBehaviour?: string\n    rejectUnauthorized?: boolean\n    wsKeepaliveInterval?: number\n  }\n  interface Connection {\n    send(payload: string): Promise<void>\n    setAuthenticated(token: string, method: string): void\n    disconnect(): void\n  }\n  class Client extends EventEmitter {\n    options: ClientOptions\n    connection: Connection | null\n    constructor(options: ClientOptions)\n    connect(): Promise<void>\n    disconnect(returnPromise?: boolean): Client | Promise<Client>\n    subscribe(subscription: object, id: string): void\n    API(): Promise<{\n      get(path: string): Promise<string>\n      getMeta(path: string): Promise<unknown>\n    }>\n  }\n  export { Client }\n}\n\ndeclare module 'aws-sdk' {\n  interface S3ListObjectsParams {\n    Bucket: string\n    Prefix: string\n  }\n  interface S3Object {\n    Key: string\n  }\n  interface S3ListObjectsResult {\n    Contents: S3Object[]\n  }\n  interface S3GetObjectParams {\n    Bucket: string\n    Key: string\n  }\n  interface S3Request {\n    on(event: string, handler: (err: Error) => void): void\n    createReadStream(): import('stream').Readable\n  }\n  class S3 {\n    listObjects(params: S3ListObjectsParams): {\n      promise(): Promise<S3ListObjectsResult>\n    }\n    getObject(params: S3GetObjectParams): S3Request\n  }\n  export { S3 }\n}\n\ndeclare module '@signalk/signalk-schema' {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  export function getMetadata(path: string): any\n}\n"
  },
  {
    "path": "packages/streams/tsconfig.json",
    "content": "{\n  \"extends\": \"../../tsconfig.base.json\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"noImplicitAny\": true,\n    \"strictNullChecks\": true,\n    \"noUncheckedIndexedAccess\": true,\n    \"noUnusedLocals\": true,\n    \"allowJs\": false\n  },\n  \"include\": [\"./src/**/*\"],\n  \"exclude\": [\"./src/**/*.test.ts\"],\n  \"ts-node\": {\n    \"files\": true,\n    \"compilerOptions\": {\n      \"module\": \"commonjs\",\n      \"moduleResolution\": \"node\"\n    }\n  }\n}\n"
  },
  {
    "path": "packages/typedoc-theme/.gitignore",
    "content": "# Node modules\nnode_modules\n\n# Other\ndocs\ndist\n"
  },
  {
    "path": "packages/typedoc-theme/LICENSE",
    "content": "MIT License\n\nCopyright (c) 2024 Julian Wowra (development@julianwowra.de)\nCopyright (c) 2025 Brandon Keepers (brandon@opensoul.org)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "packages/typedoc-theme/README.md",
    "content": "# typedoc theme for SignalK\n\nThis [TypeDoc](https://github.com/TypeStrong/typedoc) theme is based on a fork of [typedoc-github-theme](https://github.com/JulianWowra/typedoc-github-theme) and customized for SignalK.\n"
  },
  {
    "path": "packages/typedoc-theme/package.json",
    "content": "{\n  \"name\": \"@signalk/typedoc-signalk-theme\",\n  \"description\": \"A TypeDoc theme for SignalK\",\n  \"version\": \"0.4.0\",\n  \"main\": \"./dist/index.js\",\n  \"types\": \"./dist/index.d.ts\",\n  \"type\": \"module\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/SignalK/signalk-server.git\",\n    \"directory\": \"packages/typedoc-theme\"\n  },\n  \"author\": \"Brandon Keepers <brandon@opensoul.org>\",\n  \"license\": \"MIT\",\n  \"peerDependencies\": {\n    \"typedoc\": \"^0.28.0\"\n  },\n  \"devDependencies\": {\n    \"@types/node\": \"^18.19.69\",\n    \"typedoc\": \"~0.28.0\"\n  },\n  \"scripts\": {\n    \"build\": \"tsc\"\n  },\n  \"engines\": {\n    \"node\": \">=22.0.0\"\n  },\n  \"keywords\": [\n    \"typedoc-theme\"\n  ]\n}\n"
  },
  {
    "path": "packages/typedoc-theme/src/SignalKTheme.tsx",
    "content": "import { cpSync } from 'fs'\nimport { dirname, resolve } from 'path'\nimport type { PageEvent, Reflection, Renderer } from 'typedoc'\nimport {\n  MarkdownEvent,\n  PageKind,\n  DefaultTheme,\n  JSX,\n  RendererEvent\n} from 'typedoc'\nimport { fileURLToPath } from 'url'\nimport { SignalKThemeContext } from './SignalKThemeContext.js'\n\nexport class SignalKTheme extends DefaultTheme {\n  constructor(renderer: Renderer) {\n    super(renderer)\n\n    const assets = [\n      { from: '../src/assets/', to: 'assets/' },\n      {\n        from: '../../../public/signal-k-logo-image-text.svg',\n        to: 'assets/logo.svg'\n      }\n    ]\n\n    // copy the complete assets\n    renderer.on(RendererEvent.END, () => {\n      assets.forEach(({ from, to }) => {\n        const src = resolve(dirname(fileURLToPath(import.meta.url)), from)\n        const dest = resolve(this.application.options.getValue('out'), to)\n        cpSync(src, dest, { recursive: true })\n      })\n    })\n\n    // Only show h2 and h3 in the page TOC\n    renderer.on(MarkdownEvent.PARSE, ({ page }) => {\n      if (page.pageKind === PageKind.Document) {\n        page.pageSections.forEach((section) => {\n          section.headings = section.headings.filter((heading) => {\n            return [2, 3].includes(heading.level ?? 0)\n          })\n        })\n      }\n    })\n\n    // link the css file and add iframe detection script\n    renderer.hooks.on(\n      'head.end',\n      (event) => {\n        return (\n          <>\n            <link\n              rel=\"stylesheet\"\n              href={event.relativeURL('assets/theme.css')}\n            />\n            <script>\n              <JSX.Raw\n                html={`if(window.self!==window.top){document.documentElement.classList.add('embedded')}`}\n              />\n            </script>\n          </>\n        )\n      },\n      -1\n    )\n\n    // set the code highlight theme\n    renderer.application.on('bootstrapEnd', () => {\n      if (!this.application.options.isSet('lightHighlightTheme')) {\n        this.application.options.setValue(\n          'lightHighlightTheme',\n          'github-light-default'\n        )\n      }\n\n      if (!this.application.options.isSet('darkHighlightTheme')) {\n        this.application.options.setValue(\n          'darkHighlightTheme',\n          'github-dark-default'\n        )\n      }\n    })\n  }\n\n  getRenderContext(pageEvent: PageEvent<Reflection>) {\n    return new SignalKThemeContext(\n      this.router,\n      this,\n      pageEvent,\n      this.application.options\n    )\n  }\n}\n"
  },
  {
    "path": "packages/typedoc-theme/src/SignalKThemeContext.tsx",
    "content": "import {\n  DefaultThemeRenderContext /*, PageEvent, Reflection, RenderTemplate */\n} from 'typedoc'\nimport { toolbar } from './partials/toolbar.js'\n\nexport class SignalKThemeContext extends DefaultThemeRenderContext {\n  override toolbar = toolbar.bind(undefined, this)\n\n  // Remove settings from the sidebar\n  override pageSidebar = this.pageNavigation\n}\n"
  },
  {
    "path": "packages/typedoc-theme/src/assets/theme.css",
    "content": "@layer theme, typedoc;\n\n@layer theme {\n  :root {\n    --dim-toolbar-contents-height: 4rem;\n    --dim-col-gap: 1rem;\n  }\n\n  .container {\n    padding: 0 1rem;\n  }\n\n  @media (min-width: 770px) {\n    .container {\n      padding: 0 2rem;\n    }\n\n    .container-main {\n      --dim-container-main-margin-y: 3rem;\n    }\n  }\n\n  /*\n\t* Define colors\n\t*/\n\n  :root {\n    /* GitHub \"Light default\" */\n    --light-color-background: #ffffff;\n    --light-color-background-secondary: #f6f8fa;\n    --light-color-background-active: #f6f8fa;\n    --light-color-background-navbar: #ffffff;\n\n    --light-color-accent: #d6d9dc;\n\n    --light-color-text: #1f2328;\n    --light-color-text-aside: #59636e;\n\n    --light-color-link: #0969da;\n\n    --light-color-warning-border: #f7ebba;\n    --light-color-background-warning: #fff8c5;\n\n    --light-color-alert-note: #0969da;\n    --light-color-alert-tip: #1a7f37;\n    --light-color-alert-important: #8250df;\n    --light-color-alert-warning: #9a6700;\n    --light-color-alert-caution: #cf222e;\n\n    /* GitHub \"Dark default\" */\n    --dark-color-background: #0d1117;\n    --dark-color-background-secondary: #151b23;\n    --dark-color-background-active: #151b23;\n    --dark-color-background-navbar: var(--dark-color-background);\n\n    --dark-color-accent: #262c36;\n\n    --dark-color-text: #f0f6fc;\n    --dark-color-text-aside: #9198a1;\n\n    --dark-color-link: #4493f8;\n\n    --dark-color-warning-border: #3a2d12;\n    --dark-color-background-warning: #282215;\n\n    --dark-color-alert-note: #1f6feb;\n    --dark-color-alert-tip: #238636;\n    --dark-color-alert-important: #8957e5;\n    --dark-color-alert-warning: #9e6a03;\n    --dark-color-alert-caution: #da3633;\n\n    /* Link colors */\n    --color-warning-text: var(--color-text);\n    --color-icon-background: var(--color-background);\n    --color-focus-outline: var(--color-accent);\n  }\n\n  @media (prefers-color-scheme: light) {\n    :root {\n      --color-background-navbar: var(--light-color-background-navbar);\n      --color-warning-border: var(--light-color-warning-border);\n    }\n  }\n\n  @media (prefers-color-scheme: dark) {\n    :root {\n      --color-background-navbar: var(--dark-color-background-navbar);\n      --color-warning-border: var(--dark-color-warning-border);\n    }\n  }\n\n  :root[data-theme='light'] {\n    --color-background-navbar: var(--light-color-background-navbar);\n    --color-warning-border: var(--light-color-warning-border);\n  }\n\n  :root[data-theme='dark'] {\n    --color-background-navbar: var(--dark-color-background-navbar);\n    --color-warning-border: var(--dark-color-warning-border);\n  }\n\n  /*\n\t* Typography\n\t*/\n\n  :root {\n    --font-family-text:\n      -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica,\n      Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n    --font-family-code:\n      ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono,\n      monospace;\n  }\n\n  body {\n    font-family: var(--font-family-text);\n    text-rendering: optimizeLegibility;\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n\n  .tsd-typography {\n    font-size: 1.1rem;\n    line-height: 1.4;\n  }\n  .tsd-signatures .tsd-typography {\n    font-size: 1rem;\n  }\n\n  .tsd-typography h1:not(:first-child),\n  .tsd-typography h2:not(:first-child),\n  .tsd-typography h3:not(:first-child),\n  .tsd-typography h4:not(:first-child),\n  .tsd-typography h5:not(:first-child),\n  .tsd-typography h6:not(:first-child) {\n    margin-top: 1.25rem;\n  }\n\n  /*\n\t* Links\n\t*/\n\n  a {\n    transition: color 0.1s ease-in-out;\n  }\n\n  .tsd-accordion-details a,\n  .tsd-accordion a,\n  .tsd-page-toolbar a.title {\n    text-decoration: none;\n  }\n\n  .tsd-accordion-details a:hover,\n  .tsd-page-toolbar a.title:hover,\n  .tsd-accordion a:hover,\n  .tsd-anchor-icon {\n    text-decoration: underline;\n  }\n\n  .tsd-kind-class {\n    color: var(--color-link);\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .tsd-kind-icon[aria-label='Document'] {\n    opacity: 0.5;\n  }\n\n  .tsd-index-link,\n  .tsd-page-navigation a:hover {\n    text-decoration: none;\n  }\n\n  .tsd-index-link:hover {\n    text-decoration: underline;\n    text-underline-offset: 3px;\n  }\n\n  .tsd-page-navigation a {\n    color: var(--color-text-aside);\n  }\n\n  .tsd-sources a,\n  .tsd-page-navigation a:hover {\n    color: var(--color-link);\n  }\n\n  a.external[target='_blank'] {\n    background-image: none;\n    padding-right: 0px;\n  }\n\n  /*\n\t* Tables\n\t*/\n\n  table {\n    margin: 1em 0;\n  }\n\n  .tsd-typography th,\n  .tsd-typography td {\n    padding: 8px;\n    text-align: left;\n  }\n\n  .tsd-typography th {\n    background-color: var(--color-background);\n    color: var(--color-text);\n  }\n\n  .tsd-typography tr:nth-child(2n) {\n    background-color: var(--color-background-code);\n  }\n\n  /*\n\t* Horizontal line\n\t*/\n\n  .tsd-typography hr {\n    color: var(--color-text);\n    border-top-style: solid;\n    opacity: 0.3;\n    margin: 2em 0;\n  }\n\n  /*\n\t* Buttons\n\t*/\n\n  pre > button {\n    background-color: var(--color-background);\n    color: var(--color-text);\n    border: 1px solid var(--color-accent);\n    border-radius: 6px;\n    padding: 4px 8px;\n    cursor: pointer;\n    transition: background-color 0.1s ease-in-out;\n  }\n\n  /*\n\t* Checkbox\n\t*/\n\n  .tsd-filter-input input[type='checkbox'],\n  .tsd-filter-input svg {\n    width: 1em;\n    height: 1em;\n  }\n\n  .tsd-filter-input svg {\n    border-radius: 2px;\n  }\n\n  .tsd-checkbox-background {\n    fill: var(--color-background);\n    stroke: var(--color-accent);\n    stroke-width: 6px;\n  }\n\n  input[type='checkbox']:checked ~ svg .tsd-checkbox-background {\n    fill: var(--color-accent);\n  }\n\n  .tsd-checkbox-checkmark {\n    color: var(--color-text);\n  }\n\n  /*\n\t* Select\n\t*/\n\n  select {\n    background-color: var(--color-background);\n    border: 1px solid var(--color-accent);\n    border-radius: 6px;\n    padding: 8px;\n    font-family: inherit;\n  }\n\n  /*\n\t* Code blocks\n\t*/\n\n  code,\n  pre {\n    border: none;\n    border-radius: 6px;\n    margin: 1em 0;\n    background-color: var(--color-background-secondary) !important;\n    font-family: var(--font-family-code);\n  }\n\n  /*\n\t* Warnings\n\t*/\n\n  .warning {\n    border-style: solid;\n    border-width: 1px;\n    border-color: var(--color-warning-border);\n    border-radius: 6px;\n  }\n\n  /*\n\t* Topbar\n\t*/\n\n  .tsd-page-toolbar {\n    background-color: var(--color-background-navbar);\n    box-shadow:\n      0px 1px 1px rgba(0, 0, 0, 0.1),\n      0px 2px 20px rgba(0, 0, 0, 0.075);\n  }\n\n  .tsd-toolbar-contents {\n    align-items: center;\n  }\n\n  .tsd-toolbar-contents {\n    display: grid;\n    align-items: center;\n    grid-template-columns: auto max-content max-content;\n    grid-template-areas: 'brand search links';\n    gap: 1rem;\n  }\n\n  @media (min-width: 770px) {\n    :root {\n      --dim-col-gap: 2rem;\n    }\n\n    .container-main {\n      display: grid;\n      grid-template-columns: minmax(150px, 25%) minmax(0, 75%);\n    }\n\n    .tsd-toolbar-contents {\n      grid-template-columns: minmax(150px, 25%) auto max-content;\n    }\n\n    #tsd-search-trigger {\n      text-align: left;\n      grid-area: search;\n      width: 100%;\n      display: flex;\n      flex-direction: row;\n      gap: 1rem;\n      align-items: center;\n      color: var(--color-text-aside);\n      background-color: var(--color-background-secondary);\n      border: 1px solid var(--color-accent);\n      padding: 8px 16px;\n    }\n\n    #tsd-toolbar-menu-trigger {\n      display: none;\n    }\n  }\n\n  @media (min-width: 1200px) {\n    .tsd-toolbar-contents,\n    .container-main {\n      grid-template-columns: minmax(0, 20%) minmax(0, 60%) minmax(0, 20%);\n      gap: var(--dim-col-gap);\n    }\n  }\n\n  .tsd-page-toolbar .title {\n    margin-right: 0; /* disable expand */\n    grid-area: brand;\n  }\n\n  .tsd-page-toolbar .title img {\n    height: 28px;\n  }\n\n  .title .title-home-icon {\n    display: none;\n  }\n\n  .embedded .title .title-logo {\n    display: none;\n  }\n\n  .embedded .title .title-home-icon {\n    display: inline;\n  }\n\n  #tsd-search-trigger,\n  #tsd-search-input {\n    border-radius: 100px;\n    font-size: 1rem;\n  }\n\n  #tsd-search {\n    border-radius: 2rem;\n  }\n\n  #tsd-toolbar-links {\n    display: flex; /* always show */\n    grid-area: links;\n    justify-content: end;\n    gap: 1rem;\n    margin-right: 0;\n  }\n\n  #tsd-search.has-focus {\n    background-color: var(--color-background-secondary);\n  }\n\n  #tsd-search .results,\n  #tsd-search .results li,\n  #tsd-search .results li:nth-child(2n) {\n    background-color: var(--color-background-navbar);\n  }\n\n  #tsd-search .results li {\n    margin-bottom: 0px;\n  }\n\n  #tsd-search .results li a {\n    color: var(--color-text);\n  }\n\n  #tsd-search .results li:hover:not(.no-results) {\n    background-color: var(--color-accent);\n  }\n\n  #tsd-search .results {\n    border-style: solid;\n    border-width: 1px;\n    border-color: var(--color-accent);\n    border-radius: 0px 0px 6px 6px;\n    overflow: hidden;\n  }\n\n  #tsd-search .results .no-results {\n    padding: calc(4px + 0.25rem);\n  }\n\n  .toolbar-icon {\n    width: 24px;\n    height: 24px;\n    fill: var(--color-text-aside);\n  }\n\n  /*\n\t* Baseboard\n\t*/\n\n  footer {\n    border-top-color: var(--color-accent);\n  }\n\n  /*\n\t* Side navigations\n\t*/\n\n  @media (min-width: 770px) and (max-width: 1399px) {\n    .col-sidebar {\n      height: calc(100vh - var(--dim-header-height));\n      box-sizing: border-box;\n      padding: var(--dim-container-main-margin-y) 0;\n      max-height: initial;\n      top: calc(var(--dim-header-height));\n    }\n  }\n\n  @media (min-width: 1200px) {\n    .site-menu,\n    .page-menu {\n      height: calc(100vh - var(--dim-header-height));\n      box-sizing: border-box;\n      padding: var(--dim-container-main-margin-y) 0;\n      max-height: initial;\n      top: calc(var(--dim-header-height));\n    }\n  }\n\n  .tsd-navigation a {\n    color: var(--color-text);\n    border-radius: 6px;\n    padding: 6px;\n  }\n\n  .tsd-navigation a,\n  .tsd-navigation a:hover {\n    text-decoration: none;\n  }\n\n  .tsd-navigation a:hover:not(.current) {\n    background-color: color-mix(in srgb, var(--color-text-aside), #0000 88%);\n  }\n\n  .tsd-navigation a.current {\n    background-color: color-mix(in srgb, var(--color-text-aside), #0000 92%);\n  }\n\n  /*\n\t* Type definition groups\n\t*/\n\n  .tsd-panel-group {\n    margin: 1.25rem 0;\n  }\n\n  .tsd-panel {\n    margin-bottom: 0;\n  }\n\n  .tsd-panel-group.tsd-index-group details {\n    margin: 0px;\n  }\n\n  .tsd-member-group .tsd-member:last-child {\n    margin-bottom: 0px;\n  }\n\n  .tsd-signature {\n    background-color: var(--color-background-secondary);\n    border-radius: 6px;\n  }\n\n  .tsd-signatures .tsd-signature {\n    border-color: var(--color-accent);\n    border-radius: 0px;\n  }\n\n  .tsd-description .tsd-signatures .tsd-signature {\n    border-radius: 6px;\n  }\n\n  .tsd-full-hierarchy:not(:last-child) {\n    border-bottom: var(--color-accent);\n  }\n\n  /*\n\t* Footer\n\t*/\n\n  footer p {\n    font-size: 1rem;\n    text-align: center;\n    color: var(--color-text-aside);\n  }\n\n  /*\n\t * Page Summary\n\t */\n  .tsd-page-navigation .tsd-accordion-details {\n    margin-top: 0.5rem;\n    font-size: 0.85rem;\n    font-weight: 400;\n  }\n\n  .container-main {\n    margin-top: 0px;\n    margin-bottom: 0px;\n    gap: var(--dim-col-gap);\n  }\n\n  .col-content {\n    padding: var(--dim-container-main-margin-y) 0;\n  }\n\n  .tsd-parameters-title,\n  .tsd-returns-title,\n  .tsd-tag-example h4,\n  .page-menu .tsd-accordion-summary > * {\n    font-size: 0.8rem;\n    text-transform: uppercase;\n  }\n\n  /* Reset return type signature */\n  .tsd-returns-title > * {\n    text-transform: none;\n    font-size: 1rem;\n  }\n\n  /* Make accordion headings consistent */\n  .tsd-index-section .tsd-index-heading,\n  .tsd-member-group .tsd-accordion-summary > * {\n    font-size: 1rem;\n  }\n\n  .col-content .tsd-accordion {\n    border: 1px solid var(--color-accent);\n    border-radius: 0.5rem;\n    padding: 10px 5px;\n  }\n\n  .col-content .tsd-accordion > *:not(summary) {\n    padding: 0 25px;\n  }\n\n  .col-content .tsd-accordion-summary {\n    margin: 0;\n  }\n  .tsd-index-summary > svg {\n    margin: 0 4px;\n  }\n\n  .col-content .tsd-accordion[open] .tsd-accordion-summary {\n    margin-bottom: 1.25rem;\n  }\n\n  .tsd-description {\n    padding-left: 20px;\n  }\n\n  #tsd-search-results > li:nth-child(even) {\n    background-color: inherit;\n  }\n\n  .tsd-widget {\n    display: inline-flex;\n    align-items: center;\n    width: auto;\n    height: auto;\n  }\n}\n\n.visible\\@s {\n  display: none;\n}\n\n@media (min-width: 770px) {\n  .visible\\@s {\n    display: block;\n  }\n\n  .hidden\\@s {\n    display: none;\n  }\n}\n"
  },
  {
    "path": "packages/typedoc-theme/src/index.tsx",
    "content": "import type { Application } from 'typedoc'\nimport { SignalKTheme } from './SignalKTheme.js'\n\n/**\n * Called by TypeDoc when loading this theme as a plugin\n */\nexport function load(app: Application) {\n  app.renderer.defineTheme('signalk', SignalKTheme)\n\n  app.on('bootstrapEnd', () => {\n    if (\n      app.options.isSet('theme') &&\n      app.options.getValue('theme') !== 'signalk'\n    ) {\n      return app.logger.warn(\n        `The theme 'signalk' is not used because another theme (${app.options.getValue(\n          'theme'\n        )}) was specified!`\n      )\n    }\n\n    app.options.setValue('theme', 'signalk')\n  })\n}\n"
  },
  {
    "path": "packages/typedoc-theme/src/partials/toolbar.tsx",
    "content": "import { i18n, JSX } from 'typedoc'\nimport type { SignalKThemeContext } from '../SignalKThemeContext.js'\nimport type { Reflection, PageEvent } from 'typedoc'\n\nexport const toolbar = (\n  context: SignalKThemeContext,\n  _props: PageEvent<Reflection>\n) => (\n  <header class=\"tsd-page-toolbar\">\n    <div class=\"tsd-toolbar-contents container\">\n      <a\n        href={\n          context.options.getValue('titleLink') ||\n          context.relativeURL('index.html')\n        }\n        class=\"title\"\n      >\n        <img\n          class=\"title-logo\"\n          src={context.relativeURL('assets/logo.svg')}\n          alt={_props.project.name}\n        />\n        <svg\n          class=\"title-home-icon\"\n          width=\"24\"\n          height=\"24\"\n          viewBox=\"0 0 24 24\"\n          fill=\"none\"\n          stroke=\"currentColor\"\n          stroke-width=\"2\"\n          stroke-linecap=\"round\"\n          stroke-linejoin=\"round\"\n          aria-label=\"Documentation home\"\n        >\n          <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\" />\n          <polyline points=\"9 22 9 12 15 12 15 22\" />\n        </svg>\n      </a>\n      <button\n        id=\"tsd-search-trigger\"\n        class=\"tsd-widget\"\n        aria-label={i18n.theme_search()}\n      >\n        {context.icons.search()}\n        <span class=\"visible@s\">{i18n.theme_search()}</span>\n      </button>\n      <dialog id=\"tsd-search\" aria-label={i18n.theme_search()}>\n        <input\n          role=\"combobox\"\n          id=\"tsd-search-input\"\n          aria-controls=\"tsd-search-results\"\n          aria-autocomplete=\"list\"\n          aria-expanded=\"true\"\n          spellcheck={false}\n          autocapitalize=\"off\"\n          autocomplete=\"off\"\n          placeholder={i18n.theme_search_placeholder()}\n          maxLength={100}\n        />\n\n        <ul role=\"listbox\" id=\"tsd-search-results\"></ul>\n        <div id=\"tsd-search-status\" aria-live=\"polite\" aria-atomic=\"true\">\n          <div>{i18n.theme_preparing_search_index()}</div>\n        </div>\n      </dialog>\n\n      <div id=\"tsd-toolbar-links\">\n        {Object.entries(context.options.getValue('navigationLinks')).map(\n          ([label, url]) => (\n            <a href={url}>{label}</a>\n          )\n        )}\n        <a\n          href=\"https://discord.gg/uuZrwz4dCS\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          class=\"toolbar-icon visible@s\"\n          aria-label=\"Discord\"\n        >\n          <svg\n            width=\"24\"\n            height=\"24\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 640 512\"\n          >\n            <path d=\"M524.5 69.8a1.5 1.5 0 0 0 -.8-.7A485.1 485.1 0 0 0 404.1 32a1.8 1.8 0 0 0 -1.9 .9 337.5 337.5 0 0 0 -14.9 30.6 447.8 447.8 0 0 0 -134.4 0 309.5 309.5 0 0 0 -15.1-30.6 1.9 1.9 0 0 0 -1.9-.9A483.7 483.7 0 0 0 116.1 69.1a1.7 1.7 0 0 0 -.8 .7C39.1 183.7 18.2 294.7 28.4 404.4a2 2 0 0 0 .8 1.4A487.7 487.7 0 0 0 176 479.9a1.9 1.9 0 0 0 2.1-.7A348.2 348.2 0 0 0 208.1 430.4a1.9 1.9 0 0 0 -1-2.6 321.2 321.2 0 0 1 -45.9-21.9 1.9 1.9 0 0 1 -.2-3.1c3.1-2.3 6.2-4.7 9.1-7.1a1.8 1.8 0 0 1 1.9-.3c96.2 43.9 200.4 43.9 295.5 0a1.8 1.8 0 0 1 1.9 .2c2.9 2.4 6 4.9 9.1 7.2a1.9 1.9 0 0 1 -.2 3.1 301.4 301.4 0 0 1 -45.9 21.8 1.9 1.9 0 0 0 -1 2.6 391.1 391.1 0 0 0 30 48.8 1.9 1.9 0 0 0 2.1 .7A486 486 0 0 0 610.7 405.7a1.9 1.9 0 0 0 .8-1.4C623.7 277.6 590.9 167.5 524.5 69.8zM222.5 337.6c-29 0-52.8-26.6-52.8-59.2S193.1 219.1 222.5 219.1c29.7 0 53.3 26.8 52.8 59.2C275.3 311 251.9 337.6 222.5 337.6zm195.4 0c-29 0-52.8-26.6-52.8-59.2S388.4 219.1 417.9 219.1c29.7 0 53.3 26.8 52.8 59.2C470.7 311 447.5 337.6 417.9 337.6z\" />\n          </svg>\n        </a>\n        <a\n          href=\"https://github.com/SignalK/signalk-server\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          class=\"toolbar-icon visible@s\"\n          aria-label=\"Discord\"\n        >\n          <svg\n            width=\"24\"\n            height=\"24\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 496 512\"\n          >\n            <path d=\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\" />\n          </svg>\n        </a>\n\n        <a\n          href=\"#\"\n          class=\"tsd-widget menu\"\n          id=\"tsd-toolbar-menu-trigger\"\n          data-toggle=\"menu\"\n          aria-label={i18n.theme_menu()}\n        >\n          {context.icons.menu()}\n        </a>\n      </div>\n    </div>\n  </header>\n)\n"
  },
  {
    "path": "packages/typedoc-theme/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"allowSyntheticDefaultImports\": true,\n    \"alwaysStrict\": true,\n    \"baseUrl\": \"src\",\n    \"esModuleInterop\": true,\n    \"forceConsistentCasingInFileNames\": true,\n    \"jsx\": \"react\",\n    \"jsxFactory\": \"JSX.createElement\",\n    \"jsxFragmentFactory\": \"JSX.Fragment\",\n    \"module\": \"Node16\",\n    \"moduleResolution\": \"Node16\",\n    \"noFallthroughCasesInSwitch\": true,\n    \"noImplicitAny\": true,\n    \"noImplicitReturns\": true,\n    \"noImplicitThis\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n    \"outDir\": \"./dist\",\n    \"skipLibCheck\": true,\n    \"strict\": true,\n    \"strictBindCallApply\": true,\n    \"strictFunctionTypes\": true,\n    \"strictNullChecks\": true,\n    \"strictPropertyInitialization\": true,\n    \"target\": \"ES2022\"\n  },\n  \"include\": [\"src\"]\n}\n"
  },
  {
    "path": "public/examples/http-example.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n\n    <title>Signal K Sample Consumer</title>\n  </head>\n  <body>\n    <pre>\n    <div id=\"data\"/>\n  </pre>\n  </body>\n\n  <script>\n    var dataDiv = document.getElementById('data')\n    function updateDisplay(event) {\n      console.log(event.target.responseText)\n      dataDiv.innerHTML = event.target.responseText\n      setTimeout(fetchDataFromRestApi, 1000)\n    }\n\n    function fetchDataFromRestApi() {\n      var oReq = new XMLHttpRequest()\n      oReq.addEventListener('load', updateDisplay)\n      oReq.open(\n        'GET',\n        '/signalk/v1/api/vessels/self/environment/depth/belowTransducer/value'\n      )\n      oReq.send()\n    }\n\n    fetchDataFromRestApi()\n  </script>\n</html>\n"
  },
  {
    "path": "public/examples/index.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n\n    <title>Signal K Sample Consumer</title>\n  </head>\n  <body>\n    <pre>\n    <div id=\"data\"/>\n  </pre>\n  </body>\n\n  <script>\n    var ws = new WebSocket(\n      (window.location.protocol === 'https:' ? 'wss' : 'ws') +\n        '://' +\n        window.location.host +\n        '/signalk/v1/stream?subscribe=all'\n    )\n\n    ws.onclose = function () {\n      console.log('ws close')\n    }\n\n    var dataDiv = document.getElementById('data')\n    ws.onmessage = function (event) {\n      dataDiv.innerHTML = JSON.stringify(JSON.parse(event.data), null, 2)\n    }\n  </script>\n</html>\n"
  },
  {
    "path": "public/examples/loginform.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <title>Login form</title>\n  </head>\n\n  <body>\n    <form id=\"loginForm\">\n      <input type=\"text\" id=\"username\" /><br />\n      <input type=\"password\" id=\"password\" /><br />\n      <button type=\"submit\">Submit</button>\n      <p id=\"result\"></p>\n    </form>\n  </body>\n  <script>\n    window.onload = function () {\n      document.getElementById('loginForm').onsubmit = function () {\n        document.getElementById('result').innerHTML = ''\n        const username = document.getElementById('username').value\n        const password = document.getElementById('password').value\n        const body = JSON.stringify({ username, password })\n        fetch('http://localhost:3000/signalk/v1/auth/login', {\n          method: 'POST',\n          withCredentials: true,\n          headers: {\n            Accept: 'application/json',\n            'Content-Type': 'application/json'\n          },\n          body\n        })\n          .then((r) => r.json())\n          .then((r) => {\n            document.getElementById('result').innerHTML = JSON.stringify(r)\n          })\n        return false\n      }\n    }\n  </script>\n</html>\n"
  },
  {
    "path": "releasing.md",
    "content": "# Releasing a new server version\n\n### (0) Update submodule versions\n\nUpdate package.jsons of individual modules under `packages` as well as dependent module package.jsons and root package.json.\n\nNpm Packages are:\n\n- @signalk/server-admin-ui-dependencies\n- @signalk/server-admin-ui\n- @signalk/server-api\n- @signalk/streams\n- @signalk/resources-provider\n- signalk-server\n\n### (1) create new server version\n\n```\nnpm version major | minor | patch\n```\n\nThis will update root package.json, commit the change and create the version git tag. Then push master & the tag to Github with `git push && git push --tags` and GH Actions will take care of the rest.\n\n_Prerelease versions_\n\n- [Check the status in npm](http://registry.npmjs.org/-/package/signalk-server/dist-tags)\n- Set package.json version & git tag using `npm version` as usual but specify the version, for example `npm version 1.19.0-beta.2`\n- Prerelease version **MUST CONTAIN THE STRING beta** as the release actions branch on that\n\n### (2) Push git tag\n\n![releasing.png](img/releasing.png)\n\nThis will trigger GH action that\n\n- builds and publishes all the submodules whose version does not match the latest version in npm\n- builds and publishes the server\n- builds docker images tagged with version and `latest`\n- deploys the version at fly.io as https://demo.signalk.org/\n"
  },
  {
    "path": "samples/aava-n2k.data",
    "content": "2014-08-15T19:00:00.042Z,3,129029,160,255,43,87,a9,3f,fc,ed,c4,28,00,58,67,11,cf,db,49,08,00,f4,15,47,c4,d2,6e,03,80,66,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:00.045Z,3,129033,160,255,8,a9,3f,fc,ed,c4,28,b4,00\n2014-08-15T19:00:00.048Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:00.082Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:00.085Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:00.087Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,db,c4,28,01,00,03,a9,3f,00,00,fc\n2014-08-15T19:00:00.134Z,3,126992,160,255,8,ff,ff,a9,3f,ca,f7,c4,28\n2014-08-15T19:00:00.141Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:00.169Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:00.197Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,4f,38,01,00\n2014-08-15T19:00:00.200Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:00.202Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:00.206Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:00.209Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:00.240Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:00:00.332Z,3,129291,160,255,8,ff,fc,70,55,27,00,ff,ff\n2014-08-15T19:00:00.344Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:00.363Z,4,129039,43,255,26,12,44,11,b6,0d,32,83,be,0e,5b,4f,99,23,03,ac,87,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:00.403Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,db,c4,28,ec,64,02,a9,3f,00,00,fc\n2014-08-15T19:00:00.443Z,4,129038,43,255,27,01,10,dc,6d,0f,d0,9f,63,0e,e2,26,9d,23,ed,a6,ad,83,02,0c,80,08,88,ae,0a,00,00,fe\n2014-08-15T19:00:00.514Z,2,130306,115,255,8,00,d6,02,a5,1c,f2,ff,ff\n2014-08-15T19:00:00.537Z,3,130577,160,255,14,c0,87,f8,85,5b,01,ff,ff,ff,ff,70,55,27,00\n2014-08-15T19:00:00.540Z,2,129025,160,255,8,0f,4f,99,23,a3,83,be,0e\n2014-08-15T19:00:00.542Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:00.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:00.591Z,3,128267,115,255,8,00,c0,1b,00,00,ff,ff,ff\n2014-08-15T19:00:00.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:00.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:00.633Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,48,9d,74,23,ec,38,82,6c,00,a0,10,00,cf,6f,ff,7f,00,fe\n2014-08-15T19:00:00.635Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:00.740Z,2,129026,160,255,8,ff,fc,f8,85,5b,01,ff,ff\n2014-08-15T19:00:00.813Z,4,129038,43,255,27,03,90,75,cd,0e,fd,9b,b9,0e,d0,56,70,23,ec,21,81,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:00:00.878Z,6,129540,160,255,135,cf,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,80,0c,00,00,00,00,f2,14,68,12,ce,ab,f0,0a,00,00,00,00,f2,11,51,0e,7c,d9,a4,06,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,80,0c,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,80,0c,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:00.892Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:00:00.892Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:01.043Z,3,129029,160,255,43,88,a9,3f,70,15,c5,28,00,d6,67,fc,88,db,49,08,00,9e,ec,14,94,d2,6e,03,b0,4c,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:01.045Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:01.050Z,3,129033,160,255,8,a9,3f,70,15,c5,28,b4,00\n2014-08-15T19:00:01.081Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:01.081Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:01.086Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:01.093Z,4,129038,43,255,27,01,88,44,7d,10,45,23,c7,0e,da,ec,7f,23,ec,3c,f5,05,00,ec,64,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:01.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:01.139Z,3,126992,160,255,8,ff,ff,a9,3f,34,1f,c5,28\n2014-08-15T19:00:01.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:01.194Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,4f,38,01,00\n2014-08-15T19:00:01.197Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:01.200Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:01.202Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:01.240Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:00:01.293Z,4,129039,43,255,26,12,44,11,b6,0d,9c,82,be,0e,40,4e,99,23,07,49,85,44,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:00:01.334Z,4,129038,43,255,27,01,98,69,b3,0e,38,58,93,0e,a8,20,a1,23,ed,c3,af,f8,01,23,c0,08,94,b0,00,00,00,fe\n2014-08-15T19:00:01.342Z,3,129291,160,255,8,ff,fc,9e,71,1e,00,ff,ff\n2014-08-15T19:00:01.345Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:01.373Z,4,129039,43,255,26,12,44,11,b6,0d,9c,82,be,0e,40,4e,99,23,07,49,85,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:01.497Z,2,130306,115,255,8,00,c1,02,60,1f,f2,ff,ff\n2014-08-15T19:00:01.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:01.538Z,3,130577,160,255,14,c0,88,6c,85,5a,01,ff,ff,ff,ff,9e,71,1e,00\n2014-08-15T19:00:01.540Z,2,129025,160,255,8,e1,4d,99,23,f7,82,be,0e\n2014-08-15T19:00:01.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,44,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:01.593Z,4,129038,43,255,27,01,88,d6,d0,0c,86,a5,e8,0e,86,a6,b9,23,05,cf,96,3c,03,d2,08,00,65,99,00,00,00,fe\n2014-08-15T19:00:01.595Z,3,128267,115,255,8,00,18,1b,00,00,ff,ff,ff\n2014-08-15T19:00:01.597Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:01.622Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:01.633Z,4,129038,43,255,27,01,c8,27,16,0e,80,d6,63,0e,55,42,93,23,ed,68,30,50,03,32,c0,08,67,30,1a,00,00,fe\n2014-08-15T19:00:01.645Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:01.673Z,4,129038,43,255,27,01,e0,53,7f,10,43,86,ca,0e,04,06,af,23,08,cf,87,ce,05,37,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:00:01.713Z,4,129039,43,255,26,12,8c,d3,b5,0d,3d,b0,bf,0e,4b,be,99,23,00,09,8c,39,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:00:01.740Z,2,129026,160,255,8,ff,fc,6c,85,5a,01,ff,ff\n2014-08-15T19:00:01.743Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:01.853Z,4,129038,43,255,27,01,02,8b,c4,0d,37,7b,e1,0e,ad,07,cb,23,08,e6,82,77,01,90,c0,00,a0,85,00,00,00,fe\n2014-08-15T19:00:01.877Z,6,129540,160,255,123,d0,ff,0a,20,0b,2f,09,98,60,09,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,80,0c,00,00,00,00,f2,14,68,12,ce,ab,54,0b,00,00,00,00,f2,11,51,0e,7c,d9,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,80,0c,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:00:01.879Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:00:01.893Z,4,129038,43,255,27,01,b0,79,7a,10,99,fe,d4,0e,be,5d,80,23,00,df,d8,de,01,43,00,01,2a,da,21,00,00,fe\n2014-08-15T19:00:02.039Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:02.050Z,3,129029,160,255,43,89,a9,3f,6c,3c,c5,28,00,8a,cd,ab,42,db,49,08,00,e6,ec,08,6c,d2,6e,03,20,40,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:02.052Z,3,129033,160,255,8,a9,3f,6c,3c,c5,28,b4,00\n2014-08-15T19:00:02.078Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:02.080Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:02.082Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:02.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:02.139Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:02.147Z,3,126992,160,255,8,ff,ff,a9,3f,30,46,c5,28\n2014-08-15T19:00:02.192Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,4f,38,01,00\n2014-08-15T19:00:02.194Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:02.197Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:02.200Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:02.242Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:00:02.344Z,3,129291,160,255,8,ff,fc,9e,71,1e,00,ff,ff\n2014-08-15T19:00:02.392Z,4,129039,43,255,26,12,44,11,b6,0d,e5,81,be,0e,14,4d,99,23,0b,d5,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:02.499Z,2,130306,115,255,8,00,f0,02,3e,28,f2,ff,ff\n2014-08-15T19:00:02.535Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:02.542Z,3,130577,160,255,14,c0,89,e6,85,5e,01,ff,ff,ff,ff,9c,54,2d,00\n2014-08-15T19:00:02.544Z,2,129025,160,255,8,ae,4c,99,23,40,82,be,0e\n2014-08-15T19:00:02.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,37,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:02.586Z,7,129793,43,255,26,04,90,18,23,00,18,d3,e2,0e,00,31,d3,23,00,10,2a,c5,28,80,40,09,a9,3f,10,00,fc\n2014-08-15T19:00:02.608Z,3,128267,115,255,8,00,09,1b,00,00,ff,ff,ff\n2014-08-15T19:00:02.610Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:02.636Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:02.642Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:02.744Z,2,129026,160,255,8,ff,fc,e6,85,5e,01,ff,ff\n2014-08-15T19:00:02.872Z,6,129540,160,255,135,d1,ff,0b,20,0b,2f,09,98,60,09,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,80,0c,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,e4,0c,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:02.876Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:00:03.032Z,7,129793,43,255,26,04,8f,18,23,00,d2,1e,46,0f,1e,68,e2,23,00,20,51,c5,28,6e,00,01,a9,3f,10,00,fc\n2014-08-15T19:00:03.043Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:03.055Z,3,129029,160,255,43,8a,a9,3f,90,63,c5,28,00,4c,2d,31,fb,da,49,08,00,80,46,6d,41,d2,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:03.057Z,3,129033,160,255,8,a9,3f,90,63,c5,28,b4,00\n2014-08-15T19:00:03.077Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:03.079Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:03.081Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:03.135Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:03.143Z,3,126992,160,255,8,ff,ff,a9,3f,54,6d,c5,28\n2014-08-15T19:00:03.165Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:03.189Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,4f,38,01,00\n2014-08-15T19:00:03.192Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:03.194Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:03.197Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:03.222Z,4,129038,43,255,27,01,fc,ff,e9,25,c2,a6,2d,0f,5e,7e,be,23,09,2b,bc,cb,02,1b,c0,00,2b,bc,0a,00,00,fe\n2014-08-15T19:00:03.246Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:00:03.272Z,4,129038,43,255,27,03,88,d6,d0,0c,af,a1,e8,0e,4f,a4,b9,23,09,cf,96,37,03,00,00,08,65,99,00,00,00,fe\n2014-08-15T19:00:03.349Z,3,129291,160,255,8,ff,fc,9c,54,2d,00,ff,ff\n2014-08-15T19:00:03.353Z,4,129038,43,255,27,01,e0,53,7f,10,f1,82,ca,0e,11,01,af,23,0c,ac,87,ce,05,7a,00,09,fd,86,00,00,00,fe\n2014-08-15T19:00:03.402Z,4,129039,43,255,26,12,44,11,b6,0d,1d,81,be,0e,e8,4b,99,23,0f,78,87,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:03.475Z,2,130306,115,255,8,00,93,02,9a,1a,f2,ff,ff\n2014-08-15T19:00:03.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:03.547Z,3,130577,160,255,14,c0,8a,60,86,62,01,ff,ff,ff,ff,b2,52,26,00\n2014-08-15T19:00:03.549Z,2,129025,160,255,8,6f,4b,99,23,71,81,be,0e\n2014-08-15T19:00:03.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:03.593Z,3,128267,115,255,8,00,eb,1a,00,00,ff,ff,ff\n2014-08-15T19:00:03.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:03.620Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:03.652Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:03.692Z,4,129038,43,255,27,01,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,05,b7,98,00,00,00,00,08,b7,98,00,00,05,fe\n2014-08-15T19:00:03.743Z,2,129026,160,255,8,ff,fc,60,86,62,01,ff,ff\n2014-08-15T19:00:03.802Z,4,129038,43,255,27,01,08,99,b5,0d,88,b2,ca,0e,e5,b8,a5,23,14,50,4a,44,01,00,66,00,f3,48,00,00,00,fe\n2014-08-15T19:00:03.852Z,4,129038,43,255,27,01,b8,83,92,0e,17,bb,e0,0e,e4,c8,75,23,11,8e,c1,05,00,3b,c0,00,07,d4,00,00,00,fe\n2014-08-15T19:00:03.869Z,6,129540,160,255,111,d2,ff,09,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,80,0c,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,fc,08,00,00,00,00,f2\n2014-08-15T19:00:03.874Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:00:03.893Z,4,129038,43,255,27,01,08,7b,ba,0d,ef,d7,95,0e,29,bc,bd,23,0d,37,a0,81,01,1d,c0,00,e5,a0,00,00,00,fe\n2014-08-15T19:00:04.037Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:04.059Z,3,129029,160,255,43,8b,a9,3f,d2,8a,c5,28,00,96,4b,eb,b0,da,49,08,00,2a,1d,3b,11,d2,6e,03,a0,78,2d,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:04.061Z,3,129033,160,255,8,a9,3f,d2,8a,c5,28,b4,00\n2014-08-15T19:00:04.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:04.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:04.076Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:04.102Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,c5,96,74,23,08,89,81,6c,00,01,0f,08,72,6e,ff,7f,00,fe\n2014-08-15T19:00:04.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:04.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:04.156Z,3,126992,160,255,8,ff,ff,a9,3f,96,94,c5,28\n2014-08-15T19:00:04.186Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,4f,38,01,00\n2014-08-15T19:00:04.189Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:04.191Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:04.196Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:04.246Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:00:04.350Z,3,129291,160,255,8,ff,fc,b2,52,26,00,ff,ff\n2014-08-15T19:00:04.362Z,4,129039,43,255,26,12,6e,c9,b5,0d,8b,94,ce,0e,34,d1,90,23,12,ed,56,c4,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:04.412Z,4,129039,43,255,26,12,44,11,b6,0d,76,80,be,0e,bc,4a,99,23,13,e0,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:04.491Z,2,130306,115,255,8,00,83,02,c9,22,f2,ff,ff\n2014-08-15T19:00:04.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:04.550Z,3,130577,160,255,14,c0,8b,b2,85,6b,01,ff,ff,ff,ff,6d,7e,2b,00\n2014-08-15T19:00:04.552Z,2,129025,160,255,8,1d,4a,99,23,9c,80,be,0e\n2014-08-15T19:00:04.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:04.592Z,3,128267,115,255,8,00,eb,1a,00,00,ff,ff,ff\n2014-08-15T19:00:04.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:04.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:04.651Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:04.745Z,2,129026,160,255,8,ff,fc,b2,85,6b,01,ff,ff\n2014-08-15T19:00:04.857Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:00:04.906Z,6,129540,160,255,135,d3,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,8c,0a,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,54,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,80,0c,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:04.908Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:00:05.002Z,4,129038,43,255,27,01,b8,f5,67,12,b7,9b,88,0e,ae,67,8f,23,10,68,2d,cc,03,62,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:00:05.042Z,4,129038,43,255,27,01,d2,ff,4a,10,09,8a,b1,0e,4c,02,71,23,11,b0,f1,00,00,4d,40,09,37,91,01,00,00,fe\n2014-08-15T19:00:05.044Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:05.056Z,3,129029,160,255,43,8c,a9,3f,ce,b1,c5,28,00,e2,ec,38,62,da,49,08,00,18,53,a3,df,d1,6e,03,50,26,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:05.058Z,3,129033,160,255,8,a9,3f,ce,b1,c5,28,b4,00\n2014-08-15T19:00:05.082Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:05.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:05.086Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:05.143Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:05.150Z,3,126992,160,255,8,ff,ff,a9,3f,40,bd,c5,28\n2014-08-15T19:00:05.179Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:05.184Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,61,38,01,00\n2014-08-15T19:00:05.186Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:05.189Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:05.191Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:05.252Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:00:05.302Z,4,129038,43,255,27,01,c8,d4,7f,10,47,44,e0,0e,4f,7c,c8,23,11,5b,7f,33,04,4a,40,01,da,80,00,00,00,fe\n2014-08-15T19:00:05.353Z,3,129291,160,255,8,ff,fc,6d,7e,2b,00,ff,ff\n2014-08-15T19:00:05.372Z,4,129038,43,255,27,01,e0,53,7f,10,2b,7c,ca,0e,2c,f7,ae,23,14,9b,87,ce,05,37,c0,00,4f,86,ff,7f,00,fe\n2014-08-15T19:00:05.403Z,2,130306,115,255,8,00,09,03,32,26,f2,ff,ff\n2014-08-15T19:00:05.433Z,4,129039,43,255,26,12,44,11,b6,0d,cf,7f,be,0e,7f,49,99,23,17,8f,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:05.485Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:05.518Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:05.550Z,3,130577,160,255,14,c0,8c,7e,85,67,01,ff,ff,ff,ff,6d,7e,2b,00\n2014-08-15T19:00:05.552Z,2,129025,160,255,8,d4,48,99,23,f4,7f,be,0e\n2014-08-15T19:00:05.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:05.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:05.593Z,3,128267,115,255,8,00,9e,1a,00,00,ff,ff,ff\n2014-08-15T19:00:05.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:05.654Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:05.755Z,2,129026,160,255,8,ff,fc,7e,85,67,01,ff,ff\n2014-08-15T19:00:05.884Z,6,129540,160,255,123,d4,ff,0a,20,0b,2f,09,98,b8,0b,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:05.893Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:00:05.912Z,7,129793,43,255,26,04,91,18,23,00,ca,19,86,0e,64,f6,c7,23,00,50,c6,c5,28,da,00,01,a9,3f,10,00,fc\n2014-08-15T19:00:06.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:06.057Z,3,129029,160,255,43,8d,a9,3f,b4,da,c5,28,00,48,ff,9e,15,da,49,08,00,88,be,85,b8,d1,6e,03,70,92,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:06.059Z,3,129033,160,255,8,a9,3f,b4,da,c5,28,b4,00\n2014-08-15T19:00:06.073Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:06.076Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:06.081Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:06.110Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:06.140Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:06.151Z,3,126992,160,255,8,ff,ff,a9,3f,82,e4,c5,28\n2014-08-15T19:00:06.181Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,61,38,01,00\n2014-08-15T19:00:06.183Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:06.198Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:06.198Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:06.255Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:00:06.354Z,3,129291,160,255,8,ff,fc,c1,49,2d,00,ff,ff\n2014-08-15T19:00:06.442Z,4,129039,43,255,26,12,44,11,b6,0d,07,7f,be,0e,53,48,99,23,1b,db,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:06.473Z,2,130306,115,255,8,00,bc,02,9a,1a,f2,ff,ff\n2014-08-15T19:00:06.492Z,4,129038,43,255,27,01,10,04,1a,0e,dd,3f,04,0f,0c,7c,af,23,14,2b,b0,9c,02,f0,80,08,9f,b2,00,00,00,fe\n2014-08-15T19:00:06.495Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:06.557Z,3,130577,160,255,14,c0,8d,e6,85,69,01,ff,ff,ff,ff,c1,49,2d,00\n2014-08-15T19:00:06.560Z,2,129025,160,255,8,a4,47,99,23,30,7f,be,0e\n2014-08-15T19:00:06.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:06.607Z,3,128267,115,255,8,00,1e,1a,00,00,ff,ff,ff\n2014-08-15T19:00:06.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:06.637Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:06.658Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:06.704Z,4,129038,43,255,27,01,c8,27,16,0e,45,f6,63,0e,10,48,93,23,11,8b,30,50,03,32,c0,00,67,30,1a,00,00,fe\n2014-08-15T19:00:06.750Z,2,129026,160,255,8,ff,fc,e6,85,69,01,ff,ff\n2014-08-15T19:00:06.888Z,6,129540,160,255,135,d5,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,b0,04,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,28,0a,00,00,00,00,f2\n2014-08-15T19:00:06.890Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:00:06.902Z,4,129038,43,255,27,01,b8,53,a6,0c,39,cd,7f,0e,04,15,a0,23,1c,14,ac,73,02,00,66,08,d9,ad,00,00,00,fe\n2014-08-15T19:00:07.038Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:07.066Z,3,129029,160,255,43,8e,a9,3f,f6,01,c6,28,00,68,2f,d7,ce,d9,49,08,00,e0,3b,e3,8a,d1,6e,03,00,63,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:07.068Z,3,129033,160,255,8,a9,3f,f6,01,c6,28,b4,00\n2014-08-15T19:00:07.076Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:07.078Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:07.080Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:07.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:07.140Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:07.151Z,3,126992,160,255,8,ff,ff,a9,3f,ba,0b,c6,28\n2014-08-15T19:00:07.178Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,61,38,01,00\n2014-08-15T19:00:07.181Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:07.183Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:07.186Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:07.252Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:00:07.354Z,3,129291,160,255,8,ff,fc,c1,64,2b,00,ff,ff\n2014-08-15T19:00:07.402Z,4,129039,43,255,26,12,ec,d7,b5,0d,7d,24,bc,0e,04,56,91,23,1e,c3,85,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:07.454Z,4,129039,43,255,26,12,44,11,b6,0d,71,7e,be,0e,06,47,99,23,1f,cf,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:07.470Z,2,130306,115,255,8,00,e5,02,32,26,f2,ff,ff\n2014-08-15T19:00:07.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:07.532Z,4,129038,43,255,27,01,88,d6,d0,0c,9b,8e,e8,0e,70,99,b9,23,1d,cf,96,37,03,17,81,08,65,99,00,00,00,fe\n2014-08-15T19:00:07.562Z,3,130577,160,255,14,c0,8e,b2,85,68,01,ff,ff,ff,ff,c1,64,2b,00\n2014-08-15T19:00:07.565Z,2,129025,160,255,8,6b,46,99,23,7c,7e,be,0e\n2014-08-15T19:00:07.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,01,03,03,00,00,00\n2014-08-15T19:00:07.590Z,3,128267,115,255,8,00,1e,1a,00,00,ff,ff,ff\n2014-08-15T19:00:07.594Z,4,129038,43,255,27,01,e0,53,7f,10,46,72,ca,0e,75,e8,ae,23,20,55,87,c9,05,c5,08,08,fd,86,00,00,00,fe\n2014-08-15T19:00:07.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:07.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:07.655Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:07.722Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,c5,96,74,23,14,7e,7f,6c,00,00,00,00,66,6c,ff,7f,00,fe\n2014-08-15T19:00:07.760Z,2,129026,160,255,8,ff,fc,b2,85,68,01,ff,ff\n2014-08-15T19:00:07.885Z,6,129540,160,255,123,d6,ff,0a,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:07.887Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:00:08.038Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:08.064Z,3,129029,160,255,43,8f,a9,3f,e8,28,c6,28,00,6e,ee,f6,85,d9,49,08,00,d8,65,fa,60,d1,6e,03,c0,c6,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:08.066Z,3,129033,160,255,8,a9,3f,e8,28,c6,28,b4,00\n2014-08-15T19:00:08.077Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:08.079Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:08.081Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:08.133Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:08.161Z,3,126992,160,255,8,ff,ff,a9,3f,b6,32,c6,28\n2014-08-15T19:00:08.164Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:08.175Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,61,38,01,00\n2014-08-15T19:00:08.188Z,4,129038,43,255,27,01,68,e2,20,12,e3,a9,01,0f,3c,b2,ad,23,20,1a,b0,fd,01,2f,01,09,f1,b1,00,00,00,fe\n2014-08-15T19:00:08.188Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:08.188Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:08.188Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:08.264Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:00:08.354Z,3,129291,160,255,8,ff,fc,8f,61,2e,00,ff,ff\n2014-08-15T19:00:08.472Z,4,129039,43,255,26,12,44,11,b6,0d,a9,7d,be,0e,fb,45,99,23,23,20,87,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:08.478Z,2,130306,115,255,8,00,b7,02,f7,1b,f2,ff,ff\n2014-08-15T19:00:08.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:08.523Z,4,129038,43,255,27,03,68,ee,b9,0d,df,8b,e2,0e,3f,22,dd,23,21,7e,73,00,00,5a,4b,09,ff,ff,ff,7f,05,fe\n2014-08-15T19:00:08.562Z,3,130577,160,255,14,c0,8f,4f,86,60,01,ff,ff,ff,ff,8f,61,2e,00\n2014-08-15T19:00:08.565Z,2,129025,160,255,8,42,45,99,23,d2,7d,be,0e\n2014-08-15T19:00:08.583Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:08.593Z,3,128267,115,255,8,00,5e,1a,00,00,ff,ff,ff\n2014-08-15T19:00:08.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:08.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:08.666Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:08.758Z,2,129026,160,255,8,ff,fc,4f,86,60,01,ff,ff\n2014-08-15T19:00:08.762Z,4,129038,43,255,27,01,58,43,c9,0e,13,97,db,0e,dc,4b,aa,23,24,8e,af,b6,02,45,81,08,94,b0,00,00,00,fe\n2014-08-15T19:00:08.896Z,6,129540,160,255,135,d7,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,10,0e,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,b0,04,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:08.898Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:00:09.036Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:09.064Z,3,129029,160,255,43,90,a9,3f,0c,50,c6,28,00,14,5a,d0,40,d9,49,08,00,b4,9b,65,39,d1,6e,03,70,92,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:09.066Z,3,129033,160,255,8,a9,3f,0c,50,c6,28,b4,00\n2014-08-15T19:00:09.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:09.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:09.075Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:09.082Z,4,129038,43,255,27,01,92,12,4b,10,ad,c3,00,0f,9a,c6,ae,23,20,43,b1,bb,02,51,81,00,9f,b2,fd,ff,00,fe\n2014-08-15T19:00:09.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:09.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:09.159Z,3,126992,160,255,8,ff,ff,a9,3f,d0,59,c6,28\n2014-08-15T19:00:09.164Z,4,129038,43,255,27,01,6c,70,4a,10,b0,65,fe,0e,26,72,a3,23,1f,50,35,ba,01,54,81,00,d0,33,6a,00,00,fe\n2014-08-15T19:00:09.166Z,2,130306,115,255,8,00,28,03,ec,28,f2,ff,ff\n2014-08-15T19:00:09.172Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,61,38,01,00\n2014-08-15T19:00:09.176Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:09.179Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:09.181Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:09.224Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:09.262Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:00:09.363Z,3,129291,160,255,8,ff,fc,2c,5f,22,00,ff,ff\n2014-08-15T19:00:09.483Z,4,129039,43,255,26,12,44,11,b6,0d,03,7d,be,0e,e0,44,99,23,27,6c,85,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:09.533Z,4,129038,43,255,27,01,e0,53,7f,10,91,6b,ca,0e,a0,de,ae,23,28,ac,87,c9,05,00,66,00,fd,86,ff,7f,00,fe\n2014-08-15T19:00:09.568Z,3,130577,160,255,14,c0,90,1b,86,5d,01,ff,ff,ff,ff,2c,5f,22,00\n2014-08-15T19:00:09.572Z,2,129025,160,255,8,20,44,99,23,25,7d,be,0e\n2014-08-15T19:00:09.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:09.591Z,3,128267,115,255,8,00,f1,19,00,00,ff,ff,ff\n2014-08-15T19:00:09.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:09.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:09.669Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:09.762Z,2,129026,160,255,8,ff,fc,1b,86,5d,01,ff,ff\n2014-08-15T19:00:09.899Z,6,129540,160,255,123,d8,ff,0a,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,ac,0d,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:09.902Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:00:09.987Z,6,129794,43,255,75,05,10,dc,6d,0f,98,4b,8f,00,4c,41,4b,4e,36,20,20,52,59,53,54,52,41,55,4d,20,20,20,20,20,20,20,20,20,20,20,20,52,0a,05,c8,00,32,00,06,04,ab,3f,00,2a,75,15,ee,02,53,54,45,54,54,49,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:00:10.040Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:10.074Z,3,129029,160,255,43,91,a9,3f,76,77,c6,28,00,40,01,4b,fd,d8,49,08,00,32,01,1e,11,d1,6e,03,90,6f,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:10.076Z,3,129033,160,255,8,a9,3f,76,77,c6,28,b4,00\n2014-08-15T19:00:10.078Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:10.081Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:10.083Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:10.122Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,62,c6,28,78,81,0a,a9,3f,00,00,fc\n2014-08-15T19:00:10.138Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:10.158Z,2,130306,115,255,8,00,ad,02,eb,19,f2,ff,ff\n2014-08-15T19:00:10.170Z,3,126992,160,255,8,ff,ff,a9,3f,3a,81,c6,28\n2014-08-15T19:00:10.172Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,74,38,01,00\n2014-08-15T19:00:10.174Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:10.178Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:10.180Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:10.184Z,4,129038,43,255,27,01,fc,ff,e9,25,03,86,2d,0f,0a,7e,be,23,25,2b,bc,cb,02,7a,81,08,2b,bc,0a,00,00,fe\n2014-08-15T19:00:10.272Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:00:10.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,62,c6,28,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:00:10.374Z,3,129291,160,255,8,ff,fc,e2,65,2c,00,ff,ff\n2014-08-15T19:00:10.379Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:10.403Z,4,129038,43,255,27,01,b0,79,7a,10,05,ed,d4,0e,82,67,80,23,20,f0,d8,de,01,82,81,09,d9,da,5d,00,00,fe\n2014-08-15T19:00:10.443Z,4,129038,43,255,27,01,10,dc,6d,0f,6c,6d,63,0e,9e,1e,9d,23,29,a6,ad,83,02,84,01,01,88,ae,00,00,00,fe\n2014-08-15T19:00:10.460Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:10.492Z,4,129039,43,255,26,12,44,11,b6,0d,5c,7c,be,0e,b4,43,99,23,2b,38,85,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:10.496Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:10.526Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:10.534Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,c5,96,74,23,24,72,7d,6c,00,f0,10,08,09,6b,ff,7f,00,fe\n2014-08-15T19:00:10.568Z,3,130577,160,255,14,c0,91,b2,85,60,01,ff,ff,ff,ff,e2,65,2c,00\n2014-08-15T19:00:10.571Z,2,129025,160,255,8,f2,42,99,23,82,7c,be,0e\n2014-08-15T19:00:10.584Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,41,02,03,00,01,01,04,00,00,00\n2014-08-15T19:00:10.604Z,4,129038,43,255,27,01,98,69,b3,0e,7d,39,93,0e,46,1d,a1,23,21,c3,af,f8,01,8a,81,00,94,b0,00,00,00,fe\n2014-08-15T19:00:10.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:10.624Z,3,128267,115,255,8,00,09,1a,00,00,ff,ff,ff\n2014-08-15T19:00:10.651Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:10.665Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:10.713Z,4,129038,43,255,27,01,b8,f5,67,12,16,c1,88,0e,b0,6f,8f,23,28,68,2d,d1,03,62,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:00:10.771Z,2,129026,160,255,8,ff,fc,b2,85,60,01,ff,ff\n2014-08-15T19:00:10.874Z,4,129038,43,255,27,01,c8,d4,7f,10,11,3f,e0,0e,86,65,c8,23,29,49,7f,2d,04,e3,08,08,da,80,00,00,00,fe\n2014-08-15T19:00:10.912Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:00:10.912Z,6,129540,160,255,135,d9,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,f1,c0,98,08,00,00,00,00,f2,18,74,05,d1,06,54,0b,00,00,00,00,f2\n2014-08-15T19:00:10.921Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:11.044Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:11.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:11.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:11.076Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:11.088Z,3,129029,160,255,43,92,a9,3f,54,9e,c6,28,00,f4,66,fa,b6,d8,49,08,00,94,72,2a,eb,d0,6e,03,c0,55,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:11.090Z,3,129033,160,255,8,a9,3f,54,9e,c6,28,b4,00\n2014-08-15T19:00:11.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:11.126Z,2,130306,115,255,8,00,e0,02,32,26,f2,ff,ff\n2014-08-15T19:00:11.151Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:11.170Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,74,38,01,00\n2014-08-15T19:00:11.174Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:11.174Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:11.178Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:11.180Z,3,126992,160,255,8,ff,ff,a9,3f,18,a8,c6,28\n2014-08-15T19:00:11.185Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:11.275Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:00:11.323Z,4,129038,43,255,27,01,e0,53,7f,10,3f,68,ca,0e,be,d9,ae,23,28,9b,87,c9,05,a5,81,09,fd,86,00,00,00,fe\n2014-08-15T19:00:11.366Z,3,129291,160,255,8,ff,fc,9e,45,39,00,ff,ff\n2014-08-15T19:00:11.368Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:11.433Z,4,129038,43,255,27,01,d0,e7,da,0d,43,9a,33,0f,ce,0d,c4,23,31,2f,02,05,00,a9,01,09,d9,bc,00,00,00,fe\n2014-08-15T19:00:11.473Z,4,129039,43,255,26,12,66,58,b6,0d,7b,75,bc,0e,93,3a,94,23,2f,b8,80,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:11.513Z,4,129039,43,255,26,12,44,11,b6,0d,94,7b,be,0e,98,42,99,23,2f,0f,87,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:11.573Z,3,130577,160,255,14,c0,92,7e,85,5e,01,ff,ff,ff,ff,9e,45,39,00\n2014-08-15T19:00:11.575Z,2,129025,160,255,8,c4,41,99,23,e3,7b,be,0e\n2014-08-15T19:00:11.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,50,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:11.592Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:11.594Z,3,128267,115,255,8,00,9b,1a,00,00,ff,ff,ff\n2014-08-15T19:00:11.622Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:11.672Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:11.782Z,2,129026,160,255,8,ff,fc,7e,85,5e,01,ff,ff\n2014-08-15T19:00:11.783Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:11.906Z,6,129540,160,255,135,da,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,98,08,00,00,00,00,f2,18,74,05,d1,06,54,0b,00,00,00,00,f2\n2014-08-15T19:00:11.908Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:00:11.962Z,4,129039,43,255,26,12,9e,d6,c3,0d,c1,55,c4,0e,50,de,94,23,2e,3e,56,62,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:12.037Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:12.079Z,3,129029,160,255,43,93,a9,3f,96,c5,c6,28,00,a8,cc,a9,70,d8,49,08,00,1e,4f,25,c6,d0,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:12.081Z,3,129033,160,255,8,a9,3f,96,c5,c6,28,b4,00\n2014-08-15T19:00:12.149Z,2,130306,115,255,8,00,ad,02,54,1d,f2,ff,ff\n2014-08-15T19:00:12.167Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,74,38,01,00\n2014-08-15T19:00:12.169Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:12.171Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:12.175Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:12.177Z,3,126992,160,255,8,ff,ff,a9,3f,5a,cf,c6,28\n2014-08-15T19:00:12.179Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:12.269Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:00:12.370Z,3,129291,160,255,8,ff,fc,34,44,3b,00,ff,ff\n2014-08-15T19:00:12.497Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:12.499Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:12.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:12.523Z,4,129039,43,255,26,12,44,11,b6,0d,ab,7a,be,0e,6c,41,99,23,33,38,88,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:12.529Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:12.559Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:12.575Z,3,130577,160,255,14,c0,93,1b,86,62,01,ff,ff,ff,ff,34,44,3b,00\n2014-08-15T19:00:12.577Z,2,129025,160,255,8,99,40,99,23,2c,7b,be,0e\n2014-08-15T19:00:12.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,08,33,02,02,00,02,06,03,00,00,00\n2014-08-15T19:00:12.585Z,7,129793,43,255,26,04,90,18,23,00,18,d3,e2,0e,ce,30,d3,23,00,b0,b0,c6,28,77,40,01,a9,3f,10,00,fc\n2014-08-15T19:00:12.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:12.598Z,3,128267,115,255,8,00,9b,1a,00,00,ff,ff,ff\n2014-08-15T19:00:12.625Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:12.678Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:12.771Z,2,129026,160,255,8,ff,fc,1b,86,62,01,ff,ff\n2014-08-15T19:00:12.872Z,4,129038,43,255,27,01,58,eb,ad,0e,d3,01,5b,0e,82,0d,8f,23,37,dc,2f,d9,01,3a,c0,00,5c,2e,00,00,00,fe\n2014-08-15T19:00:12.911Z,6,129540,160,255,135,db,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,48,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,60,09,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:12.913Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:00:13.032Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,1e,68,e2,23,00,c0,d7,c6,28,e5,01,09,a9,3f,10,00,fc\n2014-08-15T19:00:13.037Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:13.062Z,2,130306,115,255,8,00,d6,02,6c,21,f2,ff,ff\n2014-08-15T19:00:13.083Z,4,129038,43,255,27,01,38,5e,49,16,bd,7a,ca,0e,b3,bf,76,23,31,ce,ae,00,00,00,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:00:13.085Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:13.090Z,3,129029,160,255,43,94,a9,3f,92,ec,c6,28,00,ba,02,0c,2b,d8,49,08,00,b8,a8,89,9b,d0,6e,03,b0,9f,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:13.093Z,3,129033,160,255,8,a9,3f,92,ec,c6,28,b4,00\n2014-08-15T19:00:13.123Z,4,129038,43,255,27,01,08,99,b5,0d,10,c6,ca,0e,62,b2,a5,23,38,96,47,44,01,e7,81,08,f3,48,00,00,00,fe\n2014-08-15T19:00:13.128Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:13.130Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:13.133Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:13.159Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:13.163Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,74,38,01,00\n2014-08-15T19:00:13.166Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:13.168Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:13.173Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:13.177Z,3,126992,160,255,8,ff,ff,a9,3f,56,f6,c6,28\n2014-08-15T19:00:13.279Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:00:13.323Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,c8,7c,6f,23,30,03,a6,00,00,00,66,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:13.362Z,4,129038,43,255,27,01,b8,83,92,0e,4f,ba,e0,0e,c2,c8,75,23,35,8e,c1,05,00,3b,40,09,07,d4,00,00,00,fe\n2014-08-15T19:00:13.380Z,3,129291,160,255,8,ff,fc,96,51,2e,00,ff,ff\n2014-08-15T19:00:13.402Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,c5,96,74,23,2c,c4,7c,6c,00,c1,11,00,fe,68,ff,7f,00,fe\n2014-08-15T19:00:13.443Z,4,129038,43,255,27,01,20,f6,7e,10,ee,36,c7,0e,18,eb,7f,23,31,a1,55,05,00,f4,81,00,13,c7,00,00,0f,fe\n2014-08-15T19:00:13.458Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:13.513Z,4,129038,43,255,27,01,e0,53,7f,10,e5,5d,ca,0e,08,cb,ae,23,34,15,88,c9,05,f7,81,01,ac,87,ff,7f,00,fe\n2014-08-15T19:00:13.552Z,4,129039,43,255,26,12,44,11,b6,0d,d2,79,be,0e,40,40,99,23,37,5b,88,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:13.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,49,02,03,00,01,01,04,00,00,00\n2014-08-15T19:00:13.584Z,3,130577,160,255,14,c0,94,b8,86,64,01,ff,ff,ff,ff,96,51,2e,00\n2014-08-15T19:00:13.587Z,2,129025,160,255,8,6d,3f,99,23,52,7a,be,0e\n2014-08-15T19:00:13.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:13.595Z,4,129038,43,255,27,01,c8,27,16,0e,e8,18,64,0e,0d,4e,93,23,2d,d1,30,50,03,33,40,09,67,30,0a,00,00,fe\n2014-08-15T19:00:13.597Z,3,128267,115,255,8,00,b7,19,00,00,ff,ff,ff\n2014-08-15T19:00:13.620Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:13.672Z,4,129038,43,255,27,01,88,d6,d0,0c,7f,77,e8,0e,6a,8c,b9,23,35,26,97,37,03,43,c0,00,65,99,00,00,00,fe\n2014-08-15T19:00:13.674Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:13.775Z,2,129026,160,255,8,ff,fc,b8,86,64,01,ff,ff\n2014-08-15T19:00:13.902Z,6,129540,160,255,135,dc,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,f0,0a,00,00,00,00,f2,04,46,0c,1f,c9,54,0b,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,48,0d,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:13.905Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:00:13.994Z,2,130306,115,255,8,00,a2,02,c9,22,f2,ff,ff\n2014-08-15T19:00:14.028Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:00:14.054Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:14.088Z,3,129029,160,255,43,95,a9,3f,d4,13,c7,28,00,02,9e,32,e5,d7,49,08,00,b4,d8,c7,68,d0,6e,03,20,b1,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:14.090Z,3,129033,160,255,8,a9,3f,d4,13,c7,28,b4,00\n2014-08-15T19:00:14.092Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:00:14.121Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:14.123Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:14.126Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:14.157Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:00:14.161Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,74,38,01,00\n2014-08-15T19:00:14.164Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:14.167Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:14.169Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:14.188Z,3,126992,160,255,8,ff,ff,a9,3f,98,1d,c7,28\n2014-08-15T19:00:14.280Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:00:14.382Z,3,129291,160,255,8,ff,fc,49,57,26,00,ff,ff\n2014-08-15T19:00:14.474Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:14.505Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:14.542Z,4,129039,43,255,26,12,44,11,b6,0d,e9,78,be,0e,04,3f,99,23,3b,8f,88,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:14.579Z,3,130577,160,255,14,c0,95,55,87,66,01,ff,ff,ff,ff,49,57,26,00\n2014-08-15T19:00:14.582Z,2,129025,160,255,8,3b,3e,99,23,6e,79,be,0e\n2014-08-15T19:00:14.585Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,23,02,02,00,00,00,04,00,00,00\n2014-08-15T19:00:14.606Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:14.609Z,3,128267,115,255,8,00,a1,19,00,00,ff,ff,ff\n2014-08-15T19:00:14.639Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:14.662Z,4,129038,43,255,27,01,d2,ff,4a,10,09,8a,b1,0e,3c,02,71,23,39,b0,f1,00,00,00,66,00,37,91,ff,ff,00,fe\n2014-08-15T19:00:14.686Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:14.752Z,4,129038,43,255,27,01,08,7b,ba,0d,d8,bf,95,0e,38,b4,bd,23,35,37,a0,7c,01,b3,08,08,37,a0,00,00,00,fe\n2014-08-15T19:00:14.788Z,2,129026,160,255,8,ff,fc,55,87,66,01,ff,ff\n2014-08-15T19:00:14.822Z,4,129038,43,255,27,01,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,31,b7,98,00,00,00,00,00,b7,98,00,00,05,fe\n2014-08-15T19:00:14.915Z,6,129540,160,255,135,dd,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,48,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,b8,0b,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:14.918Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:00:14.961Z,2,130306,115,255,8,00,93,02,48,1b,f2,ff,ff\n2014-08-15T19:00:14.988Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:15.053Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:00:15.086Z,3,129029,160,255,43,96,a9,3f,c6,3a,c7,28,00,8e,98,f3,9d,d7,49,08,00,cc,fc,b1,33,d0,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:15.088Z,3,129033,160,255,8,a9,3f,c6,3a,c7,28,b4,00\n2014-08-15T19:00:15.092Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:15.094Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:15.096Z,2,128259,115,255,8,00,56,01,ff,ff,00,ff,ff\n2014-08-15T19:00:15.151Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:15.159Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,87,38,01,00\n2014-08-15T19:00:15.161Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:15.165Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:15.167Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:15.185Z,3,126992,160,255,8,ff,ff,a9,3f,8a,44,c7,28\n2014-08-15T19:00:15.280Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:15.381Z,3,129291,160,255,8,ff,fc,49,57,26,00,ff,ff\n2014-08-15T19:00:15.402Z,4,129038,43,255,27,01,e0,53,7f,10,61,5a,ca,0e,26,c6,ae,23,3c,49,88,c9,05,00,66,08,ac,87,00,00,00,fe\n2014-08-15T19:00:15.455Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:15.483Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:15.562Z,4,129039,43,255,26,12,44,11,b6,0d,ef,77,be,0e,d8,3d,99,23,3f,3d,89,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:15.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:15.586Z,3,130577,160,255,14,c0,96,38,88,66,01,ff,ff,ff,ff,37,77,11,00\n2014-08-15T19:00:15.588Z,2,129025,160,255,8,0e,3d,99,23,76,78,be,0e\n2014-08-15T19:00:15.592Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:15.594Z,3,128267,115,255,8,00,a1,19,00,00,ff,ff,ff\n2014-08-15T19:00:15.622Z,4,129039,43,255,26,12,0a,ec,b5,0d,91,85,c8,0e,12,1e,93,23,38,fe,56,9b,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:15.624Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:15.686Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:15.788Z,2,129026,160,255,8,ff,fc,38,88,66,01,ff,ff\n2014-08-15T19:00:15.913Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,96,f6,c7,23,00,f0,4c,c7,28,aa,40,09,a9,3f,10,00,fc\n2014-08-15T19:00:15.926Z,6,129540,160,255,135,de,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,f0,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,28,0a,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:15.928Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:00:15.945Z,2,130306,115,255,8,00,ff,02,04,2d,f2,ff,ff\n2014-08-15T19:00:15.969Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:16.046Z,2,128259,115,255,8,00,6d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:16.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:16.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:16.075Z,2,128259,115,255,8,00,6d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:16.113Z,3,129029,160,255,43,97,a9,3f,e0,61,c7,28,00,0c,99,de,57,d7,49,08,00,1c,09,f4,f9,cf,6e,03,40,1d,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:16.114Z,3,129033,160,255,8,a9,3f,e0,61,c7,28,b4,00\n2014-08-15T19:00:16.114Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:16.135Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:16.158Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,87,38,01,00\n2014-08-15T19:00:16.158Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:16.162Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:16.167Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:16.194Z,3,126992,160,255,8,ff,ff,a9,3f,a4,6b,c7,28\n2014-08-15T19:00:16.202Z,4,129038,43,255,27,01,fc,ff,e9,25,75,65,2d,0f,8d,84,be,23,3d,2b,bc,d0,02,19,c0,01,2b,bc,0a,00,00,fe\n2014-08-15T19:00:16.288Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:16.392Z,3,129291,160,255,8,ff,fc,37,77,11,00,ff,ff\n2014-08-15T19:00:16.502Z,6,129809,43,255,25,18,0a,ec,b5,0d,41,51,55,41,4d,41,52,49,4e,45,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:00:16.552Z,4,129038,43,255,27,03,70,82,52,10,c7,70,b1,0e,cc,a4,71,23,43,ff,ff,00,00,4a,4e,01,ff,ff,ff,7f,05,fe\n2014-08-15T19:00:16.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,35,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:16.585Z,3,130577,160,255,14,c0,97,e0,87,62,01,ff,ff,ff,ff,37,77,11,00\n2014-08-15T19:00:16.588Z,2,129025,160,255,8,e8,3b,99,23,9b,77,be,0e\n2014-08-15T19:00:16.592Z,4,129039,43,255,26,12,44,11,b6,0d,37,77,be,0e,ac,3c,99,23,43,e0,87,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:16.594Z,3,128267,115,255,8,00,a1,19,00,00,ff,ff,ff\n2014-08-15T19:00:16.597Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:16.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:16.632Z,4,129038,43,255,27,01,10,04,1a,0e,3a,12,04,0f,0c,7c,af,23,3c,2b,b0,9c,02,ad,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:00:16.686Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:16.790Z,2,129026,160,255,8,ff,fc,e0,87,62,01,ff,ff\n2014-08-15T19:00:16.898Z,2,130306,115,255,8,00,89,02,82,16,f2,ff,ff\n2014-08-15T19:00:16.930Z,6,129540,160,255,135,df,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,28,0a,00,00,00,00,f2\n2014-08-15T19:00:16.932Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:00:16.934Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:16.942Z,6,129794,43,255,75,05,02,a1,4c,10,a6,89,7d,00,55,49,5a,4f,40,40,40,41,4b,41,44,45,4d,49,4b,20,20,4b,41,52,50,49,4e,53,4b,49,59,5f,7e,04,a0,00,1e,00,e0,01,b7,40,00,10,55,22,76,02,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:00:17.032Z,4,129038,43,255,27,01,c8,d4,7f,10,35,39,e0,0e,63,4f,c8,23,41,49,7f,2d,04,7b,82,00,da,80,00,00,00,fe\n2014-08-15T19:00:17.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:17.072Z,4,129038,43,255,27,01,b8,f5,67,12,93,ec,88,0e,42,79,8f,23,40,79,2d,d1,03,62,40,03,ff,2c,00,00,00,fe\n2014-08-15T19:00:17.074Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:17.077Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:17.079Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:17.094Z,3,129029,160,255,43,98,a9,3f,fa,88,c7,28,00,10,d5,6a,13,d7,49,08,00,4e,9e,f6,c6,cf,6e,03,c0,73,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:17.096Z,3,129033,160,255,8,a9,3f,fa,88,c7,28,b4,00\n2014-08-15T19:00:17.106Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:17.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:17.154Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,87,38,01,00\n2014-08-15T19:00:17.155Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:17.158Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:17.160Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:17.191Z,3,126992,160,255,8,ff,ff,a9,3f,be,92,c7,28\n2014-08-15T19:00:17.242Z,4,129038,43,255,27,01,b8,53,a6,0c,b0,a3,7f,0e,3e,0e,a0,23,44,37,ac,73,02,00,66,00,88,ae,00,00,00,fe\n2014-08-15T19:00:17.294Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:00:17.386Z,3,129291,160,255,8,ff,fc,fd,e3,0e,00,ff,ff\n2014-08-15T19:00:17.402Z,4,129039,43,255,26,12,c4,e2,c3,0d,09,49,c0,0e,85,41,96,23,44,dc,56,7c,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:00:17.562Z,4,129038,43,255,27,01,e0,53,7f,10,e6,4f,ca,0e,80,b7,ae,23,48,26,88,ce,05,8f,82,00,fd,86,00,00,00,fe\n2014-08-15T19:00:17.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,43,02,03,00,01,01,04,00,00,00\n2014-08-15T19:00:17.592Z,3,128267,115,255,8,00,a1,19,00,00,ff,ff,ff\n2014-08-15T19:00:17.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:17.598Z,3,130577,160,255,14,c0,98,4f,86,66,01,ff,ff,ff,ff,fd,e3,0e,00\n2014-08-15T19:00:17.601Z,2,129025,160,255,8,b4,3a,99,23,09,77,be,0e\n2014-08-15T19:00:17.604Z,4,129039,43,255,26,12,44,11,b6,0d,e4,76,be,0e,4e,3b,99,23,47,5b,82,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:17.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:17.642Z,4,129038,43,255,27,01,d4,e5,b5,0d,61,10,e1,0e,d1,25,de,23,48,45,21,00,00,49,c0,08,b9,20,00,00,00,fe\n2014-08-15T19:00:17.697Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:17.722Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,c5,96,74,23,3c,b8,7a,6c,00,00,00,08,f2,66,ff,7f,00,fe\n2014-08-15T19:00:17.788Z,2,129026,160,255,8,ff,fc,4f,86,66,01,ff,ff\n2014-08-15T19:00:17.832Z,4,129038,43,255,27,03,30,9d,cf,0d,e5,85,32,0f,2a,3e,c5,23,44,aa,ea,00,00,00,00,08,b6,b6,00,00,01,fe\n2014-08-15T19:00:17.865Z,2,130306,115,255,8,00,2d,03,8f,27,f2,ff,ff\n2014-08-15T19:00:17.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:17.924Z,6,129540,160,255,123,e0,ff,0a,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,16,f4,0c,39,37,10,0e,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,54,0b,00,00,00,00,f2\n2014-08-15T19:00:17.926Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:00:18.037Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:18.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:18.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:18.076Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:18.100Z,3,129029,160,255,43,99,a9,3f,14,b0,c7,28,00,08,9a,b4,cb,d6,49,08,00,1a,57,f8,a4,cf,6e,03,80,d7,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:18.102Z,3,129033,160,255,8,a9,3f,14,b0,c7,28,b4,00\n2014-08-15T19:00:18.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:18.135Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:18.150Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,87,38,01,00\n2014-08-15T19:00:18.152Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:18.155Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:18.157Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:18.195Z,3,126992,160,255,8,ff,ff,a9,3f,d8,b9,c7,28\n2014-08-15T19:00:18.298Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:18.362Z,4,129038,43,255,27,01,38,5e,49,16,cd,7a,ca,0e,b3,bf,76,23,45,8b,1e,00,00,00,66,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:00:18.398Z,3,129291,160,255,8,ff,fc,73,64,26,00,ff,ff\n2014-08-15T19:00:18.402Z,4,129039,43,255,26,12,fe,ea,8e,0f,f5,46,9a,0e,12,e0,ad,23,44,59,d6,cd,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:18.492Z,4,129038,43,255,27,01,58,43,c9,0e,9d,67,db,0e,a6,46,aa,23,4c,b1,af,b6,02,6d,c0,01,94,b0,00,00,00,fe\n2014-08-15T19:00:18.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2c,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:18.595Z,3,130577,160,255,14,c0,99,2c,86,63,01,ff,ff,ff,ff,73,64,26,00\n2014-08-15T19:00:18.597Z,2,129025,160,255,8,81,39,99,23,76,76,be,0e\n2014-08-15T19:00:18.602Z,4,129039,43,255,26,12,44,11,b6,0d,4e,76,be,0e,11,3a,99,23,4b,8f,85,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:18.615Z,3,128267,115,255,8,00,30,15,00,00,ff,ff,ff\n2014-08-15T19:00:18.617Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:18.641Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:18.644Z,4,129038,43,255,27,01,68,e2,20,12,90,82,01,0f,cf,ad,ad,23,4c,a0,af,f8,01,00,66,00,f1,b1,00,00,00,fe\n2014-08-15T19:00:18.696Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:18.712Z,4,129038,43,255,27,01,88,d6,d0,0c,f7,63,e8,0e,bd,81,b9,23,49,8f,97,37,03,ba,82,08,65,99,00,00,00,fe\n2014-08-15T19:00:18.797Z,2,129026,160,255,8,ff,fc,2c,86,63,01,ff,ff\n2014-08-15T19:00:18.823Z,4,129038,43,255,27,01,10,dc,6d,0f,c9,4a,63,0e,ab,19,9d,23,49,94,ad,83,02,be,02,09,88,ae,e6,ff,00,fe\n2014-08-15T19:00:18.834Z,2,130306,115,255,8,00,c6,02,60,1f,f2,ff,ff\n2014-08-15T19:00:18.869Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:18.926Z,6,129540,160,255,135,e1,ff,0b,20,0b,2f,09,98,48,0d,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,98,08,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:18.928Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:00:19.046Z,2,128259,115,255,8,00,78,01,ff,ff,00,ff,ff\n2014-08-15T19:00:19.072Z,6,129810,43,255,33,18,0a,ec,b5,0d,25,40,40,40,40,40,40,40,4f,4a,33,36,38,38,40,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00\n2014-08-15T19:00:19.083Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:19.085Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:19.087Z,2,128259,115,255,8,00,76,01,ff,ff,00,ff,ff\n2014-08-15T19:00:19.104Z,3,129029,160,255,43,9a,a9,3f,56,d7,c7,28,00,ca,f9,39,84,d6,49,08,00,1c,75,be,82,cf,6e,03,00,2e,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:19.106Z,3,129033,160,255,8,a9,3f,56,d7,c7,28,b4,00\n2014-08-15T19:00:19.113Z,4,129038,43,255,27,01,c8,27,16,0e,99,33,64,0e,9c,52,93,23,41,f3,30,50,03,35,c0,00,67,30,00,00,00,fe\n2014-08-15T19:00:19.148Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,01,21,0a,01,99,38,01,00\n2014-08-15T19:00:19.152Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:19.154Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:19.156Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:19.199Z,3,126992,160,255,8,ff,ff,a9,3f,1a,e1,c7,28\n2014-08-15T19:00:19.213Z,4,129038,43,255,27,01,92,12,4b,10,1b,96,00,0f,9a,c6,ae,23,4c,43,b1,bb,02,cd,82,08,9f,b2,ff,ff,00,fe\n2014-08-15T19:00:19.295Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:19.302Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:00:19.403Z,3,129291,160,255,8,ff,fc,d5,44,28,00,ff,ff\n2014-08-15T19:00:19.542Z,4,129038,43,255,27,01,e0,53,7f,10,de,48,ca,0e,ab,ad,ae,23,50,49,88,d3,05,38,40,09,fd,86,00,00,00,fe\n2014-08-15T19:00:19.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,36,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:19.585Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:19.611Z,3,130577,160,255,14,c0,9a,83,86,65,01,ff,ff,ff,ff,d5,44,28,00\n2014-08-15T19:00:19.613Z,2,129025,160,255,8,4a,38,99,23,be,75,be,0e\n2014-08-15T19:00:19.621Z,3,128267,115,255,8,00,f6,13,00,00,ff,ff,ff\n2014-08-15T19:00:19.621Z,4,129039,43,255,26,12,44,11,b6,0d,75,75,be,0e,f6,38,99,23,4f,fe,86,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:19.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:19.641Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:19.705Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:19.803Z,4,129038,43,255,27,01,6c,70,4a,10,49,84,fe,0e,56,75,a3,23,47,96,35,bf,01,c3,08,08,d0,33,06,00,00,fe\n2014-08-15T19:00:19.805Z,2,130306,115,255,8,00,ff,02,83,25,f2,ff,ff\n2014-08-15T19:00:19.807Z,2,129026,160,255,8,ff,fc,83,86,65,01,ff,ff\n2014-08-15T19:00:19.822Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:19.935Z,6,129540,160,255,135,e2,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,6c,07,00,00,00,00,f2,18,74,05,d1,06,98,08,00,00,00,00,f2\n2014-08-15T19:00:19.937Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:00:20.042Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:20.078Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:20.080Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:20.082Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:20.119Z,3,129029,160,255,43,9b,a9,3f,84,fe,c7,28,00,64,ee,d0,3b,d6,49,08,00,ec,33,e7,57,cf,6e,03,50,0f,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:20.121Z,3,129033,160,255,8,a9,3f,84,fe,c7,28,b4,00\n2014-08-15T19:00:20.125Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,e9,c7,28,ef,82,02,a9,3f,00,00,fc\n2014-08-15T19:00:20.145Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:20.148Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:20.150Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:20.153Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:20.166Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:20.218Z,3,126992,160,255,8,ff,ff,a9,3f,48,08,c8,28\n2014-08-15T19:00:20.312Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:00:20.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,e9,c7,28,f8,02,03,a9,3f,00,00,fc\n2014-08-15T19:00:20.423Z,3,129291,160,255,8,ff,fc,8b,32,1d,00,ff,ff\n2014-08-15T19:00:20.427Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:20.479Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:20.514Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:20.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:20.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:20.593Z,3,128267,115,255,8,00,24,14,00,00,ff,ff,ff\n2014-08-15T19:00:20.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:20.619Z,3,130577,160,255,14,c0,9b,20,87,66,01,ff,ff,ff,ff,8b,32,1d,00\n2014-08-15T19:00:20.621Z,2,129025,160,255,8,21,37,99,23,e2,74,be,0e\n2014-08-15T19:00:20.625Z,4,129039,43,255,26,12,44,11,b6,0d,9d,74,be,0e,a8,37,99,23,53,32,87,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:20.720Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:20.786Z,2,130306,115,255,8,00,ad,02,0e,20,f2,ff,ff\n2014-08-15T19:00:20.810Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:20.822Z,2,129026,160,255,8,ff,fc,20,87,66,01,ff,ff\n2014-08-15T19:00:20.951Z,6,129540,160,255,135,e3,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,60,09,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:00:20.954Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:00:20.956Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:20.964Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,42,90,74,23,4c,fe,77,6c,00,c0,0f,00,e6,64,ff,7f,00,fe\n2014-08-15T19:00:20.999Z,4,129038,43,255,27,01,b0,79,7a,10,54,d2,d4,0e,22,77,80,23,4c,7c,d9,de,01,47,c0,00,d9,da,0a,00,00,fe\n2014-08-15T19:00:21.038Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:21.077Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:21.079Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:21.081Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:21.113Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:21.125Z,3,129029,160,255,43,9c,a9,3f,8a,25,c8,28,00,0a,5a,aa,f6,d5,49,08,00,54,2e,ae,24,cf,6e,03,20,29,1b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:21.127Z,3,129033,160,255,8,a9,3f,8a,25,c8,28,b4,00\n2014-08-15T19:00:21.143Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:21.143Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:21.147Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:21.147Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:21.153Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:21.224Z,3,126992,160,255,8,ff,ff,a9,3f,4e,2f,c8,28\n2014-08-15T19:00:21.273Z,4,129038,43,255,27,01,e0,53,7f,10,5a,45,ca,0e,b8,a8,ae,23,50,15,88,d8,05,00,66,00,fd,86,00,00,00,fe\n2014-08-15T19:00:21.324Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:21.419Z,3,129291,160,255,8,ff,fc,f6,5e,15,00,ff,ff\n2014-08-15T19:00:21.421Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:21.543Z,4,129038,43,255,27,01,fc,ff,e9,25,6f,4d,2d,0f,fd,82,be,23,51,2b,bc,cb,02,19,c0,08,7c,bb,00,00,00,fe\n2014-08-15T19:00:21.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:21.590Z,3,128267,115,255,8,00,bc,13,00,00,ff,ff,ff\n2014-08-15T19:00:21.592Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:21.618Z,3,130577,160,255,14,c0,9c,32,87,6a,01,ff,ff,ff,ff,f6,5e,15,00\n2014-08-15T19:00:21.622Z,2,129025,160,255,8,e8,35,99,23,09,74,be,0e\n2014-08-15T19:00:21.630Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:21.643Z,4,129039,43,255,26,12,44,11,b6,0d,b3,73,be,0e,7c,36,99,23,57,03,88,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:21.727Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:21.733Z,2,130306,115,255,8,00,e5,02,49,2a,f2,ff,ff\n2014-08-15T19:00:21.757Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:21.818Z,2,129026,160,255,8,ff,fc,32,87,6a,01,ff,ff\n2014-08-15T19:00:21.821Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:21.946Z,6,129540,160,255,135,e4,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,48,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,c4,09,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:00:21.948Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:00:22.037Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:22.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:22.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:22.076Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:22.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:22.130Z,3,129029,160,255,43,9d,a9,3f,c2,4c,c8,28,00,10,19,ca,ad,d5,49,08,00,1a,f9,27,f2,ce,6e,03,70,0a,17,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:22.132Z,3,129033,160,255,8,a9,3f,c2,4c,c8,28,b4,00\n2014-08-15T19:00:22.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:22.139Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:22.142Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:22.144Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:22.147Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:22.153Z,4,129038,43,255,27,01,98,69,b3,0e,dd,10,93,0e,96,18,a1,23,51,5a,af,f8,01,3b,83,08,94,b0,00,00,00,fe\n2014-08-15T19:00:22.225Z,3,126992,160,255,8,ff,ff,a9,3f,90,56,c8,28\n2014-08-15T19:00:22.263Z,4,129038,43,255,27,03,02,8b,c4,0d,d8,6e,e1,0e,49,ee,ca,23,58,4f,86,72,01,61,0f,00,da,8f,ff,7f,00,fe\n2014-08-15T19:00:22.318Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:00:22.420Z,3,129291,160,255,8,ff,fc,c0,4d,0e,00,ff,ff\n2014-08-15T19:00:22.473Z,4,129038,43,255,27,01,b8,f5,67,12,b2,0b,89,0e,f6,7f,8f,23,58,56,2d,d1,03,eb,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:00:22.572Z,7,129793,43,255,26,04,90,18,23,00,4a,d3,e2,0e,ce,30,d3,23,00,50,37,c8,28,00,66,08,a9,3f,10,00,fc\n2014-08-15T19:00:22.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:22.604Z,3,128267,115,255,8,00,bc,13,00,00,ff,ff,ff\n2014-08-15T19:00:22.606Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:22.623Z,3,130577,160,255,14,c0,9d,89,87,69,01,ff,ff,ff,ff,c0,4d,0e,00\n2014-08-15T19:00:22.625Z,2,129025,160,255,8,b2,34,99,23,35,73,be,0e\n2014-08-15T19:00:22.635Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:22.652Z,4,129039,43,255,26,12,44,11,b6,0d,db,72,be,0e,40,35,99,23,5b,7e,88,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:22.705Z,2,130306,115,255,8,00,9d,02,31,17,f2,ff,ff\n2014-08-15T19:00:22.724Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:22.726Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:22.825Z,2,129026,160,255,8,ff,fc,89,87,69,01,ff,ff\n2014-08-15T19:00:22.963Z,6,129540,160,255,135,e5,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,ac,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,80,0c,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,28,0a,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:22.965Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:00:23.032Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,ec,67,e2,23,00,60,5e,c8,28,5c,03,01,a9,3f,10,00,fc\n2014-08-15T19:00:23.036Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:23.072Z,4,129039,43,255,26,12,90,e4,c3,0d,7b,cd,be,0e,9d,4a,7f,23,58,04,6d,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:23.075Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:23.077Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:23.079Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:23.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:23.138Z,3,129029,160,255,43,9e,a9,3f,dc,73,c8,28,00,74,a8,9c,65,d5,49,08,00,d2,c9,cb,c0,ce,6e,03,00,88,13,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:23.141Z,3,129033,160,255,8,a9,3f,dc,73,c8,28,b4,00\n2014-08-15T19:00:23.143Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:23.146Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:23.148Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:23.152Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:23.154Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:23.227Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:00:23.229Z,3,126992,160,255,8,ff,ff,a9,3f,aa,7d,c8,28\n2014-08-15T19:00:23.264Z,4,129038,43,255,27,03,28,f5,77,10,5b,8a,9f,0e,42,90,74,23,54,fe,77,71,00,11,12,08,db,62,ff,7f,00,fe\n2014-08-15T19:00:23.303Z,4,129038,43,255,27,01,c8,d4,7f,10,59,33,e0,0e,9a,38,c8,23,59,5b,7f,33,04,62,83,08,da,80,00,00,00,fe\n2014-08-15T19:00:23.325Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:00:23.417Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:00:23.427Z,3,129291,160,255,8,ff,fc,7b,a0,11,00,ff,ff\n2014-08-15T19:00:23.453Z,4,129038,43,255,27,01,e0,53,7f,10,52,3e,ca,0e,e4,9e,ae,23,5c,38,88,d3,05,38,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:00:23.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,34,02,03,00,00,00,04,00,00,00\n2014-08-15T19:00:23.591Z,3,128267,115,255,8,00,bc,13,00,00,ff,ff,ff\n2014-08-15T19:00:23.593Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:23.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:23.636Z,3,130577,160,255,14,c0,9e,db,86,70,01,ff,ff,ff,ff,7b,a0,11,00\n2014-08-15T19:00:23.639Z,2,129025,160,255,8,6f,33,99,23,71,72,be,0e\n2014-08-15T19:00:23.672Z,4,129039,43,255,26,12,44,11,b6,0d,23,72,be,0e,f2,33,99,23,5f,f2,84,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:23.710Z,2,130306,115,255,8,00,19,03,3e,28,f2,ff,ff\n2014-08-15T19:00:23.730Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:23.736Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:23.802Z,4,129039,43,255,26,12,ca,0c,b7,0d,fb,94,bd,0e,c7,62,97,23,5c,ac,75,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:23.836Z,2,129026,160,255,8,ff,fc,db,86,70,01,ff,ff\n2014-08-15T19:00:23.842Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,c8,7c,6f,23,5c,03,a6,00,00,3a,c0,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:23.922Z,4,129038,43,255,27,01,08,7b,ba,0d,1e,ac,95,0e,cc,ac,bd,23,5d,89,9f,7c,01,a3,83,01,37,a0,00,00,00,fe\n2014-08-15T19:00:23.977Z,6,129540,160,255,135,e6,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,f0,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,80,0c,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:23.979Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:00:24.003Z,6,129810,43,255,33,18,80,e5,c3,0d,24,44,47,59,44,24,3a,45,4f,4a,33,36,39,37,40,64,00,1e,00,00,00,64,00,00,00,00,00,00\n2014-08-15T19:00:24.040Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:24.076Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:24.078Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:24.081Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:24.123Z,4,129038,43,255,27,01,08,99,b5,0d,1b,e0,ca,0e,62,b2,a5,23,64,f3,48,44,01,00,66,00,f3,48,00,00,00,fe\n2014-08-15T19:00:24.135Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:24.137Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:24.139Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:24.143Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:24.145Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:24.151Z,3,129029,160,255,43,9f,a9,3f,f6,9a,c8,28,00,96,5b,68,1a,d5,49,08,00,2a,47,29,93,ce,6e,03,30,fd,13,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:24.154Z,3,129033,160,255,8,a9,3f,f6,9a,c8,28,b4,00\n2014-08-15T19:00:24.244Z,3,126992,160,255,8,ff,ff,a9,3f,ba,a4,c8,28\n2014-08-15T19:00:24.334Z,2,128259,160,255,8,ff,ff,ff,70,01,ff,ff,ff\n2014-08-15T19:00:24.436Z,3,129291,160,255,8,ff,fc,78,82,23,00,ff,ff\n2014-08-15T19:00:24.449Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:24.472Z,4,129038,43,255,27,01,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,59,ff,1d,05,00,00,00,08,b7,98,00,00,05,fe\n2014-08-15T19:00:24.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3a,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:24.585Z,4,129039,43,255,26,12,06,a5,b5,0d,02,f5,bd,0e,e8,00,99,23,60,a0,88,44,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:24.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:24.593Z,3,128267,115,255,8,00,bf,11,00,00,ff,ff,ff\n2014-08-15T19:00:24.615Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:24.636Z,3,130577,160,255,14,c0,9f,83,86,6e,01,ff,ff,ff,ff,78,82,23,00\n2014-08-15T19:00:24.638Z,2,129025,160,255,8,34,32,99,23,c7,71,be,0e\n2014-08-15T19:00:24.647Z,2,130306,115,255,8,00,89,02,60,1f,f2,ff,ff\n2014-08-15T19:00:24.667Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:24.682Z,4,129039,43,255,26,12,44,11,b6,0d,9e,71,be,0e,84,32,99,23,63,f2,84,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:24.737Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:24.839Z,2,129026,160,255,8,ff,fc,83,86,6e,01,ff,ff\n2014-08-15T19:00:24.976Z,6,129540,160,255,135,e7,ff,0b,20,0b,2f,09,98,b8,0b,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,f0,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,54,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,ac,0d,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,00,00,00,00,00,00,f0,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:00:24.978Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:00:25.039Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:25.062Z,4,129038,43,255,27,03,f8,d2,7e,10,83,45,da,0e,f9,47,da,23,55,ce,a5,05,00,00,00,00,ce,8d,00,00,05,fe\n2014-08-15T19:00:25.076Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:25.078Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:25.080Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:25.132Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,99,38,01,00\n2014-08-15T19:00:25.134Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:25.137Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:25.139Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:25.142Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:25.147Z,3,129029,160,255,43,a0,a9,3f,38,c2,c8,28,00,08,e5,10,d1,d4,49,08,00,06,7d,94,6b,ce,6e,03,60,01,12,00,00,00,00,00,10,fc,0a,78,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:25.149Z,3,129033,160,255,8,a9,3f,38,c2,c8,28,b4,00\n2014-08-15T19:00:25.235Z,3,126992,160,255,8,ff,ff,a9,3f,fc,cb,c8,28\n2014-08-15T19:00:25.272Z,4,129038,43,255,27,01,e0,53,7f,10,5b,37,ca,0e,0f,95,ae,23,64,f2,87,d3,05,38,40,01,fd,86,00,00,00,fe\n2014-08-15T19:00:25.337Z,2,128259,160,255,8,ff,ff,ff,6e,01,ff,ff,ff\n2014-08-15T19:00:25.355Z,4,129038,43,255,27,01,88,d6,d0,0c,65,4c,e8,0e,ea,74,b9,23,61,c3,97,37,03,b3,83,00,65,99,00,00,00,fe\n2014-08-15T19:00:25.393Z,4,129038,43,255,27,01,20,f6,7e,10,ee,36,c7,0e,29,eb,7f,23,61,a1,55,05,00,3d,40,09,13,c7,00,00,0f,fe\n2014-08-15T19:00:25.434Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:25.440Z,3,129291,160,255,8,ff,fc,22,84,1e,00,ff,ff\n2014-08-15T19:00:25.463Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:25.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:25.590Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:25.592Z,3,128267,115,255,8,00,a4,11,00,00,ff,ff,ff\n2014-08-15T19:00:25.615Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:25.646Z,3,130577,160,255,14,c0,a0,2c,86,6c,01,ff,ff,ff,ff,22,84,1e,00\n2014-08-15T19:00:25.649Z,2,129025,160,255,8,00,31,99,23,22,71,be,0e\n2014-08-15T19:00:25.651Z,2,130306,115,255,8,00,f0,02,ec,28,f2,ff,ff\n2014-08-15T19:00:25.677Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:25.692Z,4,129039,43,255,26,12,44,11,b6,0d,e7,70,be,0e,47,31,99,23,67,7e,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:25.749Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:25.845Z,2,129026,160,255,8,ff,fc,2c,86,6c,01,ff,ff\n2014-08-15T19:00:25.912Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,2c,f7,c7,23,00,90,d3,c8,28,c8,83,00,a9,3f,10,00,fc\n2014-08-15T19:00:25.952Z,4,129039,43,255,26,12,44,e0,c3,0d,fd,4f,bb,0e,a8,9a,8f,23,66,0f,81,96,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:25.987Z,6,129540,160,255,135,e8,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,fc,08,00,00,00,00,f2,0b,97,29,20,8d,80,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,f0,0a,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,34,08,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:26.000Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:00:26.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:26.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:26.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:26.077Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:26.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:26.129Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,ac,38,01,00\n2014-08-15T19:00:26.131Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:26.135Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:26.137Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:26.139Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:26.156Z,3,129029,160,255,43,a1,a9,3f,2a,e9,c8,28,00,00,aa,5a,89,d4,49,08,00,d4,b8,29,45,ce,6e,03,70,b7,0f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:26.157Z,3,129033,160,255,8,a9,3f,2a,e9,c8,28,b4,00\n2014-08-15T19:00:26.247Z,3,126992,160,255,8,ff,ff,a9,3f,ee,f2,c8,28\n2014-08-15T19:00:26.262Z,4,129039,43,255,26,12,58,7f,b6,0d,02,65,bc,0e,54,76,95,23,67,95,7d,62,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:26.345Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:00:26.447Z,3,129291,160,255,8,ff,fc,be,81,1a,00,ff,ff\n2014-08-15T19:00:26.572Z,2,130306,115,255,8,00,ad,02,c9,22,f2,ff,ff\n2014-08-15T19:00:26.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,32,02,02,00,01,03,03,00,00,00\n2014-08-15T19:00:26.584Z,4,129039,43,255,26,12,08,57,b6,0d,d1,ce,c7,0e,9a,4a,93,23,6b,79,57,9b,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:26.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:26.630Z,3,128267,115,255,8,00,a4,11,00,00,ff,ff,ff\n2014-08-15T19:00:26.632Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:26.652Z,3,130577,160,255,14,c0,a1,09,86,67,01,ff,ff,ff,ff,be,81,1a,00\n2014-08-15T19:00:26.654Z,2,129025,160,255,8,d7,2f,99,23,79,70,be,0e\n2014-08-15T19:00:26.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:26.712Z,4,129039,43,255,26,12,44,11,b6,0d,51,70,be,0e,0a,30,99,23,6b,5b,85,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:26.744Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:26.847Z,2,129026,160,255,8,ff,fc,09,86,67,01,ff,ff\n2014-08-15T19:00:26.984Z,6,129540,160,255,135,e9,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,8c,0a,00,00,00,00,f2,0b,97,29,20,8d,ac,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,54,0b,00,00,00,00,f2,14,68,12,ce,ab,10,0e,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,08,07,00,00,00,00,f2,13,e9,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:26.986Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:00:27.032Z,4,129039,43,255,26,12,80,e5,c3,0d,a6,3a,c0,0e,b4,55,96,23,6b,a1,55,53,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:27.036Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:27.073Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:27.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:27.077Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:27.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:27.126Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,ac,38,01,00\n2014-08-15T19:00:27.129Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:27.131Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:27.134Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:27.136Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:27.162Z,3,129029,160,255,43,a2,a9,3f,44,10,c9,28,00,a6,15,34,44,d4,49,08,00,7a,89,d0,1d,ce,6e,03,20,f4,0e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:27.164Z,3,129033,160,255,8,a9,3f,44,10,c9,28,b4,00\n2014-08-15T19:00:27.260Z,3,126992,160,255,8,ff,ff,a9,3f,08,1a,c9,28\n2014-08-15T19:00:27.352Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:00:27.452Z,4,129038,43,255,27,01,e0,53,7f,10,df,2c,ca,0e,48,86,ae,23,68,26,88,d3,05,38,c0,08,ac,87,00,00,00,fe\n2014-08-15T19:00:27.454Z,3,129291,160,255,8,ff,fc,be,81,1a,00,ff,ff\n2014-08-15T19:00:27.542Z,4,129038,43,255,27,01,fc,ff,e9,25,af,2f,2d,0f,6c,84,be,23,69,2b,bc,c5,02,1a,c0,00,7c,bb,00,00,00,fe\n2014-08-15T19:00:27.545Z,2,130306,115,255,8,00,55,02,03,1e,f2,ff,ff\n2014-08-15T19:00:27.570Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:27.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,2c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:27.605Z,3,128267,115,255,8,00,a4,11,00,00,ff,ff,ff\n2014-08-15T19:00:27.607Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:27.652Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:27.667Z,3,130577,160,255,14,c0,a2,5b,85,63,01,ff,ff,ff,ff,61,96,27,00\n2014-08-15T19:00:27.669Z,2,129025,160,255,8,b7,2e,99,23,dc,6f,be,0e\n2014-08-15T19:00:27.724Z,4,129039,43,255,26,12,44,11,b6,0d,cb,6f,be,0e,ef,2e,99,23,6f,1b,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:27.754Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:27.855Z,2,129026,160,255,8,ff,fc,5b,85,63,01,ff,ff\n2014-08-15T19:00:27.994Z,6,129540,160,255,135,ea,ff,0b,20,0b,2f,09,98,48,0d,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,ac,0d,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,34,08,00,00,00,00,f2,13,e9,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:27.997Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:00:28.037Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:28.076Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:28.078Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:28.080Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:28.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:28.124Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,ac,38,01,00\n2014-08-15T19:00:28.126Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:28.129Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:28.132Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:28.167Z,3,129029,160,255,43,a3,a9,3f,5e,37,c9,28,00,66,f2,25,01,d4,49,08,00,98,9b,42,f9,cd,6e,03,e0,39,13,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:28.171Z,3,129033,160,255,8,a9,3f,5e,37,c9,28,b4,00\n2014-08-15T19:00:28.201Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:28.265Z,3,126992,160,255,8,ff,ff,a9,3f,22,41,c9,28\n2014-08-15T19:00:28.364Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:00:28.467Z,3,129291,160,255,8,ff,fc,61,96,27,00,ff,ff\n2014-08-15T19:00:28.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,07,30,02,01,00,00,00,02,00,00,00\n2014-08-15T19:00:28.633Z,2,130306,115,255,8,00,e0,02,1b,31,f2,ff,ff\n2014-08-15T19:00:28.660Z,3,130577,160,255,14,c0,a3,cf,84,5d,01,ff,ff,ff,ff,61,96,27,00\n2014-08-15T19:00:28.663Z,2,129025,160,255,8,91,2d,99,23,59,6f,be,0e\n2014-08-15T19:00:28.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:28.673Z,3,128267,115,255,8,00,f0,10,00,00,ff,ff,ff\n2014-08-15T19:00:28.691Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:28.717Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:28.743Z,4,129039,43,255,26,12,44,11,b6,0d,46,6f,be,0e,a2,2d,99,23,73,8f,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:28.766Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:28.783Z,4,129038,43,255,27,01,b8,53,a6,0c,9f,71,7f,0e,6e,06,a0,23,74,6b,ac,73,02,00,66,08,88,ae,00,00,00,fe\n2014-08-15T19:00:28.823Z,4,129038,43,255,27,01,92,12,4b,10,05,62,00,0f,18,c0,ae,23,70,43,b1,bb,02,53,c0,00,9f,b2,ec,ff,00,fe\n2014-08-15T19:00:28.859Z,2,129026,160,255,8,ff,fc,cf,84,5d,01,ff,ff\n2014-08-15T19:00:28.864Z,4,129038,43,255,27,01,68,e2,20,12,cc,5f,01,0f,08,aa,ad,23,74,7d,af,fd,01,34,04,09,f1,b1,00,00,00,fe\n2014-08-15T19:00:28.902Z,4,129038,43,255,27,03,02,8b,c4,0d,fc,68,e1,0e,79,e6,ca,23,74,15,8b,6d,01,f0,0c,00,fd,95,ff,7f,00,fe\n2014-08-15T19:00:28.990Z,6,129540,160,255,135,eb,ff,0b,20,0b,2f,09,98,48,0d,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,4c,04,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,60,09,00,00,00,00,f2,13,e9,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:28.992Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:00:29.036Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:29.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:29.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:29.076Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:29.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:29.121Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,ac,38,01,00\n2014-08-15T19:00:29.124Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:29.126Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:29.131Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:29.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:29.175Z,3,129029,160,255,43,a4,a9,3f,8c,5e,c9,28,00,6a,2e,b2,bc,d3,49,08,00,3a,66,c2,da,cd,6e,03,d0,30,0e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:29.177Z,3,129033,160,255,8,a9,3f,8c,5e,c9,28,b4,00\n2014-08-15T19:00:29.270Z,3,126992,160,255,8,ff,ff,a9,3f,50,68,c9,28\n2014-08-15T19:00:29.294Z,4,129038,43,255,27,01,58,43,c9,0e,17,38,db,0e,82,41,aa,23,78,b1,af,b6,02,47,84,08,94,b0,00,00,00,fe\n2014-08-15T19:00:29.332Z,4,129038,43,255,27,01,b8,f5,67,12,2f,37,89,0e,99,89,8f,23,74,56,2d,d1,03,48,84,02,ff,2c,00,00,00,fe\n2014-08-15T19:00:29.373Z,4,129038,43,255,27,01,e0,53,7f,10,5b,29,ca,0e,66,81,ae,23,78,38,88,ce,05,49,84,00,ac,87,00,00,00,fe\n2014-08-15T19:00:29.375Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:00:29.465Z,3,129291,160,255,8,ff,fc,16,a7,17,00,ff,ff\n2014-08-15T19:00:29.482Z,2,130306,115,255,8,00,2c,02,f7,1b,f2,ff,ff\n2014-08-15T19:00:29.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:29.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3f,02,03,00,00,00,04,00,00,00\n2014-08-15T19:00:29.588Z,3,128267,115,255,8,00,cb,10,00,00,ff,ff,ff\n2014-08-15T19:00:29.590Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:29.611Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:29.670Z,3,130577,160,255,14,c0,a4,1b,83,62,01,ff,ff,ff,ff,16,a7,17,00\n2014-08-15T19:00:29.672Z,2,129025,160,255,8,5c,2c,99,23,f7,6e,be,0e\n2014-08-15T19:00:29.676Z,4,129038,43,255,27,01,c8,d4,7f,10,24,2e,e0,0e,77,22,c8,23,71,5b,7f,33,04,4a,c0,01,da,80,00,00,00,fe\n2014-08-15T19:00:29.742Z,4,129039,43,255,26,12,44,11,b6,0d,e2,6e,be,0e,76,2c,99,23,77,55,81,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:29.772Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:29.863Z,4,129038,43,255,27,01,10,dc,6d,0f,43,1b,63,0e,e6,12,9d,23,75,94,ad,83,02,3c,c0,00,88,ae,f6,ff,00,fe\n2014-08-15T19:00:29.873Z,2,129026,160,255,8,ff,fc,1b,83,62,01,ff,ff\n2014-08-15T19:00:30.011Z,6,129540,160,255,135,ec,ff,0b,20,0b,2f,09,98,48,0d,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,e8,03,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:30.013Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:00:30.043Z,2,128259,115,255,8,00,78,01,ff,ff,00,ff,ff\n2014-08-15T19:00:30.081Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:30.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:30.086Z,2,128259,115,255,8,00,76,01,ff,ff,00,ff,ff\n2014-08-15T19:00:30.119Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,ac,38,01,00\n2014-08-15T19:00:30.121Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:30.124Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:30.128Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,6f,c9,28,66,84,0b,a9,3f,00,00,fc\n2014-08-15T19:00:30.130Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:30.178Z,3,129029,160,255,43,a5,a9,3f,ce,85,c9,28,00,98,58,c0,74,d3,49,08,00,e6,24,f1,c3,cd,6e,03,e0,39,13,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:30.182Z,3,129033,160,255,8,a9,3f,ce,85,c9,28,b4,00\n2014-08-15T19:00:30.274Z,3,126992,160,255,8,ff,ff,a9,3f,92,8f,c9,28\n2014-08-15T19:00:30.313Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,da,ec,7f,23,70,13,e5,05,00,1f,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:30.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,6f,c9,28,6f,84,0b,a9,3f,00,00,fc\n2014-08-15T19:00:30.377Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:00:30.458Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:30.478Z,3,129291,160,255,8,ff,fc,86,05,07,00,ff,ff\n2014-08-15T19:00:30.481Z,2,130306,115,255,8,00,cc,02,8f,27,f2,ff,ff\n2014-08-15T19:00:30.484Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:30.499Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:30.503Z,4,129038,43,255,27,01,b0,79,7a,10,c0,c0,d4,0e,e6,80,80,23,70,b0,d9,de,01,fb,08,08,d9,da,0a,00,00,fe\n2014-08-15T19:00:30.535Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:30.565Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:30.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:00:30.601Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:30.603Z,3,128267,115,255,8,00,a4,10,00,00,ff,ff,ff\n2014-08-15T19:00:30.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:30.684Z,3,130577,160,255,14,c0,a5,0f,81,64,01,ff,ff,ff,ff,86,05,07,00\n2014-08-15T19:00:30.686Z,2,129025,160,255,8,0f,2b,99,23,ce,6e,be,0e\n2014-08-15T19:00:30.763Z,4,129039,43,255,26,12,44,11,b6,0d,c1,6e,be,0e,18,2b,99,23,7b,72,7d,86,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:30.785Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:30.873Z,4,129038,43,255,27,01,98,69,b3,0e,64,f5,92,0e,54,15,a1,23,71,5a,af,f8,01,f3,08,00,94,b0,00,00,00,fe\n2014-08-15T19:00:30.876Z,2,129026,160,255,8,ff,fc,0f,81,64,01,ff,ff\n2014-08-15T19:00:30.913Z,4,129038,43,255,27,01,6c,70,4a,10,e0,a8,fe,0e,1d,79,a3,23,77,73,35,ba,01,83,04,01,21,33,f2,ff,00,fe\n2014-08-15T19:00:31.011Z,6,129540,160,255,135,ed,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,80,0c,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:31.013Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:00:31.015Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:31.037Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:31.073Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:31.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:31.077Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:31.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:31.116Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,be,38,01,00\n2014-08-15T19:00:31.118Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:31.121Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:31.124Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:31.153Z,4,129038,43,255,27,01,c8,27,16,0e,1f,7f,64,0e,fa,5e,93,23,75,28,31,50,03,b2,84,00,16,31,00,00,00,fe\n2014-08-15T19:00:31.187Z,3,129029,160,255,43,a6,a9,3f,e8,ac,c9,28,00,d6,ff,37,27,d3,49,08,00,8c,5a,65,ba,cd,6e,03,a0,9d,12,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:31.189Z,3,129033,160,255,8,a9,3f,e8,ac,c9,28,b4,00\n2014-08-15T19:00:31.273Z,4,129039,43,255,26,12,44,11,b6,0d,c1,6e,be,0e,18,2b,99,23,7b,72,7d,86,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:00:31.283Z,3,126992,160,255,8,ff,ff,a9,3f,ac,b6,c9,28\n2014-08-15T19:00:31.386Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:00:31.412Z,2,130306,115,255,8,00,b7,02,26,24,f2,ff,ff\n2014-08-15T19:00:31.432Z,4,129038,43,255,27,03,02,8b,c4,0d,c7,63,e1,0e,91,e2,ca,23,80,7d,8e,62,01,b1,0d,08,08,98,ff,7f,00,fe\n2014-08-15T19:00:31.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:31.469Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:31.488Z,3,129291,160,255,8,ff,fc,50,33,29,00,ff,ff\n2014-08-15T19:00:31.490Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:31.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:31.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:31.586Z,3,128267,115,255,8,00,d7,0f,00,00,ff,ff,ff\n2014-08-15T19:00:31.593Z,4,129038,43,255,27,01,e0,53,7f,10,e0,1e,ca,0e,af,72,ae,23,84,e0,87,d3,05,38,40,09,fd,86,00,00,00,fe\n2014-08-15T19:00:31.607Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:31.632Z,4,129039,43,255,26,12,8c,d3,b5,0d,d5,91,bf,0e,b6,a1,99,23,78,b2,8e,39,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:00:31.685Z,3,130577,160,255,14,c0,a6,55,81,67,01,ff,ff,ff,ff,50,33,29,00\n2014-08-15T19:00:31.688Z,2,129025,160,255,8,d2,29,99,23,95,6e,be,0e\n2014-08-15T19:00:31.772Z,4,129039,43,255,26,12,44,11,b6,0d,4c,6e,be,0e,ca,29,99,23,7f,89,81,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:31.787Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:31.880Z,2,129026,160,255,8,ff,fc,55,81,67,01,ff,ff\n2014-08-15T19:00:31.883Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:31.993Z,4,129038,43,255,27,01,d0,e7,da,0d,fa,9a,33,0f,64,0e,c4,23,81,2f,02,05,00,00,66,08,d9,bc,00,00,00,fe\n2014-08-15T19:00:32.018Z,6,129540,160,255,135,ee,ff,0b,20,0b,2f,09,98,f0,0a,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,80,0c,00,00,00,00,f2,16,f4,0c,39,37,b8,0b,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,c4,09,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:32.021Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:00:32.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:32.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:32.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:32.076Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:32.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:32.113Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,be,38,01,00\n2014-08-15T19:00:32.117Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:32.118Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:32.121Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:32.140Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:00:32.192Z,3,129029,160,255,43,a7,a9,3f,02,d4,c9,28,00,b4,53,69,dd,d2,49,08,00,92,e3,1f,ad,cd,6e,03,70,0a,17,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:32.194Z,3,129033,160,255,8,a9,3f,02,d4,c9,28,b4,00\n2014-08-15T19:00:32.267Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:00:32.286Z,3,126992,160,255,8,ff,ff,a9,3f,c6,dd,c9,28\n2014-08-15T19:00:32.389Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:00:32.415Z,2,130306,115,255,8,00,79,02,8f,27,f2,ff,ff\n2014-08-15T19:00:32.441Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:32.474Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:32.491Z,3,129291,160,255,8,ff,fc,e1,42,1e,00,ff,ff\n2014-08-15T19:00:32.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,40,02,03,00,02,01,04,00,00,00\n2014-08-15T19:00:32.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:32.585Z,3,128267,115,255,8,00,0e,11,00,00,ff,ff,ff\n2014-08-15T19:00:32.597Z,6,129794,43,255,75,05,20,23,c2,0e,02,b1,8c,00,49,42,4c,45,40,40,40,54,55,52,43,48,45,53,45,40,40,40,40,40,40,40,40,40,40,40,40,59,50,05,c8,00,64,00,20,03,a9,3f,00,2a,75,15,58,02,50,41,4c,44,49,53,4b,49,40,40,40,40,40,40,40,40,40,40,40,40,00,e1\n2014-08-15T19:00:32.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:32.654Z,7,127506,129,255,9,05,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:32.697Z,3,130577,160,255,14,c0,a7,be,81,6a,01,ff,ff,ff,ff,e1,42,1e,00\n2014-08-15T19:00:32.699Z,2,129025,160,255,8,8c,28,99,23,19,6e,be,0e\n2014-08-15T19:00:32.797Z,6,129794,43,255,75,05,08,7b,ba,0d,18,c3,81,00,4f,49,54,4d,20,20,20,56,45,4b,41,52,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,46,34,03,78,00,32,00,ee,02,aa,3f,00,37,05,0f,a4,01,4b,45,4d,49,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:00:32.799Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:32.832Z,4,129039,43,255,26,12,44,11,b6,0d,d7,6d,be,0e,7d,28,99,23,83,7e,82,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:32.887Z,2,129026,160,255,8,ff,fc,be,81,6a,01,ff,ff\n2014-08-15T19:00:33.010Z,6,129540,160,255,111,ef,ff,09,0b,97,29,20,8d,c4,09,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,54,0b,00,00,00,00,f2,11,51,0e,7c,d9,e4,0c,00,00,00,00,f2,16,f4,0c,39,37,b8,0b,00,00,00,00,f2,04,46,0c,1f,c9,60,09,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:33.014Z,4,129038,43,255,27,01,08,99,b5,0d,20,ed,ca,0e,e0,ab,a5,23,88,50,4a,49,01,d2,84,08,f3,48,00,00,00,fe\n2014-08-15T19:00:33.016Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:00:33.036Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:00:33.042Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,1e,68,e2,23,00,00,e5,c9,28,d3,04,09,a9,3f,10,00,fc\n2014-08-15T19:00:33.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:33.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:33.076Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:00:33.082Z,4,129039,43,255,26,12,6e,c9,b5,0d,f3,d6,ce,0e,8d,b7,90,23,82,27,58,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:33.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:33.111Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,be,38,01,00\n2014-08-15T19:00:33.114Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:33.116Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:33.119Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:33.195Z,3,129029,160,255,43,a8,a9,3f,68,04,ca,28,00,78,36,82,91,d2,49,08,00,ba,e9,40,90,cd,6e,03,70,7b,19,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:33.198Z,3,129033,160,255,8,a9,3f,68,04,ca,28,b4,00\n2014-08-15T19:00:33.279Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:33.294Z,3,126992,160,255,8,ff,ff,a9,3f,68,04,ca,28\n2014-08-15T19:00:33.396Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:00:33.404Z,2,130306,115,255,8,00,9d,02,bd,20,f2,ff,ff\n2014-08-15T19:00:33.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:33.466Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:33.497Z,3,129291,160,255,8,ff,fc,c1,48,21,00,ff,ff\n2014-08-15T19:00:33.524Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:33.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:33.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:33.585Z,3,128267,115,255,8,00,b0,0f,00,00,ff,ff,ff\n2014-08-15T19:00:33.604Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:33.642Z,4,129038,43,255,27,01,e0,53,7f,10,e9,17,ca,0e,da,68,ae,23,8c,26,88,ce,05,bf,08,00,fd,86,00,00,00,fe\n2014-08-15T19:00:33.682Z,4,129038,43,255,27,01,fc,ff,e9,25,eb,0c,2d,0f,1d,86,be,23,85,7d,bb,c5,02,eb,84,08,7c,bb,f6,ff,00,fe\n2014-08-15T19:00:33.693Z,3,130577,160,255,14,c0,a8,15,82,6c,01,ff,ff,ff,ff,c1,48,21,00\n2014-08-15T19:00:33.695Z,2,129025,160,255,8,46,27,99,23,7a,6d,be,0e\n2014-08-15T19:00:33.794Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:33.802Z,4,129039,43,255,26,12,44,11,b6,0d,52,6d,be,0e,30,27,99,23,87,a1,82,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:33.842Z,4,129038,43,255,27,01,b8,83,92,0e,77,b9,e0,0e,5e,c8,75,23,89,8e,c1,05,00,3b,c0,08,07,d4,00,00,00,fe\n2014-08-15T19:00:33.901Z,2,129026,160,255,8,ff,fc,15,82,6c,01,ff,ff\n2014-08-15T19:00:34.038Z,6,129540,160,255,135,f0,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,f0,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,48,0d,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,54,0b,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:34.041Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:00:34.043Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:34.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:34.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:34.075Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:34.083Z,7,127506,129,255,9,06,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:34.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:34.108Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,be,38,01,00\n2014-08-15T19:00:34.111Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:34.114Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:34.116Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:34.122Z,4,129038,43,255,27,01,20,f6,7e,10,bc,36,c7,0e,3a,eb,7f,23,85,a1,55,05,00,3d,c0,00,65,c6,00,00,0f,fe\n2014-08-15T19:00:34.162Z,4,129038,43,255,27,01,d2,ff,4a,10,3b,8a,b1,0e,2b,02,71,23,89,b0,f1,00,00,00,66,00,37,91,0a,00,00,fe\n2014-08-15T19:00:34.203Z,3,129029,160,255,43,a9,a9,3f,fa,2b,ca,28,00,3c,19,9b,45,d2,49,08,00,44,c6,3b,6b,cd,6e,03,20,0b,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:34.205Z,3,129033,160,255,8,a9,3f,fa,2b,ca,28,b4,00\n2014-08-15T19:00:34.217Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:34.299Z,3,126992,160,255,8,ff,ff,a9,3f,fa,2b,ca,28\n2014-08-15T19:00:34.342Z,4,129038,43,255,27,03,02,8b,c4,0d,2c,61,e1,0e,9d,e0,ca,23,8c,da,8f,62,01,00,00,00,c2,9a,ff,7f,00,fe\n2014-08-15T19:00:34.360Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:34.400Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:00:34.417Z,2,130306,115,255,8,00,93,02,8f,27,f2,ff,ff\n2014-08-15T19:00:34.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:34.503Z,3,129291,160,255,8,ff,fc,2b,5a,21,00,ff,ff\n2014-08-15T19:00:34.567Z,6,129794,43,255,75,05,90,75,cd,0e,0e,69,89,00,39,48,41,57,36,20,20,4b,45,52,47,49,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,46,ff,ff,ff,ff,ff,ff,ff,ff,f6,40,00,88,2a,11,7c,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,44,e1\n2014-08-15T19:00:34.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,41,02,03,00,00,00,04,00,00,00\n2014-08-15T19:00:34.583Z,3,128267,115,255,8,00,a0,0f,00,00,ff,ff,ff\n2014-08-15T19:00:34.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:34.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:34.708Z,3,130577,160,255,14,c0,a9,03,82,6c,01,ff,ff,ff,ff,2b,5a,21,00\n2014-08-15T19:00:34.710Z,2,129025,160,255,8,ff,25,99,23,ee,6c,be,0e\n2014-08-15T19:00:34.742Z,4,129038,43,255,27,01,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,81,b7,98,00,00,00,00,00,b7,98,00,00,05,fe\n2014-08-15T19:00:34.799Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:34.814Z,4,129039,43,255,26,12,44,11,b6,0d,cd,6c,be,0e,f3,25,99,23,8b,e6,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:34.820Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:34.852Z,4,129038,43,255,27,01,b8,f5,67,12,2d,56,89,0e,05,91,8f,23,88,68,2d,cc,03,61,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:00:34.911Z,2,129026,160,255,8,ff,fc,03,82,6c,01,ff,ff\n2014-08-15T19:00:35.030Z,6,129540,160,255,135,f1,ff,0b,20,0b,2f,09,98,b8,0b,00,00,00,00,f2,01,ff,2c,b7,b6,8c,0a,00,00,00,00,f2,0b,97,29,20,8d,ac,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:35.032Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:00:35.044Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:35.082Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:35.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:35.086Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:35.106Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,be,38,01,00\n2014-08-15T19:00:35.108Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:35.112Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:35.114Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:35.214Z,3,129029,160,255,43,aa,a9,3f,1e,53,ca,28,00,36,61,78,f9,d1,49,08,00,cc,1f,a3,4a,cd,6e,03,40,59,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:35.217Z,3,129033,160,255,8,a9,3f,1e,53,ca,28,b4,00\n2014-08-15T19:00:35.242Z,4,129038,43,255,27,01,10,04,1a,0e,8b,bf,03,0f,60,6e,af,23,88,da,b0,9c,02,26,85,00,4e,b3,00,00,00,fe\n2014-08-15T19:00:35.300Z,3,126992,160,255,8,ff,ff,a9,3f,1e,53,ca,28\n2014-08-15T19:00:35.352Z,4,129038,43,255,27,01,e0,53,7f,10,75,14,ca,0e,f8,63,ae,23,90,15,88,d3,05,38,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:00:35.359Z,3,127508,129,255,8,01,15,05,00,00,1e,75,06\n2014-08-15T19:00:35.391Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:35.402Z,4,129038,43,255,27,01,c8,d4,7f,10,ef,28,e0,0e,ae,0b,c8,23,89,26,7f,33,04,4a,c0,08,da,80,00,00,00,fe\n2014-08-15T19:00:35.411Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:00:35.418Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:35.446Z,2,130306,115,255,8,00,6a,02,26,24,f2,ff,ff\n2014-08-15T19:00:35.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:35.501Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:35.503Z,3,129291,160,255,8,ff,fc,1a,6a,27,00,ff,ff\n2014-08-15T19:00:35.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:35.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:35.585Z,3,128267,115,255,8,00,a0,0f,00,00,ff,ff,ff\n2014-08-15T19:00:35.665Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:35.706Z,3,130577,160,255,14,c0,aa,5b,82,69,01,ff,ff,ff,ff,1a,6a,27,00\n2014-08-15T19:00:35.709Z,2,129025,160,255,8,c1,24,99,23,65,6c,be,0e\n2014-08-15T19:00:35.803Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:35.832Z,4,129039,43,255,26,12,44,11,b6,0d,47,6c,be,0e,c7,24,99,23,8f,09,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:35.875Z,3,127508,129,255,8,01,17,05,00,00,1e,75,06\n2014-08-15T19:00:35.910Z,2,129026,160,255,8,ff,fc,5b,82,69,01,ff,ff\n2014-08-15T19:00:35.918Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,2c,f7,c7,23,00,30,5a,ca,28,3f,85,08,a9,3f,10,00,fc\n2014-08-15T19:00:36.038Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:36.051Z,6,129540,160,255,135,f2,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:36.063Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:00:36.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:36.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:36.084Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:36.089Z,3,127508,129,255,8,01,18,05,00,00,1e,75,06\n2014-08-15T19:00:36.104Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,d1,38,01,00\n2014-08-15T19:00:36.106Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:36.108Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:36.110Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:36.118Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:36.218Z,3,129029,160,255,43,ab,a9,3f,7e,7a,ca,28,00,4a,1a,6e,af,d1,49,08,00,b2,49,bd,2a,cd,6e,03,e0,df,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:36.220Z,3,129033,160,255,8,a9,3f,7e,7a,ca,28,b4,00\n2014-08-15T19:00:36.314Z,3,126992,160,255,8,ff,ff,a9,3f,7e,7a,ca,28\n2014-08-15T19:00:36.354Z,2,130306,115,255,8,00,9d,02,32,26,f2,ff,ff\n2014-08-15T19:00:36.410Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:00:36.423Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:36.459Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:36.503Z,7,127506,129,255,9,07,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:36.513Z,3,129291,160,255,8,ff,fc,90,7a,29,00,ff,ff\n2014-08-15T19:00:36.572Z,4,129038,43,255,27,03,08,ad,c4,0d,65,1f,ca,0e,5a,fd,76,23,94,59,f1,05,00,7a,50,09,b7,89,00,00,05,fe\n2014-08-15T19:00:36.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,4c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:36.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:36.597Z,3,128267,115,255,8,00,a0,0f,00,00,ff,ff,ff\n2014-08-15T19:00:36.620Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:36.668Z,3,127508,129,255,8,01,19,05,00,00,1e,75,07\n2014-08-15T19:00:36.712Z,3,130577,160,255,14,c0,ab,5b,82,6a,01,ff,ff,ff,ff,90,7a,29,00\n2014-08-15T19:00:36.715Z,2,129025,160,255,8,88,23,99,23,db,6b,be,0e\n2014-08-15T19:00:36.732Z,4,129038,43,255,27,01,88,d6,d0,0c,85,1d,e8,0e,32,5b,b9,23,91,8f,97,3c,03,40,c0,00,65,99,00,00,00,fe\n2014-08-15T19:00:36.812Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:36.842Z,4,129039,43,255,26,12,44,11,b6,0d,e3,6b,be,0e,7a,23,99,23,93,32,81,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:36.882Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,f9,5e,6e,23,90,20,ae,00,00,63,05,09,1f,ab,00,00,00,fe\n2014-08-15T19:00:36.914Z,2,129026,160,255,8,ff,fc,5b,82,6a,01,ff,ff\n2014-08-15T19:00:37.002Z,4,129038,43,255,27,01,d4,e5,b5,0d,50,10,e1,0e,e2,25,de,23,94,8b,21,00,00,68,85,09,68,21,00,00,00,fe\n2014-08-15T19:00:37.041Z,6,129540,160,255,135,f3,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,80,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,fc,08,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,54,0b,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:37.043Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:00:37.045Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:37.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:37.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:37.076Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:37.101Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,d1,38,01,00\n2014-08-15T19:00:37.105Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:37.106Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:37.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:37.111Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:37.114Z,4,129038,43,255,27,03,60,dd,c3,0d,66,5e,b9,0e,8e,61,70,23,95,a6,95,00,00,00,00,00,ff,0e,00,00,05,fe\n2014-08-15T19:00:37.195Z,4,129038,43,255,27,01,68,e2,20,12,21,44,01,0f,c7,a6,ad,23,94,6b,af,fd,01,6f,05,01,f1,b1,00,00,00,fe\n2014-08-15T19:00:37.215Z,3,129029,160,255,43,ac,a9,3f,7a,a1,ca,28,00,50,d9,8d,66,d1,49,08,00,ce,d8,9b,0a,cd,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:37.218Z,3,129033,160,255,8,a9,3f,7a,a1,ca,28,b4,00\n2014-08-15T19:00:37.272Z,4,129038,43,255,27,03,02,8b,c4,0d,50,5b,e1,0e,b5,dc,ca,23,94,f2,93,53,01,50,12,08,ce,9c,ff,7f,00,fe\n2014-08-15T19:00:37.314Z,3,126992,160,255,8,ff,ff,a9,3f,7a,a1,ca,28\n2014-08-15T19:00:37.319Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:37.355Z,2,130306,115,255,8,00,bc,02,3e,28,f2,ff,ff\n2014-08-15T19:00:37.405Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:37.416Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:37.422Z,4,129038,43,255,27,01,c8,27,16,0e,b8,9d,64,0e,89,63,93,23,8d,4b,31,50,03,9d,85,08,16,31,f6,ff,00,fe\n2014-08-15T19:00:37.439Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:37.509Z,3,129291,160,255,8,ff,fc,90,7a,29,00,ff,ff\n2014-08-15T19:00:37.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:37.582Z,3,128267,115,255,8,00,c8,0e,00,00,ff,ff,ff\n2014-08-15T19:00:37.584Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2a,02,03,00,00,00,04,00,00,00\n2014-08-15T19:00:37.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:37.622Z,4,129038,43,255,27,01,e0,53,7f,10,fa,09,ca,0e,42,55,ae,23,9c,26,88,c9,05,7f,85,01,fd,86,ff,7f,00,fe\n2014-08-15T19:00:37.672Z,4,129038,43,255,27,03,28,f5,77,10,dd,90,9f,0e,c0,89,74,23,94,cf,6f,6c,00,00,00,08,b8,5c,ff,7f,00,fe\n2014-08-15T19:00:37.717Z,3,130577,160,255,14,c0,ac,8f,82,66,01,ff,ff,ff,ff,a4,8a,0b,00\n2014-08-15T19:00:37.719Z,2,129025,160,255,8,47,22,99,23,46,6b,be,0e\n2014-08-15T19:00:37.802Z,4,129038,43,255,27,01,b8,53,a6,0c,0f,4c,7f,0e,a3,00,a0,23,98,7d,ac,6e,02,86,85,01,88,ae,00,00,00,fe\n2014-08-15T19:00:37.812Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:37.852Z,4,129039,43,255,26,12,44,11,b6,0d,6f,6b,be,0e,4e,22,99,23,97,8f,82,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:37.914Z,2,129026,160,255,8,ff,fc,8f,82,66,01,ff,ff\n2014-08-15T19:00:37.992Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:37.993Z,4,129038,43,255,27,01,58,43,c9,0e,51,0d,db,0e,d2,3c,aa,23,98,a0,af,b6,02,b9,08,00,94,b0,00,00,00,fe\n2014-08-15T19:00:38.022Z,3,127508,129,255,8,01,1b,05,00,00,1e,75,07\n2014-08-15T19:00:38.045Z,6,129540,160,255,135,f4,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,f0,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:38.047Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:00:38.050Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:38.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:38.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:38.077Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:38.098Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,d1,38,01,00\n2014-08-15T19:00:38.100Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:38.102Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:38.105Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:38.107Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:38.144Z,3,127508,129,255,8,01,1c,05,00,00,1e,75,07\n2014-08-15T19:00:38.222Z,3,129029,160,255,43,ad,a9,3f,94,c8,ca,28,00,06,c2,d0,1b,d1,49,08,00,3c,c1,ea,e7,cc,6e,03,30,c1,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:38.224Z,3,129033,160,255,8,a9,3f,94,c8,ca,28,b4,00\n2014-08-15T19:00:38.316Z,3,126992,160,255,8,ff,ff,a9,3f,94,c8,ca,28\n2014-08-15T19:00:38.398Z,3,127508,129,255,8,01,1c,05,00,00,1e,75,07\n2014-08-15T19:00:38.400Z,2,130306,115,255,8,00,55,02,1a,22,f2,ff,ff\n2014-08-15T19:00:38.416Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:00:38.420Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:38.455Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:38.517Z,3,129291,160,255,8,ff,fc,a4,8a,0b,00,ff,ff\n2014-08-15T19:00:38.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:38.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:38.586Z,3,128267,115,255,8,00,39,0f,00,00,ff,ff,ff\n2014-08-15T19:00:38.610Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:38.713Z,3,130577,160,255,14,c0,ad,cf,81,65,01,ff,ff,ff,ff,3d,80,17,00\n2014-08-15T19:00:38.716Z,2,129025,160,255,8,18,21,99,23,d5,6a,be,0e\n2014-08-15T19:00:38.814Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:38.872Z,4,129039,43,255,26,12,44,11,b6,0d,3d,6b,be,0e,11,21,99,23,9b,b8,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:38.915Z,2,129026,160,255,8,ff,fc,cf,81,65,01,ff,ff\n2014-08-15T19:00:39.033Z,4,129038,43,255,27,01,10,dc,6d,0f,65,f4,62,0e,4c,0d,9d,23,99,94,ad,83,02,b4,05,09,88,ae,ec,ff,00,fe\n2014-08-15T19:00:39.038Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:39.053Z,3,127508,129,255,8,01,1e,05,00,00,1e,75,07\n2014-08-15T19:00:39.074Z,6,129540,160,255,135,f5,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,8c,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,34,08,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:39.076Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:00:39.079Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:39.081Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:39.083Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:39.097Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,d1,38,01,00\n2014-08-15T19:00:39.098Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:39.102Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:39.103Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:39.109Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:39.113Z,4,129039,43,255,26,12,ec,d7,b5,0d,5b,19,bc,0e,86,2a,91,23,9a,5b,7f,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:39.229Z,3,129029,160,255,43,ae,a9,3f,86,ef,ca,28,00,f0,8c,44,d5,d0,49,08,00,12,6e,9b,cd,cc,6e,03,80,f5,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:39.231Z,3,129033,160,255,8,a9,3f,86,ef,ca,28,b4,00\n2014-08-15T19:00:39.315Z,3,126992,160,255,8,ff,ff,a9,3f,86,ef,ca,28\n2014-08-15T19:00:39.329Z,7,127506,129,255,9,08,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:39.388Z,2,130306,115,255,8,00,a2,02,ca,31,f2,ff,ff\n2014-08-15T19:00:39.412Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:39.416Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:00:39.452Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:39.519Z,3,129291,160,255,8,ff,fc,3d,80,17,00,ff,ff\n2014-08-15T19:00:39.543Z,4,129038,43,255,27,01,e0,53,7f,10,24,03,ca,0e,6d,4b,ae,23,a4,15,88,c9,05,c7,08,08,fd,86,ff,7f,00,fe\n2014-08-15T19:00:39.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:39.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2b,02,02,00,01,01,03,00,00,00\n2014-08-15T19:00:39.585Z,3,128267,115,255,8,00,d7,0e,00,00,ff,ff,ff\n2014-08-15T19:00:39.623Z,4,129038,43,255,27,01,38,5e,49,16,ac,7a,ca,0e,a2,bf,76,23,9d,26,af,00,00,36,c0,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:00:39.627Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:39.664Z,3,127508,129,255,8,01,1f,05,00,00,1e,75,08\n2014-08-15T19:00:39.725Z,3,130577,160,255,14,c0,ae,43,81,62,01,ff,ff,ff,ff,3d,80,17,00\n2014-08-15T19:00:39.727Z,2,129025,160,255,8,e8,1f,99,23,92,6a,be,0e\n2014-08-15T19:00:39.773Z,4,129038,43,255,27,01,92,12,4b,10,73,34,00,0f,18,c0,ae,23,9c,43,b1,bb,02,d0,05,09,9f,b2,00,00,00,fe\n2014-08-15T19:00:39.818Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:39.857Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:39.882Z,4,129039,43,255,26,12,44,11,b6,0d,c8,6a,be,0e,d4,1f,99,23,9f,43,81,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:39.920Z,2,129026,160,255,8,ff,fc,43,81,62,01,ff,ff\n2014-08-15T19:00:39.924Z,4,129038,43,255,27,01,6c,70,4a,10,27,c4,fe,0e,0b,7c,a3,23,9b,50,35,bf,01,1d,c0,08,21,33,fa,ff,00,fe\n2014-08-15T19:00:39.961Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:40.055Z,6,129540,160,255,135,f6,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,f0,0a,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,60,09,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:40.057Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:00:40.059Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:00:40.061Z,3,127508,129,255,8,01,20,05,00,00,1e,75,08\n2014-08-15T19:00:40.082Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:40.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:40.086Z,2,128259,115,255,8,00,46,01,ff,ff,00,ff,ff\n2014-08-15T19:00:40.093Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,d1,38,01,00\n2014-08-15T19:00:40.096Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:40.098Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:40.101Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:40.105Z,4,129038,43,255,27,01,fc,ff,e9,25,45,f0,2c,0f,8d,84,be,23,9d,7d,bb,cb,02,00,66,00,7c,bb,1a,00,00,fe\n2014-08-15T19:00:40.143Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,f6,ca,28,00,66,02,a9,3f,00,00,fc\n2014-08-15T19:00:40.155Z,2,130306,115,255,8,00,65,02,e0,26,f2,ff,ff\n2014-08-15T19:00:40.178Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:40.227Z,3,129029,160,255,43,af,a9,3f,a0,16,cb,28,00,10,bd,7c,8e,d0,49,08,00,34,eb,01,be,cc,6e,03,a0,d2,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:40.229Z,3,129033,160,255,8,a9,3f,a0,16,cb,28,b4,00\n2014-08-15T19:00:40.323Z,3,126992,160,255,8,ff,ff,a9,3f,a0,16,cb,28\n2014-08-15T19:00:40.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,70,f6,ca,28,00,66,02,a9,3f,00,00,fc\n2014-08-15T19:00:40.421Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:00:40.503Z,4,129038,43,255,27,03,28,f5,77,10,dd,90,9f,0e,c0,89,74,23,9c,21,6f,6c,00,80,10,00,09,5c,ff,7f,00,fe\n2014-08-15T19:00:40.522Z,3,129291,160,255,8,ff,fc,19,82,15,00,ff,ff\n2014-08-15T19:00:40.526Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:40.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:40.561Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:40.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3b,02,02,00,00,00,04,00,00,00\n2014-08-15T19:00:40.590Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:40.620Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:40.622Z,3,128267,115,255,8,00,3c,0e,00,00,ff,ff,ff\n2014-08-15T19:00:40.652Z,3,127508,129,255,8,01,21,05,00,00,1e,75,08\n2014-08-15T19:00:40.653Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:40.728Z,3,130577,160,255,14,c0,af,32,81,60,01,ff,ff,ff,ff,19,82,15,00\n2014-08-15T19:00:40.730Z,2,129025,160,255,8,bc,1e,99,23,35,6a,be,0e\n2014-08-15T19:00:40.742Z,4,129038,43,255,27,01,b0,79,7a,10,1b,a4,d4,0e,aa,8a,80,23,9c,c2,d9,de,01,f4,85,00,d9,da,00,00,00,fe\n2014-08-15T19:00:40.829Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:40.867Z,6,129794,43,255,75,05,50,10,7f,16,a8,24,88,00,4a,38,42,32,37,37,30,45,52,4c,41,4e,44,41,20,20,20,20,20,20,20,20,20,20,20,20,20,46,34,03,78,00,5a,00,d0,02,0d,41,00,bf,2f,20,36,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:00:40.903Z,4,129039,43,255,26,12,44,11,b6,0d,64,6a,be,0e,b9,1e,99,23,a3,89,81,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:40.944Z,2,129026,160,255,8,ff,fc,32,81,60,01,ff,ff\n2014-08-15T19:00:40.953Z,4,129038,43,255,27,03,02,8b,c4,0d,cd,54,e1,0e,cd,d8,ca,23,a4,09,98,53,01,f1,0f,00,da,9e,ff,7f,00,fe\n2014-08-15T19:00:40.983Z,3,127508,129,255,8,01,23,05,00,00,1e,75,08\n2014-08-15T19:00:41.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:41.061Z,6,129540,160,255,135,f7,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,80,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,54,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,f0,0a,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,60,09,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:41.065Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:00:41.065Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:41.071Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:41.079Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:41.079Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:41.083Z,4,129039,43,255,26,12,66,58,b6,0d,bd,6a,bc,0e,66,15,94,23,a3,d5,79,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:41.092Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:41.095Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:41.095Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:41.099Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:41.104Z,2,130306,115,255,8,00,b7,02,e0,26,f2,ff,ff\n2014-08-15T19:00:41.143Z,4,129038,43,255,27,01,88,44,7d,10,f1,22,c7,0e,eb,ec,7f,23,9c,38,76,05,00,00,66,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:41.239Z,3,129029,160,255,43,b0,a9,3f,ec,3d,cb,28,00,58,58,a3,48,d0,49,08,00,d2,af,5a,a8,cc,6e,03,60,a7,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:41.241Z,3,129033,160,255,8,a9,3f,ec,3d,cb,28,b4,00\n2014-08-15T19:00:41.307Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:00:41.329Z,3,127508,129,255,8,01,24,05,00,00,1e,75,08\n2014-08-15T19:00:41.333Z,3,126992,160,255,8,ff,ff,a9,3f,ec,3d,cb,28\n2014-08-15T19:00:41.378Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:41.411Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:41.428Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:00:41.441Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:41.512Z,4,129038,43,255,27,01,e0,53,7f,10,4e,fc,c9,0e,a9,41,ae,23,a8,ac,87,c9,05,c7,08,00,fd,86,00,00,00,fe\n2014-08-15T19:00:41.528Z,3,129291,160,255,8,ff,fc,c1,7b,1a,00,ff,ff\n2014-08-15T19:00:41.530Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:41.552Z,4,129039,43,255,26,12,9e,d6,c3,0d,b5,97,c4,0e,3f,c5,94,23,a6,3e,59,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:41.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,52,02,03,00,02,01,04,00,00,00\n2014-08-15T19:00:41.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:41.597Z,3,128267,115,255,8,00,1d,0e,00,00,ff,ff,ff\n2014-08-15T19:00:41.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:41.677Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:00:41.706Z,7,127506,129,255,9,09,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:41.736Z,3,130577,160,255,14,c0,b0,a6,80,64,01,ff,ff,ff,ff,c1,7b,1a,00\n2014-08-15T19:00:41.738Z,2,129025,160,255,8,88,1d,99,23,e2,69,be,0e\n2014-08-15T19:00:41.829Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:41.868Z,3,127508,129,255,8,01,25,05,00,00,1e,75,09\n2014-08-15T19:00:41.903Z,4,129039,43,255,26,12,44,11,b6,0d,21,6a,be,0e,6c,1d,99,23,a7,15,7f,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:41.931Z,2,129026,160,255,8,ff,fc,a6,80,64,01,ff,ff\n2014-08-15T19:00:41.935Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:42.027Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:42.036Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:42.059Z,6,129540,160,255,135,f8,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,54,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,f0,0a,00,00,00,00,f2,04,46,0c,1f,c9,80,0c,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,60,09,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:42.061Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:00:42.064Z,2,130306,115,255,8,00,83,02,0e,20,f2,ff,ff\n2014-08-15T19:00:42.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:42.087Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:42.090Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:42.093Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:42.095Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:42.123Z,4,129038,43,255,27,01,98,69,b3,0e,f5,cf,92,0e,a4,10,a1,23,9d,5a,af,f8,01,b3,08,08,94,b0,00,00,00,fe\n2014-08-15T19:00:42.193Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:42.240Z,3,129029,160,255,43,b1,a9,3f,06,65,cb,28,00,50,1d,ed,00,d0,49,08,00,54,80,07,95,cc,6e,03,50,62,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:42.244Z,3,129033,160,255,8,a9,3f,06,65,cb,28,b4,00\n2014-08-15T19:00:42.336Z,3,126992,160,255,8,ff,ff,a9,3f,06,65,cb,28\n2014-08-15T19:00:42.393Z,4,129038,43,255,27,01,d0,e7,da,0d,0b,9b,33,0f,b7,0e,c4,23,ad,2f,02,05,00,32,06,01,d9,bc,00,00,00,fe\n2014-08-15T19:00:42.408Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:42.412Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:42.414Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:42.430Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:00:42.442Z,4,129038,43,255,27,01,58,eb,ad,0e,83,6a,5b,0e,90,21,8f,23,af,96,2f,d4,01,3a,c0,08,5c,2e,00,00,00,fe\n2014-08-15T19:00:42.445Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:42.474Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:42.511Z,3,127508,129,255,8,01,26,05,00,00,1e,75,09\n2014-08-15T19:00:42.533Z,3,129291,160,255,8,ff,fc,13,5d,25,00,ff,ff\n2014-08-15T19:00:42.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:42.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,45,02,02,00,01,03,03,00,00,00\n2014-08-15T19:00:42.584Z,3,128267,115,255,8,00,79,0e,00,00,ff,ff,ff\n2014-08-15T19:00:42.588Z,7,129793,43,255,26,04,90,18,23,00,4a,d3,e2,0e,9c,30,d3,23,00,90,44,cb,28,78,c0,09,a9,3f,10,00,fc\n2014-08-15T19:00:42.611Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:42.620Z,3,127508,129,255,8,01,27,05,00,00,1e,75,09\n2014-08-15T19:00:42.731Z,3,130577,160,255,14,c0,b1,d5,7f,66,01,ff,ff,ff,ff,13,5d,25,00\n2014-08-15T19:00:42.733Z,2,129025,160,255,8,3e,1c,99,23,b7,69,be,0e\n2014-08-15T19:00:42.831Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:42.922Z,4,129039,43,255,26,12,44,11,b6,0d,df,69,be,0e,1e,1c,99,23,ab,7e,7f,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:42.933Z,2,129026,160,255,8,ff,fc,d5,7f,66,01,ff,ff\n2014-08-15T19:00:43.028Z,2,130306,115,255,8,00,50,02,1a,22,f2,ff,ff\n2014-08-15T19:00:43.032Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,82,68,e2,23,00,a0,6b,cb,28,78,c0,00,a9,3f,10,00,fc\n2014-08-15T19:00:43.062Z,6,129540,160,255,135,f9,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,b8,0b,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,f0,0a,00,00,00,00,f2,04,46,0c,1f,c9,b8,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:43.065Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:00:43.067Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:43.082Z,3,127508,129,255,8,01,28,05,00,00,1e,75,09\n2014-08-15T19:00:43.084Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:43.087Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:43.090Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:43.093Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:43.094Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:43.213Z,4,129038,43,255,27,01,b8,83,92,0e,4f,ba,e0,0e,c2,c8,75,23,ad,8e,c1,05,00,51,86,00,07,d4,00,00,00,fe\n2014-08-15T19:00:43.237Z,3,129029,160,255,43,b2,a9,3f,48,8c,cb,28,00,ec,94,17,b4,cf,49,08,00,66,80,04,8b,cc,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:43.239Z,3,129033,160,255,8,a9,3f,48,8c,cb,28,b4,00\n2014-08-15T19:00:43.252Z,4,129038,43,255,27,01,88,d6,d0,0c,15,06,e8,0e,4e,4e,b9,23,a9,a0,97,3c,03,52,86,08,65,99,00,00,00,fe\n2014-08-15T19:00:43.276Z,3,127508,129,255,8,01,29,05,00,00,1e,75,09\n2014-08-15T19:00:43.331Z,3,126992,160,255,8,ff,ff,a9,3f,48,8c,cb,28\n2014-08-15T19:00:43.391Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:43.394Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:43.396Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:00:43.412Z,4,129038,43,255,27,01,c8,27,16,0e,8a,c6,64,0e,5f,6a,93,23,a5,5c,31,50,03,33,40,01,67,30,ec,ff,00,fe\n2014-08-15T19:00:43.424Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:43.432Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:00:43.453Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:43.535Z,3,129291,160,255,8,ff,fc,c9,5c,28,00,ff,ff\n2014-08-15T19:00:43.559Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:43.561Z,3,128267,115,255,8,00,36,0e,00,00,ff,ff,ff\n2014-08-15T19:00:43.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:43.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:43.622Z,4,129038,43,255,27,01,e0,53,7f,10,aa,f5,c9,0e,d4,37,ae,23,b4,89,87,c4,05,60,06,09,4f,86,ff,7f,00,fe\n2014-08-15T19:00:43.737Z,7,127506,129,255,9,0a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:43.742Z,3,130577,160,255,14,c0,b2,2c,80,69,01,ff,ff,ff,ff,c9,5c,28,00\n2014-08-15T19:00:43.744Z,2,129025,160,255,8,f5,1a,99,23,6d,69,be,0e\n2014-08-15T19:00:43.840Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:43.932Z,4,129039,43,255,26,12,44,11,b6,0d,6a,69,be,0e,e2,1a,99,23,af,fe,80,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:43.952Z,2,129026,160,255,8,ff,fc,2c,80,69,01,ff,ff\n2014-08-15T19:00:43.996Z,2,130306,115,255,8,00,31,02,9b,29,f2,ff,ff\n2014-08-15T19:00:44.021Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:44.086Z,3,127508,129,255,8,01,2a,05,00,00,1e,75,0a\n2014-08-15T19:00:44.091Z,6,129540,160,255,135,fa,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,8c,0a,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,54,0b,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:00:44.094Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:44.096Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:00:44.100Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:44.102Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:44.104Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:44.106Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:44.252Z,4,129038,43,255,27,01,08,99,b5,0d,2b,07,cb,0e,e0,ab,a5,23,b4,f3,48,49,01,00,66,00,f3,48,00,00,00,fe\n2014-08-15T19:00:44.266Z,3,129029,160,255,43,b3,a9,3f,62,b3,cb,28,00,52,a7,7d,67,cf,49,08,00,02,c2,c9,79,cc,6e,03,d0,b8,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:44.268Z,3,129033,160,255,8,a9,3f,62,b3,cb,28,b4,00\n2014-08-15T19:00:44.323Z,4,129038,43,255,27,01,20,f6,7e,10,ab,36,c7,0e,3a,eb,7f,23,ad,a1,55,05,00,3d,40,09,65,c6,00,00,0f,fe\n2014-08-15T19:00:44.362Z,3,126992,160,255,8,ff,ff,a9,3f,62,b3,cb,28\n2014-08-15T19:00:44.396Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:00:44.404Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:44.404Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:44.433Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:44.458Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:44.473Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:00:44.480Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:44.558Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:44.561Z,3,128267,115,255,8,00,5a,0e,00,00,ff,ff,ff\n2014-08-15T19:00:44.574Z,3,129291,160,255,8,ff,fc,ab,53,1a,00,ff,ff\n2014-08-15T19:00:44.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,5f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:44.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:44.683Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:44.774Z,2,129025,160,255,8,a6,19,99,23,e5,68,be,0e\n2014-08-15T19:00:44.774Z,3,130577,160,255,14,c0,b3,c9,80,6b,01,ff,ff,ff,ff,ab,53,1a,00\n2014-08-15T19:00:44.865Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:44.942Z,4,129039,43,255,26,12,44,11,b6,0d,f5,68,be,0e,a5,19,99,23,b3,55,81,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:44.967Z,2,129026,160,255,8,ff,fc,c9,80,6b,01,ff,ff\n2014-08-15T19:00:44.984Z,2,130306,115,255,8,00,46,02,32,26,f2,ff,ff\n2014-08-15T19:00:45.004Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.086Z,6,129540,160,255,135,fb,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,48,0d,00,00,00,00,f2,0b,97,29,20,8d,8c,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,28,0a,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,48,0d,00,00,00,00,f2,04,46,0c,1f,c9,28,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:00:45.088Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:00:45.092Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:45.094Z,3,127508,129,255,8,01,2b,05,00,00,1e,75,0a\n2014-08-15T19:00:45.094Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:45.096Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:45.100Z,4,129038,43,255,27,03,02,8b,c4,0d,a4,4d,e1,0e,8c,d5,ca,23,b4,72,9b,49,01,00,00,08,2b,9e,ff,7f,00,fe\n2014-08-15T19:00:45.102Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:45.106Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:45.281Z,3,129029,160,255,43,b4,a9,3f,4a,da,cb,28,00,fc,18,7e,19,cf,49,08,00,b2,86,1f,5a,cc,6e,03,d0,47,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:45.283Z,3,129033,160,255,8,a9,3f,4a,da,cb,28,b4,00\n2014-08-15T19:00:45.352Z,4,129038,43,255,27,01,d2,ff,4a,10,5d,8a,b1,0e,2b,02,71,23,b5,b0,f1,00,00,ba,08,08,37,91,ec,ff,00,fe\n2014-08-15T19:00:45.367Z,3,126992,160,255,8,ff,ff,a9,3f,4a,da,cb,28\n2014-08-15T19:00:45.382Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:00:45.384Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:45.387Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.432Z,4,129038,43,255,27,01,e0,53,7f,10,69,f2,c9,0e,f2,32,ae,23,b8,43,87,bf,05,a4,86,01,fd,86,ff,7f,00,fe\n2014-08-15T19:00:45.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.468Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:45.470Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:00:45.502Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:45.557Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.559Z,3,128267,115,255,8,00,26,0e,00,00,ff,ff,ff\n2014-08-15T19:00:45.574Z,3,129291,160,255,8,ff,fc,45,78,1d,00,ff,ff\n2014-08-15T19:00:45.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,59,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:45.590Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.613Z,4,129038,43,255,27,01,fc,ff,e9,25,5c,d6,2c,0f,b8,88,be,23,b1,2b,bc,c5,02,1b,c0,08,2b,bc,32,00,00,fe\n2014-08-15T19:00:45.702Z,4,129039,43,255,26,12,0a,ec,b5,0d,75,c4,c8,0e,07,04,93,23,b0,ad,54,aa,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:45.771Z,3,127508,129,255,8,01,2c,05,00,00,1e,75,0a\n2014-08-15T19:00:45.776Z,3,130577,160,255,14,c0,b4,32,81,6b,01,ff,ff,ff,ff,45,78,1d,00\n2014-08-15T19:00:45.778Z,2,129025,160,255,8,63,18,99,23,65,68,be,0e\n2014-08-15T19:00:45.866Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:45.912Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,2c,f7,c7,23,00,d0,e0,cb,28,b6,86,01,a9,3f,10,00,fc\n2014-08-15T19:00:45.943Z,2,130306,115,255,8,00,7e,02,1a,22,f2,ff,ff\n2014-08-15T19:00:45.962Z,4,129039,43,255,26,12,44,11,b6,0d,70,68,be,0e,58,18,99,23,b7,d5,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:45.964Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:45.974Z,2,129026,160,255,8,ff,fc,32,81,6b,01,ff,ff\n2014-08-15T19:00:46.037Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:46.077Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:46.079Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:46.082Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:46.084Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:46.087Z,2,128259,115,255,8,00,40,01,ff,ff,00,ff,ff\n2014-08-15T19:00:46.090Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:46.092Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:46.106Z,6,129540,160,255,135,00,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,8c,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,54,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,fc,08,00,00,00,00,f2\n2014-08-15T19:00:46.111Z,2,127250,160,255,8,ff,38,7f,ff,7f,86,05,fc\n2014-08-15T19:00:46.257Z,3,127508,129,255,8,01,2c,05,00,00,1e,75,0a\n2014-08-15T19:00:46.282Z,3,129029,160,255,43,b5,a9,3f,64,01,cc,28,00,1e,cc,49,ce,ce,49,08,00,b2,21,52,3c,cc,6e,03,80,f5,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:46.284Z,3,129033,160,255,8,a9,3f,64,01,cc,28,b4,00\n2014-08-15T19:00:46.374Z,3,126992,160,255,8,ff,ff,a9,3f,64,01,cc,28\n2014-08-15T19:00:46.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:46.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:46.467Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:00:46.556Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:46.558Z,3,128267,115,255,8,00,11,0e,00,00,ff,ff,ff\n2014-08-15T19:00:46.568Z,3,129291,160,255,8,ff,fc,28,8e,2d,00,ff,ff\n2014-08-15T19:00:46.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,57,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:46.610Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:46.713Z,4,129038,43,255,27,01,10,04,1a,0e,82,89,03,0f,07,6f,af,23,b4,da,b0,9c,02,35,c0,08,4e,b3,00,00,00,fe\n2014-08-15T19:00:46.720Z,3,127508,129,255,8,01,2e,05,00,00,1e,75,0a\n2014-08-15T19:00:46.777Z,3,130577,160,255,14,c0,b5,b8,80,68,01,ff,ff,ff,ff,28,8e,2d,00\n2014-08-15T19:00:46.780Z,2,129025,160,255,8,29,17,99,23,00,68,be,0e\n2014-08-15T19:00:46.868Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:46.903Z,2,130306,115,255,8,00,4b,02,04,2d,f2,ff,ff\n2014-08-15T19:00:46.922Z,7,127506,129,255,9,0b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:46.930Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:46.972Z,2,129026,160,255,8,ff,fc,b8,80,68,01,ff,ff\n2014-08-15T19:00:46.997Z,6,129794,43,255,75,05,48,96,7f,10,00,00,00,00,45,53,32,39,30,34,20,41,48,54,4f,32,39,20,20,20,20,20,20,20,20,20,20,20,20,20,20,28,8c,00,28,00,1e,00,64,00,14,40,00,e9,a4,35,96,00,52,4f,41,44,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:00:47.032Z,4,129039,43,255,26,12,44,11,b6,0d,1d,68,be,0e,2c,17,99,23,bb,e6,7f,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:47.034Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:47.074Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:47.076Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:47.078Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:47.081Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:47.084Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:47.085Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:47.088Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:47.104Z,6,129540,160,255,135,01,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:47.105Z,2,127250,160,255,8,ff,38,7f,ff,7f,86,05,fc\n2014-08-15T19:00:47.280Z,3,129029,160,255,43,b6,a9,3f,a6,28,cc,28,00,5a,f0,2d,85,ce,49,08,00,00,10,ce,24,cc,6e,03,00,2e,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:47.282Z,3,129033,160,255,8,a9,3f,a6,28,cc,28,b4,00\n2014-08-15T19:00:47.352Z,4,129038,43,255,27,01,e0,53,7f,10,c5,eb,c9,0e,2e,29,ae,23,c0,9b,87,bf,05,ec,86,08,fd,86,00,00,00,fe\n2014-08-15T19:00:47.368Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:47.372Z,3,126992,160,255,8,ff,ff,a9,3f,a6,28,cc,28\n2014-08-15T19:00:47.392Z,4,129038,43,255,27,01,b8,f5,67,12,73,a6,89,0e,46,a2,8f,23,bc,68,2d,d1,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:00:47.401Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:47.479Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:00:47.525Z,3,127508,129,255,8,01,2f,05,00,00,1e,75,0b\n2014-08-15T19:00:47.556Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:47.559Z,3,128267,115,255,8,00,1a,0e,00,00,ff,ff,ff\n2014-08-15T19:00:47.571Z,3,129291,160,255,8,ff,fc,3f,96,16,00,ff,ff\n2014-08-15T19:00:47.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:47.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:47.642Z,4,129039,43,255,26,12,c4,e2,c3,0d,a8,8d,c0,0e,90,29,96,23,bc,ad,54,81,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:00:47.748Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:47.752Z,4,129038,43,255,27,03,02,8b,c4,0d,bc,49,e1,0e,3e,d4,ca,23,c0,20,9c,49,01,50,0f,00,ce,9c,ff,7f,00,fe\n2014-08-15T19:00:47.775Z,3,130577,160,255,14,c0,b6,26,7f,61,01,ff,ff,ff,ff,3f,96,16,00\n2014-08-15T19:00:47.778Z,2,129025,160,255,8,f5,15,99,23,e3,67,be,0e\n2014-08-15T19:00:47.852Z,4,129038,43,255,27,01,e0,65,7c,10,84,b9,c2,0e,f9,5e,6e,23,bc,50,35,00,00,9b,08,00,1f,ab,00,00,00,fe\n2014-08-15T19:00:47.872Z,2,130306,115,255,8,00,f8,01,eb,19,f2,ff,ff\n2014-08-15T19:00:47.876Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:47.908Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:47.913Z,4,129038,43,255,27,01,58,43,c9,0e,b9,dd,da,0e,8c,37,aa,23,c0,7d,af,b6,02,01,07,09,e5,af,00,00,00,fe\n2014-08-15T19:00:47.976Z,2,129026,160,255,8,ff,fc,26,7f,61,01,ff,ff\n2014-08-15T19:00:47.993Z,4,129039,43,255,26,12,44,11,b6,0d,2d,68,be,0e,ef,15,99,23,bf,b8,7d,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:48.032Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:48.066Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:48.069Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:48.071Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:48.074Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:48.078Z,4,129038,43,255,27,01,68,e2,20,12,2c,1e,01,0f,5a,a2,ad,23,c0,03,af,fd,01,00,66,08,f1,b1,00,00,00,fe\n2014-08-15T19:00:48.081Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:48.083Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:48.086Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:48.119Z,6,129540,160,255,135,02,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,ac,0d,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,80,0c,00,00,00,00,f2\n2014-08-15T19:00:48.121Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:00:48.137Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:48.233Z,4,129038,43,255,27,01,92,12,4b,10,5d,00,00,0f,95,b9,ae,23,f0,43,b1,bb,02,0d,87,00,9f,b2,01,00,00,fe\n2014-08-15T19:00:48.282Z,4,129038,43,255,27,01,b8,53,a6,0c,4a,1e,7f,0e,8a,f9,9f,23,c4,7d,ac,6e,02,0f,07,09,88,ae,00,00,00,fe\n2014-08-15T19:00:48.289Z,3,129029,160,255,43,b7,a9,3f,c0,4f,cc,28,00,52,b5,77,3d,ce,49,08,00,1e,87,0d,1e,cc,6e,03,e0,df,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:48.291Z,3,129033,160,255,8,a9,3f,c0,4f,cc,28,b4,00\n2014-08-15T19:00:48.342Z,3,127508,129,255,8,01,30,05,00,00,1e,75,0b\n2014-08-15T19:00:48.370Z,3,127508,129,255,8,01,31,05,0a,00,1e,75,0b\n2014-08-15T19:00:48.374Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:48.379Z,3,126992,160,255,8,ff,ff,a9,3f,c0,4f,cc,28\n2014-08-15T19:00:48.407Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:48.484Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:00:48.555Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:48.558Z,3,128267,115,255,8,00,1a,0e,00,00,ff,ff,ff\n2014-08-15T19:00:48.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,42,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:48.587Z,3,129291,160,255,8,ff,fc,45,69,24,00,ff,ff\n2014-08-15T19:00:48.604Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:48.781Z,3,130577,160,255,14,c0,b7,72,7d,5f,01,ff,ff,ff,ff,45,69,24,00\n2014-08-15T19:00:48.783Z,2,129025,160,255,8,bc,14,99,23,f9,67,be,0e\n2014-08-15T19:00:48.841Z,2,130306,115,255,8,00,6f,02,8f,27,f2,ff,ff\n2014-08-15T19:00:48.860Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:48.887Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:48.988Z,2,129026,160,255,8,ff,fc,72,7d,5f,01,ff,ff\n2014-08-15T19:00:49.003Z,4,129039,43,255,26,12,44,11,b6,0d,2d,68,be,0e,c3,14,99,23,c3,ac,7b,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:49.032Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:49.051Z,3,127508,129,255,8,01,36,05,70,00,1e,75,0b\n2014-08-15T19:00:49.068Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:49.070Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:49.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:49.075Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:49.077Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:49.081Z,4,129038,43,255,27,01,c8,27,16,0e,16,ea,64,0e,1a,70,93,23,c1,6e,31,55,03,00,66,08,67,30,f6,ff,00,fe\n2014-08-15T19:00:49.084Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:49.087Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:49.118Z,6,129540,160,255,135,03,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,54,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,ac,0d,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,80,0c,00,00,00,00,f2\n2014-08-15T19:00:49.120Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:00:49.163Z,4,129038,43,255,27,01,10,dc,6d,0f,f8,c8,62,0e,55,06,9d,23,c1,83,ad,83,02,38,c0,00,88,ae,00,00,00,fe\n2014-08-15T19:00:49.243Z,4,129038,43,255,27,01,88,d6,d0,0c,73,ee,e7,0e,7b,41,b9,23,c1,d4,97,3c,03,33,87,00,65,99,00,00,00,fe\n2014-08-15T19:00:49.293Z,3,129029,160,255,43,b8,a9,3f,b2,76,cc,28,00,58,74,97,f4,cd,49,08,00,7a,d4,2c,23,cc,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:49.295Z,3,129033,160,255,8,a9,3f,b2,76,cc,28,b4,00\n2014-08-15T19:00:49.364Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:49.381Z,3,126992,160,255,8,ff,ff,a9,3f,b2,76,cc,28\n2014-08-15T19:00:49.401Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:49.488Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:00:49.489Z,3,127508,129,255,8,01,3a,05,c4,00,1e,75,0b\n2014-08-15T19:00:49.557Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:49.560Z,3,128267,115,255,8,00,c5,0d,00,00,ff,ff,ff\n2014-08-15T19:00:49.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:49.583Z,3,129291,160,255,8,ff,fc,45,69,24,00,ff,ff\n2014-08-15T19:00:49.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:49.644Z,4,129038,43,255,27,01,e0,53,7f,10,ad,e1,c9,0e,99,1a,ae,23,cc,e0,87,bf,05,38,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:00:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,c2,df,fe,0e,f9,7e,a3,23,bf,62,35,bf,01,1d,c0,01,21,33,fd,ff,00,fe\n2014-08-15T19:00:49.785Z,3,130577,160,255,14,c0,b8,db,7d,5b,01,ff,ff,ff,ff,1c,58,38,00\n2014-08-15T19:00:49.788Z,2,129025,160,255,8,89,13,99,23,e0,67,be,0e\n2014-08-15T19:00:49.848Z,2,130306,115,255,8,00,27,02,b2,2d,f2,ff,ff\n2014-08-15T19:00:49.863Z,4,129038,43,255,27,01,88,44,7d,10,34,23,c7,0e,da,ec,7f,23,c0,93,f2,05,00,4a,07,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:00:49.874Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:49.885Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:49.986Z,2,129026,160,255,8,ff,fc,db,7d,5b,01,ff,ff\n2014-08-15T19:00:50.012Z,4,129039,43,255,26,12,44,11,b6,0d,eb,67,be,0e,97,13,99,23,c7,b2,7f,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:50.036Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:50.066Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,e3,38,01,00\n2014-08-15T19:00:50.068Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:50.070Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:50.072Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:50.076Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:50.078Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:50.080Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:50.094Z,4,129038,43,255,27,03,44,9e,c4,0d,43,9c,dd,0e,10,92,76,23,c8,cf,90,00,00,00,00,00,7f,07,00,00,05,fe\n2014-08-15T19:00:50.128Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:00:50.128Z,6,129540,160,255,135,04,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,60,09,00,00,00,00,f2,13,e9,0a,cf,7e,48,0d,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:00:50.132Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,7d,cc,28,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:00:50.146Z,7,127506,129,255,9,0c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:50.203Z,4,129038,43,255,27,01,b0,79,7a,10,2d,93,d4,0e,3e,9c,80,23,c0,e5,d9,de,01,00,66,08,d9,da,e6,ff,00,fe\n2014-08-15T19:00:50.288Z,3,129029,160,255,43,b9,a9,3f,f4,9d,cc,28,00,1a,d4,1c,ad,cd,49,08,00,c0,b6,5a,1d,cc,6e,03,e0,6e,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:50.332Z,3,129033,160,255,8,a9,3f,f4,9d,cc,28,b4,00\n2014-08-15T19:00:50.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,7d,cc,28,5d,07,0b,a9,3f,00,00,fc\n2014-08-15T19:00:50.387Z,3,126992,160,255,8,ff,ff,a9,3f,f4,9d,cc,28\n2014-08-15T19:00:50.411Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:50.438Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:50.470Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:50.486Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:00:50.538Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:00:50.558Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:50.560Z,3,128267,115,255,8,00,da,0d,00,00,ff,ff,ff\n2014-08-15T19:00:50.578Z,3,127508,129,255,8,01,3c,05,ec,00,1e,75,0c\n2014-08-15T19:00:50.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,37,02,03,00,00,00,04,00,00,00\n2014-08-15T19:00:50.587Z,3,129291,160,255,8,ff,fc,1c,58,38,00,ff,ff\n2014-08-15T19:00:50.590Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:00:50.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:50.702Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:50.776Z,2,130306,115,255,8,00,12,02,3c,19,f2,ff,ff\n2014-08-15T19:00:50.791Z,3,130577,160,255,14,c0,b9,e1,7e,56,01,ff,ff,ff,ff,6d,70,16,00\n2014-08-15T19:00:50.794Z,2,129025,160,255,8,60,12,99,23,79,67,be,0e\n2014-08-15T19:00:50.796Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:50.889Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:50.993Z,2,129026,160,255,8,ff,fc,e1,7e,56,01,ff,ff\n2014-08-15T19:00:51.023Z,4,129039,43,255,26,12,44,11,b6,0d,76,67,be,0e,9d,12,99,23,cb,21,81,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:51.034Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:00:51.064Z,4,129038,43,255,27,01,fc,ff,e9,25,8b,b8,2c,0f,37,8a,be,23,c9,2b,bc,c5,02,77,87,00,7c,bb,14,00,00,fe\n2014-08-15T19:00:51.066Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,f6,38,01,00\n2014-08-15T19:00:51.070Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:51.072Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:51.072Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:51.077Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:00:51.077Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:51.079Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:51.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:51.130Z,6,129540,160,255,135,05,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,34,08,00,00,00,00,f2,13,e9,0a,cf,7e,e4,0c,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:00:51.133Z,2,127250,160,255,8,ff,e7,7f,ff,7f,86,05,fc\n2014-08-15T19:00:51.136Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:00:51.296Z,3,129029,160,255,43,ba,a9,3f,e6,c4,cc,28,00,c0,3f,f6,67,cd,49,08,00,7a,6f,5f,05,cc,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:51.340Z,3,129033,160,255,8,a9,3f,e6,c4,cc,28,b4,00\n2014-08-15T19:00:51.364Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:51.391Z,3,126992,160,255,8,ff,ff,a9,3f,e6,c4,cc,28\n2014-08-15T19:00:51.393Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:51.438Z,3,127508,129,255,8,01,41,05,4a,01,1e,75,0c\n2014-08-15T19:00:51.463Z,4,129038,43,255,27,01,d0,e7,da,0d,0b,9b,33,0f,0a,0f,c4,23,d1,2f,02,05,00,fa,08,08,d9,bc,00,00,00,fe\n2014-08-15T19:00:51.497Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:00:51.556Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:51.558Z,3,128267,115,255,8,00,da,0d,00,00,ff,ff,ff\n2014-08-15T19:00:51.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,50,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:51.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:51.598Z,3,129291,160,255,8,ff,fc,6d,70,16,00,ff,ff\n2014-08-15T19:00:51.600Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:00:51.642Z,4,129038,43,255,27,01,e0,53,7f,10,09,db,c9,0e,e6,10,ae,23,d4,cf,87,c4,05,8d,87,08,fd,86,00,00,00,fe\n2014-08-15T19:00:51.744Z,2,130306,115,255,8,00,6f,02,b2,2d,f2,ff,ff\n2014-08-15T19:00:51.753Z,4,129038,43,255,27,01,98,69,b3,0e,5d,ae,92,0e,7a,0c,a1,23,c5,f1,ae,f8,01,a4,08,00,94,b0,00,00,00,fe\n2014-08-15T19:00:51.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:51.795Z,3,130577,160,255,14,c0,ba,b8,7d,59,01,ff,ff,ff,ff,6d,70,16,00\n2014-08-15T19:00:51.797Z,2,129025,160,255,8,2d,11,99,23,3c,67,be,0e\n2014-08-15T19:00:51.806Z,3,127508,129,255,8,01,42,05,3f,01,1e,75,0c\n2014-08-15T19:00:51.893Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:51.995Z,2,129026,160,255,8,ff,fc,b8,7d,59,01,ff,ff\n2014-08-15T19:00:51.997Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:00:52.028Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:52.042Z,4,129039,43,255,26,12,44,11,b6,0d,65,67,be,0e,50,11,99,23,cf,38,7c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:52.060Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,f6,38,01,00\n2014-08-15T19:00:52.062Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:52.064Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:52.068Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:52.070Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:52.072Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:52.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:52.131Z,6,129540,160,255,135,06,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,b8,0b,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,fc,08,00,00,00,00,f2,13,e9,0a,cf,7e,e4,0c,00,00,00,00,f2,1c,d1,06,f1,c0,f0,0a,00,00,00,00,f2,18,74,05,d1,06,28,0a,00,00,00,00,f2\n2014-08-15T19:00:52.133Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:00:52.217Z,3,127508,129,255,8,01,49,05,cb,01,1e,75,0c\n2014-08-15T19:00:52.233Z,4,129038,43,255,27,03,02,8b,c4,0d,93,42,e1,0e,fd,d0,ca,23,d0,72,9b,49,01,61,10,08,b7,98,ff,7f,00,fe\n2014-08-15T19:00:52.301Z,3,129029,160,255,43,bb,a9,3f,6e,ec,cc,28,00,82,9f,7b,20,cd,49,08,00,58,8d,2b,f7,cb,6e,03,10,c6,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:52.304Z,3,129033,160,255,8,a9,3f,6e,ec,cc,28,b4,00\n2014-08-15T19:00:52.362Z,4,129039,43,255,26,12,06,a5,b5,0d,86,df,bd,0e,1c,e2,98,23,d0,03,85,39,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:52.391Z,3,126992,160,255,8,ff,ff,a9,3f,6e,ec,cc,28\n2014-08-15T19:00:52.408Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:52.434Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:52.494Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:00:52.554Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:52.556Z,3,128267,115,255,8,00,8e,0c,00,00,ff,ff,ff\n2014-08-15T19:00:52.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,23,02,02,00,01,04,03,00,00,00\n2014-08-15T19:00:52.584Z,7,129793,43,255,26,04,90,18,23,00,e6,d2,e2,0e,ce,30,d3,23,00,30,cb,cc,28,b0,87,01,a9,3f,10,00,fc\n2014-08-15T19:00:52.587Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:52.601Z,3,129291,160,255,8,ff,fc,53,62,48,00,ff,ff\n2014-08-15T19:00:52.632Z,4,129038,43,255,27,01,b8,f5,67,12,b3,c5,89,0e,c8,a8,8f,23,d0,68,2d,d1,03,b2,07,03,ff,2c,00,00,00,fe\n2014-08-15T19:00:52.710Z,3,127508,129,255,8,01,4e,05,3b,02,1e,75,0c\n2014-08-15T19:00:52.711Z,2,130306,115,255,8,00,89,02,d3,15,f2,ff,ff\n2014-08-15T19:00:52.744Z,7,127506,129,255,9,0c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:52.748Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:52.795Z,3,130577,160,255,14,c0,bb,0f,7e,53,01,ff,ff,ff,ff,53,62,48,00\n2014-08-15T19:00:52.797Z,2,129025,160,255,8,f9,0f,99,23,13,67,be,0e\n2014-08-15T19:00:52.822Z,4,129039,43,255,26,12,ca,0c,b7,0d,2d,87,bd,0e,e6,41,97,23,d0,b2,7f,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:52.898Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:52.922Z,4,129039,43,255,26,12,90,e4,c3,0d,7e,eb,be,0e,55,24,7f,23,d0,55,6c,86,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:52.962Z,4,129038,43,255,27,01,c8,d4,7f,10,a8,18,e0,0e,56,c9,c7,23,d1,49,7f,2d,04,e8,08,00,da,80,00,00,00,fe\n2014-08-15T19:00:53.000Z,2,129026,160,255,8,ff,fc,0f,7e,53,01,ff,ff\n2014-08-15T19:00:53.023Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:53.032Z,7,129793,43,255,26,04,8f,18,23,00,74,1d,46,0f,82,68,e2,23,00,40,f2,cc,28,78,c0,08,a9,3f,10,00,fc\n2014-08-15T19:00:53.057Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,f6,38,01,00\n2014-08-15T19:00:53.059Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:53.062Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:53.064Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:53.067Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:53.069Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:53.071Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:53.075Z,4,129039,43,255,26,12,44,11,b6,0d,12,67,be,0e,24,10,99,23,d3,3e,80,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:53.128Z,6,129540,160,255,135,07,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,ac,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,c4,09,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,54,0b,00,00,00,00,f2,18,74,05,d1,06,28,0a,00,00,00,00,f2\n2014-08-15T19:00:53.131Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:00:53.222Z,3,127508,129,255,8,01,51,05,76,02,1e,75,0c\n2014-08-15T19:00:53.272Z,4,129038,43,255,27,01,b8,83,92,0e,e5,ba,e0,0e,f4,c8,75,23,d5,8e,c1,05,00,3b,40,09,07,d4,00,00,00,fe\n2014-08-15T19:00:53.306Z,3,129029,160,255,43,bc,a9,3f,88,13,cd,28,00,7a,64,c5,d8,cc,49,08,00,fe,c2,9f,ed,cb,6e,03,e0,6e,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:53.308Z,3,129033,160,255,8,a9,3f,88,13,cd,28,b4,00\n2014-08-15T19:00:53.322Z,4,129038,43,255,27,01,08,99,b5,0d,b3,1a,cb,0e,5d,a5,a5,23,d8,ff,4a,49,01,00,66,08,f3,48,00,00,00,fe\n2014-08-15T19:00:53.358Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:53.390Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:53.402Z,3,126992,160,255,8,ff,ff,a9,3f,88,13,cd,28\n2014-08-15T19:00:53.503Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:00:53.552Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:53.554Z,3,128267,115,255,8,00,8b,0c,00,00,ff,ff,ff\n2014-08-15T19:00:53.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,44,02,03,00,01,01,04,00,00,00\n2014-08-15T19:00:53.600Z,3,129291,160,255,8,ff,fc,fe,47,26,00,ff,ff\n2014-08-15T19:00:53.603Z,4,129038,43,255,27,01,08,7b,ba,0d,35,6b,95,0e,aa,93,bd,23,d1,37,a0,7c,01,00,66,08,e5,a0,00,00,00,fe\n2014-08-15T19:00:53.606Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:53.642Z,4,129038,43,255,27,01,e0,53,7f,10,65,d4,c9,0e,22,07,ae,23,dc,ac,87,ba,05,38,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:00:53.675Z,2,130306,115,255,8,00,6f,02,04,2d,f2,ff,ff\n2014-08-15T19:00:53.700Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:53.797Z,3,130577,160,255,14,c0,bc,cf,7e,59,01,ff,ff,ff,ff,fe,47,26,00\n2014-08-15T19:00:53.799Z,2,129025,160,255,8,ce,0e,99,23,ad,66,be,0e\n2014-08-15T19:00:53.827Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:53.832Z,4,129038,43,255,27,01,20,f6,7e,10,2c,35,c7,0e,d6,ea,7f,23,d5,a1,55,05,00,df,87,00,13,c7,00,00,0f,fe\n2014-08-15T19:00:53.904Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:53.996Z,2,129026,160,255,8,ff,fc,cf,7e,59,01,ff,ff\n2014-08-15T19:00:54.023Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:00:54.042Z,4,129039,43,255,26,12,58,7f,b6,0d,58,5f,bc,0e,43,52,95,23,d7,c4,7c,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:54.054Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,f6,38,01,00\n2014-08-15T19:00:54.057Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:54.059Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:54.063Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:54.064Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:00:54.066Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:54.069Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:54.082Z,4,129039,43,255,26,12,44,11,b6,0d,9d,66,be,0e,f8,0e,99,23,d7,f8,7f,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:54.125Z,6,129540,160,255,135,08,ff,0b,20,0b,2f,09,98,e4,0c,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,d8,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,1c,0c,00,00,00,00,f2,13,e9,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:54.128Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:00:54.131Z,6,129809,43,255,25,18,90,e4,c3,0d,54,4f,4b,49,4f,20,49,49,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:00:54.163Z,4,129038,43,255,27,01,58,eb,ad,0e,d8,8b,5b,0e,6c,27,8f,23,db,a8,2f,d9,01,eb,87,00,5c,2e,00,00,00,fe\n2014-08-15T19:00:54.265Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:54.282Z,4,129038,43,255,27,03,02,8b,c4,0d,51,3f,e1,0e,b0,cf,ca,23,d8,c3,9a,49,01,00,00,00,fd,95,ff,7f,00,fe\n2014-08-15T19:00:54.309Z,3,129029,160,255,43,bd,a9,3f,98,3a,cd,28,00,8c,9a,27,93,cc,49,08,00,82,16,e0,d5,cb,6e,03,b0,db,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:54.312Z,3,129033,160,255,8,a9,3f,98,3a,cd,28,b4,00\n2014-08-15T19:00:54.373Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:54.403Z,6,129810,43,255,33,18,90,e4,c3,0d,25,40,40,40,40,40,40,40,4f,48,32,33,37,34,40,be,00,32,00,1e,00,b4,00,00,00,00,00,00\n2014-08-15T19:00:54.407Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:54.409Z,3,126992,160,255,8,ff,ff,a9,3f,98,3a,cd,28\n2014-08-15T19:00:54.481Z,3,127508,129,255,8,01,53,05,93,02,1e,75,0c\n2014-08-15T19:00:54.501Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:00:54.553Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:54.555Z,3,128267,115,255,8,00,78,0c,00,00,ff,ff,ff\n2014-08-15T19:00:54.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,36,02,02,00,00,00,04,00,00,00\n2014-08-15T19:00:54.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:54.623Z,3,129291,160,255,8,ff,fc,c3,60,22,00,ff,ff\n2014-08-15T19:00:54.662Z,4,129039,43,255,26,12,44,e0,c3,0d,d8,3f,bb,0e,e0,72,8f,23,da,c9,86,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:54.664Z,2,130306,115,255,8,00,22,02,d3,15,f2,ff,ff\n2014-08-15T19:00:54.688Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:54.820Z,3,130577,160,255,14,c0,bd,ac,7e,50,01,ff,ff,ff,ff,c3,60,22,00\n2014-08-15T19:00:54.823Z,2,129025,160,255,8,a3,0d,99,23,5c,66,be,0e\n2014-08-15T19:00:54.892Z,4,129038,43,255,27,01,88,d6,d0,0c,d1,d6,e7,0e,b8,34,b9,23,d9,e6,97,3c,03,42,c0,08,65,99,00,00,00,fe\n2014-08-15T19:00:54.921Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:55.021Z,2,129026,160,255,8,ff,fc,ac,7e,50,01,ff,ff\n2014-08-15T19:00:55.026Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:00:55.052Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,f6,38,01,00\n2014-08-15T19:00:55.055Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:55.057Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:55.060Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:55.064Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:00:55.065Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:55.067Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:55.082Z,4,129039,43,255,26,12,44,11,b6,0d,5b,66,be,0e,dc,0d,99,23,db,f2,7e,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:55.149Z,3,127508,129,255,8,01,55,05,be,02,1e,75,0c\n2014-08-15T19:00:55.161Z,6,129540,160,255,135,09,ff,0b,20,0b,2f,09,98,48,0d,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,54,0b,00,00,00,00,f2,13,e9,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:55.164Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:00:55.335Z,3,129029,160,255,43,be,a9,3f,b2,61,cd,28,00,9e,d0,89,4d,cc,49,08,00,98,1c,04,c3,cb,6e,03,60,18,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:55.337Z,3,129033,160,255,8,a9,3f,b2,61,cd,28,b4,00\n2014-08-15T19:00:55.387Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:55.413Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:55.424Z,3,126992,160,255,8,ff,ff,a9,3f,b2,61,cd,28\n2014-08-15T19:00:55.437Z,3,127508,129,255,8,01,59,05,05,03,1e,75,0c\n2014-08-15T19:00:55.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:55.472Z,4,129038,43,255,27,01,c8,27,16,0e,95,04,65,0e,76,74,93,23,d5,5c,31,50,03,af,08,00,67,30,ec,ff,00,fe\n2014-08-15T19:00:55.512Z,4,129038,43,255,27,01,e0,53,7f,10,d2,cd,c9,0e,5e,fd,ad,23,e0,89,87,ba,05,1d,08,09,fd,86,00,00,00,fe\n2014-08-15T19:00:55.527Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:00:55.552Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:55.554Z,3,128267,115,255,8,00,ec,0b,00,00,ff,ff,ff\n2014-08-15T19:00:55.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,21,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:55.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:55.611Z,2,130306,115,255,8,00,a2,02,9b,29,f2,ff,ff\n2014-08-15T19:00:55.635Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:55.657Z,3,129291,160,255,8,ff,fc,df,70,39,00,ff,ff\n2014-08-15T19:00:55.672Z,4,129039,43,255,26,12,ec,76,73,10,25,ac,be,0e,e0,dc,6f,23,df,66,7e,0f,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:55.855Z,3,130577,160,255,14,c0,be,21,7e,4e,01,ff,ff,ff,ff,df,70,39,00\n2014-08-15T19:00:55.857Z,2,129025,160,255,8,88,0c,99,23,2c,66,be,0e\n2014-08-15T19:00:55.912Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,2c,f7,c7,23,00,70,67,cd,28,2d,88,08,a9,3f,10,00,fc\n2014-08-15T19:00:55.957Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:56.021Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:56.051Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,08,39,01,00\n2014-08-15T19:00:56.052Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:56.055Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:56.059Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:56.060Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:00:56.061Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:56.064Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:56.073Z,2,129026,160,255,8,ff,fc,21,7e,4e,01,ff,ff\n2014-08-15T19:00:56.089Z,3,127508,129,255,8,01,5c,05,4e,03,1e,75,0c\n2014-08-15T19:00:56.092Z,4,129039,43,255,26,12,44,11,b6,0d,18,66,be,0e,c1,0c,99,23,df,f2,7e,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:56.134Z,4,129039,43,255,26,12,08,57,b6,0d,5c,0e,c8,0e,36,31,93,23,df,db,59,b5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:00:56.197Z,6,129540,160,255,135,0a,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,54,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,fc,08,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:56.201Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:00:56.205Z,4,129038,43,255,27,01,e0,65,7c,10,84,b9,c2,0e,f9,5e,6e,23,dc,a7,68,00,00,38,88,08,1f,ab,00,00,00,fe\n2014-08-15T19:00:56.361Z,3,129029,160,255,43,bf,a9,3f,d6,88,cd,28,00,50,b3,a5,0b,cc,49,08,00,b8,16,d7,b7,cb,6e,03,40,59,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:56.364Z,3,129033,160,255,8,a9,3f,d6,88,cd,28,b4,00\n2014-08-15T19:00:56.367Z,4,129038,43,255,27,01,10,04,1a,0e,59,5b,03,0f,84,68,af,23,dc,da,b0,9c,02,b6,08,00,4e,b3,00,00,00,fe\n2014-08-15T19:00:56.370Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:56.400Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:56.460Z,3,126992,160,255,8,ff,ff,a9,3f,d6,88,cd,28\n2014-08-15T19:00:56.472Z,7,127506,129,255,9,0e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:56.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:56.554Z,3,128267,115,255,8,00,ec,0b,00,00,ff,ff,ff\n2014-08-15T19:00:56.560Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:00:56.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:56.584Z,2,130306,115,255,8,00,50,02,bc,11,f2,ff,ff\n2014-08-15T19:00:56.610Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:56.639Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:56.666Z,3,129291,160,255,8,ff,fc,3a,44,3a,00,ff,ff\n2014-08-15T19:00:56.865Z,3,130577,160,255,14,c0,bf,ac,7e,48,01,ff,ff,ff,ff,3a,44,3a,00\n2014-08-15T19:00:56.867Z,2,129025,160,255,8,6b,0b,99,23,f2,65,be,0e\n2014-08-15T19:00:56.963Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:57.021Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:00:57.047Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,08,39,01,00\n2014-08-15T19:00:57.050Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:57.051Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:57.054Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:57.058Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:00:57.060Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:57.062Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:57.065Z,2,129026,160,255,8,ff,fc,ac,7e,48,01,ff,ff\n2014-08-15T19:00:57.086Z,3,127508,129,255,8,01,61,05,b0,03,1e,75,0e\n2014-08-15T19:00:57.102Z,4,129039,43,255,26,12,44,11,b6,0d,b4,65,be,0e,a6,0b,99,23,e3,3e,80,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:57.159Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:00:57.191Z,6,129540,160,255,135,0b,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,74,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,48,0d,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:57.194Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:00:57.354Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:57.376Z,3,129029,160,255,43,c0,a9,3f,c8,af,cd,28,00,6e,60,4a,c9,cb,49,08,00,f4,04,56,aa,cb,6e,03,80,84,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:57.379Z,3,129033,160,255,8,a9,3f,c8,af,cd,28,b4,00\n2014-08-15T19:00:57.383Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:57.430Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:00:57.462Z,4,129038,43,255,27,01,e0,53,7f,10,1d,c7,c9,0e,aa,f3,ad,23,e8,be,87,ba,05,cd,08,00,fd,86,00,00,00,fe\n2014-08-15T19:00:57.465Z,3,126992,160,255,8,ff,ff,a9,3f,c8,af,cd,28\n2014-08-15T19:00:57.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:57.552Z,3,128267,115,255,8,00,82,0c,00,00,ff,ff,ff\n2014-08-15T19:00:57.566Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:00:57.571Z,2,130306,115,255,8,00,31,02,26,24,f2,ff,ff\n2014-08-15T19:00:57.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:57.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:57.623Z,4,129038,43,255,27,01,fc,ff,e9,25,d7,95,2c,0f,0a,8c,be,23,e5,2b,bc,c0,02,6d,08,09,7c,bb,e6,ff,00,fe\n2014-08-15T19:00:57.625Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:57.665Z,3,129291,160,255,8,ff,fc,f2,56,2c,00,ff,ff\n2014-08-15T19:00:57.673Z,4,129039,43,255,26,12,80,e5,c3,0d,17,81,c0,0e,16,40,96,23,e7,04,52,a0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:00:57.877Z,3,130577,160,255,14,c0,c0,32,7e,4c,01,ff,ff,ff,ff,f2,56,2c,00\n2014-08-15T19:00:57.880Z,2,129025,160,255,8,4a,0a,99,23,b5,65,be,0e\n2014-08-15T19:00:57.967Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:58.012Z,4,129038,43,255,27,01,68,e2,20,12,89,fb,00,0f,82,9e,ad,23,e8,5a,af,fd,01,ce,08,00,f1,b1,00,00,00,fe\n2014-08-15T19:00:58.025Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:00:58.044Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,08,39,01,00\n2014-08-15T19:00:58.046Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:58.049Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:58.051Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:58.055Z,4,129038,43,255,27,01,58,43,c9,0e,33,ae,da,0e,24,32,aa,23,e8,5a,af,bb,02,00,66,00,e5,af,00,00,00,fe\n2014-08-15T19:00:58.061Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:00:58.063Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:58.066Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:58.071Z,2,129026,160,255,8,ff,fc,32,7e,4c,01,ff,ff\n2014-08-15T19:00:58.111Z,3,127508,129,255,8,01,65,05,0b,04,1e,75,0e\n2014-08-15T19:00:58.123Z,4,129039,43,255,26,12,44,11,b6,0d,a3,65,be,0e,8a,0a,99,23,e7,5b,7c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:58.211Z,6,129540,160,255,135,0c,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,48,0d,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,10,0e,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,80,0c,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:58.213Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:00:58.217Z,4,129038,43,255,27,01,38,5e,49,16,cd,7a,ca,0e,b3,bf,76,23,e5,d7,25,00,00,83,08,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:00:58.278Z,3,127508,129,255,8,01,69,05,64,04,1e,75,0e\n2014-08-15T19:00:58.386Z,3,129029,160,255,43,c1,a9,3f,00,d7,cd,28,00,64,a2,00,86,cb,49,08,00,d2,22,22,9c,cb,6e,03,e0,50,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:58.388Z,3,129033,160,255,8,a9,3f,00,d7,cd,28,b4,00\n2014-08-15T19:00:58.391Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:58.395Z,4,129038,43,255,27,01,b8,53,a6,0c,c1,f4,7e,0e,08,f3,9f,23,ec,8e,ac,73,02,8a,88,00,88,ae,00,00,00,fe\n2014-08-15T19:00:58.426Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:58.482Z,3,126992,160,255,8,ff,ff,a9,3f,00,d7,cd,28\n2014-08-15T19:00:58.520Z,2,130306,115,255,8,00,2c,02,77,23,f2,ff,ff\n2014-08-15T19:00:58.540Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:58.574Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:00:58.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:00:58.592Z,3,128267,115,255,8,00,f5,0c,00,00,ff,ff,ff\n2014-08-15T19:00:58.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:58.624Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:58.675Z,3,129291,160,255,8,ff,fc,38,53,3b,00,ff,ff\n2014-08-15T19:00:58.877Z,3,130577,160,255,14,c0,c1,3e,7d,49,01,ff,ff,ff,ff,38,53,3b,00\n2014-08-15T19:00:58.879Z,2,129025,160,255,8,16,09,99,23,ab,65,be,0e\n2014-08-15T19:00:58.907Z,3,127508,129,255,8,01,6b,05,7f,04,1e,75,0e\n2014-08-15T19:00:58.977Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:00:59.021Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:00:59.030Z,3,127508,129,255,8,01,6c,05,99,04,1e,75,0e\n2014-08-15T19:00:59.041Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,08,39,01,00\n2014-08-15T19:00:59.043Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:00:59.047Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:00:59.049Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:00:59.057Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:00:59.059Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:00:59.063Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:59.080Z,2,129026,160,255,8,ff,fc,3e,7d,49,01,ff,ff\n2014-08-15T19:00:59.084Z,4,129038,43,255,27,01,c8,d4,7f,10,83,13,e0,0e,8d,b2,c7,23,e9,03,7f,2d,04,49,c0,08,2c,80,00,00,00,fe\n2014-08-15T19:00:59.133Z,4,129039,43,255,26,12,44,11,b6,0d,93,65,be,0e,5e,09,99,23,eb,b2,7c,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:00:59.219Z,6,129540,160,255,135,0d,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,74,0e,00,00,00,00,f2,0b,97,29,20,8d,28,0a,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,ac,0d,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,74,0e,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:00:59.221Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:00:59.225Z,4,129038,43,255,27,03,02,8b,c4,0d,db,36,e1,0e,7a,ca,ca,23,ec,a0,94,49,01,10,0f,08,88,90,ff,7f,00,fe\n2014-08-15T19:00:59.273Z,4,129038,43,255,27,01,b8,f5,67,12,cc,f0,89,0e,4a,b2,8f,23,ec,56,2d,d1,03,b8,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:00:59.323Z,4,129038,43,255,27,01,e0,53,7f,10,bb,c3,c9,0e,d9,ee,ad,23,00,e0,87,ba,05,ad,88,08,fd,86,00,00,00,fe\n2014-08-15T19:00:59.350Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:59.379Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:00:59.387Z,3,129029,160,255,43,c2,a9,3f,1a,fe,cd,28,00,52,a9,00,fb,ca,49,08,00,a6,4c,3f,86,cb,6e,03,30,32,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:00:59.389Z,3,129033,160,255,8,a9,3f,1a,fe,cd,28,b4,00\n2014-08-15T19:00:59.483Z,3,126992,160,255,8,ff,ff,a9,3f,1a,fe,cd,28\n2014-08-15T19:00:59.503Z,2,130306,115,255,8,00,c6,02,31,17,f2,ff,ff\n2014-08-15T19:00:59.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:59.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,44,02,02,00,03,04,03,00,00,00\n2014-08-15T19:00:59.583Z,3,128267,115,255,8,00,f5,0c,00,00,ff,ff,ff\n2014-08-15T19:00:59.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:59.587Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:00:59.597Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:00:59.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:00:59.633Z,4,129038,43,255,27,01,92,12,4b,10,cb,d2,ff,0e,12,b3,ae,23,ec,43,b1,bb,02,b7,88,08,f1,b1,ec,ff,00,fe\n2014-08-15T19:00:59.687Z,3,129291,160,255,8,ff,fc,f9,51,3f,00,ff,ff\n2014-08-15T19:00:59.691Z,7,127506,129,255,9,0f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:00:59.787Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:00:59.887Z,3,130577,160,255,14,c0,c2,15,7f,47,01,ff,ff,ff,ff,f9,51,3f,00\n2014-08-15T19:00:59.889Z,2,129025,160,255,8,f5,07,99,23,57,65,be,0e\n2014-08-15T19:00:59.991Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:00.022Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:00.037Z,6,129794,43,255,75,05,fc,7a,73,10,00,00,00,00,45,53,32,39,39,39,20,41,48,54,4f,2d,20,30,37,20,20,20,20,20,20,20,20,20,20,20,20,32,b4,00,28,00,14,00,8c,00,14,40,00,e9,a4,35,00,00,52,4f,48,55,4e,45,45,4d,45,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:01:00.040Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,08,39,01,00\n2014-08-15T19:01:00.043Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:00.045Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:00.048Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:00.056Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:00.058Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:00.060Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:00.073Z,4,129038,43,255,27,01,6c,70,4a,10,be,01,ff,0e,5c,82,a3,23,eb,85,35,bf,01,c5,88,09,d0,33,0e,00,00,fe\n2014-08-15T19:01:00.082Z,2,129026,160,255,8,ff,fc,15,7f,47,01,ff,ff\n2014-08-15T19:01:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,03,ce,28,8e,c0,02,a9,3f,00,00,fc\n2014-08-15T19:01:00.163Z,4,129039,43,255,26,12,44,11,b6,0d,ec,64,be,0e,54,08,99,23,ef,4f,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:00.221Z,6,129540,160,255,135,0e,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,74,0e,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,1c,0c,00,00,00,00,f2,14,68,12,ce,ab,ac,0d,00,00,00,00,f2,11,51,0e,7c,d9,3c,0f,00,00,00,00,f2,16,f4,0c,39,37,ac,0d,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:00.223Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:01:00.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,03,ce,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:01:00.368Z,3,127508,129,255,8,01,70,05,e9,04,1e,75,0f\n2014-08-15T19:01:00.392Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:00.398Z,3,129029,160,255,43,c3,a9,3f,34,25,ce,28,00,b4,b5,3f,b7,ca,49,08,00,70,82,ad,68,cb,6e,03,50,80,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:00.400Z,3,129033,160,255,8,a9,3f,34,25,ce,28,b4,00\n2014-08-15T19:01:00.413Z,4,129038,43,255,27,01,10,dc,6d,0f,65,9b,62,0e,d2,ff,9c,23,ed,71,ad,83,02,00,66,08,88,ae,1a,00,00,fe\n2014-08-15T19:01:00.418Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:00.449Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:00.476Z,2,130306,115,255,8,00,9d,02,03,1e,f2,ff,ff\n2014-08-15T19:01:00.493Z,4,129039,43,255,26,12,44,11,b6,0d,99,64,be,0e,28,07,99,23,03,26,82,53,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:01:00.495Z,3,126992,160,255,8,ff,ff,a9,3f,02,2f,ce,28\n2014-08-15T19:01:00.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:00.548Z,3,128267,115,255,8,00,f5,0c,00,00,ff,ff,ff\n2014-08-15T19:01:00.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:00.566Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:00.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,20,02,03,00,01,01,05,00,00,00\n2014-08-15T19:01:00.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:00.597Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:01:00.603Z,4,129038,43,255,27,03,28,f5,77,10,60,97,9f,0e,3d,83,74,23,e8,e7,64,71,00,30,0f,00,38,55,ff,7f,00,fe\n2014-08-15T19:01:00.687Z,3,129291,160,255,8,ff,fc,73,4c,35,00,ff,ff\n2014-08-15T19:01:00.690Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:00.905Z,3,130577,160,255,14,c0,c3,f8,7f,4b,01,ff,ff,ff,ff,73,4c,35,00\n2014-08-15T19:01:00.908Z,2,129025,160,255,8,d2,06,99,23,d8,64,be,0e\n2014-08-15T19:01:00.936Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:01.005Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:01.024Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:01.039Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,1b,39,01,00\n2014-08-15T19:01:01.039Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:01.043Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:01.054Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:01.084Z,4,129038,43,255,27,01,88,44,7d,10,02,23,c7,0e,eb,ec,7f,23,ec,14,cd,00,00,d2,08,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:01.110Z,2,129026,160,255,8,ff,fc,f8,7f,4b,01,ff,ff\n2014-08-15T19:01:01.126Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:01:01.129Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:01.131Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:01.159Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:01.164Z,4,129039,43,255,26,12,44,11,b6,0d,99,64,be,0e,28,07,99,23,03,26,82,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:01.227Z,6,129540,160,255,135,0f,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,10,0e,00,00,00,00,f2,0b,97,29,20,8d,e4,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,34,08,00,00,00,00,f2,14,68,12,ce,ab,ac,0d,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,8c,0a,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,f1,c0,8c,0a,00,00,00,00,f2,18,74,05,d1,06,fc,08,00,00,00,00,f2\n2014-08-15T19:01:01.229Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:01:01.231Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:01.235Z,4,129039,43,255,26,12,8c,d3,b5,0d,e9,72,bf,0e,e4,86,99,23,00,20,90,06,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:01:01.323Z,4,129038,43,255,27,01,98,69,b3,0e,b3,8f,92,0e,c4,08,a1,23,e9,ce,ae,f8,01,2e,80,08,42,b1,00,00,00,fe\n2014-08-15T19:01:01.380Z,3,127508,129,255,8,01,6f,05,c2,04,1e,75,0f\n2014-08-15T19:01:01.387Z,3,127508,129,255,8,01,73,05,15,05,1e,75,0f\n2014-08-15T19:01:01.411Z,3,129029,160,255,43,c4,a9,3f,4e,4c,ce,28,00,32,b6,2a,71,ca,49,08,00,cc,6a,ff,4f,cb,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:01.413Z,3,129033,160,255,8,a9,3f,4e,4c,ce,28,b4,00\n2014-08-15T19:01:01.449Z,2,130306,115,255,8,00,8e,02,8f,27,f2,ff,ff\n2014-08-15T19:01:01.473Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:01.506Z,3,126992,160,255,8,ff,ff,a9,3f,1c,56,ce,28\n2014-08-15T19:01:01.508Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:01.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:01.550Z,3,128267,115,255,8,00,2c,0d,00,00,ff,ff,ff\n2014-08-15T19:01:01.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,48,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:01.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:01.603Z,4,129038,43,255,27,01,c8,27,16,0e,46,2d,65,0e,f9,7a,93,23,01,5c,31,55,03,5e,80,08,67,30,e6,ff,00,fe\n2014-08-15T19:01:01.607Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:01:01.643Z,4,129038,43,255,27,01,e0,53,7f,10,b4,b9,c9,0e,44,e0,ad,23,0c,f2,87,ba,05,3a,80,00,fd,86,00,00,00,fe\n2014-08-15T19:01:01.708Z,3,129291,160,255,8,ff,fc,73,4c,35,00,ff,ff\n2014-08-15T19:01:01.711Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:01.802Z,4,129038,43,255,27,01,88,d6,d0,0c,47,bb,e7,0e,bf,25,b9,23,05,d4,97,3c,03,42,c0,00,65,99,00,00,00,fe\n2014-08-15T19:01:01.854Z,4,129038,43,255,27,03,02,8b,c4,0d,40,34,e1,0e,86,c8,ca,23,08,95,92,44,01,e1,0e,00,c3,8b,ff,7f,00,fe\n2014-08-15T19:01:01.892Z,4,129038,43,255,27,01,b0,79,7a,10,b1,7d,d4,0e,44,a9,80,23,ec,c2,d9,de,01,47,c0,00,2a,da,e6,ff,00,fe\n2014-08-15T19:01:01.911Z,3,130577,160,255,14,c0,c4,61,80,4c,01,ff,ff,ff,ff,50,5b,2c,00\n2014-08-15T19:01:01.913Z,2,129025,160,255,8,a5,05,99,23,6e,64,be,0e\n2014-08-15T19:01:01.984Z,3,127508,129,255,8,01,77,05,6c,05,1e,75,0f\n2014-08-15T19:01:02.012Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:02.018Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:02.033Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,1b,39,01,00\n2014-08-15T19:01:02.036Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:02.038Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:02.041Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:02.104Z,2,129026,160,255,8,ff,fc,61,80,4c,01,ff,ff\n2014-08-15T19:01:02.107Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:02.172Z,4,129039,43,255,26,12,44,11,b6,0d,13,64,be,0e,0c,06,99,23,07,72,83,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:02.213Z,4,129038,43,255,27,03,f8,59,b9,0d,c3,ca,e2,0e,4b,39,dd,23,05,b7,bc,00,00,8a,4b,01,5a,a6,00,00,05,fe\n2014-08-15T19:01:02.233Z,6,129540,160,255,135,10,ff,0b,20,0b,2f,09,98,10,0e,00,00,00,00,f2,01,ff,2c,b7,b6,10,0e,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,28,0a,00,00,00,00,f2,14,68,12,ce,ab,28,0a,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,8c,0a,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:02.239Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:01:02.333Z,3,127508,129,255,8,01,7b,05,bc,05,1e,75,0f\n2014-08-15T19:01:02.351Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:02.353Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:02.355Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:02.384Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:02.411Z,2,130306,115,255,8,00,5a,02,df,17,f2,ff,ff\n2014-08-15T19:01:02.419Z,3,129029,160,255,43,c5,a9,3f,86,73,ce,28,00,f2,92,1c,2e,ca,49,08,00,78,29,2e,39,cb,6e,03,e0,c1,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:02.421Z,3,129033,160,255,8,a9,3f,86,73,ce,28,b4,00\n2014-08-15T19:01:02.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:02.489Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:02.513Z,3,126992,160,255,8,ff,ff,a9,3f,22,7d,ce,28\n2014-08-15T19:01:02.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:02.549Z,3,128267,115,255,8,00,1d,0d,00,00,ff,ff,ff\n2014-08-15T19:01:02.568Z,7,127506,129,255,9,10,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:02.573Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,00,31,d3,23,00,d0,51,ce,28,5d,00,09,a9,3f,10,00,fc\n2014-08-15T19:01:02.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2d,02,02,00,00,00,04,00,00,00\n2014-08-15T19:01:02.595Z,3,127508,129,255,8,01,7a,05,a4,05,1e,75,10\n2014-08-15T19:01:02.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:02.615Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:01:02.708Z,3,129291,160,255,8,ff,fc,50,5b,2c,00,ff,ff\n2014-08-15T19:01:02.913Z,3,130577,160,255,14,c0,c5,a6,80,4e,01,ff,ff,ff,ff,39,4f,36,00\n2014-08-15T19:01:02.915Z,2,129025,160,255,8,85,04,99,23,0c,64,be,0e\n2014-08-15T19:01:03.013Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:03.021Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:03.030Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,1b,39,01,00\n2014-08-15T19:01:03.034Z,7,129793,43,255,26,04,8f,18,23,00,42,1d,46,0f,82,68,e2,23,00,e0,78,ce,28,78,c0,00,a9,3f,10,00,fc\n2014-08-15T19:01:03.037Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:03.039Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:03.042Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:03.114Z,2,129026,160,255,8,ff,fc,a6,80,4e,01,ff,ff\n2014-08-15T19:01:03.192Z,4,129039,43,255,26,12,44,11,b6,0d,af,63,be,0e,d0,04,99,23,0b,38,82,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:03.194Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:03.232Z,4,129038,43,255,27,01,fc,ff,e9,25,09,7d,2c,0f,46,8d,be,23,09,7d,bb,cb,02,75,80,00,7c,bb,14,00,00,fe\n2014-08-15T19:01:03.255Z,6,129540,160,255,135,11,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,f0,0a,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,8c,0a,00,00,00,00,f2,14,68,12,ce,ab,54,0b,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,54,0b,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,80,0c,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:01:03.258Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:01:03.335Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:03.337Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:03.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:03.353Z,4,129038,43,255,27,01,e0,53,7f,10,51,b6,c9,0e,62,db,ad,23,10,cf,87,ba,05,38,c0,08,fd,86,ff,7f,00,fe\n2014-08-15T19:01:03.359Z,2,130306,115,255,8,00,2d,03,f8,2a,f2,ff,ff\n2014-08-15T19:01:03.385Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:03.394Z,4,129039,43,255,26,12,6e,c9,b5,0d,f4,1e,cf,0e,ba,9c,90,23,0e,5c,55,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:03.402Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:03.421Z,3,129029,160,255,43,c6,a9,3f,96,9a,ce,28,00,12,c3,54,e7,c9,49,08,00,a8,a0,6a,28,cb,6e,03,60,18,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:03.423Z,3,129033,160,255,8,a9,3f,96,9a,ce,28,b4,00\n2014-08-15T19:01:03.432Z,6,129809,43,255,25,18,8c,d3,b5,0d,41,44,45,4c,41,4e,54,45,20,20,20,20,20,20,20,20,20,20,20,20\n2014-08-15T19:01:03.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:03.478Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:03.493Z,6,129810,43,255,33,18,8c,d3,b5,0d,25,20,20,20,20,20,20,20,4f,4a,38,31,31,32,20,aa,00,28,00,14,00,50,00,00,00,00,00,00\n2014-08-15T19:01:03.517Z,3,126992,160,255,8,ff,ff,a9,3f,6e,a4,ce,28\n2014-08-15T19:01:03.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:03.549Z,3,128267,115,255,8,00,1d,0d,00,00,ff,ff,ff\n2014-08-15T19:01:03.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:03.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:03.608Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:01:03.709Z,3,129291,160,255,8,ff,fc,39,4f,36,00,ff,ff\n2014-08-15T19:01:03.802Z,4,129038,43,255,27,01,08,99,b5,0d,bd,34,cb,0e,5d,a5,a5,23,14,44,48,44,01,9a,08,00,f3,48,00,00,00,fe\n2014-08-15T19:01:03.852Z,4,129038,43,255,27,01,b8,83,92,0e,a3,ba,e0,0e,58,c9,75,23,11,8e,c1,05,00,8d,80,00,07,d4,00,00,00,fe\n2014-08-15T19:01:03.903Z,4,129038,43,255,27,01,08,7b,ba,0d,f1,54,95,0e,00,8e,bd,23,0d,37,a0,7c,01,b4,80,00,e5,a0,00,00,00,fe\n2014-08-15T19:01:03.923Z,3,130577,160,255,14,c0,c6,1b,80,4e,01,ff,ff,ff,ff,39,4f,36,00\n2014-08-15T19:01:03.925Z,2,129025,160,255,8,55,03,99,23,c4,63,be,0e\n2014-08-15T19:01:03.960Z,3,127508,129,255,8,01,80,05,1e,06,1e,75,10\n2014-08-15T19:01:04.016Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:04.022Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:04.028Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,1b,39,01,00\n2014-08-15T19:01:04.030Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:04.033Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:04.035Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:04.114Z,2,129026,160,255,8,ff,fc,1b,80,4e,01,ff,ff\n2014-08-15T19:01:04.122Z,4,129038,43,255,27,01,58,eb,ad,0e,c5,aa,5b,0e,48,2d,8f,23,13,a8,2f,d9,01,04,66,08,5c,2e,00,00,00,fe\n2014-08-15T19:01:04.202Z,4,129039,43,255,26,12,44,11,b6,0d,5c,63,be,0e,93,03,99,23,0f,2c,80,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:04.229Z,3,127508,129,255,8,01,81,05,39,06,1e,75,10\n2014-08-15T19:01:04.265Z,6,129540,160,255,135,12,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,48,0d,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,1c,0c,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:04.267Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:01:04.346Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:04.348Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:04.350Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:04.374Z,2,130306,115,255,8,00,9d,02,25,15,f2,ff,ff\n2014-08-15T19:01:04.394Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:04.429Z,3,129029,160,255,43,c7,a9,3f,ec,c1,ce,28,00,9c,3a,82,a4,c9,49,08,00,3c,71,14,0b,cb,6e,03,b0,4c,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:04.432Z,3,129033,160,255,8,a9,3f,ec,c1,ce,28,b4,00\n2014-08-15T19:01:04.434Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:04.443Z,3,127508,129,255,8,01,83,05,59,06,1e,75,10\n2014-08-15T19:01:04.464Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:04.471Z,3,127508,129,255,8,01,37,05,b8,06,1e,75,10\n2014-08-15T19:01:04.515Z,3,126992,160,255,8,ff,ff,a9,3f,d8,cb,ce,28\n2014-08-15T19:01:04.546Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:04.548Z,3,128267,115,255,8,00,20,0d,00,00,ff,ff,ff\n2014-08-15T19:01:04.577Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:04.584Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:04.617Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:01:04.719Z,3,129291,160,255,8,ff,fc,4b,56,43,00,ff,ff\n2014-08-15T19:01:04.725Z,7,127506,129,255,9,11,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:04.922Z,4,129038,43,255,27,01,20,f6,7e,10,d9,34,c7,0e,b4,ea,7f,23,11,a1,55,05,00,04,66,08,13,c7,00,00,0f,fe\n2014-08-15T19:01:04.925Z,3,130577,160,255,14,c0,c7,e1,81,4f,01,ff,ff,ff,ff,4b,56,43,00\n2014-08-15T19:01:04.927Z,2,129025,160,255,8,36,02,99,23,46,63,be,0e\n2014-08-15T19:01:05.002Z,4,129038,43,255,27,01,b8,f5,67,12,c9,0f,8a,0e,0f,b9,8f,23,10,68,2d,d1,03,b8,80,02,ff,2c,00,00,00,fe\n2014-08-15T19:01:05.017Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:05.019Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:05.025Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,1b,39,01,00\n2014-08-15T19:01:05.027Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:05.030Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:05.032Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:05.042Z,4,129038,43,255,27,01,d2,ff,4a,10,3b,8a,b1,0e,1a,02,71,23,11,b0,f1,00,00,b9,00,09,37,91,01,00,00,fe\n2014-08-15T19:01:05.119Z,2,129026,160,255,8,ff,fc,e1,81,4f,01,ff,ff\n2014-08-15T19:01:05.213Z,4,129039,43,255,26,12,44,11,b6,0d,c6,62,be,0e,78,02,99,23,13,72,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:05.258Z,6,129540,160,255,135,13,ff,0b,20,0b,2f,09,98,ac,0d,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,80,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,11,51,0e,7c,d9,d8,0e,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,f0,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:05.260Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:01:05.302Z,4,129038,43,255,27,01,c8,d4,7f,10,4e,0e,e0,0e,c4,9b,c7,23,11,ac,7e,33,04,c3,00,01,2c,80,00,00,00,fe\n2014-08-15T19:01:05.315Z,2,130306,115,255,8,00,f5,02,03,1e,f2,ff,ff\n2014-08-15T19:01:05.341Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:05.382Z,4,129038,43,255,27,01,e0,53,7f,10,8c,af,c9,0e,ae,d1,ad,23,18,e0,87,ba,05,c6,80,00,fd,86,00,00,00,fe\n2014-08-15T19:01:05.385Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:05.387Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:05.389Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:05.419Z,3,127508,129,255,8,01,58,05,3a,07,1e,75,11\n2014-08-15T19:01:05.424Z,3,129029,160,255,43,c8,a9,3f,60,e9,ce,28,00,92,7c,38,61,c9,49,08,00,ec,35,6a,eb,ca,6e,03,00,10,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:05.426Z,3,129033,160,255,8,a9,3f,60,e9,ce,28,b4,00\n2014-08-15T19:01:05.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:05.468Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:05.500Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:05.519Z,3,126992,160,255,8,ff,ff,a9,3f,4c,f3,ce,28\n2014-08-15T19:01:05.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:05.547Z,3,128267,115,255,8,00,66,0c,00,00,ff,ff,ff\n2014-08-15T19:01:05.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:05.597Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:05.621Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:05.642Z,4,129038,43,255,27,03,02,8b,c4,0d,b1,2f,e1,0e,9e,c4,ca,23,18,20,8d,3e,01,00,00,08,5a,88,ff,7f,00,fe\n2014-08-15T19:01:05.721Z,3,129291,160,255,8,ff,fc,9f,47,29,00,ff,ff\n2014-08-15T19:01:05.888Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:05.914Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,2c,f7,c7,23,00,10,ee,ce,28,ad,c0,00,a9,3f,10,00,fc\n2014-08-15T19:01:05.934Z,2,129025,160,255,8,15,01,99,23,be,62,be,0e\n2014-08-15T19:01:05.934Z,3,130577,160,255,14,c0,c8,e1,81,52,01,ff,ff,ff,ff,9f,47,29,00\n2014-08-15T19:01:06.017Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:06.024Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,2d,39,01,00\n2014-08-15T19:01:06.029Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:06.030Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:06.030Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:06.035Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:06.134Z,2,129026,160,255,8,ff,fc,e1,81,52,01,ff,ff\n2014-08-15T19:01:06.222Z,4,129039,43,255,26,12,44,11,b6,0d,fe,61,be,0e,30,00,99,23,1b,78,81,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:06.272Z,6,129540,160,255,123,14,ff,0a,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,b8,0b,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,80,0c,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,fc,08,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:06.274Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:01:06.277Z,2,130306,115,255,8,00,bc,02,3c,19,f2,ff,ff\n2014-08-15T19:01:06.300Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:06.334Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:06.375Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:06.378Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:06.380Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:06.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:06.436Z,3,129029,160,255,43,c9,a9,3f,88,11,cf,28,00,02,83,4d,1c,c9,49,08,00,f6,c4,4b,d5,ca,6e,03,70,21,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:06.439Z,3,129033,160,255,8,a9,3f,88,11,cf,28,b4,00\n2014-08-15T19:01:06.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:06.464Z,3,127508,129,255,8,01,5c,05,6f,07,1e,75,11\n2014-08-15T19:01:06.474Z,3,127508,129,255,8,01,66,05,fc,07,1e,75,11\n2014-08-15T19:01:06.492Z,4,129038,43,255,27,01,10,04,1a,0e,5d,2e,03,0f,02,62,af,23,14,da,b0,9c,02,04,66,08,4e,b3,00,00,00,fe\n2014-08-15T19:01:06.533Z,3,126992,160,255,8,ff,ff,a9,3f,2e,1b,cf,28\n2014-08-15T19:01:06.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:06.546Z,3,128267,115,255,8,00,11,0d,00,00,ff,ff,ff\n2014-08-15T19:01:06.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,29,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:06.590Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:06.636Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:01:06.703Z,4,129038,43,255,27,01,c8,27,16,0e,c5,47,65,0e,45,7f,93,23,11,5c,31,55,03,1d,81,00,67,30,ec,ff,00,fe\n2014-08-15T19:01:06.739Z,3,129291,160,255,8,ff,fc,aa,55,33,00,ff,ff\n2014-08-15T19:01:06.902Z,4,129038,43,255,27,01,b8,53,a6,0c,6b,d3,7e,0e,f4,ed,9f,23,1c,a0,ac,73,02,f4,08,08,88,ae,00,00,00,fe\n2014-08-15T19:01:06.934Z,3,130577,160,255,14,c0,c9,cf,81,4f,01,ff,ff,ff,ff,aa,55,33,00\n2014-08-15T19:01:06.936Z,2,129025,160,255,8,ed,ff,98,23,5f,62,be,0e\n2014-08-15T19:01:07.016Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:07.019Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,2d,39,01,00\n2014-08-15T19:01:07.022Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:07.024Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:07.027Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:07.052Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:07.143Z,2,129026,160,255,8,ff,fc,cf,81,4f,01,ff,ff\n2014-08-15T19:01:07.147Z,3,127508,129,255,8,01,6c,05,50,08,1e,75,11\n2014-08-15T19:01:07.217Z,3,127508,129,255,8,01,76,05,c9,08,1e,75,11\n2014-08-15T19:01:07.242Z,4,129039,43,255,26,12,44,11,b6,0d,57,61,be,0e,04,ff,98,23,1f,89,84,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:07.244Z,7,127506,129,255,9,12,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:07.281Z,6,129540,160,255,135,15,ff,0b,20,0b,2f,09,98,54,0b,00,00,00,00,f2,01,ff,2c,b7,b6,1c,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,60,09,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:07.284Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:07.309Z,2,130306,115,255,8,00,f5,02,77,23,f2,ff,ff\n2014-08-15T19:01:07.332Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:07.372Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:07.375Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:07.378Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:07.407Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:07.434Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:07.450Z,3,129029,160,255,43,ca,a9,3f,ca,38,cf,28,00,f8,c4,03,d9,c8,49,08,00,e8,65,a8,b8,ca,6e,03,c0,91,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:07.451Z,3,129033,160,255,8,a9,3f,ca,38,cf,28,b4,00\n2014-08-15T19:01:07.463Z,4,129038,43,255,27,01,e0,53,7f,10,32,a5,c9,0e,19,c3,ad,23,20,03,88,bf,05,37,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:01:07.532Z,4,129038,43,255,27,01,88,d6,d0,0c,b6,a3,e7,0e,ec,18,b9,23,1d,c3,97,3c,03,04,66,08,65,99,00,00,00,fe\n2014-08-15T19:01:07.545Z,3,126992,160,255,8,ff,ff,a9,3f,66,42,cf,28\n2014-08-15T19:01:07.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:07.549Z,3,128267,115,255,8,00,97,0c,00,00,ff,ff,ff\n2014-08-15T19:01:07.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,24,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:07.597Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:07.647Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:01:07.747Z,3,129291,160,255,8,ff,fc,25,48,3b,00,ff,ff\n2014-08-15T19:01:07.782Z,3,127508,129,255,8,01,7a,05,08,09,1e,75,12\n2014-08-15T19:01:07.944Z,3,130577,160,255,14,c0,ca,e6,82,4d,01,ff,ff,ff,ff,25,48,3b,00\n2014-08-15T19:01:07.946Z,2,129025,160,255,8,cc,fe,98,23,e4,61,be,0e\n2014-08-15T19:01:08.017Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,2d,39,01,00\n2014-08-15T19:01:08.020Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:08.022Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:08.025Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:08.027Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:08.044Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:08.145Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:08.146Z,2,129026,160,255,8,ff,fc,e6,82,4d,01,ff,ff\n2014-08-15T19:01:08.184Z,4,129038,43,255,27,01,68,e2,20,12,d6,d8,00,0f,68,9a,ad,23,20,48,af,02,02,61,c0,08,9f,b2,00,00,00,fe\n2014-08-15T19:01:08.214Z,4,129038,43,255,27,03,02,8b,c4,0d,64,2e,e1,0e,aa,c2,ca,23,20,15,8b,3e,01,50,11,00,a0,85,ff,7f,00,fe\n2014-08-15T19:01:08.259Z,4,129039,43,255,26,12,44,11,b6,0d,8f,60,be,0e,d8,fd,98,23,23,b8,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:08.290Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:08.290Z,6,129540,160,255,135,16,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,e4,0c,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,8c,0a,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,1c,0c,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:08.310Z,2,130306,115,255,8,00,ad,02,0e,20,f2,ff,ff\n2014-08-15T19:01:08.335Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:08.374Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:08.378Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:08.383Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:08.396Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:08.412Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:08.439Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:08.449Z,3,129029,160,255,43,cb,a9,3f,bc,5f,cf,28,00,c6,9b,cb,94,c8,49,08,00,22,6c,c6,91,ca,6e,03,b0,6a,21,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:08.451Z,3,129033,160,255,8,a9,3f,bc,5f,cf,28,b4,00\n2014-08-15T19:01:08.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:08.549Z,3,126992,160,255,8,ff,ff,a9,3f,a8,69,cf,28\n2014-08-15T19:01:08.551Z,3,128267,115,255,8,00,e3,0c,00,00,ff,ff,ff\n2014-08-15T19:01:08.560Z,4,129039,43,255,26,12,ec,d7,b5,0d,27,11,bc,0e,dc,00,91,23,20,6c,7c,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:08.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:08.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:08.645Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:08.697Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:01:08.747Z,3,129291,160,255,8,ff,fc,1c,5b,33,00,ff,ff\n2014-08-15T19:01:08.763Z,4,129038,43,255,27,01,58,43,c9,0e,ca,79,da,0e,06,2c,aa,23,24,26,af,bb,02,04,66,08,e5,af,00,00,00,fe\n2014-08-15T19:01:08.937Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:01:08.951Z,3,130577,160,255,14,c0,cb,c9,83,52,01,ff,ff,ff,ff,1c,5b,33,00\n2014-08-15T19:01:08.954Z,2,129025,160,255,8,a7,fd,98,23,3d,61,be,0e\n2014-08-15T19:01:08.973Z,3,127508,129,255,8,01,78,05,c5,08,1e,75,12\n2014-08-15T19:01:09.015Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,2d,39,01,00\n2014-08-15T19:01:09.017Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:09.020Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:09.022Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:09.025Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:09.047Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:09.084Z,4,129038,43,255,27,01,92,12,4b,10,38,a5,ff,0e,12,b3,ae,23,20,43,b1,bb,02,04,66,00,f1,b1,ec,ff,00,fe\n2014-08-15T19:01:09.146Z,2,129026,160,255,8,ff,fc,c9,83,52,01,ff,ff\n2014-08-15T19:01:09.164Z,4,129038,43,255,27,01,6c,70,4a,10,59,1d,ff,0e,f6,84,a3,23,1f,b9,35,bf,01,04,66,00,21,33,ec,ff,00,fe\n2014-08-15T19:01:09.263Z,4,129039,43,255,26,12,44,11,b6,0d,0a,60,be,0e,bd,fc,98,23,27,b2,85,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:09.287Z,6,129540,160,255,123,17,ff,0a,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,16,f4,0c,39,37,1c,0c,00,00,00,00,f2,04,46,0c,1f,c9,98,08,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,00,00,00,00,00,00,f0,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:09.289Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:01:09.302Z,3,127508,129,255,8,01,7a,05,e6,08,1e,75,12\n2014-08-15T19:01:09.305Z,3,127508,129,255,8,01,7c,05,00,09,1e,75,12\n2014-08-15T19:01:09.308Z,2,130306,115,255,8,00,cc,02,8e,18,f2,ff,ff\n2014-08-15T19:01:09.328Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:09.374Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:09.376Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:09.378Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:09.438Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:09.455Z,3,129029,160,255,43,cc,a9,3f,fe,86,cf,28,00,bc,dd,81,51,c8,49,08,00,66,66,93,72,ca,6e,03,b0,db,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:09.460Z,3,129033,160,255,8,a9,3f,fe,86,cf,28,b4,00\n2014-08-15T19:01:09.468Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:09.544Z,4,129038,43,255,27,01,e0,53,7f,10,6d,9e,c9,0e,55,b9,ad,23,28,f2,87,ba,05,cd,08,00,fd,86,ff,7f,00,fe\n2014-08-15T19:01:09.546Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:09.548Z,3,128267,115,255,8,00,c5,0c,00,00,ff,ff,ff\n2014-08-15T19:01:09.556Z,3,126992,160,255,8,ff,ff,a9,3f,c2,90,cf,28\n2014-08-15T19:01:09.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3d,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:09.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:09.645Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:01:09.746Z,3,129291,160,255,8,ff,fc,81,60,1a,00,ff,ff\n2014-08-15T19:01:09.853Z,3,127508,129,255,8,01,7c,05,c7,08,1e,75,12\n2014-08-15T19:01:09.950Z,3,130577,160,255,14,c0,cc,72,83,4f,01,ff,ff,ff,ff,81,60,1a,00\n2014-08-15T19:01:09.952Z,2,129025,160,255,8,86,fc,98,23,b7,60,be,0e\n2014-08-15T19:01:10.011Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,2d,39,01,00\n2014-08-15T19:01:10.014Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:10.016Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:10.019Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:10.021Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:10.052Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:10.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,8a,cf,28,04,66,0a,a9,3f,00,00,fc\n2014-08-15T19:01:10.149Z,2,129026,160,255,8,ff,fc,72,83,4f,01,ff,ff\n2014-08-15T19:01:10.183Z,4,129038,43,255,27,01,fc,ff,e9,25,88,5a,2c,0f,92,91,be,23,25,7d,bb,c5,02,04,66,08,7c,bb,df,ff,00,fe\n2014-08-15T19:01:10.201Z,7,127506,129,255,9,13,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:10.286Z,6,129540,160,255,135,18,ff,0b,20,0b,2f,09,98,1c,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,74,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,54,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,60,09,00,00,00,00,f2,18,74,05,d1,06,54,0b,00,00,00,00,f2\n2014-08-15T19:01:10.288Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:01:10.292Z,4,129039,43,255,26,12,44,11,b6,0d,a6,5f,be,0e,91,fb,98,23,2b,9b,81,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:10.322Z,2,130306,115,255,8,00,c6,02,83,25,f2,ff,ff\n2014-08-15T19:01:10.346Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:10.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,8a,cf,28,7c,c0,0b,a9,3f,00,00,fc\n2014-08-15T19:01:10.378Z,3,127508,129,255,8,01,7e,05,e2,08,1e,75,13\n2014-08-15T19:01:10.383Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:10.386Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:10.388Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:10.404Z,4,129038,43,255,27,01,b0,79,7a,10,dc,68,d4,0e,a2,b5,80,23,24,b0,d9,d4,01,47,40,09,2a,da,ce,ff,00,fe\n2014-08-15T19:01:10.443Z,4,129038,43,255,27,01,10,dc,6d,0f,3e,6a,62,0e,3f,f9,9c,23,29,60,ad,83,02,39,c0,00,88,ae,0a,00,00,fe\n2014-08-15T19:01:10.446Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:10.463Z,3,129029,160,255,43,cd,a9,3f,18,ae,cf,28,00,3a,de,6c,0b,c8,49,08,00,1e,9c,04,5f,ca,6e,03,00,bd,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:10.465Z,3,129033,160,255,8,a9,3f,18,ae,cf,28,b4,00\n2014-08-15T19:01:10.474Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:10.505Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:10.542Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:10.545Z,3,128267,115,255,8,00,c5,0c,00,00,ff,ff,ff\n2014-08-15T19:01:10.553Z,4,129038,43,255,27,01,88,44,7d,10,23,23,c7,0e,b9,ec,7f,23,24,5d,07,00,00,a9,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:10.555Z,3,126992,160,255,8,ff,ff,a9,3f,dc,b7,cf,28\n2014-08-15T19:01:10.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,37,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:10.603Z,4,129038,43,255,27,01,98,69,b3,0e,85,6d,92,0e,dc,04,a1,23,21,a0,af,f8,01,04,66,00,42,b1,00,00,00,fe\n2014-08-15T19:01:10.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:10.650Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:10.712Z,4,129038,43,255,27,01,b8,f5,67,12,9d,35,8a,0e,22,c1,8f,23,28,68,2d,d1,03,8e,81,0a,ff,2c,00,00,00,fe\n2014-08-15T19:01:10.756Z,3,129291,160,255,8,ff,fc,e8,4b,22,00,ff,ff\n2014-08-15T19:01:10.760Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:10.821Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:10.959Z,3,130577,160,255,14,c0,cd,5b,82,52,01,ff,ff,ff,ff,e8,4b,22,00\n2014-08-15T19:01:10.961Z,2,129025,160,255,8,59,fb,98,23,63,60,be,0e\n2014-08-15T19:01:11.012Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,40,39,01,00\n2014-08-15T19:01:11.012Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:11.014Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:11.018Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:11.021Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:11.061Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:11.181Z,2,129026,160,255,8,ff,fc,5b,82,52,01,ff,ff\n2014-08-15T19:01:11.289Z,6,129540,160,255,135,19,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,80,0c,00,00,00,00,f2,0b,97,29,20,8d,b8,0b,00,00,00,00,f2,0e,5d,1f,b9,2f,e4,0c,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,74,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,b8,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,54,0b,00,00,00,00,f2,18,74,05,d1,06,e4,0c,00,00,00,00,f2\n2014-08-15T19:01:11.290Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:11.292Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:11.298Z,4,129039,43,255,26,12,44,11,b6,0d,10,5f,be,0e,54,fa,98,23,2f,ac,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:11.300Z,2,130306,115,255,8,00,db,02,77,23,f2,ff,ff\n2014-08-15T19:01:11.320Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:11.333Z,4,129038,43,255,27,01,e0,53,7f,10,0a,9b,c9,0e,73,b4,ad,23,30,cf,87,bf,05,37,40,09,fd,86,00,00,00,fe\n2014-08-15T19:01:11.371Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:11.377Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:11.379Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:11.381Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:11.413Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:11.433Z,4,129038,43,255,27,01,d0,e7,da,0d,3d,9b,33,0f,6e,0f,c4,23,31,2f,02,05,00,55,c0,08,d9,bc,00,00,00,fe\n2014-08-15T19:01:11.439Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:11.467Z,3,129029,160,255,43,ce,a9,3f,32,d5,cf,28,00,24,a9,e0,c4,c7,49,08,00,f6,cb,48,40,ca,6e,03,10,73,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:11.469Z,3,129033,160,255,8,a9,3f,32,d5,cf,28,b4,00\n2014-08-15T19:01:11.542Z,4,129038,43,255,27,01,c8,d4,7f,10,77,0a,e0,0e,b2,85,c7,23,29,21,7e,2d,04,49,c0,09,7d,7f,00,00,00,fe\n2014-08-15T19:01:11.546Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:11.548Z,3,128267,115,255,8,00,af,0c,00,00,ff,ff,ff\n2014-08-15T19:01:11.552Z,3,126992,160,255,8,ff,ff,a9,3f,f6,de,cf,28\n2014-08-15T19:01:11.578Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:11.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,4a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:11.654Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:01:11.694Z,4,129038,43,255,27,03,02,8b,c4,0d,23,2b,e1,0e,1c,be,ca,23,30,4f,86,4e,01,61,11,08,94,83,ff,7f,00,fe\n2014-08-15T19:01:11.732Z,4,129039,43,255,26,12,66,58,b6,0d,b1,5e,bc,0e,40,ef,93,23,2f,d5,85,86,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:11.756Z,3,129291,160,255,8,ff,fc,db,57,30,00,ff,ff\n2014-08-15T19:01:11.759Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:11.965Z,3,130577,160,255,14,c0,ce,60,83,54,01,ff,ff,ff,ff,db,57,30,00\n2014-08-15T19:01:11.967Z,2,129025,160,255,8,2a,fa,98,23,df,5f,be,0e\n2014-08-15T19:01:11.998Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:12.006Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,40,39,01,00\n2014-08-15T19:01:12.009Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:12.012Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:12.014Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:12.016Z,3,127508,129,255,8,01,7e,05,c8,08,1e,75,13\n2014-08-15T19:01:12.055Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:12.152Z,4,129038,43,255,27,01,20,54,a5,0e,3f,8a,4c,0f,40,d6,ac,23,34,f9,34,4a,02,40,40,09,d0,33,00,00,00,fe\n2014-08-15T19:01:12.156Z,2,129026,160,255,8,ff,fc,60,83,54,01,ff,ff\n2014-08-15T19:01:12.159Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:12.292Z,6,129540,160,255,135,1a,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,b8,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:01:12.294Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:01:12.313Z,4,129039,43,255,26,12,44,11,b6,0d,8b,5e,be,0e,28,f9,98,23,33,c9,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:12.317Z,2,130306,115,255,8,00,93,02,8e,18,f2,ff,ff\n2014-08-15T19:01:12.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:12.378Z,3,127508,129,255,8,01,7e,05,c0,08,1e,75,13\n2014-08-15T19:01:12.383Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:12.385Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:12.387Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:12.413Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:12.422Z,4,129039,43,255,26,12,9e,d6,c3,0d,ad,db,c4,0e,db,ab,94,23,32,9b,57,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:12.444Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:12.463Z,3,129029,160,255,43,cf,a9,3f,4c,fc,cf,28,00,86,b5,1f,81,c7,49,08,00,b6,0d,08,1b,ca,6e,03,90,1c,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:12.466Z,3,129033,160,255,8,a9,3f,4c,fc,cf,28,b4,00\n2014-08-15T19:01:12.541Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:12.543Z,3,128267,115,255,8,00,af,0c,00,00,ff,ff,ff\n2014-08-15T19:01:12.561Z,3,126992,160,255,8,ff,ff,a9,3f,10,06,d0,28\n2014-08-15T19:01:12.572Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,32,31,d3,23,00,70,d8,cf,28,d4,01,01,a9,3f,10,00,fc\n2014-08-15T19:01:12.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:12.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:12.663Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:01:12.757Z,3,129291,160,255,8,ff,fc,a3,4e,1e,00,ff,ff\n2014-08-15T19:01:12.818Z,3,127508,129,255,8,01,83,05,05,09,1e,75,13\n2014-08-15T19:01:12.960Z,3,130577,160,255,14,c0,cf,4f,83,54,01,ff,ff,ff,ff,a3,4e,1e,00\n2014-08-15T19:01:12.962Z,2,129025,160,255,8,07,f9,98,23,3f,5f,be,0e\n2014-08-15T19:01:12.999Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:13.003Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,40,39,01,00\n2014-08-15T19:01:13.006Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:13.009Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:13.011Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:13.032Z,7,129793,43,255,26,04,8f,18,23,00,74,1d,46,0f,50,68,e2,23,00,80,ff,cf,28,78,c0,08,a9,3f,10,00,fc\n2014-08-15T19:01:13.038Z,3,127508,129,255,8,01,85,05,16,09,1e,75,13\n2014-08-15T19:01:13.061Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:13.083Z,4,129038,43,255,27,01,08,99,b5,0d,45,48,cb,0e,da,9e,a5,23,38,a2,49,49,01,04,66,08,f3,48,00,00,00,fe\n2014-08-15T19:01:13.163Z,4,129038,43,255,27,01,38,5e,49,16,ac,7a,ca,0e,a2,bf,76,23,31,42,bd,00,00,c4,08,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:13.165Z,2,129026,160,255,8,ff,fc,4f,83,54,01,ff,ff\n2014-08-15T19:01:13.281Z,6,129540,160,255,135,1b,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,1c,0c,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,b8,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:13.283Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:01:13.291Z,2,130306,115,255,8,00,f5,02,60,1f,f2,ff,ff\n2014-08-15T19:01:13.316Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:13.322Z,4,129039,43,255,26,12,44,11,b6,0d,f5,5d,be,0e,fc,f7,98,23,37,1b,83,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:13.362Z,4,129038,43,255,27,01,b8,83,92,0e,eb,b9,e0,0e,ac,c9,75,23,35,8e,c1,05,00,f1,01,09,07,d4,00,00,00,fe\n2014-08-15T19:01:13.369Z,7,127506,129,255,9,14,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:13.373Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:13.375Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:13.378Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:13.411Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:13.432Z,4,129038,43,255,27,01,20,f6,7e,10,e9,34,c7,0e,c5,ea,7f,23,31,39,31,05,00,04,66,00,c2,c7,00,00,0f,fe\n2014-08-15T19:01:13.439Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:13.468Z,3,129029,160,255,43,d0,a9,3f,84,23,d0,28,00,54,8c,e7,3c,c7,49,08,00,4a,de,b1,fd,c9,6e,03,30,c1,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:13.470Z,3,129033,160,255,8,a9,3f,84,23,d0,28,b4,00\n2014-08-15T19:01:13.506Z,3,127508,129,255,8,01,85,05,fc,08,1e,75,14\n2014-08-15T19:01:13.512Z,4,129038,43,255,27,01,e0,53,7f,10,03,91,c9,0e,cd,a5,ad,23,38,e0,87,ba,05,38,40,01,fd,86,00,00,00,fe\n2014-08-15T19:01:13.540Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:13.542Z,3,128267,115,255,8,00,a3,0c,00,00,ff,ff,ff\n2014-08-15T19:01:13.552Z,4,129038,43,255,27,01,c8,27,16,0e,01,70,65,0e,d8,85,93,23,2d,39,31,50,03,1e,02,09,67,30,ec,ff,00,fe\n2014-08-15T19:01:13.562Z,3,126992,160,255,8,ff,ff,a9,3f,52,2d,d0,28\n2014-08-15T19:01:13.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,24,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:13.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:13.664Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:01:13.672Z,4,129038,43,255,27,01,88,d6,d0,0c,03,8c,e7,0e,18,0c,b9,23,35,e6,97,3c,03,fd,81,00,14,9a,00,00,00,fe\n2014-08-15T19:01:13.715Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:13.756Z,3,129291,160,255,8,ff,fc,a3,4e,1e,00,ff,ff\n2014-08-15T19:01:13.792Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:13.907Z,3,127508,129,255,8,01,86,05,03,09,1e,75,14\n2014-08-15T19:01:13.960Z,3,130577,160,255,14,c0,d0,1b,83,54,01,ff,ff,ff,ff,59,57,33,00\n2014-08-15T19:01:13.962Z,2,129025,160,255,8,e2,f7,98,23,c1,5e,be,0e\n2014-08-15T19:01:13.996Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:14.001Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,40,39,01,00\n2014-08-15T19:01:14.003Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:14.006Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:14.008Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:14.060Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:14.132Z,4,129038,43,255,27,01,08,7b,ba,0d,a3,3d,95,0e,a5,86,bd,23,35,37,a0,7c,01,1e,c0,08,37,a0,00,00,00,fe\n2014-08-15T19:01:14.161Z,2,129026,160,255,8,ff,fc,1b,83,54,01,ff,ff\n2014-08-15T19:01:14.256Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:14.258Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:14.260Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:14.294Z,6,129540,160,255,135,1c,ff,0b,20,0b,2f,09,98,80,0c,00,00,00,00,f2,01,ff,2c,b7,b6,e4,0c,00,00,00,00,f2,0b,97,29,20,8d,10,0e,00,00,00,00,f2,0e,5d,1f,b9,2f,48,0d,00,00,00,00,f2,14,68,12,ce,ab,e4,0c,00,00,00,00,f2,11,51,0e,7c,d9,10,0e,00,00,00,00,f2,16,f4,0c,39,37,e4,0c,00,00,00,00,f2,04,46,0c,1f,c9,b8,0b,00,00,00,00,f2,13,e9,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,f1,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,c4,09,00,00,00,00,f2\n2014-08-15T19:01:14.298Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:14.300Z,2,130306,115,255,8,00,e5,02,df,17,f2,ff,ff\n2014-08-15T19:01:14.332Z,4,129039,43,255,26,12,44,11,b6,0d,5f,5d,be,0e,e1,f6,98,23,3b,c9,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:14.386Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:14.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:14.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:14.464Z,3,127508,129,255,8,01,87,05,f8,08,1e,75,14\n2014-08-15T19:01:14.470Z,3,129029,160,255,43,d1,a9,3f,c6,4a,d0,28,00,ec,fd,ea,f8,c6,49,08,00,ec,a8,31,df,c9,6e,03,20,9a,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:14.472Z,3,129033,160,255,8,a9,3f,c6,4a,d0,28,b4,00\n2014-08-15T19:01:14.542Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:14.544Z,3,128267,115,255,8,00,cb,0c,00,00,ff,ff,ff\n2014-08-15T19:01:14.548Z,3,127508,129,255,8,01,88,05,01,09,1e,75,14\n2014-08-15T19:01:14.567Z,3,126992,160,255,8,ff,ff,a9,3f,a8,54,d0,28\n2014-08-15T19:01:14.577Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:14.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:14.664Z,4,129038,43,255,27,01,d2,ff,4a,10,1a,8a,b1,0e,1a,02,71,23,39,b0,f1,00,00,eb,08,00,37,91,01,00,00,fe\n2014-08-15T19:01:14.665Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:14.747Z,3,127508,129,255,8,01,85,05,ba,08,1e,75,14\n2014-08-15T19:01:14.768Z,3,129291,160,255,8,ff,fc,59,57,33,00,ff,ff\n2014-08-15T19:01:14.801Z,7,127506,129,255,9,15,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:14.967Z,3,130577,160,255,14,c0,d1,95,83,52,01,ff,ff,ff,ff,b6,4c,24,00\n2014-08-15T19:01:14.969Z,2,129025,160,255,8,be,f6,98,23,3e,5e,be,0e\n2014-08-15T19:01:14.974Z,2,130306,115,255,8,00,bc,02,eb,19,f2,ff,ff\n2014-08-15T19:01:14.995Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:14.999Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ba,21,0a,01,40,39,01,00\n2014-08-15T19:01:15.001Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:15.004Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:15.006Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:15.040Z,3,127508,129,255,8,01,8a,05,04,09,1e,75,15\n2014-08-15T19:01:15.062Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:15.163Z,2,129026,160,255,8,ff,fc,95,83,52,01,ff,ff\n2014-08-15T19:01:15.176Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:15.293Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:15.315Z,6,129540,160,255,147,1d,ff,0c,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,5a,b5,80,0c,00,00,00,00,f2,0b,97,29,15,8b,74,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,ce,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,d1,06,28,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:15.317Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:01:15.334Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:15.336Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:15.337Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:15.352Z,4,129039,43,255,26,12,44,11,b6,0d,d9,5c,be,0e,c6,f5,98,23,3f,db,83,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:15.402Z,4,129038,43,255,27,01,e0,53,7f,10,90,8d,c9,0e,fc,a0,ad,23,40,f2,87,ba,05,cc,08,08,ac,87,ff,7f,00,fe\n2014-08-15T19:01:15.442Z,4,129039,43,255,26,12,0a,ec,b5,0d,dd,06,c9,0e,2e,ea,92,23,38,ad,57,62,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:15.471Z,3,129029,160,255,43,d2,a9,3f,26,72,d0,28,00,92,69,c4,b3,c6,49,08,00,c6,5b,09,bc,c9,6e,03,c0,91,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:15.472Z,3,129033,160,255,8,a9,3f,26,72,d0,28,b4,00\n2014-08-15T19:01:15.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:15.554Z,3,128267,115,255,8,00,cb,0c,00,00,ff,ff,ff\n2014-08-15T19:01:15.556Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:15.565Z,3,126992,160,255,8,ff,ff,a9,3f,c2,7b,d0,28\n2014-08-15T19:01:15.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,37,02,02,00,01,03,03,00,00,00\n2014-08-15T19:01:15.588Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:15.592Z,4,129038,43,255,27,03,02,8b,c4,0d,2f,29,e1,0e,8d,b9,ca,23,40,e6,82,53,01,00,00,00,e6,82,ff,7f,00,fe\n2014-08-15T19:01:15.614Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:15.651Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:15.666Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:01:15.682Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:15.770Z,3,129291,160,255,8,ff,fc,b6,4c,24,00,ff,ff\n2014-08-15T19:01:15.799Z,3,127508,129,255,8,01,89,05,cf,08,1e,75,15\n2014-08-15T19:01:15.802Z,4,129038,43,255,27,01,10,04,1a,0e,ab,08,03,0f,02,62,af,23,38,da,b0,9c,02,4d,02,01,4e,b3,00,00,00,fe\n2014-08-15T19:01:15.913Z,7,129793,43,255,26,04,91,18,23,00,5a,1b,86,0e,2c,f7,c7,23,00,b0,74,d0,28,51,02,09,a9,3f,10,00,fc\n2014-08-15T19:01:15.943Z,2,130306,115,255,8,00,db,02,f7,1b,f2,ff,ff\n2014-08-15T19:01:15.963Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:15.968Z,3,130577,160,255,14,c0,d2,b8,83,56,01,ff,ff,ff,ff,b6,4c,24,00\n2014-08-15T19:01:15.970Z,2,129025,160,255,8,95,f5,98,23,a7,5d,be,0e\n2014-08-15T19:01:15.995Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,52,39,01,00\n2014-08-15T19:01:15.998Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:16.002Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:16.013Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:16.066Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:16.104Z,4,129039,43,255,26,12,c4,e2,c3,0d,34,ca,c0,0e,ba,14,96,23,3c,7e,55,72,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:01:16.177Z,2,129026,160,255,8,ff,fc,b8,83,56,01,ff,ff\n2014-08-15T19:01:16.202Z,4,129038,43,255,27,01,fc,ff,e9,25,fb,39,2c,0f,92,91,be,23,3d,da,bc,cb,02,5c,82,01,7c,bb,1a,00,00,fe\n2014-08-15T19:01:16.206Z,3,127508,129,255,8,01,8b,05,ee,08,1e,75,15\n2014-08-15T19:01:16.310Z,6,129540,160,255,147,1e,ff,0c,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,54,0b,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,c4,09,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:16.311Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:01:16.320Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:01:16.355Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:16.357Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:16.362Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:01:16.364Z,4,129039,43,255,26,12,44,11,b6,0d,65,5c,be,0e,89,f4,98,23,43,b2,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:16.388Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:16.424Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:16.480Z,3,129029,160,255,43,d3,a9,3f,22,99,d0,28,00,b2,99,fc,6c,c6,49,08,00,0c,d9,69,98,c9,6e,03,60,89,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:16.486Z,3,129033,160,255,8,a9,3f,22,99,d0,28,b4,00\n2014-08-15T19:01:16.540Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:16.542Z,3,128267,115,255,8,00,f2,0c,00,00,ff,ff,ff\n2014-08-15T19:01:16.567Z,3,126992,160,255,8,ff,ff,a9,3f,f0,a2,d0,28\n2014-08-15T19:01:16.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:16.581Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:16.590Z,3,127508,129,255,8,01,8a,05,c1,08,1e,75,15\n2014-08-15T19:01:16.669Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:01:16.776Z,3,129291,160,255,8,ff,fc,53,62,24,00,ff,ff\n2014-08-15T19:01:16.910Z,2,130306,115,255,8,00,a7,02,3c,19,f2,ff,ff\n2014-08-15T19:01:16.946Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:16.971Z,3,130577,160,255,14,c0,d3,c9,83,57,01,ff,ff,ff,ff,53,62,24,00\n2014-08-15T19:01:16.974Z,2,129025,160,255,8,65,f4,98,23,0e,5d,be,0e\n2014-08-15T19:01:16.993Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,52,39,01,00\n2014-08-15T19:01:16.996Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:16.998Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:17.001Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:01:17.003Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:17.033Z,4,129038,43,255,27,01,c8,d4,7f,10,35,07,e0,0e,c0,72,c7,23,3d,55,7e,33,04,04,66,00,cf,7e,00,00,00,fe\n2014-08-15T19:01:17.074Z,4,129038,43,255,27,01,b8,f5,67,12,b0,61,8a,0e,0d,ca,8f,23,40,68,2d,d1,03,7c,02,03,ff,2c,00,00,00,fe\n2014-08-15T19:01:17.076Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:17.150Z,3,127508,129,255,8,01,8a,05,ae,08,1e,75,15\n2014-08-15T19:01:17.175Z,2,129026,160,255,8,ff,fc,c9,83,57,01,ff,ff\n2014-08-15T19:01:17.242Z,4,129038,43,255,27,01,b8,53,a6,0c,9f,a9,7e,0e,a3,e7,9f,23,44,c3,ac,73,02,c6,08,00,88,ae,00,00,00,fe\n2014-08-15T19:01:17.295Z,2,128259,115,255,8,00,45,01,ff,ff,00,ff,ff\n2014-08-15T19:01:17.298Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:17.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:17.315Z,6,129540,160,255,147,1f,ff,0c,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:17.317Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:01:17.329Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:17.361Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:17.373Z,4,129039,43,255,26,12,44,11,b6,0d,df,5b,be,0e,4c,f3,98,23,47,f8,82,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:17.477Z,3,129029,160,255,43,d4,a9,3f,5a,c0,d0,28,00,5a,88,69,23,c6,49,08,00,50,d3,36,79,c9,6e,03,c0,02,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:17.479Z,3,129033,160,255,8,a9,3f,5a,c0,d0,28,b4,00\n2014-08-15T19:01:17.489Z,7,127506,129,255,9,16,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:17.540Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:17.543Z,3,128267,115,255,8,00,da,0c,00,00,ff,ff,ff\n2014-08-15T19:01:17.563Z,4,129038,43,255,27,01,e0,53,7f,10,04,83,c9,0e,66,92,ad,23,4c,6c,88,c4,05,04,66,00,ac,87,00,00,00,fe\n2014-08-15T19:01:17.572Z,3,126992,160,255,8,ff,ff,a9,3f,3c,ca,d0,28\n2014-08-15T19:01:17.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:17.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:17.674Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:01:17.774Z,3,129291,160,255,8,ff,fc,f5,58,30,00,ff,ff\n2014-08-15T19:01:17.879Z,2,130306,115,255,8,00,42,03,d5,24,f2,ff,ff\n2014-08-15T19:01:17.899Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:17.907Z,6,129794,43,255,75,05,b8,f5,67,12,d5,27,8e,00,43,36,56,48,34,20,20,44,41,4e,55,42,45,20,48,49,47,48,57,41,59,20,20,20,20,20,20,46,c8,05,fa,00,64,00,18,01,a9,3f,00,f6,34,2f,e4,02,4b,4f,54,4b,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:01:17.981Z,3,130577,160,255,14,c0,d4,60,83,5d,01,ff,ff,ff,ff,f5,58,30,00\n2014-08-15T19:01:17.983Z,2,129025,160,255,8,29,f3,98,23,88,5c,be,0e\n2014-08-15T19:01:17.991Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,52,39,01,00\n2014-08-15T19:01:17.993Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:17.996Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:17.998Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:18.000Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:18.062Z,3,127508,129,255,8,01,8b,05,b0,08,1e,75,16\n2014-08-15T19:01:18.071Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:18.172Z,2,129026,160,255,8,ff,fc,60,83,5d,01,ff,ff\n2014-08-15T19:01:18.265Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:18.302Z,6,129540,160,255,147,20,ff,0c,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,e4,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,e4,0c,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:18.304Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:18.328Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:18.330Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:18.332Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:01:18.360Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:18.383Z,4,129039,43,255,26,12,44,11,b6,0d,07,5b,be,0e,31,f2,98,23,4b,f8,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:18.390Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:18.473Z,4,129038,43,255,27,01,38,5e,49,16,ac,7a,ca,0e,a2,bf,76,23,45,01,ee,00,00,e7,08,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:18.487Z,3,129029,160,255,43,d5,a9,3f,9c,e7,d0,28,00,1c,e8,ee,db,c5,49,08,00,e8,a9,07,53,c9,6e,03,80,d7,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:18.489Z,3,129033,160,255,8,a9,3f,9c,e7,d0,28,b4,00\n2014-08-15T19:01:18.513Z,4,129038,43,255,27,01,58,43,c9,0e,f0,49,da,0e,6c,26,aa,23,4c,26,af,c0,02,b2,82,01,94,b0,00,00,00,fe\n2014-08-15T19:01:18.538Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:18.540Z,3,128267,115,255,8,00,da,0c,00,00,ff,ff,ff\n2014-08-15T19:01:18.574Z,3,126992,160,255,8,ff,ff,a9,3f,42,f1,d0,28\n2014-08-15T19:01:18.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,44,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:18.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:18.603Z,4,129038,43,255,27,01,68,e2,20,12,c0,b2,00,0f,3e,96,ad,23,4c,08,b0,fd,01,97,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:01:18.678Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:01:18.714Z,4,129038,43,255,27,01,88,d6,d0,0c,17,78,e7,0e,7c,01,b9,23,49,2c,98,3c,03,04,66,08,14,9a,00,00,00,fe\n2014-08-15T19:01:18.778Z,3,129291,160,255,8,ff,fc,bd,47,30,00,ff,ff\n2014-08-15T19:01:18.813Z,4,129038,43,255,27,01,10,dc,6d,0f,ac,47,62,0e,2b,f4,9c,23,49,60,ad,83,02,39,c0,08,88,ae,00,00,00,fe\n2014-08-15T19:01:18.864Z,2,130306,115,255,8,00,65,02,bc,11,f2,ff,ff\n2014-08-15T19:01:18.876Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:18.883Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:18.953Z,4,129039,43,255,26,12,fe,ea,8e,0f,e9,0b,9a,0e,27,fb,ad,23,48,ab,d5,b4,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:18.975Z,3,130577,160,255,14,c0,d5,9b,84,5b,01,ff,ff,ff,ff,bd,47,30,00\n2014-08-15T19:01:18.978Z,2,129025,160,255,8,f6,f1,98,23,e4,5b,be,0e\n2014-08-15T19:01:18.988Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,52,39,01,00\n2014-08-15T19:01:18.990Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:18.993Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:18.995Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:18.999Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:19.077Z,6,129794,43,255,75,05,18,9e,7f,10,00,00,00,00,45,53,32,39,30,39,20,41,48,54,4f,2d,30,32,20,20,20,20,20,20,20,20,20,20,20,20,20,32,a0,00,28,00,14,00,6e,00,14,40,00,e9,a4,35,00,00,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,05,e1\n2014-08-15T19:01:19.083Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:19.113Z,4,129038,43,255,27,01,c8,27,16,0e,2d,8a,65,0e,46,8a,93,23,41,05,31,50,03,ed,82,00,67,30,ec,ff,00,fe\n2014-08-15T19:01:19.175Z,2,129026,160,255,8,ff,fc,9b,84,5b,01,ff,ff\n2014-08-15T19:01:19.213Z,4,129038,43,255,27,01,92,12,4b,10,23,71,ff,0e,90,ac,ae,23,4c,43,b1,bb,02,04,66,08,f1,b1,00,00,00,fe\n2014-08-15T19:01:19.296Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:19.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:19.301Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:19.316Z,6,129540,160,255,147,21,ff,0c,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,80,0c,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:19.318Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:01:19.329Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:19.358Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:19.403Z,4,129039,43,255,26,12,44,11,b6,0d,71,5a,be,0e,e4,f0,98,23,4f,db,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:19.487Z,3,129029,160,255,43,d6,a9,3f,98,0e,d1,28,00,3c,18,27,95,c5,49,08,00,72,86,02,2e,c9,6e,03,70,21,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:19.489Z,3,129033,160,255,8,a9,3f,98,0e,d1,28,b4,00\n2014-08-15T19:01:19.526Z,3,127508,129,255,8,01,8e,05,e4,08,1e,75,16\n2014-08-15T19:01:19.540Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:19.542Z,3,128267,115,255,8,00,8b,0c,00,00,ff,ff,ff\n2014-08-15T19:01:19.546Z,4,129038,43,255,27,01,e0,53,7f,10,eb,7b,c9,0e,b3,88,ad,23,50,5b,88,bf,05,d9,02,09,ac,87,00,00,00,fe\n2014-08-15T19:01:19.574Z,3,126992,160,255,8,ff,ff,a9,3f,8e,18,d1,28\n2014-08-15T19:01:19.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,38,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:19.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:19.613Z,4,129038,43,255,27,01,6c,70,4a,10,03,3c,ff,0e,27,88,a3,23,47,73,35,bf,01,1d,c0,08,21,33,f6,ff,00,fe\n2014-08-15T19:01:19.675Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:01:19.771Z,3,127508,129,255,8,01,8c,05,b0,08,1e,75,16\n2014-08-15T19:01:19.776Z,3,129291,160,255,8,ff,fc,3c,6f,2f,00,ff,ff\n2014-08-15T19:01:19.811Z,2,130306,115,255,8,00,8f,03,e0,26,f2,ff,ff\n2014-08-15T19:01:19.835Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:19.981Z,3,130577,160,255,14,c0,d6,ec,83,5f,01,ff,ff,ff,ff,3c,6f,2f,00\n2014-08-15T19:01:19.984Z,2,129025,160,255,8,c6,f0,98,23,45,5b,be,0e\n2014-08-15T19:01:19.987Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,52,39,01,00\n2014-08-15T19:01:19.989Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:19.992Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:19.994Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:20.073Z,4,129038,43,255,27,01,88,44,7d,10,db,23,c7,0e,a8,ec,7f,23,48,c4,67,05,00,df,08,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:20.082Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:20.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,10,d1,28,04,66,02,a9,3f,00,00,fc\n2014-08-15T19:01:20.176Z,2,129026,160,255,8,ff,fc,ec,83,5f,01,ff,ff\n2014-08-15T19:01:20.306Z,6,129540,160,255,147,22,ff,0c,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:20.313Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:01:20.320Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:20.348Z,3,127508,129,255,8,01,92,05,ff,08,1e,75,16\n2014-08-15T19:01:20.358Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:20.360Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:20.362Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:20.366Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,10,d1,28,7c,c0,02,a9,3f,00,00,fc\n2014-08-15T19:01:20.413Z,4,129039,43,255,26,12,44,11,b6,0d,b9,59,be,0e,ea,ef,98,23,53,f8,85,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:20.424Z,3,127508,129,255,8,01,91,05,e0,08,1e,75,16\n2014-08-15T19:01:20.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:20.496Z,3,129029,160,255,43,d7,a9,3f,da,35,d1,28,00,76,b9,77,50,c5,49,08,00,30,45,2e,0d,c9,6e,03,60,89,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:20.499Z,3,129033,160,255,8,a9,3f,da,35,d1,28,b4,00\n2014-08-15T19:01:20.501Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:20.505Z,4,129038,43,255,27,03,28,f5,77,10,65,a4,9f,0e,ba,7c,74,23,48,67,5d,76,00,c0,0f,00,72,50,ff,7f,00,fe\n2014-08-15T19:01:20.528Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:20.560Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:20.562Z,3,128267,115,255,8,00,e0,0b,00,00,ff,ff,ff\n2014-08-15T19:01:20.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:20.582Z,3,126992,160,255,8,ff,ff,a9,3f,80,3f,d1,28\n2014-08-15T19:01:20.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:20.653Z,4,129038,43,255,27,03,b8,75,c4,0d,96,ec,b9,0e,4e,b4,70,23,4c,83,a7,00,00,00,00,00,4d,c2,00,00,05,fe\n2014-08-15T19:01:20.684Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:01:20.783Z,2,130306,115,255,8,00,c1,02,19,13,f2,ff,ff\n2014-08-15T19:01:20.785Z,3,129291,160,255,8,ff,fc,49,55,3b,00,ff,ff\n2014-08-15T19:01:20.789Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:20.808Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:20.850Z,7,127506,129,255,9,17,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:20.979Z,3,127508,129,255,8,01,93,05,f1,08,1e,75,17\n2014-08-15T19:01:20.983Z,4,129038,43,255,27,01,b0,79,7a,10,b9,52,d4,0e,01,c2,80,23,4c,48,d9,d9,01,0f,83,00,2a,da,e6,ff,00,fe\n2014-08-15T19:01:20.986Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:20.990Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:20.992Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:20.994Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:20.997Z,3,130577,160,255,14,c0,d7,66,84,56,01,ff,ff,ff,ff,49,55,3b,00\n2014-08-15T19:01:21.000Z,2,129025,160,255,8,9f,ef,98,23,b8,5a,be,0e\n2014-08-15T19:01:21.003Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:21.081Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:21.132Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:21.159Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:21.187Z,2,129026,160,255,8,ff,fc,66,84,56,01,ff,ff\n2014-08-15T19:01:21.273Z,4,129038,43,255,27,01,e0,53,7f,10,67,78,c9,0e,d1,83,ad,23,58,49,88,c4,05,d0,08,00,ac,87,00,00,00,fe\n2014-08-15T19:01:21.284Z,3,127508,129,255,8,01,93,05,ef,08,1e,75,17\n2014-08-15T19:01:21.297Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:21.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:21.302Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:21.308Z,3,127508,129,255,8,01,93,05,c7,08,1e,75,17\n2014-08-15T19:01:21.319Z,6,129540,160,255,147,23,ff,0c,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:21.321Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:01:21.323Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:21.328Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:21.359Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:21.423Z,4,129039,43,255,26,12,44,11,b6,0d,02,59,be,0e,ce,ee,98,23,57,a0,85,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:21.491Z,3,129029,160,255,43,d8,a9,3f,cc,5c,d1,28,00,78,72,70,10,c5,49,08,00,0c,7b,99,e5,c8,6e,03,10,a8,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:21.493Z,3,129033,160,255,8,a9,3f,cc,5c,d1,28,b4,00\n2014-08-15T19:01:21.537Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:21.539Z,3,128267,115,255,8,00,11,0c,00,00,ff,ff,ff\n2014-08-15T19:01:21.543Z,4,129038,43,255,27,01,fc,ff,e9,25,a6,23,2c,0f,c4,91,be,23,51,7d,bb,d0,02,24,83,08,7c,bb,0a,00,00,fe\n2014-08-15T19:01:21.573Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:21.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:21.591Z,3,126992,160,255,8,ff,ff,a9,3f,b8,66,d1,28\n2014-08-15T19:01:21.682Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:01:21.709Z,3,127508,129,255,8,01,97,05,18,09,1e,75,17\n2014-08-15T19:01:21.731Z,3,127508,129,255,8,01,97,05,fe,08,1e,75,17\n2014-08-15T19:01:21.750Z,2,130306,115,255,8,00,32,03,eb,19,f2,ff,ff\n2014-08-15T19:01:21.783Z,3,129291,160,255,8,ff,fc,49,5a,31,00,ff,ff\n2014-08-15T19:01:21.785Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:21.787Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:21.853Z,4,129038,43,255,27,01,20,54,a5,0e,70,b1,4c,0f,38,da,ac,23,58,c5,34,4a,02,a7,08,00,7f,34,00,00,00,fe\n2014-08-15T19:01:21.939Z,7,127506,129,255,9,18,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:21.979Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:21.982Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:21.985Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:21.987Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:21.990Z,3,130577,160,255,14,c0,d8,cf,84,55,01,ff,ff,ff,ff,49,5a,31,00\n2014-08-15T19:01:21.992Z,2,129025,160,255,8,8c,ee,98,23,0e,5a,be,0e\n2014-08-15T19:01:22.078Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:22.088Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:22.116Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:22.118Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:22.121Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:22.149Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:22.152Z,4,129038,43,255,27,01,98,69,b3,0e,b1,47,92,0e,7f,00,a1,23,4d,a0,af,f8,01,04,66,08,42,b1,00,00,00,fe\n2014-08-15T19:01:22.184Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:22.186Z,3,127508,129,255,8,01,94,05,b8,08,1e,75,18\n2014-08-15T19:01:22.191Z,2,129026,160,255,8,ff,fc,cf,84,55,01,ff,ff\n2014-08-15T19:01:22.194Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:22.313Z,6,129540,160,255,147,24,ff,0c,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,f0,0a,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:22.316Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:01:22.442Z,4,129039,43,255,26,12,44,11,b6,0d,29,58,be,0e,b3,ed,98,23,5b,ec,86,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:22.482Z,4,129039,43,255,26,12,06,a5,b5,0d,e3,ca,bd,0e,25,c2,98,23,58,c9,83,58,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:22.494Z,3,129029,160,255,43,d9,a9,3f,0e,84,d1,28,00,f4,ef,c7,ce,c4,49,08,00,a6,d4,fd,ba,c8,6e,03,c0,55,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:22.496Z,3,129033,160,255,8,a9,3f,0e,84,d1,28,b4,00\n2014-08-15T19:01:22.535Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:22.537Z,3,128267,115,255,8,00,11,0c,00,00,ff,ff,ff\n2014-08-15T19:01:22.573Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:22.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2e,02,02,00,01,03,03,00,00,00\n2014-08-15T19:01:22.583Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,64,31,d3,23,00,10,5f,d1,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:01:22.586Z,3,126992,160,255,8,ff,ff,a9,3f,aa,8d,d1,28\n2014-08-15T19:01:22.682Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:22.684Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:22.719Z,2,130306,115,255,8,00,ad,02,60,1f,f2,ff,ff\n2014-08-15T19:01:22.745Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:22.763Z,4,129039,43,255,26,12,90,e4,c3,0d,79,02,bf,0e,ba,fd,7e,23,58,38,6d,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:22.785Z,3,129291,160,255,8,ff,fc,97,59,29,00,ff,ff\n2014-08-15T19:01:22.976Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:22.979Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:22.981Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:22.984Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:22.991Z,3,130577,160,255,14,c0,d9,5b,85,52,01,ff,ff,ff,ff,97,59,29,00\n2014-08-15T19:01:22.993Z,2,129025,160,255,8,72,ed,98,23,57,59,be,0e\n2014-08-15T19:01:23.032Z,7,129793,43,255,26,04,8f,18,23,00,a6,1d,46,0f,82,68,e2,23,00,20,86,d1,28,78,c0,00,a9,3f,10,00,fc\n2014-08-15T19:01:23.072Z,4,129038,43,255,27,01,58,eb,ad,0e,d7,e4,5b,0e,48,38,8f,23,5f,b9,2f,d4,01,5d,83,08,5c,2e,00,00,00,fe\n2014-08-15T19:01:23.088Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:23.093Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:23.132Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:23.134Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:23.136Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:01:23.162Z,4,129038,43,255,27,01,b8,83,92,0e,60,ba,e0,0e,ac,c9,75,23,5d,8e,c1,05,00,61,83,01,07,d4,00,00,00,fe\n2014-08-15T19:01:23.164Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:23.188Z,2,129026,160,255,8,ff,fc,5b,85,52,01,ff,ff\n2014-08-15T19:01:23.194Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:23.202Z,4,129038,43,255,27,03,28,f5,77,10,65,a4,9f,0e,ba,7c,74,23,50,b8,5c,7b,00,21,12,08,c4,4f,ff,7f,00,fe\n2014-08-15T19:01:23.233Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:23.242Z,4,129038,43,255,27,01,c8,d4,7f,10,f4,03,e0,0e,07,5c,c7,23,55,72,7d,33,04,04,66,08,cf,7e,00,00,00,fe\n2014-08-15T19:01:23.327Z,6,129540,160,255,147,25,ff,0c,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,28,0a,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,f0,0a,00,00,00,00,f2,13,3a,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:23.329Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:23.352Z,4,129038,43,255,27,01,b8,f5,67,12,cc,86,8a,0e,41,d2,8f,23,5c,9c,2d,d1,03,63,c0,0b,ff,2c,00,00,00,fe\n2014-08-15T19:01:23.432Z,4,129038,43,255,27,01,e0,53,7f,10,4f,71,c9,0e,1e,7a,ad,23,60,8f,88,c4,05,6b,83,08,ac,87,ff,7f,00,fe\n2014-08-15T19:01:23.442Z,3,127508,129,255,8,01,98,05,04,09,1e,75,18\n2014-08-15T19:01:23.472Z,4,129039,43,255,26,12,44,11,b6,0d,40,57,be,0e,98,ec,98,23,5f,c9,86,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:23.494Z,3,129029,160,255,43,da,a9,3f,00,ab,d1,28,00,ce,3d,d2,8d,c4,49,08,00,fc,ce,c7,91,c8,6e,03,30,67,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:23.498Z,3,129033,160,255,8,a9,3f,00,ab,d1,28,b4,00\n2014-08-15T19:01:23.534Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:23.536Z,3,128267,115,255,8,00,11,0c,00,00,ff,ff,ff\n2014-08-15T19:01:23.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3a,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:23.591Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:23.595Z,3,126992,160,255,8,ff,ff,a9,3f,b0,b4,d1,28\n2014-08-15T19:01:23.672Z,4,129039,43,255,26,12,ca,0c,b7,0d,2d,87,bd,0e,83,1a,97,23,5c,72,7d,58,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:23.686Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:01:23.702Z,2,130306,115,255,8,00,98,02,76,14,f2,ff,ff\n2014-08-15T19:01:23.722Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:23.787Z,3,129291,160,255,8,ff,fc,da,4a,1d,00,ff,ff\n2014-08-15T19:01:23.832Z,4,129038,43,255,27,01,b0,7f,79,10,f8,d0,b4,0e,6e,7d,6f,23,60,03,a6,00,00,7a,83,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:23.975Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:23.977Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:23.979Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:23.981Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:23.994Z,3,130577,160,255,14,c0,da,8f,85,4e,01,ff,ff,ff,ff,da,4a,1d,00\n2014-08-15T19:01:23.997Z,2,129025,160,255,8,5b,ec,98,23,a6,58,be,0e\n2014-08-15T19:01:24.018Z,3,127508,129,255,8,01,98,05,e9,08,1e,75,18\n2014-08-15T19:01:24.096Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:24.122Z,4,129038,43,255,27,01,08,99,b5,0d,50,62,cb,0e,58,98,a5,23,64,50,4a,49,01,b9,08,00,f3,48,00,00,00,fe\n2014-08-15T19:01:24.187Z,2,129026,160,255,8,ff,fc,8f,85,4e,01,ff,ff\n2014-08-15T19:01:24.232Z,4,129038,43,255,27,03,02,8b,c4,0d,94,26,e1,0e,c9,af,ca,23,60,2c,80,68,01,00,00,08,37,82,00,00,00,fe\n2014-08-15T19:01:24.283Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:24.319Z,6,129540,160,255,135,26,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,f0,0a,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,54,0b,00,00,00,00,f2,13,3a,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:24.322Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:01:24.334Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:24.336Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:24.338Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:24.366Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:24.394Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:24.472Z,4,129039,43,255,26,12,44,11,b6,0d,99,56,be,0e,5b,eb,98,23,63,15,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:24.502Z,3,129029,160,255,43,db,a9,3f,06,d2,d1,28,00,9c,14,9a,49,c4,49,08,00,28,db,0f,6c,c8,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:24.504Z,3,129033,160,255,8,a9,3f,06,d2,d1,28,b4,00\n2014-08-15T19:01:24.554Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:24.556Z,3,128267,115,255,8,00,f5,0b,00,00,ff,ff,ff\n2014-08-15T19:01:24.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:24.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:24.602Z,3,126992,160,255,8,ff,ff,a9,3f,06,dc,d1,28\n2014-08-15T19:01:24.615Z,3,127508,129,255,8,01,96,05,b6,08,1e,75,18\n2014-08-15T19:01:24.650Z,2,130306,115,255,8,00,19,03,c9,22,f2,ff,ff\n2014-08-15T19:01:24.674Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:24.694Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:01:24.751Z,3,127508,129,255,8,01,97,05,af,08,1e,75,18\n2014-08-15T19:01:24.796Z,3,129291,160,255,8,ff,fc,da,4a,1d,00,ff,ff\n2014-08-15T19:01:24.971Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:24.974Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:24.976Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:24.979Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:25.000Z,3,130577,160,255,14,c0,db,6c,85,4f,01,ff,ff,ff,ff,da,56,2f,00\n2014-08-15T19:01:25.002Z,2,129025,160,255,8,36,eb,98,23,04,58,be,0e\n2014-08-15T19:01:25.072Z,4,129038,43,255,27,01,c8,27,16,0e,ff,a7,65,0e,28,8f,93,23,59,05,31,50,03,33,40,09,b9,2f,f6,ff,00,fe\n2014-08-15T19:01:25.095Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:25.163Z,4,129039,43,255,26,12,44,e0,c3,0d,89,28,bb,0e,af,4b,8f,23,62,5b,82,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:25.183Z,7,127506,129,255,9,19,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:25.197Z,2,129026,160,255,8,ff,fc,6c,85,4f,01,ff,ff\n2014-08-15T19:01:25.268Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:25.272Z,4,129038,43,255,27,01,e0,53,7f,10,04,6a,c9,0e,6a,70,ad,23,68,c3,88,c4,05,b0,03,01,5a,88,ff,7f,00,fe\n2014-08-15T19:01:25.338Z,6,129540,160,255,147,27,ff,0c,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,b8,0b,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,28,0a,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,b8,0b,00,00,00,00,f2,13,3a,0a,cf,7e,60,09,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2,1f,17,04,8a,54,00,00,00,00,00,00,f0\n2014-08-15T19:01:25.341Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:01:25.343Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:25.345Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:25.348Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:01:25.352Z,4,129038,43,255,27,01,88,d6,d0,0c,22,60,e7,0e,ca,f4,b8,23,61,4f,98,3c,03,04,66,00,65,99,00,00,00,fe\n2014-08-15T19:01:25.385Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:25.392Z,4,129038,43,255,27,01,20,f6,7e,10,a1,35,c7,0e,d0,eb,7f,23,65,39,31,05,00,b3,03,09,13,c7,00,00,0f,fe\n2014-08-15T19:01:25.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:25.419Z,3,127508,129,255,8,01,98,05,b5,08,1e,75,19\n2014-08-15T19:01:25.444Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:25.482Z,4,129039,43,255,26,12,44,11,b6,0d,e2,55,be,0e,40,ea,98,23,67,4f,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:25.500Z,3,129029,160,255,43,dc,a9,3f,52,f9,d1,28,00,78,e5,37,04,c4,49,08,00,48,70,15,43,c8,6e,03,10,a8,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:25.502Z,3,129033,160,255,8,a9,3f,52,f9,d1,28,b4,00\n2014-08-15T19:01:25.536Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:25.537Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:25.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,54,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:25.592Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:25.596Z,3,126992,160,255,8,ff,ff,a9,3f,20,03,d2,28\n2014-08-15T19:01:25.642Z,2,130306,115,255,8,00,d1,02,c7,13,f2,ff,ff\n2014-08-15T19:01:25.668Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:25.701Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:01:25.792Z,3,129291,160,255,8,ff,fc,da,56,2f,00,ff,ff\n2014-08-15T19:01:25.809Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:25.914Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,5e,f7,c7,23,00,50,fb,d1,28,04,66,00,a9,3f,10,00,fc\n2014-08-15T19:01:25.941Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:25.970Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:25.971Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:25.975Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:25.978Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:25.998Z,3,130577,160,255,14,c0,dc,d5,85,50,01,ff,ff,ff,ff,25,41,2d,00\n2014-08-15T19:01:26.004Z,2,129025,160,255,8,0c,ea,98,23,54,57,be,0e\n2014-08-15T19:01:26.102Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:26.199Z,2,129026,160,255,8,ff,fc,d5,85,50,01,ff,ff\n2014-08-15T19:01:26.277Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:26.312Z,4,129039,43,255,26,12,08,57,b6,0d,0b,53,c8,0e,bc,15,93,23,6b,44,54,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:26.320Z,3,127508,129,255,8,01,9a,05,cb,08,1e,75,19\n2014-08-15T19:01:26.329Z,6,129540,160,255,135,28,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,b8,0b,00,00,00,00,f2,13,3a,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,1c,0c,00,00,00,00,f2\n2014-08-15T19:01:26.331Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:01:26.333Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:26.339Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:26.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:26.393Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:26.424Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:26.503Z,3,129029,160,255,43,dd,a9,3f,6c,20,d2,28,00,a6,0f,46,bc,c3,49,08,00,b8,db,f7,1b,c8,6e,03,b0,bd,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:26.506Z,3,129033,160,255,8,a9,3f,6c,20,d2,28,b4,00\n2014-08-15T19:01:26.533Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:26.535Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:26.557Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:01:26.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:26.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:26.593Z,4,129039,43,255,26,12,44,11,b6,0d,2b,55,be,0e,24,e9,98,23,6b,b2,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:26.601Z,3,126992,160,255,8,ff,ff,a9,3f,30,2a,d2,28\n2014-08-15T19:01:26.607Z,2,130306,115,255,8,00,f5,02,54,1d,f2,ff,ff\n2014-08-15T19:01:26.657Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:26.701Z,3,127508,129,255,8,01,9c,05,e6,08,1e,75,19\n2014-08-15T19:01:26.705Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:01:26.806Z,3,129291,160,255,8,ff,fc,25,41,2d,00,ff,ff\n2014-08-15T19:01:26.966Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:26.969Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:26.972Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:26.975Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:27.004Z,3,130577,160,255,14,c0,dd,8f,85,56,01,ff,ff,ff,ff,25,41,2d,00\n2014-08-15T19:01:27.007Z,2,129025,160,255,8,d7,e8,98,23,ac,56,be,0e\n2014-08-15T19:01:27.063Z,3,127508,129,255,8,01,9b,05,c4,08,1e,75,19\n2014-08-15T19:01:27.108Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:27.202Z,2,129026,160,255,8,ff,fc,8f,85,56,01,ff,ff\n2014-08-15T19:01:27.222Z,4,129038,43,255,27,03,28,f5,77,10,e8,aa,9f,0e,ba,7c,74,23,60,5b,5b,7b,00,00,00,00,15,4f,ff,7f,00,fe\n2014-08-15T19:01:27.262Z,4,129039,43,255,26,12,80,e5,c3,0d,91,c0,c0,0e,47,2a,96,23,6b,39,55,62,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:27.265Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:27.302Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:27.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:27.307Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:27.340Z,6,129540,160,255,135,29,ff,0b,20,b9,2f,09,98,d8,0e,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,54,0b,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:01:27.341Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:01:27.343Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:27.358Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:27.383Z,4,129038,43,255,27,01,d4,e5,b5,0d,18,11,e1,0e,e2,25,de,23,70,8b,21,00,00,4a,c0,00,68,21,00,00,00,fe\n2014-08-15T19:01:27.463Z,4,129038,43,255,27,01,e0,53,7f,10,e2,5e,c9,0e,e6,61,ad,23,70,2c,89,c9,05,02,84,08,5a,88,00,00,00,fe\n2014-08-15T19:01:27.509Z,3,129029,160,255,43,de,a9,3f,a4,47,d2,28,00,e0,b0,96,77,c3,49,08,00,44,3b,86,f2,c7,6e,03,d0,29,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:27.511Z,3,129033,160,255,8,a9,3f,a4,47,d2,28,b4,00\n2014-08-15T19:01:27.515Z,4,129039,43,255,26,12,44,11,b6,0d,63,54,be,0e,1a,e8,98,23,6f,fe,86,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:27.533Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:27.535Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:27.553Z,4,129038,43,255,27,01,fc,ff,e9,25,d5,05,2c,0f,22,93,be,23,69,7d,bb,c5,02,05,84,00,7c,bb,e6,ff,00,fe\n2014-08-15T19:01:27.559Z,2,130306,115,255,8,00,db,02,8e,18,f2,ff,ff\n2014-08-15T19:01:27.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:27.582Z,3,127508,129,255,8,01,9e,05,f5,08,1e,75,19\n2014-08-15T19:01:27.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:27.607Z,3,126992,160,255,8,ff,ff,a9,3f,86,51,d2,28\n2014-08-15T19:01:27.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:27.710Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:01:27.712Z,7,127506,129,255,9,1a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:27.805Z,3,129291,160,255,8,ff,fc,1c,5b,33,00,ff,ff\n2014-08-15T19:01:27.913Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,a0,5f,6e,23,6c,a2,16,00,00,3a,40,01,1f,ab,00,00,00,fe\n2014-08-15T19:01:27.964Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:27.966Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:27.970Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:27.972Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:28.004Z,3,130577,160,255,14,c0,de,09,86,51,01,ff,ff,ff,ff,1c,5b,33,00\n2014-08-15T19:01:28.006Z,2,129025,160,255,8,b0,e7,98,23,fa,55,be,0e\n2014-08-15T19:01:28.109Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:28.210Z,2,129026,160,255,8,ff,fc,09,86,51,01,ff,ff\n2014-08-15T19:01:28.262Z,3,127508,129,255,8,01,9c,05,c9,08,1e,75,1a\n2014-08-15T19:01:28.263Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:28.302Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:28.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:28.306Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:28.336Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:28.348Z,6,129540,160,255,135,2a,ff,0b,20,b9,2f,09,98,74,0e,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,c4,09,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,ac,0d,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:28.350Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:01:28.364Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:28.518Z,3,129029,160,255,43,df,a9,3f,dc,6e,d2,28,00,ac,04,cb,37,c3,49,08,00,24,77,18,c2,c7,6e,03,70,ce,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:28.521Z,3,129033,160,255,8,a9,3f,dc,6e,d2,28,b4,00\n2014-08-15T19:01:28.524Z,4,129039,43,255,26,12,44,11,b6,0d,8a,53,be,0e,0f,e7,98,23,73,26,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:28.539Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:28.541Z,3,128267,115,255,8,00,cb,0b,00,00,ff,ff,ff\n2014-08-15T19:01:28.562Z,2,130306,115,255,8,00,f5,02,6c,21,f2,ff,ff\n2014-08-15T19:01:28.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:28.587Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:28.605Z,3,126992,160,255,8,ff,ff,a9,3f,6e,78,d2,28\n2014-08-15T19:01:28.619Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:28.710Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:01:28.744Z,4,129038,43,255,27,01,92,12,4b,10,90,43,ff,0e,0d,a6,ae,23,70,94,b0,bb,02,32,84,00,42,b1,f2,ff,00,fe\n2014-08-15T19:01:28.784Z,4,129038,43,255,27,01,b8,53,a6,0c,4c,77,7e,0e,e4,df,9f,23,74,d4,ac,73,02,9c,08,08,88,ae,00,00,00,fe\n2014-08-15T19:01:28.807Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:28.810Z,3,129291,160,255,8,ff,fc,de,4d,2e,00,ff,ff\n2014-08-15T19:01:28.823Z,4,129038,43,255,27,01,68,e2,20,12,0d,90,00,0f,98,92,ad,23,74,8e,af,fd,01,61,c0,08,9f,b2,00,00,00,fe\n2014-08-15T19:01:28.961Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:28.964Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:28.966Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:28.969Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:29.013Z,3,130577,160,255,14,c0,df,20,87,4d,01,ff,ff,ff,ff,de,4d,2e,00\n2014-08-15T19:01:29.015Z,2,129025,160,255,8,9e,e6,98,23,2a,55,be,0e\n2014-08-15T19:01:29.057Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:29.083Z,4,129038,43,255,27,03,18,c2,79,10,e0,aa,bb,0e,1a,85,70,23,75,14,a9,05,00,00,00,08,8a,54,00,00,05,fe\n2014-08-15T19:01:29.113Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:29.203Z,2,129026,160,255,8,ff,fc,20,87,4d,01,ff,ff\n2014-08-15T19:01:29.258Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:29.294Z,4,129038,43,255,27,01,58,43,c9,0e,f5,19,da,0e,26,21,aa,23,78,b1,af,c0,02,04,66,08,e5,af,00,00,00,fe\n2014-08-15T19:01:29.296Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:29.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:29.301Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:29.331Z,6,129540,160,255,135,2b,ff,0b,20,b9,2f,09,98,d8,0e,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,60,09,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,ac,0d,00,00,00,00,f2,18,74,05,23,06,fc,08,00,00,00,00,f2\n2014-08-15T19:01:29.334Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:01:29.337Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:29.340Z,4,129038,43,255,27,01,b8,f5,67,12,f9,ab,8a,0e,43,da,8f,23,74,79,2d,d1,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:01:29.359Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:29.360Z,3,127508,129,255,8,01,9f,05,f0,08,1e,75,1a\n2014-08-15T19:01:29.373Z,4,129038,43,255,27,01,e0,53,7f,10,2c,5b,c9,0e,14,5d,ad,23,78,2c,89,c9,05,04,66,00,5a,88,00,00,00,fe\n2014-08-15T19:01:29.413Z,4,129039,43,255,26,12,0a,df,8e,0f,a9,4d,8e,0e,72,76,77,23,70,04,55,01,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:29.496Z,2,130306,115,255,8,00,83,02,6a,12,f2,ff,ff\n2014-08-15T19:01:29.518Z,3,129029,160,255,43,e0,a9,3f,c4,95,d2,28,00,d6,28,b2,f8,c2,49,08,00,ea,41,92,8f,c7,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:29.520Z,3,129033,160,255,8,a9,3f,c4,95,d2,28,b4,00\n2014-08-15T19:01:29.522Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:29.532Z,4,129039,43,255,26,12,44,11,b6,0d,b1,52,be,0e,f4,e5,98,23,77,95,89,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:29.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,25,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:29.582Z,3,128267,115,255,8,00,cb,0b,00,00,ff,ff,ff\n2014-08-15T19:01:29.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:29.614Z,3,126992,160,255,8,ff,ff,a9,3f,ce,9f,d2,28\n2014-08-15T19:01:29.616Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:29.673Z,4,129038,43,255,27,01,c8,d4,7f,10,76,ff,df,0e,04,3e,c7,23,75,a6,7d,33,04,55,84,01,cf,7e,00,00,00,fe\n2014-08-15T19:01:29.706Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:01:29.806Z,3,129291,160,255,8,ff,fc,21,6b,22,00,ff,ff\n2014-08-15T19:01:29.857Z,3,127508,129,255,8,01,a0,05,f6,08,1e,75,1a\n2014-08-15T19:01:29.863Z,4,129038,43,255,27,01,10,dc,6d,0f,47,18,62,0e,34,ed,9c,23,75,60,ad,83,02,5c,84,00,88,ae,e6,ff,00,fe\n2014-08-15T19:01:29.959Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,65,39,01,00\n2014-08-15T19:01:29.961Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:29.963Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:29.967Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:30.009Z,3,130577,160,255,14,c0,e0,cf,87,49,01,ff,ff,ff,ff,21,6b,22,00\n2014-08-15T19:01:30.011Z,2,129025,160,255,8,8f,e5,98,23,51,54,be,0e\n2014-08-15T19:01:30.013Z,3,127508,129,255,8,01,9f,05,c8,08,1e,75,1a\n2014-08-15T19:01:30.110Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,97,d2,28,8d,40,0b,a9,3f,00,00,fc\n2014-08-15T19:01:30.211Z,2,129026,160,255,8,ff,fc,cf,87,49,01,ff,ff\n2014-08-15T19:01:30.268Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:30.300Z,3,127508,129,255,8,01,9f,05,c6,08,1e,75,1a\n2014-08-15T19:01:30.314Z,4,129038,43,255,27,01,88,44,7d,10,fc,23,c7,0e,87,ec,7f,23,70,d5,82,0a,00,6d,84,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:30.339Z,6,129540,160,255,135,2c,ff,0b,20,b9,2f,09,98,d8,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,28,0a,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,fc,08,00,00,00,00,f2\n2014-08-15T19:01:30.343Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:30.345Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:01:30.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:30.349Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:30.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,97,d2,28,7c,40,0b,a9,3f,00,00,fc\n2014-08-15T19:01:30.384Z,7,127506,129,255,9,1b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:30.385Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:30.413Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:30.444Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:30.468Z,2,130306,115,255,8,00,19,03,0e,20,f2,ff,ff\n2014-08-15T19:01:30.488Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:30.524Z,3,129029,160,255,43,e1,a9,3f,2e,bd,d2,28,00,02,d0,2c,b5,c2,49,08,00,a0,8f,a2,62,c7,6e,03,a0,d2,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:30.526Z,3,129033,160,255,8,a9,3f,2e,bd,d2,28,b4,00\n2014-08-15T19:01:30.531Z,3,128267,115,255,8,00,cb,0b,00,00,ff,ff,ff\n2014-08-15T19:01:30.533Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:30.555Z,4,129039,43,255,26,12,44,11,b6,0d,e9,51,be,0e,d8,e4,98,23,7b,9b,87,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:30.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:30.585Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:30.613Z,3,126992,160,255,8,ff,ff,a9,3f,f2,c6,d2,28\n2014-08-15T19:01:30.633Z,7,129793,43,255,26,04,b4,18,23,00,4e,b9,d6,0d,44,33,b5,23,00,90,97,d2,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:01:30.670Z,3,127508,129,255,8,01,50,05,af,08,1e,75,1b\n2014-08-15T19:01:30.709Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:01:30.812Z,3,129291,160,255,8,ff,fc,42,5a,1a,00,ff,ff\n2014-08-15T19:01:30.815Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:30.894Z,4,129038,43,255,27,01,6c,70,4a,10,89,60,ff,0e,ee,8b,a3,23,77,3f,35,bf,01,1d,c0,00,21,33,fd,ff,00,fe\n2014-08-15T19:01:30.933Z,4,129038,43,255,27,03,28,f5,77,10,e8,aa,9f,0e,ba,7c,74,23,70,ad,5a,7b,00,20,0f,08,b8,4d,ff,7f,00,fe\n2014-08-15T19:01:30.956Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,77,39,01,00\n2014-08-15T19:01:30.958Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:30.962Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:30.974Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:31.016Z,3,130577,160,255,14,c0,e1,55,87,4d,01,ff,ff,ff,ff,42,5a,1a,00\n2014-08-15T19:01:31.018Z,2,129025,160,255,8,6d,e4,98,23,90,53,be,0e\n2014-08-15T19:01:31.116Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:31.162Z,4,129038,43,255,27,01,20,54,a5,0e,4f,d5,4c,0f,8a,dd,ac,23,80,e8,34,4a,02,04,66,08,d0,33,00,00,00,fe\n2014-08-15T19:01:31.202Z,4,129038,43,255,27,01,88,d6,d0,0c,3d,48,e7,0e,18,e8,b8,23,79,3d,98,3c,03,8e,04,09,65,99,00,00,00,fe\n2014-08-15T19:01:31.217Z,2,129026,160,255,8,ff,fc,55,87,4d,01,ff,ff\n2014-08-15T19:01:31.248Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:31.285Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:31.288Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:31.290Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:31.313Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:31.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:31.344Z,6,129540,160,255,135,2d,ff,0b,20,b9,2f,09,98,d8,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,8c,0a,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:31.346Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:01:31.349Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:31.355Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:31.390Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:31.430Z,2,130306,115,255,8,00,79,02,19,13,f2,ff,ff\n2014-08-15T19:01:31.434Z,4,129038,43,255,27,03,02,8b,c4,0d,f9,23,e1,0e,05,a6,ca,23,80,7e,7f,6d,01,c1,0f,08,37,82,00,00,00,fe\n2014-08-15T19:01:31.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:31.518Z,3,129029,160,255,43,e2,a9,3f,48,e4,d2,28,00,f8,11,e3,71,c2,49,08,00,70,4e,cb,37,c7,6e,03,90,1c,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:31.522Z,3,129033,160,255,8,a9,3f,48,e4,d2,28,b4,00\n2014-08-15T19:01:31.530Z,3,128267,115,255,8,00,d1,0c,00,00,ff,ff,ff\n2014-08-15T19:01:31.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:31.563Z,4,129039,43,255,26,12,44,11,b6,0d,53,51,be,0e,bd,e3,98,23,7f,ac,87,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:31.572Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:31.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3f,02,03,00,01,01,04,00,00,00\n2014-08-15T19:01:31.602Z,4,129038,43,255,27,01,e0,53,7f,10,e9,4f,c9,0e,90,4e,ad,23,84,2c,89,c9,05,9d,04,09,5a,88,00,00,00,fe\n2014-08-15T19:01:31.617Z,3,126992,160,255,8,ff,ff,a9,3f,f8,ed,d2,28\n2014-08-15T19:01:31.643Z,4,129038,43,255,27,01,c0,0b,7e,10,87,da,e1,0e,ae,eb,ca,23,7c,34,03,f8,06,04,66,08,68,03,00,00,00,fe\n2014-08-15T19:01:31.682Z,4,129039,43,255,26,12,8c,d3,b5,0d,1f,5c,bf,0e,7b,6b,99,23,78,0f,87,10,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:01:31.721Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:01:31.803Z,4,129038,43,255,27,01,b0,79,7a,10,6d,35,d4,0e,c5,cb,80,23,78,36,d9,de,01,47,c0,09,2a,da,f6,ff,00,fe\n2014-08-15T19:01:31.815Z,3,129291,160,255,8,ff,fc,55,49,1e,00,ff,ff\n2014-08-15T19:01:31.817Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:31.954Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,77,39,01,00\n2014-08-15T19:01:31.956Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:31.958Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:31.961Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:31.963Z,3,127508,129,255,8,01,4f,05,af,08,1e,75,1b\n2014-08-15T19:01:31.965Z,4,129038,43,255,27,01,98,69,b3,0e,21,22,92,0e,22,fc,a0,23,79,a0,af,f8,01,ab,04,01,42,b1,00,00,00,fe\n2014-08-15T19:01:32.023Z,3,130577,160,255,14,c0,e2,32,87,4c,01,ff,ff,ff,ff,55,49,1e,00\n2014-08-15T19:01:32.025Z,2,129025,160,255,8,4c,e3,98,23,d8,52,be,0e\n2014-08-15T19:01:32.118Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:32.202Z,4,129039,43,255,26,12,6e,c9,b5,0d,25,5f,cf,0e,dc,83,90,23,7e,84,56,ba,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:32.222Z,2,129026,160,255,8,ff,fc,32,87,4c,01,ff,ff\n2014-08-15T19:01:32.224Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:32.262Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:32.302Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:32.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:32.306Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:32.359Z,6,129540,160,255,135,2e,ff,0b,20,b9,2f,09,98,d8,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,f0,0a,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:01:32.360Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:01:32.360Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:32.383Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:32.400Z,3,127508,129,255,8,01,85,05,cf,08,1e,75,1b\n2014-08-15T19:01:32.404Z,2,130306,115,255,8,00,c1,02,32,26,f2,ff,ff\n2014-08-15T19:01:32.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:32.523Z,3,129029,160,255,43,e3,a9,3f,4e,0b,d3,28,00,68,18,f8,2c,c2,49,08,00,b8,4e,bf,0f,c7,6e,03,00,4c,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:32.525Z,3,129033,160,255,8,a9,3f,4e,0b,d3,28,b4,00\n2014-08-15T19:01:32.529Z,3,128267,115,255,8,00,1d,0c,00,00,ff,ff,ff\n2014-08-15T19:01:32.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:32.572Z,4,129039,43,255,26,12,44,11,b6,0d,7b,50,be,0e,91,e2,98,23,83,78,87,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:32.575Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:32.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:32.612Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,96,31,d3,23,00,b0,e5,d2,28,c2,04,01,a9,3f,10,00,fc\n2014-08-15T19:01:32.618Z,3,126992,160,255,8,ff,ff,a9,3f,ea,14,d3,28\n2014-08-15T19:01:32.712Z,4,129038,43,255,27,01,38,5e,49,16,ac,7a,ca,0e,b3,bf,76,23,81,5f,d7,00,00,c5,84,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:32.718Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:01:32.820Z,3,129291,160,255,8,ff,fc,45,73,1e,00,ff,ff\n2014-08-15T19:01:32.910Z,3,127508,129,255,8,01,86,05,cc,08,1e,75,1b\n2014-08-15T19:01:32.950Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,77,39,01,00\n2014-08-15T19:01:32.953Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:32.955Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:32.958Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:33.003Z,4,129038,43,255,27,01,08,99,b5,0d,55,6f,cb,0e,58,98,a5,23,88,50,4a,49,01,04,66,08,f3,48,00,00,00,fe\n2014-08-15T19:01:33.023Z,3,130577,160,255,14,c0,e3,c9,86,4e,01,ff,ff,ff,ff,45,73,1e,00\n2014-08-15T19:01:33.027Z,2,129025,160,255,8,24,e2,98,23,2c,52,be,0e\n2014-08-15T19:01:33.044Z,7,129793,43,255,26,04,8f,18,23,00,a6,1d,46,0f,e6,68,e2,23,00,c0,0c,d3,28,78,c0,08,a9,3f,10,00,fc\n2014-08-15T19:01:33.126Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:33.133Z,3,127508,129,255,8,01,89,05,f1,08,1e,75,1b\n2014-08-15T19:01:33.217Z,2,129026,160,255,8,ff,fc,c9,86,4e,01,ff,ff\n2014-08-15T19:01:33.243Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:33.282Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:33.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:33.286Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:33.292Z,4,129038,43,255,27,01,58,eb,ad,0e,b2,06,5c,0e,dc,3e,8f,23,87,96,2f,d4,01,ba,08,00,5c,2e,00,00,00,fe\n2014-08-15T19:01:33.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:33.346Z,6,129540,160,255,135,2f,ff,0b,20,b9,2f,09,98,74,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:33.348Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:01:33.352Z,4,129038,43,255,27,01,e0,53,7f,10,22,4c,c9,0e,be,49,ad,23,88,4f,89,ce,05,38,40,01,5a,88,00,00,00,fe\n2014-08-15T19:01:33.355Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:33.382Z,2,130306,115,255,8,00,cc,02,d3,15,f2,ff,ff\n2014-08-15T19:01:33.401Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:33.531Z,3,129029,160,255,43,e4,a9,3f,40,32,d3,28,00,a2,b9,48,e8,c1,49,08,00,02,d2,46,e3,c6,6e,03,d0,d6,1c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:33.533Z,3,129033,160,255,8,a9,3f,40,32,d3,28,b4,00\n2014-08-15T19:01:33.535Z,3,128267,115,255,8,00,1d,0c,00,00,ff,ff,ff\n2014-08-15T19:01:33.537Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:33.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:33.592Z,4,129039,43,255,26,12,44,11,b6,0d,c3,4f,be,0e,65,e1,98,23,87,66,87,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:33.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:33.626Z,3,126992,160,255,8,ff,ff,a9,3f,2c,3c,d3,28\n2014-08-15T19:01:33.672Z,4,129038,43,255,27,01,fc,ff,e9,25,11,e3,2b,0f,c3,94,be,23,85,7d,bb,d0,02,04,66,08,7c,bb,e6,ff,00,fe\n2014-08-15T19:01:33.720Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:01:33.736Z,7,127506,129,255,9,1c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:33.791Z,3,127508,129,255,8,01,88,05,cb,08,1e,75,1c\n2014-08-15T19:01:33.824Z,3,129291,160,255,8,ff,fc,9c,4b,16,00,ff,ff\n2014-08-15T19:01:33.832Z,4,129038,43,255,27,01,b8,83,92,0e,d5,ba,e0,0e,7a,c9,75,23,89,8e,c1,05,00,f1,84,08,07,d4,00,00,00,fe\n2014-08-15T19:01:33.948Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,77,39,01,00\n2014-08-15T19:01:33.950Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:33.953Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:33.955Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:34.039Z,3,130577,160,255,14,c0,e4,20,87,4f,01,ff,ff,ff,ff,9c,4b,16,00\n2014-08-15T19:01:34.042Z,2,129025,160,255,8,fd,e0,98,23,6d,51,be,0e\n2014-08-15T19:01:34.147Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:34.152Z,4,129038,43,255,27,01,d2,ff,4a,10,2b,8a,b1,0e,f9,01,71,23,89,b0,f1,00,00,d5,08,00,37,91,14,00,00,fe\n2014-08-15T19:01:34.238Z,2,129026,160,255,8,ff,fc,20,87,4f,01,ff,ff\n2014-08-15T19:01:34.259Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:34.297Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:34.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:34.301Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:34.327Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:34.352Z,2,130306,115,255,8,00,cc,02,03,1e,f2,ff,ff\n2014-08-15T19:01:34.371Z,6,129540,160,255,135,30,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:01:34.374Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:01:34.380Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:34.420Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:34.456Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:34.529Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:34.532Z,3,128267,115,255,8,00,32,0c,00,00,ff,ff,ff\n2014-08-15T19:01:34.549Z,3,129029,160,255,43,e5,a9,3f,82,59,d3,28,00,7e,8a,e6,a2,c1,49,08,00,30,61,22,b9,c6,6e,03,30,c1,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:34.551Z,3,129033,160,255,8,a9,3f,82,59,d3,28,b4,00\n2014-08-15T19:01:34.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:34.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,29,02,02,00,01,03,03,00,00,00\n2014-08-15T19:01:34.602Z,4,129039,43,255,26,12,44,11,b6,0d,1d,4f,be,0e,39,e0,98,23,8b,a6,86,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:34.644Z,3,126992,160,255,8,ff,ff,a9,3f,46,63,d3,28\n2014-08-15T19:01:34.746Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:01:34.842Z,4,129038,43,255,27,01,b8,f5,67,12,f6,ca,8a,0e,4b,e1,8f,23,88,8b,2d,d1,03,17,05,0b,ff,2c,00,00,00,fe\n2014-08-15T19:01:34.849Z,3,129291,160,255,8,ff,fc,90,62,1b,00,ff,ff\n2014-08-15T19:01:34.945Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,77,39,01,00\n2014-08-15T19:01:34.948Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:34.950Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:34.953Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:35.048Z,3,130577,160,255,14,c0,e5,83,86,51,01,ff,ff,ff,ff,90,62,1b,00\n2014-08-15T19:01:35.050Z,2,129025,160,255,8,d3,df,98,23,b8,50,be,0e\n2014-08-15T19:01:35.123Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:35.142Z,4,129038,43,255,27,03,02,8b,c4,0d,ac,22,e1,0e,d0,a0,ca,23,8c,2c,80,6d,01,00,00,00,37,82,00,00,00,fe\n2014-08-15T19:01:35.147Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:35.244Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:35.248Z,2,129026,160,255,8,ff,fc,83,86,51,01,ff,ff\n2014-08-15T19:01:35.272Z,4,129039,43,255,26,12,44,11,b6,0d,1d,4f,be,0e,39,e0,98,23,8b,a6,86,53,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:01:35.280Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:35.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:35.285Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:35.301Z,2,130306,115,255,8,00,98,02,3c,19,f2,ff,ff\n2014-08-15T19:01:35.315Z,4,129038,43,255,27,01,10,04,1a,0e,85,ad,02,0f,0d,55,af,23,88,77,b1,9c,02,04,66,00,4e,b3,00,00,00,fe\n2014-08-15T19:01:35.327Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:35.352Z,4,129038,43,255,27,03,d0,3e,93,21,cf,7b,e0,0e,12,eb,75,23,8c,72,71,00,00,00,00,08,13,d6,00,00,05,fe\n2014-08-15T19:01:35.379Z,6,129540,160,255,135,31,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:01:35.381Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:01:35.392Z,4,129038,43,255,27,01,e0,53,7f,10,95,44,c9,0e,0b,40,ad,23,90,60,89,c9,05,2a,85,08,5a,88,00,00,00,fe\n2014-08-15T19:01:35.395Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:35.422Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:35.433Z,4,129038,43,255,27,01,c8,d4,7f,10,35,fc,df,0e,f2,27,c7,23,8d,a6,7d,2d,04,2c,85,08,cf,7e,00,00,00,fe\n2014-08-15T19:01:35.453Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:35.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:35.529Z,3,128267,115,255,8,00,b2,0b,00,00,ff,ff,ff\n2014-08-15T19:01:35.550Z,3,129029,160,255,43,e6,a9,3f,9c,80,d3,28,00,e2,19,b9,5a,c1,49,08,00,90,4f,9b,97,c6,6e,03,20,47,16,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:35.554Z,3,129033,160,255,8,a9,3f,9c,80,d3,28,b4,00\n2014-08-15T19:01:35.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:35.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:01:35.612Z,4,129039,43,255,26,12,44,11,b6,0d,76,4e,be,0e,1e,df,98,23,8f,e0,84,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:35.645Z,3,126992,160,255,8,ff,ff,a9,3f,60,8a,d3,28\n2014-08-15T19:01:35.676Z,3,127508,129,255,8,01,8b,05,f4,08,1e,75,1c\n2014-08-15T19:01:35.749Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:01:35.853Z,3,129291,160,255,8,ff,fc,db,95,1f,00,ff,ff\n2014-08-15T19:01:35.914Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,90,f7,c7,23,00,f0,81,d3,28,04,66,08,a9,3f,10,00,fc\n2014-08-15T19:01:35.944Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,8a,39,01,00\n2014-08-15T19:01:35.945Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:35.951Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:35.951Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:35.982Z,3,127508,129,255,8,01,8c,05,ec,08,1e,75,1c\n2014-08-15T19:01:36.045Z,3,130577,160,255,14,c0,e6,1b,86,50,01,ff,ff,ff,ff,db,95,1f,00\n2014-08-15T19:01:36.050Z,2,129025,160,255,8,9d,de,98,23,28,50,be,0e\n2014-08-15T19:01:36.149Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:36.168Z,6,129794,43,255,75,05,08,ad,c4,0d,b2,03,70,00,4f,4a,4e,4d,20,20,20,41,4d,41,5a,4f,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1e,72,01,50,00,14,00,0e,01,e9,40,00,6e,0a,1e,08,02,54,41,4c,4c,49,4e,4e,20,4d,49,49,44,55,52,41,4e,4e,41,20,20,05,e0\n2014-08-15T19:01:36.250Z,2,129026,160,255,8,ff,fc,1b,86,50,01,ff,ff\n2014-08-15T19:01:36.255Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:36.275Z,3,127508,129,255,8,01,8f,05,13,09,1e,75,1c\n2014-08-15T19:01:36.277Z,2,130306,115,255,8,00,28,03,1a,22,f2,ff,ff\n2014-08-15T19:01:36.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:36.360Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:36.363Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:36.365Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:36.392Z,6,129540,160,255,135,32,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:36.394Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:01:36.396Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:36.428Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:36.526Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:36.529Z,3,128267,115,255,8,00,ef,0b,00,00,ff,ff,ff\n2014-08-15T19:01:36.541Z,3,127508,129,255,8,01,8c,05,c4,08,1e,75,1c\n2014-08-15T19:01:36.556Z,3,129029,160,255,43,e7,a9,3f,b6,a7,d3,28,00,00,c7,5d,18,c1,49,08,00,ae,61,0d,73,c6,6e,03,b0,53,10,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:36.559Z,3,129033,160,255,8,a9,3f,b6,a7,d3,28,b4,00\n2014-08-15T19:01:36.573Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:36.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:36.633Z,4,129039,43,255,26,12,44,11,b6,0d,e0,4d,be,0e,13,de,98,23,93,f2,84,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:36.653Z,3,126992,160,255,8,ff,ff,a9,3f,7a,b1,d3,28\n2014-08-15T19:01:36.746Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:01:36.752Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:01:36.783Z,4,129038,43,255,27,01,88,d6,d0,0c,8b,30,e7,0e,44,db,b8,23,91,f7,97,3c,03,5e,85,00,65,99,00,00,00,fe\n2014-08-15T19:01:36.854Z,3,129291,160,255,8,ff,fc,db,95,1f,00,ff,ff\n2014-08-15T19:01:36.941Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,8a,39,01,00\n2014-08-15T19:01:36.943Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:36.946Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:36.948Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:37.054Z,3,130577,160,255,14,c0,e7,4f,86,4a,01,ff,ff,ff,ff,03,68,22,00\n2014-08-15T19:01:37.056Z,2,129025,160,255,8,80,dd,98,23,8b,4f,be,0e\n2014-08-15T19:01:37.082Z,7,127506,129,255,9,1c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:37.155Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:37.193Z,4,129038,43,255,27,01,68,e2,20,12,0e,74,00,0f,bb,8f,ad,23,94,4e,b0,fd,01,62,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:01:37.227Z,3,127508,129,255,8,01,8c,05,af,08,1e,75,1c\n2014-08-15T19:01:37.240Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:01:37.256Z,2,129026,160,255,8,ff,fc,4f,86,4a,01,ff,ff\n2014-08-15T19:01:37.268Z,2,130306,115,255,8,00,83,02,82,16,f2,ff,ff\n2014-08-15T19:01:37.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:37.353Z,4,129038,43,255,27,03,28,f5,77,10,6b,b1,9f,0e,38,76,74,23,90,a1,58,7b,00,00,00,08,0a,4d,ff,7f,00,fe\n2014-08-15T19:01:37.355Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:01:37.358Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:37.360Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:37.384Z,6,129540,160,255,135,33,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,b8,0b,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:37.386Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:01:37.390Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:37.414Z,4,129038,43,255,27,01,c8,27,16,0e,9f,f4,65,0e,3e,9c,93,23,8d,bf,30,50,03,04,66,08,b9,2f,ec,ff,00,fe\n2014-08-15T19:01:37.420Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:37.526Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:37.530Z,3,128267,115,255,8,00,ef,0b,00,00,ff,ff,ff\n2014-08-15T19:01:37.533Z,4,129038,43,255,27,01,58,43,c9,0e,99,ee,d9,0e,66,1c,aa,23,98,a0,af,c0,02,6d,c0,00,36,af,00,00,00,fe\n2014-08-15T19:01:37.571Z,3,129029,160,255,43,e8,a9,3f,d0,ce,d3,28,00,38,e5,1a,d8,c0,49,08,00,f6,61,01,4b,c6,6e,03,c0,09,0e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:37.574Z,3,129033,160,255,8,a9,3f,d0,ce,d3,28,b4,00\n2014-08-15T19:01:37.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:37.586Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:37.610Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:37.623Z,4,129038,43,255,27,01,e0,53,7f,10,41,39,c9,0e,86,31,ad,23,9c,4f,89,c9,05,39,40,01,5a,88,00,00,00,fe\n2014-08-15T19:01:37.657Z,3,126992,160,255,8,ff,ff,a9,3f,94,d8,d3,28\n2014-08-15T19:01:37.663Z,4,129039,43,255,26,12,44,11,b6,0d,39,4d,be,0e,f8,dc,98,23,97,7e,85,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:37.758Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:01:37.804Z,4,129038,43,255,27,01,b8,53,a6,0c,9a,51,7e,0e,3a,da,9f,23,98,c3,ac,73,02,20,43,01,88,ae,00,00,00,fe\n2014-08-15T19:01:37.861Z,3,129291,160,255,8,ff,fc,03,68,22,00,ff,ff\n2014-08-15T19:01:37.938Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,8a,39,01,00\n2014-08-15T19:01:37.941Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:37.943Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:37.946Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:38.043Z,4,129039,43,255,26,12,ec,d7,b5,0d,1b,08,bc,0e,62,da,90,23,96,8f,79,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:38.085Z,3,130577,160,255,14,c0,e8,95,86,49,01,ff,ff,ff,ff,fe,65,38,00\n2014-08-15T19:01:38.087Z,2,129025,160,255,8,6c,dc,98,23,df,4e,be,0e\n2014-08-15T19:01:38.154Z,4,129038,43,255,27,03,02,8b,c4,0d,05,22,e1,0e,35,9e,ca,23,98,2c,80,68,01,90,0e,08,37,82,00,00,00,fe\n2014-08-15T19:01:38.176Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:38.200Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:38.243Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:38.266Z,2,130306,115,255,8,00,0e,03,54,1d,f2,ff,ff\n2014-08-15T19:01:38.268Z,2,129026,160,255,8,ff,fc,95,86,49,01,ff,ff\n2014-08-15T19:01:38.275Z,4,129041,43,255,48,15,b5,54,2c,3b,e5,59,b4,0e,50,b2,7a,23,80,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,39,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:01:38.287Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:38.351Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:38.353Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:38.355Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:38.408Z,6,129540,160,255,135,34,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,1c,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:38.410Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:01:38.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:38.443Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:38.483Z,3,127508,129,255,8,01,90,05,e6,08,1e,75,1c\n2014-08-15T19:01:38.529Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:38.531Z,3,128267,115,255,8,00,20,0c,00,00,ff,ff,ff\n2014-08-15T19:01:38.555Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:38.581Z,3,129029,160,255,43,e9,a9,3f,ea,f5,d3,28,00,b4,62,72,96,c0,49,08,00,d2,97,6c,23,c6,6e,03,b0,00,09,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:38.585Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,44,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:38.587Z,3,129033,160,255,8,a9,3f,ea,f5,d3,28,b4,00\n2014-08-15T19:01:38.653Z,4,129039,43,255,26,12,44,11,b6,0d,61,4c,be,0e,ed,db,98,23,9b,3e,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:38.676Z,3,126992,160,255,8,ff,ff,a9,3f,ae,ff,d3,28\n2014-08-15T19:01:38.768Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:01:38.870Z,3,129291,160,255,8,ff,fc,fe,65,38,00,ff,ff\n2014-08-15T19:01:38.926Z,3,127508,129,255,8,01,90,05,cb,08,1e,75,1c\n2014-08-15T19:01:38.936Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,8a,39,01,00\n2014-08-15T19:01:38.938Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:38.940Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:38.944Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:39.033Z,4,129038,43,255,27,01,10,dc,6d,0f,69,f1,61,0e,8a,e7,9c,23,99,71,ad,83,02,3c,c0,08,88,ae,e6,ff,00,fe\n2014-08-15T19:01:39.074Z,3,130577,160,255,14,c0,e9,a6,86,46,01,ff,ff,ff,ff,fe,65,38,00\n2014-08-15T19:01:39.077Z,2,129025,160,255,8,52,db,98,23,35,4e,be,0e\n2014-08-15T19:01:39.173Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:39.220Z,2,130306,115,255,8,00,89,02,c7,13,f2,ff,ff\n2014-08-15T19:01:39.250Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:39.269Z,3,127508,129,255,8,01,93,05,ef,08,1e,75,1c\n2014-08-15T19:01:39.276Z,2,129026,160,255,8,ff,fc,a6,86,46,01,ff,ff\n2014-08-15T19:01:39.283Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:01:39.333Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:39.337Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:39.339Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:01:39.369Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:39.407Z,6,129540,160,255,135,35,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,d8,0e,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,54,0b,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:39.409Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:01:39.414Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:39.463Z,4,129038,43,255,27,01,e0,53,7f,10,b3,31,c9,0e,e4,27,ad,23,a0,4f,89,c9,05,39,c0,09,5a,88,00,00,00,fe\n2014-08-15T19:01:39.526Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:39.528Z,3,128267,115,255,8,00,35,0c,00,00,ff,ff,ff\n2014-08-15T19:01:39.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:39.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:39.585Z,3,129029,160,255,43,ea,a9,3f,04,1d,d4,28,00,30,e0,c9,54,c0,49,08,00,f0,a9,de,fe,c5,6e,03,50,16,08,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:39.587Z,3,129033,160,255,8,a9,3f,04,1d,d4,28,b4,00\n2014-08-15T19:01:39.674Z,4,129039,43,255,26,12,44,11,b6,0d,99,4b,be,0e,e2,da,98,23,9f,fe,86,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:39.676Z,3,126992,160,255,8,ff,ff,a9,3f,d2,26,d4,28\n2014-08-15T19:01:39.753Z,4,129038,43,255,27,01,38,5e,49,16,bd,7a,ca,0e,b3,bf,76,23,9d,dc,38,00,00,cf,85,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:39.775Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:01:39.793Z,4,129038,43,255,27,01,92,12,4b,10,fd,15,ff,0e,8a,9f,ae,23,9c,94,b0,bb,02,56,c0,08,42,b1,03,00,00,fe\n2014-08-15T19:01:39.876Z,3,129291,160,255,8,ff,fc,ab,50,28,00,ff,ff\n2014-08-15T19:01:39.913Z,4,129038,43,255,27,01,6c,70,4a,10,34,7c,ff,0e,fd,8e,a3,23,9b,2e,35,bf,01,d5,85,08,d0,33,6a,00,00,fe\n2014-08-15T19:01:39.933Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,8a,39,01,00\n2014-08-15T19:01:39.935Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:39.938Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:39.940Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:39.943Z,3,127508,129,255,8,01,94,05,ee,08,1e,75,1c\n2014-08-15T19:01:40.081Z,3,130577,160,255,14,c0,ea,95,86,48,01,ff,ff,ff,ff,ab,50,28,00\n2014-08-15T19:01:40.083Z,2,129025,160,255,8,38,da,98,23,98,4d,be,0e\n2014-08-15T19:01:40.103Z,4,129038,43,255,27,01,fc,ff,e9,25,cb,c4,2b,0f,15,98,be,23,9d,7d,bb,cb,02,ab,08,00,7c,bb,32,00,00,fe\n2014-08-15T19:01:40.143Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,1e,d4,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:01:40.181Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:40.232Z,2,130306,115,255,8,00,b7,02,f7,1b,f2,ff,ff\n2014-08-15T19:01:40.263Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:40.274Z,2,129026,160,255,8,ff,fc,95,86,48,01,ff,ff\n2014-08-15T19:01:40.320Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:40.356Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:40.358Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:40.360Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,1e,d4,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:01:40.408Z,6,129540,160,255,135,36,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,10,0e,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,c4,09,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:40.411Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:01:40.418Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:40.453Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:40.473Z,4,129038,43,255,27,03,28,f5,77,10,6b,b1,9f,0e,38,76,74,23,98,44,57,7b,00,20,10,00,ad,4b,ff,7f,00,fe\n2014-08-15T19:01:40.483Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:40.525Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:40.527Z,3,128267,115,255,8,00,35,0c,00,00,ff,ff,ff\n2014-08-15T19:01:40.571Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:40.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,48,02,03,00,01,01,04,00,00,00\n2014-08-15T19:01:40.585Z,3,129029,160,255,43,eb,a9,3f,28,44,d4,28,00,c8,51,cd,10,c0,49,08,00,be,e5,73,d8,c5,6e,03,50,34,03,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:40.587Z,3,129033,160,255,8,a9,3f,28,44,d4,28,b4,00\n2014-08-15T19:01:40.623Z,7,127506,129,255,9,1e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:40.667Z,3,127508,129,255,8,01,92,05,c1,08,1e,75,1e\n2014-08-15T19:01:40.679Z,3,126992,160,255,8,ff,ff,a9,3f,ec,4d,d4,28\n2014-08-15T19:01:40.683Z,4,129039,43,255,26,12,44,11,b6,0d,af,4a,be,0e,c7,d9,98,23,a3,c3,88,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:40.743Z,4,129038,43,255,27,01,b0,79,7a,10,74,26,d4,0e,65,db,80,23,9c,36,d9,de,01,04,66,00,2a,da,00,00,00,fe\n2014-08-15T19:01:40.783Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:01:40.884Z,3,129291,160,255,8,ff,fc,03,68,33,00,ff,ff\n2014-08-15T19:01:40.889Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:40.930Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,9c,39,01,00\n2014-08-15T19:01:40.933Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:40.936Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:40.943Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:40.952Z,4,129038,43,255,27,03,02,8b,c4,0d,5f,21,e1,0e,9a,9b,ca,23,a4,7e,7f,6d,01,c1,11,00,37,82,00,00,00,fe\n2014-08-15T19:01:41.073Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:41.080Z,3,130577,160,255,14,c0,eb,b8,86,47,01,ff,ff,ff,ff,03,68,33,00\n2014-08-15T19:01:41.084Z,2,129025,160,255,8,14,d9,98,23,f3,4c,be,0e\n2014-08-15T19:01:41.124Z,4,129038,43,255,27,01,88,44,7d,10,55,23,c7,0e,a8,ec,7f,23,9c,d1,18,05,00,bf,08,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:41.183Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:41.222Z,2,130306,115,255,8,00,cc,02,eb,19,f2,ff,ff\n2014-08-15T19:01:41.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:41.283Z,2,129026,160,255,8,ff,fc,b8,86,47,01,ff,ff\n2014-08-15T19:01:41.321Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:41.353Z,4,129038,43,255,27,01,b8,f5,67,12,84,f6,8a,0e,30,eb,8f,23,a4,8b,2d,d1,03,64,40,03,ff,2c,00,00,00,fe\n2014-08-15T19:01:41.355Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:41.357Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:41.361Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:01:41.389Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:41.393Z,4,129039,43,255,26,12,66,58,b6,0d,c3,50,bc,0e,13,ca,93,23,a7,f2,81,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:41.411Z,6,129540,160,255,135,37,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,fc,08,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,48,0d,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:41.415Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:01:41.416Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:41.423Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:41.433Z,4,129038,43,255,27,01,e0,53,7f,10,0e,2e,c9,0e,12,23,ad,23,a8,09,89,c4,05,38,c0,00,5a,88,00,00,00,fe\n2014-08-15T19:01:41.473Z,4,129038,43,255,27,01,c8,d4,7f,10,f3,f8,df,0e,28,11,c7,23,a5,a6,7d,33,04,49,c0,00,cf,7e,00,00,00,fe\n2014-08-15T19:01:41.512Z,4,129038,43,255,27,01,98,69,b3,0e,55,03,92,0e,7d,f8,a0,23,9d,37,af,f8,01,21,c0,08,42,b1,00,00,00,fe\n2014-08-15T19:01:41.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:41.526Z,3,128267,115,255,8,00,4b,0c,00,00,ff,ff,ff\n2014-08-15T19:01:41.554Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:41.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,31,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:41.588Z,3,129029,160,255,43,ec,a9,3f,42,6b,d4,28,00,d8,04,9c,cf,bf,49,08,00,9e,21,06,a8,c5,6e,03,a0,86,01,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:41.591Z,3,129033,160,255,8,a9,3f,42,6b,d4,28,b4,00\n2014-08-15T19:01:41.608Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:41.685Z,3,126992,160,255,8,ff,ff,a9,3f,06,75,d4,28\n2014-08-15T19:01:41.692Z,4,129039,43,255,26,12,44,11,b6,0d,73,49,be,0e,ee,d8,98,23,a7,db,8c,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:41.783Z,4,129039,43,255,26,12,9e,d6,c3,0d,97,19,c5,0e,18,94,94,23,a6,0a,56,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:41.787Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:01:41.888Z,3,129291,160,255,8,ff,fc,3e,54,17,00,ff,ff\n2014-08-15T19:01:41.890Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:41.904Z,4,129041,43,255,48,15,c4,54,2c,3b,8f,50,46,0f,37,16,97,23,94,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,30,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:01:41.928Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,9c,39,01,00\n2014-08-15T19:01:41.930Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:41.933Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:41.935Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:42.006Z,3,127508,129,255,8,01,93,05,c4,08,1e,75,1e\n2014-08-15T19:01:42.083Z,3,130577,160,255,14,c0,ec,89,87,47,01,ff,ff,ff,ff,3e,54,17,00\n2014-08-15T19:01:42.085Z,2,129025,160,255,8,fc,d7,98,23,23,4c,be,0e\n2014-08-15T19:01:42.144Z,4,129041,43,255,48,15,ad,54,2c,3b,51,ce,f1,0e,88,8e,8a,23,98,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,36,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:01:42.158Z,3,127508,129,255,8,01,97,05,f6,08,1e,75,1e\n2014-08-15T19:01:42.182Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:42.229Z,2,130306,115,255,8,00,cc,02,3c,19,f2,ff,ff\n2014-08-15T19:01:42.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:42.288Z,2,129026,160,255,8,ff,fc,89,87,47,01,ff,ff\n2014-08-15T19:01:42.291Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:42.312Z,4,129038,43,255,27,01,20,54,a5,0e,0f,01,4d,0f,d0,e2,ac,23,ac,0b,35,4a,02,41,c0,00,d0,33,00,00,00,fe\n2014-08-15T19:01:42.325Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:42.360Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:42.363Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:42.365Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:42.392Z,4,129038,43,255,27,01,d0,e7,da,0d,0b,9b,33,0f,c2,0f,c4,23,ad,2f,02,05,00,56,c0,00,d9,bc,00,00,00,fe\n2014-08-15T19:01:42.395Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:42.397Z,3,127508,129,255,8,01,98,05,fc,08,1e,75,1e\n2014-08-15T19:01:42.419Z,6,129540,160,255,135,38,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,c4,09,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,6c,07,00,00,00,00,f2\n2014-08-15T19:01:42.421Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:01:42.423Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:42.442Z,4,129038,43,255,27,01,58,eb,ad,0e,3d,1f,5c,0e,6a,43,8f,23,af,a8,2f,d4,01,34,86,08,5c,2e,00,00,00,fe\n2014-08-15T19:01:42.525Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:42.527Z,3,128267,115,255,8,00,4b,0c,00,00,ff,ff,ff\n2014-08-15T19:01:42.553Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:42.573Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,c8,31,d3,23,00,50,6c,d4,28,39,86,09,a9,3f,10,00,fc\n2014-08-15T19:01:42.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:42.593Z,3,129029,160,255,43,ed,a9,3f,5c,92,d4,28,00,ce,46,52,8c,bf,49,08,00,70,63,c2,78,c5,6e,03,e0,b1,ff,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:42.595Z,3,129033,160,255,8,a9,3f,5c,92,d4,28,b4,00\n2014-08-15T19:01:42.609Z,3,127508,129,255,8,01,97,05,c0,08,1e,75,1e\n2014-08-15T19:01:42.683Z,3,126992,160,255,8,ff,ff,a9,3f,20,9c,d4,28\n2014-08-15T19:01:42.712Z,4,129039,43,255,26,12,44,11,b6,0d,ab,48,be,0e,f4,d7,98,23,ab,09,8c,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:42.790Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:01:42.891Z,3,129291,160,255,8,ff,fc,8f,61,0f,00,ff,ff\n2014-08-15T19:01:42.925Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,9c,39,01,00\n2014-08-15T19:01:42.927Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:42.931Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:42.933Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:43.032Z,7,129793,43,255,26,04,8f,18,23,00,42,1d,46,0f,18,69,e2,23,00,60,93,d4,28,4a,86,00,a9,3f,10,00,fc\n2014-08-15T19:01:43.041Z,7,127506,129,255,9,1f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:43.086Z,3,130577,160,255,14,c0,ed,32,87,4a,01,ff,ff,ff,ff,8f,61,0f,00\n2014-08-15T19:01:43.088Z,2,129025,160,255,8,db,d6,98,23,58,4b,be,0e\n2014-08-15T19:01:43.111Z,2,130306,115,255,8,00,c6,02,60,1f,f2,ff,ff\n2014-08-15T19:01:43.189Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:43.212Z,4,129038,43,255,27,01,b8,83,92,0e,01,bc,e0,0e,e4,c8,75,23,ad,8e,c1,05,00,04,66,00,07,d4,00,00,00,fe\n2014-08-15T19:01:43.222Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:43.254Z,4,129038,43,255,27,01,88,d6,d0,0c,b7,18,e7,0e,71,ce,b8,23,a9,09,98,3c,03,04,66,08,65,99,00,00,00,fe\n2014-08-15T19:01:43.258Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:43.283Z,2,129026,160,255,8,ff,fc,32,87,4a,01,ff,ff\n2014-08-15T19:01:43.296Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:43.298Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:43.301Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:43.354Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:43.384Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:43.424Z,6,129540,160,255,135,39,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,fc,08,00,00,00,00,f2\n2014-08-15T19:01:43.426Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:01:43.430Z,4,129038,43,255,27,01,c8,27,16,0e,f9,17,66,0e,4c,a2,93,23,a9,ae,30,50,03,7e,06,01,b9,2f,ec,ff,00,fe\n2014-08-15T19:01:43.437Z,3,127508,129,255,8,01,96,05,ae,08,1e,75,1f\n2014-08-15T19:01:43.462Z,4,129038,43,255,27,01,08,7b,ba,0d,88,fc,94,0e,1d,73,bd,23,a9,37,a0,7c,01,1c,c0,01,e5,a0,00,00,00,fe\n2014-08-15T19:01:43.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:43.527Z,3,128267,115,255,8,00,78,0c,00,00,ff,ff,ff\n2014-08-15T19:01:43.562Z,4,129038,43,255,27,01,c0,0b,7e,10,4b,e4,e1,0e,02,37,cb,23,ac,a9,02,fe,06,5e,c0,08,68,03,00,00,00,fe\n2014-08-15T19:01:43.571Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:43.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:43.600Z,3,129029,160,255,43,ee,a9,3f,76,b9,d4,28,00,66,b8,55,48,bf,49,08,00,d4,57,62,4e,c5,6e,03,60,79,fe,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:43.602Z,3,129033,160,255,8,a9,3f,76,b9,d4,28,b4,00\n2014-08-15T19:01:43.622Z,4,129038,43,255,27,01,e0,53,7f,10,fd,22,c9,0e,8e,14,ad,23,b4,d5,88,c4,05,38,c0,08,ac,87,00,00,00,fe\n2014-08-15T19:01:43.684Z,3,126992,160,255,8,ff,ff,a9,3f,3a,c3,d4,28\n2014-08-15T19:01:43.722Z,4,129039,43,255,26,12,44,11,b6,0d,a0,47,be,0e,0b,d7,98,23,af,9b,8a,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:43.786Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:01:43.888Z,3,129291,160,255,8,ff,fc,cf,64,11,00,ff,ff\n2014-08-15T19:01:43.922Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,9c,39,01,00\n2014-08-15T19:01:43.925Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:43.928Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:43.930Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:44.072Z,4,129038,43,255,27,01,b0,7f,79,10,f8,d0,b4,0e,c8,7c,6f,23,b0,03,a6,00,00,3b,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:44.092Z,3,130577,160,255,14,c0,ee,20,87,4c,01,ff,ff,ff,ff,cf,64,11,00\n2014-08-15T19:01:44.095Z,2,129025,160,255,8,b7,d5,98,23,a2,4a,be,0e\n2014-08-15T19:01:44.112Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:44.175Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:44.192Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:44.214Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:44.215Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:44.217Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:44.254Z,4,129038,43,255,27,01,08,99,b5,0d,60,89,cb,0e,d5,91,a5,23,b4,a2,49,4e,01,a7,08,00,f3,48,00,00,00,fe\n2014-08-15T19:01:44.312Z,4,129038,43,255,27,01,20,f6,7e,10,c7,37,c7,0e,b4,ea,7f,23,b1,39,31,05,00,7a,06,09,65,c6,00,00,0f,fe\n2014-08-15T19:01:44.315Z,2,130306,115,255,8,00,98,02,8e,18,f2,ff,ff\n2014-08-15T19:01:44.317Z,2,129026,160,255,8,ff,fc,20,87,4c,01,ff,ff\n2014-08-15T19:01:44.335Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:44.362Z,4,129038,43,255,27,03,02,8b,c4,0d,b8,20,e1,0e,65,96,ca,23,b4,7e,7f,77,01,00,00,08,37,82,00,00,00,fe\n2014-08-15T19:01:44.369Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:44.371Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:44.401Z,3,127508,129,255,8,01,9a,05,eb,08,1e,75,1f\n2014-08-15T19:01:44.401Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:44.424Z,6,129540,160,255,135,3a,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:01:44.425Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:01:44.494Z,3,127508,129,255,8,01,99,05,c3,08,1e,75,1f\n2014-08-15T19:01:44.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:44.524Z,3,128267,115,255,8,00,85,0c,00,00,ff,ff,ff\n2014-08-15T19:01:44.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,31,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:44.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:44.595Z,3,129029,160,255,43,ef,a9,3f,90,e0,d4,28,00,6a,f4,e1,03,bf,49,08,00,be,87,a3,25,c5,6e,03,c0,63,ff,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:44.599Z,3,129033,160,255,8,a9,3f,90,e0,d4,28,b4,00\n2014-08-15T19:01:44.620Z,3,127508,129,255,8,01,99,05,b8,08,1e,75,1f\n2014-08-15T19:01:44.694Z,3,126992,160,255,8,ff,ff,a9,3f,36,ea,d4,28\n2014-08-15T19:01:44.712Z,4,129038,43,255,27,03,28,f5,77,10,ed,b7,9f,0e,38,76,74,23,a8,96,56,80,00,51,0e,08,fe,4a,ff,7f,00,fe\n2014-08-15T19:01:44.752Z,4,129039,43,255,26,12,44,11,b6,0d,d8,46,be,0e,11,d6,98,23,b3,03,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:44.792Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:01:44.894Z,3,129291,160,255,8,ff,fc,99,bd,01,00,ff,ff\n2014-08-15T19:01:44.920Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,9c,39,01,00\n2014-08-15T19:01:44.922Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:44.926Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:44.934Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:44.970Z,3,127508,129,255,8,01,9e,05,0a,09,1e,75,1f\n2014-08-15T19:01:44.988Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:01:45.034Z,4,129038,43,255,27,01,d2,ff,4a,10,3b,8a,b1,0e,f9,01,71,23,b1,b0,f1,00,00,91,06,09,37,91,00,00,00,fe\n2014-08-15T19:01:45.091Z,3,130577,160,255,14,c0,ef,95,86,4e,01,ff,ff,ff,ff,99,bd,01,00\n2014-08-15T19:01:45.092Z,2,129025,160,255,8,91,d4,98,23,f3,49,be,0e\n2014-08-15T19:01:45.179Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:45.190Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:45.197Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:01:45.211Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:45.214Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:45.217Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:45.239Z,2,130306,115,255,8,00,04,03,54,1d,f2,ff,ff\n2014-08-15T19:01:45.290Z,2,129026,160,255,8,ff,fc,95,86,4e,01,ff,ff\n2014-08-15T19:01:45.329Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:45.391Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:45.423Z,7,127506,129,255,9,20,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:45.425Z,6,129540,160,255,135,3b,ff,0b,20,b9,2f,09,98,54,0b,00,00,00,00,f2,01,ae,2d,ab,b4,60,09,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:01:45.427Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:01:45.430Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:45.435Z,4,129038,43,255,27,01,e0,53,7f,10,57,1f,c9,0e,bc,0f,ad,23,b8,f8,88,c9,05,38,40,01,ac,87,ff,7f,00,fe\n2014-08-15T19:01:45.448Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:45.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:45.524Z,3,128267,115,255,8,00,9d,0c,00,00,ff,ff,ff\n2014-08-15T19:01:45.554Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:45.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,39,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:45.596Z,3,129029,160,255,43,f0,a9,3f,a0,07,d5,28,00,b2,8f,08,be,be,49,08,00,62,d5,b6,02,c5,6e,03,d0,8a,ff,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:45.599Z,3,129033,160,255,8,a9,3f,a0,07,d5,28,b4,00\n2014-08-15T19:01:45.622Z,4,129038,43,255,27,01,fc,ff,e9,25,61,ac,2b,0f,4d,97,be,23,b1,7d,bb,bb,02,ab,86,08,7c,bb,3b,00,00,fe\n2014-08-15T19:01:45.692Z,3,126992,160,255,8,ff,ff,a9,3f,8c,11,d5,28\n2014-08-15T19:01:45.738Z,3,127508,129,255,8,01,9e,05,f7,08,1e,75,20\n2014-08-15T19:01:45.742Z,4,129039,43,255,26,12,44,11,b6,0d,21,46,be,0e,06,d5,98,23,b7,b2,85,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:45.796Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:01:45.896Z,3,129291,160,255,8,ff,fc,00,64,16,00,ff,ff\n2014-08-15T19:01:45.916Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,90,f7,c7,23,00,90,08,d5,28,b5,40,01,a9,3f,10,00,fc\n2014-08-15T19:01:45.919Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,af,39,01,00\n2014-08-15T19:01:45.921Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:45.923Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:45.925Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:45.930Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:46.054Z,4,129039,43,255,26,12,c4,e2,c3,0d,06,0c,c1,0e,40,fc,95,23,b4,39,55,77,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:01:46.101Z,3,130577,160,255,14,c0,f0,a0,85,50,01,ff,ff,ff,ff,00,64,16,00\n2014-08-15T19:01:46.102Z,2,129025,160,255,8,65,d3,98,23,5d,49,be,0e\n2014-08-15T19:01:46.124Z,4,129038,43,255,27,03,18,9e,7f,10,ad,01,c7,0e,9c,ee,7f,23,b7,5f,bf,0f,00,ca,4b,09,38,46,00,00,05,fe\n2014-08-15T19:01:46.167Z,2,130306,115,255,8,00,c6,02,0e,20,f2,ff,ff\n2014-08-15T19:01:46.193Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:46.204Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:46.229Z,3,127508,129,255,8,01,9c,05,c4,08,1e,75,20\n2014-08-15T19:01:46.232Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:46.264Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:46.290Z,2,129026,160,255,8,ff,fc,a0,85,50,01,ff,ff\n2014-08-15T19:01:46.302Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:46.304Z,3,127508,129,255,8,01,9c,05,b7,08,1e,75,20\n2014-08-15T19:01:46.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:46.306Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:46.334Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:46.363Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:46.456Z,6,129540,160,255,135,3c,ff,0b,20,b9,2f,09,98,54,0b,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:01:46.459Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:01:46.534Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:46.537Z,3,128267,115,255,8,00,9d,0c,00,00,ff,ff,ff\n2014-08-15T19:01:46.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:46.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:46.603Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,a0,5f,6e,23,b4,e5,e2,00,00,3a,c0,01,1f,ab,00,00,00,fe\n2014-08-15T19:01:46.627Z,3,129029,160,255,43,f1,a9,3f,88,38,d5,28,00,c4,c5,6a,78,be,49,08,00,b6,4c,ed,dd,c4,6e,03,70,2f,fc,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:46.629Z,3,129033,160,255,8,a9,3f,88,38,d5,28,b4,00\n2014-08-15T19:01:46.714Z,4,129038,43,255,27,01,10,04,1a,0e,23,78,02,0f,7a,4e,af,23,b4,2b,b0,9c,02,d4,86,08,9f,b2,00,00,00,fe\n2014-08-15T19:01:46.724Z,3,126992,160,255,8,ff,ff,a9,3f,88,38,d5,28\n2014-08-15T19:01:46.763Z,4,129039,43,255,26,12,44,11,b6,0d,48,45,be,0e,1d,d4,98,23,bb,2c,86,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:46.825Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:01:46.915Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,af,39,01,00\n2014-08-15T19:01:46.917Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:46.920Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:46.922Z,2,130306,115,255,8,00,93,02,df,17,f2,ff,ff\n2014-08-15T19:01:46.925Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:46.928Z,3,129291,160,255,8,ff,fc,cf,8c,0f,00,ff,ff\n2014-08-15T19:01:46.935Z,3,127508,129,255,8,01,a2,05,0e,09,1e,75,20\n2014-08-15T19:01:47.123Z,3,130577,160,255,14,c0,f1,f8,85,50,01,ff,ff,ff,ff,cf,8c,0f,00\n2014-08-15T19:01:47.125Z,2,129025,160,255,8,3a,d2,98,23,bf,48,be,0e\n2014-08-15T19:01:47.210Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:47.223Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:47.244Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:47.282Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:47.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:47.287Z,2,128259,115,255,8,00,3d,01,ff,ff,00,ff,ff\n2014-08-15T19:01:47.324Z,2,129026,160,255,8,ff,fc,f8,85,50,01,ff,ff\n2014-08-15T19:01:47.327Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:47.353Z,4,129038,43,255,27,03,28,f5,77,10,ed,b7,9f,0e,38,76,74,23,b8,e7,55,80,00,00,00,00,fe,4a,ff,7f,00,fe\n2014-08-15T19:01:47.355Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:47.394Z,4,129038,43,255,27,01,e0,53,7f,10,3f,18,c9,0e,09,06,ad,23,c0,6c,88,c9,05,04,66,08,ac,87,00,00,00,fe\n2014-08-15T19:01:47.424Z,3,127508,129,255,8,01,9e,05,b6,08,1e,75,20\n2014-08-15T19:01:47.434Z,4,129038,43,255,27,01,b8,f5,67,12,b1,1b,8b,0e,64,f3,8f,23,bc,79,2d,d1,03,c4,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:01:47.454Z,6,129540,160,255,135,3d,ff,0b,20,b9,2f,09,98,b8,0b,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:01:47.458Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:01:47.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:47.523Z,3,128267,115,255,8,00,38,0c,00,00,ff,ff,ff\n2014-08-15T19:01:47.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:47.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,36,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:47.613Z,4,129038,43,255,27,01,c0,0b,7e,10,cf,e7,e1,0e,02,50,cb,23,bc,ba,02,f8,06,f6,86,08,68,03,00,00,00,fe\n2014-08-15T19:01:47.642Z,3,129029,160,255,43,f2,a9,3f,e8,5f,d5,28,00,34,cc,7f,33,be,49,08,00,34,b2,a5,b5,c4,6e,03,10,b6,fd,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:47.644Z,3,129033,160,255,8,a9,3f,e8,5f,d5,28,b4,00\n2014-08-15T19:01:47.653Z,4,129038,43,255,27,01,c8,d4,7f,10,59,f6,df,0e,16,fb,c6,23,bd,4f,7d,33,04,4a,c0,08,cf,7e,00,00,00,fe\n2014-08-15T19:01:47.729Z,3,126992,160,255,8,ff,ff,a9,3f,e8,5f,d5,28\n2014-08-15T19:01:47.773Z,4,129039,43,255,26,12,44,11,b6,0d,91,44,be,0e,12,d3,98,23,bf,e6,85,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:47.831Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:01:47.901Z,2,130306,115,255,8,00,19,03,eb,19,f2,ff,ff\n2014-08-15T19:01:47.913Z,4,129039,43,255,26,12,0a,ec,b5,0d,3f,55,c9,0e,f3,cc,92,23,bc,84,53,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:47.915Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,af,39,01,00\n2014-08-15T19:01:47.919Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:47.921Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:47.923Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:47.926Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:47.933Z,3,129291,160,255,8,ff,fc,6d,70,16,00,ff,ff\n2014-08-15T19:01:48.034Z,7,127506,129,255,9,21,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:48.073Z,4,129038,43,255,27,01,68,e2,20,12,0f,4d,00,0f,d3,8b,ad,23,c0,4e,b0,02,02,e9,08,08,9f,b2,00,00,00,fe\n2014-08-15T19:01:48.140Z,3,130577,160,255,14,c0,f2,a0,85,51,01,ff,ff,ff,ff,6d,70,16,00\n2014-08-15T19:01:48.142Z,2,129025,160,255,8,12,d1,98,23,12,48,be,0e\n2014-08-15T19:01:48.197Z,3,127508,129,255,8,01,a3,05,08,09,1e,75,21\n2014-08-15T19:01:48.223Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:01:48.233Z,4,129038,43,255,27,01,92,12,4b,10,e8,e1,fe,0e,8a,9f,ae,23,f0,94,b0,bb,02,04,66,00,42,b1,01,00,00,fe\n2014-08-15T19:01:48.241Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:48.261Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:48.269Z,2,128259,115,255,8,00,51,01,ff,ff,00,ff,ff\n2014-08-15T19:01:48.269Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:48.283Z,4,129038,43,255,27,01,b8,53,a6,0c,ef,27,7e,0e,b7,d3,9f,23,c0,a0,ac,73,02,20,c3,08,88,ae,00,00,00,fe\n2014-08-15T19:01:48.295Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:48.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:48.341Z,2,129026,160,255,8,ff,fc,a0,85,51,01,ff,ff\n2014-08-15T19:01:48.490Z,6,129540,160,255,135,3e,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,d8,0e,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:48.493Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:01:48.520Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:48.522Z,3,128267,115,255,8,00,ce,0b,00,00,ff,ff,ff\n2014-08-15T19:01:48.537Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:48.543Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:48.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:48.650Z,3,129029,160,255,43,f3,a9,3f,da,86,d5,28,00,c0,c6,40,ec,bd,49,08,00,f2,70,d1,94,c4,6e,03,d0,8a,ff,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:48.652Z,3,129033,160,255,8,a9,3f,da,86,d5,28,b4,00\n2014-08-15T19:01:48.738Z,3,126992,160,255,8,ff,ff,a9,3f,da,86,d5,28\n2014-08-15T19:01:48.783Z,4,129039,43,255,26,12,44,11,b6,0d,ea,43,be,0e,e6,d1,98,23,c3,fe,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:48.840Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:01:48.849Z,2,130306,115,255,8,00,28,03,6c,21,f2,ff,ff\n2014-08-15T19:01:48.873Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:48.910Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,af,39,01,00\n2014-08-15T19:01:48.912Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:48.915Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:48.917Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:48.942Z,3,129291,160,255,8,ff,fc,6d,70,16,00,ff,ff\n2014-08-15T19:01:49.072Z,4,129038,43,255,27,01,c8,27,16,0e,04,32,66,0e,98,a6,93,23,bd,9c,30,50,03,ca,08,08,b9,2f,f6,ff,00,fe\n2014-08-15T19:01:49.148Z,3,130577,160,255,14,c0,f3,ac,84,55,01,ff,ff,ff,ff,6c,4e,18,00\n2014-08-15T19:01:49.150Z,2,129025,160,255,8,e0,cf,98,23,85,47,be,0e\n2014-08-15T19:01:49.157Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:49.163Z,4,129038,43,255,27,01,10,dc,6d,0f,8d,c4,61,0e,45,df,9c,23,c1,71,ad,83,02,30,87,00,88,ae,00,00,00,fe\n2014-08-15T19:01:49.203Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:49.243Z,4,129038,43,255,27,01,88,d6,d0,0c,f3,00,e7,0e,ae,c1,b8,23,c1,09,98,3c,03,04,66,00,14,9a,00,00,00,fe\n2014-08-15T19:01:49.245Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:49.247Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:49.250Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:49.252Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:49.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:49.344Z,2,129026,160,255,8,ff,fc,ac,84,55,01,ff,ff\n2014-08-15T19:01:49.350Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:49.482Z,6,129540,160,255,135,3f,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:49.484Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:01:49.520Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:49.522Z,3,127508,129,255,8,01,a3,05,f2,08,1e,75,21\n2014-08-15T19:01:49.522Z,3,128267,115,255,8,00,ce,0b,00,00,ff,ff,ff\n2014-08-15T19:01:49.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:49.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:49.643Z,4,129038,43,255,27,01,e0,53,7f,10,b3,0d,c9,0e,74,f7,ac,23,cc,26,88,c9,05,42,87,00,ac,87,ff,7f,00,fe\n2014-08-15T19:01:49.651Z,3,129029,160,255,43,f4,a9,3f,ea,ad,d5,28,00,b8,8b,8a,a4,bd,49,08,00,36,6b,9e,75,c4,6e,03,50,52,fe,ff,ff,ff,ff,ff,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:49.654Z,3,129033,160,255,8,a9,3f,ea,ad,d5,28,b4,00\n2014-08-15T19:01:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,22,98,ff,0e,ca,91,a3,23,bf,85,35,bf,01,45,87,01,d0,33,0a,00,00,fe\n2014-08-15T19:01:49.746Z,3,126992,160,255,8,ff,ff,a9,3f,ea,ad,d5,28\n2014-08-15T19:01:49.803Z,4,129039,43,255,26,12,44,11,b6,0d,0b,44,be,0e,78,d0,98,23,c7,db,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:49.842Z,2,130306,115,255,8,00,8e,02,f7,1b,f2,ff,ff\n2014-08-15T19:01:49.850Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:01:49.857Z,3,127508,129,255,8,01,a1,05,b7,08,1e,75,21\n2014-08-15T19:01:49.862Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,87,ec,7f,23,c0,b0,f4,05,00,20,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:01:49.868Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:49.906Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,af,39,01,00\n2014-08-15T19:01:49.910Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:49.912Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:49.914Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:49.942Z,3,129291,160,255,8,ff,fc,6c,4e,18,00,ff,ff\n2014-08-15T19:01:50.117Z,6,129794,43,255,75,05,70,45,45,0f,31,34,8a,00,39,48,4e,55,38,40,40,4d,49,4b,48,41,49,4c,20,44,55,44,49,4e,40,40,40,40,40,40,40,4f,7a,03,82,00,6e,00,02,03,cc,3f,80,16,1d,1f,36,01,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,3d,e0\n2014-08-15T19:01:50.148Z,3,130577,160,255,14,c0,f4,78,84,55,01,ff,ff,ff,ff,d9,6c,1b,00\n2014-08-15T19:01:50.150Z,2,129025,160,255,8,ac,ce,98,23,ff,46,be,0e\n2014-08-15T19:01:50.154Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,a4,d5,28,8e,c0,0b,a9,3f,00,00,fc\n2014-08-15T19:01:50.203Z,4,129038,43,255,27,01,b0,79,7a,10,ec,12,d4,0e,1d,e7,80,23,c0,48,d9,de,01,f6,08,08,2a,da,00,00,00,fe\n2014-08-15T19:01:50.219Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:50.249Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:50.255Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:50.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:50.260Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:50.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:50.334Z,3,127508,129,255,8,01,a5,05,06,09,1e,75,21\n2014-08-15T19:01:50.351Z,2,129026,160,255,8,ff,fc,78,84,55,01,ff,ff\n2014-08-15T19:01:50.353Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:50.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,a4,d5,28,7b,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:01:50.383Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:50.490Z,6,129540,160,255,135,40,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:50.492Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:01:50.520Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:50.523Z,3,128267,115,255,8,00,2f,0c,00,00,ff,ff,ff\n2014-08-15T19:01:50.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:50.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,23,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:50.655Z,3,129029,160,255,43,f5,a9,3f,dc,d4,d5,28,00,b0,50,d4,5c,bd,49,08,00,f6,ac,5d,50,c4,6e,03,30,75,00,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:50.658Z,3,129033,160,255,8,a9,3f,dc,d4,d5,28,b4,00\n2014-08-15T19:01:50.733Z,4,129038,43,255,27,01,98,69,b3,0e,79,e4,91,0e,0a,f5,a0,23,c1,37,af,f8,01,21,c0,00,42,b1,00,00,00,fe\n2014-08-15T19:01:50.751Z,3,126992,160,255,8,ff,ff,a9,3f,dc,d4,d5,28\n2014-08-15T19:01:50.789Z,2,130306,115,255,8,00,23,03,1a,22,f2,ff,ff\n2014-08-15T19:01:50.813Z,4,129039,43,255,26,12,44,11,b6,0d,b8,43,be,0e,f8,ce,98,23,cb,32,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:50.849Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:50.853Z,4,129038,43,255,27,03,28,f5,77,10,70,be,9f,0e,38,76,74,23,c0,39,55,80,00,b0,0e,08,50,4a,ff,7f,00,fe\n2014-08-15T19:01:50.859Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:01:50.905Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,c1,39,01,00\n2014-08-15T19:01:50.910Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:50.910Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:50.912Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:50.951Z,3,129291,160,255,8,ff,fc,d9,6c,1b,00,ff,ff\n2014-08-15T19:01:50.958Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:01:50.994Z,3,127508,129,255,8,01,a2,05,ab,08,1e,75,21\n2014-08-15T19:01:51.053Z,4,129038,43,255,27,01,fc,ff,e9,25,a0,8e,2b,0f,ab,98,be,23,c9,7d,bb,cb,02,04,66,00,7c,bb,1a,00,00,fe\n2014-08-15T19:01:51.162Z,3,130577,160,255,14,c0,f5,ac,84,59,01,ff,ff,ff,ff,d9,6c,1b,00\n2014-08-15T19:01:51.163Z,2,129025,160,255,8,78,cd,98,23,5f,46,be,0e\n2014-08-15T19:01:51.163Z,4,129038,43,255,27,03,30,d6,75,10,dc,e5,bb,0e,7e,d0,70,23,c8,ac,7e,00,00,00,00,00,8a,54,00,00,05,fe\n2014-08-15T19:01:51.200Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:51.236Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:51.238Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:51.243Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:51.255Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:51.268Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:51.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:51.355Z,2,129026,160,255,8,ff,fc,ac,84,59,01,ff,ff\n2014-08-15T19:01:51.496Z,6,129540,160,255,135,41,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:51.498Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:01:51.500Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:01:51.520Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:51.523Z,3,128267,115,255,8,00,14,0c,00,00,ff,ff,ff\n2014-08-15T19:01:51.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:51.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:51.630Z,7,127506,129,255,9,22,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:51.643Z,4,129038,43,255,27,01,e0,53,7f,10,ab,06,c9,0e,b0,ed,ac,23,d4,5b,88,c4,05,04,66,08,ac,87,00,00,00,fe\n2014-08-15T19:01:51.661Z,3,129029,160,255,43,f6,a9,3f,1e,fc,d5,28,00,64,b6,83,16,bd,49,08,00,66,18,40,29,c4,6e,03,40,9c,00,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:51.663Z,3,129033,160,255,8,a9,3f,1e,fc,d5,28,b4,00\n2014-08-15T19:01:51.757Z,3,126992,160,255,8,ff,ff,a9,3f,1e,fc,d5,28\n2014-08-15T19:01:51.759Z,2,130306,115,255,8,00,f5,02,df,17,f2,ff,ff\n2014-08-15T19:01:51.777Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:51.822Z,3,127508,129,255,8,01,a4,05,cc,08,1e,75,22\n2014-08-15T19:01:51.822Z,4,129039,43,255,26,12,44,11,b6,0d,75,43,be,0e,8a,cd,98,23,cf,32,84,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:51.858Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:01:51.902Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,c1,39,01,00\n2014-08-15T19:01:51.904Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:51.907Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:51.909Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:51.963Z,3,129291,160,255,8,ff,fc,89,5d,14,00,ff,ff\n2014-08-15T19:01:51.965Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:01:52.156Z,3,130577,160,255,14,c0,f6,78,84,59,01,ff,ff,ff,ff,89,5d,14,00\n2014-08-15T19:01:52.159Z,2,129025,160,255,8,4a,cc,98,23,b7,45,be,0e\n2014-08-15T19:01:52.228Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:52.232Z,4,129038,43,255,27,01,02,8b,c4,0d,1d,1e,e1,0e,fa,8b,ca,23,d0,cf,7e,72,01,a3,07,09,89,81,00,00,00,fe\n2014-08-15T19:01:52.260Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:52.267Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:52.270Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:52.272Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:52.276Z,4,129039,43,255,26,12,06,a5,b5,0d,cb,b5,bd,0e,7c,a0,98,23,ce,5b,88,53,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:52.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:52.351Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:52.361Z,2,129026,160,255,8,ff,fc,78,84,59,01,ff,ff\n2014-08-15T19:01:52.365Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:01:52.375Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:52.487Z,6,129540,160,255,135,42,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:52.490Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:01:52.519Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:52.521Z,3,128267,115,255,8,00,14,0c,00,00,ff,ff,ff\n2014-08-15T19:01:52.543Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:52.573Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,c8,31,d3,23,00,f0,f2,d5,28,79,40,01,a9,3f,10,00,fc\n2014-08-15T19:01:52.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:52.632Z,4,129038,43,255,27,01,b8,f5,67,12,ae,3a,8b,0e,94,f9,8f,23,d0,56,2d,d1,03,65,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:01:52.672Z,3,129029,160,255,43,f7,a9,3f,42,23,d6,28,00,ba,4b,80,cf,bc,49,08,00,68,36,06,07,c4,6e,03,70,82,03,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:52.675Z,3,129033,160,255,8,a9,3f,42,23,d6,28,b4,00\n2014-08-15T19:01:52.732Z,4,129038,43,255,27,01,d0,e7,da,0d,fa,9a,33,0f,d2,0f,c4,23,d5,2f,02,05,00,b6,87,09,d9,bc,00,00,00,fe\n2014-08-15T19:01:52.741Z,2,130306,115,255,8,00,19,03,6c,21,f2,ff,ff\n2014-08-15T19:01:52.758Z,3,126992,160,255,8,ff,ff,a9,3f,42,23,d6,28\n2014-08-15T19:01:52.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:52.842Z,4,129039,43,255,26,12,44,11,b6,0d,33,43,be,0e,2c,cc,98,23,d3,95,83,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:52.860Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:01:52.899Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,c1,39,01,00\n2014-08-15T19:01:52.902Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:52.904Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:52.907Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:52.963Z,3,129291,160,255,8,ff,fc,62,72,1c,00,ff,ff\n2014-08-15T19:01:52.990Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:53.037Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:01:53.072Z,4,129039,43,255,26,12,ca,0c,b7,0d,6e,7f,bd,0e,35,f5,96,23,d2,32,7e,58,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:53.109Z,3,127508,129,255,8,01,a7,05,f9,08,1e,75,22\n2014-08-15T19:01:53.112Z,7,129793,43,255,26,04,8f,18,23,00,42,1d,46,0f,18,69,e2,23,00,00,1a,d6,28,c1,87,08,a9,3f,10,00,fc\n2014-08-15T19:01:53.159Z,3,130577,160,255,14,c0,f7,20,84,5b,01,ff,ff,ff,ff,62,72,1c,00\n2014-08-15T19:01:53.161Z,2,129025,160,255,8,19,cb,98,23,24,45,be,0e\n2014-08-15T19:01:53.194Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:53.235Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:53.237Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:53.239Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:53.262Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:53.268Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:53.272Z,4,129038,43,255,27,01,b8,83,92,0e,86,bc,e0,0e,5e,c8,75,23,d5,8e,c1,05,00,ca,07,09,07,d4,00,00,00,fe\n2014-08-15T19:01:53.298Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:53.322Z,4,129038,43,255,27,01,08,99,b5,0d,e8,9c,cb,0e,d5,91,a5,23,d8,44,48,4e,01,b1,08,08,f3,48,00,00,00,fe\n2014-08-15T19:01:53.364Z,2,129026,160,255,8,ff,fc,20,84,5b,01,ff,ff\n2014-08-15T19:01:53.504Z,6,129540,160,255,135,43,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:01:53.507Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:01:53.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:53.519Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:53.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:53.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,38,02,03,00,01,03,04,00,00,00\n2014-08-15T19:01:53.594Z,4,129038,43,255,27,01,28,f5,77,10,70,be,9f,0e,38,76,74,23,d0,8a,54,80,00,3b,c0,01,a1,49,ff,7f,00,fe\n2014-08-15T19:01:53.642Z,4,129038,43,255,27,01,e0,53,7f,10,92,ff,c8,0e,fc,e3,ac,23,dc,7e,88,bf,05,d8,87,00,ac,87,ff,7f,00,fe\n2014-08-15T19:01:53.668Z,3,129029,160,255,43,f8,a9,3f,66,4a,d6,28,00,e8,75,8e,87,bc,49,08,00,9e,36,fd,e8,c3,6e,03,30,e6,02,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:53.670Z,3,129033,160,255,8,a9,3f,66,4a,d6,28,b4,00\n2014-08-15T19:01:53.693Z,2,130306,115,255,8,00,db,02,60,1f,f2,ff,ff\n2014-08-15T19:01:53.718Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:53.752Z,4,129038,43,255,27,01,c8,d4,7f,10,be,f3,df,0e,96,e3,c6,23,d5,72,7d,33,04,dc,87,01,cf,7e,00,00,00,fe\n2014-08-15T19:01:53.763Z,3,126992,160,255,8,ff,ff,a9,3f,66,4a,d6,28\n2014-08-15T19:01:53.770Z,3,127508,129,255,8,01,a7,05,e7,08,1e,75,22\n2014-08-15T19:01:53.852Z,4,129039,43,255,26,12,44,11,b6,0d,be,42,be,0e,ef,ca,98,23,d7,95,83,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:53.864Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:01:53.892Z,4,129038,43,255,27,01,38,5e,49,16,bd,7a,ca,0e,b3,bf,76,23,d5,50,38,00,00,04,88,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:53.897Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,c1,39,01,00\n2014-08-15T19:01:53.899Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:53.902Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:53.905Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:53.966Z,3,129291,160,255,8,ff,fc,63,56,25,00,ff,ff\n2014-08-15T19:01:54.019Z,3,127508,129,255,8,01,a6,05,c2,08,1e,75,22\n2014-08-15T19:01:54.084Z,4,129041,43,255,48,15,aa,54,2c,3b,a7,e8,f4,0e,d3,28,7f,23,c4,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,35,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:01:54.152Z,4,129038,43,255,27,01,58,eb,ad,0e,17,44,5c,0e,72,4a,8f,23,db,85,2f,d9,01,04,66,00,5c,2e,00,00,00,fe\n2014-08-15T19:01:54.165Z,3,130577,160,255,14,c0,f8,b8,83,5b,01,ff,ff,ff,ff,63,56,25,00\n2014-08-15T19:01:54.167Z,2,129025,160,255,8,e4,c9,98,23,a3,44,be,0e\n2014-08-15T19:01:54.201Z,3,127508,129,255,8,01,a8,05,e5,08,1e,75,22\n2014-08-15T19:01:54.208Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:54.245Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:54.247Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:54.249Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:54.267Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:54.278Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:54.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:54.369Z,2,129026,160,255,8,ff,fc,b8,83,5b,01,ff,ff\n2014-08-15T19:01:54.496Z,6,129540,160,255,135,44,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,54,0b,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:01:54.498Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:01:54.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:54.518Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:54.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:54.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,41,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:54.602Z,4,129039,43,255,26,12,58,7f,b6,0d,50,58,bc,0e,fd,01,95,23,db,6c,79,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:54.638Z,7,127506,129,255,9,23,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:54.660Z,2,130306,115,255,8,00,db,02,eb,19,f2,ff,ff\n2014-08-15T19:01:54.679Z,3,129029,160,255,43,f9,a9,3f,80,71,d6,28,00,9c,db,3d,41,bc,49,08,00,f0,2a,a0,c8,c3,6e,03,20,bf,02,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:54.682Z,3,129033,160,255,8,a9,3f,80,71,d6,28,b4,00\n2014-08-15T19:01:54.684Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:54.752Z,4,129038,43,255,27,01,c8,27,16,0e,90,55,66,0e,f9,ac,93,23,d5,79,30,50,03,27,08,01,b9,2f,0a,00,00,fe\n2014-08-15T19:01:54.765Z,3,126992,160,255,8,ff,ff,a9,3f,80,71,d6,28\n2014-08-15T19:01:54.862Z,4,129039,43,255,26,12,44,11,b6,0d,39,42,be,0e,c3,c9,98,23,db,5b,85,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:54.873Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:01:54.894Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,c1,39,01,00\n2014-08-15T19:01:54.897Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:54.900Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:54.902Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:54.906Z,4,129038,43,255,27,01,88,d6,d0,0c,fe,e8,e6,0e,ec,b4,b8,23,d9,3d,98,3c,03,07,88,08,14,9a,00,00,00,fe\n2014-08-15T19:01:54.928Z,3,127508,129,255,8,01,a6,05,b2,08,1e,75,23\n2014-08-15T19:01:54.964Z,3,129291,160,255,8,ff,fc,91,54,29,00,ff,ff\n2014-08-15T19:01:55.170Z,3,130577,160,255,14,c0,f9,ec,83,5a,01,ff,ff,ff,ff,91,54,29,00\n2014-08-15T19:01:55.172Z,2,129025,160,255,8,b6,c8,98,23,18,44,be,0e\n2014-08-15T19:01:55.188Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:55.231Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:55.234Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:55.235Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:55.264Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:55.316Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:55.343Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:55.364Z,2,129026,160,255,8,ff,fc,ec,83,5a,01,ff,ff\n2014-08-15T19:01:55.374Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:55.443Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:55.483Z,4,129038,43,255,27,01,e0,53,7f,10,ab,f8,c8,0e,49,da,ac,23,e0,6c,88,bf,05,38,c0,08,fd,86,ff,7f,00,fe\n2014-08-15T19:01:55.497Z,6,129540,160,255,135,45,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,dc,05,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:55.499Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:01:55.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:55.532Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:01:55.571Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:55.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,42,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:55.628Z,2,130306,115,255,8,00,32,03,9b,29,f2,ff,ff\n2014-08-15T19:01:55.643Z,4,129038,43,255,27,01,d2,ff,4a,10,2b,8a,b1,0e,d8,01,71,23,dd,b0,f1,00,00,4d,c0,01,37,91,ff,ff,00,fe\n2014-08-15T19:01:55.667Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:55.671Z,3,129029,160,255,43,fa,a9,3f,9a,98,d6,28,00,5c,b8,2f,fe,bb,49,08,00,38,2b,94,a0,c3,6e,03,70,82,03,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:55.673Z,3,129033,160,255,8,a9,3f,9a,98,d6,28,b4,00\n2014-08-15T19:01:55.772Z,3,126992,160,255,8,ff,ff,a9,3f,9a,98,d6,28\n2014-08-15T19:01:55.801Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:55.832Z,4,129038,43,255,27,01,10,04,1a,0e,60,52,02,0f,d3,4d,af,23,d8,2b,b0,9c,02,35,40,01,9f,b2,00,00,00,fe\n2014-08-15T19:01:55.863Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:01:55.883Z,4,129039,43,255,26,12,44,11,b6,0d,c4,41,be,0e,a8,c8,98,23,df,03,85,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:55.892Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,d4,39,01,00\n2014-08-15T19:01:55.895Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:55.901Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:55.901Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:55.924Z,7,129793,43,255,26,04,91,18,23,00,5a,1b,86,0e,2c,f7,c7,23,00,30,8f,d6,28,04,66,08,a9,3f,10,00,fc\n2014-08-15T19:01:55.966Z,3,129291,160,255,8,ff,fc,da,60,26,00,ff,ff\n2014-08-15T19:01:56.123Z,3,127508,129,255,8,01,a8,05,c2,08,1e,75,23\n2014-08-15T19:01:56.172Z,3,130577,160,255,14,c0,fa,ac,84,57,01,ff,ff,ff,ff,da,60,26,00\n2014-08-15T19:01:56.174Z,2,129025,160,255,8,96,c7,98,23,6c,43,be,0e\n2014-08-15T19:01:56.211Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,a0,5f,6e,23,dc,16,37,00,00,04,66,08,ce,ab,00,00,00,fe\n2014-08-15T19:01:56.215Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:01:56.244Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:56.246Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:56.248Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:01:56.267Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:56.273Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:56.321Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:56.369Z,2,129026,160,255,8,ff,fc,ac,84,57,01,ff,ff\n2014-08-15T19:01:56.498Z,6,129540,160,255,135,46,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,80,0c,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,60,09,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:56.500Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:01:56.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:56.522Z,3,128267,115,255,8,00,2f,0c,00,00,ff,ff,ff\n2014-08-15T19:01:56.525Z,3,127508,129,255,8,01,a8,05,b9,08,1e,75,23\n2014-08-15T19:01:56.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:56.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:56.597Z,2,130306,115,255,8,00,a7,02,6c,21,f2,ff,ff\n2014-08-15T19:01:56.617Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:56.683Z,3,129029,160,255,43,fb,a9,3f,96,bf,d6,28,00,0e,9b,4b,bc,bb,49,08,00,16,e4,92,74,c3,6e,03,a0,68,06,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:56.686Z,3,129033,160,255,8,a9,3f,96,bf,d6,28,b4,00\n2014-08-15T19:01:56.713Z,4,129039,43,255,26,12,08,57,b6,0d,9f,96,c8,0e,ac,fc,92,23,e3,79,51,49,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:01:56.775Z,3,126992,160,255,8,ff,ff,a9,3f,96,bf,d6,28\n2014-08-15T19:01:56.867Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:01:56.889Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,d4,39,01,00\n2014-08-15T19:01:56.893Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:56.897Z,4,129039,43,255,26,12,44,11,b6,0d,1d,41,be,0e,7c,c7,98,23,e3,1b,86,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:56.899Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:56.901Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:56.969Z,3,129291,160,255,8,ff,fc,67,8e,1f,00,ff,ff\n2014-08-15T19:01:57.083Z,4,129038,43,255,27,03,28,f5,77,10,70,be,9f,0e,38,76,74,23,e0,dc,53,80,00,00,00,08,f3,48,ff,7f,00,fe\n2014-08-15T19:01:57.174Z,3,130577,160,255,14,c0,fb,7e,85,52,01,ff,ff,ff,ff,67,8e,1f,00\n2014-08-15T19:01:57.176Z,2,129025,160,255,8,7b,c6,98,23,af,42,be,0e\n2014-08-15T19:01:57.183Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:01:57.213Z,3,127508,129,255,8,01,a9,05,ba,08,1e,75,23\n2014-08-15T19:01:57.221Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:57.223Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:57.225Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:01:57.256Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:57.275Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:57.283Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:57.380Z,2,129026,160,255,8,ff,fc,7e,85,52,01,ff,ff\n2014-08-15T19:01:57.503Z,6,129540,160,255,135,47,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,80,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:57.505Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:01:57.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:57.519Z,3,127508,129,255,8,01,ab,05,c5,08,1e,75,23\n2014-08-15T19:01:57.519Z,3,128267,115,255,8,00,45,0c,00,00,ff,ff,ff\n2014-08-15T19:01:57.543Z,4,129038,43,255,27,01,e0,53,7f,10,d5,f1,c8,0e,74,d0,ac,23,e8,f2,87,bf,05,38,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:01:57.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:57.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:01:57.581Z,2,130306,115,255,8,00,09,03,f8,2a,f2,ff,ff\n2014-08-15T19:01:57.603Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:57.613Z,4,129038,43,255,27,01,fc,ff,e9,25,dc,6b,2b,0f,3b,9a,be,23,e5,2b,bc,c0,02,19,c0,08,7c,bb,1a,00,00,fe\n2014-08-15T19:01:57.681Z,3,129029,160,255,43,00,a9,3f,ce,e6,d6,28,00,b2,83,91,7b,bb,49,08,00,2a,02,56,48,c3,6e,03,10,09,05,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:57.683Z,3,129033,160,255,8,a9,3f,ce,e6,d6,28,b4,00\n2014-08-15T19:01:57.775Z,3,126992,160,255,8,ff,ff,a9,3f,ce,e6,d6,28\n2014-08-15T19:01:57.797Z,6,129794,43,255,75,05,a8,f6,a5,01,77,fd,86,00,45,53,32,30,39,39,40,4c,4f,54,4f,53,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,5a,2c,01,46,00,1e,00,96,00,f8,40,80,80,6a,2b,2c,01,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:01:57.879Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:01:57.883Z,4,129038,43,255,27,03,a8,f6,a5,01,3e,9f,b9,0e,40,b9,70,23,e0,00,00,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:01:57.887Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,d4,39,01,00\n2014-08-15T19:01:57.889Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:57.892Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:57.895Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:57.923Z,4,129039,43,255,26,12,44,11,b6,0d,77,40,be,0e,3f,c6,98,23,e7,e6,85,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:57.944Z,7,127506,129,255,9,24,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:01:57.981Z,3,129291,160,255,8,ff,fc,35,bc,1c,00,ff,ff\n2014-08-15T19:01:58.043Z,4,129038,43,255,27,01,58,43,c9,0e,91,8e,d9,0e,39,10,aa,23,e8,c8,ad,c5,02,d5,08,00,d9,ad,00,00,00,fe\n2014-08-15T19:01:58.123Z,4,129038,43,255,27,01,68,e2,20,12,19,2a,00,0f,3e,88,ad,23,e8,3d,b0,fd,01,62,40,01,9f,b2,00,00,00,fe\n2014-08-15T19:01:58.163Z,4,129039,43,255,26,12,80,e5,c3,0d,5f,00,c1,0e,d7,12,96,23,e7,0a,56,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:01:58.186Z,3,130577,160,255,14,c0,00,e6,85,51,01,ff,ff,ff,ff,35,bc,1c,00\n2014-08-15T19:01:58.188Z,2,129025,160,255,8,65,c5,98,23,f1,41,be,0e\n2014-08-15T19:01:58.200Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:58.237Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:58.239Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:58.241Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:58.268Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:58.282Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:58.321Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:58.382Z,2,129026,160,255,8,ff,fc,26,85,54,01,ff,ff\n2014-08-15T19:01:58.393Z,4,129038,43,255,27,01,b8,53,a6,0c,77,fe,7d,0e,34,cd,9f,23,e8,7d,ac,73,02,04,66,00,d9,ad,00,00,00,fe\n2014-08-15T19:01:58.434Z,4,129038,43,255,27,01,38,5e,49,16,bd,7a,ca,0e,b3,bf,76,23,e5,62,20,00,00,25,c0,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:01:58.522Z,6,129540,160,255,135,48,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:01:58.524Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:01:58.528Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:58.530Z,3,127508,129,255,8,01,aa,05,af,08,1e,75,24\n2014-08-15T19:01:58.530Z,3,128267,115,255,8,00,7f,0c,00,00,ff,ff,ff\n2014-08-15T19:01:58.549Z,2,130306,115,255,8,00,a7,02,f7,1b,f2,ff,ff\n2014-08-15T19:01:58.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:58.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,2e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:01:58.603Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:58.685Z,3,129029,160,255,43,01,a9,3f,f2,0d,d7,28,00,de,2a,0c,38,bb,49,08,00,20,a9,d9,22,c3,6e,03,20,12,0a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:58.687Z,3,129033,160,255,8,a9,3f,f2,0d,d7,28,b4,00\n2014-08-15T19:01:58.790Z,3,126992,160,255,8,ff,ff,a9,3f,f2,0d,d7,28\n2014-08-15T19:01:58.794Z,4,129038,43,255,27,01,b8,f5,67,12,a9,5f,8b,0e,c2,02,90,23,e8,56,2d,d1,03,99,88,0b,ff,2c,00,00,00,fe\n2014-08-15T19:01:58.884Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,d4,39,01,00\n2014-08-15T19:01:58.886Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:58.890Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:58.892Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:01:58.894Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:58.922Z,4,129039,43,255,26,12,44,11,b6,0d,23,40,be,0e,f2,c4,98,23,eb,5b,82,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:58.978Z,3,129291,160,255,8,ff,fc,15,a2,1a,00,ff,ff\n2014-08-15T19:01:59.049Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:01:59.179Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:01:59.182Z,3,130577,160,255,14,c0,01,26,85,54,01,ff,ff,ff,ff,15,a2,1a,00\n2014-08-15T19:01:59.184Z,2,129025,160,255,8,43,c4,98,23,50,41,be,0e\n2014-08-15T19:01:59.216Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:01:59.218Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:59.221Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:01:59.249Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:59.279Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:01:59.287Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:01:59.323Z,4,129038,43,255,27,01,e0,53,7f,10,83,ee,c8,0e,92,cb,ac,23,00,be,87,c4,05,04,66,08,fd,86,00,00,00,fe\n2014-08-15T19:01:59.388Z,2,129026,160,255,8,ff,fc,d5,82,57,01,ff,ff\n2014-08-15T19:01:59.501Z,2,130306,115,255,8,00,bc,02,54,1d,f2,ff,ff\n2014-08-15T19:01:59.517Z,6,129540,160,255,135,49,ff,0b,20,b9,2f,09,98,b8,0b,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,60,09,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:01:59.519Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:01:59.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:59.559Z,3,128267,115,255,8,00,54,0c,00,00,ff,ff,ff\n2014-08-15T19:01:59.561Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:59.572Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:01:59.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,45,02,02,00,01,01,03,00,00,00\n2014-08-15T19:01:59.589Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:01:59.593Z,4,129038,43,255,27,01,92,12,4b,10,55,b4,fe,0e,08,99,ae,23,ec,94,b0,bb,02,04,66,08,42,b1,00,00,00,fe\n2014-08-15T19:01:59.692Z,3,129029,160,255,43,02,a9,3f,0c,35,d7,28,00,1a,4f,f0,ee,ba,49,08,00,5e,1a,ec,10,c3,6e,03,c0,98,0b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:01:59.694Z,3,129033,160,255,8,a9,3f,0c,35,d7,28,b4,00\n2014-08-15T19:01:59.707Z,3,127508,129,255,8,01,ab,05,bf,08,1e,75,24\n2014-08-15T19:01:59.725Z,3,127508,129,255,8,01,ae,05,fb,08,1e,75,24\n2014-08-15T19:01:59.788Z,3,126992,160,255,8,ff,ff,a9,3f,0c,35,d7,28\n2014-08-15T19:01:59.881Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,d4,39,01,00\n2014-08-15T19:01:59.884Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:01:59.886Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:01:59.889Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:01:59.891Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:01:59.933Z,4,129039,43,255,26,12,44,11,b6,0d,23,40,be,0e,94,c3,98,23,ef,8f,7f,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:01:59.973Z,4,129038,43,255,27,01,6c,70,4a,10,db,b9,ff,0e,0b,95,a3,23,eb,96,35,bf,01,1e,40,09,d0,33,03,00,00,fe\n2014-08-15T19:01:59.983Z,3,129291,160,255,8,ff,fc,15,a2,1a,00,ff,ff\n2014-08-15T19:02:00.104Z,3,127508,129,255,8,01,ac,05,c6,08,1e,75,24\n2014-08-15T19:02:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,2b,d7,28,01,80,02,a9,3f,00,00,fc\n2014-08-15T19:02:00.187Z,3,130577,160,255,14,c0,02,d5,82,57,01,ff,ff,ff,ff,04,5c,2d,00\n2014-08-15T19:02:00.189Z,2,129025,160,255,8,09,c3,98,23,03,41,be,0e\n2014-08-15T19:02:00.193Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:00.231Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:02:00.233Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:00.236Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:00.294Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:00.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:00.353Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:00.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,70,2b,d7,28,7b,c0,02,a9,3f,00,00,fc\n2014-08-15T19:02:00.378Z,3,127508,129,255,8,01,ae,05,e4,08,1e,75,24\n2014-08-15T19:02:00.383Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:00.388Z,2,129026,160,255,8,ff,fc,03,82,5d,01,ff,ff\n2014-08-15T19:02:00.413Z,4,129038,43,255,27,01,10,dc,6d,0f,fb,96,61,0e,c2,d8,9c,23,ed,71,ad,83,02,9e,08,08,88,ae,e6,ff,00,fe\n2014-08-15T19:02:00.506Z,2,130306,115,255,8,00,04,03,eb,19,f2,ff,ff\n2014-08-15T19:02:00.524Z,6,129540,160,255,135,4a,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,60,09,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:00.528Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:02:00.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:00.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:00.581Z,3,128267,115,255,8,00,02,0c,00,00,ff,ff,ff\n2014-08-15T19:02:00.583Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:00.603Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:00.696Z,3,129029,160,255,43,03,a9,3f,26,5c,d7,28,00,d0,37,33,a4,ba,49,08,00,3c,38,b8,02,c3,6e,03,e0,e6,0b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:00.698Z,3,129033,160,255,8,a9,3f,26,5c,d7,28,b4,00\n2014-08-15T19:02:00.786Z,3,126992,160,255,8,ff,ff,a9,3f,26,5c,d7,28\n2014-08-15T19:02:00.860Z,7,127506,129,255,9,25,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:00.878Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:00.884Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:00.887Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:00.888Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:00.890Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:02:00.952Z,4,129039,43,255,26,12,44,11,b6,0d,e1,3f,be,0e,57,c2,98,23,03,f8,7f,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:00.992Z,3,129291,160,255,8,ff,fc,04,5c,2d,00,ff,ff\n2014-08-15T19:02:00.996Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:00.997Z,3,127508,129,255,8,01,af,05,e0,08,1e,75,25\n2014-08-15T19:02:01.173Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:01.197Z,3,130577,160,255,14,c0,03,03,82,5d,01,ff,ff,ff,ff,08,49,3f,00\n2014-08-15T19:02:01.200Z,2,129025,160,255,8,c8,c1,98,23,c6,40,be,0e\n2014-08-15T19:02:01.211Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:01.212Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:02:01.215Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:01.217Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:01.223Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:01.244Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:01.272Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:01.288Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:01.302Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,87,ec,7f,23,ec,7a,00,05,00,21,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:01.309Z,3,127508,129,255,8,01,ac,05,9c,08,1e,75,25\n2014-08-15T19:02:01.342Z,4,129038,43,255,27,01,98,69,b3,0e,d8,be,91,0e,df,f0,a0,23,ed,37,af,f8,01,08,66,08,42,b1,00,00,00,fe\n2014-08-15T19:02:01.389Z,2,129026,160,255,8,ff,fc,6c,82,60,01,ff,ff\n2014-08-15T19:02:01.402Z,4,129039,43,255,26,12,8c,d3,b5,0d,01,3d,bf,0e,32,53,99,23,00,43,96,25,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:02:01.436Z,2,130306,115,255,8,00,b7,02,03,1e,f2,ff,ff\n2014-08-15T19:02:01.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:01.512Z,3,128267,115,255,8,00,51,0c,00,00,ff,ff,ff\n2014-08-15T19:02:01.514Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:01.530Z,6,129540,160,255,135,4b,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:01.533Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:02:01.535Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:01.543Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:01.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,31,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:01.602Z,4,129038,43,255,27,01,c8,27,16,0e,79,7d,66,0e,f0,b3,93,23,01,68,30,50,03,08,66,08,b9,2f,ec,ff,00,fe\n2014-08-15T19:02:01.626Z,3,127508,129,255,8,01,af,05,cb,08,1e,75,25\n2014-08-15T19:02:01.643Z,4,129038,43,255,27,01,e0,53,7f,10,5b,e4,c8,0e,fd,bc,ac,23,0c,f2,87,bf,05,08,66,00,ac,87,00,00,00,fe\n2014-08-15T19:02:01.695Z,3,129029,160,255,43,04,a9,3f,90,83,d7,28,00,1a,56,ed,59,ba,49,08,00,c2,0e,8c,e6,c2,6e,03,90,94,0d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:01.697Z,3,129033,160,255,8,a9,3f,90,83,d7,28,b4,00\n2014-08-15T19:02:01.772Z,4,129039,43,255,26,12,44,11,b6,0d,4b,3f,be,0e,1a,c1,98,23,07,a1,82,68,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:02:01.792Z,3,126992,160,255,8,ff,ff,a9,3f,90,83,d7,28\n2014-08-15T19:02:01.803Z,3,127508,129,255,8,01,b1,05,e2,08,1e,75,25\n2014-08-15T19:02:01.813Z,4,129038,43,255,27,01,88,d6,d0,0c,10,cd,e6,0e,14,a6,b8,23,05,3d,98,3c,03,40,80,00,65,99,00,00,00,fe\n2014-08-15T19:02:01.862Z,4,129038,43,255,27,01,02,8b,c4,0d,83,1b,e1,0e,9c,7f,ca,23,08,cf,7e,68,01,08,66,00,da,80,00,00,00,fe\n2014-08-15T19:02:01.877Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:01.879Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:01.881Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:01.884Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:01.903Z,4,129038,43,255,27,01,b0,79,7a,10,a0,f5,d3,0e,64,f7,80,23,00,6b,d9,e3,01,43,80,00,2a,da,0a,00,00,fe\n2014-08-15T19:02:01.905Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:02:01.942Z,4,129039,43,255,26,12,6e,c9,b5,0d,89,aa,cf,0e,7e,69,90,23,06,39,55,bf,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:01.982Z,4,129039,43,255,26,12,44,11,b6,0d,4b,3f,be,0e,1a,c1,98,23,07,a1,82,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:01.995Z,3,129291,160,255,8,ff,fc,08,49,3f,00,ff,ff\n2014-08-15T19:02:01.998Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:02.097Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:02:02.198Z,3,127508,129,255,8,01,ae,05,a3,08,1e,75,25\n2014-08-15T19:02:02.200Z,3,130577,160,255,14,c0,04,6c,82,60,01,ff,ff,ff,ff,08,49,3f,00\n2014-08-15T19:02:02.203Z,2,129025,160,255,8,89,c0,98,23,4d,40,be,0e\n2014-08-15T19:02:02.211Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:02:02.213Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:02.237Z,7,127506,129,255,9,26,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:02.240Z,7,65306,115,255,8,3b,9f,e7,00,ff,ff,ff,ff\n2014-08-15T19:02:02.242Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:02.245Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:02.273Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:02.293Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:02.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:02.394Z,2,129026,160,255,8,ff,fc,a6,83,5e,01,ff,ff\n2014-08-15T19:02:02.400Z,3,127508,129,255,8,01,b0,05,b1,08,1e,75,26\n2014-08-15T19:02:02.400Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:02.445Z,2,130306,115,255,8,00,89,02,60,1f,f2,ff,ff\n2014-08-15T19:02:02.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:02.511Z,3,128267,115,255,8,00,14,0c,00,00,ff,ff,ff\n2014-08-15T19:02:02.525Z,6,129540,160,255,135,4c,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:02.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:02.529Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:02:02.533Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:02.534Z,4,129038,43,255,27,01,08,99,b5,0d,70,b0,cb,0e,52,8b,a5,23,0c,ff,4a,3e,01,5b,00,01,f3,48,00,00,00,fe\n2014-08-15T19:02:02.539Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:02.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,46,02,03,00,01,01,04,00,00,00\n2014-08-15T19:02:02.582Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,c8,31,d3,23,00,90,79,d7,28,77,c0,08,a9,3f,10,00,fc\n2014-08-15T19:02:02.702Z,3,129029,160,255,43,05,a9,3f,a0,aa,d7,28,00,f6,26,8b,14,ba,49,08,00,26,03,2c,bc,c2,6e,03,f0,ef,10,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:02.704Z,3,129033,160,255,8,a9,3f,a0,aa,d7,28,b4,00\n2014-08-15T19:02:02.723Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:02.797Z,3,126992,160,255,8,ff,ff,a9,3f,a0,aa,d7,28\n2014-08-15T19:02:02.875Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:02.877Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:02.879Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:02.884Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:02.901Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:02:02.972Z,4,129039,43,255,26,12,44,11,b6,0d,a4,3e,be,0e,ee,bf,98,23,0b,03,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:03.002Z,3,129291,160,255,8,ff,fc,d9,59,27,00,ff,ff\n2014-08-15T19:02:03.012Z,4,129038,43,255,27,03,22,0b,b6,0d,1a,26,ca,0e,b6,04,77,23,0f,25,bb,00,00,3a,4d,01,51,0e,00,00,05,fe\n2014-08-15T19:02:03.052Z,4,129038,43,255,27,03,a0,1a,bf,0d,9b,be,da,0e,9a,b8,da,23,0d,ab,b4,05,00,ca,49,01,68,12,f6,ff,05,fe\n2014-08-15T19:02:03.092Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,18,69,e2,23,00,a0,a0,d7,28,6e,80,00,a9,3f,10,00,fc\n2014-08-15T19:02:03.172Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:03.198Z,3,130577,160,255,14,c0,05,a6,83,5e,01,ff,ff,ff,ff,d9,59,27,00\n2014-08-15T19:02:03.201Z,2,129025,160,255,8,5f,bf,98,23,97,3f,be,0e\n2014-08-15T19:02:03.216Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:03.219Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:03.220Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:03.224Z,4,129038,43,255,27,01,fc,ff,e9,25,0e,53,2b,0f,56,9b,be,23,09,2b,bc,cb,02,08,66,00,7c,bb,3b,00,00,fe\n2014-08-15T19:02:03.249Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:03.277Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:03.299Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:03.345Z,3,127508,129,255,8,01,b1,05,cc,08,1e,75,26\n2014-08-15T19:02:03.372Z,2,130306,115,255,8,00,f0,02,bd,20,f2,ff,ff\n2014-08-15T19:02:03.397Z,6,129794,43,255,75,05,a0,1a,bf,0d,ab,99,8c,00,4f,4a,50,50,20,20,20,46,49,4e,4c,41,4e,44,49,41,20,20,20,20,20,20,20,20,20,20,20,3c,d6,06,0e,01,46,00,c2,01,a9,3f,c0,ae,3b,28,bc,02,48,45,4c,53,49,4e,4b,49,3c,2d,3e,54,41,4c,4c,49,4e,4e,20,20,05,e1\n2014-08-15T19:02:03.399Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:03.402Z,2,129026,160,255,8,ff,fc,c9,83,60,01,ff,ff\n2014-08-15T19:02:03.432Z,4,129038,43,255,27,01,e0,53,7f,10,e8,e0,c8,0e,1b,b8,ac,23,10,15,88,c4,05,7a,80,08,ac,87,ff,7f,00,fe\n2014-08-15T19:02:03.510Z,3,128267,115,255,8,00,1d,0c,00,00,ff,ff,ff\n2014-08-15T19:02:03.513Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:03.540Z,6,129540,160,255,135,4d,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:03.544Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:02:03.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:03.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,27,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:03.706Z,3,129029,160,255,43,06,a9,3f,ba,d1,d7,28,00,3e,c2,b1,ce,b9,49,08,00,e8,c7,7e,92,c2,6e,03,90,76,12,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:03.708Z,3,129033,160,255,8,a9,3f,ba,d1,d7,28,b4,00\n2014-08-15T19:02:03.802Z,3,126992,160,255,8,ff,ff,a9,3f,ba,d1,d7,28\n2014-08-15T19:02:03.833Z,3,127508,129,255,8,01,ac,05,5e,08,1e,75,26\n2014-08-15T19:02:03.862Z,4,129038,43,255,27,01,b8,83,92,0e,43,bc,e0,0e,0b,c8,75,23,11,8e,c1,05,00,08,66,00,59,d3,00,00,00,fe\n2014-08-15T19:02:03.872Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:03.875Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:03.877Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:03.880Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:03.902Z,4,129038,43,255,27,01,08,7b,ba,0d,3d,d1,94,0e,b6,5f,bd,23,0d,37,a0,81,01,08,66,00,37,a0,00,00,00,fe\n2014-08-15T19:02:03.905Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:02:03.976Z,3,127508,129,255,8,01,af,05,7e,08,1e,75,26\n2014-08-15T19:02:03.994Z,4,129039,43,255,26,12,44,11,b6,0d,ed,3d,be,0e,b2,be,98,23,0f,be,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:04.004Z,3,129291,160,255,8,ff,fc,82,57,29,00,ff,ff\n2014-08-15T19:02:04.102Z,4,129038,43,255,27,01,28,f5,77,10,f3,c4,9f,0e,b5,6f,74,23,08,d0,51,85,00,96,80,09,95,47,ff,7f,00,fe\n2014-08-15T19:02:04.142Z,4,129038,43,255,27,01,58,eb,ad,0e,9f,62,5c,0e,4e,50,8f,23,13,96,2f,d9,01,91,08,08,5c,2e,00,00,00,fe\n2014-08-15T19:02:04.182Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:04.207Z,3,130577,160,255,14,c0,06,c9,83,60,01,ff,ff,ff,ff,82,57,29,00\n2014-08-15T19:02:04.209Z,2,129025,160,255,8,33,be,98,23,e4,3e,be,0e\n2014-08-15T19:02:04.220Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:04.222Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:04.225Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:02:04.254Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:04.282Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:04.301Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:04.330Z,3,127508,129,255,8,01,ac,05,25,08,1e,75,26\n2014-08-15T19:02:04.340Z,2,130306,115,255,8,00,fa,02,1a,22,f2,ff,ff\n2014-08-15T19:02:04.366Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:04.406Z,2,129026,160,255,8,ff,fc,66,84,62,01,ff,ff\n2014-08-15T19:02:04.514Z,3,128267,115,255,8,00,17,0c,00,00,ff,ff,ff\n2014-08-15T19:02:04.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:04.544Z,6,129540,160,255,135,4e,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:04.546Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:02:04.546Z,7,127506,129,255,9,27,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:04.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:04.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:04.710Z,3,129029,160,255,43,07,a9,3f,fc,f8,d7,28,00,a2,51,84,86,b9,49,08,00,aa,8c,d1,68,c2,6e,03,20,65,11,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:04.712Z,3,129033,160,255,8,a9,3f,fc,f8,d7,28,b4,00\n2014-08-15T19:02:04.810Z,3,126992,160,255,8,ff,ff,a9,3f,fc,f8,d7,28\n2014-08-15T19:02:04.842Z,4,129038,43,255,27,03,58,bd,7f,10,e2,9f,ba,0e,f3,02,71,23,13,3e,7d,00,00,00,00,00,ab,96,00,00,05,fe\n2014-08-15T19:02:04.870Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:04.873Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:04.875Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:04.879Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:04.912Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:02:04.922Z,4,129038,43,255,27,01,20,f6,7e,10,c8,34,c7,0e,c5,ea,7f,23,11,39,31,05,00,c6,08,08,13,c7,00,00,0f,fe\n2014-08-15T19:02:05.002Z,4,129039,43,255,26,12,44,11,b6,0d,25,3d,be,0e,86,bd,98,23,13,60,86,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:05.012Z,3,129291,160,255,8,ff,fc,59,4e,2c,00,ff,ff\n2014-08-15T19:02:05.034Z,3,127508,129,255,8,01,ae,05,44,08,1e,75,27\n2014-08-15T19:02:05.042Z,4,129038,43,255,27,01,b8,f5,67,12,c5,84,8b,0e,3e,0a,90,23,10,68,2d,d1,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:02:05.082Z,4,129038,43,255,27,01,d2,ff,4a,10,3b,8a,b1,0e,e8,01,71,23,11,a4,ec,00,00,4d,c0,08,37,91,03,00,00,fe\n2014-08-15T19:02:05.163Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:05.202Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:05.205Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:05.207Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:05.211Z,3,130577,160,255,14,c0,07,66,84,62,01,ff,ff,ff,ff,59,4e,2c,00\n2014-08-15T19:02:05.215Z,2,129025,160,255,8,fd,bc,98,23,31,3e,be,0e\n2014-08-15T19:02:05.223Z,4,129038,43,255,27,01,40,4e,b9,0d,95,e9,05,0f,38,44,d8,23,0d,89,81,03,03,b4,08,08,89,81,00,00,00,fe\n2014-08-15T19:02:05.261Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:05.289Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:05.303Z,4,129038,43,255,27,01,c8,d4,7f,10,40,ef,df,0e,a2,ba,c6,23,11,c4,7c,2d,04,49,c0,00,20,7e,00,00,00,fe\n2014-08-15T19:02:05.309Z,2,130306,115,255,8,00,65,02,60,1f,f2,ff,ff\n2014-08-15T19:02:05.311Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:05.345Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:05.380Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:05.384Z,4,129038,43,255,27,01,e0,53,7f,10,e0,d9,c8,0e,68,ae,ac,23,18,49,88,c4,05,08,66,00,ac,87,00,00,00,fe\n2014-08-15T19:02:05.414Z,2,129026,160,255,8,ff,fc,cf,84,66,01,ff,ff\n2014-08-15T19:02:05.482Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:05.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:05.512Z,3,128267,115,255,8,00,51,0c,00,00,ff,ff,ff\n2014-08-15T19:02:05.534Z,6,129540,160,255,135,4f,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:05.536Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:02:05.539Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:05.545Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:05.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,35,02,03,00,01,01,04,00,00,00\n2014-08-15T19:02:05.591Z,3,127508,129,255,8,01,af,05,53,08,1e,75,27\n2014-08-15T19:02:05.606Z,4,129041,43,255,48,15,ae,54,2c,3b,59,8e,ee,0e,80,3b,86,23,04,14,00,14,00,0a,00,0a,00,16,02,e2,00,16,01,42,55,4f,59,2d,31,36,33,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:05.715Z,3,129029,160,255,43,08,a9,3f,16,20,d8,28,00,4a,40,f1,3c,b9,49,08,00,60,da,e1,3b,c2,6e,03,a0,2c,10,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:05.718Z,3,129033,160,255,8,a9,3f,16,20,d8,28,b4,00\n2014-08-15T19:02:05.811Z,3,126992,160,255,8,ff,ff,a9,3f,16,20,d8,28\n2014-08-15T19:02:05.867Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:05.871Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:05.873Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:05.876Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:05.914Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,2c,f7,c7,23,00,d0,15,d8,28,da,80,00,a9,3f,10,00,fc\n2014-08-15T19:02:05.924Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:06.015Z,4,129039,43,255,26,12,44,11,b6,0d,5d,3c,be,0e,49,bc,98,23,17,2c,86,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:06.027Z,3,129291,160,255,8,ff,fc,21,71,1d,00,ff,ff\n2014-08-15T19:02:06.179Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:02:06.216Z,3,130577,160,255,14,c0,08,cf,84,66,01,ff,ff,ff,ff,21,71,1d,00\n2014-08-15T19:02:06.218Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:06.222Z,2,129025,160,255,8,c1,bb,98,23,70,3d,be,0e\n2014-08-15T19:02:06.224Z,3,127508,129,255,8,01,ae,05,2b,08,1e,75,27\n2014-08-15T19:02:06.225Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:02:06.225Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:06.272Z,2,130306,115,255,8,00,8e,02,54,1d,f2,ff,ff\n2014-08-15T19:02:06.292Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:06.318Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:06.352Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:06.384Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:06.409Z,2,129026,160,255,8,ff,fc,26,85,65,01,ff,ff\n2014-08-15T19:02:06.457Z,3,127508,129,255,8,01,ae,05,2a,08,1e,75,27\n2014-08-15T19:02:06.503Z,4,129038,43,255,27,01,10,04,1a,0e,fd,1c,02,0f,f7,47,af,23,14,2b,b0,9c,02,c2,08,08,9f,b2,00,00,00,fe\n2014-08-15T19:02:06.512Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:06.514Z,3,128267,115,255,8,00,69,0c,00,00,ff,ff,ff\n2014-08-15T19:02:06.547Z,6,129540,160,255,135,50,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,28,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:06.550Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:06.552Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:06.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:06.679Z,3,127508,129,255,8,01,af,05,23,08,1e,75,27\n2014-08-15T19:02:06.694Z,4,129038,43,255,27,01,c8,27,16,0e,05,93,66,0e,85,b7,93,23,11,56,30,50,03,08,66,00,b9,2f,0a,00,00,fe\n2014-08-15T19:02:06.722Z,3,129029,160,255,43,09,a9,3f,58,47,d8,28,00,78,6a,ff,f4,b8,49,08,00,aa,5d,69,0f,c2,6e,03,d0,a1,10,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:06.724Z,3,129033,160,255,8,a9,3f,58,47,d8,28,b4,00\n2014-08-15T19:02:06.734Z,7,127506,129,255,9,28,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:06.762Z,3,127508,129,255,8,01,ae,05,11,08,1e,75,28\n2014-08-15T19:02:06.817Z,3,126992,160,255,8,ff,ff,a9,3f,58,47,d8,28\n2014-08-15T19:02:06.865Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:06.868Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:06.871Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:06.873Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:06.877Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,a0,5f,6e,23,18,c6,04,00,00,39,c0,00,ce,ab,00,00,00,fe\n2014-08-15T19:02:06.920Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:02:07.012Z,3,129291,160,255,8,ff,fc,b4,3d,0f,00,ff,ff\n2014-08-15T19:02:07.023Z,4,129039,43,255,26,12,44,11,b6,0d,73,3b,be,0e,1d,bb,98,23,1b,3e,86,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:07.068Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:07.159Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:07.196Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:07.199Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:07.201Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:07.214Z,3,130577,160,255,14,c0,09,26,85,65,01,ff,ff,ff,ff,b4,3d,0f,00\n2014-08-15T19:02:07.216Z,2,129025,160,255,8,8c,ba,98,23,b1,3c,be,0e\n2014-08-15T19:02:07.228Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:07.235Z,4,129041,43,255,48,15,b1,54,2c,3b,02,4a,b4,0e,88,6e,87,23,08,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:07.259Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:07.281Z,2,130306,115,255,8,00,db,02,0e,20,f2,ff,ff\n2014-08-15T19:02:07.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:07.321Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:07.412Z,2,129026,160,255,8,ff,fc,89,84,66,01,ff,ff\n2014-08-15T19:02:07.508Z,3,128267,115,255,8,00,38,0c,00,00,ff,ff,ff\n2014-08-15T19:02:07.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:07.541Z,6,129540,160,255,135,51,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:07.543Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:02:07.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:07.549Z,4,129038,43,255,27,01,88,d6,d0,0c,3c,b5,e6,0e,40,99,b8,23,1d,1a,98,3c,03,b2,08,08,65,99,00,00,00,fe\n2014-08-15T19:02:07.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,23,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:07.635Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:07.724Z,3,129029,160,255,43,0a,a9,3f,4a,6e,d8,28,00,7e,29,1f,ac,b8,49,08,00,fe,d4,9f,ea,c1,6e,03,f0,60,13,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:07.726Z,3,129033,160,255,8,a9,3f,4a,6e,d8,28,b4,00\n2014-08-15T19:02:07.812Z,3,126992,160,255,8,ff,ff,a9,3f,4a,6e,d8,28\n2014-08-15T19:02:07.863Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:07.865Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:07.868Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:07.870Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:07.914Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:08.020Z,3,129291,160,255,8,ff,fc,45,69,20,00,ff,ff\n2014-08-15T19:02:08.024Z,4,129038,43,255,27,01,b8,53,a6,0c,d3,d0,7d,0e,ea,c5,9f,23,24,5a,ac,73,02,29,01,09,d9,ad,00,00,00,fe\n2014-08-15T19:02:08.063Z,3,127508,129,255,8,01,ae,05,f2,07,1e,75,28\n2014-08-15T19:02:08.063Z,4,129039,43,255,26,12,44,11,b6,0d,ee,3a,be,0e,d0,b9,98,23,1f,ec,83,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:08.103Z,4,129039,43,255,26,12,ec,d7,b5,0d,7e,fd,bb,0e,6a,af,90,23,1e,55,81,96,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:08.173Z,4,129038,43,255,27,01,68,e2,20,12,5b,06,00,0f,aa,84,ad,23,20,08,b0,fd,01,2f,81,08,9f,b2,00,00,00,fe\n2014-08-15T19:02:08.175Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:08.212Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:08.215Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:08.217Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:08.221Z,3,130577,160,255,14,c0,0a,89,84,66,01,ff,ff,ff,ff,45,69,20,00\n2014-08-15T19:02:08.224Z,2,129025,160,255,8,53,b9,98,23,13,3c,be,0e\n2014-08-15T19:02:08.238Z,2,130306,115,255,8,00,a2,02,f7,1b,f2,ff,ff\n2014-08-15T19:02:08.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:08.295Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:08.315Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:08.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:08.416Z,2,129026,160,255,8,ff,fc,78,84,67,01,ff,ff\n2014-08-15T19:02:08.510Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:08.512Z,3,128267,115,255,8,00,97,0c,00,00,ff,ff,ff\n2014-08-15T19:02:08.544Z,6,129540,160,255,135,52,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:08.547Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:08.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:08.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:08.634Z,3,127508,129,255,8,01,af,05,15,08,1e,75,28\n2014-08-15T19:02:08.663Z,3,127508,129,255,8,01,ac,05,c7,07,1e,75,28\n2014-08-15T19:02:08.728Z,3,129029,160,255,43,0b,a9,3f,3c,95,d8,28,00,ba,4d,03,63,b8,49,08,00,d8,87,77,c7,c1,6e,03,e0,aa,15,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:08.730Z,3,129033,160,255,8,a9,3f,3c,95,d8,28,b4,00\n2014-08-15T19:02:08.762Z,4,129038,43,255,27,01,58,43,c9,0e,d5,59,d9,0e,ac,08,aa,23,24,1a,ad,cb,02,b7,08,08,2b,ad,00,00,00,fe\n2014-08-15T19:02:08.794Z,3,127508,129,255,8,01,ae,05,cb,07,1e,75,28\n2014-08-15T19:02:08.816Z,3,126992,160,255,8,ff,ff,a9,3f,3c,95,d8,28\n2014-08-15T19:02:08.860Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:08.862Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:08.865Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:08.867Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:08.918Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:08.966Z,4,129041,43,255,48,15,b7,54,2c,3b,7f,70,9a,0e,be,f2,76,23,10,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,36,39,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:09.021Z,3,129291,160,255,8,ff,fc,8e,6d,1e,00,ff,ff\n2014-08-15T19:02:09.053Z,4,129039,43,255,26,12,44,11,b6,0d,37,3a,be,0e,93,b8,98,23,23,55,84,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:09.093Z,4,129038,43,255,27,01,92,12,4b,10,c3,86,fe,0e,85,92,ae,23,20,94,b0,bb,02,d6,08,00,42,b1,03,00,00,fe\n2014-08-15T19:02:09.103Z,7,127506,129,255,9,29,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:09.148Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:09.162Z,4,129038,43,255,27,01,6c,70,4a,10,23,d5,ff,0e,b6,97,a3,23,1f,85,35,bf,01,fc,08,00,d0,33,03,00,00,fe\n2014-08-15T19:02:09.186Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:09.188Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:09.190Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:09.207Z,2,130306,115,255,8,00,ad,02,0e,20,f2,ff,ff\n2014-08-15T19:02:09.224Z,2,129025,160,255,8,19,b8,98,23,7c,3b,be,0e\n2014-08-15T19:02:09.224Z,3,130577,160,255,14,c0,0b,78,84,67,01,ff,ff,ff,ff,8e,6d,1e,00\n2014-08-15T19:02:09.230Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:09.263Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:09.294Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:09.316Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:09.367Z,6,129794,43,255,75,05,08,ad,c4,0d,b2,03,70,00,4f,4a,4e,4d,20,20,20,41,4d,41,5a,4f,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1e,72,01,50,00,28,00,22,01,e9,40,00,6e,0a,1e,08,02,54,41,4c,4c,49,4e,4e,20,4d,49,49,44,55,52,41,4e,4e,41,20,20,05,e1\n2014-08-15T19:02:09.418Z,2,129026,160,255,8,ff,fc,e0,84,66,01,ff,ff\n2014-08-15T19:02:09.515Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:09.518Z,3,128267,115,255,8,00,c8,0c,00,00,ff,ff,ff\n2014-08-15T19:02:09.520Z,3,127508,129,255,8,01,b1,05,0f,08,1e,75,29\n2014-08-15T19:02:09.557Z,6,129540,160,255,135,53,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:09.559Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:09.561Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:09.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:09.623Z,4,129038,43,255,27,01,e0,53,7f,10,5d,c8,c8,0e,0e,96,ac,23,2c,38,88,bf,05,39,c0,01,ac,87,00,00,00,fe\n2014-08-15T19:02:09.673Z,4,129038,43,255,27,01,88,44,7d,10,d0,22,c7,0e,87,ec,7f,23,20,be,84,05,00,21,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:09.724Z,3,129029,160,255,43,0c,a9,3f,7e,bc,d8,28,00,b2,12,4d,1b,b8,49,08,00,c2,b7,b8,9e,c1,6e,03,a0,7f,17,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:09.726Z,3,129033,160,255,8,a9,3f,7e,bc,d8,28,b4,00\n2014-08-15T19:02:09.822Z,3,126992,160,255,8,ff,ff,a9,3f,7e,bc,d8,28\n2014-08-15T19:02:09.857Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,e6,39,01,00\n2014-08-15T19:02:09.860Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:09.862Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:09.865Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:09.924Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:10.018Z,3,129291,160,255,8,ff,fc,a4,8a,0b,00,ff,ff\n2014-08-15T19:02:10.063Z,4,129039,43,255,26,12,44,11,b6,0d,7f,39,be,0e,67,b7,98,23,27,83,86,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:10.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,b2,d8,28,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:02:10.164Z,2,130306,115,255,8,00,93,02,c9,22,f2,ff,ff\n2014-08-15T19:02:10.171Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:10.183Z,4,129038,43,255,27,01,fc,ff,e9,25,0d,2f,2b,0f,98,9e,be,23,25,7d,bb,cb,02,ae,08,08,7c,bb,32,00,00,fe\n2014-08-15T19:02:10.185Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:10.222Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:10.248Z,3,130577,160,255,14,c0,0c,e0,84,66,01,ff,ff,ff,ff,a4,8a,0b,00\n2014-08-15T19:02:10.250Z,2,129025,160,255,8,e5,b6,98,23,cd,3a,be,0e\n2014-08-15T19:02:10.260Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:10.262Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:10.265Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:10.318Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:10.321Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:10.349Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:10.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,b2,d8,28,81,81,0b,a9,3f,00,00,fc\n2014-08-15T19:02:10.377Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:10.403Z,4,129038,43,255,27,01,b0,79,7a,10,a7,e6,d3,0e,81,00,81,23,20,8d,d9,e3,01,82,01,09,2a,da,0a,00,00,fe\n2014-08-15T19:02:10.421Z,2,129026,160,255,8,ff,fc,43,84,67,01,ff,ff\n2014-08-15T19:02:10.443Z,4,129038,43,255,27,01,10,dc,6d,0f,53,67,61,0e,6c,d3,9c,23,29,71,ad,83,02,84,81,00,88,ae,14,00,00,fe\n2014-08-15T19:02:10.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:10.526Z,3,128267,115,255,8,00,11,0c,00,00,ff,ff,ff\n2014-08-15T19:02:10.549Z,6,129540,160,255,135,54,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,42,c0,d0,07,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:10.551Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:02:10.553Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:10.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,1f,02,03,00,01,01,04,00,00,00\n2014-08-15T19:02:10.603Z,4,129038,43,255,27,01,98,69,b3,0e,ca,9f,91,0e,7c,ed,a0,23,21,37,af,f8,01,e3,08,00,42,b1,00,00,00,fe\n2014-08-15T19:02:10.713Z,4,129038,43,255,27,01,b8,f5,67,12,02,aa,8b,0e,3a,13,90,23,28,68,2d,d1,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:02:10.732Z,3,129029,160,255,43,0d,a9,3f,98,e3,d8,28,00,16,a2,1f,d3,b7,49,08,00,16,2f,ef,79,c1,6e,03,70,7b,19,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:10.734Z,3,129033,160,255,8,a9,3f,98,e3,d8,28,b4,00\n2014-08-15T19:02:10.739Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:10.794Z,3,127508,129,255,8,01,b0,05,f5,07,1e,75,29\n2014-08-15T19:02:10.827Z,3,126992,160,255,8,ff,ff,a9,3f,98,e3,d8,28\n2014-08-15T19:02:10.855Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,73,22,0a,01,f9,39,01,00\n2014-08-15T19:02:10.857Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:10.861Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:10.863Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:10.923Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:10.967Z,3,127508,129,255,8,01,af,05,c9,07,1e,75,29\n2014-08-15T19:02:11.021Z,3,129291,160,255,8,ff,fc,62,72,1c,00,ff,ff\n2014-08-15T19:02:11.024Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:11.032Z,4,129039,43,255,26,12,9e,d6,c3,0d,65,56,c5,0e,4e,7d,94,23,2a,dc,50,3e,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:11.084Z,4,129039,43,255,26,12,44,11,b6,0d,e9,38,be,0e,2a,b6,98,23,2b,95,83,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:11.142Z,2,130306,115,255,8,00,c1,02,03,1e,f2,ff,ff\n2014-08-15T19:02:11.183Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:11.218Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:11.228Z,3,130577,160,255,14,c0,0d,43,84,67,01,ff,ff,ff,ff,62,72,1c,00\n2014-08-15T19:02:11.232Z,2,129025,160,255,8,af,b5,98,23,2f,3a,be,0e\n2014-08-15T19:02:11.255Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:11.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:11.260Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:11.327Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:02:11.329Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:11.363Z,4,129038,43,255,27,01,e0,53,7f,10,d9,c4,c8,0e,3d,91,ac,23,30,5b,88,ba,05,a5,01,09,fd,86,ff,7f,00,fe\n2014-08-15T19:02:11.378Z,3,127508,129,255,8,01,ae,05,ac,07,1e,75,29\n2014-08-15T19:02:11.424Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:11.426Z,2,129026,160,255,8,ff,fc,ec,83,66,01,ff,ff\n2014-08-15T19:02:11.432Z,4,129038,43,255,27,01,d0,e7,da,0d,d9,9a,33,0f,e3,0f,c4,23,31,2f,02,05,00,a9,81,08,d9,bc,00,00,00,fe\n2014-08-15T19:02:11.453Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:11.506Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:11.508Z,3,128267,115,255,8,00,42,0c,00,00,ff,ff,ff\n2014-08-15T19:02:11.512Z,4,129038,43,255,27,03,b8,24,5d,16,8f,63,b1,0e,b8,d7,70,23,24,11,00,00,00,00,00,08,b8,5c,00,00,05,fe\n2014-08-15T19:02:11.538Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:11.554Z,6,129540,160,255,135,55,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,e4,0c,00,00,00,00,f2,1c,d1,06,42,c0,98,08,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:11.557Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:02:11.559Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:11.563Z,4,129038,43,255,27,01,c8,d4,7f,10,4c,ed,df,0e,c8,a3,c6,23,29,a1,7c,33,04,ad,81,09,72,7d,00,00,00,fe\n2014-08-15T19:02:11.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,45,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:11.644Z,3,127508,129,255,8,01,b0,05,ce,07,1e,75,29\n2014-08-15T19:02:11.737Z,3,129029,160,255,43,0e,a9,3f,b2,0a,d9,28,00,e6,fb,7a,8a,b7,49,08,00,fc,58,09,5a,c1,6e,03,90,3a,1c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:11.739Z,3,129033,160,255,8,a9,3f,b2,0a,d9,28,b4,00\n2014-08-15T19:02:11.834Z,3,126992,160,255,8,ff,ff,a9,3f,b2,0a,d9,28\n2014-08-15T19:02:11.853Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:11.855Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:11.858Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:11.860Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:11.925Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:12.027Z,3,129291,160,255,8,ff,fc,62,72,1c,00,ff,ff\n2014-08-15T19:02:12.029Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:12.092Z,4,129039,43,255,26,12,44,11,b6,0d,85,38,be,0e,dd,b4,98,23,2f,b8,83,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:12.132Z,4,129038,43,255,27,03,c0,1d,7b,10,93,a5,dd,0e,53,84,76,23,2c,c8,bf,00,00,00,00,02,e6,82,00,00,05,fe\n2014-08-15T19:02:12.132Z,7,127506,129,255,9,2a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:12.182Z,4,129039,43,255,26,12,66,58,b6,0d,b9,41,bc,0e,40,a4,93,23,2f,61,83,68,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:12.186Z,2,130306,115,255,8,00,b7,02,c9,22,f2,ff,ff\n2014-08-15T19:02:12.210Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:12.234Z,3,130577,160,255,14,c0,0e,ec,83,66,01,ff,ff,ff,ff,50,5b,16,00\n2014-08-15T19:02:12.237Z,2,129025,160,255,8,77,b4,98,23,a6,39,be,0e\n2014-08-15T19:02:12.243Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:12.281Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:12.289Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:12.290Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:12.326Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:12.334Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:12.354Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:12.430Z,2,129026,160,255,8,ff,fc,72,83,67,01,ff,ff\n2014-08-15T19:02:12.433Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:12.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:12.507Z,3,128267,115,255,8,00,b8,0b,00,00,ff,ff,ff\n2014-08-15T19:02:12.533Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:12.556Z,6,129540,160,255,135,56,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:12.559Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:12.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,45,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:12.582Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,fa,31,d3,23,00,30,00,d9,28,75,c0,00,a9,3f,10,00,fc\n2014-08-15T19:02:12.741Z,3,129029,160,255,43,0f,a9,3f,cc,31,d9,28,00,ec,ba,9a,41,b7,49,08,00,68,be,c4,3b,c1,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:12.744Z,3,129033,160,255,8,a9,3f,cc,31,d9,28,b4,00\n2014-08-15T19:02:12.807Z,3,127508,129,255,8,01,af,05,ac,07,1e,75,2a\n2014-08-15T19:02:12.828Z,3,126992,160,255,8,ff,ff,a9,3f,cc,31,d9,28\n2014-08-15T19:02:12.850Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:12.852Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:12.856Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:12.858Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:12.931Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:13.015Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:13.032Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,e6,68,e2,23,00,40,27,d9,28,e5,81,08,a9,3f,10,00,fc\n2014-08-15T19:02:13.035Z,3,129291,160,255,8,ff,fc,50,5b,16,00,ff,ff\n2014-08-15T19:02:13.082Z,4,129038,43,255,27,01,08,99,b5,0d,7b,ca,cb,0e,52,8b,a5,23,38,f3,48,49,01,dd,08,08,f3,48,00,00,00,fe\n2014-08-15T19:02:13.100Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:13.102Z,3,127508,129,255,8,01,ac,05,72,07,1e,75,2a\n2014-08-15T19:02:13.122Z,4,129039,43,255,26,12,44,11,b6,0d,ef,37,be,0e,a0,b3,98,23,33,8f,82,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:13.138Z,2,130306,115,255,8,00,b7,02,df,17,f2,ff,ff\n2014-08-15T19:02:13.164Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:13.200Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:13.222Z,4,129038,43,255,27,01,38,5e,49,16,9b,7a,ca,0e,a2,bf,76,23,31,1a,92,00,00,2e,40,03,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:13.238Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:13.242Z,3,130577,160,255,14,c0,0f,72,83,67,01,ff,ff,ff,ff,56,67,21,00\n2014-08-15T19:02:13.243Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:13.244Z,2,129025,160,255,8,3e,b3,98,23,24,39,be,0e\n2014-08-15T19:02:13.247Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:13.268Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:13.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:13.331Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:13.382Z,4,129038,43,255,27,01,28,f5,77,10,75,cb,9f,0e,b5,6f,74,23,30,c4,4f,85,00,3c,c0,01,38,46,ff,7f,00,fe\n2014-08-15T19:02:13.432Z,4,129038,43,255,27,01,20,f6,7e,10,05,36,c7,0e,f7,ea,7f,23,35,39,31,05,00,df,08,00,13,c7,00,00,0f,fe\n2014-08-15T19:02:13.437Z,2,129026,160,255,8,ff,fc,60,83,67,01,ff,ff\n2014-08-15T19:02:13.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:13.507Z,3,128267,115,255,8,00,d4,0b,00,00,ff,ff,ff\n2014-08-15T19:02:13.512Z,4,129038,43,255,27,01,e0,53,7f,10,b1,ba,c8,0e,a8,82,ac,23,38,15,88,ba,05,f7,01,01,fd,86,ff,7f,00,fe\n2014-08-15T19:02:13.534Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:13.552Z,4,129038,43,255,27,01,c8,27,16,0e,8d,bf,66,0e,a8,bf,93,23,31,33,30,4b,03,3a,c0,08,b9,2f,0a,00,00,fe\n2014-08-15T19:02:13.566Z,6,129540,160,255,135,57,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:13.568Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:13.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,42,02,02,00,00,00,04,00,00,00\n2014-08-15T19:02:13.655Z,3,127508,129,255,8,01,ae,05,83,07,1e,75,2a\n2014-08-15T19:02:13.672Z,4,129038,43,255,27,01,88,d6,d0,0c,79,9d,e6,0e,7e,8c,b8,23,35,09,98,3c,03,08,66,00,65,99,00,00,00,fe\n2014-08-15T19:02:13.743Z,3,129029,160,255,43,10,a9,3f,e6,58,d9,28,00,28,df,7e,f8,b6,49,08,00,e2,1d,56,1c,c1,6e,03,c0,91,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:13.746Z,3,129033,160,255,8,a9,3f,e6,58,d9,28,b4,00\n2014-08-15T19:02:13.838Z,3,126992,160,255,8,ff,ff,a9,3f,e6,58,d9,28\n2014-08-15T19:02:13.847Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:13.850Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:13.854Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:13.855Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:13.930Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:14.033Z,3,129291,160,255,8,ff,fc,56,67,21,00,ff,ff\n2014-08-15T19:02:14.050Z,2,130306,115,255,8,00,32,03,32,26,f2,ff,ff\n2014-08-15T19:02:14.122Z,4,129039,43,255,26,12,44,11,b6,0d,59,37,be,0e,64,b2,98,23,37,32,84,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:14.156Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:14.188Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:02:14.188Z,3,127508,129,255,8,01,b1,05,b1,07,1e,75,2a\n2014-08-15T19:02:14.232Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:14.234Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:14.236Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:02:14.239Z,3,130577,160,255,14,c0,10,60,83,67,01,ff,ff,ff,ff,56,67,21,00\n2014-08-15T19:02:14.241Z,2,129025,160,255,8,04,b2,98,23,9d,38,be,0e\n2014-08-15T19:02:14.262Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:14.294Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:14.343Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:14.436Z,2,129026,160,255,8,ff,fc,b8,83,64,01,ff,ff\n2014-08-15T19:02:14.506Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:14.508Z,3,128267,115,255,8,00,d4,0b,00,00,ff,ff,ff\n2014-08-15T19:02:14.534Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:14.564Z,6,129540,160,255,135,58,ff,0b,20,b9,2f,09,98,b8,0b,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:14.566Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:14.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:14.740Z,3,129029,160,255,43,11,a9,3f,d8,7f,d9,28,00,b4,d9,3f,b1,b6,49,08,00,00,30,c8,f7,c0,6e,03,40,59,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:14.743Z,3,129033,160,255,8,a9,3f,d8,7f,d9,28,b4,00\n2014-08-15T19:02:14.811Z,3,127508,129,255,8,01,ae,05,5c,07,1e,75,2a\n2014-08-15T19:02:14.836Z,3,126992,160,255,8,ff,ff,a9,3f,d8,7f,d9,28\n2014-08-15T19:02:14.845Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:14.849Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:14.851Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:14.852Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:14.920Z,7,127506,129,255,9,2b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:14.941Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:02:15.042Z,3,129291,160,255,8,ff,fc,93,56,21,00,ff,ff\n2014-08-15T19:02:15.049Z,2,130306,115,255,8,00,c1,02,76,14,f2,ff,ff\n2014-08-15T19:02:15.112Z,4,129039,43,255,26,12,0a,ec,b5,0d,43,97,c9,0e,db,b7,92,23,38,ed,50,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:15.139Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:15.154Z,4,129039,43,255,26,12,44,11,b6,0d,a2,36,be,0e,38,b1,98,23,3b,cf,84,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:15.174Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:15.212Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:15.216Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:15.218Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:15.240Z,3,130577,160,255,14,c0,11,b8,83,64,01,ff,ff,ff,ff,93,56,21,00\n2014-08-15T19:02:15.242Z,2,129025,160,255,8,d2,b0,98,23,00,38,be,0e\n2014-08-15T19:02:15.271Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:15.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:15.341Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:15.348Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:15.435Z,2,129026,160,255,8,ff,fc,4f,83,68,01,ff,ff\n2014-08-15T19:02:15.462Z,4,129038,43,255,27,01,e0,53,7f,10,eb,b3,c8,0e,f4,78,ac,23,40,f2,87,ba,05,39,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:02:15.467Z,3,127508,129,255,8,01,ae,05,58,07,1e,75,2b\n2014-08-15T19:02:15.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:15.506Z,3,128267,115,255,8,00,a9,0b,00,00,ff,ff,ff\n2014-08-15T19:02:15.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:15.534Z,4,129038,43,255,27,01,d2,ff,4a,10,4c,8a,b1,0e,d8,01,71,23,3d,a4,ec,00,00,43,82,01,37,91,21,00,00,fe\n2014-08-15T19:02:15.575Z,6,129540,160,255,135,59,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,98,08,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,b8,0b,00,00,00,00,f2\n2014-08-15T19:02:15.577Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:02:15.583Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:15.749Z,3,129029,160,255,43,12,a9,3f,de,a6,d9,28,00,84,33,9b,68,b6,49,08,00,60,1e,41,d6,c0,6e,03,90,8d,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:15.751Z,3,129033,160,255,8,a9,3f,de,a6,d9,28,b4,00\n2014-08-15T19:02:15.803Z,4,129038,43,255,27,01,10,04,1a,0e,5f,f1,01,0f,50,47,af,23,38,83,b0,9c,02,36,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:02:15.843Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:15.846Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:15.848Z,3,126992,160,255,8,ff,ff,a9,3f,de,a6,d9,28\n2014-08-15T19:02:15.850Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:15.853Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:15.922Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,70,9c,d9,28,ad,c0,08,a9,3f,10,00,fc\n2014-08-15T19:02:15.946Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:02:16.044Z,3,129291,160,255,8,ff,fc,71,5b,1b,00,ff,ff\n2014-08-15T19:02:16.144Z,2,130306,115,255,8,00,6b,03,1a,22,f2,ff,ff\n2014-08-15T19:02:16.153Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:16.154Z,4,129039,43,255,26,12,44,11,b6,0d,1d,36,be,0e,fb,af,98,23,3f,b8,83,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:16.171Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:16.208Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:16.208Z,4,129038,43,255,27,01,fc,ff,e9,25,03,15,2b,0f,98,9e,be,23,3d,2b,bc,cb,02,1a,40,01,7c,bb,00,00,00,fe\n2014-08-15T19:02:16.241Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:16.243Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:16.246Z,3,130577,160,255,14,c0,12,4f,83,68,01,ff,ff,ff,ff,71,5b,1b,00\n2014-08-15T19:02:16.248Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:16.251Z,2,129025,160,255,8,9a,af,98,23,70,37,be,0e\n2014-08-15T19:02:16.274Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:16.311Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:16.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:16.337Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:16.445Z,2,129026,160,255,8,ff,fc,f8,82,65,01,ff,ff\n2014-08-15T19:02:16.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:16.507Z,3,128267,115,255,8,00,4b,0c,00,00,ff,ff,ff\n2014-08-15T19:02:16.522Z,3,127508,129,255,8,01,ae,05,59,07,1e,75,2b\n2014-08-15T19:02:16.533Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:16.565Z,6,129540,160,255,135,5a,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,ac,0d,00,00,00,00,f2\n2014-08-15T19:02:16.568Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:02:16.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:16.750Z,3,129029,160,255,43,13,a9,3f,16,ce,d9,28,00,3a,1c,de,1d,b6,49,08,00,e6,f4,14,ba,c0,6e,03,a0,43,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:16.752Z,3,129033,160,255,8,a9,3f,16,ce,d9,28,b4,00\n2014-08-15T19:02:16.793Z,4,129039,43,255,26,12,c4,e2,c3,0d,a7,4a,c1,0e,a2,e6,95,23,40,9c,54,62,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:02:16.841Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:16.846Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:16.846Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:16.849Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:16.851Z,3,126992,160,255,8,ff,ff,a9,3f,16,ce,d9,28\n2014-08-15T19:02:16.940Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:02:17.033Z,4,129038,43,255,27,01,c8,d4,7f,10,58,eb,df,0e,10,8d,c6,23,41,15,7c,33,04,dc,08,00,72,7d,00,00,00,fe\n2014-08-15T19:02:17.042Z,3,129291,160,255,8,ff,fc,73,4f,3c,00,ff,ff\n2014-08-15T19:02:17.073Z,4,129038,43,255,27,01,b8,f5,67,12,b1,d5,8b,0e,73,1d,90,23,40,68,2d,d1,03,65,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:02:17.102Z,3,127508,129,255,8,01,ac,05,33,07,1e,75,2b\n2014-08-15T19:02:17.103Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:17.113Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,f9,5e,6e,23,40,25,c1,00,00,39,c0,08,1f,ab,00,00,00,fe\n2014-08-15T19:02:17.142Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:17.144Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:17.146Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:17.153Z,4,129038,43,255,27,01,b8,53,a6,0c,43,ab,7d,0e,cb,bf,9f,23,48,14,ac,73,02,7f,82,01,d9,ad,00,00,00,fe\n2014-08-15T19:02:17.166Z,2,130306,115,255,8,00,9d,02,31,17,f2,ff,ff\n2014-08-15T19:02:17.193Z,4,129039,43,255,26,12,44,11,b6,0d,97,35,be,0e,be,ae,98,23,43,3e,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:17.195Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:17.249Z,3,130577,160,255,14,c0,13,f8,82,65,01,ff,ff,ff,ff,73,4f,3c,00\n2014-08-15T19:02:17.251Z,2,129025,160,255,8,59,ae,98,23,f7,36,be,0e\n2014-08-15T19:02:17.253Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:17.279Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:17.307Z,6,129794,43,255,75,05,c8,99,74,10,00,00,00,00,45,53,59,32,31,30,33,50,56,4c,2d,31,30,33,5f,50,49,4b,4b,45,52,20,20,20,20,20,20,33,68,01,3c,00,1e,00,be,00,34,40,00,00,00,00,96,00,50,41,54,52,4f,4c,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:02:17.343Z,4,129038,43,255,27,01,68,e2,20,12,95,e6,ff,0e,ab,81,ad,23,44,71,b0,fd,01,83,02,01,9f,b2,00,00,00,fe\n2014-08-15T19:02:17.345Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:17.439Z,2,129026,160,255,8,ff,fc,72,83,66,01,ff,ff\n2014-08-15T19:02:17.512Z,3,127508,129,255,8,01,b0,05,74,07,1e,75,2b\n2014-08-15T19:02:17.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:17.523Z,3,128267,115,255,8,00,1d,0c,00,00,ff,ff,ff\n2014-08-15T19:02:17.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:17.563Z,4,129038,43,255,27,01,e0,53,7f,10,f4,ac,c8,0e,30,6f,ac,23,48,15,88,b4,05,c4,08,00,ac,87,ff,7f,00,fe\n2014-08-15T19:02:17.577Z,6,129540,160,255,135,5b,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,f0,0a,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,e4,0c,00,00,00,00,f2\n2014-08-15T19:02:17.579Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:02:17.582Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,39,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:17.614Z,4,129038,43,255,27,01,d4,e5,b5,0d,d5,10,e1,0e,b0,25,de,23,48,7a,21,00,00,08,66,08,68,21,00,00,00,fe\n2014-08-15T19:02:17.751Z,3,129029,160,255,43,14,a9,3f,58,f5,d9,28,00,d4,10,75,d5,b5,49,08,00,f6,0c,b1,96,c0,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:17.755Z,3,129033,160,255,8,a9,3f,58,f5,d9,28,b4,00\n2014-08-15T19:02:17.758Z,4,129038,43,255,27,03,a0,64,77,10,7d,62,ba,0e,a7,e5,70,23,40,99,d2,00,00,00,00,08,ab,96,00,00,01,fe\n2014-08-15T19:02:17.839Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:17.841Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:17.844Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:17.846Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:17.851Z,3,126992,160,255,8,ff,ff,a9,3f,58,f5,d9,28\n2014-08-15T19:02:17.949Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:18.014Z,3,127508,129,255,8,01,af,05,50,07,1e,75,2b\n2014-08-15T19:02:18.052Z,3,129291,160,255,8,ff,fc,71,5e,46,00,ff,ff\n2014-08-15T19:02:18.105Z,2,130306,115,255,8,00,0e,03,31,17,f2,ff,ff\n2014-08-15T19:02:18.154Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:18.173Z,4,129039,43,255,26,12,44,11,b6,0d,12,35,be,0e,92,ad,98,23,47,cf,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:18.188Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:18.225Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:18.228Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:18.230Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:18.249Z,3,130577,160,255,14,c0,14,72,83,66,01,ff,ff,ff,ff,71,5e,46,00\n2014-08-15T19:02:18.251Z,2,129025,160,255,8,22,ad,98,23,5f,36,be,0e\n2014-08-15T19:02:18.258Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:18.289Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:18.348Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:18.423Z,4,129039,43,255,26,12,fe,ea,8e,0f,92,d4,99,0e,98,1d,ae,23,44,9f,e2,e7,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:18.454Z,2,129026,160,255,8,ff,fc,78,84,67,01,ff,ff\n2014-08-15T19:02:18.486Z,7,127506,129,255,9,2c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:18.492Z,4,129038,43,255,27,01,58,43,c9,0e,eb,29,d9,0e,82,01,aa,23,4c,d4,ac,cb,02,6f,40,01,d9,ad,00,00,00,fe\n2014-08-15T19:02:18.502Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:18.504Z,3,128267,115,255,8,00,1d,0c,00,00,ff,ff,ff\n2014-08-15T19:02:18.528Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:18.582Z,6,129540,160,255,135,5c,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:18.584Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:02:18.588Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,1a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:18.713Z,4,129038,43,255,27,01,88,d6,d0,0c,9d,89,e6,0e,d0,81,b8,23,49,1a,98,3c,03,d9,08,08,14,9a,00,00,00,fe\n2014-08-15T19:02:18.765Z,3,129029,160,255,43,15,a9,3f,72,1c,da,28,00,a4,6a,d0,8c,b5,49,08,00,ac,5a,c1,69,c0,6e,03,f0,06,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:18.767Z,3,129033,160,255,8,a9,3f,72,1c,da,28,b4,00\n2014-08-15T19:02:18.823Z,4,129038,43,255,27,01,10,dc,6d,0f,d1,44,61,0e,58,ce,9c,23,49,71,ad,83,02,be,82,08,88,ae,0a,00,00,fe\n2014-08-15T19:02:18.836Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:18.839Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:18.841Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:18.844Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:18.862Z,3,126992,160,255,8,ff,ff,a9,3f,72,1c,da,28\n2014-08-15T19:02:18.925Z,3,127508,129,255,8,01,b0,05,4f,07,1e,75,2c\n2014-08-15T19:02:18.953Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:19.055Z,3,129291,160,255,8,ff,fc,e8,57,4e,00,ff,ff\n2014-08-15T19:02:19.073Z,4,129038,43,255,27,01,c8,27,16,0e,c7,d4,66,0e,3d,c3,93,23,41,33,30,50,03,08,66,00,b9,2f,14,00,00,fe\n2014-08-15T19:02:19.112Z,2,130306,115,255,8,00,42,03,25,15,f2,ff,ff\n2014-08-15T19:02:19.148Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:19.185Z,4,129039,43,255,26,12,44,11,b6,0d,39,34,be,0e,56,ac,98,23,4b,72,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:19.187Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:19.220Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:19.224Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:19.227Z,4,129038,43,255,27,01,92,12,4b,10,ad,52,fe,0e,85,92,ae,23,4c,e6,af,bb,02,c3,08,08,42,b1,00,00,00,fe\n2014-08-15T19:02:19.229Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:19.253Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:19.261Z,3,130577,160,255,14,c0,15,78,84,67,01,ff,ff,ff,ff,e8,57,4e,00\n2014-08-15T19:02:19.265Z,2,129025,160,255,8,ea,ab,98,23,9e,35,be,0e\n2014-08-15T19:02:19.283Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:19.363Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:19.443Z,4,129038,43,255,27,01,38,5e,49,16,ac,7a,ca,0e,a2,bf,76,23,49,b8,68,00,00,d5,02,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:19.453Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:19.454Z,2,129026,160,255,8,ff,fc,d5,85,67,01,ff,ff\n2014-08-15T19:02:19.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:19.503Z,3,128267,115,255,8,00,fb,0b,00,00,ff,ff,ff\n2014-08-15T19:02:19.529Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:19.543Z,4,129038,43,255,27,01,e0,53,7f,10,1e,a6,c8,0e,8e,65,ac,23,50,49,88,b4,05,38,c0,08,ac,87,ff,7f,00,fe\n2014-08-15T19:02:19.563Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:19.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,09,2b,02,02,00,04,01,03,00,00,00\n2014-08-15T19:02:19.596Z,6,129540,160,255,135,5d,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,ac,0d,00,00,00,00,f2,0b,97,29,15,8b,e4,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,80,0c,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:02:19.598Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:02:19.613Z,4,129038,43,255,27,03,02,a1,4c,10,84,9c,b2,0e,4e,a6,70,23,4d,e6,82,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:02:19.653Z,4,129038,43,255,27,01,6c,70,4a,10,15,f3,ff,0e,d6,9a,a3,23,47,85,35,bf,01,dc,82,08,d0,33,14,00,00,fe\n2014-08-15T19:02:19.768Z,3,129029,160,255,43,16,a9,3f,6e,43,da,28,00,c4,9a,08,46,b5,49,08,00,c4,7e,ab,34,c0,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:19.772Z,3,129033,160,255,8,a9,3f,6e,43,da,28,b4,00\n2014-08-15T19:02:19.776Z,3,127508,129,255,8,01,ac,05,ff,06,1e,75,2c\n2014-08-15T19:02:19.829Z,2,130306,115,255,8,00,b7,02,eb,19,f2,ff,ff\n2014-08-15T19:02:19.833Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,0b,3a,01,00\n2014-08-15T19:02:19.836Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:19.838Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:19.841Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:19.864Z,3,126992,160,255,8,ff,ff,a9,3f,6e,43,da,28\n2014-08-15T19:02:19.965Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:20.067Z,3,129291,160,255,8,ff,fc,29,57,28,00,ff,ff\n2014-08-15T19:02:20.140Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.157Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:02:20.173Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:02:20.195Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,38,da,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:02:20.212Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:20.213Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.217Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:02:20.233Z,4,129039,43,255,26,12,44,11,b6,0d,1e,33,be,0e,19,ab,98,23,4f,78,8a,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:20.263Z,3,130577,160,255,14,c0,16,d5,85,67,01,ff,ff,ff,ff,29,57,28,00\n2014-08-15T19:02:20.265Z,2,129025,160,255,8,ba,aa,98,23,ba,34,be,0e\n2014-08-15T19:02:20.302Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.333Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:20.347Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:02:20.363Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:20.367Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:20.393Z,6,129810,43,255,33,18,fe,ea,8e,0f,24,47,41,52,4d,49,4e,40,53,50,53,33,30,36,37,64,00,1e,00,14,00,5a,00,00,00,00,00,00\n2014-08-15T19:02:20.432Z,3,127508,129,255,8,01,ae,05,03,07,1e,75,2c\n2014-08-15T19:02:20.432Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,38,da,28,f8,82,02,a9,3f,00,00,fc\n2014-08-15T19:02:20.471Z,2,129026,160,255,8,ff,fc,b8,86,65,01,ff,ff\n2014-08-15T19:02:20.503Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.505Z,3,128267,115,255,8,00,60,0c,00,00,ff,ff,ff\n2014-08-15T19:02:20.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,42,02,03,00,04,01,04,00,00,00\n2014-08-15T19:02:20.602Z,6,129540,160,255,135,5e,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,10,0e,00,00,00,00,f2,0b,97,29,15,8b,28,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:20.604Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:02:20.771Z,3,129029,160,255,43,17,a9,3f,74,6a,da,28,00,fe,3b,59,01,b5,49,08,00,64,61,ca,fc,bf,6e,03,30,14,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:20.773Z,3,129033,160,255,8,a9,3f,74,6a,da,28,b4,00\n2014-08-15T19:02:20.796Z,2,130306,115,255,8,00,b7,02,6a,12,f2,ff,ff\n2014-08-15T19:02:20.822Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:20.832Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,1e,3a,01,00\n2014-08-15T19:02:20.834Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:20.837Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:20.839Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:20.871Z,3,126992,160,255,8,ff,ff,a9,3f,74,6a,da,28\n2014-08-15T19:02:20.974Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:02:20.983Z,4,129038,43,255,27,01,b0,79,7a,10,e9,cd,d3,0e,d4,0e,81,23,4c,7c,d9,e3,01,08,66,00,2a,da,0a,00,00,fe\n2014-08-15T19:02:21.036Z,3,127508,129,255,8,01,b0,05,2b,07,1e,75,2c\n2014-08-15T19:02:21.066Z,3,129291,160,255,8,ff,fc,94,44,17,00,ff,ff\n2014-08-15T19:02:21.070Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:21.133Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:21.165Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:21.169Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:21.173Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:21.197Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:21.214Z,4,129039,43,255,26,12,44,11,b6,0d,35,32,be,0e,fe,a9,98,23,53,b8,89,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:21.227Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:21.267Z,3,130577,160,255,14,c0,17,b8,86,65,01,ff,ff,ff,ff,94,44,17,00\n2014-08-15T19:02:21.269Z,2,129025,160,255,8,93,a9,98,23,ca,33,be,0e\n2014-08-15T19:02:21.366Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:21.433Z,4,129038,43,255,27,01,e0,53,7f,10,9a,a2,c8,0e,bc,60,ac,23,58,a0,88,b4,05,38,40,01,ac,87,00,00,00,fe\n2014-08-15T19:02:21.468Z,2,129026,160,255,8,ff,fc,a6,86,67,01,ff,ff\n2014-08-15T19:02:21.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:21.518Z,3,128267,115,255,8,00,60,0c,00,00,ff,ff,ff\n2014-08-15T19:02:21.542Z,4,129038,43,255,27,01,fc,ff,e9,25,cc,f9,2a,0f,81,9f,be,23,51,7d,bb,cb,02,08,66,08,7c,bb,21,00,00,fe\n2014-08-15T19:02:21.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:21.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2d,02,02,00,04,01,03,00,00,00\n2014-08-15T19:02:21.608Z,6,129540,160,255,135,5f,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,10,0e,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:02:21.611Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:02:21.613Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:21.704Z,3,127508,129,255,8,01,b0,05,24,07,1e,75,2c\n2014-08-15T19:02:21.777Z,3,129029,160,255,43,18,a9,3f,d4,91,da,28,00,f6,00,a3,b9,b4,49,08,00,e6,cc,a9,cb,bf,6e,03,e0,50,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:21.779Z,3,129033,160,255,8,a9,3f,d4,91,da,28,b4,00\n2014-08-15T19:02:21.781Z,2,130306,115,255,8,00,8a,03,be,2f,f2,ff,ff\n2014-08-15T19:02:21.801Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:21.829Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,1e,3a,01,00\n2014-08-15T19:02:21.831Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:21.835Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:21.837Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:21.875Z,3,126992,160,255,8,ff,ff,a9,3f,d4,91,da,28\n2014-08-15T19:02:21.970Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:21.987Z,6,129794,43,255,75,05,20,f6,7e,10,00,00,00,00,45,53,32,37,33,35,20,50,49,4c,4f,54,20,41,48,54,4f,2d,32,38,20,20,20,20,20,20,20,32,c8,00,28,00,14,00,82,00,14,40,00,00,00,00,00,00,52,4f,48,55,4e,45,45,4d,45,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:02:22.072Z,3,129291,160,255,8,ff,fc,21,6b,34,00,ff,ff\n2014-08-15T19:02:22.074Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:22.116Z,7,127506,129,255,9,2c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:22.152Z,4,129038,43,255,27,01,98,69,b3,0e,5b,7a,91,0e,52,e9,a0,23,4d,08,b0,f8,01,c2,08,08,42,b1,00,00,00,fe\n2014-08-15T19:02:22.167Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:22.208Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:22.210Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:22.212Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:22.222Z,4,129039,43,255,26,12,44,11,b6,0d,83,30,be,0e,b6,a7,98,23,5b,1b,89,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:22.262Z,4,129038,43,255,27,01,02,8b,c4,0d,f4,16,e1,0e,91,65,ca,23,58,cf,7e,62,01,3f,83,00,89,81,00,00,00,fe\n2014-08-15T19:02:22.264Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:22.278Z,3,130577,160,255,14,c0,18,a6,86,67,01,ff,ff,ff,ff,21,6b,34,00\n2014-08-15T19:02:22.280Z,2,129025,160,255,8,5f,a8,98,23,f7,32,be,0e\n2014-08-15T19:02:22.320Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:22.380Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:22.482Z,2,129026,160,255,8,ff,fc,be,87,62,01,ff,ff\n2014-08-15T19:02:22.485Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:22.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:22.503Z,3,128267,115,255,8,00,f5,0b,00,00,ff,ff,ff\n2014-08-15T19:02:22.529Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:22.572Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,fa,31,d3,23,00,d0,86,da,28,76,c0,09,a9,3f,10,00,fc\n2014-08-15T19:02:22.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,04,01,03,00,00,00\n2014-08-15T19:02:22.601Z,6,129540,160,255,135,60,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:02:22.604Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:02:22.731Z,2,130306,115,255,8,00,ad,02,c7,13,f2,ff,ff\n2014-08-15T19:02:22.751Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:22.761Z,3,127508,129,255,8,01,af,05,0f,07,1e,75,2c\n2014-08-15T19:02:22.790Z,3,129029,160,255,43,19,a9,3f,20,b9,da,28,00,66,07,b8,74,b4,49,08,00,f0,f6,bd,97,bf,6e,03,80,f5,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:22.792Z,3,129033,160,255,8,a9,3f,20,b9,da,28,b4,00\n2014-08-15T19:02:22.826Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,1e,3a,01,00\n2014-08-15T19:02:22.829Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:22.831Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:22.834Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:22.841Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:22.885Z,3,126992,160,255,8,ff,ff,a9,3f,20,b9,da,28\n2014-08-15T19:02:22.978Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:02:23.033Z,7,129793,43,255,26,04,8f,18,23,00,3c,1e,46,0f,e6,68,e2,23,00,e0,ad,da,28,5c,83,00,a9,3f,10,00,fc\n2014-08-15T19:02:23.073Z,4,129038,43,255,27,01,58,eb,ad,0e,4e,9c,5c,0e,eb,5a,8f,23,5f,b9,2f,d4,01,08,66,08,5c,2e,00,00,00,fe\n2014-08-15T19:02:23.082Z,3,129291,160,255,8,ff,fc,21,6b,34,00,ff,ff\n2014-08-15T19:02:23.117Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:02:23.157Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:23.159Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:23.161Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:02:23.165Z,4,129038,43,255,27,01,28,f5,77,10,7b,d8,9f,0e,b5,6f,74,23,50,b9,4d,8a,00,08,66,08,db,44,ff,7f,00,fe\n2014-08-15T19:02:23.187Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:23.202Z,4,129039,43,255,26,12,ca,0c,b7,0d,46,75,bd,0e,2a,d0,96,23,5a,5b,7f,62,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:23.223Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:23.242Z,4,129038,43,255,27,01,c8,d4,7f,10,1b,ea,df,0e,ed,76,c6,23,59,f2,7b,38,04,de,08,08,72,7d,00,00,00,fe\n2014-08-15T19:02:23.282Z,4,129039,43,255,26,12,44,11,b6,0d,cc,2f,be,0e,7a,a6,98,23,5f,6c,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:23.288Z,3,130577,160,255,14,c0,19,be,87,62,01,ff,ff,ff,ff,6b,85,2d,00\n2014-08-15T19:02:23.290Z,2,129025,160,255,8,37,a7,98,23,18,32,be,0e\n2014-08-15T19:02:23.381Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:23.387Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:23.433Z,4,129038,43,255,27,01,e0,53,7f,10,81,9b,c8,0e,1a,57,ac,23,60,a0,88,ba,05,08,66,08,ac,87,00,00,00,fe\n2014-08-15T19:02:23.485Z,2,129026,160,255,8,ff,fc,66,87,63,01,ff,ff\n2014-08-15T19:02:23.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:23.511Z,3,128267,115,255,8,00,f5,0b,00,00,ff,ff,ff\n2014-08-15T19:02:23.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:23.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,28,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:23.612Z,6,129540,160,255,135,61,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:23.614Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:02:23.672Z,4,129038,43,255,27,01,08,99,b5,0d,03,de,cb,0e,d0,84,a5,23,64,ad,4b,4e,01,3a,c0,01,f3,48,00,00,00,fe\n2014-08-15T19:02:23.695Z,2,130306,115,255,8,00,2d,03,26,24,f2,ff,ff\n2014-08-15T19:02:23.719Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:23.797Z,3,129029,160,255,43,1a,a9,3f,12,e0,da,28,00,c8,13,f7,30,b4,49,08,00,ec,26,fc,64,bf,6e,03,90,8d,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:23.799Z,3,129033,160,255,8,a9,3f,12,e0,da,28,b4,00\n2014-08-15T19:02:23.824Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,1e,3a,01,00\n2014-08-15T19:02:23.827Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:23.829Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:23.832Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:23.836Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,6e,7d,6f,23,5c,03,a6,00,00,3c,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:23.855Z,3,127508,129,255,8,01,ac,05,cf,06,1e,75,2c\n2014-08-15T19:02:23.884Z,3,126992,160,255,8,ff,ff,a9,3f,12,e0,da,28\n2014-08-15T19:02:23.957Z,6,129794,43,255,75,05,b0,79,7a,10,18,c7,bf,29,45,53,52,45,20,20,20,53,4b,4f,52,50,49,4f,4e,20,20,20,20,20,20,20,20,20,20,20,20,50,5c,03,82,00,1e,00,8a,02,aa,3f,80,a8,12,01,f4,01,54,41,4c,4c,49,4e,4e,20,4f,4c,44,20,48,41,52,42,4f,55,52,20,00,e1\n2014-08-15T19:02:23.985Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:02:23.992Z,4,129038,43,255,27,01,08,7b,ba,0d,bf,a5,94,0e,16,50,bd,23,5d,37,a0,7c,01,a3,03,01,37,a0,00,00,00,fe\n2014-08-15T19:02:24.088Z,3,129291,160,255,8,ff,fc,6b,85,2d,00,ff,ff\n2014-08-15T19:02:24.133Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:24.170Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:24.172Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:24.174Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:24.204Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:24.234Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:24.254Z,4,129039,43,255,26,12,44,11,b6,0d,15,2f,be,0e,6f,a5,98,23,63,60,86,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:24.284Z,3,130577,160,255,14,c0,1a,66,87,63,01,ff,ff,ff,ff,b3,7c,16,00\n2014-08-15T19:02:24.286Z,2,129025,160,255,8,14,a6,98,23,3e,31,be,0e\n2014-08-15T19:02:24.386Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:24.392Z,4,129039,43,255,26,12,06,a5,b5,0d,7f,a3,bd,0e,2a,79,98,23,60,66,84,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:24.434Z,3,127508,129,255,8,01,ae,05,cc,06,1e,75,2c\n2014-08-15T19:02:24.493Z,2,129026,160,255,8,ff,fc,fe,86,5b,01,ff,ff\n2014-08-15T19:02:24.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:24.520Z,3,128267,115,255,8,00,5a,0b,00,00,ff,ff,ff\n2014-08-15T19:02:24.543Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:24.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,31,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:24.621Z,6,129540,160,255,135,62,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,80,0c,00,00,00,00,f2,16,46,0c,39,37,54,0b,00,00,00,00,f2,13,3a,0a,cf,7e,54,0b,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:24.624Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:02:24.669Z,2,130306,115,255,8,00,b7,02,3c,19,f2,ff,ff\n2014-08-15T19:02:24.703Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:24.762Z,3,127508,129,255,8,01,af,05,e2,06,1e,75,2c\n2014-08-15T19:02:24.798Z,3,129029,160,255,43,1b,a9,3f,40,07,db,28,00,02,b5,47,ec,b3,49,08,00,ae,eb,4e,3b,bf,6e,03,10,e4,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:24.801Z,3,129033,160,255,8,a9,3f,40,07,db,28,b4,00\n2014-08-15T19:02:24.822Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,1e,3a,01,00\n2014-08-15T19:02:24.825Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:24.827Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:24.830Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:24.873Z,4,129039,43,255,26,12,58,7f,b6,0d,ff,51,bc,0e,57,da,94,23,63,8f,7c,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:24.896Z,3,126992,160,255,8,ff,ff,a9,3f,40,07,db,28\n2014-08-15T19:02:24.989Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:02:25.074Z,4,129038,43,255,27,01,c8,27,16,0e,48,f7,66,0e,c0,c9,93,23,59,33,30,50,03,ce,03,09,b9,2f,1a,00,00,fe\n2014-08-15T19:02:25.091Z,3,129291,160,255,8,ff,fc,b3,7c,16,00,ff,ff\n2014-08-15T19:02:25.118Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:02:25.155Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:25.158Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:25.160Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:02:25.218Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:25.252Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:25.273Z,4,129039,43,255,26,12,44,11,b6,0d,5d,2e,be,0e,43,a4,98,23,67,e0,84,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:25.283Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:25.301Z,3,130577,160,255,14,c0,1b,fe,86,5b,01,ff,ff,ff,ff,56,7e,29,00\n2014-08-15T19:02:25.304Z,2,129025,160,255,8,ed,a4,98,23,8b,30,be,0e\n2014-08-15T19:02:25.313Z,4,129038,43,255,27,01,e0,53,7f,10,69,94,c8,0e,77,4d,ac,23,68,a0,88,ba,05,38,c0,00,5a,88,00,00,00,fe\n2014-08-15T19:02:25.354Z,4,129038,43,255,27,01,10,04,1a,0e,cc,c3,01,0f,ce,40,af,23,60,83,b0,9c,02,b2,83,09,9f,b2,00,00,00,fe\n2014-08-15T19:02:25.373Z,3,127508,129,255,8,01,ac,05,af,06,1e,75,2c\n2014-08-15T19:02:25.392Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:25.396Z,4,129038,43,255,27,01,88,d6,d0,0c,97,71,e6,0e,0e,75,b8,23,61,3d,98,41,03,cb,08,00,14,9a,00,00,00,fe\n2014-08-15T19:02:25.434Z,4,129038,43,255,27,01,20,f6,7e,10,6f,35,c7,0e,e6,ea,7f,23,65,39,31,05,00,3d,c0,08,13,c7,00,00,0f,fe\n2014-08-15T19:02:25.483Z,4,129039,43,255,26,12,44,e0,c3,0d,14,04,bb,0e,32,f9,8e,23,66,9b,84,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:25.493Z,2,129026,160,255,8,ff,fc,3e,86,57,01,ff,ff\n2014-08-15T19:02:25.500Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:25.504Z,3,128267,115,255,8,00,08,0b,00,00,ff,ff,ff\n2014-08-15T19:02:25.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:25.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2a,02,02,00,00,00,04,00,00,00\n2014-08-15T19:02:25.621Z,6,129540,160,255,135,63,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,f0,0a,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,c4,09,00,00,00,00,f2,16,46,0c,39,37,d0,07,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:25.623Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:02:25.627Z,4,129038,43,255,27,01,d2,ff,4a,10,5d,8a,b1,0e,d8,01,71,23,65,a4,ec,00,00,bd,83,08,37,91,ec,ff,00,fe\n2014-08-15T19:02:25.636Z,2,130306,115,255,8,00,ff,02,54,1d,f2,ff,ff\n2014-08-15T19:02:25.656Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:25.810Z,3,129029,160,255,43,1c,a9,3f,82,2e,db,28,00,48,cd,da,aa,b3,49,08,00,7e,aa,77,10,bf,6e,03,40,ca,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:25.814Z,3,129033,160,255,8,a9,3f,82,2e,db,28,b4,00\n2014-08-15T19:02:25.820Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,30,3a,01,00\n2014-08-15T19:02:25.822Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:25.826Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:25.828Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:25.897Z,3,126992,160,255,8,ff,ff,a9,3f,82,2e,db,28\n2014-08-15T19:02:25.898Z,7,127506,129,255,9,2e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:25.920Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,fa,f6,c7,23,00,10,23,db,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:02:26.004Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:02:26.105Z,3,129291,160,255,8,ff,fc,56,7e,29,00,ff,ff\n2014-08-15T19:02:26.135Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:02:26.174Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:26.175Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:26.177Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:02:26.188Z,3,127508,129,255,8,01,ae,05,c2,06,1e,75,2e\n2014-08-15T19:02:26.206Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:26.234Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:26.283Z,4,129039,43,255,26,12,44,11,b6,0d,a6,2d,be,0e,38,a3,98,23,6b,b8,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:26.306Z,3,130577,160,255,14,c0,1c,3e,86,57,01,ff,ff,ff,ff,c7,72,29,00\n2014-08-15T19:02:26.308Z,2,129025,160,255,8,d4,a3,98,23,d3,2f,be,0e\n2014-08-15T19:02:26.323Z,4,129039,43,255,26,12,08,57,b6,0d,03,d7,c8,0e,f4,e2,92,23,6b,ca,56,86,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:26.399Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:26.499Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:26.501Z,3,128267,115,255,8,00,08,0b,00,00,ff,ff,ff\n2014-08-15T19:02:26.504Z,2,129026,160,255,8,ff,fc,83,86,51,01,ff,ff\n2014-08-15T19:02:26.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:26.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:26.640Z,6,129540,160,255,135,64,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,54,0b,00,00,00,00,f2,14,17,13,ce,ab,d8,0e,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,54,0b,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:26.642Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:02:26.644Z,2,130306,115,255,8,00,b7,02,a5,1c,f2,ff,ff\n2014-08-15T19:02:26.670Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:26.810Z,3,129029,160,255,43,1d,a9,3f,74,55,db,28,00,58,80,a9,69,b3,49,08,00,ac,39,53,e6,be,6e,03,e0,df,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:26.812Z,3,129033,160,255,8,a9,3f,74,55,db,28,b4,00\n2014-08-15T19:02:26.818Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,30,3a,01,00\n2014-08-15T19:02:26.820Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:26.823Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:26.825Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:26.878Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:26.904Z,3,126992,160,255,8,ff,ff,a9,3f,74,55,db,28\n2014-08-15T19:02:27.008Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:02:27.103Z,3,129291,160,255,8,ff,fc,c7,72,29,00,ff,ff\n2014-08-15T19:02:27.114Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:27.150Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:27.153Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:27.155Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:27.183Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:27.214Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:27.283Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:27.293Z,4,129039,43,255,26,12,44,11,b6,0d,ff,2c,be,0e,0c,a2,98,23,6f,fe,86,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:27.313Z,3,130577,160,255,14,c0,1d,83,86,51,01,ff,ff,ff,ff,c7,72,29,00\n2014-08-15T19:02:27.314Z,2,129025,160,255,8,bc,a2,98,23,1e,2f,be,0e\n2014-08-15T19:02:27.384Z,4,129038,43,255,27,01,d4,e5,b5,0d,e6,10,e1,0e,9f,25,de,23,70,8b,21,00,00,ff,83,00,68,21,00,00,00,fe\n2014-08-15T19:02:27.402Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:27.463Z,4,129038,43,255,27,01,e0,53,7f,10,79,89,c8,0e,14,3f,ac,23,70,d5,88,ba,05,08,66,08,5a,88,00,00,00,fe\n2014-08-15T19:02:27.505Z,2,129026,160,255,8,ff,fc,c9,86,53,01,ff,ff\n2014-08-15T19:02:27.513Z,4,129038,43,255,27,01,b8,53,a6,0c,87,81,7d,0e,16,b9,9f,23,70,e0,ab,73,02,04,84,09,d9,ad,00,00,00,fe\n2014-08-15T19:02:27.515Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:27.517Z,3,128267,115,255,8,00,e0,0a,00,00,ff,ff,ff\n2014-08-15T19:02:27.538Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:27.553Z,4,129038,43,255,27,01,fc,ff,e9,25,1c,dc,2a,0f,f0,a0,be,23,69,2b,bc,cb,02,08,66,00,7c,bb,21,00,00,fe\n2014-08-15T19:02:27.567Z,2,130306,115,255,8,00,e5,02,31,17,f2,ff,ff\n2014-08-15T19:02:27.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:27.587Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:27.632Z,6,129540,160,255,135,65,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,b8,0b,00,00,00,00,f2,14,17,13,ce,ab,74,0e,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:27.635Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:27.735Z,3,127508,129,255,8,01,b0,05,e6,06,1e,75,2e\n2014-08-15T19:02:27.763Z,3,127508,129,255,8,01,b0,05,c3,06,1e,75,2e\n2014-08-15T19:02:27.765Z,4,129041,43,255,48,15,b0,54,2c,3b,4b,97,a7,0e,1a,12,92,23,08,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,30,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:27.813Z,3,129029,160,255,43,1e,a9,3f,8e,7c,db,28,00,0a,63,c5,27,b3,49,08,00,c2,da,a9,b5,be,6e,03,90,1c,21,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:27.815Z,3,129033,160,255,8,a9,3f,8e,7c,db,28,b4,00\n2014-08-15T19:02:27.819Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,30,3a,01,00\n2014-08-15T19:02:27.821Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:27.823Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:27.827Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:27.909Z,3,126992,160,255,8,ff,ff,a9,3f,8e,7c,db,28\n2014-08-15T19:02:27.913Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,f9,5e,6e,23,6c,a6,a1,00,00,13,04,01,1f,ab,00,00,00,fe\n2014-08-15T19:02:28.010Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:02:28.073Z,4,129039,43,255,26,12,80,e5,c3,0d,27,3e,c1,0e,55,fe,95,23,6f,3e,53,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:28.112Z,3,129291,160,255,8,ff,fc,8f,61,08,00,ff,ff\n2014-08-15T19:02:28.128Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:28.166Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:28.168Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:28.170Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:28.224Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:28.253Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:28.303Z,4,129039,43,255,26,12,44,11,b6,0d,59,2c,be,0e,d0,a0,98,23,73,d5,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:28.308Z,3,130577,160,255,14,c0,1e,c9,86,53,01,ff,ff,ff,ff,8f,61,08,00\n2014-08-15T19:02:28.310Z,2,129025,160,255,8,a1,a1,98,23,4d,2e,be,0e\n2014-08-15T19:02:28.353Z,3,127508,129,255,8,01,57,05,0c,07,1e,75,2e\n2014-08-15T19:02:28.411Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:28.447Z,3,127508,129,255,8,01,59,05,7c,07,1e,75,2e\n2014-08-15T19:02:28.496Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:28.498Z,3,128267,115,255,8,00,be,0a,00,00,ff,ff,ff\n2014-08-15T19:02:28.517Z,6,129794,43,255,75,05,f8,d2,7e,10,96,e7,8e,00,45,53,49,59,20,20,20,53,55,50,45,52,53,54,41,52,20,20,20,20,20,20,20,20,20,20,20,3c,ea,06,0e,01,82,00,18,01,a9,3f,80,5a,b2,27,b2,02,48,45,4c,53,49,4e,4b,49,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:02:28.520Z,2,129026,160,255,8,ff,fc,72,86,58,01,ff,ff\n2014-08-15T19:02:28.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:28.545Z,2,130306,115,255,8,00,db,02,26,24,f2,ff,ff\n2014-08-15T19:02:28.566Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:28.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,31,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:28.652Z,6,129540,160,255,135,66,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,74,0e,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,80,0c,00,00,00,00,f2,13,3a,0a,cf,7e,98,08,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:28.654Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:28.733Z,4,129038,43,255,27,01,92,12,4b,10,1b,25,fe,0e,02,8c,ae,23,70,e6,af,bb,02,08,66,00,42,b1,ff,ff,00,fe\n2014-08-15T19:02:28.793Z,4,129038,43,255,27,01,68,e2,20,12,44,bc,ff,0e,b2,7d,ad,23,74,d4,af,fd,01,34,84,08,9f,b2,00,00,00,fe\n2014-08-15T19:02:28.813Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,30,3a,01,00\n2014-08-15T19:02:28.816Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:28.818Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:28.824Z,3,129029,160,255,43,1f,a9,3f,a8,a3,db,28,00,96,5d,86,e0,b2,49,08,00,f2,ec,18,87,be,6e,03,80,84,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:28.826Z,3,129033,160,255,8,a9,3f,a8,a3,db,28,b4,00\n2014-08-15T19:02:28.829Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:28.905Z,7,127506,129,255,9,2f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:28.915Z,3,126992,160,255,8,ff,ff,a9,3f,a8,a3,db,28\n2014-08-15T19:02:29.018Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:02:29.100Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:29.119Z,3,129291,160,255,8,ff,fc,0d,94,0a,00,ff,ff\n2014-08-15T19:02:29.136Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:29.139Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:29.141Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:29.168Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:29.200Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:29.303Z,4,129038,43,255,27,01,58,43,c9,0e,ef,f9,d8,0e,59,fa,a9,23,78,c3,ac,cb,02,ac,08,08,d9,ad,00,00,00,fe\n2014-08-15T19:02:29.317Z,3,130577,160,255,14,c0,1f,72,86,58,01,ff,ff,ff,ff,0d,94,0a,00\n2014-08-15T19:02:29.320Z,2,129025,160,255,8,6f,a0,98,23,85,2d,be,0e\n2014-08-15T19:02:29.352Z,4,129039,43,255,26,12,44,11,b6,0d,c3,2b,be,0e,a4,9f,98,23,77,e0,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:29.386Z,3,127508,129,255,8,01,8e,05,fc,06,1e,75,2f\n2014-08-15T19:02:29.392Z,4,129038,43,255,27,01,b8,f5,67,12,d9,1f,8c,0e,77,2d,90,23,74,56,2d,d1,03,d4,08,02,50,2c,00,00,00,fe\n2014-08-15T19:02:29.416Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:29.434Z,4,129038,43,255,27,01,e0,53,7f,10,d3,85,c8,0e,42,3a,ac,23,78,e6,88,ba,05,cf,08,00,ac,87,00,00,00,fe\n2014-08-15T19:02:29.503Z,2,130306,115,255,8,00,93,02,df,17,f2,ff,ff\n2014-08-15T19:02:29.517Z,2,129026,160,255,8,ff,fc,f8,85,55,01,ff,ff\n2014-08-15T19:02:29.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:29.535Z,3,128267,115,255,8,00,81,0a,00,00,ff,ff,ff\n2014-08-15T19:02:29.553Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:29.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,30,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:29.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:29.656Z,6,129540,160,255,135,67,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:29.658Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:02:29.673Z,4,129038,43,255,27,01,c8,d4,7f,10,17,e8,df,0e,24,60,c6,23,71,15,7c,33,04,4b,40,01,72,7d,00,00,00,fe\n2014-08-15T19:02:29.811Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,30,3a,01,00\n2014-08-15T19:02:29.813Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:29.815Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:29.817Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:29.823Z,3,129029,160,255,43,20,a9,3f,12,cb,db,28,00,64,34,4e,9c,b2,49,08,00,ce,22,84,5f,be,6e,03,f0,95,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:29.827Z,3,129033,160,255,8,a9,3f,12,cb,db,28,b4,00\n2014-08-15T19:02:29.853Z,4,129038,43,255,27,01,10,dc,6d,0f,4b,15,61,0e,71,c7,9c,23,75,71,ad,83,02,08,66,00,88,ae,f6,ff,00,fe\n2014-08-15T19:02:29.916Z,3,126992,160,255,8,ff,ff,a9,3f,12,cb,db,28\n2014-08-15T19:02:29.956Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:30.017Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:02:30.119Z,3,129291,160,255,8,ff,fc,22,84,14,00,ff,ff\n2014-08-15T19:02:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,bf,db,28,66,04,0b,a9,3f,00,00,fc\n2014-08-15T19:02:30.125Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:30.160Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:30.163Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:30.166Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:30.184Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:30.222Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:30.235Z,3,127508,129,255,8,01,9b,05,b5,07,1e,75,2f\n2014-08-15T19:02:30.257Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:30.288Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:30.317Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:02:30.327Z,3,130577,160,255,14,c0,20,f8,85,55,01,ff,ff,ff,ff,22,84,14,00\n2014-08-15T19:02:30.330Z,2,129025,160,255,8,4a,9f,98,23,db,2c,be,0e\n2014-08-15T19:02:30.353Z,4,129038,43,255,27,01,88,44,7d,10,af,22,c7,0e,87,ec,7f,23,70,ad,6f,0a,00,08,66,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:30.392Z,4,129039,43,255,26,12,44,11,b6,0d,3d,2b,be,0e,88,9e,98,23,7b,c9,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:30.429Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:30.433Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,bf,db,28,6f,04,0b,a9,3f,00,00,fc\n2014-08-15T19:02:30.475Z,2,130306,115,255,8,00,19,03,b1,1e,f2,ff,ff\n2014-08-15T19:02:30.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:30.503Z,3,127508,129,255,8,01,a1,05,1c,08,1e,75,2f\n2014-08-15T19:02:30.521Z,2,129026,160,255,8,ff,fc,5b,85,57,01,ff,ff\n2014-08-15T19:02:30.533Z,3,128267,115,255,8,00,5a,0a,00,00,ff,ff,ff\n2014-08-15T19:02:30.536Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:30.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,43,02,03,00,04,07,04,00,00,00\n2014-08-15T19:02:30.580Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:30.588Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:02:30.661Z,6,129540,160,255,135,68,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,10,0e,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,10,0e,00,00,00,00,f2\n2014-08-15T19:02:30.663Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:30.808Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,43,3a,01,00\n2014-08-15T19:02:30.810Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:30.813Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:30.815Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:30.829Z,3,129029,160,255,43,21,a9,3f,0e,f2,db,28,00,32,0b,16,58,b2,49,08,00,ec,34,f6,3a,be,6e,03,10,e4,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:30.831Z,3,129033,160,255,8,a9,3f,0e,f2,db,28,b4,00\n2014-08-15T19:02:30.842Z,4,129039,43,255,26,12,44,11,b6,0d,3d,2b,be,0e,88,9e,98,23,7b,c9,83,4e,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:02:30.897Z,4,129038,43,255,27,01,6c,70,4a,10,7a,17,00,0f,7c,9e,a3,23,77,cb,35,bf,01,83,84,00,d0,33,0a,00,00,fe\n2014-08-15T19:02:30.946Z,3,126992,160,255,8,ff,ff,a9,3f,18,fc,db,28\n2014-08-15T19:02:31.008Z,3,127508,129,255,8,01,a5,05,4c,08,1e,75,2f\n2014-08-15T19:02:31.044Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:02:31.085Z,3,127508,129,255,8,01,ac,05,b9,08,1e,75,2f\n2014-08-15T19:02:31.107Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:31.121Z,7,127506,129,255,9,30,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:31.129Z,3,129291,160,255,8,ff,fc,93,7b,19,00,ff,ff\n2014-08-15T19:02:31.139Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:31.141Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:31.145Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:31.149Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:31.157Z,4,129038,43,255,27,01,c8,27,16,0e,ff,1e,67,0e,e9,d0,93,23,75,56,30,50,03,c3,08,00,67,30,1a,00,00,fe\n2014-08-15T19:02:31.172Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:31.194Z,4,129038,43,255,27,01,88,d6,d0,0c,81,59,e6,0e,6c,68,b8,23,79,72,98,41,03,3d,c0,08,14,9a,00,00,00,fe\n2014-08-15T19:02:31.203Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:31.333Z,3,130577,160,255,14,c0,21,5b,85,57,01,ff,ff,ff,ff,93,7b,19,00\n2014-08-15T19:02:31.337Z,2,129025,160,255,8,25,9e,98,23,3e,2c,be,0e\n2014-08-15T19:02:31.343Z,4,129039,43,255,26,12,44,11,b6,0d,c9,2a,be,0e,4c,9d,98,23,7f,f2,81,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:31.435Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:31.459Z,2,130306,115,255,8,00,74,02,eb,19,f2,ff,ff\n2014-08-15T19:02:31.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:31.507Z,6,129794,43,255,75,05,10,c9,7f,10,42,de,93,00,45,53,4b,42,20,20,20,57,52,41,4e,47,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3c,f0,00,3c,00,1e,00,8c,00,a9,3f,80,67,42,21,be,00,4b,45,4c,4e,41,53,45,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:02:31.524Z,3,128267,115,255,8,00,ef,09,00,00,ff,ff,ff\n2014-08-15T19:02:31.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:31.546Z,2,129026,160,255,8,ff,fc,20,84,59,01,ff,ff\n2014-08-15T19:02:31.546Z,4,129038,43,255,27,01,02,8b,c4,0d,00,15,e1,0e,d9,59,ca,23,80,c4,7c,4e,01,b5,08,08,da,80,00,00,00,fe\n2014-08-15T19:02:31.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:31.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,2a,02,03,00,01,01,04,00,00,00\n2014-08-15T19:02:31.592Z,4,129038,43,255,27,01,e0,53,7f,10,d3,7a,c8,0e,df,2b,ac,23,84,1b,89,ba,05,38,c0,08,ac,87,00,00,00,fe\n2014-08-15T19:02:31.669Z,6,129540,160,255,135,69,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,80,0c,00,00,00,00,f2\n2014-08-15T19:02:31.671Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:31.674Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:31.680Z,3,127508,129,255,8,01,af,05,c8,08,1e,75,30\n2014-08-15T19:02:31.703Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:31.774Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:31.802Z,4,129038,43,255,27,01,b0,79,7a,10,38,b3,d3,0e,74,1e,81,23,7c,6b,d9,e3,01,a5,84,09,2a,da,0a,00,00,fe\n2014-08-15T19:02:31.806Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,43,3a,01,00\n2014-08-15T19:02:31.808Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:31.810Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:31.814Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:31.844Z,4,129039,43,255,26,12,8c,d3,b5,0d,2f,2d,bf,0e,59,47,99,23,39,ff,ff,ff,ff,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:02:31.848Z,3,129029,160,255,43,22,a9,3f,6e,19,dc,28,00,52,3b,4e,11,b2,49,08,00,b6,6a,64,1d,be,6e,03,30,a3,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:31.850Z,3,129033,160,255,8,a9,3f,6e,19,dc,28,b4,00\n2014-08-15T19:02:31.932Z,3,126992,160,255,8,ff,ff,a9,3f,32,23,dc,28\n2014-08-15T19:02:31.962Z,4,129038,43,255,27,01,98,69,b3,0e,c9,57,91,0e,7a,e5,a0,23,75,08,b0,f8,01,22,c0,00,42,b1,00,00,00,fe\n2014-08-15T19:02:32.038Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:02:32.112Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:32.130Z,3,129291,160,255,8,ff,fc,6b,66,22,00,ff,ff\n2014-08-15T19:02:32.132Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:32.152Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:32.154Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:32.156Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:32.197Z,3,127508,129,255,8,01,b0,05,e1,08,1e,75,30\n2014-08-15T19:02:32.213Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:32.244Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:32.337Z,3,130577,160,255,14,c0,22,20,84,59,01,ff,ff,ff,ff,6b,66,22,00\n2014-08-15T19:02:32.339Z,2,129025,160,255,8,f5,9c,98,23,bf,2b,be,0e\n2014-08-15T19:02:32.363Z,4,129039,43,255,26,12,44,11,b6,0d,22,2a,be,0e,30,9c,98,23,83,ac,84,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:32.411Z,2,130306,115,255,8,00,f0,02,3c,19,f2,ff,ff\n2014-08-15T19:02:32.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:32.439Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:32.495Z,3,128267,115,255,8,00,fb,09,00,00,ff,ff,ff\n2014-08-15T19:02:32.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:32.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:32.534Z,2,129026,160,255,8,ff,fc,78,84,53,01,ff,ff\n2014-08-15T19:02:32.537Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:32.568Z,3,127508,129,255,8,01,ac,05,8e,08,1e,75,30\n2014-08-15T19:02:32.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2c,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:32.582Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,c8,31,d3,23,00,70,0d,dc,28,76,c0,00,a9,3f,10,00,fc\n2014-08-15T19:02:32.671Z,6,129540,160,255,123,6a,ff,0a,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2\n2014-08-15T19:02:32.673Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:02:32.803Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,43,3a,01,00\n2014-08-15T19:02:32.805Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:32.808Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:32.810Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:32.841Z,3,129029,160,255,43,23,a9,3f,88,40,dc,28,00,2e,0c,ec,cb,b1,49,08,00,08,5f,07,fd,bd,6e,03,70,ce,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:32.842Z,3,129033,160,255,8,a9,3f,88,40,dc,28,b4,00\n2014-08-15T19:02:32.874Z,4,129038,43,255,27,01,58,eb,ad,0e,73,ba,5c,0e,74,60,8f,23,87,96,2f,d4,01,cd,04,01,5c,2e,00,00,00,fe\n2014-08-15T19:02:32.879Z,3,127508,129,255,8,01,ae,05,9a,08,1e,75,30\n2014-08-15T19:02:32.914Z,4,129038,43,255,27,01,38,5e,49,16,8b,7a,ca,0e,a2,bf,76,23,81,5b,6a,00,00,08,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:32.935Z,3,126992,160,255,8,ff,ff,a9,3f,4c,4a,dc,28\n2014-08-15T19:02:33.002Z,4,129038,43,255,27,01,08,99,b5,0d,8b,f1,cb,0e,d0,84,a5,23,88,f3,48,44,01,ed,08,08,f3,48,00,00,00,fe\n2014-08-15T19:02:33.040Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:02:33.044Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,b4,68,e2,23,00,80,34,dc,28,d3,84,08,a9,3f,10,00,fc\n2014-08-15T19:02:33.058Z,3,127508,129,255,8,01,aa,05,3f,08,1e,75,30\n2014-08-15T19:02:33.099Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:33.131Z,3,129291,160,255,8,ff,fc,3d,80,15,00,ff,ff\n2014-08-15T19:02:33.136Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:33.138Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:33.140Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:33.167Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:33.199Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:33.335Z,3,130577,160,255,14,c0,23,78,84,53,01,ff,ff,ff,ff,3d,80,15,00\n2014-08-15T19:02:33.338Z,2,129025,160,255,8,cb,9b,98,23,34,2b,be,0e\n2014-08-15T19:02:33.374Z,4,129039,43,255,26,12,44,11,b6,0d,ad,29,be,0e,f4,9a,98,23,87,a1,82,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:33.380Z,2,130306,115,255,8,00,c1,02,a5,1c,f2,ff,ff\n2014-08-15T19:02:33.405Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:33.406Z,7,127506,129,255,9,31,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:33.437Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:33.494Z,3,128267,115,255,8,00,fb,09,00,00,ff,ff,ff\n2014-08-15T19:02:33.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:33.522Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:33.539Z,2,129026,160,255,8,ff,fc,32,84,57,01,ff,ff\n2014-08-15T19:02:33.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:33.675Z,6,129540,160,255,123,6b,ff,0a,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,c4,09,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2\n2014-08-15T19:02:33.677Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:33.683Z,4,129038,43,255,27,01,fc,ff,e9,25,79,b9,2a,0f,a1,a2,be,23,85,7d,bb,c5,02,bd,08,08,2b,bc,21,00,00,fe\n2014-08-15T19:02:33.782Z,4,129038,43,255,27,03,50,10,7f,16,48,31,b9,0e,72,31,70,23,84,6c,a3,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:02:33.800Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,43,3a,01,00\n2014-08-15T19:02:33.802Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:33.805Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:33.808Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:33.832Z,4,129038,43,255,27,01,b8,83,92,0e,77,b9,e0,0e,b8,c7,75,23,89,8e,c1,05,00,08,66,08,59,d3,00,00,00,fe\n2014-08-15T19:02:33.848Z,3,129029,160,255,43,24,a9,3f,a2,67,dc,28,00,32,48,78,87,b1,49,08,00,92,3b,02,d8,bd,6e,03,a0,b4,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:33.851Z,3,129033,160,255,8,a9,3f,a2,67,dc,28,b4,00\n2014-08-15T19:02:33.942Z,3,126992,160,255,8,ff,ff,a9,3f,66,71,dc,28\n2014-08-15T19:02:34.023Z,3,127508,129,255,8,01,aa,05,3e,08,1e,75,31\n2014-08-15T19:02:34.058Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:02:34.113Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:34.124Z,4,129038,43,255,27,01,20,f6,7e,10,a1,35,c7,0e,e6,ea,7f,23,85,39,31,05,00,08,66,00,13,c7,00,00,0f,fe\n2014-08-15T19:02:34.150Z,3,129291,160,255,8,ff,fc,46,8c,17,00,ff,ff\n2014-08-15T19:02:34.152Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:34.156Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:34.158Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:34.208Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:34.239Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:34.346Z,3,130577,160,255,14,c0,24,32,84,57,01,ff,ff,ff,ff,46,8c,17,00\n2014-08-15T19:02:34.349Z,2,129025,160,255,8,a5,9a,98,23,95,2a,be,0e\n2014-08-15T19:02:34.351Z,2,130306,115,255,8,00,d6,02,25,15,f2,ff,ff\n2014-08-15T19:02:34.384Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:34.393Z,4,129039,43,255,26,12,44,11,b6,0d,39,29,be,0e,c8,99,98,23,8b,e1,81,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:34.398Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:34.442Z,4,129038,43,255,27,01,d2,ff,4a,10,4c,8a,b1,0e,b6,01,71,23,89,a4,ec,00,00,4c,c0,01,37,91,00,00,00,fe\n2014-08-15T19:02:34.454Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:34.522Z,3,128267,115,255,8,00,72,09,00,00,ff,ff,ff\n2014-08-15T19:02:34.526Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:34.546Z,2,129026,160,255,8,ff,fc,3e,83,56,01,ff,ff\n2014-08-15T19:02:34.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:34.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:34.602Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:34.675Z,6,129540,160,255,135,6c,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:34.677Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:02:34.797Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,43,3a,01,00\n2014-08-15T19:02:34.801Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:34.803Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:34.806Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:34.822Z,3,127508,129,255,8,01,ac,05,58,08,1e,75,31\n2014-08-15T19:02:34.843Z,4,129038,43,255,27,01,b8,f5,67,12,d6,3e,8c,0e,2c,34,90,23,88,56,2d,d1,03,66,c0,0a,50,2c,00,00,00,fe\n2014-08-15T19:02:34.861Z,3,129029,160,255,43,25,a9,3f,94,8e,dc,28,00,e6,ad,27,41,b1,49,08,00,ba,41,23,bb,bd,6e,03,00,10,27,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:34.864Z,3,129033,160,255,8,a9,3f,94,8e,dc,28,b4,00\n2014-08-15T19:02:34.947Z,3,126992,160,255,8,ff,ff,a9,3f,58,98,dc,28\n2014-08-15T19:02:35.053Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:02:35.095Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:02:35.131Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:35.134Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:35.136Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:02:35.150Z,3,129291,160,255,8,ff,fc,46,8c,17,00,ff,ff\n2014-08-15T19:02:35.156Z,4,129041,43,255,48,15,b2,54,2c,3b,f9,e2,bd,0e,f0,da,7a,23,70,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:35.191Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:35.218Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:35.243Z,4,129038,43,255,27,01,10,04,1a,0e,39,96,01,0f,4b,3a,af,23,88,83,b0,9c,02,c0,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:02:35.253Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:35.317Z,2,130306,115,255,8,00,3d,03,a5,1c,f2,ff,ff\n2014-08-15T19:02:35.343Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:35.353Z,4,129038,43,255,27,01,e0,53,7f,10,25,70,c8,0e,5a,1d,ac,23,90,6c,88,bf,05,08,66,08,ac,87,00,00,00,fe\n2014-08-15T19:02:35.357Z,3,130577,160,255,14,c0,25,3e,83,56,01,ff,ff,ff,ff,17,15,14,00\n2014-08-15T19:02:35.359Z,2,129025,160,255,8,77,99,98,23,19,2a,be,0e\n2014-08-15T19:02:35.403Z,4,129039,43,255,26,12,44,11,b6,0d,c4,28,be,0e,6a,98,98,23,8f,55,81,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:35.443Z,4,129038,43,255,27,01,c8,d4,7f,10,c9,e6,df,0e,5a,49,c6,23,89,f2,7b,33,04,08,66,08,72,7d,00,00,00,fe\n2014-08-15T19:02:35.455Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:35.464Z,3,127508,129,255,8,01,ae,05,59,08,1e,75,31\n2014-08-15T19:02:35.494Z,3,128267,115,255,8,00,ac,09,00,00,ff,ff,ff\n2014-08-15T19:02:35.496Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:35.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:35.556Z,2,129026,160,255,8,ff,fc,26,82,5b,01,ff,ff\n2014-08-15T19:02:35.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:35.676Z,6,129540,160,255,135,6d,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:35.678Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:35.796Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,56,3a,01,00\n2014-08-15T19:02:35.799Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:35.801Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:35.804Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:35.863Z,3,129029,160,255,43,26,a9,3f,ae,b5,dc,28,00,66,31,a6,f6,b0,49,08,00,06,ad,0b,a8,bd,6e,03,20,ed,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:35.866Z,3,129033,160,255,8,a9,3f,ae,b5,dc,28,b4,00\n2014-08-15T19:02:35.913Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,fa,f6,c7,23,00,b0,a9,dc,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:02:35.949Z,3,126992,160,255,8,ff,ff,a9,3f,72,bf,dc,28\n2014-08-15T19:02:36.003Z,3,127508,129,255,8,01,af,05,6a,08,1e,75,31\n2014-08-15T19:02:36.051Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:02:36.109Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:36.146Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:36.148Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:36.152Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:02:36.157Z,3,129291,160,255,8,ff,fc,17,15,14,00,ff,ff\n2014-08-15T19:02:36.178Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:36.209Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:36.299Z,2,130306,115,255,8,00,19,03,a5,1c,f2,ff,ff\n2014-08-15T19:02:36.319Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:36.359Z,3,130577,160,255,14,c0,26,26,82,5b,01,ff,ff,ff,ff,6c,46,2c,00\n2014-08-15T19:02:36.361Z,2,129025,160,255,8,37,98,98,23,c7,29,be,0e\n2014-08-15T19:02:36.393Z,7,129793,43,255,26,04,8e,18,23,00,60,82,c2,0f,e0,27,ed,23,00,b0,a9,dc,28,51,05,09,a9,3f,10,00,fc\n2014-08-15T19:02:36.433Z,4,129039,43,255,26,12,44,11,b6,0d,4f,28,be,0e,2d,97,98,23,93,49,82,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:36.459Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:36.471Z,3,127508,129,255,8,01,b0,05,65,08,1e,75,31\n2014-08-15T19:02:36.491Z,3,128267,115,255,8,00,ac,09,00,00,ff,ff,ff\n2014-08-15T19:02:36.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:36.519Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:36.560Z,2,129026,160,255,8,ff,fc,8f,82,62,01,ff,ff\n2014-08-15T19:02:36.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3d,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:36.625Z,4,129041,43,255,48,15,ac,54,2c,3b,5d,14,d3,0e,f8,e6,8e,23,80,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,35,39,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:36.688Z,6,129540,160,255,135,6e,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:36.690Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:02:36.733Z,4,129038,43,255,27,01,88,d6,d0,0c,7b,41,e6,0e,ba,5b,b8,23,91,60,98,41,03,08,66,00,65,99,00,00,00,fe\n2014-08-15T19:02:36.794Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,56,3a,01,00\n2014-08-15T19:02:36.796Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:36.799Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:36.801Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:36.865Z,3,129029,160,255,43,27,a9,3f,be,dc,dc,28,00,88,e4,71,ab,b0,49,08,00,72,12,c7,89,bd,6e,03,c0,e4,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:36.869Z,3,129033,160,255,8,a9,3f,be,dc,dc,28,b4,00\n2014-08-15T19:02:36.873Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,f9,5e,6e,23,90,61,6e,00,00,63,85,08,71,aa,00,00,00,fe\n2014-08-15T19:02:36.961Z,3,126992,160,255,8,ff,ff,a9,3f,8c,e6,dc,28\n2014-08-15T19:02:36.983Z,7,127506,129,255,9,32,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:37.003Z,4,129038,43,255,27,01,d4,e5,b5,0d,07,11,e1,0e,9f,25,de,23,94,7a,21,00,00,68,05,09,68,21,00,00,00,fe\n2014-08-15T19:02:37.055Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:02:37.087Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:37.130Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:37.133Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:37.135Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:37.160Z,3,129291,160,255,8,ff,fc,6c,46,2c,00,ff,ff\n2014-08-15T19:02:37.163Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:37.194Z,4,129038,43,255,27,01,68,e2,20,12,f2,9f,ff,0e,0d,7a,ad,23,94,8e,af,f2,01,6f,85,00,f1,b1,00,00,00,fe\n2014-08-15T19:02:37.196Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:37.203Z,3,127508,129,255,8,01,b0,05,54,08,1e,75,32\n2014-08-15T19:02:37.247Z,2,130306,115,255,8,00,09,03,76,14,f2,ff,ff\n2014-08-15T19:02:37.271Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:37.366Z,3,130577,160,255,14,c0,27,8f,82,62,01,ff,ff,ff,ff,6c,46,2c,00\n2014-08-15T19:02:37.368Z,2,129025,160,255,8,f4,96,98,23,45,29,be,0e\n2014-08-15T19:02:37.388Z,4,129039,43,255,26,12,ec,d7,b5,0d,12,f6,bb,0e,e0,85,90,23,96,38,7f,a5,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:37.423Z,4,129038,43,255,27,01,c8,27,16,0e,e5,3e,67,0e,40,d6,93,23,8d,56,30,50,03,c1,08,08,67,30,1a,00,00,fe\n2014-08-15T19:02:37.457Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:37.463Z,4,129039,43,255,26,12,44,11,b6,0d,a9,27,be,0e,e0,95,98,23,97,a6,83,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:37.470Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:37.490Z,3,128267,115,255,8,00,51,09,00,00,ff,ff,ff\n2014-08-15T19:02:37.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:37.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:37.533Z,4,129038,43,255,27,01,58,43,c9,0e,a4,ce,d8,0e,f8,f3,a9,23,98,f7,ac,cb,02,7c,85,00,88,ae,00,00,00,fe\n2014-08-15T19:02:37.572Z,2,129026,160,255,8,ff,fc,e6,82,66,01,ff,ff\n2014-08-15T19:02:37.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,03,00,02,03,04,00,00,00\n2014-08-15T19:02:37.604Z,4,129041,43,255,48,15,ab,54,2c,3b,8a,97,d4,0e,99,cf,94,23,80,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,31,35,37,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:37.644Z,4,129038,43,255,27,01,e0,53,7f,10,dc,65,c8,0e,d6,0e,ac,23,9c,f2,87,ba,05,7f,05,01,fd,86,ff,7f,00,fe\n2014-08-15T19:02:37.657Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:37.710Z,6,129540,160,255,135,6f,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,60,09,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,c4,09,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:37.712Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:02:37.791Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,56,3a,01,00\n2014-08-15T19:02:37.794Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:37.797Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:37.799Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:37.803Z,4,129038,43,255,27,01,b8,53,a6,0c,ed,57,7d,0e,40,b2,9f,23,98,ce,ab,73,02,86,05,01,d9,ad,00,00,00,fe\n2014-08-15T19:02:37.805Z,3,127508,129,255,8,01,b0,05,54,08,1e,75,32\n2014-08-15T19:02:37.876Z,3,129029,160,255,43,28,a9,3f,0a,04,dd,28,00,16,62,c6,5f,b0,49,08,00,24,5a,b0,65,bd,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:37.878Z,3,129033,160,255,8,a9,3f,0a,04,dd,28,b4,00\n2014-08-15T19:02:37.970Z,3,126992,160,255,8,ff,ff,a9,3f,d8,0d,dd,28\n2014-08-15T19:02:38.074Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:38.104Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:02:38.115Z,4,129041,43,255,48,15,b4,54,2c,3b,3c,ef,bb,0e,99,6e,87,23,84,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,32,32,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:38.142Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:38.144Z,3,127508,129,255,8,01,ae,05,10,08,1e,75,32\n2014-08-15T19:02:38.144Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:38.147Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:02:38.165Z,3,129291,160,255,8,ff,fc,05,5e,2e,00,ff,ff\n2014-08-15T19:02:38.173Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:38.203Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:38.245Z,2,130306,115,255,8,00,51,03,77,23,f2,ff,ff\n2014-08-15T19:02:38.265Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:38.325Z,3,127508,129,255,8,01,ae,05,0b,08,1e,75,32\n2014-08-15T19:02:38.368Z,3,130577,160,255,14,c0,28,e6,82,66,01,ff,ff,ff,ff,05,5e,2e,00\n2014-08-15T19:02:38.371Z,2,129025,160,255,8,af,95,98,23,aa,28,be,0e\n2014-08-15T19:02:38.443Z,4,129039,43,255,26,12,44,11,b6,0d,e1,26,be,0e,92,94,98,23,9b,4f,86,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:38.465Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:38.490Z,3,128267,115,255,8,00,66,09,00,00,ff,ff,ff\n2014-08-15T19:02:38.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:38.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:38.566Z,2,129026,160,255,8,ff,fc,ec,83,66,01,ff,ff\n2014-08-15T19:02:38.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:38.695Z,6,129540,160,255,135,70,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,8c,0a,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:38.697Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:38.757Z,6,129794,43,255,75,05,10,64,7b,10,00,00,00,00,45,53,32,35,34,39,40,50,49,4c,4f,54,20,41,48,54,4f,2d,31,39,40,40,40,40,40,40,40,32,8c,00,28,00,1e,00,64,00,52,40,00,00,00,00,96,00,56,49,52,54,53,55,40,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:02:38.789Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,56,3a,01,00\n2014-08-15T19:02:38.791Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:38.795Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:38.797Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:38.883Z,3,129029,160,255,43,29,a9,3f,38,2b,dd,28,00,2a,1b,bc,15,b0,49,08,00,1c,84,c7,3b,bd,6e,03,90,6f,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:38.885Z,3,129033,160,255,8,a9,3f,38,2b,dd,28,b4,00\n2014-08-15T19:02:38.967Z,3,126992,160,255,8,ff,ff,a9,3f,fc,34,dd,28\n2014-08-15T19:02:39.023Z,3,127508,129,255,8,01,b0,05,1c,08,1e,75,32\n2014-08-15T19:02:39.033Z,4,129038,43,255,27,01,10,dc,6d,0f,6d,ee,60,0e,c7,c1,9c,23,99,71,ad,83,02,b4,85,08,88,ae,f6,ff,00,fe\n2014-08-15T19:02:39.070Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:39.078Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:02:39.116Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:39.119Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:39.121Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:02:39.172Z,3,129291,160,255,8,ff,fc,ee,40,14,00,ff,ff\n2014-08-15T19:02:39.174Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:39.192Z,2,130306,115,255,8,00,c1,02,03,1e,f2,ff,ff\n2014-08-15T19:02:39.246Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:39.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:39.378Z,3,130577,160,255,14,c0,29,ec,83,66,01,ff,ff,ff,ff,ee,40,14,00\n2014-08-15T19:02:39.380Z,2,129025,160,255,8,71,94,98,23,f6,27,be,0e\n2014-08-15T19:02:39.445Z,7,127506,129,255,9,33,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:39.480Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:39.497Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:02:39.502Z,3,128267,115,255,8,00,c1,09,00,00,ff,ff,ff\n2014-08-15T19:02:39.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:39.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:39.533Z,4,129039,43,255,26,12,44,11,b6,0d,4b,26,be,0e,56,93,98,23,9f,ac,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:39.572Z,4,129038,43,255,27,01,e0,53,7f,10,49,5f,c8,0e,22,05,ac,23,a0,ac,87,b4,05,c4,85,09,fd,86,00,00,00,fe\n2014-08-15T19:02:39.576Z,2,129026,160,255,8,ff,fc,55,84,67,01,ff,ff\n2014-08-15T19:02:39.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:39.687Z,6,129794,43,255,75,05,19,49,11,20,72,fb,8f,00,56,37,53,57,37,20,20,56,38,20,53,54,45,41,4c,54,48,20,20,20,20,20,20,20,20,20,20,50,c4,09,b8,01,40,01,20,08,a9,3f,00,cc,bf,19,dc,05,4d,55,47,47,41,2c,20,45,53,54,4f,4e,49,41,20,20,20,20,20,20,04,e1\n2014-08-15T19:02:39.707Z,6,129540,160,255,135,71,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,f0,0a,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,fc,08,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:39.712Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:02:39.773Z,4,129038,43,255,27,01,92,12,4b,10,88,f7,fd,0e,80,85,ae,23,9c,e6,af,bb,02,d0,85,08,42,b1,fd,ff,00,fe\n2014-08-15T19:02:39.786Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,56,3a,01,00\n2014-08-15T19:02:39.789Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:39.791Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:39.794Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:39.863Z,4,129038,43,255,27,03,10,64,7b,10,13,55,c7,0e,16,d8,7f,23,98,00,00,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:02:39.880Z,3,129029,160,255,43,2a,a9,3f,5c,52,dd,28,00,08,6f,ed,cb,af,49,08,00,66,07,4f,0f,bd,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:39.882Z,3,129033,160,255,8,a9,3f,5c,52,dd,28,b4,00\n2014-08-15T19:02:39.913Z,4,129038,43,255,27,01,6c,70,4a,10,15,33,00,0f,16,a1,a3,23,9b,ee,35,bf,01,08,66,08,21,33,a3,ff,00,fe\n2014-08-15T19:02:39.962Z,4,129038,43,255,27,01,38,5e,49,16,8b,7a,ca,0e,a2,bf,76,23,9d,08,b3,00,00,08,66,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:39.976Z,3,126992,160,255,8,ff,ff,a9,3f,20,5c,dd,28\n2014-08-15T19:02:40.081Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:40.099Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:40.110Z,3,127508,129,255,8,01,ac,05,c1,07,1e,75,33\n2014-08-15T19:02:40.122Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,45,dd,28,dd,85,03,a9,3f,00,00,fc\n2014-08-15T19:02:40.137Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:40.139Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:40.141Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:40.161Z,2,130306,115,255,8,00,9d,02,3c,19,f2,ff,ff\n2014-08-15T19:02:40.174Z,3,129291,160,255,8,ff,fc,db,99,10,00,ff,ff\n2014-08-15T19:02:40.181Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:40.247Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:40.274Z,4,129041,43,255,48,15,af,54,2c,3b,33,ae,f9,0e,5b,05,84,23,88,14,00,14,00,0a,00,0a,00,15,02,e2,00,16,01,42,55,4f,59,2d,31,37,36,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:40.282Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:40.325Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:40.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,45,dd,28,e6,05,03,a9,3f,00,00,fc\n2014-08-15T19:02:40.383Z,3,130577,160,255,14,c0,2a,2c,83,64,01,ff,ff,ff,ff,db,99,10,00\n2014-08-15T19:02:40.385Z,2,129025,160,255,8,f4,91,98,23,be,26,be,0e\n2014-08-15T19:02:40.463Z,4,129039,43,255,26,12,44,11,b6,0d,f7,25,be,0e,08,92,98,23,a3,21,81,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:40.482Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:40.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:40.507Z,3,128267,115,255,8,00,c1,09,00,00,ff,ff,ff\n2014-08-15T19:02:40.537Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:40.540Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:40.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,03,00,02,03,04,00,00,00\n2014-08-15T19:02:40.583Z,2,129026,160,255,8,ff,fc,2c,83,64,01,ff,ff\n2014-08-15T19:02:40.594Z,4,129041,43,255,48,15,b9,54,2c,3b,95,78,54,0e,e0,a1,6a,23,90,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,33,38,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:40.711Z,6,129540,160,255,135,72,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:40.714Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:02:40.732Z,4,129038,43,255,27,01,b0,79,7a,10,98,a3,d3,0e,91,27,81,23,98,6b,d9,e3,01,ba,08,00,2a,da,0a,00,00,fe\n2014-08-15T19:02:40.784Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,68,3a,01,00\n2014-08-15T19:02:40.786Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:40.790Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:40.792Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:40.812Z,4,129038,43,255,27,01,88,44,7d,10,34,23,c7,0e,a8,ec,7f,23,9c,f9,46,05,00,21,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:40.895Z,3,129029,160,255,43,2b,a9,3f,4e,79,dd,28,00,88,f2,6b,81,af,49,08,00,ec,dd,22,f3,bc,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:40.897Z,3,129033,160,255,8,a9,3f,4e,79,dd,28,b4,00\n2014-08-15T19:02:40.956Z,4,129038,43,255,27,01,02,8b,c4,0d,0c,13,e1,0e,21,4e,ca,23,a4,cf,7e,5d,01,c2,08,00,37,82,00,00,00,fe\n2014-08-15T19:02:40.992Z,3,126992,160,255,8,ff,ff,a9,3f,12,83,dd,28\n2014-08-15T19:02:41.078Z,6,129794,43,255,75,05,e0,53,7f,10,51,3a,8b,00,45,53,4a,4b,20,20,20,4b,41,52,4f,4c,49,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,28,a4,01,78,00,3c,00,36,01,a9,3f,00,54,ea,2a,a0,00,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:02:41.080Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:41.094Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:02:41.115Z,4,129039,43,255,26,12,9e,d6,c3,0d,80,97,c5,0e,5e,67,94,23,a2,2d,56,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:41.116Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:41.118Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:41.124Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:41.149Z,2,130306,115,255,8,00,75,03,77,23,f2,ff,ff\n2014-08-15T19:02:41.180Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:41.184Z,3,129291,160,255,8,ff,fc,c3,69,2c,00,ff,ff\n2014-08-15T19:02:41.188Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:41.197Z,4,129039,43,255,26,12,66,58,b6,0d,9e,32,bc,0e,ba,7f,93,23,a3,72,80,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:41.200Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:41.209Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:41.232Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:41.352Z,4,129038,43,255,27,01,b8,f5,67,12,13,64,8c,0e,d4,3c,90,23,a4,34,2d,d1,03,0b,06,03,50,2c,00,00,00,fe\n2014-08-15T19:02:41.387Z,3,130577,160,255,14,c0,2b,60,83,5d,01,ff,ff,ff,ff,c3,69,2c,00\n2014-08-15T19:02:41.389Z,2,129025,160,255,8,c3,90,98,23,53,26,be,0e\n2014-08-15T19:02:41.434Z,4,129038,43,255,27,01,e0,53,7f,10,f7,5b,c8,0e,51,00,ac,23,a8,9b,87,b4,05,0e,86,00,fd,86,00,00,00,fe\n2014-08-15T19:02:41.473Z,4,129038,43,255,27,01,c8,d4,7f,10,7c,e5,df,0e,91,32,c6,23,a1,f2,7b,33,04,0f,86,00,72,7d,00,00,00,fe\n2014-08-15T19:02:41.488Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:41.490Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:41.494Z,3,128267,115,255,8,00,8a,09,00,00,ff,ff,ff\n2014-08-15T19:02:41.512Z,4,129039,43,255,26,12,44,11,b6,0d,83,25,be,0e,dc,90,98,23,a7,db,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:41.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:41.553Z,4,129038,43,255,27,01,98,69,b3,0e,47,35,91,0e,b4,e1,a0,23,9d,08,b0,f8,01,11,86,08,42,b1,00,00,00,fe\n2014-08-15T19:02:41.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,2f,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:41.584Z,2,129026,160,255,8,ff,fc,60,83,5d,01,ff,ff\n2014-08-15T19:02:41.711Z,6,129540,160,255,135,73,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:41.713Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:41.715Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:41.782Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,68,3a,01,00\n2014-08-15T19:02:41.784Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:41.787Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:41.789Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:41.874Z,4,129041,43,255,48,15,b8,54,2c,3b,e7,2f,a1,0e,18,ef,76,23,90,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,37,30,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:41.899Z,3,129029,160,255,43,2c,a9,3f,90,a0,dd,28,00,de,87,68,3a,af,49,08,00,7e,2b,39,da,bc,6e,03,50,d3,27,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:41.902Z,3,129033,160,255,8,a9,3f,90,a0,dd,28,b4,00\n2014-08-15T19:02:41.904Z,3,127508,129,255,8,01,ac,05,bc,07,1e,75,33\n2014-08-15T19:02:41.987Z,3,126992,160,255,8,ff,ff,a9,3f,54,aa,dd,28\n2014-08-15T19:02:42.023Z,3,127508,129,255,8,01,ac,05,c6,07,1e,75,33\n2014-08-15T19:02:42.037Z,6,129794,43,255,75,05,98,69,b3,0e,8a,cc,90,00,50,42,56,59,40,40,40,43,52,49,53,54,49,4e,41,40,40,40,40,40,40,40,40,40,40,40,40,46,34,03,78,00,3c,00,b2,02,ae,3f,00,a2,4a,04,ae,01,54,45,52,4e,45,55,5a,45,4e,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:02:42.085Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:02:42.087Z,2,130306,115,255,8,00,e5,02,c7,13,f2,ff,ff\n2014-08-15T19:02:42.111Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:42.144Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:42.180Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:42.182Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:42.184Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:42.191Z,3,129291,160,255,8,ff,fc,21,70,11,00,ff,ff\n2014-08-15T19:02:42.193Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:42.258Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:42.287Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:42.385Z,3,127508,129,255,8,01,b3,05,1f,08,1e,75,33\n2014-08-15T19:02:42.391Z,3,130577,160,255,14,c0,2c,1b,83,5f,01,ff,ff,ff,ff,21,70,11,00\n2014-08-15T19:02:42.394Z,2,129025,160,255,8,97,8f,98,23,d4,25,be,0e\n2014-08-15T19:02:42.442Z,4,129038,43,255,27,01,58,eb,ad,0e,2d,d9,5c,0e,fc,65,8f,23,af,96,2f,d4,01,08,66,08,5c,2e,00,00,00,fe\n2014-08-15T19:02:42.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:42.491Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:42.494Z,3,128267,115,255,8,00,63,09,00,00,ff,ff,ff\n2014-08-15T19:02:42.497Z,4,129039,43,255,26,12,44,11,b6,0d,0e,25,be,0e,b0,8f,98,23,ab,e1,81,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:42.512Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:42.572Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,96,31,d3,23,00,10,94,dd,28,77,40,09,a9,3f,10,00,fc\n2014-08-15T19:02:42.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:42.591Z,2,129026,160,255,8,ff,fc,1b,83,5f,01,ff,ff\n2014-08-15T19:02:42.594Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:42.605Z,3,127508,129,255,8,01,b1,05,ee,07,1e,75,33\n2014-08-15T19:02:42.719Z,6,129540,160,255,135,74,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,54,0b,00,00,00,00,f2,14,17,13,ce,ab,8c,0a,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,1c,0c,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:42.721Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:02:42.780Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,68,3a,01,00\n2014-08-15T19:02:42.783Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:42.787Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:42.788Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:42.884Z,4,129041,43,255,48,15,b6,54,2c,3b,f3,e8,80,0e,ff,f5,76,23,98,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,36,38,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:42.894Z,3,129029,160,255,43,2d,a9,3f,82,c7,dd,28,00,26,23,8f,f4,ae,49,08,00,48,61,a7,bc,bc,6e,03,f0,ca,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:42.896Z,3,129033,160,255,8,a9,3f,82,c7,dd,28,b4,00\n2014-08-15T19:02:42.991Z,3,126992,160,255,8,ff,ff,a9,3f,46,d1,dd,28\n2014-08-15T19:02:43.032Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,82,68,e2,23,00,20,bb,dd,28,08,66,00,a9,3f,10,00,fc\n2014-08-15T19:02:43.068Z,2,130306,115,255,8,00,51,03,1a,22,f2,ff,ff\n2014-08-15T19:02:43.087Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:02:43.089Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:43.127Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:43.139Z,7,127506,129,255,9,34,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:43.171Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:43.174Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:43.175Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:43.194Z,3,129291,160,255,8,ff,fc,d5,6b,26,00,ff,ff\n2014-08-15T19:02:43.204Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:43.224Z,4,129038,43,255,27,01,b8,83,92,0e,98,b9,e0,0e,c2,c8,75,23,ac,8e,c1,05,00,be,08,00,07,d4,00,00,00,fe\n2014-08-15T19:02:43.234Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:43.262Z,4,129038,43,255,27,01,88,d6,d0,0c,75,29,e6,0e,f8,4e,b8,23,a9,4f,98,41,03,b6,08,08,65,99,00,00,00,fe\n2014-08-15T19:02:43.323Z,4,129038,43,255,27,01,08,99,b5,0d,95,0b,cc,0e,4d,7e,a5,23,b0,50,4a,49,01,39,c0,00,f3,48,00,00,00,fe\n2014-08-15T19:02:43.390Z,3,130577,160,255,14,c0,2d,7e,82,5d,01,ff,ff,ff,ff,d5,6b,26,00\n2014-08-15T19:02:43.392Z,2,129025,160,255,8,5b,8e,98,23,77,25,be,0e\n2014-08-15T19:02:43.412Z,4,129038,43,255,27,01,c8,27,16,0e,0d,62,67,0e,fa,db,93,23,a5,8b,30,50,03,33,c0,00,67,30,14,00,00,fe\n2014-08-15T19:02:43.452Z,4,129038,43,255,27,01,08,7b,ba,0d,53,7a,94,0e,08,3f,bd,23,a9,89,9f,7c,01,7f,86,01,e5,a0,00,00,00,fe\n2014-08-15T19:02:43.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:43.492Z,3,128267,115,255,8,00,63,09,00,00,ff,ff,ff\n2014-08-15T19:02:43.498Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:43.501Z,3,127508,129,255,8,01,b0,05,cf,07,1e,75,34\n2014-08-15T19:02:43.502Z,4,129039,43,255,26,12,44,11,b6,0d,aa,24,be,0e,84,8e,98,23,af,0f,81,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:43.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:43.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,25,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:43.600Z,2,129026,160,255,8,ff,fc,7e,82,5d,01,ff,ff\n2014-08-15T19:02:43.727Z,6,129540,160,255,135,75,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,b8,0b,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:43.729Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:43.745Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:43.777Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,68,3a,01,00\n2014-08-15T19:02:43.780Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:43.784Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:43.785Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:43.899Z,3,129029,160,255,43,2e,a9,3f,74,ee,dd,28,00,ce,11,fc,aa,ae,49,08,00,e6,25,00,a7,bc,6e,03,40,ac,27,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:43.902Z,3,129033,160,255,8,a9,3f,74,ee,dd,28,b4,00\n2014-08-15T19:02:43.995Z,3,126992,160,255,8,ff,ff,a9,3f,38,f8,dd,28\n2014-08-15T19:02:44.072Z,4,129038,43,255,27,01,b0,7f,79,10,45,d2,b4,0e,c8,7c,6f,23,ac,03,a6,00,00,71,86,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:44.083Z,2,130306,115,255,8,00,d6,02,82,16,f2,ff,ff\n2014-08-15T19:02:44.087Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:44.098Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:02:44.108Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:44.142Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:44.174Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:44.178Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:44.180Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:44.200Z,3,129291,160,255,8,ff,fc,29,49,25,00,ff,ff\n2014-08-15T19:02:44.233Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:44.264Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:44.312Z,4,129038,43,255,27,01,20,f6,7e,10,c2,35,c7,0e,e6,ea,7f,23,ad,39,31,05,00,3d,c0,08,c2,c7,00,00,0f,fe\n2014-08-15T19:02:44.420Z,3,130577,160,255,14,c0,2e,38,82,62,01,ff,ff,ff,ff,29,49,25,00\n2014-08-15T19:02:44.424Z,2,129025,160,255,8,22,8d,98,23,16,25,be,0e\n2014-08-15T19:02:44.487Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:44.490Z,3,128267,115,255,8,00,b8,09,00,00,ff,ff,ff\n2014-08-15T19:02:44.512Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:44.514Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:44.524Z,4,129039,43,255,26,12,44,11,b6,0d,25,24,be,0e,48,8d,98,23,b3,e1,81,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:44.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:44.602Z,2,129026,160,255,8,ff,fc,38,82,62,01,ff,ff\n2014-08-15T19:02:44.631Z,3,127508,129,255,8,01,ac,05,79,07,1e,75,34\n2014-08-15T19:02:44.703Z,3,127508,129,255,8,01,b0,05,ba,07,1e,75,34\n2014-08-15T19:02:44.713Z,4,129038,43,255,27,01,28,f5,77,10,03,ec,9f,0e,32,69,74,23,ac,a2,49,90,00,8e,08,08,21,42,ff,7f,00,fe\n2014-08-15T19:02:44.730Z,6,129540,160,255,135,76,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,54,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,b8,0b,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:44.733Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:44.776Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,68,3a,01,00\n2014-08-15T19:02:44.779Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:44.781Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:44.784Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:44.915Z,4,129041,43,255,48,15,a9,54,2c,3b,69,90,03,0f,94,0f,84,23,a0,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,31,34,38,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:44.922Z,3,129029,160,255,43,2f,a9,3f,b6,15,de,28,00,d4,d0,1b,62,ae,49,08,00,5c,7f,6a,90,bc,6e,03,30,f6,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:44.933Z,3,129033,160,255,8,a9,3f,b6,15,de,28,b4,00\n2014-08-15T19:02:44.953Z,4,129038,43,255,27,01,d2,ff,4a,10,4c,8a,b1,0e,c7,01,71,23,b1,a4,ec,00,00,4c,c0,08,37,91,03,00,00,fe\n2014-08-15T19:02:45.014Z,3,126992,160,255,8,ff,ff,a9,3f,7a,1f,de,28\n2014-08-15T19:02:45.055Z,3,127508,129,255,8,01,ae,05,8a,07,1e,75,34\n2014-08-15T19:02:45.062Z,2,130306,115,255,8,00,47,03,48,1b,f2,ff,ff\n2014-08-15T19:02:45.094Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:45.114Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:02:45.120Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:45.156Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:45.158Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:45.161Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:02:45.209Z,3,129291,160,255,8,ff,fc,39,5b,27,00,ff,ff\n2014-08-15T19:02:45.215Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:45.243Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:45.283Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:45.433Z,4,129038,43,255,27,01,e0,53,7f,10,f9,4a,c8,0e,3a,e8,ab,23,b8,15,88,af,05,a4,06,01,fd,86,00,00,00,fe\n2014-08-15T19:02:45.467Z,3,130577,160,255,14,c0,2f,a1,82,66,01,ff,ff,ff,ff,39,5b,27,00\n2014-08-15T19:02:45.474Z,2,129025,160,255,8,e3,8b,98,23,92,24,be,0e\n2014-08-15T19:02:45.509Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:45.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:45.513Z,3,128267,115,255,8,00,b8,09,00,00,ff,ff,ff\n2014-08-15T19:02:45.533Z,4,129039,43,255,26,12,44,11,b6,0d,7e,23,be,0e,1c,8c,98,23,b7,b8,83,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:45.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:45.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:45.611Z,2,129026,160,255,8,ff,fc,a1,82,66,01,ff,ff\n2014-08-15T19:02:45.623Z,4,129038,43,255,27,01,fc,ff,e9,25,2d,83,2a,0f,5d,a5,be,23,b1,2b,bc,c5,02,08,66,08,7c,bb,14,00,00,fe\n2014-08-15T19:02:45.668Z,3,127508,129,255,8,01,b0,05,9f,07,1e,75,34\n2014-08-15T19:02:45.674Z,4,129039,43,255,26,12,c4,e2,c3,0d,35,84,c1,0e,6a,ce,95,23,b4,a1,58,72,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:02:45.714Z,4,129039,43,255,26,12,0a,ec,b5,0d,93,dd,c9,0e,60,9f,92,23,b0,56,54,a5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:45.723Z,7,127506,129,255,9,35,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:45.746Z,6,129540,160,255,135,77,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,c4,09,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:45.748Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:45.774Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,7b,3a,01,00\n2014-08-15T19:02:45.776Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:45.780Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:45.782Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:45.914Z,3,129029,160,255,43,30,a9,3f,ee,3c,de,28,00,1e,ef,d5,17,ae,49,08,00,34,af,ae,71,bc,6e,03,b0,bd,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:45.914Z,3,129033,160,255,8,a9,3f,ee,3c,de,28,b4,00\n2014-08-15T19:02:45.920Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,fa,f6,c7,23,00,50,30,de,28,b6,06,01,a9,3f,10,00,fc\n2014-08-15T19:02:46.011Z,3,126992,160,255,8,ff,ff,a9,3f,b2,46,de,28\n2014-08-15T19:02:46.043Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:46.080Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:46.082Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:46.088Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:46.103Z,2,130306,115,255,8,00,04,03,d5,24,f2,ff,ff\n2014-08-15T19:02:46.107Z,4,129038,43,255,27,03,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,b1,b7,98,00,00,00,00,00,b7,98,00,00,05,fe\n2014-08-15T19:02:46.113Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:46.166Z,3,127508,129,255,8,01,b0,05,99,07,1e,75,35\n2014-08-15T19:02:46.183Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:46.212Z,3,129291,160,255,8,ff,fc,39,5b,27,00,ff,ff\n2014-08-15T19:02:46.214Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:46.245Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:46.413Z,3,130577,160,255,14,c0,30,1b,83,67,01,ff,ff,ff,ff,0b,5f,2b,00\n2014-08-15T19:02:46.415Z,2,129025,160,255,8,a2,8a,98,23,fc,23,be,0e\n2014-08-15T19:02:46.473Z,6,129809,43,255,25,18,44,e0,c3,0d,50,41,4e,41,53,4f,4e,49,43,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:46.485Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:46.487Z,3,128267,115,255,8,00,54,09,00,00,ff,ff,ff\n2014-08-15T19:02:46.513Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:46.519Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:46.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,45,02,02,00,04,06,03,00,00,00\n2014-08-15T19:02:46.587Z,6,129794,43,255,75,05,f8,4f,7f,10,b7,17,90,00,45,53,4a,4a,40,40,40,42,41,4c,54,49,43,20,51,55,45,45,4e,40,40,40,40,40,40,40,40,3d,48,08,54,01,aa,00,22,01,a9,3f,00,03,c5,28,76,02,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:02:46.612Z,2,129026,160,255,8,ff,fc,1b,83,67,01,ff,ff\n2014-08-15T19:02:46.623Z,4,129039,43,255,26,12,44,11,b6,0d,d7,22,be,0e,df,8a,98,23,bb,89,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:46.663Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,52,5e,6e,23,b4,07,f2,00,00,d0,86,01,71,aa,00,00,00,fe\n2014-08-15T19:02:46.713Z,4,129038,43,255,27,01,10,04,1a,0e,c3,66,01,0f,d9,33,af,23,b4,83,b0,9c,02,08,66,08,9f,b2,00,00,00,fe\n2014-08-15T19:02:46.720Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:46.751Z,6,129540,160,255,135,78,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,8c,0a,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,e4,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:46.753Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:02:46.772Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,7b,3a,01,00\n2014-08-15T19:02:46.776Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:46.777Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:46.780Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:46.914Z,3,129029,160,255,43,31,a9,3f,fe,63,de,28,00,d4,d7,18,cd,ad,49,08,00,d8,fc,c1,4e,bc,6e,03,00,9f,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:46.916Z,3,129033,160,255,8,a9,3f,fe,63,de,28,b4,00\n2014-08-15T19:02:47.008Z,3,126992,160,255,8,ff,ff,a9,3f,cc,6d,de,28\n2014-08-15T19:02:47.062Z,2,130306,115,255,8,00,d6,02,8e,18,f2,ff,ff\n2014-08-15T19:02:47.088Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:47.110Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:47.120Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:47.155Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:47.155Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:47.157Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:47.160Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:47.188Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:47.212Z,3,129291,160,255,8,ff,fc,0b,5f,2b,00,ff,ff\n2014-08-15T19:02:47.219Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:47.223Z,4,129038,43,255,27,01,b8,f5,67,12,80,8f,8c,0e,45,46,90,23,bc,45,2d,d1,03,e7,06,0b,50,2c,00,00,00,fe\n2014-08-15T19:02:47.264Z,3,127508,129,255,8,01,ae,05,59,07,1e,75,35\n2014-08-15T19:02:47.353Z,4,129038,43,255,27,01,e0,53,7f,10,96,47,c8,0e,58,e3,ab,23,c0,e0,87,b4,05,ce,08,08,fd,86,00,00,00,fe\n2014-08-15T19:02:47.410Z,3,130577,160,255,14,c0,31,3e,83,69,01,ff,ff,ff,ff,02,63,13,00\n2014-08-15T19:02:47.412Z,2,129025,160,255,8,69,89,98,23,5c,23,be,0e\n2014-08-15T19:02:47.495Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:47.497Z,3,128267,115,255,8,00,54,09,00,00,ff,ff,ff\n2014-08-15T19:02:47.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:47.520Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:47.563Z,4,129039,43,255,26,12,44,11,b6,0d,41,22,be,0e,b3,89,98,23,bf,95,83,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:47.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,2d,02,02,00,00,00,04,00,00,00\n2014-08-15T19:02:47.596Z,3,127508,129,255,8,01,b0,05,74,07,1e,75,35\n2014-08-15T19:02:47.626Z,2,129026,160,255,8,ff,fc,3e,83,69,01,ff,ff\n2014-08-15T19:02:47.644Z,4,129038,43,255,27,01,c8,d4,7f,10,88,e3,df,0e,c8,1b,c6,23,b9,be,7b,38,04,f7,86,08,72,7d,00,00,00,fe\n2014-08-15T19:02:47.759Z,6,129540,160,255,135,79,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,8c,0a,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,80,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:47.761Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:47.769Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,7b,3a,01,00\n2014-08-15T19:02:47.772Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:47.774Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:47.777Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:47.840Z,3,127508,129,255,8,01,af,05,5c,07,1e,75,35\n2014-08-15T19:02:47.913Z,4,129038,43,255,27,01,58,43,c9,0e,77,9e,d8,0e,43,ed,a9,23,c0,a6,ad,cb,02,01,87,08,88,ae,00,00,00,fe\n2014-08-15T19:02:47.940Z,3,129029,160,255,43,32,a9,3f,22,8b,de,28,00,da,96,38,84,ad,49,08,00,98,3e,81,29,bc,6e,03,30,14,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:47.942Z,3,129033,160,255,8,a9,3f,22,8b,de,28,b4,00\n2014-08-15T19:02:47.973Z,6,129810,43,255,33,18,44,e0,c3,0d,25,54,52,55,45,48,44,47,4f,47,37,33,39,39,40,8c,00,28,00,0a,00,82,00,00,00,00,00,00\n2014-08-15T19:02:48.025Z,3,126992,160,255,8,ff,ff,a9,3f,e6,94,de,28\n2014-08-15T19:02:48.035Z,2,130306,115,255,8,00,66,03,48,1b,f2,ff,ff\n2014-08-15T19:02:48.087Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:48.117Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:48.125Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:02:48.156Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:48.158Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:48.161Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:48.187Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:48.222Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:48.227Z,3,129291,160,255,8,ff,fc,02,63,13,00,ff,ff\n2014-08-15T19:02:48.234Z,4,129038,43,255,27,01,92,12,4b,10,73,c3,fd,0e,fd,7e,ae,23,f0,e6,af,bb,02,bb,08,00,42,b1,21,00,00,fe\n2014-08-15T19:02:48.283Z,4,129038,43,255,27,01,b8,53,a6,0c,43,2e,7d,0e,6a,ab,9f,23,c0,ce,ab,73,02,0f,87,08,d9,ad,00,00,00,fe\n2014-08-15T19:02:48.434Z,3,130577,160,255,14,c0,32,f8,82,66,01,ff,ff,ff,ff,8f,61,10,00\n2014-08-15T19:02:48.438Z,2,129025,160,255,8,32,88,98,23,d9,22,be,0e\n2014-08-15T19:02:48.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:48.488Z,3,128267,115,255,8,00,91,09,00,00,ff,ff,ff\n2014-08-15T19:02:48.507Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:02:48.513Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:48.520Z,3,127508,129,255,8,01,ac,05,12,07,1e,75,35\n2014-08-15T19:02:48.530Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:48.573Z,4,129039,43,255,26,12,44,11,b6,0d,cd,21,be,0e,76,88,98,23,c3,a1,82,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:48.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,22,02,03,00,00,00,04,00,00,00\n2014-08-15T19:02:48.626Z,2,129026,160,255,8,ff,fc,f8,82,66,01,ff,ff\n2014-08-15T19:02:48.713Z,4,129039,43,255,26,12,fe,ea,8e,0f,80,be,99,0e,46,33,ae,23,bc,70,e0,e2,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:48.756Z,6,129540,160,255,135,7a,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,8c,0a,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,3c,0f,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:48.758Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:48.767Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,7b,3a,01,00\n2014-08-15T19:02:48.770Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:48.772Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:48.775Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:48.869Z,7,127506,129,255,9,36,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:48.893Z,4,129038,43,255,27,01,68,e2,20,12,8a,76,ff,0e,f3,75,ad,23,c4,8e,af,fd,01,64,c0,09,f1,b1,00,00,00,fe\n2014-08-15T19:02:48.934Z,3,129029,160,255,43,33,a9,3f,32,b2,de,28,00,74,8b,cf,3b,ad,49,08,00,3a,09,01,0b,bc,6e,03,b0,db,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:48.936Z,3,129033,160,255,8,a9,3f,32,b2,de,28,b4,00\n2014-08-15T19:02:49.029Z,3,126992,160,255,8,ff,ff,a9,3f,00,bc,de,28\n2014-08-15T19:02:49.044Z,2,130306,115,255,8,00,ff,02,0e,20,f2,ff,ff\n2014-08-15T19:02:49.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:49.073Z,4,129038,43,255,27,01,c8,27,16,0e,bf,7c,67,0e,89,e0,93,23,b9,ae,30,50,03,34,40,09,67,30,1a,00,00,fe\n2014-08-15T19:02:49.102Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:49.134Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:02:49.141Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:49.144Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:49.146Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:49.163Z,4,129038,43,255,27,01,10,dc,6d,0f,23,c0,60,0e,b8,be,9c,23,c1,b7,ad,83,02,08,66,00,88,ae,ec,ff,00,fe\n2014-08-15T19:02:49.175Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:49.203Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:49.230Z,3,129291,160,255,8,ff,fc,8f,61,10,00,ff,ff\n2014-08-15T19:02:49.242Z,4,129038,43,255,27,01,88,d6,d0,0c,90,11,e6,0e,35,42,b8,23,c1,2c,98,41,03,ba,08,00,65,99,00,00,00,fe\n2014-08-15T19:02:49.434Z,3,130577,160,255,14,c0,33,d5,82,68,01,ff,ff,ff,ff,39,62,29,00\n2014-08-15T19:02:49.437Z,2,129025,160,255,8,f3,86,98,23,65,22,be,0e\n2014-08-15T19:02:49.445Z,3,127508,129,255,8,01,b0,05,51,07,1e,75,36\n2014-08-15T19:02:49.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:49.492Z,3,128267,115,255,8,00,7e,09,00,00,ff,ff,ff\n2014-08-15T19:02:49.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:49.536Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:49.545Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:49.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,44,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:49.605Z,4,129041,43,255,48,15,b3,54,2c,3b,54,31,c1,0e,87,73,76,23,b4,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,33,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:49.637Z,2,129026,160,255,8,ff,fc,d5,82,68,01,ff,ff\n2014-08-15T19:02:49.643Z,4,129039,43,255,26,12,44,11,b6,0d,37,21,be,0e,3a,87,98,23,c7,f8,82,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:49.683Z,4,129038,43,255,27,01,e0,53,7f,10,6e,3d,c8,0e,d4,d4,ab,23,cc,cf,87,ba,05,08,66,00,fd,86,ff,7f,00,fe\n2014-08-15T19:02:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,d1,4e,00,0f,d2,a3,a3,23,bf,cb,35,ba,01,1c,40,01,21,33,a3,ff,00,fe\n2014-08-15T19:02:49.765Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,7b,3a,01,00\n2014-08-15T19:02:49.779Z,6,129540,160,255,135,7b,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,8c,0a,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,ac,0d,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,d8,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,c4,09,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:49.781Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:02:49.784Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:49.786Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:49.789Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:49.853Z,4,129038,43,255,27,01,88,44,7d,10,87,23,c7,0e,b9,ec,7f,23,c0,19,ec,00,00,4a,87,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:02:49.948Z,3,129029,160,255,43,34,a9,3f,4c,d9,de,28,00,be,a9,89,f1,ac,49,08,00,b2,e5,fe,ef,bb,6e,03,40,e8,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:49.950Z,3,129033,160,255,8,a9,3f,4c,d9,de,28,b4,00\n2014-08-15T19:02:49.986Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:50.042Z,3,126992,160,255,8,ff,ff,a9,3f,1a,e3,de,28\n2014-08-15T19:02:50.063Z,2,130306,115,255,8,00,19,03,54,1d,f2,ff,ff\n2014-08-15T19:02:50.087Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:50.119Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:50.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,cc,de,28,54,87,0b,a9,3f,00,00,fc\n2014-08-15T19:02:50.137Z,3,127508,129,255,8,01,b0,05,49,07,1e,75,36\n2014-08-15T19:02:50.145Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:02:50.155Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:50.157Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:50.159Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:50.235Z,3,129291,160,255,8,ff,fc,39,62,29,00,ff,ff\n2014-08-15T19:02:50.240Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:50.268Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:50.297Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:50.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,cc,de,28,5d,87,0a,a9,3f,00,00,fc\n2014-08-15T19:02:50.442Z,3,130577,160,255,14,c0,34,72,83,67,01,ff,ff,ff,ff,39,62,29,00\n2014-08-15T19:02:50.445Z,2,129025,160,255,8,bf,85,98,23,d2,21,be,0e\n2014-08-15T19:02:50.483Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:50.485Z,3,128267,115,255,8,00,14,0a,00,00,ff,ff,ff\n2014-08-15T19:02:50.507Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:50.539Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:50.544Z,3,127508,129,255,8,01,b0,05,41,07,1e,75,36\n2014-08-15T19:02:50.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,48,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:50.602Z,4,129039,43,255,26,12,44,11,b6,0d,7f,20,be,0e,fd,85,98,23,cb,20,84,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:50.640Z,2,129026,160,255,8,ff,fc,72,83,67,01,ff,ff\n2014-08-15T19:02:50.663Z,3,127508,129,255,8,01,b0,05,32,07,1e,75,36\n2014-08-15T19:02:50.732Z,4,129038,43,255,27,01,98,69,b3,0e,7c,16,91,0e,30,de,a0,23,c1,c3,af,f8,01,6b,87,00,94,b0,00,00,00,fe\n2014-08-15T19:02:50.762Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,8d,3a,01,00\n2014-08-15T19:02:50.765Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:50.767Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:50.770Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:50.778Z,3,127508,129,255,8,01,ac,05,e6,06,1e,75,36\n2014-08-15T19:02:50.783Z,6,129540,160,255,135,7c,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,d8,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,00,00,00,00,00,00,f0\n2014-08-15T19:02:50.788Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:02:50.930Z,7,127506,129,255,9,37,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:50.945Z,3,129029,160,255,43,35,a9,3f,66,00,df,28,00,b6,6e,d3,a9,ac,49,08,00,b4,03,c5,cd,bb,6e,03,90,ab,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:50.951Z,3,129033,160,255,8,a9,3f,66,00,df,28,b4,00\n2014-08-15T19:02:51.041Z,3,126992,160,255,8,ff,ff,a9,3f,2a,0a,df,28\n2014-08-15T19:02:51.063Z,2,130306,115,255,8,00,04,03,3c,19,f2,ff,ff\n2014-08-15T19:02:51.064Z,4,129038,43,255,27,01,fc,ff,e9,25,9f,65,2a,0f,dc,a6,be,23,c9,2b,bc,cb,02,eb,08,00,7c,bb,c5,ff,00,fe\n2014-08-15T19:02:51.080Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:51.113Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:51.144Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:02:51.150Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:51.153Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:51.157Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:51.184Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:51.212Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:51.238Z,3,129291,160,255,8,ff,fc,9d,6b,0d,00,ff,ff\n2014-08-15T19:02:51.241Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:02:51.373Z,4,129038,43,255,27,01,b0,79,7a,10,81,8b,d3,0e,3d,35,81,23,c4,8d,d9,e3,01,46,c0,08,2a,da,00,00,00,fe\n2014-08-15T19:02:51.448Z,3,130577,160,255,14,c0,35,8f,82,6b,01,ff,ff,ff,ff,9d,6b,0d,00\n2014-08-15T19:02:51.450Z,2,129025,160,255,8,7f,84,98,23,51,21,be,0e\n2014-08-15T19:02:51.484Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:51.486Z,3,128267,115,255,8,00,4a,09,00,00,ff,ff,ff\n2014-08-15T19:02:51.490Z,3,127508,129,255,8,01,ac,05,b8,06,1e,75,37\n2014-08-15T19:02:51.507Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:51.545Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:51.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:51.612Z,4,129039,43,255,26,12,44,11,b6,0d,0b,20,be,0e,b0,84,98,23,cf,c3,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:51.650Z,2,129026,160,255,8,ff,fc,8f,82,6b,01,ff,ff\n2014-08-15T19:02:51.654Z,4,129038,43,255,27,01,e0,53,7f,10,98,36,c8,0e,31,cb,ab,23,d4,e0,87,bf,05,c3,08,08,ac,87,ff,7f,00,fe\n2014-08-15T19:02:51.702Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:51.761Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,8d,3a,01,00\n2014-08-15T19:02:51.764Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:51.766Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:51.769Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:51.772Z,2,130306,115,255,8,00,61,03,d5,24,f2,ff,ff\n2014-08-15T19:02:51.784Z,6,129540,160,255,135,7d,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:02:51.787Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:51.790Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:02:51.951Z,3,129029,160,255,43,36,a9,3f,62,27,df,28,00,36,f2,51,5f,ac,49,08,00,ea,03,bc,af,bb,6e,03,00,bd,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:51.953Z,3,129033,160,255,8,a9,3f,62,27,df,28,b4,00\n2014-08-15T19:02:52.046Z,3,126992,160,255,8,ff,ff,a9,3f,26,31,df,28\n2014-08-15T19:02:52.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:52.103Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:02:52.139Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:52.142Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:52.144Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:02:52.148Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:02:52.172Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:52.204Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:52.233Z,4,129038,43,255,27,01,02,8b,c4,0d,71,10,e1,0e,c2,41,ca,23,d0,7e,7f,58,01,92,c0,08,e6,82,00,00,00,fe\n2014-08-15T19:02:52.251Z,3,129291,160,255,8,ff,fc,c6,6b,33,00,ff,ff\n2014-08-15T19:02:52.252Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:02:52.265Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:52.453Z,3,130577,160,255,14,c0,36,3e,83,6a,01,ff,ff,ff,ff,c6,6b,33,00\n2014-08-15T19:02:52.455Z,2,129025,160,255,8,42,83,98,23,c6,20,be,0e\n2014-08-15T19:02:52.494Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:52.496Z,3,128267,115,255,8,00,8e,09,00,00,ff,ff,ff\n2014-08-15T19:02:52.527Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:52.552Z,4,129039,43,255,26,12,06,a5,b5,0d,9e,90,bd,0e,9c,58,98,23,d0,83,86,5d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:52.554Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:52.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,4b,02,02,00,01,01,03,00,00,00\n2014-08-15T19:02:52.597Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,96,31,d3,23,00,b0,1a,df,28,b0,07,01,a9,3f,10,00,fc\n2014-08-15T19:02:52.634Z,4,129039,43,255,26,12,44,11,b6,0d,64,1f,be,0e,73,83,98,23,d3,be,84,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:52.646Z,2,129026,160,255,8,ff,fc,3e,83,6a,01,ff,ff\n2014-08-15T19:02:52.648Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:02:52.674Z,4,129038,43,255,27,01,b8,f5,67,12,9f,ae,8c,0e,4d,4d,90,23,d0,56,2d,d1,03,b2,87,02,ff,2c,00,00,00,fe\n2014-08-15T19:02:52.712Z,4,129038,43,255,27,01,08,99,b5,0d,1d,1f,cc,0e,4d,7e,a5,23,d8,50,4a,49,01,39,c0,08,f3,48,00,00,00,fe\n2014-08-15T19:02:52.738Z,2,130306,115,255,8,00,e0,02,3c,19,f2,ff,ff\n2014-08-15T19:02:52.758Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,8d,3a,01,00\n2014-08-15T19:02:52.761Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:52.764Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:52.766Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:52.768Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:52.789Z,6,129540,160,255,135,7e,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:52.791Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:52.912Z,3,127508,129,255,8,01,af,05,f4,06,1e,75,37\n2014-08-15T19:02:52.957Z,3,129029,160,255,43,37,a9,3f,a4,4e,df,28,00,14,46,83,15,ac,49,08,00,3c,f8,5e,8f,bb,6e,03,d0,47,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:52.959Z,3,129033,160,255,8,a9,3f,a4,4e,df,28,b4,00\n2014-08-15T19:02:52.976Z,3,127508,129,255,8,01,ae,05,c7,06,1e,75,37\n2014-08-15T19:02:52.983Z,4,129039,43,255,26,12,ca,0c,b7,0d,7c,6c,bd,0e,fd,aa,96,23,d0,32,7e,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:53.032Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,50,68,e2,23,00,c0,41,df,28,08,66,08,a9,3f,10,00,fc\n2014-08-15T19:02:53.054Z,3,126992,160,255,8,ff,ff,a9,3f,68,58,df,28\n2014-08-15T19:02:53.064Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:53.099Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:53.102Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:53.104Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:53.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:53.147Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:02:53.163Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:53.253Z,3,129291,160,255,8,ff,fc,6c,48,07,00,ff,ff\n2014-08-15T19:02:53.272Z,4,129038,43,255,27,01,b8,83,92,0e,d5,ba,e0,0e,4e,c8,75,23,d5,8e,c1,05,00,39,c0,08,07,d4,ff,7f,00,fe\n2014-08-15T19:02:53.392Z,3,127508,129,255,8,01,ae,05,be,06,1e,75,37\n2014-08-15T19:02:53.432Z,4,129038,43,255,27,03,10,c9,7f,10,9f,93,e8,0e,3b,eb,8b,23,d1,c4,55,00,00,6a,4d,09,65,c6,00,00,05,fe\n2014-08-15T19:02:53.452Z,3,130577,160,255,14,c0,37,09,83,6f,01,ff,ff,ff,ff,6c,48,07,00\n2014-08-15T19:02:53.455Z,2,129025,160,255,8,00,82,98,23,2f,20,be,0e\n2014-08-15T19:02:53.481Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:53.483Z,3,128267,115,255,8,00,8e,09,00,00,ff,ff,ff\n2014-08-15T19:02:53.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:53.556Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:53.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,27,02,03,00,01,01,04,00,00,00\n2014-08-15T19:02:53.593Z,4,129038,43,255,27,01,28,f5,77,10,85,f2,9f,0e,32,69,74,23,cc,44,48,90,00,d6,87,01,c4,40,ff,7f,00,fe\n2014-08-15T19:02:53.642Z,4,129039,43,255,26,12,44,11,b6,0d,ce,1e,be,0e,26,82,98,23,d7,e6,82,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:53.649Z,2,129026,160,255,8,ff,fc,09,83,6f,01,ff,ff\n2014-08-15T19:02:53.653Z,3,127508,129,255,8,01,b0,05,eb,06,1e,75,37\n2014-08-15T19:02:53.682Z,4,129038,43,255,27,01,e0,53,7f,10,a1,2f,c8,0e,7e,c1,ab,23,dc,49,88,ba,05,08,66,00,ac,87,00,00,00,fe\n2014-08-15T19:02:53.706Z,2,130306,115,255,8,00,32,03,6c,21,f2,ff,ff\n2014-08-15T19:02:53.742Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:53.753Z,4,129038,43,255,27,01,c8,d4,7f,10,4b,e2,df,0e,a5,05,c6,23,d1,be,7b,33,04,4c,40,01,72,7d,00,00,00,fe\n2014-08-15T19:02:53.756Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,8d,3a,01,00\n2014-08-15T19:02:53.759Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:53.761Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:53.766Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:53.808Z,6,129540,160,255,135,7f,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:53.810Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:02:53.814Z,4,129039,43,255,26,12,90,e4,c3,0d,a0,41,bf,0e,fb,83,7e,23,d0,a7,71,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:53.843Z,4,129038,43,255,27,01,20,f6,7e,10,05,36,c7,0e,e6,ea,7f,23,d5,39,31,05,00,d7,08,00,13,c7,00,00,0f,fe\n2014-08-15T19:02:53.846Z,7,127506,129,255,9,38,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:53.873Z,3,127508,129,255,8,01,af,05,bc,06,1e,75,38\n2014-08-15T19:02:53.942Z,4,129039,43,255,26,12,58,7f,b6,0d,c1,48,bc,0e,9a,b3,94,23,d7,03,7f,81,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:53.973Z,3,129029,160,255,43,38,a9,3f,82,7f,df,28,00,00,94,8a,ca,ab,49,08,00,16,ab,36,6c,bb,6e,03,80,84,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:53.976Z,3,129033,160,255,8,a9,3f,82,7f,df,28,b4,00\n2014-08-15T19:02:54.060Z,3,126992,160,255,8,ff,ff,a9,3f,82,7f,df,28\n2014-08-15T19:02:54.063Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:54.073Z,4,129038,43,255,27,01,38,5e,49,16,9b,7a,ca,0e,a2,bf,76,23,d5,7c,d0,00,00,08,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:54.102Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:54.105Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:54.107Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:02:54.133Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:54.165Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:54.167Z,2,128259,160,255,8,ff,ff,ff,6f,01,ff,ff,ff\n2014-08-15T19:02:54.204Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:54.266Z,3,129291,160,255,8,ff,fc,64,6b,19,00,ff,ff\n2014-08-15T19:02:54.285Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:54.463Z,3,130577,160,255,14,c0,38,c3,82,72,01,ff,ff,ff,ff,64,6b,19,00\n2014-08-15T19:02:54.465Z,2,129025,160,255,8,b4,80,98,23,b1,1f,be,0e\n2014-08-15T19:02:54.481Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:54.483Z,3,128267,115,255,8,00,da,09,00,00,ff,ff,ff\n2014-08-15T19:02:54.508Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:54.562Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:54.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:54.653Z,4,129039,43,255,26,12,44,11,b6,0d,6a,1e,be,0e,d8,80,98,23,db,89,81,86,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:54.663Z,2,129026,160,255,8,ff,fc,c3,82,72,01,ff,ff\n2014-08-15T19:02:54.675Z,2,130306,115,255,8,00,e0,02,54,1d,f2,ff,ff\n2014-08-15T19:02:54.683Z,3,127508,129,255,8,01,af,05,b9,06,1e,75,38\n2014-08-15T19:02:54.695Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:54.753Z,4,129038,43,255,27,01,c8,27,16,0e,8d,a0,67,0e,65,e6,93,23,d1,d1,30,50,03,34,c0,00,16,31,14,00,00,fe\n2014-08-15T19:02:54.756Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,8d,3a,01,00\n2014-08-15T19:02:54.759Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:54.761Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:54.764Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:54.785Z,3,127508,129,255,8,01,af,05,ac,06,1e,75,38\n2014-08-15T19:02:54.826Z,6,129540,160,255,135,80,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,b8,0b,00,00,00,00,f2,1c,d1,06,42,c0,34,08,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:54.828Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:02:54.893Z,4,129038,43,255,27,01,88,d6,d0,0c,ab,f9,e5,0e,62,35,b8,23,d9,3d,98,41,03,08,66,08,65,99,00,00,00,fe\n2014-08-15T19:02:54.973Z,3,129029,160,255,43,39,a9,3f,9c,a6,df,28,00,08,d6,3d,7d,ab,49,08,00,aa,7b,e0,4e,bb,6e,03,00,bd,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:54.975Z,3,129033,160,255,8,a9,3f,9c,a6,df,28,b4,00\n2014-08-15T19:02:55.042Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:55.068Z,3,126992,160,255,8,ff,ff,a9,3f,9c,a6,df,28\n2014-08-15T19:02:55.080Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:55.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:55.088Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:02:55.166Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:55.170Z,2,128259,160,255,8,ff,ff,ff,72,01,ff,ff,ff\n2014-08-15T19:02:55.194Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:55.223Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:55.262Z,3,129291,160,255,8,ff,fc,24,5e,28,00,ff,ff\n2014-08-15T19:02:55.436Z,3,127508,129,255,8,01,1c,05,1b,07,1e,75,38\n2014-08-15T19:02:55.473Z,3,130577,160,255,14,c0,39,ac,81,74,01,ff,ff,ff,ff,24,5e,28,00\n2014-08-15T19:02:55.475Z,2,129025,160,255,8,62,7f,98,23,5d,1f,be,0e\n2014-08-15T19:02:55.481Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:55.483Z,3,128267,115,255,8,00,da,09,00,00,ff,ff,ff\n2014-08-15T19:02:55.487Z,4,129038,43,255,27,01,e0,53,7f,10,ba,28,c8,0e,ca,b7,ab,23,e0,26,88,bf,05,1d,88,08,ac,87,ff,7f,00,fe\n2014-08-15T19:02:55.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:55.567Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:55.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:55.643Z,4,129038,43,255,27,01,d2,ff,4a,10,4c,8a,b1,0e,c7,01,71,23,dd,a4,ec,00,00,23,88,01,37,91,ec,ff,00,fe\n2014-08-15T19:02:55.658Z,2,130306,115,255,8,00,19,03,8e,18,f2,ff,ff\n2014-08-15T19:02:55.669Z,2,129026,160,255,8,ff,fc,ac,81,74,01,ff,ff\n2014-08-15T19:02:55.679Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:55.683Z,4,129039,43,255,26,12,44,11,b6,0d,06,1e,be,0e,8b,7f,98,23,df,4f,80,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:55.750Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:02:55.753Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:55.755Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:55.758Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:55.808Z,6,129540,160,255,135,81,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,60,09,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,ac,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,60,09,00,00,00,00,f2,18,74,05,23,06,e4,0c,00,00,00,00,f2\n2014-08-15T19:02:55.811Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:02:55.833Z,4,129038,43,255,27,01,10,04,1a,0e,25,3b,01,0f,d9,33,af,23,d8,83,b0,9c,02,2a,08,01,9f,b2,00,00,00,fe\n2014-08-15T19:02:55.913Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,f0,b6,df,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:02:55.971Z,3,129029,160,255,43,3a,a9,3f,d4,cd,df,28,00,54,77,8b,2e,ab,49,08,00,62,b1,51,3b,bb,6e,03,c0,af,1c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:55.973Z,3,129033,160,255,8,a9,3f,d4,cd,df,28,b4,00\n2014-08-15T19:02:56.058Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:56.068Z,3,126992,160,255,8,ff,ff,a9,3f,d4,cd,df,28\n2014-08-15T19:02:56.096Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:56.098Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:56.101Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:56.127Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:56.128Z,3,127508,129,255,8,01,1f,05,8b,07,1e,75,38\n2014-08-15T19:02:56.158Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:56.170Z,7,127506,129,255,9,39,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:56.181Z,2,128259,160,255,8,ff,ff,ff,74,01,ff,ff,ff\n2014-08-15T19:02:56.203Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,52,5e,6e,23,dc,19,dd,00,00,0f,09,08,71,aa,00,00,00,fe\n2014-08-15T19:02:56.272Z,3,129291,160,255,8,ff,fc,12,5f,42,00,ff,ff\n2014-08-15T19:02:56.332Z,3,127508,129,255,8,01,21,05,e8,07,1e,75,39\n2014-08-15T19:02:56.476Z,3,130577,160,255,14,c0,3a,15,82,73,01,ff,ff,ff,ff,12,5f,42,00\n2014-08-15T19:02:56.478Z,2,129025,160,255,8,15,7e,98,23,e8,1e,be,0e\n2014-08-15T19:02:56.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:56.500Z,3,128267,115,255,8,00,ce,09,00,00,ff,ff,ff\n2014-08-15T19:02:56.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:56.571Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:56.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,20,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:56.606Z,2,130306,115,255,8,00,61,03,26,24,f2,ff,ff\n2014-08-15T19:02:56.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:56.674Z,2,129026,160,255,8,ff,fc,15,82,73,01,ff,ff\n2014-08-15T19:02:56.684Z,4,129039,43,255,26,12,44,11,b6,0d,5f,1d,be,0e,3e,7e,98,23,e3,a1,82,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:56.722Z,6,129809,43,255,25,18,9e,d6,c3,0d,46,49,4e,4e,46,55,4e,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:02:56.748Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:02:56.750Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:56.754Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:56.756Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:56.802Z,6,129540,160,255,135,82,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,ac,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,e4,0c,00,00,00,00,f2,18,74,05,23,06,10,0e,00,00,00,00,f2\n2014-08-15T19:02:56.804Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:02:56.904Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:56.977Z,3,129029,160,255,43,3b,a9,3f,c6,f4,df,28,00,92,1e,03,e1,aa,49,08,00,10,f3,13,20,bb,6e,03,10,91,18,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:56.980Z,3,129033,160,255,8,a9,3f,c6,f4,df,28,b4,00\n2014-08-15T19:02:57.043Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:57.073Z,3,126992,160,255,8,ff,ff,a9,3f,c6,f4,df,28\n2014-08-15T19:02:57.081Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:57.083Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:57.085Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:57.113Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:57.143Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:57.173Z,2,128259,160,255,8,ff,ff,ff,73,01,ff,ff,ff\n2014-08-15T19:02:57.280Z,3,129291,160,255,8,ff,fc,7a,55,48,00,ff,ff\n2014-08-15T19:02:57.298Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:02:57.327Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:02:57.478Z,3,130577,160,255,14,c0,3b,95,83,6c,01,ff,ff,ff,ff,7a,55,48,00\n2014-08-15T19:02:57.481Z,2,129025,160,255,8,e9,7c,98,23,32,1e,be,0e\n2014-08-15T19:02:57.483Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:57.485Z,3,128267,115,255,8,00,bb,09,00,00,ff,ff,ff\n2014-08-15T19:02:57.493Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:02:57.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:57.543Z,4,129038,43,255,27,01,e0,53,7f,10,b2,21,c8,0e,17,ae,ab,23,e8,38,88,bf,05,6a,88,00,ac,87,00,00,00,fe\n2014-08-15T19:02:57.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:57.581Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:57.583Z,2,130306,115,255,8,00,fa,02,31,17,f2,ff,ff\n2014-08-15T19:02:57.604Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:57.613Z,4,129038,43,255,27,01,fc,ff,e9,25,1d,43,2a,0f,9e,a8,be,23,e5,2b,bc,c5,02,6d,88,08,7c,bb,00,00,00,fe\n2014-08-15T19:02:57.661Z,3,127508,129,255,8,01,22,05,46,08,1e,75,39\n2014-08-15T19:02:57.679Z,2,129026,160,255,8,ff,fc,95,83,6c,01,ff,ff\n2014-08-15T19:02:57.693Z,4,129039,43,255,26,12,44,11,b6,0d,b9,1c,be,0e,22,7d,98,23,e7,1b,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:57.745Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:02:57.748Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:57.751Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:57.753Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:57.798Z,6,129540,160,255,135,83,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:02:57.800Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:02:57.985Z,3,129029,160,255,43,3c,a9,3f,08,1c,e0,28,00,da,b9,29,9b,aa,49,08,00,74,e7,b3,f5,ba,6e,03,d0,65,1a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:57.988Z,3,129033,160,255,8,a9,3f,08,1c,e0,28,b4,00\n2014-08-15T19:02:58.058Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:02:58.081Z,3,126992,160,255,8,ff,ff,a9,3f,08,1c,e0,28\n2014-08-15T19:02:58.095Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:58.097Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:58.101Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:02:58.102Z,3,127508,129,255,8,01,26,05,e6,08,1e,75,39\n2014-08-15T19:02:58.123Z,4,129038,43,255,27,01,68,e2,20,12,8d,57,ff,0e,e4,72,ad,23,e8,08,b0,fd,01,80,08,01,f1,b1,00,00,00,fe\n2014-08-15T19:02:58.128Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:58.157Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:58.175Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:02:58.278Z,3,129291,160,255,8,ff,fc,cd,58,29,00,ff,ff\n2014-08-15T19:02:58.332Z,4,129038,43,255,27,01,58,43,c9,0e,39,6e,d8,0e,d1,e6,a9,23,ec,0e,ae,cb,02,88,88,01,36,af,00,00,00,fe\n2014-08-15T19:02:58.393Z,4,129038,43,255,27,01,b8,53,a6,0c,7e,00,7d,0e,cc,a3,9f,23,ec,bd,ab,73,02,9f,08,00,d9,ad,00,00,00,fe\n2014-08-15T19:02:58.477Z,3,130577,160,255,14,c0,3c,0f,84,6c,01,ff,ff,ff,ff,cd,58,29,00\n2014-08-15T19:02:58.480Z,2,129025,160,255,8,b8,7b,98,23,6f,1d,be,0e\n2014-08-15T19:02:58.487Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:58.489Z,3,128267,115,255,8,00,bb,09,00,00,ff,ff,ff\n2014-08-15T19:02:58.512Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:58.546Z,2,130306,115,255,8,00,6b,03,b1,1e,f2,ff,ff\n2014-08-15T19:02:58.553Z,4,129038,43,255,27,01,38,5e,49,16,9b,7a,ca,0e,a2,bf,76,23,e5,c0,12,00,00,90,88,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:02:58.570Z,3,127508,129,255,8,01,25,05,f5,08,1e,75,39\n2014-08-15T19:02:58.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,20,02,02,00,00,00,03,00,00,00\n2014-08-15T19:02:58.579Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:58.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:58.681Z,2,129026,160,255,8,ff,fc,0f,84,6c,01,ff,ff\n2014-08-15T19:02:58.713Z,4,129039,43,255,26,12,44,11,b6,0d,01,1c,be,0e,f6,7b,98,23,eb,e6,85,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:58.743Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:02:58.745Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:58.749Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:58.751Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:58.755Z,4,129039,43,255,26,12,80,e5,c3,0d,48,7e,c1,0e,8c,e7,95,23,eb,39,55,53,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:02:58.793Z,4,129038,43,255,27,01,b8,f5,67,12,fd,d3,8c,0e,e5,55,90,23,e8,34,2d,d6,03,63,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:02:58.810Z,6,129540,160,255,135,84,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,e4,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:02:58.813Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:02:58.903Z,4,129039,43,255,26,12,08,57,b6,0d,22,1a,c9,0e,b8,c8,92,23,eb,a1,58,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:02:58.910Z,3,127508,129,255,8,01,24,05,09,09,1e,75,39\n2014-08-15T19:02:58.987Z,3,129029,160,255,43,3d,a9,3f,22,43,e0,28,00,30,4f,26,54,aa,49,08,00,96,ff,4c,c8,ba,6e,03,30,c1,1d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:58.989Z,3,129033,160,255,8,a9,3f,22,43,e0,28,b4,00\n2014-08-15T19:02:59.027Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:02:59.066Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:02:59.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:59.070Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:02:59.083Z,4,129038,43,255,27,01,c8,d4,7f,10,ed,e0,df,0e,dc,ee,c5,23,e9,f2,7b,33,04,08,66,08,72,7d,00,00,00,fe\n2014-08-15T19:02:59.087Z,3,126992,160,255,8,ff,ff,a9,3f,22,43,e0,28\n2014-08-15T19:02:59.101Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:59.127Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:02:59.185Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:02:59.213Z,7,127506,129,255,9,3a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:02:59.243Z,4,129038,43,255,27,01,10,dc,6d,0f,13,99,60,0e,35,b8,9c,23,e9,a6,ad,83,02,39,40,09,88,ae,00,00,00,fe\n2014-08-15T19:02:59.279Z,3,129291,160,255,8,ff,fc,cd,58,29,00,ff,ff\n2014-08-15T19:02:59.323Z,4,129038,43,255,27,01,e0,53,7f,10,2e,1e,c8,0e,35,a9,ab,23,00,6c,88,bf,05,ce,08,08,ac,87,ff,7f,00,fe\n2014-08-15T19:02:59.393Z,6,129810,43,255,33,18,9e,d6,c3,0d,25,54,52,55,45,48,44,47,4f,49,38,33,34,39,40,64,00,28,00,1e,00,50,00,00,00,00,00,00\n2014-08-15T19:02:59.486Z,3,130577,160,255,14,c0,3d,66,84,6b,01,ff,ff,ff,ff,5c,78,2c,00\n2014-08-15T19:02:59.490Z,2,129025,160,255,8,83,7a,98,23,bf,1c,be,0e\n2014-08-15T19:02:59.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:59.494Z,3,128267,115,255,8,00,ac,09,00,00,ff,ff,ff\n2014-08-15T19:02:59.514Z,2,130306,115,255,8,00,ff,02,26,24,f2,ff,ff\n2014-08-15T19:02:59.534Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:59.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2c,02,03,00,01,01,03,00,00,00\n2014-08-15T19:02:59.580Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:02:59.586Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:02:59.592Z,4,129038,43,255,27,01,92,12,4b,10,e0,95,fd,0e,fd,7e,ae,23,ec,e6,af,bb,02,cf,08,08,42,b1,e6,ff,00,fe\n2014-08-15T19:02:59.687Z,2,129026,160,255,8,ff,fc,66,84,6b,01,ff,ff\n2014-08-15T19:02:59.722Z,4,129039,43,255,26,12,44,11,b6,0d,7c,1b,be,0e,a9,7a,98,23,ef,ac,84,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:02:59.741Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:02:59.743Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:02:59.746Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:02:59.748Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:02:59.826Z,6,129540,160,255,135,85,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,e4,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,f0,0a,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:02:59.829Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:02:59.837Z,3,127508,129,255,8,01,22,05,e6,08,1e,75,3a\n2014-08-15T19:02:59.837Z,6,129794,43,255,75,05,c0,1d,7b,10,0f,8f,8d,00,45,53,55,42,40,40,40,48,2e,4b,41,4e,54,45,52,40,40,40,40,40,40,40,40,40,40,40,40,34,4a,01,78,00,0a,00,28,00,f6,40,80,a8,12,01,d6,01,4d,55,55,47,41,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:02:59.936Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:02:59.963Z,4,129038,43,255,27,01,6c,70,4a,10,69,70,00,0f,46,a7,a3,23,eb,73,35,bf,01,c5,08,09,21,33,ec,ff,00,fe\n2014-08-15T19:02:59.997Z,3,129029,160,255,43,3e,a9,3f,5a,6a,e0,28,00,5e,79,34,0c,aa,49,08,00,b6,94,52,9f,ba,6e,03,e0,6e,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:02:59.999Z,3,129033,160,255,8,a9,3f,5a,6a,e0,28,b4,00\n2014-08-15T19:03:00.053Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:00.083Z,3,126992,160,255,8,ff,ff,a9,3f,5a,6a,e0,28\n2014-08-15T19:03:00.090Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:00.092Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:00.094Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:03:00.122Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,53,e0,28,08,66,02,a9,3f,00,00,fc\n2014-08-15T19:03:00.150Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:00.179Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:00.186Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:03:00.207Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:00.287Z,3,129291,160,255,8,ff,fc,5c,78,2c,00,ff,ff\n2014-08-15T19:03:00.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,53,e0,28,0a,80,02,a9,3f,00,00,fc\n2014-08-15T19:03:00.378Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:00.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:00.496Z,3,130577,160,255,14,c0,3e,89,84,69,01,ff,ff,ff,ff,5c,78,2c,00\n2014-08-15T19:03:00.498Z,3,128267,115,255,8,00,4d,09,00,00,ff,ff,ff\n2014-08-15T19:03:00.500Z,2,129025,160,255,8,4c,79,98,23,17,1c,be,0e\n2014-08-15T19:03:00.518Z,2,130306,115,255,8,00,04,03,f7,1b,f2,ff,ff\n2014-08-15T19:03:00.539Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:00.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:00.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:00.595Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:00.687Z,2,129026,160,255,8,ff,fc,89,84,69,01,ff,ff\n2014-08-15T19:03:00.713Z,4,129039,43,255,26,12,44,11,b6,0d,b4,1a,be,0e,7d,79,98,23,03,09,86,68,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:03:00.739Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:03:00.741Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:00.744Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:00.747Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:00.753Z,4,129039,43,255,26,12,44,11,b6,0d,b4,1a,be,0e,7d,79,98,23,03,09,86,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:00.815Z,6,129540,160,255,135,86,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:03:00.817Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:03:00.997Z,3,127508,129,255,8,01,21,05,ee,08,1e,75,3a\n2014-08-15T19:03:01.007Z,3,129029,160,255,43,3f,a9,3f,7e,91,e0,28,00,f8,6d,cb,c3,a9,49,08,00,26,00,35,78,ba,6e,03,40,77,1b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:01.010Z,3,129033,160,255,8,a9,3f,7e,91,e0,28,b4,00\n2014-08-15T19:03:01.032Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:01.074Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:01.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:01.078Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:01.099Z,3,126992,160,255,8,ff,ff,a9,3f,7e,91,e0,28\n2014-08-15T19:03:01.128Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:01.158Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:01.186Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:03:01.265Z,3,127508,129,255,8,01,1e,05,c4,08,1e,75,3a\n2014-08-15T19:03:01.272Z,4,129039,43,255,26,12,8c,d3,b5,0d,d8,f5,be,0e,f0,20,99,23,00,60,95,3e,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:03:01.280Z,3,127508,129,255,8,01,1e,05,e0,08,1e,75,3a\n2014-08-15T19:03:01.290Z,3,129291,160,255,8,ff,fc,6c,46,0b,00,ff,ff\n2014-08-15T19:03:01.293Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:01.314Z,4,129038,43,255,27,01,88,44,7d,10,a9,23,c7,0e,da,ec,7f,23,ec,15,97,05,00,2d,00,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:03:01.352Z,4,129038,43,255,27,01,98,69,b3,0e,2d,f4,90,0e,48,da,a0,23,e9,71,b0,f8,01,b7,08,08,42,b1,00,00,00,fe\n2014-08-15T19:03:01.424Z,3,127508,129,255,8,01,1e,05,13,09,1e,75,3a\n2014-08-15T19:03:01.446Z,2,130306,115,255,8,00,3d,03,6c,21,f2,ff,ff\n2014-08-15T19:03:01.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:01.494Z,3,130577,160,255,14,c0,3f,15,85,6b,01,ff,ff,ff,ff,6c,46,0b,00\n2014-08-15T19:03:01.497Z,2,129025,160,255,8,18,78,98,23,5f,1b,be,0e\n2014-08-15T19:03:01.499Z,3,128267,115,255,8,00,ec,09,00,00,ff,ff,ff\n2014-08-15T19:03:01.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:01.524Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:01.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,39,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:01.595Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:01.604Z,4,129038,43,255,27,01,c8,27,16,0e,cd,bf,67,0e,9a,eb,93,23,e9,e2,30,50,03,aa,08,08,16,31,14,00,00,fe\n2014-08-15T19:03:01.642Z,4,129038,43,255,27,01,e0,53,7f,10,81,13,c8,0e,b0,9a,ab,23,0c,a0,88,bf,05,bd,08,00,5a,88,ff,7f,00,fe\n2014-08-15T19:03:01.697Z,2,129026,160,255,8,ff,fc,15,85,6b,01,ff,ff\n2014-08-15T19:03:01.736Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:03:01.738Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:01.741Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:01.743Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:01.752Z,4,129039,43,255,26,12,44,11,b6,0d,ec,19,be,0e,40,78,98,23,07,f8,85,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:01.802Z,4,129038,43,255,27,01,88,d6,d0,0c,8b,dd,e5,0e,8a,26,b8,23,05,60,98,41,03,0c,66,00,14,9a,00,00,00,fe\n2014-08-15T19:03:01.825Z,6,129540,160,255,135,87,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,e4,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,b8,0b,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:01.827Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:03:01.830Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:01.852Z,4,129038,43,255,27,01,02,8b,c4,0d,30,0d,e1,0e,64,35,ca,23,08,2c,80,68,01,b8,08,00,e6,82,00,00,00,fe\n2014-08-15T19:03:01.876Z,7,127506,129,255,9,3b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:01.894Z,4,129038,43,255,27,01,b0,79,7a,10,c4,72,d3,0e,90,43,81,23,00,6b,d9,e3,01,0c,66,00,2a,da,00,00,00,fe\n2014-08-15T19:03:01.998Z,3,129029,160,255,43,40,a9,3f,98,b8,e0,28,00,f0,32,15,7c,a9,49,08,00,f6,be,5d,4d,ba,6e,03,d0,47,1f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:02.001Z,3,129033,160,255,8,a9,3f,98,b8,e0,28,b4,00\n2014-08-15T19:03:02.037Z,3,127508,129,255,8,01,1c,05,0e,09,1e,75,3b\n2014-08-15T19:03:02.047Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:02.085Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:02.088Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:02.090Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:02.094Z,3,126992,160,255,8,ff,ff,a9,3f,98,b8,e0,28\n2014-08-15T19:03:02.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:02.122Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:02.148Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:02.197Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:03:02.202Z,4,129039,43,255,26,12,6e,c9,b5,0d,6b,45,d0,0e,f5,31,90,23,06,56,57,b5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:02.298Z,3,129291,160,255,8,ff,fc,12,8c,10,00,ff,ff\n2014-08-15T19:03:02.301Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:02.332Z,4,129038,43,255,27,03,90,75,cd,0e,39,9d,b9,0e,ec,57,70,23,00,83,89,00,00,00,00,08,ff,ff,ff,7f,05,fe\n2014-08-15T19:03:02.438Z,2,130306,115,255,8,00,e5,02,8e,18,f2,ff,ff\n2014-08-15T19:03:02.458Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:02.493Z,3,128267,115,255,8,00,e9,09,00,00,ff,ff,ff\n2014-08-15T19:03:02.495Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:02.498Z,3,130577,160,255,14,c0,40,c9,83,70,01,ff,ff,ff,ff,12,8c,10,00\n2014-08-15T19:03:02.500Z,2,129025,160,255,8,d3,76,98,23,cf,1a,be,0e\n2014-08-15T19:03:02.519Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:02.522Z,4,129038,43,255,27,01,08,99,b5,0d,a5,32,cc,0e,ca,77,a5,23,0c,50,4a,44,01,39,c0,00,f3,48,00,00,00,fe\n2014-08-15T19:03:02.572Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,96,31,d3,23,00,50,a1,e0,28,5d,80,08,a9,3f,10,00,fc\n2014-08-15T19:03:02.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,50,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:02.602Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:02.684Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:02.695Z,2,129026,160,255,8,ff,fc,c9,83,70,01,ff,ff\n2014-08-15T19:03:02.699Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:02.734Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:03:02.736Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:02.738Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:02.741Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:02.762Z,4,129039,43,255,26,12,44,11,b6,0d,99,19,be,0e,f3,76,98,23,0b,b8,80,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:02.825Z,6,129540,160,255,135,88,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,34,08,00,00,00,00,f2\n2014-08-15T19:03:02.827Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:03:03.010Z,3,129029,160,255,43,41,a9,3f,58,df,e0,28,00,7e,b0,69,30,a9,49,08,00,56,ad,d6,2b,ba,6e,03,90,8d,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:03.012Z,3,129033,160,255,8,a9,3f,58,df,e0,28,b4,00\n2014-08-15T19:03:03.033Z,7,129793,43,255,26,04,8f,18,23,00,3c,1e,46,0f,50,68,e2,23,00,60,c8,e0,28,0c,66,00,a9,3f,10,00,fc\n2014-08-15T19:03:03.035Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:03.071Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:03.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:03.075Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:03:03.103Z,3,126992,160,255,8,ff,ff,a9,3f,58,df,e0,28\n2014-08-15T19:03:03.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:03.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:03.205Z,2,128259,160,255,8,ff,ff,ff,70,01,ff,ff,ff\n2014-08-15T19:03:03.213Z,4,129038,43,255,27,01,fc,ff,e9,25,71,2a,2a,0f,db,a9,be,23,09,2b,bc,c5,02,ed,08,00,7c,bb,0a,00,00,fe\n2014-08-15T19:03:03.243Z,3,127508,129,255,8,01,1b,05,ff,08,1e,75,3b\n2014-08-15T19:03:03.297Z,3,129291,160,255,8,ff,fc,a0,66,31,00,ff,ff\n2014-08-15T19:03:03.352Z,4,129038,43,255,27,01,e0,53,7f,10,ba,0f,c8,0e,ce,95,ab,23,10,2c,89,c4,05,0c,66,08,5a,88,00,00,00,fe\n2014-08-15T19:03:03.385Z,2,130306,115,255,8,00,3d,03,03,1e,f2,ff,ff\n2014-08-15T19:03:03.447Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:03.481Z,3,128267,115,255,8,00,e6,09,00,00,ff,ff,ff\n2014-08-15T19:03:03.484Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:03.508Z,3,130577,160,255,14,c0,41,60,83,72,01,ff,ff,ff,ff,a0,66,31,00\n2014-08-15T19:03:03.510Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:03.512Z,2,129025,160,255,8,85,75,98,23,5a,1a,be,0e\n2014-08-15T19:03:03.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:03.608Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:03.701Z,2,129026,160,255,8,ff,fc,60,83,72,01,ff,ff\n2014-08-15T19:03:03.731Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:03:03.734Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:03.737Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:03.739Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:03.773Z,4,129039,43,255,26,12,44,11,b6,0d,03,19,be,0e,b6,75,98,23,0f,38,82,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:03.840Z,6,129540,160,255,135,89,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,1c,0c,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,fc,08,00,00,00,00,f2\n2014-08-15T19:03:03.844Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:03:03.864Z,4,129038,43,255,27,01,b8,83,92,0e,49,bb,e0,0e,0b,c8,75,23,11,8e,c1,05,00,bf,08,00,07,d4,ff,7f,00,fe\n2014-08-15T19:03:03.866Z,3,127508,129,255,8,01,1a,05,12,09,1e,75,3b\n2014-08-15T19:03:04.007Z,3,129029,160,255,43,42,a9,3f,c2,06,e1,28,00,f2,bc,a5,e2,a8,49,08,00,04,ef,98,10,ba,6e,03,80,f5,20,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:04.010Z,3,129033,160,255,8,a9,3f,c2,06,e1,28,b4,00\n2014-08-15T19:03:04.034Z,3,127508,129,255,8,01,19,05,09,09,1e,75,3b\n2014-08-15T19:03:04.044Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:04.081Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:04.084Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:04.086Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:04.113Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:04.126Z,3,126992,160,255,8,ff,ff,a9,3f,c2,06,e1,28\n2014-08-15T19:03:04.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:04.206Z,2,128259,160,255,8,ff,ff,ff,72,01,ff,ff,ff\n2014-08-15T19:03:04.307Z,3,129291,160,255,8,ff,fc,48,50,2c,00,ff,ff\n2014-08-15T19:03:04.354Z,2,130306,115,255,8,00,fa,02,bd,20,f2,ff,ff\n2014-08-15T19:03:04.381Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:04.475Z,3,128267,115,255,8,00,e6,09,00,00,ff,ff,ff\n2014-08-15T19:03:04.477Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:04.508Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:04.512Z,3,127508,129,255,8,01,14,05,ac,08,1e,75,3b\n2014-08-15T19:03:04.515Z,3,130577,160,255,14,c0,42,78,84,72,01,ff,ff,ff,ff,48,50,2c,00\n2014-08-15T19:03:04.517Z,2,129025,160,255,8,44,74,98,23,ab,19,be,0e\n2014-08-15T19:03:04.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:04.609Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:04.713Z,2,129026,160,255,8,ff,fc,78,84,72,01,ff,ff\n2014-08-15T19:03:04.729Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,a0,3a,01,00\n2014-08-15T19:03:04.731Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:04.735Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:04.737Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:04.785Z,4,129039,43,255,26,12,44,11,b6,0d,3b,18,be,0e,7a,74,98,23,13,5b,85,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:04.824Z,4,129038,43,255,27,01,20,f6,7e,10,37,36,c7,0e,e6,ea,7f,23,11,39,31,05,00,b1,80,09,65,c6,00,00,0f,fe\n2014-08-15T19:03:04.841Z,6,129540,160,255,135,8a,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:03:04.844Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:03:05.003Z,4,129038,43,255,27,01,b8,f5,67,12,8b,ff,8c,0e,f2,5e,90,23,10,56,2d,d6,03,cf,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:03:05.015Z,3,129029,160,255,43,43,a9,3f,dc,2d,e1,28,00,a8,a5,e8,97,a8,49,08,00,ee,1e,da,e7,b9,6e,03,20,7c,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:05.017Z,3,129033,160,255,8,a9,3f,dc,2d,e1,28,b4,00\n2014-08-15T19:03:05.024Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:03:05.044Z,4,129038,43,255,27,01,d2,ff,4a,10,8f,8a,b1,0e,95,01,71,23,11,a4,ec,00,00,b9,80,08,37,91,00,00,00,fe\n2014-08-15T19:03:05.061Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:05.065Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:03:05.065Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:05.111Z,3,126992,160,255,8,ff,ff,a9,3f,dc,2d,e1,28\n2014-08-15T19:03:05.123Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:05.158Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:05.162Z,7,127506,129,255,9,3c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:05.188Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:05.215Z,2,128259,160,255,8,ff,ff,ff,72,01,ff,ff,ff\n2014-08-15T19:03:05.277Z,3,127508,129,255,8,01,16,05,0b,09,1e,75,3c\n2014-08-15T19:03:05.293Z,4,129038,43,255,27,01,c8,d4,7f,10,0a,df,df,0e,2a,d4,c5,23,15,be,7b,33,04,c3,80,00,72,7d,00,00,00,fe\n2014-08-15T19:03:05.308Z,3,129291,160,255,8,ff,fc,21,6b,2e,00,ff,ff\n2014-08-15T19:03:05.338Z,2,130306,115,255,8,00,04,03,9a,1a,f2,ff,ff\n2014-08-15T19:03:05.358Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:05.383Z,4,129038,43,255,27,01,e0,53,7f,10,5f,08,c8,0e,2c,8c,ab,23,18,1b,89,bf,05,cc,08,00,5a,88,00,00,00,fe\n2014-08-15T19:03:05.480Z,3,128267,115,255,8,00,be,09,00,00,ff,ff,ff\n2014-08-15T19:03:05.482Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:05.508Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:05.514Z,3,130577,160,255,14,c0,43,38,85,6d,01,ff,ff,ff,ff,21,6b,2e,00\n2014-08-15T19:03:05.516Z,2,129025,160,255,8,11,73,98,23,d7,18,be,0e\n2014-08-15T19:03:05.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:05.615Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:05.718Z,2,129026,160,255,8,ff,fc,38,85,6d,01,ff,ff\n2014-08-15T19:03:05.726Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,2c,23,0a,01,b2,3a,01,00\n2014-08-15T19:03:05.729Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:05.731Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:05.734Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:05.803Z,4,129039,43,255,26,12,44,11,b6,0d,73,17,be,0e,4e,73,98,23,17,09,86,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:05.847Z,6,129540,160,255,135,8b,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:05.849Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:03:05.913Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,fa,f6,c7,23,00,90,3d,e1,28,0c,66,00,a9,3f,10,00,fc\n2014-08-15T19:03:05.953Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:06.021Z,3,129029,160,255,43,44,a9,3f,f6,54,e1,28,00,6a,05,6e,50,a8,49,08,00,a6,ef,7d,b6,b9,6e,03,e0,50,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:06.023Z,3,129033,160,255,8,a9,3f,f6,54,e1,28,b4,00\n2014-08-15T19:03:06.054Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:06.076Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:06.078Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:06.081Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:06.121Z,3,126992,160,255,8,ff,ff,a9,3f,f6,54,e1,28\n2014-08-15T19:03:06.228Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:06.234Z,2,128259,160,255,8,ff,ff,ff,6d,01,ff,ff,ff\n2014-08-15T19:03:06.258Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:06.284Z,4,129038,43,255,27,01,10,04,1a,0e,9e,0b,01,0f,56,2d,af,23,14,83,b0,9c,02,34,c0,09,9f,b2,00,00,00,fe\n2014-08-15T19:03:06.290Z,2,130306,115,255,8,00,fa,02,1a,22,f2,ff,ff\n2014-08-15T19:03:06.316Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:06.330Z,3,129291,160,255,8,ff,fc,64,6d,17,00,ff,ff\n2014-08-15T19:03:06.475Z,3,128267,115,255,8,00,5d,09,00,00,ff,ff,ff\n2014-08-15T19:03:06.477Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:06.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:06.533Z,3,130577,160,255,14,c0,44,9b,84,6a,01,ff,ff,ff,ff,64,6d,17,00\n2014-08-15T19:03:06.535Z,2,129025,160,255,8,db,71,98,23,39,18,be,0e\n2014-08-15T19:03:06.541Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:06.548Z,6,129794,43,255,75,05,58,bd,7f,10,fd,1a,88,00,45,53,55,4a,20,20,20,53,49,4c,4a,41,20,45,55,52,4f,50,41,20,20,20,20,20,20,20,20,3c,e4,07,40,01,a0,00,dc,00,0e,41,00,10,55,22,a8,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:03:06.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3f,02,02,00,02,01,03,00,00,00\n2014-08-15T19:03:06.633Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:06.677Z,6,129794,43,255,75,05,58,bd,7f,10,fd,1a,88,00,45,53,55,4a,20,20,20,53,49,4c,4a,41,20,45,55,52,4f,50,41,20,20,20,20,20,20,20,20,3c,e4,07,40,01,a0,00,dc,00,0e,41,00,10,55,22,a8,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:03:06.713Z,4,129038,43,255,27,01,c8,27,16,0e,7e,e8,67,0e,da,f1,93,23,15,28,31,50,03,d2,08,00,16,31,14,00,00,fe\n2014-08-15T19:03:06.723Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:06.727Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:06.729Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:06.731Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:06.735Z,2,129026,160,255,8,ff,fc,9b,84,6a,01,ff,ff\n2014-08-15T19:03:06.813Z,4,129039,43,255,26,12,44,11,b6,0d,ed,16,be,0e,11,72,98,23,1b,fe,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:06.866Z,6,129540,160,255,135,8c,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:06.868Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:06.903Z,4,129038,43,255,27,01,88,d6,d0,0c,5d,c9,e5,0e,0e,1c,b8,23,19,72,98,41,03,40,c0,09,65,99,00,00,00,fe\n2014-08-15T19:03:07.014Z,3,127508,129,255,8,01,12,05,ac,08,1e,75,3c\n2014-08-15T19:03:07.020Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:03:07.042Z,3,129029,160,255,43,45,a9,3f,38,7c,e1,28,00,ce,94,40,08,a8,49,08,00,fa,66,b4,91,b9,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:07.045Z,3,129033,160,255,8,a9,3f,38,7c,e1,28,b4,00\n2014-08-15T19:03:07.055Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:07.057Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:07.059Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:03:07.089Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:07.119Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:07.137Z,3,126992,160,255,8,ff,ff,a9,3f,38,7c,e1,28\n2014-08-15T19:03:07.242Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:03:07.254Z,2,130306,115,255,8,00,f5,02,03,1e,f2,ff,ff\n2014-08-15T19:03:07.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:07.334Z,3,129291,160,255,8,ff,fc,04,5c,23,00,ff,ff\n2014-08-15T19:03:07.463Z,4,129038,43,255,27,01,e0,53,7f,10,1b,fd,c7,0e,b8,7d,ab,23,20,72,89,c4,05,0c,66,08,5a,88,00,00,00,fe\n2014-08-15T19:03:07.474Z,3,128267,115,255,8,00,5d,09,00,00,ff,ff,ff\n2014-08-15T19:03:07.477Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:07.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:07.539Z,3,130577,160,255,14,c0,45,38,85,60,01,ff,ff,ff,ff,04,5c,23,00\n2014-08-15T19:03:07.541Z,2,129025,160,255,8,c3,70,98,23,9c,17,be,0e\n2014-08-15T19:03:07.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:07.623Z,4,129039,43,255,26,12,ec,d7,b5,0d,49,ea,bb,0e,e1,5e,90,23,1c,ac,7e,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:07.635Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:07.645Z,3,127508,129,255,8,01,12,05,cf,08,1e,75,3c\n2014-08-15T19:03:07.721Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:07.723Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:07.726Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:07.728Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:07.739Z,2,129026,160,255,8,ff,fc,38,85,60,01,ff,ff\n2014-08-15T19:03:07.823Z,4,129039,43,255,26,12,44,11,b6,0d,25,16,be,0e,f6,70,98,23,1f,f8,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:07.861Z,3,127508,129,255,8,01,11,05,ec,08,1e,75,3c\n2014-08-15T19:03:07.877Z,6,129540,160,255,135,8d,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:07.879Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:03:08.013Z,4,129038,43,255,27,01,b8,53,a6,0c,1f,db,7c,0e,ae,9d,9f,23,20,ce,ab,73,02,1f,c3,08,d9,ad,00,00,00,fe\n2014-08-15T19:03:08.033Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:08.043Z,3,129029,160,255,43,46,a9,3f,7a,a3,e1,28,00,de,47,0f,c7,a7,49,08,00,18,79,26,6d,b9,6e,03,50,62,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:08.045Z,3,129033,160,255,8,a9,3f,7a,a3,e1,28,b4,00\n2014-08-15T19:03:08.053Z,3,127508,129,255,8,01,11,05,0a,09,1e,75,3c\n2014-08-15T19:03:08.070Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:08.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:08.075Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:08.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:08.133Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:08.137Z,3,126992,160,255,8,ff,ff,a9,3f,7a,a3,e1,28\n2014-08-15T19:03:08.183Z,4,129038,43,255,27,01,68,e2,20,12,fb,34,ff,0e,ca,6e,ad,23,20,b1,af,fd,01,0c,66,08,f1,b1,00,00,00,fe\n2014-08-15T19:03:08.226Z,2,130306,115,255,8,00,fa,02,03,1e,f2,ff,ff\n2014-08-15T19:03:08.239Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:03:08.253Z,4,129038,43,255,27,01,58,43,c9,0e,fb,3d,d8,0e,91,e0,a9,23,20,20,ae,cb,02,6e,c0,09,88,ae,00,00,00,fe\n2014-08-15T19:03:08.262Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:08.335Z,3,129291,160,255,8,ff,fc,00,79,20,00,ff,ff\n2014-08-15T19:03:08.474Z,3,128267,115,255,8,00,ce,09,00,00,ff,ff,ff\n2014-08-15T19:03:08.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:08.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:08.540Z,3,130577,160,255,14,c0,46,15,85,61,01,ff,ff,ff,ff,00,79,20,00\n2014-08-15T19:03:08.543Z,2,129025,160,255,8,a6,6f,98,23,f1,16,be,0e\n2014-08-15T19:03:08.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:08.605Z,7,127506,129,255,9,3c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:08.640Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:08.718Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:08.721Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:08.723Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:08.726Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:08.741Z,2,129026,160,255,8,ff,fc,15,85,61,01,ff,ff\n2014-08-15T19:03:08.843Z,4,129039,43,255,26,12,44,11,b6,0d,6e,15,be,0e,b9,6f,98,23,23,49,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:08.880Z,6,129540,160,255,135,8e,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,1c,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:08.882Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:03:09.017Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:09.044Z,3,129029,160,255,43,47,a9,3f,76,ca,e1,28,00,fc,f4,b3,84,a7,49,08,00,2a,14,56,45,b9,6e,03,30,85,27,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:09.047Z,3,129033,160,255,8,a9,3f,76,ca,e1,28,b4,00\n2014-08-15T19:03:09.056Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:09.058Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:09.060Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:09.066Z,3,127508,129,255,8,01,0f,05,fb,08,1e,75,3c\n2014-08-15T19:03:09.082Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:09.087Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:09.122Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:09.142Z,3,126992,160,255,8,ff,ff,a9,3f,76,ca,e1,28\n2014-08-15T19:03:09.194Z,2,130306,115,255,8,00,19,03,3e,28,f2,ff,ff\n2014-08-15T19:03:09.220Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:09.242Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:09.245Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:03:09.335Z,3,127508,129,255,8,01,0b,05,ab,08,1e,75,3c\n2014-08-15T19:03:09.342Z,3,129291,160,255,8,ff,fc,29,57,10,00,ff,ff\n2014-08-15T19:03:09.389Z,3,127508,129,255,8,01,0c,05,fb,08,1e,75,3c\n2014-08-15T19:03:09.403Z,4,129038,43,255,27,01,92,12,4b,10,4d,68,fd,0e,7a,78,ae,23,24,e6,af,bb,02,5d,81,01,42,b1,00,00,00,fe\n2014-08-15T19:03:09.443Z,4,129038,43,255,27,01,fc,ff,e9,25,d1,0c,2a,0f,39,ab,be,23,21,7d,bb,c5,02,5e,01,09,7c,bb,1a,00,00,fe\n2014-08-15T19:03:09.473Z,3,128267,115,255,8,00,b8,09,00,00,ff,ff,ff\n2014-08-15T19:03:09.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:09.506Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:09.538Z,3,130577,160,255,14,c0,47,38,85,5e,01,ff,ff,ff,ff,29,57,10,00\n2014-08-15T19:03:09.540Z,2,129025,160,255,8,81,6e,98,23,4b,16,be,0e\n2014-08-15T19:03:09.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:09.623Z,4,129038,43,255,27,01,e0,53,7f,10,af,f5,c7,0e,15,74,ab,23,2c,09,89,c9,05,65,81,01,5a,88,ff,7f,00,fe\n2014-08-15T19:03:09.642Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:09.715Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:09.718Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:09.721Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:09.723Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:09.746Z,2,129026,160,255,8,ff,fc,38,85,5e,01,ff,ff\n2014-08-15T19:03:09.827Z,6,129794,43,255,75,05,c8,d4,7f,10,a6,0f,8f,00,45,53,4b,43,40,40,40,56,49,4b,49,4e,47,20,58,50,52,53,40,40,40,40,40,40,40,40,40,45,3a,07,04,01,82,00,fa,00,a9,3f,00,a5,0f,2d,80,02,48,45,4c,53,49,4e,4b,49,3c,2d,3e,54,41,4c,4c,49,4e,4e,40,40,04,e0\n2014-08-15T19:03:09.863Z,4,129039,43,255,26,12,44,11,b6,0d,c7,14,be,0e,9e,6e,98,23,27,2c,86,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:09.877Z,6,129540,160,255,135,8f,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:09.879Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:03:09.966Z,3,127508,129,255,8,01,0a,05,cb,08,1e,75,3c\n2014-08-15T19:03:10.022Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:10.052Z,3,129029,160,255,43,48,a9,3f,c2,f1,e1,28,00,ca,cb,7b,40,a7,49,08,00,2e,b5,af,1e,b9,6e,03,80,d7,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:10.055Z,3,129033,160,255,8,a9,3f,c2,f1,e1,28,b4,00\n2014-08-15T19:03:10.059Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:10.063Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:10.064Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:10.119Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:10.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,d9,e1,28,78,01,0b,a9,3f,00,00,fc\n2014-08-15T19:03:10.139Z,3,126992,160,255,8,ff,ff,a9,3f,c2,f1,e1,28\n2014-08-15T19:03:10.150Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:10.177Z,2,130306,115,255,8,00,b7,02,76,14,f2,ff,ff\n2014-08-15T19:03:10.202Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:10.238Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:10.241Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:03:10.346Z,3,129291,160,255,8,ff,fc,29,57,10,00,ff,ff\n2014-08-15T19:03:10.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,d9,e1,28,7d,40,0b,a9,3f,00,00,fc\n2014-08-15T19:03:10.403Z,4,129038,43,255,27,01,b0,79,7a,10,30,61,d3,0e,fa,4d,81,23,20,59,d9,e3,01,46,c0,08,2a,da,a3,ff,00,fe\n2014-08-15T19:03:10.443Z,4,129038,43,255,27,01,10,dc,6d,0f,14,64,60,0e,ca,ad,9c,23,29,94,ad,83,02,0c,66,00,88,ae,f6,ff,00,fe\n2014-08-15T19:03:10.474Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:10.477Z,3,128267,115,255,8,00,b8,09,00,00,ff,ff,ff\n2014-08-15T19:03:10.503Z,4,129038,43,255,27,01,6c,70,4a,10,f1,8e,00,0f,b9,aa,a3,23,23,f9,34,bf,01,86,01,01,21,33,fa,ff,00,fe\n2014-08-15T19:03:10.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:10.547Z,3,130577,160,255,14,c0,48,78,84,63,01,ff,ff,ff,ff,41,8e,08,00\n2014-08-15T19:03:10.550Z,2,129025,160,255,8,56,6d,98,23,b3,15,be,0e\n2014-08-15T19:03:10.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:10.581Z,3,127508,129,255,8,01,08,05,b9,08,1e,75,3c\n2014-08-15T19:03:10.647Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:10.694Z,7,127506,129,255,9,3e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:10.713Z,4,129038,43,255,27,01,b8,f5,67,12,cb,1e,8d,0e,85,65,90,23,28,56,2d,d6,03,bf,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:03:10.715Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:10.719Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:10.721Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:10.723Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:10.749Z,2,129026,160,255,8,ff,fc,78,84,63,01,ff,ff\n2014-08-15T19:03:10.873Z,4,129039,43,255,26,12,44,11,b6,0d,63,14,be,0e,50,6d,98,23,2b,8f,82,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:10.886Z,6,129540,160,255,135,90,ff,0b,20,b9,2f,09,98,80,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:10.893Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:03:10.988Z,3,127508,129,255,8,01,09,05,09,09,1e,75,3e\n2014-08-15T19:03:11.020Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:11.055Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:11.063Z,3,129029,160,255,43,49,a9,3f,c8,18,e2,28,00,dc,01,de,fa,a6,49,08,00,3e,cd,4b,fb,b8,6e,03,70,92,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:11.063Z,3,129033,160,255,8,a9,3f,c8,18,e2,28,b4,00\n2014-08-15T19:03:11.064Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:11.068Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:03:11.112Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:11.143Z,2,130306,115,255,8,00,bd,03,55,2c,f2,ff,ff\n2014-08-15T19:03:11.160Z,3,126992,160,255,8,ff,ff,a9,3f,c8,18,e2,28\n2014-08-15T19:03:11.175Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:11.178Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:11.209Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:11.249Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:03:11.297Z,6,129794,43,255,75,05,c8,d4,7f,10,a6,0f,8f,00,45,53,4b,43,40,40,40,56,49,4b,49,4e,47,20,58,50,52,53,40,40,40,40,40,40,40,40,40,45,3a,07,04,01,82,00,fa,00,a9,3f,00,a5,0f,2d,80,02,48,45,4c,53,49,4e,4b,49,3c,2d,3e,54,41,4c,4c,49,4e,4e,40,40,04,e1\n2014-08-15T19:03:11.332Z,4,129038,43,255,27,01,98,69,b3,0e,8b,ce,90,0e,eb,d5,a0,23,25,a0,af,f8,01,a3,01,01,42,b1,00,00,00,fe\n2014-08-15T19:03:11.346Z,3,129291,160,255,8,ff,fc,41,8e,08,00,ff,ff\n2014-08-15T19:03:11.349Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:11.372Z,4,129038,43,255,27,01,e0,53,7f,10,e9,f1,c7,0e,44,6f,ab,23,30,4f,89,c9,05,37,c0,08,5a,88,00,00,00,fe\n2014-08-15T19:03:11.474Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:11.477Z,3,128267,115,255,8,00,17,0a,00,00,ff,ff,ff\n2014-08-15T19:03:11.515Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:11.522Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:11.534Z,4,129038,43,255,27,01,c8,d4,7f,10,ac,dd,df,0e,08,be,c5,23,2d,f2,7b,38,04,4a,40,09,72,7d,00,00,00,fe\n2014-08-15T19:03:11.550Z,3,130577,160,255,14,c0,49,83,83,64,01,ff,ff,ff,ff,02,45,37,00\n2014-08-15T19:03:11.552Z,2,129025,160,255,8,11,6c,98,23,43,15,be,0e\n2014-08-15T19:03:11.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,4c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:11.655Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:11.692Z,4,129038,43,255,27,01,02,8b,c4,0d,ef,09,e1,0e,05,29,ca,23,30,2c,80,6d,01,0c,66,08,37,82,00,00,00,fe\n2014-08-15T19:03:11.710Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:11.714Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:11.716Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:11.718Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:11.756Z,2,129026,160,255,8,ff,fc,83,83,64,01,ff,ff\n2014-08-15T19:03:11.863Z,4,129039,43,255,26,12,9e,d6,c3,0d,5b,d2,c5,0e,00,4d,94,23,2c,d0,54,34,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:11.884Z,6,129540,160,255,135,91,ff,0b,20,b9,2f,09,98,c4,09,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,48,0d,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:11.892Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:03:11.892Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:11.904Z,4,129039,43,255,26,12,44,11,b6,0d,cd,13,be,0e,14,6c,98,23,2f,61,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:12.021Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:12.035Z,3,127508,129,255,8,01,07,05,ec,08,1e,75,3e\n2014-08-15T19:03:12.061Z,3,129029,160,255,43,4a,a9,3f,0a,40,e2,28,00,6a,7f,32,af,a6,49,08,00,de,14,38,e1,b8,6e,03,60,89,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:12.064Z,3,129033,160,255,8,a9,3f,0a,40,e2,28,b4,00\n2014-08-15T19:03:12.066Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:12.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:12.070Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:03:12.094Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:12.114Z,2,130306,115,255,8,00,ad,02,31,17,f2,ff,ff\n2014-08-15T19:03:12.137Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:12.158Z,3,126992,160,255,8,ff,ff,a9,3f,0a,40,e2,28\n2014-08-15T19:03:12.169Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:12.237Z,3,127508,129,255,8,01,05,05,c9,08,1e,75,3e\n2014-08-15T19:03:12.250Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:03:12.352Z,3,129291,160,255,8,ff,fc,02,45,37,00,ff,ff\n2014-08-15T19:03:12.355Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:12.473Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:12.475Z,3,128267,115,255,8,00,84,09,00,00,ff,ff,ff\n2014-08-15T19:03:12.507Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:12.558Z,3,130577,160,255,14,c0,4a,9b,84,6a,01,ff,ff,ff,ff,02,45,37,00\n2014-08-15T19:03:12.560Z,2,129025,160,255,8,dc,6a,98,23,9f,14,be,0e\n2014-08-15T19:03:12.572Z,7,129793,43,255,26,04,90,18,23,00,56,d1,e2,0e,c8,31,d3,23,00,f0,27,e2,28,d4,81,00,a9,3f,10,00,fc\n2014-08-15T19:03:12.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,4a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:12.633Z,4,129039,43,255,26,12,66,58,b6,0d,5b,27,bc,0e,f8,56,93,23,33,2c,80,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:12.650Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:12.708Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:12.711Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:12.715Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:12.717Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:12.753Z,2,129026,160,255,8,ff,fc,9b,84,6a,01,ff,ff\n2014-08-15T19:03:12.755Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:12.842Z,3,127508,129,255,8,01,05,05,0a,09,1e,75,3e\n2014-08-15T19:03:12.872Z,4,129038,43,255,27,01,58,eb,ad,0e,b7,34,5d,0e,2c,77,8f,23,37,96,2f,d4,01,ba,08,00,5c,2e,00,00,00,fe\n2014-08-15T19:03:12.889Z,6,129540,160,255,135,92,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,8c,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:12.890Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:12.913Z,4,129039,43,255,26,12,44,11,b6,0d,16,13,be,0e,e8,6a,98,23,33,38,85,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:12.931Z,3,127508,129,255,8,01,03,05,ce,08,1e,75,3e\n2014-08-15T19:03:13.016Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:13.033Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,82,68,e2,23,00,00,4f,e2,28,0c,66,08,a9,3f,10,00,fc\n2014-08-15T19:03:13.055Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:13.058Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:13.060Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:13.066Z,3,129029,160,255,43,4b,a9,3f,2e,67,e2,28,00,98,a9,40,67,a6,49,08,00,76,eb,08,bb,b8,6e,03,50,44,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:13.068Z,3,129033,160,255,8,a9,3f,2e,67,e2,28,b4,00\n2014-08-15T19:03:13.082Z,2,130306,115,255,8,00,61,03,60,1f,f2,ff,ff\n2014-08-15T19:03:13.108Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:13.140Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:13.156Z,3,126992,160,255,8,ff,ff,a9,3f,2e,67,e2,28\n2014-08-15T19:03:13.168Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:13.257Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:03:13.259Z,7,127506,129,255,9,3f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:13.352Z,4,129038,43,255,27,01,b8,83,92,0e,65,bc,e0,0e,d9,c7,75,23,35,8e,c1,05,00,f1,81,08,07,d4,ff,7f,00,fe\n2014-08-15T19:03:13.360Z,3,129291,160,255,8,ff,fc,59,4a,1f,00,ff,ff\n2014-08-15T19:03:13.473Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:13.475Z,3,128267,115,255,8,00,84,09,00,00,ff,ff,ff\n2014-08-15T19:03:13.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:13.513Z,4,129038,43,255,27,01,e0,53,7f,10,73,e6,c7,0e,d0,60,ab,23,38,a6,89,c4,05,36,c0,00,5a,88,ff,7f,00,fe\n2014-08-15T19:03:13.552Z,4,129038,43,255,27,01,c8,27,16,0e,c4,06,68,0e,ac,f6,93,23,29,4b,31,50,03,1e,82,08,16,31,00,00,00,fe\n2014-08-15T19:03:13.567Z,3,130577,160,255,14,c0,4b,9b,84,6a,01,ff,ff,ff,ff,59,4a,1f,00\n2014-08-15T19:03:13.569Z,2,129025,160,255,8,a1,69,98,23,e1,13,be,0e\n2014-08-15T19:03:13.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,25,02,03,00,02,04,03,00,00,00\n2014-08-15T19:03:13.593Z,4,129038,43,255,27,01,08,99,b5,0d,b0,4c,cc,0e,ca,77,a5,23,38,a2,49,49,01,38,40,09,f3,48,00,00,00,fe\n2014-08-15T19:03:13.633Z,4,129038,43,255,27,03,c8,99,74,10,c5,9e,c7,0e,c2,05,83,23,35,4d,ef,00,00,00,00,08,20,9c,00,00,11,fe\n2014-08-15T19:03:13.658Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:13.673Z,4,129038,43,255,27,01,88,d6,d0,0c,4d,ad,e5,0e,26,0d,b8,23,35,3d,98,41,03,cc,08,00,65,99,00,00,00,fe\n2014-08-15T19:03:13.706Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:13.709Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:13.711Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:13.714Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:13.760Z,2,129026,160,255,8,ff,fc,9b,84,6a,01,ff,ff\n2014-08-15T19:03:13.832Z,3,127508,129,255,8,01,02,05,00,09,1e,75,3f\n2014-08-15T19:03:13.887Z,6,129540,160,255,135,93,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,28,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,10,0e,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:03:13.889Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:03:13.914Z,4,129039,43,255,26,12,44,11,b6,0d,6f,12,be,0e,9a,69,98,23,37,d5,85,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:13.994Z,4,129038,43,255,27,01,20,f6,7e,10,69,36,c7,0e,d6,ea,7f,23,35,39,31,05,00,09,02,01,65,c6,00,00,0f,fe\n2014-08-15T19:03:14.022Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:14.044Z,2,130306,115,255,8,00,04,03,1a,22,f2,ff,ff\n2014-08-15T19:03:14.066Z,3,129029,160,255,43,4c,a9,3f,52,8e,e2,28,00,0a,33,e9,1d,a6,49,08,00,8a,09,cc,8e,b8,6e,03,60,6b,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:14.069Z,3,129033,160,255,8,a9,3f,52,8e,e2,28,b4,00\n2014-08-15T19:03:14.071Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:14.107Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:03:14.109Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:14.112Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:14.133Z,4,129038,43,255,27,01,08,7b,ba,0d,38,39,94,0e,80,2b,bd,23,35,e6,a0,7c,01,0c,66,08,94,a1,00,00,00,fe\n2014-08-15T19:03:14.138Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:14.163Z,3,126992,160,255,8,ff,ff,a9,3f,52,8e,e2,28\n2014-08-15T19:03:14.168Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:14.265Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:03:14.353Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:14.368Z,3,129291,160,255,8,ff,fc,33,4b,25,00,ff,ff\n2014-08-15T19:03:14.473Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:14.475Z,3,128267,115,255,8,00,84,09,00,00,ff,ff,ff\n2014-08-15T19:03:14.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:14.565Z,3,130577,160,255,14,c0,4c,7e,85,6a,01,ff,ff,ff,ff,33,4b,25,00\n2014-08-15T19:03:14.567Z,2,129025,160,255,8,6b,68,98,23,16,13,be,0e\n2014-08-15T19:03:14.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:14.634Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:14.674Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:14.704Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,c5,3a,01,00\n2014-08-15T19:03:14.706Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:14.708Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:14.712Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:14.776Z,2,129026,160,255,8,ff,fc,7e,85,6a,01,ff,ff\n2014-08-15T19:03:14.911Z,6,129540,160,255,135,94,ff,0b,20,b9,2f,09,98,1c,0c,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,8c,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:03:14.914Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:03:14.917Z,3,127508,129,255,8,01,ff,04,b9,08,1e,75,3f\n2014-08-15T19:03:14.923Z,4,129039,43,255,26,12,44,11,b6,0d,86,11,be,0e,5e,68,98,23,3b,ec,86,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:15.017Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:15.042Z,2,130306,115,255,8,00,cc,02,3c,19,f2,ff,ff\n2014-08-15T19:03:15.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:15.078Z,3,129029,160,255,43,4d,a9,3f,58,b5,e2,28,00,6e,c2,bb,d5,a5,49,08,00,5c,4b,88,5f,b8,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:15.080Z,3,129033,160,255,8,a9,3f,58,b5,e2,28,b4,00\n2014-08-15T19:03:15.112Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:15.114Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:15.116Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:15.170Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:15.174Z,3,126992,160,255,8,ff,ff,a9,3f,58,b5,e2,28\n2014-08-15T19:03:15.174Z,3,127508,129,255,8,01,fe,04,bf,08,1e,75,3f\n2014-08-15T19:03:15.200Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:15.227Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:15.270Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:03:15.333Z,4,129039,43,255,26,12,0a,ec,b5,0d,05,24,ca,0e,76,88,92,23,38,b9,53,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:15.364Z,3,127508,129,255,8,01,fc,04,be,08,1e,75,3f\n2014-08-15T19:03:15.374Z,3,129291,160,255,8,ff,fc,d2,62,15,00,ff,ff\n2014-08-15T19:03:15.463Z,4,129038,43,255,27,01,e0,53,7f,10,18,df,c7,0e,2d,57,ab,23,40,f8,88,c4,05,40,82,08,5a,88,00,00,00,fe\n2014-08-15T19:03:15.474Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:15.476Z,3,128267,115,255,8,00,9d,09,00,00,ff,ff,ff\n2014-08-15T19:03:15.502Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:15.533Z,4,129038,43,255,27,01,d2,ff,4a,10,b0,8a,b1,0e,95,01,71,23,3d,a4,ec,00,00,4c,40,01,37,91,03,00,00,fe\n2014-08-15T19:03:15.572Z,3,130577,160,255,14,c0,4d,b2,85,6c,01,ff,ff,ff,ff,d2,62,15,00\n2014-08-15T19:03:15.574Z,2,129025,160,255,8,36,67,98,23,4c,12,be,0e\n2014-08-15T19:03:15.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,32,02,02,00,02,01,03,00,00,00\n2014-08-15T19:03:15.677Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:03:15.680Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:15.701Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,d7,3a,01,00\n2014-08-15T19:03:15.704Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:15.706Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:15.709Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:15.779Z,2,129026,160,255,8,ff,fc,b2,85,6c,01,ff,ff\n2014-08-15T19:03:15.817Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:03:15.853Z,4,129038,43,255,27,01,10,04,1a,0e,59,df,00,0f,d4,26,af,23,38,83,b0,9c,02,4d,82,00,9f,b2,00,00,00,fe\n2014-08-15T19:03:15.908Z,6,129540,160,255,135,95,ff,0b,20,b9,2f,09,98,8c,0a,00,00,00,00,f2,01,ae,2d,ab,b4,f0,0a,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,54,0b,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,f0,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:03:15.911Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:03:15.922Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,c8,f6,c7,23,00,30,c4,e2,28,51,82,08,a9,3f,10,00,fc\n2014-08-15T19:03:15.953Z,4,129039,43,255,26,12,44,11,b6,0d,cf,10,be,0e,32,67,98,23,3f,b8,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:16.019Z,2,130306,115,255,8,00,09,03,32,26,f2,ff,ff\n2014-08-15T19:03:16.054Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:16.059Z,3,127508,129,255,8,01,fb,04,bc,08,1e,75,3f\n2014-08-15T19:03:16.077Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:03:16.084Z,3,129029,160,255,43,4e,a9,3f,a4,dc,e2,28,00,9c,ec,c9,8d,a5,49,08,00,f8,27,80,30,b8,6e,03,70,3f,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:16.087Z,3,129033,160,255,8,a9,3f,a4,dc,e2,28,b4,00\n2014-08-15T19:03:16.116Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:16.118Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:16.120Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:03:16.148Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:16.177Z,3,126992,160,255,8,ff,ff,a9,3f,a4,dc,e2,28\n2014-08-15T19:03:16.179Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:16.203Z,4,129038,43,255,27,01,fc,ff,e9,25,88,e9,29,0f,9d,ab,be,23,3d,7d,bb,c0,02,5c,02,01,7c,bb,32,00,00,fe\n2014-08-15T19:03:16.280Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:03:16.371Z,3,129291,160,255,8,ff,fc,95,71,23,00,ff,ff\n2014-08-15T19:03:16.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:16.489Z,3,128267,115,255,8,00,60,09,00,00,ff,ff,ff\n2014-08-15T19:03:16.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:16.531Z,7,127506,129,255,9,40,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:16.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,21,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:16.581Z,3,130577,160,255,14,c0,4e,8f,85,69,01,ff,ff,ff,ff,95,71,23,00\n2014-08-15T19:03:16.592Z,2,129025,160,255,8,fa,65,98,23,91,11,be,0e\n2014-08-15T19:03:16.684Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:16.699Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,d7,3a,01,00\n2014-08-15T19:03:16.702Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:16.704Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:16.706Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:16.763Z,4,129039,43,255,26,12,c4,e2,c3,0d,22,c7,c1,0e,48,b8,95,23,40,ff,50,58,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:03:16.764Z,3,127508,129,255,8,01,fa,04,bf,08,1e,75,40\n2014-08-15T19:03:16.786Z,2,129026,160,255,8,ff,fc,8f,85,69,01,ff,ff\n2014-08-15T19:03:16.923Z,6,129540,160,255,135,96,ff,0b,20,b9,2f,09,98,fc,08,00,00,00,00,f2,01,ae,2d,ab,b4,54,0b,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,f0,0a,00,00,00,00,f2,14,17,13,ce,ab,8c,0a,00,00,00,00,f2,11,00,0f,7c,d9,e4,0c,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,60,09,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:03:16.926Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:03:16.953Z,4,129039,43,255,26,12,44,11,b6,0d,17,10,be,0e,06,66,98,23,43,72,86,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:16.985Z,2,130306,115,255,8,00,d1,02,a5,1c,f2,ff,ff\n2014-08-15T19:03:17.054Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:17.063Z,4,129038,43,255,27,01,b8,f5,67,12,7b,4a,8d,0e,6a,6f,90,23,40,56,2d,d1,03,7c,82,02,ff,2c,00,00,00,fe\n2014-08-15T19:03:17.067Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:17.088Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:17.099Z,3,129029,160,255,43,4f,a9,3f,d2,03,e3,28,00,44,db,36,44,a5,49,08,00,6a,16,f6,04,b8,6e,03,80,84,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:17.101Z,3,129033,160,255,8,a9,3f,d2,03,e3,28,b4,00\n2014-08-15T19:03:17.105Z,4,129038,43,255,27,01,e0,65,7c,10,37,b8,c2,0e,52,5e,6e,23,40,e5,c4,00,00,7d,82,08,71,aa,00,00,00,fe\n2014-08-15T19:03:17.131Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:17.133Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:17.136Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:17.143Z,4,129038,43,255,27,01,b8,53,a6,0c,c1,b5,7c,0e,7e,97,9f,23,44,ce,ab,73,02,1d,43,01,d9,ad,00,00,00,fe\n2014-08-15T19:03:17.185Z,3,126992,160,255,8,ff,ff,a9,3f,d2,03,e3,28\n2014-08-15T19:03:17.187Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:17.223Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:17.244Z,4,129038,43,255,27,01,68,e2,20,12,dc,15,ff,0e,78,6b,ad,23,44,f1,ae,fd,01,64,c0,00,f1,b1,00,00,00,fe\n2014-08-15T19:03:17.290Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:03:17.383Z,3,129291,160,255,8,ff,fc,5c,9d,11,00,ff,ff\n2014-08-15T19:03:17.403Z,4,129038,43,255,27,01,e0,53,7f,10,73,db,c7,0e,4b,52,ab,23,48,e6,88,c9,05,36,c0,00,ac,87,ff,7f,00,fe\n2014-08-15T19:03:17.472Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:17.475Z,3,128267,115,255,8,00,60,09,00,00,ff,ff,ff\n2014-08-15T19:03:17.496Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:17.513Z,4,129038,43,255,27,01,c8,d4,7f,10,c9,db,df,0e,4f,a7,c5,23,45,be,7b,33,04,4a,40,01,72,7d,00,00,00,fe\n2014-08-15T19:03:17.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:17.607Z,3,130577,160,255,14,c0,4f,5b,85,64,01,ff,ff,ff,ff,5c,9d,11,00\n2014-08-15T19:03:17.609Z,2,129025,160,255,8,d5,64,98,23,e9,10,be,0e\n2014-08-15T19:03:17.696Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,d7,3a,01,00\n2014-08-15T19:03:17.700Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:17.702Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:17.704Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:17.706Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:17.752Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:17.801Z,2,129026,160,255,8,ff,fc,5b,85,64,01,ff,ff\n2014-08-15T19:03:17.929Z,6,129540,160,255,135,97,ff,0b,20,b9,2f,09,98,8c,0a,00,00,00,00,f2,01,ae,2d,ab,b4,d0,07,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,54,0b,00,00,00,00,f2,14,17,13,ce,ab,c4,09,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,f0,0a,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:03:17.931Z,2,127250,160,255,8,ff,fe,83,ff,7f,86,05,fc\n2014-08-15T19:03:17.963Z,4,129039,43,255,26,12,44,11,b6,0d,60,0f,be,0e,c9,64,98,23,47,2c,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:17.965Z,2,130306,115,255,8,00,cc,02,e0,26,f2,ff,ff\n2014-08-15T19:03:17.980Z,3,127508,129,255,8,01,f9,04,c1,08,1e,75,40\n2014-08-15T19:03:18.013Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:18.043Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:18.079Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:18.082Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:18.084Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:18.104Z,3,129029,160,255,43,50,a9,3f,ce,2a,e3,28,00,12,b2,fe,ff,a4,49,08,00,da,81,d8,dd,b7,6e,03,50,0f,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:18.106Z,3,129033,160,255,8,a9,3f,ce,2a,e3,28,b4,00\n2014-08-15T19:03:18.112Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:18.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:18.198Z,3,126992,160,255,8,ff,ff,a9,3f,ce,2a,e3,28\n2014-08-15T19:03:18.252Z,3,127508,129,255,8,01,f8,04,c3,08,1e,75,40\n2014-08-15T19:03:18.298Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:03:18.402Z,3,129291,160,255,8,ff,fc,f1,b1,0d,00,ff,ff\n2014-08-15T19:03:18.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:18.473Z,3,128267,115,255,8,00,ac,09,00,00,ff,ff,ff\n2014-08-15T19:03:18.493Z,4,129038,43,255,27,01,58,43,c9,0e,fc,08,d8,0e,89,d9,a9,23,4c,eb,ad,cb,02,b2,02,01,88,ae,00,00,00,fe\n2014-08-15T19:03:18.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:18.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:18.599Z,3,130577,160,255,14,c0,50,ac,84,66,01,ff,ff,ff,ff,f1,b1,0d,00\n2014-08-15T19:03:18.602Z,2,129025,160,255,8,9f,63,98,23,48,10,be,0e\n2014-08-15T19:03:18.694Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,d7,3a,01,00\n2014-08-15T19:03:18.696Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:18.699Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:18.701Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:18.704Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:18.710Z,3,127508,129,255,8,01,f9,04,0e,09,1e,75,40\n2014-08-15T19:03:18.804Z,2,129026,160,255,8,ff,fc,ac,84,66,01,ff,ff\n2014-08-15T19:03:18.823Z,4,129038,43,255,27,01,10,dc,6d,0f,82,41,60,0e,b6,a8,9c,23,49,94,ad,83,02,0c,66,08,88,ae,ec,ff,00,fe\n2014-08-15T19:03:18.922Z,6,129540,160,255,135,98,ff,0b,20,b9,2f,09,98,f0,0a,00,00,00,00,f2,01,ae,2d,ab,b4,1c,0c,00,00,00,00,f2,0b,97,29,15,8b,f0,0a,00,00,00,00,f2,0e,5d,1f,0b,2f,b8,0b,00,00,00,00,f2,14,17,13,ce,ab,60,09,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,74,0e,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:03:18.924Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:03:18.970Z,2,130306,115,255,8,00,e0,02,f7,1b,f2,ff,ff\n2014-08-15T19:03:18.974Z,4,129039,43,255,26,12,44,11,b6,0d,a9,0e,be,0e,9d,63,98,23,4b,55,84,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:18.994Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:19.010Z,3,127508,129,255,8,01,f7,04,fb,08,1e,75,40\n2014-08-15T19:03:19.033Z,4,129038,43,255,27,01,92,12,4b,10,38,34,fd,0e,f8,71,ae,23,48,e6,af,bb,02,c6,02,09,42,b1,fd,ff,00,fe\n2014-08-15T19:03:19.044Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:19.073Z,4,129038,43,255,27,01,c8,27,16,0e,7b,2e,68,0e,2e,fd,93,23,45,4b,31,50,03,dd,08,00,16,31,f6,ff,00,fe\n2014-08-15T19:03:19.080Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:19.083Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:19.085Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:19.109Z,3,129029,160,255,43,51,a9,3f,1a,52,e3,28,00,76,41,d1,b7,a4,49,08,00,d0,28,5c,b8,b7,6e,03,00,db,1a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:19.111Z,3,129033,160,255,8,a9,3f,1a,52,e3,28,b4,00\n2014-08-15T19:03:19.115Z,4,129038,43,255,27,01,88,d6,d0,0c,51,99,e5,0e,78,02,b8,23,49,2c,98,41,03,c9,02,09,65,99,00,00,00,fe\n2014-08-15T19:03:19.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:19.142Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:19.163Z,4,129039,43,255,26,12,fe,ea,8e,0f,51,aa,99,0e,ab,49,ae,23,48,76,e1,ec,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:19.203Z,3,126992,160,255,8,ff,ff,a9,3f,1a,52,e3,28\n2014-08-15T19:03:19.305Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:03:19.397Z,3,129291,160,255,8,ff,fc,3d,80,18,00,ff,ff\n2014-08-15T19:03:19.418Z,7,127506,129,255,9,41,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:19.469Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:19.471Z,3,128267,115,255,8,00,6c,09,00,00,ff,ff,ff\n2014-08-15T19:03:19.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:19.543Z,4,129038,43,255,27,01,e0,53,7f,10,a4,d0,c7,0e,b6,43,ab,23,50,8f,88,c9,05,d9,82,08,ac,87,00,00,00,fe\n2014-08-15T19:03:19.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:19.603Z,3,130577,160,255,14,c0,51,c9,83,6a,01,ff,ff,ff,ff,3d,80,18,00\n2014-08-15T19:03:19.606Z,2,129025,160,255,8,62,62,98,23,da,0f,be,0e\n2014-08-15T19:03:19.692Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,d7,3a,01,00\n2014-08-15T19:03:19.694Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:19.696Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:19.700Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:19.706Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:19.709Z,3,127508,129,255,8,01,f6,04,01,09,1e,75,41\n2014-08-15T19:03:19.805Z,2,129026,160,255,8,ff,fc,c9,83,6a,01,ff,ff\n2014-08-15T19:03:19.895Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:19.943Z,6,129540,160,255,135,99,ff,0b,20,b9,2f,09,98,f0,0a,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,c4,09,00,00,00,00,f2,11,00,0f,7c,d9,48,0d,00,00,00,00,f2,04,f4,0c,1f,c9,48,0d,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,10,0e,00,00,00,00,f2,1c,d1,06,42,c0,8c,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:03:19.945Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:03:19.982Z,4,129039,43,255,26,12,44,11,b6,0d,55,0e,be,0e,60,62,98,23,4f,fe,80,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:19.998Z,2,130306,115,255,8,00,e5,02,48,1b,f2,ff,ff\n2014-08-15T19:03:20.022Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:20.037Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:20.064Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:20.101Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:20.104Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:20.106Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:03:20.112Z,3,129029,160,255,43,52,a9,3f,3e,79,e3,28,00,54,95,02,6e,a4,49,08,00,04,a6,bf,9e,b7,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:20.114Z,3,129033,160,255,8,a9,3f,3e,79,e3,28,b4,00\n2014-08-15T19:03:20.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,60,e3,28,ef,02,03,a9,3f,00,00,fc\n2014-08-15T19:03:20.190Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:20.202Z,3,126992,160,255,8,ff,ff,a9,3f,3e,79,e3,28\n2014-08-15T19:03:20.218Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:20.249Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:20.302Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:03:20.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,70,60,e3,28,0c,66,02,a9,3f,00,00,fc\n2014-08-15T19:03:20.404Z,3,129291,160,255,8,ff,fc,ea,66,29,00,ff,ff\n2014-08-15T19:03:20.468Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:20.471Z,3,128267,115,255,8,00,b5,09,00,00,ff,ff,ff\n2014-08-15T19:03:20.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:20.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:20.612Z,3,130577,160,255,14,c0,52,2c,83,6b,01,ff,ff,ff,ff,ea,66,29,00\n2014-08-15T19:03:20.614Z,2,129025,160,255,8,22,61,98,23,69,0f,be,0e\n2014-08-15T19:03:20.685Z,3,127508,129,255,8,01,f5,04,09,09,1e,75,41\n2014-08-15T19:03:20.689Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,ea,3a,01,00\n2014-08-15T19:03:20.691Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:20.694Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:20.696Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:20.710Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:20.811Z,2,129026,160,255,8,ff,fc,2c,83,6b,01,ff,ff\n2014-08-15T19:03:20.930Z,6,129540,160,255,135,9a,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,54,0b,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,ac,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,1c,0c,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,ac,0d,00,00,00,00,f2,13,3a,0a,cf,7e,80,0c,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,e4,0c,00,00,00,00,f2\n2014-08-15T19:03:20.934Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:03:20.973Z,2,130306,115,255,8,00,19,03,3e,28,f2,ff,ff\n2014-08-15T19:03:20.982Z,4,129038,43,255,27,01,b0,79,7a,10,8b,44,d3,0e,00,5b,81,23,4c,36,d9,e3,01,ba,08,00,2a,da,f6,ff,00,fe\n2014-08-15T19:03:21.004Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:21.012Z,4,129039,43,255,26,12,44,11,b6,0d,e1,0d,be,0e,24,61,98,23,53,8f,82,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:21.047Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:21.085Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:21.087Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:21.094Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:21.116Z,3,129029,160,255,43,53,a9,3f,44,a0,e3,28,00,d4,18,81,23,a4,49,08,00,da,52,70,84,b7,6e,03,30,a3,22,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:21.119Z,3,129033,160,255,8,a9,3f,44,a0,e3,28,b4,00\n2014-08-15T19:03:21.121Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:21.132Z,4,129038,43,255,27,03,70,45,45,0f,b5,75,b9,0e,d5,8a,70,23,50,ff,ff,00,00,ba,56,01,ff,ff,ff,7f,05,fe\n2014-08-15T19:03:21.147Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:21.210Z,3,126992,160,255,8,ff,ff,a9,3f,44,a0,e3,28\n2014-08-15T19:03:21.304Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:03:21.357Z,3,127508,129,255,8,01,f3,04,ea,08,1e,75,41\n2014-08-15T19:03:21.408Z,3,129291,160,255,8,ff,fc,90,5e,37,00,ff,ff\n2014-08-15T19:03:21.412Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:21.432Z,4,129038,43,255,27,01,e0,53,7f,10,0f,cd,c7,0e,e4,3e,ab,23,58,c3,88,c4,05,20,03,01,fd,86,ff,7f,00,fe\n2014-08-15T19:03:21.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:21.481Z,3,128267,115,255,8,00,b5,09,00,00,ff,ff,ff\n2014-08-15T19:03:21.506Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:21.532Z,4,129038,43,255,27,01,fc,ff,e9,25,a3,d1,29,0f,06,ae,be,23,51,2b,bc,c5,02,c1,08,08,7c,bb,3b,00,00,fe\n2014-08-15T19:03:21.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:21.615Z,3,130577,160,255,14,c0,53,83,83,6c,01,ff,ff,ff,ff,90,5e,37,00\n2014-08-15T19:03:21.617Z,2,129025,160,255,8,df,5f,98,23,db,0e,be,0e\n2014-08-15T19:03:21.686Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,ea,3a,01,00\n2014-08-15T19:03:21.688Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:21.691Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:21.694Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:21.707Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:21.785Z,3,127508,129,255,8,01,f1,04,cf,08,1e,75,41\n2014-08-15T19:03:21.805Z,2,129026,160,255,8,ff,fc,83,83,6c,01,ff,ff\n2014-08-15T19:03:21.869Z,3,127508,129,255,8,01,f0,04,e8,08,1e,75,41\n2014-08-15T19:03:21.934Z,6,129540,160,255,135,9b,ff,0b,20,b9,2f,09,98,10,0e,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,74,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,c4,09,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,28,0a,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:03:21.936Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:21.938Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:21.942Z,4,129038,43,255,27,01,98,69,b3,0e,d9,a8,90,0e,6d,d1,a0,23,51,a0,af,f8,01,33,83,09,42,b1,00,00,00,fe\n2014-08-15T19:03:21.989Z,2,130306,115,255,8,00,ad,02,8e,18,f2,ff,ff\n2014-08-15T19:03:22.006Z,7,127506,129,255,9,42,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:22.009Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:22.015Z,4,129039,43,255,26,12,44,11,b6,0d,4b,0d,be,0e,e7,5f,98,23,57,3e,83,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:22.060Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:03:22.095Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:22.097Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:22.099Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:03:22.112Z,3,129029,160,255,43,54,a9,3f,ae,c7,e3,28,00,f6,cb,4c,d8,a3,49,08,00,ce,76,60,63,b7,6e,03,70,b0,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:22.114Z,3,129033,160,255,8,a9,3f,ae,c7,e3,28,b4,00\n2014-08-15T19:03:22.154Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:22.184Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:22.204Z,4,129039,43,255,26,12,ca,0c,b7,0d,85,65,bd,0e,01,89,96,23,54,55,7e,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:22.208Z,3,126992,160,255,8,ff,ff,a9,3f,ae,c7,e3,28\n2014-08-15T19:03:22.254Z,4,129038,43,255,27,01,02,8b,c4,0d,ad,06,e1,0e,00,1c,ca,23,58,cf,7e,6d,01,0c,66,00,89,81,00,00,00,fe\n2014-08-15T19:03:22.289Z,3,127508,129,255,8,01,f1,04,15,09,1e,75,42\n2014-08-15T19:03:22.308Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:03:22.409Z,3,129291,160,255,8,ff,fc,0d,74,41,00,ff,ff\n2014-08-15T19:03:22.412Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:22.473Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:22.476Z,3,128267,115,255,8,00,1a,0a,00,00,ff,ff,ff\n2014-08-15T19:03:22.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:22.572Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,64,31,d3,23,00,90,ae,e3,28,4b,83,09,a9,3f,10,00,fc\n2014-08-15T19:03:22.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,4c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:22.614Z,3,130577,160,255,14,c0,54,95,83,6e,01,ff,ff,ff,ff,0d,74,41,00\n2014-08-15T19:03:22.617Z,2,129025,160,255,8,a7,5e,98,23,2d,0e,be,0e\n2014-08-15T19:03:22.634Z,4,129039,43,255,26,12,90,e4,c3,0d,5d,5a,bf,0e,70,5d,7e,23,54,61,6b,ba,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:22.683Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:22.683Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,ea,3a,01,00\n2014-08-15T19:03:22.686Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:22.689Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:22.692Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:22.780Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:22.793Z,4,129039,43,255,26,12,06,a5,b5,0d,af,82,bd,0e,0c,33,98,23,58,78,84,58,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:22.814Z,2,129026,160,255,8,ff,fc,95,83,6e,01,ff,ff\n2014-08-15T19:03:22.817Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:22.933Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:22.950Z,6,129540,160,255,135,9c,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,10,0e,00,00,00,00,f2,0e,5d,1f,0b,2f,8c,0a,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,28,0a,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,b8,0b,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,f0,0a,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:03:22.954Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:03:22.973Z,2,130306,115,255,8,00,42,03,9b,29,f2,ff,ff\n2014-08-15T19:03:22.997Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:23.025Z,4,129039,43,255,26,12,44,11,b6,0d,b5,0c,be,0e,aa,5e,98,23,5b,72,83,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:23.049Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:23.063Z,4,129038,43,255,27,03,58,eb,ad,0e,50,53,5d,0e,94,7c,8f,23,5f,a8,2f,d4,01,b3,6e,08,5c,2e,00,00,00,fe\n2014-08-15T19:03:23.085Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:23.087Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:23.090Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:23.119Z,3,129029,160,255,43,55,a9,3f,c8,ee,e3,28,00,c6,25,a8,8f,a3,49,08,00,82,41,dd,3a,b7,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:23.121Z,3,129033,160,255,8,a9,3f,c8,ee,e3,28,b4,00\n2014-08-15T19:03:23.124Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:23.149Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:23.163Z,4,129038,43,255,27,01,b8,83,92,0e,d9,bc,e0,0e,d9,c7,75,23,5d,8e,c1,05,00,61,03,01,59,d3,00,00,00,fe\n2014-08-15T19:03:23.203Z,4,129038,43,255,27,01,28,f5,77,10,13,13,a0,0e,b0,62,74,23,54,dc,44,9a,00,db,08,08,fe,3b,ff,7f,00,fe\n2014-08-15T19:03:23.214Z,3,126992,160,255,8,ff,ff,a9,3f,c8,ee,e3,28\n2014-08-15T19:03:23.316Z,2,128259,160,255,8,ff,ff,ff,6e,01,ff,ff,ff\n2014-08-15T19:03:23.353Z,4,129038,43,255,27,01,b8,f5,67,12,2d,70,8d,0e,2a,77,90,23,5c,68,2d,d1,03,63,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:03:23.419Z,3,129291,160,255,8,ff,fc,0d,74,41,00,ff,ff\n2014-08-15T19:03:23.433Z,4,129038,43,255,27,01,e0,53,7f,10,f7,c5,c7,0e,20,35,ab,23,60,7e,88,c4,05,c7,08,08,fd,86,ff,7f,00,fe\n2014-08-15T19:03:23.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:23.469Z,3,128267,115,255,8,00,2f,09,00,00,ff,ff,ff\n2014-08-15T19:03:23.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:23.498Z,3,127508,129,255,8,01,ec,04,c2,08,1e,75,42\n2014-08-15T19:03:23.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,32,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:23.613Z,3,130577,160,255,14,c0,55,66,84,66,01,ff,ff,ff,ff,18,56,1f,00\n2014-08-15T19:03:23.615Z,2,129025,160,255,8,70,5d,98,23,76,0d,be,0e\n2014-08-15T19:03:23.673Z,4,129038,43,255,27,01,08,99,b5,0d,38,60,cc,0e,48,71,a5,23,64,ad,4b,49,01,74,83,01,f3,48,00,00,00,fe\n2014-08-15T19:03:23.682Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,ea,3a,01,00\n2014-08-15T19:03:23.684Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:23.687Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:23.690Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:23.720Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:23.724Z,4,129038,43,255,27,01,c8,d4,7f,10,7b,da,df,0e,86,90,c5,23,5d,89,7b,33,04,4b,c0,09,72,7d,00,00,00,fe\n2014-08-15T19:03:23.826Z,2,129026,160,255,8,ff,fc,66,84,66,01,ff,ff\n2014-08-15T19:03:23.885Z,2,130306,115,255,8,00,d1,02,3c,19,f2,ff,ff\n2014-08-15T19:03:23.945Z,6,129540,160,255,135,9d,ff,0b,20,b9,2f,09,98,ac,0d,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,1c,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,54,0b,00,00,00,00,f2\n2014-08-15T19:03:23.947Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:03:23.991Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:24.025Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:03:24.043Z,4,129039,43,255,26,12,44,11,b6,0d,ed,0b,be,0e,8f,5d,98,23,5f,a6,86,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:24.062Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:24.062Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:24.064Z,2,128259,115,255,8,00,43,01,ff,ff,00,ff,ff\n2014-08-15T19:03:24.093Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:24.124Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:24.129Z,3,129029,160,255,43,56,a9,3f,e2,15,e4,28,00,60,1a,3f,47,a3,49,08,00,1c,9b,41,10,b7,6e,03,00,9f,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:24.132Z,3,129033,160,255,8,a9,3f,e2,15,e4,28,b4,00\n2014-08-15T19:03:24.137Z,3,127508,129,255,8,01,ea,04,ab,08,1e,75,42\n2014-08-15T19:03:24.183Z,4,129039,43,255,26,12,44,e0,c3,0d,9f,ea,ba,0e,d1,a7,8e,23,5e,c4,7c,91,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:24.224Z,4,129039,43,255,26,12,58,7f,b6,0d,a9,3e,bc,0e,5e,8b,94,23,5f,e6,7c,91,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:24.226Z,3,126992,160,255,8,ff,ff,a9,3f,e2,15,e4,28\n2014-08-15T19:03:24.267Z,3,127508,129,255,8,01,eb,04,c3,08,1e,75,42\n2014-08-15T19:03:24.324Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:03:24.418Z,3,129291,160,255,8,ff,fc,18,56,1f,00,ff,ff\n2014-08-15T19:03:24.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:24.468Z,3,128267,115,255,8,00,44,09,00,00,ff,ff,ff\n2014-08-15T19:03:24.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:24.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:24.621Z,3,130577,160,255,14,c0,56,9b,84,65,01,ff,ff,ff,ff,18,56,1f,00\n2014-08-15T19:03:24.624Z,2,129025,160,255,8,47,5c,98,23,c0,0c,be,0e\n2014-08-15T19:03:24.680Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,ea,3a,01,00\n2014-08-15T19:03:24.682Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:24.684Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:24.686Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:24.722Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:24.798Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:03:24.848Z,2,129026,160,255,8,ff,fc,9b,84,65,01,ff,ff\n2014-08-15T19:03:24.872Z,3,127508,129,255,8,01,e8,04,b1,08,1e,75,42\n2014-08-15T19:03:24.883Z,2,130306,115,255,8,00,28,03,c9,22,f2,ff,ff\n2014-08-15T19:03:24.958Z,6,129540,160,255,135,9e,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,b8,0b,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,b8,0b,00,00,00,00,f2,18,74,05,23,06,f0,0a,00,00,00,00,f2\n2014-08-15T19:03:24.960Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:24.979Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.007Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:03:25.020Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:25.044Z,4,129038,43,255,27,03,f8,d2,7e,10,83,45,da,0e,f9,47,da,23,55,28,37,05,00,00,00,08,ce,8d,00,00,05,fe\n2014-08-15T19:03:25.056Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:25.060Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:25.060Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.084Z,4,129039,43,255,26,12,44,11,b6,0d,35,0b,be,0e,74,5c,98,23,63,6c,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:25.116Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.124Z,4,129038,43,255,27,01,c8,27,16,0e,14,4d,68,0e,64,02,94,23,5d,6e,31,50,03,32,c0,08,16,31,f6,ff,00,fe\n2014-08-15T19:03:25.134Z,3,129029,160,255,43,57,a9,3f,fc,3c,e4,28,00,06,86,18,02,a3,49,08,00,80,8f,e1,e5,b6,6e,03,d0,29,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:25.136Z,3,129033,160,255,8,a9,3f,fc,3c,e4,28,b4,00\n2014-08-15T19:03:25.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:25.173Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:25.228Z,3,126992,160,255,8,ff,ff,a9,3f,fc,3c,e4,28\n2014-08-15T19:03:25.230Z,7,127506,129,255,9,43,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:25.273Z,4,129038,43,255,27,01,e0,53,7f,10,10,bf,c7,0e,5c,2b,ab,23,68,15,88,bf,05,b0,83,00,fd,86,00,00,00,fe\n2014-08-15T19:03:25.321Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:03:25.325Z,4,129038,43,255,27,01,10,04,1a,0e,c6,b1,00,0f,d4,26,af,23,60,83,b0,9c,02,33,40,09,9f,b2,00,00,00,fe\n2014-08-15T19:03:25.363Z,4,129038,43,255,27,01,20,f6,7e,10,58,36,c7,0e,e6,ea,7f,23,61,39,31,05,00,b3,83,08,13,c7,00,00,0f,fe\n2014-08-15T19:03:25.403Z,4,129038,43,255,27,01,88,d6,d0,0c,5b,81,e5,0e,a5,f5,b7,23,61,2c,98,41,03,b4,83,01,14,9a,00,00,00,fe\n2014-08-15T19:03:25.425Z,3,129291,160,255,8,ff,fc,82,69,2d,00,ff,ff\n2014-08-15T19:03:25.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.468Z,3,128267,115,255,8,00,44,09,00,00,ff,ff,ff\n2014-08-15T19:03:25.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,22,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:25.613Z,4,129038,43,255,27,01,d2,ff,4a,10,8f,8a,b1,0e,d8,01,71,23,65,a4,ec,00,00,0c,66,08,37,91,ec,ff,00,fe\n2014-08-15T19:03:25.622Z,3,130577,160,255,14,c0,57,26,85,61,01,ff,ff,ff,ff,82,69,2d,00\n2014-08-15T19:03:25.624Z,2,129025,160,255,8,1b,5b,98,23,07,0c,be,0e\n2014-08-15T19:03:25.649Z,2,130306,115,255,8,00,c1,02,60,1f,f2,ff,ff\n2014-08-15T19:03:25.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:25.677Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,fc,3a,01,00\n2014-08-15T19:03:25.679Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:25.682Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:25.684Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:25.735Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:25.751Z,3,127508,129,255,8,01,e9,04,e0,08,1e,75,43\n2014-08-15T19:03:25.836Z,2,129026,160,255,8,ff,fc,26,85,61,01,ff,ff\n2014-08-15T19:03:25.913Z,7,129793,43,255,26,04,91,18,23,00,60,1a,86,0e,c8,f6,c7,23,00,d0,4a,e4,28,bd,c0,01,a9,3f,10,00,fc\n2014-08-15T19:03:25.977Z,6,129540,160,255,135,9f,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,c4,09,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,80,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,e4,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:03:25.980Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:03:25.989Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:26.030Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:26.032Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:26.034Z,2,128259,115,255,8,00,3e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:26.063Z,4,129039,43,255,26,12,44,11,b6,0d,7e,0a,be,0e,48,5b,98,23,67,3e,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:26.065Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:26.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:26.123Z,4,129039,43,255,26,12,08,57,b6,0d,6b,56,c9,0e,bc,b1,92,23,67,44,54,ba,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:26.142Z,3,129029,160,255,43,58,a9,3f,48,64,e4,28,00,4e,21,3f,bc,a2,49,08,00,86,b3,ce,ba,b6,6e,03,90,fe,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:26.145Z,3,129033,160,255,8,a9,3f,48,64,e4,28,b4,00\n2014-08-15T19:03:26.234Z,3,126992,160,255,8,ff,ff,a9,3f,48,64,e4,28\n2014-08-15T19:03:26.292Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:26.336Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:03:26.440Z,3,129291,160,255,8,ff,fc,64,6b,19,00,ff,ff\n2014-08-15T19:03:26.464Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:26.466Z,3,128267,115,255,8,00,54,09,00,00,ff,ff,ff\n2014-08-15T19:03:26.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:26.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,21,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:26.638Z,3,130577,160,255,14,c0,58,5b,85,64,01,ff,ff,ff,ff,64,6b,19,00\n2014-08-15T19:03:26.640Z,2,130306,115,255,8,00,db,02,c9,22,f2,ff,ff\n2014-08-15T19:03:26.642Z,2,129025,160,255,8,e8,59,98,23,50,0b,be,0e\n2014-08-15T19:03:26.664Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:26.674Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,fc,3a,01,00\n2014-08-15T19:03:26.676Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:26.680Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:26.682Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:26.738Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:26.838Z,2,129026,160,255,8,ff,fc,5b,85,64,01,ff,ff\n2014-08-15T19:03:26.973Z,6,129540,160,255,135,a0,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,60,09,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,10,0e,00,00,00,00,f2,04,f4,0c,1f,c9,80,0c,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,fc,08,00,00,00,00,f2\n2014-08-15T19:03:26.975Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:03:26.978Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:26.979Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:27.005Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:27.008Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:27.010Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:27.037Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:27.068Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:27.082Z,4,129039,43,255,26,12,44,11,b6,0d,c7,09,be,0e,2c,5a,98,23,6b,4f,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:27.122Z,4,129039,43,255,26,12,80,e5,c3,0d,4a,b8,c1,0e,05,d1,95,23,6b,a1,58,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:27.170Z,3,129029,160,255,43,59,a9,3f,44,8b,e4,28,00,10,81,c4,74,a2,49,08,00,20,0d,33,90,b6,6e,03,20,ed,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:27.172Z,3,129033,160,255,8,a9,3f,44,8b,e4,28,b4,00\n2014-08-15T19:03:27.239Z,3,126992,160,255,8,ff,ff,a9,3f,44,8b,e4,28\n2014-08-15T19:03:27.342Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:03:27.444Z,3,129291,160,255,8,ff,fc,c2,75,29,00,ff,ff\n2014-08-15T19:03:27.448Z,3,127508,129,255,8,01,e7,04,c4,08,1e,75,43\n2014-08-15T19:03:27.463Z,4,129038,43,255,27,01,e0,53,7f,10,d7,b4,c7,0e,b6,1c,ab,23,70,be,87,c9,05,c9,08,08,fd,86,ff,7f,00,fe\n2014-08-15T19:03:27.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:27.467Z,3,128267,115,255,8,00,29,09,00,00,ff,ff,ff\n2014-08-15T19:03:27.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:27.512Z,4,129038,43,255,27,01,b8,53,a6,0c,16,8c,7c,0e,da,90,9f,23,6c,f1,ab,78,02,20,43,09,d9,ad,00,00,00,fe\n2014-08-15T19:03:27.554Z,4,129038,43,255,27,01,fc,ff,e9,25,15,b4,29,0f,64,af,be,23,69,2b,bc,c0,02,c2,08,00,7c,bb,3b,00,00,fe\n2014-08-15T19:03:27.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3c,02,02,00,02,01,03,00,00,00\n2014-08-15T19:03:27.584Z,2,130306,115,255,8,00,e5,02,d5,24,f2,ff,ff\n2014-08-15T19:03:27.645Z,3,130577,160,255,14,c0,59,7e,85,66,01,ff,ff,ff,ff,c2,75,29,00\n2014-08-15T19:03:27.647Z,2,129025,160,255,8,a9,58,98,23,9a,0a,be,0e\n2014-08-15T19:03:27.650Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:27.667Z,6,129794,43,255,75,05,30,d6,75,10,b6,ad,51,00,45,53,5a,41,20,20,20,54,41,52,4d,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,00,48,03,dc,00,32,00,0e,01,31,40,00,f6,34,2f,bc,02,49,43,45,42,52,45,41,4b,49,4e,47,20,56,48,46,20,43,48,30,38,04,e1\n2014-08-15T19:03:27.672Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,fc,3a,01,00\n2014-08-15T19:03:27.674Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:27.677Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:27.679Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:27.697Z,3,127508,129,255,8,01,e8,04,03,09,1e,75,43\n2014-08-15T19:03:27.753Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:27.845Z,2,129026,160,255,8,ff,fc,7e,85,66,01,ff,ff\n2014-08-15T19:03:27.989Z,6,129540,160,255,135,a1,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,54,0b,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,80,0c,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,54,0b,00,00,00,00,f2,16,46,0c,39,37,e4,0c,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,d0,07,00,00,00,00,f2\n2014-08-15T19:03:27.991Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:03:27.993Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:28.019Z,3,127508,129,255,8,01,e3,04,ba,08,1e,75,43\n2014-08-15T19:03:28.029Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:28.031Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:28.034Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:28.038Z,3,127508,129,255,8,01,e2,04,b6,08,1e,75,43\n2014-08-15T19:03:28.088Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:28.093Z,4,129039,43,255,26,12,44,11,b6,0d,20,09,be,0e,f0,58,98,23,6f,3e,86,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:28.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:28.157Z,3,129029,160,255,43,5a,a9,3f,90,b2,e4,28,00,5a,9f,7e,2a,a2,49,08,00,84,01,d3,65,b6,6e,03,90,8d,23,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:28.160Z,3,129033,160,255,8,a9,3f,90,b2,e4,28,b4,00\n2014-08-15T19:03:28.255Z,3,126992,160,255,8,ff,ff,a9,3f,90,b2,e4,28\n2014-08-15T19:03:28.345Z,2,128259,160,255,8,ff,ff,ff,66,01,ff,ff,ff\n2014-08-15T19:03:28.448Z,3,129291,160,255,8,ff,fc,87,78,19,00,ff,ff\n2014-08-15T19:03:28.463Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:28.467Z,3,128267,115,255,8,00,a6,08,00,00,ff,ff,ff\n2014-08-15T19:03:28.493Z,4,129038,43,255,27,01,58,43,c9,0e,cf,d8,d7,0e,17,d3,a9,23,74,c8,ad,cb,02,29,84,09,88,ae,00,00,00,fe\n2014-08-15T19:03:28.495Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:28.553Z,2,130306,115,255,8,00,d1,02,9a,1a,f2,ff,ff\n2014-08-15T19:03:28.573Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:28.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:28.591Z,7,127506,129,255,9,44,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:28.653Z,3,130577,160,255,14,c0,5a,8f,85,63,01,ff,ff,ff,ff,87,78,19,00\n2014-08-15T19:03:28.656Z,2,129025,160,255,8,7d,57,98,23,ea,09,be,0e\n2014-08-15T19:03:28.669Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,fc,3a,01,00\n2014-08-15T19:03:28.673Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:28.674Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:28.677Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:28.730Z,3,127508,129,255,8,01,e3,04,ef,08,1e,75,44\n2014-08-15T19:03:28.732Z,4,129038,43,255,27,01,92,12,4b,10,a5,06,fd,0e,75,6b,ae,23,70,e6,af,bb,02,ad,08,00,42,b1,01,00,00,fe\n2014-08-15T19:03:28.756Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:28.792Z,4,129038,43,255,27,01,68,e2,20,12,cd,eb,fe,0e,fa,66,ad,23,74,48,af,f8,01,0c,66,08,f1,b1,00,00,00,fe\n2014-08-15T19:03:28.847Z,2,129026,160,255,8,ff,fc,8f,85,63,01,ff,ff\n2014-08-15T19:03:28.957Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:28.987Z,6,129540,160,255,135,a2,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,54,0b,00,00,00,00,f2,0b,97,29,15,8b,54,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,e4,0c,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,60,09,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,40,06,00,00,00,00,f2,1c,d1,06,42,c0,80,0c,00,00,00,00,f2,18,74,05,23,06,60,09,00,00,00,00,f2\n2014-08-15T19:03:28.989Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:03:28.996Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:28.998Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:29.000Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:29.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:29.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:29.102Z,4,129039,43,255,26,12,44,11,b6,0d,69,08,be,0e,b3,57,98,23,73,e6,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:29.155Z,3,129029,160,255,43,5b,a9,3f,b4,d9,e4,28,00,a2,3a,a5,e4,a1,49,08,00,a4,96,d8,3c,b6,6e,03,d0,29,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:29.157Z,3,129033,160,255,8,a9,3f,b4,d9,e4,28,b4,00\n2014-08-15T19:03:29.262Z,3,126992,160,255,8,ff,ff,a9,3f,b4,d9,e4,28\n2014-08-15T19:03:29.275Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:29.359Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:03:29.462Z,3,129291,160,255,8,ff,fc,ac,71,18,00,ff,ff\n2014-08-15T19:03:29.480Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:29.482Z,3,128267,115,255,8,00,d4,08,00,00,ff,ff,ff\n2014-08-15T19:03:29.486Z,4,129038,43,255,27,01,e0,53,7f,10,01,ae,c7,0e,03,13,ab,23,78,15,88,c4,05,37,c0,01,fd,86,00,00,00,fe\n2014-08-15T19:03:29.512Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:29.540Z,2,130306,115,255,8,00,47,03,10,2f,f2,ff,ff\n2014-08-15T19:03:29.560Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:29.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,1f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:29.592Z,4,129038,43,255,27,01,b8,f5,67,12,ce,95,8d,0e,c2,7f,90,23,74,68,2d,d1,03,52,84,03,ff,2c,00,00,00,fe\n2014-08-15T19:03:29.637Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:29.656Z,3,130577,160,255,14,c0,5b,8f,85,64,01,ff,ff,ff,ff,ac,71,18,00\n2014-08-15T19:03:29.659Z,2,129025,160,255,8,4f,56,98,23,3b,09,be,0e\n2014-08-15T19:03:29.666Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,fc,3a,01,00\n2014-08-15T19:03:29.669Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:29.671Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:29.674Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:29.678Z,4,129038,43,255,27,01,c8,d4,7f,10,2e,d9,df,0e,bc,79,c5,23,75,be,7b,33,04,55,04,01,72,7d,00,00,00,fe\n2014-08-15T19:03:29.763Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:29.853Z,4,129038,43,255,27,01,10,dc,6d,0f,fb,11,60,0e,bf,a1,9c,23,75,a6,ad,83,02,c6,08,00,88,ae,14,00,00,fe\n2014-08-15T19:03:29.855Z,2,129026,160,255,8,ff,fc,8f,85,64,01,ff,ff\n2014-08-15T19:03:29.920Z,3,127508,129,255,8,01,e1,04,c9,08,1e,75,44\n2014-08-15T19:03:29.976Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:29.992Z,6,129540,160,255,135,a3,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,48,0d,00,00,00,00,f2,0b,97,29,15,8b,b8,0b,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,98,08,00,00,00,00,f2,1c,d1,06,42,c0,1c,0c,00,00,00,00,f2,18,74,05,23,06,c4,09,00,00,00,00,f2\n2014-08-15T19:03:29.994Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:03:30.030Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:30.032Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:30.034Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:03:30.090Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:30.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:30.122Z,4,129039,43,255,26,12,44,11,b6,0d,c2,07,be,0e,76,56,98,23,77,26,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:30.147Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:30.163Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,e7,e4,28,8c,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:03:30.188Z,3,129029,160,255,43,5c,a9,3f,28,01,e5,28,00,56,a0,54,9e,a1,49,08,00,8e,c6,19,14,b6,6e,03,90,fe,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:30.190Z,3,129033,160,255,8,a9,3f,28,01,e5,28,b4,00\n2014-08-15T19:03:30.256Z,3,126992,160,255,8,ff,ff,a9,3f,28,01,e5,28\n2014-08-15T19:03:30.261Z,3,127508,129,255,8,01,e1,04,f0,08,1e,75,44\n2014-08-15T19:03:30.312Z,4,129038,43,255,27,01,88,44,7d,10,87,23,c7,0e,b9,ec,7f,23,70,97,05,00,00,c8,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:03:30.358Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:03:30.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,e7,e4,28,7e,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:03:30.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:30.464Z,3,129291,160,255,8,ff,fc,a2,17,04,00,ff,ff\n2014-08-15T19:03:30.466Z,3,128267,115,255,8,00,11,09,00,00,ff,ff,ff\n2014-08-15T19:03:30.488Z,2,130306,115,255,8,00,74,02,6a,12,f2,ff,ff\n2014-08-15T19:03:30.515Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:30.541Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:30.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,38,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:30.642Z,3,127508,129,255,8,01,33,05,b9,08,1e,75,44\n2014-08-15T19:03:30.649Z,3,127508,129,255,8,01,3b,05,18,09,1e,75,44\n2014-08-15T19:03:30.663Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,0f,3b,01,00\n2014-08-15T19:03:30.666Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:30.669Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:30.672Z,3,130577,160,255,14,c0,5c,89,84,61,01,ff,ff,ff,ff,a2,17,04,00\n2014-08-15T19:03:30.674Z,2,129025,160,255,8,22,55,98,23,b1,08,be,0e\n2014-08-15T19:03:30.676Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:30.702Z,4,129039,43,255,26,12,44,11,b6,0d,3d,07,be,0e,3a,55,98,23,7b,c3,82,8c,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:03:30.758Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:30.858Z,2,129026,160,255,8,ff,fc,89,84,61,01,ff,ff\n2014-08-15T19:03:30.865Z,7,127506,129,255,9,45,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:30.892Z,4,129038,43,255,27,01,6c,70,4a,10,55,cf,00,0f,5d,b1,a3,23,77,50,35,bf,01,0c,66,00,21,33,06,00,00,fe\n2014-08-15T19:03:30.963Z,4,129038,43,255,27,01,c8,27,16,0e,54,6c,68,0e,f2,06,94,23,71,7f,31,50,03,ab,84,01,16,31,ec,ff,00,fe\n2014-08-15T19:03:30.965Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:30.998Z,6,129540,160,255,135,a4,ff,0b,20,b9,2f,09,98,48,0d,00,00,00,00,f2,01,ae,2d,ab,b4,80,0c,00,00,00,00,f2,0b,97,29,15,8b,1c,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,e4,0c,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,28,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,98,08,00,00,00,00,f2,1c,d1,06,42,c0,28,0a,00,00,00,00,f2,18,74,05,23,06,28,0a,00,00,00,00,f2\n2014-08-15T19:03:31.000Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:03:31.007Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:31.014Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:31.014Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:31.021Z,3,127508,129,255,8,01,37,05,c6,08,1e,75,45\n2014-08-15T19:03:31.044Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:31.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:31.133Z,4,129039,43,255,26,12,44,11,b6,0d,3d,07,be,0e,3a,55,98,23,7b,c3,82,8c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:31.168Z,3,129029,160,255,43,5d,a9,3f,1a,28,e5,28,00,d4,a0,3f,58,a1,49,08,00,aa,55,f8,f3,b5,6e,03,40,8e,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:31.169Z,3,129033,160,255,8,a9,3f,1a,28,e5,28,b4,00\n2014-08-15T19:03:31.195Z,4,129038,43,255,27,01,88,d6,d0,0c,45,69,e5,0e,f3,e8,b7,23,79,4f,98,41,03,8e,84,08,14,9a,00,00,00,fe\n2014-08-15T19:03:31.264Z,3,126992,160,255,8,ff,ff,a9,3f,1a,28,e5,28\n2014-08-15T19:03:31.308Z,4,129039,43,255,26,12,8c,d3,b5,0d,9e,d5,be,0e,f1,04,99,23,78,20,8d,49,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:03:31.364Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:03:31.459Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:31.462Z,3,128267,115,255,8,00,cd,08,00,00,ff,ff,ff\n2014-08-15T19:03:31.467Z,3,129291,160,255,8,ff,fc,82,57,37,00,ff,ff\n2014-08-15T19:03:31.471Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:31.480Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:31.482Z,2,130306,115,255,8,00,7b,03,f8,2a,f2,ff,ff\n2014-08-15T19:03:31.507Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:31.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:31.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,25,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:31.592Z,4,129038,43,255,27,01,e0,53,7f,10,1b,a7,c7,0e,3f,09,ab,23,80,15,88,c4,05,9d,84,08,fd,86,ff,7f,00,fe\n2014-08-15T19:03:31.661Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,0f,3b,01,00\n2014-08-15T19:03:31.664Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:31.666Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:31.669Z,3,130577,160,255,14,c0,5d,4f,83,69,01,ff,ff,ff,ff,82,57,37,00\n2014-08-15T19:03:31.672Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:31.674Z,2,129025,160,255,8,d1,53,98,23,4d,08,be,0e\n2014-08-15T19:03:31.765Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:31.802Z,4,129038,43,255,27,01,b0,79,7a,10,5c,30,d3,0e,f9,69,81,23,78,25,d9,e3,01,46,40,09,2a,da,ec,ff,00,fe\n2014-08-15T19:03:31.867Z,2,129026,160,255,8,ff,fc,4f,83,69,01,ff,ff\n2014-08-15T19:03:31.962Z,4,129038,43,255,27,01,98,69,b3,0e,58,86,90,0e,74,cd,a0,23,79,a0,af,f8,01,ab,84,00,42,b1,00,00,00,fe\n2014-08-15T19:03:31.973Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:31.995Z,6,129540,160,255,135,a5,ff,0b,20,b9,2f,09,98,e4,0c,00,00,00,00,f2,01,ae,2d,ab,b4,e4,0c,00,00,00,00,f2,0b,97,29,15,8b,80,0c,00,00,00,00,f2,0e,5d,1f,0b,2f,48,0d,00,00,00,00,f2,14,17,13,ce,ab,48,0d,00,00,00,00,f2,11,00,0f,7c,d9,74,0e,00,00,00,00,f2,04,f4,0c,1f,c9,8c,0a,00,00,00,00,f2,16,46,0c,39,37,48,0d,00,00,00,00,f2,13,3a,0a,cf,7e,28,0a,00,00,00,00,f2,1c,d1,06,42,c0,54,0b,00,00,00,00,f2,18,74,05,23,06,8c,0a,00,00,00,00,f2\n2014-08-15T19:03:31.999Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:03:32.001Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:32.024Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:32.027Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:32.029Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:32.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:32.088Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:32.122Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:32.143Z,4,129039,43,255,26,12,44,11,b6,0d,c8,06,be,0e,aa,53,98,23,7f,95,80,86,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:32.174Z,3,129029,160,255,43,5e,a9,3f,5c,4f,e5,28,00,ea,dc,c8,09,a1,49,08,00,c2,de,af,dc,b5,6e,03,70,21,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:32.177Z,3,129033,160,255,8,a9,3f,5c,4f,e5,28,b4,00\n2014-08-15T19:03:32.270Z,3,126992,160,255,8,ff,ff,a9,3f,5c,4f,e5,28\n2014-08-15T19:03:32.343Z,4,129039,43,255,26,12,6e,c9,b5,0d,87,91,d0,0e,c6,12,90,23,82,b3,58,0c,02,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:32.364Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:03:32.425Z,2,130306,115,255,8,00,bc,02,df,17,f2,ff,ff\n2014-08-15T19:03:32.463Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:32.466Z,3,128267,115,255,8,00,f2,08,00,00,ff,ff,ff\n2014-08-15T19:03:32.470Z,3,129291,160,255,8,ff,fc,6c,52,4a,00,ff,ff\n2014-08-15T19:03:32.472Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:32.522Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:32.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:32.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,52,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:32.583Z,7,129793,43,255,26,04,90,18,23,00,ec,d1,e2,0e,00,31,d3,23,00,30,35,e5,28,c2,84,00,a9,3f,10,00,fc\n2014-08-15T19:03:32.658Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,0f,3b,01,00\n2014-08-15T19:03:32.662Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:32.664Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:32.667Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:32.674Z,3,130577,160,255,14,c0,5e,20,84,69,01,ff,ff,ff,ff,6c,52,4a,00\n2014-08-15T19:03:32.676Z,2,129025,160,255,8,86,52,98,23,b8,07,be,0e\n2014-08-15T19:03:32.771Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:32.791Z,3,127508,129,255,8,01,3b,05,e5,08,1e,75,45\n2014-08-15T19:03:32.872Z,4,129038,43,255,27,01,58,eb,ad,0e,1b,72,5d,0e,2d,82,8f,23,87,a8,2f,d4,01,3a,c0,00,5c,2e,00,00,00,fe\n2014-08-15T19:03:32.875Z,2,129026,160,255,8,ff,fc,20,84,69,01,ff,ff\n2014-08-15T19:03:32.878Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:32.952Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:33.001Z,6,129540,160,255,147,a6,ff,0c,20,68,30,5a,97,e4,0c,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,66,8a,74,0e,00,00,00,00,f2,0e,ae,1e,5c,2e,48,0d,00,00,00,00,f2,14,c5,13,7d,ac,48,0d,00,00,00,00,f2,11,ae,0f,7c,d9,74,0e,00,00,00,00,f2,04,a3,0d,ce,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,94,bf,54,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,00,00,00,00,00,00,f0\n2014-08-15T19:03:33.003Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:03:33.005Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:33.008Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:33.010Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:33.033Z,4,129038,43,255,27,01,38,5e,49,16,8b,7a,ca,0e,a2,bf,76,23,81,24,f1,00,00,c5,08,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:03:33.050Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:33.073Z,7,129793,43,255,26,04,8f,18,23,00,3c,1e,46,0f,50,68,e2,23,00,40,5c,e5,28,0c,66,08,a9,3f,10,00,fc\n2014-08-15T19:03:33.078Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:33.163Z,4,129039,43,255,26,12,44,11,b6,0d,21,06,be,0e,8e,52,98,23,83,c3,85,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:33.174Z,3,129029,160,255,43,5f,a9,3f,fe,75,e5,28,00,bc,b9,b7,bc,a0,49,08,00,30,c7,fe,b9,b5,6e,03,e0,50,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:33.178Z,3,129033,160,255,8,a9,3f,fe,75,e5,28,b4,00\n2014-08-15T19:03:33.270Z,3,126992,160,255,8,ff,ff,a9,3f,fe,75,e5,28\n2014-08-15T19:03:33.323Z,4,129038,43,255,27,01,fc,ff,e9,25,97,96,29,0f,c2,b0,be,23,81,7d,bb,c5,02,1d,40,09,7c,bb,e6,ff,00,fe\n2014-08-15T19:03:33.368Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:03:33.393Z,2,130306,115,255,8,00,ff,02,3c,19,f2,ff,ff\n2014-08-15T19:03:33.413Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:33.459Z,3,128267,115,255,8,00,f2,08,00,00,ff,ff,ff\n2014-08-15T19:03:33.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:33.473Z,3,129291,160,255,8,ff,fc,6c,52,4a,00,ff,ff\n2014-08-15T19:03:33.481Z,3,127508,129,255,8,01,3c,05,cf,08,1e,75,45\n2014-08-15T19:03:33.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:33.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,50,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:33.656Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,0f,3b,01,00\n2014-08-15T19:03:33.660Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:33.662Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:33.664Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:33.668Z,3,130577,160,255,14,c0,5f,ac,84,68,01,ff,ff,ff,ff,27,58,53,00\n2014-08-15T19:03:33.670Z,2,129025,160,255,8,50,51,98,23,fd,06,be,0e\n2014-08-15T19:03:33.755Z,3,127508,129,255,8,01,3f,05,f9,08,1e,75,45\n2014-08-15T19:03:33.768Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:33.868Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:03:33.870Z,2,129026,160,255,8,ff,fc,ac,84,68,01,ff,ff\n2014-08-15T19:03:33.903Z,4,129038,43,255,27,01,b8,83,92,0e,d9,bc,e0,0e,d9,c7,75,23,89,8e,c1,05,00,94,08,08,59,d3,00,00,00,fe\n2014-08-15T19:03:33.943Z,4,129038,43,255,27,01,08,99,b5,0d,43,7a,cc,0e,c5,6a,a5,23,8c,f3,48,44,01,38,c0,08,f3,48,00,00,00,fe\n2014-08-15T19:03:33.968Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:34.011Z,6,129540,160,255,147,a7,ff,0c,20,68,30,5a,97,e4,0c,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,00,00,00,00,00,00,f0,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,54,0b,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,00,00,00,00,00,00,f0\n2014-08-15T19:03:34.013Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:03:34.025Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:34.027Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:34.029Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:34.058Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:34.087Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:34.103Z,4,129038,43,255,27,03,08,ad,c4,0d,bf,1e,ca,0e,5a,fd,76,23,88,09,98,00,00,5a,49,01,b7,89,00,00,05,fe\n2014-08-15T19:03:34.105Z,3,127508,129,255,8,01,42,05,18,09,1e,75,45\n2014-08-15T19:03:34.113Z,7,127506,129,255,9,46,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:34.143Z,4,129038,43,255,27,01,20,f6,7e,10,7f,35,c7,0e,8d,eb,7f,23,85,39,31,05,00,b5,08,00,13,c7,00,00,0f,fe\n2014-08-15T19:03:34.180Z,3,129029,160,255,43,60,a9,3f,90,9d,e5,28,00,20,49,8a,74,a0,49,08,00,a2,b5,74,8e,b5,6e,03,e0,50,24,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:34.182Z,3,129033,160,255,8,a9,3f,90,9d,e5,28,b4,00\n2014-08-15T19:03:34.186Z,4,129039,43,255,26,12,44,11,b6,0d,49,05,be,0e,62,51,98,23,87,2c,86,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:34.274Z,3,126992,160,255,8,ff,ff,a9,3f,90,9d,e5,28\n2014-08-15T19:03:34.291Z,3,127508,129,255,8,01,41,05,f2,08,1e,75,46\n2014-08-15T19:03:34.377Z,2,130306,115,255,8,00,47,03,9a,1a,f2,ff,ff\n2014-08-15T19:03:34.379Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:03:34.397Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:34.433Z,4,129038,43,255,27,01,08,7b,ba,0d,a5,0b,94,0e,f8,17,bd,23,85,94,a1,7c,01,21,c0,08,94,a1,00,00,00,fe\n2014-08-15T19:03:34.459Z,3,128267,115,255,8,00,f2,08,00,00,ff,ff,ff\n2014-08-15T19:03:34.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:34.471Z,3,129291,160,255,8,ff,fc,27,58,53,00,ff,ff\n2014-08-15T19:03:34.475Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,c7,01,71,23,89,a4,ec,00,00,08,85,01,37,91,01,00,00,fe\n2014-08-15T19:03:34.493Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:34.561Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:34.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,31,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:34.580Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:34.654Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,0f,3b,01,00\n2014-08-15T19:03:34.657Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:34.660Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:34.662Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:34.675Z,3,130577,160,255,14,c0,60,09,86,60,01,ff,ff,ff,ff,af,57,41,00\n2014-08-15T19:03:34.678Z,2,129025,160,255,8,27,50,98,23,2a,06,be,0e\n2014-08-15T19:03:34.777Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:34.843Z,4,129038,43,255,27,01,b8,f5,67,12,0e,b5,8d,0e,a8,86,90,23,88,56,2d,d1,03,17,85,0a,ff,2c,00,00,00,fe\n2014-08-15T19:03:34.871Z,2,129026,160,255,8,ff,fc,09,86,60,01,ff,ff\n2014-08-15T19:03:34.953Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:34.967Z,6,129794,43,255,75,05,fc,ff,e9,25,72,02,8f,00,44,35,42,56,36,20,20,54,48,45,54,49,53,20,44,20,20,20,20,20,20,20,20,20,20,20,20,47,90,06,04,01,82,00,22,06,a9,3f,00,a5,0f,2d,da,02,46,49,48,45,4c,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:03:34.990Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:34.993Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:34.994Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:35.013Z,6,129540,160,255,147,a8,ff,0c,20,68,30,5a,97,e4,0c,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,54,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,54,0b,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,74,0e,00,00,00,00,f1\n2014-08-15T19:03:35.018Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:03:35.019Z,4,129038,43,255,27,01,10,04,1a,0e,c2,88,00,0f,f8,20,af,23,84,83,b0,9c,02,1c,05,01,9f,b2,00,00,00,fe\n2014-08-15T19:03:35.050Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:35.078Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:35.099Z,3,127508,129,255,8,01,44,05,0b,09,1e,75,46\n2014-08-15T19:03:35.107Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:35.195Z,4,129039,43,255,26,12,44,11,b6,0d,70,04,be,0e,47,50,98,23,8b,60,89,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:35.201Z,3,129029,160,255,43,61,a9,3f,82,c4,e5,28,00,c6,b4,63,2f,a0,49,08,00,24,21,54,5d,b5,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:35.203Z,3,129033,160,255,8,a9,3f,82,c4,e5,28,b4,00\n2014-08-15T19:03:35.275Z,3,126992,160,255,8,ff,ff,a9,3f,82,c4,e5,28\n2014-08-15T19:03:35.329Z,2,130306,115,255,8,00,e5,02,77,23,f2,ff,ff\n2014-08-15T19:03:35.353Z,4,129038,43,255,27,01,e0,53,7f,10,c1,9c,c7,0e,aa,fa,aa,23,90,15,88,c4,05,d5,08,08,fd,86,00,00,00,fe\n2014-08-15T19:03:35.355Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:35.376Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:03:35.389Z,3,127508,129,255,8,01,45,05,0c,09,1e,75,46\n2014-08-15T19:03:35.403Z,4,129038,43,255,27,01,c8,d4,7f,10,e1,d7,df,0e,db,66,c5,23,89,be,7b,38,04,c4,08,08,72,7d,00,00,00,fe\n2014-08-15T19:03:35.449Z,3,127508,129,255,8,01,8c,05,82,07,1e,75,46\n2014-08-15T19:03:35.459Z,3,128267,115,255,8,00,f2,08,00,00,ff,ff,ff\n2014-08-15T19:03:35.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:35.475Z,3,129291,160,255,8,ff,fc,af,57,41,00,ff,ff\n2014-08-15T19:03:35.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:35.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,4e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:35.652Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,21,3b,01,00\n2014-08-15T19:03:35.654Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:35.658Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:35.660Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:35.682Z,3,130577,160,255,14,c0,61,38,88,5c,01,ff,ff,ff,ff,af,57,41,00\n2014-08-15T19:03:35.684Z,2,129025,160,255,8,12,4f,98,23,1c,05,be,0e\n2014-08-15T19:03:35.789Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:35.884Z,2,129026,160,255,8,ff,fc,38,88,5c,01,ff,ff\n2014-08-15T19:03:35.913Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,fa,f6,c7,23,00,70,d1,e5,28,bd,c0,09,a9,3f,10,00,fc\n2014-08-15T19:03:35.963Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:36.000Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:36.006Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:36.007Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:36.023Z,6,129540,160,255,147,a9,ff,0c,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,54,0b,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,74,0e,00,00,00,00,f6\n2014-08-15T19:03:36.024Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:03:36.044Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:36.063Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:36.109Z,3,127508,129,255,8,01,92,05,cc,07,1e,75,46\n2014-08-15T19:03:36.183Z,4,129038,43,255,27,01,80,e0,73,12,4c,3a,33,0f,81,70,98,23,90,71,b9,c9,01,49,85,09,c2,b8,ff,7f,00,fe\n2014-08-15T19:03:36.204Z,3,129029,160,255,43,62,a9,3f,ba,eb,e5,28,00,34,38,e5,ee,9f,49,08,00,18,e0,76,1e,b5,6e,03,90,c9,19,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:36.204Z,3,129033,160,255,8,a9,3f,ba,eb,e5,28,b4,00\n2014-08-15T19:03:36.226Z,4,129039,43,255,26,12,44,11,b6,0d,44,03,be,0e,3c,4f,98,23,8f,a0,8b,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:36.283Z,3,126992,160,255,8,ff,ff,a9,3f,ba,eb,e5,28\n2014-08-15T19:03:36.297Z,2,130306,115,255,8,00,bc,02,bd,20,f2,ff,ff\n2014-08-15T19:03:36.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:36.387Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:03:36.459Z,3,128267,115,255,8,00,b2,08,00,00,ff,ff,ff\n2014-08-15T19:03:36.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:36.488Z,3,129291,160,255,8,ff,fc,1a,6a,27,00,ff,ff\n2014-08-15T19:03:36.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:36.570Z,7,127506,129,255,9,47,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:36.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:36.650Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,21,3b,01,00\n2014-08-15T19:03:36.652Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:36.655Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:36.657Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:36.684Z,3,130577,160,255,14,c0,62,60,89,59,01,ff,ff,ff,ff,1a,6a,27,00\n2014-08-15T19:03:36.686Z,2,129025,160,255,8,05,4e,98,23,06,04,be,0e\n2014-08-15T19:03:36.733Z,4,129038,43,255,27,01,88,d6,d0,0c,0d,51,e5,0e,41,dc,b7,23,91,83,98,41,03,f1,08,00,14,9a,00,00,00,fe\n2014-08-15T19:03:36.791Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:36.893Z,4,129038,43,255,27,03,60,dd,c3,0d,b7,64,b9,0e,4a,64,70,23,95,a6,95,00,00,00,00,08,ff,0e,00,00,05,fe\n2014-08-15T19:03:36.895Z,2,129026,160,255,8,ff,fc,60,89,59,01,ff,ff\n2014-08-15T19:03:36.906Z,3,127508,129,255,8,01,98,05,3e,08,1e,75,47\n2014-08-15T19:03:36.948Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:36.985Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:36.987Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:36.990Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:37.025Z,6,129540,160,255,147,aa,ff,0c,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,54,0b,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:03:37.028Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:03:37.029Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:37.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:37.172Z,4,129038,43,255,27,01,c8,27,16,0e,b1,94,68,0e,75,0d,94,23,8d,a2,31,50,03,33,c0,08,16,31,f6,ff,00,fe\n2014-08-15T19:03:37.198Z,3,129029,160,255,43,63,a9,3f,de,12,e6,28,00,f2,91,43,b0,9f,49,08,00,bc,c8,bc,dd,b4,6e,03,50,2d,19,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:37.200Z,3,129033,160,255,8,a9,3f,de,12,e6,28,b4,00\n2014-08-15T19:03:37.214Z,4,129038,43,255,27,03,68,e2,20,12,cf,cf,fe,0e,97,63,ad,23,94,f7,af,fd,01,63,59,00,f1,b1,00,00,00,fe\n2014-08-15T19:03:37.253Z,4,129039,43,255,26,12,44,11,b6,0d,39,02,be,0e,32,4e,98,23,93,2c,8c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:37.260Z,2,130306,115,255,8,00,c1,02,03,1e,f2,ff,ff\n2014-08-15T19:03:37.290Z,3,126992,160,255,8,ff,ff,a9,3f,de,12,e6,28\n2014-08-15T19:03:37.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:37.394Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:03:37.453Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:37.455Z,3,128267,115,255,8,00,44,08,00,00,ff,ff,ff\n2014-08-15T19:03:37.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:37.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:37.488Z,3,129291,160,255,8,ff,fc,c8,8b,18,00,ff,ff\n2014-08-15T19:03:37.533Z,4,129038,43,255,27,01,58,43,c9,0e,73,ad,d7,0e,3b,cd,a9,23,98,da,ad,cb,02,0c,66,00,36,af,00,00,00,fe\n2014-08-15T19:03:37.553Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:37.573Z,4,129039,43,255,26,12,ec,d7,b5,0d,a1,e1,bb,0e,30,36,90,23,96,55,78,68,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:37.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:37.623Z,4,129038,43,255,27,01,e0,53,7f,10,88,92,c7,0e,04,ec,aa,23,9c,be,87,c9,05,37,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:03:37.647Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,21,3b,01,00\n2014-08-15T19:03:37.650Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:37.652Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:37.655Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:37.687Z,3,130577,160,255,14,c0,63,a0,88,59,01,ff,ff,ff,ff,c8,8b,18,00\n2014-08-15T19:03:37.689Z,2,129025,160,255,8,e4,4c,98,23,2b,03,be,0e\n2014-08-15T19:03:37.752Z,3,127508,129,255,8,01,9e,05,9b,08,1e,75,47\n2014-08-15T19:03:37.788Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:37.803Z,4,129038,43,255,27,01,b8,53,a6,0c,51,5e,7c,0e,90,89,9f,23,98,03,ac,78,02,1f,c3,00,d9,ad,00,00,00,fe\n2014-08-15T19:03:37.889Z,2,129026,160,255,8,ff,fc,a0,88,59,01,ff,ff\n2014-08-15T19:03:37.962Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:38.001Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:38.003Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:38.005Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:38.029Z,6,129540,160,255,147,ab,ff,0c,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,1c,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,fc,08,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,ac,0d,00,00,00,00,f6\n2014-08-15T19:03:38.031Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:03:38.034Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:38.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:38.146Z,3,127508,129,255,8,01,a5,05,00,09,1e,75,47\n2014-08-15T19:03:38.193Z,3,129029,160,255,43,64,a9,3f,16,3a,e6,28,00,e8,d3,f9,6c,9f,49,08,00,ee,5d,bf,aa,b4,6e,03,00,6a,18,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:38.197Z,3,129033,160,255,8,a9,3f,16,3a,e6,28,b4,00\n2014-08-15T19:03:38.233Z,4,129039,43,255,26,12,44,11,b6,0d,88,00,be,0e,ea,4b,98,23,9b,6c,88,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:38.238Z,2,130306,115,255,8,00,fa,02,48,1b,f2,ff,ff\n2014-08-15T19:03:38.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:38.310Z,3,126992,160,255,8,ff,ff,a9,3f,16,3a,e6,28\n2014-08-15T19:03:38.393Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:03:38.454Z,3,128267,115,255,8,00,38,08,00,00,ff,ff,ff\n2014-08-15T19:03:38.456Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:38.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:38.495Z,3,129291,160,255,8,ff,fc,03,68,11,00,ff,ff\n2014-08-15T19:03:38.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:38.644Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,21,3b,01,00\n2014-08-15T19:03:38.647Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:38.649Z,3,127508,129,255,8,01,a1,05,b0,08,1e,75,47\n2014-08-15T19:03:38.649Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:38.652Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:38.702Z,2,129025,160,255,8,b2,4b,98,23,6d,02,be,0e\n2014-08-15T19:03:38.702Z,3,130577,160,255,14,c0,64,38,88,5a,01,ff,ff,ff,ff,03,68,11,00\n2014-08-15T19:03:38.801Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:38.899Z,3,127508,129,255,8,01,a4,05,cc,08,1e,75,47\n2014-08-15T19:03:38.905Z,2,129026,160,255,8,ff,fc,38,88,5a,01,ff,ff\n2014-08-15T19:03:38.928Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:38.964Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:38.967Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:38.969Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:38.976Z,7,127506,129,255,9,48,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:39.026Z,3,127508,129,255,8,01,a6,05,f0,08,1e,75,48\n2014-08-15T19:03:39.035Z,6,129540,160,255,147,ac,ff,0c,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,28,0a,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:03:39.038Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:03:39.042Z,4,129038,43,255,27,01,10,dc,6d,0f,0d,eb,5f,0e,04,9c,9c,23,99,94,ad,83,02,0c,66,08,88,ae,00,00,00,fe\n2014-08-15T19:03:39.044Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:39.072Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:39.081Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:39.207Z,3,129029,160,255,43,65,a9,3f,a8,61,e6,28,00,74,ce,ba,25,9f,49,08,00,02,7c,82,7e,b4,6e,03,20,d6,13,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:39.209Z,3,129033,160,255,8,a9,3f,a8,61,e6,28,b4,00\n2014-08-15T19:03:39.241Z,2,130306,115,255,8,00,fa,02,b2,2d,f2,ff,ff\n2014-08-15T19:03:39.246Z,4,129039,43,255,26,12,44,11,b6,0d,9f,ff,bd,0e,be,4a,98,23,9f,c9,89,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:39.262Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:39.285Z,4,129038,43,255,27,01,fc,ff,e9,25,08,79,29,0f,20,b2,be,23,99,7d,bb,c5,02,bd,05,01,7c,bb,00,00,00,fe\n2014-08-15T19:03:39.310Z,3,126992,160,255,8,ff,ff,a9,3f,a8,61,e6,28\n2014-08-15T19:03:39.396Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:03:39.453Z,3,128267,115,255,8,00,6f,08,00,00,ff,ff,ff\n2014-08-15T19:03:39.455Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:39.463Z,4,129038,43,255,27,01,e0,53,7f,10,b2,8b,c7,0e,40,e2,aa,23,a0,f2,87,c9,05,37,40,09,fd,86,00,00,00,fe\n2014-08-15T19:03:39.494Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:39.500Z,3,129291,160,255,8,ff,fc,a3,6e,22,00,ff,ff\n2014-08-15T19:03:39.559Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:39.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:39.642Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,21,3b,01,00\n2014-08-15T19:03:39.644Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:39.647Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:39.649Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:39.707Z,3,130577,160,255,14,c0,65,6c,88,5d,01,ff,ff,ff,ff,a3,6e,22,00\n2014-08-15T19:03:39.709Z,2,129025,160,255,8,82,4a,98,23,95,01,be,0e\n2014-08-15T19:03:39.773Z,4,129038,43,255,27,01,92,12,4b,10,90,d2,fc,0e,75,6b,ae,23,9c,e6,af,bb,02,0c,66,08,42,b1,ec,ff,00,fe\n2014-08-15T19:03:39.806Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:39.909Z,2,129026,160,255,8,ff,fc,6c,88,5d,01,ff,ff\n2014-08-15T19:03:39.913Z,4,129038,43,255,27,01,6c,70,4a,10,ef,ea,00,0f,6c,b4,a3,23,9b,2e,35,bf,01,e6,08,08,21,33,03,00,00,fe\n2014-08-15T19:03:39.952Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:03:39.990Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:39.992Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:39.994Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:03:40.040Z,6,129540,160,255,147,ad,ff,0c,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,54,0b,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:03:40.042Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:03:40.049Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:40.077Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:40.102Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,a2,bf,76,23,9d,6e,31,00,00,bf,08,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:03:40.108Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:40.142Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,a0,46,e6,28,8d,40,03,a9,3f,00,00,fc\n2014-08-15T19:03:40.168Z,2,130306,115,255,8,00,6a,02,8e,18,f2,ff,ff\n2014-08-15T19:03:40.185Z,3,127508,129,255,8,01,a8,05,02,09,1e,75,48\n2014-08-15T19:03:40.194Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:40.214Z,3,129029,160,255,43,66,a9,3f,2a,8a,e6,28,00,94,fe,f2,de,9e,49,08,00,92,e1,37,4c,b4,6e,03,e0,c8,10,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:40.216Z,3,129033,160,255,8,a9,3f,2a,8a,e6,28,b4,00\n2014-08-15T19:03:40.239Z,3,127508,129,255,8,01,a9,05,0c,09,1e,75,48\n2014-08-15T19:03:40.252Z,4,129039,43,255,26,12,44,11,b6,0d,d7,fe,bd,0e,92,49,98,23,a3,26,88,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:40.310Z,3,126992,160,255,8,ff,ff,a9,3f,2a,8a,e6,28\n2014-08-15T19:03:40.314Z,4,129038,43,255,27,01,b0,79,7a,10,c8,1e,d3,0e,64,74,81,23,98,13,d9,e3,01,46,c0,00,7c,d9,a3,ff,00,fe\n2014-08-15T19:03:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,a0,46,e6,28,7e,c0,02,a9,3f,00,00,fc\n2014-08-15T19:03:40.409Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:03:40.453Z,3,128267,115,255,8,00,6f,08,00,00,ff,ff,ff\n2014-08-15T19:03:40.455Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:40.480Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:40.510Z,3,129291,160,255,8,ff,fc,05,59,0d,00,ff,ff\n2014-08-15T19:03:40.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:40.639Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,34,3b,01,00\n2014-08-15T19:03:40.641Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:40.644Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:40.646Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:40.716Z,3,130577,160,255,14,c0,66,49,88,5d,01,ff,ff,ff,ff,05,59,0d,00\n2014-08-15T19:03:40.718Z,2,129025,160,255,8,58,49,98,23,b4,00,be,0e\n2014-08-15T19:03:40.733Z,4,129038,43,255,27,01,02,8b,c4,0d,78,01,e1,0e,90,04,ca,23,a4,cf,7e,77,01,92,c0,01,89,81,00,00,00,fe\n2014-08-15T19:03:40.807Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:40.824Z,4,129038,43,255,27,01,88,44,7d,10,fc,23,c7,0e,eb,ec,7f,23,9c,d9,f2,05,00,f7,05,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:03:40.838Z,3,127508,129,255,8,01,aa,05,03,09,1e,75,48\n2014-08-15T19:03:40.912Z,2,129026,160,255,8,ff,fc,49,88,5d,01,ff,ff\n2014-08-15T19:03:40.934Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:40.966Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:40.967Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:40.973Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:41.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:41.056Z,6,129540,160,255,147,ae,ff,0c,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:03:41.058Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:41.062Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:03:41.136Z,2,130306,115,255,8,00,57,03,26,24,f2,ff,ff\n2014-08-15T19:03:41.161Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:41.219Z,3,129029,160,255,43,67,a9,3f,4e,b1,e6,28,00,70,cf,90,99,9e,49,08,00,08,d6,d4,17,b4,6e,03,80,c0,14,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:41.222Z,3,129033,160,255,8,a9,3f,4e,b1,e6,28,b4,00\n2014-08-15T19:03:41.242Z,4,129039,43,255,26,12,9e,d6,c3,0d,f3,0c,c6,0e,36,36,94,23,a2,67,57,81,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:41.282Z,4,129039,43,255,26,12,44,11,b6,0d,30,fe,bd,0e,45,48,98,23,a7,e6,85,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:41.314Z,3,126992,160,255,8,ff,ff,a9,3f,4e,b1,e6,28\n2014-08-15T19:03:41.352Z,4,129038,43,255,27,01,b8,f5,67,12,9c,e0,8d,0e,8e,90,90,23,a4,68,2d,d6,03,64,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:03:41.419Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:03:41.432Z,4,129038,43,255,27,01,e0,53,7f,10,3f,88,c7,0e,5e,dd,aa,23,a8,03,88,c4,05,0c,66,00,fd,86,ff,7f,00,fe\n2014-08-15T19:03:41.452Z,3,127508,129,255,8,01,a9,05,e4,08,1e,75,48\n2014-08-15T19:03:41.452Z,3,128267,115,255,8,00,8d,08,00,00,ff,ff,ff\n2014-08-15T19:03:41.456Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:41.474Z,4,129038,43,255,27,01,c8,d4,7f,10,93,d6,df,0e,12,50,c5,23,a1,89,7b,38,04,0c,66,00,72,7d,00,00,00,fe\n2014-08-15T19:03:41.502Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:41.514Z,4,129038,43,255,27,01,98,69,b3,0e,6b,67,90,0e,cf,c9,a0,23,9d,a0,af,f8,01,0c,66,08,42,b1,00,00,00,fe\n2014-08-15T19:03:41.518Z,3,129291,160,255,8,ff,fc,e4,b5,05,00,ff,ff\n2014-08-15T19:03:41.520Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:41.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,52,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:41.636Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,34,3b,01,00\n2014-08-15T19:03:41.639Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:41.641Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:41.644Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:41.715Z,3,130577,160,255,14,c0,67,43,87,5c,01,ff,ff,ff,ff,e4,b5,05,00\n2014-08-15T19:03:41.718Z,2,129025,160,255,8,27,48,98,23,00,00,be,0e\n2014-08-15T19:03:41.817Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:41.920Z,2,129026,160,255,8,ff,fc,43,87,5c,01,ff,ff\n2014-08-15T19:03:41.921Z,7,127506,129,255,9,49,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:41.947Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:41.985Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:41.988Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:41.990Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:42.023Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:42.059Z,6,129540,160,255,147,af,ff,0c,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:03:42.061Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:03:42.064Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:42.065Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:42.101Z,2,130306,115,255,8,00,cc,02,f7,1b,f2,ff,ff\n2014-08-15T19:03:42.135Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:42.227Z,3,129029,160,255,43,68,a9,3f,90,d8,e6,28,00,c6,64,8d,52,9e,49,08,00,00,00,ec,ed,b3,6e,03,f0,7e,0e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:42.230Z,3,129033,160,255,8,a9,3f,90,d8,e6,28,b4,00\n2014-08-15T19:03:42.282Z,4,129039,43,255,26,12,44,11,b6,0d,79,fd,bd,0e,19,47,98,23,ab,ac,87,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:42.323Z,3,126992,160,255,8,ff,ff,a9,3f,90,d8,e6,28\n2014-08-15T19:03:42.375Z,3,127508,129,255,8,01,aa,05,ef,08,1e,75,49\n2014-08-15T19:03:42.393Z,4,129038,43,255,27,01,d0,e7,da,0d,a7,9a,33,0f,e3,0f,c4,23,ad,2f,02,05,00,0c,66,00,7c,bb,00,00,00,fe\n2014-08-15T19:03:42.414Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:03:42.442Z,4,129038,43,255,27,01,58,eb,ad,0e,4b,91,5d,0e,d7,87,8f,23,af,cb,2f,d4,01,d9,08,08,5c,2e,00,00,00,fe\n2014-08-15T19:03:42.452Z,3,128267,115,255,8,00,53,08,00,00,ff,ff,ff\n2014-08-15T19:03:42.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:42.481Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:42.520Z,3,129291,160,255,8,ff,fc,36,65,2d,00,ff,ff\n2014-08-15T19:03:42.524Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:42.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:42.583Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,00,31,d3,23,00,d0,bb,e6,28,39,06,09,a9,3f,10,00,fc\n2014-08-15T19:03:42.634Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,34,3b,01,00\n2014-08-15T19:03:42.637Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:42.639Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:42.642Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:42.713Z,4,129038,43,255,27,01,88,d6,d0,0c,f6,38,e5,0e,8f,cf,b7,23,a9,60,98,41,03,3e,86,09,65,99,00,00,00,fe\n2014-08-15T19:03:42.719Z,3,130577,160,255,14,c0,68,55,87,5f,01,ff,ff,ff,ff,36,65,2d,00\n2014-08-15T19:03:42.721Z,2,129025,160,255,8,f3,46,98,23,46,ff,bd,0e\n2014-08-15T19:03:42.753Z,4,129039,43,255,26,12,66,58,b6,0d,23,1a,bc,0e,74,2f,93,23,ab,f8,7f,81,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:42.821Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:42.871Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:42.896Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:42.924Z,2,129026,160,255,8,ff,fc,55,87,5f,01,ff,ff\n2014-08-15T19:03:42.927Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:42.929Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:42.965Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:42.967Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:42.970Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:43.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:43.033Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,1e,68,e2,23,00,e0,e2,e6,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:03:43.043Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:43.059Z,6,129540,160,255,147,b0,ff,0c,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,18,c6,04,23,06,c4,09,00,00,00,00,f6,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:03:43.061Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:03:43.069Z,2,130306,115,255,8,00,cc,02,03,1e,f2,ff,ff\n2014-08-15T19:03:43.089Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:43.131Z,3,127508,129,255,8,01,a9,05,c4,08,1e,75,49\n2014-08-15T19:03:43.148Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:03:43.184Z,4,129038,43,255,27,01,28,f5,77,10,1d,2d,a0,0e,b0,62,74,23,a4,73,41,9f,00,41,c0,08,96,38,ff,7f,00,fe\n2014-08-15T19:03:43.225Z,3,129029,160,255,43,69,a9,3f,dc,ff,e6,28,00,be,29,d7,0a,9e,49,08,00,3c,89,9d,c2,b3,6e,03,e0,e6,0b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:43.228Z,3,129033,160,255,8,a9,3f,dc,ff,e6,28,b4,00\n2014-08-15T19:03:43.293Z,4,129039,43,255,26,12,44,11,b6,0d,8f,fc,bd,0e,fe,45,98,23,af,e6,88,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:43.320Z,3,126992,160,255,8,ff,ff,a9,3f,dc,ff,e6,28\n2014-08-15T19:03:43.333Z,4,129038,43,255,27,01,08,99,b5,0d,cb,8d,cc,0e,c5,6a,a5,23,b0,ff,4a,49,01,55,86,00,f3,48,00,00,00,fe\n2014-08-15T19:03:43.337Z,3,127508,129,255,8,01,a9,05,b1,08,1e,75,49\n2014-08-15T19:03:43.423Z,4,129038,43,255,27,01,c8,27,16,0e,f1,b3,68,0e,04,12,94,23,a5,91,31,50,03,7e,86,00,16,31,ec,ff,00,fe\n2014-08-15T19:03:43.426Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:03:43.453Z,3,128267,115,255,8,00,53,08,00,00,ff,ff,ff\n2014-08-15T19:03:43.456Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:43.463Z,4,129038,43,255,27,01,08,7b,ba,0d,1d,f8,93,0e,75,11,bd,23,a9,e6,a0,7c,01,20,40,01,94,a1,00,00,00,fe\n2014-08-15T19:03:43.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:43.519Z,3,129291,160,255,8,ff,fc,da,4f,1e,00,ff,ff\n2014-08-15T19:03:43.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,28,02,03,00,00,00,04,00,00,00\n2014-08-15T19:03:43.613Z,4,129038,43,255,27,01,e0,53,7f,10,d4,7d,c7,0e,a7,ce,aa,23,b4,38,88,c9,05,0c,66,08,ac,87,00,00,00,fe\n2014-08-15T19:03:43.632Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,34,3b,01,00\n2014-08-15T19:03:43.634Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:43.637Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:43.639Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:43.725Z,3,130577,160,255,14,c0,69,e0,87,5e,01,ff,ff,ff,ff,da,4f,1e,00\n2014-08-15T19:03:43.727Z,2,129025,160,255,8,c9,45,98,23,61,fe,bd,0e\n2014-08-15T19:03:43.820Z,3,127508,129,255,8,01,ac,05,e6,08,1e,75,49\n2014-08-15T19:03:43.829Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:43.833Z,4,129038,43,255,27,01,40,37,b7,0d,f9,bc,89,0e,b2,75,bf,23,b1,e6,82,05,00,0c,66,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:03:43.921Z,2,129026,160,255,8,ff,fc,e0,87,5e,01,ff,ff\n2014-08-15T19:03:43.937Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:43.977Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:43.979Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:43.981Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:44.049Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:44.062Z,6,129540,160,255,135,b1,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:03:44.065Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:03:44.077Z,2,130306,115,255,8,00,cc,02,03,1e,f2,ff,ff\n2014-08-15T19:03:44.097Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:44.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:44.171Z,3,127508,129,255,8,01,af,05,0c,09,1e,75,49\n2014-08-15T19:03:44.229Z,3,129029,160,255,43,6a,a9,3f,1e,27,e7,28,00,9a,fa,74,c5,9d,49,08,00,8a,12,4c,8d,b3,6e,03,90,94,0d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:44.232Z,3,129033,160,255,8,a9,3f,1e,27,e7,28,b4,00\n2014-08-15T19:03:44.276Z,7,127506,129,255,9,4a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:44.303Z,4,129039,43,255,26,12,44,11,b6,0d,c7,fb,bd,0e,e2,44,98,23,b3,8f,88,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:44.327Z,3,126992,160,255,8,ff,ff,a9,3f,1e,27,e7,28\n2014-08-15T19:03:44.343Z,4,129038,43,255,27,01,20,f6,7e,10,cb,39,c7,0e,99,e9,7f,23,ad,39,31,05,00,7a,86,08,13,c7,00,00,0f,fe\n2014-08-15T19:03:44.427Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:03:44.453Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:44.456Z,3,128267,115,255,8,00,b5,07,00,00,ff,ff,ff\n2014-08-15T19:03:44.482Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:44.529Z,3,129291,160,255,8,ff,fc,3c,6a,16,00,ff,ff\n2014-08-15T19:03:44.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:44.629Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,34,3b,01,00\n2014-08-15T19:03:44.631Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:44.634Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:44.636Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:44.733Z,3,130577,160,255,14,c0,6a,f2,87,5e,01,ff,ff,ff,ff,3c,6a,16,00\n2014-08-15T19:03:44.735Z,2,129025,160,255,8,a3,44,98,23,7d,fd,bd,0e\n2014-08-15T19:03:44.743Z,4,129039,43,255,26,12,c4,e2,c3,0d,b5,ff,c1,0e,25,a2,95,23,b0,9b,57,6d,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:03:44.797Z,3,127508,129,255,8,01,ac,05,e1,08,1e,75,4a\n2014-08-15T19:03:44.831Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:44.923Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,b6,01,71,23,b1,a4,ec,00,00,91,86,08,37,91,00,00,00,fe\n2014-08-15T19:03:44.927Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:44.933Z,2,129026,160,255,8,ff,fc,f2,87,5e,01,ff,ff\n2014-08-15T19:03:44.965Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:44.967Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:44.970Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:45.025Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:45.050Z,2,130306,115,255,8,00,2d,03,6c,21,f2,ff,ff\n2014-08-15T19:03:45.064Z,6,129540,160,255,135,b2,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,1c,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:03:45.067Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:03:45.069Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:45.105Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:45.132Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:45.168Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:45.242Z,3,129029,160,255,43,6b,a9,3f,38,4e,e7,28,00,9e,36,01,81,9d,49,08,00,a2,36,36,58,b3,6e,03,80,6d,0d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:45.244Z,3,129033,160,255,8,a9,3f,38,4e,e7,28,b4,00\n2014-08-15T19:03:45.308Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:45.323Z,4,129039,43,255,26,12,44,11,b6,0d,ef,fa,bd,0e,d8,43,98,23,b7,03,88,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:45.330Z,3,126992,160,255,8,ff,ff,a9,3f,38,4e,e7,28\n2014-08-15T19:03:45.423Z,3,127508,129,255,8,01,ac,05,b3,08,1e,75,4a\n2014-08-15T19:03:45.433Z,4,129038,43,255,27,01,e0,53,7f,10,50,7a,c7,0e,c5,c9,aa,23,b8,6c,88,c9,05,37,c0,00,ac,87,ff,7f,00,fe\n2014-08-15T19:03:45.435Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:03:45.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:45.453Z,3,128267,115,255,8,00,ec,07,00,00,ff,ff,ff\n2014-08-15T19:03:45.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:45.535Z,3,129291,160,255,8,ff,fc,3c,6a,16,00,ff,ff\n2014-08-15T19:03:45.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,44,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:45.614Z,4,129038,43,255,27,01,fc,ff,e9,25,8a,5b,29,0f,6d,b3,be,23,b1,7d,bb,c0,02,b9,08,08,7c,bb,00,00,00,fe\n2014-08-15T19:03:45.627Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,46,3b,01,00\n2014-08-15T19:03:45.628Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:45.632Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:45.634Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:45.734Z,3,130577,160,255,14,c0,6b,ac,87,5c,01,ff,ff,ff,ff,8f,61,19,00\n2014-08-15T19:03:45.736Z,2,129025,160,255,8,79,43,98,23,b1,fc,bd,0e\n2014-08-15T19:03:45.840Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:45.849Z,3,127508,129,255,8,01,ac,05,b7,08,1e,75,4a\n2014-08-15T19:03:45.913Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,10,58,e7,28,bd,c0,00,a9,3f,10,00,fc\n2014-08-15T19:03:45.933Z,2,129026,160,255,8,ff,fc,ac,87,5c,01,ff,ff\n2014-08-15T19:03:45.937Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:45.977Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:45.978Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:45.981Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:46.002Z,2,130306,115,255,8,00,8e,02,03,1e,f2,ff,ff\n2014-08-15T19:03:46.026Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:46.072Z,6,129540,160,255,135,b3,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:03:46.075Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:03:46.079Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:46.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:46.252Z,3,129029,160,255,43,6c,a9,3f,ac,75,e7,28,00,7a,07,9f,3b,9d,49,08,00,aa,dd,b6,28,b3,6e,03,70,d5,0a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:46.254Z,3,129033,160,255,8,a9,3f,ac,75,e7,28,b4,00\n2014-08-15T19:03:46.333Z,4,129039,43,255,26,12,44,11,b6,0d,05,fa,bd,0e,bc,42,98,23,bb,09,89,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:46.339Z,3,126992,160,255,8,ff,ff,a9,3f,ac,75,e7,28\n2014-08-15T19:03:46.443Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:03:46.449Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:46.451Z,3,128267,115,255,8,00,0d,08,00,00,ff,ff,ff\n2014-08-15T19:03:46.477Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:46.495Z,3,127508,129,255,8,01,b0,05,f4,08,1e,75,4a\n2014-08-15T19:03:46.538Z,3,129291,160,255,8,ff,fc,8f,61,19,00,ff,ff\n2014-08-15T19:03:46.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:03:46.603Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,52,5e,6e,23,b4,a5,cb,00,00,39,40,01,ce,ab,00,00,00,fe\n2014-08-15T19:03:46.623Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,46,3b,01,00\n2014-08-15T19:03:46.626Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:46.628Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:46.631Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:46.713Z,4,129038,43,255,27,01,10,04,1a,0e,ad,54,00,0f,75,1a,af,23,b4,83,b0,9c,02,ab,08,08,9f,b2,00,00,00,fe\n2014-08-15T19:03:46.747Z,3,130577,160,255,14,c0,6c,15,88,5f,01,ff,ff,ff,ff,62,68,18,00\n2014-08-15T19:03:46.749Z,2,129025,160,255,8,4d,42,98,23,d7,fb,bd,0e\n2014-08-15T19:03:46.836Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:46.919Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:46.937Z,2,129026,160,255,8,ff,fc,15,88,5f,01,ff,ff\n2014-08-15T19:03:46.944Z,2,130306,115,255,8,00,ad,02,31,17,f2,ff,ff\n2014-08-15T19:03:46.967Z,3,127508,129,255,8,01,ac,05,8c,08,1e,75,4a\n2014-08-15T19:03:46.980Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:47.030Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:47.033Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:47.035Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:47.063Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:47.078Z,6,129540,160,255,135,b4,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,1c,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,60,09,00,00,00,00,f1\n2014-08-15T19:03:47.080Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:03:47.092Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:47.223Z,4,129038,43,255,27,01,b8,f5,67,12,0b,06,8e,0e,5e,98,90,23,bc,68,2d,d1,03,64,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:03:47.245Z,3,129029,160,255,43,6d,a9,3f,ee,9c,e7,28,00,c2,a2,c5,f5,9c,49,08,00,a6,0d,f5,f5,b2,6e,03,60,ae,0a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:47.247Z,3,129033,160,255,8,a9,3f,ee,9c,e7,28,b4,00\n2014-08-15T19:03:47.343Z,4,129039,43,255,26,12,44,11,b6,0d,3d,f9,bd,0e,90,41,98,23,bf,83,86,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:47.345Z,3,126992,160,255,8,ff,ff,a9,3f,ee,9c,e7,28\n2014-08-15T19:03:47.442Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:03:47.463Z,4,129038,43,255,27,01,e0,53,7f,10,b3,6f,c7,0e,1f,bb,aa,23,c0,49,88,ce,05,f0,06,09,ac,87,ff,7f,00,fe\n2014-08-15T19:03:47.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:47.467Z,3,128267,115,255,8,00,0d,08,00,00,ff,ff,ff\n2014-08-15T19:03:47.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:47.546Z,3,129291,160,255,8,ff,fc,62,68,18,00,ff,ff\n2014-08-15T19:03:47.558Z,7,127506,129,255,9,4b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:47.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:47.621Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,46,3b,01,00\n2014-08-15T19:03:47.623Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:47.625Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:47.629Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:47.643Z,4,129038,43,255,27,01,c8,d4,7f,10,46,d5,df,0e,48,39,c5,23,b9,89,7b,38,04,0c,66,08,20,7e,00,00,00,fe\n2014-08-15T19:03:47.744Z,3,130577,160,255,14,c0,6d,89,87,5f,01,ff,ff,ff,ff,62,68,18,00\n2014-08-15T19:03:47.746Z,2,129025,160,255,8,20,41,98,23,02,fb,bd,0e\n2014-08-15T19:03:47.833Z,4,129038,43,255,27,01,92,12,4b,10,03,b2,fc,0e,f2,64,ae,23,bc,e6,af,bb,02,fe,86,01,42,b1,fd,ff,00,fe\n2014-08-15T19:03:47.849Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:47.913Z,4,129038,43,255,27,01,58,43,c9,0e,35,7d,d7,0e,ea,c6,a9,23,c0,20,ae,cb,02,0c,66,08,36,af,00,00,00,fe\n2014-08-15T19:03:47.927Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:47.950Z,2,130306,115,255,8,00,b7,02,03,1e,f2,ff,ff\n2014-08-15T19:03:47.951Z,2,129026,160,255,8,ff,fc,89,87,5f,01,ff,ff\n2014-08-15T19:03:47.978Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.032Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:48.034Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:48.036Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:48.092Z,6,129540,160,255,135,b5,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,60,09,00,00,00,00,f1\n2014-08-15T19:03:48.094Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:03:48.096Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:48.244Z,3,127508,129,255,8,01,ae,05,a2,08,1e,75,4b\n2014-08-15T19:03:48.259Z,3,129029,160,255,43,6e,a9,3f,30,c4,e7,28,00,40,a3,b0,af,9c,49,08,00,94,43,5d,c4,b2,6e,03,10,cd,0e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:48.261Z,3,129033,160,255,8,a9,3f,30,c4,e7,28,b4,00\n2014-08-15T19:03:48.283Z,4,129038,43,255,27,01,b8,53,a6,0c,fa,34,7c,0e,0d,83,9f,23,c0,14,ac,78,02,0c,66,08,d9,ad,00,00,00,fe\n2014-08-15T19:03:48.323Z,4,129039,43,255,26,12,fe,ea,8e,0f,8a,9b,99,0e,bd,5f,ae,23,bc,59,dc,dd,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:48.355Z,3,126992,160,255,8,ff,ff,a9,3f,30,c4,e7,28\n2014-08-15T19:03:48.363Z,4,129039,43,255,26,12,44,11,b6,0d,86,f8,bd,0e,64,40,98,23,c3,c9,86,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:48.447Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:03:48.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.452Z,3,128267,115,255,8,00,ec,07,00,00,ff,ff,ff\n2014-08-15T19:03:48.472Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.506Z,4,129039,43,255,26,12,0a,ec,b5,0d,79,6f,ca,0e,12,6f,92,23,bc,84,56,d9,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:48.550Z,3,129291,160,255,8,ff,fc,81,50,23,00,ff,ff\n2014-08-15T19:03:48.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:48.618Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,46,3b,01,00\n2014-08-15T19:03:48.621Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:48.623Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:48.626Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:48.642Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:48.761Z,3,130577,160,255,14,c0,6e,db,86,5f,01,ff,ff,ff,ff,81,50,23,00\n2014-08-15T19:03:48.763Z,2,129025,160,255,8,e9,3f,98,23,55,fa,bd,0e\n2014-08-15T19:03:48.813Z,4,129038,43,255,27,01,88,d6,d0,0c,be,20,e5,0e,cc,c2,b7,23,c1,72,98,41,03,23,87,01,65,99,00,00,00,fe\n2014-08-15T19:03:48.850Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:48.879Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:48.896Z,2,130306,115,255,8,00,e5,02,60,1f,f2,ff,ff\n2014-08-15T19:03:48.902Z,4,129038,43,255,27,01,68,e2,20,12,a9,a6,fe,0e,19,5f,ad,23,c4,8e,af,02,02,26,87,09,9f,b2,00,00,00,fe\n2014-08-15T19:03:48.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.952Z,2,129026,160,255,8,ff,fc,db,86,5f,01,ff,ff\n2014-08-15T19:03:48.954Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:48.982Z,4,129038,43,255,27,03,44,9e,c4,0d,c9,9c,dd,0e,42,92,76,23,c0,49,91,00,00,00,00,08,7f,07,00,00,05,fe\n2014-08-15T19:03:48.990Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:48.992Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:48.995Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:49.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:49.047Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:49.080Z,6,129540,160,255,135,b6,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,b8,0b,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,28,0a,00,00,00,00,f1\n2014-08-15T19:03:49.082Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:03:49.086Z,4,129038,43,255,27,01,c8,27,16,0e,03,d8,68,0e,cf,17,94,23,bd,91,31,50,03,52,07,09,67,30,ec,ff,00,fe\n2014-08-15T19:03:49.164Z,4,129038,43,255,27,01,10,dc,6d,0f,3b,c2,5f,0e,a8,97,9c,23,c1,60,ad,83,02,db,08,00,88,ae,0a,00,00,fe\n2014-08-15T19:03:49.264Z,3,129029,160,255,43,6f,a9,3f,40,eb,e7,28,00,da,97,47,67,9c,49,08,00,12,a9,15,9c,b2,6e,03,20,12,0a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:49.266Z,3,129033,160,255,8,a9,3f,40,eb,e7,28,b4,00\n2014-08-15T19:03:49.361Z,3,126992,160,255,8,ff,ff,a9,3f,40,eb,e7,28\n2014-08-15T19:03:49.372Z,4,129039,43,255,26,12,44,11,b6,0d,9d,f7,bd,0e,5a,3f,98,23,c7,15,88,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:49.448Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:49.450Z,3,128267,115,255,8,00,fb,07,00,00,ff,ff,ff\n2014-08-15T19:03:49.457Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:03:49.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:49.529Z,3,127508,129,255,8,01,ac,05,73,08,1e,75,4b\n2014-08-15T19:03:49.561Z,3,129291,160,255,8,ff,fc,cf,67,2c,00,ff,ff\n2014-08-15T19:03:49.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:49.615Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,46,3b,01,00\n2014-08-15T19:03:49.618Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:49.620Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:49.624Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:49.642Z,4,129038,43,255,27,01,e0,53,7f,10,69,68,c7,0e,5b,b1,aa,23,cc,c3,88,c9,05,bc,08,00,ac,87,00,00,00,fe\n2014-08-15T19:03:49.722Z,4,129038,43,255,27,01,6c,70,4a,10,79,06,01,0f,8c,b7,a3,23,bf,e8,34,bf,01,45,07,01,d0,33,21,00,00,fe\n2014-08-15T19:03:49.733Z,3,127508,129,255,8,01,ac,05,7c,08,1e,75,4b\n2014-08-15T19:03:49.762Z,3,130577,160,255,14,c0,6f,cf,87,59,01,ff,ff,ff,ff,cf,67,2c,00\n2014-08-15T19:03:49.764Z,2,129025,160,255,8,c9,3e,98,23,83,f9,bd,0e\n2014-08-15T19:03:49.855Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:49.863Z,4,129038,43,255,27,01,88,44,7d,10,c4,24,c7,0e,3e,ed,7f,23,c0,55,7b,0a,00,0c,66,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:03:49.918Z,2,130306,115,255,8,00,79,02,1a,22,f2,ff,ff\n2014-08-15T19:03:49.939Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:49.960Z,2,129026,160,255,8,ff,fc,cf,87,59,01,ff,ff\n2014-08-15T19:03:49.972Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:03:50.024Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:50.026Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:50.028Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:03:50.099Z,6,129540,160,255,135,b7,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:03:50.102Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:03:50.110Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:50.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,f4,e7,28,8d,40,0b,a9,3f,00,00,fc\n2014-08-15T19:03:50.137Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:50.155Z,3,127508,129,255,8,01,ac,05,6f,08,1e,75,4b\n2014-08-15T19:03:50.167Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:50.269Z,3,129029,160,255,43,70,a9,3f,be,12,e8,28,00,9a,74,39,24,9c,49,08,00,5e,af,30,6b,b2,6e,03,00,c4,09,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:50.271Z,3,129033,160,255,8,a9,3f,be,12,e8,28,b4,00\n2014-08-15T19:03:50.354Z,3,126992,160,255,8,ff,ff,a9,3f,be,12,e8,28\n2014-08-15T19:03:50.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,f4,e7,28,0c,66,0a,a9,3f,00,00,fc\n2014-08-15T19:03:50.402Z,4,129039,43,255,26,12,44,11,b6,0d,c4,f6,bd,0e,4f,3e,98,23,cb,38,88,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:50.447Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:50.450Z,3,128267,115,255,8,00,fb,07,00,00,ff,ff,ff\n2014-08-15T19:03:50.461Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:03:50.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:50.562Z,3,129291,160,255,8,ff,fc,97,4a,14,00,ff,ff\n2014-08-15T19:03:50.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:50.612Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,59,3b,01,00\n2014-08-15T19:03:50.615Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:50.617Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:50.620Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:50.732Z,4,129038,43,255,27,01,98,69,b3,0e,e3,48,90,0e,2a,c6,a0,23,c1,a0,af,f8,01,0c,66,00,42,b1,00,00,00,fe\n2014-08-15T19:03:50.757Z,3,130577,160,255,14,c0,70,be,87,57,01,ff,ff,ff,ff,97,4a,14,00\n2014-08-15T19:03:50.759Z,2,129025,160,255,8,af,3d,98,23,a9,f8,bd,0e\n2014-08-15T19:03:50.808Z,3,127508,129,255,8,01,ae,05,6c,08,1e,75,4b\n2014-08-15T19:03:50.872Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:50.907Z,2,130306,115,255,8,00,0e,03,eb,19,f2,ff,ff\n2014-08-15T19:03:50.934Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:50.961Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:50.970Z,2,129026,160,255,8,ff,fc,be,87,57,01,ff,ff\n2014-08-15T19:03:51.001Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:51.002Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:51.002Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:51.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:51.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:51.094Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:03:51.094Z,6,129540,160,255,135,b8,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,ac,0d,00,00,00,00,f6\n2014-08-15T19:03:51.252Z,7,127506,129,255,9,4c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:51.274Z,3,129029,160,255,43,71,a9,3f,ba,39,e8,28,00,16,f2,90,e2,9b,49,08,00,5a,df,6e,38,b2,6e,03,40,ef,07,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:51.275Z,3,129033,160,255,8,a9,3f,ba,39,e8,28,b4,00\n2014-08-15T19:03:51.288Z,3,127508,129,255,8,01,ac,05,56,08,1e,75,4c\n2014-08-15T19:03:51.368Z,3,126992,160,255,8,ff,ff,a9,3f,ba,39,e8,28\n2014-08-15T19:03:51.373Z,4,129038,43,255,27,01,b0,79,7a,10,70,03,d3,0e,5d,83,81,23,c8,df,d8,e3,01,83,87,08,7c,d9,ce,ff,00,fe\n2014-08-15T19:03:51.412Z,4,129039,43,255,26,12,44,11,b6,0d,fc,f5,bd,0e,34,3d,98,23,cf,3e,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:51.446Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:51.448Z,3,128267,115,255,8,00,0a,08,00,00,ff,ff,ff\n2014-08-15T19:03:51.463Z,4,129038,43,255,27,01,e0,53,7f,10,1e,61,c7,0e,a8,a7,aa,23,d0,09,89,c9,05,86,87,09,ac,87,00,00,00,fe\n2014-08-15T19:03:51.467Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:03:51.478Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:51.564Z,3,129291,160,255,8,ff,fc,fe,54,2a,00,ff,ff\n2014-08-15T19:03:51.567Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:03:51.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:51.610Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,59,3b,01,00\n2014-08-15T19:03:51.613Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:51.615Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:51.618Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:51.775Z,3,130577,160,255,14,c0,71,43,87,56,01,ff,ff,ff,ff,fe,54,2a,00\n2014-08-15T19:03:51.777Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:51.778Z,2,129025,160,255,8,8a,3c,98,23,e2,f7,bd,0e\n2014-08-15T19:03:51.874Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:51.915Z,2,130306,115,255,8,00,8e,02,eb,19,f2,ff,ff\n2014-08-15T19:03:51.940Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:51.950Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:03:51.966Z,2,129026,160,255,8,ff,fc,43,87,56,01,ff,ff\n2014-08-15T19:03:51.972Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:51.983Z,4,129038,43,255,27,01,fc,ff,e9,25,c0,39,29,0f,20,b2,be,23,cd,7d,bb,c0,02,1d,c0,01,7c,bb,00,00,00,fe\n2014-08-15T19:03:52.030Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:52.033Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:52.035Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:52.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:52.097Z,6,129540,160,255,135,b9,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,28,0a,00,00,00,00,f6\n2014-08-15T19:03:52.099Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:03:52.101Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:03:52.103Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:52.158Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:03:52.189Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:52.196Z,4,129039,43,255,26,12,ca,0c,b7,0d,92,60,bd,0e,76,62,96,23,cc,be,7b,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:52.281Z,3,129029,160,255,43,72,a9,3f,c0,60,e8,28,00,e4,c8,58,9e,9b,49,08,00,54,8c,19,0a,b2,6e,03,90,b2,08,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:52.284Z,3,129033,160,255,8,a9,3f,c0,60,e8,28,b4,00\n2014-08-15T19:03:52.313Z,4,129039,43,255,26,12,06,a5,b5,0d,ec,6a,bd,0e,b0,12,98,23,ce,60,86,44,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:52.367Z,3,126992,160,255,8,ff,ff,a9,3f,c0,60,e8,28\n2014-08-15T19:03:52.413Z,4,129039,43,255,26,12,44,11,b6,0d,23,f5,bd,0e,08,3c,98,23,d3,15,88,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:52.449Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:52.451Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:03:52.470Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:03:52.482Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:52.574Z,7,129793,43,255,26,04,90,18,23,00,24,d1,e2,0e,32,31,d3,23,00,70,42,e8,28,7a,c0,00,a9,3f,10,00,fc\n2014-08-15T19:03:52.576Z,3,129291,160,255,8,ff,fc,4f,58,54,00,ff,ff\n2014-08-15T19:03:52.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,03,00,01,01,04,00,01,01\n2014-08-15T19:03:52.582Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:03:52.608Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,59,3b,01,00\n2014-08-15T19:03:52.610Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:52.612Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:52.616Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:52.634Z,4,129038,43,255,27,01,b8,f5,67,12,7d,25,8e,0e,98,9f,90,23,d0,56,2d,d6,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:03:52.667Z,3,127508,129,255,8,01,ae,05,57,08,1e,75,4c\n2014-08-15T19:03:52.674Z,4,129038,43,255,27,01,08,99,b5,0d,53,a1,cc,0e,42,64,a5,23,d4,44,48,49,01,b3,87,08,f3,48,00,00,00,fe\n2014-08-15T19:03:52.733Z,4,129038,43,255,27,01,d0,e7,da,0d,85,9a,33,0f,04,10,c4,23,d5,2f,02,05,00,b6,07,09,7c,bb,00,00,00,fe\n2014-08-15T19:03:52.762Z,2,130306,115,255,8,00,42,03,77,23,f2,ff,ff\n2014-08-15T19:03:52.775Z,3,130577,160,255,14,c0,72,32,87,59,01,ff,ff,ff,ff,4f,58,54,00\n2014-08-15T19:03:52.778Z,2,129025,160,255,8,5d,3b,98,23,21,f7,bd,0e\n2014-08-15T19:03:52.793Z,4,129039,43,255,26,12,90,e4,c3,0d,a6,72,bf,0e,c2,2e,7e,23,d0,27,73,ba,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:52.868Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:52.889Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:52.923Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:52.961Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:52.963Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:52.965Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:52.971Z,2,129026,160,255,8,ff,fc,32,87,59,01,ff,ff\n2014-08-15T19:03:52.973Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:03:52.993Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:53.027Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:53.033Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,ec,67,e2,23,00,80,69,e8,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:03:53.073Z,4,129038,43,255,27,01,b0,7f,79,10,51,d0,b4,0e,bc,7e,6f,23,d4,03,a6,00,00,3c,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:03:53.099Z,6,129540,160,255,135,ba,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f1\n2014-08-15T19:03:53.101Z,2,127250,160,255,8,ff,f2,90,ff,7f,86,05,fc\n2014-08-15T19:03:53.161Z,3,127508,129,255,8,01,ae,05,47,08,1e,75,4c\n2014-08-15T19:03:53.274Z,3,129029,160,255,43,73,a9,3f,ee,87,e8,28,00,62,c9,43,58,9b,49,08,00,0a,da,29,dd,b1,6e,03,90,41,06,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:53.278Z,4,129038,43,255,27,01,b8,83,92,0e,1c,bd,e0,0e,0b,c8,75,23,d5,8e,c1,05,00,ca,87,08,07,d4,00,00,00,fe\n2014-08-15T19:03:53.281Z,3,129033,160,255,8,a9,3f,ee,87,e8,28,b4,00\n2014-08-15T19:03:53.372Z,3,126992,160,255,8,ff,ff,a9,3f,ee,87,e8,28\n2014-08-15T19:03:53.424Z,4,129039,43,255,26,12,44,11,b6,0d,08,f4,bd,0e,0e,3b,98,23,d7,66,8a,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:53.460Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:53.464Z,3,128267,115,255,8,00,35,08,00,00,ff,ff,ff\n2014-08-15T19:03:53.476Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:03:53.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:53.573Z,3,129291,160,255,8,ff,fc,09,54,48,00,ff,ff\n2014-08-15T19:03:53.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2a,02,03,00,01,03,04,00,00,00\n2014-08-15T19:03:53.593Z,4,129038,43,255,27,01,28,f5,77,10,a0,33,a0,0e,b0,62,74,23,cc,68,3f,9f,00,41,40,01,39,37,ff,7f,00,fe\n2014-08-15T19:03:53.605Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,59,3b,01,00\n2014-08-15T19:03:53.608Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:53.610Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:53.614Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:53.643Z,4,129038,43,255,27,01,e0,53,7f,10,c3,59,c7,0e,f4,9d,aa,23,dc,09,89,c9,05,be,08,00,5a,88,00,00,00,fe\n2014-08-15T19:03:53.779Z,3,130577,160,255,14,c0,73,26,88,54,01,ff,ff,ff,ff,09,54,48,00\n2014-08-15T19:03:53.781Z,2,129025,160,255,8,43,3a,98,23,3c,f6,bd,0e\n2014-08-15T19:03:53.791Z,3,127508,129,255,8,01,b0,05,60,08,1e,75,4c\n2014-08-15T19:03:53.807Z,2,130306,115,255,8,00,93,02,76,14,f2,ff,ff\n2014-08-15T19:03:53.885Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:53.918Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:53.943Z,4,129039,43,255,26,12,44,e0,c3,0d,bf,e2,ba,0e,58,7e,8e,23,d6,db,7d,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:53.952Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:53.977Z,2,129026,160,255,8,ff,fc,26,88,54,01,ff,ff\n2014-08-15T19:03:53.991Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:53.993Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:53.995Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:54.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:54.053Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:54.113Z,6,129540,160,255,135,bb,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:03:54.115Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:03:54.183Z,4,129038,43,255,27,01,20,f6,7e,10,98,3c,c7,0e,b0,e8,7f,23,d9,39,31,05,00,3e,c0,00,65,c6,00,00,0f,fe\n2014-08-15T19:03:54.224Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,d5,37,b5,00,00,c7,08,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:03:54.292Z,3,129029,160,255,43,74,a9,3f,08,af,e8,28,00,de,46,9b,16,9b,49,08,00,58,63,d8,a7,b1,6e,03,80,8b,08,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:54.294Z,3,129033,160,255,8,a9,3f,08,af,e8,28,b4,00\n2014-08-15T19:03:54.339Z,3,127508,129,255,8,01,af,05,45,08,1e,75,4c\n2014-08-15T19:03:54.376Z,3,126992,160,255,8,ff,ff,a9,3f,08,af,e8,28\n2014-08-15T19:03:54.376Z,7,127506,129,255,9,4c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:54.443Z,4,129039,43,255,26,12,44,11,b6,0d,ed,f2,bd,0e,f2,39,98,23,db,3d,8c,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:54.447Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:54.449Z,3,128267,115,255,8,00,35,08,00,00,ff,ff,ff\n2014-08-15T19:03:54.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:54.483Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:03:54.524Z,4,129039,43,255,26,12,58,7f,b6,0d,a6,39,bc,0e,28,62,94,23,db,6c,7f,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:54.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:54.578Z,3,129291,160,255,8,ff,fc,94,5a,3b,00,ff,ff\n2014-08-15T19:03:54.602Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,59,3b,01,00\n2014-08-15T19:03:54.606Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:54.608Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:54.610Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:54.753Z,4,129038,43,255,27,01,c8,27,16,0e,71,f2,68,0e,fa,1b,94,23,d1,91,31,50,03,27,88,00,67,30,e6,ff,00,fe\n2014-08-15T19:03:54.785Z,3,130577,160,255,14,c0,74,72,89,53,01,ff,ff,ff,ff,94,5a,3b,00\n2014-08-15T19:03:54.788Z,2,129025,160,255,8,3a,39,98,23,3e,f5,bd,0e\n2014-08-15T19:03:54.805Z,2,130306,115,255,8,00,a4,03,1b,31,f2,ff,ff\n2014-08-15T19:03:54.806Z,3,127508,129,255,8,01,ae,05,1c,08,1e,75,4c\n2014-08-15T19:03:54.812Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:54.883Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:54.893Z,4,129038,43,255,27,01,88,d6,d0,0c,b8,08,e5,0e,0a,b6,b7,23,d9,2c,98,41,03,d5,08,08,65,99,00,00,00,fe\n2014-08-15T19:03:54.895Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:54.935Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:54.970Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:54.972Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:54.974Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:54.984Z,2,129026,160,255,8,ff,fc,72,89,53,01,ff,ff\n2014-08-15T19:03:55.070Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:55.099Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:55.122Z,6,129540,160,255,135,bc,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:03:55.124Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:03:55.128Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:55.285Z,3,129029,160,255,43,75,a9,3f,4a,d6,e8,28,00,c4,0b,e8,d8,9a,49,08,00,ec,ce,b4,6c,b1,6e,03,c0,b6,06,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:55.287Z,3,129033,160,255,8,a9,3f,4a,d6,e8,28,b4,00\n2014-08-15T19:03:55.379Z,3,126992,160,255,8,ff,ff,a9,3f,4a,d6,e8,28\n2014-08-15T19:03:55.442Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:55.445Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:55.447Z,3,128267,115,255,8,00,75,08,00,00,ff,ff,ff\n2014-08-15T19:03:55.455Z,4,129039,43,255,26,12,44,11,b6,0d,b0,f1,bd,0e,e8,38,98,23,df,60,8f,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:55.475Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:55.483Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:03:55.493Z,4,129038,43,255,27,01,e0,53,7f,10,57,52,c7,0e,30,94,aa,23,e0,1b,89,d3,05,0c,66,08,5a,88,00,00,00,fe\n2014-08-15T19:03:55.507Z,3,127508,129,255,8,01,ac,05,02,08,1e,75,4c\n2014-08-15T19:03:55.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:55.584Z,3,129291,160,255,8,ff,fc,9c,60,1d,00,ff,ff\n2014-08-15T19:03:55.600Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:03:55.603Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:55.605Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:55.608Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:55.643Z,4,129038,43,255,27,01,d2,ff,4a,10,8f,8a,b1,0e,a6,01,71,23,dd,a4,ec,00,00,4c,40,01,37,91,00,00,00,fe\n2014-08-15T19:03:55.723Z,4,129039,43,255,26,12,ec,76,73,10,d7,ad,be,0e,65,dd,6f,23,df,3e,7a,05,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:55.792Z,3,130577,160,255,14,c0,75,c3,8b,4f,01,ff,ff,ff,ff,9c,60,1d,00\n2014-08-15T19:03:55.794Z,2,129025,160,255,8,38,38,98,23,f3,f3,bd,0e\n2014-08-15T19:03:55.833Z,4,129038,43,255,27,01,10,04,1a,0e,0e,29,00,0f,ce,19,af,23,d8,83,b0,9c,02,2e,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:03:55.837Z,2,130306,115,255,8,00,6a,02,03,1e,f2,ff,ff\n2014-08-15T19:03:55.884Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:55.915Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,5e,f7,c7,23,00,b0,de,e8,28,bd,c0,09,a9,3f,10,00,fc\n2014-08-15T19:03:55.924Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:55.953Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:03:55.987Z,2,129026,160,255,8,ff,fc,c3,8b,4f,01,ff,ff\n2014-08-15T19:03:55.990Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:55.992Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:55.995Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:03:56.000Z,4,129039,43,255,26,12,08,57,b6,0d,d5,95,c9,0e,e8,99,92,23,df,27,55,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:03:56.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:56.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:56.103Z,3,127508,129,255,8,01,ae,05,08,08,1e,75,4c\n2014-08-15T19:03:56.126Z,6,129540,160,255,135,bd,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:03:56.135Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:56.203Z,3,127508,129,255,8,01,b0,05,20,08,1e,75,4c\n2014-08-15T19:03:56.300Z,3,129029,160,255,43,76,a9,3f,50,fd,e8,28,00,30,0c,d6,9c,9a,49,08,00,be,ab,a3,1f,b1,6e,03,10,09,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:56.302Z,3,129033,160,255,8,a9,3f,50,fd,e8,28,b4,00\n2014-08-15T19:03:56.387Z,3,126992,160,255,8,ff,ff,a9,3f,50,fd,e8,28\n2014-08-15T19:03:56.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:56.445Z,3,128267,115,255,8,00,da,07,00,00,ff,ff,ff\n2014-08-15T19:03:56.473Z,4,129039,43,255,26,12,44,11,b6,0d,c7,f0,bd,0e,cc,37,98,23,e3,5b,8b,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:56.483Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:56.489Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:03:56.510Z,3,127508,129,255,8,01,ac,05,c1,07,1e,75,4c\n2014-08-15T19:03:56.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:56.593Z,3,129291,160,255,8,ff,fc,fa,a4,2d,00,ff,ff\n2014-08-15T19:03:56.598Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:03:56.600Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:56.602Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:56.606Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:56.632Z,4,129039,43,255,26,12,80,e5,c3,0d,f1,f5,c1,0e,5d,ba,95,23,e3,27,55,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:03:56.791Z,3,130577,160,255,14,c0,76,bd,8a,49,01,ff,ff,ff,ff,fa,a4,2d,00\n2014-08-15T19:03:56.793Z,2,129025,160,255,8,35,37,98,23,e8,f2,bd,0e\n2014-08-15T19:03:56.871Z,2,130306,115,255,8,00,a7,02,b1,1e,f2,ff,ff\n2014-08-15T19:03:56.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:56.894Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:56.945Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:03:56.980Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:56.983Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:56.985Z,2,128259,115,255,8,00,36,01,ff,ff,00,ff,ff\n2014-08-15T19:03:56.996Z,2,129026,160,255,8,ff,fc,bd,8a,49,01,ff,ff\n2014-08-15T19:03:57.023Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:57.031Z,3,127508,129,255,8,01,af,05,f3,07,1e,75,4c\n2014-08-15T19:03:57.053Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:57.115Z,6,129540,160,255,135,be,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e8,03,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,78,05,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:03:57.117Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:03:57.243Z,4,129038,43,255,27,03,b8,53,a6,0c,a3,0b,7c,0e,7a,7c,9f,23,e8,26,ac,78,02,ad,4e,01,d9,ad,00,00,00,fe\n2014-08-15T19:03:57.299Z,3,129029,160,255,43,77,a9,3f,42,24,e9,28,00,d2,71,88,60,9a,49,08,00,10,3b,79,e1,b0,6e,03,a0,68,06,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:57.301Z,3,129033,160,255,8,a9,3f,42,24,e9,28,b4,00\n2014-08-15T19:03:57.392Z,3,126992,160,255,8,ff,ff,a9,3f,42,24,e9,28\n2014-08-15T19:03:57.395Z,7,127506,129,255,9,4e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:03:57.405Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:03:57.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:57.446Z,3,128267,115,255,8,00,dd,07,00,00,ff,ff,ff\n2014-08-15T19:03:57.482Z,4,129039,43,255,26,12,44,11,b6,0d,20,f0,bd,0e,a0,36,98,23,e7,78,87,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:57.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:57.496Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:03:57.543Z,4,129038,43,255,27,01,e0,53,7f,10,0c,4b,c7,0e,7d,8a,aa,23,e8,e6,88,d3,05,0c,66,00,ac,87,00,00,00,fe\n2014-08-15T19:03:57.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:03:57.592Z,2,130306,115,255,8,00,89,02,c9,22,f2,ff,ff\n2014-08-15T19:03:57.597Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:03:57.598Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:57.603Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:57.604Z,3,129291,160,255,8,ff,fc,fa,a4,2d,00,ff,ff\n2014-08-15T19:03:57.606Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:57.623Z,4,129038,43,255,27,01,fc,ff,e9,25,ac,1b,29,0f,4a,b6,be,23,e5,7d,bb,bb,02,0c,66,08,7c,bb,00,00,00,fe\n2014-08-15T19:03:57.657Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:03:57.793Z,3,130577,160,255,14,c0,77,e6,88,48,01,ff,ff,ff,ff,60,71,15,00\n2014-08-15T19:03:57.796Z,2,129025,160,255,8,19,36,98,23,48,f2,bd,0e\n2014-08-15T19:03:57.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:57.898Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:57.927Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:57.965Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:57.968Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:57.970Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:58.004Z,2,129026,160,255,8,ff,fc,e6,88,48,01,ff,ff\n2014-08-15T19:03:58.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:58.043Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,f9,5e,6e,23,e4,a3,0a,00,00,7d,08,09,1f,ab,00,00,00,fe\n2014-08-15T19:03:58.045Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:58.123Z,4,129038,43,255,27,01,68,e2,20,12,cd,87,fe,0e,d8,5b,ad,23,e8,d4,af,f8,01,65,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:03:58.145Z,6,129540,160,255,135,bf,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:03:58.148Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:03:58.187Z,3,127508,129,255,8,01,ac,05,ac,07,1e,75,4e\n2014-08-15T19:03:58.310Z,3,129029,160,255,43,78,a9,3f,8e,4b,e9,28,00,ba,b9,68,1e,9a,49,08,00,d0,7c,38,bc,b0,6e,03,c0,45,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:58.312Z,3,129033,160,255,8,a9,3f,8e,4b,e9,28,b4,00\n2014-08-15T19:03:58.342Z,4,129038,43,255,27,01,58,43,c9,0e,f7,4c,d7,0e,bb,c0,a9,23,ec,66,ae,c5,02,6f,40,01,36,af,00,00,00,fe\n2014-08-15T19:03:58.405Z,3,126992,160,255,8,ff,ff,a9,3f,8e,4b,e9,28\n2014-08-15T19:03:58.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:58.444Z,3,128267,115,255,8,00,dd,07,00,00,ff,ff,ff\n2014-08-15T19:03:58.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:58.493Z,4,129039,43,255,26,12,44,11,b6,0d,69,ef,bd,0e,96,35,98,23,eb,f2,87,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:58.507Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:03:58.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3f,02,02,00,03,03,03,00,00,00\n2014-08-15T19:03:58.578Z,2,130306,115,255,8,00,3b,02,8e,18,f2,ff,ff\n2014-08-15T19:03:58.592Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:03:58.595Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:58.598Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:58.600Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:58.602Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:58.611Z,6,129794,43,255,75,05,b8,53,a6,0c,f6,21,8e,00,43,34,4b,42,32,20,20,42,41,4c,54,49,43,20,4d,45,52,43,48,41,4e,54,20,20,20,20,20,50,26,07,0e,01,aa,00,d2,05,ae,3f,00,bf,2f,20,56,04,46,41,57,4c,45,59,20,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:03:58.614Z,3,129291,160,255,8,ff,fc,60,71,15,00,ff,ff\n2014-08-15T19:03:58.714Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,e9,fd,b0,00,00,0c,66,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:03:58.793Z,4,129038,43,255,27,01,b8,f5,67,12,0e,4b,8e,0e,89,a7,90,23,e8,56,2d,d6,03,99,08,0b,ff,2c,00,00,00,fe\n2014-08-15T19:03:58.803Z,3,130577,160,255,14,c0,78,b2,88,47,01,ff,ff,ff,ff,62,68,0c,00\n2014-08-15T19:03:58.805Z,2,129025,160,255,8,ff,34,98,23,96,f1,bd,0e\n2014-08-15T19:03:58.823Z,3,127508,129,255,8,01,ae,05,cb,07,1e,75,4e\n2014-08-15T19:03:58.901Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:03:58.904Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:58.940Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:58.942Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:58.945Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:03:58.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:59.010Z,2,129026,160,255,8,ff,fc,b2,88,47,01,ff,ff\n2014-08-15T19:03:59.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:03:59.083Z,4,129038,43,255,27,01,c8,d4,7f,10,05,d2,df,0e,5c,0c,c5,23,e9,38,7c,33,04,dd,08,08,20,7e,00,00,00,fe\n2014-08-15T19:03:59.146Z,6,129540,160,255,135,c0,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:03:59.148Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:03:59.243Z,4,129038,43,255,27,01,10,dc,6d,0f,a8,94,5f,0e,25,91,9c,23,e9,71,ad,83,02,aa,08,09,88,ae,f6,ff,00,fe\n2014-08-15T19:03:59.315Z,3,129029,160,255,43,79,a9,3f,b2,72,e9,28,00,36,37,c0,dc,99,49,08,00,5c,dc,c6,92,b0,6e,03,50,34,03,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:03:59.318Z,3,129033,160,255,8,a9,3f,b2,72,e9,28,b4,00\n2014-08-15T19:03:59.414Z,3,126992,160,255,8,ff,ff,a9,3f,b2,72,e9,28\n2014-08-15T19:03:59.433Z,4,129038,43,255,27,01,e0,53,7f,10,77,47,c7,0e,9b,85,aa,23,00,6c,88,ce,05,b1,08,09,fd,86,00,00,00,fe\n2014-08-15T19:03:59.446Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:59.448Z,3,128267,115,255,8,00,ec,07,00,00,ff,ff,ff\n2014-08-15T19:03:59.475Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:59.492Z,3,127508,129,255,8,01,b0,05,e0,07,1e,75,4e\n2014-08-15T19:03:59.509Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:03:59.514Z,4,129039,43,255,26,12,44,11,b6,0d,d3,ee,bd,0e,6a,34,98,23,ef,32,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:03:59.529Z,2,130306,115,255,8,00,c6,02,d5,24,f2,ff,ff\n2014-08-15T19:03:59.550Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:59.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:03:59.589Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:03:59.592Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:03:59.595Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:03:59.597Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:03:59.614Z,3,129291,160,255,8,ff,fc,62,68,0c,00,ff,ff\n2014-08-15T19:03:59.723Z,4,129038,43,255,27,01,92,12,4b,10,6b,77,fc,0e,70,5e,ae,23,ec,e6,af,bb,02,55,40,09,42,b1,14,00,00,fe\n2014-08-15T19:03:59.817Z,3,130577,160,255,14,c0,79,89,87,4e,01,ff,ff,ff,ff,62,68,0c,00\n2014-08-15T19:03:59.820Z,2,129025,160,255,8,db,33,98,23,d7,f0,bd,0e\n2014-08-15T19:03:59.907Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:03:59.919Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:03:59.945Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:03:59.947Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:03:59.950Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:03:59.964Z,4,129038,43,255,27,01,6c,70,4a,10,11,28,01,0f,21,bb,a3,23,eb,73,35,ba,01,19,c0,08,d0,33,06,00,00,fe\n2014-08-15T19:04:00.003Z,3,127508,129,255,8,01,b0,05,c6,07,1e,75,4e\n2014-08-15T19:04:00.005Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:00.016Z,2,129026,160,255,8,ff,fc,89,87,4e,01,ff,ff\n2014-08-15T19:04:00.036Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:00.067Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,7a,e9,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:04:00.153Z,6,129540,160,255,135,c1,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:04:00.157Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:04:00.319Z,3,129029,160,255,43,7a,a9,3f,d6,99,e9,28,00,ce,a8,c3,98,99,49,08,00,a6,5f,4e,66,b0,6e,03,70,f3,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:00.321Z,3,129033,160,255,8,a9,3f,d6,99,e9,28,b4,00\n2014-08-15T19:04:00.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,7a,e9,28,0c,66,02,a9,3f,00,00,fc\n2014-08-15T19:04:00.413Z,3,126992,160,255,8,ff,ff,a9,3f,9a,a3,e9,28\n2014-08-15T19:04:00.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:00.445Z,3,128267,115,255,8,00,2f,08,00,00,ff,ff,ff\n2014-08-15T19:04:00.482Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:00.490Z,7,127506,129,255,9,4f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:00.501Z,2,130306,115,255,8,00,b7,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:00.515Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:00.522Z,4,129039,43,255,26,12,44,11,b6,0d,1b,ee,bd,0e,5f,33,98,23,03,c3,85,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:00.525Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:00.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:00.587Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,e6,23,0a,01,6b,3b,01,00\n2014-08-15T19:04:00.589Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:00.592Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:00.595Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:00.618Z,3,129291,160,255,8,ff,fc,24,58,2c,00,ff,ff\n2014-08-15T19:04:00.752Z,4,129038,43,255,27,01,c8,27,16,0e,99,15,69,0e,a4,21,94,23,e9,7f,31,50,03,34,c0,09,67,30,df,ff,00,fe\n2014-08-15T19:04:00.815Z,3,130577,160,255,14,c0,7a,32,87,4f,01,ff,ff,ff,ff,24,58,2c,00\n2014-08-15T19:04:00.817Z,2,129025,160,255,8,ac,32,98,23,27,f0,bd,0e\n2014-08-15T19:04:00.822Z,4,129038,43,255,27,01,98,69,b3,0e,a4,26,90,0e,31,c2,a0,23,e9,a0,af,f8,01,20,40,09,42,b1,00,00,00,fe\n2014-08-15T19:04:00.914Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:00.916Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:00.950Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:00.953Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:00.954Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:00.962Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:04:00.992Z,4,129039,43,255,26,12,44,11,b6,0d,1b,ee,bd,0e,5f,33,98,23,03,c3,85,53,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:04:01.024Z,2,129026,160,255,8,ff,fc,32,87,4f,01,ff,ff\n2014-08-15T19:04:01.119Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:01.143Z,3,127508,129,255,8,01,ac,05,66,07,1e,75,4f\n2014-08-15T19:04:01.150Z,6,129540,160,255,135,c2,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:04:01.154Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:04:01.162Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:01.162Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:04:01.199Z,4,129039,43,255,26,12,0a,df,8e,0f,3c,35,8f,0e,d2,4d,77,23,00,2d,41,dd,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:01.274Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:01.303Z,4,129038,43,255,27,01,e0,53,7f,10,6f,40,c7,0e,d7,7b,aa,23,08,15,88,ce,05,2d,80,01,fd,86,00,00,00,fe\n2014-08-15T19:04:01.326Z,3,129029,160,255,43,7b,a9,3f,e6,c0,e9,28,00,b8,73,37,52,99,49,08,00,c6,f4,53,3d,b0,6e,03,d0,6c,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:01.329Z,3,129033,160,255,8,a9,3f,e6,c0,e9,28,b4,00\n2014-08-15T19:04:01.373Z,4,129038,43,255,27,01,02,8b,c4,0d,4f,fa,e0,0e,ea,e7,c9,23,08,7e,7f,72,01,92,c0,01,e6,82,00,00,00,fe\n2014-08-15T19:04:01.419Z,3,126992,160,255,8,ff,ff,a9,3f,b4,ca,e9,28\n2014-08-15T19:04:01.444Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:01.447Z,3,128267,115,255,8,00,2f,08,00,00,ff,ff,ff\n2014-08-15T19:04:01.470Z,2,130306,115,255,8,00,c6,02,1a,22,f2,ff,ff\n2014-08-15T19:04:01.495Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:01.520Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:01.525Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:04:01.533Z,4,129039,43,255,26,12,44,11,b6,0d,43,ed,bd,0e,76,32,98,23,07,e6,88,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:01.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,51,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:01.586Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:01.588Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:01.591Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:01.593Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:01.617Z,3,129291,160,255,8,ff,fc,1f,4d,2a,00,ff,ff\n2014-08-15T19:04:01.622Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:01.643Z,4,129038,43,255,27,01,d0,e7,da,0d,64,9a,33,0f,58,10,c4,23,09,2f,02,05,00,10,66,00,7c,bb,00,00,00,fe\n2014-08-15T19:04:01.803Z,4,129038,43,255,27,01,88,d6,d0,0c,b9,ec,e4,0e,21,a7,b7,23,05,3d,98,41,03,a1,08,00,14,9a,00,00,00,fe\n2014-08-15T19:04:01.823Z,3,130577,160,255,14,c0,7b,03,88,51,01,ff,ff,ff,ff,1f,4d,2a,00\n2014-08-15T19:04:01.825Z,2,129025,160,255,8,88,31,98,23,47,ef,bd,0e\n2014-08-15T19:04:01.884Z,4,129038,43,255,27,01,b0,79,7a,10,a7,ec,d2,0e,bc,8f,81,23,00,ab,d8,e3,01,b8,08,00,7c,d9,f6,ff,00,fe\n2014-08-15T19:04:01.900Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:01.902Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:01.924Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:01.942Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:01.944Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:01.946Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:01.972Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:02.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:02.020Z,2,129026,160,255,8,ff,fc,03,88,51,01,ff,ff\n2014-08-15T19:04:02.029Z,3,127508,129,255,8,01,af,05,a5,07,1e,75,4f\n2014-08-15T19:04:02.043Z,4,129039,43,255,26,12,8c,d3,b5,0d,9e,bc,be,0e,15,e6,98,23,05,26,8b,1a,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:04:02.165Z,6,129540,160,255,135,c3,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:04:02.167Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:02.169Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:02.332Z,3,129029,160,255,43,7c,a9,3f,46,e8,e9,28,00,50,e5,3a,0e,99,49,08,00,06,84,2c,09,b0,6e,03,b0,1e,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:02.334Z,3,129033,160,255,8,a9,3f,46,e8,e9,28,b4,00\n2014-08-15T19:04:02.426Z,3,126992,160,255,8,ff,ff,a9,3f,46,e8,e9,28\n2014-08-15T19:04:02.438Z,2,130306,115,255,8,00,93,02,26,24,f2,ff,ff\n2014-08-15T19:04:02.454Z,6,129810,43,255,33,18,58,7f,b6,0d,25,53,52,54,47,50,56,34,4f,4a,36,32,36,35,40,6e,00,28,00,0a,00,3c,00,00,00,00,00,00\n2014-08-15T19:04:02.458Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:02.486Z,3,127508,129,255,8,01,ac,05,70,07,1e,75,4f\n2014-08-15T19:04:02.491Z,3,128267,115,255,8,00,2c,08,00,00,ff,ff,ff\n2014-08-15T19:04:02.495Z,4,129039,43,255,26,12,6e,c9,b5,0d,81,dd,d0,0e,b6,f6,8f,23,0a,3e,56,b5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:02.497Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:02.518Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:04:02.523Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:02.533Z,4,129038,43,255,27,01,08,99,b5,0d,db,b4,cc,0e,42,64,a5,23,0c,ff,4a,4e,01,5b,80,00,f3,48,00,00,00,fe\n2014-08-15T19:04:02.573Z,4,129039,43,255,26,12,44,11,b6,0d,7b,ec,bd,0e,4a,31,98,23,0b,5b,88,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:02.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,51,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:02.585Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:02.587Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:02.589Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:02.591Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:02.613Z,7,129793,43,255,26,04,90,18,23,00,c0,d0,e2,0e,64,31,d3,23,00,10,c9,e9,28,10,66,08,a9,3f,10,00,fc\n2014-08-15T19:04:02.620Z,3,129291,160,255,8,ff,fc,3d,5d,26,00,ff,ff\n2014-08-15T19:04:02.622Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:02.824Z,3,130577,160,255,14,c0,7c,15,88,56,01,ff,ff,ff,ff,3d,5d,26,00\n2014-08-15T19:04:02.826Z,2,129025,160,255,8,62,30,98,23,58,ee,bd,0e\n2014-08-15T19:04:02.901Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:02.923Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:02.935Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:02.937Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:02.939Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:02.968Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:03.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:03.025Z,2,129026,160,255,8,ff,fc,15,88,56,01,ff,ff\n2014-08-15T19:04:03.028Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:03.031Z,3,127508,129,255,8,01,af,05,9a,07,1e,75,4f\n2014-08-15T19:04:03.033Z,7,129793,43,255,26,04,8f,18,23,00,3c,1e,46,0f,ec,67,e2,23,00,20,f0,e9,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:04:03.143Z,4,129038,43,255,27,01,b0,7f,79,10,f8,d0,b4,0e,bc,7e,6f,23,0c,03,a6,00,00,f1,08,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:03.157Z,6,129540,160,255,135,c4,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:04:03.159Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:04:03.332Z,3,129029,160,255,43,7d,a9,3f,6a,0f,ea,28,00,54,21,c7,c9,98,49,08,00,70,01,87,d1,af,6e,03,70,82,03,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:03.335Z,3,129033,160,255,8,a9,3f,6a,0f,ea,28,b4,00\n2014-08-15T19:04:03.353Z,4,129038,43,255,27,01,e0,53,7f,10,99,39,c7,0e,02,72,aa,23,10,03,88,c9,05,d2,08,08,fd,86,00,00,00,fe\n2014-08-15T19:04:03.428Z,3,126992,160,255,8,ff,ff,a9,3f,6a,0f,ea,28\n2014-08-15T19:04:03.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:03.442Z,3,128267,115,255,8,00,fb,07,00,00,ff,ff,ff\n2014-08-15T19:04:03.466Z,2,130306,115,255,8,00,b7,02,77,23,f2,ff,ff\n2014-08-15T19:04:03.506Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:03.521Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:04:03.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:03.563Z,4,129039,43,255,26,12,44,11,b6,0d,81,eb,bd,0e,50,30,98,23,0f,09,8c,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:03.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,51,02,02,00,01,01,03,00,00,00\n2014-08-15T19:04:03.581Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:03.583Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:03.586Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:03.589Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:03.603Z,4,129038,43,255,27,01,b8,83,92,0e,fb,bc,e0,0e,2c,c8,75,23,11,8e,c1,05,00,82,00,01,59,d3,00,00,00,fe\n2014-08-15T19:04:03.625Z,3,129291,160,255,8,ff,fc,9f,69,1f,00,ff,ff\n2014-08-15T19:04:03.679Z,3,127508,129,255,8,01,af,05,8b,07,1e,75,4f\n2014-08-15T19:04:03.829Z,3,130577,160,255,14,c0,7d,e6,88,51,01,ff,ff,ff,ff,9f,69,1f,00\n2014-08-15T19:04:03.832Z,2,129025,160,255,8,48,2f,98,23,69,ed,bd,0e\n2014-08-15T19:04:03.901Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:04:03.936Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:03.940Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:03.942Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:03.944Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:04:03.974Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:04.018Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:04.028Z,2,129026,160,255,8,ff,fc,e6,88,51,01,ff,ff\n2014-08-15T19:04:04.083Z,4,129038,43,255,27,01,08,7b,ba,0d,8b,ca,93,0e,70,04,bd,23,0d,e6,a0,77,01,20,c0,01,e5,a0,00,00,00,fe\n2014-08-15T19:04:04.123Z,4,129038,43,255,27,01,28,f5,77,10,a5,40,a0,0e,b0,62,74,23,0c,5c,3d,9f,00,96,00,09,dc,35,ff,7f,00,fe\n2014-08-15T19:04:04.158Z,6,129540,160,255,135,c5,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:04:04.160Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:04:04.164Z,4,129038,43,255,27,01,fc,ff,e9,25,28,ff,28,0f,a2,b8,be,23,0d,7d,bb,c5,02,1d,c0,00,7c,bb,00,00,00,fe\n2014-08-15T19:04:04.253Z,7,127506,129,255,9,50,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:04.335Z,3,129029,160,255,43,7e,a9,3f,ac,36,ea,28,00,d0,9e,1e,88,98,49,08,00,da,7e,e1,99,af,6e,03,a0,86,01,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:04.339Z,3,129033,160,255,8,a9,3f,ac,36,ea,28,b4,00\n2014-08-15T19:04:04.367Z,2,130306,115,255,8,00,89,02,a5,1c,f2,ff,ff\n2014-08-15T19:04:04.387Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:04.433Z,3,126992,160,255,8,ff,ff,a9,3f,48,40,ea,28\n2014-08-15T19:04:04.457Z,3,128267,115,255,8,00,fb,07,00,00,ff,ff,ff\n2014-08-15T19:04:04.459Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:04.487Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:04.534Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:04:04.573Z,4,129039,43,255,26,12,44,11,b6,0d,a8,ea,bd,0e,45,2f,98,23,13,0f,8a,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:04.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:04.579Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:04.582Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:04.585Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:04.587Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:04.636Z,3,129291,160,255,8,ff,fc,98,87,2a,00,ff,ff\n2014-08-15T19:04:04.823Z,4,129038,43,255,27,01,20,f6,7e,10,29,3b,c7,0e,14,e9,7f,23,11,39,31,05,00,3e,40,09,13,c7,00,00,0f,fe\n2014-08-15T19:04:04.831Z,3,130577,160,255,14,c0,7e,1b,89,4e,01,ff,ff,ff,ff,98,87,2a,00\n2014-08-15T19:04:04.833Z,2,129025,160,255,8,38,2e,98,23,79,ec,bd,0e\n2014-08-15T19:04:04.905Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:04.931Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:04.934Z,3,127508,129,255,8,01,b0,05,84,07,1e,75,50\n2014-08-15T19:04:04.939Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:04.942Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:04.944Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:04:05.000Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:05.028Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:05.033Z,4,129038,43,255,27,01,d2,ff,4a,10,8f,8a,b1,0e,a6,01,71,23,11,a4,ec,00,00,10,66,08,37,91,00,00,00,fe\n2014-08-15T19:04:05.035Z,2,129026,160,255,8,ff,fc,1b,89,4e,01,ff,ff\n2014-08-15T19:04:05.041Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:05.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:05.143Z,4,129038,43,255,27,01,b8,f5,67,12,ef,76,8e,0e,5e,b1,90,23,10,68,2d,d6,03,bd,00,03,ff,2c,00,00,00,fe\n2014-08-15T19:04:05.168Z,6,129540,160,255,135,c6,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:04:05.170Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:04:05.293Z,4,129038,43,255,27,01,c8,d4,7f,10,b7,d0,df,0e,93,f5,c4,23,11,38,7c,33,04,10,66,00,20,7e,00,00,00,fe\n2014-08-15T19:04:05.331Z,2,130306,115,255,8,00,b7,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:05.340Z,3,129029,160,255,43,7f,a9,3f,9e,5d,ea,28,00,30,28,ca,48,98,49,08,00,7a,61,00,62,af,6e,03,c0,45,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:05.343Z,3,129033,160,255,8,a9,3f,9e,5d,ea,28,b4,00\n2014-08-15T19:04:05.351Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:05.433Z,4,129038,43,255,27,01,e0,53,7f,10,d4,32,c7,0e,3e,68,aa,23,18,cf,87,c4,05,36,40,01,fd,86,00,00,00,fe\n2014-08-15T19:04:05.438Z,3,128267,115,255,8,00,f8,07,00,00,ff,ff,ff\n2014-08-15T19:04:05.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:05.442Z,3,126992,160,255,8,ff,ff,a9,3f,8a,67,ea,28\n2014-08-15T19:04:05.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:05.531Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:04:05.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,23,02,02,00,01,03,03,00,00,00\n2014-08-15T19:04:05.579Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:05.581Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:05.583Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:05.587Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:05.593Z,4,129039,43,255,26,12,44,11,b6,0d,01,ea,bd,0e,3a,2e,98,23,17,38,88,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:05.633Z,3,129291,160,255,8,ff,fc,62,7e,15,00,ff,ff\n2014-08-15T19:04:05.684Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:05.838Z,3,130577,160,255,14,c0,7f,49,88,47,01,ff,ff,ff,ff,62,7e,15,00\n2014-08-15T19:04:05.840Z,2,129025,160,255,8,2f,2d,98,23,be,eb,bd,0e\n2014-08-15T19:04:05.898Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:04:05.920Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,90,f7,c7,23,00,50,65,ea,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:04:05.934Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:05.938Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:05.940Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:04:05.943Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:05.973Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:06.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:06.045Z,2,129026,160,255,8,ff,fc,49,88,47,01,ff,ff\n2014-08-15T19:04:06.107Z,3,127508,129,255,8,01,ae,05,47,07,1e,75,50\n2014-08-15T19:04:06.183Z,6,129540,160,255,135,c7,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,80,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:04:06.189Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:04:06.283Z,4,129038,43,255,27,03,10,04,1a,0e,8c,fb,ff,0e,4c,13,af,23,10,83,b0,9c,02,e3,72,08,9f,b2,00,00,00,fe\n2014-08-15T19:04:06.303Z,2,130306,115,255,8,00,4b,02,a5,1c,f2,ff,ff\n2014-08-15T19:04:06.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:06.355Z,3,129029,160,255,43,80,a9,3f,f4,84,ea,28,00,16,ed,16,0b,98,49,08,00,ec,4f,76,36,af,6e,03,e0,22,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:06.359Z,3,129033,160,255,8,a9,3f,f4,84,ea,28,b4,00\n2014-08-15T19:04:06.442Z,3,128267,115,255,8,00,f8,07,00,00,ff,ff,ff\n2014-08-15T19:04:06.444Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:06.454Z,3,126992,160,255,8,ff,ff,a9,3f,c2,8e,ea,28\n2014-08-15T19:04:06.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:06.510Z,3,127508,129,255,8,01,ae,05,3b,07,1e,75,50\n2014-08-15T19:04:06.541Z,3,127508,129,255,8,01,b0,05,65,07,1e,75,50\n2014-08-15T19:04:06.546Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:04:06.573Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:06.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3e,02,02,00,01,03,03,00,00,00\n2014-08-15T19:04:06.579Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:06.581Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:06.584Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:06.603Z,4,129039,43,255,26,12,44,11,b6,0d,6b,e9,bd,0e,30,2d,98,23,1b,6c,85,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:06.648Z,3,129291,160,255,8,ff,fc,3d,80,21,00,ff,ff\n2014-08-15T19:04:06.849Z,3,127508,129,255,8,01,ae,05,21,07,1e,75,50\n2014-08-15T19:04:06.853Z,3,130577,160,255,14,c0,80,43,87,46,01,ff,ff,ff,ff,3d,80,21,00\n2014-08-15T19:04:06.855Z,2,129025,160,255,8,1b,2c,98,23,23,eb,bd,0e\n2014-08-15T19:04:06.903Z,4,129038,43,255,27,03,88,d6,d0,0c,9b,d8,e4,0e,84,9c,b7,23,19,60,98,41,03,b3,5a,08,14,9a,00,00,00,fe\n2014-08-15T19:04:06.905Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:06.940Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:06.942Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:06.946Z,4,129038,43,255,27,01,c8,27,16,0e,a1,35,69,0e,c8,26,94,23,11,6e,31,50,03,25,81,01,67,30,ec,ff,00,fe\n2014-08-15T19:04:06.948Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:06.960Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:07.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:07.043Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:07.046Z,2,129026,160,255,8,ff,fc,43,87,46,01,ff,ff\n2014-08-15T19:04:07.174Z,6,129540,160,255,135,c8,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:04:07.176Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:04:07.182Z,7,127506,129,255,9,51,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:07.272Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:04:07.291Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:07.357Z,3,129029,160,255,43,81,a9,3f,0e,ac,ea,28,00,4e,0b,d4,ca,97,49,08,00,9e,97,5f,12,af,6e,03,b0,1e,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:07.359Z,3,129033,160,255,8,a9,3f,0e,ac,ea,28,b4,00\n2014-08-15T19:04:07.436Z,3,128267,115,255,8,00,c4,07,00,00,ff,ff,ff\n2014-08-15T19:04:07.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:07.452Z,3,126992,160,255,8,ff,ff,a9,3f,dc,b5,ea,28\n2014-08-15T19:04:07.463Z,4,129038,43,255,27,01,e0,53,7f,10,9b,28,c7,0e,98,59,aa,23,20,f2,87,c4,05,c4,08,08,fd,86,00,00,00,fe\n2014-08-15T19:04:07.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:07.545Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:04:07.569Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:07.573Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:07.575Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:07.577Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:07.581Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:07.618Z,4,129039,43,255,26,12,44,11,b6,0d,d5,e8,bd,0e,04,2c,98,23,1f,03,85,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:07.654Z,3,129291,160,255,8,ff,fc,fe,50,30,00,ff,ff\n2014-08-15T19:04:07.807Z,3,127508,129,255,8,01,ae,05,2c,07,1e,75,51\n2014-08-15T19:04:07.851Z,3,130577,160,255,14,c0,81,60,86,48,01,ff,ff,ff,ff,fe,50,30,00\n2014-08-15T19:04:07.854Z,2,129025,160,255,8,f7,2a,98,23,94,ea,bd,0e\n2014-08-15T19:04:07.894Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:07.935Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:07.938Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:07.940Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:07.952Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:07.966Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:08.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:08.022Z,4,129038,43,255,27,01,b8,53,a6,0c,6d,e2,7b,0e,d6,75,9f,23,20,37,ac,78,02,29,81,08,d9,ad,00,00,00,fe\n2014-08-15T19:04:08.047Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:08.054Z,2,129026,160,255,8,ff,fc,60,86,48,01,ff,ff\n2014-08-15T19:04:08.181Z,6,129540,160,255,135,c9,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:04:08.184Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:08.188Z,4,129038,43,255,27,01,68,e2,20,12,5d,65,fe,0e,43,58,ad,23,20,f7,af,fd,01,e9,08,08,9f,b2,00,00,00,fe\n2014-08-15T19:04:08.253Z,4,129038,43,255,27,01,58,43,c9,0e,b9,1c,d7,0e,9c,ba,a9,23,20,54,ae,cb,02,32,81,09,88,ae,00,00,00,fe\n2014-08-15T19:04:08.255Z,2,130306,115,255,8,00,ad,02,54,1d,f2,ff,ff\n2014-08-15T19:04:08.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:08.396Z,3,129029,160,255,43,82,a9,3f,32,d3,ea,28,00,e6,7c,d7,86,97,49,08,00,c8,20,14,f1,ae,6e,03,30,e6,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:08.398Z,3,129033,160,255,8,a9,3f,32,d3,ea,28,b4,00\n2014-08-15T19:04:08.444Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:04:08.448Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:08.475Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:08.480Z,3,126992,160,255,8,ff,ff,a9,3f,ce,dc,ea,28\n2014-08-15T19:04:08.567Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:08.569Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:08.572Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:08.574Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:08.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,4c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:08.587Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:04:08.609Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:08.632Z,4,129039,43,255,26,12,44,11,b6,0d,2f,e8,bd,0e,d8,2a,98,23,23,8f,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:08.682Z,3,129291,160,255,8,ff,fc,fe,50,30,00,ff,ff\n2014-08-15T19:04:08.889Z,3,130577,160,255,14,c0,82,2c,86,4c,01,ff,ff,ff,ff,bc,54,43,00\n2014-08-15T19:04:08.891Z,2,129025,160,255,8,d0,29,98,23,f2,e9,bd,0e\n2014-08-15T19:04:08.894Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:08.930Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:08.932Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:08.935Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:08.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:08.988Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:08.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:09.089Z,2,129026,160,255,8,ff,fc,2c,86,4c,01,ff,ff\n2014-08-15T19:04:09.172Z,4,129039,43,255,26,12,ec,d7,b5,0d,b5,d8,bb,0e,1c,0d,90,23,22,d5,7c,58,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:09.203Z,2,130306,115,255,8,00,93,02,eb,19,f2,ff,ff\n2014-08-15T19:04:09.228Z,6,129540,160,255,135,ca,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,28,0a,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,54,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,ac,0d,00,00,00,00,f6\n2014-08-15T19:04:09.230Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:09.232Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:09.279Z,3,127508,129,255,8,01,b1,05,5a,07,1e,75,51\n2014-08-15T19:04:09.401Z,3,129029,160,255,43,83,a9,3f,24,fa,ea,28,00,4c,c5,a2,fe,96,49,08,00,fc,d3,dc,9b,ae,6e,03,20,30,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:09.403Z,3,129033,160,255,8,a9,3f,24,fa,ea,28,b4,00\n2014-08-15T19:04:09.407Z,4,129038,43,255,27,01,92,12,4b,10,55,43,fc,0e,ed,57,ae,23,24,e6,af,bb,02,55,40,01,42,b1,03,00,00,fe\n2014-08-15T19:04:09.440Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:04:09.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:09.446Z,4,129038,43,255,27,01,fc,ff,e9,25,a3,e5,28,0f,b3,b8,be,23,21,2b,bc,b6,02,1d,c0,08,7c,bb,00,00,00,fe\n2014-08-15T19:04:09.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:09.489Z,3,126992,160,255,8,ff,ff,a9,3f,e8,03,eb,28\n2014-08-15T19:04:09.564Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,7e,3b,01,00\n2014-08-15T19:04:09.566Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:09.569Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:09.572Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:09.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,30,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:09.590Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:04:09.623Z,4,129038,43,255,27,01,e0,53,7f,10,08,22,c7,0e,d4,4f,aa,23,2c,89,87,c4,05,36,40,01,fd,86,00,00,00,fe\n2014-08-15T19:04:09.662Z,4,129039,43,255,26,12,44,11,b6,0d,67,e7,bd,0e,ac,29,98,23,27,32,87,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:09.693Z,3,129291,160,255,8,ff,fc,bc,54,43,00,ff,ff\n2014-08-15T19:04:09.704Z,4,129038,43,255,27,01,88,44,7d,10,98,23,c7,0e,3e,ed,7f,23,20,15,7f,00,00,10,66,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:09.889Z,3,130577,160,255,14,c0,83,c9,86,4e,01,ff,ff,ff,ff,44,55,3f,00\n2014-08-15T19:04:09.891Z,2,129025,160,255,8,ae,28,98,23,26,e9,bd,0e\n2014-08-15T19:04:09.899Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:09.917Z,3,127508,129,255,8,01,ac,05,f6,06,1e,75,51\n2014-08-15T19:04:09.934Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:09.936Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:09.938Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:04:09.979Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:04:09.991Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:09.994Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:10.023Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:10.053Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:10.092Z,2,129026,160,255,8,ff,fc,c9,86,4e,01,ff,ff\n2014-08-15T19:04:10.157Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:04:10.175Z,2,130306,115,255,8,00,e5,02,54,1d,f2,ff,ff\n2014-08-15T19:04:10.193Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,01,eb,28,8d,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:04:10.198Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:10.229Z,6,129540,160,255,135,cb,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,f0,0a,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,b8,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,fc,08,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:10.231Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:10.387Z,6,129794,43,255,75,05,58,eb,ad,0e,98,05,91,00,50,43,4d,4b,20,20,20,56,45,53,54,41,4e,48,41,56,20,20,20,20,20,20,20,20,20,20,20,46,ce,04,a0,00,5a,00,06,04,aa,3f,00,10,55,22,f4,01,20,55,53,54,2d,4c,55,47,41,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:04:10.398Z,3,129029,160,255,43,84,a9,3f,3e,21,eb,28,00,6a,72,47,bc,96,49,08,00,d2,1b,c0,63,ae,6e,03,40,0d,03,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:10.399Z,3,129033,160,255,8,a9,3f,3e,21,eb,28,b4,00\n2014-08-15T19:04:10.424Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,01,eb,28,81,01,0b,a9,3f,00,00,fc\n2014-08-15T19:04:10.448Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:04:10.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:10.461Z,3,127508,129,255,8,01,ae,05,04,07,1e,75,51\n2014-08-15T19:04:10.468Z,4,129038,43,255,27,01,b0,79,7a,10,dd,d5,d2,0e,98,95,81,23,24,ab,d8,e8,01,82,81,08,2a,da,1a,00,00,fe\n2014-08-15T19:04:10.482Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:10.494Z,3,126992,160,255,8,ff,ff,a9,3f,02,2b,eb,28\n2014-08-15T19:04:10.504Z,4,129038,43,255,27,01,b8,f5,67,12,51,96,8e,0e,44,b8,90,23,28,56,2d,d6,03,83,01,0b,ff,2c,00,00,00,fe\n2014-08-15T19:04:10.543Z,4,129038,43,255,27,01,10,dc,6d,0f,93,60,5f,0e,b4,87,9c,23,29,83,ad,83,02,b8,08,00,88,ae,f6,ff,00,fe\n2014-08-15T19:04:10.562Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,90,3b,01,00\n2014-08-15T19:04:10.565Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:10.567Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:10.570Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:10.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,2f,02,04,00,03,07,05,00,00,00\n2014-08-15T19:04:10.582Z,4,129038,43,255,27,01,6c,70,4a,10,0f,47,01,0f,30,be,a3,23,23,a8,35,ba,01,19,c0,00,21,33,ce,ff,00,fe\n2014-08-15T19:04:10.595Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:04:10.652Z,4,129039,43,255,26,12,44,11,b6,0d,6d,e6,bd,0e,a1,28,98,23,2b,09,89,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:10.688Z,3,129291,160,255,8,ff,fc,44,55,3f,00,ff,ff\n2014-08-15T19:04:10.894Z,3,130577,160,255,14,c0,84,f2,87,4e,01,ff,ff,ff,ff,5e,5f,3f,00\n2014-08-15T19:04:10.895Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:10.900Z,2,129025,160,255,8,91,27,98,23,35,e8,bd,0e\n2014-08-15T19:04:10.911Z,4,129039,43,255,26,12,9e,d6,c3,0d,89,4a,c6,0e,c0,1f,94,23,2a,04,55,86,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:10.936Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:10.938Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:10.941Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:10.974Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:10.998Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:11.019Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:11.097Z,2,129026,160,255,8,ff,fc,f2,87,4e,01,ff,ff\n2014-08-15T19:04:11.143Z,2,130306,115,255,8,00,19,03,c9,22,f2,ff,ff\n2014-08-15T19:04:11.148Z,3,127508,129,255,8,01,ae,05,f0,06,1e,75,51\n2014-08-15T19:04:11.184Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:11.225Z,6,129540,160,255,135,cc,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,08,07,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,f0,0a,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,10,0e,00,00,00,00,f2,1c,23,06,e5,be,48,0d,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:11.227Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:04:11.273Z,4,129038,43,255,27,01,98,69,b3,0e,87,04,90,0e,17,be,a0,23,21,a0,af,fd,01,20,c0,00,42,b1,00,00,00,fe\n2014-08-15T19:04:11.323Z,4,129038,43,255,27,01,e0,53,7f,10,b6,1e,c7,0e,f2,4a,aa,23,30,89,87,bf,05,a5,81,08,fd,86,00,00,00,fe\n2014-08-15T19:04:11.399Z,3,129029,160,255,43,85,a9,3f,6c,48,eb,28,00,94,96,2e,7d,96,49,08,00,76,04,06,23,ae,6e,03,60,ea,00,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:11.402Z,3,129033,160,255,8,a9,3f,6c,48,eb,28,b4,00\n2014-08-15T19:04:11.422Z,7,127506,129,255,9,52,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:11.433Z,4,129038,43,255,27,01,d0,e7,da,0d,75,9a,33,0f,bc,10,c4,23,31,2f,02,05,00,02,09,08,7c,bb,00,00,00,fe\n2014-08-15T19:04:11.439Z,3,128267,115,255,8,00,1a,08,00,00,ff,ff,ff\n2014-08-15T19:04:11.441Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:11.472Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:11.498Z,3,126992,160,255,8,ff,ff,a9,3f,30,52,eb,28\n2014-08-15T19:04:11.513Z,4,129039,43,255,26,12,66,58,b6,0d,96,12,bc,0e,b1,09,93,23,2f,db,80,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:11.552Z,4,129038,43,255,27,01,c8,d4,7f,10,6a,cf,df,0e,ca,de,c4,23,29,6c,7c,33,04,ad,01,09,20,7e,00,00,00,fe\n2014-08-15T19:04:11.560Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,90,3b,01,00\n2014-08-15T19:04:11.562Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:11.565Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:11.568Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:11.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:11.590Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:04:11.673Z,4,129039,43,255,26,12,44,11,b6,0d,41,e5,bd,0e,b8,27,98,23,2f,cf,8d,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:11.693Z,3,129291,160,255,8,ff,fc,5e,5f,3f,00,ff,ff\n2014-08-15T19:04:11.697Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:11.713Z,4,129038,43,255,27,01,02,8b,c4,0d,0d,f7,e0,0e,e5,da,c9,23,30,2c,80,62,01,bb,08,08,94,83,00,00,00,fe\n2014-08-15T19:04:11.893Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:11.902Z,3,130577,160,255,14,c0,85,a6,89,4d,01,ff,ff,ff,ff,5e,5f,3f,00\n2014-08-15T19:04:11.904Z,2,129025,160,255,8,82,26,98,23,1f,e7,bd,0e\n2014-08-15T19:04:11.935Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:11.938Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:11.940Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:11.967Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:11.990Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:11.999Z,3,127508,129,255,8,01,b0,05,1c,07,1e,75,52\n2014-08-15T19:04:12.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:12.091Z,2,129026,160,255,8,ff,fc,a6,89,4d,01,ff,ff\n2014-08-15T19:04:12.111Z,2,130306,115,255,8,00,b7,02,df,17,f2,ff,ff\n2014-08-15T19:04:12.131Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:12.219Z,6,129540,160,255,135,cd,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,10,0e,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:04:12.222Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:12.224Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:12.327Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:12.406Z,3,129029,160,255,43,86,a9,3f,86,6f,eb,28,00,52,f0,8c,3e,96,49,08,00,92,2e,17,e5,ad,6e,03,70,f3,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:12.408Z,3,129033,160,255,8,a9,3f,86,6f,eb,28,b4,00\n2014-08-15T19:04:12.438Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:04:12.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:12.444Z,4,129038,43,255,27,01,58,eb,ad,0e,6a,ed,5d,0e,e6,98,8f,23,37,a8,2f,d4,01,39,40,01,5c,2e,00,00,00,fe\n2014-08-15T19:04:12.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:12.510Z,3,126992,160,255,8,ff,ff,a9,3f,4a,79,eb,28\n2014-08-15T19:04:12.557Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,90,3b,01,00\n2014-08-15T19:04:12.560Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:12.562Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:12.565Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:12.573Z,7,129793,43,255,26,04,90,18,23,00,c0,d0,e2,0e,96,31,d3,23,00,b0,4f,eb,28,10,66,00,a9,3f,10,00,fc\n2014-08-15T19:04:12.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:12.603Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:04:12.613Z,4,129038,43,255,27,03,80,04,7a,10,a0,ef,bb,0e,02,89,70,23,28,d1,1e,00,00,00,00,08,7f,16,00,00,05,fe\n2014-08-15T19:04:12.683Z,4,129039,43,255,26,12,44,11,b6,0d,57,e4,bd,0e,9c,26,98,23,33,03,8b,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:12.705Z,3,129291,160,255,8,ff,fc,71,5e,23,00,ff,ff\n2014-08-15T19:04:12.707Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:12.897Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:12.901Z,3,130577,160,255,14,c0,86,a6,89,4c,01,ff,ff,ff,ff,71,5e,23,00\n2014-08-15T19:04:12.903Z,2,129025,160,255,8,75,25,98,23,15,e6,bd,0e\n2014-08-15T19:04:12.935Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:12.937Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:12.939Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:12.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:13.001Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:13.023Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:13.024Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:13.033Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,ec,67,e2,23,00,c0,76,eb,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:04:13.095Z,2,130306,115,255,8,00,ff,02,77,23,f2,ff,ff\n2014-08-15T19:04:13.104Z,2,129026,160,255,8,ff,fc,a6,89,4c,01,ff,ff\n2014-08-15T19:04:13.106Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:13.119Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:13.242Z,6,129540,160,255,135,ce,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f1\n2014-08-15T19:04:13.244Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:04:13.353Z,4,129038,43,255,27,01,b8,83,92,0e,2d,bd,e0,0e,80,c8,75,23,35,8e,c1,05,00,10,66,08,07,d4,00,00,00,fe\n2014-08-15T19:04:13.393Z,4,129038,43,255,27,01,28,f5,77,10,ab,4d,a0,0e,b0,62,74,23,2c,ff,3b,a4,00,41,40,01,7f,34,ff,7f,00,fe\n2014-08-15T19:04:13.415Z,3,129029,160,255,43,87,a9,3f,96,96,eb,28,00,3a,38,6d,fc,95,49,08,00,16,1d,8a,af,ad,6e,03,e0,22,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:13.417Z,3,129033,160,255,8,a9,3f,96,96,eb,28,b4,00\n2014-08-15T19:04:13.454Z,3,128267,115,255,8,00,26,08,00,00,ff,ff,ff\n2014-08-15T19:04:13.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:13.485Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:13.500Z,3,126992,160,255,8,ff,ff,a9,3f,64,a0,eb,28\n2014-08-15T19:04:13.513Z,4,129038,43,255,27,01,e0,53,7f,10,8e,14,c7,0e,5d,3c,aa,23,38,e0,87,bf,05,f7,81,00,fd,86,00,00,00,fe\n2014-08-15T19:04:13.553Z,4,129038,43,255,27,01,c8,27,16,0e,05,5d,69,0e,8e,2d,94,23,2d,16,31,50,03,10,66,08,67,30,1a,00,00,fe\n2014-08-15T19:04:13.556Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,90,3b,01,00\n2014-08-15T19:04:13.559Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:13.561Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:13.564Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:13.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,39,02,03,00,01,01,03,00,00,00\n2014-08-15T19:04:13.593Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,a2,bf,76,23,31,d9,dd,00,00,2d,c0,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:13.605Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:04:13.635Z,4,129038,43,255,27,01,08,99,b5,0d,e5,ce,cc,0e,c0,5d,a5,23,38,a2,49,49,01,fa,01,09,f3,48,00,00,00,fe\n2014-08-15T19:04:13.681Z,3,127508,129,255,8,01,af,05,f8,06,1e,75,52\n2014-08-15T19:04:13.693Z,4,129039,43,255,26,12,44,11,b6,0d,6e,e3,bd,0e,70,25,98,23,37,9b,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:13.709Z,3,129291,160,255,8,ff,fc,8f,61,1a,00,ff,ff\n2014-08-15T19:04:13.733Z,4,129038,43,255,27,01,88,d6,d0,0c,6b,bc,e4,0e,bd,8d,b7,23,35,72,98,41,03,40,c0,01,65,99,00,00,00,fe\n2014-08-15T19:04:13.892Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:13.908Z,3,130577,160,255,14,c0,87,a6,89,4d,01,ff,ff,ff,ff,8f,61,1a,00\n2014-08-15T19:04:13.910Z,2,129025,160,255,8,59,24,98,23,2f,e5,bd,0e\n2014-08-15T19:04:13.930Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:13.932Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:13.934Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:13.963Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:13.993Z,4,129038,43,255,27,01,20,f6,7e,10,51,3a,c7,0e,03,e9,7f,23,35,39,31,00,00,3e,c0,00,13,c7,00,00,0f,fe\n2014-08-15T19:04:13.995Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:14.002Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:14.043Z,2,130306,115,255,8,00,f5,02,d5,24,f2,ff,ff\n2014-08-15T19:04:14.063Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:14.103Z,2,129026,160,255,8,ff,fc,a6,89,4d,01,ff,ff\n2014-08-15T19:04:14.209Z,3,127508,129,255,8,01,b1,05,14,07,1e,75,52\n2014-08-15T19:04:14.231Z,6,129540,160,255,135,cf,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:04:14.233Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:14.243Z,3,127508,129,255,8,01,b2,05,1f,07,1e,75,52\n2014-08-15T19:04:14.278Z,3,127508,129,255,8,01,ac,05,a3,06,1e,75,52\n2014-08-15T19:04:14.416Z,3,129029,160,255,43,88,a9,3f,ba,bd,eb,28,00,58,e5,11,ba,95,49,08,00,82,1d,78,73,ad,6e,03,10,98,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:14.418Z,3,129033,160,255,8,a9,3f,ba,bd,eb,28,b4,00\n2014-08-15T19:04:14.432Z,3,128267,115,255,8,00,57,08,00,00,ff,ff,ff\n2014-08-15T19:04:14.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:14.463Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:14.501Z,3,126992,160,255,8,ff,ff,a9,3f,7e,c7,eb,28\n2014-08-15T19:04:14.551Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,90,3b,01,00\n2014-08-15T19:04:14.555Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:14.557Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:14.559Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:14.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:14.606Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:04:14.707Z,3,129291,160,255,8,ff,fc,2b,4e,26,00,ff,ff\n2014-08-15T19:04:14.714Z,4,129039,43,255,26,12,44,11,b6,0d,74,e2,bd,0e,55,24,98,23,3b,03,8b,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:14.805Z,7,127506,129,255,9,53,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:14.894Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:14.914Z,3,130577,160,255,14,c0,88,43,8a,51,01,ff,ff,ff,ff,2b,4e,26,00\n2014-08-15T19:04:14.916Z,2,129025,160,255,8,3c,23,98,23,2d,e4,bd,0e\n2014-08-15T19:04:14.930Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:14.934Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:14.934Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:14.990Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:15.005Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:15.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:15.051Z,2,130306,115,255,8,00,a7,02,6a,12,f2,ff,ff\n2014-08-15T19:04:15.063Z,4,129039,43,255,26,12,c4,e2,c3,0d,72,3f,c2,0e,5d,88,95,23,38,10,57,72,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:04:15.075Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:15.107Z,2,129026,160,255,8,ff,fc,43,8a,51,01,ff,ff\n2014-08-15T19:04:15.110Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:15.184Z,3,127508,129,255,8,01,b0,05,e3,06,1e,75,53\n2014-08-15T19:04:15.234Z,6,129540,160,255,135,d0,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,28,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f1\n2014-08-15T19:04:15.237Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:04:15.414Z,3,129029,160,255,43,89,a9,3f,ca,e4,eb,28,00,c6,68,93,79,95,49,08,00,3e,f4,42,39,ad,6e,03,70,64,08,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:15.416Z,3,129033,160,255,8,a9,3f,ca,e4,eb,28,b4,00\n2014-08-15T19:04:15.428Z,6,129794,43,255,75,05,68,e2,20,12,5a,c5,8c,00,56,32,42,43,38,20,20,41,4e,4e,41,20,4c,45,48,4d,41,4e,4e,20,20,20,20,20,20,20,20,46,84,03,8c,00,46,00,16,03,ac,3f,40,06,29,27,62,02,47,52,45,4e,41,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:04:15.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:15.438Z,3,128267,115,255,8,00,a6,08,00,00,ff,ff,ff\n2014-08-15T19:04:15.463Z,4,129038,43,255,27,01,e0,53,7f,10,86,0d,c7,0e,99,32,aa,23,40,38,88,c4,05,10,66,08,ac,87,00,00,00,fe\n2014-08-15T19:04:15.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:15.504Z,3,126992,160,255,8,ff,ff,a9,3f,c0,ee,eb,28\n2014-08-15T19:04:15.513Z,4,129039,43,255,26,12,0a,ec,b5,0d,c5,b3,ca,0e,20,5c,92,23,38,3f,50,c9,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:15.549Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,a3,3b,01,00\n2014-08-15T19:04:15.552Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:15.554Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:15.556Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:15.557Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:15.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:15.607Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:04:15.711Z,3,129291,160,255,8,ff,fc,b0,56,0a,00,ff,ff\n2014-08-15T19:04:15.723Z,4,129039,43,255,26,12,44,11,b6,0d,8b,e1,bd,0e,3a,23,98,23,3f,cf,8a,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:15.774Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:15.804Z,4,129038,43,255,27,03,10,04,1a,0e,f9,cd,ff,0e,22,0c,af,23,38,c8,b0,9c,02,33,5a,00,9f,b2,00,00,00,fe\n2014-08-15T19:04:15.890Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:15.913Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,f4,f7,c7,23,00,f0,eb,eb,28,10,66,08,a9,3f,10,00,fc\n2014-08-15T19:04:15.917Z,3,130577,160,255,14,c0,89,0f,8a,51,01,ff,ff,ff,ff,b0,56,0a,00\n2014-08-15T19:04:15.919Z,2,129025,160,255,8,27,22,98,23,33,e3,bd,0e\n2014-08-15T19:04:15.926Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:15.928Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:15.930Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:15.958Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:15.983Z,2,130306,115,255,8,00,23,03,60,1f,f2,ff,ff\n2014-08-15T19:04:16.008Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:16.043Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:16.054Z,3,127508,129,255,8,01,b1,05,e5,06,1e,75,53\n2014-08-15T19:04:16.077Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:16.114Z,2,129026,160,255,8,ff,fc,0f,8a,51,01,ff,ff\n2014-08-15T19:04:16.212Z,4,129038,43,255,27,01,fc,ff,e9,25,90,c4,28,0f,a2,b8,be,23,3d,7d,bb,c0,02,1a,c0,00,7c,bb,00,00,00,fe\n2014-08-15T19:04:16.239Z,6,129540,160,255,135,d1,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,54,0b,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:04:16.241Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:04:16.417Z,3,129029,160,255,43,8a,a9,3f,0c,0c,ec,28,00,5e,da,96,35,95,49,08,00,48,1e,57,05,ad,6e,03,40,7e,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:16.419Z,3,129033,160,255,8,a9,3f,0c,0c,ec,28,b4,00\n2014-08-15T19:04:16.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:16.433Z,3,128267,115,255,8,00,a6,08,00,00,ff,ff,ff\n2014-08-15T19:04:16.443Z,3,127508,129,255,8,01,b0,05,c0,06,1e,75,53\n2014-08-15T19:04:16.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:16.512Z,3,126992,160,255,8,ff,ff,a9,3f,b2,15,ec,28\n2014-08-15T19:04:16.546Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,a3,3b,01,00\n2014-08-15T19:04:16.549Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:16.551Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:16.554Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:16.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:16.614Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:04:16.717Z,3,129291,160,255,8,ff,fc,61,57,15,00,ff,ff\n2014-08-15T19:04:16.733Z,4,129039,43,255,26,12,44,11,b6,0d,b2,e0,bd,0e,0e,22,98,23,43,43,8a,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:16.847Z,6,129794,43,255,75,05,08,99,b5,0d,56,ca,89,00,4f,4a,4e,49,20,20,20,43,45,4c,49,4e,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,46,34,03,78,00,1e,00,bc,02,aa,3f,00,e6,df,0c,d6,01,4b,55,4e,44,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:16.889Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:16.912Z,3,130577,160,255,14,c0,8a,a6,89,53,01,ff,ff,ff,ff,61,57,15,00\n2014-08-15T19:04:16.915Z,2,129025,160,255,8,03,21,98,23,54,e2,bd,0e\n2014-08-15T19:04:16.924Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:16.926Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:16.929Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:04:16.947Z,2,130306,115,255,8,00,e5,02,0e,20,f2,ff,ff\n2014-08-15T19:04:16.971Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:17.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:17.019Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:17.022Z,3,127508,129,255,8,01,ae,05,8e,06,1e,75,53\n2014-08-15T19:04:17.047Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:17.063Z,4,129038,43,255,27,01,b8,f5,67,12,53,c2,8e,0e,e7,c1,90,23,40,56,2d,d6,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:04:17.115Z,2,129026,160,255,8,ff,fc,a6,89,53,01,ff,ff\n2014-08-15T19:04:17.143Z,4,129038,43,255,27,01,b8,53,a6,0c,1f,bd,7b,0e,e9,6f,9f,23,44,26,ac,78,02,7f,02,01,d9,ad,00,00,00,fe\n2014-08-15T19:04:17.220Z,3,127508,129,255,8,01,ac,05,6c,06,1e,75,53\n2014-08-15T19:04:17.242Z,6,129540,160,255,135,d2,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f1\n2014-08-15T19:04:17.244Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:17.248Z,4,129038,43,255,27,01,68,e2,20,12,70,46,fe,0e,23,55,ad,23,44,2b,b0,fd,01,83,82,00,9f,b2,00,00,00,fe\n2014-08-15T19:04:17.403Z,4,129038,43,255,27,01,e0,53,7f,10,02,0a,c7,0e,c8,2d,aa,23,48,5b,88,c4,05,89,82,00,fd,86,ff,7f,00,fe\n2014-08-15T19:04:17.423Z,3,129029,160,255,43,8b,a9,3f,62,33,ec,28,00,b2,ec,ff,f2,94,49,08,00,c0,95,87,cc,ac,6e,03,20,bf,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:17.425Z,3,129033,160,255,8,a9,3f,62,33,ec,28,b4,00\n2014-08-15T19:04:17.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:17.444Z,3,128267,115,255,8,00,44,08,00,00,ff,ff,ff\n2014-08-15T19:04:17.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:17.509Z,7,127506,129,255,9,54,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:17.513Z,4,129038,43,255,27,01,c8,d4,7f,10,1d,ce,df,0e,00,c8,c4,23,41,38,7c,2d,04,8d,02,01,20,7e,00,00,00,fe\n2014-08-15T19:04:17.517Z,3,126992,160,255,8,ff,ff,a9,3f,62,3d,ec,28\n2014-08-15T19:04:17.544Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,a3,3b,01,00\n2014-08-15T19:04:17.546Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:17.549Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:17.551Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:17.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:17.616Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:04:17.720Z,3,129291,160,255,8,ff,fc,ff,6a,32,00,ff,ff\n2014-08-15T19:04:17.743Z,4,129039,43,255,26,12,44,11,b6,0d,c9,df,bd,0e,e2,20,98,23,47,e0,8a,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:17.867Z,3,127508,129,255,8,01,ac,05,54,06,1e,75,54\n2014-08-15T19:04:17.893Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:17.917Z,3,130577,160,255,14,c0,8b,43,8a,54,01,ff,ff,ff,ff,ff,6a,32,00\n2014-08-15T19:04:17.919Z,2,129025,160,255,8,e5,1f,98,23,60,e1,bd,0e\n2014-08-15T19:04:17.929Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:17.931Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:17.934Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:04:17.949Z,2,130306,115,255,8,00,d1,02,3c,19,f2,ff,ff\n2014-08-15T19:04:17.969Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:18.018Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:18.048Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:18.077Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:18.107Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:04:18.122Z,2,129026,160,255,8,ff,fc,43,8a,54,01,ff,ff\n2014-08-15T19:04:18.252Z,6,129540,160,255,135,d3,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,28,0a,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:04:18.254Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:04:18.268Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:04:18.390Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:18.421Z,3,129029,160,255,43,8c,a9,3f,b8,5a,ec,28,00,20,70,81,b2,94,49,08,00,20,1f,33,8d,ac,6e,03,60,cc,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:18.424Z,3,129033,160,255,8,a9,3f,b8,5a,ec,28,b4,00\n2014-08-15T19:04:18.427Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:18.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:18.438Z,3,128267,115,255,8,00,32,08,00,00,ff,ff,ff\n2014-08-15T19:04:18.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:18.493Z,4,129038,43,255,27,01,58,43,c9,0e,a9,e7,d6,0e,a5,b3,a9,23,4c,0e,ae,cb,02,6e,c0,00,88,ae,00,00,00,fe\n2014-08-15T19:04:18.518Z,3,126992,160,255,8,ff,ff,a9,3f,86,64,ec,28\n2014-08-15T19:04:18.541Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,a3,3b,01,00\n2014-08-15T19:04:18.544Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:18.547Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:18.549Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:18.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:18.604Z,4,129039,43,255,26,12,fe,ea,8e,0f,97,7d,99,0e,52,6e,ae,23,44,c8,d4,c3,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:18.621Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:04:18.715Z,3,129291,160,255,8,ff,fc,2c,3b,0f,00,ff,ff\n2014-08-15T19:04:18.763Z,4,129039,43,255,26,12,44,11,b6,0d,ad,de,bd,0e,d7,1f,98,23,4b,db,8c,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:18.813Z,4,129038,43,255,27,01,10,dc,6d,0f,f0,3d,5f,0e,b1,82,9c,23,49,83,ad,83,02,e5,08,08,88,ae,0a,00,00,fe\n2014-08-15T19:04:18.886Z,2,130306,115,255,8,00,6f,02,d3,15,f2,ff,ff\n2014-08-15T19:04:18.912Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:18.922Z,3,130577,160,255,14,c0,8c,ac,8a,54,01,ff,ff,ff,ff,2c,3b,0f,00\n2014-08-15T19:04:18.924Z,2,129025,160,255,8,d0,1e,98,23,50,e0,bd,0e\n2014-08-15T19:04:18.951Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:18.991Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:18.994Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:18.995Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:18.997Z,3,127508,129,255,8,01,b0,05,97,06,1e,75,54\n2014-08-15T19:04:19.019Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:19.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:19.034Z,4,129038,43,255,27,01,92,12,4b,10,c3,15,fc,0e,6a,51,ae,23,48,e6,af,bb,02,55,c0,08,42,b1,fd,ff,00,fe\n2014-08-15T19:04:19.054Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:19.115Z,3,127508,129,255,8,01,af,05,87,06,1e,75,54\n2014-08-15T19:04:19.122Z,2,129026,160,255,8,ff,fc,ac,8a,54,01,ff,ff\n2014-08-15T19:04:19.157Z,6,129794,43,255,75,05,70,82,52,10,30,2c,8a,00,55,41,44,4c,40,40,40,4c,2f,4c,20,4b,41,50,45,4c,41,4e,40,40,40,40,40,40,40,40,40,1e,08,02,78,00,5a,00,40,01,48,40,00,00,00,00,00,00,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,3d,e0\n2014-08-15T19:04:19.193Z,4,129038,43,255,27,03,88,d6,d0,0c,3c,a8,e4,0e,20,83,b7,23,49,83,98,41,03,c1,02,08,65,99,00,00,00,fe\n2014-08-15T19:04:19.259Z,6,129540,160,255,135,d4,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,54,0b,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,8c,0a,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:19.261Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:04:19.434Z,3,129029,160,255,43,8d,a9,3f,e6,81,ec,28,00,24,ac,0d,6e,94,49,08,00,60,ae,0b,59,ac,6e,03,b0,1e,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:19.437Z,3,129033,160,255,8,a9,3f,e6,81,ec,28,b4,00\n2014-08-15T19:04:19.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:19.442Z,3,128267,115,255,8,00,53,08,00,00,ff,ff,ff\n2014-08-15T19:04:19.485Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:19.518Z,3,126992,160,255,8,ff,ff,a9,3f,aa,8b,ec,28\n2014-08-15T19:04:19.539Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,a3,3b,01,00\n2014-08-15T19:04:19.541Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:19.544Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:19.548Z,4,129038,43,255,27,01,e0,53,7f,10,97,ff,c6,0e,32,1f,aa,23,50,49,88,c4,05,10,66,08,fd,86,00,00,00,fe\n2014-08-15T19:04:19.551Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:19.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,30,02,03,00,01,01,04,00,00,00\n2014-08-15T19:04:19.585Z,4,129038,43,255,27,01,c8,27,16,0e,29,7b,69,0e,91,32,94,23,45,9c,30,4b,03,35,c0,01,67,30,32,00,00,fe\n2014-08-15T19:04:19.624Z,3,127508,129,255,8,01,b0,05,87,06,1e,75,54\n2014-08-15T19:04:19.624Z,4,129038,43,255,27,01,6c,70,4a,10,a9,62,01,0f,ec,c0,a3,23,47,62,35,bf,01,e3,08,08,21,33,f6,ff,00,fe\n2014-08-15T19:04:19.625Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:04:19.725Z,3,129291,160,255,8,ff,fc,e9,5f,32,00,ff,ff\n2014-08-15T19:04:19.772Z,4,129039,43,255,26,12,44,11,b6,0d,d5,dd,bd,0e,ab,1e,98,23,4f,78,8a,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:19.813Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,4d,ec,80,00,00,e2,82,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:19.855Z,2,130306,115,255,8,00,3d,03,c9,22,f2,ff,ff\n2014-08-15T19:04:19.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:19.930Z,3,130577,160,255,14,c0,8d,95,89,56,01,ff,ff,ff,ff,e9,5f,32,00\n2014-08-15T19:04:19.932Z,2,129025,160,255,8,aa,1d,98,23,70,df,bd,0e\n2014-08-15T19:04:19.934Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:19.969Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:19.971Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:19.974Z,2,128259,115,255,8,00,50,01,ff,ff,00,ff,ff\n2014-08-15T19:04:20.019Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:20.076Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:20.111Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:20.122Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,88,ec,28,8d,c0,02,a9,3f,00,00,fc\n2014-08-15T19:04:20.125Z,2,129026,160,255,8,ff,fc,95,89,56,01,ff,ff\n2014-08-15T19:04:20.141Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:20.162Z,3,127508,129,255,8,01,b0,05,83,06,1e,75,54\n2014-08-15T19:04:20.253Z,6,129540,160,255,135,d5,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,1c,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,f0,0a,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:20.255Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:04:20.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,88,ec,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:04:20.432Z,3,129029,160,255,43,8e,a9,3f,f6,a8,ec,28,00,1a,ee,c3,2a,94,49,08,00,6c,5b,b3,20,ac,6e,03,d0,8a,ff,ff,ff,ff,ff,ff,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:20.436Z,3,129033,160,255,8,a9,3f,f6,a8,ec,28,b4,00\n2014-08-15T19:04:20.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:20.440Z,3,128267,115,255,8,00,f5,07,00,00,ff,ff,ff\n2014-08-15T19:04:20.457Z,7,127506,129,255,9,55,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:20.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:20.528Z,3,126992,160,255,8,ff,ff,a9,3f,a6,b2,ec,28\n2014-08-15T19:04:20.537Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,b5,3b,01,00\n2014-08-15T19:04:20.539Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:20.542Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:20.545Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:20.553Z,4,129038,43,255,27,01,b0,79,7a,10,af,c1,d2,0e,d2,a7,81,23,4c,cd,d8,e8,01,47,c0,01,2a,da,1a,00,00,fe\n2014-08-15T19:04:20.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:20.621Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:04:20.634Z,4,129038,43,255,27,01,88,44,7d,10,98,23,c7,0e,fc,ec,7f,23,4c,72,71,05,00,20,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:20.722Z,3,129291,160,255,8,ff,fc,e9,5f,32,00,ff,ff\n2014-08-15T19:04:20.785Z,4,129039,43,255,26,12,44,11,b6,0d,b9,dc,bd,0e,90,1d,98,23,53,66,8d,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:20.822Z,4,129038,43,255,27,03,70,82,52,10,c7,70,b1,0e,dd,a4,71,23,53,ff,ff,00,00,ea,42,09,ff,ff,ff,7f,05,fe\n2014-08-15T19:04:20.826Z,2,130306,115,255,8,00,bc,02,6c,21,f2,ff,ff\n2014-08-15T19:04:20.859Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:20.896Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:04:20.898Z,3,127508,129,255,8,01,ae,05,4e,06,1e,75,55\n2014-08-15T19:04:20.930Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:20.932Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:20.936Z,3,130577,160,255,14,c0,8e,9b,8a,56,01,ff,ff,ff,ff,e6,55,26,00\n2014-08-15T19:04:20.938Z,2,128259,115,255,8,00,57,01,ff,ff,00,ff,ff\n2014-08-15T19:04:20.940Z,2,129025,160,255,8,89,1c,98,23,7e,de,bd,0e\n2014-08-15T19:04:20.964Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:20.967Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:20.994Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:21.024Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:21.125Z,2,129026,160,255,8,ff,fc,9b,8a,56,01,ff,ff\n2014-08-15T19:04:21.265Z,6,129540,160,255,135,d6,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,80,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,f0,0a,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:21.267Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:04:21.293Z,4,129038,43,255,27,01,fc,ff,e9,25,c8,aa,28,0f,4e,bb,be,23,51,2b,bc,bb,02,1a,c0,08,7c,bb,00,00,00,fe\n2014-08-15T19:04:21.433Z,4,129038,43,255,27,01,e0,53,7f,10,35,fc,c6,0e,61,1a,aa,23,58,e0,87,c4,05,36,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:04:21.440Z,3,129029,160,255,43,8f,a9,3f,f2,cf,ec,28,00,7a,77,6f,eb,93,49,08,00,a6,fc,03,dc,ab,6e,03,70,a0,fe,ff,ff,ff,ff,ff,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:21.442Z,3,129033,160,255,8,a9,3f,f2,cf,ec,28,b4,00\n2014-08-15T19:04:21.444Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:21.446Z,3,128267,115,255,8,00,b8,07,00,00,ff,ff,ff\n2014-08-15T19:04:21.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:21.511Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:21.526Z,3,126992,160,255,8,ff,ff,a9,3f,e8,d9,ec,28\n2014-08-15T19:04:21.534Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,b5,3b,01,00\n2014-08-15T19:04:21.537Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:21.539Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:21.542Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:21.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:21.579Z,3,127508,129,255,8,01,af,05,63,06,1e,75,55\n2014-08-15T19:04:21.626Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:04:21.731Z,3,129291,160,255,8,ff,fc,e6,55,26,00,ff,ff\n2014-08-15T19:04:21.735Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:21.803Z,4,129039,43,255,26,12,44,11,b6,0d,7d,db,bd,0e,96,1c,98,23,57,7d,8e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:21.841Z,2,130306,115,255,8,00,a7,02,82,16,f2,ff,ff\n2014-08-15T19:04:21.867Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:21.915Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:04:21.926Z,3,130577,160,255,14,c0,8f,8f,8b,57,01,ff,ff,ff,ff,48,4d,0b,00\n2014-08-15T19:04:21.928Z,2,129025,160,255,8,79,1b,98,23,57,dd,bd,0e\n2014-08-15T19:04:21.933Z,4,129038,43,255,27,01,98,69,b3,0e,92,de,8f,0e,88,b9,a0,23,4d,48,af,fd,01,20,40,09,42,b1,00,00,00,fe\n2014-08-15T19:04:21.950Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:21.952Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:21.956Z,2,128259,115,255,8,00,56,01,ff,ff,00,ff,ff\n2014-08-15T19:04:21.984Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:22.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:22.026Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:22.126Z,2,129026,160,255,8,ff,fc,8f,8b,57,01,ff,ff\n2014-08-15T19:04:22.225Z,3,127508,129,255,8,01,b1,05,7b,06,1e,75,55\n2014-08-15T19:04:22.233Z,4,129039,43,255,26,12,ca,0c,b7,0d,33,54,bd,0e,1e,3c,96,23,54,4f,80,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:22.264Z,6,129540,160,255,135,d7,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,54,0b,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:22.266Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:04:22.269Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:22.273Z,4,129038,43,255,27,01,02,8b,c4,0d,25,f3,e0,0e,86,ce,c9,23,58,89,81,68,01,97,08,00,43,84,00,00,00,fe\n2014-08-15T19:04:22.433Z,3,129029,160,255,43,90,a9,3f,3e,f7,ec,28,00,f6,f4,c6,a9,93,49,08,00,80,4a,0e,9b,ab,6e,03,a0,f7,03,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:22.435Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:22.437Z,3,128267,115,255,8,00,0d,08,00,00,ff,ff,ff\n2014-08-15T19:04:22.439Z,3,129033,160,255,8,a9,3f,3e,f7,ec,28,b4,00\n2014-08-15T19:04:22.472Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:22.528Z,3,126992,160,255,8,ff,ff,a9,3f,0c,01,ed,28\n2014-08-15T19:04:22.532Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,b5,3b,01,00\n2014-08-15T19:04:22.534Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:22.537Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:22.539Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:22.565Z,3,127508,129,255,8,01,ae,05,35,06,1e,75,55\n2014-08-15T19:04:22.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,50,02,02,00,01,01,03,00,00,00\n2014-08-15T19:04:22.583Z,7,129793,43,255,26,04,90,18,23,00,f2,d0,e2,0e,96,31,d3,23,00,50,d6,ec,28,75,40,09,a9,3f,10,00,fc\n2014-08-15T19:04:22.630Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:04:22.731Z,3,129291,160,255,8,ff,fc,48,4d,0b,00,ff,ff\n2014-08-15T19:04:22.733Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:22.813Z,4,129039,43,255,26,12,44,11,b6,0d,83,da,bd,0e,8b,1b,98,23,5b,b8,89,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:22.850Z,2,130306,115,255,8,00,d1,02,03,1e,f2,ff,ff\n2014-08-15T19:04:22.875Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:22.924Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:04:22.937Z,3,130577,160,255,14,c0,90,15,8b,58,01,ff,ff,ff,ff,48,4d,0b,00\n2014-08-15T19:04:22.939Z,2,129025,160,255,8,5f,1a,98,23,40,dc,bd,0e\n2014-08-15T19:04:22.959Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:22.962Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:22.964Z,2,128259,115,255,8,00,4b,01,ff,ff,00,ff,ff\n2014-08-15T19:04:22.993Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:23.003Z,4,129039,43,255,26,12,44,e0,c3,0d,75,d8,ba,0e,21,58,8e,23,5a,9b,7e,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:23.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:23.039Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:23.043Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,ec,67,e2,23,00,60,fd,ec,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:04:23.083Z,4,129039,43,255,26,12,06,a5,b5,0d,29,53,bd,0e,0e,f0,97,23,5a,7e,85,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:23.130Z,3,127508,129,255,8,01,af,05,3b,06,1e,75,55\n2014-08-15T19:04:23.142Z,2,129026,160,255,8,ff,fc,15,8b,58,01,ff,ff\n2014-08-15T19:04:23.144Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:23.164Z,4,129038,43,255,27,01,b8,83,92,0e,4e,bd,e0,0e,f4,c8,75,23,5d,8e,c1,05,00,3b,c0,00,59,d3,00,00,00,fe\n2014-08-15T19:04:23.261Z,6,129540,160,255,135,d8,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,00,00,00,00,00,00,f0,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:23.263Z,2,127250,160,255,8,ff,3e,8f,ff,7f,86,05,fc\n2014-08-15T19:04:23.434Z,7,127506,129,255,9,56,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:23.438Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:23.441Z,3,128267,115,255,8,00,e3,07,00,00,ff,ff,ff\n2014-08-15T19:04:23.448Z,3,129029,160,255,43,91,a9,3f,62,1e,ed,28,00,ec,36,7d,66,93,49,08,00,2e,27,03,62,ab,6e,03,30,04,fe,ff,ff,ff,ff,ff,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:23.450Z,3,129033,160,255,8,a9,3f,62,1e,ed,28,b4,00\n2014-08-15T19:04:23.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:23.530Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,b5,3b,01,00\n2014-08-15T19:04:23.534Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:23.534Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:23.536Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:23.546Z,3,126992,160,255,8,ff,ff,a9,3f,08,28,ed,28\n2014-08-15T19:04:23.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,36,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:23.614Z,4,129038,43,255,27,01,28,f5,77,10,b0,5a,a0,0e,b0,62,74,23,50,a2,3a,a4,00,41,40,09,73,32,ff,7f,00,fe\n2014-08-15T19:04:23.636Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:04:23.673Z,4,129038,43,255,27,01,08,99,b5,0d,6d,e2,cc,0e,c0,5d,a5,23,60,ad,4b,49,01,37,40,01,f3,48,00,00,00,fe\n2014-08-15T19:04:23.723Z,4,129038,43,255,27,01,c8,d4,7f,10,29,cc,df,0e,ee,b1,c4,23,59,38,7c,2d,04,76,83,09,20,7e,00,00,00,fe\n2014-08-15T19:04:23.735Z,3,127508,129,255,8,01,ac,05,01,06,1e,75,56\n2014-08-15T19:04:23.739Z,3,129291,160,255,8,ff,fc,8f,64,1b,00,ff,ff\n2014-08-15T19:04:23.833Z,4,129039,43,255,26,12,44,11,b6,0d,78,d9,bd,0e,5f,1a,98,23,5f,5b,8b,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:23.835Z,2,130306,115,255,8,00,d1,02,48,1b,f2,ff,ff\n2014-08-15T19:04:23.857Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:23.878Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:23.912Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:04:23.945Z,3,130577,160,255,14,c0,91,26,8b,58,01,ff,ff,ff,ff,8f,64,1b,00\n2014-08-15T19:04:23.947Z,2,129025,160,255,8,3e,19,98,23,4b,db,bd,0e\n2014-08-15T19:04:23.955Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:23.957Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:23.959Z,2,128259,115,255,8,00,45,01,ff,ff,00,ff,ff\n2014-08-15T19:04:23.993Z,4,129039,43,255,26,12,58,7f,b6,0d,b5,31,bc,0e,9e,3b,94,23,5f,d5,7f,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:24.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:24.035Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:24.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:24.136Z,2,129026,160,255,8,ff,fc,26,8b,58,01,ff,ff\n2014-08-15T19:04:24.153Z,4,129039,43,255,26,12,90,e4,c3,0d,39,87,bf,0e,d6,01,7e,23,5c,78,72,81,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:24.274Z,6,129540,160,255,135,d9,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:24.276Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:04:24.318Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:24.386Z,3,127508,129,255,8,01,ac,05,f3,05,1e,75,56\n2014-08-15T19:04:24.424Z,3,127508,129,255,8,01,af,05,16,06,1e,75,56\n2014-08-15T19:04:24.445Z,3,129029,160,255,43,92,a9,3f,5e,45,ed,28,00,68,b4,d4,24,93,49,08,00,66,45,c0,21,ab,6e,03,10,27,00,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:24.447Z,3,129033,160,255,8,a9,3f,5e,45,ed,28,b4,00\n2014-08-15T19:04:24.449Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:24.451Z,3,128267,115,255,8,00,e3,07,00,00,ff,ff,ff\n2014-08-15T19:04:24.475Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:24.525Z,3,127508,129,255,8,01,b1,05,4c,06,1e,75,56\n2014-08-15T19:04:24.526Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,b5,3b,01,00\n2014-08-15T19:04:24.529Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:24.531Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:24.534Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:24.541Z,3,126992,160,255,8,ff,ff,a9,3f,04,4f,ed,28\n2014-08-15T19:04:24.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:24.643Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:04:24.706Z,3,127508,129,255,8,01,ac,05,ca,05,1e,75,56\n2014-08-15T19:04:24.711Z,2,130306,115,255,8,00,83,02,df,17,f2,ff,ff\n2014-08-15T19:04:24.743Z,3,129291,160,255,8,ff,fc,8f,61,2a,00,ff,ff\n2014-08-15T19:04:24.751Z,7,127506,129,255,9,57,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:24.822Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:24.844Z,4,129039,43,255,26,12,44,11,b6,0d,5d,d8,bd,0e,44,19,98,23,63,b2,8b,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:24.889Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:04:24.925Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:24.928Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:24.930Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:04:24.950Z,3,130577,160,255,14,c0,92,7d,8b,59,01,ff,ff,ff,ff,8f,61,2a,00\n2014-08-15T19:04:24.952Z,2,129025,160,255,8,24,18,98,23,37,da,bd,0e\n2014-08-15T19:04:24.984Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:25.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:25.047Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:25.052Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:25.073Z,4,129038,43,255,27,01,c8,27,16,0e,c3,99,69,0e,6d,38,94,23,5d,8b,30,4b,03,ce,83,08,16,31,32,00,00,fe\n2014-08-15T19:04:25.143Z,2,129026,160,255,8,ff,fc,7d,8b,59,01,ff,ff\n2014-08-15T19:04:25.170Z,3,127508,129,255,8,01,af,05,fc,05,1e,75,57\n2014-08-15T19:04:25.280Z,6,129540,160,255,135,da,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:25.283Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:04:25.287Z,4,129038,43,255,27,01,e0,53,7f,10,bb,ee,c6,0e,d9,06,aa,23,68,78,87,c4,05,10,66,00,fd,86,00,00,00,fe\n2014-08-15T19:04:25.323Z,4,129038,43,255,27,01,10,04,1a,0e,67,a0,ff,0e,22,0c,af,23,60,c8,b0,9c,02,b2,03,09,9f,b2,00,00,00,fe\n2014-08-15T19:04:25.363Z,4,129038,43,255,27,01,20,f6,7e,10,c5,3a,c7,0e,e2,e8,7f,23,65,39,31,00,00,10,66,08,c2,c7,00,00,0f,fe\n2014-08-15T19:04:25.403Z,4,129038,43,255,27,01,88,d6,d0,0c,47,90,e4,0e,5e,76,b7,23,61,3d,98,41,03,39,40,01,65,99,00,00,00,fe\n2014-08-15T19:04:25.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:25.430Z,3,128267,115,255,8,00,e3,07,00,00,ff,ff,ff\n2014-08-15T19:04:25.460Z,3,129029,160,255,43,93,a9,3f,5a,6c,ed,28,00,ae,cc,67,e3,92,49,08,00,c6,ce,6b,e2,aa,6e,03,10,27,00,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:25.462Z,3,129033,160,255,8,a9,3f,5a,6c,ed,28,b4,00\n2014-08-15T19:04:25.464Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:25.523Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,c8,3b,01,00\n2014-08-15T19:04:25.526Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:25.529Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:25.531Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:25.547Z,3,126992,160,255,8,ff,ff,a9,3f,50,76,ed,28\n2014-08-15T19:04:25.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:25.623Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,1a,02,71,23,65,a4,ec,00,00,be,08,08,37,91,f2,ff,00,fe\n2014-08-15T19:04:25.649Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:04:25.743Z,2,130306,115,255,8,00,bc,02,d5,24,f2,ff,ff\n2014-08-15T19:04:25.751Z,3,129291,160,255,8,ff,fc,61,57,15,00,ff,ff\n2014-08-15T19:04:25.793Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:25.840Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:25.853Z,4,129039,43,255,26,12,44,11,b6,0d,52,d7,bd,0e,39,18,98,23,67,3d,8c,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:25.884Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:25.918Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,26,f8,c7,23,00,90,72,ed,28,c8,83,01,a9,3f,10,00,fc\n2014-08-15T19:04:25.920Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:25.922Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:25.929Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:25.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:25.955Z,3,130577,160,255,14,c0,93,a0,8b,58,01,ff,ff,ff,ff,61,57,15,00\n2014-08-15T19:04:25.957Z,2,129025,160,255,8,0b,17,98,23,27,d9,bd,0e\n2014-08-15T19:04:25.988Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:26.062Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:26.155Z,2,129026,160,255,8,ff,fc,a0,8b,58,01,ff,ff\n2014-08-15T19:04:26.232Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:26.279Z,3,127508,129,255,8,01,b0,05,06,06,1e,75,57\n2014-08-15T19:04:26.284Z,6,129540,160,255,135,db,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:26.286Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:04:26.444Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:26.446Z,3,128267,115,255,8,00,8d,07,00,00,ff,ff,ff\n2014-08-15T19:04:26.459Z,3,127508,129,255,8,01,ae,05,ce,05,1e,75,57\n2014-08-15T19:04:26.464Z,3,129029,160,255,43,94,a9,3f,a6,93,ed,28,00,e6,ea,24,a3,92,49,08,00,e2,f8,7c,a4,aa,6e,03,e0,b1,ff,ff,ff,ff,ff,ff,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:26.466Z,3,129033,160,255,8,a9,3f,a6,93,ed,28,b4,00\n2014-08-15T19:04:26.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:26.520Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,c8,3b,01,00\n2014-08-15T19:04:26.524Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:26.526Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:26.528Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:26.561Z,3,126992,160,255,8,ff,ff,a9,3f,74,9d,ed,28\n2014-08-15T19:04:26.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:26.663Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:04:26.741Z,2,130306,115,255,8,00,db,02,8e,18,f2,ff,ff\n2014-08-15T19:04:26.755Z,3,129291,160,255,8,ff,fc,83,72,1f,00,ff,ff\n2014-08-15T19:04:26.817Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:26.873Z,4,129039,43,255,26,12,44,11,b6,0d,47,d6,bd,0e,2e,17,98,23,6b,72,8c,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:26.883Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:26.925Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:26.927Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:26.929Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:26.957Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:26.963Z,2,129025,160,255,8,f7,15,98,23,1d,d8,bd,0e\n2014-08-15T19:04:26.963Z,3,130577,160,255,14,c0,94,d5,8b,56,01,ff,ff,ff,ff,83,72,1f,00\n2014-08-15T19:04:26.986Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:27.023Z,3,127508,129,255,8,01,b1,05,19,06,1e,75,57\n2014-08-15T19:04:27.065Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:27.158Z,2,129026,160,255,8,ff,fc,d5,8b,56,01,ff,ff\n2014-08-15T19:04:27.197Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:04:27.233Z,4,129039,43,255,26,12,08,57,b6,0d,ff,d9,c9,0e,31,80,92,23,6b,ed,53,68,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:27.297Z,6,129540,160,255,135,dc,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,48,0d,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:04:27.299Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:04:27.303Z,6,129809,43,255,25,18,66,58,b6,0d,49,50,41,4e,45,4d,41,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:27.345Z,4,129039,43,255,26,12,80,e5,c3,0d,87,36,c2,0e,b5,a3,95,23,6f,7e,55,9b,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:27.383Z,4,129038,43,255,27,01,fc,ff,e9,25,5b,8d,28,0f,8a,bc,be,23,69,ce,ba,bb,02,fd,03,01,7c,bb,00,00,00,fe\n2014-08-15T19:04:27.423Z,4,129038,43,255,27,03,70,45,45,0f,93,75,b9,0e,18,8b,70,23,6c,ff,ff,00,00,0a,24,09,ff,ff,ff,7f,05,fe\n2014-08-15T19:04:27.427Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:27.429Z,3,128267,115,255,8,00,93,07,00,00,ff,ff,ff\n2014-08-15T19:04:27.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:27.463Z,4,129038,43,255,27,01,e0,53,7f,10,f5,e7,c6,0e,26,fd,a9,23,70,15,88,ba,05,01,04,09,fd,86,ff,7f,00,fe\n2014-08-15T19:04:27.473Z,3,129029,160,255,43,95,a9,3f,e2,bb,ed,28,00,c0,38,2f,62,92,49,08,00,94,db,98,62,aa,6e,03,80,38,01,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:27.475Z,3,129033,160,255,8,a9,3f,e2,bb,ed,28,b4,00\n2014-08-15T19:04:27.487Z,3,127508,129,255,8,01,af,05,c8,05,1e,75,57\n2014-08-15T19:04:27.513Z,4,129038,43,255,27,01,b8,53,a6,0c,49,8f,7b,0e,9e,68,9f,23,70,26,ac,78,02,04,04,09,88,ae,00,00,00,fe\n2014-08-15T19:04:27.519Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,c8,3b,01,00\n2014-08-15T19:04:27.522Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:27.524Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:27.526Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:27.561Z,3,126992,160,255,8,ff,ff,a9,3f,b0,c5,ed,28\n2014-08-15T19:04:27.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,25,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:27.577Z,7,127506,129,255,9,58,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:27.664Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:04:27.766Z,3,129291,160,255,8,ff,fc,47,7a,1a,00,ff,ff\n2014-08-15T19:04:27.816Z,2,130306,115,255,8,00,e0,02,55,2c,f2,ff,ff\n2014-08-15T19:04:27.836Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:27.883Z,4,129039,43,255,26,12,44,11,b6,0d,3d,d5,bd,0e,13,16,98,23,6f,2c,8c,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:27.900Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:04:27.934Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:27.936Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:27.939Z,2,128259,115,255,8,00,4a,01,ff,ff,00,ff,ff\n2014-08-15T19:04:27.963Z,4,129038,43,255,27,01,92,12,4b,10,b3,ee,fb,0e,6a,51,ae,23,6c,e6,af,bb,02,55,c0,01,42,b1,fd,ff,00,fe\n2014-08-15T19:04:27.966Z,3,130577,160,255,14,c0,95,09,8c,59,01,ff,ff,ff,ff,47,7a,1a,00\n2014-08-15T19:04:27.968Z,2,129025,160,255,8,e0,14,98,23,02,d7,bd,0e\n2014-08-15T19:04:27.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:28.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:28.060Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:28.162Z,2,129026,160,255,8,ff,fc,09,8c,59,01,ff,ff\n2014-08-15T19:04:28.234Z,3,127508,129,255,8,01,ac,05,8e,05,1e,75,58\n2014-08-15T19:04:28.288Z,6,129540,160,255,135,dd,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,74,0e,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:04:28.291Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:04:28.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:28.433Z,3,128267,115,255,8,00,da,07,00,00,ff,ff,ff\n2014-08-15T19:04:28.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:28.471Z,3,129029,160,255,43,96,a9,3f,2e,e3,ed,28,00,f8,56,ec,21,92,49,08,00,46,be,b4,20,aa,6e,03,00,71,02,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:28.474Z,3,129033,160,255,8,a9,3f,2e,e3,ed,28,b4,00\n2014-08-15T19:04:28.503Z,4,129038,43,255,27,01,58,43,c9,0e,5b,b7,d6,0e,44,ad,a9,23,74,0e,ae,cb,02,6e,40,09,36,af,00,00,00,fe\n2014-08-15T19:04:28.516Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,c8,3b,01,00\n2014-08-15T19:04:28.519Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:28.522Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:28.524Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:28.568Z,3,126992,160,255,8,ff,ff,a9,3f,fc,ec,ed,28\n2014-08-15T19:04:28.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:28.633Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:28.659Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:04:28.764Z,3,129291,160,255,8,ff,fc,61,96,0d,00,ff,ff\n2014-08-15T19:04:28.793Z,4,129038,43,255,27,01,68,e2,20,12,51,1c,fe,0e,e8,50,ad,23,74,a6,b0,fd,01,a0,08,08,9f,b2,00,00,00,fe\n2014-08-15T19:04:28.798Z,2,130306,115,255,8,00,65,02,5e,10,f2,ff,ff\n2014-08-15T19:04:28.818Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:28.892Z,4,129039,43,255,26,12,44,11,b6,0d,32,d4,bd,0e,08,15,98,23,73,a6,8c,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:28.898Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:28.936Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:28.939Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:28.940Z,2,128259,115,255,8,00,4f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:28.971Z,3,130577,160,255,14,c0,96,3d,8c,57,01,ff,ff,ff,ff,61,96,0d,00\n2014-08-15T19:04:28.974Z,2,129025,160,255,8,cc,13,98,23,e7,d5,bd,0e\n2014-08-15T19:04:28.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:29.028Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:29.073Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:29.165Z,2,129026,160,255,8,ff,fc,3d,8c,57,01,ff,ff\n2014-08-15T19:04:29.270Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:29.294Z,6,129540,160,255,135,de,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:04:29.296Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:04:29.415Z,3,127508,129,255,8,01,ae,05,ba,05,1e,75,58\n2014-08-15T19:04:29.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:29.445Z,3,128267,115,255,8,00,20,08,00,00,ff,ff,ff\n2014-08-15T19:04:29.469Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:29.477Z,3,129029,160,255,43,97,a9,3f,52,0a,ee,28,00,5a,63,2b,de,91,49,08,00,1c,06,98,e8,a9,6e,03,d0,4e,09,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:29.480Z,3,129033,160,255,8,a9,3f,52,0a,ee,28,b4,00\n2014-08-15T19:04:29.484Z,4,129038,43,255,27,01,e0,53,7f,10,8b,dd,c6,0e,90,ee,a9,23,78,5b,88,c4,05,4e,84,01,fd,86,00,00,00,fe\n2014-08-15T19:04:29.514Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,c8,3b,01,00\n2014-08-15T19:04:29.516Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:29.518Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:29.524Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:29.550Z,2,130306,115,255,8,00,ff,02,0e,20,f2,ff,ff\n2014-08-15T19:04:29.572Z,3,126992,160,255,8,ff,ff,a9,3f,16,14,ee,28\n2014-08-15T19:04:29.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,44,02,02,00,01,03,03,00,00,00\n2014-08-15T19:04:29.592Z,4,129038,43,255,27,01,b8,f5,67,12,64,0d,8f,0e,b9,d1,90,23,74,68,2d,d1,03,65,40,03,ff,2c,00,00,00,fe\n2014-08-15T19:04:29.666Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:04:29.674Z,4,129038,43,255,27,01,c8,d4,7f,10,db,ca,df,0e,36,9b,c4,23,71,38,7c,28,04,45,c0,00,20,7e,00,00,00,fe\n2014-08-15T19:04:29.705Z,3,127508,129,255,8,01,ac,05,90,05,1e,75,58\n2014-08-15T19:04:29.753Z,4,129038,43,255,27,01,10,dc,6d,0f,48,0e,5f,0e,ca,7b,9c,23,75,3d,ad,83,02,58,84,01,88,ae,00,00,00,fe\n2014-08-15T19:04:29.772Z,3,129291,160,255,8,ff,fc,9e,62,1a,00,ff,ff\n2014-08-15T19:04:29.832Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:29.869Z,3,127508,129,255,8,01,b0,05,e2,05,1e,75,58\n2014-08-15T19:04:29.886Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:04:29.903Z,4,129039,43,255,26,12,44,11,b6,0d,59,d3,bd,0e,dc,13,98,23,77,26,88,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:29.931Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:29.934Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:29.935Z,2,128259,115,255,8,00,51,01,ff,ff,00,ff,ff\n2014-08-15T19:04:29.977Z,3,130577,160,255,14,c0,97,ac,8a,5c,01,ff,ff,ff,ff,9e,62,1a,00\n2014-08-15T19:04:29.979Z,2,129025,160,255,8,a9,12,98,23,f6,d4,bd,0e\n2014-08-15T19:04:29.990Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:30.023Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:30.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:30.069Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:30.123Z,3,127508,129,255,8,01,ae,05,9b,05,1e,75,58\n2014-08-15T19:04:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,0e,ee,28,66,84,0a,a9,3f,00,00,fc\n2014-08-15T19:04:30.128Z,7,127506,129,255,9,59,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:30.168Z,2,129026,160,255,8,ff,fc,ac,8a,5c,01,ff,ff\n2014-08-15T19:04:30.263Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,ca,ec,7f,23,70,84,77,0a,00,6b,04,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:30.286Z,3,127508,129,255,8,01,af,05,9e,05,1e,75,59\n2014-08-15T19:04:30.296Z,6,129540,160,255,135,df,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,48,0d,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:04:30.299Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:04:30.362Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,0e,ee,28,6f,84,0a,a9,3f,00,00,fc\n2014-08-15T19:04:30.445Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:30.448Z,3,128267,115,255,8,00,9a,07,00,00,ff,ff,ff\n2014-08-15T19:04:30.477Z,3,129029,160,255,43,98,a9,3f,6c,31,ee,28,00,7a,93,63,97,91,49,08,00,5c,95,70,b4,a9,6e,03,c0,45,04,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:30.479Z,3,129033,160,255,8,a9,3f,6c,31,ee,28,b4,00\n2014-08-15T19:04:30.481Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:30.498Z,2,130306,115,255,8,00,8e,02,c9,22,f2,ff,ff\n2014-08-15T19:04:30.511Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,da,3b,01,00\n2014-08-15T19:04:30.514Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:30.516Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:30.519Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:30.571Z,3,126992,160,255,8,ff,ff,a9,3f,30,3b,ee,28\n2014-08-15T19:04:30.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:30.652Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:30.653Z,4,129039,43,255,26,12,44,11,b6,0d,5f,d2,bd,0e,a0,12,98,23,7b,20,8a,53,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:04:30.673Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:04:30.776Z,3,129291,160,255,8,ff,fc,1c,5b,22,00,ff,ff\n2014-08-15T19:04:30.791Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:30.872Z,4,129038,43,255,27,01,02,8b,c4,0d,e4,ef,e0,0e,c2,c4,c9,23,7c,89,81,72,01,82,04,09,43,84,00,00,00,fe\n2014-08-15T19:04:30.883Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:30.918Z,4,129038,43,255,27,01,6c,70,4a,10,2f,87,01,0f,f6,c4,a3,23,77,3f,35,ba,01,93,08,00,d0,33,5d,00,00,fe\n2014-08-15T19:04:30.920Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:30.923Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:30.925Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:30.953Z,4,129039,43,255,26,12,44,11,b6,0d,5f,d2,bd,0e,a0,12,98,23,7b,20,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:30.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:30.977Z,3,130577,160,255,14,c0,98,89,8a,5b,01,ff,ff,ff,ff,1c,5b,22,00\n2014-08-15T19:04:30.979Z,2,129025,160,255,8,79,11,98,23,16,d4,bd,0e\n2014-08-15T19:04:30.983Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:30.997Z,4,129038,43,255,27,01,c8,27,16,0e,5c,b8,69,0e,fc,3c,94,23,71,d1,30,50,03,32,40,01,16,31,1a,00,00,fe\n2014-08-15T19:04:31.089Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:31.184Z,2,129026,160,255,8,ff,fc,89,8a,5b,01,ff,ff\n2014-08-15T19:04:31.193Z,4,129038,43,255,27,01,88,d6,d0,0c,41,78,e4,0e,9b,69,b7,23,79,3d,98,41,03,10,66,08,65,99,00,00,00,fe\n2014-08-15T19:04:31.246Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:31.318Z,6,129540,160,255,135,e0,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,48,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:04:31.324Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:04:31.392Z,4,129038,43,255,27,01,d0,e7,da,0d,b7,9a,33,0f,84,11,c4,23,81,2f,02,05,00,95,04,09,7c,bb,00,00,00,fe\n2014-08-15T19:04:31.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:31.440Z,3,128267,115,255,8,00,6f,07,00,00,ff,ff,ff\n2014-08-15T19:04:31.490Z,3,129029,160,255,43,99,a9,3f,86,58,ee,28,00,10,82,d3,57,91,49,08,00,6c,48,3f,73,a9,6e,03,10,7a,07,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:31.492Z,3,129033,160,255,8,a9,3f,86,58,ee,28,b4,00\n2014-08-15T19:04:31.509Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,da,3b,01,00\n2014-08-15T19:04:31.511Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:31.514Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:31.516Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:31.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2b,02,02,00,02,01,03,00,00,00\n2014-08-15T19:04:31.586Z,3,126992,160,255,8,ff,ff,a9,3f,4a,62,ee,28\n2014-08-15T19:04:31.590Z,3,127508,129,255,8,01,b1,05,c3,05,1e,75,59\n2014-08-15T19:04:31.668Z,6,129794,43,255,75,05,28,f5,77,10,50,ee,84,00,45,53,32,30,38,34,20,56,49,49,4d,53,49,20,20,20,20,20,20,20,20,20,20,20,20,20,20,59,0c,03,8c,00,46,00,26,02,a9,3f,80,ab,d7,29,12,02,54,41,4c,4c,49,4e,4e,20,52,4f,41,44,2c,47,4f,4c,46,20,20,20,04,e0\n2014-08-15T19:04:31.688Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:04:31.703Z,4,129038,43,255,27,01,e0,53,7f,10,b5,d6,c6,0e,cc,e4,a9,23,80,be,87,c9,05,10,66,08,fd,86,00,00,00,fe\n2014-08-15T19:04:31.782Z,3,129291,160,255,8,ff,fc,1c,5b,22,00,ff,ff\n2014-08-15T19:04:31.786Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:31.804Z,4,129038,43,255,27,01,b0,79,7a,10,f1,a8,d2,0e,25,b6,81,23,78,59,d9,e8,01,a5,04,09,2a,da,0a,00,00,fe\n2014-08-15T19:04:31.810Z,2,130306,115,255,8,00,65,02,01,0f,f2,ff,ff\n2014-08-15T19:04:31.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:31.863Z,4,129039,43,255,26,12,8c,d3,b5,0d,78,a1,be,0e,06,ca,98,23,7d,7d,8b,2a,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:04:31.870Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:31.905Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:31.933Z,4,129039,43,255,26,12,44,11,b6,0d,55,d1,bd,0e,84,11,98,23,7f,f8,8b,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:31.940Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:31.942Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:31.944Z,2,128259,115,255,8,00,3d,01,ff,ff,00,ff,ff\n2014-08-15T19:04:31.973Z,4,129038,43,255,27,01,98,69,b3,0e,85,bc,8f,0e,6e,b5,a0,23,75,48,af,fd,01,10,66,00,42,b1,00,00,00,fe\n2014-08-15T19:04:31.976Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:31.993Z,3,130577,160,255,14,c0,99,6c,8b,59,01,ff,ff,ff,ff,a0,9c,0c,00\n2014-08-15T19:04:31.995Z,2,129025,160,255,8,68,10,98,23,fe,d2,bd,0e\n2014-08-15T19:04:32.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:32.023Z,4,129039,43,255,26,12,6e,c9,b5,0d,ed,21,d1,0e,64,da,8f,23,7f,ad,5a,a5,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:32.091Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:32.191Z,2,129026,160,255,8,ff,fc,6c,8b,59,01,ff,ff\n2014-08-15T19:04:32.262Z,3,127508,129,255,8,01,ac,05,61,05,1e,75,59\n2014-08-15T19:04:32.309Z,6,129540,160,255,135,e1,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,48,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:04:32.311Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:04:32.313Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:32.393Z,4,129038,43,255,27,01,b8,83,92,0e,6f,bd,e0,0e,48,c9,75,23,81,8e,c1,05,00,3b,c0,09,59,d3,ff,7f,00,fe\n2014-08-15T19:04:32.438Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:32.441Z,3,128267,115,255,8,00,6f,07,00,00,ff,ff,ff\n2014-08-15T19:04:32.458Z,2,130306,115,255,8,00,85,03,26,24,f2,ff,ff\n2014-08-15T19:04:32.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:32.495Z,3,129029,160,255,43,9a,a9,3f,a0,7f,ee,28,00,f8,c9,b3,15,91,49,08,00,a0,60,d5,3b,a9,6e,03,40,d1,0c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:32.497Z,3,129033,160,255,8,a9,3f,a0,7f,ee,28,b4,00\n2014-08-15T19:04:32.507Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,da,3b,01,00\n2014-08-15T19:04:32.509Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:32.511Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:32.513Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:32.519Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:32.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,39,02,03,00,01,01,04,00,00,00\n2014-08-15T19:04:32.583Z,7,129793,43,255,26,04,90,18,23,00,56,d1,e2,0e,96,31,d3,23,00,f0,5c,ee,28,10,66,00,a9,3f,10,00,fc\n2014-08-15T19:04:32.590Z,3,127508,129,255,8,01,ac,05,56,05,1e,75,59\n2014-08-15T19:04:32.593Z,3,126992,160,255,8,ff,ff,a9,3f,3c,89,ee,28\n2014-08-15T19:04:32.691Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:04:32.794Z,3,129291,160,255,8,ff,fc,a0,9c,0c,00,ff,ff\n2014-08-15T19:04:32.796Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:32.880Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:04:32.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:32.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:32.924Z,2,128259,115,255,8,00,51,01,ff,ff,00,ff,ff\n2014-08-15T19:04:32.943Z,4,129039,43,255,26,12,44,11,b6,0d,8d,d0,bd,0e,58,10,98,23,83,95,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:32.953Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:32.983Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:32.991Z,3,130577,160,255,14,c0,9a,ec,89,5a,01,ff,ff,ff,ff,29,57,18,00\n2014-08-15T19:04:32.992Z,3,127508,129,255,8,01,af,05,8a,05,1e,75,59\n2014-08-15T19:04:32.993Z,2,129025,160,255,8,4c,0f,98,23,10,d2,bd,0e\n2014-08-15T19:04:33.033Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,1e,68,e2,23,00,00,84,ee,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:04:33.097Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:33.113Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,a2,bf,76,23,81,9c,30,00,00,d5,84,03,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:33.197Z,2,129026,160,255,8,ff,fc,ec,89,5a,01,ff,ff\n2014-08-15T19:04:33.199Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:33.328Z,6,129540,160,255,135,e2,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,48,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:04:33.330Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:33.334Z,4,129038,43,255,27,01,fc,ff,e9,25,ed,6f,28,0f,d8,bd,be,23,81,7d,bb,c0,02,de,04,09,7c,bb,00,00,00,fe\n2014-08-15T19:04:33.364Z,4,129038,43,255,27,01,e0,53,7f,10,63,d3,c6,0e,ea,df,a9,23,88,89,87,c4,05,df,84,00,fd,86,00,00,00,fe\n2014-08-15T19:04:33.402Z,2,130306,115,255,8,00,e5,02,6c,21,f2,ff,ff\n2014-08-15T19:04:33.413Z,7,127506,129,255,9,5a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:33.422Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:33.460Z,3,128267,115,255,8,00,0d,07,00,00,ff,ff,ff\n2014-08-15T19:04:33.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:33.490Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:33.502Z,3,129029,160,255,43,9b,a9,3f,92,a6,ee,28,00,3e,e2,46,d4,90,49,08,00,48,b4,0f,10,a9,6e,03,40,7e,05,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:33.504Z,3,129033,160,255,8,a9,3f,92,a6,ee,28,b4,00\n2014-08-15T19:04:33.507Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,da,3b,01,00\n2014-08-15T19:04:33.510Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:33.512Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:33.515Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:33.563Z,4,129038,43,255,27,01,20,f6,7e,10,83,3a,c7,0e,03,e9,7f,23,85,39,31,00,00,3d,40,01,13,c7,00,00,0f,fe\n2014-08-15T19:04:33.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,38,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:33.597Z,3,126992,160,255,8,ff,ff,a9,3f,7e,b0,ee,28\n2014-08-15T19:04:33.699Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:33.707Z,3,127508,129,255,8,01,ac,05,48,05,1e,75,5a\n2014-08-15T19:04:33.804Z,3,129291,160,255,8,ff,fc,29,57,18,00,ff,ff\n2014-08-15T19:04:33.821Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:33.880Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:33.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:33.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:33.923Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:33.933Z,4,129038,43,255,27,01,08,99,b5,0d,78,fc,cc,0e,3d,57,a5,23,8c,f3,48,49,01,f5,84,08,f3,48,00,00,00,fe\n2014-08-15T19:04:33.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:33.973Z,4,129039,43,255,26,12,44,11,b6,0d,a3,cf,bd,0e,3d,0f,98,23,87,43,8a,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:33.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:34.002Z,3,130577,160,255,14,c0,9b,0f,8a,4f,01,ff,ff,ff,ff,74,72,14,00\n2014-08-15T19:04:34.004Z,2,129025,160,255,8,33,0e,98,23,54,d1,bd,0e\n2014-08-15T19:04:34.104Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:34.205Z,2,129026,160,255,8,ff,fc,0f,8a,4f,01,ff,ff\n2014-08-15T19:04:34.334Z,6,129540,160,255,135,e3,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,48,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:04:34.336Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:04:34.374Z,2,130306,115,255,8,00,8e,02,8e,18,f2,ff,ff\n2014-08-15T19:04:34.400Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:34.433Z,4,129038,43,255,27,01,08,7b,ba,0d,70,89,93,0e,e8,f0,bc,23,85,37,a0,7c,01,2d,85,08,94,a1,00,00,00,fe\n2014-08-15T19:04:34.435Z,3,128267,115,255,8,00,5d,07,00,00,ff,ff,ff\n2014-08-15T19:04:34.438Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:34.465Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:34.473Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,1a,02,71,23,89,a4,ec,00,00,4c,40,01,37,91,e6,ff,00,fe\n2014-08-15T19:04:34.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:34.501Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,da,3b,01,00\n2014-08-15T19:04:34.503Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:34.506Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:34.509Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:34.514Z,3,129029,160,255,43,9c,a9,3f,ca,cd,ee,28,00,3e,18,ac,98,90,49,08,00,b4,b4,fd,d3,a8,6e,03,10,eb,09,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:34.516Z,3,129033,160,255,8,a9,3f,ca,cd,ee,28,b4,00\n2014-08-15T19:04:34.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:34.607Z,3,126992,160,255,8,ff,ff,a9,3f,c0,d7,ee,28\n2014-08-15T19:04:34.709Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:34.751Z,3,127508,129,255,8,01,b0,05,8c,05,1e,75,5a\n2014-08-15T19:04:34.800Z,3,129291,160,255,8,ff,fc,74,72,14,00,ff,ff\n2014-08-15T19:04:34.843Z,4,129038,43,255,27,01,b8,f5,67,12,83,2c,8f,0e,4c,d8,90,23,88,68,2d,d1,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:04:34.886Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:34.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:34.922Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:34.924Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:34.973Z,4,129039,43,255,26,12,44,11,b6,0d,a9,ce,bd,0e,22,0e,98,23,8b,55,8a,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:35.005Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:35.007Z,3,130577,160,255,14,c0,9c,bd,8a,4f,01,ff,ff,ff,ff,74,72,14,00\n2014-08-15T19:04:35.009Z,2,129025,160,255,8,33,0d,98,23,52,d0,bd,0e\n2014-08-15T19:04:35.013Z,4,129038,43,255,27,01,10,04,1a,0e,63,77,ff,0e,46,06,af,23,84,c8,b0,9c,02,2c,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:04:35.037Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:35.068Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:35.110Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:35.205Z,2,129026,160,255,8,ff,fc,bd,8a,4f,01,ff,ff\n2014-08-15T19:04:35.243Z,4,129038,43,255,27,01,c8,d4,7f,10,8e,c9,df,0e,02,85,c4,23,89,38,7c,28,04,44,c0,09,20,7e,00,00,00,fe\n2014-08-15T19:04:35.323Z,4,129038,43,255,27,03,d0,3e,93,21,7d,78,e0,0e,01,eb,75,23,8c,72,71,00,00,00,00,00,13,d6,00,00,05,fe\n2014-08-15T19:04:35.339Z,6,129540,160,255,135,e4,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:04:35.342Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:04:35.344Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:04:35.371Z,3,127508,129,255,8,01,ae,05,51,05,1e,75,5a\n2014-08-15T19:04:35.378Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:35.427Z,3,128267,115,255,8,00,2c,07,00,00,ff,ff,ff\n2014-08-15T19:04:35.429Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:35.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:35.498Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:35.501Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:35.503Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:35.506Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:35.516Z,3,129029,160,255,43,9d,a9,3f,48,f5,ee,28,00,76,36,69,58,90,49,08,00,10,38,82,9d,a8,6e,03,f0,0d,0c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:35.521Z,3,129033,160,255,8,a9,3f,48,f5,ee,28,b4,00\n2014-08-15T19:04:35.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:35.609Z,3,126992,160,255,8,ff,ff,a9,3f,0c,ff,ee,28\n2014-08-15T19:04:35.643Z,4,129038,43,255,27,01,e0,53,7f,10,19,c9,c6,0e,66,d1,a9,23,94,03,88,c4,05,35,85,09,ac,87,00,00,00,fe\n2014-08-15T19:04:35.708Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:04:35.810Z,3,129291,160,255,8,ff,fc,69,74,10,00,ff,ff\n2014-08-15T19:04:35.868Z,3,127508,129,255,8,01,b0,05,81,05,1e,75,5a\n2014-08-15T19:04:35.878Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:35.913Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,f4,f7,c7,23,00,30,f9,ee,28,3f,85,09,a9,3f,10,00,fc\n2014-08-15T19:04:35.918Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:35.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:35.923Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:04:35.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:35.984Z,4,129039,43,255,26,12,44,11,b6,0d,c0,cd,bd,0e,06,0d,98,23,8f,d5,88,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:35.989Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:36.007Z,3,130577,160,255,14,c0,9d,ec,89,4e,01,ff,ff,ff,ff,69,74,10,00\n2014-08-15T19:04:36.014Z,2,129025,160,255,8,1f,0c,98,23,68,cf,bd,0e\n2014-08-15T19:04:36.112Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:36.223Z,2,129026,160,255,8,ff,fc,ec,89,4e,01,ff,ff\n2014-08-15T19:04:36.310Z,2,130306,115,255,8,00,cc,02,48,1b,f2,ff,ff\n2014-08-15T19:04:36.319Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:36.342Z,6,129540,160,255,135,e5,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,00,00,00,00,00,00,f0\n2014-08-15T19:04:36.345Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:04:36.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:36.349Z,3,127508,129,255,8,01,ac,05,24,05,1e,75,5a\n2014-08-15T19:04:36.435Z,3,128267,115,255,8,00,56,07,00,00,ff,ff,ff\n2014-08-15T19:04:36.438Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:36.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:36.495Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:36.498Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:36.500Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:36.503Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:36.520Z,3,129029,160,255,43,9e,a9,3f,62,1c,ef,28,00,1a,1f,af,17,90,49,08,00,40,4a,f1,6e,a8,6e,03,d0,bf,0b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:36.522Z,3,129033,160,255,8,a9,3f,62,1c,ef,28,b4,00\n2014-08-15T19:04:36.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:36.614Z,3,126992,160,255,8,ff,ff,a9,3f,fe,25,ef,28\n2014-08-15T19:04:36.715Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:04:36.816Z,3,129291,160,255,8,ff,fc,9c,38,1a,00,ff,ff\n2014-08-15T19:04:36.877Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:36.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:36.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:36.923Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:04:36.951Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:36.960Z,7,127506,129,255,9,5b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:36.983Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:37.004Z,4,129039,43,255,26,12,44,11,b6,0d,e7,cc,bd,0e,eb,0b,98,23,93,8f,88,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:37.014Z,3,130577,160,255,14,c0,9e,83,89,4b,01,ff,ff,ff,ff,9c,38,1a,00\n2014-08-15T19:04:37.015Z,2,129025,160,255,8,09,0b,98,23,a0,ce,bd,0e\n2014-08-15T19:04:37.115Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:37.173Z,4,129038,43,255,27,01,c8,27,16,0e,7a,e5,69,0e,78,44,94,23,91,4b,31,50,03,94,85,08,16,31,00,00,00,fe\n2014-08-15T19:04:37.213Z,4,129038,43,255,27,01,68,e2,20,12,31,00,fe,0e,fa,4d,ad,23,94,1a,b0,fd,01,f1,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:04:37.217Z,2,129026,160,255,8,ff,fc,83,89,4b,01,ff,ff\n2014-08-15T19:04:37.294Z,2,130306,115,255,8,00,50,02,0e,20,f2,ff,ff\n2014-08-15T19:04:37.314Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:37.355Z,6,129540,160,255,135,e6,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,60,09,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,fc,08,00,00,00,00,f1\n2014-08-15T19:04:37.357Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:37.422Z,3,128267,115,255,8,00,38,07,00,00,ff,ff,ff\n2014-08-15T19:04:37.425Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:37.452Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:37.492Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:37.495Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:37.498Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:37.500Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:37.526Z,3,129029,160,255,43,9f,a9,3f,4a,43,ef,28,00,6e,31,18,d5,8f,49,08,00,8c,50,0c,3e,a8,6e,03,f0,0d,0c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:37.528Z,3,129033,160,255,8,a9,3f,4a,43,ef,28,b4,00\n2014-08-15T19:04:37.534Z,4,129038,43,255,27,01,58,43,c9,0e,cd,8b,d6,0e,aa,a7,a9,23,98,43,ae,cb,02,ef,08,00,36,af,00,00,00,fe\n2014-08-15T19:04:37.547Z,3,127508,129,255,8,01,ae,05,3b,05,1e,75,5b\n2014-08-15T19:04:37.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:37.611Z,3,126992,160,255,8,ff,ff,a9,3f,18,4d,ef,28\n2014-08-15T19:04:37.624Z,4,129038,43,255,27,01,e0,53,7f,10,11,c2,c6,0e,b2,c7,a9,23,98,38,88,c4,05,7f,85,00,fd,86,00,00,00,fe\n2014-08-15T19:04:37.717Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:37.772Z,4,129038,43,255,27,01,88,d6,d0,0c,42,5c,e4,0e,b2,5a,b7,23,95,60,98,41,03,85,05,01,14,9a,00,00,00,fe\n2014-08-15T19:04:37.812Z,4,129038,43,255,27,01,b8,53,a6,0c,5c,65,7b,0e,0b,62,9f,23,98,48,ac,78,02,86,85,00,88,ae,00,00,00,fe\n2014-08-15T19:04:37.818Z,3,129291,160,255,8,ff,fc,98,6d,20,00,ff,ff\n2014-08-15T19:04:37.836Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:37.852Z,6,129809,43,255,25,18,06,a5,b5,0d,53,2f,59,20,45,4c,45,4b,54,52,41,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:37.877Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:37.918Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:37.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:37.923Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:37.951Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:37.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:38.015Z,3,130577,160,255,14,c0,9f,2c,89,4f,01,ff,ff,ff,ff,98,6d,20,00\n2014-08-15T19:04:38.018Z,2,129025,160,255,8,eb,09,98,23,ce,cd,bd,0e\n2014-08-15T19:04:38.035Z,4,129041,43,255,48,15,b5,54,2c,3b,6a,5a,b4,0e,50,b2,7a,23,80,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,39,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:38.074Z,4,129039,43,255,26,12,44,11,b6,0d,0f,cc,bd,0e,d0,0a,98,23,97,3d,89,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:38.117Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:38.164Z,6,129810,43,255,33,18,66,58,b6,0d,24,53,52,54,46,3c,21,4a,4f,4a,37,31,39,34,40,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00\n2014-08-15T19:04:38.218Z,2,129026,160,255,8,ff,fc,2c,89,4f,01,ff,ff\n2014-08-15T19:04:38.243Z,6,129810,43,255,33,18,06,a5,b5,0d,25,52,41,59,40,40,40,40,4f,4a,36,38,35,32,40,78,00,28,00,14,00,3c,00,00,00,00,00,00\n2014-08-15T19:04:38.245Z,2,130306,115,255,8,00,b7,02,03,1e,f2,ff,ff\n2014-08-15T19:04:38.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:38.338Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:38.357Z,6,129540,160,255,135,e7,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,c4,09,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:04:38.359Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:38.442Z,3,128267,115,255,8,00,41,07,00,00,ff,ff,ff\n2014-08-15T19:04:38.444Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:38.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:38.490Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:38.494Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:38.495Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:38.500Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:38.527Z,3,129029,160,255,43,a0,a9,3f,64,6a,ef,28,00,20,14,34,93,8f,49,08,00,2e,b6,be,01,a8,6e,03,80,6d,0d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:38.529Z,3,129033,160,255,8,a9,3f,64,6a,ef,28,b4,00\n2014-08-15T19:04:38.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,28,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:38.621Z,3,126992,160,255,8,ff,ff,a9,3f,0a,74,ef,28\n2014-08-15T19:04:38.722Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:38.823Z,3,129291,160,255,8,ff,fc,73,4f,12,00,ff,ff\n2014-08-15T19:04:38.876Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:38.917Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:38.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:38.922Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:38.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:38.959Z,3,127508,129,255,8,01,ac,05,1b,05,1e,75,5b\n2014-08-15T19:04:38.983Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:39.017Z,3,127508,129,255,8,01,ae,05,37,05,1e,75,5b\n2014-08-15T19:04:39.023Z,4,129039,43,255,26,12,44,11,b6,0d,04,cb,bd,0e,b4,09,98,23,9b,f2,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:39.025Z,3,130577,160,255,14,c0,a0,ec,89,4f,01,ff,ff,ff,ff,73,4f,12,00\n2014-08-15T19:04:39.028Z,2,129025,160,255,8,d0,08,98,23,cb,cc,bd,0e\n2014-08-15T19:04:39.064Z,4,129038,43,255,27,01,10,dc,6d,0f,49,e7,5e,0e,31,76,9c,23,99,3d,ad,83,02,cd,08,08,88,ae,f6,ff,00,fe\n2014-08-15T19:04:39.122Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:39.225Z,2,129026,160,255,8,ff,fc,ec,89,4f,01,ff,ff\n2014-08-15T19:04:39.234Z,2,130306,115,255,8,00,6f,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:39.260Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:39.272Z,4,129038,43,255,27,01,fc,ff,e9,25,80,52,28,0f,25,bf,be,23,99,7d,bb,c0,02,1a,c0,00,7c,bb,00,00,00,fe\n2014-08-15T19:04:39.353Z,6,129540,160,255,135,e8,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,c4,09,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:04:39.356Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:04:39.422Z,3,128267,115,255,8,00,23,07,00,00,ff,ff,ff\n2014-08-15T19:04:39.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:39.452Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:39.464Z,4,129038,43,255,27,01,e0,53,7f,10,09,bb,c6,0e,ff,bd,a9,23,a0,49,88,c4,05,c4,05,09,ac,87,00,00,00,fe\n2014-08-15T19:04:39.487Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:39.490Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:39.494Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:39.496Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:39.534Z,3,129029,160,255,43,a1,a9,3f,4c,9b,ef,28,00,66,2c,c7,51,8f,49,08,00,64,51,e8,c5,a7,6e,03,b0,c4,12,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:39.536Z,3,129033,160,255,8,a9,3f,4c,9b,ef,28,b4,00\n2014-08-15T19:04:39.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:39.628Z,3,126992,160,255,8,ff,ff,a9,3f,4c,9b,ef,28\n2014-08-15T19:04:39.703Z,3,127508,129,255,8,01,ac,05,10,05,1e,75,5b\n2014-08-15T19:04:39.724Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:04:39.773Z,4,129038,43,255,27,01,92,12,4b,10,1b,b4,fb,0e,e8,4a,ae,23,9c,e6,af,bb,02,9d,08,08,42,b1,14,00,00,fe\n2014-08-15T19:04:39.831Z,3,129291,160,255,8,ff,fc,ac,73,16,00,ff,ff\n2014-08-15T19:04:39.880Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:39.918Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:39.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:39.924Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:39.943Z,4,129039,43,255,26,12,ec,d7,b5,0d,39,d1,bb,0e,be,e4,8f,23,9c,26,7f,96,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:39.980Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:40.019Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:40.024Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,9d,65,cf,00,00,34,40,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:40.028Z,3,130577,160,255,14,c0,a1,b8,89,53,01,ff,ff,ff,ff,ac,73,16,00\n2014-08-15T19:04:40.030Z,2,129025,160,255,8,b7,07,98,23,ca,cb,bd,0e\n2014-08-15T19:04:40.047Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:40.063Z,4,129039,43,255,26,12,44,11,b6,0d,2b,ca,bd,0e,99,08,98,23,9f,09,89,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:40.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,95,ef,28,dd,05,03,a9,3f,00,00,fc\n2014-08-15T19:04:40.135Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:40.177Z,2,130306,115,255,8,00,e5,02,b1,1e,f2,ff,ff\n2014-08-15T19:04:40.234Z,2,129026,160,255,8,ff,fc,b8,89,53,01,ff,ff\n2014-08-15T19:04:40.238Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:40.312Z,4,129038,43,255,27,01,b0,79,7a,10,5d,97,d2,0e,90,c0,81,23,9c,6b,d9,e8,01,e4,85,00,2a,da,f6,ff,00,fe\n2014-08-15T19:04:40.322Z,3,127508,129,255,8,01,af,05,39,05,1e,75,5b\n2014-08-15T19:04:40.372Z,6,129540,160,255,135,e9,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:04:40.374Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:04:40.379Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,60,6e,ef,28,e6,85,02,a9,3f,00,00,fc\n2014-08-15T19:04:40.449Z,3,128267,115,255,8,00,4d,07,00,00,ff,ff,ff\n2014-08-15T19:04:40.453Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:40.480Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:40.485Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:40.488Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:40.491Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:40.493Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:40.515Z,4,129041,43,255,48,15,ad,54,2c,3b,0e,ce,f1,0e,88,8e,8a,23,90,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,36,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:40.544Z,3,129029,160,255,43,a2,a9,3f,70,c2,ef,28,00,fe,9d,ca,0d,8f,49,08,00,88,ec,14,94,a7,6e,03,b0,c4,12,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:40.546Z,3,129033,160,255,8,a9,3f,70,c2,ef,28,b4,00\n2014-08-15T19:04:40.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,52,02,03,00,01,01,04,00,00,00\n2014-08-15T19:04:40.584Z,6,129809,43,255,25,18,ec,d7,b5,0d,44,4f,4e,44,4f,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:40.630Z,3,126992,160,255,8,ff,ff,a9,3f,70,c2,ef,28\n2014-08-15T19:04:40.653Z,4,129038,43,255,27,01,6c,70,4a,10,ca,a2,01,0f,a1,c7,a3,23,9b,85,35,bf,01,f1,85,09,d0,33,0a,00,00,fe\n2014-08-15T19:04:40.731Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:04:40.735Z,4,129038,43,255,27,01,02,8b,c4,0d,af,ea,e0,0e,bd,b7,c9,23,a4,38,82,81,01,f4,85,01,43,84,00,00,00,fe\n2014-08-15T19:04:40.823Z,4,129038,43,255,27,01,88,44,7d,10,e1,22,c7,0e,ca,ec,7f,23,9c,07,f2,0a,00,20,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:40.833Z,3,129291,160,255,8,ff,fc,fe,54,14,00,ff,ff\n2014-08-15T19:04:40.884Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:40.891Z,7,127506,129,255,9,5c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:40.920Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:40.924Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:40.924Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:40.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:41.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:41.037Z,3,130577,160,255,14,c0,a2,2c,89,52,01,ff,ff,ff,ff,fe,54,14,00\n2014-08-15T19:04:41.044Z,2,129025,160,255,8,93,06,98,23,f4,ca,bd,0e\n2014-08-15T19:04:41.053Z,4,129039,43,255,26,12,44,11,b6,0d,63,c9,bd,0e,6d,07,98,23,a3,f2,87,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:41.144Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:41.146Z,3,127508,129,255,8,01,ac,05,02,05,1e,75,5c\n2014-08-15T19:04:41.158Z,2,130306,115,255,8,00,6f,02,1a,22,f2,ff,ff\n2014-08-15T19:04:41.163Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:41.182Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:41.238Z,2,129026,160,255,8,ff,fc,2c,89,52,01,ff,ff\n2014-08-15T19:04:41.353Z,4,129038,43,255,27,01,b8,f5,67,12,21,58,8f,0e,ac,e1,90,23,a4,56,2d,d6,03,0b,86,02,ff,2c,00,00,00,fe\n2014-08-15T19:04:41.378Z,6,129540,160,255,135,ea,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,10,0e,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:04:41.380Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:04:41.420Z,3,128267,115,255,8,00,50,07,00,00,ff,ff,ff\n2014-08-15T19:04:41.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:41.434Z,4,129038,43,255,27,01,e0,53,7f,10,85,b7,c6,0e,1d,b9,a9,23,a8,38,88,c9,05,c7,08,00,fd,86,ff,7f,00,fe\n2014-08-15T19:04:41.452Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:41.474Z,4,129038,43,255,27,01,c8,d4,7f,10,9a,c7,df,0e,f8,6a,c4,23,a5,be,7b,2d,04,be,08,00,72,7d,00,00,00,fe\n2014-08-15T19:04:41.484Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:41.486Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:41.488Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:41.492Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:41.513Z,4,129038,43,255,27,01,98,69,b3,0e,cb,9d,8f,0e,da,b1,a0,23,99,8e,af,fd,01,b9,08,08,f1,b1,00,00,00,fe\n2014-08-15T19:04:41.549Z,3,129029,160,255,43,a3,a9,3f,80,e9,ef,28,00,0e,51,99,cc,8e,49,08,00,18,52,ca,61,a7,6e,03,b0,c4,12,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:41.551Z,3,129033,160,255,8,a9,3f,80,e9,ef,28,b4,00\n2014-08-15T19:04:41.566Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:41.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2b,02,02,00,00,00,04,00,00,00\n2014-08-15T19:04:41.633Z,3,126992,160,255,8,ff,ff,a9,3f,80,e9,ef,28\n2014-08-15T19:04:41.673Z,4,129039,43,255,26,12,66,58,b6,0d,0a,08,bc,0e,80,e2,92,23,a7,43,81,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:41.739Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:04:41.823Z,3,127508,129,255,8,01,b0,05,3e,05,1e,75,5c\n2014-08-15T19:04:41.842Z,3,129291,160,255,8,ff,fc,7d,88,0e,00,ff,ff\n2014-08-15T19:04:41.844Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:41.876Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:41.914Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:41.916Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:41.918Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:41.948Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:41.978Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:42.039Z,3,130577,160,255,14,c0,a3,4f,89,50,01,ff,ff,ff,ff,7d,88,0e,00\n2014-08-15T19:04:42.041Z,2,129025,160,255,8,7b,05,98,23,1c,ca,bd,0e\n2014-08-15T19:04:42.063Z,4,129039,43,255,26,12,44,11,b6,0d,7a,c8,bd,0e,62,06,98,23,a7,83,89,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:42.134Z,2,130306,115,255,8,00,65,02,b1,1e,f2,ff,ff\n2014-08-15T19:04:42.139Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:42.158Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:42.240Z,2,129026,160,255,8,ff,fc,4f,89,50,01,ff,ff\n2014-08-15T19:04:42.303Z,3,127508,129,255,8,01,ac,05,eb,04,1e,75,5c\n2014-08-15T19:04:42.367Z,6,129540,160,255,135,eb,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,48,0d,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:04:42.369Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:04:42.371Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:42.393Z,4,129038,43,255,27,01,d0,e7,da,0d,b7,9a,33,0f,c6,11,c4,23,ad,2f,02,05,00,b1,08,00,ce,ba,00,00,00,fe\n2014-08-15T19:04:42.436Z,3,128267,115,255,8,00,ca,06,00,00,ff,ff,ff\n2014-08-15T19:04:42.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:42.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:42.480Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:42.483Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:42.486Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:42.488Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:42.560Z,3,129029,160,255,43,a4,a9,3f,ae,10,f0,28,00,b2,39,df,8b,8e,49,08,00,d2,a5,01,2c,a7,6e,03,30,fd,13,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:42.562Z,3,129033,160,255,8,a9,3f,ae,10,f0,28,b4,00\n2014-08-15T19:04:42.573Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,c8,31,d3,23,00,90,e3,ef,28,76,c0,08,a9,3f,10,00,fc\n2014-08-15T19:04:42.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:42.655Z,3,126992,160,255,8,ff,ff,a9,3f,ae,10,f0,28\n2014-08-15T19:04:42.713Z,4,129038,43,255,27,01,88,d6,d0,0c,13,48,e4,0e,26,50,b7,23,a9,83,98,41,03,3d,40,09,14,9a,00,00,00,fe\n2014-08-15T19:04:42.757Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:04:42.843Z,4,129038,43,255,27,01,58,eb,ad,0e,57,49,5e,0e,16,aa,8f,23,af,85,2f,d4,01,39,c0,08,5c,2e,00,00,00,fe\n2014-08-15T19:04:42.858Z,3,129291,160,255,8,ff,fc,00,79,10,00,ff,ff\n2014-08-15T19:04:42.860Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:42.903Z,4,129038,43,255,27,01,b8,83,92,0e,b2,bd,e0,0e,7a,c9,75,23,ad,8e,c1,05,00,3b,c0,00,59,d3,00,00,00,fe\n2014-08-15T19:04:42.906Z,3,127508,129,255,8,01,b0,05,38,05,1e,75,5c\n2014-08-15T19:04:42.946Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:42.985Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:42.987Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:42.989Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:04:43.005Z,3,127508,129,255,8,01,ae,05,e8,04,1e,75,5c\n2014-08-15T19:04:43.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:43.033Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,82,68,e2,23,00,a0,0a,f0,28,76,c0,01,a9,3f,10,00,fc\n2014-08-15T19:04:43.047Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:43.054Z,3,130577,160,255,14,c0,a4,60,89,50,01,ff,ff,ff,ff,00,79,10,00\n2014-08-15T19:04:43.057Z,2,129025,160,255,8,65,04,98,23,35,c9,bd,0e\n2014-08-15T19:04:43.083Z,4,129039,43,255,26,12,44,11,b6,0d,91,c7,bd,0e,47,05,98,23,ab,f8,88,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:43.096Z,2,130306,115,255,8,00,89,02,b1,1e,f2,ff,ff\n2014-08-15T19:04:43.123Z,4,129038,43,255,27,01,28,f5,77,10,38,6e,a0,0e,32,69,74,23,a0,39,37,a9,00,4d,86,08,16,31,00,00,00,fe\n2014-08-15T19:04:43.132Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:43.154Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:43.258Z,2,129026,160,255,8,ff,fc,60,89,50,01,ff,ff\n2014-08-15T19:04:43.262Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:43.323Z,4,129038,43,255,27,01,08,99,b5,0d,00,10,cd,0e,ba,50,a5,23,b0,ff,4a,49,01,10,66,00,f3,48,00,00,00,fe\n2014-08-15T19:04:43.393Z,6,129540,160,255,135,ec,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:04:43.395Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:04:43.413Z,4,129038,43,255,27,01,c8,27,16,0e,45,04,6a,0e,4a,49,94,23,a5,91,31,50,03,10,66,00,16,31,e6,ff,00,fe\n2014-08-15T19:04:43.432Z,3,128267,115,255,8,00,47,07,00,00,ff,ff,ff\n2014-08-15T19:04:43.435Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:43.453Z,4,129038,43,255,27,01,08,7b,ba,0d,e8,75,93,0e,65,ea,bc,23,a9,37,a0,7c,01,7f,06,01,94,a1,00,00,00,fe\n2014-08-15T19:04:43.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:43.478Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:43.480Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:43.483Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:43.485Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:43.546Z,7,127506,129,255,9,5c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:43.566Z,3,129029,160,255,43,a5,a9,3f,9a,38,f0,28,00,56,22,25,4b,8e,49,08,00,da,4c,82,fc,a6,6e,03,c0,5c,15,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:43.570Z,3,129033,160,255,8,a9,3f,9a,38,f0,28,b4,00\n2014-08-15T19:04:43.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,42,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:43.624Z,4,129038,43,255,27,01,e0,53,7f,10,e9,ac,c6,0e,88,aa,a9,23,b0,5b,88,c9,05,c0,08,08,fd,86,00,00,00,fe\n2014-08-15T19:04:43.663Z,4,129039,43,255,26,12,c4,e2,c3,0d,8e,7d,c2,0e,5a,75,95,23,ac,61,53,49,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:04:43.665Z,3,126992,160,255,8,ff,ff,a9,3f,9a,38,f0,28\n2014-08-15T19:04:43.764Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:04:43.856Z,3,129291,160,255,8,ff,fc,00,79,10,00,ff,ff\n2014-08-15T19:04:43.874Z,6,129810,43,255,33,18,ec,d7,b5,0d,25,54,52,55,45,48,44,47,4f,4a,38,32,30,33,40,78,00,28,00,14,00,3c,00,00,00,00,00,00\n2014-08-15T19:04:43.878Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:43.915Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:43.916Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:43.918Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:04:43.948Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:43.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:43.993Z,3,127508,129,255,8,01,ae,05,eb,04,1e,75,5c\n2014-08-15T19:04:44.049Z,2,130306,115,255,8,00,2c,02,31,17,f2,ff,ff\n2014-08-15T19:04:44.061Z,3,130577,160,255,14,c0,a5,b2,88,4d,01,ff,ff,ff,ff,73,4c,0c,00\n2014-08-15T19:04:44.063Z,2,129025,160,255,8,4f,03,98,23,69,c8,bd,0e\n2014-08-15T19:04:44.071Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:44.093Z,4,129039,43,255,26,12,44,11,b6,0d,c9,c6,bd,0e,0a,04,98,23,af,03,88,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:44.161Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:44.262Z,2,129026,160,255,8,ff,fc,b2,88,4d,01,ff,ff\n2014-08-15T19:04:44.313Z,4,129038,43,255,27,01,20,f6,7e,10,93,3a,c7,0e,03,e9,7f,23,b1,39,31,00,00,10,66,08,13,c7,00,00,0f,fe\n2014-08-15T19:04:44.404Z,6,129540,160,255,135,ed,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,b8,0b,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:04:44.406Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:04:44.420Z,3,128267,115,255,8,00,01,07,00,00,ff,ff,ff\n2014-08-15T19:04:44.424Z,4,129039,43,255,26,12,9e,d6,c3,0d,71,8e,c6,0e,35,07,94,23,b0,f3,54,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:44.427Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:44.452Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:44.476Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ed,3b,01,00\n2014-08-15T19:04:44.478Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:44.480Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:44.482Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:44.567Z,3,129029,160,255,43,a6,a9,3f,b4,5f,f0,28,00,76,52,5d,04,8e,49,08,00,56,2f,a7,d8,a6,6e,03,90,58,17,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:44.569Z,3,129033,160,255,8,a9,3f,b4,5f,f0,28,b4,00\n2014-08-15T19:04:44.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:44.666Z,3,126992,160,255,8,ff,ff,a9,3f,b4,5f,f0,28\n2014-08-15T19:04:44.691Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:44.760Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:04:44.862Z,3,129291,160,255,8,ff,fc,73,4c,0c,00,ff,ff\n2014-08-15T19:04:44.878Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:44.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:44.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:44.923Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:44.927Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,1a,02,71,23,b1,b6,e9,00,00,10,66,08,37,91,00,00,00,fe\n2014-08-15T19:04:44.979Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:45.017Z,2,130306,115,255,8,00,89,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:45.052Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:45.067Z,3,130577,160,255,14,c0,a6,20,87,50,01,ff,ff,ff,ff,c0,4d,2b,00\n2014-08-15T19:04:45.069Z,2,129025,160,255,8,1f,02,98,23,cf,c7,bd,0e\n2014-08-15T19:04:45.082Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:45.112Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:45.147Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:04:45.165Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:45.183Z,4,129039,43,255,26,12,44,11,b6,0d,43,c6,bd,0e,bd,02,98,23,b3,20,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:45.224Z,4,129038,43,255,27,01,fc,ff,e9,25,13,35,28,0f,72,c0,be,23,b1,7d,bb,bb,02,1b,40,09,7c,bb,00,00,00,fe\n2014-08-15T19:04:45.230Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:45.234Z,3,127508,129,255,8,01,ac,05,c0,04,1e,75,5c\n2014-08-15T19:04:45.268Z,2,129026,160,255,8,ff,fc,20,87,50,01,ff,ff\n2014-08-15T19:04:45.338Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:45.395Z,6,129540,160,255,135,ee,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,60,09,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:04:45.397Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:04:45.412Z,3,127508,129,255,8,01,ae,05,e4,04,1e,75,5c\n2014-08-15T19:04:45.429Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:45.432Z,3,128267,115,255,8,00,0d,07,00,00,ff,ff,ff\n2014-08-15T19:04:45.438Z,4,129038,43,255,27,01,e0,53,7f,10,97,a9,c6,0e,a6,a5,a9,23,b8,9b,87,c4,05,a4,86,00,fd,86,00,00,00,fe\n2014-08-15T19:04:45.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:45.473Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ff,3b,01,00\n2014-08-15T19:04:45.477Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:45.478Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:45.480Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:45.543Z,4,129039,43,255,26,12,0a,ec,b5,0d,0d,fe,ca,0e,ac,4d,92,23,b0,ed,50,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:45.573Z,3,129029,160,255,43,a7,a9,3f,c4,86,f0,28,00,96,82,95,bd,8d,49,08,00,e0,0b,a2,b3,a6,6e,03,40,95,16,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:45.575Z,3,129033,160,255,8,a9,3f,c4,86,f0,28,b4,00\n2014-08-15T19:04:45.578Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3f,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:45.666Z,3,126992,160,255,8,ff,ff,a9,3f,c4,86,f0,28\n2014-08-15T19:04:45.700Z,6,129794,43,255,75,05,88,d6,d0,0c,62,7a,86,00,39,48,41,32,36,30,37,42,41,4c,54,49,43,41,20,20,20,20,20,20,20,20,20,20,20,20,20,47,22,06,fa,00,3c,00,d4,03,aa,3f,c0,ff,60,2a,bc,02,47,44,59,4e,49,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:04:45.765Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:45.865Z,3,129291,160,255,8,ff,fc,c0,4d,2b,00,ff,ff\n2014-08-15T19:04:45.894Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:45.897Z,4,129038,43,255,27,01,10,04,1a,0e,41,45,ff,0e,c4,ff,ae,23,b0,83,b0,9c,02,b5,86,09,9f,b2,00,00,00,fe\n2014-08-15T19:04:45.920Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:45.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:45.926Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:45.926Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,5e,f7,c7,23,00,d0,7f,f0,28,b6,86,00,a9,3f,10,00,fc\n2014-08-15T19:04:45.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:46.019Z,2,130306,115,255,8,00,a7,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:46.027Z,3,127508,129,255,8,01,ae,05,cc,04,1e,75,5c\n2014-08-15T19:04:46.035Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:46.046Z,4,129038,43,255,27,03,18,9e,7f,10,53,02,c7,0e,9c,ee,7f,23,b7,54,ba,00,00,5a,4b,01,38,46,00,00,05,fe\n2014-08-15T19:04:46.072Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:46.074Z,2,129025,160,255,8,ef,00,98,23,30,c7,bd,0e\n2014-08-15T19:04:46.074Z,3,130577,160,255,14,c0,a7,c9,86,4f,01,ff,ff,ff,ff,c0,4d,2b,00\n2014-08-15T19:04:46.143Z,4,129039,43,255,26,12,44,11,b6,0d,8c,c5,bd,0e,a2,01,98,23,b7,72,86,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:46.169Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:46.263Z,2,129026,160,255,8,ff,fc,c9,86,4f,01,ff,ff\n2014-08-15T19:04:46.403Z,6,129540,160,255,135,ef,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,28,0a,00,00,00,00,f2,13,8b,09,cf,7e,28,0a,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:04:46.405Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:04:46.432Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:46.433Z,3,127508,129,255,8,01,ae,05,c7,04,1e,75,5c\n2014-08-15T19:04:46.443Z,3,128267,115,255,8,00,69,07,00,00,ff,ff,ff\n2014-08-15T19:04:46.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:46.470Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ff,3b,01,00\n2014-08-15T19:04:46.472Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:46.476Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:46.484Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:46.571Z,3,129029,160,255,43,a8,a9,3f,de,ad,f0,28,00,7e,ca,75,7b,8d,49,08,00,a6,d6,1b,81,a6,6e,03,10,02,1b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:46.573Z,3,129033,160,255,8,a9,3f,de,ad,f0,28,b4,00\n2014-08-15T19:04:46.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:46.674Z,3,126992,160,255,8,ff,ff,a9,3f,de,ad,f0,28\n2014-08-15T19:04:46.765Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:04:46.869Z,3,129291,160,255,8,ff,fc,27,4e,42,00,ff,ff\n2014-08-15T19:04:46.871Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:46.913Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:46.916Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:46.918Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:46.923Z,7,127506,129,255,9,5e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:46.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:46.973Z,2,130306,115,255,8,00,e5,02,c9,22,f2,ff,ff\n2014-08-15T19:04:46.997Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:47.048Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:47.050Z,3,127508,129,255,8,01,af,05,ec,04,1e,75,5e\n2014-08-15T19:04:47.072Z,3,130577,160,255,14,c0,a8,cf,87,52,01,ff,ff,ff,ff,27,4e,42,00\n2014-08-15T19:04:47.074Z,2,129025,160,255,8,d3,ff,97,23,57,c6,bd,0e\n2014-08-15T19:04:47.113Z,4,129038,43,255,27,01,d4,e5,b5,0d,f7,10,e1,0e,9f,25,de,23,bc,ee,20,00,00,c2,08,00,b9,20,00,00,00,fe\n2014-08-15T19:04:47.153Z,4,129039,43,255,26,12,44,11,b6,0d,92,c4,bd,0e,86,00,98,23,bb,4f,89,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:47.174Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:47.222Z,4,129038,43,255,27,01,b8,f5,67,12,a1,7d,8f,0e,e0,e9,90,23,b8,68,2d,d6,03,e7,86,0a,ff,2c,00,00,00,fe\n2014-08-15T19:04:47.268Z,2,129026,160,255,8,ff,fc,cf,87,52,01,ff,ff\n2014-08-15T19:04:47.405Z,6,129540,160,255,135,f0,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,28,0a,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:04:47.407Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:04:47.435Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:47.437Z,3,128267,115,255,8,00,50,07,00,00,ff,ff,ff\n2014-08-15T19:04:47.464Z,4,129038,43,255,27,01,e0,53,7f,10,90,9f,c6,0e,10,97,a9,23,c0,ac,87,bf,05,35,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:04:47.467Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ff,3b,01,00\n2014-08-15T19:04:47.469Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:47.472Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:47.475Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:47.477Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:47.506Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:47.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,21,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:47.580Z,3,129029,160,255,43,a9,a9,3f,f8,d4,f0,28,00,3c,24,d4,3c,8d,49,08,00,98,12,ab,46,a6,6e,03,b0,88,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:47.582Z,3,129033,160,255,8,a9,3f,f8,d4,f0,28,b4,00\n2014-08-15T19:04:47.643Z,4,129038,43,255,27,01,c8,d4,7f,10,4d,c6,df,0e,1e,54,c4,23,bd,be,7b,33,04,cb,08,08,72,7d,00,00,00,fe\n2014-08-15T19:04:47.674Z,3,126992,160,255,8,ff,ff,a9,3f,f8,d4,f0,28\n2014-08-15T19:04:47.715Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:47.775Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:47.833Z,4,129038,43,255,27,01,92,12,4b,10,0b,8d,fb,0e,65,44,ae,23,bc,e6,af,bb,02,55,40,01,42,b1,ec,ff,00,fe\n2014-08-15T19:04:47.867Z,3,129291,160,255,8,ff,fc,7d,5a,33,00,ff,ff\n2014-08-15T19:04:47.871Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:47.913Z,4,129038,43,255,27,01,58,43,c9,0e,5d,5b,d6,0e,8c,a1,a9,23,c0,77,ae,cb,02,f3,08,08,36,af,00,00,00,fe\n2014-08-15T19:04:47.915Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:47.917Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:47.920Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:47.941Z,2,130306,115,255,8,00,65,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:47.971Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:48.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:48.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:48.078Z,3,130577,160,255,14,c0,a9,2c,89,4f,01,ff,ff,ff,ff,7d,5a,33,00\n2014-08-15T19:04:48.080Z,2,129025,160,255,8,c6,fe,97,23,5c,c5,bd,0e\n2014-08-15T19:04:48.142Z,4,129039,43,255,26,12,44,11,b6,0d,87,c3,bd,0e,4a,ff,97,23,bf,15,8b,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:48.169Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:48.270Z,2,129026,160,255,8,ff,fc,2c,89,4f,01,ff,ff\n2014-08-15T19:04:48.284Z,4,129038,43,255,27,01,b8,53,a6,0c,6f,3b,7b,0e,99,5b,9f,23,c0,8e,ac,78,02,db,08,08,88,ae,00,00,00,fe\n2014-08-15T19:04:48.395Z,3,127508,129,255,8,01,af,05,e3,04,1e,75,5e\n2014-08-15T19:04:48.409Z,6,129540,160,255,135,f1,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,54,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:04:48.411Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:04:48.444Z,6,129809,43,255,25,18,6e,c9,b5,0d,42,4c,55,45,20,43,41,46,45,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:48.446Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:48.447Z,3,128267,115,255,8,00,01,07,00,00,ff,ff,ff\n2014-08-15T19:04:48.464Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ff,3b,01,00\n2014-08-15T19:04:48.467Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:48.471Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:48.472Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:48.474Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:48.562Z,3,127508,129,255,8,01,b0,05,f5,04,1e,75,5e\n2014-08-15T19:04:48.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:48.582Z,3,129029,160,255,43,aa,a9,3f,12,fc,f0,28,00,fa,7d,32,fe,8c,49,08,00,a4,bf,52,0e,a6,6e,03,80,84,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:48.585Z,3,129033,160,255,8,a9,3f,12,fc,f0,28,b4,00\n2014-08-15T19:04:48.630Z,3,127508,129,255,8,01,af,05,c5,04,1e,75,5e\n2014-08-15T19:04:48.677Z,3,126992,160,255,8,ff,ff,a9,3f,12,fc,f0,28\n2014-08-15T19:04:48.682Z,4,129039,43,255,26,12,fe,ea,8e,0f,94,5f,99,0e,ba,7e,ae,23,bc,36,d9,cd,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:48.696Z,3,127508,129,255,8,01,ac,05,9a,04,1e,75,5e\n2014-08-15T19:04:48.772Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:48.823Z,4,129038,43,255,27,01,88,d6,d0,0c,db,2f,e4,0e,85,43,b7,23,c1,94,98,41,03,3d,40,01,65,99,00,00,00,fe\n2014-08-15T19:04:48.872Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:48.875Z,3,129291,160,255,8,ff,fc,9c,60,1d,00,ff,ff\n2014-08-15T19:04:48.894Z,4,129038,43,255,27,01,68,e2,20,12,11,d6,fd,0e,ae,49,ad,23,c4,3d,b0,fd,01,65,40,09,9f,b2,00,00,00,fe\n2014-08-15T19:04:48.896Z,2,130306,115,255,8,00,04,03,e0,26,f2,ff,ff\n2014-08-15T19:04:48.914Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:48.959Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:48.961Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:48.964Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:48.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:49.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:49.029Z,7,127506,129,255,9,5f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:49.072Z,4,129038,43,255,27,01,c8,27,16,0e,f3,27,6a,0e,b1,4e,94,23,bd,c5,31,50,03,34,c0,08,16,31,ec,ff,00,fe\n2014-08-15T19:04:49.080Z,3,130577,160,255,14,c0,aa,60,89,4f,01,ff,ff,ff,ff,9c,60,1d,00\n2014-08-15T19:04:49.082Z,2,129025,160,255,8,b9,fd,97,23,6a,c4,bd,0e\n2014-08-15T19:04:49.162Z,4,129039,43,255,26,12,44,11,b6,0d,9e,c2,bd,0e,2e,fe,97,23,c3,32,8a,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:49.181Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:49.273Z,4,129038,43,255,27,01,e0,53,7f,10,2d,9c,c6,0e,2e,92,a9,23,c8,e0,87,c4,05,34,87,01,fd,86,00,00,00,fe\n2014-08-15T19:04:49.276Z,2,129026,160,255,8,ff,fc,60,89,4f,01,ff,ff\n2014-08-15T19:04:49.411Z,6,129540,160,255,135,f2,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,74,0e,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f1\n2014-08-15T19:04:49.413Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:04:49.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:49.431Z,3,128267,115,255,8,00,ef,06,00,00,ff,ff,ff\n2014-08-15T19:04:49.462Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,ff,3b,01,00\n2014-08-15T19:04:49.464Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:49.467Z,3,127508,129,255,8,01,b0,05,cc,04,1e,75,5f\n2014-08-15T19:04:49.467Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:49.469Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:49.474Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:49.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:49.586Z,3,129029,160,255,43,ab,a9,3f,2c,23,f1,28,00,68,01,b4,bd,8c,49,08,00,94,78,4e,d8,a5,6e,03,60,c5,1b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:49.588Z,3,129033,160,255,8,a9,3f,2c,23,f1,28,b4,00\n2014-08-15T19:04:49.614Z,4,129038,43,255,27,01,10,dc,6d,0f,b1,b7,5e,0e,5b,6f,9c,23,c5,3d,ad,83,02,36,c0,00,88,ae,f6,ff,00,fe\n2014-08-15T19:04:49.679Z,3,126992,160,255,8,ff,ff,a9,3f,2c,23,f1,28\n2014-08-15T19:04:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,33,be,01,0f,5d,ca,a3,23,bf,96,35,ba,01,19,c0,00,21,33,f2,ff,00,fe\n2014-08-15T19:04:49.783Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:04:49.862Z,4,129038,43,255,27,01,88,44,7d,10,d0,22,c7,0e,a8,ec,7f,23,c0,4d,e9,05,00,c2,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:04:49.866Z,2,130306,115,255,8,00,93,02,a5,1c,f2,ff,ff\n2014-08-15T19:04:49.877Z,3,129291,160,255,8,ff,fc,0a,5d,1e,00,ff,ff\n2014-08-15T19:04:49.898Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:49.928Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:49.964Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:49.967Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:49.969Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:50.008Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:50.044Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:50.071Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:50.085Z,3,130577,160,255,14,c0,ab,db,89,4d,01,ff,ff,ff,ff,0a,5d,1e,00\n2014-08-15T19:04:50.089Z,2,129025,160,255,8,a4,fc,97,23,82,c3,bd,0e\n2014-08-15T19:04:50.103Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:50.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,1c,f1,28,54,07,0b,a9,3f,00,00,fc\n2014-08-15T19:04:50.172Z,4,129039,43,255,26,12,44,11,b6,0d,b5,c1,bd,0e,34,fd,97,23,c7,b2,8b,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:50.179Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:50.260Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:50.278Z,2,129026,160,255,8,ff,fc,db,89,4d,01,ff,ff\n2014-08-15T19:04:50.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,1c,f1,28,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:04:50.410Z,6,129540,160,255,135,f3,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,10,0e,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,1c,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:04:50.412Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:04:50.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:50.438Z,3,128267,115,255,8,00,2f,07,00,00,ff,ff,ff\n2014-08-15T19:04:50.460Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,12,3c,01,00\n2014-08-15T19:04:50.464Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:50.466Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:50.468Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:50.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:50.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:50.597Z,3,129029,160,255,43,ac,a9,3f,1e,4a,f1,28,00,92,25,9b,7e,8c,49,08,00,68,3d,9e,a4,a5,6e,03,90,1c,21,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:50.600Z,3,129033,160,255,8,a9,3f,1e,4a,f1,28,b4,00\n2014-08-15T19:04:50.666Z,3,127508,129,255,8,01,ae,05,af,04,1e,75,5f\n2014-08-15T19:04:50.682Z,3,126992,160,255,8,ff,ff,a9,3f,1e,4a,f1,28\n2014-08-15T19:04:50.733Z,4,129038,43,255,27,01,98,69,b3,0e,c5,77,8f,0e,e1,ad,a0,23,c5,7d,af,f8,01,d4,08,00,f1,b1,00,00,00,fe\n2014-08-15T19:04:50.784Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:04:50.835Z,2,130306,115,255,8,00,89,02,3c,19,f2,ff,ff\n2014-08-15T19:04:50.859Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:50.891Z,3,129291,160,255,8,ff,fc,be,62,17,00,ff,ff\n2014-08-15T19:04:50.921Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:04:50.950Z,2,128259,115,255,8,00,43,01,ff,ff,00,ff,ff\n2014-08-15T19:04:50.950Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:50.950Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:50.984Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:51.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:51.053Z,4,129038,43,255,27,03,19,49,11,20,63,cd,e0,0e,b4,7f,76,23,c4,41,ed,00,00,00,00,00,d1,15,00,00,05,fe\n2014-08-15T19:04:51.087Z,3,130577,160,255,14,c0,ac,60,89,4d,01,ff,ff,ff,ff,be,62,17,00\n2014-08-15T19:04:51.092Z,2,129025,160,255,8,95,fb,97,23,a4,c2,bd,0e\n2014-08-15T19:04:51.184Z,4,129039,43,255,26,12,44,11,b6,0d,cb,c0,bd,0e,08,fc,97,23,cb,2c,89,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:51.204Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:51.298Z,2,129026,160,255,8,ff,fc,60,89,4d,01,ff,ff\n2014-08-15T19:04:51.363Z,3,127508,129,255,8,01,ae,05,95,04,1e,75,5f\n2014-08-15T19:04:51.373Z,4,129038,43,255,27,01,b0,79,7a,10,a0,7e,d2,0e,e2,ce,81,23,c4,59,d9,e8,01,10,66,08,2a,da,df,ff,00,fe\n2014-08-15T19:04:51.425Z,6,129540,160,255,135,f4,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,10,0e,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,28,0a,00,00,00,00,f1\n2014-08-15T19:04:51.427Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:04:51.429Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:51.432Z,3,128267,115,255,8,00,ef,06,00,00,ff,ff,ff\n2014-08-15T19:04:51.453Z,4,129038,43,255,27,01,e0,53,7f,10,d3,91,c6,0e,88,83,a9,23,d0,f2,87,bf,05,35,40,09,fd,86,00,00,00,fe\n2014-08-15T19:04:51.458Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,12,3c,01,00\n2014-08-15T19:04:51.460Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:51.463Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:51.465Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:51.568Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:51.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:51.609Z,3,129029,160,255,43,ad,a9,3f,7e,71,f1,28,00,be,cc,15,3b,8c,49,08,00,7a,d8,cd,7c,a5,6e,03,60,a7,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:51.611Z,3,129033,160,255,8,a9,3f,7e,71,f1,28,b4,00\n2014-08-15T19:04:51.693Z,3,126992,160,255,8,ff,ff,a9,3f,7e,71,f1,28\n2014-08-15T19:04:51.753Z,3,127508,129,255,8,01,b0,05,c2,04,1e,75,5f\n2014-08-15T19:04:51.796Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:51.899Z,3,129291,160,255,8,ff,fc,22,56,3d,00,ff,ff\n2014-08-15T19:04:51.902Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:04:51.904Z,2,130306,115,255,8,00,19,03,c9,22,f2,ff,ff\n2014-08-15T19:04:51.924Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:51.959Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:51.963Z,4,129038,43,255,27,03,30,d6,75,10,aa,e5,bb,0e,e2,d0,70,23,cc,89,81,00,00,00,00,08,8a,54,00,00,05,fe\n2014-08-15T19:04:51.994Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:51.996Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:51.998Z,2,128259,115,255,8,00,3d,01,ff,ff,00,ff,ff\n2014-08-15T19:04:52.052Z,3,127508,129,255,8,01,af,05,b0,04,1e,75,5f\n2014-08-15T19:04:52.054Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:52.082Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:52.105Z,3,130577,160,255,14,c0,ad,38,88,4f,01,ff,ff,ff,ff,22,56,3d,00\n2014-08-15T19:04:52.108Z,2,129025,160,255,8,73,fa,97,23,f9,c1,bd,0e\n2014-08-15T19:04:52.199Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:52.248Z,6,129794,43,255,75,05,22,0b,b6,0d,74,79,63,00,4f,4a,4f,4b,20,20,20,53,49,4c,56,45,52,46,4f,52,53,20,20,20,20,20,20,20,20,20,20,1e,7c,01,50,00,46,00,2c,01,d7,40,00,2a,75,15,a4,01,54,41,4c,4c,49,4e,4e,2f,4d,49,49,44,55,52,41,4e,4e,41,20,20,05,e1\n2014-08-15T19:04:52.283Z,4,129039,43,255,26,12,44,11,b6,0d,35,c0,bd,0e,ed,fa,97,23,cf,03,88,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:52.304Z,2,129026,160,255,8,ff,fc,38,88,4f,01,ff,ff\n2014-08-15T19:04:52.323Z,4,129038,43,255,27,01,02,8b,c4,0d,d3,e4,e0,0e,1d,a8,c9,23,d0,38,82,77,01,10,66,08,94,83,ff,7f,00,fe\n2014-08-15T19:04:52.425Z,6,129540,160,255,135,f5,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,10,0e,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,f0,0a,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:04:52.427Z,2,127250,160,255,8,ff,43,90,ff,7f,86,05,fc\n2014-08-15T19:04:52.429Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:04:52.433Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:52.437Z,3,128267,115,255,8,00,0d,07,00,00,ff,ff,ff\n2014-08-15T19:04:52.443Z,4,129038,43,255,27,01,40,37,b7,0d,05,bb,89,0e,c9,74,bf,23,d5,4e,a4,0a,00,18,c0,00,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:52.455Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,12,3c,01,00\n2014-08-15T19:04:52.457Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:52.461Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:52.463Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:52.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:52.468Z,7,127506,129,255,9,60,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:52.573Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,96,31,d3,23,00,30,6a,f1,28,b0,87,00,a9,3f,10,00,fc\n2014-08-15T19:04:52.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:04:52.606Z,3,129029,160,255,43,ae,a9,3f,98,98,f1,28,00,dc,79,ba,f8,8b,49,08,00,ac,6d,d0,49,a5,6e,03,70,5d,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:52.609Z,3,129033,160,255,8,a9,3f,98,98,f1,28,b4,00\n2014-08-15T19:04:52.633Z,4,129038,43,255,27,01,b8,f5,67,12,24,9d,8f,0e,c7,f0,90,23,d0,79,2d,d6,03,d8,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:04:52.673Z,4,129038,43,255,27,01,08,99,b5,0d,88,23,cd,0e,ba,50,a5,23,d4,50,4a,49,01,10,66,08,f3,48,00,00,00,fe\n2014-08-15T19:04:52.674Z,3,127508,129,255,8,01,ac,05,77,04,1e,75,60\n2014-08-15T19:04:52.704Z,3,126992,160,255,8,ff,ff,a9,3f,98,98,f1,28\n2014-08-15T19:04:52.713Z,4,129039,43,255,26,12,90,e4,c3,0d,91,94,bf,0e,b0,db,7d,23,cc,9b,6c,aa,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:52.765Z,2,130306,115,255,8,00,bc,02,f7,1b,f2,ff,ff\n2014-08-15T19:04:52.786Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:52.804Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:04:52.872Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:52.901Z,3,129291,160,255,8,ff,fc,c5,5c,34,00,ff,ff\n2014-08-15T19:04:52.903Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:04:52.914Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:52.916Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:52.918Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:52.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:53.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:53.033Z,7,129793,43,255,26,04,8f,18,23,00,a0,1e,46,0f,50,68,e2,23,00,40,91,f1,28,78,c0,09,a9,3f,10,00,fc\n2014-08-15T19:04:53.108Z,3,130577,160,255,14,c0,ae,1b,89,4f,01,ff,ff,ff,ff,c5,5c,34,00\n2014-08-15T19:04:53.110Z,2,129025,160,255,8,56,f9,97,23,1e,c1,bd,0e\n2014-08-15T19:04:53.199Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:53.213Z,4,129039,43,255,26,12,44,11,b6,0d,3b,bf,bd,0e,d2,f9,97,23,d3,26,8b,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:53.273Z,4,129038,43,255,27,01,b8,83,92,0e,a1,bd,e0,0e,37,c9,75,23,d5,8e,c1,05,00,10,66,08,59,d3,00,00,00,fe\n2014-08-15T19:04:53.305Z,2,129026,160,255,8,ff,fc,1b,89,4f,01,ff,ff\n2014-08-15T19:04:53.308Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:04:53.323Z,4,129038,43,255,27,01,e0,53,7f,10,60,8e,c6,0e,a6,7e,a9,23,d8,03,88,c9,05,cc,07,01,fd,86,ff,7f,00,fe\n2014-08-15T19:04:53.358Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:53.435Z,6,129540,160,255,135,f6,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,8c,0a,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f1\n2014-08-15T19:04:53.437Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:04:53.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:53.442Z,3,128267,115,255,8,00,2f,07,00,00,ff,ff,ff\n2014-08-15T19:04:53.453Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,12,3c,01,00\n2014-08-15T19:04:53.455Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:53.458Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:53.460Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:53.483Z,4,129039,43,255,26,12,ca,0c,b7,0d,37,4b,bd,0e,b0,13,96,23,d4,d5,79,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:53.572Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:53.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,20,02,03,00,01,01,04,00,00,00\n2014-08-15T19:04:53.593Z,4,129038,43,255,27,01,28,f5,77,10,3d,7b,a0,0e,32,69,74,23,d0,2e,35,a9,00,d6,07,01,16,31,00,00,00,fe\n2014-08-15T19:04:53.611Z,3,129029,160,255,43,af,a9,3f,a8,bf,f1,28,00,98,50,85,be,8b,49,08,00,86,bb,da,08,a5,6e,03,60,89,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:53.613Z,3,129033,160,255,8,a9,3f,a8,bf,f1,28,b4,00\n2014-08-15T19:04:53.705Z,3,126992,160,255,8,ff,ff,a9,3f,a8,bf,f1,28\n2014-08-15T19:04:53.707Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:53.733Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:04:53.753Z,4,129038,43,255,27,01,c8,d4,7f,10,ff,c4,df,0e,54,3d,c4,23,d5,38,7c,38,04,44,c0,00,20,7e,00,00,00,fe\n2014-08-15T19:04:53.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:53.807Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:04:53.849Z,3,127508,129,255,8,01,b0,05,c3,04,1e,75,60\n2014-08-15T19:04:53.916Z,3,129291,160,255,8,ff,fc,b4,5c,22,00,ff,ff\n2014-08-15T19:04:53.966Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:54.017Z,6,129794,43,255,75,05,d0,3e,93,21,76,51,91,00,39,56,38,33,32,39,20,43,4f,50,45,4e,53,48,49,50,20,41,46,52,49,43,41,20,20,20,20,46,d8,04,c8,00,32,00,24,04,0f,41,00,61,7a,24,30,02,4d,55,55,47,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:54.025Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:54.027Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:54.029Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:54.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:54.085Z,4,129041,43,255,48,15,aa,54,2c,3b,fa,e8,f4,0e,e4,28,7f,23,c4,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,35,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:04:54.087Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:54.115Z,3,130577,160,255,14,c0,af,bd,8a,4c,01,ff,ff,ff,ff,b4,5c,22,00\n2014-08-15T19:04:54.117Z,2,129025,160,255,8,5c,f8,97,23,07,c0,bd,0e\n2014-08-15T19:04:54.133Z,3,127508,129,255,8,01,ac,05,6a,04,1e,75,60\n2014-08-15T19:04:54.173Z,4,129038,43,255,27,01,20,f6,7e,10,83,3a,c7,0e,03,e9,7f,23,d5,39,31,00,00,ec,87,00,13,c7,00,00,0f,fe\n2014-08-15T19:04:54.214Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:54.223Z,4,129039,43,255,26,12,44,11,b6,0d,69,bd,bd,0e,cd,f7,97,23,db,8f,8b,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:54.308Z,2,129026,160,255,8,ff,fc,bd,8a,4c,01,ff,ff\n2014-08-15T19:04:54.363Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,d5,48,c7,00,00,f3,07,03,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:54.418Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:54.420Z,3,128267,115,255,8,00,ef,06,00,00,ff,ff,ff\n2014-08-15T19:04:54.447Z,6,129540,160,255,135,f7,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,1c,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:04:54.451Z,2,127250,160,255,8,ff,95,8f,ff,7f,86,05,fc\n2014-08-15T19:04:54.453Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,12,3c,01,00\n2014-08-15T19:04:54.455Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:54.457Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:54.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:54.463Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:54.477Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:54.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,2b,02,03,00,01,01,04,00,00,00\n2014-08-15T19:04:54.583Z,4,129039,43,255,26,12,06,a5,b5,0d,3f,47,bd,0e,46,c8,97,23,d8,55,7e,5d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:54.621Z,3,129029,160,255,43,b0,a9,3f,9a,e6,f1,28,00,7e,15,d2,80,8b,49,08,00,f4,3e,5c,c8,a4,6e,03,c0,02,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:54.623Z,3,129033,160,255,8,a9,3f,9a,e6,f1,28,b4,00\n2014-08-15T19:04:54.680Z,3,127508,129,255,8,01,af,05,96,04,1e,75,60\n2014-08-15T19:04:54.713Z,4,129039,43,255,26,12,44,e0,c3,0d,73,d0,ba,0e,f7,2c,8e,23,da,4f,7a,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:54.716Z,3,126992,160,255,8,ff,ff,a9,3f,9a,e6,f1,28\n2014-08-15T19:04:54.742Z,2,130306,115,255,8,00,19,03,9a,1a,f2,ff,ff\n2014-08-15T19:04:54.753Z,4,129038,43,255,27,01,c8,27,16,0e,a4,42,6a,0e,dc,52,94,23,d1,a2,31,50,03,10,66,00,16,31,0a,00,00,fe\n2014-08-15T19:04:54.761Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:54.817Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:04:54.872Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:04:54.914Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:54.916Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:54.920Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:04:54.922Z,3,129291,160,255,8,ff,fc,89,59,22,00,ff,ff\n2014-08-15T19:04:54.976Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:55.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:55.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:55.119Z,3,130577,160,255,14,c0,b0,e0,8a,4a,01,ff,ff,ff,ff,89,59,22,00\n2014-08-15T19:04:55.122Z,2,129025,160,255,8,53,f7,97,23,f2,be,bd,0e\n2014-08-15T19:04:55.150Z,3,127508,129,255,8,01,b0,05,b1,04,1e,75,60\n2014-08-15T19:04:55.194Z,4,129038,43,255,27,01,88,d6,d0,0c,b4,17,e4,0e,c2,36,b7,23,d9,72,98,41,03,12,88,09,65,99,00,00,00,fe\n2014-08-15T19:04:55.216Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:55.243Z,4,129039,43,255,26,12,44,11,b6,0d,6f,bc,bd,0e,c2,f6,97,23,df,f8,8b,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:55.319Z,2,129026,160,255,8,ff,fc,e0,8a,4a,01,ff,ff\n2014-08-15T19:04:55.397Z,6,129794,43,255,75,05,10,04,1a,0e,a2,94,8c,00,5a,44,4b,42,34,40,40,54,52,41,4e,53,4f,53,50,52,45,59,40,40,40,40,40,40,40,40,40,4f,cc,06,dc,00,6e,00,82,00,aa,3f,00,03,c5,28,3e,03,4d,41,4e,54,59,4c,55,4f,54,4f,40,40,40,40,40,40,40,40,40,40,05,e1\n2014-08-15T19:04:55.420Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:55.422Z,3,128267,115,255,8,00,ef,06,00,00,ff,ff,ff\n2014-08-15T19:04:55.425Z,7,127506,129,255,9,61,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:55.456Z,6,129540,160,255,135,f8,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,b8,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:04:55.458Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:04:55.461Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,25,3c,01,00\n2014-08-15T19:04:55.463Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:55.466Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:55.468Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:55.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:55.483Z,4,129038,43,255,27,01,e0,53,7f,10,17,84,c6,0e,00,70,a9,23,e0,15,88,c4,05,ce,08,08,fd,86,ff,7f,00,fe\n2014-08-15T19:04:55.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,5f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:04:55.589Z,3,127508,129,255,8,01,b0,05,b3,04,1e,75,61\n2014-08-15T19:04:55.624Z,3,129029,160,255,43,b1,a9,3f,e6,0d,f2,28,00,9a,3f,e3,42,8b,49,08,00,52,45,74,8d,a4,6e,03,90,fe,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:55.626Z,3,129033,160,255,8,a9,3f,e6,0d,f2,28,b4,00\n2014-08-15T19:04:55.644Z,4,129038,43,255,27,01,d2,ff,4a,10,7e,8a,b1,0e,3c,02,71,23,dd,59,e8,00,00,23,08,01,37,91,00,00,00,fe\n2014-08-15T19:04:55.722Z,3,126992,160,255,8,ff,ff,a9,3f,e6,0d,f2,28\n2014-08-15T19:04:55.760Z,2,130306,115,255,8,00,93,02,60,1f,f2,ff,ff\n2014-08-15T19:04:55.780Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:55.814Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:04:55.833Z,4,129038,43,255,27,01,10,04,1a,0e,bf,17,ff,0e,c4,ff,ae,23,d8,83,b0,9c,02,2a,88,00,9f,b2,00,00,00,fe\n2014-08-15T19:04:55.872Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:55.913Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,fa,f6,c7,23,00,70,06,f2,28,2d,88,09,a9,3f,10,00,fc\n2014-08-15T19:04:55.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:55.919Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:55.921Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:55.923Z,3,129291,160,255,8,ff,fc,be,62,17,00,ff,ff\n2014-08-15T19:04:55.953Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:55.978Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:56.054Z,4,129039,43,255,26,12,08,57,b6,0d,57,19,ca,0e,ee,66,92,23,df,2d,56,b5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:04:56.115Z,3,130577,160,255,14,c0,b1,15,8b,4a,01,ff,ff,ff,ff,be,62,17,00\n2014-08-15T19:04:56.124Z,2,129025,160,255,8,49,f6,97,23,f5,bd,bd,0e\n2014-08-15T19:04:56.155Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:56.218Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:56.253Z,4,129039,43,255,26,12,44,11,b6,0d,64,bb,bd,0e,c8,f5,97,23,e3,32,8d,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:56.318Z,2,129026,160,255,8,ff,fc,15,8b,4a,01,ff,ff\n2014-08-15T19:04:56.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:56.445Z,3,128267,115,255,8,00,d9,06,00,00,ff,ff,ff\n2014-08-15T19:04:56.448Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,25,3c,01,00\n2014-08-15T19:04:56.451Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:56.464Z,6,129540,160,255,135,f9,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,b8,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,fc,08,00,00,00,00,f1\n2014-08-15T19:04:56.468Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:56.469Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:04:56.472Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:56.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,58,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:56.630Z,3,129029,160,255,43,b2,a9,3f,d8,34,f2,28,00,ec,ce,b8,04,8b,49,08,00,da,39,0e,4f,a4,6e,03,e0,50,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:56.632Z,3,129033,160,255,8,a9,3f,d8,34,f2,28,b4,00\n2014-08-15T19:04:56.642Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:56.690Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:56.712Z,3,127508,129,255,8,01,b1,05,c6,04,1e,75,61\n2014-08-15T19:04:56.716Z,3,126992,160,255,8,ff,ff,a9,3f,d8,34,f2,28\n2014-08-15T19:04:56.734Z,2,130306,115,255,8,00,ad,02,1a,22,f2,ff,ff\n2014-08-15T19:04:56.754Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:56.820Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:04:56.842Z,4,129038,43,255,27,01,d4,e5,b5,0d,07,11,e1,0e,b0,25,de,23,e4,ff,20,00,00,50,88,08,b9,20,00,00,00,fe\n2014-08-15T19:04:56.883Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:04:56.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:56.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:56.923Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:04:56.926Z,3,129291,160,255,8,ff,fc,be,62,17,00,ff,ff\n2014-08-15T19:04:56.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:56.987Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:57.028Z,3,127508,129,255,8,01,af,05,83,04,1e,75,61\n2014-08-15T19:04:57.117Z,3,130577,160,255,14,c0,b2,d5,8b,4a,01,ff,ff,ff,ff,93,6f,0c,00\n2014-08-15T19:04:57.119Z,2,129025,160,255,8,3e,f5,97,23,e9,bc,bd,0e\n2014-08-15T19:04:57.217Z,6,129794,43,255,75,05,a8,f6,a5,01,77,fd,86,00,45,53,32,30,39,39,40,4c,4f,54,4f,53,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,5a,2c,01,46,00,1e,00,96,00,f8,40,80,80,6a,2b,2c,01,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:04:57.221Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:57.254Z,4,129038,43,255,27,01,b8,53,a6,0c,69,15,7b,0e,ce,55,9f,23,e4,a0,ac,78,02,13,43,01,88,ae,00,00,00,fe\n2014-08-15T19:04:57.281Z,3,127508,129,255,8,01,b0,05,a4,04,1e,75,61\n2014-08-15T19:04:57.293Z,4,129039,43,255,26,12,44,11,b6,0d,6a,ba,bd,0e,ce,f4,97,23,e7,2c,8c,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:57.323Z,2,129026,160,255,8,ff,fc,d5,8b,4a,01,ff,ff\n2014-08-15T19:04:57.334Z,4,129039,43,255,26,12,80,e5,c3,0d,a7,76,c2,0e,5c,8b,95,23,e7,ed,56,58,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:04:57.418Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:57.420Z,3,128267,115,255,8,00,19,07,00,00,ff,ff,ff\n2014-08-15T19:04:57.442Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,9f,24,0a,01,25,3c,01,00\n2014-08-15T19:04:57.445Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:57.447Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:57.450Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:57.464Z,6,129540,160,255,135,fa,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,b8,0b,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:04:57.466Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:04:57.484Z,4,129038,43,255,27,01,c0,0b,7e,10,31,81,e2,0e,0d,f3,cf,23,e4,f4,03,03,07,68,08,01,22,06,00,00,00,fe\n2014-08-15T19:04:57.544Z,4,129038,43,255,27,01,e0,53,7f,10,0f,7d,c6,0e,3c,66,a9,23,e8,6c,88,c4,05,cc,08,00,fd,86,00,00,00,fe\n2014-08-15T19:04:57.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,4a,02,03,00,02,01,04,00,00,00\n2014-08-15T19:04:57.627Z,3,129029,160,255,43,b3,a9,3f,1a,5c,f2,28,00,22,6a,e2,c8,8a,49,08,00,dc,f2,06,0f,a4,6e,03,40,ac,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:57.629Z,3,129033,160,255,8,a9,3f,1a,5c,f2,28,b4,00\n2014-08-15T19:04:57.667Z,6,129794,43,255,75,05,02,8b,c4,0d,00,00,00,00,4f,4a,4b,56,20,20,20,41,4c,45,58,41,4e,44,52,41,20,20,20,20,20,20,20,20,20,20,20,24,d2,00,3c,00,1e,00,b4,00,aa,3f,00,f3,6f,06,f0,00,54,41,4c,4c,49,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:04:57.691Z,2,130306,115,255,8,00,e0,02,d3,15,f2,ff,ff\n2014-08-15T19:04:57.704Z,4,129038,43,255,27,01,fc,ff,e9,25,67,f5,27,0f,50,c3,be,23,e5,7d,bb,bb,02,b5,08,08,7c,bb,ec,ff,00,fe\n2014-08-15T19:04:57.720Z,3,126992,160,255,8,ff,ff,a9,3f,1a,5c,f2,28\n2014-08-15T19:04:57.756Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:57.784Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:57.823Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:04:57.876Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:04:57.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:57.922Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:57.924Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:04:57.926Z,3,129291,160,255,8,ff,fc,93,6f,0c,00,ff,ff\n2014-08-15T19:04:57.967Z,3,127508,129,255,8,01,af,05,79,04,1e,75,61\n2014-08-15T19:04:58.086Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:58.086Z,7,127506,129,255,9,62,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:04:58.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:58.124Z,4,129038,43,255,27,01,68,e2,20,12,b0,b6,fd,0e,8e,46,ad,23,e8,3d,b0,f8,01,80,88,00,f1,b1,00,00,00,fe\n2014-08-15T19:04:58.128Z,3,130577,160,255,14,c0,b3,1b,8c,48,01,ff,ff,ff,ff,98,99,24,00\n2014-08-15T19:04:58.130Z,2,129025,160,255,8,3d,f4,97,23,d6,bb,bd,0e\n2014-08-15T19:04:58.203Z,4,129038,43,255,27,03,a8,f6,a5,01,3e,9f,b9,0e,40,b9,70,23,e0,00,00,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:04:58.228Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:58.254Z,3,127508,129,255,8,01,ac,05,2a,04,1e,75,62\n2014-08-15T19:04:58.282Z,4,129039,43,255,26,12,44,11,b6,0d,a2,b9,bd,0e,a2,f3,97,23,eb,6c,88,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:58.302Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:04:58.319Z,2,129026,160,255,8,ff,fc,1b,8c,48,01,ff,ff\n2014-08-15T19:04:58.333Z,4,129038,43,255,27,01,58,43,c9,0e,dc,2a,d6,0e,7e,9b,a9,23,ec,88,ae,cb,02,88,08,01,36,af,00,00,00,fe\n2014-08-15T19:04:58.427Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:58.430Z,3,128267,115,255,8,00,20,07,00,00,ff,ff,ff\n2014-08-15T19:04:58.439Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:04:58.442Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:58.445Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:58.448Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:58.461Z,6,129540,160,255,135,fb,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,1c,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:04:58.464Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:04:58.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:58.632Z,3,129029,160,255,43,b4,a9,3f,34,83,f2,28,00,5a,88,9f,88,8a,49,08,00,e6,1c,1b,db,a3,6e,03,d0,0b,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:58.634Z,3,129033,160,255,8,a9,3f,34,83,f2,28,b4,00\n2014-08-15T19:04:58.714Z,2,130306,115,255,8,00,04,03,e2,35,f2,ff,ff\n2014-08-15T19:04:58.730Z,3,126992,160,255,8,ff,ff,a9,3f,34,83,f2,28\n2014-08-15T19:04:58.740Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:58.766Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:58.794Z,4,129038,43,255,27,01,b8,f5,67,12,b5,c2,8f,0e,fb,f8,90,23,e8,56,2d,d6,03,65,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:04:58.824Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:04:58.831Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:04:58.864Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:58.899Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:58.901Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:58.904Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:04:58.922Z,4,129038,43,255,27,01,38,5e,49,16,69,7a,ca,0e,a2,bf,76,23,e9,a0,9a,00,00,e1,08,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:04:58.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:58.934Z,3,129291,160,255,8,ff,fc,98,99,24,00,ff,ff\n2014-08-15T19:04:58.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:04:59.129Z,3,130577,160,255,14,c0,b4,ac,8a,4b,01,ff,ff,ff,ff,98,99,24,00\n2014-08-15T19:04:59.132Z,2,129025,160,255,8,29,f3,97,23,f7,ba,bd,0e\n2014-08-15T19:04:59.231Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:04:59.243Z,4,129038,43,255,27,01,10,dc,6d,0f,3d,90,5e,0e,15,6a,9c,23,e9,3d,ad,83,02,37,c0,08,88,ae,0a,00,00,fe\n2014-08-15T19:04:59.276Z,3,127508,129,255,8,01,ac,05,20,04,1e,75,62\n2014-08-15T19:04:59.292Z,4,129039,43,255,26,12,44,11,b6,0d,a8,b8,bd,0e,87,f2,97,23,ef,26,8b,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:04:59.336Z,2,129026,160,255,8,ff,fc,ac,8a,4b,01,ff,ff\n2014-08-15T19:04:59.433Z,4,129038,43,255,27,01,e0,53,7f,10,ac,79,c6,0e,6b,61,a9,23,00,26,88,c4,05,35,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:04:59.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:59.439Z,3,128267,115,255,8,00,d9,06,00,00,ff,ff,ff\n2014-08-15T19:04:59.442Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:04:59.444Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:04:59.447Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:04:59.449Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:04:59.466Z,6,129540,160,255,135,00,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,a0,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,d8,0e,00,00,00,00,f2,14,c5,13,ce,ab,1c,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:04:59.468Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:04:59.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:04:59.613Z,4,129038,43,255,27,03,22,0b,b6,0d,d1,26,ca,0e,94,04,77,23,03,c3,af,00,00,3a,4e,09,51,0e,00,00,05,fe\n2014-08-15T19:04:59.645Z,3,129029,160,255,43,b5,a9,3f,80,aa,f2,28,00,c8,0b,21,48,8a,49,08,00,4c,94,4e,ac,a3,6e,03,90,fe,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:04:59.647Z,3,129033,160,255,8,a9,3f,80,aa,f2,28,b4,00\n2014-08-15T19:04:59.722Z,4,129038,43,255,27,01,92,12,4b,10,f5,58,fb,0e,e2,3d,ae,23,ec,e6,af,c0,02,bc,08,09,42,b1,fa,ff,00,fe\n2014-08-15T19:04:59.739Z,3,126992,160,255,8,ff,ff,a9,3f,80,aa,f2,28\n2014-08-15T19:04:59.745Z,2,130306,115,255,8,00,74,02,8e,18,f2,ff,ff\n2014-08-15T19:04:59.769Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:59.773Z,3,127508,129,255,8,01,af,05,5c,04,1e,75,62\n2014-08-15T19:04:59.796Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:59.824Z,3,127508,129,255,8,01,ae,05,4b,04,1e,75,62\n2014-08-15T19:04:59.829Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:04:59.868Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:04:59.907Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:04:59.909Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:04:59.912Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:04:59.933Z,3,129291,160,255,8,ff,fc,e1,42,0a,00,ff,ff\n2014-08-15T19:04:59.936Z,3,127508,129,255,8,01,ae,05,39,04,1e,75,62\n2014-08-15T19:04:59.964Z,4,129038,43,255,27,01,6c,70,4a,10,cb,df,01,0f,f2,cd,a3,23,eb,50,35,bf,01,c5,88,08,21,33,fa,ff,00,fe\n2014-08-15T19:04:59.972Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:00.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:00.048Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:00.084Z,6,129810,43,255,33,18,6e,c9,b5,0d,25,53,52,54,45,34,50,23,4f,4a,33,32,37,30,40,6e,00,1e,00,00,00,3c,00,00,00,00,00,00\n2014-08-15T19:05:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,a2,f2,28,01,80,03,a9,3f,00,00,fc\n2014-08-15T19:05:00.137Z,3,130577,160,255,14,c0,b5,9b,8a,47,01,ff,ff,ff,ff,e1,42,0a,00\n2014-08-15T19:05:00.139Z,2,129025,160,255,8,14,f2,97,23,2e,ba,bd,0e\n2014-08-15T19:05:00.155Z,7,127506,129,255,9,63,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:00.237Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:00.303Z,4,129039,43,255,26,12,44,11,b6,0d,bf,b7,bd,0e,6c,f1,97,23,03,32,8a,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:00.338Z,2,129026,160,255,8,ff,fc,9b,8a,47,01,ff,ff\n2014-08-15T19:05:00.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,a2,f2,28,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:05:00.416Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:00.420Z,3,128267,115,255,8,00,d9,06,00,00,ff,ff,ff\n2014-08-15T19:05:00.436Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:05:00.438Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:00.440Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:00.444Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:00.468Z,6,129540,160,255,135,01,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,98,08,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:05:00.470Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:05:00.491Z,3,127508,129,255,8,01,af,05,4f,04,1e,75,63\n2014-08-15T19:05:00.505Z,2,130306,115,255,8,00,c1,02,8f,27,f2,ff,ff\n2014-08-15T19:05:00.529Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:00.571Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:00.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,2b,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:00.646Z,3,129029,160,255,43,b6,a9,3f,9a,d1,f2,28,00,86,65,7f,09,8a,49,08,00,d0,82,c1,76,a3,6e,03,40,ac,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:00.648Z,3,129033,160,255,8,a9,3f,9a,d1,f2,28,b4,00\n2014-08-15T19:05:00.713Z,4,129038,43,255,27,01,88,d6,d0,0c,8d,ff,e3,0e,10,2a,b7,23,01,72,98,41,03,3f,c0,01,65,99,00,00,00,fe\n2014-08-15T19:05:00.743Z,3,126992,160,255,8,ff,ff,a9,3f,9a,d1,f2,28\n2014-08-15T19:05:00.753Z,4,129038,43,255,27,01,c8,27,16,0e,1f,66,6a,0e,96,58,94,23,e9,6e,31,50,03,3e,80,09,16,31,0a,00,00,fe\n2014-08-15T19:05:00.813Z,4,129038,43,255,27,01,98,69,b3,0e,65,55,8f,0e,5d,aa,a0,23,ed,4e,b0,f8,01,1b,00,09,42,b1,00,00,00,fe\n2014-08-15T19:05:00.837Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:05:00.939Z,3,129291,160,255,8,ff,fc,c8,88,24,00,ff,ff\n2014-08-15T19:05:01.020Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:01.054Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:01.055Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:01.057Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:01.059Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:01.087Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:01.115Z,4,129039,43,255,26,12,0a,df,8e,0f,85,8a,8f,0e,44,49,77,23,00,dc,4d,d2,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:01.117Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:01.150Z,3,130577,160,255,14,c0,b6,78,8a,4a,01,ff,ff,ff,ff,c8,88,24,00\n2014-08-15T19:05:01.152Z,2,129025,160,255,8,07,f1,97,23,48,b9,bd,0e\n2014-08-15T19:05:01.239Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:01.293Z,4,129038,43,255,27,01,e0,53,7f,10,d6,72,c6,0e,a7,57,a9,23,08,f2,87,bf,05,35,40,01,fd,86,00,00,00,fe\n2014-08-15T19:05:01.333Z,4,129039,43,255,26,12,44,11,b6,0d,29,b7,bd,0e,50,f0,97,23,07,be,87,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:01.341Z,2,129026,160,255,8,ff,fc,78,8a,4a,01,ff,ff\n2014-08-15T19:05:01.373Z,4,129038,43,255,27,01,02,8b,c4,0d,eb,e0,e0,0e,18,9b,c9,23,08,db,80,72,01,30,80,01,94,83,00,00,00,fe\n2014-08-15T19:05:01.413Z,4,129038,43,255,27,01,b0,79,7a,10,7d,68,d2,0e,41,db,81,23,ec,df,d8,e8,01,31,80,01,7c,d9,f6,ff,00,fe\n2014-08-15T19:05:01.418Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:01.420Z,3,128267,115,255,8,00,d9,06,00,00,ff,ff,ff\n2014-08-15T19:05:01.432Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:05:01.435Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:01.438Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:01.440Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:01.480Z,6,129540,160,255,135,02,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,ac,0d,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:05:01.482Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:05:01.534Z,4,129039,43,255,26,12,44,11,b6,0d,29,b7,bd,0e,50,f0,97,23,07,be,87,3e,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:05:01.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:01.582Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:01.643Z,4,129038,43,255,27,01,d0,e7,da,0d,d9,9a,33,0f,1a,12,c4,23,09,2f,02,05,00,e4,08,00,ce,ba,00,00,00,fe\n2014-08-15T19:05:01.656Z,3,129029,160,255,43,b7,a9,3f,b4,f8,f2,28,00,52,b9,b3,c9,89,49,08,00,ae,3b,c0,4a,a3,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:01.658Z,3,129033,160,255,8,a9,3f,b4,f8,f2,28,b4,00\n2014-08-15T19:05:01.723Z,4,129038,43,255,27,03,60,68,62,16,a7,cb,b2,0e,68,aa,70,23,04,ec,92,00,00,00,00,00,7d,8e,00,00,05,fe\n2014-08-15T19:05:01.735Z,2,130306,115,255,8,00,41,02,48,1b,f2,ff,ff\n2014-08-15T19:05:01.741Z,3,126992,160,255,8,ff,ff,a9,3f,b4,f8,f2,28\n2014-08-15T19:05:01.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:01.784Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:01.845Z,2,128259,160,255,8,ff,ff,ff,45,01,ff,ff,ff\n2014-08-15T19:05:01.846Z,3,127508,129,255,8,01,b0,05,75,04,1e,75,63\n2014-08-15T19:05:01.865Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:01.900Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:01.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:01.904Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:01.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:01.942Z,3,129291,160,255,8,ff,fc,bd,5a,0c,00,ff,ff\n2014-08-15T19:05:01.944Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:01.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:02.123Z,4,129038,43,255,27,01,20,54,a5,0e,ab,20,50,0f,d6,3a,ad,23,0c,e8,34,45,02,14,66,00,d0,33,00,00,00,fe\n2014-08-15T19:05:02.149Z,3,130577,160,255,14,c0,b7,60,89,45,01,ff,ff,ff,ff,bd,5a,0c,00\n2014-08-15T19:05:02.151Z,2,129025,160,255,8,f5,ef,97,23,8b,b8,bd,0e\n2014-08-15T19:05:02.247Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:02.333Z,4,129039,43,255,26,12,44,11,b6,0d,82,b6,bd,0e,24,ef,97,23,0b,0f,87,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:02.349Z,2,129026,160,255,8,ff,fc,60,89,45,01,ff,ff\n2014-08-15T19:05:02.412Z,3,127508,129,255,8,01,ae,05,2b,04,1e,75,63\n2014-08-15T19:05:02.417Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:02.419Z,3,128267,115,255,8,00,8d,06,00,00,ff,ff,ff\n2014-08-15T19:05:02.431Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:05:02.432Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:02.435Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:02.437Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:02.441Z,2,130306,115,255,8,00,c1,02,e0,26,f2,ff,ff\n2014-08-15T19:05:02.487Z,6,129540,160,255,135,03,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:05:02.490Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:02.492Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:02.523Z,4,129038,43,255,27,01,08,99,b5,0d,10,37,cd,0e,38,4a,a5,23,0c,a2,49,49,01,14,66,00,f3,48,00,00,00,fe\n2014-08-15T19:05:02.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:02.573Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:02.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,36,02,02,00,01,03,03,00,00,00\n2014-08-15T19:05:02.583Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,64,31,d3,23,00,d0,f0,f2,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:05:02.623Z,4,129038,43,255,27,01,58,eb,ad,0e,31,87,5e,0e,38,b5,8f,23,0f,62,2f,d4,01,14,66,08,5c,2e,00,00,00,fe\n2014-08-15T19:05:02.652Z,3,129029,160,255,43,b8,a9,3f,a6,1f,f3,28,00,8a,d7,70,89,89,49,08,00,2a,1e,e5,26,a3,6e,03,a0,25,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:02.654Z,3,129033,160,255,8,a9,3f,a6,1f,f3,28,b4,00\n2014-08-15T19:05:02.733Z,3,127508,129,255,8,01,ae,05,2e,04,1e,75,63\n2014-08-15T19:05:02.749Z,3,126992,160,255,8,ff,ff,a9,3f,a6,1f,f3,28\n2014-08-15T19:05:02.784Z,3,127508,129,255,8,01,ae,05,0c,04,1e,75,63\n2014-08-15T19:05:02.851Z,2,128259,160,255,8,ff,ff,ff,45,01,ff,ff,ff\n2014-08-15T19:05:02.863Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:02.899Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:02.901Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:02.904Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:02.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:02.954Z,3,129291,160,255,8,ff,fc,ba,69,2f,00,ff,ff\n2014-08-15T19:05:02.956Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:02.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:03.045Z,7,129793,43,255,26,04,8f,18,23,00,a0,1e,46,0f,50,68,e2,23,00,e0,17,f3,28,79,c0,01,a9,3f,10,00,fc\n2014-08-15T19:05:03.113Z,4,129038,43,255,27,01,40,37,b7,0d,e4,ba,89,0e,da,74,bf,23,0d,2c,9e,00,00,14,66,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:03.150Z,3,130577,160,255,14,c0,b8,5b,88,45,01,ff,ff,ff,ff,ba,69,2f,00\n2014-08-15T19:05:03.154Z,2,129025,160,255,8,e1,ee,97,23,f1,b7,bd,0e\n2014-08-15T19:05:03.264Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:03.306Z,7,127506,129,255,9,64,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:03.323Z,4,129039,43,255,26,12,6e,c9,b5,0d,71,70,d1,0e,dd,b8,8f,23,0f,dc,56,bf,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:03.357Z,2,129026,160,255,8,ff,fc,5b,88,45,01,ff,ff\n2014-08-15T19:05:03.360Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:03.363Z,4,129039,43,255,26,12,44,11,b6,0d,ba,b5,bd,0e,1a,ee,97,23,0f,b8,89,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:03.419Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:03.421Z,3,128267,115,255,8,00,8d,06,00,00,ff,ff,ff\n2014-08-15T19:05:03.427Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:05:03.431Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:03.432Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:03.435Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:03.463Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:03.499Z,6,129540,160,255,135,04,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:05:03.501Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:03.503Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:03.517Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:05:03.553Z,4,129038,43,255,27,01,c0,0b,7e,10,d4,8a,e2,0e,9e,18,d0,23,0c,a3,04,08,07,14,66,08,d1,06,00,00,00,fe\n2014-08-15T19:05:03.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3a,02,03,00,01,01,04,00,00,00\n2014-08-15T19:05:03.593Z,4,129038,43,255,27,01,b8,83,92,0e,1c,bd,e0,0e,16,c9,75,23,11,8e,c1,05,00,3b,c0,00,59,d3,00,00,00,fe\n2014-08-15T19:05:03.633Z,4,129038,43,255,27,01,e0,53,7f,10,8d,68,c6,0e,12,49,a9,23,10,26,88,c4,05,35,c0,09,fd,86,ff,7f,00,fe\n2014-08-15T19:05:03.668Z,3,129029,160,255,43,b9,a9,3f,c0,46,f3,28,00,c2,f5,2d,49,89,49,08,00,0a,5a,77,f6,a2,6e,03,90,fe,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:03.671Z,3,129033,160,255,8,a9,3f,c0,46,f3,28,b4,00\n2014-08-15T19:05:03.766Z,3,126992,160,255,8,ff,ff,a9,3f,c0,46,f3,28\n2014-08-15T19:05:03.791Z,3,127508,129,255,8,01,ae,05,20,04,1e,75,64\n2014-08-15T19:05:03.861Z,2,128259,160,255,8,ff,ff,ff,45,01,ff,ff,ff\n2014-08-15T19:05:03.870Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:05:03.872Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:03.908Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:03.910Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:03.912Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:03.962Z,3,129291,160,255,8,ff,fc,e1,6e,17,00,ff,ff\n2014-08-15T19:05:03.966Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:04.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:04.083Z,4,129038,43,255,27,01,08,7b,ba,0d,55,48,93,0e,dd,d6,bc,23,0d,37,a0,7c,01,bb,80,01,94,a1,00,00,00,fe\n2014-08-15T19:05:04.123Z,4,129038,43,255,27,01,28,f5,77,10,43,88,a0,0e,32,69,74,23,08,7f,34,a9,00,43,c0,08,67,30,00,00,00,fe\n2014-08-15T19:05:04.135Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:04.158Z,3,130577,160,255,14,c0,b9,f8,88,45,01,ff,ff,ff,ff,e1,6e,17,00\n2014-08-15T19:05:04.160Z,2,129025,160,255,8,cd,ed,97,23,21,b7,bd,0e\n2014-08-15T19:05:04.164Z,4,129038,43,255,27,01,fc,ff,e9,25,30,da,27,0f,a8,c5,be,23,0d,7d,bb,bb,02,98,80,00,7c,bb,1a,00,00,fe\n2014-08-15T19:05:04.266Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:04.357Z,2,129026,160,255,8,ff,fc,f8,88,45,01,ff,ff\n2014-08-15T19:05:04.363Z,4,129039,43,255,26,12,44,11,b6,0d,f2,b4,bd,0e,fe,ec,97,23,13,8f,88,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:04.381Z,2,130306,115,255,8,00,bc,02,26,24,f2,ff,ff\n2014-08-15T19:05:04.425Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,37,3c,01,00\n2014-08-15T19:05:04.427Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:04.431Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:04.433Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:04.437Z,3,128267,115,255,8,00,78,06,00,00,ff,ff,ff\n2014-08-15T19:05:04.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:04.488Z,6,129540,160,255,135,05,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,54,0b,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:05:04.491Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:05:04.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,2a,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:04.583Z,4,129038,43,255,27,03,58,bd,7f,10,f3,9f,ba,0e,f3,02,71,23,13,f8,64,00,00,00,00,08,ab,96,00,00,05,fe\n2014-08-15T19:05:04.622Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:04.664Z,3,129029,160,255,43,ba,a9,3f,da,6d,f3,28,00,14,85,03,0b,89,49,08,00,64,5a,68,c4,a2,6e,03,c0,e4,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:04.667Z,3,129033,160,255,8,a9,3f,da,6d,f3,28,b4,00\n2014-08-15T19:05:04.739Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:04.761Z,3,126992,160,255,8,ff,ff,a9,3f,da,6d,f3,28\n2014-08-15T19:05:04.813Z,4,129038,43,255,27,01,20,f6,7e,10,93,3a,c7,0e,24,e9,7f,23,11,39,31,00,00,b1,00,09,13,c7,00,00,0f,fe\n2014-08-15T19:05:04.833Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:04.865Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:05:04.867Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:04.906Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:04.908Z,3,127508,129,255,8,01,b0,05,5c,04,1e,75,64\n2014-08-15T19:05:04.908Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:04.911Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:05:04.940Z,3,127508,129,255,8,01,af,05,1c,04,1e,75,64\n2014-08-15T19:05:04.966Z,3,129291,160,255,8,ff,fc,1c,77,15,00,ff,ff\n2014-08-15T19:05:04.969Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:05.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:05.033Z,4,129038,43,255,27,01,d2,ff,4a,10,78,8b,b1,0e,b6,01,71,23,11,59,e8,00,00,e5,08,08,37,91,00,00,00,fe\n2014-08-15T19:05:05.042Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:05.143Z,4,129038,43,255,27,01,b8,f5,67,12,11,ee,8f,0e,8d,02,91,23,10,56,2d,d1,03,63,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:05:05.169Z,3,130577,160,255,14,c0,ba,d5,88,46,01,ff,ff,ff,ff,1c,77,15,00\n2014-08-15T19:05:05.172Z,2,129025,160,255,8,c2,ec,97,23,4a,b6,bd,0e\n2014-08-15T19:05:05.290Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:05.294Z,4,129038,43,255,27,01,c8,d4,7f,10,0b,c3,df,0e,cb,13,c4,23,11,38,7c,2d,04,d5,08,00,20,7e,00,00,00,fe\n2014-08-15T19:05:05.348Z,2,130306,115,255,8,00,6a,02,eb,19,f2,ff,ff\n2014-08-15T19:05:05.368Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:05.373Z,4,129039,43,255,26,12,44,11,b6,0d,4b,b4,bd,0e,e3,eb,97,23,17,20,87,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:05.376Z,2,129026,160,255,8,ff,fc,d5,88,46,01,ff,ff\n2014-08-15T19:05:05.407Z,3,127508,129,255,8,01,af,05,34,04,1e,75,64\n2014-08-15T19:05:05.423Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,4a,3c,01,00\n2014-08-15T19:05:05.425Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:05.428Z,3,128267,115,255,8,00,93,06,00,00,ff,ff,ff\n2014-08-15T19:05:05.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:05.432Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:05.435Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:05.439Z,4,129038,43,255,27,01,e0,53,7f,10,09,65,c6,0e,40,44,a9,23,18,49,88,bf,05,c8,00,01,ac,87,00,00,00,fe\n2014-08-15T19:05:05.495Z,6,129540,160,255,135,06,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:05:05.497Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:05:05.526Z,4,129041,43,255,48,15,b1,54,2c,3b,23,4a,b4,0e,aa,6e,87,23,00,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:05.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2a,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:05.679Z,3,129029,160,255,43,bb,a9,3f,1c,95,f3,28,00,3e,a9,ea,cb,88,49,08,00,c8,4e,08,9a,a2,6e,03,40,ac,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:05.683Z,3,129033,160,255,8,a9,3f,1c,95,f3,28,b4,00\n2014-08-15T19:05:05.747Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:05.775Z,3,126992,160,255,8,ff,ff,a9,3f,1c,95,f3,28\n2014-08-15T19:05:05.863Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:05.870Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:05.902Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:05.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:05.909Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:05.921Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,96,f6,c7,23,00,10,8d,f3,28,b4,c0,01,a9,3f,10,00,fc\n2014-08-15T19:05:05.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:05.964Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:05.973Z,3,129291,160,255,8,ff,fc,db,63,18,00,ff,ff\n2014-08-15T19:05:06.026Z,3,127508,129,255,8,01,ae,05,0a,04,1e,75,64\n2014-08-15T19:05:06.172Z,3,130577,160,255,14,c0,bb,5b,88,41,01,ff,ff,ff,ff,db,63,18,00\n2014-08-15T19:05:06.174Z,2,129025,160,255,8,b3,eb,97,23,94,b5,bd,0e\n2014-08-15T19:05:06.182Z,7,127506,129,255,9,65,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:06.270Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:06.283Z,4,129038,43,255,27,01,10,04,1a,0e,2d,ea,fe,0e,41,f9,ae,23,10,83,b0,9c,02,2f,40,09,9f,b2,00,00,00,fe\n2014-08-15T19:05:06.332Z,2,130306,115,255,8,00,ad,02,bd,20,f2,ff,ff\n2014-08-15T19:05:06.352Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:06.376Z,2,129026,160,255,8,ff,fc,5b,88,41,01,ff,ff\n2014-08-15T19:05:06.382Z,4,129039,43,255,26,12,44,11,b6,0d,73,b3,bd,0e,c8,ea,97,23,1b,be,87,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:06.420Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,4a,3c,01,00\n2014-08-15T19:05:06.422Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:06.424Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:06.428Z,3,128267,115,255,8,00,78,06,00,00,ff,ff,ff\n2014-08-15T19:05:06.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:06.432Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:06.507Z,6,129540,160,255,135,07,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,ac,0d,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:05:06.509Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:05:06.574Z,4,129038,43,255,27,03,a0,1a,bf,0d,9b,be,da,0e,9a,b8,da,23,1d,b6,f2,05,00,1a,4b,09,68,12,fd,ff,05,fe\n2014-08-15T19:05:06.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,29,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:06.675Z,3,129029,160,255,43,bc,a9,3f,36,bc,f3,28,00,32,68,0d,8d,88,49,08,00,da,e9,37,72,a2,6e,03,00,9f,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:06.677Z,3,129033,160,255,8,a9,3f,36,bc,f3,28,b4,00\n2014-08-15T19:05:06.709Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:06.771Z,3,126992,160,255,8,ff,ff,a9,3f,36,bc,f3,28\n2014-08-15T19:05:06.803Z,3,127508,129,255,8,01,ae,05,07,04,1e,75,65\n2014-08-15T19:05:06.862Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:06.872Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:06.892Z,4,129038,43,255,27,01,88,d6,d0,0c,87,e7,e3,0e,4e,1d,b7,23,19,4f,98,41,03,41,40,09,14,9a,00,00,00,fe\n2014-08-15T19:05:06.899Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:06.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:06.904Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:06.911Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:06.933Z,4,129038,43,255,27,01,c8,27,16,0e,3b,80,6a,0e,e2,5c,94,23,11,5c,31,50,03,39,40,01,16,31,14,00,00,fe\n2014-08-15T19:05:06.935Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:06.968Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:06.977Z,3,129291,160,255,8,ff,fc,d9,4c,17,00,ff,ff\n2014-08-15T19:05:07.181Z,3,130577,160,255,14,c0,bc,f2,87,40,01,ff,ff,ff,ff,d9,4c,17,00\n2014-08-15T19:05:07.183Z,2,129025,160,255,8,a5,ea,97,23,e9,b4,bd,0e\n2014-08-15T19:05:07.281Z,2,130306,115,255,8,00,31,02,8e,18,f2,ff,ff\n2014-08-15T19:05:07.289Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:07.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:07.304Z,4,129038,43,255,27,01,e0,53,7f,10,f0,5d,c6,0e,7c,3a,a9,23,20,a0,88,bf,05,35,c0,08,ac,87,ff,7f,00,fe\n2014-08-15T19:05:07.386Z,2,129026,160,255,8,ff,fc,be,87,3e,01,ff,ff\n2014-08-15T19:05:07.405Z,4,129039,43,255,26,12,44,11,b6,0d,ab,b2,bd,0e,ac,e9,97,23,1f,f2,87,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:07.416Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,4a,3c,01,00\n2014-08-15T19:05:07.419Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:07.421Z,3,128267,115,255,8,00,78,06,00,00,ff,ff,ff\n2014-08-15T19:05:07.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:07.427Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:07.429Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:07.524Z,6,129540,160,255,135,08,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,28,0a,00,00,00,00,f1\n2014-08-15T19:05:07.527Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:05:07.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:07.599Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:07.690Z,3,129029,160,255,43,bd,a9,3f,46,e3,f3,28,00,18,2d,5a,4f,88,49,08,00,9c,ae,8a,48,a2,6e,03,20,5e,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:07.692Z,3,129033,160,255,8,a9,3f,46,e3,f3,28,b4,00\n2014-08-15T19:05:07.725Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:07.783Z,3,126992,160,255,8,ff,ff,a9,3f,46,e3,f3,28\n2014-08-15T19:05:07.861Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:07.869Z,3,127508,129,255,8,01,b0,05,33,04,1e,75,65\n2014-08-15T19:05:07.884Z,3,127508,129,255,8,01,ac,05,cc,03,1e,75,65\n2014-08-15T19:05:07.887Z,2,128259,160,255,8,ff,ff,ff,3e,01,ff,ff,ff\n2014-08-15T19:05:07.902Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:07.904Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:07.906Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:07.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:07.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:07.989Z,3,129291,160,255,8,ff,fc,e8,49,16,00,ff,ff\n2014-08-15T19:05:08.023Z,4,129038,43,255,27,01,b8,53,a6,0c,0f,e7,7a,0e,94,4e,9f,23,20,8e,ac,78,02,14,66,08,88,ae,00,00,00,fe\n2014-08-15T19:05:08.186Z,3,130577,160,255,14,c0,bd,be,87,3e,01,ff,ff,ff,ff,e8,49,16,00\n2014-08-15T19:05:08.188Z,2,129025,160,255,8,9c,e9,97,23,36,b4,bd,0e\n2014-08-15T19:05:08.252Z,2,130306,115,255,8,00,fa,02,6c,21,f2,ff,ff\n2014-08-15T19:05:08.264Z,4,129038,43,255,27,01,58,43,c9,0e,4b,fa,d5,0e,4e,95,a9,23,20,77,ae,cb,02,6e,40,09,36,af,00,00,00,fe\n2014-08-15T19:05:08.272Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:08.277Z,3,127508,129,255,8,01,ae,05,eb,03,1e,75,65\n2014-08-15T19:05:08.287Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:08.354Z,3,127508,129,255,8,01,af,05,fa,03,1e,75,65\n2014-08-15T19:05:08.391Z,2,129026,160,255,8,ff,fc,20,87,40,01,ff,ff\n2014-08-15T19:05:08.414Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,4a,3c,01,00\n2014-08-15T19:05:08.417Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:08.420Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:08.422Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:08.436Z,4,129041,43,255,48,15,b0,54,2c,3b,8d,97,a7,0e,3b,12,92,23,08,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,30,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:08.474Z,4,129039,43,255,26,12,44,11,b6,0d,f3,b1,bd,0e,a2,e8,97,23,23,4f,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:08.519Z,6,129540,160,255,135,09,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:05:08.521Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:08.555Z,7,127506,129,255,9,66,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:08.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,36,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:08.594Z,3,127508,129,255,8,01,ac,05,ba,03,1e,75,66\n2014-08-15T19:05:08.612Z,4,129039,43,255,26,12,ec,d7,b5,0d,85,c7,bb,0e,12,be,8f,23,20,ec,7d,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:08.694Z,3,129029,160,255,43,be,a9,3f,2e,0a,f4,28,00,ae,1b,ca,0f,88,49,08,00,d6,b4,a8,21,a2,6e,03,a0,96,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:08.697Z,3,129033,160,255,8,a9,3f,2e,0a,f4,28,b4,00\n2014-08-15T19:05:08.709Z,3,128267,115,255,8,00,f5,05,00,00,ff,ff,ff\n2014-08-15T19:05:08.712Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:08.740Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:08.789Z,3,126992,160,255,8,ff,ff,a9,3f,2e,0a,f4,28\n2014-08-15T19:05:08.861Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:08.884Z,4,129041,43,255,48,15,ae,54,2c,3b,17,8e,ee,0e,80,3b,86,23,08,14,00,14,00,0a,00,0a,00,16,02,e2,00,16,01,42,55,4f,59,2d,31,36,33,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:08.891Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:08.901Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:08.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:08.905Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:08.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:08.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:08.992Z,3,129291,160,255,8,ff,fc,3f,4c,2e,00,ff,ff\n2014-08-15T19:05:09.004Z,4,129038,43,255,27,01,68,e2,20,12,04,90,fd,0e,20,42,ad,23,24,08,b0,f8,01,4e,81,09,f1,b1,00,00,00,fe\n2014-08-15T19:05:09.187Z,3,130577,160,255,14,c0,be,20,87,40,01,ff,ff,ff,ff,3f,4c,2e,00\n2014-08-15T19:05:09.191Z,2,129025,160,255,8,8b,e8,97,23,8f,b3,bd,0e\n2014-08-15T19:05:09.218Z,6,129794,43,255,75,05,d2,ff,4a,10,c8,c9,84,00,55,44,42,53,20,20,20,4d,41,52,4b,20,4c,49,55,42,4f,56,53,4b,49,49,20,20,20,20,20,1e,b2,02,96,00,50,00,dc,00,fd,40,00,88,2a,11,ee,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:05:09.221Z,2,130306,115,255,8,00,b7,02,31,17,f2,ff,ff\n2014-08-15T19:05:09.257Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:09.269Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:09.300Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:09.353Z,4,129038,43,255,27,01,c0,0b,7e,10,66,94,e2,0e,de,37,d0,23,20,2e,05,08,07,5a,c0,00,d1,06,00,00,00,fe\n2014-08-15T19:05:09.396Z,2,129026,160,255,8,ff,fc,ec,86,41,01,ff,ff\n2014-08-15T19:05:09.404Z,4,129038,43,255,27,01,92,12,4b,10,e0,24,fb,0e,60,37,ae,23,24,e6,af,c0,02,5d,01,01,42,b1,03,00,00,fe\n2014-08-15T19:05:09.412Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,4a,3c,01,00\n2014-08-15T19:05:09.414Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:09.418Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:09.420Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:09.422Z,3,128267,115,255,8,00,32,06,00,00,ff,ff,ff\n2014-08-15T19:05:09.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:09.443Z,4,129039,43,255,26,12,44,11,b6,0d,3c,b1,bd,0e,86,e7,97,23,27,0f,87,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:09.483Z,4,129038,43,255,27,01,fc,ff,e9,25,8f,bf,27,0f,b8,c5,be,23,21,ce,ba,c0,02,5e,81,08,7c,bb,3b,00,00,fe\n2014-08-15T19:05:09.528Z,6,129540,160,255,135,0a,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f1\n2014-08-15T19:05:09.531Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:05:09.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,2f,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:09.624Z,4,129038,43,255,27,01,e0,53,7f,10,53,53,c6,0e,f8,2b,a9,23,28,7e,88,bf,05,65,01,01,fd,86,ff,7f,00,fe\n2014-08-15T19:05:09.674Z,4,129038,43,255,27,01,88,44,7d,10,45,23,c7,0e,0c,ed,7f,23,20,cb,29,00,00,bf,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:09.706Z,3,129029,160,255,43,bf,a9,3f,7a,31,f4,28,00,1c,9f,4b,cf,87,49,08,00,a4,f0,3d,fb,a1,6e,03,40,1d,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:09.708Z,3,129033,160,255,8,a9,3f,7a,31,f4,28,b4,00\n2014-08-15T19:05:09.714Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:09.791Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:09.801Z,3,126992,160,255,8,ff,ff,a9,3f,7a,31,f4,28\n2014-08-15T19:05:09.869Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:09.893Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:09.907Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:09.909Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:09.912Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:09.963Z,4,129038,43,255,27,01,10,dc,6d,0f,f9,60,5e,0e,db,62,9c,23,25,2b,ad,83,02,72,81,01,88,ae,f6,ff,00,fe\n2014-08-15T19:05:09.994Z,3,129291,160,255,8,ff,fc,3f,4c,2e,00,ff,ff\n2014-08-15T19:05:09.997Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:10.032Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:10.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:10.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,29,f4,28,78,81,0a,a9,3f,00,00,fc\n2014-08-15T19:05:10.189Z,2,130306,115,255,8,00,93,02,03,1e,f2,ff,ff\n2014-08-15T19:05:10.200Z,3,130577,160,255,14,c0,bf,ec,86,41,01,ff,ff,ff,ff,3f,4c,2e,00\n2014-08-15T19:05:10.202Z,2,129025,160,255,8,76,e7,97,23,ea,b2,bd,0e\n2014-08-15T19:05:10.209Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:10.253Z,4,129038,43,255,27,03,c0,1d,7b,10,cf,a6,dd,0e,91,82,76,23,24,66,a5,00,00,00,00,0a,e6,82,00,00,05,fe\n2014-08-15T19:05:10.302Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:10.361Z,3,127508,129,255,8,01,af,05,02,04,1e,75,66\n2014-08-15T19:05:10.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,29,f4,28,7e,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:05:10.397Z,2,129026,160,255,8,ff,fc,89,87,43,01,ff,ff\n2014-08-15T19:05:10.403Z,4,129038,43,255,27,01,b0,79,7a,10,a8,53,d2,0e,f9,e6,81,23,20,76,d8,e8,01,14,66,08,7c,d9,f6,ff,00,fe\n2014-08-15T19:05:10.409Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:10.412Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:10.414Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:10.417Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:10.425Z,3,128267,115,255,8,00,fe,05,00,00,ff,ff,ff\n2014-08-15T19:05:10.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:10.443Z,4,129038,43,255,27,01,b8,f5,67,12,1f,0d,90,0e,63,09,91,23,28,45,2d,d1,03,64,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:05:10.483Z,4,129039,43,255,26,12,44,11,b6,0d,53,b0,bd,0e,6b,e6,97,23,2b,1b,89,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:10.527Z,6,129540,160,255,135,0b,ff,0b,20,68,30,5a,97,80,0c,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,ac,0d,00,00,00,00,f1\n2014-08-15T19:05:10.531Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:05:10.537Z,4,129038,43,255,27,01,6c,70,4a,10,53,fe,01,0f,f0,d0,a3,23,23,73,35,bf,01,86,81,00,d0,33,0a,00,00,fe\n2014-08-15T19:05:10.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:10.705Z,3,129029,160,255,43,c0,a9,3f,bc,58,f4,28,00,62,b7,de,8d,87,49,08,00,32,d3,5f,cd,a1,6e,03,80,48,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:10.708Z,3,129033,160,255,8,a9,3f,bc,58,f4,28,b4,00\n2014-08-15T19:05:10.710Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:10.766Z,3,127508,129,255,8,01,ae,05,cc,03,1e,75,66\n2014-08-15T19:05:10.800Z,3,126992,160,255,8,ff,ff,a9,3f,bc,58,f4,28\n2014-08-15T19:05:10.860Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:10.895Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:10.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:10.901Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:10.901Z,2,128259,160,255,8,ff,ff,ff,43,01,ff,ff,ff\n2014-08-15T19:05:10.924Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:10.953Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:11.013Z,3,129291,160,255,8,ff,fc,d7,5e,3c,00,ff,ff\n2014-08-15T19:05:11.163Z,4,129039,43,255,26,12,9e,d6,c3,0d,48,c4,c6,0e,10,f7,93,23,2a,50,53,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:11.173Z,2,130306,115,255,8,00,db,02,19,13,f2,ff,ff\n2014-08-15T19:05:11.194Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:11.198Z,3,130577,160,255,14,c0,c0,89,87,43,01,ff,ff,ff,ff,d7,5e,3c,00\n2014-08-15T19:05:11.205Z,2,129025,160,255,8,5d,e6,97,23,25,b2,bd,0e\n2014-08-15T19:05:11.273Z,4,129038,43,255,27,01,98,69,b3,0e,d3,32,8f,0e,d9,a6,a0,23,25,a0,af,f8,01,a3,81,00,42,b1,00,00,00,fe\n2014-08-15T19:05:11.302Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:11.313Z,4,129038,43,255,27,01,02,8b,c4,0d,5c,dc,e0,0e,b9,8e,c9,23,30,db,80,6d,01,92,c0,09,94,83,00,00,00,fe\n2014-08-15T19:05:11.353Z,4,129038,43,255,27,01,e0,53,7f,10,e0,4f,c6,0e,26,27,a9,23,30,26,88,bf,05,14,66,08,fd,86,ff,7f,00,fe\n2014-08-15T19:05:11.379Z,3,127508,129,255,8,01,b0,05,06,04,1e,75,66\n2014-08-15T19:05:11.395Z,2,129026,160,255,8,ff,fc,b2,88,41,01,ff,ff\n2014-08-15T19:05:11.407Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:11.409Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:11.411Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:11.415Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:11.419Z,3,128267,115,255,8,00,07,06,00,00,ff,ff,ff\n2014-08-15T19:05:11.421Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:11.454Z,4,129039,43,255,26,12,44,11,b6,0d,69,af,bd,0e,71,e5,97,23,2f,38,8b,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:11.493Z,4,129038,43,255,27,01,c0,0b,7e,10,ff,99,e2,0e,ae,4a,d0,23,2c,40,05,08,07,c5,08,08,d1,06,00,00,00,fe\n2014-08-15T19:05:11.533Z,4,129038,43,255,27,01,c8,d4,7f,10,17,c1,df,0e,c0,f9,c3,23,2d,04,7c,2d,04,43,c0,08,20,7e,00,00,00,fe\n2014-08-15T19:05:11.556Z,6,129540,160,255,135,0c,ff,0b,20,68,30,5a,97,80,0c,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,3c,0f,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,ac,0d,00,00,00,00,f6\n2014-08-15T19:05:11.558Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:11.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,24,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:11.713Z,3,129029,160,255,43,c1,a9,3f,fe,7f,f4,28,00,dc,b1,a2,50,87,49,08,00,8e,56,e4,96,a1,6e,03,e0,32,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:11.715Z,3,129033,160,255,8,a9,3f,fe,7f,f4,28,b4,00\n2014-08-15T19:05:11.727Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:11.811Z,3,126992,160,255,8,ff,ff,a9,3f,fe,7f,f4,28\n2014-08-15T19:05:11.861Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:05:11.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:11.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:11.899Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:05:11.916Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:11.927Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:11.953Z,3,127508,129,255,8,01,b1,05,27,04,1e,75,66\n2014-08-15T19:05:11.957Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:12.018Z,3,129291,160,255,8,ff,fc,8c,4d,33,00,ff,ff\n2014-08-15T19:05:12.022Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:12.124Z,2,130306,115,255,8,00,4b,02,82,16,f2,ff,ff\n2014-08-15T19:05:12.144Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:12.146Z,7,127506,129,255,9,67,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:12.223Z,3,130577,160,255,14,c0,c1,b2,88,41,01,ff,ff,ff,ff,8c,4d,33,00\n2014-08-15T19:05:12.227Z,2,129025,160,255,8,56,e5,97,23,3b,b1,bd,0e\n2014-08-15T19:05:12.323Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:12.330Z,3,127508,129,255,8,01,af,05,e2,03,1e,75,67\n2014-08-15T19:05:12.330Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:12.404Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:12.406Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:12.409Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:12.411Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:12.415Z,2,129026,160,255,8,ff,fc,5b,88,41,01,ff,ff\n2014-08-15T19:05:12.444Z,4,129038,43,255,27,01,58,eb,ad,0e,1d,a6,5e,0e,d1,ba,8f,23,37,62,2f,d4,01,cf,01,01,5c,2e,00,00,00,fe\n2014-08-15T19:05:12.467Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:12.483Z,4,129039,43,255,26,12,44,11,b6,0d,a1,ae,bd,0e,66,e4,97,23,33,f8,88,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:12.572Z,6,129540,160,255,135,0d,ff,0b,20,68,30,5a,97,e4,0c,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,d8,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f6\n2014-08-15T19:05:12.574Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:12.576Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:12.580Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,08,4b,02,02,00,01,04,03,00,00,00\n2014-08-15T19:05:12.584Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,64,31,d3,23,00,70,77,f4,28,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:05:12.663Z,4,129039,43,255,26,12,66,58,b6,0d,41,fc,bb,0e,91,bb,92,23,33,d5,82,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:12.699Z,3,128267,115,255,8,00,07,06,00,00,ff,ff,ff\n2014-08-15T19:05:12.701Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:12.728Z,3,129029,160,255,43,c2,a9,3f,40,a7,f4,28,00,ea,e1,dd,13,87,49,08,00,b2,f1,10,65,a1,6e,03,20,40,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:12.730Z,3,129033,160,255,8,a9,3f,40,a7,f4,28,b4,00\n2014-08-15T19:05:12.732Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:12.824Z,3,127508,129,255,8,01,ae,05,c0,03,1e,75,67\n2014-08-15T19:05:12.825Z,3,126992,160,255,8,ff,ff,a9,3f,40,a7,f4,28\n2014-08-15T19:05:12.859Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:12.896Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:12.898Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:12.900Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:12.916Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:12.934Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:12.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:13.018Z,3,129291,160,255,8,ff,fc,f4,71,32,00,ff,ff\n2014-08-15T19:05:13.021Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:13.033Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,1e,68,e2,23,00,80,9e,f4,28,7c,c0,09,a9,3f,10,00,fc\n2014-08-15T19:05:13.092Z,2,130306,115,255,8,00,98,02,b1,1e,f2,ff,ff\n2014-08-15T19:05:13.118Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:13.223Z,3,130577,160,255,14,c0,c2,5b,88,41,01,ff,ff,ff,ff,f4,71,32,00\n2014-08-15T19:05:13.225Z,2,129025,160,255,8,51,e4,97,23,65,b0,bd,0e\n2014-08-15T19:05:13.273Z,4,129038,43,255,27,01,b0,7f,79,10,39,d4,b4,0e,21,7c,6f,23,30,03,a6,00,00,ee,81,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:13.323Z,4,129038,43,255,27,01,c0,0b,7e,10,e3,9b,e2,0e,de,50,d0,23,30,63,05,08,07,58,c0,01,d1,06,00,00,00,fe\n2014-08-15T19:05:13.327Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:13.363Z,4,129038,43,255,27,01,b8,83,92,0e,ad,bb,e0,0e,16,c9,75,23,35,8e,c1,05,00,a9,08,08,07,d4,ff,7f,00,fe\n2014-08-15T19:05:13.401Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:13.405Z,4,129039,43,255,26,12,c4,e2,c3,0d,a5,b9,c2,0e,9a,62,95,23,34,3e,53,4e,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:05:13.407Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:13.411Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:13.413Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:13.423Z,2,129026,160,255,8,ff,fc,26,88,3c,01,ff,ff\n2014-08-15T19:05:13.425Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:13.443Z,4,129038,43,255,27,01,28,f5,77,10,48,95,a0,0e,32,69,74,23,30,d1,33,ae,00,f2,01,01,67,30,00,00,00,fe\n2014-08-15T19:05:13.455Z,3,127508,129,255,8,01,ae,05,cb,03,1e,75,67\n2014-08-15T19:05:13.483Z,4,129039,43,255,26,12,44,11,b6,0d,d9,ad,bd,0e,4b,e3,97,23,37,b2,88,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:13.523Z,4,129038,43,255,27,01,e0,53,7f,10,65,45,c6,0e,a2,18,a9,23,38,6c,88,bf,05,14,66,00,fd,86,00,00,00,fe\n2014-08-15T19:05:13.560Z,6,129540,160,255,135,0e,ff,0b,20,68,30,5a,97,48,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,d8,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,60,09,00,00,00,00,f6\n2014-08-15T19:05:13.563Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:13.567Z,4,129038,43,255,27,01,c8,27,16,0e,98,a8,6a,0e,be,62,94,23,2d,7f,31,50,03,d2,08,08,16,31,14,00,00,fe\n2014-08-15T19:05:13.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,3c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:13.603Z,4,129038,43,255,27,01,08,99,b5,0d,1b,51,cd,0e,38,4a,a5,23,38,50,4a,49,01,35,c0,08,f3,48,00,00,00,fe\n2014-08-15T19:05:13.660Z,3,127508,129,255,8,01,b0,05,f7,03,1e,75,67\n2014-08-15T19:05:13.710Z,3,128267,115,255,8,00,07,06,00,00,ff,ff,ff\n2014-08-15T19:05:13.713Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:13.723Z,4,129038,43,255,27,01,88,d6,d0,0c,45,cb,e3,0e,76,0e,b7,23,35,94,98,41,03,ff,81,01,14,9a,00,00,00,fe\n2014-08-15T19:05:13.734Z,3,129029,160,255,43,c3,a9,3f,8c,ce,f4,28,00,06,0c,ef,d5,86,49,08,00,3e,51,9f,3b,a1,6e,03,70,92,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:13.736Z,3,129033,160,255,8,a9,3f,8c,ce,f4,28,b4,00\n2014-08-15T19:05:13.740Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:13.764Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,a2,bf,76,23,35,ee,0e,00,00,00,82,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:13.832Z,3,126992,160,255,8,ff,ff,a9,3f,8c,ce,f4,28\n2014-08-15T19:05:13.861Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:13.898Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:05:13.900Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:13.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:13.904Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:13.922Z,2,128259,160,255,8,ff,ff,ff,3c,01,ff,ff,ff\n2014-08-15T19:05:13.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:13.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:13.993Z,4,129038,43,255,27,01,20,f6,7e,10,83,3a,c7,0e,46,e9,7f,23,35,39,31,00,00,09,82,00,13,c7,00,00,0f,fe\n2014-08-15T19:05:14.024Z,3,129291,160,255,8,ff,fc,e6,55,26,00,ff,ff\n2014-08-15T19:05:14.033Z,4,129038,43,255,27,01,08,7b,ba,0d,07,31,93,0e,c4,cf,bc,23,35,e6,a0,7c,01,20,40,09,94,a1,00,00,00,fe\n2014-08-15T19:05:14.056Z,2,130306,115,255,8,00,55,02,77,23,f2,ff,ff\n2014-08-15T19:05:14.090Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:14.230Z,3,130577,160,255,14,c0,c3,26,88,3c,01,ff,ff,ff,ff,e6,55,26,00\n2014-08-15T19:05:14.232Z,2,129025,160,255,8,47,e3,97,23,b3,af,bd,0e\n2014-08-15T19:05:14.290Z,3,127508,129,255,8,01,ae,05,be,03,1e,75,67\n2014-08-15T19:05:14.330Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:14.399Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:14.401Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:14.404Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:14.406Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:14.432Z,2,129026,160,255,8,ff,fc,5b,88,3a,01,ff,ff\n2014-08-15T19:05:14.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:14.493Z,4,129039,43,255,26,12,44,11,b6,0d,22,ad,bd,0e,51,e2,97,23,3b,d5,88,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:14.560Z,6,129540,160,255,135,0f,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:05:14.562Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:05:14.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,38,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:14.619Z,7,127506,129,255,9,68,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:14.740Z,3,129029,160,255,43,c4,a9,3f,d8,f5,f4,28,00,3c,a7,18,9a,86,49,08,00,88,d4,26,0f,a1,6e,03,50,44,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:14.742Z,3,129033,160,255,8,a9,3f,d8,f5,f4,28,b4,00\n2014-08-15T19:05:14.817Z,3,127508,129,255,8,01,b0,05,04,04,1e,75,68\n2014-08-15T19:05:14.836Z,3,126992,160,255,8,ff,ff,a9,3f,d8,f5,f4,28\n2014-08-15T19:05:14.862Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:14.901Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:14.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:14.905Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:14.928Z,2,128259,160,255,8,ff,ff,ff,3a,01,ff,ff,ff\n2014-08-15T19:05:14.958Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:14.987Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:15.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:15.029Z,3,129291,160,255,8,ff,fc,02,63,26,00,ff,ff\n2014-08-15T19:05:15.049Z,2,130306,115,255,8,00,65,02,f7,1b,f2,ff,ff\n2014-08-15T19:05:15.069Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:15.189Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:15.233Z,3,130577,160,255,14,c0,c4,5b,88,3a,01,ff,ff,ff,ff,02,63,26,00\n2014-08-15T19:05:15.235Z,2,129025,160,255,8,46,e2,97,23,f4,ae,bd,0e\n2014-08-15T19:05:15.298Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:15.338Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:15.396Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:15.399Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:15.402Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:15.404Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:15.433Z,2,129026,160,255,8,ff,fc,8f,88,3b,01,ff,ff\n2014-08-15T19:05:15.464Z,4,129038,43,255,27,01,e0,53,7f,10,6d,3e,c6,0e,de,0e,a9,23,40,6c,88,ba,05,d1,08,08,fd,86,ff,7f,00,fe\n2014-08-15T19:05:15.512Z,4,129039,43,255,26,12,44,11,b6,0d,49,ac,bd,0e,57,e1,97,23,3f,66,8a,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:15.553Z,4,129038,43,255,27,01,d2,ff,4a,10,78,8b,b1,0e,b6,01,71,23,3d,59,e8,00,00,4c,c0,00,37,91,00,00,00,fe\n2014-08-15T19:05:15.570Z,6,129540,160,255,135,10,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:05:15.572Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:05:15.579Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,3a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:15.709Z,3,128267,115,255,8,00,96,06,00,00,ff,ff,ff\n2014-08-15T19:05:15.711Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:15.739Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:15.773Z,3,129029,160,255,43,c5,a9,3f,4c,1d,f5,28,00,14,72,8f,5d,86,49,08,00,d4,da,41,de,a0,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:15.776Z,3,129033,160,255,8,a9,3f,4c,1d,f5,28,b4,00\n2014-08-15T19:05:15.803Z,4,129038,43,255,27,01,10,04,1a,0e,9a,bc,fe,0e,be,f2,ae,23,38,83,b0,9c,02,c3,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:05:15.862Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:15.864Z,3,126992,160,255,8,ff,ff,a9,3f,4c,1d,f5,28\n2014-08-15T19:05:15.902Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:15.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:15.908Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:15.914Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,96,f6,c7,23,00,b0,13,f5,28,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:05:15.930Z,3,127508,129,255,8,01,ac,05,7c,03,1e,75,68\n2014-08-15T19:05:15.957Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:15.967Z,2,128259,160,255,8,ff,ff,ff,3b,01,ff,ff,ff\n2014-08-15T19:05:15.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:16.008Z,3,127508,129,255,8,01,b0,05,e5,03,1e,75,68\n2014-08-15T19:05:16.036Z,2,130306,115,255,8,00,36,02,8f,27,f2,ff,ff\n2014-08-15T19:05:16.062Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:16.069Z,3,129291,160,255,8,ff,fc,9f,69,1f,00,ff,ff\n2014-08-15T19:05:16.203Z,4,129038,43,255,27,01,fc,ff,e9,25,98,9f,27,0f,a8,c5,be,23,3d,7d,bb,bb,02,5c,82,00,7c,bb,46,00,00,fe\n2014-08-15T19:05:16.265Z,3,130577,160,255,14,c0,c5,8f,88,3b,01,ff,ff,ff,ff,9f,69,1f,00\n2014-08-15T19:05:16.267Z,2,129025,160,255,8,42,e1,97,23,22,ae,bd,0e\n2014-08-15T19:05:16.314Z,6,129809,43,255,25,18,44,11,b6,0d,41,41,56,41,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:16.347Z,3,127508,129,255,8,01,af,05,be,03,1e,75,68\n2014-08-15T19:05:16.365Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:16.393Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:16.396Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:16.399Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:16.401Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:16.466Z,2,129026,160,255,8,ff,fc,15,88,3b,01,ff,ff\n2014-08-15T19:05:16.523Z,4,129039,43,255,26,12,44,11,b6,0d,92,ab,bd,0e,5d,e0,97,23,43,03,88,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:16.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,1b,02,02,00,04,01,02,00,00,00\n2014-08-15T19:05:16.605Z,6,129540,160,255,135,11,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,80,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f1\n2014-08-15T19:05:16.607Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:16.690Z,3,128267,115,255,8,00,2c,06,00,00,ff,ff,ff\n2014-08-15T19:05:16.692Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:16.720Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:16.728Z,4,129041,43,255,48,15,b7,54,2c,3b,47,71,9a,0e,ce,f2,76,23,30,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,36,39,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:16.776Z,3,129029,160,255,43,c6,a9,3f,66,44,f5,28,00,9c,66,29,1f,86,49,08,00,b2,93,40,b2,a0,6e,03,90,51,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:16.779Z,3,129033,160,255,8,a9,3f,66,44,f5,28,b4,00\n2014-08-15T19:05:16.858Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:16.874Z,3,126992,160,255,8,ff,ff,a9,3f,66,44,f5,28\n2014-08-15T19:05:16.895Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:16.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:16.899Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:16.924Z,4,129039,43,255,26,12,0a,ec,b5,0d,a5,46,cb,0e,d2,36,92,23,3c,be,54,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:16.926Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:16.957Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:16.965Z,2,128259,160,255,8,ff,ff,ff,3b,01,ff,ff,ff\n2014-08-15T19:05:16.969Z,3,127508,129,255,8,01,ac,05,83,03,1e,75,68\n2014-08-15T19:05:16.984Z,2,130306,115,255,8,00,65,02,31,17,f2,ff,ff\n2014-08-15T19:05:17.041Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:17.064Z,4,129038,43,255,27,01,b8,f5,67,12,11,39,90,0e,59,13,91,23,40,56,2d,d6,03,b5,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:05:17.068Z,3,129291,160,255,8,ff,fc,61,65,24,00,ff,ff\n2014-08-15T19:05:17.143Z,4,129038,43,255,27,01,b8,53,a6,0c,6d,c1,7a,0e,b8,48,9f,23,44,b1,ac,78,02,0c,c3,00,88,ae,00,00,00,fe\n2014-08-15T19:05:17.243Z,4,129038,43,255,27,01,68,e2,20,12,80,73,fd,0e,df,3e,ad,23,44,1a,b0,fd,01,14,66,00,f1,b1,00,00,00,fe\n2014-08-15T19:05:17.271Z,3,130577,160,255,14,c0,c6,15,88,3b,01,ff,ff,ff,ff,61,65,24,00\n2014-08-15T19:05:17.274Z,2,129025,160,255,8,36,e0,97,23,65,ad,bd,0e\n2014-08-15T19:05:17.367Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:17.382Z,6,129809,43,255,25,18,08,57,b6,0d,42,49,41,4e,43,4f,40,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:17.391Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:17.394Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:17.396Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:17.398Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:17.424Z,4,129038,43,255,27,01,e0,53,7f,10,0b,3b,c6,0e,0c,0a,a9,23,48,15,88,ba,05,14,66,00,ac,87,00,00,00,fe\n2014-08-15T19:05:17.436Z,7,127506,129,255,9,69,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:17.470Z,2,129026,160,255,8,ff,fc,38,88,3d,01,ff,ff\n2014-08-15T19:05:17.514Z,4,129038,43,255,27,01,c8,d4,7f,10,71,c0,df,0e,df,e6,c3,23,41,38,7c,33,04,43,c0,00,20,7e,00,00,00,fe\n2014-08-15T19:05:17.553Z,4,129039,43,255,26,12,44,11,b6,0d,ca,aa,bd,0e,42,df,97,23,47,a0,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:17.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,23,02,03,00,04,01,04,00,00,00\n2014-08-15T19:05:17.607Z,6,129540,160,255,135,12,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f1\n2014-08-15T19:05:17.609Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:05:17.704Z,3,128267,115,255,8,00,af,05,00,00,ff,ff,ff\n2014-08-15T19:05:17.706Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:17.733Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:17.781Z,3,129029,160,255,43,c7,a9,3f,a8,6b,f5,28,00,90,25,4c,e0,85,49,08,00,fc,16,c8,85,a0,6e,03,90,51,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:17.784Z,3,129033,160,255,8,a9,3f,a8,6b,f5,28,b4,00\n2014-08-15T19:05:17.859Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:17.868Z,3,126992,160,255,8,ff,ff,a9,3f,a8,6b,f5,28\n2014-08-15T19:05:17.896Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:17.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:17.900Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:17.926Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:17.947Z,2,130306,115,255,8,00,f0,02,d5,24,f2,ff,ff\n2014-08-15T19:05:17.968Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:17.971Z,2,128259,160,255,8,ff,ff,ff,3d,01,ff,ff,ff\n2014-08-15T19:05:18.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:18.073Z,3,129291,160,255,8,ff,fc,33,4b,25,00,ff,ff\n2014-08-15T19:05:18.083Z,3,127508,129,255,8,01,b0,05,c1,03,1e,75,69\n2014-08-15T19:05:18.117Z,6,129794,43,255,75,05,68,ee,b9,0d,a8,4c,70,00,4f,48,4d,57,20,20,20,53,49,53,55,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,5a,1a,04,f0,00,78,00,5e,01,15,40,00,f6,34,2f,d0,02,48,45,4c,53,49,4e,4b,49,20,20,20,20,20,20,20,20,20,20,20,20,45,e1\n2014-08-15T19:05:18.278Z,3,130577,160,255,14,c0,c7,38,88,3d,01,ff,ff,ff,ff,33,4b,25,00\n2014-08-15T19:05:18.281Z,2,129025,160,255,8,28,df,97,23,a6,ac,bd,0e\n2014-08-15T19:05:18.321Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:18.367Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:18.388Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:18.391Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:18.394Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:18.396Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:18.470Z,2,129026,160,255,8,ff,fc,15,88,3d,01,ff,ff\n2014-08-15T19:05:18.485Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:18.503Z,4,129038,43,255,27,03,58,43,c9,0e,c7,c4,d5,0e,68,8e,a9,23,4c,31,ae,d0,02,71,1c,00,88,ae,00,00,00,fe\n2014-08-15T19:05:18.552Z,4,129039,43,255,26,12,44,11,b6,0d,02,aa,bd,0e,26,de,97,23,4b,f2,87,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:18.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2c,02,02,00,04,01,03,00,00,00\n2014-08-15T19:05:18.601Z,6,129540,160,255,135,13,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,10,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,60,09,00,00,00,00,f1\n2014-08-15T19:05:18.604Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:05:18.634Z,4,129039,43,255,26,12,fe,ea,8e,0f,c7,43,99,0e,91,90,ae,23,44,59,e8,dd,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:18.679Z,3,128267,115,255,8,00,9c,05,00,00,ff,ff,ff\n2014-08-15T19:05:18.682Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:18.705Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:18.783Z,3,129029,160,255,43,c8,a9,3f,f4,92,f5,28,00,f0,ae,f7,a0,85,49,08,00,54,94,25,58,a0,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:18.787Z,3,129033,160,255,8,a9,3f,f4,92,f5,28,b4,00\n2014-08-15T19:05:18.840Z,3,127508,129,255,8,01,b0,05,c2,03,1e,75,69\n2014-08-15T19:05:18.857Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:18.870Z,3,126992,160,255,8,ff,ff,a9,3f,f4,92,f5,28\n2014-08-15T19:05:18.895Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:18.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:18.899Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:18.904Z,3,127508,129,255,8,01,b1,05,f2,03,1e,75,69\n2014-08-15T19:05:18.916Z,2,130306,115,255,8,00,89,02,03,1e,f2,ff,ff\n2014-08-15T19:05:18.936Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:18.972Z,2,128259,160,255,8,ff,ff,ff,3d,01,ff,ff,ff\n2014-08-15T19:05:18.974Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:19.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:19.034Z,4,129038,43,255,27,01,92,12,4b,10,4d,f7,fa,0e,60,37,ae,23,48,e6,af,c0,02,c6,82,08,42,b1,06,00,00,fe\n2014-08-15T19:05:19.072Z,3,129291,160,255,8,ff,fc,29,62,2d,00,ff,ff\n2014-08-15T19:05:19.112Z,4,129038,43,255,27,01,88,d6,d0,0c,f5,b6,e3,0e,fa,03,b7,23,49,c9,98,41,03,c9,82,08,14,9a,00,00,00,fe\n2014-08-15T19:05:19.281Z,3,130577,160,255,14,c0,c8,15,88,3d,01,ff,ff,ff,ff,29,62,2d,00\n2014-08-15T19:05:19.284Z,2,129025,160,255,8,18,de,97,23,e2,ab,bd,0e\n2014-08-15T19:05:19.373Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:19.387Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,5c,3c,01,00\n2014-08-15T19:05:19.389Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:19.391Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:19.395Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:19.450Z,3,127508,129,255,8,01,b0,05,c4,03,1e,75,69\n2014-08-15T19:05:19.453Z,4,129038,43,255,27,03,02,a1,4c,10,84,9c,b2,0e,4e,a6,70,23,4d,e6,82,00,00,00,00,08,ff,ff,ff,7f,05,fe\n2014-08-15T19:05:19.475Z,2,129026,160,255,8,ff,fc,38,88,41,01,ff,ff\n2014-08-15T19:05:19.563Z,4,129039,43,255,26,12,44,11,b6,0d,3a,a9,bd,0e,0b,dd,97,23,4f,49,88,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:19.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:19.591Z,3,127508,129,255,8,01,af,05,b8,03,1e,75,69\n2014-08-15T19:05:19.603Z,6,129540,160,255,135,14,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f1\n2014-08-15T19:05:19.607Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:05:19.610Z,4,129038,43,255,27,01,c8,27,16,0e,c0,cb,6a,0e,9a,68,94,23,45,7f,31,50,03,00,83,01,16,31,14,00,00,fe\n2014-08-15T19:05:19.689Z,3,128267,115,255,8,00,c4,05,00,00,ff,ff,ff\n2014-08-15T19:05:19.691Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:19.742Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:19.759Z,7,127506,129,255,9,6a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:19.795Z,3,129029,160,255,43,c9,a9,3f,5e,ba,f5,28,00,86,9d,67,61,85,49,08,00,5c,3b,a6,28,a0,6e,03,50,26,2f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:19.798Z,3,129033,160,255,8,a9,3f,5e,ba,f5,28,b4,00\n2014-08-15T19:05:19.862Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:19.882Z,3,126992,160,255,8,ff,ff,a9,3f,5e,ba,f5,28\n2014-08-15T19:05:19.888Z,2,130306,115,255,8,00,28,03,0e,20,f2,ff,ff\n2014-08-15T19:05:19.914Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:19.960Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:19.962Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:19.964Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:19.977Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:20.033Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,b3,bf,76,23,4d,7f,2b,00,00,14,66,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:20.049Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:20.077Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:20.081Z,3,129291,160,255,8,ff,fc,1a,4e,2d,00,ff,ff\n2014-08-15T19:05:20.107Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:20.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,af,f5,28,ef,82,02,a9,3f,00,00,fc\n2014-08-15T19:05:20.154Z,3,127508,129,255,8,01,b0,05,c0,03,1e,75,6a\n2014-08-15T19:05:20.278Z,3,130577,160,255,14,c0,c9,38,88,41,01,ff,ff,ff,ff,1a,4e,2d,00\n2014-08-15T19:05:20.280Z,2,129025,160,255,8,07,dd,97,23,16,ab,bd,0e\n2014-08-15T19:05:20.284Z,4,129038,43,255,27,01,6c,70,4a,10,61,1d,02,0f,21,d4,a3,23,4b,a8,35,bf,01,1b,c0,08,d0,33,03,00,00,fe\n2014-08-15T19:05:20.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,af,f5,28,f8,02,03,a9,3f,00,00,fc\n2014-08-15T19:05:20.375Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:20.384Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,6f,3c,01,00\n2014-08-15T19:05:20.386Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:20.389Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:20.391Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:20.481Z,2,129026,160,255,8,ff,fc,5b,88,40,01,ff,ff\n2014-08-15T19:05:20.553Z,4,129038,43,255,27,01,b0,79,7a,10,df,3c,d2,0e,58,f3,81,23,48,53,d8,e8,01,ff,82,01,2a,da,1a,00,00,fe\n2014-08-15T19:05:20.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:20.593Z,4,129039,43,255,26,12,44,11,b6,0d,51,a8,bd,0e,11,dc,97,23,53,b8,89,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:20.610Z,6,129540,160,255,135,15,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f1\n2014-08-15T19:05:20.612Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:05:20.680Z,3,128267,115,255,8,00,fe,05,00,00,ff,ff,ff\n2014-08-15T19:05:20.680Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:20.683Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:20.693Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:20.711Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:20.783Z,3,129029,160,255,43,ca,a9,3f,82,e1,f5,28,00,7a,5c,8a,22,85,49,08,00,06,12,74,f8,9f,6e,03,60,be,31,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:20.785Z,3,129033,160,255,8,a9,3f,82,e1,f5,28,b4,00\n2014-08-15T19:05:20.852Z,2,130306,115,255,8,00,c1,02,48,1b,f2,ff,ff\n2014-08-15T19:05:20.876Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:20.886Z,3,126992,160,255,8,ff,ff,a9,3f,82,e1,f5,28\n2014-08-15T19:05:20.907Z,4,129038,43,255,27,01,02,8b,c4,0d,c1,d9,e0,0e,f5,84,c9,23,54,db,80,68,01,92,40,01,e6,82,00,00,00,fe\n2014-08-15T19:05:20.911Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:20.951Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:20.953Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:20.961Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:20.984Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:20.984Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:21.024Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:21.080Z,3,129291,160,255,8,ff,fc,1a,4e,2d,00,ff,ff\n2014-08-15T19:05:21.287Z,3,130577,160,255,14,c0,ca,5b,88,40,01,ff,ff,ff,ff,1a,4e,2d,00\n2014-08-15T19:05:21.289Z,2,129025,160,255,8,f9,db,97,23,47,aa,bd,0e\n2014-08-15T19:05:21.293Z,4,129038,43,255,27,01,fc,ff,e9,25,e7,84,27,0f,74,c8,be,23,51,7d,bb,bb,02,1b,83,08,7c,bb,f6,ff,00,fe\n2014-08-15T19:05:21.365Z,3,127508,129,255,8,01,af,05,9c,03,1e,75,6a\n2014-08-15T19:05:21.377Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:21.381Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,6f,3c,01,00\n2014-08-15T19:05:21.384Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:21.386Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:21.389Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:21.433Z,4,129038,43,255,27,01,e0,53,7f,10,d9,2c,c6,0e,95,f6,a8,23,58,b2,88,bf,05,20,83,00,ac,87,00,00,00,fe\n2014-08-15T19:05:21.479Z,2,129026,160,255,8,ff,fc,26,88,42,01,ff,ff\n2014-08-15T19:05:21.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,38,02,02,00,02,01,03,00,00,00\n2014-08-15T19:05:21.607Z,6,129540,160,255,135,16,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:05:21.609Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:05:21.614Z,3,127508,129,255,8,01,ac,05,63,03,1e,75,6a\n2014-08-15T19:05:21.639Z,6,129794,43,255,75,05,30,d5,66,16,1a,7c,86,00,4a,38,42,34,38,31,37,42,41,4c,54,49,43,20,50,52,49,4e,43,45,20,20,20,20,20,20,20,46,dc,05,e6,00,6e,00,ec,04,0e,41,00,f6,34,2f,9e,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,44,e1\n2014-08-15T19:05:21.673Z,4,129039,43,255,26,12,44,11,b6,0d,aa,a7,bd,0e,f6,da,97,23,57,b8,86,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:21.690Z,3,128267,115,255,8,00,04,06,00,00,ff,ff,ff\n2014-08-15T19:05:21.692Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:21.719Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:21.794Z,3,129029,160,255,43,cb,a9,3f,ec,08,f6,28,00,46,b0,be,e2,84,49,08,00,28,2a,0d,cb,9f,6e,03,60,4d,2f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:21.796Z,3,129033,160,255,8,a9,3f,ec,08,f6,28,b4,00\n2014-08-15T19:05:21.801Z,2,130306,115,255,8,00,09,03,f7,1b,f2,ff,ff\n2014-08-15T19:05:21.824Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:21.880Z,3,126992,160,255,8,ff,ff,a9,3f,ec,08,f6,28\n2014-08-15T19:05:21.899Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:21.933Z,4,129038,43,255,27,01,98,69,b3,0e,a5,10,8f,0e,44,a3,a0,23,4d,a0,af,f8,01,33,03,09,42,b1,00,00,00,fe\n2014-08-15T19:05:21.936Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:21.938Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:21.940Z,2,128259,115,255,8,00,36,01,ff,ff,00,ff,ff\n2014-08-15T19:05:21.984Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:05:21.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:22.026Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:22.085Z,3,129291,160,255,8,ff,fc,11,61,37,00,ff,ff\n2014-08-15T19:05:22.089Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:22.137Z,3,127508,129,255,8,01,ac,05,5f,03,1e,75,6a\n2014-08-15T19:05:22.289Z,3,130577,160,255,14,c0,cb,26,88,42,01,ff,ff,ff,ff,11,61,37,00\n2014-08-15T19:05:22.291Z,2,129025,160,255,8,e7,da,97,23,84,a9,bd,0e\n2014-08-15T19:05:22.378Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,6f,3c,01,00\n2014-08-15T19:05:22.382Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:22.384Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:22.386Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:22.388Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:22.480Z,2,129026,160,255,8,ff,fc,60,89,42,01,ff,ff\n2014-08-15T19:05:22.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2d,02,02,00,02,01,03,00,00,00\n2014-08-15T19:05:22.610Z,6,129540,160,255,135,17,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,8c,0a,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:05:22.612Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:05:22.614Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:22.622Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:05:22.643Z,7,129793,43,255,26,04,90,18,23,00,ec,d1,e2,0e,64,31,d3,23,00,10,fe,f5,28,4b,03,09,a9,3f,10,00,fc\n2014-08-15T19:05:22.685Z,4,129039,43,255,26,12,44,11,b6,0d,b0,a6,bd,0e,eb,d9,97,23,5b,2c,89,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:22.689Z,3,128267,115,255,8,00,5f,06,00,00,ff,ff,ff\n2014-08-15T19:05:22.691Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:22.719Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:22.723Z,4,129039,43,255,26,12,06,a5,b5,0d,85,3e,bd,0e,50,a5,97,23,58,26,7c,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:22.745Z,3,127508,129,255,8,01,b0,05,af,03,1e,75,6a\n2014-08-15T19:05:22.772Z,2,130306,115,255,8,00,db,02,9a,1a,f2,ff,ff\n2014-08-15T19:05:22.794Z,3,129029,160,255,43,cc,a9,3f,24,30,f6,28,00,12,04,f3,a2,84,49,08,00,6a,3c,79,92,9f,6e,03,80,2a,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:22.798Z,3,129033,160,255,8,a9,3f,24,30,f6,28,b4,00\n2014-08-15T19:05:22.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:22.838Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:05:22.877Z,2,128259,115,255,8,00,3a,01,ff,ff,00,ff,ff\n2014-08-15T19:05:22.891Z,3,126992,160,255,8,ff,ff,a9,3f,24,30,f6,28\n2014-08-15T19:05:22.918Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:22.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:22.923Z,2,128259,115,255,8,00,37,01,ff,ff,00,ff,ff\n2014-08-15T19:05:22.925Z,7,127506,129,255,9,6b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:22.953Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:22.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:22.992Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:05:23.033Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,82,68,e2,23,00,20,25,f6,28,7f,c0,01,a9,3f,10,00,fc\n2014-08-15T19:05:23.073Z,4,129038,43,255,27,01,58,eb,ad,0e,c7,c4,5e,0e,7b,c0,8f,23,5f,51,2f,d4,01,39,c0,08,5c,2e,00,00,00,fe\n2014-08-15T19:05:23.094Z,3,129291,160,255,8,ff,fc,8e,56,37,00,ff,ff\n2014-08-15T19:05:23.096Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:23.163Z,4,129038,43,255,27,01,b8,83,92,0e,5a,bb,e0,0e,f4,c8,75,23,5d,8e,c1,05,00,61,83,00,59,d3,ff,7f,00,fe\n2014-08-15T19:05:23.300Z,3,130577,160,255,14,c0,cc,60,89,42,01,ff,ff,ff,ff,8e,56,37,00\n2014-08-15T19:05:23.302Z,2,129025,160,255,8,d5,d9,97,23,91,a8,bd,0e\n2014-08-15T19:05:23.376Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,6f,3c,01,00\n2014-08-15T19:05:23.379Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:23.381Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:23.384Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:23.393Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:23.463Z,4,129038,43,255,27,01,40,37,b7,0d,ac,bb,89,0e,5f,75,bf,23,61,51,1d,0a,00,14,66,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:23.496Z,2,129026,160,255,8,ff,fc,db,89,40,01,ff,ff\n2014-08-15T19:05:23.499Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:23.503Z,4,129039,43,255,26,12,44,e0,c3,0d,9d,c9,ba,0e,78,04,8e,23,5e,66,7b,96,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:23.564Z,4,129038,43,255,27,01,c0,0b,7e,10,39,af,e2,0e,ae,95,d0,23,5c,74,05,03,07,70,83,09,d1,06,00,00,00,fe\n2014-08-15T19:05:23.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,43,02,03,00,00,00,05,00,00,00\n2014-08-15T19:05:23.599Z,3,127508,129,255,8,01,b1,05,c8,03,1e,75,6b\n2014-08-15T19:05:23.614Z,4,129039,43,255,26,12,44,11,b6,0d,a5,a5,bd,0e,f1,d8,97,23,5f,6c,8b,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:23.628Z,6,129540,160,255,135,18,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,1c,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f1\n2014-08-15T19:05:23.630Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:05:23.653Z,4,129038,43,255,27,01,28,f5,77,10,4d,a2,a0,0e,32,69,74,23,58,73,32,ae,00,72,03,09,67,30,00,00,00,fe\n2014-08-15T19:05:23.684Z,3,128267,115,255,8,00,66,06,00,00,ff,ff,ff\n2014-08-15T19:05:23.686Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:23.693Z,4,129038,43,255,27,01,08,99,b5,0d,a3,64,cd,0e,b5,43,a5,23,60,ff,4a,44,01,74,03,01,f3,48,00,00,00,fe\n2014-08-15T19:05:23.714Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:23.733Z,4,129039,43,255,26,12,90,e4,c3,0d,1b,b0,bf,0e,12,ad,7d,23,58,a1,6d,b0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:23.735Z,2,130306,115,255,8,00,a7,02,bd,20,f2,ff,ff\n2014-08-15T19:05:23.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:23.774Z,4,129038,43,255,27,01,c8,d4,7f,10,7d,be,df,0e,0c,cc,c3,23,5d,15,7c,38,04,43,40,09,20,7e,00,00,00,fe\n2014-08-15T19:05:23.798Z,3,129029,160,255,43,cd,a9,3f,70,57,f6,28,00,48,9f,1c,67,84,49,08,00,78,6c,b4,55,9f,6e,03,e0,85,30,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:23.800Z,3,129033,160,255,8,a9,3f,70,57,f6,28,b4,00\n2014-08-15T19:05:23.833Z,4,129038,43,255,27,01,b0,7f,79,10,39,d4,b4,0e,21,7c,6f,23,5c,03,a6,00,00,7a,83,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:23.854Z,2,128259,115,255,8,00,3a,01,ff,ff,00,ff,ff\n2014-08-15T19:05:23.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:23.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:23.893Z,2,128259,115,255,8,00,39,01,ff,ff,00,ff,ff\n2014-08-15T19:05:23.923Z,4,129038,43,255,27,01,08,7b,ba,0d,16,1b,93,0e,58,c8,bc,23,5d,e6,a0,7c,01,14,66,00,94,a1,00,00,00,fe\n2014-08-15T19:05:23.925Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:23.928Z,3,126992,160,255,8,ff,ff,a9,3f,48,61,f6,28\n2014-08-15T19:05:23.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:23.987Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:24.024Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:24.125Z,3,129291,160,255,8,ff,fc,d0,57,25,00,ff,ff\n2014-08-15T19:05:24.313Z,4,129039,43,255,26,12,ca,0c,b7,0d,55,3b,bd,0e,d0,ef,95,23,5c,fe,80,53,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:24.330Z,3,130577,160,255,14,c0,cd,db,89,40,01,ff,ff,ff,ff,d0,57,25,00\n2014-08-15T19:05:24.333Z,2,129025,160,255,8,d4,d8,97,23,8c,a7,bd,0e\n2014-08-15T19:05:24.375Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,6f,3c,01,00\n2014-08-15T19:05:24.377Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:24.379Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:24.383Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:24.423Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:24.525Z,2,129026,160,255,8,ff,fc,72,89,3f,01,ff,ff\n2014-08-15T19:05:24.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,2c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:24.633Z,4,129039,43,255,26,12,44,11,b6,0d,ee,a4,bd,0e,e6,d7,97,23,63,2c,89,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:24.638Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:24.654Z,6,129540,160,255,135,19,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,80,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,d8,0e,00,00,00,00,f2,14,c5,13,ce,ab,ac,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,1c,0c,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,48,0d,00,00,00,00,f1\n2014-08-15T19:05:24.659Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:05:24.669Z,3,128267,115,255,8,00,e9,05,00,00,ff,ff,ff\n2014-08-15T19:05:24.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:24.698Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:24.728Z,2,130306,115,255,8,00,db,02,54,1d,f2,ff,ff\n2014-08-15T19:05:24.748Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:24.791Z,3,127508,129,255,8,01,b0,05,bc,03,1e,75,6b\n2014-08-15T19:05:24.829Z,3,129029,160,255,43,ce,a9,3f,f8,7e,f6,28,00,8c,34,1c,2a,84,49,08,00,d2,6c,a5,23,9f,6e,03,60,be,31,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:24.831Z,3,129033,160,255,8,a9,3f,f8,7e,f6,28,b4,00\n2014-08-15T19:05:24.856Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:24.862Z,3,127508,129,255,8,01,af,05,8f,03,1e,75,6b\n2014-08-15T19:05:24.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:24.896Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:24.899Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:24.932Z,3,126992,160,255,8,ff,ff,a9,3f,bc,88,f6,28\n2014-08-15T19:05:24.953Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:24.981Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:25.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:25.027Z,2,128259,160,255,8,ff,ff,ff,3f,01,ff,ff,ff\n2014-08-15T19:05:25.073Z,4,129038,43,255,27,01,c8,27,16,0e,a7,eb,6a,0e,d0,6d,94,23,5d,91,31,50,03,14,66,08,c4,31,1a,00,00,fe\n2014-08-15T19:05:25.129Z,3,129291,160,255,8,ff,fc,84,54,24,00,ff,ff\n2014-08-15T19:05:25.135Z,3,127508,129,255,8,01,af,05,89,03,1e,75,6b\n2014-08-15T19:05:25.144Z,4,129039,43,255,26,12,58,7f,b6,0d,19,24,bc,0e,10,e9,93,23,63,09,83,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:25.273Z,4,129038,43,255,27,01,e0,53,7f,10,76,1e,c6,0e,2e,e3,a8,23,68,c3,88,c9,05,d7,08,00,ac,87,ff,7f,00,fe\n2014-08-15T19:05:25.313Z,4,129038,43,255,27,01,d2,ff,4a,10,89,8b,b1,0e,a6,01,71,23,65,59,e8,00,00,b1,83,09,37,91,0a,00,00,fe\n2014-08-15T19:05:25.324Z,3,130577,160,255,14,c0,ce,72,89,3f,01,ff,ff,ff,ff,84,54,24,00\n2014-08-15T19:05:25.326Z,2,129025,160,255,8,ce,d7,97,23,b5,a6,bd,0e\n2014-08-15T19:05:25.354Z,4,129038,43,255,27,01,10,04,1a,0e,96,93,fe,0e,3c,ec,ae,23,5c,83,b0,9c,02,2f,c0,08,9f,b2,00,00,00,fe\n2014-08-15T19:05:25.371Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,81,3c,01,00\n2014-08-15T19:05:25.374Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:25.377Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:25.379Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:25.394Z,4,129038,43,255,27,01,20,f6,7e,10,72,3a,c7,0e,46,e9,7f,23,61,39,31,00,00,98,08,08,13,c7,00,00,0f,fe\n2014-08-15T19:05:25.425Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:25.433Z,4,129038,43,255,27,01,88,d6,d0,0c,ad,9e,e3,0e,59,f7,b6,23,61,b7,98,41,03,b4,03,01,65,99,00,00,00,fe\n2014-08-15T19:05:25.475Z,3,127508,129,255,8,01,ac,05,4c,03,1e,75,6b\n2014-08-15T19:05:25.528Z,2,129026,160,255,8,ff,fc,fd,89,41,01,ff,ff\n2014-08-15T19:05:25.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,1f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:05:25.643Z,4,129039,43,255,26,12,44,11,b6,0d,15,a4,bd,0e,dc,d6,97,23,67,c3,88,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:25.659Z,7,127506,129,255,9,6c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:25.665Z,6,129540,160,255,135,1a,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,ac,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:05:25.668Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:05:25.670Z,3,127508,129,255,8,01,b1,05,b5,03,1e,75,6c\n2014-08-15T19:05:25.680Z,3,128267,115,255,8,00,c7,05,00,00,ff,ff,ff\n2014-08-15T19:05:25.682Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:25.705Z,2,130306,115,255,8,00,28,03,3f,37,f2,ff,ff\n2014-08-15T19:05:25.730Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:25.731Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:25.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:25.833Z,3,129029,160,255,43,cf,a9,3f,1c,a6,f6,28,00,4a,8e,7a,eb,83,49,08,00,a6,31,f5,ef,9e,6e,03,10,8a,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:25.835Z,3,129033,160,255,8,a9,3f,1c,a6,f6,28,b4,00\n2014-08-15T19:05:25.853Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:25.865Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:25.892Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:25.893Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:25.895Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:25.914Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,c8,f6,c7,23,00,50,9a,f6,28,b9,40,01,a9,3f,10,00,fc\n2014-08-15T19:05:25.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:25.931Z,3,126992,160,255,8,ff,ff,a9,3f,e0,af,f6,28\n2014-08-15T19:05:25.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:26.031Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:26.059Z,3,127508,129,255,8,01,ae,05,57,03,1e,75,6c\n2014-08-15T19:05:26.133Z,3,129291,160,255,8,ff,fc,63,5b,31,00,ff,ff\n2014-08-15T19:05:26.337Z,3,130577,160,255,14,c0,cf,fd,89,41,01,ff,ff,ff,ff,63,5b,31,00\n2014-08-15T19:05:26.340Z,2,129025,160,255,8,c1,d6,97,23,d7,a5,bd,0e\n2014-08-15T19:05:26.370Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,81,3c,01,00\n2014-08-15T19:05:26.372Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:26.376Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:26.377Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:26.393Z,4,129039,43,255,26,12,08,57,b6,0d,cf,5e,ca,0e,1c,4c,92,23,6b,f9,58,ce,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:05:26.432Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:26.533Z,2,129026,160,255,8,ff,fc,bd,8a,41,01,ff,ff\n2014-08-15T19:05:26.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:26.653Z,4,129039,43,255,26,12,44,11,b6,0d,0b,a3,bd,0e,d1,d5,97,23,6b,78,8a,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:26.667Z,6,129540,160,255,135,1b,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,1c,0c,00,00,00,00,f2,14,c5,13,ce,ab,ac,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:05:26.669Z,2,127250,160,255,8,ff,3e,8f,ff,7f,86,05,fc\n2014-08-15T19:05:26.671Z,2,130306,115,255,8,00,5f,02,82,16,f2,ff,ff\n2014-08-15T19:05:26.680Z,3,127508,129,255,8,01,ae,05,67,03,1e,75,6c\n2014-08-15T19:05:26.689Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:26.724Z,3,128267,115,255,8,00,c4,05,00,00,ff,ff,ff\n2014-08-15T19:05:26.726Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:26.734Z,4,129038,43,255,27,01,d4,e5,b5,0d,f7,10,e1,0e,b0,25,de,23,6c,45,21,00,00,49,40,01,b9,20,00,00,00,fe\n2014-08-15T19:05:26.764Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:26.844Z,3,129029,160,255,43,d0,a9,3f,0e,cd,f6,28,00,8e,23,7a,ae,83,49,08,00,a6,67,5a,b4,9e,6e,03,00,f2,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:26.845Z,3,129033,160,255,8,a9,3f,0e,cd,f6,28,b4,00\n2014-08-15T19:05:26.854Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:26.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:26.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:26.894Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:26.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:26.940Z,3,126992,160,255,8,ff,ff,a9,3f,f0,d6,f6,28\n2014-08-15T19:05:26.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:27.014Z,3,127508,129,255,8,01,ae,05,52,03,1e,75,6c\n2014-08-15T19:05:27.034Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:05:27.135Z,3,129291,160,255,8,ff,fc,6f,67,17,00,ff,ff\n2014-08-15T19:05:27.274Z,6,129810,43,255,33,18,44,11,b6,0d,24,53,52,54,44,24,3b,59,4f,4a,39,34,38,37,40,64,00,28,00,14,00,5a,00,00,00,00,00,00\n2014-08-15T19:05:27.283Z,3,127508,129,255,8,01,ae,05,57,03,1e,75,6c\n2014-08-15T19:05:27.323Z,4,129038,43,255,27,01,fc,ff,e9,25,8a,67,27,0f,e3,c9,be,23,69,7d,bb,bb,02,1a,c0,00,7c,bb,14,00,00,fe\n2014-08-15T19:05:27.341Z,3,130577,160,255,14,c0,d0,bd,8a,41,01,ff,ff,ff,ff,6f,67,17,00\n2014-08-15T19:05:27.344Z,2,129025,160,255,8,bb,d5,97,23,d7,a4,bd,0e\n2014-08-15T19:05:27.366Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,81,3c,01,00\n2014-08-15T19:05:27.369Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:27.371Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:27.374Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:27.434Z,4,129038,43,255,27,01,e0,53,7f,10,2b,17,c6,0e,7b,d9,a8,23,70,f8,88,c9,05,36,c0,08,5a,88,ff,7f,00,fe\n2014-08-15T19:05:27.447Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:27.484Z,6,129810,43,255,33,18,08,57,b6,0d,25,53,4d,54,47,4c,58,49,4f,4a,37,31,38,35,40,78,00,28,00,00,00,78,00,00,00,00,00,00\n2014-08-15T19:05:27.523Z,4,129038,43,255,27,01,b8,53,a6,0c,45,93,7a,0e,f2,41,9f,23,70,c3,ac,78,02,14,c3,08,88,ae,00,00,00,fe\n2014-08-15T19:05:27.539Z,2,129026,160,255,8,ff,fc,9b,8a,44,01,ff,ff\n2014-08-15T19:05:27.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:27.663Z,4,129039,43,255,26,12,44,11,b6,0d,df,a1,bd,0e,f8,d4,97,23,6f,b2,8b,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:27.681Z,6,129540,160,255,135,1c,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:05:27.683Z,2,130306,115,255,8,00,83,02,a5,1c,f2,ff,ff\n2014-08-15T19:05:27.686Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:27.701Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:27.702Z,3,128267,115,255,8,00,c4,05,00,00,ff,ff,ff\n2014-08-15T19:05:27.706Z,4,129038,43,255,27,01,68,e2,20,12,3e,4c,fd,0e,82,3a,ad,23,70,b1,af,fd,01,0a,04,09,f1,b1,00,00,00,fe\n2014-08-15T19:05:27.713Z,7,127506,129,255,9,6c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:27.722Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:27.750Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:27.848Z,3,129029,160,255,43,d1,a9,3f,5a,f4,f6,28,00,9c,53,b5,71,83,49,08,00,ce,08,ae,79,9e,6e,03,80,0c,32,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:27.851Z,3,129033,160,255,8,a9,3f,5a,f4,f6,28,b4,00\n2014-08-15T19:05:27.853Z,3,127508,129,255,8,01,b0,05,85,03,1e,75,6c\n2014-08-15T19:05:27.856Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:27.887Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:27.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:27.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:27.899Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:27.946Z,3,126992,160,255,8,ff,ff,a9,3f,46,fe,f6,28\n2014-08-15T19:05:27.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:27.964Z,4,129038,43,255,27,01,92,12,4b,10,3d,d0,fa,0e,dd,30,ae,23,6c,e6,af,c0,02,15,84,01,42,b1,03,00,00,fe\n2014-08-15T19:05:27.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:28.023Z,4,129039,43,255,26,12,80,e5,c3,0d,f4,b7,c2,0e,50,74,95,23,6f,6d,52,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:28.071Z,2,128259,160,255,8,ff,ff,ff,44,01,ff,ff,ff\n2014-08-15T19:05:28.173Z,3,129291,160,255,8,ff,fc,96,6a,18,00,ff,ff\n2014-08-15T19:05:28.209Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:28.363Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,81,3c,01,00\n2014-08-15T19:05:28.367Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:28.370Z,3,130577,160,255,14,c0,d1,9b,8a,44,01,ff,ff,ff,ff,96,6a,18,00\n2014-08-15T19:05:28.372Z,2,129025,160,255,8,b6,d4,97,23,db,a3,bd,0e\n2014-08-15T19:05:28.375Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:28.377Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:28.455Z,3,127508,129,255,8,01,af,05,65,03,1e,75,6c\n2014-08-15T19:05:28.471Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:28.503Z,4,129038,43,255,27,03,58,43,c9,0e,25,94,d5,0e,06,88,a9,23,74,fd,ad,d0,02,10,14,08,88,ae,00,00,00,fe\n2014-08-15T19:05:28.570Z,2,129026,160,255,8,ff,fc,fd,89,40,01,ff,ff\n2014-08-15T19:05:28.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:28.649Z,2,130306,115,255,8,00,bc,02,bd,20,f2,ff,ff\n2014-08-15T19:05:28.676Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:28.682Z,3,127508,129,255,8,01,ae,05,44,03,1e,75,6c\n2014-08-15T19:05:28.683Z,4,129039,43,255,26,12,44,11,b6,0d,06,a1,bd,0e,dd,d3,97,23,73,78,87,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:28.703Z,6,129540,160,255,135,1d,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:05:28.706Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:05:28.710Z,3,128267,115,255,8,00,bb,05,00,00,ff,ff,ff\n2014-08-15T19:05:28.712Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:28.740Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:28.854Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:05:28.877Z,3,129029,160,255,43,d2,a9,3f,a6,1b,f7,28,00,c6,77,9c,32,83,49,08,00,42,7a,b7,49,9e,6e,03,d0,ed,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:28.879Z,3,129033,160,255,8,a9,3f,a6,1b,f7,28,b4,00\n2014-08-15T19:05:28.891Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:28.893Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:28.895Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:05:28.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:28.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:28.972Z,3,126992,160,255,8,ff,ff,a9,3f,74,25,f7,28\n2014-08-15T19:05:29.059Z,3,127508,129,255,8,01,ac,05,32,03,1e,75,6c\n2014-08-15T19:05:29.076Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:29.167Z,3,129291,160,255,8,ff,fc,d5,6b,26,00,ff,ff\n2014-08-15T19:05:29.208Z,6,129794,43,255,75,05,38,5e,49,16,9e,71,70,00,33,46,47,4c,33,20,20,55,4c,53,20,46,45,52,52,59,20,31,20,20,20,20,20,20,20,20,20,3c,4c,04,c8,00,82,00,b4,00,a9,3f,00,10,55,22,90,01,4d,49,49,44,55,52,41,4e,4e,41,20,45,53,54,4f,4e,49,41,20,20,04,e0\n2014-08-15T19:05:29.362Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,81,3c,01,00\n2014-08-15T19:05:29.364Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:29.368Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:29.370Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:29.376Z,3,130577,160,255,14,c0,d2,fd,89,40,01,ff,ff,ff,ff,d5,6b,26,00\n2014-08-15T19:05:29.378Z,2,129025,160,255,8,a7,d3,97,23,0d,a3,bd,0e\n2014-08-15T19:05:29.398Z,6,129794,43,255,75,05,38,5e,49,16,9e,71,70,00,33,46,47,4c,33,20,20,55,4c,53,20,46,45,52,52,59,20,31,20,20,20,20,20,20,20,20,20,3c,4c,04,c8,00,82,00,b4,00,a9,3f,00,10,55,22,90,01,4d,49,49,44,55,52,41,4e,4e,41,20,45,53,54,4f,4e,49,41,20,20,04,e1\n2014-08-15T19:05:29.434Z,4,129038,43,255,27,01,c0,0b,7e,10,8e,b7,e2,0e,9b,b4,d0,23,70,63,05,03,07,4b,84,01,d1,06,00,00,00,fe\n2014-08-15T19:05:29.469Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:29.473Z,4,129038,43,255,27,01,6c,70,4a,10,3f,39,02,0f,20,d7,a3,23,6f,85,35,bf,01,1b,40,01,d0,33,03,00,00,fe\n2014-08-15T19:05:29.513Z,4,129038,43,255,27,01,e0,53,7f,10,09,0c,c6,0e,d5,ca,a8,23,78,1b,89,ce,05,36,40,01,5a,88,ff,7f,00,fe\n2014-08-15T19:05:29.532Z,3,127508,129,255,8,01,af,05,5f,03,1e,75,6c\n2014-08-15T19:05:29.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,49,02,03,00,01,01,03,00,00,00\n2014-08-15T19:05:29.576Z,2,129026,160,255,8,ff,fc,89,8a,40,01,ff,ff\n2014-08-15T19:05:29.593Z,4,129038,43,255,27,01,b8,f5,67,12,df,83,90,0e,c1,23,91,23,74,45,2d,d1,03,52,04,03,ff,2c,00,00,00,fe\n2014-08-15T19:05:29.654Z,2,130306,115,255,8,00,e0,02,54,1d,f2,ff,ff\n2014-08-15T19:05:29.674Z,4,129038,43,255,27,01,c8,d4,7f,10,2f,bd,df,0e,4c,b9,c3,23,71,15,7c,38,04,55,84,00,20,7e,00,00,00,fe\n2014-08-15T19:05:29.676Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:29.715Z,6,129540,160,255,135,1e,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:05:29.717Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:29.720Z,3,128267,115,255,8,00,e2,05,00,00,ff,ff,ff\n2014-08-15T19:05:29.722Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:29.726Z,4,129039,43,255,26,12,44,11,b6,0d,1d,a0,bd,0e,f4,d2,97,23,77,a6,89,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:29.739Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:29.754Z,4,129038,43,255,27,03,10,dc,6d,0f,52,0a,5e,0e,4a,56,9c,23,75,71,ad,83,02,73,5e,00,88,ae,14,00,00,fe\n2014-08-15T19:05:29.856Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:29.878Z,3,129029,160,255,43,d3,a9,3f,1a,43,f7,28,00,40,72,60,f5,82,49,08,00,d2,df,6c,17,9e,6e,03,20,cf,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:29.880Z,3,129033,160,255,8,a9,3f,1a,43,f7,28,b4,00\n2014-08-15T19:05:29.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:29.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:29.899Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:29.954Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:29.973Z,3,126992,160,255,8,ff,ff,a9,3f,e8,4c,f7,28\n2014-08-15T19:05:29.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:30.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:30.077Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:05:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,36,f7,28,14,66,0a,a9,3f,00,00,fc\n2014-08-15T19:05:30.130Z,7,127506,129,255,9,6e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:30.174Z,3,129291,160,255,8,ff,fc,d8,48,0d,00,ff,ff\n2014-08-15T19:05:30.263Z,4,129038,43,255,27,01,88,44,7d,10,98,23,c7,0e,0c,ed,7f,23,70,b8,77,0a,00,20,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:30.359Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,94,3c,01,00\n2014-08-15T19:05:30.362Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:30.365Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:30.368Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,36,f7,28,14,66,0a,a9,3f,00,00,fc\n2014-08-15T19:05:30.371Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:30.381Z,3,130577,160,255,14,c0,d3,89,8a,40,01,ff,ff,ff,ff,d8,48,0d,00\n2014-08-15T19:05:30.383Z,2,129025,160,255,8,a0,d2,97,23,35,a2,bd,0e\n2014-08-15T19:05:30.471Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:30.503Z,4,129039,43,255,26,12,0a,df,8e,0f,1c,af,8f,0e,7a,40,77,23,74,50,47,c8,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:30.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4b,02,02,00,00,00,04,00,00,00\n2014-08-15T19:05:30.576Z,2,129026,160,255,8,ff,fc,ec,89,42,01,ff,ff\n2014-08-15T19:05:30.646Z,2,130306,115,255,8,00,55,02,8e,18,f2,ff,ff\n2014-08-15T19:05:30.673Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:30.712Z,6,129540,160,255,135,1f,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:05:30.715Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:05:30.719Z,4,129039,43,255,26,12,44,11,b6,0d,65,9f,bd,0e,d8,d1,97,23,7b,db,89,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:30.721Z,3,128267,115,255,8,00,df,05,00,00,ff,ff,ff\n2014-08-15T19:05:30.723Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:30.749Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:30.776Z,3,127508,129,255,8,01,af,05,58,03,1e,75,6e\n2014-08-15T19:05:30.853Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:30.873Z,4,129038,43,255,27,01,02,8b,c4,0d,d9,d5,e0,0e,96,78,c9,23,7c,2c,80,68,01,92,c0,08,e6,82,00,00,00,fe\n2014-08-15T19:05:30.883Z,3,129029,160,255,43,d4,a9,3f,2a,6a,f7,28,00,84,07,60,b8,82,49,08,00,2e,63,f1,e0,9d,6e,03,20,b1,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:30.884Z,3,129033,160,255,8,a9,3f,2a,6a,f7,28,b4,00\n2014-08-15T19:05:30.892Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:30.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:30.897Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:30.928Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:30.951Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:30.982Z,3,126992,160,255,8,ff,ff,a9,3f,f8,73,f7,28\n2014-08-15T19:05:31.075Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:05:31.184Z,3,129291,160,255,8,ff,fc,66,53,15,00,ff,ff\n2014-08-15T19:05:31.204Z,4,129038,43,255,27,01,88,d6,d0,0c,75,86,e3,0e,a7,ea,b6,23,79,83,98,41,03,c8,08,08,65,99,00,00,00,fe\n2014-08-15T19:05:31.352Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:31.357Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,94,3c,01,00\n2014-08-15T19:05:31.359Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:31.363Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:31.365Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:31.383Z,4,129038,43,255,27,01,d0,e7,da,0d,fa,9a,33,0f,1a,12,c4,23,81,2f,02,05,00,59,c0,08,ce,ba,00,00,00,fe\n2014-08-15T19:05:31.387Z,3,130577,160,255,14,c0,d4,ec,89,42,01,ff,ff,ff,ff,66,53,15,00\n2014-08-15T19:05:31.389Z,2,129025,160,255,8,9a,d1,97,23,4b,a1,bd,0e\n2014-08-15T19:05:31.473Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:31.483Z,4,129039,43,255,26,12,44,11,b6,0d,e0,9e,bd,0e,bd,d0,97,23,7f,b2,85,3e,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:05:31.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,58,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:31.584Z,2,129026,160,255,8,ff,fc,c3,88,42,01,ff,ff\n2014-08-15T19:05:31.593Z,4,129038,43,255,27,01,e0,53,7f,10,7c,04,c6,0e,22,c1,a8,23,80,72,89,ce,05,bf,08,08,5a,88,00,00,00,fe\n2014-08-15T19:05:31.656Z,2,130306,115,255,8,00,28,03,60,1f,f2,ff,ff\n2014-08-15T19:05:31.660Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:31.675Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:31.688Z,3,127508,129,255,8,01,b0,05,6a,03,1e,75,6e\n2014-08-15T19:05:31.722Z,6,129540,160,255,135,20,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:31.724Z,3,128267,115,255,8,00,be,05,00,00,ff,ff,ff\n2014-08-15T19:05:31.726Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:31.729Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:31.732Z,3,127508,129,255,8,01,b0,05,7f,03,1e,75,6e\n2014-08-15T19:05:31.733Z,4,129039,43,255,26,12,44,11,b6,0d,e0,9e,bd,0e,bd,d0,97,23,7f,b2,85,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:31.739Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:31.803Z,4,129038,43,255,27,01,b0,79,7a,10,7b,23,d2,0e,04,01,82,23,74,88,d8,e8,01,47,c0,08,2a,da,6a,00,00,fe\n2014-08-15T19:05:31.848Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:31.887Z,3,129029,160,255,43,d5,a9,3f,76,91,f7,28,00,94,ba,2e,77,82,49,08,00,e2,2d,6e,b8,9d,6e,03,70,03,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:31.889Z,3,129033,160,255,8,a9,3f,76,91,f7,28,b4,00\n2014-08-15T19:05:31.892Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:31.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:31.896Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:31.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:31.948Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:05:31.950Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:31.987Z,3,126992,160,255,8,ff,ff,a9,3f,3a,9b,f7,28\n2014-08-15T19:05:32.079Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:05:32.186Z,3,129291,160,255,8,ff,fc,66,53,15,00,ff,ff\n2014-08-15T19:05:32.190Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:32.354Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,94,3c,01,00\n2014-08-15T19:05:32.356Z,3,127508,129,255,8,01,ae,05,25,03,1e,75,6e\n2014-08-15T19:05:32.357Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:32.359Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:32.362Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:32.392Z,3,130577,160,255,14,c0,d5,6c,88,44,01,ff,ff,ff,ff,28,4f,2a,00\n2014-08-15T19:05:32.394Z,2,129025,160,255,8,6b,cf,97,23,f2,9f,bd,0e\n2014-08-15T19:05:32.397Z,4,129038,43,255,27,01,b8,83,92,0e,5a,bb,e0,0e,26,c9,75,23,81,8e,c1,05,00,bb,84,09,59,d3,00,00,00,fe\n2014-08-15T19:05:32.481Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:32.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,59,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:32.576Z,3,127508,129,255,8,01,ae,05,3e,03,1e,75,6e\n2014-08-15T19:05:32.582Z,2,129026,160,255,8,ff,fc,6c,88,44,01,ff,ff\n2014-08-15T19:05:32.642Z,2,130306,115,255,8,00,db,02,1a,22,f2,ff,ff\n2014-08-15T19:05:32.668Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:32.704Z,3,128267,115,255,8,00,96,05,00,00,ff,ff,ff\n2014-08-15T19:05:32.706Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:32.723Z,6,129540,160,255,135,21,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,b8,0b,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,98,08,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:05:32.726Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:05:32.735Z,4,129039,43,255,26,12,44,11,b6,0d,7c,9e,bd,0e,b2,cf,97,23,83,cf,87,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:32.735Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:32.749Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:32.850Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:32.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:32.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:32.888Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:32.894Z,3,129029,160,255,43,d6,a9,3f,7c,b8,f7,28,00,6e,08,39,36,82,49,08,00,f4,c8,9d,90,9d,6e,03,90,51,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:32.896Z,3,129033,160,255,8,a9,3f,7c,b8,f7,28,b4,00\n2014-08-15T19:05:32.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:32.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:32.987Z,3,126992,160,255,8,ff,ff,a9,3f,40,c2,f7,28\n2014-08-15T19:05:33.033Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,b4,68,e2,23,00,c0,ab,f7,28,81,c0,09,a9,3f,10,00,fc\n2014-08-15T19:05:33.090Z,2,128259,160,255,8,ff,ff,ff,44,01,ff,ff,ff\n2014-08-15T19:05:33.139Z,7,127506,129,255,9,6f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:33.154Z,3,127508,129,255,8,01,ae,05,2b,03,1e,75,6f\n2014-08-15T19:05:33.217Z,3,129291,160,255,8,ff,fc,28,4f,2a,00,ff,ff\n2014-08-15T19:05:33.219Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:33.318Z,6,129794,43,255,75,05,92,12,4b,10,f8,63,86,00,55,42,56,47,37,40,40,41,4d,42,41,4c,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,46,6c,07,dc,00,6e,00,68,01,15,41,00,10,55,22,9e,02,42,41,4c,54,53,4b,2d,55,4c,55,47,41,2d,42,41,4c,54,53,4b,40,04,e1\n2014-08-15T19:05:33.352Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,94,3c,01,00\n2014-08-15T19:05:33.356Z,4,129038,43,255,27,01,fc,ff,e9,25,2d,4a,27,0f,62,cb,be,23,81,7d,bb,bb,02,1a,c0,08,7c,bb,1a,00,00,fe\n2014-08-15T19:05:33.358Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:33.360Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:33.364Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:33.392Z,3,130577,160,255,14,c0,d6,c3,88,44,01,ff,ff,ff,ff,03,51,27,00\n2014-08-15T19:05:33.394Z,2,129025,160,255,8,58,ce,97,23,21,9f,bd,0e\n2014-08-15T19:05:33.471Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:33.487Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:33.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:33.592Z,2,129026,160,255,8,ff,fc,c3,88,44,01,ff,ff\n2014-08-15T19:05:33.594Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:33.595Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:33.651Z,2,130306,115,255,8,00,c6,02,82,16,f2,ff,ff\n2014-08-15T19:05:33.677Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:33.709Z,3,128267,115,255,8,00,9c,05,00,00,ff,ff,ff\n2014-08-15T19:05:33.711Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:33.735Z,6,129540,160,255,135,22,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,54,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,fc,08,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:05:33.737Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:05:33.739Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:33.753Z,4,129039,43,255,26,12,44,11,b6,0d,c5,9d,bd,0e,86,ce,97,23,87,72,89,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:33.795Z,4,129038,43,255,27,01,b0,7f,79,10,39,d4,b4,0e,c8,7c,6f,23,84,03,a6,00,00,d2,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:33.833Z,4,129038,43,255,27,03,50,10,7f,16,5f,30,b9,0e,d1,2f,70,23,84,6c,a3,00,00,00,00,08,ff,ff,ff,7f,05,fe\n2014-08-15T19:05:33.854Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:33.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:33.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:33.894Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:33.899Z,3,129029,160,255,43,d7,a9,3f,f0,df,f7,28,00,70,c1,31,f6,81,49,08,00,0a,6a,f4,5f,9d,6e,03,20,b1,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:33.901Z,3,129033,160,255,8,a9,3f,f0,df,f7,28,b4,00\n2014-08-15T19:05:33.933Z,4,129038,43,255,27,01,08,99,b5,0d,ad,7e,cd,0e,32,3d,a5,23,8c,a2,49,49,01,14,66,08,f3,48,00,00,00,fe\n2014-08-15T19:05:33.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:33.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:33.989Z,3,126992,160,255,8,ff,ff,a9,3f,c8,e9,f7,28\n2014-08-15T19:05:34.063Z,3,127508,129,255,8,01,af,05,41,03,1e,75,6f\n2014-08-15T19:05:34.090Z,2,128259,160,255,8,ff,ff,ff,44,01,ff,ff,ff\n2014-08-15T19:05:34.193Z,3,129291,160,255,8,ff,fc,03,51,27,00,ff,ff\n2014-08-15T19:05:34.349Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,94,3c,01,00\n2014-08-15T19:05:34.352Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:34.354Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:34.357Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:34.391Z,3,130577,160,255,14,c0,d7,e6,88,47,01,ff,ff,ff,ff,03,51,27,00\n2014-08-15T19:05:34.393Z,2,129025,160,255,8,47,cd,97,23,4d,9e,bd,0e\n2014-08-15T19:05:34.433Z,4,129038,43,255,27,01,08,7b,ba,0d,3b,07,93,0e,55,c3,bc,23,85,43,a2,7c,01,14,66,08,42,a2,00,00,00,fe\n2014-08-15T19:05:34.491Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:34.553Z,3,127508,129,255,8,01,ac,05,0c,03,1e,75,6f\n2014-08-15T19:05:34.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,21,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:34.593Z,2,129026,160,255,8,ff,fc,e6,88,47,01,ff,ff\n2014-08-15T19:05:34.639Z,2,130306,115,255,8,00,19,03,b1,1e,f2,ff,ff\n2014-08-15T19:05:34.670Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:34.672Z,3,128267,115,255,8,00,78,05,00,00,ff,ff,ff\n2014-08-15T19:05:34.695Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:34.731Z,6,129540,160,255,135,23,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,74,0e,00,00,00,00,f6\n2014-08-15T19:05:34.733Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:05:34.735Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:34.763Z,4,129039,43,255,26,12,44,11,b6,0d,db,9c,bd,0e,7c,cd,97,23,8b,4f,89,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:34.843Z,4,129038,43,255,27,01,b8,f5,67,12,2f,a3,90,0e,65,2a,91,23,88,45,2d,d1,03,e2,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:05:34.853Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:34.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:34.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:34.894Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:34.899Z,3,129029,160,255,43,d8,a9,3f,28,07,f8,28,00,06,b0,a1,b6,81,49,08,00,c2,3a,98,2e,9d,6e,03,c0,c6,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:34.901Z,3,129033,160,255,8,a9,3f,28,07,f8,28,b4,00\n2014-08-15T19:05:34.946Z,3,127508,129,255,8,01,af,05,39,03,1e,75,6f\n2014-08-15T19:05:34.949Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:34.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:34.991Z,3,126992,160,255,8,ff,ff,a9,3f,ec,10,f8,28\n2014-08-15T19:05:35.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:35.094Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:05:35.198Z,3,129291,160,255,8,ff,fc,d5,53,2d,00,ff,ff\n2014-08-15T19:05:35.243Z,4,129038,43,255,27,01,c8,d4,7f,10,e2,bb,df,0e,72,a2,c3,23,89,e1,7b,38,04,26,85,09,20,7e,00,00,00,fe\n2014-08-15T19:05:35.304Z,4,129038,43,255,27,03,88,d6,d0,0c,71,76,e3,0e,30,e2,b6,23,89,72,98,41,03,e0,08,08,65,99,ff,7f,00,fe\n2014-08-15T19:05:35.346Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,a6,3c,01,00\n2014-08-15T19:05:35.350Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:35.352Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:35.354Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:35.401Z,3,130577,160,255,14,c0,d8,b8,89,48,01,ff,ff,ff,ff,d5,53,2d,00\n2014-08-15T19:05:35.402Z,2,129025,160,255,8,3b,cc,97,23,6c,9d,bd,0e\n2014-08-15T19:05:35.492Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:35.563Z,4,129038,43,255,27,01,c0,0b,7e,10,cb,c3,e2,0e,4a,e0,d0,23,8c,97,05,03,07,c2,08,08,d1,06,00,00,00,fe\n2014-08-15T19:05:35.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:35.581Z,3,127508,129,255,8,01,b0,05,6c,03,1e,75,6f\n2014-08-15T19:05:35.593Z,2,129026,160,255,8,ff,fc,b8,89,48,01,ff,ff\n2014-08-15T19:05:35.604Z,6,129809,43,255,25,18,ec,76,73,10,4b,41,4a,53,41,4d,4f,4f,52,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:05:35.643Z,4,129038,43,255,27,01,e0,53,7f,10,40,f5,c5,0e,aa,ad,a8,23,90,72,89,d3,05,35,40,09,09,89,ff,7f,00,fe\n2014-08-15T19:05:35.647Z,2,130306,115,255,8,00,c1,02,77,23,f2,ff,ff\n2014-08-15T19:05:35.683Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:35.685Z,3,128267,115,255,8,00,7b,05,00,00,ff,ff,ff\n2014-08-15T19:05:35.707Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:35.735Z,6,129540,160,255,135,24,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,48,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:05:35.740Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:35.741Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:35.774Z,4,129039,43,255,26,12,44,11,b6,0d,d1,9b,bd,0e,71,cc,97,23,8f,15,8b,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:35.851Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:35.892Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:35.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:35.897Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:05:35.903Z,3,129029,160,255,43,d9,a9,3f,60,2e,f8,28,00,8e,a4,3b,78,81,49,08,00,38,2f,35,fa,9c,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:35.906Z,3,129033,160,255,8,a9,3f,60,2e,f8,28,b4,00\n2014-08-15T19:05:35.916Z,7,129793,43,255,26,04,91,18,23,00,fc,19,86,0e,c8,f6,c7,23,00,f0,20,f8,28,bd,40,09,a9,3f,10,00,fc\n2014-08-15T19:05:35.924Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:35.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:35.997Z,3,126992,160,255,8,ff,ff,a9,3f,2e,38,f8,28\n2014-08-15T19:05:36.099Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:05:36.193Z,3,129291,160,255,8,ff,fc,3d,5d,13,00,ff,ff\n2014-08-15T19:05:36.235Z,7,127506,129,255,9,70,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:36.319Z,2,130306,115,255,8,00,a2,02,eb,19,f2,ff,ff\n2014-08-15T19:05:36.344Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,a6,3c,01,00\n2014-08-15T19:05:36.346Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:36.349Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:36.351Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:36.354Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:36.407Z,3,130577,160,255,14,c0,d9,ec,89,48,01,ff,ff,ff,ff,3d,5d,13,00\n2014-08-15T19:05:36.409Z,2,129025,160,255,8,31,cb,97,23,82,9c,bd,0e\n2014-08-15T19:05:36.508Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:36.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,28,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:36.609Z,2,129026,160,255,8,ff,fc,ec,89,48,01,ff,ff\n2014-08-15T19:05:36.633Z,4,129038,43,255,27,03,30,d5,66,16,63,d9,b2,0e,05,9c,70,23,90,f9,46,00,00,00,00,08,ff,ff,ff,7f,05,fe\n2014-08-15T19:05:36.639Z,3,128267,115,255,8,00,8d,05,00,00,ff,ff,ff\n2014-08-15T19:05:36.642Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:36.669Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:36.749Z,6,129540,160,255,135,25,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,ac,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:05:36.752Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:05:36.794Z,4,129039,43,255,26,12,44,11,b6,0d,f8,9a,bd,0e,77,cb,97,23,93,43,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:36.804Z,3,127508,129,255,8,01,b0,05,50,03,1e,75,70\n2014-08-15T19:05:36.849Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:36.883Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:36.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:36.888Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:36.913Z,3,129029,160,255,43,da,a9,3f,ac,55,f8,28,00,aa,ce,4c,3a,81,49,08,00,94,b2,b9,c3,9c,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:36.917Z,3,129033,160,255,8,a9,3f,ac,55,f8,28,b4,00\n2014-08-15T19:05:36.918Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:36.949Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:37.010Z,3,126992,160,255,8,ff,ff,a9,3f,70,5f,f8,28\n2014-08-15T19:05:37.063Z,4,129038,43,255,27,01,58,43,c9,0e,25,6d,d5,0e,d1,82,a9,23,94,fd,ad,d0,02,6a,05,09,36,af,00,00,00,fe\n2014-08-15T19:05:37.106Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:05:37.183Z,4,129038,43,255,27,01,c8,27,16,0e,12,33,6b,0e,af,78,94,23,8d,d6,31,50,03,14,66,08,c4,31,14,00,00,fe\n2014-08-15T19:05:37.210Z,3,129291,160,255,8,ff,fc,7b,38,0b,00,ff,ff\n2014-08-15T19:05:37.291Z,2,130306,115,255,8,00,19,03,26,24,f2,ff,ff\n2014-08-15T19:05:37.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:37.341Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,a6,3c,01,00\n2014-08-15T19:05:37.345Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:37.348Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:37.350Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:37.412Z,3,130577,160,255,14,c0,da,2c,89,4c,01,ff,ff,ff,ff,7b,38,0b,00\n2014-08-15T19:05:37.414Z,2,129025,160,255,8,16,ca,97,23,b3,9b,bd,0e\n2014-08-15T19:05:37.492Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:37.502Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:37.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:37.604Z,2,129026,160,255,8,ff,fc,2c,89,4c,01,ff,ff\n2014-08-15T19:05:37.649Z,3,128267,115,255,8,00,75,05,00,00,ff,ff,ff\n2014-08-15T19:05:37.651Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:37.676Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:37.731Z,6,129540,160,255,135,26,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:37.734Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:37.802Z,4,129039,43,255,26,12,44,11,b6,0d,1f,9a,bd,0e,5c,ca,97,23,97,a0,88,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:37.849Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:37.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:37.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:37.890Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:37.920Z,3,129029,160,255,43,db,a9,3f,da,7c,f8,28,00,5c,b1,68,f8,80,49,08,00,3e,89,87,93,9c,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:37.923Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:37.924Z,3,129033,160,255,8,a9,3f,da,7c,f8,28,b4,00\n2014-08-15T19:05:37.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:37.972Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:38.008Z,3,126992,160,255,8,ff,ff,a9,3f,9e,86,f8,28\n2014-08-15T19:05:38.047Z,3,127508,129,255,8,01,af,05,34,03,1e,75,70\n2014-08-15T19:05:38.110Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:05:38.215Z,3,129291,160,255,8,ff,fc,4f,6b,25,00,ff,ff\n2014-08-15T19:05:38.258Z,2,130306,115,255,8,00,ad,02,0e,20,f2,ff,ff\n2014-08-15T19:05:38.294Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:38.339Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,a6,3c,01,00\n2014-08-15T19:05:38.342Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:38.345Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:38.347Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:38.412Z,3,130577,160,255,14,c0,db,f8,88,4a,01,ff,ff,ff,ff,4f,6b,25,00\n2014-08-15T19:05:38.415Z,2,129025,160,255,8,fe,c8,97,23,f1,9a,bd,0e\n2014-08-15T19:05:38.513Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:38.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,45,02,02,00,00,00,02,00,00,00\n2014-08-15T19:05:38.616Z,2,129026,160,255,8,ff,fc,f8,88,4a,01,ff,ff\n2014-08-15T19:05:38.640Z,3,128267,115,255,8,00,bb,05,00,00,ff,ff,ff\n2014-08-15T19:05:38.641Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:38.669Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:38.694Z,3,127508,129,255,8,01,af,05,2a,03,1e,75,70\n2014-08-15T19:05:38.736Z,6,129540,160,255,135,27,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:38.738Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:38.813Z,4,129039,43,255,26,12,44,11,b6,0d,47,99,bd,0e,72,c9,97,23,9b,83,89,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:38.849Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:38.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:38.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:38.889Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:38.916Z,3,129029,160,255,43,dc,a9,3f,fe,a3,f8,28,00,6c,64,37,b7,80,49,08,00,2a,3c,5c,66,9c,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:38.919Z,3,129033,160,255,8,a9,3f,fe,a3,f8,28,b4,00\n2014-08-15T19:05:38.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:38.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:39.010Z,3,126992,160,255,8,ff,ff,a9,3f,c2,ad,f8,28\n2014-08-15T19:05:39.083Z,4,129038,43,255,27,03,88,d6,d0,0c,7d,66,e3,0e,a9,d9,b6,23,99,4f,98,41,03,00,00,08,14,9a,00,00,00,fe\n2014-08-15T19:05:39.113Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:05:39.124Z,4,129038,43,255,27,01,10,dc,6d,0f,75,e0,5d,0e,0a,50,9c,23,99,71,ad,88,02,b7,05,09,88,ae,0a,00,00,fe\n2014-08-15T19:05:39.187Z,3,127508,129,255,8,01,ac,05,f2,02,1e,75,70\n2014-08-15T19:05:39.207Z,3,129291,160,255,8,ff,fc,bd,44,15,00,ff,ff\n2014-08-15T19:05:39.233Z,2,130306,115,255,8,00,b7,02,3c,19,f2,ff,ff\n2014-08-15T19:05:39.257Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:39.337Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,a6,3c,01,00\n2014-08-15T19:05:39.339Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:39.343Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:39.345Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:39.349Z,3,127508,129,255,8,01,b0,05,44,03,1e,75,70\n2014-08-15T19:05:39.418Z,3,130577,160,255,14,c0,dc,d5,88,4e,01,ff,ff,ff,ff,bd,44,15,00\n2014-08-15T19:05:39.420Z,2,129025,160,255,8,e5,c7,97,23,23,9a,bd,0e\n2014-08-15T19:05:39.463Z,4,129038,43,255,27,01,e0,53,7f,10,7f,e5,c5,0e,44,9a,a8,23,a0,c9,89,d8,05,35,c0,08,09,89,00,00,00,fe\n2014-08-15T19:05:39.511Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:39.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:39.613Z,2,129026,160,255,8,ff,fc,d5,88,4e,01,ff,ff\n2014-08-15T19:05:39.640Z,3,128267,115,255,8,00,6f,05,00,00,ff,ff,ff\n2014-08-15T19:05:39.642Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:39.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:39.762Z,6,129540,160,255,135,28,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:05:39.766Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:05:39.833Z,4,129039,43,255,26,12,44,11,b6,0d,7f,98,bd,0e,46,c8,97,23,9f,15,88,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:39.857Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:39.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:39.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:39.899Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:39.923Z,3,129029,160,255,43,dd,a9,3f,22,cb,f8,28,00,b2,7c,ca,75,80,49,08,00,9e,ad,65,36,9c,6e,03,20,b1,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:39.925Z,3,129033,160,255,8,a9,3f,22,cb,f8,28,b4,00\n2014-08-15T19:05:39.972Z,7,127506,129,255,9,71,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:39.981Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:40.012Z,3,126992,160,255,8,ff,ff,a9,3f,e6,d4,f8,28\n2014-08-15T19:05:40.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:40.046Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:40.117Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:05:40.151Z,3,127508,129,255,8,01,ac,05,f9,02,1e,75,71\n2014-08-15T19:05:40.199Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:40.218Z,3,129291,160,255,8,ff,fc,5d,5b,23,00,ff,ff\n2014-08-15T19:05:40.235Z,2,130306,115,255,8,00,57,03,54,1d,f2,ff,ff\n2014-08-15T19:05:40.255Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:40.263Z,4,129038,43,255,27,01,38,5e,49,16,7a,7a,ca,0e,a2,bf,76,23,9d,73,2f,00,00,85,03,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:40.301Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:40.334Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,b9,3c,01,00\n2014-08-15T19:05:40.337Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:40.339Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:40.342Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:40.421Z,3,130577,160,255,14,c0,dd,8f,88,4b,01,ff,ff,ff,ff,5d,5b,23,00\n2014-08-15T19:05:40.423Z,2,129025,160,255,8,c9,c6,97,23,56,99,bd,0e\n2014-08-15T19:05:40.516Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:40.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:40.616Z,2,129026,160,255,8,ff,fc,8f,88,4b,01,ff,ff\n2014-08-15T19:05:40.639Z,3,128267,115,255,8,00,65,05,00,00,ff,ff,ff\n2014-08-15T19:05:40.641Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:40.663Z,4,129038,43,255,27,01,6c,70,4a,10,2a,5b,02,0f,c5,da,a3,23,9b,85,35,bf,01,1c,40,09,d0,33,03,00,00,fe\n2014-08-15T19:05:40.669Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:40.761Z,6,129540,160,255,135,29,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:40.763Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:40.794Z,3,127508,129,255,8,01,af,05,2a,03,1e,75,71\n2014-08-15T19:05:40.798Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:05:40.833Z,4,129039,43,255,26,12,9e,d6,c3,0d,f5,00,c7,0e,c1,df,93,23,a2,56,5a,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:40.849Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:40.873Z,4,129039,43,255,26,12,44,11,b6,0d,b7,97,bd,0e,3c,c7,97,23,a3,5b,88,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:40.886Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:40.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:40.890Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:40.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:40.926Z,3,129029,160,255,43,de,a9,3f,46,f2,f8,28,00,9a,c4,aa,33,80,49,08,00,dc,b9,aa,06,9c,6e,03,b0,2e,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:40.934Z,3,129033,160,255,8,a9,3f,46,f2,f8,28,b4,00\n2014-08-15T19:05:40.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:41.026Z,3,126992,160,255,8,ff,ff,a9,3f,0a,fc,f8,28\n2014-08-15T19:05:41.030Z,6,129794,43,255,75,05,b0,7f,79,10,00,00,00,00,45,53,59,32,31,31,31,50,56,4c,2d,31,31,31,20,56,41,50,50,45,52,20,20,20,20,20,20,37,7c,01,3c,00,14,00,b4,00,14,40,00,00,00,00,00,00,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,00,e1\n2014-08-15T19:05:41.063Z,4,129038,43,255,27,01,98,69,b3,0e,48,cf,8e,0e,3c,9c,a0,23,99,71,b0,f8,01,23,c0,09,42,b1,00,00,00,fe\n2014-08-15T19:05:41.123Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:05:41.167Z,2,130306,115,255,8,00,5a,02,c9,22,f2,ff,ff\n2014-08-15T19:05:41.193Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:41.220Z,3,129291,160,255,8,ff,fc,fe,57,22,00,ff,ff\n2014-08-15T19:05:41.273Z,4,129039,43,255,26,12,66,58,b6,0d,1f,f1,bb,0e,05,98,92,23,a3,ac,81,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:41.332Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,b9,3c,01,00\n2014-08-15T19:05:41.334Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:41.338Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:41.340Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:41.426Z,3,130577,160,255,14,c0,de,b2,88,4f,01,ff,ff,ff,ff,fe,57,22,00\n2014-08-15T19:05:41.428Z,2,129025,160,255,8,ad,c5,97,23,85,98,bd,0e\n2014-08-15T19:05:41.448Z,3,127508,129,255,8,01,ae,05,f7,02,1e,75,71\n2014-08-15T19:05:41.521Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:41.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,41,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:41.624Z,2,129026,160,255,8,ff,fc,b2,88,4f,01,ff,ff\n2014-08-15T19:05:41.645Z,3,128267,115,255,8,00,65,05,00,00,ff,ff,ff\n2014-08-15T19:05:41.647Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:41.674Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:41.742Z,6,129540,160,255,135,2a,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,10,0e,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:05:41.746Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:41.849Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:41.853Z,4,129039,43,255,26,12,44,11,b6,0d,ff,96,bd,0e,ee,c5,97,23,a7,f2,87,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:41.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:41.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:41.891Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:41.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:41.932Z,3,129029,160,255,43,df,a9,3f,60,19,f9,28,00,82,0c,8b,f1,7f,49,08,00,f2,5a,01,d6,9b,6e,03,50,44,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:41.934Z,3,129033,160,255,8,a9,3f,60,19,f9,28,b4,00\n2014-08-15T19:05:41.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:42.013Z,3,127508,129,255,8,01,ac,05,ca,02,1e,75,71\n2014-08-15T19:05:42.020Z,3,126992,160,255,8,ff,ff,a9,3f,24,23,f9,28\n2014-08-15T19:05:42.122Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:05:42.132Z,2,130306,115,255,8,00,cc,02,c7,13,f2,ff,ff\n2014-08-15T19:05:42.156Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:42.225Z,3,129291,160,255,8,ff,fc,8a,4e,1b,00,ff,ff\n2014-08-15T19:05:42.228Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:42.329Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,b9,3c,01,00\n2014-08-15T19:05:42.332Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:42.334Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:42.337Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:42.399Z,3,127508,129,255,8,01,af,05,2b,03,1e,75,71\n2014-08-15T19:05:42.421Z,3,130577,160,255,14,c0,df,49,88,4d,01,ff,ff,ff,ff,8a,4e,1b,00\n2014-08-15T19:05:42.423Z,2,129025,160,255,8,94,c4,97,23,ba,97,bd,0e\n2014-08-15T19:05:42.522Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:42.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,43,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:42.584Z,7,129793,43,255,26,04,90,18,23,00,88,d1,e2,0e,64,31,d3,23,00,50,0b,f9,28,39,86,08,a9,3f,10,00,fc\n2014-08-15T19:05:42.617Z,2,129026,160,255,8,ff,fc,49,88,4d,01,ff,ff\n2014-08-15T19:05:42.628Z,3,128267,115,255,8,00,5f,05,00,00,ff,ff,ff\n2014-08-15T19:05:42.630Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:42.659Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:42.713Z,4,129038,43,255,27,03,88,d6,d0,0c,8a,56,e3,0e,22,d1,b6,23,a9,3d,98,3c,03,61,0a,08,14,9a,00,00,00,fe\n2014-08-15T19:05:42.746Z,6,129540,160,255,135,2b,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,10,0e,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:05:42.748Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:42.751Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:42.794Z,6,129809,43,255,25,18,ca,0c,b7,0d,43,41,54,48,4c,49,4e,4d,45,49,20,49,49,40,40,40,40,40,40,40\n2014-08-15T19:05:42.807Z,7,127506,129,255,9,72,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:42.851Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:42.873Z,4,129039,43,255,26,12,44,11,b6,0d,37,96,bd,0e,b2,c4,97,23,ab,55,87,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:42.891Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:42.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:42.896Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:42.926Z,3,129029,160,255,43,e0,a9,3f,84,40,f9,28,00,c8,24,1e,b0,7f,49,08,00,c4,9c,bd,a6,9b,6e,03,90,51,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:42.928Z,3,129033,160,255,8,a9,3f,84,40,f9,28,b4,00\n2014-08-15T19:05:42.930Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:42.956Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:43.023Z,3,126992,160,255,8,ff,ff,a9,3f,48,4a,f9,28\n2014-08-15T19:05:43.113Z,4,129038,43,255,27,01,28,f5,77,10,d5,b5,a0,0e,b5,6f,74,23,a8,c5,31,b4,00,14,66,08,67,30,00,00,00,fe\n2014-08-15T19:05:43.124Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:05:43.135Z,2,130306,115,255,8,00,47,03,6d,30,f2,ff,ff\n2014-08-15T19:05:43.159Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:43.225Z,3,129291,160,255,8,ff,fc,8a,4e,1b,00,ff,ff\n2014-08-15T19:05:43.227Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:43.327Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,b9,3c,01,00\n2014-08-15T19:05:43.329Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:43.331Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:43.335Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:43.353Z,4,129038,43,255,27,01,e0,53,7f,10,95,d9,c5,0e,ae,8b,a8,23,b0,ec,89,d8,05,35,c0,09,5a,88,00,00,00,fe\n2014-08-15T19:05:43.422Z,3,130577,160,255,14,c0,e0,15,88,4b,01,ff,ff,ff,ff,3d,58,35,00\n2014-08-15T19:05:43.425Z,2,129025,160,255,8,7a,c3,97,23,08,97,bd,0e\n2014-08-15T19:05:43.433Z,3,127508,129,255,8,01,af,05,1c,03,1e,75,72\n2014-08-15T19:05:43.526Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:43.546Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:43.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,36,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:43.593Z,4,129039,43,255,26,12,c4,e2,c3,0d,33,f3,c2,0e,40,4d,95,23,ac,44,57,7c,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:05:43.623Z,2,129026,160,255,8,ff,fc,15,88,4b,01,ff,ff\n2014-08-15T19:05:43.625Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:43.652Z,3,128267,115,255,8,00,47,05,00,00,ff,ff,ff\n2014-08-15T19:05:43.654Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:43.684Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:43.764Z,6,129540,160,255,135,2c,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,80,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:05:43.768Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:05:43.808Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:43.850Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:43.883Z,4,129039,43,255,26,12,44,11,b6,0d,6f,95,bd,0e,75,c3,97,23,af,26,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:43.886Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:43.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:43.890Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:43.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:43.935Z,3,129029,160,255,43,e1,a9,3f,9e,67,f9,28,00,44,a2,75,6e,7f,49,08,00,50,fc,4b,7d,9b,6e,03,30,85,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:43.938Z,3,129033,160,255,8,a9,3f,9e,67,f9,28,b4,00\n2014-08-15T19:05:43.948Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:44.021Z,3,126992,160,255,8,ff,ff,a9,3f,62,71,f9,28\n2014-08-15T19:05:44.060Z,3,127508,129,255,8,01,af,05,0a,03,1e,75,72\n2014-08-15T19:05:44.062Z,2,130306,115,255,8,00,93,02,31,17,f2,ff,ff\n2014-08-15T19:05:44.086Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:44.123Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:05:44.213Z,6,129810,43,255,33,18,ca,0c,b7,0d,24,57,45,53,54,4d,41,52,4f,47,39,39,33,38,40,78,00,28,00,0a,00,6e,00,00,00,00,00,00\n2014-08-15T19:05:44.224Z,3,129291,160,255,8,ff,fc,3d,58,35,00,ff,ff\n2014-08-15T19:05:44.313Z,4,129038,43,255,27,01,20,f6,7e,10,93,3a,c7,0e,35,e9,7f,23,ad,39,31,00,00,d8,08,08,13,c7,00,00,0f,fe\n2014-08-15T19:05:44.324Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,b9,3c,01,00\n2014-08-15T19:05:44.326Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:44.329Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:44.332Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:44.429Z,3,130577,160,255,14,c0,e1,d5,88,4a,01,ff,ff,ff,ff,6e,57,23,00\n2014-08-15T19:05:44.432Z,2,129025,160,255,8,6e,c2,97,23,2e,96,bd,0e\n2014-08-15T19:05:44.511Z,3,127508,129,255,8,01,ae,05,ec,02,1e,75,72\n2014-08-15T19:05:44.531Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:44.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:44.618Z,3,128267,115,255,8,00,81,05,00,00,ff,ff,ff\n2014-08-15T19:05:44.620Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:44.634Z,2,129026,160,255,8,ff,fc,d5,88,4a,01,ff,ff\n2014-08-15T19:05:44.650Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:44.774Z,6,129540,160,255,135,2d,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,10,0e,00,00,00,00,f6\n2014-08-15T19:05:44.776Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:44.832Z,3,127508,129,255,8,01,ae,05,fa,02,1e,75,72\n2014-08-15T19:05:44.856Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:44.865Z,3,127508,129,255,8,01,b1,05,51,03,1e,75,72\n2014-08-15T19:05:44.897Z,6,129794,43,255,75,05,44,9e,c4,0d,0e,d8,8f,00,4f,4a,4c,58,20,20,20,4a,41,4e,45,54,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,34,04,01,50,00,1e,00,78,00,f7,40,80,4b,f4,12,b8,01,4d,55,55,47,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:05:44.900Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:44.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:44.904Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:44.934Z,4,129039,43,255,26,12,44,11,b6,0d,86,94,bd,0e,7b,c2,97,23,b3,03,8b,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:44.938Z,3,129029,160,255,43,e2,a9,3f,b8,8e,f9,28,00,cc,96,0f,30,7f,49,08,00,4c,2c,8a,4a,9b,6e,03,80,b9,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:44.942Z,3,129033,160,255,8,a9,3f,b8,8e,f9,28,b4,00\n2014-08-15T19:05:44.974Z,4,129038,43,255,27,01,d2,ff,4a,10,78,8b,b1,0e,95,01,71,23,b1,59,e8,00,00,de,08,08,37,91,00,00,00,fe\n2014-08-15T19:05:44.986Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:45.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:45.034Z,3,126992,160,255,8,ff,ff,a9,3f,7c,98,f9,28\n2014-08-15T19:05:45.051Z,2,130306,115,255,8,00,23,03,0e,20,f2,ff,ff\n2014-08-15T19:05:45.071Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:45.106Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:45.108Z,7,127506,129,255,9,73,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:45.135Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:05:45.163Z,4,129038,43,255,27,03,fc,ff,e9,25,85,0f,27,0f,61,ce,be,23,b1,2b,bc,c0,02,91,2e,08,7c,bb,1a,00,00,fe\n2014-08-15T19:05:45.237Z,3,129291,160,255,8,ff,fc,6e,57,23,00,ff,ff\n2014-08-15T19:05:45.321Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:45.324Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:45.327Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:45.329Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:45.431Z,3,130577,160,255,14,c0,e2,d5,88,49,01,ff,ff,ff,ff,bd,47,20,00\n2014-08-15T19:05:45.433Z,2,129025,160,255,8,5f,c1,97,23,4f,95,bd,0e\n2014-08-15T19:05:45.534Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:45.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,26,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:45.634Z,3,128267,115,255,8,00,81,05,00,00,ff,ff,ff\n2014-08-15T19:05:45.636Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:45.638Z,2,129026,160,255,8,ff,fc,d5,88,49,01,ff,ff\n2014-08-15T19:05:45.647Z,3,127508,129,255,8,01,ac,05,c6,02,1e,75,73\n2014-08-15T19:05:45.672Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:45.762Z,6,129540,160,255,135,2e,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,ac,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,e4,0c,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:05:45.764Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:05:45.848Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:45.884Z,4,129038,43,255,27,01,10,04,1a,0e,e2,33,fe,0e,12,e5,ae,23,b0,c8,b0,9c,02,30,40,09,9f,b2,00,00,00,fe\n2014-08-15T19:05:45.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:45.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:45.893Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:45.919Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:45.924Z,4,129039,43,255,26,12,44,11,b6,0d,be,93,bd,0e,70,c1,97,23,b7,20,8a,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:45.940Z,3,129029,160,255,43,e3,a9,3f,d2,b5,f9,28,00,f6,ba,f6,f0,7e,49,08,00,56,56,9e,16,9b,6e,03,30,f6,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:45.942Z,3,129033,160,255,8,a9,3f,d2,b5,f9,28,b4,00\n2014-08-15T19:05:45.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:46.003Z,2,130306,115,255,8,00,d6,02,0e,20,f2,ff,ff\n2014-08-15T19:05:46.022Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:46.036Z,3,126992,160,255,8,ff,ff,a9,3f,a0,bf,f9,28\n2014-08-15T19:05:46.065Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:46.134Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:05:46.234Z,3,129291,160,255,8,ff,fc,bd,47,20,00,ff,ff\n2014-08-15T19:05:46.318Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:46.321Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:46.324Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:46.325Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:46.326Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:46.416Z,3,127508,129,255,8,01,af,05,fb,02,1e,75,73\n2014-08-15T19:05:46.441Z,3,130577,160,255,14,c0,e3,c3,88,4a,01,ff,ff,ff,ff,bd,47,20,00\n2014-08-15T19:05:46.444Z,2,129025,160,255,8,4a,c0,97,23,7f,94,bd,0e\n2014-08-15T19:05:46.517Z,6,129794,43,255,75,05,b8,83,92,0e,be,97,8d,00,50,48,41,4e,40,40,40,46,4c,49,4e,54,45,52,42,52,49,47,48,54,40,40,40,40,40,40,40,46,34,03,78,00,3c,00,e4,02,a9,3f,00,b2,9f,26,b8,01,4d,55,55,47,41,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:05:46.540Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:46.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:46.613Z,3,128267,115,255,8,00,84,05,00,00,ff,ff,ff\n2014-08-15T19:05:46.615Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:46.641Z,2,129026,160,255,8,ff,fc,c3,88,4a,01,ff,ff\n2014-08-15T19:05:46.644Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:46.768Z,6,129540,160,255,135,2f,ff,0b,20,68,30,5a,97,d8,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,ac,0d,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,98,08,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:05:46.771Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:05:46.819Z,3,127508,129,255,8,01,af,05,0e,03,1e,75,73\n2014-08-15T19:05:46.850Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:46.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:46.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:46.896Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:46.918Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:46.924Z,4,129039,43,255,26,12,44,11,b6,0d,07,93,bd,0e,66,c0,97,23,bb,e6,88,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:46.946Z,3,129029,160,255,43,e4,a9,3f,f6,dc,f9,28,00,64,3e,78,b0,7e,49,08,00,36,92,30,e6,9a,6e,03,f0,59,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:46.950Z,3,129033,160,255,8,a9,3f,f6,dc,f9,28,b4,00\n2014-08-15T19:05:46.950Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:46.972Z,2,130306,115,255,8,00,d6,02,25,15,f2,ff,ff\n2014-08-15T19:05:46.998Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:47.041Z,3,126992,160,255,8,ff,ff,a9,3f,c4,e6,f9,28\n2014-08-15T19:05:47.113Z,4,129038,43,255,27,03,20,23,c2,0e,56,ba,9f,0e,e3,dc,74,23,ac,00,00,00,00,00,00,08,ab,a5,00,00,01,fe\n2014-08-15T19:05:47.134Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:05:47.154Z,4,129038,43,255,27,03,88,d6,d0,0c,a7,46,e3,0e,9a,c8,b6,23,b9,2c,98,41,03,d0,09,08,c2,9a,00,00,00,fe\n2014-08-15T19:05:47.195Z,3,127508,129,255,8,01,b0,05,13,03,1e,75,73\n2014-08-15T19:05:47.223Z,4,129038,43,255,27,01,b8,f5,67,12,91,f4,90,0e,3c,3c,91,23,b8,68,2d,d6,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:05:47.236Z,3,129291,160,255,8,ff,fc,24,58,2c,00,ff,ff\n2014-08-15T19:05:47.316Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:47.319Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:47.321Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:47.323Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:47.332Z,3,127508,129,255,8,01,ae,05,ce,02,1e,75,73\n2014-08-15T19:05:47.440Z,3,130577,160,255,14,c0,e4,09,89,4b,01,ff,ff,ff,ff,24,58,2c,00\n2014-08-15T19:05:47.444Z,2,129025,160,255,8,36,bf,97,23,a3,93,bd,0e\n2014-08-15T19:05:47.454Z,4,129038,43,255,27,01,e0,53,7f,10,0d,c6,c5,0e,34,73,a8,23,c0,95,89,d8,05,f0,86,08,5a,88,00,00,00,fe\n2014-08-15T19:05:47.539Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:47.544Z,4,129039,43,255,26,12,0a,ec,b5,0d,1b,8f,cb,0e,66,21,92,23,b8,b3,4f,8c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:47.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:47.625Z,3,128267,115,255,8,00,65,05,00,00,ff,ff,ff\n2014-08-15T19:05:47.628Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:47.641Z,2,129026,160,255,8,ff,fc,09,89,4b,01,ff,ff\n2014-08-15T19:05:47.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:47.675Z,4,129038,43,255,27,01,c8,d4,7f,10,a1,b8,df,0e,01,75,c3,23,b9,e1,7b,38,04,40,c0,09,20,7e,00,00,00,fe\n2014-08-15T19:05:47.775Z,6,129540,160,255,135,30,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,1c,0c,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,d8,0e,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,34,08,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:05:47.777Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:05:47.849Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:47.882Z,7,127506,129,255,9,74,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:47.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:47.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:47.888Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:47.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:47.933Z,4,129039,43,255,26,12,44,11,b6,0d,2e,92,bd,0e,6c,bf,97,23,bf,20,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:47.945Z,2,130306,115,255,8,00,f5,02,6c,21,f2,ff,ff\n2014-08-15T19:05:47.954Z,3,129029,160,255,43,e5,a9,3f,10,04,fa,28,00,9c,5c,35,70,7e,49,08,00,9e,8c,f7,b2,9a,6e,03,10,19,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:47.956Z,3,129033,160,255,8,a9,3f,10,04,fa,28,b4,00\n2014-08-15T19:05:47.975Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:48.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:48.042Z,3,126992,160,255,8,ff,ff,a9,3f,de,0d,fa,28\n2014-08-15T19:05:48.145Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:05:48.250Z,3,129291,160,255,8,ff,fc,f2,56,2c,00,ff,ff\n2014-08-15T19:05:48.314Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:48.316Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:48.318Z,3,127508,129,255,8,01,af,05,03,03,1e,75,74\n2014-08-15T19:05:48.318Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:48.322Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:48.443Z,3,130577,160,255,14,c0,e5,83,89,4d,01,ff,ff,ff,ff,f2,56,2c,00\n2014-08-15T19:05:48.445Z,2,129025,160,255,8,1f,be,97,23,ba,92,bd,0e\n2014-08-15T19:05:48.542Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:48.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,29,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:48.610Z,3,128267,115,255,8,00,53,05,00,00,ff,ff,ff\n2014-08-15T19:05:48.612Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:48.628Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:48.639Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:48.647Z,2,129026,160,255,8,ff,fc,83,89,4d,01,ff,ff\n2014-08-15T19:05:48.734Z,4,129038,43,255,27,01,b8,53,a6,0c,77,3a,7a,0e,cc,34,9f,23,c4,d4,ac,78,02,20,07,09,88,ae,00,00,00,fe\n2014-08-15T19:05:48.802Z,6,129540,160,255,135,31,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,b8,0b,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,d8,0e,00,00,00,00,f2,16,97,0b,39,37,fc,08,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:48.804Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:05:48.849Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:48.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:48.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:48.889Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:48.903Z,4,129038,43,255,27,01,68,e2,20,12,3d,04,fd,0e,c3,32,ad,23,c4,6b,af,fd,01,26,07,09,f1,b1,00,00,00,fe\n2014-08-15T19:05:48.907Z,2,130306,115,255,8,00,db,02,48,1b,f2,ff,ff\n2014-08-15T19:05:48.933Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:48.944Z,4,129039,43,255,26,12,44,11,b6,0d,23,91,bd,0e,50,be,97,23,c3,49,8b,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:48.955Z,3,129029,160,255,43,e6,a9,3f,34,2b,fa,28,00,76,aa,3f,2f,7e,49,08,00,c4,aa,b7,7c,9a,6e,03,90,6f,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:48.957Z,3,129033,160,255,8,a9,3f,34,2b,fa,28,b4,00\n2014-08-15T19:05:48.964Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:48.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:49.004Z,4,129038,43,255,27,03,58,43,c9,0e,9e,32,d5,0e,54,7b,a9,23,c4,66,ae,d0,02,e1,1b,08,36,af,00,00,00,fe\n2014-08-15T19:05:49.050Z,3,126992,160,255,8,ff,ff,a9,3f,f8,34,fa,28\n2014-08-15T19:05:49.074Z,4,129038,43,255,27,01,c8,27,16,0e,63,76,6b,0e,b6,82,94,23,bd,0b,32,50,03,52,87,08,c4,31,0a,00,00,fe\n2014-08-15T19:05:49.154Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:05:49.245Z,3,129291,160,255,8,ff,fc,77,4d,25,00,ff,ff\n2014-08-15T19:05:49.250Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:49.311Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:49.313Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:49.316Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:49.318Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:49.450Z,3,130577,160,255,14,c0,e6,66,8a,4e,01,ff,ff,ff,ff,77,4d,25,00\n2014-08-15T19:05:49.452Z,2,129025,160,255,8,0d,bd,97,23,a4,91,bd,0e\n2014-08-15T19:05:49.550Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:49.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,44,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:49.620Z,3,128267,115,255,8,00,8d,05,00,00,ff,ff,ff\n2014-08-15T19:05:49.622Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:49.643Z,4,129038,43,255,27,01,88,44,7d,10,7d,22,c7,0e,eb,ec,7f,23,c0,9f,e5,00,00,20,c0,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:05:49.650Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:49.653Z,2,129026,160,255,8,ff,fc,66,8a,4e,01,ff,ff\n2014-08-15T19:05:49.671Z,3,127508,129,255,8,01,b0,05,0a,03,1e,75,74\n2014-08-15T19:05:49.780Z,6,129540,160,255,135,32,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,f0,0a,00,00,00,00,f2,14,c5,13,ce,ab,80,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,60,09,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,60,09,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:05:49.782Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:05:49.818Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:05:49.852Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:49.890Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:49.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:49.894Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:49.916Z,2,130306,115,255,8,00,ad,02,03,1e,f2,ff,ff\n2014-08-15T19:05:49.941Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:49.960Z,3,129029,160,255,43,e7,a9,3f,26,52,fa,28,00,42,fe,73,ef,7d,49,08,00,68,93,fd,3b,9a,6e,03,50,d3,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:49.962Z,3,129033,160,255,8,a9,3f,26,52,fa,28,b4,00\n2014-08-15T19:05:49.966Z,4,129039,43,255,26,12,44,11,b6,0d,29,90,bd,0e,46,bd,97,23,c7,1b,8c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:50.007Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:50.010Z,3,127508,129,255,8,01,b0,05,0c,03,1e,75,74\n2014-08-15T19:05:50.032Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:50.055Z,3,126992,160,255,8,ff,ff,a9,3f,ea,5b,fa,28\n2014-08-15T19:05:50.061Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:50.084Z,6,129810,43,255,33,18,ec,76,73,10,24,54,48,41,46,24,57,2a,45,53,4b,4d,40,40,40,2c,01,3c,00,1e,00,fa,00,00,00,00,00,00\n2014-08-15T19:05:50.124Z,4,129038,43,255,27,03,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,c1,b7,98,00,00,00,00,08,b7,98,00,00,05,fe\n2014-08-15T19:05:50.158Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:05:50.164Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,43,fa,28,90,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:05:50.260Z,3,129291,160,255,8,ff,fc,b7,68,13,00,ff,ff\n2014-08-15T19:05:50.288Z,3,127508,129,255,8,01,ac,05,b9,02,1e,75,74\n2014-08-15T19:05:50.308Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:50.311Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:50.313Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:50.316Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:50.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,43,fa,28,5d,87,0b,a9,3f,00,00,fc\n2014-08-15T19:05:50.455Z,3,130577,160,255,14,c0,e7,78,8a,4e,01,ff,ff,ff,ff,b7,68,13,00\n2014-08-15T19:05:50.457Z,2,129025,160,255,8,ff,bb,97,23,a7,90,bd,0e\n2014-08-15T19:05:50.555Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:50.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:05:50.607Z,3,128267,115,255,8,00,e9,05,00,00,ff,ff,ff\n2014-08-15T19:05:50.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:50.627Z,3,127508,129,255,8,01,ac,05,88,02,1e,75,74\n2014-08-15T19:05:50.638Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:50.655Z,2,129026,160,255,8,ff,fc,78,8a,4e,01,ff,ff\n2014-08-15T19:05:50.784Z,6,129540,160,255,135,33,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f1\n2014-08-15T19:05:50.786Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:05:50.838Z,2,130306,115,255,8,00,d1,02,03,1e,f2,ff,ff\n2014-08-15T19:05:50.863Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:50.904Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:50.940Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:50.944Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:50.952Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:50.966Z,3,129029,160,255,43,e8,a9,3f,40,79,fa,28,00,36,bd,96,b0,7d,49,08,00,c6,99,15,01,9a,6e,03,a0,96,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:50.970Z,3,129033,160,255,8,a9,3f,40,79,fa,28,b4,00\n2014-08-15T19:05:50.974Z,4,129039,43,255,26,12,44,11,b6,0d,2f,8f,bd,0e,3b,bc,97,23,cb,e0,8a,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:51.019Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:51.052Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:51.064Z,3,126992,160,255,8,ff,ff,a9,3f,04,83,fa,28\n2014-08-15T19:05:51.074Z,7,127506,129,255,9,75,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:51.161Z,3,127508,129,255,8,01,af,05,fc,02,1e,75,75\n2014-08-15T19:05:51.164Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:05:51.264Z,3,129291,160,255,8,ff,fc,ac,73,0f,00,ff,ff\n2014-08-15T19:05:51.305Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:51.308Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:51.310Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:51.314Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:51.324Z,4,129038,43,255,27,03,88,d6,d0,0c,82,36,e3,0e,45,c0,b6,23,c9,a6,98,3c,03,00,00,08,71,9b,00,00,00,fe\n2014-08-15T19:05:51.374Z,4,129038,43,255,27,01,b0,79,7a,10,e8,f5,d1,0e,0e,1b,82,23,c4,25,d9,e8,01,ba,08,08,d9,da,0a,00,00,fe\n2014-08-15T19:05:51.453Z,4,129038,43,255,27,01,e0,53,7f,10,e1,b6,c5,0e,bc,5f,a8,23,d0,83,89,d3,05,86,07,09,ac,87,ff,7f,00,fe\n2014-08-15T19:05:51.460Z,3,130577,160,255,14,c0,e8,0f,8a,4d,01,ff,ff,ff,ff,ac,73,0f,00\n2014-08-15T19:05:51.463Z,2,129025,160,255,8,ea,ba,97,23,c4,8f,bd,0e\n2014-08-15T19:05:51.521Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:51.565Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:51.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,1e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:51.634Z,3,128267,115,255,8,00,ac,05,00,00,ff,ff,ff\n2014-08-15T19:05:51.636Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:51.656Z,2,129026,160,255,8,ff,fc,0f,8a,4d,01,ff,ff\n2014-08-15T19:05:51.664Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:51.784Z,6,129540,160,255,135,34,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,ac,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,ac,0d,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:05:51.788Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:51.830Z,2,130306,115,255,8,00,e5,02,b1,1e,f2,ff,ff\n2014-08-15T19:05:51.851Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:51.893Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:51.934Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:51.936Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:51.939Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:51.968Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:51.973Z,3,129029,160,255,43,e9,a9,3f,8c,a0,fa,28,00,a4,40,18,70,7d,49,08,00,a8,58,3b,cc,99,6e,03,20,5e,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:51.976Z,3,129033,160,255,8,a9,3f,8c,a0,fa,28,b4,00\n2014-08-15T19:05:51.983Z,4,129039,43,255,26,12,44,11,b6,0d,46,8e,bd,0e,20,bb,97,23,cf,a6,89,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:52.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:52.023Z,4,129039,43,255,26,12,ca,0c,b7,0d,47,35,bd,0e,06,ce,95,23,cc,84,7a,44,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:52.061Z,3,126992,160,255,8,ff,ff,a9,3f,50,aa,fa,28\n2014-08-15T19:05:52.160Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:05:52.194Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:52.263Z,3,129291,160,255,8,ff,fc,03,4c,15,00,ff,ff\n2014-08-15T19:05:52.267Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:05:52.302Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:52.305Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:52.308Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:52.310Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:52.468Z,3,130577,160,255,14,c0,e9,db,89,4f,01,ff,ff,ff,ff,03,4c,15,00\n2014-08-15T19:05:52.470Z,2,129025,160,255,8,d1,b9,97,23,e2,8e,bd,0e\n2014-08-15T19:05:52.560Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:52.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,08,24,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:52.600Z,3,128267,115,255,8,00,bb,05,00,00,ff,ff,ff\n2014-08-15T19:05:52.602Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:52.628Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:52.654Z,4,129038,43,255,27,01,08,99,b5,0d,bd,a5,cd,0e,b0,36,a5,23,d4,f3,48,49,01,fb,08,08,f3,48,00,00,00,fe\n2014-08-15T19:05:52.660Z,2,129026,160,255,8,ff,fc,db,89,4f,01,ff,ff\n2014-08-15T19:05:52.788Z,6,129540,160,255,135,35,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:05:52.790Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:52.793Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:05:52.795Z,2,130306,115,255,8,00,e5,02,0e,20,f2,ff,ff\n2014-08-15T19:05:52.833Z,3,127508,129,255,8,01,ac,05,b7,02,1e,75,75\n2014-08-15T19:05:52.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:52.879Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:52.919Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:52.921Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:52.923Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:52.950Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:52.974Z,3,129029,160,255,43,ea,a9,3f,a6,c7,fa,28,00,ea,58,ab,2e,7d,49,08,00,54,b2,9c,97,99,6e,03,e0,c1,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:52.976Z,3,129033,160,255,8,a9,3f,a6,c7,fa,28,b4,00\n2014-08-15T19:05:52.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:53.004Z,4,129039,43,255,26,12,44,11,b6,0d,3b,8d,bd,0e,15,ba,97,23,d3,43,8a,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:53.044Z,4,129039,43,255,26,12,44,e0,c3,0d,6f,c0,ba,0e,96,db,8d,23,d2,c3,82,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:53.072Z,3,126992,160,255,8,ff,ff,a9,3f,6a,d1,fa,28\n2014-08-15T19:05:53.163Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:05:53.190Z,3,127508,129,255,8,01,b1,05,21,03,1e,75,75\n2014-08-15T19:05:53.266Z,3,129291,160,255,8,ff,fc,62,68,18,00,ff,ff\n2014-08-15T19:05:53.268Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:05:53.299Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:53.302Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:53.305Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:53.307Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:53.471Z,3,130577,160,255,14,c0,ea,ec,89,51,01,ff,ff,ff,ff,62,68,18,00\n2014-08-15T19:05:53.473Z,2,129025,160,255,8,b7,b8,97,23,f1,8d,bd,0e\n2014-08-15T19:05:53.568Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:53.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,4b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:53.598Z,3,128267,115,255,8,00,c1,05,00,00,ff,ff,ff\n2014-08-15T19:05:53.601Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:53.628Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:53.669Z,2,129026,160,255,8,ff,fc,ec,89,51,01,ff,ff\n2014-08-15T19:05:53.672Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:05:53.746Z,2,130306,115,255,8,00,8e,02,df,17,f2,ff,ff\n2014-08-15T19:05:53.773Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:53.809Z,6,129540,160,255,135,36,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:05:53.811Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:05:53.841Z,3,127508,129,255,8,01,b0,05,fc,02,1e,75,75\n2014-08-15T19:05:53.851Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:53.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:53.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:53.894Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:53.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:53.923Z,4,129038,43,255,27,01,08,7b,ba,0d,4a,d8,92,0e,bb,b2,bc,23,d5,94,a1,7c,01,08,88,08,94,a1,00,00,00,fe\n2014-08-15T19:05:53.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:53.974Z,3,129029,160,255,43,eb,a9,3f,c0,ee,fa,28,00,66,d6,02,ed,7c,49,08,00,2a,fa,7f,5f,99,6e,03,70,21,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:53.977Z,3,129033,160,255,8,a9,3f,c0,ee,fa,28,b4,00\n2014-08-15T19:05:54.013Z,4,129039,43,255,26,12,44,11,b6,0d,52,8c,bd,0e,0a,b9,97,23,d7,43,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:54.068Z,3,126992,160,255,8,ff,ff,a9,3f,84,f8,fa,28\n2014-08-15T19:05:54.133Z,4,129039,43,255,26,12,58,7f,b6,0d,55,1a,bc,0e,49,c1,93,23,d7,cf,7e,a0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:54.166Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:05:54.270Z,3,129291,160,255,8,ff,fc,62,68,18,00,ff,ff\n2014-08-15T19:05:54.284Z,3,127508,129,255,8,01,ac,05,aa,02,1e,75,75\n2014-08-15T19:05:54.296Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,cb,3c,01,00\n2014-08-15T19:05:54.300Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:54.302Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:54.304Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:54.477Z,3,130577,160,255,14,c0,eb,60,89,55,01,ff,ff,ff,ff,f0,53,10,00\n2014-08-15T19:05:54.480Z,2,129025,160,255,8,94,b7,97,23,0b,8d,bd,0e\n2014-08-15T19:05:54.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:54.575Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:54.594Z,3,128267,115,255,8,00,c7,05,00,00,ff,ff,ff\n2014-08-15T19:05:54.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:54.632Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:54.676Z,2,129026,160,255,8,ff,fc,60,89,55,01,ff,ff\n2014-08-15T19:05:54.730Z,2,130306,115,255,8,00,c1,02,c9,22,f2,ff,ff\n2014-08-15T19:05:54.750Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:54.803Z,6,129540,160,255,135,37,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:54.805Z,7,127506,129,255,9,76,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:54.806Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:54.851Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:05:54.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:54.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:54.893Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:05:54.948Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:54.976Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:54.989Z,3,129029,160,255,43,ec,a9,3f,d0,15,fb,28,00,c8,e2,41,a9,7c,49,08,00,ae,e8,f2,29,99,6e,03,80,b9,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:54.991Z,3,129033,160,255,8,a9,3f,d0,15,fb,28,b4,00\n2014-08-15T19:05:55.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:55.025Z,4,129039,43,255,26,12,44,11,b6,0d,8a,8b,bd,0e,ef,b7,97,23,db,f8,88,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:55.075Z,3,126992,160,255,8,ff,ff,a9,3f,94,1f,fb,28\n2014-08-15T19:05:55.160Z,3,127508,129,255,8,01,ae,05,b9,02,1e,75,76\n2014-08-15T19:05:55.176Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:05:55.194Z,4,129038,43,255,27,03,88,d6,d0,0c,1a,26,e3,0e,11,b8,b6,23,d9,32,99,3c,03,11,09,08,71,9b,00,00,00,fe\n2014-08-15T19:05:55.279Z,3,129291,160,255,8,ff,fc,f0,53,10,00,ff,ff\n2014-08-15T19:05:55.294Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,58,25,0a,01,de,3c,01,00\n2014-08-15T19:05:55.297Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:55.299Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:55.301Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:55.484Z,3,130577,160,255,14,c0,ec,4f,89,55,01,ff,ff,ff,ff,3a,44,1d,00\n2014-08-15T19:05:55.486Z,2,129025,160,255,8,66,b6,97,23,1e,8c,bd,0e\n2014-08-15T19:05:55.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,20,02,02,00,01,01,03,00,00,00\n2014-08-15T19:05:55.579Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:55.594Z,4,129038,43,255,27,01,e0,53,7f,10,7e,a8,c5,0e,24,4c,a8,23,e0,b2,88,ce,05,35,40,09,fd,86,ff,7f,00,fe\n2014-08-15T19:05:55.604Z,3,128267,115,255,8,00,e2,05,00,00,ff,ff,ff\n2014-08-15T19:05:55.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:55.634Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:55.680Z,2,129026,160,255,8,ff,fc,4f,89,55,01,ff,ff\n2014-08-15T19:05:55.682Z,2,130306,115,255,8,00,a7,02,bd,20,f2,ff,ff\n2014-08-15T19:05:55.706Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:55.708Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:55.818Z,6,129540,160,255,135,38,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:05:55.820Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:05:55.859Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:55.895Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:55.898Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:55.903Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:55.924Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,fa,f6,c7,23,00,30,2e,fb,28,c4,40,09,a9,3f,10,00,fc\n2014-08-15T19:05:55.973Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:55.984Z,3,129029,160,255,43,ed,a9,3f,f4,3c,fb,28,00,7c,48,f1,62,7c,49,08,00,ac,9b,c4,f2,98,6e,03,20,5e,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:55.987Z,3,129033,160,255,8,a9,3f,f4,3c,fb,28,b4,00\n2014-08-15T19:05:55.998Z,3,127508,129,255,8,01,b0,05,0c,03,1e,75,76\n2014-08-15T19:05:56.044Z,4,129039,43,255,26,12,44,11,b6,0d,b1,8a,bd,0e,c3,b6,97,23,df,83,89,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:56.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:56.089Z,3,126992,160,255,8,ff,ff,a9,3f,fe,46,fb,28\n2014-08-15T19:05:56.089Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:56.179Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:05:56.184Z,4,129039,43,255,26,12,08,57,b6,0d,21,9f,ca,0e,6f,33,92,23,df,56,57,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:05:56.279Z,3,129291,160,255,8,ff,fc,3a,44,1d,00,ff,ff\n2014-08-15T19:05:56.291Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:05:56.294Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:56.296Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:56.299Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:56.441Z,3,127508,129,255,8,01,af,05,c4,02,1e,75,76\n2014-08-15T19:05:56.481Z,3,130577,160,255,14,c0,ed,0f,8a,58,01,ff,ff,ff,ff,fd,74,1c,00\n2014-08-15T19:05:56.484Z,2,129025,160,255,8,44,b5,97,23,10,8b,bd,0e\n2014-08-15T19:05:56.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:56.582Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:56.596Z,3,128267,115,255,8,00,c1,05,00,00,ff,ff,ff\n2014-08-15T19:05:56.599Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:56.631Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:56.650Z,2,130306,115,255,8,00,d1,02,54,1d,f2,ff,ff\n2014-08-15T19:05:56.658Z,3,127508,129,255,8,01,af,05,cc,02,1e,75,76\n2014-08-15T19:05:56.670Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:56.684Z,2,129026,160,255,8,ff,fc,0f,8a,58,01,ff,ff\n2014-08-15T19:05:56.725Z,3,127508,129,255,8,01,af,05,cf,02,1e,75,76\n2014-08-15T19:05:56.768Z,7,127506,129,255,9,77,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:56.823Z,6,129540,160,255,135,39,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,b8,0b,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:05:56.825Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:05:56.844Z,4,129038,43,255,27,01,d4,e5,b5,0d,4a,11,e1,0e,b0,25,de,23,e4,9c,21,00,00,14,66,08,68,21,00,00,00,fe\n2014-08-15T19:05:56.849Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:56.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:56.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:56.889Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:56.918Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:56.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:56.990Z,3,129029,160,255,43,ee,a9,3f,54,64,fb,28,00,a8,ef,6b,1f,7c,49,08,00,a0,5a,e7,b3,98,6e,03,c0,73,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:56.992Z,3,129033,160,255,8,a9,3f,54,64,fb,28,b4,00\n2014-08-15T19:05:57.053Z,4,129039,43,255,26,12,44,11,b6,0d,c8,89,bd,0e,b8,b5,97,23,e3,f2,8a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:57.081Z,3,126992,160,255,8,ff,ff,a9,3f,18,6e,fb,28\n2014-08-15T19:05:57.094Z,4,129038,43,255,27,01,fc,ff,e9,25,cb,d4,26,0f,2e,d1,be,23,e1,da,bc,c0,02,00,00,08,7c,bb,ba,ff,00,fe\n2014-08-15T19:05:57.183Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:05:57.245Z,3,127508,129,255,8,01,b0,05,e8,02,1e,75,77\n2014-08-15T19:05:57.283Z,3,129291,160,255,8,ff,fc,fd,74,1c,00,ff,ff\n2014-08-15T19:05:57.289Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:05:57.292Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:57.294Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:57.297Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:57.491Z,3,130577,160,255,14,c0,ee,a6,89,58,01,ff,ff,ff,ff,fd,74,1c,00\n2014-08-15T19:05:57.494Z,2,129025,160,255,8,26,b4,97,23,1b,8a,bd,0e\n2014-08-15T19:05:57.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:57.581Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:57.620Z,3,128267,115,255,8,00,b2,05,00,00,ff,ff,ff\n2014-08-15T19:05:57.623Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:57.655Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:57.682Z,2,129026,160,255,8,ff,fc,a6,89,58,01,ff,ff\n2014-08-15T19:05:57.695Z,2,130306,115,255,8,00,93,02,a5,1c,f2,ff,ff\n2014-08-15T19:05:57.715Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:57.744Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:57.811Z,6,129540,160,255,135,3a,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:05:57.813Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:05:57.851Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:57.861Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:05:57.890Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:57.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:57.894Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:57.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:57.953Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:57.965Z,3,127508,129,255,8,01,b1,05,07,03,1e,75,77\n2014-08-15T19:05:57.995Z,3,129029,160,255,43,ef,a9,3f,6e,8b,fb,28,00,fc,01,d5,dc,7b,49,08,00,4e,37,dc,7a,98,6e,03,e0,c1,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:57.997Z,3,129033,160,255,8,a9,3f,6e,8b,fb,28,b4,00\n2014-08-15T19:05:58.043Z,4,129038,43,255,27,01,e0,65,7c,10,84,b9,c2,0e,f9,5e,6e,23,e4,28,0d,00,00,7d,88,08,71,aa,00,00,00,fe\n2014-08-15T19:05:58.083Z,4,129039,43,255,26,12,44,11,b6,0d,ef,88,bd,0e,9d,b4,97,23,e7,7e,88,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:58.086Z,3,126992,160,255,8,ff,ff,a9,3f,32,95,fb,28\n2014-08-15T19:05:58.188Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:05:58.201Z,3,127508,129,255,8,01,af,05,c9,02,1e,75,77\n2014-08-15T19:05:58.286Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:05:58.289Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:58.292Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:58.294Z,3,129291,160,255,8,ff,fc,44,70,20,00,ff,ff\n2014-08-15T19:05:58.296Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:58.486Z,3,130577,160,255,14,c0,ef,db,89,52,01,ff,ff,ff,ff,44,70,20,00\n2014-08-15T19:05:58.488Z,2,129025,160,255,8,13,b3,97,23,41,89,bd,0e\n2014-08-15T19:05:58.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:05:58.584Z,3,128267,115,255,8,00,c1,05,00,00,ff,ff,ff\n2014-08-15T19:05:58.586Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:58.588Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:58.606Z,2,130306,115,255,8,00,ad,02,eb,19,f2,ff,ff\n2014-08-15T19:05:58.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:58.655Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:58.671Z,3,127508,129,255,8,01,af,05,c4,02,1e,75,77\n2014-08-15T19:05:58.689Z,2,129026,160,255,8,ff,fc,db,89,52,01,ff,ff\n2014-08-15T19:05:58.794Z,4,129038,43,255,27,01,b8,f5,67,12,fd,38,91,0e,88,4b,91,23,e8,56,2d,d6,03,99,88,0a,50,2c,00,00,00,fe\n2014-08-15T19:05:58.816Z,6,129540,160,255,135,3b,ff,0b,20,68,30,5a,97,74,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:05:58.819Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:05:58.850Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:05:58.886Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:58.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:58.890Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:05:58.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:58.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:58.988Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:05:59.002Z,3,129029,160,255,43,f0,a9,3f,88,b2,fb,28,00,fe,ba,cd,9c,7b,49,08,00,4a,67,1a,48,98,6e,03,20,ed,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:05:59.004Z,3,129033,160,255,8,a9,3f,88,b2,fb,28,b4,00\n2014-08-15T19:05:59.063Z,4,129038,43,255,27,03,88,d6,d0,0c,a1,15,e3,0e,ee,af,b6,23,e9,89,99,37,03,a0,09,08,20,9c,00,00,00,fe\n2014-08-15T19:05:59.092Z,3,126992,160,255,8,ff,ff,a9,3f,4c,bc,fb,28\n2014-08-15T19:05:59.103Z,4,129039,43,255,26,12,44,11,b6,0d,06,88,bd,0e,92,b3,97,23,eb,20,8a,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:05:59.196Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:05:59.244Z,4,129038,43,255,27,01,10,dc,6d,0f,d3,8b,5d,0e,05,43,9c,23,e9,94,ad,88,02,aa,88,08,88,ae,1a,00,00,fe\n2014-08-15T19:05:59.284Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:05:59.286Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:05:59.290Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:05:59.292Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:05:59.294Z,3,129291,160,255,8,ff,fc,6c,8a,1f,00,ff,ff\n2014-08-15T19:05:59.312Z,3,127508,129,255,8,01,af,05,c0,02,1e,75,77\n2014-08-15T19:05:59.433Z,4,129038,43,255,27,01,e0,53,7f,10,f2,9d,c5,0e,7e,3d,a8,23,00,c3,88,c9,05,b1,88,08,5a,88,00,00,00,fe\n2014-08-15T19:05:59.465Z,7,127506,129,255,9,78,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:05:59.489Z,3,130577,160,255,14,c0,f0,4f,89,4f,01,ff,ff,ff,ff,6c,8a,1f,00\n2014-08-15T19:05:59.492Z,2,129025,160,255,8,0b,b2,97,23,6f,88,bd,0e\n2014-08-15T19:05:59.508Z,3,127508,129,255,8,01,ae,05,97,02,1e,75,78\n2014-08-15T19:05:59.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,2d,02,03,00,01,01,03,00,00,00\n2014-08-15T19:05:59.580Z,2,130306,115,255,8,00,89,02,77,23,f2,ff,ff\n2014-08-15T19:05:59.594Z,4,129038,43,255,27,01,c8,d4,7f,10,5f,b5,df,0e,e3,47,c3,23,e9,15,7c,38,04,b7,88,08,20,7e,00,00,00,fe\n2014-08-15T19:05:59.596Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:05:59.600Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:59.634Z,3,128267,115,255,8,00,8a,05,00,00,ff,ff,ff\n2014-08-15T19:05:59.636Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:59.664Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:59.694Z,2,129026,160,255,8,ff,fc,4f,89,4f,01,ff,ff\n2014-08-15T19:05:59.724Z,4,129038,43,255,27,01,92,12,4b,10,fd,33,fa,0e,d8,23,ae,23,ec,e6,af,c0,02,4e,c0,08,42,b1,fd,ff,00,fe\n2014-08-15T19:05:59.804Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,a2,bf,76,23,ed,8e,d3,00,00,30,40,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:05:59.824Z,6,129540,160,255,135,3c,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,54,0b,00,00,00,00,f2,13,8b,09,cf,7e,ac,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:05:59.829Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:05:59.853Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:05:59.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:05:59.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:59.893Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:05:59.943Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:05:59.963Z,4,129038,43,255,27,01,6c,70,4a,10,5d,98,02,0f,f4,e0,a3,23,eb,96,35,bf,01,14,66,08,d0,33,06,00,00,fe\n2014-08-15T19:05:59.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:05:59.985Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:05:59.999Z,3,129029,160,255,43,f1,a9,3f,a2,d9,fb,28,00,ae,1a,56,5f,7b,49,08,00,96,6d,35,17,98,6e,03,d0,0b,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:00.001Z,3,129033,160,255,8,a9,3f,a2,d9,fb,28,b4,00\n2014-08-15T19:06:00.017Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:00.094Z,4,129039,43,255,26,12,44,11,b6,0d,4f,87,bd,0e,88,b2,97,23,ef,26,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:00.096Z,3,126992,160,255,8,ff,ff,a9,3f,66,e3,fb,28\n2014-08-15T19:06:00.190Z,2,128259,160,255,8,ff,ff,ff,4f,01,ff,ff,ff\n2014-08-15T19:06:00.282Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:06:00.284Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:00.287Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:00.289Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:00.292Z,3,129291,160,255,8,ff,fc,fe,79,1f,00,ff,ff\n2014-08-15T19:06:00.446Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:00.494Z,3,130577,160,255,14,c0,f1,a0,88,4a,01,ff,ff,ff,ff,fe,79,1f,00\n2014-08-15T19:06:00.498Z,2,129025,160,255,8,f6,b0,97,23,c1,87,bd,0e\n2014-08-15T19:06:00.568Z,2,130306,115,255,8,00,9d,02,03,1e,f2,ff,ff\n2014-08-15T19:06:00.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,22,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:00.588Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:00.599Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:00.625Z,3,128267,115,255,8,00,78,05,00,00,ff,ff,ff\n2014-08-15T19:06:00.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:00.655Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:00.693Z,2,129026,160,255,8,ff,fc,a0,88,4a,01,ff,ff\n2014-08-15T19:06:00.715Z,4,129038,43,255,27,03,88,d6,d0,0c,4c,0d,e3,0e,e4,ab,b6,23,01,bd,99,37,03,a1,0a,00,20,9c,00,00,00,fe\n2014-08-15T19:06:00.729Z,3,127508,129,255,8,01,af,05,c2,02,1e,75,78\n2014-08-15T19:06:00.753Z,4,129038,43,255,27,01,c8,27,16,0e,b5,b9,6b,0e,69,8c,94,23,ed,51,32,55,03,39,40,09,c4,31,00,00,00,fe\n2014-08-15T19:06:00.765Z,3,127508,129,255,8,01,af,05,c5,02,1e,75,78\n2014-08-15T19:06:00.813Z,4,129038,43,255,27,01,98,69,b3,0e,ba,8a,8e,0e,9e,94,a0,23,e9,08,b0,fd,01,24,c0,08,42,b1,00,00,00,fe\n2014-08-15T19:06:00.832Z,6,129540,160,255,135,3d,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,e4,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:06:00.836Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:06:00.851Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:00.893Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:00.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:00.898Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:00.907Z,4,129038,43,255,27,03,58,43,c9,0e,f5,f7,d4,0e,f9,73,a9,23,04,77,ae,d0,02,01,1b,08,36,af,00,00,00,fe\n2014-08-15T19:06:00.923Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:00.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:00.999Z,3,129029,160,255,43,f2,a9,3f,bc,00,fc,28,00,1c,9e,d7,1e,7b,49,08,00,4a,38,b2,ee,97,6e,03,e0,50,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:01.001Z,3,129033,160,255,8,a9,3f,bc,00,fc,28,b4,00\n2014-08-15T19:06:01.101Z,3,126992,160,255,8,ff,ff,a9,3f,80,0a,fc,28\n2014-08-15T19:06:01.103Z,4,129039,43,255,26,12,44,11,b6,0d,87,86,bd,0e,7d,b1,97,23,03,be,87,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:01.201Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:06:01.278Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:06:01.282Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:01.284Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:01.288Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:01.294Z,4,129038,43,255,27,01,e0,53,7f,10,97,96,c5,0e,ca,33,a8,23,08,2c,89,c9,05,2d,00,01,5a,88,00,00,00,fe\n2014-08-15T19:06:01.302Z,3,129291,160,255,8,ff,fc,00,60,11,00,ff,ff\n2014-08-15T19:06:01.373Z,4,129038,43,255,27,01,02,8b,c4,0d,d4,c8,e0,0e,39,50,c9,23,08,89,81,6d,01,93,40,01,43,84,00,00,00,fe\n2014-08-15T19:06:01.394Z,3,127508,129,255,8,01,b0,05,e7,02,1e,75,78\n2014-08-15T19:06:01.413Z,4,129038,43,255,27,01,b0,79,7a,10,f5,d7,d1,0e,d2,24,82,23,00,48,d9,e8,01,48,40,01,d9,da,00,00,00,fe\n2014-08-15T19:06:01.483Z,4,129038,43,255,27,03,90,75,cd,0e,db,9b,b9,0e,e6,58,70,23,00,1b,7d,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:06:01.500Z,3,130577,160,255,14,c0,f2,d5,88,4c,01,ff,ff,ff,ff,00,60,11,00\n2014-08-15T19:06:01.502Z,2,129025,160,255,8,e6,af,97,23,f9,86,bd,0e\n2014-08-15T19:06:01.523Z,4,129039,43,255,26,12,8c,d3,b5,0d,7e,55,be,0e,3d,73,98,23,00,49,8b,2a,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:06:01.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,46,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:01.573Z,3,127508,129,255,8,01,af,05,ab,02,1e,75,78\n2014-08-15T19:06:01.581Z,2,130306,115,255,8,00,41,02,8f,27,f2,ff,ff\n2014-08-15T19:06:01.601Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:01.603Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:01.633Z,3,128267,115,255,8,00,8d,05,00,00,ff,ff,ff\n2014-08-15T19:06:01.635Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:01.663Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:01.705Z,2,129026,160,255,8,ff,fc,d5,88,4c,01,ff,ff\n2014-08-15T19:06:01.844Z,6,129540,160,255,135,3e,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:06:01.846Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:06:01.854Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:06:01.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:01.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:01.894Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:06:01.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:01.954Z,7,127506,129,255,9,79,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:01.976Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:02.017Z,3,129029,160,255,43,f3,a9,3f,cc,27,fc,28,00,7c,27,83,df,7a,49,08,00,7a,4a,21,c0,97,6e,03,70,b0,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:02.019Z,3,129033,160,255,8,a9,3f,cc,27,fc,28,b4,00\n2014-08-15T19:06:02.096Z,3,127508,129,255,8,01,ae,05,8b,02,1e,75,79\n2014-08-15T19:06:02.102Z,3,126992,160,255,8,ff,ff,a9,3f,9a,31,fc,28\n2014-08-15T19:06:02.116Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:02.123Z,4,129039,43,255,26,12,44,11,b6,0d,ae,85,bd,0e,51,b0,97,23,07,4f,89,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:02.163Z,4,129038,43,255,27,01,20,54,a5,0e,2b,0e,51,0f,18,54,ad,23,0c,f9,34,45,02,db,08,00,d0,33,00,00,00,fe\n2014-08-15T19:06:02.217Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:06:02.276Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:06:02.278Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:02.281Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:02.284Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:02.311Z,3,129291,160,255,8,ff,fc,6c,46,0b,00,ff,ff\n2014-08-15T19:06:02.315Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:02.343Z,4,129038,43,255,27,01,d0,e7,da,0d,a7,9a,33,0f,03,13,c4,23,0d,2f,02,05,00,59,c0,00,1f,ba,00,00,00,fe\n2014-08-15T19:06:02.414Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:02.514Z,6,129810,43,255,33,18,0a,df,8e,0f,24,47,41,52,4d,49,4e,40,53,50,47,33,36,34,31,8c,00,28,00,14,00,46,00,00,00,00,00,00\n2014-08-15T19:06:02.517Z,3,130577,160,255,14,c0,f3,03,88,49,01,ff,ff,ff,ff,6c,46,0b,00\n2014-08-15T19:06:02.519Z,2,129025,160,255,8,d3,ae,97,23,3d,86,bd,0e\n2014-08-15T19:06:02.553Z,4,129038,43,255,27,01,08,99,b5,0d,45,b9,cd,0e,b0,36,a5,23,0c,ff,4a,44,01,e1,08,00,f3,48,00,00,00,fe\n2014-08-15T19:06:02.565Z,2,130306,115,255,8,00,41,02,df,17,f2,ff,ff\n2014-08-15T19:06:02.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,23,02,02,00,01,03,03,00,00,00\n2014-08-15T19:06:02.589Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:02.593Z,4,129039,43,255,26,12,6e,c9,b5,0d,35,f7,d1,0e,8a,78,8f,23,0b,d0,5d,a0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:06:02.608Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:02.624Z,3,128267,115,255,8,00,d3,05,00,00,ff,ff,ff\n2014-08-15T19:06:02.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:02.633Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,00,31,d3,23,00,90,18,fc,28,7b,c0,09,a9,3f,10,00,fc\n2014-08-15T19:06:02.648Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:02.673Z,4,129038,43,255,27,01,58,eb,ad,0e,91,3f,5f,0e,55,d7,8f,23,0f,62,2f,d4,01,c4,08,08,5c,2e,00,00,00,fe\n2014-08-15T19:06:02.714Z,2,129026,160,255,8,ff,fc,03,88,49,01,ff,ff\n2014-08-15T19:06:02.774Z,3,127508,129,255,8,01,b0,05,e1,02,1e,75,79\n2014-08-15T19:06:02.843Z,6,129540,160,255,135,3f,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:06:02.845Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:06:02.847Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:02.851Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:02.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:02.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:02.889Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:02.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:02.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:03.023Z,3,129029,160,255,43,f4,a9,3f,be,4e,fc,28,00,7e,e0,7b,9f,7a,49,08,00,22,9e,5b,94,97,6e,03,90,6f,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:03.025Z,3,129033,160,255,8,a9,3f,be,4e,fc,28,b4,00\n2014-08-15T19:06:03.109Z,3,126992,160,255,8,ff,ff,a9,3f,82,58,fc,28\n2014-08-15T19:06:03.133Z,4,129039,43,255,26,12,44,11,b6,0d,f7,84,bd,0e,25,af,97,23,0b,83,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:03.173Z,4,129038,43,255,27,03,88,d6,d0,0c,f7,04,e3,0e,db,a7,b6,23,09,e0,99,3c,03,00,00,08,20,9c,00,00,00,fe\n2014-08-15T19:06:03.211Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:06:03.273Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:06:03.277Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:03.279Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:03.281Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:03.314Z,3,129291,160,255,8,ff,fc,ac,76,18,00,ff,ff\n2014-08-15T19:06:03.315Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:03.451Z,3,127508,129,255,8,01,af,05,ac,02,1e,75,79\n2014-08-15T19:06:03.518Z,3,130577,160,255,14,c0,f4,60,86,4b,01,ff,ff,ff,ff,ac,76,18,00\n2014-08-15T19:06:03.520Z,2,129025,160,255,8,b1,ad,97,23,bb,85,bd,0e\n2014-08-15T19:06:03.563Z,4,129038,43,255,27,01,b8,83,92,0e,e4,bd,e0,0e,0b,c8,75,23,11,8e,c1,05,00,82,80,00,59,d3,00,00,00,fe\n2014-08-15T19:06:03.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:03.576Z,2,130306,115,255,8,00,4b,02,04,2d,f2,ff,ff\n2014-08-15T19:06:03.592Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:03.604Z,4,129038,43,255,27,01,e0,53,7f,10,53,8b,c5,0e,35,25,a8,23,10,3d,89,ce,05,82,80,09,5a,88,00,00,00,fe\n2014-08-15T19:06:03.612Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:03.630Z,3,128267,115,255,8,00,7b,05,00,00,ff,ff,ff\n2014-08-15T19:06:03.632Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:03.672Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:03.713Z,2,129026,160,255,8,ff,fc,60,86,4b,01,ff,ff\n2014-08-15T19:06:03.716Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:03.853Z,6,129540,160,255,135,40,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,b8,0b,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:06:03.855Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:06:03.858Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:03.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:03.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:03.888Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:03.915Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:03.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:04.026Z,3,129029,160,255,43,f5,a9,3f,d8,75,fc,28,00,aa,87,f6,5b,7a,49,08,00,8e,03,17,76,97,6e,03,70,21,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:04.028Z,3,129033,160,255,8,a9,3f,d8,75,fc,28,b4,00\n2014-08-15T19:06:04.065Z,3,127508,129,255,8,01,af,05,bb,02,1e,75,79\n2014-08-15T19:06:04.084Z,4,129038,43,255,27,01,08,7b,ba,0d,9d,bf,92,0e,4a,a9,bc,23,0d,94,a1,77,01,1a,40,01,94,a1,00,00,00,fe\n2014-08-15T19:06:04.111Z,3,126992,160,255,8,ff,ff,a9,3f,9c,7f,fc,28\n2014-08-15T19:06:04.123Z,4,129038,43,255,27,01,28,f5,77,10,e0,cf,a0,0e,38,76,74,23,08,c5,31,b9,00,96,80,08,16,31,00,00,00,fe\n2014-08-15T19:06:04.163Z,4,129039,43,255,26,12,44,11,b6,0d,82,84,bd,0e,f9,ad,97,23,0f,a6,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:04.203Z,4,129038,43,255,27,01,fc,ff,e9,25,38,b5,26,0f,ad,d2,be,23,0d,7d,bb,c0,02,00,00,00,7c,bb,f6,ff,00,fe\n2014-08-15T19:06:04.213Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:06:04.243Z,4,129038,43,255,27,01,b0,7f,79,10,45,d2,b4,0e,6e,7d,6f,23,0c,03,a6,00,00,3c,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:06:04.271Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,f0,3c,01,00\n2014-08-15T19:06:04.274Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:04.276Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:04.279Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:04.321Z,3,129291,160,255,8,ff,fc,d0,5e,32,00,ff,ff\n2014-08-15T19:06:04.413Z,4,129039,43,255,26,12,44,11,b6,0d,88,83,bd,0e,ee,ac,97,23,13,55,8a,49,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:06:04.521Z,3,130577,160,255,14,c0,f5,9b,87,48,01,ff,ff,ff,ff,d0,5e,32,00\n2014-08-15T19:06:04.523Z,2,129025,160,255,8,97,ac,97,23,0f,85,bd,0e\n2014-08-15T19:06:04.547Z,6,129794,43,255,75,05,30,9d,cf,0d,a4,13,88,00,4f,5a,32,30,37,39,20,46,55,52,45,20,53,55,4e,20,20,20,20,20,20,20,20,20,20,20,20,50,aa,05,dc,00,6e,00,b0,04,a9,3f,00,2a,75,15,e4,02,50,4f,52,56,4f,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:06:04.555Z,2,130306,115,255,8,00,41,02,03,1e,f2,ff,ff\n2014-08-15T19:06:04.574Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2b,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:04.575Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:04.613Z,3,128267,115,255,8,00,4a,05,00,00,ff,ff,ff\n2014-08-15T19:06:04.615Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:04.617Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:04.633Z,4,129038,43,255,27,01,40,4e,b9,0d,1b,06,05,0f,c8,bb,d5,23,09,fe,83,18,03,aa,80,08,43,84,00,00,00,fe\n2014-08-15T19:06:04.644Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:04.718Z,2,129026,160,255,8,ff,fc,9b,87,48,01,ff,ff\n2014-08-15T19:06:04.742Z,3,127508,129,255,8,01,b0,05,c0,02,1e,75,79\n2014-08-15T19:06:04.823Z,4,129038,43,255,27,01,20,f6,7e,10,f7,3a,c7,0e,46,e9,7f,23,11,39,31,00,00,41,c0,08,13,c7,00,00,0f,fe\n2014-08-15T19:06:04.858Z,6,129540,160,255,135,41,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:06:04.860Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:06:04.862Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:04.890Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:04.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:04.894Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:04.948Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:04.976Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:05.025Z,3,129029,160,255,43,f6,a9,3f,1a,9d,fc,28,00,26,05,4e,1a,7a,49,08,00,d6,03,0b,4e,97,6e,03,80,66,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:05.027Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:05.030Z,3,129033,160,255,8,a9,3f,1a,9d,fc,28,b4,00\n2014-08-15T19:06:05.034Z,4,129038,43,255,27,03,fc,ff,e9,25,9a,ad,26,0f,00,d3,be,23,11,7d,bb,c0,02,81,2f,08,7c,bb,ec,ff,00,fe\n2014-08-15T19:06:05.121Z,3,126992,160,255,8,ff,ff,a9,3f,de,a6,fc,28\n2014-08-15T19:06:05.143Z,4,129038,43,255,27,01,b8,f5,67,12,bd,64,91,0e,1a,55,91,23,10,34,2d,d1,03,bd,80,02,ff,2c,00,00,00,fe\n2014-08-15T19:06:05.183Z,4,129039,43,255,26,12,44,11,b6,0d,88,83,bd,0e,ee,ac,97,23,13,55,8a,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:05.223Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:06:05.243Z,4,129038,43,255,27,03,88,d6,d0,0c,a1,fc,e2,0e,d2,a3,b6,23,11,03,9a,37,03,50,09,00,20,9c,00,00,00,fe\n2014-08-15T19:06:05.269Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,03,3d,01,00\n2014-08-15T19:06:05.272Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:05.274Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:05.277Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:05.336Z,3,129291,160,255,8,ff,fc,82,6d,1c,00,ff,ff\n2014-08-15T19:06:05.433Z,4,129038,43,255,27,01,e0,53,7f,10,7c,87,c5,0e,53,20,a8,23,18,83,89,ce,05,35,c0,00,ac,87,ff,7f,00,fe\n2014-08-15T19:06:05.442Z,7,127506,129,255,9,7a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:05.530Z,3,130577,160,255,14,c0,f6,f2,87,47,01,ff,ff,ff,ff,82,6d,1c,00\n2014-08-15T19:06:05.533Z,2,129025,160,255,8,94,ab,97,23,2a,84,bd,0e\n2014-08-15T19:06:05.561Z,3,127508,129,255,8,01,ae,05,80,02,1e,75,7a\n2014-08-15T19:06:05.569Z,2,130306,115,255,8,00,55,02,eb,19,f2,ff,ff\n2014-08-15T19:06:05.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,33,02,02,00,01,03,03,00,00,00\n2014-08-15T19:06:05.594Z,4,129038,43,255,27,01,c8,d4,7f,10,01,b4,df,0e,2a,31,c3,23,11,15,7c,38,04,40,c0,00,20,7e,00,00,00,fe\n2014-08-15T19:06:05.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:05.606Z,3,128267,115,255,8,00,9f,05,00,00,ff,ff,ff\n2014-08-15T19:06:05.624Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:05.630Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:05.663Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:05.732Z,2,129026,160,255,8,ff,fc,f2,87,47,01,ff,ff\n2014-08-15T19:06:05.753Z,4,129038,43,255,27,01,d2,ff,4a,10,35,8b,b1,0e,a6,01,71,23,15,59,e8,00,00,4d,c0,09,37,91,00,00,00,fe\n2014-08-15T19:06:05.849Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:05.871Z,6,129540,160,255,135,42,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:06:05.874Z,2,127250,160,255,8,ff,21,8a,ff,7f,86,05,fc\n2014-08-15T19:06:05.886Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:05.889Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:05.890Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:05.915Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,2c,f7,c7,23,00,d0,b4,fc,28,da,80,01,a9,3f,10,00,fc\n2014-08-15T19:06:05.924Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:05.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:06.024Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:06.053Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:06.054Z,3,129029,160,255,43,f7,a9,3f,f8,cd,fc,28,00,c8,6a,00,de,79,49,08,00,24,8d,b9,18,97,6e,03,50,d3,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:06.054Z,3,129033,160,255,8,a9,3f,f8,cd,fc,28,b4,00\n2014-08-15T19:06:06.106Z,4,129038,43,255,27,01,58,43,c9,0e,7b,df,d4,0e,ea,70,a9,23,18,77,ae,d0,02,6e,c0,00,88,ae,00,00,00,fe\n2014-08-15T19:06:06.144Z,3,126992,160,255,8,ff,ff,a9,3f,f8,cd,fc,28\n2014-08-15T19:06:06.174Z,4,129039,43,255,26,12,44,11,b6,0d,9f,82,bd,0e,c2,ab,97,23,17,c3,88,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:06.234Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:06:06.266Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,03,3d,01,00\n2014-08-15T19:06:06.269Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:06.272Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:06.274Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:06.330Z,3,129291,160,255,8,ff,fc,82,6d,1c,00,ff,ff\n2014-08-15T19:06:06.367Z,3,127508,129,255,8,01,af,05,ac,02,1e,75,7a\n2014-08-15T19:06:06.411Z,2,130306,115,255,8,00,d6,02,3e,28,f2,ff,ff\n2014-08-15T19:06:06.533Z,3,130577,160,255,14,c0,f7,c9,86,46,01,ff,ff,ff,ff,5e,75,24,00\n2014-08-15T19:06:06.536Z,2,129025,160,255,8,7e,aa,97,23,84,83,bd,0e\n2014-08-15T19:06:06.567Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:06.571Z,3,127508,129,255,8,01,b0,05,b9,02,1e,75,7a\n2014-08-15T19:06:06.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:06.604Z,3,128267,115,255,8,00,56,05,00,00,ff,ff,ff\n2014-08-15T19:06:06.605Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:06.632Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:06.636Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:06.734Z,2,129026,160,255,8,ff,fc,c9,86,46,01,ff,ff\n2014-08-15T19:06:06.849Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:06.875Z,6,129540,160,255,135,43,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:06:06.877Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:06:06.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:06.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:06.889Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:06.894Z,4,129038,43,255,27,03,88,d6,d0,0c,4c,f4,e2,0e,d9,9f,b6,23,19,37,9a,37,03,d1,09,08,20,9c,00,00,00,fe\n2014-08-15T19:06:06.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:06.934Z,4,129038,43,255,27,01,c8,27,16,0e,73,dd,6b,0e,8e,91,94,23,15,62,32,50,03,25,01,01,c4,31,0a,00,00,fe\n2014-08-15T19:06:06.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:06.996Z,3,127508,129,255,8,01,af,05,a8,02,1e,75,7a\n2014-08-15T19:06:07.048Z,3,129029,160,255,43,f8,a9,3f,12,f5,fc,28,00,6c,53,46,9d,79,49,08,00,28,2e,13,f2,96,6e,03,90,6f,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:07.050Z,3,129033,160,255,8,a9,3f,12,f5,fc,28,b4,00\n2014-08-15T19:06:07.133Z,3,126992,160,255,8,ff,ff,a9,3f,12,f5,fc,28\n2014-08-15T19:06:07.163Z,4,129038,43,255,27,01,d4,e5,b5,0d,4a,11,e1,0e,b0,25,de,23,1c,57,21,00,00,09,01,01,68,21,00,00,00,fe\n2014-08-15T19:06:07.204Z,4,129039,43,255,26,12,44,11,b6,0d,09,82,bd,0e,b8,aa,97,23,1b,6c,85,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:07.234Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:06:07.264Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,03,3d,01,00\n2014-08-15T19:06:07.268Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:07.270Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:07.272Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:07.294Z,4,129038,43,255,27,01,e0,53,7f,10,ff,7f,c5,0e,a0,16,a8,23,20,2c,89,ce,05,0e,81,08,5a,88,00,00,00,fe\n2014-08-15T19:06:07.338Z,3,129291,160,255,8,ff,fc,5e,75,24,00,ff,ff\n2014-08-15T19:06:07.539Z,3,130577,160,255,14,c0,f8,0f,87,42,01,ff,ff,ff,ff,e6,64,18,00\n2014-08-15T19:06:07.541Z,2,129025,160,255,8,6b,a9,97,23,e9,82,bd,0e\n2014-08-15T19:06:07.559Z,2,130306,115,255,8,00,55,02,1a,22,f2,ff,ff\n2014-08-15T19:06:07.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:07.587Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:07.619Z,3,127508,129,255,8,01,b0,05,be,02,1e,75,7a\n2014-08-15T19:06:07.619Z,3,128267,115,255,8,00,4d,05,00,00,ff,ff,ff\n2014-08-15T19:06:07.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:07.641Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:07.649Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:07.734Z,2,129026,160,255,8,ff,fc,0f,87,42,01,ff,ff\n2014-08-15T19:06:07.861Z,6,129540,160,255,135,44,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,b8,0b,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:07.864Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:07.866Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:06:07.891Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:07.894Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:07.896Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:07.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:07.981Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:08.041Z,3,129029,160,255,43,f9,a9,3f,2c,1c,fd,28,00,6e,0c,3f,5d,79,49,08,00,da,75,fc,cd,96,6e,03,a0,25,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:08.043Z,3,129033,160,255,8,a9,3f,2c,1c,fd,28,b4,00\n2014-08-15T19:06:08.079Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:06:08.086Z,3,127508,129,255,8,01,b0,05,ba,02,1e,75,7b\n2014-08-15T19:06:08.086Z,7,127506,129,255,9,7b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:08.114Z,4,129038,43,255,27,01,b8,53,a6,0c,e9,ea,79,0e,b0,28,9f,23,20,f7,ac,78,02,b4,08,08,88,ae,00,00,00,fe\n2014-08-15T19:06:08.137Z,3,126992,160,255,8,ff,ff,a9,3f,2c,1c,fd,28\n2014-08-15T19:06:08.238Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:06:08.240Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:06:08.262Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,03,3d,01,00\n2014-08-15T19:06:08.265Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:08.267Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:08.270Z,2,130306,115,255,8,00,8e,02,48,1b,f2,ff,ff\n2014-08-15T19:06:08.272Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:08.276Z,4,129039,43,255,26,12,44,11,b6,0d,41,81,bd,0e,9c,a9,97,23,1f,e0,87,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:08.286Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:08.313Z,4,129038,43,255,27,01,58,43,c9,0e,c7,d5,d4,0e,9c,6f,a9,23,20,54,ae,d0,02,00,00,08,88,ae,00,00,00,fe\n2014-08-15T19:06:08.333Z,3,129291,160,255,8,ff,fc,e6,64,18,00,ff,ff\n2014-08-15T19:06:08.353Z,4,129038,43,255,27,03,68,ee,b9,0d,ab,8e,e2,0e,34,21,dd,23,1d,b4,01,00,00,7a,4b,09,ff,ff,ff,7f,05,fe\n2014-08-15T19:06:08.408Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:08.550Z,3,130577,160,255,14,c0,f9,ac,87,41,01,ff,ff,ff,ff,e6,64,18,00\n2014-08-15T19:06:08.553Z,2,129025,160,255,8,64,a8,97,23,23,82,bd,0e\n2014-08-15T19:06:08.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3a,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:08.580Z,3,128267,115,255,8,00,47,05,00,00,ff,ff,ff\n2014-08-15T19:06:08.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:08.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:08.651Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:08.752Z,2,129026,160,255,8,ff,fc,ac,87,41,01,ff,ff\n2014-08-15T19:06:08.851Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:08.891Z,6,129540,160,255,135,45,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,f0,0a,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,10,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,e4,0c,00,00,00,00,f6\n2014-08-15T19:06:08.893Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:06:08.895Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:08.897Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:08.899Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:08.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:08.920Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:08.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:09.003Z,4,129038,43,255,27,01,68,e2,20,12,b5,be,fc,0e,14,2b,ad,23,24,e6,af,fd,01,67,40,09,9f,b2,00,00,00,fe\n2014-08-15T19:06:09.058Z,3,129029,160,255,43,fa,a9,3f,1e,43,fd,28,00,e8,06,03,20,79,49,08,00,9e,bd,e2,9f,96,6e,03,60,89,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:09.060Z,3,129033,160,255,8,a9,3f,1e,43,fd,28,b4,00\n2014-08-15T19:06:09.080Z,3,127508,129,255,8,01,ac,05,4c,02,1e,75,7b\n2014-08-15T19:06:09.155Z,3,126992,160,255,8,ff,ff,a9,3f,1e,43,fd,28\n2014-08-15T19:06:09.213Z,4,129039,43,255,26,12,44,11,b6,0d,79,80,bd,0e,92,a8,97,23,23,7e,88,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:09.247Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:06:09.250Z,2,130306,115,255,8,00,46,02,d3,15,f2,ff,ff\n2014-08-15T19:06:09.254Z,4,129038,43,255,27,03,88,d6,d0,0c,e6,eb,e2,0e,e0,9b,b6,23,21,5a,9a,37,03,00,00,00,20,9c,00,00,00,fe\n2014-08-15T19:06:09.260Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,03,3d,01,00\n2014-08-15T19:06:09.262Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:09.265Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:09.267Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:09.343Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:09.351Z,3,129291,160,255,8,ff,fc,3a,6c,12,00,ff,ff\n2014-08-15T19:06:09.355Z,4,129038,43,255,27,01,c0,0b,7e,10,b8,fb,e2,0e,0c,aa,d1,23,20,51,05,97,06,5b,81,00,d1,06,00,00,00,fe\n2014-08-15T19:06:09.394Z,4,129038,43,255,27,01,88,44,7d,10,af,22,c7,0e,fc,ec,7f,23,1c,b8,71,05,00,20,c0,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:06:09.419Z,3,128267,115,255,8,00,72,05,00,00,ff,ff,ff\n2014-08-15T19:06:09.421Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:09.433Z,4,129038,43,255,27,01,92,12,4b,10,6b,06,fa,0e,55,1d,ae,23,24,e6,af,c0,02,4f,c0,00,42,b1,03,00,00,fe\n2014-08-15T19:06:09.451Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:09.473Z,4,129038,43,255,27,01,fc,ff,e9,25,12,9a,26,0f,fa,d3,be,23,21,2b,bc,c0,02,00,00,08,7c,bb,ec,ff,00,fe\n2014-08-15T19:06:09.513Z,4,129039,43,255,26,12,ec,d7,b5,0d,28,b8,bb,0e,3c,6c,8f,23,26,78,7b,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:06:09.549Z,3,130577,160,255,14,c0,fa,55,87,3f,01,ff,ff,ff,ff,3a,6c,12,00\n2014-08-15T19:06:09.551Z,2,129025,160,255,8,5d,a7,97,23,67,81,bd,0e\n2014-08-15T19:06:09.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:09.587Z,3,127508,129,255,8,01,b0,05,bf,02,1e,75,7b\n2014-08-15T19:06:09.624Z,4,129038,43,255,27,01,e0,53,7f,10,dd,74,c5,0e,fa,07,a8,23,28,1b,89,ce,05,34,c0,00,ac,87,00,00,00,fe\n2014-08-15T19:06:09.652Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:09.754Z,2,129026,160,255,8,ff,fc,55,87,3f,01,ff,ff\n2014-08-15T19:06:09.853Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:09.882Z,3,127508,129,255,8,01,ac,05,62,02,1e,75,7b\n2014-08-15T19:06:09.891Z,6,129540,160,255,135,46,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,f0,0a,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,ac,0d,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:09.894Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:06:09.896Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:09.898Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:09.901Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:09.952Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:09.963Z,4,129038,43,255,27,01,10,dc,6d,0f,c1,5c,5d,0e,e6,3c,9c,23,25,a6,ad,88,02,3c,40,01,88,ae,0a,00,00,fe\n2014-08-15T19:06:09.987Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:10.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:10.057Z,3,129029,160,255,43,fb,a9,3f,6a,6a,fd,28,00,62,01,c7,e2,78,49,08,00,46,11,1d,74,96,6e,03,00,10,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:10.059Z,3,129033,160,255,8,a9,3f,6a,6a,fd,28,b4,00\n2014-08-15T19:06:10.148Z,6,129794,43,255,75,05,10,dc,6d,0f,98,4b,8f,00,4c,41,4b,4e,36,20,20,52,59,53,54,52,41,55,4d,20,20,20,20,20,20,20,20,20,20,20,20,52,0a,05,c8,00,32,00,06,04,ab,3f,00,2a,75,15,ee,02,53,54,45,54,54,49,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:06:10.155Z,3,126992,160,255,8,ff,ff,a9,3f,6a,6a,fd,28\n2014-08-15T19:06:10.183Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,51,fd,28,18,66,0a,a9,3f,00,00,fc\n2014-08-15T19:06:10.197Z,2,130306,115,255,8,00,36,02,d3,15,f2,ff,ff\n2014-08-15T19:06:10.217Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:10.223Z,4,129039,43,255,26,12,44,11,b6,0d,d2,7f,bd,0e,98,a7,97,23,27,78,87,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:10.251Z,2,128259,160,255,8,ff,ff,ff,3f,01,ff,ff,ff\n2014-08-15T19:06:10.257Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,15,3d,01,00\n2014-08-15T19:06:10.260Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:10.262Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:10.268Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:10.353Z,3,129291,160,255,8,ff,fc,59,6f,0e,00,ff,ff\n2014-08-15T19:06:10.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,51,fd,28,81,81,0a,a9,3f,00,00,fc\n2014-08-15T19:06:10.403Z,4,129038,43,255,27,01,b0,79,7a,10,fc,c8,d1,0e,72,34,82,23,24,36,d9,e8,01,f7,08,08,2a,da,ce,ff,00,fe\n2014-08-15T19:06:10.444Z,4,129038,43,255,27,01,b8,f5,67,12,2f,84,91,0e,cf,5b,91,23,28,34,2d,d1,03,83,81,0a,ff,2c,00,00,00,fe\n2014-08-15T19:06:10.504Z,4,129038,43,255,27,01,6c,70,4a,10,e5,b6,02,0f,14,e4,a3,23,23,dc,35,bf,01,18,66,00,d0,33,03,00,00,fe\n2014-08-15T19:06:10.516Z,3,127508,129,255,8,01,ae,05,73,02,1e,75,7b\n2014-08-15T19:06:10.550Z,3,128267,115,255,8,00,72,05,00,00,ff,ff,ff\n2014-08-15T19:06:10.552Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:10.558Z,3,130577,160,255,14,c0,fb,e6,85,40,01,ff,ff,ff,ff,59,6f,0e,00\n2014-08-15T19:06:10.560Z,2,129025,160,255,8,4c,a6,97,23,de,80,bd,0e\n2014-08-15T19:06:10.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,46,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:10.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:10.657Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:10.758Z,2,129026,160,255,8,ff,fc,e6,85,40,01,ff,ff\n2014-08-15T19:06:10.849Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:10.877Z,6,129540,160,255,135,47,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,f0,0a,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,ac,0d,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:10.888Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:06:10.888Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:10.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:10.889Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:10.923Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:10.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:11.065Z,3,129029,160,255,43,00,a9,3f,84,91,fd,28,00,f8,ef,36,a3,78,49,08,00,2c,3b,37,54,96,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:11.071Z,3,129033,160,255,8,a9,3f,84,91,fd,28,b4,00\n2014-08-15T19:06:11.086Z,4,129038,43,255,27,03,88,d6,d0,0c,80,e3,e2,0e,e8,97,b6,23,29,6c,9a,37,03,e0,09,08,20,9c,00,00,00,fe\n2014-08-15T19:06:11.154Z,3,126992,160,255,8,ff,ff,a9,3f,84,91,fd,28\n2014-08-15T19:06:11.172Z,2,130306,115,255,8,00,bc,02,ec,28,f2,ff,ff\n2014-08-15T19:06:11.188Z,7,127506,129,255,9,7c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:11.204Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:11.243Z,4,129039,43,255,26,12,44,11,b6,0d,a6,7e,bd,0e,72,a5,97,23,2f,83,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:11.253Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:06:11.257Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,15,3d,01,00\n2014-08-15T19:06:11.259Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:11.261Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:11.263Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:11.283Z,4,129038,43,255,27,01,98,69,b3,0e,8c,68,8e,0e,b6,90,a0,23,21,f1,ae,f8,01,18,66,00,94,b0,00,00,00,fe\n2014-08-15T19:06:11.323Z,4,129038,43,255,27,01,02,8b,c4,0d,ec,c4,e0,0e,da,43,c9,23,30,38,82,6d,01,a4,81,09,43,84,00,00,00,fe\n2014-08-15T19:06:11.355Z,3,129291,160,255,8,ff,fc,82,57,29,00,ff,ff\n2014-08-15T19:06:11.363Z,4,129038,43,255,27,01,e0,53,7f,10,27,71,c5,0e,18,03,a8,23,30,09,89,d3,05,d3,08,08,ac,87,00,00,00,fe\n2014-08-15T19:06:11.403Z,4,129038,43,255,27,01,c0,0b,7e,10,d8,fe,e2,0e,92,b5,d1,23,28,63,05,8c,06,58,c0,09,d1,06,00,00,00,fe\n2014-08-15T19:06:11.543Z,4,129038,43,255,27,01,c8,d4,7f,10,c5,b2,df,0e,72,1a,c3,23,29,04,7c,33,04,ad,81,08,20,7e,00,00,00,fe\n2014-08-15T19:06:11.559Z,3,130577,160,255,14,c0,00,8f,85,40,01,ff,ff,ff,ff,82,57,29,00\n2014-08-15T19:06:11.564Z,2,129025,160,255,8,2d,a5,97,23,60,80,bd,0e\n2014-08-15T19:06:11.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:11.600Z,3,128267,115,255,8,00,72,05,00,00,ff,ff,ff\n2014-08-15T19:06:11.602Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:11.613Z,3,127508,129,255,8,01,af,05,a2,02,1e,75,7c\n2014-08-15T19:06:11.624Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:11.655Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:11.756Z,2,129026,160,255,8,ff,fc,8f,85,40,01,ff,ff\n2014-08-15T19:06:11.850Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:06:11.896Z,6,129540,160,255,135,48,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:11.898Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:06:11.900Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:11.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:11.905Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:06:11.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:11.958Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:11.963Z,4,129039,43,255,26,12,9e,d6,c3,0d,97,3f,c7,0e,30,c8,93,23,2c,b9,56,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:12.012Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:12.043Z,4,129039,43,255,26,12,66,58,b6,0d,25,e5,bb,0e,d4,70,92,23,2f,83,83,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:12.062Z,3,129029,160,255,43,01,a9,3f,9e,b8,fd,28,00,82,67,64,60,78,49,08,00,c0,0b,e1,36,96,6e,03,70,21,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:12.064Z,3,129033,160,255,8,a9,3f,9e,b8,fd,28,b4,00\n2014-08-15T19:06:12.138Z,2,130306,115,255,8,00,7e,02,3c,19,f2,ff,ff\n2014-08-15T19:06:12.150Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:12.154Z,4,129038,43,255,27,01,20,54,a5,0e,35,36,51,0f,54,58,ad,23,34,f9,34,45,02,d1,08,08,7f,34,00,00,00,fe\n2014-08-15T19:06:12.158Z,3,126992,160,255,8,ff,ff,a9,3f,9e,b8,fd,28\n2014-08-15T19:06:12.173Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:12.253Z,4,129039,43,255,26,12,44,11,b6,0d,cd,7d,bd,0e,67,a4,97,23,33,8f,88,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:12.256Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,15,3d,01,00\n2014-08-15T19:06:12.259Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:12.261Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:12.264Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:06:12.266Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:12.360Z,3,129291,160,255,8,ff,fc,1e,56,2e,00,ff,ff\n2014-08-15T19:06:12.366Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:12.423Z,4,129038,43,255,27,03,58,43,c9,0e,3f,c2,d4,0e,12,6d,a9,23,34,31,ae,d0,02,31,1b,08,88,ae,00,00,00,fe\n2014-08-15T19:06:12.473Z,4,129038,43,255,27,01,58,eb,ad,0e,d7,5d,5f,0e,ff,dc,8f,23,37,85,2f,d4,01,38,c0,00,5c,2e,00,00,00,fe\n2014-08-15T19:06:12.513Z,4,129038,43,255,27,01,b8,83,92,0e,16,be,e0,0e,c8,c7,75,23,31,8e,c1,05,00,d0,01,09,59,d3,00,00,00,fe\n2014-08-15T19:06:12.520Z,3,127508,129,255,8,01,b0,05,a4,02,1e,75,7c\n2014-08-15T19:06:12.549Z,3,128267,115,255,8,00,65,05,00,00,ff,ff,ff\n2014-08-15T19:06:12.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:12.555Z,4,129039,43,255,26,12,c4,e2,c3,0d,65,30,c3,0e,1d,37,95,23,30,1c,56,72,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:06:12.559Z,3,130577,160,255,14,c0,01,95,86,41,01,ff,ff,ff,ff,1e,56,2e,00\n2014-08-15T19:06:12.561Z,2,129025,160,255,8,1f,a4,97,23,a4,7f,bd,0e\n2014-08-15T19:06:12.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4c,02,03,00,01,01,04,00,00,00\n2014-08-15T19:06:12.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:12.593Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,ce,30,d3,23,00,30,9f,fd,28,79,c0,01,a9,3f,10,00,fc\n2014-08-15T19:06:12.660Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:12.761Z,2,129026,160,255,8,ff,fc,95,86,41,01,ff,ff\n2014-08-15T19:06:12.849Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:12.883Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:12.885Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:12.888Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:12.901Z,6,129540,160,255,135,49,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,48,0d,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:06:12.904Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:06:12.906Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:12.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:12.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:13.034Z,7,129793,43,255,26,04,8f,18,23,00,04,1f,46,0f,50,68,e2,23,00,40,c6,fd,28,e5,81,09,a9,3f,10,00,fc\n2014-08-15T19:06:13.067Z,3,129029,160,255,43,02,a9,3f,b8,df,fd,28,00,76,26,87,21,78,49,08,00,68,5f,1b,0b,96,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:13.069Z,3,129033,160,255,8,a9,3f,b8,df,fd,28,b4,00\n2014-08-15T19:06:13.071Z,3,127508,129,255,8,01,ae,05,7f,02,1e,75,7c\n2014-08-15T19:06:13.105Z,2,130306,115,255,8,00,7e,02,eb,19,f2,ff,ff\n2014-08-15T19:06:13.125Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:13.154Z,3,126992,160,255,8,ff,ff,a9,3f,b8,df,fd,28\n2014-08-15T19:06:13.250Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,15,3d,01,00\n2014-08-15T19:06:13.252Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:13.255Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:13.258Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:13.260Z,2,128259,160,255,8,ff,ff,ff,41,01,ff,ff,ff\n2014-08-15T19:06:13.264Z,4,129039,43,255,26,12,44,11,b6,0d,16,7d,bd,0e,5c,a3,97,23,37,7e,88,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:13.354Z,4,129038,43,255,27,03,c8,99,74,10,c4,a1,c7,0e,27,03,83,23,35,95,65,00,00,00,00,00,37,a0,ff,7f,11,fe\n2014-08-15T19:06:13.358Z,3,129291,160,255,8,ff,fc,4f,6b,25,00,ff,ff\n2014-08-15T19:06:13.361Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:13.394Z,4,129038,43,255,27,01,28,f5,77,10,e5,dc,a0,0e,38,76,74,23,2c,c5,31,b9,00,44,c0,00,c4,31,00,00,00,fe\n2014-08-15T19:06:13.432Z,6,129809,43,255,25,18,80,e5,c3,0d,4a,41,53,4d,49,49,4e,41,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:06:13.513Z,4,129038,43,255,27,01,e0,53,7f,10,05,66,c5,0e,82,f4,a7,23,38,09,89,d3,05,c2,08,00,ac,87,00,00,00,fe\n2014-08-15T19:06:13.557Z,3,130577,160,255,14,c0,02,e6,85,42,01,ff,ff,ff,ff,4f,6b,25,00\n2014-08-15T19:06:13.560Z,2,129025,160,255,8,0c,a3,97,23,f2,7e,bd,0e\n2014-08-15T19:06:13.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,52,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:13.578Z,3,128267,115,255,8,00,59,05,00,00,ff,ff,ff\n2014-08-15T19:06:13.580Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:13.593Z,4,129038,43,255,27,01,08,99,b5,0d,50,d3,cd,0e,2d,30,a5,23,38,f3,48,4e,01,fa,81,08,f3,48,00,00,00,fe\n2014-08-15T19:06:13.608Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:13.658Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:13.723Z,4,129038,43,255,27,01,88,d6,d0,0c,ef,d6,e2,0e,fb,91,b6,23,35,7d,9a,37,03,44,40,01,20,9c,00,00,00,fe\n2014-08-15T19:06:13.759Z,3,127508,129,255,8,01,b1,05,c0,02,1e,75,7c\n2014-08-15T19:06:13.763Z,4,129038,43,255,27,01,c8,27,16,0e,70,fc,6b,0e,2d,96,94,23,2d,85,32,50,03,26,02,09,c4,31,ec,ff,00,fe\n2014-08-15T19:06:13.765Z,2,129026,160,255,8,ff,fc,e6,85,42,01,ff,ff\n2014-08-15T19:06:13.768Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:13.852Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:13.888Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:13.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:13.905Z,6,129540,160,255,135,4a,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,10,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,c4,09,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:06:13.907Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:13.909Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:06:13.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:13.977Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:13.994Z,4,129038,43,255,27,01,20,f6,7e,10,f7,3a,c7,0e,67,e9,7f,23,35,39,31,05,00,18,66,00,13,c7,00,00,0f,fe\n2014-08-15T19:06:14.034Z,4,129038,43,255,27,01,08,7b,ba,0d,15,ac,92,0e,c8,a2,bc,23,35,94,a1,77,01,2f,02,09,e5,a0,00,00,00,fe\n2014-08-15T19:06:14.065Z,3,129029,160,255,43,03,a9,3f,d2,06,fe,28,00,78,df,7f,e1,77,49,08,00,f4,be,a9,e1,95,6e,03,30,d8,2e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:14.066Z,3,129033,160,255,8,a9,3f,d2,06,fe,28,b4,00\n2014-08-15T19:06:14.073Z,3,127508,129,255,8,01,ac,05,3f,02,1e,75,7c\n2014-08-15T19:06:14.074Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,92,bf,76,23,35,87,f0,00,00,18,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:06:14.083Z,2,130306,115,255,8,00,db,02,55,2c,f2,ff,ff\n2014-08-15T19:06:14.109Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:14.162Z,3,126992,160,255,8,ff,ff,a9,3f,d2,06,fe,28\n2014-08-15T19:06:14.247Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,15,3d,01,00\n2014-08-15T19:06:14.251Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:14.253Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:14.255Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:14.266Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:06:14.284Z,4,129039,43,255,26,12,44,11,b6,0d,6f,7c,bd,0e,52,a2,97,23,3b,f2,87,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:14.356Z,3,129291,160,255,8,ff,fc,82,57,29,00,ff,ff\n2014-08-15T19:06:14.433Z,7,127506,129,255,9,7c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:14.480Z,3,127508,129,255,8,01,ae,05,70,02,1e,75,7c\n2014-08-15T19:06:14.539Z,3,128267,115,255,8,00,65,05,00,00,ff,ff,ff\n2014-08-15T19:06:14.541Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:14.564Z,3,130577,160,255,14,c0,03,db,86,3c,01,ff,ff,ff,ff,82,57,29,00\n2014-08-15T19:06:14.566Z,2,129025,160,255,8,fe,a1,97,23,48,7e,bd,0e\n2014-08-15T19:06:14.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4a,02,02,00,00,00,04,00,00,00\n2014-08-15T19:06:14.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:14.671Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:14.760Z,2,129026,160,255,8,ff,fc,db,86,3c,01,ff,ff\n2014-08-15T19:06:14.852Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:14.888Z,6,129540,160,255,135,4b,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,fc,08,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:14.890Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:06:14.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:14.895Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:14.897Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:14.954Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:14.980Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:15.015Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:15.019Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:15.041Z,2,130306,115,255,8,00,0d,02,8e,18,f2,ff,ff\n2014-08-15T19:06:15.061Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:15.068Z,3,129029,160,255,43,04,a9,3f,c4,2d,fe,28,00,6c,9e,a2,a2,77,49,08,00,d0,f4,14,ba,95,6e,03,30,f6,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:15.071Z,3,129033,160,255,8,a9,3f,c4,2d,fe,28,b4,00\n2014-08-15T19:06:15.162Z,3,126992,160,255,8,ff,ff,a9,3f,c4,2d,fe,28\n2014-08-15T19:06:15.245Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:15.247Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:15.250Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:15.252Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:15.266Z,2,128259,160,255,8,ff,ff,ff,3c,01,ff,ff,ff\n2014-08-15T19:06:15.294Z,4,129039,43,255,26,12,44,11,b6,0d,75,7b,bd,0e,36,a1,97,23,3f,1b,89,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:15.334Z,4,129038,43,255,27,03,88,d6,d0,0c,b4,d2,e2,0e,f6,8f,b6,23,39,7d,9a,37,03,00,00,08,20,9c,00,00,00,fe\n2014-08-15T19:06:15.366Z,3,129291,160,255,8,ff,fc,60,71,1a,00,ff,ff\n2014-08-15T19:06:15.404Z,4,129039,43,255,26,12,0a,ec,b5,0d,c7,ce,cb,0e,7f,0f,92,23,38,5c,52,5d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:15.543Z,4,129038,43,255,27,01,d2,ff,4a,10,14,8b,b1,0e,a6,01,71,23,3d,59,e8,00,00,43,82,00,37,91,0e,00,00,fe\n2014-08-15T19:06:15.554Z,3,128267,115,255,8,00,59,05,00,00,ff,ff,ff\n2014-08-15T19:06:15.555Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:15.562Z,3,130577,160,255,14,c0,04,ec,86,3a,01,ff,ff,ff,ff,60,71,1a,00\n2014-08-15T19:06:15.564Z,2,129025,160,255,8,04,a1,97,23,87,7d,bd,0e\n2014-08-15T19:06:15.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:15.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:15.614Z,4,129038,43,255,27,01,10,04,1a,0e,3b,ab,fd,0e,0d,d8,ae,23,38,c8,b0,9c,02,31,c0,01,9f,b2,00,00,00,fe\n2014-08-15T19:06:15.628Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:15.654Z,4,129038,43,255,27,01,e0,53,7f,10,89,5e,c5,0e,be,ea,a7,23,40,1b,89,ce,05,47,82,09,ac,87,00,00,00,fe\n2014-08-15T19:06:15.667Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:15.761Z,2,129026,160,255,8,ff,fc,ec,86,3a,01,ff,ff\n2014-08-15T19:06:15.850Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:15.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:15.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:15.891Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:15.903Z,6,129540,160,255,135,4c,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:15.906Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:06:15.924Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:15.924Z,7,129793,43,255,26,04,91,18,23,00,98,19,86,0e,2c,f7,c7,23,00,70,3b,fe,28,a9,c0,09,a9,3f,10,00,fc\n2014-08-15T19:06:15.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:16.036Z,2,130306,115,255,8,00,79,02,48,1b,f2,ff,ff\n2014-08-15T19:06:16.055Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:16.074Z,3,129029,160,255,43,05,a9,3f,06,55,fe,28,00,28,75,6d,68,77,49,08,00,86,42,25,8d,95,6e,03,50,b5,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:16.075Z,3,129033,160,255,8,a9,3f,06,55,fe,28,b4,00\n2014-08-15T19:06:16.165Z,3,126992,160,255,8,ff,ff,a9,3f,06,55,fe,28\n2014-08-15T19:06:16.204Z,4,129038,43,255,27,03,fc,ff,e9,25,a0,7a,26,0f,ad,d2,be,23,3d,7d,bb,bb,02,c1,5b,00,7c,bb,14,00,00,fe\n2014-08-15T19:06:16.244Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:16.246Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:16.248Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:16.252Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:16.262Z,2,128259,160,255,8,ff,ff,ff,3a,01,ff,ff,ff\n2014-08-15T19:06:16.272Z,3,127508,129,255,8,01,ae,05,57,02,1e,75,7c\n2014-08-15T19:06:16.314Z,4,129039,43,255,26,12,44,11,b6,0d,be,7a,bd,0e,1b,a0,97,23,43,49,88,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:16.363Z,3,129291,160,255,8,ff,fc,82,5f,0d,00,ff,ff\n2014-08-15T19:06:16.493Z,4,129038,43,255,27,01,b8,f5,67,12,6d,a9,91,0e,f2,63,91,23,40,45,2d,d6,03,67,02,03,ff,2c,00,00,00,fe\n2014-08-15T19:06:16.535Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:06:16.538Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:16.571Z,3,130577,160,255,14,c0,05,2c,86,37,01,ff,ff,ff,ff,82,5f,0d,00\n2014-08-15T19:06:16.573Z,2,129025,160,255,8,fe,9f,97,23,f2,7c,bd,0e\n2014-08-15T19:06:16.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:16.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:16.671Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:16.716Z,3,127508,129,255,8,01,af,05,87,02,1e,75,7c\n2014-08-15T19:06:16.773Z,2,129026,160,255,8,ff,fc,2c,86,37,01,ff,ff\n2014-08-15T19:06:16.848Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:16.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:16.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:16.891Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:16.904Z,6,129540,160,255,135,4d,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,74,0e,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:16.906Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:06:16.916Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:16.938Z,6,129794,43,255,75,05,02,a1,4c,10,a6,89,7d,00,55,49,5a,4f,40,40,40,41,4b,41,44,45,4d,49,4b,20,20,4b,41,52,50,49,4e,53,4b,49,59,5f,7e,04,a0,00,1e,00,e0,01,b7,40,00,10,55,22,76,02,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:06:16.947Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:16.978Z,2,130306,115,255,8,00,41,02,f7,1b,f2,ff,ff\n2014-08-15T19:06:17.038Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:17.048Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:06:17.078Z,3,129029,160,255,43,06,a9,3f,20,7c,fe,28,00,6c,0a,6d,2b,77,49,08,00,f4,2a,74,6a,95,6e,03,80,2a,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:17.080Z,3,129033,160,255,8,a9,3f,20,7c,fe,28,b4,00\n2014-08-15T19:06:17.144Z,4,129038,43,255,27,01,b8,53,a6,0c,05,c5,79,0e,48,23,9f,23,44,f7,ac,78,02,7f,82,00,88,ae,00,00,00,fe\n2014-08-15T19:06:17.164Z,3,126992,160,255,8,ff,ff,a9,3f,20,7c,fe,28\n2014-08-15T19:06:17.241Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:17.244Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:17.246Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:17.249Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:17.265Z,2,128259,160,255,8,ff,ff,ff,37,01,ff,ff,ff\n2014-08-15T19:06:17.274Z,3,127508,129,255,8,01,ae,05,62,02,1e,75,7c\n2014-08-15T19:06:17.308Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:06:17.344Z,4,129038,43,255,27,01,68,e2,20,12,73,a2,fc,0e,37,28,ad,23,44,1a,b0,02,02,d3,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:06:17.367Z,3,129291,160,255,8,ff,fc,6e,6c,29,00,ff,ff\n2014-08-15T19:06:17.383Z,4,129039,43,255,26,12,44,11,b6,0d,39,7a,bd,0e,00,9f,97,23,47,49,85,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:17.424Z,4,129038,43,255,27,03,30,9d,cf,0d,87,84,32,0f,24,3f,c5,23,40,aa,ea,05,00,00,00,08,08,b6,00,00,01,fe\n2014-08-15T19:06:17.464Z,4,129038,43,255,27,01,e0,53,7f,10,c2,5a,c5,0e,dc,e5,a7,23,48,2c,89,d3,05,d3,08,00,ac,87,ff,7f,00,fe\n2014-08-15T19:06:17.513Z,4,129038,43,255,27,01,c8,d4,7f,10,d1,b0,df,0e,a8,03,c3,23,41,38,7c,33,04,8d,82,00,20,7e,00,00,00,fe\n2014-08-15T19:06:17.549Z,3,128267,115,255,8,00,81,05,00,00,ff,ff,ff\n2014-08-15T19:06:17.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:17.567Z,3,130577,160,255,14,c0,06,a0,85,35,01,ff,ff,ff,ff,6e,6c,29,00\n2014-08-15T19:06:17.571Z,2,129025,160,255,8,f5,9e,97,23,6f,7c,bd,0e\n2014-08-15T19:06:17.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,43,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:17.596Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:17.669Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:17.698Z,6,129794,43,255,75,05,70,22,bf,0d,52,5f,83,00,4f,4a,50,52,20,20,20,50,52,49,4d,41,20,42,41,4c,4c,45,52,49,4e,41,20,20,20,20,20,46,70,03,82,00,32,00,d0,02,f0,40,80,16,1d,1f,40,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,44,e1\n2014-08-15T19:06:17.733Z,6,129809,43,255,25,18,0a,ec,b5,0d,41,51,55,41,4d,41,52,49,4e,45,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:06:17.771Z,2,129026,160,255,8,ff,fc,a0,85,35,01,ff,ff\n2014-08-15T19:06:17.784Z,3,127508,129,255,8,01,ae,05,5b,02,1e,75,7c\n2014-08-15T19:06:17.849Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:17.880Z,7,127506,129,255,9,7e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:17.885Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:17.887Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:17.889Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:17.903Z,6,129540,160,255,135,4e,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,f0,0a,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:17.905Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:06:17.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:17.941Z,2,130306,115,255,8,00,ee,01,eb,19,f2,ff,ff\n2014-08-15T19:06:17.961Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:17.997Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:18.043Z,3,127508,129,255,8,01,b1,05,b0,02,1e,75,7e\n2014-08-15T19:06:18.074Z,3,129029,160,255,43,07,a9,3f,9e,a3,fe,28,00,52,cf,b9,ed,76,49,08,00,96,f5,f3,4b,95,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:18.076Z,3,129033,160,255,8,a9,3f,9e,a3,fe,28,b4,00\n2014-08-15T19:06:18.171Z,3,126992,160,255,8,ff,ff,a9,3f,9e,a3,fe,28\n2014-08-15T19:06:18.212Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:18.238Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:18.241Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:18.243Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:18.246Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:18.278Z,2,128259,160,255,8,ff,ff,ff,35,01,ff,ff,ff\n2014-08-15T19:06:18.333Z,4,129039,43,255,26,12,44,11,b6,0d,92,79,bd,0e,d4,9d,97,23,4b,89,84,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:18.367Z,3,129291,160,255,8,ff,fc,a8,5a,28,00,ff,ff\n2014-08-15T19:06:18.401Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:18.444Z,3,127508,129,255,8,01,ae,05,56,02,1e,75,7e\n2014-08-15T19:06:18.503Z,4,129038,43,255,27,01,58,43,c9,0e,22,a0,d4,0e,84,68,a9,23,4c,fd,ad,d0,02,18,66,00,88,ae,00,00,00,fe\n2014-08-15T19:06:18.533Z,3,128267,115,255,8,00,6f,05,00,00,ff,ff,ff\n2014-08-15T19:06:18.535Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:18.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,4b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:18.575Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:18.578Z,3,130577,160,255,14,c0,07,66,84,36,01,ff,ff,ff,ff,a8,5a,28,00\n2014-08-15T19:06:18.580Z,2,129025,160,255,8,e6,9d,97,23,fa,7b,bd,0e\n2014-08-15T19:06:18.676Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:18.772Z,2,129026,160,255,8,ff,fc,66,84,36,01,ff,ff\n2014-08-15T19:06:18.851Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:18.890Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:18.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:18.906Z,6,129540,160,255,135,4f,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,80,0c,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:18.908Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:18.910Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:06:18.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:18.944Z,2,130306,115,255,8,00,5f,02,9b,29,f2,ff,ff\n2014-08-15T19:06:18.964Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:19.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:19.048Z,6,129794,43,255,75,05,f8,59,b9,0d,e8,f9,81,00,4f,49,52,56,20,20,20,4b,4f,4e,54,49,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,5a,de,03,f0,00,82,00,72,01,c0,40,00,1d,e5,1b,da,02,48,45,4c,53,49,4e,4b,49,20,20,20,20,20,20,20,20,20,20,20,20,45,e1\n2014-08-15T19:06:19.078Z,3,129029,160,255,43,08,a9,3f,90,ca,fe,28,00,7c,f3,a0,ae,76,49,08,00,44,37,b6,30,95,6e,03,b0,9f,2d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:19.081Z,3,129033,160,255,8,a9,3f,90,ca,fe,28,b4,00\n2014-08-15T19:06:19.085Z,4,129038,43,255,27,01,92,12,4b,10,d8,d8,f9,0e,d2,16,ae,23,48,e6,af,c0,02,18,66,08,42,b1,0e,00,00,fe\n2014-08-15T19:06:19.124Z,3,127508,129,255,8,01,ac,05,39,02,1e,75,7e\n2014-08-15T19:06:19.124Z,4,129038,43,255,27,01,88,d6,d0,0c,e8,c1,e2,0e,05,88,b6,23,49,8f,9a,37,03,18,66,08,20,9c,00,00,00,fe\n2014-08-15T19:06:19.172Z,3,126992,160,255,8,ff,ff,a9,3f,90,ca,fe,28\n2014-08-15T19:06:19.236Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:19.238Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:19.241Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:19.243Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:19.274Z,2,128259,160,255,8,ff,ff,ff,36,01,ff,ff,ff\n2014-08-15T19:06:19.343Z,4,129039,43,255,26,12,44,11,b6,0d,fc,78,bd,0e,da,9c,97,23,4f,7e,85,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:19.375Z,3,129291,160,255,8,ff,fc,e9,5b,49,00,ff,ff\n2014-08-15T19:06:19.433Z,4,129038,43,255,27,01,e0,53,7f,10,77,53,c5,0e,18,dc,a7,23,50,b2,88,ce,05,35,40,09,fd,86,ff,7f,00,fe\n2014-08-15T19:06:19.483Z,4,129038,43,255,27,01,c0,0b,7e,10,b6,0c,e3,0e,f0,e8,d1,23,4c,63,05,6e,06,18,66,08,d1,06,00,00,00,fe\n2014-08-15T19:06:19.533Z,4,129038,43,255,27,01,10,dc,6d,0f,43,31,5d,0e,a6,36,9c,23,4d,b7,ad,88,02,3e,40,09,88,ae,00,00,00,fe\n2014-08-15T19:06:19.545Z,3,128267,115,255,8,00,87,05,00,00,ff,ff,ff\n2014-08-15T19:06:19.547Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:19.571Z,3,130577,160,255,14,c0,08,e0,84,34,01,ff,ff,ff,ff,e9,5b,49,00\n2014-08-15T19:06:19.573Z,2,129025,160,255,8,d5,9c,97,23,7f,7b,bd,0e\n2014-08-15T19:06:19.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,37,02,03,00,02,04,04,00,00,00\n2014-08-15T19:06:19.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:19.605Z,6,129810,43,255,33,18,0a,ec,b5,0d,25,40,40,40,40,40,40,40,4f,4a,33,36,38,38,40,ff,ff,ff,ff,ff,ff,ff,ff,00,00,00,00,00\n2014-08-15T19:06:19.673Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:19.711Z,3,127508,129,255,8,01,b0,05,a3,02,1e,75,7e\n2014-08-15T19:06:19.775Z,2,129026,160,255,8,ff,fc,e0,84,34,01,ff,ff\n2014-08-15T19:06:19.782Z,3,127508,129,255,8,01,ae,05,51,02,1e,75,7e\n2014-08-15T19:06:19.786Z,7,127506,129,255,9,7f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:19.853Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:19.877Z,2,130306,115,255,8,00,8e,02,19,13,f2,ff,ff\n2014-08-15T19:06:19.909Z,6,129540,160,255,135,50,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,f0,0a,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:19.911Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:06:19.913Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:19.945Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:19.947Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:19.949Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:19.955Z,3,127508,129,255,8,01,b0,05,83,02,1e,75,7f\n2014-08-15T19:06:20.048Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:20.076Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:20.086Z,3,129029,160,255,43,09,a9,3f,dc,f1,fe,28,00,12,e2,10,6f,76,49,08,00,36,d8,12,14,95,6e,03,70,92,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:20.088Z,3,129033,160,255,8,a9,3f,dc,f1,fe,28,b4,00\n2014-08-15T19:06:20.107Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:20.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,d7,fe,28,18,66,02,a9,3f,00,00,fc\n2014-08-15T19:06:20.181Z,3,126992,160,255,8,ff,ff,a9,3f,dc,f1,fe,28\n2014-08-15T19:06:20.225Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:20.233Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:20.236Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:20.238Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:20.241Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:20.278Z,2,128259,160,255,8,ff,ff,ff,34,01,ff,ff,ff\n2014-08-15T19:06:20.283Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,92,bf,76,23,4d,61,80,00,00,bb,08,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:06:20.363Z,4,129039,43,255,26,12,44,11,b6,0d,45,78,bd,0e,f0,9b,97,23,53,fe,86,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:20.379Z,3,129291,160,255,8,ff,fc,e7,5b,44,00,ff,ff\n2014-08-15T19:06:20.403Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,d7,fe,28,7d,c0,02,a9,3f,00,00,fc\n2014-08-15T19:06:20.528Z,3,128267,115,255,8,00,8d,05,00,00,ff,ff,ff\n2014-08-15T19:06:20.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:20.553Z,4,129038,43,255,27,01,b0,79,7a,10,cd,b4,d1,0e,2a,40,82,23,48,f0,d8,e8,01,48,40,01,2a,da,ec,ff,00,fe\n2014-08-15T19:06:20.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:20.576Z,3,130577,160,255,14,c0,09,5b,85,35,01,ff,ff,ff,ff,e7,5b,44,00\n2014-08-15T19:06:20.578Z,2,129025,160,255,8,ce,9b,97,23,d3,7a,bd,0e\n2014-08-15T19:06:20.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:20.664Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:20.675Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:20.779Z,2,129026,160,255,8,ff,fc,5b,85,35,01,ff,ff\n2014-08-15T19:06:20.849Z,2,130306,115,255,8,00,ad,02,e0,26,f2,ff,ff\n2014-08-15T19:06:20.875Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:20.918Z,6,129540,160,255,135,51,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:20.922Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:06:20.922Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:20.948Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:20.950Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:20.953Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:21.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:21.057Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:21.084Z,3,129029,160,255,43,0a,a9,3f,ce,18,ff,28,00,8c,dc,d4,31,76,49,08,00,7e,d8,06,ec,94,6e,03,50,b5,2c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:21.087Z,3,129033,160,255,8,a9,3f,ce,18,ff,28,b4,00\n2014-08-15T19:06:21.181Z,3,126992,160,255,8,ff,ff,a9,3f,ce,18,ff,28\n2014-08-15T19:06:21.207Z,3,127508,129,255,8,01,ac,05,1e,02,1e,75,7f\n2014-08-15T19:06:21.230Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:21.232Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:21.236Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:21.238Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:21.279Z,2,128259,160,255,8,ff,ff,ff,35,01,ff,ff,ff\n2014-08-15T19:06:21.293Z,4,129038,43,255,27,01,fc,ff,e9,25,59,5f,26,0f,d8,d6,be,23,51,2b,bc,c0,02,00,00,08,7c,bb,e6,ff,00,fe\n2014-08-15T19:06:21.373Z,4,129039,43,255,26,12,44,11,b6,0d,9e,77,bd,0e,f6,9a,97,23,57,78,87,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:21.382Z,3,129291,160,255,8,ff,fc,ad,4d,45,00,ff,ff\n2014-08-15T19:06:21.539Z,3,128267,115,255,8,00,a2,05,00,00,ff,ff,ff\n2014-08-15T19:06:21.541Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:21.571Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:21.577Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:21.587Z,3,130577,160,255,14,c0,0a,1b,86,32,01,ff,ff,ff,ff,ad,4d,45,00\n2014-08-15T19:06:21.589Z,2,129025,160,255,8,c8,9a,97,23,20,7a,bd,0e\n2014-08-15T19:06:21.685Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:21.697Z,3,127508,129,255,8,01,af,05,71,02,1e,75,7f\n2014-08-15T19:06:21.788Z,2,129026,160,255,8,ff,fc,1b,86,32,01,ff,ff\n2014-08-15T19:06:21.812Z,2,130306,115,255,8,00,74,02,48,1b,f2,ff,ff\n2014-08-15T19:06:21.847Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:21.889Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:21.906Z,6,129540,160,255,135,52,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,28,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:21.908Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:06:21.925Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:21.927Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:21.929Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:21.943Z,4,129038,43,255,27,01,98,69,b3,0e,fb,42,8e,0e,be,8c,a0,23,4d,c3,af,f8,01,24,c0,08,94,b0,00,00,00,fe\n2014-08-15T19:06:21.956Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:21.987Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:22.097Z,3,129029,160,255,43,0b,a9,3f,10,40,ff,28,00,d0,71,d4,f4,75,49,08,00,40,9d,59,c2,94,6e,03,60,fa,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:22.099Z,3,129033,160,255,8,a9,3f,10,40,ff,28,b4,00\n2014-08-15T19:06:22.103Z,4,129039,43,255,26,12,ca,0c,b7,0d,d3,31,bd,0e,91,a9,95,23,54,2c,77,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:22.116Z,3,127508,129,255,8,01,b0,05,7c,02,1e,75,7f\n2014-08-15T19:06:22.182Z,3,126992,160,255,8,ff,ff,a9,3f,10,40,ff,28\n2014-08-15T19:06:22.227Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:22.230Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:22.233Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:22.235Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:22.253Z,3,127508,129,255,8,01,ae,05,45,02,1e,75,7f\n2014-08-15T19:06:22.284Z,2,128259,160,255,8,ff,ff,ff,32,01,ff,ff,ff\n2014-08-15T19:06:22.383Z,4,129039,43,255,26,12,44,11,b6,0d,b5,76,bd,0e,0d,9a,97,23,5b,95,89,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:22.387Z,3,129291,160,255,8,ff,fc,61,57,2b,00,ff,ff\n2014-08-15T19:06:22.390Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:22.524Z,3,128267,115,255,8,00,d6,05,00,00,ff,ff,ff\n2014-08-15T19:06:22.526Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:22.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:22.581Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:22.585Z,7,129793,43,255,26,04,90,18,23,00,82,d2,e2,0e,ce,30,d3,23,00,d0,25,ff,28,7a,c0,08,a9,3f,10,00,fc\n2014-08-15T19:06:22.592Z,3,130577,160,255,14,c0,0b,0f,87,31,01,ff,ff,ff,ff,61,57,2b,00\n2014-08-15T19:06:22.594Z,2,129025,160,255,8,d1,99,97,23,52,79,bd,0e\n2014-08-15T19:06:22.670Z,7,127506,129,255,9,80,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:22.687Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:22.713Z,4,129039,43,255,26,12,90,e4,c3,0d,37,e3,bf,0e,65,57,7d,23,54,7e,6d,a5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:06:22.776Z,3,127508,129,255,8,01,b0,05,91,02,1e,75,80\n2014-08-15T19:06:22.786Z,2,130306,115,255,8,00,6a,02,48,1b,f2,ff,ff\n2014-08-15T19:06:22.790Z,2,129026,160,255,8,ff,fc,0f,87,31,01,ff,ff\n2014-08-15T19:06:22.794Z,4,129038,43,255,27,01,d0,e7,da,0d,75,9a,33,0f,ba,13,c4,23,5d,2f,02,05,00,58,c0,00,1f,ba,00,00,00,fe\n2014-08-15T19:06:22.810Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:22.888Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:22.928Z,6,129540,160,255,135,53,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,ac,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:22.931Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:06:22.933Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:22.935Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:22.937Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:22.940Z,2,128259,115,255,8,00,23,01,ff,ff,00,ff,ff\n2014-08-15T19:06:22.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:22.983Z,4,129039,43,255,26,12,06,a5,b5,0d,ed,2a,bd,0e,70,5d,97,23,58,9b,81,49,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:06:22.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:23.053Z,4,129038,43,255,27,01,58,eb,ad,0e,b3,7c,5f,0e,a9,e2,8f,23,5f,96,2f,d4,01,5d,83,08,5c,2e,00,00,00,fe\n2014-08-15T19:06:23.100Z,3,129029,160,255,43,0c,a9,3f,20,67,ff,28,00,ea,18,52,bb,75,49,08,00,b4,0e,63,92,94,6e,03,c0,55,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:23.103Z,3,129033,160,255,8,a9,3f,20,67,ff,28,b4,00\n2014-08-15T19:06:23.163Z,4,129038,43,255,27,01,b8,83,92,0e,80,bd,e0,0e,c8,c7,75,23,5d,8e,c1,05,00,18,66,00,59,d3,00,00,00,fe\n2014-08-15T19:06:23.186Z,3,126992,160,255,8,ff,ff,a9,3f,20,67,ff,28\n2014-08-15T19:06:23.204Z,4,129039,43,255,26,12,44,e0,c3,0d,1a,b8,ba,0e,e0,b0,8d,23,5a,7e,7c,9b,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:23.224Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:23.228Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:23.230Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:23.232Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:23.287Z,2,128259,160,255,8,ff,ff,ff,31,01,ff,ff,ff\n2014-08-15T19:06:23.389Z,3,129291,160,255,8,ff,fc,68,5a,26,00,ff,ff\n2014-08-15T19:06:23.391Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:23.403Z,4,129039,43,255,26,12,44,11,b6,0d,2f,76,bd,0e,e1,98,97,23,5f,b2,85,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:23.403Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:23.453Z,4,129038,43,255,27,01,40,37,b7,0d,31,bc,89,0e,3e,75,bf,23,61,16,4f,05,00,ae,08,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:06:23.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,44,02,02,00,00,00,04,00,00,00\n2014-08-15T19:06:23.574Z,3,128267,115,255,8,00,99,05,00,00,ff,ff,ff\n2014-08-15T19:06:23.576Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:23.594Z,3,130577,160,255,14,c0,0c,20,87,31,01,ff,ff,ff,ff,68,5a,26,00\n2014-08-15T19:06:23.596Z,2,129025,160,255,8,cc,98,97,23,95,78,bd,0e\n2014-08-15T19:06:23.606Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:23.614Z,4,129038,43,255,27,01,28,f5,77,10,eb,e9,a0,0e,38,76,74,23,54,73,32,b9,00,44,c0,08,c4,31,00,00,00,fe\n2014-08-15T19:06:23.674Z,4,129038,43,255,27,01,08,99,b5,0d,d8,e6,cd,0e,2d,30,a5,23,60,ff,4a,4e,01,36,c0,00,f3,48,00,00,00,fe\n2014-08-15T19:06:23.688Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:23.723Z,4,129038,43,255,27,01,c8,d4,7f,10,dd,ae,df,0e,f7,e8,c2,23,5d,cf,7b,2d,04,76,03,09,20,7e,00,00,00,fe\n2014-08-15T19:06:23.769Z,2,130306,115,255,8,00,f5,02,d5,24,f2,ff,ff\n2014-08-15T19:06:23.788Z,2,129026,160,255,8,ff,fc,20,87,31,01,ff,ff\n2014-08-15T19:06:23.791Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:23.793Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:23.871Z,2,128259,115,255,8,00,2a,01,ff,ff,00,ff,ff\n2014-08-15T19:06:23.913Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:23.915Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:23.918Z,2,128259,115,255,8,00,2a,01,ff,ff,00,ff,ff\n2014-08-15T19:06:23.945Z,6,129540,160,255,135,54,ff,0b,20,68,30,5a,97,ac,0d,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,3c,0f,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,e4,0c,00,00,00,00,f2,13,8b,09,cf,7e,54,0b,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:06:23.947Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:06:23.950Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:23.975Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:24.037Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:24.095Z,3,129029,160,255,43,0d,a9,3f,44,8e,ff,28,00,f8,48,8d,7e,75,49,08,00,92,c7,61,66,94,6e,03,30,85,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:24.097Z,3,129033,160,255,8,a9,3f,44,8e,ff,28,b4,00\n2014-08-15T19:06:24.193Z,3,126992,160,255,8,ff,ff,a9,3f,44,8e,ff,28\n2014-08-15T19:06:24.222Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,28,3d,01,00\n2014-08-15T19:06:24.225Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:24.227Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:24.230Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:24.287Z,2,128259,160,255,8,ff,ff,ff,31,01,ff,ff,ff\n2014-08-15T19:06:24.329Z,3,127508,129,255,8,01,ae,05,47,02,1e,75,80\n2014-08-15T19:06:24.390Z,3,129291,160,255,8,ff,fc,35,52,1f,00,ff,ff\n2014-08-15T19:06:24.413Z,4,129039,43,255,26,12,44,11,b6,0d,35,75,bd,0e,e7,97,97,23,63,d5,88,1a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:24.522Z,3,128267,115,255,8,00,99,05,00,00,ff,ff,ff\n2014-08-15T19:06:24.525Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:24.566Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:24.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:24.596Z,3,130577,160,255,14,c0,0d,66,87,2f,01,ff,ff,ff,ff,35,52,1f,00\n2014-08-15T19:06:24.598Z,2,129025,160,255,8,cf,97,97,23,db,77,bd,0e\n2014-08-15T19:06:24.695Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:24.720Z,2,130306,115,255,8,00,4b,02,a5,1c,f2,ff,ff\n2014-08-15T19:06:24.746Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:24.796Z,2,129026,160,255,8,ff,fc,66,87,2f,01,ff,ff\n2014-08-15T19:06:24.853Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:24.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:24.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:24.894Z,2,128259,115,255,8,00,09,01,ff,ff,00,ff,ff\n2014-08-15T19:06:24.926Z,6,129540,160,255,135,55,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,48,0d,00,00,00,00,f2,0b,e8,28,b8,89,10,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,80,0c,00,00,00,00,f2,13,8b,09,cf,7e,80,0c,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:06:24.929Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:06:24.948Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:24.958Z,3,127508,129,255,8,01,b0,05,91,02,1e,75,80\n2014-08-15T19:06:24.976Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:25.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:25.025Z,3,127508,129,255,8,01,b1,05,9b,02,1e,75,80\n2014-08-15T19:06:25.073Z,4,129038,43,255,27,01,c8,27,16,0e,97,3b,6c,0e,4a,9f,94,23,59,62,32,50,03,d9,08,08,c4,31,e6,ff,00,fe\n2014-08-15T19:06:25.103Z,3,129029,160,255,43,0e,a9,3f,36,b5,ff,28,00,56,4f,a5,43,75,49,08,00,ce,50,13,3b,94,6e,03,d0,0b,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:25.105Z,3,129033,160,255,8,a9,3f,36,b5,ff,28,b4,00\n2014-08-15T19:06:25.197Z,3,126992,160,255,8,ff,ff,a9,3f,36,b5,ff,28\n2014-08-15T19:06:25.219Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,3a,3d,01,00\n2014-08-15T19:06:25.222Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:25.224Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:25.227Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:25.299Z,2,128259,160,255,8,ff,ff,ff,2f,01,ff,ff,ff\n2014-08-15T19:06:25.324Z,4,129038,43,255,27,01,10,04,1a,0e,47,82,fd,0e,31,d2,ae,23,5c,c8,b0,9c,02,b2,83,08,9f,b2,00,00,00,fe\n2014-08-15T19:06:25.383Z,4,129038,43,255,27,01,88,d6,d0,0c,95,a8,e2,0e,3c,7c,b6,23,61,d4,9a,37,03,3f,c0,00,ce,9c,00,00,00,fe\n2014-08-15T19:06:25.395Z,3,129291,160,255,8,ff,fc,35,52,1f,00,ff,ff\n2014-08-15T19:06:25.420Z,3,127508,129,255,8,01,b0,05,88,02,1e,75,80\n2014-08-15T19:06:25.434Z,6,129810,43,255,33,18,80,e5,c3,0d,24,44,47,59,44,24,3a,45,4f,4a,33,36,39,37,40,64,00,1e,00,00,00,64,00,00,00,00,00,00\n2014-08-15T19:06:25.474Z,4,129038,43,255,27,03,f8,d2,7e,10,83,45,da,0e,f9,47,da,23,5d,73,2f,05,00,00,00,00,ce,8d,00,00,05,fe\n2014-08-15T19:06:25.513Z,4,129039,43,255,26,12,44,11,b6,0d,7e,74,bd,0e,ed,96,97,23,67,26,88,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:25.528Z,3,128267,115,255,8,00,8a,05,00,00,ff,ff,ff\n2014-08-15T19:06:25.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:25.564Z,4,129038,43,255,27,01,c0,0b,7e,10,f5,15,e3,0e,24,0a,d2,23,64,74,05,3a,06,c7,08,00,d1,06,00,00,00,fe\n2014-08-15T19:06:25.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,28,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:25.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:25.604Z,3,130577,160,255,14,c0,0e,43,87,32,01,ff,ff,ff,ff,35,52,1f,00\n2014-08-15T19:06:25.606Z,2,129025,160,255,8,cb,96,97,23,26,77,bd,0e\n2014-08-15T19:06:25.614Z,4,129038,43,255,27,01,e0,53,7f,10,cb,3a,c5,0e,a8,b9,a7,23,68,38,88,d3,05,bd,03,01,fd,86,00,00,00,fe\n2014-08-15T19:06:25.690Z,2,130306,115,255,8,00,e5,02,eb,19,f2,ff,ff\n2014-08-15T19:06:25.700Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:25.705Z,4,129039,43,255,26,12,58,7f,b6,0d,1a,16,bc,0e,46,95,93,23,67,0f,7b,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:25.715Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:25.801Z,2,129026,160,255,8,ff,fc,43,87,32,01,ff,ff\n2014-08-15T19:06:25.847Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:06:25.889Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:25.891Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:25.895Z,2,128259,115,255,8,00,3d,01,ff,ff,00,ff,ff\n2014-08-15T19:06:25.914Z,7,129793,43,255,26,04,91,18,23,00,ca,19,86,0e,2c,f7,c7,23,00,10,c2,ff,28,c8,03,01,a9,3f,10,00,fc\n2014-08-15T19:06:25.931Z,6,129540,160,255,135,56,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,8c,0a,00,00,00,00,f2,13,8b,09,cf,7e,e4,0c,00,00,00,00,f2,1c,23,06,e5,be,80,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:06:25.936Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:06:25.936Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:25.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:26.042Z,7,127506,129,255,9,81,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:26.110Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:06:26.116Z,3,129029,160,255,43,0f,a9,3f,78,dc,ff,28,00,2e,1a,1c,07,75,49,08,00,fc,df,ee,10,94,6e,03,70,21,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:26.116Z,3,129033,160,255,8,a9,3f,78,dc,ff,28,b4,00\n2014-08-15T19:06:26.205Z,3,126992,160,255,8,ff,ff,a9,3f,78,dc,ff,28\n2014-08-15T19:06:26.219Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,3a,3d,01,00\n2014-08-15T19:06:26.221Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:26.224Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:26.228Z,3,127508,129,255,8,01,ac,05,1c,02,1e,75,81\n2014-08-15T19:06:26.228Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:26.297Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:06:26.300Z,2,128259,160,255,8,ff,ff,ff,32,01,ff,ff,ff\n2014-08-15T19:06:26.401Z,3,129291,160,255,8,ff,fc,d0,6d,37,00,ff,ff\n2014-08-15T19:06:26.443Z,4,129039,43,255,26,12,44,11,b6,0d,b6,73,bd,0e,f3,95,97,23,6b,15,88,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:26.483Z,4,129039,43,255,26,12,08,57,b6,0d,f1,e6,ca,0e,ca,16,92,23,6b,2d,56,9b,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:26.483Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:26.513Z,3,128267,115,255,8,00,69,05,00,00,ff,ff,ff\n2014-08-15T19:06:26.516Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:26.544Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:26.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:06:26.608Z,3,130577,160,255,14,c0,0f,95,86,33,01,ff,ff,ff,ff,d0,6d,37,00\n2014-08-15T19:06:26.611Z,2,129025,160,255,8,c1,95,97,23,84,76,bd,0e\n2014-08-15T19:06:26.652Z,2,130306,115,255,8,00,1d,02,c7,13,f2,ff,ff\n2014-08-15T19:06:26.686Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:26.709Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:26.811Z,2,129026,160,255,8,ff,fc,95,86,33,01,ff,ff\n2014-08-15T19:06:26.852Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:26.894Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:26.896Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:26.898Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:26.930Z,6,129540,160,255,135,57,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,e4,0c,00,00,00,00,f2,0b,e8,28,b8,89,d8,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,f0,0a,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,1c,0c,00,00,00,00,f2,1f,c6,04,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:06:26.934Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:06:26.952Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:26.984Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:27.120Z,3,129029,160,255,43,10,a9,3f,6a,03,00,29,00,4a,44,2d,c9,74,49,08,00,28,ec,36,eb,93,6e,03,50,44,2a,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:27.122Z,3,129033,160,255,8,a9,3f,6a,03,00,29,b4,00\n2014-08-15T19:06:27.182Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:27.206Z,3,126992,160,255,8,ff,ff,a9,3f,6a,03,00,29\n2014-08-15T19:06:27.215Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,3a,3d,01,00\n2014-08-15T19:06:27.217Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:27.220Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:27.223Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:27.246Z,4,129039,43,255,26,12,80,e5,c3,0d,a2,31,c3,0e,5e,48,95,23,6b,10,5a,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:06:27.310Z,2,128259,160,255,8,ff,ff,ff,33,01,ff,ff,ff\n2014-08-15T19:06:27.324Z,4,129038,43,255,27,01,fc,ff,e9,25,fc,41,26,0f,57,d8,be,23,69,2b,bc,c0,02,00,00,00,7c,bb,0a,00,00,fe\n2014-08-15T19:06:27.412Z,3,129291,160,255,8,ff,fc,a6,46,3e,00,ff,ff\n2014-08-15T19:06:27.434Z,4,129038,43,255,27,01,e0,53,7f,10,57,37,c5,0e,c6,b4,a7,23,70,15,88,ce,05,01,84,08,fd,86,ff,7f,00,fe\n2014-08-15T19:06:27.473Z,4,129039,43,255,26,12,44,11,b6,0d,cd,72,bd,0e,1a,95,97,23,6f,49,88,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:27.514Z,4,129038,43,255,27,01,b8,53,a6,0c,89,96,79,0e,a4,1c,9f,23,70,e6,ac,78,02,04,84,08,88,ae,00,00,00,fe\n2014-08-15T19:06:27.528Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:06:27.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:27.564Z,4,129038,43,255,27,01,c0,0b,7e,10,15,19,e3,0e,a0,14,d2,23,6c,97,05,16,06,06,84,08,d1,06,00,00,00,fe\n2014-08-15T19:06:27.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:27.575Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:27.618Z,3,130577,160,255,14,c0,10,0f,87,34,01,ff,ff,ff,ff,a6,46,3e,00\n2014-08-15T19:06:27.621Z,2,129025,160,255,8,b1,94,97,23,e0,75,bd,0e\n2014-08-15T19:06:27.631Z,2,130306,115,255,8,00,cc,02,eb,19,f2,ff,ff\n2014-08-15T19:06:27.651Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:27.674Z,4,129038,43,255,27,01,68,e2,20,12,95,7b,fc,0e,4f,24,ad,23,70,20,b1,fd,01,67,c0,08,9f,b2,00,00,00,fe\n2014-08-15T19:06:27.720Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:27.815Z,2,129026,160,255,8,ff,fc,0f,87,34,01,ff,ff\n2014-08-15T19:06:27.842Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:27.851Z,3,127508,129,255,8,01,ac,05,23,02,1e,75,81\n2014-08-15T19:06:27.879Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:27.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:27.883Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:27.912Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:27.953Z,6,129540,160,255,135,58,ff,0b,20,68,30,5a,97,10,0e,00,00,00,00,f2,01,ae,2d,fd,b3,54,0b,00,00,00,00,f2,0b,e8,28,b8,89,74,0e,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,28,0a,00,00,00,00,f2,1f,c6,04,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:27.955Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:27.957Z,2,127250,160,255,8,ff,38,8e,ff,7f,86,05,fc\n2014-08-15T19:06:27.964Z,4,129038,43,255,27,01,92,12,4b,10,c8,b1,f9,0e,d2,16,ae,23,6c,e6,af,c0,02,51,40,01,42,b1,06,00,00,fe\n2014-08-15T19:06:28.137Z,3,129029,160,255,43,11,a9,3f,ac,2a,00,29,00,aa,cd,d8,89,74,49,08,00,c0,c2,07,c5,93,6e,03,f0,77,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:28.139Z,3,129033,160,255,8,a9,3f,ac,2a,00,29,b4,00\n2014-08-15T19:06:28.213Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,3a,3d,01,00\n2014-08-15T19:06:28.215Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:28.218Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:28.220Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:28.223Z,3,126992,160,255,8,ff,ff,a9,3f,ac,2a,00,29\n2014-08-15T19:06:28.312Z,2,128259,160,255,8,ff,ff,ff,34,01,ff,ff,ff\n2014-08-15T19:06:28.332Z,3,127508,129,255,8,01,af,05,51,02,1e,75,81\n2014-08-15T19:06:28.420Z,3,129291,160,255,8,ff,fc,c1,57,38,00,ff,ff\n2014-08-15T19:06:28.463Z,4,129039,43,255,26,12,44,11,b6,0d,d3,71,bd,0e,20,94,97,23,73,e6,8b,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:28.509Z,3,128267,115,255,8,00,99,05,00,00,ff,ff,ff\n2014-08-15T19:06:28.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:28.559Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:28.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:28.616Z,3,130577,160,255,14,c0,11,5b,88,32,01,ff,ff,ff,ff,c1,57,38,00\n2014-08-15T19:06:28.624Z,2,129025,160,255,8,b5,93,97,23,01,75,bd,0e\n2014-08-15T19:06:28.634Z,2,130306,115,255,8,00,1d,02,c7,13,f2,ff,ff\n2014-08-15T19:06:28.653Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:28.715Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:28.770Z,3,127508,129,255,8,01,ae,05,3c,02,1e,75,81\n2014-08-15T19:06:28.816Z,2,129026,160,255,8,ff,fc,5b,88,32,01,ff,ff\n2014-08-15T19:06:28.841Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:28.880Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:28.882Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:28.884Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:28.913Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:28.951Z,6,129540,160,255,135,59,ff,0b,20,68,30,5a,97,1c,0c,00,00,00,00,f2,01,ae,2d,fd,b3,b8,0b,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,54,0b,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:28.955Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:06:28.955Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:29.123Z,3,129029,160,255,43,12,a9,3f,9e,51,00,29,00,d2,6e,2c,4f,74,49,08,00,ca,ec,1b,91,93,6e,03,50,62,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:29.125Z,3,129033,160,255,8,a9,3f,9e,51,00,29,b4,00\n2014-08-15T19:06:29.210Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,3a,3d,01,00\n2014-08-15T19:06:29.212Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:29.215Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:29.217Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:29.220Z,3,126992,160,255,8,ff,ff,a9,3f,9e,51,00,29\n2014-08-15T19:06:29.320Z,3,127508,129,255,8,01,af,05,5c,02,1e,75,81\n2014-08-15T19:06:29.323Z,2,128259,160,255,8,ff,ff,ff,32,01,ff,ff,ff\n2014-08-15T19:06:29.428Z,3,129291,160,255,8,ff,fc,7b,63,2b,00,ff,ff\n2014-08-15T19:06:29.434Z,4,129038,43,255,27,01,6c,70,4a,10,3b,f1,02,0f,7c,e9,a3,23,6f,b9,35,bf,01,4c,04,01,21,33,df,ff,00,fe\n2014-08-15T19:06:29.483Z,4,129039,43,255,26,12,44,11,b6,0d,fa,70,bd,0e,05,93,97,23,77,bd,8a,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:29.519Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:06:29.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:29.525Z,4,129038,43,255,27,01,e0,53,7f,10,fd,2c,c5,0e,ee,a5,a7,23,78,e0,87,d3,05,4e,04,01,fd,86,00,00,00,fe\n2014-08-15T19:06:29.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:29.556Z,7,127506,129,255,9,82,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:29.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,41,02,02,00,01,03,03,00,01,01\n2014-08-15T19:06:29.577Z,2,130306,115,255,8,00,bc,02,77,23,f2,ff,ff\n2014-08-15T19:06:29.593Z,4,129038,43,255,27,01,b8,f5,67,12,8b,fa,91,0e,ea,75,91,23,74,45,2d,d6,03,62,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:06:29.623Z,3,130577,160,255,14,c0,12,f8,88,31,01,ff,ff,ff,ff,7b,63,2b,00\n2014-08-15T19:06:29.626Z,2,129025,160,255,8,bf,92,97,23,16,74,bd,0e\n2014-08-15T19:06:29.637Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:29.673Z,4,129038,43,255,27,01,c8,d4,7f,10,8f,ad,df,0e,e5,d2,c2,23,75,04,7c,33,04,18,66,00,20,7e,00,00,00,fe\n2014-08-15T19:06:29.724Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:29.754Z,4,129038,43,255,27,01,10,dc,6d,0f,b5,05,5d,0e,77,30,9c,23,75,b7,ad,88,02,58,04,01,88,ae,00,00,00,fe\n2014-08-15T19:06:29.826Z,2,129026,160,255,8,ff,fc,f8,88,31,01,ff,ff\n2014-08-15T19:06:29.843Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:29.883Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:29.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:29.888Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:29.944Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:29.962Z,6,129540,160,255,135,5a,ff,0b,20,68,30,5a,97,1c,0c,00,00,00,00,f2,01,ae,2d,fd,b3,1c,0c,00,00,00,00,f2,0b,e8,28,b8,89,48,0d,00,00,00,00,f2,0e,ae,1e,ae,2d,ac,0d,00,00,00,00,f2,14,c5,13,ce,ab,48,0d,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,f0,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:29.964Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:06:29.972Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:29.975Z,3,127508,129,255,8,01,af,05,47,02,1e,75,82\n2014-08-15T19:06:29.976Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:29.993Z,4,129038,43,255,27,03,38,6f,7f,10,90,8e,b4,0e,79,97,6f,23,74,db,65,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:06:30.015Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:30.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,5e,00,29,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:06:30.132Z,3,129029,160,255,43,13,a9,3f,b8,78,00,29,00,b6,b0,e5,15,74,49,08,00,5c,d5,64,5a,93,6e,03,60,18,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:30.134Z,3,129033,160,255,8,a9,3f,b8,78,00,29,b4,00\n2014-08-15T19:06:30.207Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,4d,3d,01,00\n2014-08-15T19:06:30.210Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:30.212Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:30.215Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:30.236Z,3,126992,160,255,8,ff,ff,a9,3f,b8,78,00,29\n2014-08-15T19:06:30.263Z,4,129038,43,255,27,01,88,44,7d,10,db,23,c7,0e,2e,ed,7f,23,70,ee,14,05,00,6b,84,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:06:30.299Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:30.329Z,2,128259,160,255,8,ff,ff,ff,31,01,ff,ff,ff\n2014-08-15T19:06:30.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,5e,00,29,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:06:30.377Z,3,127508,129,255,8,01,af,05,48,02,1e,75,82\n2014-08-15T19:06:30.432Z,3,129291,160,255,8,ff,fc,88,5b,20,00,ff,ff\n2014-08-15T19:06:30.493Z,4,129039,43,255,26,12,44,11,b6,0d,43,70,bd,0e,fa,91,97,23,7b,26,8b,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:30.499Z,3,128267,115,255,8,00,62,05,00,00,ff,ff,ff\n2014-08-15T19:06:30.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:30.530Z,2,130306,115,255,8,00,74,02,76,14,f2,ff,ff\n2014-08-15T19:06:30.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:30.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3f,02,02,00,00,00,04,00,00,00\n2014-08-15T19:06:30.577Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:30.628Z,3,130577,160,255,14,c0,13,4f,89,2c,01,ff,ff,ff,ff,88,5b,20,00\n2014-08-15T19:06:30.631Z,2,129025,160,255,8,ce,91,97,23,3e,73,bd,0e\n2014-08-15T19:06:30.730Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:30.832Z,2,129026,160,255,8,ff,fc,4f,89,2c,01,ff,ff\n2014-08-15T19:06:30.840Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:30.878Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:30.884Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:30.888Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:30.922Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:30.943Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:30.957Z,3,127508,129,255,8,01,ae,05,3c,02,1e,75,82\n2014-08-15T19:06:30.961Z,6,129540,160,255,135,5b,ff,0b,20,68,30,5a,97,80,0c,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,48,0d,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:30.971Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:06:30.973Z,4,129039,43,255,26,12,44,11,b6,0d,43,70,bd,0e,fa,91,97,23,7b,26,8b,2f,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:06:31.134Z,3,129029,160,255,43,14,a9,3f,d2,9f,00,29,00,8c,f8,c8,dd,73,49,08,00,ec,3a,1a,28,93,6e,03,10,55,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:31.136Z,3,129033,160,255,8,a9,3f,d2,9f,00,29,b4,00\n2014-08-15T19:06:31.205Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,4d,3d,01,00\n2014-08-15T19:06:31.214Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:31.214Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:31.214Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:31.235Z,3,126992,160,255,8,ff,ff,a9,3f,d2,9f,00,29\n2014-08-15T19:06:31.292Z,3,127508,129,255,8,01,ae,05,2c,02,1e,75,82\n2014-08-15T19:06:31.334Z,2,128259,160,255,8,ff,ff,ff,2c,01,ff,ff,ff\n2014-08-15T19:06:31.436Z,3,129291,160,255,8,ff,fc,0b,73,27,00,ff,ff\n2014-08-15T19:06:31.498Z,3,127508,129,255,8,01,ae,05,2c,02,1e,75,82\n2014-08-15T19:06:31.503Z,4,129039,43,255,26,12,44,11,b6,0d,8b,6f,bd,0e,00,91,97,23,7f,03,8b,1a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:31.506Z,2,130306,115,255,8,00,d6,02,8e,18,f2,ff,ff\n2014-08-15T19:06:31.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:31.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,48,02,02,00,00,00,02,00,00,00\n2014-08-15T19:06:31.578Z,3,128267,115,255,8,00,41,05,00,00,ff,ff,ff\n2014-08-15T19:06:31.580Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:31.609Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:31.632Z,3,130577,160,255,14,c0,14,2c,89,28,01,ff,ff,ff,ff,0b,73,27,00\n2014-08-15T19:06:31.634Z,2,129025,160,255,8,e2,90,97,23,7a,72,bd,0e\n2014-08-15T19:06:31.732Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:31.833Z,2,129026,160,255,8,ff,fc,2c,89,28,01,ff,ff\n2014-08-15T19:06:31.840Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:31.874Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:31.876Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:31.878Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:31.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:31.913Z,4,129039,43,255,26,12,8c,d3,b5,0d,26,3a,be,0e,9e,55,98,23,78,09,92,2f,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:06:31.936Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:31.963Z,6,129540,160,255,135,5c,ff,0b,20,68,30,5a,97,e4,0c,00,00,00,00,f2,01,ae,2d,fd,b3,80,0c,00,00,00,00,f2,0b,e8,28,b8,89,e4,0c,00,00,00,00,f2,0e,ae,1e,ae,2d,8c,0a,00,00,00,00,f2,14,c5,13,ce,ab,e4,0c,00,00,00,00,f2,11,ae,0f,cd,d8,74,0e,00,00,00,00,f2,04,a3,0d,1f,c9,74,0e,00,00,00,00,f2,16,97,0b,39,37,1c,0c,00,00,00,00,f2,13,8b,09,cf,7e,48,0d,00,00,00,00,f2,1c,23,06,e5,be,8c,0a,00,00,00,00,f2,1f,c6,04,dc,53,80,0c,00,00,00,00,f6\n2014-08-15T19:06:31.965Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:06:32.101Z,7,127506,129,255,9,83,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:32.138Z,3,129029,160,255,43,15,a9,3f,ec,c6,00,29,00,54,46,d6,a6,73,49,08,00,44,b8,77,fa,92,6e,03,e0,df,21,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:32.140Z,3,129033,160,255,8,a9,3f,ec,c6,00,29,b4,00\n2014-08-15T19:06:32.183Z,4,129039,43,255,26,12,6e,c9,b5,0d,c6,35,d2,0e,61,58,8f,23,7f,ad,5a,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:32.201Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,4d,3d,01,00\n2014-08-15T19:06:32.204Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:32.207Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:32.209Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:32.233Z,3,126992,160,255,8,ff,ff,a9,3f,ec,c6,00,29\n2014-08-15T19:06:32.313Z,4,129038,43,255,27,01,98,69,b3,0e,7a,20,8e,0e,d6,88,a0,23,75,2b,b0,f8,01,b8,84,01,94,b0,00,00,00,fe\n2014-08-15T19:06:32.336Z,2,128259,160,255,8,ff,ff,ff,28,01,ff,ff,ff\n2014-08-15T19:06:32.431Z,3,129291,160,255,8,ff,fc,6a,64,1d,00,ff,ff\n2014-08-15T19:06:32.435Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:32.484Z,2,130306,115,255,8,00,65,02,8e,18,f2,ff,ff\n2014-08-15T19:06:32.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:32.523Z,4,129039,43,255,26,12,44,11,b6,0d,d4,6e,bd,0e,17,90,97,23,83,f8,88,1a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:32.542Z,3,128267,115,255,8,00,62,05,00,00,ff,ff,ff\n2014-08-15T19:06:32.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:32.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:32.583Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,00,31,d3,23,00,70,ac,00,29,7a,c0,01,a9,3f,10,00,fc\n2014-08-15T19:06:32.590Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:32.639Z,3,130577,160,255,14,c0,15,6c,88,25,01,ff,ff,ff,ff,6a,64,1d,00\n2014-08-15T19:06:32.642Z,2,129025,160,255,8,f3,8f,97,23,d4,71,bd,0e\n2014-08-15T19:06:32.740Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:32.784Z,3,127508,129,255,8,01,b0,05,5b,02,1e,75,83\n2014-08-15T19:06:32.838Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:32.840Z,2,129026,160,255,8,ff,fc,6c,88,25,01,ff,ff\n2014-08-15T19:06:32.880Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:32.882Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:32.884Z,2,128259,115,255,8,00,0b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:32.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:32.941Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:32.971Z,6,129540,160,255,147,5d,ff,0c,20,16,31,ac,96,e4,0c,00,00,00,00,f2,01,5c,2e,a0,b2,80,0c,00,00,00,00,f2,0b,39,28,5b,88,e4,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,ce,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,94,bf,e4,0c,00,00,00,00,f2,1f,74,05,dc,53,e4,0c,00,00,00,00,f1,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:32.974Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:06:32.976Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:33.143Z,3,129029,160,255,43,16,a9,3f,06,ee,00,29,00,be,c3,30,6f,73,49,08,00,48,59,d1,d3,92,6e,03,80,66,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:33.145Z,3,129033,160,255,8,a9,3f,06,ee,00,29,b4,00\n2014-08-15T19:06:33.198Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,4d,3d,01,00\n2014-08-15T19:06:33.202Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:33.204Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:33.206Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:33.227Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:33.236Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:33.238Z,3,126992,160,255,8,ff,ff,a9,3f,06,ee,00,29\n2014-08-15T19:06:33.276Z,3,127508,129,255,8,01,b0,05,6b,02,1e,75,83\n2014-08-15T19:06:33.336Z,2,128259,160,255,8,ff,ff,ff,25,01,ff,ff,ff\n2014-08-15T19:06:33.355Z,4,129038,43,255,27,01,e0,53,7f,10,3f,22,c5,0e,37,97,a7,23,88,d5,88,d3,05,c9,08,00,ac,87,00,00,00,fe\n2014-08-15T19:06:33.437Z,3,129291,160,255,8,ff,fc,78,64,2f,00,ff,ff\n2014-08-15T19:06:33.440Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:33.528Z,2,130306,115,255,8,00,6f,02,31,17,f2,ff,ff\n2014-08-15T19:06:33.533Z,4,129039,43,255,26,12,44,11,b6,0d,2d,6e,bd,0e,fc,8e,97,23,87,2c,89,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:33.548Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:33.562Z,3,127508,129,255,8,01,ac,05,f9,01,1e,75,83\n2014-08-15T19:06:33.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,53,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:33.591Z,3,128267,115,255,8,00,25,05,00,00,ff,ff,ff\n2014-08-15T19:06:33.593Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:33.626Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:33.644Z,3,130577,160,255,14,c0,16,5b,88,25,01,ff,ff,ff,ff,78,64,2f,00\n2014-08-15T19:06:33.647Z,2,129025,160,255,8,fb,8e,97,23,2e,71,bd,0e\n2014-08-15T19:06:33.743Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:33.803Z,4,129038,43,255,27,01,40,37,b7,0d,63,bc,89,0e,1c,75,bf,23,89,16,4f,05,00,f0,84,01,ff,ff,ff,7f,00,fe\n2014-08-15T19:06:33.835Z,2,129026,160,255,8,ff,fc,5b,88,25,01,ff,ff\n2014-08-15T19:06:33.837Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:33.842Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:33.878Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:33.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:33.884Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:33.936Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:33.975Z,6,129540,160,255,147,5e,ff,0c,20,16,31,fd,95,e4,0c,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,e4,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:33.978Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:06:33.980Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:34.106Z,3,127508,129,255,8,01,ae,05,13,02,1e,75,83\n2014-08-15T19:06:34.149Z,3,129029,160,255,43,17,a9,3f,70,15,01,29,00,0e,d0,72,35,73,49,08,00,4c,fa,2a,ad,92,6e,03,a0,43,21,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:34.151Z,3,129033,160,255,8,a9,3f,70,15,01,29,b4,00\n2014-08-15T19:06:34.196Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,4d,3d,01,00\n2014-08-15T19:06:34.198Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:34.201Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:34.204Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:34.244Z,3,126992,160,255,8,ff,ff,a9,3f,70,15,01,29\n2014-08-15T19:06:34.341Z,2,128259,160,255,8,ff,ff,ff,25,01,ff,ff,ff\n2014-08-15T19:06:34.443Z,4,129038,43,255,27,01,d2,ff,4a,10,46,8b,b1,0e,52,01,71,23,89,59,e8,00,00,4d,c0,00,37,91,df,ff,00,fe\n2014-08-15T19:06:34.450Z,3,129291,160,255,8,ff,fc,2c,5e,20,00,ff,ff\n2014-08-15T19:06:34.486Z,2,130306,115,255,8,00,55,02,c7,13,f2,ff,ff\n2014-08-15T19:06:34.493Z,3,127508,129,255,8,01,ac,05,f7,01,1e,75,83\n2014-08-15T19:06:34.511Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:34.543Z,4,129039,43,255,26,12,44,11,b6,0d,f1,6c,bd,0e,44,8e,97,23,8b,09,8c,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:34.549Z,3,128267,115,255,8,00,25,05,00,00,ff,ff,ff\n2014-08-15T19:06:34.551Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:34.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,38,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:34.589Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:34.648Z,3,130577,160,255,14,c0,17,3d,89,25,01,ff,ff,ff,ff,2c,5e,20,00\n2014-08-15T19:06:34.651Z,2,129025,160,255,8,07,8e,97,23,5c,70,bd,0e\n2014-08-15T19:06:34.751Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:34.840Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:34.844Z,2,129026,160,255,8,ff,fc,3d,89,25,01,ff,ff\n2014-08-15T19:06:34.879Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:34.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:34.884Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:34.925Z,7,127506,129,255,9,84,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:34.939Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:34.979Z,6,129540,160,255,147,5f,ff,0c,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,e4,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:34.982Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:34.984Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:06:35.017Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:06:35.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:35.054Z,4,129038,43,255,27,01,28,f5,77,10,f0,f6,a0,0e,ba,7c,74,23,84,73,32,be,00,1d,85,01,16,31,00,00,00,fe\n2014-08-15T19:06:35.156Z,3,129029,160,255,43,18,a9,3f,62,3c,01,29,00,86,47,a3,fc,72,49,08,00,98,00,46,7c,92,6e,03,80,f5,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:35.159Z,3,129033,160,255,8,a9,3f,62,3c,01,29,b4,00\n2014-08-15T19:06:35.194Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,5f,3d,01,00\n2014-08-15T19:06:35.196Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:35.198Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:35.201Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:35.252Z,3,126992,160,255,8,ff,ff,a9,3f,62,3c,01,29\n2014-08-15T19:06:35.343Z,2,128259,160,255,8,ff,ff,ff,25,01,ff,ff,ff\n2014-08-15T19:06:35.398Z,2,130306,115,255,8,00,ad,02,48,1b,f2,ff,ff\n2014-08-15T19:06:35.448Z,3,129291,160,255,8,ff,fc,1a,6a,1a,00,ff,ff\n2014-08-15T19:06:35.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:35.537Z,6,129794,43,255,75,05,90,75,cd,0e,0e,69,89,00,39,48,41,57,36,20,20,4b,45,52,47,49,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,46,ff,ff,ff,ff,ff,ff,ff,ff,f6,40,00,88,2a,11,7c,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,44,e0\n2014-08-15T19:06:35.543Z,3,128267,115,255,8,00,b8,05,00,00,ff,ff,ff\n2014-08-15T19:06:35.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:35.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,4c,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:35.576Z,4,129039,43,255,26,12,44,11,b6,0d,29,6c,bd,0e,6c,8d,97,23,8f,4f,89,20,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:35.579Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:35.584Z,3,127508,129,255,8,01,af,05,47,02,1e,75,84\n2014-08-15T19:06:35.646Z,3,130577,160,255,14,c0,18,49,88,29,01,ff,ff,ff,ff,1a,6a,1a,00\n2014-08-15T19:06:35.648Z,2,129025,160,255,8,0b,8d,97,23,9a,6f,bd,0e\n2014-08-15T19:06:35.746Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:35.836Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:35.850Z,2,129026,160,255,8,ff,fc,49,88,29,01,ff,ff\n2014-08-15T19:06:35.883Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:35.883Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:35.886Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:35.914Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:35.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:35.972Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:35.991Z,6,129540,160,255,147,60,ff,0c,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,e4,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,e4,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:35.994Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:06:36.153Z,3,129029,160,255,43,19,a9,3f,36,63,01,29,00,ae,e8,f6,c1,72,49,08,00,84,b3,1a,4f,92,6e,03,e0,50,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:36.163Z,3,129033,160,255,8,a9,3f,36,63,01,29,b4,00\n2014-08-15T19:06:36.192Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,5f,3d,01,00\n2014-08-15T19:06:36.195Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:36.197Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:36.201Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:36.247Z,3,126992,160,255,8,ff,ff,a9,3f,36,63,01,29\n2014-08-15T19:06:36.356Z,2,128259,160,255,8,ff,ff,ff,29,01,ff,ff,ff\n2014-08-15T19:06:36.456Z,3,129291,160,255,8,ff,fc,1a,6a,1a,00,ff,ff\n2014-08-15T19:06:36.474Z,2,130306,115,255,8,00,65,02,c9,22,f2,ff,ff\n2014-08-15T19:06:36.493Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:36.498Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:36.533Z,3,128267,115,255,8,00,6f,05,00,00,ff,ff,ff\n2014-08-15T19:06:36.535Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:36.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,40,02,02,00,01,01,02,00,00,00\n2014-08-15T19:06:36.576Z,4,129039,43,255,26,12,44,11,b6,0d,50,6b,bd,0e,61,8c,97,23,93,49,88,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:36.593Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:36.652Z,3,130577,160,255,14,c0,19,9b,87,29,01,ff,ff,ff,ff,9c,50,1f,00\n2014-08-15T19:06:36.654Z,2,129025,160,255,8,04,8c,97,23,00,6f,bd,0e\n2014-08-15T19:06:36.751Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:36.838Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:36.854Z,2,129026,160,255,8,ff,fc,9b,87,29,01,ff,ff\n2014-08-15T19:06:36.879Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:36.882Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:36.884Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:36.907Z,3,127508,129,255,8,01,ae,05,23,02,1e,75,84\n2014-08-15T19:06:36.911Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:36.941Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:36.994Z,6,129540,160,255,147,61,ff,0c,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,e4,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,28,0a,00,00,00,00,f1,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:36.996Z,2,127250,160,255,8,ff,d5,8b,ff,7f,86,05,fc\n2014-08-15T19:06:37.065Z,3,127508,129,255,8,01,b0,05,68,02,1e,75,84\n2014-08-15T19:06:37.160Z,3,129029,160,255,43,1a,a9,3f,96,8a,01,29,00,28,e3,ba,84,72,49,08,00,00,96,3f,2b,92,6e,03,40,ca,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:37.163Z,3,129033,160,255,8,a9,3f,96,8a,01,29,b4,00\n2014-08-15T19:06:37.190Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,5f,3d,01,00\n2014-08-15T19:06:37.192Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:37.194Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:37.196Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:37.244Z,4,129039,43,255,26,12,ec,d7,b5,0d,1a,b2,bb,0e,9a,49,8f,23,92,b8,83,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:37.258Z,3,126992,160,255,8,ff,ff,a9,3f,96,8a,01,29\n2014-08-15T19:06:37.284Z,4,129038,43,255,27,03,60,dd,c3,0d,43,61,b9,0e,f7,63,70,23,95,a6,95,00,00,00,00,00,ff,0e,00,00,05,fe\n2014-08-15T19:06:37.359Z,2,128259,160,255,8,ff,ff,ff,29,01,ff,ff,ff\n2014-08-15T19:06:37.410Z,3,128267,115,255,8,00,56,05,00,00,ff,ff,ff\n2014-08-15T19:06:37.412Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:37.454Z,3,129291,160,255,8,ff,fc,9c,50,1f,00,ff,ff\n2014-08-15T19:06:37.484Z,4,129038,43,255,27,01,c0,0b,7e,10,0e,28,e3,0e,ee,44,d2,23,94,cc,05,67,05,18,66,00,d1,06,00,00,00,fe\n2014-08-15T19:06:37.556Z,2,130306,115,255,8,00,e0,02,03,1e,f2,ff,ff\n2014-08-15T19:06:37.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,45,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:37.582Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:37.594Z,4,129039,43,255,26,12,44,11,b6,0d,77,6a,bd,0e,56,8b,97,23,97,43,8a,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:37.599Z,3,127508,129,255,8,01,af,05,34,02,1e,75,84\n2014-08-15T19:06:37.624Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:37.634Z,4,129038,43,255,27,01,e0,53,7f,10,ab,10,c5,0e,8a,7e,a7,23,98,e0,87,d8,05,c3,08,00,fd,86,00,00,00,fe\n2014-08-15T19:06:37.662Z,3,130577,160,255,14,c0,1a,5b,88,27,01,ff,ff,ff,ff,9c,50,1f,00\n2014-08-15T19:06:37.664Z,2,129025,160,255,8,09,8b,97,23,4b,6e,bd,0e\n2014-08-15T19:06:37.761Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:37.783Z,4,129038,43,255,27,01,88,d6,d0,0c,fb,70,e2,0e,d8,62,b6,23,95,a6,9b,31,03,85,85,00,ce,9c,00,00,00,fe\n2014-08-15T19:06:37.791Z,3,127508,129,255,8,01,ae,05,1f,02,1e,75,84\n2014-08-15T19:06:37.823Z,4,129038,43,255,27,01,b8,53,a6,0c,69,6c,79,0e,32,16,9f,23,98,c3,ac,78,02,af,08,00,88,ae,00,00,00,fe\n2014-08-15T19:06:37.836Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:37.864Z,2,129026,160,255,8,ff,fc,5b,88,27,01,ff,ff\n2014-08-15T19:06:37.879Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:37.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:37.885Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:37.912Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:37.941Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:37.997Z,6,129540,160,255,147,62,ff,0c,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,fc,08,00,00,00,00,f1,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:37.999Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:06:38.023Z,7,127506,129,255,9,85,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:38.167Z,3,129029,160,255,43,1b,a9,3f,b0,b1,01,29,00,1a,1f,4a,4a,72,49,08,00,2e,25,1b,01,92,6e,03,40,e8,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:38.169Z,3,129033,160,255,8,a9,3f,b0,b1,01,29,b4,00\n2014-08-15T19:06:38.186Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,5f,3d,01,00\n2014-08-15T19:06:38.189Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:38.191Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:38.194Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:38.233Z,4,129038,43,255,27,01,68,e2,20,12,7e,58,fc,0e,ec,20,ad,23,98,b7,b0,02,02,67,40,01,9f,b2,00,00,00,fe\n2014-08-15T19:06:38.262Z,3,126992,160,255,8,ff,ff,a9,3f,b0,b1,01,29\n2014-08-15T19:06:38.364Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:38.470Z,2,130306,115,255,8,00,ad,02,8e,18,f2,ff,ff\n2014-08-15T19:06:38.474Z,3,129291,160,255,8,ff,fc,90,62,1b,00,ff,ff\n2014-08-15T19:06:38.490Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:38.527Z,3,128267,115,255,8,00,cd,05,00,00,ff,ff,ff\n2014-08-15T19:06:38.530Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:38.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:38.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:38.585Z,3,127508,129,255,8,01,b0,05,4f,02,1e,75,85\n2014-08-15T19:06:38.603Z,4,129039,43,255,26,12,44,11,b6,0d,af,69,bd,0e,4c,8a,97,23,9b,5b,8b,15,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:38.662Z,3,130577,160,255,14,c0,1b,c3,88,26,01,ff,ff,ff,ff,90,62,1b,00\n2014-08-15T19:06:38.664Z,2,129025,160,255,8,1c,8a,97,23,77,6d,bd,0e\n2014-08-15T19:06:38.728Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:38.761Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:38.835Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:38.864Z,2,129026,160,255,8,ff,fc,c3,88,26,01,ff,ff\n2014-08-15T19:06:38.868Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:38.870Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:38.873Z,2,128259,115,255,8,00,19,01,ff,ff,00,ff,ff\n2014-08-15T19:06:38.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:38.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:38.974Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:39.005Z,6,129540,160,255,147,63,ff,0c,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f1,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:39.007Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:06:39.172Z,3,129029,160,255,43,1c,a9,3f,ca,d8,01,29,00,18,d2,1b,13,72,49,08,00,e6,f5,be,cf,91,6e,03,50,80,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:39.174Z,3,129033,160,255,8,a9,3f,ca,d8,01,29,b4,00\n2014-08-15T19:06:39.184Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,5f,3d,01,00\n2014-08-15T19:06:39.186Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:39.188Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:39.193Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:39.221Z,3,127508,129,255,8,01,af,05,25,02,1e,75,85\n2014-08-15T19:06:39.269Z,3,126992,160,255,8,ff,ff,a9,3f,ca,d8,01,29\n2014-08-15T19:06:39.273Z,4,129038,43,255,27,01,fc,ff,e9,25,53,07,26,0f,45,db,be,23,99,2b,bc,c0,02,00,00,00,7c,bb,ce,ff,00,fe\n2014-08-15T19:06:39.370Z,2,128259,160,255,8,ff,ff,ff,26,01,ff,ff,ff\n2014-08-15T19:06:39.471Z,3,129291,160,255,8,ff,fc,d7,82,0f,00,ff,ff\n2014-08-15T19:06:39.488Z,2,130306,115,255,8,00,6a,02,f7,1b,f2,ff,ff\n2014-08-15T19:06:39.508Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:39.542Z,3,128267,115,255,8,00,7b,05,00,00,ff,ff,ff\n2014-08-15T19:06:39.546Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:39.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,2a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:39.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:39.613Z,4,129039,43,255,26,12,44,11,b6,0d,f8,68,bd,0e,62,89,97,23,9f,43,87,20,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:39.668Z,3,130577,160,255,14,c0,1c,fe,86,25,01,ff,ff,ff,ff,d7,82,0f,00\n2014-08-15T19:06:39.671Z,2,129025,160,255,8,24,89,97,23,e2,6c,bd,0e\n2014-08-15T19:06:39.781Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:39.808Z,3,127508,129,255,8,01,af,05,3b,02,1e,75,85\n2014-08-15T19:06:39.840Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:39.873Z,2,129026,160,255,8,ff,fc,fe,86,25,01,ff,ff\n2014-08-15T19:06:39.879Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:39.882Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:39.884Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:39.963Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:39.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:40.015Z,6,129540,160,255,147,64,ff,0c,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,e4,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:40.017Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:06:40.025Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:40.121Z,3,127508,129,255,8,01,af,05,35,02,1e,75,85\n2014-08-15T19:06:40.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,e4,01,29,dd,85,02,a9,3f,00,00,fc\n2014-08-15T19:06:40.144Z,3,127508,129,255,8,01,ae,05,16,02,1e,75,85\n2014-08-15T19:06:40.181Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:40.183Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:40.186Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:40.189Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:40.194Z,3,129029,160,255,43,1d,a9,3f,16,00,02,29,00,68,de,5d,d9,71,49,08,00,54,de,0d,ad,91,6e,03,70,3f,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:40.196Z,3,129033,160,255,8,a9,3f,16,00,02,29,b4,00\n2014-08-15T19:06:40.204Z,7,127506,129,255,9,86,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:40.275Z,3,126992,160,255,8,ff,ff,a9,3f,16,00,02,29\n2014-08-15T19:06:40.313Z,4,129038,43,255,27,01,b0,79,7a,10,3b,87,d1,0e,8e,59,82,23,98,76,d8,e8,01,e5,08,00,2a,da,00,00,00,fe\n2014-08-15T19:06:40.335Z,2,130306,115,255,8,00,b7,02,83,25,f2,ff,ff\n2014-08-15T19:06:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,e4,01,29,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:06:40.378Z,2,128259,160,255,8,ff,ff,ff,26,01,ff,ff,ff\n2014-08-15T19:06:40.481Z,3,129291,160,255,8,ff,fc,74,59,1b,00,ff,ff\n2014-08-15T19:06:40.567Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:40.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2b,02,02,00,03,03,03,00,00,00\n2014-08-15T19:06:40.597Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:06:40.600Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:40.641Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:40.658Z,6,129794,43,255,75,05,50,10,7f,16,a8,24,88,00,4a,38,42,32,37,37,30,45,52,4c,41,4e,44,41,20,20,20,20,20,20,20,20,20,20,20,20,20,46,34,03,78,00,5a,00,d0,02,0d,41,00,bf,2f,20,36,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:06:40.682Z,3,130577,160,255,14,c0,1d,4f,86,26,01,ff,ff,ff,ff,74,59,1b,00\n2014-08-15T19:06:40.684Z,2,129025,160,255,8,1d,88,97,23,6e,6c,bd,0e\n2014-08-15T19:06:40.693Z,4,129039,43,255,26,12,44,11,b6,0d,51,68,bd,0e,68,88,97,23,a3,4f,86,20,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:40.733Z,4,129038,43,255,27,01,02,8b,c4,0d,e7,b7,e0,0e,59,21,c9,23,a4,89,81,5d,01,f4,05,01,e6,82,00,00,00,fe\n2014-08-15T19:06:40.735Z,3,127508,129,255,8,01,ae,05,01,02,1e,75,86\n2014-08-15T19:06:40.785Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:40.823Z,4,129038,43,255,27,01,88,44,7d,10,a3,24,c7,0e,1d,ed,7f,23,9c,8f,8b,00,00,18,66,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:06:40.833Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:40.873Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:40.875Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:40.883Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:40.883Z,2,129026,160,255,8,ff,fc,4f,86,26,01,ff,ff\n2014-08-15T19:06:40.887Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:40.919Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:40.944Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:41.021Z,6,129540,160,255,147,65,ff,0c,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,ac,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,80,0c,00,00,00,00,f1,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:41.023Z,2,127250,160,255,8,ff,89,8d,ff,7f,86,05,fc\n2014-08-15T19:06:41.113Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:41.153Z,4,129038,43,255,27,01,c8,d4,7f,10,97,a9,df,0e,2a,a9,c2,23,a1,8f,7c,38,04,3f,40,01,cf,7e,00,00,00,fe\n2014-08-15T19:06:41.175Z,2,130306,115,255,8,00,4b,02,df,17,f2,ff,ff\n2014-08-15T19:06:41.181Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:41.183Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:41.187Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:41.189Z,3,129029,160,255,43,1e,a9,3f,58,27,02,29,00,e2,d8,21,9c,71,49,08,00,cc,ba,0b,92,91,6e,03,60,a7,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:41.193Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:41.203Z,3,129033,160,255,8,a9,3f,58,27,02,29,b4,00\n2014-08-15T19:06:41.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:41.280Z,3,126992,160,255,8,ff,ff,a9,3f,58,27,02,29\n2014-08-15T19:06:41.353Z,4,129038,43,255,27,01,b8,f5,67,12,ce,45,92,0e,84,86,91,23,a4,45,2d,d6,03,cd,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:06:41.384Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:41.485Z,3,129291,160,255,8,ff,fc,47,4c,36,00,ff,ff\n2014-08-15T19:06:41.502Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:06:41.505Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:41.532Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:41.559Z,3,127508,129,255,8,01,af,05,38,02,1e,75,86\n2014-08-15T19:06:41.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,46,02,02,00,00,00,04,00,00,00\n2014-08-15T19:06:41.643Z,4,129039,43,255,26,12,44,11,b6,0d,15,67,bd,0e,c2,87,97,23,a7,72,89,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:41.684Z,3,127508,129,255,8,01,af,05,2b,02,1e,75,86\n2014-08-15T19:06:41.697Z,3,130577,160,255,14,c0,1e,66,87,27,01,ff,ff,ff,ff,47,4c,36,00\n2014-08-15T19:06:41.699Z,2,129025,160,255,8,1f,87,97,23,b9,6b,bd,0e\n2014-08-15T19:06:41.796Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:41.833Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:41.874Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:41.876Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:41.878Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:41.897Z,2,129026,160,255,8,ff,fc,66,87,27,01,ff,ff\n2014-08-15T19:06:41.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:41.936Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:42.012Z,3,127508,129,255,8,01,af,05,2e,02,1e,75,86\n2014-08-15T19:06:42.025Z,6,129540,160,255,147,66,ff,0c,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:42.027Z,2,127250,160,255,8,ff,db,8c,ff,7f,86,05,fc\n2014-08-15T19:06:42.139Z,2,130306,115,255,8,00,4b,02,48,1b,f2,ff,ff\n2014-08-15T19:06:42.159Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:42.177Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:42.178Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:42.181Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:42.183Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:42.202Z,3,129029,160,255,43,1f,a9,3f,26,4f,02,29,00,76,44,fe,60,71,49,08,00,fa,49,e7,67,91,6e,03,40,59,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:42.204Z,3,129033,160,255,8,a9,3f,26,4f,02,29,b4,00\n2014-08-15T19:06:42.297Z,3,126992,160,255,8,ff,ff,a9,3f,26,4f,02,29\n2014-08-15T19:06:42.401Z,2,128259,160,255,8,ff,ff,ff,2d,01,ff,ff,ff\n2014-08-15T19:06:42.484Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:06:42.487Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:42.492Z,3,129291,160,255,8,ff,fc,44,4e,29,00,ff,ff\n2014-08-15T19:06:42.496Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:42.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:42.562Z,3,127508,129,255,8,01,b0,05,50,02,1e,75,86\n2014-08-15T19:06:42.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:42.653Z,4,129039,43,255,26,12,44,11,b6,0d,6e,66,bd,0e,e9,86,97,23,ab,4f,89,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:42.695Z,3,130577,160,255,14,c0,1f,32,87,2d,01,ff,ff,ff,ff,44,4e,29,00\n2014-08-15T19:06:42.697Z,2,129025,160,255,8,1d,86,97,23,f5,6a,bd,0e\n2014-08-15T19:06:42.796Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:42.832Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:42.870Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:42.872Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:42.875Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:42.893Z,4,129038,43,255,27,01,b8,83,92,0e,43,bc,e0,0e,1c,c8,75,23,ad,8e,c1,05,00,18,66,00,59,d3,00,00,00,fe\n2014-08-15T19:06:42.898Z,2,129026,160,255,8,ff,fc,32,87,2d,01,ff,ff\n2014-08-15T19:06:42.905Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:42.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:42.970Z,7,127506,129,255,9,87,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:43.039Z,6,129540,160,255,147,67,ff,0c,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,d8,0e,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:06:43.040Z,3,127508,129,255,8,01,ae,05,0e,02,1e,75,87\n2014-08-15T19:06:43.041Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:06:43.043Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:43.047Z,7,129793,43,255,26,04,8f,18,23,00,a6,1d,46,0f,50,68,e2,23,00,20,5a,02,29,76,40,01,a9,3f,10,00,fc\n2014-08-15T19:06:43.114Z,4,129038,43,255,27,03,58,43,c9,0e,13,2b,d4,0e,d3,58,a9,23,ac,da,ad,d0,02,41,1b,00,36,af,00,00,00,fe\n2014-08-15T19:06:43.131Z,2,130306,115,255,8,00,8e,02,82,16,f2,ff,ff\n2014-08-15T19:06:43.148Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:43.174Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:43.176Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:43.178Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:43.180Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:43.204Z,3,129029,160,255,43,20,a9,3f,18,76,02,29,00,e2,44,ec,24,71,49,08,00,52,c7,44,3a,91,6e,03,00,2e,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:43.209Z,3,129033,160,255,8,a9,3f,18,76,02,29,b4,00\n2014-08-15T19:06:43.299Z,3,126992,160,255,8,ff,ff,a9,3f,18,76,02,29\n2014-08-15T19:06:43.327Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:43.402Z,2,128259,160,255,8,ff,ff,ff,2f,01,ff,ff,ff\n2014-08-15T19:06:43.443Z,4,129038,43,255,27,01,08,7b,ba,0d,fb,6a,92,0e,40,8f,bc,23,a9,94,a1,77,01,7f,86,00,e5,a0,00,00,00,fe\n2014-08-15T19:06:43.482Z,3,128267,115,255,8,00,87,05,00,00,ff,ff,ff\n2014-08-15T19:06:43.485Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:43.495Z,3,129291,160,255,8,ff,fc,b2,52,35,00,ff,ff\n2014-08-15T19:06:43.497Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:43.524Z,4,129038,43,255,27,01,c8,27,16,0e,52,b0,6c,0e,59,b0,94,23,a9,2e,32,55,03,39,40,01,16,31,ec,ff,00,fe\n2014-08-15T19:06:43.531Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:43.567Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:43.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,01,03,03,00,00,00\n2014-08-15T19:06:43.594Z,4,129038,43,255,27,01,08,99,b5,0d,6b,14,ce,0e,28,23,a5,23,b0,ad,4b,4e,01,5f,86,01,f3,48,00,00,00,fe\n2014-08-15T19:06:43.673Z,4,129039,43,255,26,12,44,11,b6,0d,d2,66,bd,0e,6a,85,97,23,af,f8,88,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:43.704Z,3,130577,160,255,14,c0,20,ec,86,2f,01,ff,ff,ff,ff,b2,52,35,00\n2014-08-15T19:06:43.706Z,2,129025,160,255,8,11,85,97,23,4b,6a,bd,0e\n2014-08-15T19:06:43.799Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:43.827Z,3,127508,129,255,8,01,af,05,14,02,1e,75,87\n2014-08-15T19:06:43.832Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:43.874Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:43.876Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:43.878Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:43.900Z,2,129026,160,255,8,ff,fc,ec,86,2f,01,ff,ff\n2014-08-15T19:06:43.903Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:43.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:43.937Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:44.028Z,6,129540,160,255,135,68,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,ac,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:44.030Z,2,127250,160,255,8,ff,3e,8f,ff,7f,86,05,fc\n2014-08-15T19:06:44.075Z,2,130306,115,255,8,00,e5,02,55,2c,f2,ff,ff\n2014-08-15T19:06:44.075Z,3,127508,129,255,8,01,ae,05,04,02,1e,75,87\n2014-08-15T19:06:44.099Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:44.137Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:06:44.170Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:44.174Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:44.175Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:44.178Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:44.211Z,3,129029,160,255,43,21,a9,3f,32,9d,02,29,00,6a,39,86,e6,70,49,08,00,2e,fd,af,12,91,6e,03,40,ca,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:44.212Z,3,129033,160,255,8,a9,3f,32,9d,02,29,b4,00\n2014-08-15T19:06:44.306Z,3,126992,160,255,8,ff,ff,a9,3f,32,9d,02,29\n2014-08-15T19:06:44.341Z,3,127508,129,255,8,01,b0,05,39,02,1e,75,87\n2014-08-15T19:06:44.398Z,2,128259,160,255,8,ff,ff,ff,2a,01,ff,ff,ff\n2014-08-15T19:06:44.442Z,3,127508,129,255,8,01,ac,05,c3,01,1e,75,87\n2014-08-15T19:06:44.465Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:06:44.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:44.486Z,7,127506,129,255,9,88,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:44.494Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:44.500Z,3,129291,160,255,8,ff,fc,5e,53,35,00,ff,ff\n2014-08-15T19:06:44.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:44.683Z,4,129039,43,255,26,12,44,11,b6,0d,a0,66,bd,0e,5f,84,97,23,b3,95,8c,0b,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:44.715Z,3,130577,160,255,14,c0,21,6c,88,2a,01,ff,ff,ff,ff,5e,53,35,00\n2014-08-15T19:06:44.718Z,2,129025,160,255,8,16,84,97,23,7e,69,bd,0e\n2014-08-15T19:06:44.806Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:44.834Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:44.868Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:44.870Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:44.872Z,2,128259,115,255,8,00,0b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:44.907Z,2,129026,160,255,8,ff,fc,6c,88,2a,01,ff,ff\n2014-08-15T19:06:44.932Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:44.960Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:44.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:45.035Z,6,129540,160,255,135,69,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,f0,0a,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:45.037Z,2,127250,160,255,8,ff,2c,8c,ff,7f,86,05,fc\n2014-08-15T19:06:45.048Z,2,130306,115,255,8,00,55,02,76,14,f2,ff,ff\n2014-08-15T19:06:45.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:45.167Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:45.170Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:45.172Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:45.175Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:45.183Z,3,127508,129,255,8,01,ae,05,07,02,1e,75,88\n2014-08-15T19:06:45.221Z,3,129029,160,255,43,22,a9,3f,74,c4,02,29,00,5c,75,15,ac,70,49,08,00,6c,09,f5,e2,90,6e,03,90,ab,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:45.226Z,3,129033,160,255,8,a9,3f,74,c4,02,29,b4,00\n2014-08-15T19:06:45.308Z,3,126992,160,255,8,ff,ff,a9,3f,74,c4,02,29\n2014-08-15T19:06:45.411Z,2,128259,160,255,8,ff,ff,ff,2c,01,ff,ff,ff\n2014-08-15T19:06:45.433Z,4,129038,43,255,27,01,e0,53,7f,10,11,f5,c4,0e,27,57,a7,23,b8,5b,88,d3,05,c8,08,00,fd,86,00,00,00,fe\n2014-08-15T19:06:45.483Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:06:45.486Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:45.490Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:45.506Z,3,129291,160,255,8,ff,fc,59,6f,2a,00,ff,ff\n2014-08-15T19:06:45.514Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:45.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:45.690Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:45.693Z,4,129039,43,255,26,12,44,11,b6,0d,1b,66,bd,0e,54,83,97,23,b7,0f,8a,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:45.737Z,3,130577,160,255,14,c0,22,09,89,2c,01,ff,ff,ff,ff,59,6f,2a,00\n2014-08-15T19:06:45.740Z,2,129025,160,255,8,28,83,97,23,93,68,bd,0e\n2014-08-15T19:06:45.813Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:45.833Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:45.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:45.872Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:45.874Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:45.914Z,7,129793,43,255,26,04,91,18,23,00,c4,1a,86,0e,fa,f6,c7,23,00,50,cf,02,29,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:06:45.916Z,2,129026,160,255,8,ff,fc,09,89,2c,01,ff,ff\n2014-08-15T19:06:45.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:45.946Z,3,127508,129,255,8,01,ac,05,ca,01,1e,75,88\n2014-08-15T19:06:45.967Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:46.014Z,2,130306,115,255,8,00,32,03,3e,28,f2,ff,ff\n2014-08-15T19:06:46.055Z,6,129540,160,255,135,6a,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,f0,0a,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:46.057Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:06:46.060Z,3,127508,129,255,8,01,af,05,23,02,1e,75,88\n2014-08-15T19:06:46.064Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:46.167Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:46.169Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:46.171Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:46.175Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:46.218Z,3,129029,160,255,43,23,a9,3f,ac,eb,02,29,00,90,8d,ab,74,70,49,08,00,fe,f1,3d,ac,90,6e,03,80,f5,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:46.224Z,3,129033,160,255,8,a9,3f,ac,eb,02,29,b4,00\n2014-08-15T19:06:46.256Z,3,127508,129,255,8,01,ac,05,ca,01,1e,75,88\n2014-08-15T19:06:46.316Z,3,126992,160,255,8,ff,ff,a9,3f,ac,eb,02,29\n2014-08-15T19:06:46.419Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:46.481Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:06:46.484Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:46.513Z,3,129291,160,255,8,ff,fc,59,6f,2a,00,ff,ff\n2014-08-15T19:06:46.515Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:46.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:46.602Z,3,127508,129,255,8,01,af,05,08,02,1e,75,88\n2014-08-15T19:06:46.714Z,4,129039,43,255,26,12,44,11,b6,0d,42,65,bd,0e,4a,82,97,23,bb,f2,8a,15,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:46.720Z,3,130577,160,255,14,c0,23,1b,89,27,01,ff,ff,ff,ff,8b,32,13,00\n2014-08-15T19:06:46.724Z,2,129025,160,255,8,34,82,97,23,ce,67,bd,0e\n2014-08-15T19:06:46.814Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:46.834Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:46.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:46.872Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:46.874Z,2,128259,115,255,8,00,0b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:46.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:46.924Z,2,129026,160,255,8,ff,fc,1b,89,27,01,ff,ff\n2014-08-15T19:06:46.935Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:46.984Z,2,130306,115,255,8,00,50,02,76,14,f2,ff,ff\n2014-08-15T19:06:47.009Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:47.057Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:06:47.057Z,6,129540,160,255,135,6b,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,54,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:47.163Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:47.166Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:47.168Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:47.170Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:47.214Z,7,127506,129,255,9,89,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:47.234Z,3,129029,160,255,43,24,a9,3f,d0,12,03,29,00,08,05,dc,3b,70,49,08,00,8c,d4,5f,7e,90,6e,03,40,e8,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:47.234Z,3,129033,160,255,8,a9,3f,d0,12,03,29,b4,00\n2014-08-15T19:06:47.323Z,3,126992,160,255,8,ff,ff,a9,3f,d0,12,03,29\n2014-08-15T19:06:47.417Z,2,128259,160,255,8,ff,ff,ff,29,01,ff,ff,ff\n2014-08-15T19:06:47.473Z,3,128267,115,255,8,00,84,05,00,00,ff,ff,ff\n2014-08-15T19:06:47.475Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:47.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:47.520Z,3,129291,160,255,8,ff,fc,8b,32,13,00,ff,ff\n2014-08-15T19:06:47.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,2a,02,02,00,00,00,02,00,00,00\n2014-08-15T19:06:47.582Z,3,127508,129,255,8,01,b0,05,33,02,1e,75,89\n2014-08-15T19:06:47.720Z,3,130577,160,255,14,c0,24,8f,88,29,01,ff,ff,ff,ff,04,74,23,00\n2014-08-15T19:06:47.722Z,2,129025,160,255,8,41,81,97,23,1e,67,bd,0e\n2014-08-15T19:06:47.726Z,4,129039,43,255,26,12,44,11,b6,0d,8b,64,bd,0e,3f,81,97,23,bf,f8,88,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:47.826Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:47.830Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:47.834Z,4,129038,43,255,27,01,92,12,4b,10,20,50,f9,0e,cd,09,ae,23,bc,94,b0,c0,02,51,c0,00,42,b1,e6,ff,00,fe\n2014-08-15T19:06:47.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:47.871Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:47.873Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:06:47.880Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:47.905Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:47.922Z,2,129026,160,255,8,ff,fc,8f,88,29,01,ff,ff\n2014-08-15T19:06:47.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:47.968Z,2,130306,115,255,8,00,f5,02,55,2c,f2,ff,ff\n2014-08-15T19:06:47.988Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:48.050Z,6,129540,160,255,135,6c,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,f0,0a,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:48.052Z,2,127250,160,255,8,ff,26,8b,ff,7f,86,05,fc\n2014-08-15T19:06:48.160Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:48.162Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:48.165Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:48.167Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:48.227Z,3,129029,160,255,43,25,a9,3f,94,3a,03,29,00,4a,17,48,03,70,49,08,00,ac,69,65,55,90,6e,03,30,32,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:48.229Z,3,129033,160,255,8,a9,3f,94,3a,03,29,b4,00\n2014-08-15T19:06:48.322Z,3,126992,160,255,8,ff,ff,a9,3f,94,3a,03,29\n2014-08-15T19:06:48.419Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:48.459Z,3,128267,115,255,8,00,ca,05,00,00,ff,ff,ff\n2014-08-15T19:06:48.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:48.467Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:48.477Z,3,127508,129,255,8,01,ac,05,cc,01,1e,75,89\n2014-08-15T19:06:48.487Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:48.523Z,3,129291,160,255,8,ff,fc,04,74,23,00,ff,ff\n2014-08-15T19:06:48.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:48.730Z,3,130577,160,255,14,c0,25,03,88,27,01,ff,ff,ff,ff,e9,3a,1d,00\n2014-08-15T19:06:48.732Z,2,129025,160,255,8,41,80,97,23,82,66,bd,0e\n2014-08-15T19:06:48.736Z,4,129039,43,255,26,12,44,11,b6,0d,f5,63,bd,0e,56,80,97,23,c3,9b,87,20,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:48.758Z,3,127508,129,255,8,01,b0,05,25,02,1e,75,89\n2014-08-15T19:06:48.823Z,4,129038,43,255,27,01,88,d6,d0,0c,a7,41,e2,0e,8e,4d,b6,23,c1,72,9b,3c,03,42,c0,00,ce,9c,00,00,00,fe\n2014-08-15T19:06:48.829Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:48.836Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:48.864Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:48.866Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:48.868Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:48.896Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:48.926Z,2,130306,115,255,8,00,41,02,c7,13,f2,ff,ff\n2014-08-15T19:06:48.928Z,2,129026,160,255,8,ff,fc,03,88,27,01,ff,ff\n2014-08-15T19:06:48.966Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:49.016Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:49.066Z,6,129540,160,255,135,6d,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,b8,0b,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:49.068Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:06:49.157Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,72,3d,01,00\n2014-08-15T19:06:49.159Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:49.162Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:49.164Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:49.241Z,3,129029,160,255,43,26,a9,3f,d6,61,03,29,00,4a,4d,ad,c7,6f,49,08,00,94,16,13,31,90,6e,03,e0,fd,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:49.243Z,3,129033,160,255,8,a9,3f,d6,61,03,29,b4,00\n2014-08-15T19:06:49.273Z,4,129038,43,255,27,01,e0,53,7f,10,74,ea,c4,0e,a2,48,a7,23,c8,6c,88,d8,05,34,07,01,fd,86,00,00,00,fe\n2014-08-15T19:06:49.326Z,3,126992,160,255,8,ff,ff,a9,3f,d6,61,03,29\n2014-08-15T19:06:49.361Z,3,127508,129,255,8,01,b0,05,34,02,1e,75,89\n2014-08-15T19:06:49.404Z,4,129039,43,255,26,12,fe,ea,8e,0f,e5,e8,98,0e,f4,c5,ae,23,c0,e5,d9,d8,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:49.430Z,2,128259,160,255,8,ff,ff,ff,2e,01,ff,ff,ff\n2014-08-15T19:06:49.441Z,3,127508,129,255,8,01,ae,05,ea,01,1e,75,89\n2014-08-15T19:06:49.468Z,3,128267,115,255,8,00,9c,05,00,00,ff,ff,ff\n2014-08-15T19:06:49.470Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:49.498Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:49.531Z,3,129291,160,255,8,ff,fc,e9,3a,1d,00,ff,ff\n2014-08-15T19:06:49.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,30,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:49.617Z,7,127506,129,255,9,8a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:49.623Z,4,129038,43,255,27,01,10,dc,6d,0f,99,ae,5c,0e,29,24,9c,23,c5,a6,ad,88,02,18,66,00,88,ae,0a,00,00,fe\n2014-08-15T19:06:49.661Z,3,127508,129,255,8,01,ae,05,ec,01,1e,75,8a\n2014-08-15T19:06:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,09,2e,03,0f,41,f0,a3,23,bf,2e,35,bf,01,18,66,00,21,33,0a,00,00,fe\n2014-08-15T19:06:49.740Z,3,130577,160,255,14,c0,26,66,87,2e,01,ff,ff,ff,ff,e9,3a,1d,00\n2014-08-15T19:06:49.742Z,2,129025,160,255,8,3b,7f,97,23,e2,65,bd,0e\n2014-08-15T19:06:49.763Z,4,129039,43,255,26,12,44,11,b6,0d,4e,63,bd,0e,4b,7f,97,23,c7,89,87,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:49.830Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:49.836Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:49.874Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:49.876Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:49.878Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:49.894Z,2,130306,115,255,8,00,e5,02,b1,1e,f2,ff,ff\n2014-08-15T19:06:49.917Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:49.937Z,2,129026,160,255,8,ff,fc,66,87,2e,01,ff,ff\n2014-08-15T19:06:49.952Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:49.980Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:50.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:50.065Z,6,129540,160,255,135,6e,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,74,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:50.067Z,2,127250,160,255,8,ff,84,8c,ff,7f,86,05,fc\n2014-08-15T19:06:50.069Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:50.103Z,4,129038,43,255,27,03,44,9e,c4,0d,01,9c,dd,0e,63,92,76,23,c8,b7,c2,00,00,00,00,00,2e,08,00,00,05,fe\n2014-08-15T19:06:50.124Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:50.154Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,84,3d,01,00\n2014-08-15T19:06:50.157Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:50.159Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:50.162Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:50.240Z,3,129029,160,255,43,27,a9,3f,40,89,03,29,00,8e,e2,ac,8a,6f,49,08,00,54,58,d2,0b,90,6e,03,20,9a,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:50.242Z,3,129033,160,255,8,a9,3f,40,89,03,29,b4,00\n2014-08-15T19:06:50.334Z,3,126992,160,255,8,ff,ff,a9,3f,40,89,03,29\n2014-08-15T19:06:50.438Z,3,128267,115,255,8,00,9c,05,00,00,ff,ff,ff\n2014-08-15T19:06:50.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:50.442Z,2,128259,160,255,8,ff,ff,ff,2d,01,ff,ff,ff\n2014-08-15T19:06:50.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:50.542Z,3,129291,160,255,8,ff,fc,8b,54,26,00,ff,ff\n2014-08-15T19:06:50.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,37,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:50.740Z,3,130577,160,255,14,c0,27,89,87,2d,01,ff,ff,ff,ff,8b,54,26,00\n2014-08-15T19:06:50.742Z,2,129025,160,255,8,32,7e,97,23,36,65,bd,0e\n2014-08-15T19:06:50.757Z,3,127508,129,255,8,01,b0,05,26,02,1e,75,8a\n2014-08-15T19:06:50.764Z,4,129039,43,255,26,12,44,11,b6,0d,b8,62,bd,0e,30,7e,97,23,cb,32,87,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:50.827Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:50.845Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:50.855Z,2,130306,115,255,8,00,41,02,82,16,f2,ff,ff\n2014-08-15T19:06:50.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:50.929Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:50.932Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:50.945Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:50.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:50.970Z,2,129026,160,255,8,ff,fc,89,87,2d,01,ff,ff\n2014-08-15T19:06:50.982Z,3,127508,129,255,8,01,ac,05,c3,01,1e,75,8a\n2014-08-15T19:06:50.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:51.005Z,4,129038,43,255,27,01,98,69,b3,0e,fd,db,8d,0e,e4,80,a0,23,c5,2b,b0,f8,01,22,c0,00,94,b0,00,00,00,fe\n2014-08-15T19:06:51.068Z,6,129540,160,255,135,6f,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:51.069Z,2,127250,160,255,8,ff,32,8d,ff,7f,86,05,fc\n2014-08-15T19:06:51.099Z,3,127508,129,255,8,01,ac,05,ce,01,1e,75,8a\n2014-08-15T19:06:51.151Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,84,3d,01,00\n2014-08-15T19:06:51.155Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:51.157Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:51.159Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:51.251Z,3,129029,160,255,43,28,a9,3f,64,b0,03,29,00,74,a7,f9,4c,6f,49,08,00,9c,58,c6,e3,8f,6e,03,d0,d6,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:51.254Z,3,129033,160,255,8,a9,3f,64,b0,03,29,b4,00\n2014-08-15T19:06:51.346Z,3,126992,160,255,8,ff,ff,a9,3f,64,b0,03,29\n2014-08-15T19:06:51.438Z,2,128259,160,255,8,ff,ff,ff,31,01,ff,ff,ff\n2014-08-15T19:06:51.459Z,3,128267,115,255,8,00,78,05,00,00,ff,ff,ff\n2014-08-15T19:06:51.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:51.488Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:51.542Z,3,129291,160,255,8,ff,fc,c6,5e,27,00,ff,ff\n2014-08-15T19:06:51.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:51.629Z,3,127508,129,255,8,01,af,05,fa,01,1e,75,8a\n2014-08-15T19:06:51.749Z,3,130577,160,255,14,c0,28,20,87,31,01,ff,ff,ff,ff,c6,5e,27,00\n2014-08-15T19:06:51.751Z,2,129025,160,255,8,2b,7d,97,23,8b,64,bd,0e\n2014-08-15T19:06:51.773Z,4,129039,43,255,26,12,44,11,b6,0d,22,62,bd,0e,14,7d,97,23,cf,f8,85,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:51.827Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:51.842Z,7,127506,129,255,9,8b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:51.852Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:51.855Z,2,130306,115,255,8,00,e5,02,25,15,f2,ff,ff\n2014-08-15T19:06:51.890Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:51.928Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:51.930Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:51.932Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:51.944Z,2,129026,160,255,8,ff,fc,20,87,31,01,ff,ff\n2014-08-15T19:06:51.960Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:51.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:52.085Z,6,129540,160,255,135,70,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,74,0e,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:06:52.087Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:06:52.148Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,84,3d,01,00\n2014-08-15T19:06:52.151Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:52.153Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:52.156Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:52.258Z,3,129029,160,255,43,29,a9,3f,a6,d7,03,29,00,ee,a1,bd,0f,6f,49,08,00,ae,f3,f5,bb,8f,6e,03,60,c5,1b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:52.260Z,3,129033,160,255,8,a9,3f,a6,d7,03,29,b4,00\n2014-08-15T19:06:52.354Z,3,126992,160,255,8,ff,ff,a9,3f,a6,d7,03,29\n2014-08-15T19:06:52.446Z,2,128259,160,255,8,ff,ff,ff,2e,01,ff,ff,ff\n2014-08-15T19:06:52.448Z,3,128267,115,255,8,00,72,05,00,00,ff,ff,ff\n2014-08-15T19:06:52.451Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:52.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:52.528Z,3,127508,129,255,8,01,ac,05,aa,01,1e,75,8b\n2014-08-15T19:06:52.549Z,3,129291,160,255,8,ff,fc,4f,55,37,00,ff,ff\n2014-08-15T19:06:52.552Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:06:52.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,2e,02,02,00,02,04,03,00,00,00\n2014-08-15T19:06:52.575Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,64,31,d3,23,00,b0,b9,03,29,ca,08,00,a9,3f,10,00,fc\n2014-08-15T19:06:52.755Z,3,130577,160,255,14,c0,29,55,87,2e,01,ff,ff,ff,ff,4f,55,37,00\n2014-08-15T19:06:52.757Z,2,129025,160,255,8,29,7c,97,23,dd,63,bd,0e\n2014-08-15T19:06:52.794Z,4,129039,43,255,26,12,44,11,b6,0d,17,61,bd,0e,3c,7c,97,23,d3,ec,89,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:52.832Z,2,130306,115,255,8,00,7e,02,82,16,f2,ff,ff\n2014-08-15T19:06:52.847Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:52.857Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:52.897Z,2,128259,115,255,8,00,16,01,ff,ff,00,ff,ff\n2014-08-15T19:06:52.933Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:52.935Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:52.937Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:52.949Z,2,129026,160,255,8,ff,fc,55,87,2e,01,ff,ff\n2014-08-15T19:06:52.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:53.003Z,4,129038,43,255,27,01,b8,f5,67,12,bd,90,92,0e,ec,96,91,23,d0,45,2d,d6,03,62,40,03,ff,2c,00,00,00,fe\n2014-08-15T19:06:53.012Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:53.022Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:53.072Z,6,129540,160,255,135,71,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,e4,0c,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:06:53.074Z,2,127250,160,255,8,ff,e6,8e,ff,7f,86,05,fc\n2014-08-15T19:06:53.076Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:06:53.146Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,84,3d,01,00\n2014-08-15T19:06:53.148Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:53.152Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:53.154Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:53.193Z,4,129039,43,255,26,12,90,e4,c3,0d,0d,03,c0,0e,9a,2a,7d,23,d0,b2,6d,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:53.252Z,3,129029,160,255,43,2a,a9,3f,e8,fe,03,29,00,5a,a2,ab,d3,6e,49,08,00,62,be,72,93,8f,6e,03,c0,af,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:53.254Z,3,129033,160,255,8,a9,3f,e8,fe,03,29,b4,00\n2014-08-15T19:06:53.323Z,4,129038,43,255,27,01,e0,53,7f,10,21,dc,c4,0e,d8,34,a7,23,d8,a0,88,e3,05,cc,87,00,ac,87,ff,7f,00,fe\n2014-08-15T19:06:53.347Z,3,126992,160,255,8,ff,ff,a9,3f,e8,fe,03,29\n2014-08-15T19:06:53.453Z,2,128259,160,255,8,ff,ff,ff,2d,01,ff,ff,ff\n2014-08-15T19:06:53.459Z,3,128267,115,255,8,00,90,05,00,00,ff,ff,ff\n2014-08-15T19:06:53.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:53.464Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:53.488Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:53.549Z,3,127508,129,255,8,01,ae,05,cf,01,1e,75,8b\n2014-08-15T19:06:53.554Z,3,129291,160,255,8,ff,fc,88,5c,3c,00,ff,ff\n2014-08-15T19:06:53.557Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:06:53.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,2c,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:53.594Z,4,129038,43,255,27,01,28,f5,77,10,fb,10,a1,0e,ba,7c,74,23,cc,73,32,be,00,d6,87,00,67,30,00,00,00,fe\n2014-08-15T19:06:53.753Z,4,129038,43,255,27,01,c8,d4,7f,10,5d,a2,df,0e,e1,77,c2,23,d5,ec,7d,33,04,18,66,00,2c,80,00,00,00,fe\n2014-08-15T19:06:53.756Z,3,130577,160,255,14,c0,2a,49,88,2d,01,ff,ff,ff,ff,88,5c,3c,00\n2014-08-15T19:06:53.758Z,2,129025,160,255,8,30,7b,97,23,0a,63,bd,0e\n2014-08-15T19:06:53.760Z,2,130306,115,255,8,00,bc,02,01,0f,f2,ff,ff\n2014-08-15T19:06:53.774Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:53.804Z,4,129039,43,255,26,12,44,11,b6,0d,4f,60,bd,0e,42,7b,97,23,d7,43,8a,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:53.854Z,2,128259,115,255,8,00,20,01,ff,ff,00,ff,ff\n2014-08-15T19:06:53.855Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:53.888Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:53.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:53.894Z,2,128259,115,255,8,00,1f,01,ff,ff,00,ff,ff\n2014-08-15T19:06:53.922Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:53.951Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:53.958Z,2,129026,160,255,8,ff,fc,49,88,2d,01,ff,ff\n2014-08-15T19:06:53.960Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:06:54.011Z,3,127508,129,255,8,01,ac,05,c1,01,1e,75,8b\n2014-08-15T19:06:54.084Z,6,129540,160,255,135,72,ff,0b,20,16,31,fd,95,e4,0c,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,fc,08,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f1\n2014-08-15T19:06:54.087Z,2,127250,160,255,8,ff,8f,8e,ff,7f,86,05,fc\n2014-08-15T19:06:54.143Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,84,3d,01,00\n2014-08-15T19:06:54.146Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:54.148Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:54.151Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:54.174Z,4,129038,43,255,27,01,20,f6,7e,10,7e,38,c7,0e,fd,e9,7f,23,d9,39,31,00,00,dc,08,00,65,c6,00,00,0f,fe\n2014-08-15T19:06:54.258Z,3,129029,160,255,43,2b,a9,3f,48,26,04,29,00,e0,13,b2,99,6e,49,08,00,e4,29,52,62,8f,6e,03,80,13,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:54.260Z,3,129033,160,255,8,a9,3f,48,26,04,29,b4,00\n2014-08-15T19:06:54.344Z,3,127508,129,255,8,01,ae,05,e9,01,1e,75,8b\n2014-08-15T19:06:54.353Z,3,126992,160,255,8,ff,ff,a9,3f,48,26,04,29\n2014-08-15T19:06:54.443Z,3,128267,115,255,8,00,3e,05,00,00,ff,ff,ff\n2014-08-15T19:06:54.445Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:54.456Z,2,128259,160,255,8,ff,ff,ff,2b,01,ff,ff,ff\n2014-08-15T19:06:54.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:54.474Z,4,129039,43,255,26,12,06,a5,b5,0d,b5,1d,bd,0e,be,37,97,23,da,03,7f,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:54.558Z,3,129291,160,255,8,ff,fc,18,5a,2c,00,ff,ff\n2014-08-15T19:06:54.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:54.727Z,2,130306,115,255,8,00,6f,02,1a,22,f2,ff,ff\n2014-08-15T19:06:54.743Z,4,129038,43,255,27,01,58,43,c9,0e,7b,f0,d3,0e,46,51,a9,23,dc,54,ae,d0,02,6e,c0,01,36,af,00,00,00,fe\n2014-08-15T19:06:54.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:54.757Z,3,130577,160,255,14,c0,2b,1b,89,2b,01,ff,ff,ff,ff,18,5a,2c,00\n2014-08-15T19:06:54.759Z,2,129025,160,255,8,41,7a,97,23,28,62,bd,0e\n2014-08-15T19:06:54.794Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,d9,26,91,00,00,03,88,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:06:54.827Z,2,128259,115,255,8,00,30,01,ff,ff,00,ff,ff\n2014-08-15T19:06:54.834Z,4,129039,43,255,26,12,44,11,b6,0d,66,5f,bd,0e,48,7a,97,23,db,f8,8b,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:54.854Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:54.865Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:54.867Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:54.870Z,2,128259,115,255,8,00,2d,01,ff,ff,00,ff,ff\n2014-08-15T19:06:54.925Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:54.955Z,3,127508,129,255,8,01,ac,05,b8,01,1e,75,8b\n2014-08-15T19:06:54.958Z,2,129026,160,255,8,ff,fc,1b,89,2b,01,ff,ff\n2014-08-15T19:06:54.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:54.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:54.993Z,7,127506,129,255,9,8c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:55.019Z,3,127508,129,255,8,01,b0,05,11,02,1e,75,8c\n2014-08-15T19:06:55.119Z,6,129540,160,255,135,73,ff,0b,20,16,31,fd,95,54,0b,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,c4,09,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,c4,09,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:55.123Z,2,127250,160,255,8,ff,e1,8d,ff,7f,86,05,fc\n2014-08-15T19:06:55.141Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,97,3d,01,00\n2014-08-15T19:06:55.146Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:55.147Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:55.149Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:55.266Z,3,129029,160,255,43,2c,a9,3f,62,4d,04,29,00,4a,91,0c,62,6e,49,08,00,90,83,b3,2d,8f,6e,03,e0,fd,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:55.269Z,3,129033,160,255,8,a9,3f,62,4d,04,29,b4,00\n2014-08-15T19:06:55.353Z,4,129038,43,255,27,01,fc,ff,e9,25,12,b9,25,0f,2d,df,be,23,d9,7d,bb,c5,02,18,88,01,7c,bb,1a,00,00,fe\n2014-08-15T19:06:55.362Z,3,126992,160,255,8,ff,ff,a9,3f,62,4d,04,29\n2014-08-15T19:06:55.454Z,3,128267,115,255,8,00,53,05,00,00,ff,ff,ff\n2014-08-15T19:06:55.457Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:55.463Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:55.510Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:55.565Z,3,129291,160,255,8,ff,fc,20,4b,1c,00,ff,ff\n2014-08-15T19:06:55.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:55.644Z,4,129038,43,255,27,01,d2,ff,4a,10,46,8b,b1,0e,42,01,71,23,dd,59,e8,00,00,23,88,00,37,91,14,00,00,fe\n2014-08-15T19:06:55.695Z,2,130306,115,255,8,00,89,02,eb,19,f2,ff,ff\n2014-08-15T19:06:55.709Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:55.730Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:55.760Z,3,130577,160,255,14,c0,2c,b8,89,27,01,ff,ff,ff,ff,20,4b,1c,00\n2014-08-15T19:06:55.764Z,2,129025,160,255,8,52,79,97,23,41,61,bd,0e\n2014-08-15T19:06:55.827Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:55.834Z,4,129039,43,255,26,12,44,11,b6,0d,8d,5e,bd,0e,80,79,97,23,df,83,8c,15,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:55.857Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:55.862Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:55.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:55.871Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:55.873Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:06:55.877Z,4,129038,43,255,27,01,10,04,1a,0e,f0,f4,fc,0e,85,c4,ae,23,d8,c8,b0,9c,02,b4,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:06:55.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:55.944Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:55.974Z,2,129026,160,255,8,ff,fc,b8,89,27,01,ff,ff\n2014-08-15T19:06:56.093Z,6,129540,160,255,135,74,ff,0b,20,16,31,fd,95,54,0b,00,00,00,00,f2,01,5c,2e,f1,b1,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,e4,0c,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,60,09,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,28,0a,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:56.095Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:06:56.139Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,97,3d,01,00\n2014-08-15T19:06:56.146Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:56.146Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:56.154Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:56.270Z,3,129029,160,255,43,2d,a9,3f,54,74,04,29,00,b4,0e,67,2a,6e,49,08,00,4a,d7,ea,f7,8e,6e,03,30,50,1b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:56.273Z,3,129033,160,255,8,a9,3f,54,74,04,29,b4,00\n2014-08-15T19:06:56.366Z,3,126992,160,255,8,ff,ff,a9,3f,54,74,04,29\n2014-08-15T19:06:56.444Z,3,128267,115,255,8,00,72,05,00,00,ff,ff,ff\n2014-08-15T19:06:56.446Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:56.468Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:56.469Z,3,127508,129,255,8,01,ae,05,cc,01,1e,75,8c\n2014-08-15T19:06:56.472Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:56.569Z,3,129291,160,255,8,ff,fc,fd,72,12,00,ff,ff\n2014-08-15T19:06:56.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,20,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:56.659Z,2,130306,115,255,8,00,93,02,d3,15,f2,ff,ff\n2014-08-15T19:06:56.679Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:56.697Z,3,127508,129,255,8,01,ac,05,9f,01,1e,75,8c\n2014-08-15T19:06:56.764Z,3,130577,160,255,14,c0,2d,20,8a,27,01,ff,ff,ff,ff,fd,72,12,00\n2014-08-15T19:06:56.766Z,2,129025,160,255,8,6a,78,97,23,58,60,bd,0e\n2014-08-15T19:06:56.829Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:56.843Z,4,129039,43,255,26,12,44,11,b6,0d,b5,5d,bd,0e,86,78,97,23,e3,8f,8b,20,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:56.863Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:56.867Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:56.869Z,2,128259,115,255,8,00,19,01,ff,ff,00,ff,ff\n2014-08-15T19:06:56.871Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:56.872Z,3,127508,129,255,8,01,af,05,f7,01,1e,75,8c\n2014-08-15T19:06:56.898Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:56.926Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:56.975Z,2,129026,160,255,8,ff,fc,20,8a,27,01,ff,ff\n2014-08-15T19:06:56.983Z,4,129039,43,255,26,12,80,e5,c3,0d,63,73,c3,0e,84,31,95,23,e3,b9,56,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:06:57.092Z,3,127508,129,255,8,01,b0,05,07,02,1e,75,8c\n2014-08-15T19:06:57.113Z,6,129540,160,255,135,75,ff,0b,20,16,31,fd,95,54,0b,00,00,00,00,f2,01,5c,2e,f1,b1,b8,0b,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,e4,0c,00,00,00,00,f2,14,74,14,ce,ab,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,28,0a,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:57.116Z,2,127250,160,255,8,ff,c9,89,ff,7f,86,05,fc\n2014-08-15T19:06:57.136Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,97,3d,01,00\n2014-08-15T19:06:57.139Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:57.141Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:57.144Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:57.244Z,4,129038,43,255,27,01,b8,53,a6,0c,9e,1b,79,0e,59,0a,9f,23,e4,c3,ac,78,02,1e,c3,00,88,ae,00,00,00,fe\n2014-08-15T19:06:57.283Z,3,129029,160,255,43,2e,a9,3f,6e,9b,04,29,00,a4,c7,62,f4,6d,49,08,00,70,f5,aa,c1,8e,6e,03,c0,20,1f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:57.286Z,3,129033,160,255,8,a9,3f,6e,9b,04,29,b4,00\n2014-08-15T19:06:57.378Z,3,126992,160,255,8,ff,ff,a9,3f,6e,9b,04,29\n2014-08-15T19:06:57.449Z,3,128267,115,255,8,00,0a,05,00,00,ff,ff,ff\n2014-08-15T19:06:57.451Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:57.480Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:06:57.484Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:57.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,08,25,02,02,00,01,01,03,00,00,00\n2014-08-15T19:06:57.583Z,3,129291,160,255,8,ff,fc,22,91,0e,00,ff,ff\n2014-08-15T19:06:57.583Z,7,127506,129,255,9,8c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:06:57.593Z,4,129038,43,255,27,01,e0,53,7f,10,61,c9,c4,0e,1a,1c,a7,23,e8,1b,89,e8,05,6c,88,00,ac,87,00,00,00,fe\n2014-08-15T19:06:57.647Z,2,130306,115,255,8,00,ad,02,26,24,f2,ff,ff\n2014-08-15T19:06:57.671Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:57.700Z,3,127508,129,255,8,01,ae,05,c8,01,1e,75,8c\n2014-08-15T19:06:57.743Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:06:57.779Z,3,130577,160,255,14,c0,2e,db,89,27,01,ff,ff,ff,ff,22,91,0e,00\n2014-08-15T19:06:57.782Z,2,129025,160,255,8,76,77,97,23,8a,5f,bd,0e\n2014-08-15T19:06:57.798Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:06:57.844Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:57.846Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:57.848Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:06:57.853Z,4,129039,43,255,26,12,44,11,b6,0d,ed,5c,bd,0e,8c,77,97,23,e7,3d,89,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:57.877Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:57.881Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:57.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:57.985Z,2,129026,160,255,8,ff,fc,db,89,27,01,ff,ff\n2014-08-15T19:06:58.112Z,6,129540,160,255,135,76,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,b8,0b,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:06:58.114Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:06:58.123Z,4,129038,43,255,27,01,68,e2,20,12,5a,13,fc,0e,e4,19,ad,23,e8,b1,af,fd,01,bc,08,00,f1,b1,00,00,00,fe\n2014-08-15T19:06:58.133Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,11,26,0a,01,97,3d,01,00\n2014-08-15T19:06:58.138Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:58.139Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:58.145Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:58.310Z,3,129029,160,255,43,2f,a9,3f,b0,c2,04,29,00,1c,3f,93,bb,6d,49,08,00,e4,66,b4,91,8e,6e,03,70,5d,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:58.312Z,3,129033,160,255,8,a9,3f,b0,c2,04,29,b4,00\n2014-08-15T19:06:58.329Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:06:58.398Z,3,126992,160,255,8,ff,ff,a9,3f,b0,c2,04,29\n2014-08-15T19:06:58.440Z,3,128267,115,255,8,00,47,05,00,00,ff,ff,ff\n2014-08-15T19:06:58.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:58.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:58.499Z,2,128259,160,255,8,ff,ff,ff,25,01,ff,ff,ff\n2014-08-15T19:06:58.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:06:58.599Z,2,130306,115,255,8,00,5a,02,76,14,f2,ff,ff\n2014-08-15T19:06:58.601Z,3,129291,160,255,8,ff,fc,22,91,0e,00,ff,ff\n2014-08-15T19:06:58.619Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:58.806Z,3,130577,160,255,14,c0,2f,a0,88,25,01,ff,ff,ff,ff,33,24,01,00\n2014-08-15T19:06:58.808Z,2,129025,160,255,8,80,76,97,23,e7,5e,bd,0e\n2014-08-15T19:06:58.834Z,2,128259,115,255,8,00,0c,01,ff,ff,00,ff,ff\n2014-08-15T19:06:58.868Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:58.871Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:58.873Z,2,128259,115,255,8,00,0b,01,ff,ff,00,ff,ff\n2014-08-15T19:06:58.877Z,4,129039,43,255,26,12,44,11,b6,0d,35,5c,bd,0e,92,76,97,23,eb,be,87,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:58.886Z,3,127508,129,255,8,01,ac,05,ae,01,1e,75,8c\n2014-08-15T19:06:58.905Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:58.996Z,2,129026,160,255,8,ff,fc,a0,88,25,01,ff,ff\n2014-08-15T19:06:59.031Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:59.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:59.136Z,6,129540,160,255,135,77,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,3c,0f,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,74,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:06:59.138Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:06:59.141Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:06:59.143Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:06:59.146Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:06:59.148Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:06:59.317Z,3,129029,160,255,43,30,a9,3f,ac,e9,04,29,00,00,81,4c,82,6d,49,08,00,46,d8,c0,6b,8e,6e,03,30,32,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:06:59.320Z,3,129033,160,255,8,a9,3f,ac,e9,04,29,b4,00\n2014-08-15T19:06:59.413Z,3,126992,160,255,8,ff,ff,a9,3f,70,f3,04,29\n2014-08-15T19:06:59.447Z,3,128267,115,255,8,00,25,05,00,00,ff,ff,ff\n2014-08-15T19:06:59.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:59.457Z,3,127508,129,255,8,01,ac,05,af,01,1e,75,8c\n2014-08-15T19:06:59.477Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:59.514Z,2,128259,160,255,8,ff,ff,ff,28,01,ff,ff,ff\n2014-08-15T19:06:59.567Z,2,130306,115,255,8,00,e5,02,e0,26,f2,ff,ff\n2014-08-15T19:06:59.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,3d,02,02,00,00,00,02,00,00,00\n2014-08-15T19:06:59.594Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:59.616Z,3,129291,160,255,8,ff,fc,33,24,01,00,ff,ff\n2014-08-15T19:06:59.748Z,6,129794,43,255,75,05,92,12,4b,10,f8,63,86,00,55,42,56,47,37,40,40,41,4d,42,41,4c,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,46,6c,07,dc,00,6e,00,68,01,15,41,00,10,55,22,9e,02,42,41,4c,54,53,4b,2d,55,4c,55,47,41,2d,42,41,4c,54,53,4b,40,04,e0\n2014-08-15T19:06:59.810Z,3,130577,160,255,14,c0,30,db,86,28,01,ff,ff,ff,ff,ce,69,28,00\n2014-08-15T19:06:59.812Z,2,129025,160,255,8,79,75,97,23,6e,5e,bd,0e\n2014-08-15T19:06:59.827Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:06:59.868Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:06:59.870Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:59.873Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:06:59.883Z,4,129039,43,255,26,12,44,11,b6,0d,8f,5b,bd,0e,76,75,97,23,ef,60,86,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:06:59.915Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:06:59.933Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:06:59.960Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:06:59.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:00.008Z,2,129026,160,255,8,ff,fc,db,86,28,01,ff,ff\n2014-08-15T19:07:00.105Z,3,127508,129,255,8,01,af,05,e5,01,1e,75,8c\n2014-08-15T19:07:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,f2,04,29,01,00,03,a9,3f,00,00,fc\n2014-08-15T19:07:00.128Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:07:00.131Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:00.133Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:00.136Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:00.149Z,6,129540,160,255,135,78,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,d8,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:00.152Z,2,127250,160,255,8,ff,cf,8a,ff,7f,86,05,fc\n2014-08-15T19:07:00.325Z,3,129029,160,255,43,31,a9,3f,c6,10,05,29,00,7a,7b,10,45,6d,49,08,00,cc,ae,94,4f,8e,6e,03,d0,47,1f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:00.327Z,3,129033,160,255,8,a9,3f,c6,10,05,29,b4,00\n2014-08-15T19:07:00.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,f2,04,29,0a,80,02,a9,3f,00,00,fc\n2014-08-15T19:07:00.410Z,3,126992,160,255,8,ff,ff,a9,3f,8a,1a,05,29\n2014-08-15T19:07:00.430Z,3,128267,115,255,8,00,78,05,00,00,ff,ff,ff\n2014-08-15T19:07:00.432Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:00.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:00.486Z,3,127508,129,255,8,01,af,05,cf,01,1e,75,8c\n2014-08-15T19:07:00.493Z,4,129039,43,255,26,12,44,11,b6,0d,c7,5a,bd,0e,7c,74,97,23,03,55,87,2a,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:07:00.514Z,2,128259,160,255,8,ff,ff,ff,27,01,ff,ff,ff\n2014-08-15T19:07:00.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,42,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:00.574Z,2,130306,115,255,8,00,65,02,25,15,f2,ff,ff\n2014-08-15T19:07:00.595Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:00.615Z,3,129291,160,255,8,ff,fc,ce,69,28,00,ff,ff\n2014-08-15T19:07:00.714Z,4,129038,43,255,27,01,88,d6,d0,0c,06,0e,e2,0e,61,36,b6,23,01,94,9b,37,03,42,40,01,ce,9c,00,00,00,fe\n2014-08-15T19:07:00.754Z,4,129038,43,255,27,01,c8,27,16,0e,01,0e,6d,0e,cd,be,94,23,ed,e8,31,50,03,3e,00,09,16,31,ec,ff,00,fe\n2014-08-15T19:07:00.794Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:00.819Z,3,130577,160,255,14,c0,31,b8,86,27,01,ff,ff,ff,ff,ce,69,28,00\n2014-08-15T19:07:00.822Z,2,129025,160,255,8,75,74,97,23,e7,5d,bd,0e\n2014-08-15T19:07:00.826Z,4,129038,43,255,27,01,98,69,b3,0e,31,bd,8d,0e,2e,7d,a0,23,e9,5a,af,f8,01,1b,80,08,94,b0,00,00,00,fe\n2014-08-15T19:07:00.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:00.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:00.846Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:00.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:00.893Z,4,129039,43,255,26,12,44,11,b6,0d,c7,5a,bd,0e,7c,74,97,23,03,55,87,2a,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:00.913Z,7,127506,129,255,9,8e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:00.922Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:00.922Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:00.943Z,4,129038,43,255,27,01,58,43,c9,0e,1f,d3,d3,0e,90,4d,a9,23,04,66,ae,d0,02,1e,80,09,36,af,00,00,00,fe\n2014-08-15T19:07:01.014Z,2,129026,160,255,8,ff,fc,b8,86,27,01,ff,ff\n2014-08-15T19:07:01.126Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:07:01.130Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:01.130Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:01.141Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:01.156Z,6,129540,160,255,135,79,ff,0b,20,16,31,fd,95,d8,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2,1f,74,05,dc,53,fc,08,00,00,00,00,f1\n2014-08-15T19:07:01.157Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:07:01.293Z,4,129038,43,255,27,01,e0,53,7f,10,0d,be,c4,0e,53,0d,a7,23,08,09,89,de,05,34,c0,00,ac,87,ff,7f,00,fe\n2014-08-15T19:07:01.304Z,3,127508,129,255,8,01,ae,05,c7,01,1e,75,8e\n2014-08-15T19:07:01.318Z,3,129029,160,255,43,32,a9,3f,d6,37,05,29,00,52,46,87,08,6d,49,08,00,46,0e,26,30,8e,6e,03,10,e4,1f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:01.322Z,3,129033,160,255,8,a9,3f,d6,37,05,29,b4,00\n2014-08-15T19:07:01.364Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:01.373Z,4,129038,43,255,27,01,02,8b,c4,0d,17,b0,e0,0e,5a,05,c9,23,08,2c,80,6d,01,30,00,01,94,83,00,00,00,fe\n2014-08-15T19:07:01.413Z,4,129038,43,255,27,01,b0,79,7a,10,0d,57,d1,0e,40,74,82,23,ec,f0,d8,e8,01,31,00,01,d9,da,1a,00,00,fe\n2014-08-15T19:07:01.416Z,3,126992,160,255,8,ff,ff,a9,3f,a4,41,05,29\n2014-08-15T19:07:01.437Z,3,128267,115,255,8,00,5f,05,00,00,ff,ff,ff\n2014-08-15T19:07:01.439Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:01.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:01.513Z,2,130306,115,255,8,00,19,03,d3,15,f2,ff,ff\n2014-08-15T19:07:01.516Z,2,128259,160,255,8,ff,ff,ff,29,01,ff,ff,ff\n2014-08-15T19:07:01.538Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:01.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,28,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:01.618Z,3,129291,160,255,8,ff,fc,e3,3e,27,00,ff,ff\n2014-08-15T19:07:01.793Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:01.794Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:07:01.822Z,3,130577,160,255,14,c0,32,2c,86,29,01,ff,ff,ff,ff,e3,3e,27,00\n2014-08-15T19:07:01.824Z,2,129025,160,255,8,73,73,97,23,4f,5d,bd,0e\n2014-08-15T19:07:01.843Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:01.846Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:01.848Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:07:01.878Z,6,129794,43,255,75,05,fc,7a,73,10,00,00,00,00,45,53,32,39,39,39,20,41,48,54,4f,2d,20,30,37,20,20,20,20,20,20,20,20,20,20,20,20,32,b4,00,28,00,14,00,8c,00,14,40,00,e9,a4,35,00,00,52,4f,48,55,4e,45,45,4d,45,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:07:01.880Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:01.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:01.913Z,4,129039,43,255,26,12,44,11,b6,0d,20,5a,bd,0e,82,73,97,23,07,a0,85,25,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:01.917Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:01.924Z,3,127508,129,255,8,01,ae,05,b8,01,1e,75,8e\n2014-08-15T19:07:01.963Z,4,129039,43,255,26,12,8c,d3,b5,0d,cf,1b,be,0e,26,37,98,23,04,b2,8b,39,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:07:02.019Z,2,129026,160,255,8,ff,fc,2c,86,29,01,ff,ff\n2014-08-15T19:07:02.043Z,4,129039,43,255,26,12,6e,c9,b5,0d,b3,78,d2,0e,c8,39,8f,23,07,44,5a,b0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:02.125Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:07:02.132Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:02.132Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:02.132Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:02.149Z,6,129540,160,255,135,7a,ff,0b,20,16,31,fd,95,d8,0e,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2,1f,74,05,dc,53,6c,07,00,00,00,00,f1\n2014-08-15T19:07:02.151Z,2,127250,160,255,8,ff,7e,8b,ff,7f,86,05,fc\n2014-08-15T19:07:02.327Z,3,129029,160,255,43,33,a9,3f,fa,5e,05,29,00,be,46,75,cc,6c,49,08,00,56,26,c2,0c,8e,6e,03,70,ce,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:02.331Z,3,129033,160,255,8,a9,3f,fa,5e,05,29,b4,00\n2014-08-15T19:07:02.338Z,4,129038,43,255,27,01,d0,e7,da,0d,fa,9a,33,0f,82,14,c4,23,0d,2f,02,05,00,54,80,00,70,b9,00,00,00,fe\n2014-08-15T19:07:02.417Z,3,128267,115,255,8,00,50,05,00,00,ff,ff,ff\n2014-08-15T19:07:02.421Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:02.423Z,3,126992,160,255,8,ff,ff,a9,3f,96,68,05,29\n2014-08-15T19:07:02.444Z,4,129038,43,255,27,01,58,eb,ad,0e,c5,f6,5f,0e,72,f9,8f,23,0f,73,2f,d4,01,38,c0,09,5c,2e,00,00,00,fe\n2014-08-15T19:07:02.449Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:02.487Z,2,130306,115,255,8,00,d1,02,f7,1b,f2,ff,ff\n2014-08-15T19:07:02.509Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:02.525Z,2,128259,160,255,8,ff,ff,ff,2a,01,ff,ff,ff\n2014-08-15T19:07:02.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,41,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:02.582Z,3,127508,129,255,8,01,b1,05,20,02,1e,75,8e\n2014-08-15T19:07:02.584Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,64,31,d3,23,00,50,40,05,29,5d,80,09,a9,3f,10,00,fc\n2014-08-15T19:07:02.601Z,3,127508,129,255,8,01,ac,05,9f,01,1e,75,8e\n2014-08-15T19:07:02.627Z,3,129291,160,255,8,ff,fc,73,4f,29,00,ff,ff\n2014-08-15T19:07:02.630Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:02.744Z,4,129038,43,255,27,01,58,f9,8d,0c,ce,18,3c,0f,f6,45,b4,23,0d,0e,b1,ef,02,63,80,0a,42,b1,00,00,00,fe\n2014-08-15T19:07:02.792Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:07:02.831Z,3,130577,160,255,14,c0,33,72,86,2a,01,ff,ff,ff,ff,73,4f,29,00\n2014-08-15T19:07:02.833Z,2,129025,160,255,8,6f,72,97,23,ac,5c,bd,0e\n2014-08-15T19:07:02.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:02.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:02.847Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:07:02.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:02.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:02.921Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:02.927Z,4,129039,43,255,26,12,44,11,b6,0d,69,59,bd,0e,88,72,97,23,0b,83,86,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:02.964Z,6,129809,43,255,25,18,8c,d3,b5,0d,41,44,45,4c,41,4e,54,45,20,20,20,20,20,20,20,20,20,20,20,20\n2014-08-15T19:07:03.014Z,6,129810,43,255,33,18,8c,d3,b5,0d,25,20,20,20,20,20,20,20,4f,4a,38,31,31,32,20,aa,00,28,00,14,00,50,00,00,00,00,00,00\n2014-08-15T19:07:03.025Z,2,129026,160,255,8,ff,fc,72,86,2a,01,ff,ff\n2014-08-15T19:07:03.120Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:07:03.122Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:03.126Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:03.128Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:03.134Z,4,129038,43,255,27,01,08,99,b5,0d,fd,41,ce,0e,a5,1c,a5,23,10,50,4a,4e,01,36,c0,01,f3,48,00,00,00,fe\n2014-08-15T19:07:03.164Z,6,129540,160,255,135,7b,ff,0b,20,16,31,fd,95,d8,0e,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,28,0a,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:03.166Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:07:03.168Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:03.196Z,3,127508,129,255,8,01,ac,05,8b,01,1e,75,8e\n2014-08-15T19:07:03.347Z,3,129029,160,255,43,34,a9,3f,0a,86,05,29,00,96,11,ec,8f,6c,49,08,00,b8,97,ce,e6,8d,6e,03,f0,06,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:03.349Z,3,129033,160,255,8,a9,3f,0a,86,05,29,b4,00\n2014-08-15T19:07:03.387Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:07:03.423Z,3,126992,160,255,8,ff,ff,a9,3f,00,90,05,29\n2014-08-15T19:07:03.438Z,2,130306,115,255,8,00,b7,02,77,23,f2,ff,ff\n2014-08-15T19:07:03.464Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:03.497Z,3,128267,115,255,8,00,fe,04,00,00,ff,ff,ff\n2014-08-15T19:07:03.499Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:03.526Z,2,128259,160,255,8,ff,ff,ff,2e,01,ff,ff,ff\n2014-08-15T19:07:03.528Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:03.564Z,4,129038,43,255,27,01,b8,83,92,0e,39,bb,e0,0e,05,c9,75,23,11,8e,c1,05,00,1c,66,00,59,d3,00,00,00,fe\n2014-08-15T19:07:03.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,33,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:03.589Z,7,127506,129,255,9,8f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:03.604Z,4,129038,43,255,27,01,e0,53,7f,10,2e,b3,c4,0e,7b,fe,a6,23,10,b2,88,d8,05,34,40,09,fd,86,ff,7f,00,fe\n2014-08-15T19:07:03.607Z,3,127508,129,255,8,01,b1,05,1c,02,1e,75,8f\n2014-08-15T19:07:03.628Z,3,129291,160,255,8,ff,fc,0b,51,1f,00,ff,ff\n2014-08-15T19:07:03.629Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:03.792Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:03.831Z,3,130577,160,255,14,c0,34,89,87,2e,01,ff,ff,ff,ff,0b,51,1f,00\n2014-08-15T19:07:03.834Z,2,129025,160,255,8,6f,71,97,23,dd,5b,bd,0e\n2014-08-15T19:07:03.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:03.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:03.847Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:03.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:03.911Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:03.928Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:03.934Z,4,129039,43,255,26,12,44,11,b6,0d,a1,58,bd,0e,9f,71,97,23,0f,f2,87,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:04.018Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:04.024Z,4,129038,43,255,27,01,40,37,b7,0d,95,bc,89,0e,3e,75,bf,23,11,21,7e,05,00,93,80,09,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:04.031Z,2,129026,160,255,8,ff,fc,89,87,2e,01,ff,ff\n2014-08-15T19:07:04.033Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:04.084Z,4,129038,43,255,27,01,08,7b,ba,0d,68,3d,92,0e,3a,82,bc,23,0d,e6,a0,7c,01,bb,00,01,37,a0,00,00,00,fe\n2014-08-15T19:07:04.117Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,a9,3d,01,00\n2014-08-15T19:07:04.120Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:04.122Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:04.125Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:04.129Z,4,129038,43,255,27,01,28,f5,77,10,00,1e,a1,0e,ba,7c,74,23,0c,73,32,be,00,1c,66,08,67,30,00,00,00,fe\n2014-08-15T19:07:04.169Z,6,129540,160,255,135,7c,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:04.171Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:07:04.336Z,3,129029,160,255,43,35,a9,3f,56,ad,05,29,00,96,47,51,54,6c,49,08,00,62,6e,9c,b6,8d,6e,03,10,55,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:04.338Z,3,129033,160,255,8,a9,3f,56,ad,05,29,b4,00\n2014-08-15T19:07:04.416Z,3,128267,115,255,8,00,3b,05,00,00,ff,ff,ff\n2014-08-15T19:07:04.419Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:04.436Z,3,126992,160,255,8,ff,ff,a9,3f,f2,b6,05,29\n2014-08-15T19:07:04.444Z,2,130306,115,255,8,00,9d,02,8e,18,f2,ff,ff\n2014-08-15T19:07:04.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:04.476Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:04.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:04.527Z,2,128259,160,255,8,ff,ff,ff,2f,01,ff,ff,ff\n2014-08-15T19:07:04.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:04.627Z,3,129291,160,255,8,ff,fc,9a,2e,08,00,ff,ff\n2014-08-15T19:07:04.814Z,4,129038,43,255,27,01,20,f6,7e,10,b0,38,c7,0e,cb,e9,7f,23,11,39,31,00,00,b1,80,08,13,c7,00,00,0f,fe\n2014-08-15T19:07:04.822Z,3,127508,129,255,8,01,af,05,e9,01,1e,75,8f\n2014-08-15T19:07:04.827Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:07:04.837Z,3,130577,160,255,14,c0,35,be,87,2f,01,ff,ff,ff,ff,9a,2e,08,00\n2014-08-15T19:07:04.839Z,2,129025,160,255,8,6e,70,97,23,08,5b,bd,0e\n2014-08-15T19:07:04.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:04.872Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:04.874Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:07:04.934Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:04.954Z,4,129039,43,255,26,12,44,11,b6,0d,d9,57,bd,0e,a5,70,97,23,13,d5,88,34,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:04.958Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:04.988Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:05.021Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:05.034Z,4,129038,43,255,27,01,fc,ff,e9,25,3e,88,25,0f,64,e1,be,23,11,7d,bb,c0,02,19,c0,08,7c,bb,21,00,00,fe\n2014-08-15T19:07:05.036Z,2,129026,160,255,8,ff,fc,be,87,2f,01,ff,ff\n2014-08-15T19:07:05.103Z,3,127508,129,255,8,01,b0,05,f5,01,1e,75,8f\n2014-08-15T19:07:05.115Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:05.118Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:05.121Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:05.123Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:05.144Z,4,129038,43,255,27,01,b8,f5,67,12,8b,db,92,0e,86,a7,91,23,10,34,2d,d6,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:07:05.164Z,6,129540,160,255,135,7d,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:07:05.167Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:07:05.272Z,3,127508,129,255,8,01,ae,05,b7,01,1e,75,8f\n2014-08-15T19:07:05.342Z,3,129029,160,255,43,36,a9,3f,48,d4,05,29,00,cc,e2,7a,18,6c,49,08,00,50,a4,04,85,8d,6e,03,d0,29,24,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:05.345Z,3,129033,160,255,8,a9,3f,48,d4,05,29,b4,00\n2014-08-15T19:07:05.420Z,2,130306,115,255,8,00,93,02,b1,1e,f2,ff,ff\n2014-08-15T19:07:05.434Z,4,129038,43,255,27,01,e0,53,7f,10,bb,af,c4,0e,88,f9,a6,23,18,03,88,d3,05,c8,80,00,fd,86,ff,7f,00,fe\n2014-08-15T19:07:05.438Z,3,126992,160,255,8,ff,ff,a9,3f,3e,de,05,29\n2014-08-15T19:07:05.445Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:05.488Z,3,128267,115,255,8,00,32,05,00,00,ff,ff,ff\n2014-08-15T19:07:05.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:05.518Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:05.530Z,2,128259,160,255,8,ff,ff,ff,33,01,ff,ff,ff\n2014-08-15T19:07:05.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2b,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:05.594Z,4,129038,43,255,27,01,c8,d4,7f,10,23,9b,df,0e,bc,4e,c2,23,11,be,7e,33,04,ce,80,00,da,80,00,00,00,fe\n2014-08-15T19:07:05.632Z,3,129291,160,255,8,ff,fc,f9,a8,0d,00,ff,ff\n2014-08-15T19:07:05.754Z,4,129038,43,255,27,01,d2,ff,4a,10,46,8b,b1,0e,42,01,71,23,15,59,e8,00,00,d4,80,09,37,91,14,00,00,fe\n2014-08-15T19:07:05.791Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:05.836Z,3,130577,160,255,14,c0,36,c9,86,33,01,ff,ff,ff,ff,f9,a8,0d,00\n2014-08-15T19:07:05.838Z,2,129025,160,255,8,62,6f,97,23,5f,5a,bd,0e\n2014-08-15T19:07:05.844Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:05.846Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:05.848Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:07:05.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:05.892Z,3,127508,129,255,8,01,b0,05,ec,01,1e,75,8f\n2014-08-15T19:07:05.911Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:05.922Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,c8,f6,c7,23,00,90,dc,05,29,ae,40,01,a9,3f,10,00,fc\n2014-08-15T19:07:05.930Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:05.965Z,4,129039,43,255,26,12,44,11,b6,0d,11,57,bd,0e,cc,6f,97,23,17,4f,86,2f,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:06.032Z,2,129026,160,255,8,ff,fc,c9,86,33,01,ff,ff\n2014-08-15T19:07:06.104Z,4,129038,43,255,27,01,58,43,c9,0e,b5,ba,d3,0e,80,4a,a9,23,18,88,ae,d0,02,e1,80,00,88,ae,00,00,00,fe\n2014-08-15T19:07:06.117Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:06.117Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:06.119Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:06.121Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:06.160Z,6,129540,160,255,135,7e,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,8c,0a,00,00,00,00,f2,14,74,14,ce,ab,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,48,0d,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:07:06.169Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:06.284Z,4,129038,43,255,27,01,10,04,1a,0e,6e,c7,fc,0e,02,be,ae,23,10,c8,b0,9c,02,34,c0,08,9f,b2,00,00,00,fe\n2014-08-15T19:07:06.345Z,3,129029,160,255,43,37,a9,3f,94,fb,05,29,00,54,d7,14,da,6b,49,08,00,f6,74,ab,5d,8d,6e,03,40,3b,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:06.351Z,3,129033,160,255,8,a9,3f,94,fb,05,29,b4,00\n2014-08-15T19:07:06.399Z,2,130306,115,255,8,00,cc,02,32,26,f2,ff,ff\n2014-08-15T19:07:06.441Z,3,126992,160,255,8,ff,ff,a9,3f,58,05,06,29\n2014-08-15T19:07:06.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:06.447Z,3,128267,115,255,8,00,d3,04,00,00,ff,ff,ff\n2014-08-15T19:07:06.469Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:06.498Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:06.538Z,2,128259,160,255,8,ff,ff,ff,35,01,ff,ff,ff\n2014-08-15T19:07:06.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:06.586Z,7,127506,129,255,9,90,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:06.639Z,3,129291,160,255,8,ff,fc,e1,42,07,00,ff,ff\n2014-08-15T19:07:06.790Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:06.844Z,3,130577,160,255,14,c0,37,60,86,35,01,ff,ff,ff,ff,e1,42,07,00\n2014-08-15T19:07:06.846Z,2,129025,160,255,8,4c,6e,97,23,c9,59,bd,0e\n2014-08-15T19:07:06.848Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:06.850Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:06.852Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:06.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:06.904Z,4,129038,43,255,27,01,88,d6,d0,0c,eb,f3,e1,0e,db,2a,b6,23,19,da,9b,3c,03,43,c0,08,ce,9c,00,00,00,fe\n2014-08-15T19:07:06.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:06.944Z,4,129038,43,255,27,01,c8,27,16,0e,20,2d,6d,0e,c0,c3,94,23,11,a2,31,50,03,3a,c0,00,67,30,f6,ff,00,fe\n2014-08-15T19:07:06.946Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:06.987Z,4,129039,43,255,26,12,44,11,b6,0d,49,56,bd,0e,f4,6e,97,23,1b,2c,86,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:07.035Z,2,129026,160,255,8,ff,fc,60,86,35,01,ff,ff\n2014-08-15T19:07:07.110Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:07.113Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:07.115Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:07.118Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:07.172Z,6,129540,160,255,135,7f,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,d8,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,00,00,00,00,00,00,f0\n2014-08-15T19:07:07.176Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:07:07.180Z,4,129038,43,255,27,01,d4,e5,b5,0d,5b,11,e1,0e,9f,25,de,23,1c,45,21,00,00,49,c0,00,b9,20,00,00,00,fe\n2014-08-15T19:07:07.236Z,3,127508,129,255,8,01,b0,05,f9,01,1e,75,90\n2014-08-15T19:07:07.294Z,4,129038,43,255,27,01,e0,53,7f,10,e5,a8,c4,0e,a3,ef,a6,23,20,15,88,ce,05,1c,66,08,ac,87,ff,7f,00,fe\n2014-08-15T19:07:07.341Z,2,130306,115,255,8,00,89,02,76,14,f2,ff,ff\n2014-08-15T19:07:07.349Z,3,129029,160,255,43,38,a9,3f,ae,22,06,29,00,f8,bf,5a,99,6b,49,08,00,9a,c2,be,3a,8d,6e,03,d0,b8,21,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:07.352Z,3,129033,160,255,8,a9,3f,ae,22,06,29,b4,00\n2014-08-15T19:07:07.356Z,4,129038,43,255,27,01,c0,0b,7e,10,13,4e,e3,0e,7c,bb,d2,23,18,7a,06,3d,04,10,81,08,d1,06,00,00,00,fe\n2014-08-15T19:07:07.422Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:07.433Z,4,129038,43,255,27,01,b8,53,a6,0c,6b,ec,78,0e,b5,03,9f,23,20,b1,ac,78,02,20,c3,09,88,ae,00,00,00,fe\n2014-08-15T19:07:07.446Z,3,126992,160,255,8,ff,ff,a9,3f,72,2c,06,29\n2014-08-15T19:07:07.454Z,3,128267,115,255,8,00,62,05,00,00,ff,ff,ff\n2014-08-15T19:07:07.456Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:07.483Z,4,129039,43,255,26,12,ec,d7,b5,0d,b4,a9,bb,0e,cc,22,8f,23,1e,ac,7e,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:07.490Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:07.540Z,2,128259,160,255,8,ff,ff,ff,3b,01,ff,ff,ff\n2014-08-15T19:07:07.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:07.641Z,3,129291,160,255,8,ff,fc,19,85,08,00,ff,ff\n2014-08-15T19:07:07.790Z,2,128259,115,255,8,00,1b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:07.844Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:07.846Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:07.848Z,2,128259,115,255,8,00,18,01,ff,ff,00,ff,ff\n2014-08-15T19:07:07.851Z,3,130577,160,255,14,c0,38,32,87,3b,01,ff,ff,ff,ff,19,85,08,00\n2014-08-15T19:07:07.853Z,2,129025,160,255,8,3c,6d,97,23,05,59,bd,0e\n2014-08-15T19:07:07.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:07.900Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:07.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:07.946Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:07.983Z,4,129039,43,255,26,12,44,11,b6,0d,a2,55,bd,0e,d8,6d,97,23,1f,e0,87,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:08.048Z,2,129026,160,255,8,ff,fc,32,87,3b,01,ff,ff\n2014-08-15T19:07:08.107Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:08.110Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:08.112Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:08.115Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:08.178Z,6,129540,160,255,135,80,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,98,08,00,00,00,00,f1\n2014-08-15T19:07:08.180Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:07:08.351Z,3,129029,160,255,43,39,a9,3f,d2,49,06,29,00,58,49,06,5a,6b,49,08,00,f2,3f,1c,0d,8d,6e,03,60,89,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:08.353Z,3,129033,160,255,8,a9,3f,d2,49,06,29,b4,00\n2014-08-15T19:07:08.365Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:08.428Z,3,128267,115,255,8,00,44,05,00,00,ff,ff,ff\n2014-08-15T19:07:08.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:08.447Z,3,126992,160,255,8,ff,ff,a9,3f,6e,53,06,29\n2014-08-15T19:07:08.459Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:08.461Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:08.560Z,2,128259,160,255,8,ff,ff,ff,40,01,ff,ff,ff\n2014-08-15T19:07:08.566Z,3,127508,129,255,8,01,ae,05,c4,01,1e,75,90\n2014-08-15T19:07:08.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,3b,02,02,00,00,00,02,00,00,00\n2014-08-15T19:07:08.654Z,3,129291,160,255,8,ff,fc,ec,9e,31,00,ff,ff\n2014-08-15T19:07:08.753Z,3,127508,129,255,8,01,af,05,e2,01,1e,75,90\n2014-08-15T19:07:08.789Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:08.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:08.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:08.846Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:08.860Z,3,130577,160,255,14,c0,39,89,84,40,01,ff,ff,ff,ff,ec,9e,31,00\n2014-08-15T19:07:08.863Z,2,129025,160,255,8,1e,6c,97,23,86,58,bd,0e\n2014-08-15T19:07:08.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:08.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:08.949Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:09.003Z,4,129039,43,255,26,12,44,11,b6,0d,4f,55,bd,0e,ac,6c,97,23,23,1b,80,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:09.039Z,3,127508,129,255,8,01,ae,05,c4,01,1e,75,90\n2014-08-15T19:07:09.043Z,4,129038,43,255,27,01,68,e2,20,12,9d,ec,fb,0e,88,15,ad,23,24,a0,af,fd,01,4e,01,09,f1,b1,00,00,00,fe\n2014-08-15T19:07:09.052Z,2,129026,160,255,8,ff,fc,89,84,40,01,ff,ff\n2014-08-15T19:07:09.104Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:09.108Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:09.110Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:09.112Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:09.180Z,6,129540,160,255,135,81,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,60,09,00,00,00,00,f1\n2014-08-15T19:07:09.182Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:09.362Z,3,129029,160,255,43,3a,a9,3f,ba,70,06,29,00,ac,5b,6f,17,6b,49,08,00,bc,75,8a,ef,8c,6e,03,d0,0b,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:09.364Z,3,129033,160,255,8,a9,3f,ba,70,06,29,b4,00\n2014-08-15T19:07:09.383Z,4,129038,43,255,27,01,88,44,7d,10,0d,24,c7,0e,76,ec,7f,23,1c,cb,23,00,00,5c,81,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:07:09.404Z,2,130306,115,255,8,00,db,02,60,1f,f2,ff,ff\n2014-08-15T19:07:09.423Z,4,129038,43,255,27,01,92,12,4b,10,0d,d9,f8,0e,61,02,ae,23,27,83,b0,bb,02,5d,81,00,42,b1,14,00,00,fe\n2014-08-15T19:07:09.457Z,3,126992,160,255,8,ff,ff,a9,3f,b0,7a,06,29\n2014-08-15T19:07:09.459Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:09.462Z,3,128267,115,255,8,00,38,05,00,00,ff,ff,ff\n2014-08-15T19:07:09.466Z,3,127508,129,255,8,01,af,05,c5,01,1e,75,90\n2014-08-15T19:07:09.484Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:09.514Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:09.560Z,2,128259,160,255,8,ff,ff,ff,3f,01,ff,ff,ff\n2014-08-15T19:07:09.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:09.623Z,4,129038,43,255,27,01,e0,53,7f,10,16,9e,c4,0e,ec,e0,a6,23,28,6c,88,d3,05,65,81,00,ac,87,ff,7f,00,fe\n2014-08-15T19:07:09.652Z,3,129291,160,255,8,ff,fc,fd,31,1c,00,ff,ff\n2014-08-15T19:07:09.680Z,7,127506,129,255,9,91,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:09.793Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:07:09.802Z,3,127508,129,255,8,01,ac,05,97,01,1e,75,91\n2014-08-15T19:07:09.843Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:09.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:09.847Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:07:09.858Z,3,130577,160,255,14,c0,3a,83,83,3f,01,ff,ff,ff,ff,fd,31,1c,00\n2014-08-15T19:07:09.860Z,2,129025,160,255,8,f9,6a,97,23,4a,58,bd,0e\n2014-08-15T19:07:09.905Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:09.941Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:09.953Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:09.963Z,4,129038,43,255,27,01,10,dc,6d,0f,7d,57,5c,0e,ba,17,9c,23,25,83,ad,88,02,72,01,01,88,ae,ec,ff,00,fe\n2014-08-15T19:07:09.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:10.013Z,4,129039,43,255,26,12,44,11,b6,0d,da,54,bd,0e,80,6b,97,23,27,32,81,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:10.053Z,2,129026,160,255,8,ff,fc,83,83,3f,01,ff,ff\n2014-08-15T19:07:10.102Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:10.104Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:10.107Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:10.109Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:10.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,78,06,29,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:07:10.181Z,6,129540,160,255,135,82,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:07:10.183Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:07:10.364Z,3,129029,160,255,43,3b,a9,3f,06,98,06,29,00,7a,32,37,d3,6a,49,08,00,64,2e,92,e1,8c,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:10.368Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,78,06,29,1c,66,0a,a9,3f,00,00,fc\n2014-08-15T19:07:10.370Z,3,129033,160,255,8,a9,3f,06,98,06,29,b4,00\n2014-08-15T19:07:10.381Z,2,130306,115,255,8,00,db,02,b1,1e,f2,ff,ff\n2014-08-15T19:07:10.406Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:10.423Z,4,129038,43,255,27,01,b8,f5,67,12,aa,fa,92,0e,d1,ae,91,23,2c,34,2d,d6,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:07:10.438Z,3,128267,115,255,8,00,22,05,00,00,ff,ff,ff\n2014-08-15T19:07:10.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:10.448Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:10.459Z,3,126992,160,255,8,ff,ff,a9,3f,ca,a1,06,29\n2014-08-15T19:07:10.467Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:10.503Z,4,129038,43,255,27,01,6c,70,4a,10,7d,6e,03,0f,28,f7,a3,23,23,2e,35,bf,01,a0,08,00,21,33,32,00,00,fe\n2014-08-15T19:07:10.553Z,2,128259,160,255,8,ff,ff,ff,43,01,ff,ff,ff\n2014-08-15T19:07:10.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:10.653Z,3,129291,160,255,8,ff,fc,fd,31,1c,00,ff,ff\n2014-08-15T19:07:10.794Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:10.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:10.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:10.847Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:10.860Z,3,130577,160,255,14,c0,3b,a6,83,43,01,ff,ff,ff,ff,6b,63,2c,00\n2014-08-15T19:07:10.864Z,2,129025,160,255,8,de,69,97,23,d3,57,bd,0e\n2014-08-15T19:07:10.914Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:10.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:10.970Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:11.027Z,4,129039,43,255,26,12,44,11,b6,0d,23,54,bd,0e,54,6a,97,23,2b,6c,82,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:11.056Z,2,129026,160,255,8,ff,fc,a6,83,43,01,ff,ff\n2014-08-15T19:07:11.069Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:11.084Z,4,129039,43,255,26,12,9e,d6,c3,0d,9a,c1,c7,0e,5a,9a,93,23,28,a7,53,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:11.106Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:11.107Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:11.107Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:11.111Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:11.193Z,6,129540,160,255,135,83,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:07:11.195Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:11.273Z,4,129038,43,255,27,01,98,69,b3,0e,d3,97,8d,0e,b0,78,a0,23,25,14,af,fd,01,db,08,00,e5,af,00,00,00,fe\n2014-08-15T19:07:11.313Z,4,129038,43,255,27,01,02,8b,c4,0d,88,ab,e0,0e,fc,f8,c8,23,30,db,80,6d,01,92,40,09,43,84,00,00,00,fe\n2014-08-15T19:07:11.327Z,3,127508,129,255,8,01,ae,05,bf,01,1e,75,91\n2014-08-15T19:07:11.353Z,4,129038,43,255,27,01,c0,0b,7e,10,a2,52,e3,0e,be,c9,d2,23,28,7a,06,0f,04,a6,81,09,d1,06,00,00,00,fe\n2014-08-15T19:07:11.370Z,3,129029,160,255,43,3c,a9,3f,20,bf,06,29,00,2c,15,53,91,6a,49,08,00,7e,3a,dd,c5,8c,6e,03,00,10,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:11.374Z,3,129033,160,255,8,a9,3f,20,bf,06,29,b4,00\n2014-08-15T19:07:11.400Z,2,130306,115,255,8,00,e5,02,48,1b,f2,ff,ff\n2014-08-15T19:07:11.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:11.433Z,4,129039,43,255,26,12,66,58,b6,0d,c5,cd,bb,0e,18,23,92,23,2f,6c,82,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:11.464Z,3,128267,115,255,8,00,2c,05,00,00,ff,ff,ff\n2014-08-15T19:07:11.468Z,3,126992,160,255,8,ff,ff,a9,3f,e4,c8,06,29\n2014-08-15T19:07:11.468Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:11.492Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:11.544Z,4,129038,43,255,27,01,c8,d4,7f,10,ed,95,df,0e,03,38,c2,23,29,15,7f,38,04,1c,66,08,89,81,00,00,00,fe\n2014-08-15T19:07:11.560Z,2,128259,160,255,8,ff,ff,ff,42,01,ff,ff,ff\n2014-08-15T19:07:11.566Z,3,127508,129,255,8,01,ae,05,ac,01,1e,75,91\n2014-08-15T19:07:11.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,20,02,02,00,01,03,03,00,00,00\n2014-08-15T19:07:11.583Z,4,129038,43,255,27,01,e0,53,7f,10,aa,96,c4,0e,28,d7,a6,23,30,f8,88,d3,05,34,40,09,ac,87,00,00,00,fe\n2014-08-15T19:07:11.624Z,4,129038,43,255,27,01,b0,79,7a,10,eb,40,d1,0e,45,81,82,23,28,6b,d9,e8,01,af,01,09,d9,da,0a,00,00,fe\n2014-08-15T19:07:11.666Z,3,129291,160,255,8,ff,fc,6b,63,2c,00,ff,ff\n2014-08-15T19:07:11.720Z,3,127508,129,255,8,01,ae,05,a9,01,1e,75,91\n2014-08-15T19:07:11.788Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:11.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:11.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:11.846Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:11.862Z,3,130577,160,255,14,c0,3c,95,83,42,01,ff,ff,ff,ff,7a,56,23,00\n2014-08-15T19:07:11.864Z,2,129025,160,255,8,c5,68,97,23,4c,57,bd,0e\n2014-08-15T19:07:11.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:11.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:11.961Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:12.043Z,4,129039,43,255,26,12,44,11,b6,0d,4a,53,bd,0e,7c,69,97,23,2f,03,85,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:12.063Z,2,129026,160,255,8,ff,fc,95,83,42,01,ff,ff\n2014-08-15T19:07:12.090Z,3,127508,129,255,8,01,af,05,c3,01,1e,75,91\n2014-08-15T19:07:12.097Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:12.099Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:12.102Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:12.105Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:12.126Z,7,127506,129,255,9,92,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:12.195Z,3,127508,129,255,8,01,af,05,c7,01,1e,75,92\n2014-08-15T19:07:12.203Z,6,129540,160,255,135,84,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:07:12.205Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:07:12.348Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:07:12.379Z,3,129029,160,255,43,3d,a9,3f,3a,e6,06,29,00,72,2d,e6,4f,6a,49,08,00,f8,99,6e,a6,8c,6e,03,30,85,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:12.381Z,3,129033,160,255,8,a9,3f,3a,e6,06,29,b4,00\n2014-08-15T19:07:12.383Z,2,130306,115,255,8,00,a2,02,8e,18,f2,ff,ff\n2014-08-15T19:07:12.402Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:12.407Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:12.424Z,4,129038,43,255,27,01,58,43,c9,0e,69,9d,d3,0e,ba,46,a9,23,34,43,ae,d0,02,6e,40,09,88,ae,00,00,00,fe\n2014-08-15T19:07:12.437Z,3,128267,115,255,8,00,50,05,00,00,ff,ff,ff\n2014-08-15T19:07:12.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:12.464Z,4,129038,43,255,27,01,58,eb,ad,0e,a1,15,60,0e,70,ff,8f,23,37,62,2f,d4,01,cf,81,00,5c,2e,00,00,00,fe\n2014-08-15T19:07:12.465Z,3,126992,160,255,8,ff,ff,a9,3f,fe,ef,06,29\n2014-08-15T19:07:12.468Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:12.567Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:07:12.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,25,02,02,00,01,03,03,00,00,00\n2014-08-15T19:07:12.578Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:12.583Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,c8,31,d3,23,00,f0,c6,06,29,d4,81,01,a9,3f,10,00,fc\n2014-08-15T19:07:12.668Z,3,129291,160,255,8,ff,fc,7a,56,23,00,ff,ff\n2014-08-15T19:07:12.672Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:12.786Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:12.816Z,3,127508,129,255,8,01,ae,05,af,01,1e,75,92\n2014-08-15T19:07:12.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:12.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:12.845Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:12.874Z,3,130577,160,255,14,c0,3d,7e,82,47,01,ff,ff,ff,ff,44,57,2e,00\n2014-08-15T19:07:12.876Z,2,129025,160,255,8,a7,67,97,23,e6,56,bd,0e\n2014-08-15T19:07:12.878Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:12.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:12.964Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:13.033Z,7,129793,43,255,26,04,8f,18,23,00,10,1d,46,0f,82,68,e2,23,00,00,ee,06,29,77,40,09,a9,3f,10,00,fc\n2014-08-15T19:07:13.067Z,2,129026,160,255,8,ff,fc,7e,82,47,01,ff,ff\n2014-08-15T19:07:13.074Z,4,129039,43,255,26,12,44,11,b6,0d,b4,52,bd,0e,71,68,97,23,33,61,83,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:13.095Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:13.098Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:13.100Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:13.104Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:13.208Z,6,129540,160,255,135,85,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,b8,0b,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:07:13.210Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:07:13.212Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:13.217Z,3,127508,129,255,8,01,af,05,c3,01,1e,75,92\n2014-08-15T19:07:13.235Z,2,130306,115,255,8,00,19,03,ec,28,f2,ff,ff\n2014-08-15T19:07:13.303Z,4,129038,43,255,27,01,e0,53,7f,10,05,93,c4,0e,46,d2,a6,23,38,d5,88,d3,05,34,40,01,ac,87,00,00,00,fe\n2014-08-15T19:07:13.373Z,3,129029,160,255,43,3e,a9,3f,54,0d,07,29,00,c6,3f,4f,0d,6a,49,08,00,7c,ed,ae,8e,8c,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:13.375Z,3,129033,160,255,8,a9,3f,54,0d,07,29,b4,00\n2014-08-15T19:07:13.379Z,4,129038,43,255,27,01,28,f5,77,10,05,2b,a1,0e,3d,83,74,23,2c,c5,31,be,00,f2,81,00,67,30,00,00,00,fe\n2014-08-15T19:07:13.471Z,3,126992,160,255,8,ff,ff,a9,3f,18,17,07,29\n2014-08-15T19:07:13.512Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:13.546Z,3,128267,115,255,8,00,af,04,00,00,ff,ff,ff\n2014-08-15T19:07:13.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:13.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,49,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:13.574Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:07:13.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:13.594Z,4,129038,43,255,27,01,08,99,b5,0d,85,55,ce,0e,a5,1c,a5,23,38,ff,4a,4e,01,1c,66,08,f3,48,00,00,00,fe\n2014-08-15T19:07:13.673Z,3,129291,160,255,8,ff,fc,44,57,2e,00,ff,ff\n2014-08-15T19:07:13.675Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:13.724Z,4,129038,43,255,27,01,88,d6,d0,0c,b5,d5,e1,0e,50,1d,b6,23,35,83,9b,3c,03,ff,01,01,ce,9c,00,00,00,fe\n2014-08-15T19:07:13.786Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:13.839Z,3,127508,129,255,8,01,af,05,cf,01,1e,75,92\n2014-08-15T19:07:13.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:13.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:13.847Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:13.871Z,3,130577,160,255,14,c0,3e,60,83,48,01,ff,ff,ff,ff,44,57,2e,00\n2014-08-15T19:07:13.874Z,2,129025,160,255,8,7f,66,97,23,6b,56,bd,0e\n2014-08-15T19:07:13.877Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:13.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:13.971Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:13.994Z,4,129038,43,255,27,01,20,f6,7e,10,b0,38,c7,0e,cb,e9,7f,23,35,39,31,00,00,c6,08,00,13,c7,00,00,0f,fe\n2014-08-15T19:07:14.063Z,4,129039,43,255,26,12,44,11,b6,0d,0d,52,bd,0e,45,67,97,23,37,ac,84,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:14.074Z,2,129026,160,255,8,ff,fc,60,83,48,01,ff,ff\n2014-08-15T19:07:14.076Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:14.086Z,2,130306,115,255,8,00,9d,02,9a,1a,f2,ff,ff\n2014-08-15T19:07:14.092Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,bc,3d,01,00\n2014-08-15T19:07:14.094Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:14.097Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:14.099Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:14.173Z,3,127508,129,255,8,01,af,05,c2,01,1e,75,92\n2014-08-15T19:07:14.184Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,35,28,16,00,00,d1,08,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:14.212Z,6,129540,160,255,135,86,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f6\n2014-08-15T19:07:14.214Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:14.374Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:14.387Z,3,129029,160,255,43,3f,a9,3f,6e,34,07,29,00,36,46,64,c8,69,49,08,00,6e,8e,0b,72,8c,6e,03,50,62,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:14.389Z,3,129033,160,255,8,a9,3f,6e,34,07,29,b4,00\n2014-08-15T19:07:14.416Z,3,128267,115,255,8,00,b5,05,00,00,ff,ff,ff\n2014-08-15T19:07:14.419Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:14.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:14.471Z,3,126992,160,255,8,ff,ff,a9,3f,0a,3e,07,29\n2014-08-15T19:07:14.490Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:14.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,20,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:14.575Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:07:14.676Z,3,129291,160,255,8,ff,fc,d3,41,25,00,ff,ff\n2014-08-15T19:07:14.790Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:14.823Z,4,129039,43,255,26,12,c4,e2,c3,0d,76,ad,c3,0e,d8,0a,95,23,38,84,56,72,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:07:14.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:14.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:14.846Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:14.877Z,3,130577,160,255,14,c0,3f,15,85,46,01,ff,ff,ff,ff,d3,41,25,00\n2014-08-15T19:07:14.879Z,2,129025,160,255,8,70,65,97,23,98,55,bd,0e\n2014-08-15T19:07:14.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:14.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:14.961Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:14.981Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:15.049Z,2,130306,115,255,8,00,98,02,76,14,f2,ff,ff\n2014-08-15T19:07:15.083Z,7,127506,129,255,9,93,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:15.084Z,4,129039,43,255,26,12,44,11,b6,0d,a3,52,bd,0e,94,65,97,23,3b,5b,85,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:15.086Z,2,129026,160,255,8,ff,fc,15,85,46,01,ff,ff\n2014-08-15T19:07:15.088Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:15.092Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,ce,3d,01,00\n2014-08-15T19:07:15.094Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:15.096Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:15.100Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:15.212Z,6,129540,160,255,135,87,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:15.214Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:07:15.388Z,3,129029,160,255,43,40,a9,3f,60,5b,07,29,00,60,6a,4b,89,69,49,08,00,f0,f9,ea,40,8c,6e,03,b0,bd,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:15.390Z,3,129033,160,255,8,a9,3f,60,5b,07,29,b4,00\n2014-08-15T19:07:15.424Z,3,128267,115,255,8,00,99,05,00,00,ff,ff,ff\n2014-08-15T19:07:15.426Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:15.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:15.484Z,3,126992,160,255,8,ff,ff,a9,3f,24,65,07,29\n2014-08-15T19:07:15.544Z,4,129038,43,255,27,01,d2,ff,4a,10,46,8b,b1,0e,52,01,71,23,3d,59,e8,00,00,1c,66,00,37,91,ec,ff,00,fe\n2014-08-15T19:07:15.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:15.575Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:07:15.614Z,4,129038,43,255,27,01,10,04,1a,0e,db,99,fc,0e,02,be,ae,23,38,c8,b0,9c,02,46,82,01,9f,b2,00,00,00,fe\n2014-08-15T19:07:15.654Z,4,129038,43,255,27,01,e0,53,7f,10,04,88,c4,0e,a0,c3,a6,23,40,f8,88,ce,05,35,40,09,ac,87,00,00,00,fe\n2014-08-15T19:07:15.678Z,3,129291,160,255,8,ff,fc,3b,09,15,00,ff,ff\n2014-08-15T19:07:15.779Z,3,127508,129,255,8,01,ac,05,8f,01,1e,75,93\n2014-08-15T19:07:15.787Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:15.809Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:15.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:15.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:15.847Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:15.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:15.887Z,3,130577,160,255,14,c0,40,d5,82,4c,01,ff,ff,ff,ff,3b,09,15,00\n2014-08-15T19:07:15.888Z,2,129025,160,255,8,4e,64,97,23,18,55,bd,0e\n2014-08-15T19:07:15.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:15.913Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,c8,f6,c7,23,00,30,63,07,29,51,82,09,a9,3f,10,00,fc\n2014-08-15T19:07:15.994Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:16.030Z,2,130306,115,255,8,00,66,03,55,2c,f2,ff,ff\n2014-08-15T19:07:16.042Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:16.084Z,2,129026,160,255,8,ff,fc,d5,82,4c,01,ff,ff\n2014-08-15T19:07:16.088Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,ce,3d,01,00\n2014-08-15T19:07:16.090Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:16.094Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:16.096Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:16.101Z,4,129039,43,255,26,12,44,11,b6,0d,61,52,bd,0e,57,64,97,23,3f,32,7e,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:16.168Z,3,127508,129,255,8,01,af,05,c2,01,1e,75,93\n2014-08-15T19:07:16.204Z,4,129038,43,255,27,03,fc,ff,e9,25,a8,55,25,0f,35,e6,be,23,3d,7d,bb,c5,02,81,2c,00,7c,bb,14,00,00,fe\n2014-08-15T19:07:16.222Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:16.222Z,6,129540,160,255,135,88,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:16.389Z,3,129029,160,255,43,41,a9,3f,7a,82,07,29,00,24,83,c9,01,69,49,08,00,7e,dc,0c,13,8c,6e,03,10,37,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:16.391Z,3,129033,160,255,8,a9,3f,7a,82,07,29,b4,00\n2014-08-15T19:07:16.430Z,3,128267,115,255,8,00,3b,05,00,00,ff,ff,ff\n2014-08-15T19:07:16.432Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:16.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:16.484Z,3,126992,160,255,8,ff,ff,a9,3f,3e,8c,07,29\n2014-08-15T19:07:16.504Z,4,129038,43,255,27,01,b8,f5,67,12,d7,1f,93,0e,4e,b6,91,23,40,56,2d,d6,03,62,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:07:16.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:16.582Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:07:16.584Z,3,127508,129,255,8,01,ae,05,ac,01,1e,75,93\n2014-08-15T19:07:16.686Z,3,129291,160,255,8,ff,fc,34,47,36,00,ff,ff\n2014-08-15T19:07:16.689Z,3,127508,129,255,8,01,ae,05,93,01,1e,75,93\n2014-08-15T19:07:16.789Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:16.843Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:16.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:16.847Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:16.892Z,3,130577,160,255,14,c0,41,c3,82,47,01,ff,ff,ff,ff,34,47,36,00\n2014-08-15T19:07:16.894Z,2,129025,160,255,8,2a,63,97,23,d3,54,bd,0e\n2014-08-15T19:07:16.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:16.923Z,4,129039,43,255,26,12,0a,ec,b5,0d,c1,57,cc,0e,61,e2,91,23,3c,3e,59,96,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:16.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:16.992Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:17.032Z,2,130306,115,255,8,00,ad,02,48,1b,f2,ff,ff\n2014-08-15T19:07:17.056Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:17.085Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,ce,3d,01,00\n2014-08-15T19:07:17.088Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:17.090Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:17.093Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:17.096Z,2,129026,160,255,8,ff,fc,c3,82,47,01,ff,ff\n2014-08-15T19:07:17.105Z,4,129039,43,255,26,12,44,11,b6,0d,fd,51,bd,0e,3c,63,97,23,43,38,82,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:17.143Z,4,129038,43,255,27,01,b8,53,a6,0c,e7,c1,78,0e,32,fd,9e,23,48,8e,ac,78,02,1c,66,00,88,ae,00,00,00,fe\n2014-08-15T19:07:17.224Z,6,129540,160,255,135,89,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:17.226Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:07:17.371Z,3,127508,129,255,8,01,b0,05,e4,01,1e,75,93\n2014-08-15T19:07:17.395Z,3,129029,160,255,43,42,a9,3f,9e,a9,07,29,00,6a,9b,5c,c0,68,49,08,00,40,a1,5f,e9,8b,6e,03,10,37,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:17.397Z,3,129033,160,255,8,a9,3f,9e,a9,07,29,b4,00\n2014-08-15T19:07:17.413Z,3,128267,115,255,8,00,df,04,00,00,ff,ff,ff\n2014-08-15T19:07:17.415Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:17.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:17.483Z,4,129038,43,255,27,01,68,e2,20,12,8e,d0,fb,0e,57,12,ad,23,48,e6,af,02,02,8c,02,01,9f,b2,00,00,00,fe\n2014-08-15T19:07:17.491Z,3,126992,160,255,8,ff,ff,a9,3f,8a,b3,07,29\n2014-08-15T19:07:17.526Z,4,129038,43,255,27,01,c8,d4,7f,10,a7,90,df,0e,bf,21,c2,23,41,49,7f,33,04,1c,66,00,37,82,00,00,00,fe\n2014-08-15T19:07:17.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2a,02,02,00,02,01,03,00,00,00\n2014-08-15T19:07:17.593Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:07:17.668Z,6,129794,43,255,75,05,b8,f5,67,12,d5,27,8e,00,43,36,56,48,34,20,20,44,41,4e,55,42,45,20,48,49,47,48,57,41,59,20,20,20,20,20,20,46,c8,05,fa,00,64,00,18,01,a9,3f,00,f6,34,2f,e4,02,4b,4f,54,4b,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:07:17.694Z,3,129291,160,255,8,ff,fc,c0,4d,2b,00,ff,ff\n2014-08-15T19:07:17.704Z,4,129038,43,255,27,01,e0,53,7f,10,77,80,c4,0e,dc,b9,a6,23,48,09,89,d3,05,35,40,01,ac,87,00,00,00,fe\n2014-08-15T19:07:17.785Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:17.843Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:17.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:17.847Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:17.877Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:17.897Z,3,130577,160,255,14,c0,42,20,84,4a,01,ff,ff,ff,ff,c0,4d,2b,00\n2014-08-15T19:07:17.899Z,2,129025,160,255,8,11,62,97,23,20,54,bd,0e\n2014-08-15T19:07:17.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:17.958Z,2,130306,115,255,8,00,d6,02,eb,19,f2,ff,ff\n2014-08-15T19:07:17.960Z,7,127506,129,255,9,94,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:17.978Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:17.996Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:18.073Z,4,129038,43,255,27,03,70,82,52,10,c7,70,b1,0e,fe,a4,71,23,47,ff,ff,00,00,3a,49,01,ff,ff,ff,7f,05,fe\n2014-08-15T19:07:18.082Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,ce,3d,01,00\n2014-08-15T19:07:18.085Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:18.087Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:18.090Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:18.093Z,2,129026,160,255,8,ff,fc,20,84,4a,01,ff,ff\n2014-08-15T19:07:18.123Z,4,129039,43,255,26,12,44,11,b6,0d,99,51,bd,0e,42,62,97,23,47,7e,85,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:18.226Z,6,129540,160,255,135,8a,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:18.228Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:18.293Z,3,127508,129,255,8,01,ae,05,8e,01,1e,75,94\n2014-08-15T19:07:18.400Z,3,129029,160,255,43,43,a9,3f,e0,d0,07,29,00,b0,b3,ef,7e,68,49,08,00,3a,4e,0a,bb,8b,6e,03,c0,55,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:18.402Z,3,129033,160,255,8,a9,3f,e0,d0,07,29,b4,00\n2014-08-15T19:07:18.423Z,3,128267,115,255,8,00,ec,04,00,00,ff,ff,ff\n2014-08-15T19:07:18.425Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:18.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:18.496Z,3,126992,160,255,8,ff,ff,a9,3f,a4,da,07,29\n2014-08-15T19:07:18.503Z,4,129038,43,255,27,01,58,43,c9,0e,3b,7b,d3,0e,4c,42,a9,23,4c,0e,ae,d0,02,c0,08,00,88,ae,00,00,00,fe\n2014-08-15T19:07:18.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:18.600Z,2,128259,160,255,8,ff,ff,ff,4b,01,ff,ff,ff\n2014-08-15T19:07:18.700Z,3,129291,160,255,8,ff,fc,66,45,1f,00,ff,ff\n2014-08-15T19:07:18.707Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:18.760Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:18.783Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:07:18.797Z,3,127508,129,255,8,01,b0,05,cb,01,1e,75,94\n2014-08-15T19:07:18.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:18.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:18.845Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:07:18.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:18.908Z,3,130577,160,255,14,c0,43,e0,84,4b,01,ff,ff,ff,ff,66,45,1f,00\n2014-08-15T19:07:18.910Z,2,129025,160,255,8,f8,60,97,23,59,53,bd,0e\n2014-08-15T19:07:18.912Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:18.932Z,2,130306,115,255,8,00,b7,02,48,1b,f2,ff,ff\n2014-08-15T19:07:18.952Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:19.001Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:19.033Z,4,129038,43,255,27,01,92,12,4b,10,f6,c0,f8,0e,f8,ff,ad,23,4b,71,b0,c0,02,b2,08,08,42,b1,fd,ff,00,fe\n2014-08-15T19:07:19.079Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,ce,3d,01,00\n2014-08-15T19:07:19.083Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:19.085Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:19.087Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:19.105Z,2,129026,160,255,8,ff,fc,e0,84,4b,01,ff,ff\n2014-08-15T19:07:19.113Z,4,129038,43,255,27,01,88,d6,d0,0c,6b,c0,e1,0e,8c,13,b6,23,49,2c,9b,37,03,c2,08,08,ce,9c,00,00,00,fe\n2014-08-15T19:07:19.153Z,4,129039,43,255,26,12,44,11,b6,0d,35,51,bd,0e,37,61,97,23,4b,a0,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:19.239Z,6,129540,160,255,135,8b,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,ac,0d,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:19.241Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:07:19.266Z,3,127508,129,255,8,01,af,05,ae,01,1e,75,94\n2014-08-15T19:07:19.284Z,3,127508,129,255,8,01,ae,05,8c,01,1e,75,94\n2014-08-15T19:07:19.300Z,3,127508,129,255,8,01,ac,05,77,01,1e,75,94\n2014-08-15T19:07:19.371Z,7,127506,129,255,9,95,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:19.413Z,3,128267,115,255,8,00,22,05,00,00,ff,ff,ff\n2014-08-15T19:07:19.415Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:19.421Z,3,129029,160,255,43,44,a9,3f,fa,f7,07,29,00,56,1f,c9,39,68,49,08,00,4a,66,a6,97,8b,6e,03,00,f2,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:19.423Z,3,129033,160,255,8,a9,3f,fa,f7,07,29,b4,00\n2014-08-15T19:07:19.433Z,4,129038,43,255,27,01,e0,53,7f,10,c1,7c,c4,0e,fa,b4,a6,23,50,2c,89,d3,05,d5,02,09,ac,87,00,00,00,fe\n2014-08-15T19:07:19.443Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:19.505Z,3,126992,160,255,8,ff,ff,a9,3f,be,01,08,29\n2014-08-15T19:07:19.543Z,4,129038,43,255,27,01,10,dc,6d,0f,ef,2b,5c,0e,7a,11,9c,23,4d,71,ad,88,02,d9,02,09,88,ae,f6,ff,00,fe\n2014-08-15T19:07:19.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,41,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:19.583Z,4,129038,43,255,27,01,c8,27,16,0e,17,74,6d,0e,d1,ce,94,23,45,6e,31,50,03,00,03,01,67,30,f6,ff,00,fe\n2014-08-15T19:07:19.608Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:07:19.709Z,3,129291,160,255,8,ff,fc,25,41,2d,00,ff,ff\n2014-08-15T19:07:19.789Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:19.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:19.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:19.845Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:19.903Z,3,130577,160,255,14,c0,44,0f,84,51,01,ff,ff,ff,ff,25,41,2d,00\n2014-08-15T19:07:19.905Z,2,129025,160,255,8,cf,5f,97,23,c1,52,bd,0e\n2014-08-15T19:07:19.907Z,2,130306,115,255,8,00,6f,02,a5,1c,f2,ff,ff\n2014-08-15T19:07:19.931Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:19.951Z,3,127508,129,255,8,01,ae,05,93,01,1e,75,95\n2014-08-15T19:07:19.993Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,92,bf,76,23,4d,5c,3a,00,00,ea,82,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:19.995Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:20.003Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:20.020Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:20.051Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:20.077Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,e1,3d,01,00\n2014-08-15T19:07:20.079Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:20.082Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:20.084Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:20.105Z,2,129026,160,255,8,ff,fc,0f,84,51,01,ff,ff\n2014-08-15T19:07:20.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,ff,07,29,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:07:20.163Z,4,129039,43,255,26,12,44,11,b6,0d,d1,50,bd,0e,0b,60,97,23,4f,c9,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:20.205Z,4,129038,43,255,27,01,58,f9,8d,0c,80,c1,3b,0f,36,3e,b4,23,51,da,b0,e9,02,c4,08,02,f1,b1,00,00,00,fe\n2014-08-15T19:07:20.241Z,6,129540,160,255,135,8c,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:20.246Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:20.261Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:20.283Z,4,129038,43,255,27,01,6c,70,4a,10,49,8d,03,0f,9b,fa,a3,23,4b,50,35,bf,01,1c,66,08,21,33,06,00,00,fe\n2014-08-15T19:07:20.354Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:20.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,70,ff,07,29,f8,82,02,a9,3f,00,00,fc\n2014-08-15T19:07:20.414Z,3,129029,160,255,43,45,a9,3f,14,1f,08,29,00,ba,ae,9b,f1,67,49,08,00,74,ef,5a,76,8b,6e,03,a0,07,2b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:20.416Z,3,129033,160,255,8,a9,3f,14,1f,08,29,b4,00\n2014-08-15T19:07:20.426Z,3,128267,115,255,8,00,f8,04,00,00,ff,ff,ff\n2014-08-15T19:07:20.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:20.451Z,3,127508,129,255,8,01,af,05,c2,01,1e,75,95\n2014-08-15T19:07:20.460Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:20.511Z,3,126992,160,255,8,ff,ff,a9,3f,b0,28,08,29\n2014-08-15T19:07:20.553Z,4,129038,43,255,27,01,b0,79,7a,10,c8,2a,d1,0e,4a,8e,82,23,48,7c,d9,e8,01,ff,02,01,d9,da,00,00,00,fe\n2014-08-15T19:07:20.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,40,02,02,00,00,00,04,00,00,00\n2014-08-15T19:07:20.607Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:07:20.683Z,4,129039,43,255,26,12,fe,ea,8e,0f,f3,c7,98,0e,14,d4,ae,23,4c,82,ce,ae,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:20.710Z,3,129291,160,255,8,ff,fc,4f,54,19,00,ff,ff\n2014-08-15T19:07:20.783Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:20.840Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:20.842Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:20.845Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:20.861Z,2,130306,115,255,8,00,ad,02,77,23,f2,ff,ff\n2014-08-15T19:07:20.865Z,3,127508,129,255,8,01,ae,05,87,01,1e,75,95\n2014-08-15T19:07:20.890Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:20.895Z,4,129038,43,255,27,01,02,8b,c4,0d,a0,a7,e0,0e,91,ee,c8,23,54,38,82,6d,01,92,c0,00,a0,85,ff,7f,00,fe\n2014-08-15T19:07:20.919Z,2,129025,160,255,8,99,5e,97,23,32,52,bd,0e\n2014-08-15T19:07:20.919Z,3,130577,160,255,14,c0,45,89,84,56,01,ff,ff,ff,ff,4f,54,19,00\n2014-08-15T19:07:20.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:20.954Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:21.006Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:21.074Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,e1,3d,01,00\n2014-08-15T19:07:21.077Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:21.081Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:21.089Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:21.110Z,2,129026,160,255,8,ff,fc,89,84,56,01,ff,ff\n2014-08-15T19:07:21.170Z,4,129039,43,255,26,12,44,11,b6,0d,4b,50,bd,0e,df,5e,97,23,53,03,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:21.235Z,6,129540,160,255,135,8d,ff,0b,20,16,31,fd,95,f0,0a,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,54,0b,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:21.238Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:21.414Z,3,128267,115,255,8,00,df,04,00,00,ff,ff,ff\n2014-08-15T19:07:21.416Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:21.422Z,3,129029,160,255,43,46,a9,3f,06,46,08,29,00,7c,0e,21,aa,67,49,08,00,e6,dd,d0,4a,8b,6e,03,e0,c1,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:21.425Z,3,129033,160,255,8,a9,3f,06,46,08,29,b4,00\n2014-08-15T19:07:21.433Z,4,129038,43,255,27,01,e0,53,7f,10,44,75,c4,0e,36,ab,a6,23,58,f8,88,d8,05,c5,08,00,ac,87,00,00,00,fe\n2014-08-15T19:07:21.448Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:21.470Z,3,127508,129,255,8,01,b0,05,c9,01,1e,75,95\n2014-08-15T19:07:21.515Z,3,126992,160,255,8,ff,ff,a9,3f,f2,4f,08,29\n2014-08-15T19:07:21.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:21.608Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:07:21.678Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:07:21.710Z,3,129291,160,255,8,ff,fc,e1,45,1a,00,ff,ff\n2014-08-15T19:07:21.787Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:21.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:21.845Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:21.847Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:21.870Z,2,130306,115,255,8,00,d1,02,54,1d,f2,ff,ff\n2014-08-15T19:07:21.898Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:07:21.900Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:21.915Z,3,130577,160,255,14,c0,46,26,85,59,01,ff,ff,ff,ff,e1,45,1a,00\n2014-08-15T19:07:21.917Z,2,129025,160,255,8,66,5d,97,23,77,51,bd,0e\n2014-08-15T19:07:21.943Z,4,129038,43,255,27,01,98,69,b3,0e,73,75,8d,0e,96,74,a0,23,4d,14,af,fd,01,33,83,08,e5,af,00,00,00,fe\n2014-08-15T19:07:21.960Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:21.991Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:22.000Z,3,127508,129,255,8,01,b0,05,c7,01,1e,75,95\n2014-08-15T19:07:22.016Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:22.043Z,4,129039,43,255,26,12,ca,0c,b7,0d,54,17,bd,0e,e4,5e,95,23,54,26,85,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:22.071Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,e1,3d,01,00\n2014-08-15T19:07:22.074Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:22.077Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:22.079Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:22.112Z,2,129026,160,255,8,ff,fc,26,85,59,01,ff,ff\n2014-08-15T19:07:22.174Z,4,129039,43,255,26,12,44,11,b6,0d,73,4f,bd,0e,c4,5d,97,23,57,60,86,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:22.240Z,6,129540,160,255,135,8e,ff,0b,20,16,31,fd,95,e4,0c,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,1c,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,60,09,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:22.242Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:22.338Z,6,129794,43,255,75,05,92,12,4b,10,f8,63,86,00,55,42,56,47,37,40,40,41,4d,42,41,4c,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,46,6c,07,dc,00,6e,00,68,01,15,41,00,10,55,22,9e,02,42,41,4c,54,53,4b,2d,55,4c,55,47,41,2d,42,41,4c,54,53,4b,40,04,e1\n2014-08-15T19:07:22.373Z,4,129039,43,255,26,12,06,a5,b5,0d,39,16,bd,0e,6f,15,97,23,56,4f,80,53,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:22.407Z,3,128267,115,255,8,00,fe,04,00,00,ff,ff,ff\n2014-08-15T19:07:22.410Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:22.415Z,3,129029,160,255,43,47,a9,3f,48,6d,08,29,00,66,d9,94,63,67,49,08,00,d2,90,a5,1d,8b,6e,03,80,48,28,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:22.418Z,3,129033,160,255,8,a9,3f,48,6d,08,29,b4,00\n2014-08-15T19:07:22.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:22.491Z,7,127506,129,255,9,96,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:22.494Z,3,127508,129,255,8,01,af,05,bc,01,1e,75,96\n2014-08-15T19:07:22.513Z,3,126992,160,255,8,ff,ff,a9,3f,0c,77,08,29\n2014-08-15T19:07:22.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,48,02,03,00,01,01,04,00,00,00\n2014-08-15T19:07:22.584Z,7,129793,43,255,26,04,90,18,23,00,ec,d1,e2,0e,fa,31,d3,23,00,90,4d,08,29,4b,83,08,a9,3f,10,00,fc\n2014-08-15T19:07:22.610Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:22.611Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:07:22.713Z,4,129038,43,255,27,01,40,37,b7,0d,d8,bc,89,0e,70,75,bf,23,5d,94,bf,05,00,19,c0,09,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:22.715Z,3,129291,160,255,8,ff,fc,e1,45,1a,00,ff,ff\n2014-08-15T19:07:22.719Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:22.764Z,4,129039,43,255,26,12,90,e4,c3,0d,e3,22,c0,0e,92,ff,7c,23,58,04,6a,bf,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:22.781Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:22.804Z,4,129038,43,255,27,01,d0,e7,da,0d,c8,9a,33,0f,40,14,c4,23,5d,2f,02,05,00,53,83,00,70,b9,00,00,00,fe\n2014-08-15T19:07:22.805Z,2,130306,115,255,8,00,a2,02,8e,18,f2,ff,ff\n2014-08-15T19:07:22.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:22.885Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:22.887Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:22.890Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:22.912Z,3,130577,160,255,14,c0,47,6c,85,5d,01,ff,ff,ff,ff,ad,62,18,00\n2014-08-15T19:07:22.914Z,2,129025,160,255,8,37,5c,97,23,b5,50,bd,0e\n2014-08-15T19:07:22.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:22.946Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:23.004Z,4,129039,43,255,26,12,44,e0,c3,0d,4b,a2,ba,0e,f0,5a,8d,23,5a,32,7e,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:23.044Z,7,129793,43,255,26,04,8f,18,23,00,42,1d,46,0f,b4,68,e2,23,00,a0,74,08,29,77,40,01,a9,3f,10,00,fc\n2014-08-15T19:07:23.058Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:23.069Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,e1,3d,01,00\n2014-08-15T19:07:23.071Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:23.074Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:23.076Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:23.084Z,4,129038,43,255,27,01,58,eb,ad,0e,3a,34,60,0e,2a,05,90,23,5f,85,2f,d4,01,1c,66,08,5c,2e,00,00,00,fe\n2014-08-15T19:07:23.124Z,4,129038,43,255,27,03,88,d6,d0,0c,6d,af,e1,0e,cd,0b,b6,23,59,3d,9b,31,03,b0,09,08,7d,9d,00,00,00,fe\n2014-08-15T19:07:23.129Z,2,129026,160,255,8,ff,fc,6c,85,5d,01,ff,ff\n2014-08-15T19:07:23.167Z,4,129038,43,255,27,01,b8,83,92,0e,43,bc,e0,0e,a1,c8,75,23,5d,8e,c1,05,00,e2,08,00,59,d3,00,00,00,fe\n2014-08-15T19:07:23.204Z,4,129039,43,255,26,12,44,11,b6,0d,cc,4e,bd,0e,a8,5c,97,23,5b,09,86,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:23.248Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:23.248Z,6,129540,160,255,135,8f,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:23.251Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:23.254Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:23.412Z,3,128267,115,255,8,00,e2,04,00,00,ff,ff,ff\n2014-08-15T19:07:23.415Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:23.437Z,3,129029,160,255,43,48,a9,3f,58,94,08,29,00,ca,68,67,1b,67,49,08,00,1a,91,99,f5,8a,6e,03,00,81,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:23.437Z,3,129033,160,255,8,a9,3f,58,94,08,29,b4,00\n2014-08-15T19:07:23.441Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:23.521Z,3,126992,160,255,8,ff,ff,a9,3f,26,9e,08,29\n2014-08-15T19:07:23.563Z,4,129038,43,255,27,01,c0,0b,7e,10,e4,60,e3,0e,58,f3,d2,23,5c,9d,06,84,03,70,03,09,7f,07,00,00,00,fe\n2014-08-15T19:07:23.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,4d,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:23.614Z,4,129038,43,255,27,01,28,f5,77,10,0b,38,a1,0e,3d,83,74,23,54,c5,31,c3,00,72,83,08,67,30,00,00,00,fe\n2014-08-15T19:07:23.624Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:07:23.642Z,3,127508,129,255,8,01,af,05,b0,01,1e,75,96\n2014-08-15T19:07:23.673Z,4,129038,43,255,27,01,08,99,b5,0d,0d,69,ce,0e,22,16,a5,23,60,ff,4a,49,01,74,83,00,f3,48,00,00,00,fe\n2014-08-15T19:07:23.723Z,4,129038,43,255,27,01,c8,d4,7f,10,cb,8a,df,0e,be,0b,c2,23,59,f8,7f,33,04,3f,c0,08,37,82,00,00,00,fe\n2014-08-15T19:07:23.727Z,3,129291,160,255,8,ff,fc,ad,62,18,00,ff,ff\n2014-08-15T19:07:23.729Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:23.782Z,2,130306,115,255,8,00,b7,02,6c,21,f2,ff,ff\n2014-08-15T19:07:23.802Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:23.864Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:23.905Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:23.907Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:23.909Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:23.933Z,3,130577,160,255,14,c0,48,26,85,60,01,ff,ff,ff,ff,b6,4e,10,00\n2014-08-15T19:07:23.934Z,2,129025,160,255,8,01,5b,97,23,09,50,bd,0e\n2014-08-15T19:07:23.940Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:23.971Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:24.017Z,3,127508,129,255,8,01,b0,05,c5,01,1e,75,96\n2014-08-15T19:07:24.024Z,4,129038,43,255,27,01,58,43,c9,0e,d1,62,d3,0e,0b,3f,a9,23,60,0e,ae,d0,02,81,03,09,88,ae,00,00,00,fe\n2014-08-15T19:07:24.031Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:24.068Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,e1,3d,01,00\n2014-08-15T19:07:24.070Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:24.073Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:24.076Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:24.127Z,2,129026,160,255,8,ff,fc,26,85,60,01,ff,ff\n2014-08-15T19:07:24.132Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:24.203Z,4,129039,43,255,26,12,44,11,b6,0d,25,4e,bd,0e,ae,5b,97,23,5f,26,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:24.254Z,6,129540,160,255,135,90,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:24.256Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:24.419Z,3,128267,115,255,8,00,f8,04,00,00,ff,ff,ff\n2014-08-15T19:07:24.422Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:24.433Z,3,129029,160,255,43,49,a9,3f,72,bb,08,29,00,06,8d,4b,d2,66,49,08,00,2a,a9,35,d2,8a,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:24.435Z,3,129033,160,255,8,a9,3f,72,bb,08,29,b4,00\n2014-08-15T19:07:24.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:24.484Z,4,129038,43,255,27,01,08,7b,ba,0d,d5,0f,92,0e,b2,6e,bc,23,5d,e6,a0,72,01,b8,83,01,e5,a0,00,00,00,fe\n2014-08-15T19:07:24.535Z,3,126992,160,255,8,ff,ff,a9,3f,4a,c5,08,29\n2014-08-15T19:07:24.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:24.583Z,3,127508,129,255,8,01,b1,05,e2,01,1e,75,96\n2014-08-15T19:07:24.628Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:24.732Z,3,129291,160,255,8,ff,fc,b6,4e,10,00,ff,ff\n2014-08-15T19:07:24.734Z,2,130306,115,255,8,00,8e,02,f7,1b,f2,ff,ff\n2014-08-15T19:07:24.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:24.834Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:07:24.840Z,3,127508,129,255,8,01,af,05,a4,01,1e,75,96\n2014-08-15T19:07:24.868Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:24.870Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:24.873Z,2,128259,115,255,8,00,47,01,ff,ff,00,ff,ff\n2014-08-15T19:07:24.934Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:24.936Z,3,130577,160,255,14,c0,49,cf,84,61,01,ff,ff,ff,ff,62,68,24,00\n2014-08-15T19:07:24.940Z,2,129025,160,255,8,c7,59,97,23,71,4f,bd,0e\n2014-08-15T19:07:24.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:24.992Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:25.036Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:25.064Z,4,129039,43,255,26,12,58,7f,b6,0d,b7,07,bc,0e,0b,46,93,23,63,9b,7b,a0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:25.066Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,f4,3d,01,00\n2014-08-15T19:07:25.069Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:25.072Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:25.074Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:25.140Z,2,129026,160,255,8,ff,fc,cf,84,61,01,ff,ff\n2014-08-15T19:07:25.214Z,4,129039,43,255,26,12,44,11,b6,0d,b1,4d,bd,0e,61,5a,97,23,63,9b,84,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:25.258Z,6,129540,160,255,135,91,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,c4,09,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:25.261Z,2,127250,160,255,8,ff,6c,88,ff,7f,86,05,fc\n2014-08-15T19:07:25.324Z,4,129038,43,255,27,01,10,04,1a,0e,d7,70,fc,0e,26,b8,ae,23,5c,83,b0,9c,02,1c,66,08,9f,b2,00,00,00,fe\n2014-08-15T19:07:25.384Z,4,129038,43,255,27,03,88,d6,d0,0c,d5,a6,e1,0e,f6,07,b6,23,61,3d,9b,37,03,d1,08,00,2b,9e,ff,7f,00,fe\n2014-08-15T19:07:25.408Z,3,128267,115,255,8,00,d0,04,00,00,ff,ff,ff\n2014-08-15T19:07:25.410Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:25.442Z,3,129029,160,255,43,4a,a9,3f,96,e2,08,29,00,a0,81,e2,89,66,49,08,00,2c,c7,fb,af,8a,6e,03,60,18,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:25.446Z,3,129033,160,255,8,a9,3f,96,e2,08,29,b4,00\n2014-08-15T19:07:25.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:25.474Z,4,129038,43,255,27,01,c8,27,16,0e,e5,97,6d,0e,ad,d4,94,23,5d,4b,31,50,03,dd,03,09,67,30,00,00,00,fe\n2014-08-15T19:07:25.516Z,7,127506,129,255,9,97,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:25.538Z,3,126992,160,255,8,ff,ff,a9,3f,64,ec,08,29\n2014-08-15T19:07:25.548Z,3,127508,129,255,8,01,b1,05,f3,01,1e,75,97\n2014-08-15T19:07:25.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:25.614Z,4,129038,43,255,27,01,e0,53,7f,10,e8,62,c4,0e,9a,92,a6,23,68,e6,88,de,05,35,c0,00,ac,87,00,00,00,fe\n2014-08-15T19:07:25.640Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:25.703Z,2,130306,115,255,8,00,cc,02,0e,20,f2,ff,ff\n2014-08-15T19:07:25.728Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:25.734Z,3,129291,160,255,8,ff,fc,62,68,24,00,ff,ff\n2014-08-15T19:07:25.780Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:07:25.809Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:25.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:25.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:25.847Z,2,128259,115,255,8,00,47,01,ff,ff,00,ff,ff\n2014-08-15T19:07:25.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:25.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:25.914Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,d0,e9,08,29,af,c0,00,a9,3f,10,00,fc\n2014-08-15T19:07:25.939Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:25.940Z,3,130577,160,255,14,c0,4a,9b,84,61,01,ff,ff,ff,ff,62,68,24,00\n2014-08-15T19:07:25.944Z,2,129025,160,255,8,90,58,97,23,de,4e,bd,0e\n2014-08-15T19:07:26.043Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:26.062Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,f4,3d,01,00\n2014-08-15T19:07:26.066Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:26.068Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:26.070Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:26.150Z,2,129026,160,255,8,ff,fc,9b,84,61,01,ff,ff\n2014-08-15T19:07:26.229Z,4,129039,43,255,26,12,44,11,b6,0d,1b,4d,bd,0e,46,59,97,23,67,e0,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:26.279Z,6,129540,160,255,135,92,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,54,0b,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:26.281Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:26.394Z,7,129793,43,255,26,04,8e,18,23,00,8c,83,c2,0f,12,28,ed,23,00,d0,e9,08,29,6a,c0,01,a9,3f,10,00,fc\n2014-08-15T19:07:26.395Z,3,127508,129,255,8,01,ac,05,73,01,1e,75,97\n2014-08-15T19:07:26.403Z,3,128267,115,255,8,00,ca,04,00,00,ff,ff,ff\n2014-08-15T19:07:26.405Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:26.432Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:26.442Z,3,127508,129,255,8,01,ac,05,5f,01,1e,75,97\n2014-08-15T19:07:26.449Z,3,129029,160,255,43,4b,a9,3f,ba,09,09,29,00,e8,1c,09,44,66,49,08,00,aa,2c,b4,87,8a,6e,03,30,a3,22,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:26.452Z,3,129033,160,255,8,a9,3f,ba,09,09,29,b4,00\n2014-08-15T19:07:26.543Z,3,126992,160,255,8,ff,ff,a9,3f,56,13,09,29\n2014-08-15T19:07:26.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:26.647Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:07:26.686Z,2,130306,115,255,8,00,93,02,f7,1b,f2,ff,ff\n2014-08-15T19:07:26.710Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:26.736Z,3,127508,129,255,8,01,af,05,9b,01,1e,75,97\n2014-08-15T19:07:26.740Z,3,129291,160,255,8,ff,fc,b1,66,25,00,ff,ff\n2014-08-15T19:07:26.778Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:26.841Z,3,127508,129,255,8,01,ae,05,7a,01,1e,75,97\n2014-08-15T19:07:26.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:26.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:26.845Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:26.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:26.911Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:26.943Z,3,130577,160,255,14,c0,4b,26,85,5f,01,ff,ff,ff,ff,b1,66,25,00\n2014-08-15T19:07:26.945Z,2,129025,160,255,8,64,57,97,23,31,4e,bd,0e\n2014-08-15T19:07:27.033Z,4,129039,43,255,26,12,08,57,b6,0d,6d,6b,cb,0e,99,e1,91,23,6b,04,55,9b,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:27.044Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:27.059Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,f4,3d,01,00\n2014-08-15T19:07:27.062Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:27.064Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:27.067Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:27.069Z,7,127506,129,255,9,98,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:27.145Z,2,129026,160,255,8,ff,fc,26,85,5f,01,ff,ff\n2014-08-15T19:07:27.223Z,4,129038,43,255,27,03,88,d6,d0,0c,3d,9e,e1,0e,1e,04,b6,23,69,83,9b,31,03,00,00,08,2b,9e,ff,7f,00,fe\n2014-08-15T19:07:27.263Z,4,129039,43,255,26,12,44,11,b6,0d,ac,4b,bd,0e,ee,56,97,23,6f,1b,86,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:27.284Z,6,129540,160,255,135,93,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:27.290Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:07:27.434Z,4,129038,43,255,27,01,e0,53,7f,10,21,5f,c4,0e,b8,8d,a6,23,70,d5,88,e3,05,1c,66,08,ac,87,ff,7f,00,fe\n2014-08-15T19:07:27.436Z,3,128267,115,255,8,00,ca,04,00,00,ff,ff,ff\n2014-08-15T19:07:27.438Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:27.450Z,3,129029,160,255,43,4c,a9,3f,d4,30,09,29,00,fa,52,6b,fe,65,49,08,00,cc,44,4d,5a,8a,6e,03,80,66,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:27.453Z,3,129033,160,255,8,a9,3f,d4,30,09,29,b4,00\n2014-08-15T19:07:27.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:27.485Z,3,127508,129,255,8,01,ae,05,78,01,1e,75,98\n2014-08-15T19:07:27.514Z,4,129038,43,255,27,01,b8,53,a6,0c,1b,98,78,0e,6d,f6,9e,23,70,8e,ac,78,02,1c,66,08,88,ae,00,00,00,fe\n2014-08-15T19:07:27.548Z,3,126992,160,255,8,ff,ff,a9,3f,a2,3a,09,29\n2014-08-15T19:07:27.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,25,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:27.633Z,2,130306,115,255,8,00,bc,02,6c,21,f2,ff,ff\n2014-08-15T19:07:27.651Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:27.653Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:27.673Z,4,129038,43,255,27,01,68,e2,20,12,03,aa,fb,0e,90,0e,ad,23,70,60,b0,02,02,0a,84,08,9f,b2,00,00,00,fe\n2014-08-15T19:07:27.742Z,3,129291,160,255,8,ff,fc,24,52,12,00,ff,ff\n2014-08-15T19:07:27.782Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:07:27.840Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:27.842Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:27.845Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:07:27.897Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:27.926Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:27.926Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:27.950Z,3,130577,160,255,14,c0,4c,7e,85,61,01,ff,ff,ff,ff,24,52,12,00\n2014-08-15T19:07:27.952Z,2,129025,160,255,8,39,56,97,23,6e,4d,bd,0e\n2014-08-15T19:07:27.964Z,4,129038,43,255,27,01,92,12,4b,10,d0,8c,f8,0e,45,f6,ad,23,6c,94,b0,c0,02,15,04,01,42,b1,e6,ff,00,fe\n2014-08-15T19:07:28.043Z,4,129039,43,255,26,12,80,e5,c3,0d,dd,b2,c3,0e,d0,1c,95,23,6f,50,56,5d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:28.052Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:28.056Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,f4,3d,01,00\n2014-08-15T19:07:28.059Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:28.062Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:28.064Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:28.144Z,2,129026,160,255,8,ff,fc,7e,85,61,01,ff,ff\n2014-08-15T19:07:28.173Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:28.181Z,3,127508,129,255,8,01,af,05,b0,01,1e,75,98\n2014-08-15T19:07:28.253Z,4,129039,43,255,26,12,44,11,b6,0d,16,4b,bd,0e,b1,55,97,23,73,32,84,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:28.296Z,6,129540,160,255,135,94,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:28.298Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:28.410Z,3,128267,115,255,8,00,fe,04,00,00,ff,ff,ff\n2014-08-15T19:07:28.412Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:28.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:28.468Z,3,129029,160,255,43,4d,a9,3f,da,61,09,29,00,f2,17,b5,b6,65,49,08,00,3c,b0,2f,33,8a,6e,03,80,f5,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:28.470Z,3,129033,160,255,8,a9,3f,da,61,09,29,b4,00\n2014-08-15T19:07:28.564Z,3,126992,160,255,8,ff,ff,a9,3f,da,61,09,29\n2014-08-15T19:07:28.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:28.595Z,3,127508,129,255,8,01,ae,05,80,01,1e,75,98\n2014-08-15T19:07:28.627Z,2,130306,115,255,8,00,8e,02,9a,1a,f2,ff,ff\n2014-08-15T19:07:28.652Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:28.656Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:28.759Z,3,129291,160,255,8,ff,fc,ab,53,1a,00,ff,ff\n2014-08-15T19:07:28.777Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:28.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:28.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:28.847Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:28.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:28.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:28.927Z,3,127508,129,255,8,01,af,05,99,01,1e,75,98\n2014-08-15T19:07:28.957Z,3,130577,160,255,14,c0,4d,15,85,61,01,ff,ff,ff,ff,ab,53,1a,00\n2014-08-15T19:07:28.959Z,2,129025,160,255,8,05,55,97,23,c6,4c,bd,0e\n2014-08-15T19:07:29.054Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,f4,3d,01,00\n2014-08-15T19:07:29.056Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:29.059Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:29.061Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:29.063Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:29.077Z,3,127508,129,255,8,01,ae,05,7f,01,1e,75,98\n2014-08-15T19:07:29.133Z,4,129038,43,255,27,03,88,d6,d0,0c,95,95,e1,0e,58,00,b6,23,71,b7,9b,31,03,50,09,00,2b,9e,00,00,00,fe\n2014-08-15T19:07:29.159Z,2,129026,160,255,8,ff,fc,15,85,61,01,ff,ff\n2014-08-15T19:07:29.239Z,7,127506,129,255,9,99,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:29.263Z,4,129039,43,255,26,12,44,11,b6,0d,6f,4a,bd,0e,74,54,97,23,77,15,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:29.312Z,6,129540,160,255,135,95,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,98,08,00,00,00,00,f1\n2014-08-15T19:07:29.315Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:07:29.424Z,3,128267,115,255,8,00,af,04,00,00,ff,ff,ff\n2014-08-15T19:07:29.427Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:29.433Z,4,129038,43,255,27,01,6c,70,4a,10,a1,a8,03,0f,9a,fd,a3,23,6f,62,35,bf,01,1d,c0,00,21,33,03,00,00,fe\n2014-08-15T19:07:29.454Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:29.471Z,3,129029,160,255,43,4e,a9,3f,f4,88,09,29,00,f8,d6,d4,6d,65,49,08,00,90,27,66,0e,8a,6e,03,20,9a,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:29.474Z,3,129033,160,255,8,a9,3f,f4,88,09,29,b4,00\n2014-08-15T19:07:29.483Z,4,129038,43,255,27,01,e0,53,7f,10,ff,53,c4,0e,f1,7e,a6,23,78,c3,88,de,05,35,c0,00,ac,87,00,00,00,fe\n2014-08-15T19:07:29.569Z,2,130306,115,255,8,00,b7,02,bd,20,f2,ff,ff\n2014-08-15T19:07:29.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,25,02,02,00,01,03,03,00,00,00\n2014-08-15T19:07:29.575Z,3,126992,160,255,8,ff,ff,a9,3f,f4,88,09,29\n2014-08-15T19:07:29.593Z,4,129038,43,255,27,01,b8,f5,67,12,91,70,93,0e,24,c8,91,23,74,56,2d,d6,03,52,84,02,ff,2c,00,00,00,fe\n2014-08-15T19:07:29.629Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:29.665Z,3,127508,129,255,8,01,ac,05,67,01,1e,75,99\n2014-08-15T19:07:29.671Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:07:29.675Z,4,129038,43,255,27,01,c8,d4,7f,10,49,84,df,0e,f4,f4,c1,23,71,72,80,2d,04,ce,08,00,e6,82,00,00,00,fe\n2014-08-15T19:07:29.753Z,4,129038,43,255,27,01,10,dc,6d,0f,51,00,5c,0e,3a,0b,9c,23,75,71,ad,88,02,41,c0,00,88,ae,df,ff,00,fe\n2014-08-15T19:07:29.763Z,3,129291,160,255,8,ff,fc,f6,5e,2a,00,ff,ff\n2014-08-15T19:07:29.781Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:29.834Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:29.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:29.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:29.845Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:29.902Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:29.930Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:29.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:29.968Z,3,130577,160,255,14,c0,4e,03,85,64,01,ff,ff,ff,ff,f6,5e,2a,00\n2014-08-15T19:07:29.970Z,2,129025,160,255,8,cc,53,97,23,28,4c,bd,0e\n2014-08-15T19:07:30.034Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:30.052Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,06,3e,01,00\n2014-08-15T19:07:30.054Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:30.056Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:30.058Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:30.065Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,86,09,29,66,04,0b,a9,3f,00,00,fc\n2014-08-15T19:07:30.169Z,2,129026,160,255,8,ff,fc,03,85,64,01,ff,ff\n2014-08-15T19:07:30.253Z,4,129038,43,255,27,01,88,44,7d,10,c4,24,c7,0e,eb,ec,7f,23,70,f8,82,05,00,1c,66,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:07:30.293Z,4,129039,43,255,26,12,44,11,b6,0d,b8,49,bd,0e,48,53,97,23,7b,c3,85,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:30.316Z,6,129540,160,255,135,96,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2,1f,74,05,dc,53,fc,08,00,00,00,00,f1\n2014-08-15T19:07:30.318Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:07:30.336Z,3,128267,115,255,8,00,e2,04,00,00,ff,ff,ff\n2014-08-15T19:07:30.338Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:30.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,86,09,29,6f,04,0b,a9,3f,00,00,fc\n2014-08-15T19:07:30.422Z,3,127508,129,255,8,01,ae,05,7b,01,1e,75,99\n2014-08-15T19:07:30.422Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:30.474Z,3,129029,160,255,43,4f,a9,3f,36,b0,09,29,00,d6,2a,06,24,65,49,08,00,36,f8,0c,e7,89,6e,03,b0,f9,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:30.476Z,3,129033,160,255,8,a9,3f,36,b0,09,29,b4,00\n2014-08-15T19:07:30.503Z,3,127508,129,255,8,01,ae,05,87,01,1e,75,99\n2014-08-15T19:07:30.541Z,2,130306,115,255,8,00,bc,02,3c,19,f2,ff,ff\n2014-08-15T19:07:30.567Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:30.569Z,3,126992,160,255,8,ff,ff,a9,3f,36,b0,09,29\n2014-08-15T19:07:30.573Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,37,02,02,00,00,00,04,00,00,00\n2014-08-15T19:07:30.633Z,4,129038,43,255,27,01,58,43,c9,0e,b3,40,d3,0e,8d,3a,a9,23,7c,fd,ad,d0,02,6d,c0,00,88,ae,00,00,00,fe\n2014-08-15T19:07:30.671Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:07:30.688Z,3,127508,129,255,8,01,b1,05,cc,01,1e,75,99\n2014-08-15T19:07:30.763Z,4,129039,43,255,26,12,44,11,b6,0d,b8,49,bd,0e,48,53,97,23,7b,c3,85,7c,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:07:30.776Z,3,129291,160,255,8,ff,fc,b0,56,29,00,ff,ff\n2014-08-15T19:07:30.778Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:30.791Z,3,127508,129,255,8,01,af,05,a1,01,1e,75,99\n2014-08-15T19:07:30.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:30.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:30.845Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:07:30.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:30.914Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:30.963Z,4,129038,43,255,27,01,c8,27,16,0e,97,b2,6d,0e,3c,d9,94,23,71,39,31,50,03,ab,84,00,67,30,00,00,00,fe\n2014-08-15T19:07:30.980Z,2,129025,160,255,8,8f,52,97,23,7f,4b,bd,0e\n2014-08-15T19:07:30.980Z,3,130577,160,255,14,c0,4f,e0,84,69,01,ff,ff,ff,ff,b0,56,29,00\n2014-08-15T19:07:31.048Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,06,3e,01,00\n2014-08-15T19:07:31.052Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:31.054Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:31.056Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:31.082Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:31.178Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:07:31.180Z,2,129026,160,255,8,ff,fc,e0,84,69,01,ff,ff\n2014-08-15T19:07:31.213Z,4,129038,43,255,27,03,88,d6,d0,0c,cb,8c,e1,0e,a2,fc,b5,23,79,0f,9c,31,03,b1,09,08,da,9e,00,00,00,fe\n2014-08-15T19:07:31.282Z,7,127506,129,255,9,9a,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:31.294Z,4,129039,43,255,26,12,44,11,b6,0d,df,48,bd,0e,1c,52,97,23,7f,e0,87,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:31.310Z,6,129540,160,255,135,97,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,80,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2,1f,74,05,dc,53,98,08,00,00,00,00,f1\n2014-08-15T19:07:31.311Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:07:31.334Z,4,129038,43,255,27,01,e0,53,7f,10,5a,50,c4,0e,fe,79,a6,23,80,a0,88,de,05,35,40,09,ac,87,00,00,00,fe\n2014-08-15T19:07:31.373Z,4,129038,43,255,27,01,d0,e7,da,0d,75,9a,33,0f,2f,14,c4,23,81,2f,02,05,00,1c,66,08,70,b9,00,00,00,fe\n2014-08-15T19:07:31.401Z,3,128267,115,255,8,00,75,04,00,00,ff,ff,ff\n2014-08-15T19:07:31.404Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:31.451Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:31.479Z,3,129029,160,255,43,50,a9,3f,28,d7,09,29,00,ea,e3,fb,d9,64,49,08,00,72,81,be,bb,89,6e,03,80,13,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:31.481Z,3,129033,160,255,8,a9,3f,28,d7,09,29,b4,00\n2014-08-15T19:07:31.525Z,2,130306,115,255,8,00,ff,02,8f,27,f2,ff,ff\n2014-08-15T19:07:31.545Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:31.551Z,3,127508,129,255,8,01,af,05,9e,01,1e,75,9a\n2014-08-15T19:07:31.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:31.573Z,3,126992,160,255,8,ff,ff,a9,3f,28,d7,09,29\n2014-08-15T19:07:31.675Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:07:31.775Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:07:31.778Z,3,129291,160,255,8,ff,fc,42,5b,1e,00,ff,ff\n2014-08-15T19:07:31.803Z,4,129038,43,255,27,01,b0,79,7a,10,0b,12,d1,0e,9d,9c,82,23,78,48,d9,e8,01,1c,66,08,d9,da,96,ff,00,fe\n2014-08-15T19:07:31.840Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:31.842Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:31.844Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:07:31.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:31.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:31.922Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:31.973Z,3,130577,160,255,14,c0,50,5b,85,6a,01,ff,ff,ff,ff,42,5b,1e,00\n2014-08-15T19:07:31.976Z,2,129025,160,255,8,51,51,97,23,c5,4a,bd,0e\n2014-08-15T19:07:32.046Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,06,3e,01,00\n2014-08-15T19:07:32.049Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:32.051Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:32.054Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:32.074Z,4,129039,43,255,26,12,8c,d3,b5,0d,4a,02,be,0e,39,18,98,23,7c,9b,8a,49,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:07:32.081Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:32.158Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:32.175Z,2,129026,160,255,8,ff,fc,5b,85,6a,01,ff,ff\n2014-08-15T19:07:32.316Z,6,129540,160,255,135,98,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,fc,08,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:32.318Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:07:32.322Z,4,129039,43,255,26,12,44,11,b6,0d,17,48,bd,0e,f0,50,97,23,83,03,88,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:32.337Z,3,128267,115,255,8,00,a5,04,00,00,ff,ff,ff\n2014-08-15T19:07:32.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:32.351Z,3,127508,129,255,8,01,af,05,a0,01,1e,75,9a\n2014-08-15T19:07:32.354Z,4,129038,43,255,27,01,98,69,b3,0e,d1,4f,8d,0e,e6,6f,a0,23,79,14,af,f8,01,22,40,01,e5,af,00,00,00,fe\n2014-08-15T19:07:32.394Z,4,129038,43,255,27,01,b8,83,92,0e,d9,bc,e0,0e,90,c8,75,23,81,8e,c1,05,00,bb,04,09,59,d3,00,00,00,fe\n2014-08-15T19:07:32.417Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:32.477Z,2,130306,115,255,8,00,83,02,31,17,f2,ff,ff\n2014-08-15T19:07:32.488Z,3,129029,160,255,43,51,a9,3f,24,fe,09,29,00,0a,14,34,93,64,49,08,00,70,34,90,84,89,6e,03,20,9a,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:32.490Z,3,129033,160,255,8,a9,3f,24,fe,09,29,b4,00\n2014-08-15T19:07:32.504Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:32.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,36,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:32.584Z,7,129793,43,255,26,04,90,18,23,00,82,d2,e2,0e,c8,31,d3,23,00,30,d4,09,29,c2,84,01,a9,3f,10,00,fc\n2014-08-15T19:07:32.585Z,3,126992,160,255,8,ff,ff,a9,3f,24,fe,09,29\n2014-08-15T19:07:32.677Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:07:32.730Z,3,127508,129,255,8,01,b0,05,a6,01,1e,75,9a\n2014-08-15T19:07:32.779Z,3,129291,160,255,8,ff,fc,1c,5b,08,00,ff,ff\n2014-08-15T19:07:32.781Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:32.785Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:32.824Z,4,129039,43,255,26,12,6e,c9,b5,0d,a7,ba,d2,0e,a8,1d,8f,23,83,b3,58,68,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:32.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:32.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:32.845Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:32.901Z,3,127508,129,255,8,01,af,05,9e,01,1e,75,9a\n2014-08-15T19:07:32.905Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:32.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:32.983Z,3,130577,160,255,14,c0,51,95,86,6c,01,ff,ff,ff,ff,1c,5b,08,00\n2014-08-15T19:07:32.985Z,2,129025,160,255,8,21,50,97,23,d8,49,bd,0e\n2014-08-15T19:07:33.043Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,06,3e,01,00\n2014-08-15T19:07:33.046Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:33.048Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:33.051Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:33.075Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:33.114Z,4,129038,43,255,27,03,88,d6,d0,0c,01,84,e1,0e,ec,f8,b5,23,81,66,9c,37,03,00,00,00,da,9e,00,00,00,fe\n2014-08-15T19:07:33.178Z,2,129026,160,255,8,ff,fc,95,86,6c,01,ff,ff\n2014-08-15T19:07:33.318Z,6,129540,160,255,135,99,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:33.320Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:33.323Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:33.327Z,4,129039,43,255,26,12,44,11,b6,0d,60,47,bd,0e,b4,4f,97,23,87,f8,85,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:33.364Z,4,129038,43,255,27,01,e0,53,7f,10,20,49,c4,0e,19,70,a6,23,88,6c,88,e3,05,de,84,01,ac,87,ff,7f,00,fe\n2014-08-15T19:07:33.428Z,3,128267,115,255,8,00,8a,04,00,00,ff,ff,ff\n2014-08-15T19:07:33.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:33.452Z,2,130306,115,255,8,00,d1,02,03,1e,f2,ff,ff\n2014-08-15T19:07:33.471Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:33.487Z,3,129029,160,255,43,52,a9,3f,5c,25,0a,29,00,da,6d,8f,4a,64,49,08,00,78,db,10,55,89,6e,03,90,3a,1c,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:33.489Z,3,129033,160,255,8,a9,3f,5c,25,0a,29,b4,00\n2014-08-15T19:07:33.496Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:33.526Z,4,129038,43,255,27,01,08,7b,ba,0d,4d,fc,91,0e,30,68,bc,23,81,37,a0,77,01,0b,85,09,37,a0,00,00,00,fe\n2014-08-15T19:07:33.564Z,4,129038,43,255,27,01,20,f6,7e,10,b0,38,c7,0e,cb,e9,7f,23,85,39,31,00,00,e7,84,00,13,c7,00,00,0f,fe\n2014-08-15T19:07:33.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4d,02,02,00,00,00,04,00,00,00\n2014-08-15T19:07:33.583Z,3,126992,160,255,8,ff,ff,a9,3f,5c,25,0a,29\n2014-08-15T19:07:33.596Z,3,127508,129,255,8,01,ae,05,60,01,1e,75,9a\n2014-08-15T19:07:33.683Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:07:33.723Z,4,129038,43,255,27,01,38,5e,49,16,37,7a,ca,0e,92,bf,76,23,85,66,a8,00,00,30,c0,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:33.749Z,7,127506,129,255,9,9b,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:33.775Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:33.786Z,3,129291,160,255,8,ff,fc,1c,5b,08,00,ff,ff\n2014-08-15T19:07:33.788Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:33.804Z,4,129038,43,255,27,01,40,37,b7,0d,10,bc,89,0e,3e,75,bf,23,89,b8,7a,00,00,19,40,01,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:33.854Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:33.857Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:33.859Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:33.886Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:33.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:33.978Z,3,130577,160,255,14,c0,52,d5,85,6c,01,ff,ff,ff,ff,8f,61,19,00\n2014-08-15T19:07:33.982Z,2,129025,160,255,8,e9,4e,97,23,0c,49,bd,0e\n2014-08-15T19:07:34.040Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,06,3e,01,00\n2014-08-15T19:07:34.044Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:34.048Z,4,129038,43,255,27,01,08,99,b5,0d,18,83,ce,0e,a0,0f,a5,23,8c,ff,4a,49,01,37,c0,09,f3,48,00,00,00,fe\n2014-08-15T19:07:34.050Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:34.053Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:34.077Z,3,127508,129,255,8,01,af,05,90,01,1e,75,9b\n2014-08-15T19:07:34.080Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:34.124Z,4,129038,43,255,27,01,58,eb,ad,0e,d2,55,60,0e,38,0b,90,23,8b,51,2f,d4,01,38,c0,01,5c,2e,00,00,00,fe\n2014-08-15T19:07:34.181Z,2,129026,160,255,8,ff,fc,d5,85,6c,01,ff,ff\n2014-08-15T19:07:34.184Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:34.321Z,6,129540,160,255,135,9a,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:34.323Z,2,127250,160,255,8,ff,c4,88,ff,7f,86,05,fc\n2014-08-15T19:07:34.332Z,3,128267,115,255,8,00,78,04,00,00,ff,ff,ff\n2014-08-15T19:07:34.336Z,4,129039,43,255,26,12,44,11,b6,0d,b9,46,bd,0e,88,4e,97,23,8b,2c,86,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:34.338Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:34.414Z,2,130306,115,255,8,00,89,02,a5,1c,f2,ff,ff\n2014-08-15T19:07:34.444Z,4,129038,43,255,27,01,d2,ff,4a,10,03,8b,b1,0e,63,01,71,23,89,59,e8,00,00,08,85,00,37,91,0e,00,00,fe\n2014-08-15T19:07:34.450Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:34.476Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:34.489Z,3,129029,160,255,43,53,a9,3f,80,4c,0a,29,00,d2,32,d9,02,64,49,08,00,6e,82,94,2f,89,6e,03,30,50,1b,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:34.492Z,3,129033,160,255,8,a9,3f,80,4c,0a,29,b4,00\n2014-08-15T19:07:34.511Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:34.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:34.586Z,3,126992,160,255,8,ff,ff,a9,3f,80,4c,0a,29\n2014-08-15T19:07:34.689Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:07:34.778Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:34.790Z,3,129291,160,255,8,ff,fc,8f,61,19,00,ff,ff\n2014-08-15T19:07:34.840Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:34.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:34.845Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:34.905Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:34.940Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:34.972Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:34.976Z,4,129038,43,255,27,01,10,04,1a,0e,45,43,fc,0e,a4,b1,ae,23,84,83,b0,9c,02,c7,08,00,9f,b2,00,00,00,fe\n2014-08-15T19:07:34.982Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:34.984Z,3,130577,160,255,14,c0,53,a0,85,69,01,ff,ff,ff,ff,d2,5c,1d,00\n2014-08-15T19:07:34.988Z,2,129025,160,255,8,b5,4d,97,23,6b,48,bd,0e\n2014-08-15T19:07:35.014Z,4,129038,43,255,27,01,28,f5,77,10,10,45,a1,0e,3d,83,74,23,84,c5,31,c3,00,45,40,01,67,30,00,00,00,fe\n2014-08-15T19:07:35.038Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,19,3e,01,00\n2014-08-15T19:07:35.041Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:35.043Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:35.046Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:35.085Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:35.188Z,2,129026,160,255,8,ff,fc,a0,85,69,01,ff,ff\n2014-08-15T19:07:35.194Z,4,129038,43,255,27,01,fc,ff,e9,25,a1,f5,24,0f,4a,e8,be,23,89,7d,bb,c5,02,18,c0,00,7c,bb,df,ff,00,fe\n2014-08-15T19:07:35.244Z,4,129038,43,255,27,01,c8,d4,7f,10,79,7c,df,0e,e2,de,c1,23,89,43,81,2d,04,26,05,09,94,83,00,00,00,fe\n2014-08-15T19:07:35.284Z,4,129038,43,255,27,03,88,d6,d0,0c,15,7b,e1,0e,46,f5,b5,23,89,cf,9c,31,03,10,09,08,da,9e,00,00,00,fe\n2014-08-15T19:07:35.319Z,6,129540,160,255,135,9b,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:35.321Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:07:35.343Z,4,129039,43,255,26,12,44,11,b6,0d,23,46,bd,0e,5c,4d,97,23,8f,be,84,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:35.347Z,3,128267,115,255,8,00,5c,04,00,00,ff,ff,ff\n2014-08-15T19:07:35.351Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:35.381Z,2,130306,115,255,8,00,ad,02,83,25,f2,ff,ff\n2014-08-15T19:07:35.407Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:35.445Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:35.453Z,3,127508,129,255,8,01,b0,05,a8,01,1e,75,9b\n2014-08-15T19:07:35.464Z,4,129038,43,255,27,03,d0,3e,93,21,f7,7a,e0,0e,65,eb,75,23,8c,72,71,00,00,00,00,08,13,d6,00,00,05,fe\n2014-08-15T19:07:35.501Z,3,129029,160,255,43,54,a9,3f,9a,73,0a,29,00,ca,f7,22,bb,63,49,08,00,3c,be,29,09,89,6e,03,a0,d2,1e,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:35.503Z,3,129033,160,255,8,a9,3f,9a,73,0a,29,b4,00\n2014-08-15T19:07:35.507Z,4,129038,43,255,27,01,b8,f5,67,12,11,96,93,0e,ac,d0,91,23,8c,56,2d,d6,03,62,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:07:35.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,41,02,02,00,00,00,04,00,00,00\n2014-08-15T19:07:35.597Z,3,126992,160,255,8,ff,ff,a9,3f,9a,73,0a,29\n2014-08-15T19:07:35.644Z,4,129038,43,255,27,01,e0,53,7f,10,fe,3d,c4,0e,41,61,a6,23,90,c3,88,e3,05,37,c0,08,5a,88,ff,7f,00,fe\n2014-08-15T19:07:35.689Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:07:35.773Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:35.791Z,3,129291,160,255,8,ff,fc,d2,5c,1d,00,ff,ff\n2014-08-15T19:07:35.837Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:35.839Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:35.841Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:35.871Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:35.884Z,3,127508,129,255,8,01,b0,05,bc,01,1e,75,9b\n2014-08-15T19:07:35.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:35.914Z,7,129793,43,255,26,04,91,18,23,00,60,1a,86,0e,5e,f7,c7,23,00,70,70,0a,29,af,c0,08,a9,3f,10,00,fc\n2014-08-15T19:07:35.999Z,3,130577,160,255,14,c0,54,38,85,6a,01,ff,ff,ff,ff,d2,5c,1d,00\n2014-08-15T19:07:36.004Z,2,129025,160,255,8,81,4c,97,23,c6,47,bd,0e\n2014-08-15T19:07:36.035Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,19,3e,01,00\n2014-08-15T19:07:36.041Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:36.041Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:36.054Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:36.096Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:36.211Z,2,129026,160,255,8,ff,fc,38,85,6a,01,ff,ff\n2014-08-15T19:07:36.226Z,3,127508,129,255,8,01,af,05,8c,01,1e,75,9b\n2014-08-15T19:07:36.302Z,3,127508,129,255,8,01,b0,05,a2,01,1e,75,9b\n2014-08-15T19:07:36.340Z,6,129540,160,255,135,9c,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:07:36.342Z,2,127250,160,255,8,ff,0f,87,ff,7f,86,05,fc\n2014-08-15T19:07:36.347Z,3,128267,115,255,8,00,25,04,00,00,ff,ff,ff\n2014-08-15T19:07:36.350Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:36.363Z,4,129039,43,255,26,12,44,11,b6,0d,6c,45,bd,0e,30,4c,97,23,93,0f,87,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:36.369Z,2,130306,115,255,8,00,89,02,0e,20,f2,ff,ff\n2014-08-15T19:07:36.395Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:36.422Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:36.502Z,3,129029,160,255,43,55,a9,3f,d2,9a,0a,29,00,7e,5d,d2,74,63,49,08,00,84,be,1d,e1,88,6e,03,40,e8,1d,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:36.504Z,3,129033,160,255,8,a9,3f,d2,9a,0a,29,b4,00\n2014-08-15T19:07:36.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:36.600Z,3,126992,160,255,8,ff,ff,a9,3f,d2,9a,0a,29\n2014-08-15T19:07:36.693Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:07:36.773Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:36.796Z,3,129291,160,255,8,ff,fc,d0,71,21,00,ff,ff\n2014-08-15T19:07:36.836Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:36.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:36.840Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:07:36.848Z,7,127506,129,255,9,9c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:36.872Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:36.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:37.000Z,3,130577,160,255,14,c0,55,a0,85,67,01,ff,ff,ff,ff,d0,71,21,00\n2014-08-15T19:07:37.002Z,2,129025,160,255,8,53,4b,97,23,1a,47,bd,0e\n2014-08-15T19:07:37.033Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,19,3e,01,00\n2014-08-15T19:07:37.037Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:37.038Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:37.041Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:37.053Z,4,129038,43,255,27,01,58,43,c9,0e,67,23,d3,0e,a5,36,a9,23,94,eb,ad,d0,02,6a,85,08,88,ae,00,00,00,fe\n2014-08-15T19:07:37.095Z,4,129038,43,255,27,01,b8,53,a6,0c,b2,71,78,0e,e4,f0,9e,23,94,8e,ac,78,02,1f,c3,01,88,ae,00,00,00,fe\n2014-08-15T19:07:37.102Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:37.203Z,2,129026,160,255,8,ff,fc,a0,85,67,01,ff,ff\n2014-08-15T19:07:37.210Z,3,127508,129,255,8,01,af,05,93,01,1e,75,9c\n2014-08-15T19:07:37.217Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:37.288Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:37.334Z,6,129540,160,255,135,9d,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:07:37.336Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:07:37.338Z,2,130306,115,255,8,00,bc,02,77,23,f2,ff,ff\n2014-08-15T19:07:37.363Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:37.373Z,4,129039,43,255,26,12,44,11,b6,0d,d6,44,bd,0e,f3,4a,97,23,97,95,83,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:37.409Z,3,128267,115,255,8,00,4a,04,00,00,ff,ff,ff\n2014-08-15T19:07:37.411Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:37.434Z,4,129038,43,255,27,01,e0,53,7f,10,27,3a,c4,0e,5f,5c,a6,23,98,3d,89,e3,05,37,c0,00,5a,88,ff,7f,00,fe\n2014-08-15T19:07:37.441Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:37.507Z,3,129029,160,255,43,56,a9,3f,ec,c1,0a,29,00,fc,5d,bd,2e,63,49,08,00,96,59,4d,b9,88,6e,03,c0,20,1f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:37.509Z,3,129033,160,255,8,a9,3f,ec,c1,0a,29,b4,00\n2014-08-15T19:07:37.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,29,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:37.604Z,3,126992,160,255,8,ff,ff,a9,3f,ec,c1,0a,29\n2014-08-15T19:07:37.679Z,3,127508,129,255,8,01,af,05,80,01,1e,75,9c\n2014-08-15T19:07:37.696Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:07:37.772Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:37.785Z,4,129038,43,255,27,03,88,d6,d0,0c,cd,6d,e1,0e,ce,ef,b5,23,95,03,9d,31,03,f1,07,00,da,9e,00,00,00,fe\n2014-08-15T19:07:37.798Z,3,129291,160,255,8,ff,fc,eb,7b,1b,00,ff,ff\n2014-08-15T19:07:37.833Z,4,129038,43,255,27,01,c8,27,16,0e,19,e0,6d,0e,86,e0,94,23,91,28,31,50,03,ab,05,09,16,31,0a,00,00,fe\n2014-08-15T19:07:37.840Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:37.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:37.845Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:37.873Z,4,129039,43,255,26,12,ec,d7,b5,0d,31,a3,bb,0e,52,fc,8e,23,96,95,7d,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:37.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:37.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:37.914Z,4,129038,43,255,27,01,e0,65,7c,10,dd,b8,c2,0e,52,5e,6e,23,94,0e,c3,00,00,3c,40,09,71,aa,00,00,00,fe\n2014-08-15T19:07:37.948Z,3,127508,129,255,8,01,ac,05,37,01,1e,75,9c\n2014-08-15T19:07:38.002Z,3,130577,160,255,14,c0,56,15,85,65,01,ff,ff,ff,ff,eb,7b,1b,00\n2014-08-15T19:07:38.003Z,3,127508,129,255,8,01,ac,05,43,01,1e,75,9c\n2014-08-15T19:07:38.004Z,2,129025,160,255,8,26,4a,97,23,6f,46,bd,0e\n2014-08-15T19:07:38.030Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,19,3e,01,00\n2014-08-15T19:07:38.032Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:38.035Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:38.037Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:38.106Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:38.197Z,2,129026,160,255,8,ff,fc,15,85,65,01,ff,ff\n2014-08-15T19:07:38.223Z,3,127508,129,255,8,01,ae,05,53,01,1e,75,9c\n2014-08-15T19:07:38.233Z,4,129038,43,255,27,01,68,e2,20,12,fd,86,fb,0e,0c,0b,ad,23,98,3d,b0,fd,01,96,05,01,9f,b2,00,00,00,fe\n2014-08-15T19:07:38.327Z,6,129540,160,255,135,9e,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,48,0d,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,8c,0a,00,00,00,00,f1\n2014-08-15T19:07:38.329Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:07:38.331Z,2,130306,115,255,8,00,4b,02,03,1e,f2,ff,ff\n2014-08-15T19:07:38.341Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:38.383Z,4,129039,43,255,26,12,44,11,b6,0d,72,44,bd,0e,95,49,97,23,9b,8f,82,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:38.428Z,3,128267,115,255,8,00,5c,04,00,00,ff,ff,ff\n2014-08-15T19:07:38.430Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:38.463Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:38.512Z,3,129029,160,255,43,57,a9,3f,de,e8,0a,29,00,b0,c3,6c,e8,62,49,08,00,38,24,cd,9a,88,6e,03,50,80,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:38.514Z,3,129033,160,255,8,a9,3f,de,e8,0a,29,b4,00\n2014-08-15T19:07:38.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3a,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:38.583Z,4,129038,43,255,27,01,92,12,4b,10,38,52,f8,0e,c2,ef,ad,23,98,94,b0,c0,02,a3,05,09,42,b1,fd,ff,00,fe\n2014-08-15T19:07:38.614Z,3,126992,160,255,8,ff,ff,a9,3f,de,e8,0a,29\n2014-08-15T19:07:38.716Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:38.776Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:38.809Z,7,127506,129,255,9,9c,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:38.820Z,3,129291,160,255,8,ff,fc,14,7d,25,00,ff,ff\n2014-08-15T19:07:38.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:38.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:38.848Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:38.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:38.932Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:39.016Z,3,127508,129,255,8,01,ae,05,5e,01,1e,75,9c\n2014-08-15T19:07:39.016Z,3,130577,160,255,14,c0,57,32,84,62,01,ff,ff,ff,ff,14,7d,25,00\n2014-08-15T19:07:39.018Z,2,129025,160,255,8,f8,48,97,23,ec,45,bd,0e\n2014-08-15T19:07:39.027Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,19,3e,01,00\n2014-08-15T19:07:39.029Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:39.032Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:39.035Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:39.113Z,4,129038,43,255,27,01,10,dc,6d,0f,a0,d7,5b,0e,6d,08,9c,23,99,60,ad,88,02,b7,85,08,88,ae,1a,00,00,fe\n2014-08-15T19:07:39.124Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:39.153Z,4,129038,43,255,27,03,88,d6,d0,0c,4f,69,e1,0e,fc,ed,b5,23,99,26,9d,31,03,00,00,08,88,9f,00,00,00,fe\n2014-08-15T19:07:39.214Z,2,129026,160,255,8,ff,fc,32,84,62,01,ff,ff\n2014-08-15T19:07:39.279Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:39.294Z,2,130306,115,255,8,00,bc,02,b1,1e,f2,ff,ff\n2014-08-15T19:07:39.343Z,6,129540,160,255,135,9f,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,48,0d,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,c4,09,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:39.345Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:07:39.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:39.403Z,4,129039,43,255,26,12,44,11,b6,0d,ed,43,bd,0e,58,48,97,23,9f,72,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:39.432Z,3,128267,115,255,8,00,7b,04,00,00,ff,ff,ff\n2014-08-15T19:07:39.435Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:39.453Z,4,129038,43,255,27,01,e0,53,7f,10,5e,2e,c4,0e,a8,4d,a6,23,a0,b8,89,e8,05,1c,66,08,5a,88,00,00,00,fe\n2014-08-15T19:07:39.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:39.530Z,3,129029,160,255,43,58,a9,3f,f8,0f,0b,29,00,c2,f9,ce,a2,62,49,08,00,f6,e2,f8,79,88,6e,03,e0,6e,1f,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:39.532Z,3,129033,160,255,8,a9,3f,f8,0f,0b,29,b4,00\n2014-08-15T19:07:39.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,28,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:39.632Z,3,126992,160,255,8,ff,ff,a9,3f,f8,0f,0b,29\n2014-08-15T19:07:39.712Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:39.723Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:07:39.775Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:39.788Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:07:39.824Z,3,129291,160,255,8,ff,fc,c3,60,22,00,ff,ff\n2014-08-15T19:07:39.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:39.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:39.846Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:39.903Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:39.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:39.960Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:39.978Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:07:40.024Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,2b,3e,01,00\n2014-08-15T19:07:40.028Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:40.030Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:40.032Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:40.036Z,3,130577,160,255,14,c0,58,fe,83,5f,01,ff,ff,ff,ff,c3,60,22,00\n2014-08-15T19:07:40.038Z,2,129025,160,255,8,cd,47,97,23,5f,45,bd,0e\n2014-08-15T19:07:40.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,0c,0b,29,1c,66,02,a9,3f,00,00,fc\n2014-08-15T19:07:40.128Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:40.186Z,3,127508,129,255,8,01,af,05,72,01,1e,75,9c\n2014-08-15T19:07:40.229Z,2,129026,160,255,8,ff,fc,fe,83,5f,01,ff,ff\n2014-08-15T19:07:40.301Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:07:40.327Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:40.358Z,6,129540,160,255,135,a0,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,f0,0a,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,48,0d,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1c,74,05,e5,be,c4,09,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f6\n2014-08-15T19:07:40.361Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,0c,0b,29,e6,05,03,a9,3f,00,00,fc\n2014-08-15T19:07:40.402Z,3,128267,115,255,8,00,c4,04,00,00,ff,ff,ff\n2014-08-15T19:07:40.404Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:40.413Z,4,129039,43,255,26,12,44,11,b6,0d,46,43,bd,0e,0b,47,97,23,a3,32,84,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:40.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:40.536Z,3,129029,160,255,43,59,a9,3f,12,37,0b,29,00,e2,29,07,5c,62,49,08,00,b6,24,b8,54,88,6e,03,50,80,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:40.538Z,3,129033,160,255,8,a9,3f,12,37,0b,29,b4,00\n2014-08-15T19:07:40.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,43,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:40.624Z,3,126992,160,255,8,ff,ff,a9,3f,12,37,0b,29\n2014-08-15T19:07:40.633Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,a2,bf,76,23,a1,00,03,00,00,14,86,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:40.673Z,4,129038,43,255,27,01,6c,70,4a,10,f6,c9,03,0f,fc,00,a4,23,9b,96,35,bf,01,1d,c0,08,21,33,03,00,00,fe\n2014-08-15T19:07:40.734Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:40.740Z,3,127508,129,255,8,01,af,05,87,01,1e,75,9c\n2014-08-15T19:07:40.743Z,4,129038,43,255,27,01,02,8b,c4,0d,35,9d,e0,0e,d4,d5,c8,23,a4,e6,82,62,01,92,c0,00,a0,85,00,00,00,fe\n2014-08-15T19:07:40.768Z,3,127508,129,255,8,01,ae,05,6c,01,1e,75,9c\n2014-08-15T19:07:40.770Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:40.834Z,3,129291,160,255,8,ff,fc,a0,65,2f,00,ff,ff\n2014-08-15T19:07:40.836Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:40.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:40.841Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:40.870Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:40.886Z,4,129041,43,255,48,15,ad,54,2c,3b,0e,ce,f1,0e,46,8e,8a,23,90,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,36,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:07:40.907Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:41.021Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,2b,3e,01,00\n2014-08-15T19:07:41.028Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:41.030Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:41.031Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:41.034Z,2,129025,160,255,8,9d,46,97,23,bf,44,bd,0e\n2014-08-15T19:07:41.034Z,3,130577,160,255,14,c0,59,0f,84,61,01,ff,ff,ff,ff,a0,65,2f,00\n2014-08-15T19:07:41.038Z,4,129038,43,255,27,01,b0,79,7a,10,dc,fd,d0,0e,55,a8,82,23,9c,36,d9,e8,01,4a,40,01,2a,da,ce,ff,00,fe\n2014-08-15T19:07:41.080Z,4,129038,43,255,27,01,98,69,b3,0e,bc,34,8d,0e,73,6c,a0,23,99,43,ae,f8,01,22,40,09,e5,af,00,00,00,fe\n2014-08-15T19:07:41.117Z,3,127508,129,255,8,01,b0,05,90,01,1e,75,9c\n2014-08-15T19:07:41.139Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:41.143Z,4,129038,43,255,27,01,c8,d4,7f,10,3f,75,df,0e,08,c8,c1,23,a1,43,81,2d,04,03,06,01,94,83,00,00,00,fe\n2014-08-15T19:07:41.188Z,4,129038,43,255,27,03,88,d6,d0,0c,75,60,e1,0e,56,ea,b5,23,a1,37,9d,37,03,90,09,00,88,9f,00,00,00,fe\n2014-08-15T19:07:41.230Z,2,129026,160,255,8,ff,fc,0f,84,61,01,ff,ff\n2014-08-15T19:07:41.246Z,4,129039,43,255,26,12,66,58,b6,0d,f7,c2,bb,0e,49,ff,91,23,a3,d5,85,62,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:41.326Z,2,130306,115,255,8,00,7e,02,03,1e,f2,ff,ff\n2014-08-15T19:07:41.350Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:41.354Z,4,129038,43,255,27,01,e0,53,7f,10,76,2a,c4,0e,c6,48,a6,23,a8,a6,89,e3,05,0b,86,00,5a,88,00,00,00,fe\n2014-08-15T19:07:41.368Z,6,129540,160,255,135,a1,ff,0b,20,16,31,fd,95,10,0e,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,60,09,00,00,00,00,f2,1f,74,05,dc,53,f0,0a,00,00,00,00,f1\n2014-08-15T19:07:41.371Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:41.403Z,4,129038,43,255,27,01,c0,0b,7e,10,d1,71,e3,0e,5e,24,d3,23,a0,46,06,37,03,55,c0,00,d1,06,00,00,00,fe\n2014-08-15T19:07:41.434Z,3,128267,115,255,8,00,3b,05,00,00,ff,ff,ff\n2014-08-15T19:07:41.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:41.443Z,4,129039,43,255,26,12,44,11,b6,0d,c1,42,bd,0e,ce,45,97,23,a7,83,83,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:41.466Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:41.484Z,4,129038,43,255,27,01,b8,f5,67,12,81,bb,93,0e,22,d9,91,23,a4,56,2d,d6,03,0e,86,03,ff,2c,00,00,00,fe\n2014-08-15T19:07:41.524Z,4,129039,43,255,26,12,9e,d6,c3,0d,b9,04,c8,0e,c4,80,93,23,a6,61,56,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:41.541Z,3,129029,160,255,43,5a,a9,3f,68,5e,0b,29,00,46,b9,d9,13,62,49,08,00,aa,48,a8,33,88,6e,03,b0,db,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:41.543Z,3,129033,160,255,8,a9,3f,68,5e,0b,29,b4,00\n2014-08-15T19:07:41.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:41.637Z,3,126992,160,255,8,ff,ff,a9,3f,68,5e,0b,29\n2014-08-15T19:07:41.664Z,7,127506,129,255,9,9e,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:41.704Z,4,129039,43,255,26,12,c4,e2,c3,0d,ab,e4,c3,0e,d5,f7,94,23,a4,27,55,62,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:07:41.735Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:41.770Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:41.835Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:41.837Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:41.839Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:41.842Z,3,129291,160,255,8,ff,fc,22,4f,26,00,ff,ff\n2014-08-15T19:07:41.867Z,3,127508,129,255,8,01,ac,05,47,01,1e,75,9e\n2014-08-15T19:07:41.870Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:41.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:42.019Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,2b,3e,01,00\n2014-08-15T19:07:42.021Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:42.024Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:42.027Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:42.044Z,3,130577,160,255,14,c0,5a,83,83,62,01,ff,ff,ff,ff,22,4f,26,00\n2014-08-15T19:07:42.045Z,2,129025,160,255,8,67,45,97,23,31,44,bd,0e\n2014-08-15T19:07:42.144Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:42.235Z,2,129026,160,255,8,ff,fc,83,83,62,01,ff,ff\n2014-08-15T19:07:42.303Z,2,130306,115,255,8,00,79,02,03,1e,f2,ff,ff\n2014-08-15T19:07:42.324Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:42.371Z,6,129540,160,255,135,a2,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,c4,09,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:42.373Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:42.418Z,3,128267,115,255,8,00,41,05,00,00,ff,ff,ff\n2014-08-15T19:07:42.420Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:42.444Z,4,129039,43,255,26,12,44,11,b6,0d,1a,42,bd,0e,92,44,97,23,ab,78,84,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:42.448Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:42.501Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:42.550Z,3,129029,160,255,43,5b,a9,3f,5a,85,0b,29,00,b8,42,82,ca,61,49,08,00,e2,cb,32,11,88,6e,03,b0,db,23,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:42.553Z,3,129033,160,255,8,a9,3f,5a,85,0b,29,b4,00\n2014-08-15T19:07:42.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,40,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:42.584Z,7,129793,43,255,26,04,90,18,23,00,18,d3,e2,0e,64,31,d3,23,00,d0,5a,0b,29,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:07:42.646Z,3,126992,160,255,8,ff,ff,a9,3f,5a,85,0b,29\n2014-08-15T19:07:42.713Z,4,129038,43,255,27,03,88,d6,d0,0c,79,57,e1,0e,c2,e6,b5,23,a9,6c,9d,31,03,41,0a,08,88,9f,00,00,00,fe\n2014-08-15T19:07:42.744Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:07:42.769Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:42.835Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:42.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:42.839Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:42.844Z,4,129038,43,255,27,01,58,eb,ad,0e,e7,70,60,0e,7e,10,90,23,af,85,2f,d4,01,ee,08,08,5c,2e,00,00,00,fe\n2014-08-15T19:07:42.847Z,3,129291,160,255,8,ff,fc,81,50,2e,00,ff,ff\n2014-08-15T19:07:42.850Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:42.870Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:42.904Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:43.017Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,2b,3e,01,00\n2014-08-15T19:07:43.020Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:43.021Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:43.025Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:43.046Z,3,130577,160,255,14,c0,5b,b8,83,64,01,ff,ff,ff,ff,81,50,2e,00\n2014-08-15T19:07:43.048Z,2,129025,160,255,8,2c,44,97,23,9d,43,bd,0e\n2014-08-15T19:07:43.084Z,4,129038,43,255,27,01,28,f5,77,10,15,52,a1,0e,3d,83,74,23,a4,c5,31,c3,00,4c,86,09,67,30,00,00,00,fe\n2014-08-15T19:07:43.104Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:43.124Z,4,129038,43,255,27,01,58,43,c9,0e,2c,06,d3,0e,bd,32,a9,23,ac,eb,ad,d0,02,6d,40,01,36,af,00,00,00,fe\n2014-08-15T19:07:43.146Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:43.246Z,2,129026,160,255,8,ff,fc,b8,83,64,01,ff,ff\n2014-08-15T19:07:43.322Z,2,130306,115,255,8,00,04,03,b2,2d,f2,ff,ff\n2014-08-15T19:07:43.346Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:43.354Z,4,129038,43,255,27,01,e0,53,7f,10,a6,22,c4,0e,f2,3e,a6,23,b0,a6,89,e3,05,37,40,09,5a,88,ff,7f,00,fe\n2014-08-15T19:07:43.386Z,6,129540,160,255,135,a3,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,80,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,28,0a,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:07:43.390Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:07:43.390Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:43.404Z,3,128267,115,255,8,00,e2,04,00,00,ff,ff,ff\n2014-08-15T19:07:43.406Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:43.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:43.454Z,4,129039,43,255,26,12,44,11,b6,0d,31,41,bd,0e,66,43,97,23,af,a0,88,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:43.524Z,4,129038,43,255,27,01,c8,27,16,0e,34,fa,6d,0e,f4,e4,94,23,a5,28,31,50,03,82,06,01,16,31,14,00,00,fe\n2014-08-15T19:07:43.558Z,3,129029,160,255,43,5c,a9,3f,ba,ac,0b,29,00,36,43,6d,84,61,49,08,00,d0,01,9b,df,87,6e,03,70,ce,20,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:43.561Z,3,129033,160,255,8,a9,3f,ba,ac,0b,29,b4,00\n2014-08-15T19:07:43.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3d,02,03,00,01,01,04,00,00,00\n2014-08-15T19:07:43.594Z,4,129038,43,255,27,01,08,99,b5,0d,a0,96,ce,0e,a0,0f,a5,23,b0,ad,4b,53,01,37,40,01,f3,48,00,00,00,fe\n2014-08-15T19:07:43.652Z,3,126992,160,255,8,ff,ff,a9,3f,ba,ac,0b,29\n2014-08-15T19:07:43.764Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:43.773Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:43.798Z,3,127508,129,255,8,01,af,05,71,01,1e,75,9e\n2014-08-15T19:07:43.836Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:43.840Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:43.842Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:07:43.858Z,3,129291,160,255,8,ff,fc,36,97,15,00,ff,ff\n2014-08-15T19:07:43.860Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:43.931Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:43.944Z,4,129038,43,255,27,03,00,ae,7d,10,0d,ab,c3,0e,4b,7b,6e,23,ad,4f,8c,00,00,00,00,08,71,8c,00,00,05,fe\n2014-08-15T19:07:43.962Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:44.014Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,2b,3e,01,00\n2014-08-15T19:07:44.017Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:44.020Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:44.022Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:44.062Z,3,130577,160,255,14,c0,5c,5b,85,62,01,ff,ff,ff,ff,36,97,15,00\n2014-08-15T19:07:44.064Z,2,129025,160,255,8,ff,42,97,23,c8,42,bd,0e\n2014-08-15T19:07:44.098Z,3,127508,129,255,8,01,ae,05,5a,01,1e,75,9e\n2014-08-15T19:07:44.120Z,3,127508,129,255,8,01,af,05,84,01,1e,75,9e\n2014-08-15T19:07:44.163Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:44.264Z,2,129026,160,255,8,ff,fc,5b,85,62,01,ff,ff\n2014-08-15T19:07:44.266Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:44.302Z,2,130306,115,255,8,00,22,02,31,17,f2,ff,ff\n2014-08-15T19:07:44.320Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:44.400Z,6,129540,160,255,135,a4,ff,0b,20,16,31,fd,95,ac,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:44.402Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:07:44.404Z,3,128267,115,255,8,00,2c,05,00,00,ff,ff,ff\n2014-08-15T19:07:44.407Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:44.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:44.474Z,4,129039,43,255,26,12,44,11,b6,0d,9b,40,bd,0e,18,42,97,23,b3,b2,85,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:44.502Z,3,127508,129,255,8,01,af,05,82,01,1e,75,9e\n2014-08-15T19:07:44.565Z,3,129029,160,255,43,5d,a9,3f,d4,d3,0b,29,00,2c,85,23,41,61,49,08,00,96,cc,14,ad,87,6e,03,70,b0,25,00,00,00,00,00,10,fc,09,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:44.568Z,3,129033,160,255,8,a9,3f,d4,d3,0b,29,b4,00\n2014-08-15T19:07:44.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,48,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:44.664Z,3,126992,160,255,8,ff,ff,a9,3f,d4,d3,0b,29\n2014-08-15T19:07:44.685Z,4,129038,43,255,27,01,20,f6,7e,10,c1,38,c7,0e,cb,e9,7f,23,b1,39,31,05,00,88,86,08,13,c7,00,00,0f,fe\n2014-08-15T19:07:44.761Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:44.773Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:44.836Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:44.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:44.840Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:07:44.866Z,3,129291,160,255,8,ff,fc,ce,9d,18,00,ff,ff\n2014-08-15T19:07:44.898Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:44.928Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:44.955Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:45.012Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,3e,3e,01,00\n2014-08-15T19:07:45.015Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:45.017Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:45.020Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:45.064Z,3,130577,160,255,14,c0,5d,6c,85,62,01,ff,ff,ff,ff,ce,9d,18,00\n2014-08-15T19:07:45.064Z,7,127506,129,255,9,9f,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:45.067Z,2,129025,160,255,8,de,41,97,23,ef,41,bd,0e\n2014-08-15T19:07:45.164Z,4,129038,43,255,27,01,fc,ff,e9,25,bc,c4,24,0f,92,ea,be,23,b1,7d,bb,bb,02,9a,86,08,7c,bb,e6,ff,00,fe\n2014-08-15T19:07:45.168Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:45.244Z,4,129038,43,255,27,03,88,d6,d0,0c,7d,4e,e1,0e,3e,e3,b5,23,b1,a0,9d,31,03,00,00,00,88,9f,00,00,00,fe\n2014-08-15T19:07:45.270Z,2,129026,160,255,8,ff,fc,6c,85,62,01,ff,ff\n2014-08-15T19:07:45.314Z,2,130306,115,255,8,00,c1,02,55,2c,f2,ff,ff\n2014-08-15T19:07:45.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:45.374Z,4,129038,43,255,27,01,e0,53,7f,10,e7,1a,c4,0e,2e,35,a6,23,b8,95,89,de,05,37,40,01,ac,87,ff,7f,00,fe\n2014-08-15T19:07:45.395Z,6,129540,160,255,123,a5,ff,0a,20,16,31,fd,95,f0,0a,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,1c,0c,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f1\n2014-08-15T19:07:45.397Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:07:45.429Z,3,128267,115,255,8,00,c1,04,00,00,ff,ff,ff\n2014-08-15T19:07:45.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:45.461Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:45.465Z,4,129039,43,255,26,12,0a,ec,b5,0d,d3,9f,cc,0e,99,c8,91,23,b0,a1,55,a0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:45.504Z,4,129039,43,255,26,12,44,11,b6,0d,47,40,bd,0e,aa,40,97,23,b7,83,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:45.544Z,4,129038,43,255,27,01,c0,0b,7e,10,71,76,e3,0e,7f,32,d3,23,b4,46,06,31,03,55,c0,00,22,06,00,00,00,fe\n2014-08-15T19:07:45.572Z,3,129029,160,255,43,5e,a9,3f,ee,fa,0b,29,00,24,4a,6d,f9,60,49,08,00,7a,73,9b,91,87,6e,03,90,fe,25,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:45.576Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:45.578Z,3,129033,160,255,8,a9,3f,ee,fa,0b,29,b4,00\n2014-08-15T19:07:45.664Z,3,127508,129,255,8,01,af,05,69,01,1e,75,9f\n2014-08-15T19:07:45.669Z,3,126992,160,255,8,ff,ff,a9,3f,ee,fa,0b,29\n2014-08-15T19:07:45.768Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:45.770Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:45.835Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:45.837Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:45.840Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:45.863Z,3,129291,160,255,8,ff,fc,ce,9d,18,00,ff,ff\n2014-08-15T19:07:45.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:45.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:45.914Z,7,129793,43,255,26,04,91,18,23,00,fc,19,86,0e,90,f7,c7,23,00,10,f7,0b,29,b0,c0,01,a9,3f,10,00,fc\n2014-08-15T19:07:45.992Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:46.015Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,3e,3e,01,00\n2014-08-15T19:07:46.015Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:46.015Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:46.019Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:46.070Z,3,130577,160,255,14,c0,5e,95,83,62,01,ff,ff,ff,ff,e1,6e,17,00\n2014-08-15T19:07:46.073Z,2,129025,160,255,8,aa,40,97,23,79,41,bd,0e\n2014-08-15T19:07:46.129Z,4,129038,43,255,27,03,18,9e,7f,10,11,02,c7,0e,6a,ee,7f,23,b7,ce,c3,00,00,4a,4a,09,38,46,00,00,05,fe\n2014-08-15T19:07:46.173Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:46.274Z,2,129026,160,255,8,ff,fc,95,83,62,01,ff,ff\n2014-08-15T19:07:46.291Z,2,130306,115,255,8,00,2c,02,0e,20,f2,ff,ff\n2014-08-15T19:07:46.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:46.406Z,6,129540,160,255,135,a6,ff,0b,20,16,31,fd,95,80,0c,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,e4,0c,00,00,00,00,f2,16,e9,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2,1f,74,05,dc,53,54,0b,00,00,00,00,f6\n2014-08-15T19:07:46.408Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:07:46.414Z,3,128267,115,255,8,00,dc,04,00,00,ff,ff,ff\n2014-08-15T19:07:46.416Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:46.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:46.444Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:46.474Z,4,129038,43,255,27,01,b8,f5,67,12,8f,da,93,0e,3b,e0,91,23,b8,79,2d,d6,03,61,c0,0b,ff,2c,00,00,00,fe\n2014-08-15T19:07:46.513Z,4,129039,43,255,26,12,44,11,b6,0d,d3,3f,bd,0e,7e,3f,97,23,bb,55,81,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:46.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:46.579Z,3,129029,160,255,43,5f,a9,3f,08,22,0c,29,00,44,7a,a5,b2,60,49,08,00,5a,14,fb,7e,87,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:46.582Z,3,129033,160,255,8,a9,3f,08,22,0c,29,b4,00\n2014-08-15T19:07:46.675Z,3,126992,160,255,8,ff,ff,a9,3f,08,22,0c,29\n2014-08-15T19:07:46.768Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:46.778Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:07:46.836Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:46.838Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:46.840Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:46.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:46.869Z,3,127508,129,255,8,01,b0,05,89,01,1e,75,9f\n2014-08-15T19:07:46.878Z,3,129291,160,255,8,ff,fc,e1,6e,17,00,ff,ff\n2014-08-15T19:07:46.897Z,3,127508,129,255,8,01,ae,05,4f,01,1e,75,9f\n2014-08-15T19:07:46.898Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:46.996Z,2,130306,115,255,8,00,cc,02,d5,24,f2,ff,ff\n2014-08-15T19:07:47.006Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,3e,3e,01,00\n2014-08-15T19:07:47.009Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:47.012Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:47.014Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:47.078Z,3,130577,160,255,14,c0,5f,e6,82,5e,01,ff,ff,ff,ff,a1,6d,22,00\n2014-08-15T19:07:47.080Z,2,129025,160,255,8,7a,3f,97,23,29,41,bd,0e\n2014-08-15T19:07:47.084Z,4,129038,43,255,27,03,88,d6,d0,0c,81,45,e1,0e,a9,df,b5,23,b9,c3,9d,31,03,c0,09,08,88,9f,00,00,00,fe\n2014-08-15T19:07:47.178Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:47.246Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:47.279Z,2,129026,160,255,8,ff,fc,e6,82,5e,01,ff,ff\n2014-08-15T19:07:47.327Z,3,127508,129,255,8,01,ae,05,54,01,1e,75,9f\n2014-08-15T19:07:47.336Z,3,128267,115,255,8,00,56,04,00,00,ff,ff,ff\n2014-08-15T19:07:47.338Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:47.418Z,6,129540,160,255,135,a7,ff,0b,20,16,31,fd,95,e4,0c,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,10,0e,00,00,00,00,f2,16,e9,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,c4,09,00,00,00,00,f1\n2014-08-15T19:07:47.420Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:07:47.424Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:47.454Z,4,129038,43,255,27,01,e0,53,7f,10,82,0f,c4,0e,56,26,a6,23,c0,3d,89,e3,05,c5,08,08,ac,87,ff,7f,00,fe\n2014-08-15T19:07:47.494Z,3,127508,129,255,8,01,ac,05,30,01,1e,75,9f\n2014-08-15T19:07:47.513Z,4,129039,43,255,26,12,44,11,b6,0d,5e,3f,bd,0e,62,3e,97,23,bf,03,82,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:47.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:47.592Z,3,129029,160,255,43,60,a9,3f,4a,49,0c,29,00,8c,15,cc,6c,60,49,08,00,30,c1,ab,64,87,6e,03,c0,73,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:47.594Z,3,129033,160,255,8,a9,3f,4a,49,0c,29,b4,00\n2014-08-15T19:07:47.674Z,4,129038,43,255,27,01,c8,d4,7f,10,6f,6d,df,0e,e6,b1,c1,23,b9,43,81,2d,04,41,40,09,94,83,00,00,00,fe\n2014-08-15T19:07:47.680Z,3,126992,160,255,8,ff,ff,a9,3f,4a,49,0c,29\n2014-08-15T19:07:47.766Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:47.782Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:07:47.805Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:47.807Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:47.809Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:47.833Z,4,129038,43,255,27,01,92,12,4b,10,28,2b,f8,0e,c2,ef,ad,23,bc,94,b0,c0,02,fe,86,00,42,b1,14,00,00,fe\n2014-08-15T19:07:47.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:47.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:47.883Z,3,129291,160,255,8,ff,fc,a1,6d,22,00,ff,ff\n2014-08-15T19:07:47.959Z,7,127506,129,255,9,a0,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:47.964Z,2,130306,115,255,8,00,d6,02,0e,20,f2,ff,ff\n2014-08-15T19:07:47.978Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:07:47.990Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:48.004Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,3e,3e,01,00\n2014-08-15T19:07:48.007Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:48.009Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:48.012Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:48.084Z,3,130577,160,255,14,c0,60,c3,82,5d,01,ff,ff,ff,ff,a1,6d,22,00\n2014-08-15T19:07:48.088Z,2,129025,160,255,8,4e,3e,97,23,b8,40,bd,0e\n2014-08-15T19:07:48.114Z,3,127508,129,255,8,01,ae,05,4f,01,1e,75,a0\n2014-08-15T19:07:48.158Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:07:48.190Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:48.281Z,2,129026,160,255,8,ff,fc,c3,82,5d,01,ff,ff\n2014-08-15T19:07:48.305Z,3,128267,115,255,8,00,59,04,00,00,ff,ff,ff\n2014-08-15T19:07:48.309Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:48.336Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:48.423Z,6,129540,160,255,135,a8,ff,0b,20,16,31,fd,95,48,0d,00,00,00,00,f2,01,5c,2e,f1,b1,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,51,0e,1f,c9,3c,0f,00,00,00,00,f2,16,e9,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,08,07,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:07:48.425Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:07:48.511Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:48.524Z,4,129039,43,255,26,12,44,11,b6,0d,e9,3e,bd,0e,36,3d,97,23,c3,f2,81,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:48.563Z,4,129039,43,255,26,12,fe,ea,8e,0f,48,ac,98,0e,8b,dc,ae,23,bc,13,d6,85,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:48.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2a,02,03,00,00,00,04,00,00,00\n2014-08-15T19:07:48.596Z,3,129029,160,255,43,61,a9,3f,3c,70,0c,29,00,d4,b0,f2,26,60,49,08,00,fa,f6,19,47,87,6e,03,d0,0b,29,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:48.599Z,3,129033,160,255,8,a9,3f,3c,70,0c,29,b4,00\n2014-08-15T19:07:48.687Z,3,126992,160,255,8,ff,ff,a9,3f,3c,70,0c,29\n2014-08-15T19:07:48.733Z,4,129038,43,255,27,01,b8,53,a6,0c,b2,3f,78,0e,c1,e8,9e,23,c4,8e,ac,78,02,20,87,08,88,ae,00,00,00,fe\n2014-08-15T19:07:48.766Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:48.790Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:07:48.803Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:48.805Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:48.810Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:07:48.824Z,4,129038,43,255,27,03,88,d6,d0,0c,85,3c,e1,0e,14,dc,b5,23,c1,c3,9d,31,03,31,0a,00,88,9f,00,00,00,fe\n2014-08-15T19:07:48.836Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:48.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:48.883Z,3,129291,160,255,8,ff,fc,ac,76,10,00,ff,ff\n2014-08-15T19:07:48.904Z,4,129038,43,255,27,01,68,e2,20,12,fd,5f,fb,0e,46,07,ad,23,c4,4e,b0,fd,01,26,87,08,9f,b2,00,00,00,fe\n2014-08-15T19:07:48.929Z,2,130306,115,255,8,00,74,02,77,23,f2,ff,ff\n2014-08-15T19:07:48.962Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.001Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,3e,3e,01,00\n2014-08-15T19:07:49.005Z,4,129038,43,255,27,01,58,43,c9,0e,cf,e8,d2,0e,d5,2e,a9,23,c4,fd,ad,d0,02,2a,07,09,36,af,00,00,00,fe\n2014-08-15T19:07:49.008Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:49.010Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:49.013Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:49.073Z,4,129038,43,255,27,01,c8,27,16,0e,1e,1f,6e,0e,d0,ea,94,23,bd,39,31,50,03,bc,08,08,16,31,14,00,00,fe\n2014-08-15T19:07:49.091Z,3,130577,160,255,14,c0,61,c3,82,5d,01,ff,ff,ff,ff,ac,76,10,00\n2014-08-15T19:07:49.093Z,2,129025,160,255,8,22,3d,97,23,39,40,bd,0e\n2014-08-15T19:07:49.118Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:49.185Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:49.273Z,4,129038,43,255,27,01,e0,53,7f,10,dd,0b,c4,0e,74,21,a6,23,c8,d5,88,de,05,37,c0,00,fd,86,ff,7f,00,fe\n2014-08-15T19:07:49.289Z,2,129026,160,255,8,ff,fc,c3,82,5d,01,ff,ff\n2014-08-15T19:07:49.328Z,3,128267,115,255,8,00,2f,04,00,00,ff,ff,ff\n2014-08-15T19:07:49.331Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.401Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.422Z,6,129540,160,255,135,a9,ff,0b,20,16,31,fd,95,d8,0e,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,51,0e,1f,c9,3c,0f,00,00,00,00,f2,16,e9,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,6c,07,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,1f,74,05,dc,53,b8,0b,00,00,00,00,f6\n2014-08-15T19:07:49.424Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:07:49.433Z,4,129038,43,255,27,01,c0,0b,7e,10,2d,79,e3,0e,e5,3a,d3,23,c0,23,06,31,03,56,c0,00,22,06,00,00,00,fe\n2014-08-15T19:07:49.531Z,3,127508,129,255,8,01,ae,05,54,01,1e,75,a0\n2014-08-15T19:07:49.533Z,4,129039,43,255,26,12,44,11,b6,0d,96,3e,bd,0e,fa,3b,97,23,c7,fe,80,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:49.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:49.594Z,3,129029,160,255,43,62,a9,3f,56,97,0c,29,00,02,db,00,df,5f,49,08,00,c2,a9,f4,2d,87,6e,03,40,ac,27,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:49.596Z,3,129033,160,255,8,a9,3f,56,97,0c,29,b4,00\n2014-08-15T19:07:49.623Z,4,129038,43,255,27,01,10,dc,6d,0f,35,a9,5b,0e,77,fe,9b,23,c5,60,ad,88,02,b7,08,00,88,ae,21,00,00,fe\n2014-08-15T19:07:49.663Z,4,129038,43,255,27,01,88,44,7d,10,eb,23,c7,0e,0c,ed,7f,23,c0,fd,92,05,00,21,40,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:07:49.666Z,3,127508,129,255,8,01,ac,05,34,01,1e,75,a0\n2014-08-15T19:07:49.689Z,3,126992,160,255,8,ff,ff,a9,3f,56,97,0c,29\n2014-08-15T19:07:49.723Z,4,129038,43,255,27,01,6c,70,4a,10,a1,e5,03,0f,76,03,a4,23,bf,a8,35,ba,01,f8,08,00,21,33,a3,ff,00,fe\n2014-08-15T19:07:49.743Z,3,127508,129,255,8,01,af,05,69,01,1e,75,a0\n2014-08-15T19:07:49.776Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:49.791Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:07:49.842Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:49.844Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.847Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:49.892Z,3,129291,160,255,8,ff,fc,5e,75,2b,00,ff,ff\n2014-08-15T19:07:49.900Z,2,130306,115,255,8,00,6f,02,0e,20,f2,ff,ff\n2014-08-15T19:07:49.926Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.988Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:49.999Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,50,3e,01,00\n2014-08-15T19:07:50.002Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:50.004Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:50.007Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:50.096Z,3,130577,160,255,14,c0,62,f2,81,5e,01,ff,ff,ff,ff,5e,75,2b,00\n2014-08-15T19:07:50.098Z,2,129025,160,255,8,ed,3b,97,23,cd,3f,bd,0e\n2014-08-15T19:07:50.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,93,0c,29,1c,66,0a,a9,3f,00,00,fc\n2014-08-15T19:07:50.194Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:50.290Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:50.298Z,2,129026,160,255,8,ff,fc,f2,81,5e,01,ff,ff\n2014-08-15T19:07:50.322Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:50.335Z,3,127508,129,255,8,01,b0,05,92,01,1e,75,a0\n2014-08-15T19:07:50.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,93,0c,29,5d,07,0b,a9,3f,00,00,fc\n2014-08-15T19:07:50.402Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:50.404Z,3,128267,115,255,8,00,75,04,00,00,ff,ff,ff\n2014-08-15T19:07:50.431Z,6,129540,160,255,135,aa,ff,0b,20,16,31,fd,95,74,0e,00,00,00,00,f2,01,5c,2e,f1,b1,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,ff,2c,48,0d,00,00,00,00,f2,14,74,14,ce,ab,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,51,0e,1f,c9,3c,0f,00,00,00,00,f2,16,e9,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2,1f,74,05,dc,53,1c,0c,00,00,00,00,f6\n2014-08-15T19:07:50.434Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:07:50.436Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:50.544Z,4,129039,43,255,26,12,44,11,b6,0d,43,3e,bd,0e,ac,3a,97,23,cb,b2,7f,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:50.555Z,7,127506,129,255,9,a1,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:50.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:50.606Z,3,129029,160,255,43,63,a9,3f,02,be,0c,29,00,e0,2e,32,95,5f,49,08,00,e6,a9,ee,19,87,6e,03,e0,32,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:50.609Z,3,129033,160,255,8,a9,3f,02,be,0c,29,b4,00\n2014-08-15T19:07:50.701Z,3,126992,160,255,8,ff,ff,a9,3f,02,be,0c,29\n2014-08-15T19:07:50.765Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:50.803Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:07:50.806Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:50.808Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:50.810Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:50.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:50.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:50.892Z,2,130306,115,255,8,00,5f,02,9a,1a,f2,ff,ff\n2014-08-15T19:07:50.920Z,3,129291,160,255,8,ff,fc,c9,56,26,00,ff,ff\n2014-08-15T19:07:50.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:50.958Z,4,129038,43,255,27,01,b0,79,7a,10,b9,e7,d0,0e,b4,b4,82,23,c8,25,d9,e8,01,73,87,09,2a,da,e6,ff,00,fe\n2014-08-15T19:07:50.997Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,50,3e,01,00\n2014-08-15T19:07:51.001Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:51.003Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:51.006Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:51.009Z,3,127508,129,255,8,01,b0,05,7c,01,1e,75,a1\n2014-08-15T19:07:51.010Z,4,129038,43,255,27,01,98,69,b3,0e,9f,12,8d,0e,27,68,a0,23,c1,f1,ae,f8,01,75,87,00,94,b0,00,00,00,fe\n2014-08-15T19:07:51.108Z,3,130577,160,255,14,c0,63,55,81,62,01,ff,ff,ff,ff,c9,56,26,00\n2014-08-15T19:07:51.114Z,2,129025,160,255,8,b0,3a,97,23,77,3f,bd,0e\n2014-08-15T19:07:51.126Z,4,129041,43,255,48,15,b5,54,2c,3b,d4,59,b4,0e,50,b2,7a,23,bc,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,39,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:07:51.207Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:51.298Z,2,129026,160,255,8,ff,fc,55,81,62,01,ff,ff\n2014-08-15T19:07:51.307Z,3,128267,115,255,8,00,72,04,00,00,ff,ff,ff\n2014-08-15T19:07:51.311Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:51.336Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:51.443Z,6,129540,160,255,147,ab,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,43,b1,e4,0c,00,00,00,00,f2,0b,39,28,5b,88,ac,0d,00,00,00,00,f2,0e,ff,1d,51,2c,48,0d,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,ce,c9,d8,0e,00,00,00,00,f2,16,3a,0a,e8,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,2d,53,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:51.445Z,2,127250,160,255,8,ff,b8,86,ff,7f,86,05,fc\n2014-08-15T19:07:51.454Z,4,129038,43,255,27,01,e0,53,7f,10,1f,01,c4,0e,9c,12,a6,23,d0,38,88,de,05,86,87,08,fd,86,ff,7f,00,fe\n2014-08-15T19:07:51.563Z,4,129039,43,255,26,12,44,11,b6,0d,ce,3d,bd,0e,80,39,97,23,cf,c9,80,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:51.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:51.607Z,3,129029,160,255,43,64,a9,3f,c6,e5,0c,29,00,96,17,75,4a,5f,49,08,00,e2,3e,fa,04,87,6e,03,60,fa,27,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:51.609Z,3,129033,160,255,8,a9,3f,c6,e5,0c,29,b4,00\n2014-08-15T19:07:51.671Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:51.674Z,4,129038,43,255,27,01,02,8b,c4,0d,59,97,e0,0e,da,c6,c8,23,d0,e6,82,5d,01,8e,87,09,4f,86,00,00,00,fe\n2014-08-15T19:07:51.702Z,3,126992,160,255,8,ff,ff,a9,3f,c6,e5,0c,29\n2014-08-15T19:07:51.764Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:51.804Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:07:51.806Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:51.808Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:51.810Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:51.832Z,2,130306,115,255,8,00,c1,02,d5,24,f2,ff,ff\n2014-08-15T19:07:51.856Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:51.891Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:51.905Z,3,129291,160,255,8,ff,fc,9d,57,35,00,ff,ff\n2014-08-15T19:07:51.926Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:51.936Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:51.964Z,4,129038,43,255,27,03,30,d6,75,10,72,e6,bb,0e,d2,d0,70,23,cc,f8,76,05,00,00,00,00,8a,54,00,00,05,fe\n2014-08-15T19:07:51.994Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,50,3e,01,00\n2014-08-15T19:07:51.997Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:51.998Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:52.001Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:52.104Z,4,129039,43,255,26,12,ca,0c,b7,0d,37,0e,bd,0e,d4,37,95,23,cc,4f,7d,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:52.109Z,3,130577,160,255,14,c0,64,fe,80,65,01,ff,ff,ff,ff,9d,57,35,00\n2014-08-15T19:07:52.111Z,2,129025,160,255,8,6f,39,97,23,1d,3f,bd,0e\n2014-08-15T19:07:52.175Z,4,129041,43,255,48,15,aa,54,2c,3b,fa,e8,f4,0e,16,29,7f,23,bc,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,35,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:07:52.214Z,4,129038,43,255,27,01,c2,2d,b7,0d,1f,bc,e1,0e,63,22,dc,23,d2,2b,cb,de,01,69,c0,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:52.215Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:52.302Z,3,128267,115,255,8,00,ca,04,00,00,ff,ff,ff\n2014-08-15T19:07:52.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:52.307Z,2,129026,160,255,8,ff,fc,fe,80,65,01,ff,ff\n2014-08-15T19:07:52.316Z,3,127508,129,255,8,01,ac,05,28,01,1e,75,a1\n2014-08-15T19:07:52.398Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:52.446Z,6,129540,160,255,147,ac,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,98,08,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:52.448Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:07:52.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3a,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:52.574Z,4,129039,43,255,26,12,44,11,b6,0d,38,3d,bd,0e,65,38,97,23,d3,b8,83,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:52.614Z,7,129793,43,255,26,04,90,18,23,00,4a,d3,e2,0e,64,31,d3,23,00,70,e1,0c,29,7c,c0,01,a9,3f,10,00,fc\n2014-08-15T19:07:52.618Z,3,129029,160,255,43,65,a9,3f,b8,0c,0d,29,00,8e,dc,be,02,5f,49,08,00,26,39,c7,e5,86,6e,03,b0,4c,26,00,00,00,00,00,10,fc,0a,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:52.621Z,3,129033,160,255,8,a9,3f,b8,0c,0d,29,b4,00\n2014-08-15T19:07:52.712Z,3,126992,160,255,8,ff,ff,a9,3f,b8,0c,0d,29\n2014-08-15T19:07:52.716Z,3,127508,129,255,8,01,ae,05,4c,01,1e,75,a1\n2014-08-15T19:07:52.763Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:52.797Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:52.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:52.802Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:52.808Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:07:52.830Z,2,130306,115,255,8,00,74,02,f7,1b,f2,ff,ff\n2014-08-15T19:07:52.856Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:52.892Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:52.912Z,3,129291,160,255,8,ff,fc,fe,54,33,00,ff,ff\n2014-08-15T19:07:52.916Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:07:52.922Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:52.954Z,4,129039,43,255,26,12,90,e4,c3,0d,64,45,c0,0e,0e,d5,7c,23,d0,4f,6e,a5,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:52.992Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,50,3e,01,00\n2014-08-15T19:07:52.994Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:52.998Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:52.998Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:53.004Z,4,129038,43,255,27,01,b8,f5,67,12,a5,00,94,0e,b2,e8,91,23,d0,56,2d,d6,03,c0,07,03,ff,2c,00,00,00,fe\n2014-08-15T19:07:53.064Z,4,129038,43,255,27,03,e0,5d,b9,0d,f2,d0,e2,0e,80,33,dd,23,d3,0b,1d,00,00,4a,4d,01,fc,a4,00,00,05,fe\n2014-08-15T19:07:53.117Z,3,130577,160,255,14,c0,65,03,82,61,01,ff,ff,ff,ff,fe,54,33,00\n2014-08-15T19:07:53.120Z,2,129025,160,255,8,3b,38,97,23,97,3e,bd,0e\n2014-08-15T19:07:53.163Z,4,129038,43,255,27,03,88,d6,d0,0c,5b,2a,e1,0e,1d,d5,b5,23,d1,2c,9e,31,03,20,09,00,88,9f,00,00,00,fe\n2014-08-15T19:07:53.210Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:53.303Z,3,128267,115,255,8,00,e2,04,00,00,ff,ff,ff\n2014-08-15T19:07:53.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:53.314Z,2,129026,160,255,8,ff,fc,03,82,61,01,ff,ff\n2014-08-15T19:07:53.319Z,3,127508,129,255,8,01,b1,05,a4,01,1e,75,a1\n2014-08-15T19:07:53.324Z,4,129038,43,255,27,01,e0,53,7f,10,8a,fd,c3,0e,a9,0d,a6,23,d8,6c,88,d8,05,1c,66,00,ac,87,00,00,00,fe\n2014-08-15T19:07:53.336Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:53.364Z,4,129038,43,255,27,03,19,49,11,20,09,ce,e0,0e,5a,80,76,23,cc,41,ed,00,00,00,00,08,d1,15,00,00,05,fe\n2014-08-15T19:07:53.404Z,4,129038,43,255,27,01,b8,83,92,0e,7b,bb,e0,0e,c2,c8,75,23,d5,8e,c1,05,00,3e,40,09,59,d3,00,00,00,fe\n2014-08-15T19:07:53.474Z,6,129540,160,255,135,ad,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,c4,09,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:53.476Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:07:53.480Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:07:53.557Z,3,127508,129,255,8,01,af,05,76,01,1e,75,a1\n2014-08-15T19:07:53.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3c,02,03,00,01,01,04,00,00,00\n2014-08-15T19:07:53.584Z,4,129039,43,255,26,12,44,11,b6,0d,91,3c,bd,0e,28,37,97,23,d7,72,83,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:53.624Z,3,129029,160,255,43,66,a9,3f,fa,33,0d,29,00,4e,b9,b0,bf,5e,49,08,00,36,51,63,c2,86,6e,03,70,21,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:53.627Z,3,129033,160,255,8,a9,3f,fa,33,0d,29,b4,00\n2014-08-15T19:07:53.631Z,4,129038,43,255,27,01,28,f5,77,10,98,58,a1,0e,c0,89,74,23,d0,c5,31,c3,00,1c,66,00,b9,2f,00,00,00,fe\n2014-08-15T19:07:53.714Z,3,126992,160,255,8,ff,ff,a9,3f,fa,33,0d,29\n2014-08-15T19:07:53.764Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:53.774Z,7,127506,129,255,9,a2,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:53.800Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:53.801Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:53.804Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:07:53.815Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:07:53.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:53.862Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:53.916Z,3,129291,160,255,8,ff,fc,71,5b,1b,00,ff,ff\n2014-08-15T19:07:53.918Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:07:53.964Z,4,129038,43,255,27,01,08,99,b5,0d,ab,b0,ce,0e,1d,09,a5,23,dc,44,48,53,01,37,40,09,f3,48,00,00,00,fe\n2014-08-15T19:07:53.989Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,ca,26,0a,01,50,3e,01,00\n2014-08-15T19:07:53.992Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:53.994Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:53.997Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:54.132Z,3,130577,160,255,14,c0,66,5b,82,5c,01,ff,ff,ff,ff,71,5b,1b,00\n2014-08-15T19:07:54.136Z,2,129025,160,255,8,1b,37,97,23,ff,3d,bd,0e\n2014-08-15T19:07:54.222Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:54.264Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,7a,7b,6f,23,d4,03,a6,00,00,3b,40,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:07:54.310Z,3,128267,115,255,8,00,59,05,00,00,ff,ff,ff\n2014-08-15T19:07:54.312Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:54.325Z,2,129026,160,255,8,ff,fc,5b,82,5c,01,ff,ff\n2014-08-15T19:07:54.327Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:07:54.341Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:54.439Z,3,127508,129,255,8,01,b0,05,81,01,1e,75,a2\n2014-08-15T19:07:54.455Z,6,129540,160,255,147,ae,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:54.457Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:07:54.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:54.604Z,4,129039,43,255,26,12,44,11,b6,0d,2d,3c,bd,0e,db,35,97,23,db,c3,82,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:54.630Z,3,129029,160,255,43,67,a9,3f,3c,5b,0d,29,00,be,bf,c5,7a,5e,49,08,00,0e,81,a7,a3,86,6e,03,a0,07,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:54.634Z,3,129033,160,255,8,a9,3f,3c,5b,0d,29,b4,00\n2014-08-15T19:07:54.664Z,4,129038,43,255,27,01,20,f6,7e,10,9f,38,c7,0e,cb,e9,7f,23,d9,39,31,00,00,3f,c0,01,13,c7,00,00,0f,fe\n2014-08-15T19:07:54.724Z,3,126992,160,255,8,ff,ff,a9,3f,3c,5b,0d,29\n2014-08-15T19:07:54.724Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:54.736Z,2,130306,115,255,8,00,0e,03,83,25,f2,ff,ff\n2014-08-15T19:07:54.744Z,4,129038,43,255,27,01,58,43,c9,0e,83,cb,d2,0e,fe,2a,a9,23,dc,20,ae,d5,02,01,88,01,36,af,00,00,00,fe\n2014-08-15T19:07:54.761Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:54.832Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:07:54.845Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:54.884Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:54.886Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:54.888Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:07:54.933Z,3,129291,160,255,8,ff,fc,3e,7d,0d,00,ff,ff\n2014-08-15T19:07:54.963Z,4,129038,43,255,27,01,38,5e,49,16,16,7a,ca,0e,81,bf,76,23,d9,f1,9f,00,00,1c,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:07:54.987Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:54.989Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:54.991Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:54.995Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:55.129Z,3,130577,160,255,14,c0,67,6c,82,5a,01,ff,ff,ff,ff,3e,7d,0d,00\n2014-08-15T19:07:55.131Z,2,129025,160,255,8,f3,35,97,23,7b,3d,bd,0e\n2014-08-15T19:07:55.195Z,4,129038,43,255,27,01,88,d6,d0,0c,5f,21,e1,0e,99,d1,b5,23,d9,2c,9e,31,03,3d,c0,08,88,9f,00,00,00,fe\n2014-08-15T19:07:55.226Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:55.244Z,4,129038,43,255,27,01,10,04,1a,0e,1f,e8,fb,0e,21,ab,ae,23,d4,c8,b0,9c,02,33,c0,01,9f,b2,00,00,00,fe\n2014-08-15T19:07:55.303Z,3,128267,115,255,8,00,69,05,00,00,ff,ff,ff\n2014-08-15T19:07:55.305Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:55.328Z,2,129026,160,255,8,ff,fc,6c,82,5a,01,ff,ff\n2014-08-15T19:07:55.353Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:55.354Z,4,129038,43,255,27,01,fc,ff,e9,25,c7,93,24,0f,b8,ec,be,23,d9,2b,bc,bb,02,18,40,01,7c,bb,00,00,00,fe\n2014-08-15T19:07:55.398Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:55.404Z,4,129039,43,255,26,12,06,a5,b5,0d,4c,10,bd,0e,50,eb,96,23,dc,72,7d,58,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:55.426Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:55.460Z,6,129540,160,255,147,af,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,98,08,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:55.462Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:07:55.464Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:55.486Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:55.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,48,02,03,00,01,01,04,00,00,00\n2014-08-15T19:07:55.594Z,4,129038,43,255,27,01,e0,53,7f,10,bb,f2,c3,0e,e2,fe,a5,23,e0,8f,88,d8,05,38,c0,08,ac,87,00,00,00,fe\n2014-08-15T19:07:55.634Z,4,129039,43,255,26,12,44,11,b6,0d,97,3b,bd,0e,9e,34,97,23,df,15,82,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:55.642Z,3,129029,160,255,43,68,a9,3f,56,82,0d,29,00,64,2b,9f,35,5e,49,08,00,f2,27,2e,88,86,6e,03,b0,2e,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:55.645Z,3,129033,160,255,8,a9,3f,56,82,0d,29,b4,00\n2014-08-15T19:07:55.667Z,3,127508,129,255,8,01,af,05,6c,01,1e,75,a2\n2014-08-15T19:07:55.674Z,4,129038,43,255,27,01,d2,ff,4a,10,03,8b,b1,0e,84,01,71,23,dd,59,e8,00,00,1c,66,00,37,91,03,00,00,fe\n2014-08-15T19:07:55.675Z,3,127508,129,255,8,01,af,05,66,01,1e,75,a2\n2014-08-15T19:07:55.724Z,2,130306,115,255,8,00,89,02,c9,22,f2,ff,ff\n2014-08-15T19:07:55.728Z,3,126992,160,255,8,ff,ff,a9,3f,56,82,0d,29\n2014-08-15T19:07:55.744Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:55.796Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:07:55.828Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:07:55.844Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:55.846Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:55.848Z,2,128259,115,255,8,00,45,01,ff,ff,00,ff,ff\n2014-08-15T19:07:55.851Z,3,127508,129,255,8,01,b0,05,7a,01,1e,75,a2\n2014-08-15T19:07:55.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:55.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:55.914Z,7,129793,43,255,26,04,91,18,23,00,ca,19,86,0e,90,f7,c7,23,00,b0,7d,0d,29,b2,c0,08,a9,3f,10,00,fc\n2014-08-15T19:07:55.934Z,3,129291,160,255,8,ff,fc,5c,86,13,00,ff,ff\n2014-08-15T19:07:55.983Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:55.986Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:55.990Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:55.993Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:56.125Z,3,127508,129,255,8,01,b0,05,8e,01,1e,75,a2\n2014-08-15T19:07:56.134Z,7,127506,129,255,9,a3,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:56.137Z,3,130577,160,255,14,c0,68,38,82,57,01,ff,ff,ff,ff,5c,86,13,00\n2014-08-15T19:07:56.144Z,2,129025,160,255,8,ca,34,97,23,05,3d,bd,0e\n2014-08-15T19:07:56.160Z,4,129039,43,255,26,12,08,57,b6,0d,ba,ac,cb,0e,ba,c8,91,23,df,4a,55,b5,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:56.237Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:56.282Z,3,127508,129,255,8,01,af,05,67,01,1e,75,a3\n2014-08-15T19:07:56.303Z,3,128267,115,255,8,00,10,05,00,00,ff,ff,ff\n2014-08-15T19:07:56.314Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:56.321Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:56.333Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:56.344Z,2,129026,160,255,8,ff,fc,38,82,57,01,ff,ff\n2014-08-15T19:07:56.473Z,6,129540,160,255,147,b0,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:56.475Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:07:56.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,28,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:56.623Z,4,129039,43,255,26,12,44,11,b6,0d,44,3b,bd,0e,94,33,97,23,e3,2c,80,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:56.638Z,3,129029,160,255,43,69,a9,3f,7a,a9,0d,29,00,84,5b,d7,ee,5d,49,08,00,5a,87,c2,72,86,6e,03,90,6f,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:56.640Z,3,129033,160,255,8,a9,3f,7a,a9,0d,29,b4,00\n2014-08-15T19:07:56.677Z,2,130306,115,255,8,00,ad,02,83,25,f2,ff,ff\n2014-08-15T19:07:56.697Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:56.741Z,3,126992,160,255,8,ff,ff,a9,3f,7a,a9,0d,29\n2014-08-15T19:07:56.761Z,2,128259,115,255,8,00,3a,01,ff,ff,00,ff,ff\n2014-08-15T19:07:56.765Z,4,129039,43,255,26,12,44,e0,c3,0d,91,99,ba,0e,5f,2a,8d,23,e2,b2,79,86,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:07:56.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:56.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:56.802Z,2,128259,115,255,8,00,3c,01,ff,ff,00,ff,ff\n2014-08-15T19:07:56.816Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:56.832Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:07:56.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:56.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:56.933Z,3,129291,160,255,8,ff,fc,db,63,24,00,ff,ff\n2014-08-15T19:07:56.981Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:56.983Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:56.986Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:56.988Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:57.064Z,4,129038,43,255,27,03,88,d6,d0,0c,63,18,e1,0e,04,ce,b5,23,e1,1a,9e,31,03,00,00,00,88,9f,00,00,00,fe\n2014-08-15T19:07:57.104Z,4,129039,43,255,26,12,80,e5,c3,0d,68,f2,c3,0e,10,0a,95,23,e3,79,51,53,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:07:57.139Z,3,130577,160,255,14,c0,69,89,81,55,01,ff,ff,ff,ff,db,63,24,00\n2014-08-15T19:07:57.141Z,2,129025,160,255,8,9a,33,97,23,a9,3c,bd,0e\n2014-08-15T19:07:57.260Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:57.299Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:07:57.302Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:57.310Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:07:57.333Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:57.341Z,3,127508,129,255,8,01,af,05,6a,01,1e,75,a3\n2014-08-15T19:07:57.344Z,2,129026,160,255,8,ff,fc,89,81,55,01,ff,ff\n2014-08-15T19:07:57.348Z,4,129038,43,255,27,01,b8,53,a6,0c,09,1e,78,0e,7b,e3,9e,23,e4,b1,ac,78,02,5f,88,00,88,ae,00,00,00,fe\n2014-08-15T19:07:57.383Z,4,129038,43,255,27,01,d4,e5,b5,0d,ae,11,e1,0e,5c,25,de,23,e8,ee,20,00,00,4a,c0,08,b9,20,00,00,00,fe\n2014-08-15T19:07:57.423Z,4,129038,43,255,27,03,a8,f6,a5,01,3e,9f,b9,0e,40,b9,70,23,e0,00,00,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:07:57.488Z,6,129540,160,255,147,b1,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,28,0a,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:57.490Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:07:57.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3d,02,03,00,02,01,04,00,00,00\n2014-08-15T19:07:57.608Z,6,129794,43,255,75,05,a8,f6,a5,01,77,fd,86,00,45,53,32,30,39,39,40,4c,4f,54,4f,53,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,5a,2c,01,46,00,1e,00,96,00,f8,40,80,80,6a,2b,2c,01,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:07:57.644Z,4,129038,43,255,27,01,e0,53,7f,10,71,eb,c3,0e,0d,f5,a5,23,e8,8f,88,de,05,1c,66,00,ac,87,00,00,00,fe\n2014-08-15T19:07:57.646Z,2,130306,115,255,8,00,1d,02,53,0e,f2,ff,ff\n2014-08-15T19:07:57.651Z,3,129029,160,255,43,6a,a9,3f,bc,d0,0d,29,00,44,38,c9,ab,5d,49,08,00,98,f8,d4,60,86,6e,03,80,b9,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:57.654Z,3,129033,160,255,8,a9,3f,bc,d0,0d,29,b4,00\n2014-08-15T19:07:57.670Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:57.684Z,4,129039,43,255,26,12,44,11,b6,0d,f1,3a,bd,0e,57,32,97,23,e7,d5,7f,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:57.746Z,3,126992,160,255,8,ff,ff,a9,3f,bc,d0,0d,29\n2014-08-15T19:07:57.753Z,4,129038,43,255,27,01,68,e2,20,12,11,41,fb,0e,bc,04,ad,23,e8,71,b0,02,02,72,88,01,9f,b2,00,00,00,fe\n2014-08-15T19:07:57.760Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:07:57.800Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:57.802Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:57.804Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:07:57.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:57.853Z,3,127508,129,255,8,01,ae,05,2c,01,1e,75,a3\n2014-08-15T19:07:57.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:57.898Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:07:57.950Z,3,129291,160,255,8,ff,fc,c2,5f,2e,00,ff,ff\n2014-08-15T19:07:57.978Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:57.981Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:57.983Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:57.986Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:58.017Z,3,127508,129,255,8,01,ac,05,29,01,1e,75,a3\n2014-08-15T19:07:58.153Z,3,130577,160,255,14,c0,6a,fe,80,51,01,ff,ff,ff,ff,c2,5f,2e,00\n2014-08-15T19:07:58.156Z,2,129025,160,255,8,7a,32,97,23,5c,3c,bd,0e\n2014-08-15T19:07:58.263Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:58.299Z,3,128267,115,255,8,00,93,05,00,00,ff,ff,ff\n2014-08-15T19:07:58.302Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:58.330Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:58.356Z,2,129026,160,255,8,ff,fc,fe,80,51,01,ff,ff\n2014-08-15T19:07:58.377Z,3,127508,129,255,8,01,ae,05,42,01,1e,75,a3\n2014-08-15T19:07:58.416Z,7,127506,129,255,9,a4,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:07:58.487Z,6,129540,160,255,147,b2,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:58.490Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:07:58.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:07:58.612Z,2,130306,115,255,8,00,22,02,26,24,f2,ff,ff\n2014-08-15T19:07:58.649Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:58.653Z,4,129039,43,255,26,12,44,11,b6,0d,cf,3a,bd,0e,2b,31,97,23,eb,3e,7d,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:58.660Z,3,129029,160,255,43,6b,a9,3f,ae,f7,0d,29,00,c2,38,b4,65,5d,49,08,00,5a,22,f5,54,86,6e,03,50,26,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:58.662Z,3,129033,160,255,8,a9,3f,ae,f7,0d,29,b4,00\n2014-08-15T19:07:58.756Z,3,126992,160,255,8,ff,ff,a9,3f,ae,f7,0d,29\n2014-08-15T19:07:58.760Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:58.794Z,4,129038,43,255,27,01,b8,f5,67,12,14,26,94,0e,92,f0,91,23,ec,45,2d,d6,03,d7,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:07:58.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:58.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:58.804Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:07:58.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:58.853Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:07:58.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:58.923Z,4,129038,43,255,27,03,60,68,62,16,4d,cc,b2,0e,15,aa,70,23,e8,f1,d2,00,00,00,00,08,7d,8e,00,00,05,fe\n2014-08-15T19:07:58.954Z,3,129291,160,255,8,ff,fc,c2,5f,2e,00,ff,ff\n2014-08-15T19:07:58.964Z,3,127508,129,255,8,01,af,05,5a,01,1e,75,a4\n2014-08-15T19:07:58.975Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:58.978Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:58.981Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:58.983Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:07:59.071Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:07:59.158Z,3,130577,160,255,14,c0,6b,f8,7f,55,01,ff,ff,ff,ff,42,4a,45,00\n2014-08-15T19:07:59.162Z,2,129025,160,255,8,4d,31,97,23,29,3c,bd,0e\n2014-08-15T19:07:59.243Z,4,129038,43,255,27,01,10,dc,6d,0f,fd,82,5b,0e,68,fb,9b,23,e9,4e,ad,88,02,f2,08,08,88,ae,1a,00,00,fe\n2014-08-15T19:07:59.259Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:07:59.298Z,3,128267,115,255,8,00,59,05,00,00,ff,ff,ff\n2014-08-15T19:07:59.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:59.341Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:59.353Z,4,129038,43,255,27,01,6c,70,4a,10,09,04,04,0f,96,06,a4,23,e7,3f,35,ba,01,ae,08,09,21,33,fa,ff,00,fe\n2014-08-15T19:07:59.356Z,2,129026,160,255,8,ff,fc,f8,7f,55,01,ff,ff\n2014-08-15T19:07:59.433Z,4,129038,43,255,27,01,e0,53,7f,10,bb,e7,c3,0e,1a,f0,a5,23,00,f8,88,de,05,d1,08,08,ac,87,00,00,00,fe\n2014-08-15T19:07:59.497Z,6,129540,160,255,147,b3,ff,0c,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,60,09,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:07:59.501Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:07:59.566Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:07:59.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,42,02,02,00,01,01,03,00,00,00\n2014-08-15T19:07:59.580Z,2,130306,115,255,8,00,a7,02,f8,2a,f2,ff,ff\n2014-08-15T19:07:59.593Z,4,129038,43,255,27,01,c8,d4,7f,10,39,5d,df,0e,c2,85,c1,23,e9,26,82,2d,04,b6,08,08,43,84,00,00,00,fe\n2014-08-15T19:07:59.606Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:59.674Z,3,129029,160,255,43,6c,a9,3f,f0,1e,0e,29,00,6a,27,21,1c,5d,49,08,00,b2,04,20,45,86,6e,03,60,6b,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:07:59.676Z,3,129033,160,255,8,a9,3f,f0,1e,0e,29,b4,00\n2014-08-15T19:07:59.680Z,4,129039,43,255,26,12,44,11,b6,0d,4a,3a,bd,0e,ee,2f,97,23,ef,db,80,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:07:59.723Z,4,129038,43,255,27,01,92,12,4b,10,13,f7,f7,0e,40,e9,ad,23,ec,94,b0,c0,02,1c,66,08,42,b1,df,ff,00,fe\n2014-08-15T19:07:59.758Z,3,126992,160,255,8,ff,ff,a9,3f,b4,28,0e,29\n2014-08-15T19:07:59.763Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:07:59.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:07:59.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:59.802Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:07:59.860Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:07:59.863Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:07:59.890Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:59.922Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:07:59.962Z,3,129291,160,255,8,ff,fc,42,4a,45,00,ff,ff\n2014-08-15T19:07:59.974Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:07:59.976Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:07:59.978Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:07:59.983Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:00.091Z,3,127508,129,255,8,01,ac,05,16,01,1e,75,a4\n2014-08-15T19:08:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,19,0e,29,8d,c0,02,a9,3f,00,00,fc\n2014-08-15T19:08:00.163Z,4,129038,43,255,27,01,38,5e,49,16,37,7a,ca,0e,92,bf,76,23,ed,5f,d7,00,00,25,c0,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:00.166Z,3,130577,160,255,14,c0,6c,09,80,57,01,ff,ff,ff,ff,42,4a,45,00\n2014-08-15T19:08:00.169Z,2,129025,160,255,8,11,30,97,23,e5,3b,bd,0e\n2014-08-15T19:08:00.263Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:00.299Z,3,128267,115,255,8,00,7b,05,00,00,ff,ff,ff\n2014-08-15T19:08:00.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:00.325Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:00.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,19,0e,29,1c,66,02,a9,3f,00,00,fc\n2014-08-15T19:08:00.367Z,2,129026,160,255,8,ff,fc,09,80,57,01,ff,ff\n2014-08-15T19:08:00.498Z,6,129540,160,255,147,b4,ff,0c,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2,18,17,04,74,05,00,00,00,00,00,00,f0\n2014-08-15T19:08:00.500Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:08:00.558Z,2,130306,115,255,8,00,74,02,a5,1c,f2,ff,ff\n2014-08-15T19:08:00.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:00.584Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:00.672Z,3,129029,160,255,43,6d,a9,3f,0a,46,0e,29,00,da,2d,36,d7,5c,49,08,00,c4,9f,4f,1d,86,6e,03,20,cf,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:00.674Z,3,129033,160,255,8,a9,3f,0a,46,0e,29,b4,00\n2014-08-15T19:08:00.684Z,4,129039,43,255,26,12,44,11,b6,0d,82,39,bd,0e,d3,2e,97,23,03,e6,85,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:00.724Z,4,129038,43,255,27,01,88,d6,d0,0c,49,06,e1,0e,fc,c6,b5,23,01,2c,9e,31,03,17,00,01,37,a0,00,00,00,fe\n2014-08-15T19:08:00.764Z,4,129038,43,255,27,01,c8,27,16,0e,f4,57,6e,0e,ed,f3,94,23,e5,39,31,50,03,39,c0,08,16,31,1a,00,00,fe\n2014-08-15T19:08:00.766Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:00.768Z,3,126992,160,255,8,ff,ff,a9,3f,ce,4f,0e,29\n2014-08-15T19:08:00.781Z,3,127508,129,255,8,01,b0,05,71,01,1e,75,a4\n2014-08-15T19:08:00.797Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:00.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:00.804Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:00.824Z,4,129038,43,255,27,01,98,69,b3,0e,71,f0,8c,0e,db,63,a0,23,e9,88,ae,f8,01,20,66,08,94,b0,00,00,00,fe\n2014-08-15T19:08:00.857Z,3,127508,129,255,8,01,ac,05,22,01,1e,75,a4\n2014-08-15T19:08:00.862Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:08:00.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:00.900Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:00.908Z,4,129038,43,255,27,01,58,43,c9,0e,27,ae,d2,0e,48,27,a9,23,04,54,ae,d0,02,6d,40,09,36,af,00,00,00,fe\n2014-08-15T19:08:00.965Z,3,129291,160,255,8,ff,fc,a3,55,36,00,ff,ff\n2014-08-15T19:08:00.972Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:08:00.974Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:00.976Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:00.978Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:01.006Z,4,129038,43,255,27,01,88,44,7d,10,23,23,c7,0e,ca,ec,7f,23,ec,27,5b,05,00,22,00,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:01.171Z,3,130577,160,255,14,c0,6d,5b,82,57,01,ff,ff,ff,ff,a3,55,36,00\n2014-08-15T19:08:01.174Z,2,129025,160,255,8,e9,2e,97,23,3a,3b,bd,0e\n2014-08-15T19:08:01.244Z,4,129039,43,255,26,12,44,11,b6,0d,82,39,bd,0e,d3,2e,97,23,03,e6,85,68,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:08:01.270Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:01.273Z,3,127508,129,255,8,01,af,05,61,01,1e,75,a4\n2014-08-15T19:08:01.284Z,4,129039,43,255,26,12,8c,d3,b5,0d,71,e8,bd,0e,77,fd,97,23,00,15,8e,2f,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:08:01.311Z,3,128267,115,255,8,00,4a,05,00,00,ff,ff,ff\n2014-08-15T19:08:01.314Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:01.326Z,4,129038,43,255,27,01,e0,53,7f,10,5f,e0,c3,0e,46,e6,a5,23,08,f8,88,de,05,2d,80,00,ac,87,ff,7f,00,fe\n2014-08-15T19:08:01.340Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:01.384Z,4,129038,43,255,27,01,02,8b,c4,0d,7d,91,e0,0e,22,bb,c8,23,08,95,83,68,01,92,c0,00,4f,86,00,00,00,fe\n2014-08-15T19:08:01.386Z,2,129026,160,255,8,ff,fc,5b,82,57,01,ff,ff\n2014-08-15T19:08:01.425Z,4,129038,43,255,27,01,b0,79,7a,10,f0,d0,d0,0e,b9,c1,82,23,ec,cd,d8,e8,01,4b,c0,00,2a,da,f6,ff,00,fe\n2014-08-15T19:08:01.464Z,4,129038,43,255,27,03,00,c4,b5,0d,db,20,bb,0e,94,4f,71,23,06,74,05,00,00,00,00,00,a2,1c,00,00,05,fe\n2014-08-15T19:08:01.504Z,6,129540,160,255,135,b5,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,1c,0c,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:08:01.506Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:08:01.518Z,2,130306,115,255,8,00,89,02,48,1b,f2,ff,ff\n2014-08-15T19:08:01.535Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:01.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,32,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:01.592Z,7,127506,129,255,9,a5,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:01.679Z,3,129029,160,255,43,6e,a9,3f,1a,6d,0e,29,00,64,a5,63,94,5c,49,08,00,a2,58,4e,f1,85,6e,03,60,4d,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:01.681Z,3,129033,160,255,8,a9,3f,1a,6d,0e,29,b4,00\n2014-08-15T19:08:01.694Z,4,129039,43,255,26,12,44,11,b6,0d,fd,38,bd,0e,a7,2d,97,23,07,09,83,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:01.758Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:01.775Z,3,126992,160,255,8,ff,ff,a9,3f,de,76,0e,29\n2014-08-15T19:08:01.792Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:01.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:01.797Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:01.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:01.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:01.880Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:08:01.956Z,4,129041,43,255,48,15,c4,54,2c,3b,1b,50,46,0f,26,16,97,23,8c,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,30,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:01.968Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:08:01.973Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:01.974Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:01.975Z,3,127508,129,255,8,01,af,05,66,01,1e,75,a5\n2014-08-15T19:08:01.979Z,3,129291,160,255,8,ff,fc,4f,51,21,00,ff,ff\n2014-08-15T19:08:01.979Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:02.153Z,4,129038,43,255,27,03,a0,1a,bf,0d,9b,be,da,0e,9a,b8,da,23,09,5a,c4,00,00,0a,51,01,68,12,fd,ff,05,fe\n2014-08-15T19:08:02.180Z,3,130577,160,255,14,c0,6e,e6,82,57,01,ff,ff,ff,ff,4f,51,21,00\n2014-08-15T19:08:02.182Z,2,129025,160,255,8,ca,2d,97,23,7d,3a,bd,0e\n2014-08-15T19:08:02.195Z,4,129039,43,255,26,12,6e,c9,b5,0d,54,f7,d2,0e,98,01,8f,23,07,61,53,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:02.281Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:02.299Z,3,128267,115,255,8,00,5c,05,00,00,ff,ff,ff\n2014-08-15T19:08:02.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:02.332Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:02.383Z,2,129026,160,255,8,ff,fc,e6,82,57,01,ff,ff\n2014-08-15T19:08:02.484Z,2,130306,115,255,8,00,41,02,8e,18,f2,ff,ff\n2014-08-15T19:08:02.516Z,6,129540,160,255,135,b6,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,54,0b,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:08:02.519Z,2,127250,160,255,8,ff,1b,89,ff,7f,86,05,fc\n2014-08-15T19:08:02.521Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:02.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3d,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:02.571Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:02.584Z,7,129793,43,255,26,04,90,18,23,00,18,d3,e2,0e,64,31,d3,23,00,10,68,0e,29,7e,40,09,a9,3f,10,00,fc\n2014-08-15T19:08:02.684Z,3,129029,160,255,43,6f,a9,3f,16,94,0e,29,00,18,0b,13,4e,5c,49,08,00,ba,e1,05,da,85,6e,03,70,e5,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:02.688Z,3,129033,160,255,8,a9,3f,16,94,0e,29,b4,00\n2014-08-15T19:08:02.706Z,4,129039,43,255,26,12,44,11,b6,0d,a9,38,bd,0e,5a,2c,97,23,0b,1b,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:02.757Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:02.781Z,3,126992,160,255,8,ff,ff,a9,3f,da,9d,0e,29\n2014-08-15T19:08:02.794Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:02.796Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:02.798Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:02.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:02.867Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:02.884Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:08:02.966Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:08:02.969Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:02.972Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:02.974Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:02.988Z,3,129291,160,255,8,ff,fc,1c,53,25,00,ff,ff\n2014-08-15T19:08:02.991Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:03.034Z,7,129793,43,255,26,04,8f,18,23,00,74,1d,46,0f,ec,67,e2,23,00,20,8f,0e,29,6e,00,01,a9,3f,10,00,fc\n2014-08-15T19:08:03.134Z,4,129038,43,255,27,01,08,99,b5,0d,33,c4,ce,0e,1d,09,a5,23,10,ff,4a,4e,01,72,80,01,f3,48,00,00,00,fe\n2014-08-15T19:08:03.143Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:03.182Z,3,130577,160,255,14,c0,6f,9b,81,58,01,ff,ff,ff,ff,1c,53,25,00\n2014-08-15T19:08:03.185Z,2,129025,160,255,8,9c,2c,97,23,19,3a,bd,0e\n2014-08-15T19:08:03.290Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:03.296Z,3,128267,115,255,8,00,2f,05,00,00,ff,ff,ff\n2014-08-15T19:08:03.298Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:03.326Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:03.380Z,2,129026,160,255,8,ff,fc,15,82,55,01,ff,ff\n2014-08-15T19:08:03.452Z,2,130306,115,255,8,00,a7,02,03,1e,f2,ff,ff\n2014-08-15T19:08:03.489Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:03.522Z,6,129540,160,255,135,b7,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,1c,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,80,0c,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:08:03.524Z,2,127250,160,255,8,ff,78,8a,ff,7f,86,05,fc\n2014-08-15T19:08:03.528Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:03.564Z,4,129038,43,255,27,01,b8,83,92,0e,39,bb,e0,0e,e4,c8,75,23,11,8e,c1,05,00,c9,08,00,59,d3,ff,7f,00,fe\n2014-08-15T19:08:03.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,32,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:03.604Z,4,129038,43,255,27,01,e0,53,7f,10,80,d5,c3,0e,7e,d7,a5,23,10,c3,88,de,05,82,00,09,fd,86,ff,7f,00,fe\n2014-08-15T19:08:03.644Z,4,129038,43,255,27,03,22,0b,b6,0d,25,27,ca,0e,8e,05,77,23,13,f7,af,00,00,5a,47,01,a2,0d,00,00,05,fe\n2014-08-15T19:08:03.676Z,3,127508,129,255,8,01,b1,05,8f,01,1e,75,a5\n2014-08-15T19:08:03.691Z,3,129029,160,255,43,70,a9,3f,58,bb,0e,29,00,cc,70,c2,07,5c,49,08,00,e0,64,93,c1,85,6e,03,90,51,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:03.693Z,3,129033,160,255,8,a9,3f,58,bb,0e,29,b4,00\n2014-08-15T19:08:03.725Z,4,129039,43,255,26,12,44,11,b6,0d,13,38,bd,0e,4f,2b,97,23,0f,a1,82,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:03.757Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:08:03.786Z,3,126992,160,255,8,ff,ff,a9,3f,1c,c5,0e,29\n2014-08-15T19:08:03.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:03.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:03.803Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:08:03.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:03.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:03.888Z,2,128259,160,255,8,ff,ff,ff,55,01,ff,ff,ff\n2014-08-15T19:08:03.965Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,63,3e,01,00\n2014-08-15T19:08:03.967Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:03.969Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:03.971Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:03.991Z,3,129291,160,255,8,ff,fc,3d,55,46,00,ff,ff\n2014-08-15T19:08:03.993Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:04.024Z,4,129038,43,255,27,01,40,37,b7,0d,48,bb,89,0e,da,74,bf,23,11,43,b1,00,00,19,40,09,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:04.084Z,4,129038,43,255,27,01,08,7b,ba,0d,33,bb,91,0e,a8,54,bc,23,0d,37,a0,77,01,1f,c0,00,37,a0,00,00,00,fe\n2014-08-15T19:08:04.124Z,4,129038,43,255,27,01,28,f5,77,10,20,6c,a1,0e,c0,89,74,23,0c,c5,31,c3,00,a7,08,08,b9,2f,00,00,00,fe\n2014-08-15T19:08:04.184Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,21,7c,6f,23,0c,03,a6,00,00,3b,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:04.189Z,3,130577,160,255,14,c0,70,15,82,55,01,ff,ff,ff,ff,3d,55,46,00\n2014-08-15T19:08:04.191Z,2,129025,160,255,8,6e,2b,97,23,b0,39,bd,0e\n2014-08-15T19:08:04.292Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:04.298Z,3,128267,115,255,8,00,53,05,00,00,ff,ff,ff\n2014-08-15T19:08:04.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:04.338Z,3,127508,129,255,8,01,ae,05,24,01,1e,75,a5\n2014-08-15T19:08:04.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:04.395Z,2,129026,160,255,8,ff,fc,a6,83,50,01,ff,ff\n2014-08-15T19:08:04.397Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:04.420Z,2,130306,115,255,8,00,46,02,54,1d,f2,ff,ff\n2014-08-15T19:08:04.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:04.465Z,3,127508,129,255,8,01,af,05,49,01,1e,75,a5\n2014-08-15T19:08:04.466Z,4,129041,43,255,48,15,b1,54,2c,3b,ca,4a,b4,0e,ba,6e,87,23,00,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,31,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:04.532Z,6,129540,160,255,135,b8,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,b8,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:08:04.534Z,2,127250,160,255,8,ff,72,89,ff,7f,86,05,fc\n2014-08-15T19:08:04.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,23,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:04.653Z,3,127508,129,255,8,01,af,05,5c,01,1e,75,a5\n2014-08-15T19:08:04.706Z,3,129029,160,255,43,71,a9,3f,4a,e2,0e,29,00,04,8f,7f,c7,5b,49,08,00,94,2f,10,99,85,6e,03,10,8a,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:04.708Z,3,129033,160,255,8,a9,3f,4a,e2,0e,29,b4,00\n2014-08-15T19:08:04.733Z,4,129039,43,255,26,12,44,11,b6,0d,5c,37,bd,0e,44,2a,97,23,13,e6,85,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:04.761Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:08:04.797Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:04.801Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:04.803Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:08:04.805Z,3,126992,160,255,8,ff,ff,a9,3f,18,ec,0e,29\n2014-08-15T19:08:04.823Z,4,129038,43,255,27,01,20,f6,7e,10,6d,38,c7,0e,ba,e9,7f,23,11,39,31,00,00,20,66,08,13,c7,00,00,0f,fe\n2014-08-15T19:08:04.863Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:04.891Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:04.906Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:08:04.921Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:04.961Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,75,3e,01,00\n2014-08-15T19:08:04.964Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:04.967Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:04.969Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:04.971Z,7,127506,129,255,9,a6,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:04.997Z,3,129291,160,255,8,ff,fc,7a,60,32,00,ff,ff\n2014-08-15T19:08:05.034Z,4,129038,43,255,27,01,fc,ff,e9,25,e2,62,24,0f,ee,ee,be,23,11,7d,bb,bb,02,b9,80,08,7c,bb,00,00,00,fe\n2014-08-15T19:08:05.165Z,3,127508,129,255,8,01,b0,05,69,01,1e,75,a6\n2014-08-15T19:08:05.179Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:08:05.207Z,3,130577,160,255,14,c0,71,a6,83,50,01,ff,ff,ff,ff,7a,60,32,00\n2014-08-15T19:08:05.209Z,2,129025,160,255,8,5a,2a,97,23,02,39,bd,0e\n2014-08-15T19:08:05.213Z,4,129038,43,255,27,01,b8,f5,67,12,17,52,94,0e,46,fa,91,23,10,56,2d,d6,03,b8,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:08:05.297Z,3,128267,115,255,8,00,7e,05,00,00,ff,ff,ff\n2014-08-15T19:08:05.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:05.301Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:05.328Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:08:05.330Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:05.382Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:05.401Z,2,129026,160,255,8,ff,fc,55,84,4a,01,ff,ff\n2014-08-15T19:08:05.405Z,4,129038,43,255,27,01,ae,2d,b7,0d,97,b5,e3,0e,d8,d1,dc,23,11,11,00,00,00,c7,80,08,dc,26,00,00,00,fe\n2014-08-15T19:08:05.429Z,2,130306,115,255,8,00,7e,02,32,26,f2,ff,ff\n2014-08-15T19:08:05.444Z,4,129038,43,255,27,01,e0,53,7f,10,fc,d1,c3,0e,8c,d2,a5,23,18,03,88,d8,05,20,66,00,fd,86,00,00,00,fe\n2014-08-15T19:08:05.448Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:05.543Z,6,129540,160,255,135,b9,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:05.547Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:08:05.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,2a,02,03,00,01,01,04,00,00,00\n2014-08-15T19:08:05.592Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:05.593Z,4,129038,43,255,27,01,c8,d4,7f,10,0b,54,df,0e,3c,6c,c1,23,15,26,82,2d,04,20,66,00,43,84,00,00,00,fe\n2014-08-15T19:08:05.707Z,3,129029,160,255,43,72,a9,3f,96,09,0f,29,00,56,1e,55,89,5b,49,08,00,06,1e,86,6d,85,6e,03,10,fb,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:05.710Z,3,129033,160,255,8,a9,3f,96,09,0f,29,b4,00\n2014-08-15T19:08:05.753Z,4,129039,43,255,26,12,44,11,b6,0d,d7,36,bd,0e,3a,29,97,23,17,d5,85,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:05.756Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:05.780Z,3,127508,129,255,8,01,ae,05,23,01,1e,75,a6\n2014-08-15T19:08:05.794Z,4,129038,43,255,27,01,d2,ff,4a,10,03,8b,b1,0e,95,01,71,23,15,59,e8,00,00,4d,40,09,37,91,e6,ff,00,fe\n2014-08-15T19:08:05.796Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:05.798Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:05.801Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:05.803Z,3,126992,160,255,8,ff,ff,a9,3f,96,09,0f,29\n2014-08-15T19:08:05.824Z,3,127508,129,255,8,01,b0,05,5f,01,1e,75,a6\n2014-08-15T19:08:05.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:05.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:05.906Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:08:05.923Z,7,129793,43,255,26,04,91,18,23,00,98,19,86,0e,90,f7,c7,23,00,50,04,0f,29,da,00,01,a9,3f,10,00,fc\n2014-08-15T19:08:05.960Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,75,3e,01,00\n2014-08-15T19:08:05.964Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:05.964Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:05.968Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:06.006Z,3,129291,160,255,8,ff,fc,c7,72,29,00,ff,ff\n2014-08-15T19:08:06.104Z,4,129038,43,255,27,01,58,43,c9,0e,ac,95,d2,0e,38,24,a9,23,18,88,ae,d0,02,20,66,00,36,af,00,00,00,fe\n2014-08-15T19:08:06.150Z,3,127508,129,255,8,01,ac,05,ff,00,1e,75,a6\n2014-08-15T19:08:06.154Z,4,129038,43,255,27,03,58,bd,7f,10,d1,9f,ba,0e,d2,02,71,23,17,f2,8a,00,00,00,00,00,ab,96,00,00,05,fe\n2014-08-15T19:08:06.211Z,3,130577,160,255,14,c0,72,55,84,4a,01,ff,ff,ff,ff,c7,72,29,00\n2014-08-15T19:08:06.216Z,2,129025,160,255,8,4f,29,97,23,47,38,bd,0e\n2014-08-15T19:08:06.303Z,3,128267,115,255,8,00,56,05,00,00,ff,ff,ff\n2014-08-15T19:08:06.305Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:06.307Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:06.327Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:06.355Z,2,130306,115,255,8,00,65,02,32,26,f2,ff,ff\n2014-08-15T19:08:06.376Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:06.408Z,2,129026,160,255,8,ff,fc,f2,84,47,01,ff,ff\n2014-08-15T19:08:06.537Z,6,129540,160,255,135,ba,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,f0,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:06.539Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:08:06.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:06.710Z,3,129029,160,255,43,73,a9,3f,90,32,0f,29,00,8e,3c,12,49,5b,49,08,00,e4,d6,84,41,85,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:06.712Z,3,129033,160,255,8,a9,3f,90,32,0f,29,b4,00\n2014-08-15T19:08:06.747Z,3,127508,129,255,8,01,af,05,41,01,1e,75,a6\n2014-08-15T19:08:06.760Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:06.785Z,4,129041,43,255,48,15,ae,54,2c,3b,38,8e,ee,0e,91,3b,86,23,08,14,00,14,00,0a,00,0a,00,16,02,e2,00,16,01,42,55,4f,59,2d,31,36,33,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:06.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:06.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:06.802Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:06.809Z,3,126992,160,255,8,ff,ff,a9,3f,90,32,0f,29\n2014-08-15T19:08:06.825Z,4,129039,43,255,26,12,44,11,b6,0d,30,36,bd,0e,2f,28,97,23,1b,4f,86,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:06.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:06.892Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:06.903Z,4,129038,43,255,27,01,88,d6,d0,0c,13,eb,e0,0e,81,bc,b5,23,19,71,9e,31,03,ff,80,08,37,a0,00,00,00,fe\n2014-08-15T19:08:06.912Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:08:06.943Z,4,129038,43,255,27,01,c8,27,16,0e,db,77,6e,0e,22,f9,94,23,0d,4b,31,50,03,25,81,00,16,31,1a,00,00,fe\n2014-08-15T19:08:06.957Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,75,3e,01,00\n2014-08-15T19:08:06.959Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:06.962Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:06.964Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:07.003Z,3,129291,160,255,8,ff,fc,6e,6c,0a,00,ff,ff\n2014-08-15T19:08:07.042Z,7,127506,129,255,9,a7,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:07.208Z,3,130577,160,255,14,c0,73,f2,84,47,01,ff,ff,ff,ff,6e,6c,0a,00\n2014-08-15T19:08:07.210Z,2,129025,160,255,8,3b,28,97,23,8a,37,bd,0e\n2014-08-15T19:08:07.243Z,4,129039,43,255,26,12,ec,d7,b5,0d,98,9d,bb,0e,c2,d6,8e,23,18,44,7b,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:07.294Z,4,129038,43,255,27,01,e0,53,7f,10,26,cb,c3,0e,b7,c8,a5,23,20,e0,87,ce,05,d3,08,08,fd,86,00,00,00,fe\n2014-08-15T19:08:07.296Z,3,128267,115,255,8,00,fe,04,00,00,ff,ff,ff\n2014-08-15T19:08:07.298Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:07.310Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:07.323Z,2,130306,115,255,8,00,65,02,d5,24,f2,ff,ff\n2014-08-15T19:08:07.349Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:07.404Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:07.412Z,2,129026,160,255,8,ff,fc,38,85,4c,01,ff,ff\n2014-08-15T19:08:07.433Z,4,129038,43,255,27,01,b8,53,a6,0c,9e,ef,77,0e,52,dc,9e,23,20,a0,ac,78,02,13,81,09,88,ae,00,00,00,fe\n2014-08-15T19:08:07.479Z,3,127508,129,255,8,01,ae,05,37,01,1e,75,a7\n2014-08-15T19:08:07.507Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:07.542Z,6,129540,160,255,135,bb,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,60,09,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:07.544Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:07.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,22,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:07.722Z,3,129029,160,255,43,74,a9,3f,8c,59,0f,29,00,e2,4e,7b,06,5b,49,08,00,a6,9b,d7,17,85,6e,03,a0,e9,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:07.724Z,3,129033,160,255,8,a9,3f,8c,59,0f,29,b4,00\n2014-08-15T19:08:07.755Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:07.773Z,4,129039,43,255,26,12,44,11,b6,0d,ab,35,bd,0e,14,27,97,23,1f,49,85,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:07.793Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:07.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:07.800Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:07.809Z,3,126992,160,255,8,ff,ff,a9,3f,8c,59,0f,29\n2014-08-15T19:08:07.810Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:07.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:07.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:07.911Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:08:07.955Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,75,3e,01,00\n2014-08-15T19:08:07.957Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:07.961Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:07.963Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:08.013Z,3,129291,160,255,8,ff,fc,08,af,18,00,ff,ff\n2014-08-15T19:08:08.113Z,3,127508,129,255,8,01,b0,05,6a,01,1e,75,a7\n2014-08-15T19:08:08.218Z,3,130577,160,255,14,c0,74,38,85,4c,01,ff,ff,ff,ff,08,af,18,00\n2014-08-15T19:08:08.220Z,2,129025,160,255,8,1d,27,97,23,d7,36,bd,0e\n2014-08-15T19:08:08.288Z,2,130306,115,255,8,00,31,02,77,23,f2,ff,ff\n2014-08-15T19:08:08.322Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:08.326Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:08.403Z,3,128267,115,255,8,00,f8,04,00,00,ff,ff,ff\n2014-08-15T19:08:08.405Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:08.429Z,2,129026,160,255,8,ff,fc,0f,84,4e,01,ff,ff\n2014-08-15T19:08:08.431Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:08.555Z,6,129540,160,255,135,bc,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:08.557Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:08:08.561Z,4,129038,43,255,27,03,c0,1d,7b,10,bf,a6,dd,0e,7a,83,76,23,1c,a6,8f,00,00,00,00,02,e6,82,00,00,05,fe\n2014-08-15T19:08:08.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,08,34,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:08.608Z,3,127508,129,255,8,01,b1,05,7c,01,1e,75,a7\n2014-08-15T19:08:08.734Z,3,129029,160,255,43,75,a9,3f,0a,81,0f,29,00,be,1f,19,c1,5a,49,08,00,7e,cb,1b,f9,84,6e,03,b0,10,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:08.736Z,3,129033,160,255,8,a9,3f,0a,81,0f,29,b4,00\n2014-08-15T19:08:08.754Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:08.769Z,3,127508,129,255,8,01,ac,05,11,01,1e,75,a7\n2014-08-15T19:08:08.784Z,4,129039,43,255,26,12,44,11,b6,0d,57,35,bd,0e,d7,25,97,23,23,5b,82,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:08.792Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:08.794Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:08.798Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:08.828Z,3,126992,160,255,8,ff,ff,a9,3f,d8,8a,0f,29\n2014-08-15T19:08:08.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:08.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:08.930Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:08:08.952Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,75,3e,01,00\n2014-08-15T19:08:08.955Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:08.957Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:08.960Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:09.003Z,4,129038,43,255,27,01,68,e2,20,12,ea,1a,fb,0e,6a,01,ad,23,24,83,b0,02,02,67,c0,08,f1,b1,00,00,00,fe\n2014-08-15T19:08:09.032Z,3,129291,160,255,8,ff,fc,75,bf,15,00,ff,ff\n2014-08-15T19:08:09.178Z,3,127508,129,255,8,01,af,05,55,01,1e,75,a7\n2014-08-15T19:08:09.236Z,3,130577,160,255,14,c0,75,0f,84,4e,01,ff,ff,ff,ff,75,bf,15,00\n2014-08-15T19:08:09.238Z,2,129025,160,255,8,f3,25,97,23,53,36,bd,0e\n2014-08-15T19:08:09.259Z,2,130306,115,255,8,00,03,02,8e,18,f2,ff,ff\n2014-08-15T19:08:09.279Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:09.316Z,3,128267,115,255,8,00,01,05,00,00,ff,ff,ff\n2014-08-15T19:08:09.319Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:09.332Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:09.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:09.383Z,4,129038,43,255,27,01,6c,70,4a,10,5f,22,04,0f,c6,09,a4,23,1f,1c,35,bf,01,1d,c0,01,21,33,b0,19,00,fe\n2014-08-15T19:08:09.423Z,4,129038,43,255,27,01,88,44,7d,10,02,23,c7,0e,ca,ec,7f,23,1c,95,89,00,00,21,40,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:09.435Z,2,129026,160,255,8,ff,fc,26,82,51,01,ff,ff\n2014-08-15T19:08:09.450Z,7,127506,129,255,9,a8,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:09.463Z,4,129038,43,255,27,01,92,12,4b,10,fd,c2,f7,0e,bd,e2,ad,23,24,94,b0,c0,02,20,66,00,42,b1,00,00,00,fe\n2014-08-15T19:08:09.554Z,6,129540,160,255,135,bd,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:09.556Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:08:09.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:09.606Z,4,129041,43,255,48,15,b7,54,2c,3b,25,71,9a,0e,9c,f2,76,23,14,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,36,39,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:09.644Z,4,129038,43,255,27,01,e0,53,7f,10,bb,c0,c3,0e,df,b9,a5,23,28,03,88,ce,05,20,66,00,4f,86,00,00,00,fe\n2014-08-15T19:08:09.740Z,3,129029,160,255,43,76,a9,3f,60,a8,0f,29,00,30,a9,c1,77,5a,49,08,00,78,dd,93,e8,84,6e,03,00,d4,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:09.743Z,3,129033,160,255,8,a9,3f,60,a8,0f,29,b4,00\n2014-08-15T19:08:09.757Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:09.792Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:09.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:09.797Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:09.804Z,4,129039,43,255,26,12,44,11,b6,0d,47,35,bd,0e,ab,24,97,23,27,44,7e,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:09.828Z,3,126992,160,255,8,ff,ff,a9,3f,24,b2,0f,29\n2014-08-15T19:08:09.862Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:09.891Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:09.920Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:09.929Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:08:09.950Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,88,3e,01,00\n2014-08-15T19:08:09.952Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:09.956Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:09.958Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:09.964Z,4,129038,43,255,27,01,10,dc,6d,0f,19,52,5b,0e,a4,f1,9b,23,25,60,ad,88,02,3c,c0,00,88,ae,14,00,00,fe\n2014-08-15T19:08:10.030Z,3,129291,160,255,8,ff,fc,75,bf,15,00,ff,ff\n2014-08-15T19:08:10.041Z,3,127508,129,255,8,01,ac,05,02,01,1e,75,a8\n2014-08-15T19:08:10.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,a0,0f,29,8d,c0,0b,a9,3f,00,00,fc\n2014-08-15T19:08:10.237Z,3,130577,160,255,14,c0,76,26,82,51,01,ff,ff,ff,ff,3a,72,11,00\n2014-08-15T19:08:10.240Z,2,130306,115,255,8,00,6f,02,03,1e,f2,ff,ff\n2014-08-15T19:08:10.242Z,2,129025,160,255,8,b8,24,97,23,0c,36,bd,0e\n2014-08-15T19:08:10.257Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:10.317Z,3,128267,115,255,8,00,32,05,00,00,ff,ff,ff\n2014-08-15T19:08:10.319Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:10.344Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:10.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:10.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,a0,0f,29,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:08:10.384Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:10.423Z,4,129038,43,255,27,01,b8,f5,67,12,57,71,94,0e,3d,01,92,23,28,45,2d,d6,03,d5,08,0a,ff,2c,00,00,00,fe\n2014-08-15T19:08:10.435Z,2,129026,160,255,8,ff,fc,83,80,51,01,ff,ff\n2014-08-15T19:08:10.565Z,6,129540,160,255,135,be,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:10.567Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:08:10.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,2c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:10.615Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:10.663Z,4,129039,43,255,26,12,9e,d6,c3,0d,4b,40,c8,0e,fb,69,93,23,2a,9b,57,86,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:10.680Z,3,127508,129,255,8,01,ae,05,31,01,1e,75,a8\n2014-08-15T19:08:10.741Z,3,129029,160,255,43,77,a9,3f,ac,cf,0f,29,00,94,38,94,2f,5a,49,08,00,52,f5,38,e3,84,6e,03,90,c2,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:10.744Z,3,129033,160,255,8,a9,3f,ac,cf,0f,29,b4,00\n2014-08-15T19:08:10.754Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:08:10.789Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:10.791Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:10.794Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:08:10.814Z,4,129039,43,255,26,12,44,11,b6,0d,36,35,bd,0e,6e,23,97,23,2b,95,7d,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:10.836Z,3,126992,160,255,8,ff,ff,a9,3f,70,d9,0f,29\n2014-08-15T19:08:10.836Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:10.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:10.939Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:08:10.950Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,88,3e,01,00\n2014-08-15T19:08:10.951Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:10.952Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:10.959Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:11.044Z,3,129291,160,255,8,ff,fc,3a,72,11,00,ff,ff\n2014-08-15T19:08:11.117Z,3,127508,129,255,8,01,ae,05,1c,01,1e,75,a8\n2014-08-15T19:08:11.237Z,3,130577,160,255,14,c0,77,83,80,51,01,ff,ff,ff,ff,1a,6d,22,00\n2014-08-15T19:08:11.239Z,2,129025,160,255,8,82,23,97,23,f5,35,bd,0e\n2014-08-15T19:08:11.245Z,2,130306,115,255,8,00,1d,02,77,23,f2,ff,ff\n2014-08-15T19:08:11.265Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:11.294Z,4,129038,43,255,27,01,02,8b,c4,0d,a1,8b,e0,0e,c4,ae,c8,23,30,95,83,68,01,a4,01,09,fd,86,00,00,00,fe\n2014-08-15T19:08:11.301Z,3,128267,115,255,8,00,53,05,00,00,ff,ff,ff\n2014-08-15T19:08:11.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:11.344Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:11.346Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:11.404Z,4,129039,43,255,26,12,c4,e2,c3,0d,ff,21,c4,0e,a8,e0,94,23,2c,be,57,77,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:08:11.437Z,2,129026,160,255,8,ff,fc,e6,7f,4d,01,ff,ff\n2014-08-15T19:08:11.544Z,4,129038,43,255,27,01,c8,d4,7f,10,94,4b,df,0e,73,55,c1,23,2d,26,82,2d,04,bc,08,08,43,84,00,00,00,fe\n2014-08-15T19:08:11.576Z,6,129540,160,255,135,bf,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,ac,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:11.578Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:11.583Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,22,02,02,00,01,03,03,00,00,00\n2014-08-15T19:08:11.586Z,4,129038,43,255,27,01,e0,53,7f,10,d5,b9,c3,0e,fa,af,a5,23,30,15,88,d3,05,ae,01,09,fd,86,00,00,00,fe\n2014-08-15T19:08:11.624Z,4,129038,43,255,27,01,b0,79,7a,10,80,b9,d0,0e,be,ce,82,23,24,99,d8,e8,01,4b,c0,08,2a,da,00,00,00,fe\n2014-08-15T19:08:11.674Z,4,129039,43,255,26,12,66,58,b6,0d,87,b6,bb,0e,c3,da,91,23,2f,66,81,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:11.689Z,3,127508,129,255,8,01,b0,05,58,01,1e,75,a8\n2014-08-15T19:08:11.723Z,4,129038,43,255,27,01,98,69,b3,0e,ae,ca,8c,0e,2b,5f,a0,23,25,88,ae,f8,01,b4,81,01,94,b0,00,00,00,fe\n2014-08-15T19:08:11.750Z,3,129029,160,255,43,78,a9,3f,da,f6,0f,29,00,62,0f,5c,eb,59,49,08,00,12,9c,c5,db,84,6e,03,c0,37,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:11.754Z,3,129033,160,255,8,a9,3f,da,f6,0f,29,b4,00\n2014-08-15T19:08:11.755Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:08:11.788Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:11.791Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:11.794Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:08:11.824Z,4,129039,43,255,26,12,44,11,b6,0d,04,35,bd,0e,53,22,97,23,2f,ac,7e,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:11.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:11.848Z,3,126992,160,255,8,ff,ff,a9,3f,9e,00,10,29\n2014-08-15T19:08:11.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:11.939Z,2,128259,160,255,8,ff,ff,ff,4d,01,ff,ff,ff\n2014-08-15T19:08:11.946Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,88,3e,01,00\n2014-08-15T19:08:11.948Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:11.951Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:11.954Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:12.040Z,3,129291,160,255,8,ff,fc,1a,6d,22,00,ff,ff\n2014-08-15T19:08:12.216Z,3,127508,129,255,8,01,ae,05,27,01,1e,75,a8\n2014-08-15T19:08:12.244Z,3,130577,160,255,14,c0,78,e6,7f,4d,01,ff,ff,ff,ff,1a,6d,22,00\n2014-08-15T19:08:12.247Z,2,129025,160,255,8,5d,22,97,23,d5,35,bd,0e\n2014-08-15T19:08:12.264Z,2,130306,115,255,8,00,65,02,f7,1b,f2,ff,ff\n2014-08-15T19:08:12.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:12.321Z,3,128267,115,255,8,00,5f,05,00,00,ff,ff,ff\n2014-08-15T19:08:12.324Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:12.345Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:12.413Z,4,129038,43,255,27,01,58,43,c9,0e,4f,78,d2,0e,93,20,a9,23,34,ab,ae,d0,02,ce,01,09,36,af,00,00,00,fe\n2014-08-15T19:08:12.435Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:12.450Z,2,129026,160,255,8,ff,fc,c3,7f,4e,01,ff,ff\n2014-08-15T19:08:12.454Z,4,129038,43,255,27,01,58,eb,ad,0e,db,cb,60,0e,ae,21,90,23,37,62,2f,d4,01,20,66,00,5c,2e,00,00,00,fe\n2014-08-15T19:08:12.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,04,00,00,00,00,00,00,00,00,09,3d,02,02,00,05,03,03,00,00,00\n2014-08-15T19:08:12.584Z,6,129540,160,255,135,c0,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:12.586Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:08:12.590Z,7,129793,43,255,26,04,90,18,23,00,e6,d2,e2,0e,32,31,d3,23,00,b0,ee,0f,29,79,40,01,a9,3f,10,00,fc\n2014-08-15T19:08:12.756Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:12.763Z,3,129029,160,255,43,79,a9,3f,1c,1e,10,29,00,e0,0f,47,a5,59,49,08,00,78,78,c6,ca,84,6e,03,e0,85,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:12.766Z,3,129033,160,255,8,a9,3f,1c,1e,10,29,b4,00\n2014-08-15T19:08:12.793Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:12.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:12.798Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:12.843Z,4,129039,43,255,26,12,44,11,b6,0d,c1,34,bd,0e,38,21,97,23,33,c9,7d,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:12.849Z,3,126992,160,255,8,ff,ff,a9,3f,e0,27,10,29\n2014-08-15T19:08:12.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:12.897Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:12.907Z,7,127506,129,255,9,a9,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:12.944Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,88,3e,01,00\n2014-08-15T19:08:12.946Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:12.949Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:12.951Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:12.954Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:08:13.034Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,ec,67,e2,23,00,c0,15,10,29,e5,01,09,a9,3f,10,00,fc\n2014-08-15T19:08:13.047Z,3,127508,129,255,8,01,af,05,39,01,1e,75,a9\n2014-08-15T19:08:13.054Z,3,129291,160,255,8,ff,fc,59,6f,1c,00,ff,ff\n2014-08-15T19:08:13.057Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:13.252Z,2,130306,115,255,8,00,cc,02,b1,1e,f2,ff,ff\n2014-08-15T19:08:13.258Z,3,130577,160,255,14,c0,79,c3,7f,4e,01,ff,ff,ff,ff,59,6f,1c,00\n2014-08-15T19:08:13.260Z,2,129025,160,255,8,30,21,97,23,8c,35,bd,0e\n2014-08-15T19:08:13.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:13.294Z,4,129038,43,255,27,01,e0,53,7f,10,51,b6,c3,0e,18,ab,a5,23,30,15,88,d3,05,ef,01,01,fd,86,00,00,00,fe\n2014-08-15T19:08:13.317Z,3,128267,115,255,8,00,22,05,00,00,ff,ff,ff\n2014-08-15T19:08:13.319Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:13.351Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:13.374Z,4,129038,43,255,27,01,28,f5,77,10,25,79,a1,0e,c0,89,74,23,28,16,31,c8,00,20,66,00,b9,2f,00,00,00,fe\n2014-08-15T19:08:13.402Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:13.454Z,2,129026,160,255,8,ff,fc,5b,7f,50,01,ff,ff\n2014-08-15T19:08:13.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2e,02,02,00,05,03,03,00,00,00\n2014-08-15T19:08:13.593Z,6,129540,160,255,135,c1,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:13.595Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:13.597Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:13.601Z,4,129038,43,255,27,01,08,99,b5,0d,bb,d7,ce,0e,9a,02,a5,23,38,f3,48,49,01,a3,08,08,f3,48,00,00,00,fe\n2014-08-15T19:08:13.640Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:13.723Z,4,129038,43,255,27,01,88,d6,d0,0c,e9,ca,e0,0e,76,b0,b5,23,35,20,9f,31,03,41,c0,00,37,a0,00,00,00,fe\n2014-08-15T19:08:13.752Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:13.764Z,4,129038,43,255,27,01,c8,27,16,0e,20,a4,6e,0e,4c,00,95,23,2d,7f,31,50,03,26,82,08,c4,31,1a,00,00,fe\n2014-08-15T19:08:13.772Z,3,129029,160,255,43,7a,a9,3f,54,45,10,29,00,a2,6f,cc,5d,59,49,08,00,de,54,c7,b9,84,6e,03,90,51,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:13.773Z,3,129033,160,255,8,a9,3f,54,45,10,29,b4,00\n2014-08-15T19:08:13.788Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:13.790Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:13.791Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:13.794Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:13.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:13.854Z,4,129039,43,255,26,12,44,11,b6,0d,a0,34,bd,0e,ea,1f,97,23,37,32,7e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:13.856Z,3,126992,160,255,8,ff,ff,a9,3f,18,4f,10,29\n2014-08-15T19:08:13.871Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:13.894Z,4,129038,43,255,27,01,20,f6,7e,10,5d,38,c7,0e,cb,e9,7f,23,35,39,31,00,00,05,82,01,13,c7,00,00,0f,fe\n2014-08-15T19:08:13.941Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,88,3e,01,00\n2014-08-15T19:08:13.944Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:13.947Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:13.949Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:13.955Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:08:13.980Z,3,127508,129,255,8,01,ae,05,23,01,1e,75,a9\n2014-08-15T19:08:13.994Z,4,129038,43,255,27,01,40,37,b7,0d,59,bb,89,0e,ea,74,bf,23,39,2b,cb,00,00,19,c0,00,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:14.034Z,4,129038,43,255,27,01,08,7b,ba,0d,ab,a7,91,0e,25,4e,bc,23,35,37,a0,77,01,2f,82,08,37,a0,00,00,00,fe\n2014-08-15T19:08:14.057Z,3,129291,160,255,8,ff,fc,1f,5f,16,00,ff,ff\n2014-08-15T19:08:14.059Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:14.188Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:08:14.263Z,3,130577,160,255,14,c0,7a,5b,7f,50,01,ff,ff,ff,ff,1f,5f,16,00\n2014-08-15T19:08:14.266Z,2,129025,160,255,8,fd,1f,97,23,43,35,bd,0e\n2014-08-15T19:08:14.283Z,2,130306,115,255,8,00,98,02,3e,28,f2,ff,ff\n2014-08-15T19:08:14.301Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:14.318Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:08:14.337Z,3,128267,115,255,8,00,38,05,00,00,ff,ff,ff\n2014-08-15T19:08:14.341Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:14.358Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:14.442Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:14.459Z,2,129026,160,255,8,ff,fc,b2,7f,53,01,ff,ff\n2014-08-15T19:08:14.462Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:14.557Z,3,127508,129,255,8,01,b0,05,65,01,1e,75,a9\n2014-08-15T19:08:14.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,34,02,03,00,04,01,04,00,00,00\n2014-08-15T19:08:14.599Z,6,129540,160,255,135,c2,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,1c,0c,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,34,08,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:14.601Z,2,127250,160,255,8,ff,3e,80,ff,7f,86,05,fc\n2014-08-15T19:08:14.605Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,39,5b,79,00,00,2a,c0,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:14.739Z,3,127508,129,255,8,01,ac,05,f0,00,1e,75,a9\n2014-08-15T19:08:14.755Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:14.773Z,3,129029,160,255,43,7b,a9,3f,46,6c,10,29,00,2e,6a,8d,16,59,49,08,00,60,25,74,a6,84,6e,03,70,03,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:14.774Z,3,129033,160,255,8,a9,3f,46,6c,10,29,b4,00\n2014-08-15T19:08:14.798Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:14.800Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:14.802Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:14.864Z,4,129039,43,255,26,12,44,11,b6,0d,5d,34,bd,0e,cf,1e,97,23,3b,d5,7f,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:14.868Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:14.870Z,3,126992,160,255,8,ff,ff,a9,3f,3c,76,10,29\n2014-08-15T19:08:14.890Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:14.924Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:14.938Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,9a,3e,01,00\n2014-08-15T19:08:14.942Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:14.944Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:14.946Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:14.964Z,2,128259,160,255,8,ff,ff,ff,53,01,ff,ff,ff\n2014-08-15T19:08:15.068Z,3,129291,160,255,8,ff,fc,03,4c,15,00,ff,ff\n2014-08-15T19:08:15.198Z,2,130306,115,255,8,00,31,02,9a,1a,f2,ff,ff\n2014-08-15T19:08:15.224Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:15.272Z,3,130577,160,255,14,c0,7b,b2,7f,53,01,ff,ff,ff,ff,03,4c,15,00\n2014-08-15T19:08:15.274Z,2,129025,160,255,8,cb,1e,97,23,f0,34,bd,0e\n2014-08-15T19:08:15.292Z,3,128267,115,255,8,00,96,05,00,00,ff,ff,ff\n2014-08-15T19:08:15.292Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:15.320Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:15.364Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:15.380Z,3,127508,129,255,8,01,af,05,3c,01,1e,75,a9\n2014-08-15T19:08:15.466Z,2,129026,160,255,8,ff,fc,55,7e,56,01,ff,ff\n2014-08-15T19:08:15.544Z,4,129038,43,255,27,01,d2,ff,4a,10,14,8b,b1,0e,95,01,71,23,3d,59,e8,00,00,9b,08,00,37,91,d7,ff,00,fe\n2014-08-15T19:08:15.552Z,7,127506,129,255,9,aa,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:15.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,47,02,02,00,04,01,03,00,00,00\n2014-08-15T19:08:15.607Z,6,129540,160,255,135,c3,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,b8,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:15.610Z,2,127250,160,255,8,ff,8f,7f,ff,7f,86,05,fc\n2014-08-15T19:08:15.644Z,4,129038,43,255,27,01,e0,53,7f,10,f7,ab,c3,0e,40,9c,a5,23,40,f2,87,d3,05,47,02,09,fd,86,00,00,00,fe\n2014-08-15T19:08:15.683Z,4,129039,43,255,26,12,0a,ec,b5,0d,45,e6,cc,0e,e2,ae,91,23,38,9c,54,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:15.751Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:08:15.785Z,3,129029,160,255,43,7c,a9,3f,ce,93,10,29,00,34,29,ad,cd,58,49,08,00,72,25,71,9c,84,6e,03,80,9b,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:15.788Z,3,129033,160,255,8,a9,3f,ce,93,10,29,b4,00\n2014-08-15T19:08:15.790Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:15.792Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:15.795Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:08:15.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:15.862Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:15.870Z,3,126992,160,255,8,ff,ff,a9,3f,92,9d,10,29\n2014-08-15T19:08:15.884Z,4,129039,43,255,26,12,44,11,b6,0d,5d,34,bd,0e,92,1d,97,23,3f,49,7c,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:15.932Z,7,129793,43,255,26,04,91,18,23,00,2e,1a,86,0e,f4,f7,c7,23,00,f0,8a,10,29,ab,40,09,a9,3f,10,00,fc\n2014-08-15T19:08:15.939Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,9a,3e,01,00\n2014-08-15T19:08:15.939Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:15.941Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:15.954Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:15.972Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:08:16.016Z,3,127508,129,255,8,01,af,05,3f,01,1e,75,aa\n2014-08-15T19:08:16.073Z,3,129291,160,255,8,ff,fc,19,51,16,00,ff,ff\n2014-08-15T19:08:16.124Z,2,130306,115,255,8,00,e5,02,3e,28,f2,ff,ff\n2014-08-15T19:08:16.232Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:16.277Z,3,130577,160,255,14,c0,7c,55,7e,56,01,ff,ff,ff,ff,19,51,16,00\n2014-08-15T19:08:16.279Z,2,129025,160,255,8,92,1d,97,23,c5,34,bd,0e\n2014-08-15T19:08:16.312Z,3,128267,115,255,8,00,1c,05,00,00,ff,ff,ff\n2014-08-15T19:08:16.313Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:16.340Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:16.372Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:16.465Z,4,129041,43,255,48,15,b0,54,2c,3b,08,97,a7,0e,c6,11,92,23,28,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,32,30,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:16.474Z,2,129026,160,255,8,ff,fc,61,7d,58,01,ff,ff\n2014-08-15T19:08:16.503Z,4,129038,43,255,27,01,b8,f5,67,12,c6,96,94,0e,60,09,92,23,40,45,2d,d6,03,67,82,02,ff,2c,00,00,00,fe\n2014-08-15T19:08:16.540Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:16.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:16.612Z,6,129540,160,255,135,c4,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:16.614Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:16.750Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:16.790Z,3,129029,160,255,43,7d,a9,3f,10,bb,10,29,00,3a,e8,cc,84,58,49,08,00,4a,ba,82,9b,84,6e,03,70,92,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:16.793Z,3,129033,160,255,8,a9,3f,10,bb,10,29,b4,00\n2014-08-15T19:08:16.795Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:16.797Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:16.799Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:16.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:16.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:16.875Z,3,126992,160,255,8,ff,ff,a9,3f,d4,c4,10,29\n2014-08-15T19:08:16.893Z,4,129039,43,255,26,12,44,11,b6,0d,5d,34,bd,0e,45,1c,97,23,43,c4,7c,44,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:16.934Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,9a,3e,01,00\n2014-08-15T19:08:16.936Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:16.939Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:16.941Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:16.976Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:08:17.078Z,3,129291,160,255,8,ff,fc,25,5c,3d,00,ff,ff\n2014-08-15T19:08:17.104Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:17.133Z,4,129038,43,255,27,01,b8,53,a6,0c,ba,c9,77,0e,65,d6,9e,23,44,b1,ac,78,02,fe,08,00,88,ae,00,00,00,fe\n2014-08-15T19:08:17.154Z,2,130306,115,255,8,00,b7,02,54,1d,f2,ff,ff\n2014-08-15T19:08:17.245Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:17.283Z,3,130577,160,255,14,c0,7d,61,7d,58,01,ff,ff,ff,ff,25,5c,3d,00\n2014-08-15T19:08:17.285Z,2,129025,160,255,8,59,1c,97,23,c1,34,bd,0e\n2014-08-15T19:08:17.287Z,3,128267,115,255,8,00,6c,05,00,00,ff,ff,ff\n2014-08-15T19:08:17.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:17.315Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:17.384Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:17.458Z,6,129794,43,255,75,05,c8,99,74,10,00,00,00,00,45,53,59,32,31,30,33,50,56,4c,2d,31,30,33,5f,50,49,4b,4b,45,52,20,20,20,20,20,20,33,68,01,3c,00,1e,00,be,00,34,40,00,00,00,00,96,00,50,41,54,52,4f,4c,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:08:17.478Z,2,129026,160,255,8,ff,fc,9b,7e,56,01,ff,ff\n2014-08-15T19:08:17.493Z,4,129038,43,255,27,01,68,e2,20,12,fc,fe,fa,0e,8c,fe,ac,23,48,03,af,02,02,67,c0,00,f1,b1,00,00,00,fe\n2014-08-15T19:08:17.533Z,4,129038,43,255,27,01,c8,d4,7f,10,d5,43,df,0e,72,3f,c1,23,45,78,81,2d,04,b5,08,00,94,83,00,00,00,fe\n2014-08-15T19:08:17.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,2a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:17.616Z,6,129540,160,255,135,c5,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:17.618Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:17.643Z,4,129038,43,255,27,01,e0,53,7f,10,ef,a4,c3,0e,6b,92,a5,23,48,38,88,ce,05,92,02,01,fd,86,00,00,00,fe\n2014-08-15T19:08:17.743Z,3,127508,129,255,8,01,ae,05,15,01,1e,75,aa\n2014-08-15T19:08:17.753Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:17.788Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:17.794Z,3,129029,160,255,43,7e,a9,3f,84,e2,10,29,00,ee,4d,7c,3e,58,49,08,00,36,d2,24,8c,84,6e,03,80,b9,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:17.796Z,3,129033,160,255,8,a9,3f,84,e2,10,29,b4,00\n2014-08-15T19:08:17.798Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:17.800Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:17.859Z,3,127508,129,255,8,01,ae,05,22,01,1e,75,aa\n2014-08-15T19:08:17.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:17.886Z,3,127508,129,255,8,01,ae,05,1c,01,1e,75,aa\n2014-08-15T19:08:17.888Z,3,126992,160,255,8,ff,ff,a9,3f,48,ec,10,29\n2014-08-15T19:08:17.890Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:17.903Z,4,129039,43,255,26,12,44,11,b6,0d,0a,34,bd,0e,2a,1b,97,23,47,f8,7f,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:17.931Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,9a,3e,01,00\n2014-08-15T19:08:17.934Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:17.936Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:17.939Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:17.988Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:08:18.080Z,3,129291,160,255,8,ff,fc,a8,5a,28,00,ff,ff\n2014-08-15T19:08:18.155Z,3,127508,129,255,8,01,af,05,34,01,1e,75,aa\n2014-08-15T19:08:18.208Z,2,130306,115,255,8,00,7e,02,1a,22,f2,ff,ff\n2014-08-15T19:08:18.234Z,4,129038,43,255,27,01,58,43,c9,0e,f3,5a,d2,0e,dd,1c,a9,23,48,66,ae,d0,02,a8,02,01,88,ae,00,00,00,fe\n2014-08-15T19:08:18.236Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:18.283Z,3,130577,160,255,14,c0,7e,9b,7e,56,01,ff,ff,ff,ff,a8,5a,28,00\n2014-08-15T19:08:18.286Z,2,129025,160,255,8,2b,1b,97,23,7f,34,bd,0e\n2014-08-15T19:08:18.300Z,7,127506,129,255,9,ab,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:18.330Z,3,128267,115,255,8,00,96,05,00,00,ff,ff,ff\n2014-08-15T19:08:18.332Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:18.336Z,4,129038,43,255,27,01,12,8f,c4,0d,33,c3,e3,0e,22,49,db,23,41,b8,5c,b0,01,20,66,08,15,5e,ff,7f,00,fe\n2014-08-15T19:08:18.387Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:18.393Z,4,129038,43,255,27,01,92,12,4b,10,6b,95,f7,0e,3a,dc,ad,23,48,94,b0,c0,02,53,c0,09,42,b1,fa,ff,00,fe\n2014-08-15T19:08:18.410Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:18.488Z,2,129026,160,255,8,ff,fc,55,7e,56,01,ff,ff\n2014-08-15T19:08:18.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:18.615Z,6,129540,160,255,135,c6,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:18.619Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:18.676Z,3,127508,129,255,8,01,ae,05,10,01,1e,75,ab\n2014-08-15T19:08:18.748Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:18.782Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:18.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:18.787Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:18.799Z,3,129029,160,255,43,7f,a9,3f,c6,09,11,29,00,a2,b3,2b,f8,57,49,08,00,82,3d,0d,79,84,6e,03,f0,3b,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:18.803Z,3,129033,160,255,8,a9,3f,c6,09,11,29,b4,00\n2014-08-15T19:08:18.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:18.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:18.887Z,3,126992,160,255,8,ff,ff,a9,3f,8a,13,11,29\n2014-08-15T19:08:18.903Z,4,129038,43,255,27,01,88,d6,d0,0c,cd,b3,e0,0e,ee,a7,b5,23,49,54,9f,31,03,38,c0,08,37,a0,00,00,00,fe\n2014-08-15T19:08:18.929Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,9a,3e,01,00\n2014-08-15T19:08:18.931Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:18.934Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:18.936Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:18.938Z,2,130306,115,255,8,00,8e,02,0e,20,f2,ff,ff\n2014-08-15T19:08:18.944Z,4,129039,43,255,26,12,44,11,b6,0d,e9,33,bd,0e,ed,19,97,23,4b,95,7d,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:18.984Z,4,129039,43,255,26,12,fe,ea,8e,0f,a7,91,98,0e,2e,e6,ae,23,48,fc,cb,b4,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:19.002Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:08:19.096Z,3,129291,160,255,8,ff,fc,6c,4b,24,00,ff,ff\n2014-08-15T19:08:19.187Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:19.286Z,3,128267,115,255,8,00,4d,05,00,00,ff,ff,ff\n2014-08-15T19:08:19.288Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:19.301Z,3,130577,160,255,14,c0,7f,55,7e,56,01,ff,ff,ff,ff,6c,4b,24,00\n2014-08-15T19:08:19.306Z,2,129025,160,255,8,fd,19,97,23,2d,34,bd,0e\n2014-08-15T19:08:19.312Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:19.316Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:19.395Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:19.433Z,4,129038,43,255,27,01,e0,53,7f,10,6b,a1,c3,0e,78,8d,a5,23,50,26,88,d3,05,38,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:08:19.499Z,2,129026,160,255,8,ff,fc,43,7e,59,01,ff,ff\n2014-08-15T19:08:19.513Z,4,129038,43,255,27,01,88,44,7d,10,f1,22,c7,0e,b9,ec,7f,23,48,ac,7e,05,00,21,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:19.553Z,4,129038,43,255,27,01,10,dc,6d,0f,7a,26,5b,0e,53,eb,9b,23,4d,71,ad,88,02,3d,c0,08,88,ae,ec,ff,00,fe\n2014-08-15T19:08:19.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3a,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:19.594Z,4,129038,43,255,27,01,c8,27,16,0e,60,c3,6e,0e,da,04,95,23,41,b3,31,50,03,3a,c0,00,c4,31,14,00,00,fe\n2014-08-15T19:08:19.627Z,6,129540,160,255,135,c7,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:19.630Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:08:19.744Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:19.754Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:19.793Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:19.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:19.797Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:08:19.814Z,3,129029,160,255,43,80,a9,3f,12,31,11,29,00,72,0d,87,af,57,49,08,00,6c,d2,1b,6e,84,6e,03,40,8e,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:19.815Z,3,129033,160,255,8,a9,3f,12,31,11,29,b4,00\n2014-08-15T19:08:19.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:19.907Z,3,126992,160,255,8,ff,ff,a9,3f,e0,3a,11,29\n2014-08-15T19:08:19.922Z,2,130306,115,255,8,00,b7,02,26,24,f2,ff,ff\n2014-08-15T19:08:19.926Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:19.929Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:19.931Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:19.934Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:19.938Z,4,129039,43,255,26,12,44,11,b6,0d,a6,33,bd,0e,b0,18,97,23,4f,32,7e,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:19.973Z,4,129038,43,255,27,03,02,a1,4c,10,2b,9d,b2,0e,4e,a6,70,23,4d,e6,82,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:08:20.009Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:08:20.109Z,3,129291,160,255,8,ff,fc,a4,4d,2f,00,ff,ff\n2014-08-15T19:08:20.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,27,11,29,8d,c0,03,a9,3f,00,00,fc\n2014-08-15T19:08:20.205Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:20.240Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:20.254Z,4,129038,43,255,27,01,38,5e,49,16,37,7a,ca,0e,92,bf,76,23,4d,83,b3,00,00,2c,40,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:20.262Z,3,127508,129,255,8,01,af,05,42,01,1e,75,ab\n2014-08-15T19:08:20.270Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:20.294Z,4,129038,43,255,27,01,6c,70,4a,10,f7,43,04,0f,4a,0d,a4,23,4b,73,35,bf,01,d4,08,08,21,33,50,e6,00,fe\n2014-08-15T19:08:20.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:20.308Z,3,128267,115,255,8,00,53,05,00,00,ff,ff,ff\n2014-08-15T19:08:20.311Z,3,130577,160,255,14,c0,80,43,7e,59,01,ff,ff,ff,ff,a4,4d,2f,00\n2014-08-15T19:08:20.314Z,2,129025,160,255,8,c5,18,97,23,fe,33,bd,0e\n2014-08-15T19:08:20.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,27,11,29,20,66,02,a9,3f,00,00,fc\n2014-08-15T19:08:20.369Z,3,127508,129,255,8,01,ae,05,0a,01,1e,75,ab\n2014-08-15T19:08:20.395Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:20.405Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:20.506Z,2,129026,160,255,8,ff,fc,e1,7e,59,01,ff,ff\n2014-08-15T19:08:20.553Z,4,129038,43,255,27,01,b0,79,7a,10,b7,a2,d0,0e,1d,db,82,23,4c,df,d8,e8,01,4b,c0,00,2a,da,00,00,00,fe\n2014-08-15T19:08:20.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,43,02,02,00,00,00,04,00,00,00\n2014-08-15T19:08:20.646Z,6,129540,160,255,135,c8,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,8c,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:20.648Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:20.747Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:20.783Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:20.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:20.788Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:20.809Z,3,129029,160,255,43,81,a9,3f,0e,58,11,29,00,bc,2b,41,65,57,49,08,00,24,08,8d,5a,84,6e,03,00,81,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:20.811Z,3,129033,160,255,8,a9,3f,0e,58,11,29,b4,00\n2014-08-15T19:08:20.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:20.863Z,3,127508,129,255,8,01,af,05,2f,01,1e,75,ab\n2014-08-15T19:08:20.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:20.891Z,2,130306,115,255,8,00,41,02,3c,19,f2,ff,ff\n2014-08-15T19:08:20.896Z,4,129038,43,255,27,01,02,8b,c4,0d,6c,86,e0,0e,59,a4,c8,23,54,f2,84,6d,01,0c,83,00,fd,86,00,00,00,fe\n2014-08-15T19:08:20.918Z,3,126992,160,255,8,ff,ff,a9,3f,d2,61,11,29\n2014-08-15T19:08:20.920Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:20.924Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:20.926Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:20.930Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:20.934Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:20.944Z,4,129039,43,255,26,12,44,11,b6,0d,31,33,bd,0e,74,17,97,23,53,21,81,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:21.010Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:08:21.113Z,3,129291,160,255,8,ff,fc,0b,51,1f,00,ff,ff\n2014-08-15T19:08:21.289Z,3,128267,115,255,8,00,b8,05,00,00,ff,ff,ff\n2014-08-15T19:08:21.289Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:21.294Z,4,129038,43,255,27,01,e0,53,7f,10,73,9a,c3,0e,a4,83,a5,23,58,03,88,d3,05,38,c0,00,fd,86,00,00,00,fe\n2014-08-15T19:08:21.306Z,3,130577,160,255,14,c0,81,e1,7e,59,01,ff,ff,ff,ff,0b,51,1f,00\n2014-08-15T19:08:21.309Z,2,129025,160,255,8,86,17,97,23,aa,33,bd,0e\n2014-08-15T19:08:21.311Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:21.405Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:21.505Z,2,129026,160,255,8,ff,fc,5b,7f,5a,01,ff,ff\n2014-08-15T19:08:21.536Z,3,127508,129,255,8,01,b0,05,64,01,1e,75,ab\n2014-08-15T19:08:21.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:21.643Z,6,129540,160,255,135,c9,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:21.645Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:21.746Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:21.782Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:21.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:21.789Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:21.817Z,3,129029,160,255,43,82,a9,3f,aa,7f,11,29,00,f8,4f,25,1c,57,49,08,00,a8,5b,cd,42,84,6e,03,70,92,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:21.819Z,3,129033,160,255,8,a9,3f,aa,7f,11,29,b4,00\n2014-08-15T19:08:21.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:21.859Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:08:21.881Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:21.914Z,3,126992,160,255,8,ff,ff,a9,3f,6e,89,11,29\n2014-08-15T19:08:21.917Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:21.922Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:21.924Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:21.927Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:21.928Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:21.944Z,4,129038,43,255,27,01,98,69,b3,0e,60,a5,8c,0e,ad,5a,a0,23,51,88,ae,f8,01,20,66,08,94,b0,00,00,00,fe\n2014-08-15T19:08:21.984Z,4,129039,43,255,26,12,44,11,b6,0d,cd,32,bd,0e,26,16,97,23,57,09,80,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:22.013Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:08:22.112Z,3,129291,160,255,8,ff,fc,0b,51,1f,00,ff,ff\n2014-08-15T19:08:22.227Z,6,129794,43,255,75,05,20,f6,7e,10,00,00,00,00,45,53,32,37,33,35,20,50,49,4c,4f,54,20,41,48,54,4f,2d,32,38,20,20,20,20,20,20,20,32,c8,00,28,00,14,00,82,00,14,40,00,00,00,00,00,00,52,4f,48,55,4e,45,45,4d,45,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:08:22.231Z,7,127506,129,255,9,ac,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:22.287Z,3,128267,115,255,8,00,be,05,00,00,ff,ff,ff\n2014-08-15T19:08:22.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:22.312Z,3,130577,160,255,14,c0,82,5b,7f,5a,01,ff,ff,ff,ff,7c,41,1c,00\n2014-08-15T19:08:22.315Z,2,129025,160,255,8,4c,16,97,23,44,33,bd,0e\n2014-08-15T19:08:22.317Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:22.413Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:22.515Z,2,129026,160,255,8,ff,fc,49,7f,5c,01,ff,ff\n2014-08-15T19:08:22.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:22.584Z,7,129793,43,255,26,04,90,18,23,00,82,d2,e2,0e,64,31,d3,23,00,50,75,11,29,20,66,08,a9,3f,10,00,fc\n2014-08-15T19:08:22.616Z,3,127508,129,255,8,01,b1,05,78,01,1e,75,ac\n2014-08-15T19:08:22.641Z,6,129540,160,255,135,ca,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:22.643Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:22.746Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:22.783Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:22.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:22.787Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:22.811Z,2,130306,115,255,8,00,83,02,0e,20,f2,ff,ff\n2014-08-15T19:08:22.820Z,3,129029,160,255,43,83,a9,3f,ec,a6,11,29,00,d6,a3,56,d2,56,49,08,00,cc,5b,c7,2e,84,6e,03,c0,e4,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:22.822Z,3,129033,160,255,8,a9,3f,ec,a6,11,29,b4,00\n2014-08-15T19:08:22.847Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:22.874Z,4,129039,43,255,26,12,90,e4,c3,0d,9f,62,c0,0e,86,a8,7c,23,58,a7,6b,b0,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:22.878Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:22.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:22.915Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:22.916Z,3,126992,160,255,8,ff,ff,a9,3f,b0,b0,11,29\n2014-08-15T19:08:22.919Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:22.922Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:22.924Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:22.927Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:22.974Z,4,129039,43,255,26,12,44,11,b6,0d,8b,32,bd,0e,ea,14,97,23,5b,c3,7f,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:23.008Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:08:23.034Z,7,129793,43,255,26,04,8f,18,23,00,74,1d,46,0f,ba,67,e2,23,00,60,9c,11,29,5c,03,01,a9,3f,10,00,fc\n2014-08-15T19:08:23.075Z,4,129038,43,255,27,01,58,eb,ad,0e,31,ea,60,0e,37,27,90,23,5f,85,2f,d4,01,d4,08,08,5c,2e,00,00,00,fe\n2014-08-15T19:08:23.111Z,3,129291,160,255,8,ff,fc,7c,41,1c,00,ff,ff\n2014-08-15T19:08:23.115Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:23.147Z,4,129039,43,255,26,12,ca,0c,b7,0d,65,fe,bc,0e,e6,10,95,23,58,89,84,77,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:23.164Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:23.284Z,3,128267,115,255,8,00,19,06,00,00,ff,ff,ff\n2014-08-15T19:08:23.286Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:23.313Z,3,130577,160,255,14,c0,83,49,7f,5c,01,ff,ff,ff,ff,db,63,24,00\n2014-08-15T19:08:23.316Z,2,129025,160,255,8,0f,15,97,23,ee,32,bd,0e\n2014-08-15T19:08:23.318Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:23.328Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:08:23.391Z,3,127508,129,255,8,01,af,05,40,01,1e,75,ac\n2014-08-15T19:08:23.418Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:23.509Z,6,129794,43,255,75,05,60,68,62,16,66,80,75,00,4a,38,42,32,31,32,37,44,41,52,49,4e,41,20,20,20,20,20,20,20,20,20,20,20,20,20,20,46,76,02,6e,00,1e,00,26,02,09,41,00,cc,bf,19,4a,01,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:08:23.513Z,2,129026,160,255,8,ff,fc,15,7f,5b,01,ff,ff\n2014-08-15T19:08:23.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,20,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:23.624Z,4,129038,43,255,27,01,28,f5,77,10,2b,86,a1,0e,42,90,74,23,58,68,30,c8,00,20,66,08,b9,2f,00,00,00,fe\n2014-08-15T19:08:23.641Z,6,129540,160,255,135,cb,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:23.643Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:23.645Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:23.674Z,4,129038,43,255,27,01,08,99,b5,0d,43,eb,ce,0e,9a,02,a5,23,60,0a,4d,4e,01,20,66,00,f3,48,00,00,00,fe\n2014-08-15T19:08:23.724Z,4,129038,43,255,27,01,c8,d4,7f,10,5e,3b,df,0e,60,29,c1,23,5d,78,81,33,04,76,83,08,94,83,00,00,00,fe\n2014-08-15T19:08:23.750Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:23.775Z,2,130306,115,255,8,00,89,02,b1,1e,f2,ff,ff\n2014-08-15T19:08:23.799Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:23.804Z,4,129038,43,255,27,01,b8,83,92,0e,a7,bc,e0,0e,f4,c8,75,23,61,8e,c1,05,00,79,03,01,59,d3,00,00,00,fe\n2014-08-15T19:08:23.823Z,3,129029,160,255,43,84,a9,3f,10,ce,11,29,00,a6,fd,b1,89,56,49,08,00,5a,a3,b6,1e,84,6e,03,30,f6,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:23.826Z,3,129033,160,255,8,a9,3f,10,ce,11,29,b4,00\n2014-08-15T19:08:23.867Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:23.869Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:23.873Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:23.917Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:23.919Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:23.921Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:23.925Z,3,126992,160,255,8,ff,ff,a9,3f,d4,d7,11,29\n2014-08-15T19:08:23.927Z,3,127508,129,255,8,01,af,05,2f,01,1e,75,ac\n2014-08-15T19:08:23.927Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:23.977Z,3,127508,129,255,8,01,b0,05,4c,01,1e,75,ac\n2014-08-15T19:08:23.994Z,4,129039,43,255,26,12,44,11,b6,0d,59,32,bd,0e,ad,13,97,23,5f,f2,7e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:24.018Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:24.020Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:08:24.045Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:24.108Z,6,129794,43,255,75,05,b0,79,7a,10,18,c7,bf,29,45,53,52,45,20,20,20,53,4b,4f,52,50,49,4f,4e,20,20,20,20,20,20,20,20,20,20,20,20,50,5c,03,82,00,1e,00,8a,02,aa,3f,80,a8,12,01,f4,01,54,41,4c,4c,49,4e,4e,20,4f,4c,44,20,48,41,52,42,4f,55,52,20,00,e0\n2014-08-15T19:08:24.112Z,3,129291,160,255,8,ff,fc,db,63,24,00,ff,ff\n2014-08-15T19:08:24.114Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:24.146Z,4,129038,43,255,27,01,58,43,c9,0e,96,3d,d2,0e,16,19,a9,23,60,43,ae,d0,02,6d,c0,08,88,ae,00,00,00,fe\n2014-08-15T19:08:24.184Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,21,7c,6f,23,5c,03,a6,00,00,87,83,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:24.318Z,3,130577,160,255,14,c0,84,15,7f,5b,01,ff,ff,ff,ff,db,63,24,00\n2014-08-15T19:08:24.321Z,2,129025,160,255,8,d7,13,97,23,a9,32,bd,0e\n2014-08-15T19:08:24.376Z,3,127508,129,255,8,01,b0,05,4a,01,1e,75,ac\n2014-08-15T19:08:24.411Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:24.447Z,7,127506,129,255,9,ac,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:24.483Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:24.485Z,3,128267,115,255,8,00,f5,05,00,00,ff,ff,ff\n2014-08-15T19:08:24.510Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:24.517Z,2,129026,160,255,8,ff,fc,be,7e,57,01,ff,ff\n2014-08-15T19:08:24.519Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:24.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,2c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:24.656Z,6,129540,160,255,135,cc,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:24.658Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:08:24.667Z,3,127508,129,255,8,01,ae,05,00,01,1e,75,ac\n2014-08-15T19:08:24.750Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:08:24.773Z,2,130306,115,255,8,00,9d,02,b1,1e,f2,ff,ff\n2014-08-15T19:08:24.794Z,4,129039,43,255,26,12,06,a5,b5,0d,e6,07,bd,0e,b3,c7,96,23,60,f2,7b,62,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:24.797Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:24.822Z,3,129029,160,255,43,85,a9,3f,2a,f5,11,29,00,fc,92,ae,42,56,49,08,00,96,91,35,11,84,6e,03,10,a8,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:24.824Z,3,129033,160,255,8,a9,3f,2a,f5,11,29,b4,00\n2014-08-15T19:08:24.871Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:08:24.873Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:24.875Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:24.914Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,ad,3e,01,00\n2014-08-15T19:08:24.916Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:24.919Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:24.921Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:24.924Z,3,126992,160,255,8,ff,ff,a9,3f,ee,fe,11,29\n2014-08-15T19:08:24.937Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:24.983Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:25.003Z,4,129039,43,255,26,12,44,11,b6,0d,27,32,bd,0e,70,12,97,23,63,44,7e,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:25.021Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:08:25.121Z,3,129291,160,255,8,ff,fc,b2,52,16,00,ff,ff\n2014-08-15T19:08:25.251Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:25.253Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:25.280Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:25.291Z,3,127508,129,255,8,01,ae,05,11,01,1e,75,ac\n2014-08-15T19:08:25.315Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:25.318Z,3,128267,115,255,8,00,7b,05,00,00,ff,ff,ff\n2014-08-15T19:08:25.321Z,3,130577,160,255,14,c0,85,be,7e,57,01,ff,ff,ff,ff,b2,52,16,00\n2014-08-15T19:08:25.323Z,2,129025,160,255,8,a6,12,97,23,6f,32,bd,0e\n2014-08-15T19:08:25.327Z,4,129038,43,255,27,01,10,04,1a,0e,78,5f,fb,0e,1c,9e,ae,23,5c,60,b0,9c,02,e4,08,08,f1,b1,00,00,00,fe\n2014-08-15T19:08:25.346Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:25.384Z,4,129038,43,255,27,01,88,d6,d0,0c,21,98,e0,0e,a5,9d,b5,23,61,43,9f,31,03,20,66,00,37,a0,00,00,00,fe\n2014-08-15T19:08:25.420Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:25.474Z,4,129038,43,255,27,01,c8,27,16,0e,d5,e7,6e,0e,b6,0a,95,23,61,d6,31,50,03,34,c0,08,c4,31,14,00,00,fe\n2014-08-15T19:08:25.522Z,2,129026,160,255,8,ff,fc,cf,7e,57,01,ff,ff\n2014-08-15T19:08:25.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:25.614Z,4,129038,43,255,27,01,e0,53,7f,10,22,89,c3,0e,08,6b,a5,23,68,e0,87,ce,05,bd,83,00,fd,86,00,00,00,fe\n2014-08-15T19:08:25.655Z,6,129540,160,255,135,cd,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:25.657Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:08:25.710Z,2,130306,115,255,8,00,fa,02,48,1b,f2,ff,ff\n2014-08-15T19:08:25.735Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:25.781Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:25.831Z,3,129029,160,255,43,86,a9,3f,44,1c,12,29,00,be,f2,33,fb,55,49,08,00,4c,44,13,02,84,6e,03,90,fe,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:25.833Z,3,129033,160,255,8,a9,3f,44,1c,12,29,b4,00\n2014-08-15T19:08:25.841Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:25.843Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:25.845Z,2,128259,115,255,8,00,4f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:25.875Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:25.909Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:25.914Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,bf,3e,01,00\n2014-08-15T19:08:25.917Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,26,f8,c7,23,00,90,11,12,29,c8,83,00,a9,3f,10,00,fc\n2014-08-15T19:08:25.919Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:25.921Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:25.923Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:25.932Z,3,126992,160,255,8,ff,ff,a9,3f,08,26,12,29\n2014-08-15T19:08:25.963Z,4,129039,43,255,26,12,08,57,b6,0d,2f,ea,cb,0e,c8,aa,91,23,67,56,5d,a5,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:25.988Z,3,127508,129,255,8,01,ac,05,f7,00,1e,75,ac\n2014-08-15T19:08:26.015Z,4,129039,43,255,26,12,44,11,b6,0d,c3,31,bd,0e,34,11,97,23,67,8f,7f,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:26.019Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:08:26.131Z,3,129291,160,255,8,ff,fc,8f,61,32,00,ff,ff\n2014-08-15T19:08:26.282Z,3,128267,115,255,8,00,69,06,00,00,ff,ff,ff\n2014-08-15T19:08:26.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:26.310Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:26.326Z,3,130577,160,255,14,c0,86,cf,7e,57,01,ff,ff,ff,ff,8f,61,32,00\n2014-08-15T19:08:26.328Z,2,129025,160,255,8,73,11,97,23,2e,32,bd,0e\n2014-08-15T19:08:26.427Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:26.435Z,3,127508,129,255,8,01,af,05,29,01,1e,75,ac\n2014-08-15T19:08:26.529Z,2,129026,160,255,8,ff,fc,be,7e,59,01,ff,ff\n2014-08-15T19:08:26.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,35,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:26.647Z,6,129540,160,255,135,ce,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,c4,09,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:26.649Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:26.653Z,3,127508,129,255,8,01,ac,05,bf,00,1e,75,ac\n2014-08-15T19:08:26.683Z,4,129039,43,255,26,12,80,e5,c3,0d,2b,31,c4,0e,aa,f3,94,23,6b,b3,55,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:26.685Z,2,130306,115,255,8,00,6f,02,54,1d,f2,ff,ff\n2014-08-15T19:08:26.703Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:26.754Z,2,128259,115,255,8,00,49,01,ff,ff,00,ff,ff\n2014-08-15T19:08:26.792Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:26.795Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:26.797Z,2,128259,115,255,8,00,48,01,ff,ff,00,ff,ff\n2014-08-15T19:08:26.832Z,3,129029,160,255,43,87,a9,3f,4a,43,12,29,00,8e,4c,8f,b2,55,49,08,00,cc,91,2c,f3,83,6e,03,a0,96,28,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:26.834Z,3,129033,160,255,8,a9,3f,4a,43,12,29,b4,00\n2014-08-15T19:08:26.836Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:26.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:26.908Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,bf,3e,01,00\n2014-08-15T19:08:26.911Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:26.913Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:26.916Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:26.927Z,3,126992,160,255,8,ff,ff,a9,3f,18,4d,12,29\n2014-08-15T19:08:27.022Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:08:27.034Z,4,129039,43,255,26,12,44,11,b6,0d,80,31,bd,0e,e6,0f,97,23,6b,f2,7e,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:27.124Z,3,129291,160,255,8,ff,fc,73,4f,1f,00,ff,ff\n2014-08-15T19:08:27.265Z,7,127506,129,255,9,ae,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:27.281Z,3,128267,115,255,8,00,69,06,00,00,ff,ff,ff\n2014-08-15T19:08:27.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:27.311Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:27.326Z,3,130577,160,255,14,c0,87,be,7e,59,01,ff,ff,ff,ff,73,4f,1f,00\n2014-08-15T19:08:27.328Z,2,129025,160,255,8,3b,10,97,23,ee,31,bd,0e\n2014-08-15T19:08:27.422Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:27.434Z,4,129038,43,255,27,01,e0,53,7f,10,af,85,c3,0e,15,66,a5,23,70,f2,87,ce,05,ce,08,08,fd,86,00,00,00,fe\n2014-08-15T19:08:27.513Z,4,129038,43,255,27,01,b8,53,a6,0c,bc,9f,77,0e,d2,cf,9e,23,6c,b1,ac,78,02,d3,08,08,88,ae,00,00,00,fe\n2014-08-15T19:08:27.524Z,2,129026,160,255,8,ff,fc,32,7e,5d,01,ff,ff\n2014-08-15T19:08:27.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,42,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:27.646Z,2,130306,115,255,8,00,7e,02,54,1d,f2,ff,ff\n2014-08-15T19:08:27.666Z,6,129540,160,255,135,cf,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,c4,09,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:27.669Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:27.673Z,4,129038,43,255,27,01,68,e2,20,12,2f,d8,fa,0e,94,fa,ac,23,70,48,af,02,02,20,66,08,f1,b1,00,00,00,fe\n2014-08-15T19:08:27.681Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:27.685Z,3,127508,129,255,8,01,ac,05,e4,00,1e,75,ae\n2014-08-15T19:08:27.723Z,4,129038,43,255,27,01,e0,65,7c,10,84,b9,c2,0e,52,5e,6e,23,68,37,b2,00,00,0c,84,01,ce,ab,00,00,00,fe\n2014-08-15T19:08:27.743Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:27.777Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:27.779Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:27.783Z,2,128259,115,255,8,00,5f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:27.833Z,3,129029,160,255,43,88,a9,3f,78,6a,12,29,00,7a,9a,96,67,55,49,08,00,80,c1,76,e8,83,6e,03,e0,32,29,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:27.835Z,3,129033,160,255,8,a9,3f,78,6a,12,29,b4,00\n2014-08-15T19:08:27.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:27.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:27.906Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,bf,3e,01,00\n2014-08-15T19:08:27.908Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:27.911Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:27.913Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:27.928Z,3,126992,160,255,8,ff,ff,a9,3f,46,74,12,29\n2014-08-15T19:08:27.963Z,4,129038,43,255,27,01,92,12,4b,10,5b,6e,f7,0e,3a,dc,ad,23,6c,94,b0,c0,02,54,c0,00,42,b1,06,00,00,fe\n2014-08-15T19:08:28.028Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:08:28.043Z,4,129039,43,255,26,12,44,11,b6,0d,5f,31,bd,0e,aa,0e,97,23,6f,21,7e,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:28.131Z,3,129291,160,255,8,ff,fc,5b,55,30,00,ff,ff\n2014-08-15T19:08:28.179Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:28.256Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:28.281Z,3,128267,115,255,8,00,87,06,00,00,ff,ff,ff\n2014-08-15T19:08:28.283Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:28.311Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:28.333Z,3,130577,160,255,14,c0,88,32,7e,5d,01,ff,ff,ff,ff,5b,55,30,00\n2014-08-15T19:08:28.335Z,2,129025,160,255,8,f9,0e,97,23,c0,31,bd,0e\n2014-08-15T19:08:28.430Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:28.532Z,2,129026,160,255,8,ff,fc,43,7e,61,01,ff,ff\n2014-08-15T19:08:28.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:28.624Z,2,130306,115,255,8,00,e5,02,6c,21,f2,ff,ff\n2014-08-15T19:08:28.648Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:28.672Z,6,129540,160,255,135,d0,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,28,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:28.674Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:08:28.727Z,3,127508,129,255,8,01,af,05,39,01,1e,75,ae\n2014-08-15T19:08:28.747Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:08:28.783Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:28.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:28.787Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:08:28.840Z,3,129029,160,255,43,89,a9,3f,4c,91,12,29,00,4c,77,85,1a,55,49,08,00,0c,86,d2,dc,83,6e,03,30,14,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:28.842Z,3,129033,160,255,8,a9,3f,4c,91,12,29,b4,00\n2014-08-15T19:08:28.865Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:28.897Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:28.903Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,bf,3e,01,00\n2014-08-15T19:08:28.906Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:28.908Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:28.911Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:28.938Z,3,126992,160,255,8,ff,ff,a9,3f,10,9b,12,29\n2014-08-15T19:08:29.027Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:08:29.053Z,4,129039,43,255,26,12,44,11,b6,0d,1c,31,bd,0e,7e,0d,97,23,73,26,7f,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:29.128Z,3,129291,160,255,8,ff,fc,74,49,35,00,ff,ff\n2014-08-15T19:08:29.169Z,3,127508,129,255,8,01,ac,05,f1,00,1e,75,ae\n2014-08-15T19:08:29.280Z,3,128267,115,255,8,00,ac,06,00,00,ff,ff,ff\n2014-08-15T19:08:29.282Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:29.297Z,3,127508,129,255,8,01,af,05,23,01,1e,75,ae\n2014-08-15T19:08:29.320Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:29.346Z,3,130577,160,255,14,c0,89,43,7e,61,01,ff,ff,ff,ff,74,49,35,00\n2014-08-15T19:08:29.348Z,2,129025,160,255,8,ae,0d,97,23,8e,31,bd,0e\n2014-08-15T19:08:29.359Z,3,127508,129,255,8,01,ac,05,cc,00,1e,75,ae\n2014-08-15T19:08:29.364Z,7,127506,129,255,9,af,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:29.450Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:29.458Z,6,129794,43,255,75,05,f8,d2,7e,10,96,e7,8e,00,45,53,49,59,20,20,20,53,55,50,45,52,53,54,41,52,20,20,20,20,20,20,20,20,20,20,20,3c,ea,06,0e,01,82,00,18,01,a9,3f,80,5a,b2,27,b2,02,48,45,4c,53,49,4e,4b,49,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:08:29.494Z,4,129038,43,255,27,01,6c,70,4a,10,81,5f,04,0f,17,10,a4,23,6f,50,35,bf,01,4c,84,00,21,33,f6,ff,00,fe\n2014-08-15T19:08:29.533Z,4,129038,43,255,27,01,e0,53,7f,10,44,7b,c3,0e,4e,57,a5,23,78,03,88,ce,05,4e,84,00,fd,86,00,00,00,fe\n2014-08-15T19:08:29.550Z,2,129026,160,255,8,ff,fc,26,7f,62,01,ff,ff\n2014-08-15T19:08:29.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2b,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:29.593Z,4,129038,43,255,27,01,b8,f5,67,12,06,e8,94,0e,de,1b,92,23,78,45,2d,d6,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:08:29.627Z,2,130306,115,255,8,00,b7,02,df,17,f2,ff,ff\n2014-08-15T19:08:29.653Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:29.687Z,6,129540,160,255,135,d1,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:08:29.690Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:08:29.746Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:29.754Z,4,129038,43,255,27,01,10,dc,6d,0f,db,fa,5a,0e,02,e5,9b,23,75,83,ad,88,02,58,84,00,88,ae,e6,ff,00,fe\n2014-08-15T19:08:29.782Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:29.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:29.787Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:29.794Z,4,129038,43,255,27,01,c8,d4,7f,10,7d,33,df,0e,1c,13,c1,23,75,ac,81,33,04,59,84,01,94,83,00,00,00,fe\n2014-08-15T19:08:29.854Z,3,129029,160,255,43,8a,a9,3f,ca,b8,12,29,00,da,f4,d9,ce,54,49,08,00,d2,b5,19,c8,83,6e,03,d0,29,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:29.856Z,3,129033,160,255,8,a9,3f,ca,b8,12,29,b4,00\n2014-08-15T19:08:29.861Z,3,127508,129,255,8,01,af,05,25,01,1e,75,af\n2014-08-15T19:08:29.862Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:29.890Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:29.900Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,d2,3e,01,00\n2014-08-15T19:08:29.904Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:29.906Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:29.908Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:29.949Z,3,126992,160,255,8,ff,ff,a9,3f,8e,c2,12,29\n2014-08-15T19:08:30.052Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:08:30.073Z,4,129039,43,255,26,12,44,11,b6,0d,a7,30,bd,0e,52,0c,97,23,77,b8,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:30.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,ad,12,29,8d,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:08:30.154Z,3,129291,160,255,8,ff,fc,4f,54,32,00,ff,ff\n2014-08-15T19:08:30.197Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:30.263Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,da,ec,7f,23,70,49,7c,05,00,b5,08,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:30.282Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:30.285Z,3,128267,115,255,8,00,e6,06,00,00,ff,ff,ff\n2014-08-15T19:08:30.292Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:30.309Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:30.363Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,ad,12,29,7c,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:08:30.395Z,3,130577,160,255,14,c0,8a,26,7f,62,01,ff,ff,ff,ff,4f,54,32,00\n2014-08-15T19:08:30.397Z,2,129025,160,255,8,69,0c,97,23,35,31,bd,0e\n2014-08-15T19:08:30.456Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:30.554Z,2,130306,115,255,8,00,a7,02,6c,21,f2,ff,ff\n2014-08-15T19:08:30.556Z,2,129026,160,255,8,ff,fc,7e,7f,65,01,ff,ff\n2014-08-15T19:08:30.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,44,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:30.574Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:30.634Z,4,129038,43,255,27,01,58,43,c9,0e,57,1b,d2,0e,98,14,a9,23,7c,20,ae,d5,02,79,84,00,88,ae,00,00,00,fe\n2014-08-15T19:08:30.687Z,6,129540,160,255,135,d2,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:30.689Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:08:30.704Z,4,129039,43,255,26,12,44,11,b6,0d,43,30,bd,0e,26,0b,97,23,7b,95,80,62,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:08:30.742Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:30.753Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:30.777Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:30.780Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:30.782Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:30.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:30.867Z,3,129029,160,255,43,8b,a9,3f,5c,e0,12,29,00,b8,48,0b,85,54,49,08,00,8c,6e,1e,b0,83,6e,03,a0,25,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:30.869Z,3,129033,160,255,8,a9,3f,5c,e0,12,29,b4,00\n2014-08-15T19:08:30.872Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:30.875Z,4,129038,43,255,27,01,02,8b,c4,0d,90,80,e0,0e,a1,98,c8,23,7c,95,83,68,01,f3,08,08,fd,86,00,00,00,fe\n2014-08-15T19:08:30.901Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,d2,3e,01,00\n2014-08-15T19:08:30.901Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:30.905Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:30.906Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:30.964Z,4,129038,43,255,27,01,c8,27,16,0e,c5,0b,6f,0e,2e,10,95,23,75,f9,31,55,03,20,66,00,c4,31,14,00,00,fe\n2014-08-15T19:08:30.965Z,3,126992,160,255,8,ff,ff,a9,3f,20,ea,12,29\n2014-08-15T19:08:31.068Z,2,128259,160,255,8,ff,ff,ff,65,01,ff,ff,ff\n2014-08-15T19:08:31.086Z,4,129039,43,255,26,12,44,11,b6,0d,43,30,bd,0e,26,0b,97,23,7b,95,80,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:31.146Z,4,129038,43,255,27,01,88,d6,d0,0c,65,7c,e0,0e,5c,93,b5,23,79,43,9f,37,03,20,66,08,37,a0,00,00,00,fe\n2014-08-15T19:08:31.161Z,3,129291,160,255,8,ff,fc,0f,4d,2e,00,ff,ff\n2014-08-15T19:08:31.282Z,3,128267,115,255,8,00,e0,06,00,00,ff,ff,ff\n2014-08-15T19:08:31.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:31.294Z,4,129038,43,255,27,01,e0,53,7f,10,c0,77,c3,0e,6c,52,a5,23,80,26,88,d3,05,92,04,09,ac,87,ff,7f,00,fe\n2014-08-15T19:08:31.310Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:31.364Z,3,130577,160,255,14,c0,8b,7e,7f,65,01,ff,ff,ff,ff,0f,4d,2e,00\n2014-08-15T19:08:31.365Z,2,129025,160,255,8,2c,0b,97,23,ce,30,bd,0e\n2014-08-15T19:08:31.379Z,3,127508,129,255,8,01,b0,05,3c,01,1e,75,af\n2014-08-15T19:08:31.468Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:31.522Z,2,130306,115,255,8,00,8e,02,83,25,f2,ff,ff\n2014-08-15T19:08:31.549Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:31.560Z,2,129026,160,255,8,ff,fc,d5,7f,62,01,ff,ff\n2014-08-15T19:08:31.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,3e,02,03,00,04,06,03,00,00,00\n2014-08-15T19:08:31.589Z,6,129794,43,255,75,05,10,c9,7f,10,42,de,93,00,45,53,4b,42,20,20,20,57,52,41,4e,47,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3c,f0,00,3c,00,1e,00,8c,00,a9,3f,80,67,42,21,be,00,4b,45,4c,4e,41,53,45,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e1\n2014-08-15T19:08:31.697Z,6,129540,160,255,135,d3,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,c4,09,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,54,0b,00,00,00,00,f2,04,00,0f,1f,c9,34,08,00,00,00,00,f2,16,3a,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:08:31.699Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:08:31.741Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:31.754Z,4,129039,43,255,26,12,8c,d3,b5,0d,88,ce,bd,0e,1f,e2,97,23,78,e0,8d,25,01,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:08:31.779Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:31.780Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:31.782Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:31.804Z,4,129038,43,255,27,01,b0,79,7a,10,f9,89,d0,0e,70,e9,82,23,74,02,d9,e8,01,86,08,08,2a,da,ec,ff,00,fe\n2014-08-15T19:08:31.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:31.867Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:31.877Z,3,129029,160,255,43,8c,a9,3f,b2,07,13,29,00,88,a2,66,3c,54,49,08,00,96,fd,ff,99,83,6e,03,c0,73,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:31.879Z,3,129033,160,255,8,a9,3f,b2,07,13,29,b4,00\n2014-08-15T19:08:31.899Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,d2,3e,01,00\n2014-08-15T19:08:31.899Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:31.901Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:31.905Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:31.949Z,3,127508,129,255,8,01,ac,05,e9,00,1e,75,af\n2014-08-15T19:08:31.964Z,3,126992,160,255,8,ff,ff,a9,3f,76,11,13,29\n2014-08-15T19:08:32.022Z,3,127508,129,255,8,01,af,05,26,01,1e,75,af\n2014-08-15T19:08:32.065Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:08:32.093Z,4,129039,43,255,26,12,44,11,b6,0d,f0,2f,bd,0e,fa,09,97,23,7f,fe,80,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:32.167Z,3,129291,160,255,8,ff,fc,00,64,2d,00,ff,ff\n2014-08-15T19:08:32.281Z,3,128267,115,255,8,00,ac,06,00,00,ff,ff,ff\n2014-08-15T19:08:32.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:32.310Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:32.364Z,3,130577,160,255,14,c0,8c,d5,7f,62,01,ff,ff,ff,ff,00,64,2d,00\n2014-08-15T19:08:32.366Z,2,129025,160,255,8,f4,09,97,23,6f,30,bd,0e\n2014-08-15T19:08:32.394Z,4,129038,43,255,27,01,b8,83,92,0e,8c,bb,e0,0e,c2,c8,75,23,81,8e,c1,05,00,41,c0,08,59,d3,00,00,00,fe\n2014-08-15T19:08:32.415Z,3,127508,129,255,8,01,b0,05,44,01,1e,75,af\n2014-08-15T19:08:32.483Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:32.491Z,2,130306,115,255,8,00,e0,02,48,1b,f2,ff,ff\n2014-08-15T19:08:32.528Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:08:32.531Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:32.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,43,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:32.584Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,64,31,d3,23,00,f0,fb,12,29,79,40,01,a9,3f,10,00,fc\n2014-08-15T19:08:32.586Z,2,129026,160,255,8,ff,fc,e6,7f,5d,01,ff,ff\n2014-08-15T19:08:32.634Z,4,129039,43,255,26,12,6e,c9,b5,0d,a6,13,d3,0e,8a,e2,8e,23,83,db,83,15,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:32.654Z,7,127506,129,255,9,b0,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:32.720Z,6,129540,160,255,135,d4,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,c4,09,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,8c,0a,00,00,00,00,f2,16,3a,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:08:32.722Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:08:32.740Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:32.779Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:32.781Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:32.784Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:32.834Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:32.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:32.884Z,3,129029,160,255,43,8d,a9,3f,a4,2e,13,29,00,80,67,b0,f4,53,49,08,00,ae,86,b7,82,83,6e,03,40,3b,25,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:32.886Z,3,129033,160,255,8,a9,3f,a4,2e,13,29,b4,00\n2014-08-15T19:08:32.894Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,d2,3e,01,00\n2014-08-15T19:08:32.896Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:32.899Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:32.901Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:32.982Z,3,126992,160,255,8,ff,ff,a9,3f,68,38,13,29\n2014-08-15T19:08:33.034Z,7,129793,43,255,26,04,8f,18,23,00,de,1c,46,0f,56,67,e2,23,00,00,23,13,29,d3,04,09,a9,3f,10,00,fc\n2014-08-15T19:08:33.082Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:08:33.104Z,4,129039,43,255,26,12,44,11,b6,0d,9d,2f,bd,0e,ce,08,97,23,83,db,80,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:33.142Z,3,127508,129,255,8,01,b0,05,3e,01,1e,75,b0\n2014-08-15T19:08:33.182Z,3,129291,160,255,8,ff,fc,00,64,2d,00,ff,ff\n2014-08-15T19:08:33.186Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:33.191Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:33.258Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:33.278Z,3,128267,115,255,8,00,ac,06,00,00,ff,ff,ff\n2014-08-15T19:08:33.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:33.324Z,4,129038,43,255,27,01,e0,53,7f,10,a7,70,c3,0e,86,48,a5,23,80,6c,88,d3,05,38,40,01,ac,87,ff,7f,00,fe\n2014-08-15T19:08:33.326Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:33.388Z,3,130577,160,255,14,c0,8d,3e,80,57,01,ff,ff,ff,ff,d3,52,28,00\n2014-08-15T19:08:33.390Z,2,129025,160,255,8,9d,07,97,23,b0,2f,bd,0e\n2014-08-15T19:08:33.459Z,2,130306,115,255,8,00,09,03,e0,26,f2,ff,ff\n2014-08-15T19:08:33.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:33.493Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:33.524Z,4,129038,43,255,27,01,08,7b,ba,0d,9b,80,91,0e,9d,3a,bc,23,81,37,a0,77,01,20,40,09,37,a0,00,00,00,fe\n2014-08-15T19:08:33.564Z,4,129038,43,255,27,01,20,f6,7e,10,2b,38,c7,0e,ec,e9,7f,23,81,39,31,00,00,20,66,00,13,c7,00,00,0f,fe\n2014-08-15T19:08:33.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:33.585Z,2,129026,160,255,8,ff,fc,3e,80,57,01,ff,ff\n2014-08-15T19:08:33.724Z,6,129540,160,255,135,d5,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,8c,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,f0,0a,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:08:33.727Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:08:33.729Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:33.740Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:33.778Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:33.781Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:33.783Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:33.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:33.850Z,3,127508,129,255,8,01,ae,05,f1,00,1e,75,b0\n2014-08-15T19:08:33.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:33.891Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,d2,3e,01,00\n2014-08-15T19:08:33.895Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:33.897Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:33.899Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:33.905Z,3,129029,160,255,43,8e,a9,3f,04,56,13,29,00,e2,73,ef,b0,53,49,08,00,e0,80,87,6d,83,6e,03,00,9f,24,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:33.907Z,3,129033,160,255,8,a9,3f,04,56,13,29,b4,00\n2014-08-15T19:08:33.930Z,3,127508,129,255,8,01,af,05,17,01,1e,75,b0\n2014-08-15T19:08:33.964Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,92,bf,76,23,85,51,11,00,00,f4,84,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:33.986Z,3,126992,160,255,8,ff,ff,a9,3f,d2,5f,13,29\n2014-08-15T19:08:34.044Z,4,129038,43,255,27,01,08,99,b5,0d,4d,05,cf,0e,18,fc,a4,23,8c,b9,4d,4e,01,f9,84,09,f3,48,00,00,00,fe\n2014-08-15T19:08:34.089Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:08:34.124Z,4,129039,43,255,26,12,44,11,b6,0d,39,2f,bd,0e,a2,07,97,23,87,95,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:34.164Z,4,129038,43,255,27,01,58,eb,ad,0e,97,0b,61,0e,56,2d,90,23,8b,62,2f,d4,01,fc,84,01,5c,2e,00,00,00,fe\n2014-08-15T19:08:34.192Z,3,129291,160,255,8,ff,fc,d3,52,28,00,ff,ff\n2014-08-15T19:08:34.194Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:34.278Z,3,128267,115,255,8,00,69,07,00,00,ff,ff,ff\n2014-08-15T19:08:34.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:34.302Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:34.389Z,3,130577,160,255,14,c0,8e,3e,80,59,01,ff,ff,ff,ff,7e,1c,15,00\n2014-08-15T19:08:34.391Z,2,129025,160,255,8,7b,06,97,23,4d,2f,bd,0e\n2014-08-15T19:08:34.414Z,4,129038,43,255,27,03,50,10,7f,16,d9,2f,b9,0e,6d,2f,70,23,84,6c,a3,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:08:34.440Z,3,127508,129,255,8,01,ac,05,e2,00,1e,75,b0\n2014-08-15T19:08:34.442Z,2,130306,115,255,8,00,6f,02,8e,18,f2,ff,ff\n2014-08-15T19:08:34.454Z,4,129038,43,255,27,01,d2,ff,4a,10,25,8b,b1,0e,b6,01,71,23,89,59,e8,00,00,20,66,00,37,91,00,00,00,fe\n2014-08-15T19:08:34.462Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:34.491Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:34.546Z,4,129041,43,255,48,15,b2,54,2c,3b,0a,e3,bd,0e,df,da,7a,23,74,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:34.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:34.587Z,2,129026,160,255,8,ff,fc,3e,80,59,01,ff,ff\n2014-08-15T19:08:34.589Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:34.729Z,6,129540,160,255,135,d6,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,8c,0a,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2\n2014-08-15T19:08:34.731Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:08:34.745Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:34.784Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:34.786Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:34.788Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:34.814Z,4,129038,43,255,27,03,12,8f,c4,0d,d8,df,e3,0e,9a,35,db,23,81,db,62,aa,01,b0,0d,00,a1,67,ff,7f,00,fe\n2014-08-15T19:08:34.890Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:34.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:34.897Z,3,129029,160,255,43,8f,a9,3f,00,7d,13,29,00,0e,1b,6a,6d,53,49,08,00,c2,a4,7a,56,83,6e,03,90,e0,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:34.900Z,3,129033,160,255,8,a9,3f,00,7d,13,29,b4,00\n2014-08-15T19:08:34.904Z,4,129038,43,255,27,01,10,04,1a,0e,d5,31,fb,0e,99,97,ae,23,84,60,b0,9c,02,19,05,01,f1,b1,00,00,00,fe\n2014-08-15T19:08:34.906Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:34.909Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:34.911Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:34.992Z,3,126992,160,255,8,ff,ff,a9,3f,c4,86,13,29\n2014-08-15T19:08:35.004Z,4,129038,43,255,27,01,28,f5,77,10,30,93,a1,0e,42,90,74,23,80,68,30,c8,00,1d,05,01,b9,2f,00,00,00,fe\n2014-08-15T19:08:35.028Z,3,127508,129,255,8,01,ac,05,cc,00,1e,75,b0\n2014-08-15T19:08:35.084Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:08:35.123Z,7,127506,129,255,9,b1,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:35.158Z,6,129794,43,255,75,05,92,12,4b,10,f8,63,86,00,55,42,56,47,37,40,40,41,4d,42,41,4c,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,46,6c,07,dc,00,6e,00,68,01,15,41,00,10,55,22,9e,02,42,41,4c,54,53,4b,2d,55,4c,55,47,41,2d,42,41,4c,54,53,4b,40,04,e0\n2014-08-15T19:08:35.187Z,3,129291,160,255,8,ff,fc,7e,1c,15,00,ff,ff\n2014-08-15T19:08:35.194Z,4,129039,43,255,26,12,44,11,b6,0d,07,2f,bd,0e,54,06,97,23,8b,26,7f,86,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:35.200Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:35.231Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:35.235Z,4,129038,43,255,27,01,fc,ff,e9,25,34,d0,23,0f,50,f5,be,23,89,7d,bb,b6,02,24,85,00,7c,bb,3b,00,00,fe\n2014-08-15T19:08:35.274Z,4,129038,43,255,27,03,30,d5,66,16,bd,d8,b2,0e,58,9c,70,23,88,f9,46,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:08:35.277Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:35.279Z,3,128267,115,255,8,00,13,07,00,00,ff,ff,ff\n2014-08-15T19:08:35.305Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:35.314Z,4,129038,43,255,27,01,c8,d4,7f,10,0b,2d,df,0e,f2,00,c1,23,89,78,81,2d,04,45,c0,08,94,83,00,00,00,fe\n2014-08-15T19:08:35.394Z,2,130306,115,255,8,00,c6,02,c9,22,f2,ff,ff\n2014-08-15T19:08:35.397Z,3,130577,160,255,14,c0,8f,ac,7e,61,01,ff,ff,ff,ff,6f,67,17,00\n2014-08-15T19:08:35.399Z,2,129025,160,255,8,3a,05,97,23,32,2f,bd,0e\n2014-08-15T19:08:35.420Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:35.484Z,4,129038,43,255,27,01,b8,f5,67,12,fb,0d,95,0e,9d,23,92,23,90,45,2d,d6,03,2f,85,0a,ff,2c,00,00,00,fe\n2014-08-15T19:08:35.490Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:35.535Z,3,127508,129,255,8,01,af,05,1c,01,1e,75,b1\n2014-08-15T19:08:35.556Z,4,129041,43,255,48,15,ab,54,2c,3b,d3,96,d4,0e,99,cf,94,23,78,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,31,35,37,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:35.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,07,00,00,00,00,00,00,00,00,0c,4b,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:35.596Z,2,129026,160,255,8,ff,fc,ac,7e,61,01,ff,ff\n2014-08-15T19:08:35.644Z,4,129038,43,255,27,01,e0,53,7f,10,c8,65,c3,0e,d0,39,a5,23,90,a0,88,d3,05,35,85,08,ac,87,00,00,00,fe\n2014-08-15T19:08:35.734Z,6,129540,160,255,135,d7,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,40,06,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2\n2014-08-15T19:08:35.736Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:08:35.738Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:35.773Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:35.776Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:35.777Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:35.790Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:35.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:35.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:35.887Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:35.892Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:35.892Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:35.894Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:35.901Z,3,129029,160,255,43,90,a9,3f,f2,a3,13,29,00,c4,03,ad,22,53,49,08,00,74,51,31,50,83,6e,03,f0,ca,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:35.901Z,3,129033,160,255,8,a9,3f,f2,a3,13,29,b4,00\n2014-08-15T19:08:35.916Z,7,129793,43,255,26,04,91,18,23,00,f6,1a,86,0e,f4,f7,c7,23,00,30,98,13,29,3f,85,08,a9,3f,10,00,fc\n2014-08-15T19:08:35.992Z,3,126992,160,255,8,ff,ff,a9,3f,b6,ad,13,29\n2014-08-15T19:08:36.094Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:08:36.143Z,4,129039,43,255,26,12,44,11,b6,0d,d5,2e,bd,0e,f6,04,97,23,8f,d5,7c,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:36.204Z,3,129291,160,255,8,ff,fc,6f,67,17,00,ff,ff\n2014-08-15T19:08:36.276Z,3,128267,115,255,8,00,56,07,00,00,ff,ff,ff\n2014-08-15T19:08:36.278Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:36.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:36.362Z,2,130306,115,255,8,00,cc,02,32,26,f2,ff,ff\n2014-08-15T19:08:36.388Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:36.395Z,3,130577,160,255,14,c0,90,1b,80,68,01,ff,ff,ff,ff,6f,67,17,00\n2014-08-15T19:08:36.398Z,2,129025,160,255,8,e3,03,97,23,d5,2e,bd,0e\n2014-08-15T19:08:36.449Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:36.487Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:36.540Z,3,127508,129,255,8,01,ae,05,07,01,1e,75,b1\n2014-08-15T19:08:36.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:36.615Z,2,129026,160,255,8,ff,fc,1b,80,68,01,ff,ff\n2014-08-15T19:08:36.712Z,3,127508,129,255,8,01,ae,05,03,01,1e,75,b1\n2014-08-15T19:08:36.736Z,6,129540,160,255,135,d8,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,98,08,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2\n2014-08-15T19:08:36.738Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:36.741Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:36.772Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:36.775Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:36.777Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:36.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:36.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:36.883Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:36.886Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:36.889Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:36.891Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:36.905Z,3,129029,160,255,43,91,a9,3f,34,cb,13,29,00,1e,9f,d0,d2,52,49,08,00,12,16,8a,3a,83,6e,03,f0,e8,26,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:36.907Z,3,129033,160,255,8,a9,3f,34,cb,13,29,b4,00\n2014-08-15T19:08:36.983Z,4,129039,43,255,26,12,ec,d7,b5,0d,b1,96,bb,0e,86,ae,8e,23,90,72,80,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:36.990Z,3,126992,160,255,8,ff,ff,a9,3f,f8,d4,13,29\n2014-08-15T19:08:37.054Z,4,129038,43,255,27,01,58,43,c9,0e,0b,fe,d1,0e,c1,10,a9,23,94,0e,ae,d5,02,20,66,08,88,ae,00,00,00,fe\n2014-08-15T19:08:37.094Z,4,129038,43,255,27,01,b8,53,a6,0c,7b,75,77,0e,81,c9,9e,23,94,d4,ac,78,02,6b,85,01,88,ae,00,00,00,fe\n2014-08-15T19:08:37.096Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:08:37.163Z,4,129039,43,255,26,12,44,11,b6,0d,60,2e,bd,0e,a9,03,97,23,93,d5,82,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:37.195Z,3,129291,160,255,8,ff,fc,d4,40,13,00,ff,ff\n2014-08-15T19:08:37.211Z,3,127508,129,255,8,01,ac,05,c2,00,1e,75,b1\n2014-08-15T19:08:37.275Z,3,128267,115,255,8,00,38,07,00,00,ff,ff,ff\n2014-08-15T19:08:37.278Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:37.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:37.330Z,2,130306,115,255,8,00,c1,02,a5,1c,f2,ff,ff\n2014-08-15T19:08:37.366Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:37.395Z,3,130577,160,255,14,c0,91,95,80,6c,01,ff,ff,ff,ff,d4,40,13,00\n2014-08-15T19:08:37.397Z,2,129025,160,255,8,9b,02,97,23,57,2e,bd,0e\n2014-08-15T19:08:37.433Z,4,129038,43,255,27,01,e0,53,7f,10,23,62,c3,0e,dd,34,a5,23,98,a0,88,d8,05,78,85,00,ac,87,00,00,00,fe\n2014-08-15T19:08:37.495Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:37.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:37.596Z,2,129026,160,255,8,ff,fc,95,80,6c,01,ff,ff\n2014-08-15T19:08:37.730Z,6,129540,160,255,135,d9,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,28,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2\n2014-08-15T19:08:37.732Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:08:37.737Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:37.773Z,4,129038,43,255,27,01,88,d6,d0,0c,f9,5b,e0,0e,61,87,b5,23,95,54,9f,31,03,c1,08,00,37,a0,00,00,00,fe\n2014-08-15T19:08:37.776Z,7,65306,115,255,8,3b,9f,e8,00,ff,ff,ff,ff\n2014-08-15T19:08:37.778Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:37.780Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:37.814Z,4,129038,43,255,27,01,c8,27,16,0e,73,2f,6f,0e,c8,15,95,23,91,1c,32,50,03,36,c0,08,c4,31,00,00,00,fe\n2014-08-15T19:08:37.822Z,3,127508,129,255,8,01,ae,05,f9,00,1e,75,b1\n2014-08-15T19:08:37.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:37.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:37.882Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:37.884Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:37.888Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:37.889Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:37.900Z,3,129029,160,255,43,92,a9,3f,76,f2,13,29,00,4e,4c,72,86,52,49,08,00,a6,e6,33,1d,83,6e,03,00,f2,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:37.902Z,3,129033,160,255,8,a9,3f,76,f2,13,29,b4,00\n2014-08-15T19:08:37.997Z,3,126992,160,255,8,ff,ff,a9,3f,3a,fc,13,29\n2014-08-15T19:08:38.008Z,6,129794,43,255,75,05,10,64,7b,10,00,00,00,00,45,53,32,35,34,39,40,50,49,4c,4f,54,20,41,48,54,4f,2d,31,39,40,40,40,40,40,40,40,32,8c,00,28,00,1e,00,64,00,52,40,00,00,00,00,96,00,56,49,52,54,53,55,40,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:08:38.075Z,4,129041,43,255,48,15,ac,54,2c,3b,04,15,d3,0e,89,e5,8e,23,84,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,31,35,39,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:38.098Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:38.173Z,4,129039,43,255,26,12,44,11,b6,0d,eb,2d,bd,0e,5c,02,97,23,97,cf,81,91,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:38.199Z,3,129291,160,255,8,ff,fc,73,4f,0c,00,ff,ff\n2014-08-15T19:08:38.233Z,4,129038,43,255,27,01,68,e2,20,12,3d,b7,fa,0e,20,f7,ac,23,98,2b,b0,02,02,67,c0,00,f1,b1,00,00,00,fe\n2014-08-15T19:08:38.237Z,7,127506,129,255,9,b2,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:38.277Z,3,128267,115,255,8,00,38,07,00,00,ff,ff,ff\n2014-08-15T19:08:38.281Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:38.304Z,2,130306,115,255,8,00,09,03,26,24,f2,ff,ff\n2014-08-15T19:08:38.314Z,4,129038,43,255,27,03,12,8f,c4,0d,0d,e5,e3,0e,65,30,db,23,91,e7,64,b0,01,d1,0d,08,fe,68,ff,7f,00,fe\n2014-08-15T19:08:38.324Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:38.401Z,3,130577,160,255,14,c0,92,a1,7f,6e,01,ff,ff,ff,ff,73,4f,0c,00\n2014-08-15T19:08:38.404Z,2,129025,160,255,8,56,01,97,23,22,2e,bd,0e\n2014-08-15T19:08:38.408Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:38.445Z,3,127508,129,255,8,01,ae,05,f7,00,1e,75,b2\n2014-08-15T19:08:38.495Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:38.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,22,02,03,00,01,01,04,00,00,00\n2014-08-15T19:08:38.583Z,4,129038,43,255,27,01,92,12,4b,10,b0,2b,f7,0e,48,d7,ad,23,9b,71,b0,c0,02,4e,c0,08,42,b1,fd,ff,00,fe\n2014-08-15T19:08:38.598Z,2,129026,160,255,8,ff,fc,a1,7f,6e,01,ff,ff\n2014-08-15T19:08:38.737Z,6,129540,160,255,135,da,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,b8,0b,00,00,00,00,f2\n2014-08-15T19:08:38.739Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:38.741Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:38.774Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:38.775Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:38.778Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:38.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:38.851Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:38.865Z,4,129041,43,255,48,15,b4,54,2c,3b,0a,ef,bb,0e,24,6e,87,23,88,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,32,32,35,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:38.867Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:38.878Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:38.881Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:38.883Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:38.886Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:38.906Z,3,129029,160,255,43,93,a9,3f,72,19,14,29,00,dc,c9,c6,3a,52,49,08,00,d4,da,dc,10,83,6e,03,20,40,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:38.908Z,3,129033,160,255,8,a9,3f,72,19,14,29,b4,00\n2014-08-15T19:08:39.000Z,3,126992,160,255,8,ff,ff,a9,3f,36,23,14,29\n2014-08-15T19:08:39.102Z,2,128259,160,255,8,ff,ff,ff,6e,01,ff,ff,ff\n2014-08-15T19:08:39.114Z,4,129038,43,255,27,01,10,dc,6d,0f,35,d3,5a,0e,5d,e1,9b,23,99,94,ad,88,02,20,66,08,88,ae,df,ff,00,fe\n2014-08-15T19:08:39.155Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:39.194Z,4,129039,43,255,26,12,44,11,b6,0d,b9,2d,bd,0e,0e,01,97,23,9b,49,7f,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:39.206Z,3,129291,160,255,8,ff,fc,88,5b,20,00,ff,ff\n2014-08-15T19:08:39.276Z,3,128267,115,255,8,00,69,07,00,00,ff,ff,ff\n2014-08-15T19:08:39.278Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:39.302Z,2,130306,115,255,8,00,9d,02,77,23,f2,ff,ff\n2014-08-15T19:08:39.326Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:39.373Z,4,129038,43,255,27,03,10,64,7b,10,13,55,c7,0e,16,d8,7f,23,98,00,00,00,00,00,00,00,ff,ff,ff,7f,05,fe\n2014-08-15T19:08:39.402Z,3,130577,160,255,14,c0,93,c3,7f,6c,01,ff,ff,ff,ff,88,5b,20,00\n2014-08-15T19:08:39.404Z,2,129025,160,255,8,17,00,97,23,f4,2d,bd,0e\n2014-08-15T19:08:39.414Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:39.453Z,4,129038,43,255,27,01,e0,53,7f,10,11,57,c3,0e,26,26,a5,23,a0,b2,88,de,05,c5,08,08,ac,87,00,00,00,fe\n2014-08-15T19:08:39.508Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:39.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:39.608Z,2,129026,160,255,8,ff,fc,c3,7f,6c,01,ff,ff\n2014-08-15T19:08:39.617Z,3,127508,129,255,8,01,ac,05,cc,00,1e,75,b2\n2014-08-15T19:08:39.751Z,6,129540,160,255,135,db,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,1c,0c,00,00,00,00,f2,16,3a,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:39.753Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:08:39.756Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:39.760Z,4,129038,43,255,27,01,88,44,7d,10,87,23,c7,0e,fc,ec,7f,23,98,2d,3b,00,00,cf,85,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:39.778Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:39.780Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:39.784Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:39.820Z,3,127508,129,255,8,01,b0,05,2f,01,1e,75,b2\n2014-08-15T19:08:39.876Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,e4,3e,01,00\n2014-08-15T19:08:39.878Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:39.881Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:39.884Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:39.892Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:39.914Z,3,129029,160,255,43,94,a9,3f,be,40,14,29,00,26,e8,80,f0,51,49,08,00,88,0a,27,06,83,6e,03,b0,9f,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:39.917Z,3,129033,160,255,8,a9,3f,be,40,14,29,b4,00\n2014-08-15T19:08:40.009Z,3,126992,160,255,8,ff,ff,a9,3f,8c,4a,14,29\n2014-08-15T19:08:40.110Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:40.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,70,34,14,29,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:08:40.190Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:40.204Z,4,129039,43,255,26,12,44,11,b6,0d,66,2d,bd,0e,d2,ff,96,23,9f,8f,7f,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:40.205Z,3,129291,160,255,8,ff,fc,3c,48,1d,00,ff,ff\n2014-08-15T19:08:40.219Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:40.244Z,2,130306,115,255,8,00,c1,02,03,1e,f2,ff,ff\n2014-08-15T19:08:40.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:40.282Z,3,128267,115,255,8,00,6c,07,00,00,ff,ff,ff\n2014-08-15T19:08:40.295Z,3,127508,129,255,8,01,b0,05,31,01,1e,75,b2\n2014-08-15T19:08:40.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:40.330Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,70,34,14,29,7c,c0,02,a9,3f,00,00,fc\n2014-08-15T19:08:40.413Z,3,130577,160,255,14,c0,94,e6,7f,6c,01,ff,ff,ff,ff,3c,48,1d,00\n2014-08-15T19:08:40.416Z,2,129025,160,255,8,da,fe,96,23,a1,2d,bd,0e\n2014-08-15T19:08:40.511Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:40.565Z,4,129041,43,255,48,15,b8,54,2c,3b,7d,30,a1,0e,e6,ee,76,23,8c,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,37,30,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:40.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:40.612Z,2,129026,160,255,8,ff,fc,e6,7f,6c,01,ff,ff\n2014-08-15T19:08:40.633Z,4,129039,43,255,26,12,c4,e2,c3,0d,fa,5f,c4,0e,7a,c9,94,23,a0,ca,56,77,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:08:40.673Z,4,129038,43,255,27,03,12,8f,c4,0d,9c,e9,e3,0e,d6,2b,db,23,9d,f2,66,b0,01,70,1f,00,5b,6a,ff,7f,00,fe\n2014-08-15T19:08:40.713Z,4,129038,43,255,27,01,6c,70,4a,10,09,81,04,0f,de,13,a4,23,9b,2e,35,bf,01,f1,85,08,d0,33,6a,00,00,fe\n2014-08-15T19:08:40.731Z,6,129540,160,255,135,dc,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,98,08,00,00,00,00,f2,16,3a,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:40.736Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:08:40.736Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:40.754Z,4,129038,43,255,27,01,02,8b,c4,0d,b4,7a,e0,0e,42,8c,c8,23,a4,95,83,68,01,f4,85,00,fd,86,00,00,00,fe\n2014-08-15T19:08:40.769Z,3,127508,129,255,8,01,ae,05,f9,00,1e,75,b2\n2014-08-15T19:08:40.772Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:40.775Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:40.779Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:40.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:40.844Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,a1,ae,2a,00,00,20,66,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:40.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:40.874Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,f7,3e,01,00\n2014-08-15T19:08:40.875Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:40.884Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:40.884Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:40.918Z,3,129029,160,255,43,95,a9,3f,8c,68,14,29,00,04,3c,b2,a6,51,49,08,00,0a,db,d3,f2,82,6e,03,80,2a,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:40.920Z,3,129033,160,255,8,a9,3f,8c,68,14,29,b4,00\n2014-08-15T19:08:41.019Z,3,126992,160,255,8,ff,ff,a9,3f,50,72,14,29\n2014-08-15T19:08:41.082Z,6,129794,43,255,75,05,e0,53,7f,10,51,3a,8b,00,45,53,4a,4b,20,20,20,4b,41,52,4f,4c,49,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,28,a4,01,78,00,3c,00,36,01,a9,3f,00,54,ea,2a,a0,00,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:08:41.115Z,4,129038,43,255,27,01,b0,79,7a,10,e3,71,d0,0e,28,f5,82,23,9c,bc,d8,e8,01,ff,05,01,7c,d9,ec,ff,00,fe\n2014-08-15T19:08:41.123Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:41.158Z,4,129038,43,255,27,01,98,69,b3,0e,35,64,8c,0e,cc,52,a0,23,9d,f1,ae,f8,01,00,06,09,94,b0,00,00,00,fe\n2014-08-15T19:08:41.202Z,4,129038,43,255,27,01,c8,d4,7f,10,84,24,df,0e,18,ea,c0,23,a1,e1,81,33,04,45,c0,00,94,83,00,00,00,fe\n2014-08-15T19:08:41.205Z,3,129291,160,255,8,ff,fc,32,5f,2e,00,ff,ff\n2014-08-15T19:08:41.222Z,2,130306,115,255,8,00,db,02,83,25,f2,ff,ff\n2014-08-15T19:08:41.234Z,4,129039,43,255,26,12,44,11,b6,0d,f1,2c,bd,0e,84,fe,96,23,a3,61,80,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:41.243Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:41.274Z,4,129039,43,255,26,12,66,58,b6,0d,03,a8,bb,0e,2c,b6,91,23,a3,6c,82,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:41.276Z,3,128267,115,255,8,00,63,07,00,00,ff,ff,ff\n2014-08-15T19:08:41.278Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:41.292Z,7,127506,129,255,9,b3,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:41.315Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:41.388Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:08:41.412Z,3,130577,160,255,14,c0,95,09,80,6e,01,ff,ff,ff,ff,32,5f,2e,00\n2014-08-15T19:08:41.415Z,2,129025,160,255,8,8e,fd,96,23,36,2d,bd,0e\n2014-08-15T19:08:41.424Z,4,129038,43,255,27,01,e0,53,7f,10,6c,53,c3,0e,44,21,a5,23,a8,b2,88,d8,05,20,66,00,fd,86,ff,7f,00,fe\n2014-08-15T19:08:41.458Z,3,127508,129,255,8,01,af,05,04,01,1e,75,b3\n2014-08-15T19:08:41.464Z,4,129038,43,255,27,01,b8,f5,67,12,ce,33,95,0e,7e,2b,92,23,a8,56,2d,d6,03,62,40,03,ff,2c,00,00,00,fe\n2014-08-15T19:08:41.507Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:41.557Z,4,129041,43,255,48,15,af,54,2c,3b,33,ae,f9,0e,7c,05,84,23,8c,14,00,14,00,0a,00,0a,00,15,02,e2,00,16,01,42,55,4f,59,2d,31,37,36,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:41.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,07,04,00,00,00,00,00,00,00,00,0e,25,02,04,00,02,01,05,00,00,00\n2014-08-15T19:08:41.611Z,2,129026,160,255,8,ff,fc,09,80,6e,01,ff,ff\n2014-08-15T19:08:41.668Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:08:41.737Z,6,129540,160,255,135,dd,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,f0,0a,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,08,07,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:41.741Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:08:41.743Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:41.774Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:41.776Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:41.778Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:41.832Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:41.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:41.872Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,f7,3e,01,00\n2014-08-15T19:08:41.875Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:41.877Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:41.880Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:41.906Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:41.916Z,3,129029,160,255,43,96,a9,3f,a6,8f,14,29,00,0c,7e,65,59,51,49,08,00,9c,28,ea,d9,82,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:41.918Z,3,129033,160,255,8,a9,3f,a6,8f,14,29,b4,00\n2014-08-15T19:08:42.010Z,3,126992,160,255,8,ff,ff,a9,3f,6a,99,14,29\n2014-08-15T19:08:42.111Z,2,128259,160,255,8,ff,ff,ff,6e,01,ff,ff,ff\n2014-08-15T19:08:42.136Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:42.143Z,3,127508,129,255,8,01,af,05,18,01,1e,75,b3\n2014-08-15T19:08:42.170Z,2,130306,115,255,8,00,98,02,8f,27,f2,ff,ff\n2014-08-15T19:08:42.213Z,3,129291,160,255,8,ff,fc,e6,64,18,00,ff,ff\n2014-08-15T19:08:42.224Z,4,129039,43,255,26,12,44,11,b6,0d,7d,2c,bd,0e,26,fd,96,23,a7,89,81,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:42.230Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:42.273Z,3,128267,115,255,8,00,9a,07,00,00,ff,ff,ff\n2014-08-15T19:08:42.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:42.296Z,3,127508,129,255,8,01,af,05,0c,01,1e,75,b3\n2014-08-15T19:08:42.325Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:42.363Z,4,129039,43,255,26,12,9e,d6,c3,0d,17,83,c8,0e,d4,51,93,23,aa,04,55,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:42.419Z,3,130577,160,255,14,c0,96,95,80,6d,01,ff,ff,ff,ff,e6,64,18,00\n2014-08-15T19:08:42.421Z,2,129025,160,255,8,46,fc,96,23,bf,2c,bd,0e\n2014-08-15T19:08:42.466Z,4,129041,43,255,48,15,a9,54,2c,3b,ab,90,03,0f,40,0f,84,23,98,14,00,14,00,0a,00,0a,00,17,02,e2,00,16,01,42,55,4f,59,2d,31,34,38,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:42.516Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:42.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,47,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:42.584Z,7,129793,43,255,26,04,90,18,23,00,ba,d1,e2,0e,c8,31,d3,23,00,90,82,14,29,79,c0,09,a9,3f,10,00,fc\n2014-08-15T19:08:42.604Z,3,127508,129,255,8,01,af,05,1c,01,1e,75,b3\n2014-08-15T19:08:42.618Z,2,129026,160,255,8,ff,fc,95,80,6d,01,ff,ff\n2014-08-15T19:08:42.735Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:42.751Z,6,129540,160,255,135,de,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,8c,0a,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,b8,0b,00,00,00,00,f2,11,5d,10,cd,d8,54,0b,00,00,00,00,f2,04,00,0f,1f,c9,60,09,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:08:42.753Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:08:42.761Z,6,129794,43,255,75,05,19,49,11,20,72,fb,8f,00,56,37,53,57,37,20,20,56,38,20,53,54,45,41,4c,54,48,20,20,20,20,20,20,20,20,20,20,50,c4,09,b8,01,40,01,20,08,a9,3f,00,cc,bf,19,dc,05,4d,55,47,47,41,2c,20,45,53,54,4f,4e,49,41,20,20,20,20,20,20,04,e0\n2014-08-15T19:08:42.773Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:42.775Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:42.777Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:42.795Z,4,129038,43,255,27,01,88,d6,d0,0c,ab,44,e0,0e,da,7e,b5,23,a9,77,9f,37,03,20,66,08,37,a0,00,00,00,fe\n2014-08-15T19:08:42.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:42.860Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:42.869Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,f7,3e,01,00\n2014-08-15T19:08:42.872Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:42.874Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:42.877Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:42.944Z,3,129029,160,255,43,97,a9,3f,fc,b6,14,29,00,3c,2b,07,0d,51,49,08,00,b6,34,35,be,82,6e,03,50,26,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:42.946Z,3,129033,160,255,8,a9,3f,fc,b6,14,29,b4,00\n2014-08-15T19:08:43.029Z,3,126992,160,255,8,ff,ff,a9,3f,c0,c0,14,29\n2014-08-15T19:08:43.034Z,7,129793,43,255,26,04,8f,18,23,00,42,1d,46,0f,56,67,e2,23,00,a0,a9,14,29,7f,c0,00,a9,3f,10,00,fc\n2014-08-15T19:08:43.084Z,4,129038,43,255,27,01,28,f5,77,10,35,a0,a1,0e,42,90,74,23,a8,68,30,c8,00,45,40,09,b9,2f,00,00,00,fe\n2014-08-15T19:08:43.124Z,4,129038,43,255,27,01,58,43,c9,0e,bf,e0,d1,0e,c8,0c,a9,23,ac,eb,ad,d5,02,4d,06,01,88,ae,00,00,00,fe\n2014-08-15T19:08:43.131Z,2,128259,160,255,8,ff,ff,ff,6d,01,ff,ff,ff\n2014-08-15T19:08:43.168Z,2,130306,115,255,8,00,ad,02,bd,20,f2,ff,ff\n2014-08-15T19:08:43.198Z,3,127508,129,255,8,01,af,05,22,01,1e,75,b3\n2014-08-15T19:08:43.234Z,3,129291,160,255,8,ff,fc,ac,73,12,00,ff,ff\n2014-08-15T19:08:43.236Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:43.240Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:43.244Z,4,129039,43,255,26,12,44,11,b6,0d,d6,2b,bd,0e,8c,fa,96,23,af,95,80,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:43.275Z,3,128267,115,255,8,00,63,07,00,00,ff,ff,ff\n2014-08-15T19:08:43.277Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:43.284Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,21,7c,6f,23,ac,03,a6,00,00,fb,08,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:43.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:43.354Z,4,129038,43,255,27,01,e0,53,7f,10,32,4c,c3,0e,70,17,a5,23,b0,8f,88,d3,05,56,06,09,fd,86,ff,7f,00,fe\n2014-08-15T19:08:43.439Z,3,130577,160,255,14,c0,97,83,80,6c,01,ff,ff,ff,ff,ac,73,12,00\n2014-08-15T19:08:43.441Z,2,129025,160,255,8,02,fb,96,23,4d,2c,bd,0e\n2014-08-15T19:08:43.445Z,4,129038,43,255,27,01,08,7b,ba,0d,90,66,91,0e,1a,34,bc,23,a9,37,a0,77,01,da,08,00,37,a0,00,00,00,fe\n2014-08-15T19:08:43.484Z,4,129038,43,255,27,01,40,37,b7,0d,8b,bb,89,0e,0c,75,bf,23,b1,2e,17,00,00,20,66,08,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:43.524Z,4,129038,43,255,27,01,c8,27,16,0e,06,4f,6f,0e,46,1a,95,23,a5,3f,32,55,03,37,c0,00,c4,31,00,00,00,fe\n2014-08-15T19:08:43.539Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:43.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0d,20,02,03,00,01,01,04,00,00,00\n2014-08-15T19:08:43.593Z,4,129038,43,255,27,01,08,99,b5,0d,d5,18,cf,0e,95,f5,a4,23,b0,5c,4c,49,01,5f,06,01,f3,48,00,00,00,fe\n2014-08-15T19:08:43.631Z,2,129026,160,255,8,ff,fc,83,80,6c,01,ff,ff\n2014-08-15T19:08:43.735Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:43.769Z,6,129540,160,255,135,df,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,e4,0c,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:08:43.771Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:08:43.773Z,7,127506,129,255,9,b4,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:43.774Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:43.776Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:43.778Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:43.781Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:43.804Z,4,129038,43,255,27,01,58,eb,ad,0e,ee,29,61,0e,de,32,90,23,b3,85,2f,d4,01,38,c0,09,5c,2e,00,00,00,fe\n2014-08-15T19:08:43.833Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:43.861Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:43.866Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,f7,3e,01,00\n2014-08-15T19:08:43.869Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:43.872Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:43.874Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:43.978Z,3,129029,160,255,43,98,a9,3f,ee,dd,14,29,00,94,43,97,c1,50,49,08,00,c2,46,aa,a3,82,6e,03,30,d8,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:43.980Z,3,129033,160,255,8,a9,3f,ee,dd,14,29,b4,00\n2014-08-15T19:08:44.039Z,3,127508,129,255,8,01,ac,05,c0,00,1e,75,b4\n2014-08-15T19:08:44.049Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:44.072Z,3,126992,160,255,8,ff,ff,a9,3f,bc,e7,14,29\n2014-08-15T19:08:44.152Z,2,130306,115,255,8,00,ff,02,26,24,f2,ff,ff\n2014-08-15T19:08:44.173Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:44.176Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:44.204Z,4,129038,43,255,27,03,12,8f,c4,0d,37,ec,e3,0e,95,28,db,23,a5,a1,67,b0,01,10,10,08,66,6c,ff,7f,00,fe\n2014-08-15T19:08:44.254Z,4,129039,43,255,26,12,44,11,b6,0d,a4,2b,bd,0e,4f,f9,96,23,b3,b2,7f,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:44.272Z,3,128267,115,255,8,00,c7,07,00,00,ff,ff,ff\n2014-08-15T19:08:44.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:44.276Z,3,129291,160,255,8,ff,fc,b2,52,07,00,ff,ff\n2014-08-15T19:08:44.279Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:44.339Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:44.471Z,3,130577,160,255,14,c0,98,09,80,6c,01,ff,ff,ff,ff,b2,52,07,00\n2014-08-15T19:08:44.473Z,2,129025,160,255,8,ba,f9,96,23,fa,2b,bd,0e\n2014-08-15T19:08:44.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,3f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:44.573Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:44.650Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:44.675Z,2,129026,160,255,8,ff,fc,09,80,6c,01,ff,ff\n2014-08-15T19:08:44.678Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:44.684Z,4,129038,43,255,27,01,20,f6,7e,10,1a,38,c7,0e,0e,ea,7f,23,ad,39,31,00,00,20,66,08,13,c7,00,00,0f,fe\n2014-08-15T19:08:44.745Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:44.783Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:44.785Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:44.789Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:44.807Z,6,129540,160,255,135,e0,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,74,0e,00,00,00,00,f2\n2014-08-15T19:08:44.809Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:08:44.864Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,f7,3e,01,00\n2014-08-15T19:08:44.867Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:44.869Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:44.872Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:44.888Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:44.937Z,3,127508,129,255,8,01,ae,05,ec,00,1e,75,b4\n2014-08-15T19:08:44.978Z,3,129029,160,255,43,99,a9,3f,fe,0e,15,29,00,c4,f0,38,75,50,49,08,00,44,17,57,90,82,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:44.980Z,3,129033,160,255,8,a9,3f,fe,0e,15,29,b4,00\n2014-08-15T19:08:45.076Z,3,126992,160,255,8,ff,ff,a9,3f,fe,0e,15,29\n2014-08-15T19:08:45.164Z,4,129038,43,255,27,01,fc,ff,e9,25,60,9f,23,0f,97,f7,be,23,b1,7d,bb,b6,02,20,66,08,7c,bb,e6,ff,00,fe\n2014-08-15T19:08:45.174Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:45.190Z,2,130306,115,255,8,00,93,02,60,1f,f2,ff,ff\n2014-08-15T19:08:45.243Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:45.263Z,4,129039,43,255,26,12,44,11,b6,0d,72,2b,bd,0e,f1,f7,96,23,b7,e1,7e,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:45.270Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:45.274Z,3,129291,160,255,8,ff,fc,b2,52,07,00,ff,ff\n2014-08-15T19:08:45.291Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:45.326Z,3,128267,115,255,8,00,87,07,00,00,ff,ff,ff\n2014-08-15T19:08:45.328Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:45.374Z,4,129038,43,255,27,01,e0,53,7f,10,19,45,c3,0e,9b,0d,a5,23,b8,7e,88,d3,05,a2,06,01,fd,86,ff,7f,00,fe\n2014-08-15T19:08:45.402Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:45.464Z,4,129038,43,255,27,01,d2,ff,4a,10,25,8b,b1,0e,c7,01,71,23,b5,59,e8,00,00,a5,86,08,37,91,ec,ff,00,fe\n2014-08-15T19:08:45.482Z,3,127508,129,255,8,01,b0,05,35,01,1e,75,b4\n2014-08-15T19:08:45.482Z,3,130577,160,255,14,c0,99,a1,7f,71,01,ff,ff,ff,ff,be,62,17,00\n2014-08-15T19:08:45.484Z,2,129025,160,255,8,68,f8,96,23,b4,2b,bd,0e\n2014-08-15T19:08:45.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:45.580Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:45.683Z,2,129026,160,255,8,ff,fc,a1,7f,71,01,ff,ff\n2014-08-15T19:08:45.733Z,2,128259,115,255,8,00,78,01,ff,ff,00,ff,ff\n2014-08-15T19:08:45.749Z,3,127508,129,255,8,01,af,05,13,01,1e,75,b4\n2014-08-15T19:08:45.767Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:45.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:45.772Z,2,128259,115,255,8,00,75,01,ff,ff,00,ff,ff\n2014-08-15T19:08:45.822Z,6,129540,160,255,135,e1,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,74,0e,00,00,00,00,f2\n2014-08-15T19:08:45.824Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:08:45.827Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:45.861Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:45.864Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:45.866Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:45.869Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:45.871Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:45.884Z,4,129038,43,255,27,01,10,04,1a,0e,c4,ff,fa,0e,f2,96,ae,23,b0,7d,af,9c,02,b5,86,08,f1,b1,00,00,00,fe\n2014-08-15T19:08:45.924Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,90,f7,c7,23,00,d0,1e,15,29,b6,86,01,a9,3f,10,00,fc\n2014-08-15T19:08:45.988Z,3,129029,160,255,43,9a,a9,3f,22,36,15,29,00,10,92,86,26,50,49,08,00,08,c4,0a,80,82,6e,03,c0,c6,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:45.988Z,3,129033,160,255,8,a9,3f,22,36,15,29,b4,00\n2014-08-15T19:08:46.079Z,3,126992,160,255,8,ff,ff,a9,3f,22,36,15,29\n2014-08-15T19:08:46.153Z,2,130306,115,255,8,00,c6,02,83,25,f2,ff,ff\n2014-08-15T19:08:46.178Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:46.184Z,2,128259,160,255,8,ff,ff,ff,71,01,ff,ff,ff\n2014-08-15T19:08:46.270Z,3,128267,115,255,8,00,87,07,00,00,ff,ff,ff\n2014-08-15T19:08:46.272Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:46.276Z,3,129291,160,255,8,ff,fc,be,62,17,00,ff,ff\n2014-08-15T19:08:46.283Z,4,129039,43,255,26,12,44,11,b6,0d,40,2b,bd,0e,a4,f6,96,23,bb,8f,7f,81,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:46.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:46.301Z,3,127508,129,255,8,01,af,05,01,01,1e,75,b4\n2014-08-15T19:08:46.398Z,6,129794,43,255,75,05,f8,4f,7f,10,b7,17,90,00,45,53,4a,4a,40,40,40,42,41,4c,54,49,43,20,51,55,45,45,4e,40,40,40,40,40,40,40,40,3d,48,08,54,01,aa,00,22,01,a9,3f,00,03,c5,28,76,02,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:08:46.468Z,7,127506,129,255,9,b5,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:46.484Z,3,130577,160,255,14,c0,9a,a1,7f,72,01,ff,ff,ff,ff,8f,3e,1b,00\n2014-08-15T19:08:46.486Z,2,129025,160,255,8,12,f7,96,23,67,2b,bd,0e\n2014-08-15T19:08:46.508Z,6,129794,43,255,75,05,98,69,b3,0e,8a,cc,90,00,50,42,56,59,40,40,40,43,52,49,53,54,49,4e,41,40,40,40,40,40,40,40,40,40,40,40,40,46,34,03,78,00,3c,00,b2,02,ae,3f,00,a2,4a,04,ae,01,54,45,52,4e,45,55,5a,45,4e,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:08:46.543Z,4,129038,43,255,27,01,b8,f5,67,12,ed,52,95,0e,11,32,92,23,bc,56,2d,d6,03,cb,86,0b,ff,2c,00,00,00,fe\n2014-08-15T19:08:46.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2c,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:46.585Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:46.616Z,3,127508,129,255,8,01,af,05,0f,01,1e,75,b5\n2014-08-15T19:08:46.688Z,2,129026,160,255,8,ff,fc,a1,7f,72,01,ff,ff\n2014-08-15T19:08:46.732Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:46.768Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:46.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:46.774Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:46.826Z,6,129540,160,255,135,e2,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,ac,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,74,0e,00,00,00,00,f2\n2014-08-15T19:08:46.828Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:08:46.830Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:46.859Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:46.862Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:46.864Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:46.867Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:46.869Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:46.873Z,4,129039,43,255,26,12,0a,ec,b5,0d,69,2b,cd,0e,30,94,91,23,b4,04,55,91,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:46.923Z,4,129038,43,255,27,03,70,22,bf,0d,a3,19,ba,0e,8e,ba,70,23,ba,66,9c,00,00,00,00,00,a2,1c,00,00,05,fe\n2014-08-15T19:08:46.963Z,4,129038,43,255,27,01,12,8f,c4,0d,1f,f0,e3,0e,06,24,db,23,b5,fe,68,aa,01,dd,06,01,c3,6d,ff,7f,00,fe\n2014-08-15T19:08:46.998Z,3,129029,160,255,43,9b,a9,3f,3c,5d,15,29,00,34,c8,e5,d6,4f,49,08,00,46,35,1d,6e,82,6e,03,f0,3b,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:47.000Z,3,129033,160,255,8,a9,3f,3c,5d,15,29,b4,00\n2014-08-15T19:08:47.038Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:47.093Z,3,126992,160,255,8,ff,ff,a9,3f,3c,5d,15,29\n2014-08-15T19:08:47.161Z,2,130306,115,255,8,00,83,02,31,17,f2,ff,ff\n2014-08-15T19:08:47.187Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:47.195Z,2,128259,160,255,8,ff,ff,ff,72,01,ff,ff,ff\n2014-08-15T19:08:47.272Z,3,128267,115,255,8,00,d6,07,00,00,ff,ff,ff\n2014-08-15T19:08:47.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:47.289Z,3,129291,160,255,8,ff,fc,8f,3e,1b,00,ff,ff\n2014-08-15T19:08:47.295Z,4,129039,43,255,26,12,44,11,b6,0d,2f,2b,bd,0e,46,f5,96,23,bf,66,7e,8c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:47.303Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:47.343Z,4,129038,43,255,27,01,e0,53,7f,10,11,3e,c3,0e,c6,03,a5,23,c0,5b,88,ce,05,3a,c0,08,fd,86,ff,7f,00,fe\n2014-08-15T19:08:47.454Z,4,129041,43,255,48,15,b3,54,2c,3b,65,31,c1,0e,44,73,76,23,ac,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,32,31,33,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:47.492Z,3,130577,160,255,14,c0,9b,be,7e,77,01,ff,ff,ff,ff,b0,5b,2f,00\n2014-08-15T19:08:47.500Z,2,129025,160,255,8,b8,f5,96,23,31,2b,bd,0e\n2014-08-15T19:08:47.500Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:47.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,3e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:47.603Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:47.661Z,3,127508,129,255,8,01,af,05,17,01,1e,75,b5\n2014-08-15T19:08:47.683Z,4,129038,43,255,27,01,c8,d4,7f,10,77,1b,df,0e,2e,d0,c0,23,bd,ac,81,33,04,f8,06,09,94,83,00,00,00,fe\n2014-08-15T19:08:47.703Z,2,129026,160,255,8,ff,fc,be,7e,77,01,ff,ff\n2014-08-15T19:08:47.715Z,6,129809,43,255,25,18,44,e0,c3,0d,50,41,4e,41,53,4f,4e,49,43,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:47.733Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:47.768Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:47.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:47.773Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:47.827Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:47.834Z,4,129038,43,255,27,01,92,12,4b,10,54,00,f7,0e,da,d2,ad,23,bf,3d,b0,c0,02,20,66,00,42,b1,00,00,00,fe\n2014-08-15T19:08:47.847Z,6,129540,160,255,135,e3,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,28,0a,00,00,00,00,f2,0b,39,28,ac,87,b8,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,3c,0f,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:47.853Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:08:47.858Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:47.860Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:47.862Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:47.864Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:47.872Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:47.999Z,3,127508,129,255,8,01,b0,05,22,01,1e,75,b5\n2014-08-15T19:08:48.024Z,3,129029,160,255,43,9c,a9,3f,4c,84,15,29,00,30,93,56,86,4f,49,08,00,aa,8e,8a,61,82,6e,03,80,0c,32,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:48.028Z,3,129033,160,255,8,a9,3f,4c,84,15,29,b4,00\n2014-08-15T19:08:48.094Z,3,126992,160,255,8,ff,ff,a9,3f,4c,84,15,29\n2014-08-15T19:08:48.145Z,2,130306,115,255,8,00,ff,02,49,2a,f2,ff,ff\n2014-08-15T19:08:48.169Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:48.195Z,2,128259,160,255,8,ff,ff,ff,77,01,ff,ff,ff\n2014-08-15T19:08:48.214Z,6,129810,43,255,33,18,44,e0,c3,0d,25,54,52,55,45,48,44,47,4f,47,37,33,39,39,40,8c,00,28,00,0a,00,82,00,00,00,00,00,00\n2014-08-15T19:08:48.271Z,3,128267,115,255,8,00,1d,08,00,00,ff,ff,ff\n2014-08-15T19:08:48.273Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:48.296Z,3,129291,160,255,8,ff,fc,b0,5b,2f,00,ff,ff\n2014-08-15T19:08:48.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:48.304Z,4,129039,43,255,26,12,44,11,b6,0d,bb,2a,bd,0e,f8,f3,96,23,c3,fe,80,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:48.498Z,3,130577,160,255,14,c0,9c,03,7f,76,01,ff,ff,ff,ff,b0,5b,2f,00\n2014-08-15T19:08:48.500Z,2,129025,160,255,8,61,f4,96,23,f5,2a,bd,0e\n2014-08-15T19:08:48.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,46,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:48.598Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:48.663Z,3,127508,129,255,8,01,af,05,11,01,1e,75,b5\n2014-08-15T19:08:48.693Z,4,129038,43,255,27,01,c8,27,16,0e,d5,64,6f,0e,98,1d,95,23,b9,62,32,50,03,44,07,09,c4,31,00,00,00,fe\n2014-08-15T19:08:48.699Z,2,129026,160,255,8,ff,fc,03,7f,76,01,ff,ff\n2014-08-15T19:08:48.730Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:48.734Z,4,129038,43,255,27,01,b8,53,a6,0c,de,46,77,0e,8a,c2,9e,23,c0,08,ad,78,02,20,66,08,36,af,00,00,00,fe\n2014-08-15T19:08:48.769Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:48.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:48.771Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:48.837Z,6,129540,160,255,135,e4,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,8c,0a,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,6c,07,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:48.840Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:08:48.842Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:48.854Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:48.856Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:48.860Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:48.862Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:48.864Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:48.903Z,4,129038,43,255,27,03,f8,4f,7f,10,f0,56,c3,0e,cb,87,6e,23,b9,b7,98,00,00,00,00,00,b7,98,00,00,05,fe\n2014-08-15T19:08:48.944Z,4,129038,43,255,27,01,68,e2,20,12,fb,8f,fa,0e,f6,f2,ac,23,c4,60,b0,fd,01,20,66,08,9f,b2,00,00,00,fe\n2014-08-15T19:08:48.975Z,2,130306,115,255,8,00,89,02,26,24,f2,ff,ff\n2014-08-15T19:08:49.004Z,3,129029,160,255,43,9d,a9,3f,66,ab,15,29,00,8a,2e,7a,36,4f,49,08,00,52,47,92,53,82,6e,03,30,67,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:49.006Z,3,129033,160,255,8,a9,3f,66,ab,15,29,b4,00\n2014-08-15T19:08:49.010Z,4,129038,43,255,27,01,58,43,c9,0e,73,c3,d1,0e,e0,08,a9,23,c4,eb,ad,d5,02,6d,c0,08,36,af,00,00,00,fe\n2014-08-15T19:08:49.105Z,3,126992,160,255,8,ff,ff,a9,3f,66,ab,15,29\n2014-08-15T19:08:49.114Z,4,129038,43,255,27,01,10,dc,6d,0f,a3,a5,5a,0e,da,da,9b,23,c1,71,ad,88,02,3b,c0,01,88,ae,0a,00,00,fe\n2014-08-15T19:08:49.177Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:49.199Z,2,128259,160,255,8,ff,ff,ff,76,01,ff,ff,ff\n2014-08-15T19:08:49.268Z,3,128267,115,255,8,00,1d,08,00,00,ff,ff,ff\n2014-08-15T19:08:49.270Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:49.274Z,4,129038,43,255,27,01,e0,53,7f,10,2b,37,c3,0e,f2,f9,a4,23,c8,38,88,c9,05,34,87,00,fd,86,00,00,00,fe\n2014-08-15T19:08:49.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:49.302Z,3,127508,129,255,8,01,b0,05,22,01,1e,75,b5\n2014-08-15T19:08:49.302Z,3,129291,160,255,8,ff,fc,58,53,1f,00,ff,ff\n2014-08-15T19:08:49.324Z,4,129039,43,255,26,12,44,11,b6,0d,46,2a,bd,0e,bc,f2,96,23,c7,32,81,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:49.513Z,3,130577,160,255,14,c0,9d,09,80,76,01,ff,ff,ff,ff,58,53,1f,00\n2014-08-15T19:08:49.516Z,2,129025,160,255,8,17,f3,96,23,7a,2a,bd,0e\n2014-08-15T19:08:49.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,53,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:49.602Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:49.643Z,4,129038,43,255,27,01,88,44,7d,10,a9,23,c7,0e,da,ec,7f,23,c0,fa,04,00,00,42,07,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:08:49.704Z,2,129026,160,255,8,ff,fc,09,80,76,01,ff,ff\n2014-08-15T19:08:49.722Z,7,127506,129,255,9,b6,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:49.734Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:49.773Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:49.775Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:49.777Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:49.830Z,3,127508,129,255,8,01,b0,05,1f,01,1e,75,b6\n2014-08-15T19:08:49.844Z,6,129540,160,255,135,e5,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,c4,09,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,b8,0b,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:49.847Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:08:49.851Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:49.854Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:49.856Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:49.859Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:49.864Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:49.867Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:49.878Z,6,129794,43,255,75,05,f8,4f,7f,10,b7,17,90,00,45,53,4a,4a,40,40,40,42,41,4c,54,49,43,20,51,55,45,45,4e,40,40,40,40,40,40,40,40,3d,48,08,54,01,aa,00,22,01,a9,3f,00,03,c5,28,76,02,54,41,4c,4c,49,4e,4e,40,40,40,40,40,40,40,40,40,40,40,40,40,04,e1\n2014-08-15T19:08:50.021Z,3,129029,160,255,43,9e,a9,3f,80,d2,15,29,00,26,a6,a4,e9,4e,49,08,00,44,e8,ee,36,82,6e,03,d0,7c,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:50.024Z,3,129033,160,255,8,a9,3f,80,d2,15,29,b4,00\n2014-08-15T19:08:50.112Z,3,126992,160,255,8,ff,ff,a9,3f,80,d2,15,29\n2014-08-15T19:08:50.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,10,bb,15,29,ca,08,0a,a9,3f,00,00,fc\n2014-08-15T19:08:50.151Z,2,130306,115,255,8,00,a7,02,c9,22,f2,ff,ff\n2014-08-15T19:08:50.175Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:50.205Z,2,128259,160,255,8,ff,ff,ff,76,01,ff,ff,ff\n2014-08-15T19:08:50.209Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:50.240Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:50.269Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:50.273Z,3,128267,115,255,8,00,0a,08,00,00,ff,ff,ff\n2014-08-15T19:08:50.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:50.309Z,3,129291,160,255,8,ff,fc,98,77,29,00,ff,ff\n2014-08-15T19:08:50.334Z,4,129039,43,255,26,12,44,11,b6,0d,14,2a,bd,0e,90,f1,96,23,cb,6c,7f,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:50.374Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,10,bb,15,29,7c,c0,0a,a9,3f,00,00,fc\n2014-08-15T19:08:50.507Z,3,130577,160,255,14,c0,9e,7e,7f,73,01,ff,ff,ff,ff,98,77,29,00\n2014-08-15T19:08:50.510Z,2,129025,160,255,8,c3,f1,96,23,17,2a,bd,0e\n2014-08-15T19:08:50.558Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:08:50.560Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:50.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,38,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:50.608Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:50.709Z,2,129026,160,255,8,ff,fc,7e,7f,73,01,ff,ff\n2014-08-15T19:08:50.741Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:50.778Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:08:50.782Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:50.784Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:50.786Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:50.838Z,6,129540,160,255,135,e6,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,f0,0a,00,00,00,00,f2,0b,39,28,ac,87,60,09,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,1c,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,98,08,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:50.840Z,2,127250,160,255,8,ff,95,80,ff,7f,86,05,fc\n2014-08-15T19:08:50.849Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,84,27,0a,01,09,3f,01,00\n2014-08-15T19:08:50.851Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:50.854Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:50.856Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:50.957Z,4,129038,43,255,27,01,6c,70,4a,10,f4,a2,04,0f,72,17,a4,23,c7,85,35,ba,01,1c,c0,00,d0,33,50,e6,00,fe\n2014-08-15T19:08:50.994Z,4,129038,43,255,27,01,b0,79,7a,10,b4,5d,d0,0e,86,01,83,23,c4,53,d8,ed,01,4b,40,09,7c,d9,f6,ff,00,fe\n2014-08-15T19:08:51.015Z,3,129029,160,255,43,9f,a9,3f,72,f9,15,29,00,de,11,7b,9a,4e,49,08,00,26,0c,e2,1f,82,6e,03,c0,c6,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:51.019Z,3,129033,160,255,8,a9,3f,72,f9,15,29,b4,00\n2014-08-15T19:08:51.034Z,4,129038,43,255,27,01,98,69,b3,0e,59,45,8c,0e,16,4f,a0,23,c1,20,ae,f8,01,20,66,00,94,b0,00,00,00,fe\n2014-08-15T19:08:51.081Z,4,129038,43,255,27,03,12,8f,c4,0d,07,f4,e3,0e,d1,1e,db,23,c1,0a,6b,aa,01,a0,1d,08,cf,6f,ff,7f,00,fe\n2014-08-15T19:08:51.123Z,3,126992,160,255,8,ff,ff,a9,3f,72,f9,15,29\n2014-08-15T19:08:51.130Z,3,127508,129,255,8,01,b0,05,27,01,1e,75,b6\n2014-08-15T19:08:51.146Z,2,130306,115,255,8,00,89,02,03,1e,f2,ff,ff\n2014-08-15T19:08:51.220Z,2,128259,160,255,8,ff,ff,ff,73,01,ff,ff,ff\n2014-08-15T19:08:51.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:51.311Z,3,128267,115,255,8,00,38,08,00,00,ff,ff,ff\n2014-08-15T19:08:51.313Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:51.319Z,3,129291,160,255,8,ff,fc,eb,76,26,00,ff,ff\n2014-08-15T19:08:51.340Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:51.344Z,4,129039,43,255,26,12,44,11,b6,0d,14,2a,bd,0e,64,f0,96,23,cf,a1,7c,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:51.375Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:51.408Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:51.437Z,3,127508,129,255,8,01,ae,05,ec,00,1e,75,b6\n2014-08-15T19:08:51.454Z,4,129038,43,255,27,01,e0,53,7f,10,af,2c,c3,0e,2a,eb,a4,23,d0,38,88,ce,05,20,66,08,fd,86,00,00,00,fe\n2014-08-15T19:08:51.517Z,3,130577,160,255,14,c0,9f,ac,7e,6d,01,ff,ff,ff,ff,eb,76,26,00\n2014-08-15T19:08:51.520Z,2,129025,160,255,8,85,f0,96,23,f0,29,bd,0e\n2014-08-15T19:08:51.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,48,02,03,00,00,00,04,00,00,00\n2014-08-15T19:08:51.615Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:51.674Z,4,129038,43,255,27,01,02,8b,c4,0d,8b,73,e0,0e,49,7d,c8,23,d0,43,84,62,01,91,40,09,ac,87,00,00,00,fe\n2014-08-15T19:08:51.717Z,2,129026,160,255,8,ff,fc,ac,7e,6d,01,ff,ff\n2014-08-15T19:08:51.730Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:08:51.768Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:51.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:51.772Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:08:51.827Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:51.856Z,6,129540,160,255,135,e7,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,1c,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:51.858Z,2,127250,160,255,8,ff,e7,7f,ff,7f,86,05,fc\n2014-08-15T19:08:51.861Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:51.864Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:51.866Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:51.869Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:51.871Z,2,130306,115,255,8,00,d6,02,49,2a,f2,ff,ff\n2014-08-15T19:08:51.964Z,4,129039,43,255,26,12,ca,0c,b7,0d,ab,f5,bc,0e,a8,eb,94,23,cc,7e,82,72,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:52.018Z,3,129029,160,255,43,a0,a9,3f,b4,20,16,29,00,f2,ca,70,50,4e,49,08,00,60,77,cd,16,82,6e,03,50,97,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:52.020Z,3,129033,160,255,8,a9,3f,b4,20,16,29,b4,00\n2014-08-15T19:08:52.026Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:52.038Z,3,127508,129,255,8,01,ae,05,f3,00,1e,75,b6\n2014-08-15T19:08:52.114Z,3,126992,160,255,8,ff,ff,a9,3f,b4,20,16,29\n2014-08-15T19:08:52.166Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:52.217Z,2,128259,160,255,8,ff,ff,ff,6d,01,ff,ff,ff\n2014-08-15T19:08:52.267Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:52.269Z,3,128267,115,255,8,00,f2,07,00,00,ff,ff,ff\n2014-08-15T19:08:52.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:52.320Z,3,129291,160,255,8,ff,fc,0e,6c,32,00,ff,ff\n2014-08-15T19:08:52.364Z,4,129039,43,255,26,12,44,11,b6,0d,e2,29,bd,0e,38,ef,96,23,d3,09,7d,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:52.516Z,3,130577,160,255,14,c0,a0,55,7e,6b,01,ff,ff,ff,ff,0e,6c,32,00\n2014-08-15T19:08:52.518Z,2,129025,160,255,8,45,ef,96,23,ca,29,bd,0e\n2014-08-15T19:08:52.537Z,3,127508,129,255,8,01,ac,05,c6,00,1e,75,b6\n2014-08-15T19:08:52.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,57,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:52.584Z,7,129793,43,255,26,04,90,18,23,00,ec,d1,e2,0e,2c,32,d3,23,00,30,09,16,29,b0,87,01,a9,3f,10,00,fc\n2014-08-15T19:08:52.616Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:52.687Z,7,127506,129,255,9,b7,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:52.719Z,2,129026,160,255,8,ff,fc,55,7e,6b,01,ff,ff\n2014-08-15T19:08:52.729Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:52.767Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:52.771Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:52.773Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:08:52.817Z,2,130306,115,255,8,00,a7,02,8f,27,f2,ff,ff\n2014-08-15T19:08:52.824Z,4,129039,43,255,26,12,06,a5,b5,0d,d9,fe,bc,0e,8b,a4,96,23,d0,32,7e,6d,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:52.850Z,6,129540,160,255,135,e8,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:52.852Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:08:52.855Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:52.857Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:52.860Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:52.862Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:52.865Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:52.927Z,3,127508,129,255,8,01,b0,05,23,01,1e,75,b7\n2014-08-15T19:08:52.954Z,4,129039,43,255,26,12,90,e4,c3,0d,16,84,c0,0e,30,7c,7c,23,d0,1b,6b,ce,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:08:52.969Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:53.004Z,4,129038,43,255,27,01,b8,f5,67,12,19,78,95,0e,66,3a,92,23,d4,45,2d,d6,03,62,c0,02,ff,2c,00,00,00,fe\n2014-08-15T19:08:53.025Z,3,129029,160,255,43,a1,a9,3f,ce,47,16,29,00,72,4e,ef,05,4e,49,08,00,64,7d,f4,0d,82,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:53.027Z,3,129033,160,255,8,a9,3f,ce,47,16,29,b4,00\n2014-08-15T19:08:53.044Z,7,129793,43,255,26,04,8f,18,23,00,d8,1d,46,0f,ba,67,e2,23,00,40,30,16,29,80,c0,08,a9,3f,10,00,fc\n2014-08-15T19:08:53.116Z,3,126992,160,255,8,ff,ff,a9,3f,ce,47,16,29\n2014-08-15T19:08:53.146Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:53.176Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:53.196Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:53.218Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:08:53.247Z,3,127508,129,255,8,01,af,05,f8,00,1e,75,b7\n2014-08-15T19:08:53.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:53.267Z,3,127508,129,255,8,01,ac,05,cf,00,1e,75,b7\n2014-08-15T19:08:53.268Z,3,128267,115,255,8,00,f2,07,00,00,ff,ff,ff\n2014-08-15T19:08:53.296Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:53.321Z,3,129291,160,255,8,ff,fc,6e,58,1e,00,ff,ff\n2014-08-15T19:08:53.325Z,4,129038,43,255,27,01,e0,53,7f,10,2b,29,c3,0e,48,e6,a4,23,d0,7e,88,c9,05,ce,08,00,fd,86,ff,7f,00,fe\n2014-08-15T19:08:53.328Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:08:53.374Z,4,129039,43,255,26,12,44,11,b6,0d,8f,29,bd,0e,fb,ed,96,23,d7,03,7f,7c,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:53.414Z,4,129038,43,255,27,01,b8,83,92,0e,7b,bb,e0,0e,e4,c8,75,23,d5,8e,c1,05,00,cf,07,09,59,d3,00,00,00,fe\n2014-08-15T19:08:53.523Z,3,127508,129,255,8,01,ae,05,ec,00,1e,75,b7\n2014-08-15T19:08:53.533Z,3,130577,160,255,14,c0,a1,15,7f,6b,01,ff,ff,ff,ff,6e,58,1e,00\n2014-08-15T19:08:53.535Z,2,129025,160,255,8,07,ee,96,23,7a,29,bd,0e\n2014-08-15T19:08:53.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,51,02,03,00,01,01,04,00,00,00\n2014-08-15T19:08:53.595Z,4,129038,43,255,27,01,28,f5,77,10,3b,ad,a1,0e,c5,96,74,23,d0,68,30,c8,00,ff,08,00,67,30,00,00,00,fe\n2014-08-15T19:08:53.625Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:53.634Z,4,129039,43,255,26,12,44,e0,c3,0d,94,93,ba,0e,24,db,8c,23,d6,be,7e,8c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:53.727Z,2,129026,160,255,8,ff,fc,15,7f,6b,01,ff,ff\n2014-08-15T19:08:53.729Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:53.754Z,4,129038,43,255,27,01,58,eb,ad,0e,55,48,61,0e,aa,38,90,23,db,85,2f,d4,01,20,66,00,5c,2e,00,00,00,fe\n2014-08-15T19:08:53.762Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:53.765Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:53.767Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:53.779Z,3,127508,129,255,8,01,ac,05,cf,00,1e,75,b7\n2014-08-15T19:08:53.826Z,2,130306,115,255,8,00,83,02,b1,1e,f2,ff,ff\n2014-08-15T19:08:53.842Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:53.845Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:53.848Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:53.850Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:53.852Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:53.868Z,6,129540,160,255,135,e9,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:53.870Z,2,127250,160,255,8,ff,3e,80,ff,7f,86,05,fc\n2014-08-15T19:08:53.872Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:08:53.963Z,4,129038,43,255,27,01,08,99,b5,0d,e0,32,cf,0e,95,f5,a4,23,dc,ff,4a,4e,01,e4,07,09,f3,48,00,00,00,fe\n2014-08-15T19:08:54.025Z,4,129038,43,255,27,01,c8,d4,7f,10,a7,13,df,0e,0c,ba,c0,23,d5,ac,81,2d,04,e6,07,01,94,83,00,00,00,fe\n2014-08-15T19:08:54.033Z,3,129029,160,255,43,a2,a9,3f,e8,6e,16,29,00,86,07,e5,bb,4d,49,08,00,44,1e,54,fb,81,6e,03,30,d8,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:54.035Z,3,129033,160,255,8,a9,3f,e8,6e,16,29,b4,00\n2014-08-15T19:08:54.074Z,4,129038,43,255,27,03,12,8f,c4,0d,fb,f5,e3,0e,e9,1a,db,23,cd,67,6c,aa,01,90,0e,00,2c,71,ff,7f,00,fe\n2014-08-15T19:08:54.124Z,4,129038,43,255,27,03,10,c9,7f,10,6d,93,e8,0e,5c,eb,8b,23,d5,aa,ed,00,00,ca,4b,09,65,c6,00,00,05,fe\n2014-08-15T19:08:54.130Z,3,126992,160,255,8,ff,ff,a9,3f,e8,6e,16,29\n2014-08-15T19:08:54.146Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:54.175Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:54.230Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:08:54.240Z,7,127506,129,255,9,b8,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:54.265Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:54.268Z,3,128267,115,255,8,00,be,08,00,00,ff,ff,ff\n2014-08-15T19:08:54.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:54.325Z,3,129291,160,255,8,ff,fc,ea,70,1f,00,ff,ff\n2014-08-15T19:08:54.327Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:08:54.383Z,4,129039,43,255,26,12,44,11,b6,0d,5d,29,bd,0e,ae,ec,96,23,db,84,7d,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:54.477Z,3,127508,129,255,8,01,ae,05,cf,00,1e,75,b8\n2014-08-15T19:08:54.537Z,3,130577,160,255,14,c0,a2,55,7e,6c,01,ff,ff,ff,ff,ea,70,1f,00\n2014-08-15T19:08:54.539Z,2,129025,160,255,8,ba,ec,96,23,37,29,bd,0e\n2014-08-15T19:08:54.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,50,02,02,00,00,00,04,00,00,00\n2014-08-15T19:08:54.627Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:54.664Z,4,129038,43,255,27,01,20,f6,7e,10,1a,38,c7,0e,1e,ea,7f,23,d9,39,31,00,00,fe,87,01,65,c6,00,00,0f,fe\n2014-08-15T19:08:54.729Z,2,129026,160,255,8,ff,fc,55,7e,6c,01,ff,ff\n2014-08-15T19:08:54.731Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:08:54.735Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:08:54.743Z,4,129038,43,255,27,01,58,43,c9,0e,17,a6,d1,0e,f8,04,a9,23,dc,fd,ad,d5,02,6d,40,01,36,af,00,00,00,fe\n2014-08-15T19:08:54.759Z,2,130306,115,255,8,00,b7,02,26,24,f2,ff,ff\n2014-08-15T19:08:54.830Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:54.840Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:54.843Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:54.846Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:54.848Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:54.862Z,6,129540,160,255,135,ea,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:54.864Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:08:54.940Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:55.034Z,3,129029,160,255,43,a3,a9,3f,02,96,16,29,00,c4,ae,5c,6e,4d,49,08,00,66,9b,ba,eb,81,6e,03,70,e5,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:55.036Z,3,129033,160,255,8,a9,3f,02,96,16,29,b4,00\n2014-08-15T19:08:55.078Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:55.129Z,3,126992,160,255,8,ff,ff,a9,3f,02,96,16,29\n2014-08-15T19:08:55.157Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:08:55.159Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:55.161Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.173Z,4,129038,43,255,27,01,38,5e,49,16,59,7a,ca,0e,92,bf,76,23,d9,d6,37,00,00,9a,08,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:08:55.215Z,4,129038,43,255,27,01,88,d6,d0,0c,be,0c,e0,0e,8a,6a,b5,23,d9,77,9f,37,03,12,88,08,37,a0,00,00,00,fe\n2014-08-15T19:08:55.223Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.246Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:55.254Z,4,129038,43,255,27,01,10,04,1a,0e,3d,d0,fa,0e,16,91,ae,23,d4,7d,af,9c,02,14,88,01,f1,b1,00,00,00,fe\n2014-08-15T19:08:55.256Z,2,128259,160,255,8,ff,ff,ff,6c,01,ff,ff,ff\n2014-08-15T19:08:55.275Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:55.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.310Z,3,128267,115,255,8,00,be,08,00,00,ff,ff,ff\n2014-08-15T19:08:55.335Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.344Z,3,129291,160,255,8,ff,fc,d2,5c,1d,00,ff,ff\n2014-08-15T19:08:55.346Z,3,127508,129,255,8,01,ac,05,cc,00,1e,75,b8\n2014-08-15T19:08:55.354Z,4,129038,43,255,27,01,fc,ff,e9,25,9d,6e,23,0f,de,f9,be,23,d9,2b,bc,bb,02,18,08,01,7c,bb,e6,ff,00,fe\n2014-08-15T19:08:55.361Z,3,127508,129,255,8,01,ae,05,c3,00,1e,75,b8\n2014-08-15T19:08:55.403Z,4,129039,43,255,26,12,44,11,b6,0d,3b,29,bd,0e,60,eb,96,23,df,5b,7c,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:55.548Z,3,130577,160,255,14,c0,a3,b8,7d,6e,01,ff,ff,ff,ff,d2,5c,1d,00\n2014-08-15T19:08:55.550Z,2,129025,160,255,8,67,eb,96,23,1f,29,bd,0e\n2014-08-15T19:08:55.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2b,02,03,00,01,01,04,00,00,00\n2014-08-15T19:08:55.594Z,4,129038,43,255,27,01,e0,53,7f,10,9f,1e,c3,0e,92,d7,a4,23,e0,49,88,c9,05,21,88,08,fd,86,00,00,00,fe\n2014-08-15T19:08:55.638Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:55.644Z,4,129038,43,255,27,01,d2,ff,4a,10,14,8b,b1,0e,c7,01,71,23,dd,59,e8,00,00,aa,08,00,37,91,0e,00,00,fe\n2014-08-15T19:08:55.721Z,2,130306,115,255,8,00,9d,02,8f,27,f2,ff,ff\n2014-08-15T19:08:55.740Z,2,129026,160,255,8,ff,fc,b8,7d,6e,01,ff,ff\n2014-08-15T19:08:55.747Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.780Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:08:55.836Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:55.839Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:55.841Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:55.844Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:55.846Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:08:55.849Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:55.851Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:55.885Z,6,129540,160,255,135,eb,ff,0b,20,c5,31,fd,95,b8,0b,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,10,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,98,08,00,00,00,00,f2,1f,23,06,7e,52,80,0c,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:55.893Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:08:55.914Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,5e,f7,c7,23,00,70,a5,16,29,2d,88,08,a9,3f,10,00,fc\n2014-08-15T19:08:56.005Z,3,127508,129,255,8,01,b0,05,20,01,1e,75,b8\n2014-08-15T19:08:56.036Z,3,127508,129,255,8,01,af,05,00,01,1e,75,b8\n2014-08-15T19:08:56.055Z,3,129029,160,255,43,a4,a9,3f,d4,be,16,29,00,46,b5,6e,1f,4d,49,08,00,76,18,24,e6,81,6e,03,60,4d,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:56.057Z,3,129033,160,255,8,a9,3f,d4,be,16,29,b4,00\n2014-08-15T19:08:56.148Z,3,126992,160,255,8,ff,ff,a9,3f,d4,be,16,29\n2014-08-15T19:08:56.161Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:56.190Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:56.239Z,2,128259,160,255,8,ff,ff,ff,6e,01,ff,ff,ff\n2014-08-15T19:08:56.267Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:56.269Z,3,128267,115,255,8,00,af,08,00,00,ff,ff,ff\n2014-08-15T19:08:56.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:56.345Z,3,129291,160,255,8,ff,fc,6c,48,23,00,ff,ff\n2014-08-15T19:08:56.363Z,4,129039,43,255,26,12,58,7f,b6,0d,47,f0,bb,0e,de,ca,92,23,e3,44,7e,77,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:56.413Z,4,129039,43,255,26,12,44,11,b6,0d,d7,28,bd,0e,24,ea,96,23,e3,7e,7f,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:56.549Z,3,130577,160,255,14,c0,a4,cf,7e,72,01,ff,ff,ff,ff,6c,48,23,00\n2014-08-15T19:08:56.552Z,2,129025,160,255,8,05,ea,96,23,d0,28,bd,0e\n2014-08-15T19:08:56.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,27,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:56.579Z,7,127506,129,255,9,b9,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:56.649Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:56.689Z,2,130306,115,255,8,00,9d,02,1a,22,f2,ff,ff\n2014-08-15T19:08:56.725Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:56.743Z,2,129026,160,255,8,ff,fc,cf,7e,72,01,ff,ff\n2014-08-15T19:08:56.759Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:08:56.797Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:56.799Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:56.801Z,2,128259,115,255,8,00,51,01,ff,ff,00,ff,ff\n2014-08-15T19:08:56.833Z,3,127508,129,255,8,01,ae,05,c1,00,1e,75,b9\n2014-08-15T19:08:56.833Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:56.836Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:56.838Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:56.840Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:56.843Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:56.882Z,6,129540,160,255,135,ec,ff,0b,20,c5,31,fd,95,b8,0b,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,98,08,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,98,08,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:56.884Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:08:57.055Z,3,129029,160,255,43,a5,a9,3f,d0,e5,16,29,00,f2,a9,02,cd,4c,49,08,00,20,54,bf,d3,81,6e,03,30,d8,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:57.057Z,3,129033,160,255,8,a9,3f,d0,e5,16,29,b4,00\n2014-08-15T19:08:57.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:57.150Z,3,126992,160,255,8,ff,ff,a9,3f,d0,e5,16,29\n2014-08-15T19:08:57.243Z,4,129038,43,255,27,01,b8,53,a6,0c,93,1b,77,0e,ae,bc,9e,23,e8,1a,ad,78,02,20,66,00,36,af,00,00,00,fe\n2014-08-15T19:08:57.246Z,2,128259,160,255,8,ff,ff,ff,72,01,ff,ff,ff\n2014-08-15T19:08:57.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:57.269Z,3,128267,115,255,8,00,af,08,00,00,ff,ff,ff\n2014-08-15T19:08:57.283Z,4,129039,43,255,26,12,08,57,b6,0d,f7,2a,cc,0e,13,8b,91,23,e3,21,5d,aa,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:08:57.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:57.345Z,3,129291,160,255,8,ff,fc,6c,48,23,00,ff,ff\n2014-08-15T19:08:57.423Z,4,129039,43,255,26,12,44,11,b6,0d,73,28,bd,0e,d6,e8,96,23,e7,8f,7f,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:57.495Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:08:57.554Z,3,130577,160,255,14,c0,a5,6c,7f,76,01,ff,ff,ff,ff,13,6c,2a,00\n2014-08-15T19:08:57.556Z,2,129025,160,255,8,aa,e8,96,23,59,28,bd,0e\n2014-08-15T19:08:57.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2d,02,02,00,01,01,03,00,00,00\n2014-08-15T19:08:57.594Z,4,129038,43,255,27,01,e0,53,7f,10,a8,17,c3,0e,ce,cd,a4,23,e8,26,88,c9,05,c4,08,00,fd,86,00,00,00,fe\n2014-08-15T19:08:57.643Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:57.657Z,2,130306,115,255,8,00,db,02,83,25,f2,ff,ff\n2014-08-15T19:08:57.677Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:57.727Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:08:57.747Z,2,129026,160,255,8,ff,fc,6c,7f,76,01,ff,ff\n2014-08-15T19:08:57.753Z,4,129038,43,255,27,01,68,e2,20,12,5d,6f,fa,0e,82,ef,ac,23,e8,2b,b0,02,02,67,40,01,9f,b2,00,00,00,fe\n2014-08-15T19:08:57.762Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:57.764Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:57.769Z,2,128259,115,255,8,00,58,01,ff,ff,00,ff,ff\n2014-08-15T19:08:57.826Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:57.830Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:57.833Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:57.837Z,4,129038,43,255,27,01,12,8f,c4,0d,3c,f9,e3,0e,66,14,db,23,e1,21,6f,aa,01,a6,08,08,2c,71,00,00,00,fe\n2014-08-15T19:08:57.839Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:57.842Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:57.882Z,6,129540,160,255,135,ed,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,28,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:57.884Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:08:58.048Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:08:58.058Z,3,129029,160,255,43,a6,a9,3f,08,0d,17,29,00,24,da,37,7c,4c,49,08,00,3a,60,0a,b8,81,6e,03,d0,5e,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:58.060Z,3,129033,160,255,8,a9,3f,08,0d,17,29,b4,00\n2014-08-15T19:08:58.125Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:58.154Z,3,126992,160,255,8,ff,ff,a9,3f,08,0d,17,29\n2014-08-15T19:08:58.246Z,2,128259,160,255,8,ff,ff,ff,76,01,ff,ff,ff\n2014-08-15T19:08:58.263Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:58.265Z,3,128267,115,255,8,00,7b,09,00,00,ff,ff,ff\n2014-08-15T19:08:58.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:58.356Z,3,129291,160,255,8,ff,fc,13,6c,2a,00,ff,ff\n2014-08-15T19:08:58.444Z,4,129039,43,255,26,12,44,11,b6,0d,63,28,bd,0e,9a,e7,96,23,eb,2c,7d,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:58.560Z,3,130577,160,255,14,c0,a6,e1,7e,71,01,ff,ff,ff,ff,60,71,1a,00\n2014-08-15T19:08:58.563Z,2,129025,160,255,8,61,e7,96,23,0f,28,bd,0e\n2014-08-15T19:08:58.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:58.641Z,2,130306,115,255,8,00,65,02,6c,21,f2,ff,ff\n2014-08-15T19:08:58.643Z,3,127508,129,255,8,01,ae,05,cc,00,1e,75,b9\n2014-08-15T19:08:58.651Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:58.661Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:58.725Z,2,128259,115,255,8,00,44,01,ff,ff,00,ff,ff\n2014-08-15T19:08:58.753Z,2,129026,160,255,8,ff,fc,e1,7e,71,01,ff,ff\n2014-08-15T19:08:58.764Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:58.765Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:58.768Z,2,128259,115,255,8,00,42,01,ff,ff,00,ff,ff\n2014-08-15T19:08:58.797Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:58.827Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:58.829Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:58.834Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:58.835Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:58.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:08:58.894Z,6,129540,160,255,135,ee,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:58.896Z,2,127250,160,255,8,ff,e7,7f,ff,7f,86,05,fc\n2014-08-15T19:08:58.924Z,6,129809,43,255,25,18,9e,d6,c3,0d,46,49,4e,4e,46,55,4e,40,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:08:59.058Z,3,129029,160,255,43,a7,a9,3f,22,34,17,29,00,8a,ec,9d,2f,4c,49,08,00,d6,a1,cf,a6,81,6e,03,e0,f6,32,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:08:59.060Z,3,129033,160,255,8,a9,3f,22,34,17,29,b4,00\n2014-08-15T19:08:59.064Z,4,129038,43,255,27,01,c8,d4,7f,10,25,0d,df,0e,c0,a7,c0,23,e9,e1,81,2d,04,44,40,09,94,83,00,00,00,fe\n2014-08-15T19:08:59.128Z,3,127508,129,255,8,01,ac,05,a7,00,1e,75,b9\n2014-08-15T19:08:59.143Z,4,129038,43,255,27,01,b8,f5,67,12,c9,a3,95,0e,1a,44,92,23,ec,56,2d,d6,03,63,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:08:59.154Z,3,126992,160,255,8,ff,ff,a9,3f,22,34,17,29\n2014-08-15T19:08:59.205Z,6,129810,43,255,33,18,9e,d6,c3,0d,25,54,52,55,45,48,44,47,4f,49,38,33,34,39,40,64,00,28,00,1e,00,50,00,00,00,00,00,00\n2014-08-15T19:08:59.256Z,2,128259,160,255,8,ff,ff,ff,71,01,ff,ff,ff\n2014-08-15T19:08:59.262Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:59.264Z,3,128267,115,255,8,00,dd,08,00,00,ff,ff,ff\n2014-08-15T19:08:59.294Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:59.357Z,3,129291,160,255,8,ff,fc,60,71,1a,00,ff,ff\n2014-08-15T19:08:59.378Z,3,127508,129,255,8,01,ae,05,c7,00,1e,75,b9\n2014-08-15T19:08:59.451Z,3,127508,129,255,8,01,b0,05,0b,01,1e,75,b9\n2014-08-15T19:08:59.453Z,4,129039,43,255,26,12,44,11,b6,0d,41,28,bd,0e,6e,e6,96,23,ef,26,7c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:08:59.561Z,3,130577,160,255,14,c0,a7,ec,7d,6d,01,ff,ff,ff,ff,60,71,1a,00\n2014-08-15T19:08:59.564Z,2,129025,160,255,8,21,e6,96,23,fa,27,bd,0e\n2014-08-15T19:08:59.573Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:08:59.575Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:08:59.593Z,2,130306,115,255,8,00,ad,02,e0,26,f2,ff,ff\n2014-08-15T19:08:59.621Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:59.624Z,4,129038,43,255,27,01,e0,53,7f,10,b1,10,c3,0e,0a,c4,a4,23,00,38,88,ce,05,3a,c0,09,fd,86,00,00,00,fe\n2014-08-15T19:08:59.655Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:08:59.664Z,7,127506,129,255,9,ba,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:08:59.723Z,4,129038,43,255,27,01,92,12,4b,10,73,c6,f6,0e,0f,cd,ad,23,ef,a6,b0,c0,02,8f,08,08,42,b1,00,00,00,fe\n2014-08-15T19:08:59.729Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:59.758Z,2,129026,160,255,8,ff,fc,ec,7d,6d,01,ff,ff\n2014-08-15T19:08:59.767Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:08:59.769Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:59.771Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:08:59.825Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,1c,3f,01,00\n2014-08-15T19:08:59.827Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:08:59.830Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:08:59.832Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:08:59.854Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:08:59.892Z,6,129540,160,255,135,ef,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,b8,0b,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,48,0d,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:08:59.894Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:09:00.066Z,3,129029,160,255,43,a8,a9,3f,32,5b,17,29,00,0a,70,1c,e5,4b,49,08,00,44,ef,eb,a1,81,6e,03,40,70,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:00.068Z,3,129033,160,255,8,a9,3f,32,5b,17,29,b4,00\n2014-08-15T19:09:00.106Z,3,127508,129,255,8,01,ae,05,e4,00,1e,75,ba\n2014-08-15T19:09:00.123Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,b0,41,17,29,01,80,02,a9,3f,00,00,fc\n2014-08-15T19:09:00.150Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:00.162Z,3,126992,160,255,8,ff,ff,a9,3f,32,5b,17,29\n2014-08-15T19:09:00.179Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:00.261Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:00.264Z,3,128267,115,255,8,00,dd,08,00,00,ff,ff,ff\n2014-08-15T19:09:00.266Z,2,128259,160,255,8,ff,ff,ff,6d,01,ff,ff,ff\n2014-08-15T19:09:00.284Z,4,129038,43,255,27,03,12,8f,c4,0d,e3,f9,e3,0e,cc,11,db,23,e5,cf,6f,aa,01,f0,20,00,db,71,00,00,00,fe\n2014-08-15T19:09:00.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:00.325Z,4,129038,43,255,27,01,10,dc,6d,0f,10,78,5a,0e,58,d4,9b,23,ed,b7,ad,88,02,3c,40,09,88,ae,14,00,00,fe\n2014-08-15T19:09:00.355Z,3,129291,160,255,8,ff,fc,8e,65,37,00,ff,ff\n2014-08-15T19:09:00.365Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,ed,1c,2c,00,00,09,80,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:00.405Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,b0,41,17,29,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:09:00.473Z,4,129039,43,255,26,12,44,11,b6,0d,ff,27,bd,0e,42,e5,96,23,03,e1,7e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:00.560Z,2,130306,115,255,8,00,b7,02,c9,22,f2,ff,ff\n2014-08-15T19:09:00.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:00.572Z,3,130577,160,255,14,c0,a8,66,7e,69,01,ff,ff,ff,ff,8e,65,37,00\n2014-08-15T19:09:00.575Z,2,129025,160,255,8,e5,e4,96,23,ca,27,bd,0e\n2014-08-15T19:09:00.579Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:00.587Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:00.661Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:00.713Z,4,129038,43,255,27,01,88,d6,d0,0c,d0,f0,df,0e,40,60,b5,23,01,66,9f,37,03,3c,c0,00,37,a0,00,00,00,fe\n2014-08-15T19:09:00.725Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:00.754Z,4,129038,43,255,27,01,c8,27,16,0e,da,b1,6f,0e,ca,28,95,23,ed,73,32,55,03,3e,80,08,c4,31,e6,ff,00,fe\n2014-08-15T19:09:00.765Z,2,129026,160,255,8,ff,fc,66,7e,69,01,ff,ff\n2014-08-15T19:09:00.769Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:00.771Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:00.775Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:00.825Z,4,129038,43,255,27,01,98,69,b3,0e,3b,23,8c,0e,0d,4b,a0,23,e9,a0,af,f8,01,f9,08,08,42,b1,00,00,00,fe\n2014-08-15T19:09:00.827Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,2e,3f,01,00\n2014-08-15T19:09:00.831Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:00.833Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:00.835Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:00.837Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:00.894Z,4,129038,43,255,27,01,58,43,c9,0e,cb,88,d1,0e,21,01,a9,23,04,0e,ae,d5,02,1e,00,09,36,af,00,00,00,fe\n2014-08-15T19:09:00.909Z,6,129540,160,255,135,f0,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,10,0e,00,00,00,00,f2\n2014-08-15T19:09:00.911Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:09:00.959Z,4,129039,43,255,26,12,44,11,b6,0d,ff,27,bd,0e,42,e5,96,23,03,e1,7e,58,01,06,00,16,ff,ff,00,74,ff\n2014-08-15T19:09:00.990Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:01.004Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,eb,ec,7f,23,ec,84,74,00,00,20,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:01.074Z,3,129029,160,255,43,a9,a9,3f,56,82,17,29,00,b2,5e,89,9b,4b,49,08,00,64,e9,be,96,81,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:01.078Z,3,129033,160,255,8,a9,3f,56,82,17,29,b4,00\n2014-08-15T19:09:01.144Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:01.170Z,3,126992,160,255,8,ff,ff,a9,3f,56,82,17,29\n2014-08-15T19:09:01.188Z,3,127508,129,255,8,01,af,05,f2,00,1e,75,ba\n2014-08-15T19:09:01.264Z,3,128267,115,255,8,00,dd,08,00,00,ff,ff,ff\n2014-08-15T19:09:01.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:01.272Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:09:01.300Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:01.304Z,4,129038,43,255,27,01,e0,53,7f,10,2d,0d,c3,0e,28,bf,a4,23,08,38,88,ce,05,24,66,00,fd,86,ff,7f,00,fe\n2014-08-15T19:09:01.344Z,4,129039,43,255,26,12,8c,d3,b5,0d,21,bb,bd,0e,31,c6,97,23,00,83,86,1a,01,06,00,0e,ff,ff,00,7c,ff\n2014-08-15T19:09:01.363Z,3,129291,160,255,8,ff,fc,88,65,22,00,ff,ff\n2014-08-15T19:09:01.384Z,4,129038,43,255,27,01,02,8b,c4,0d,08,6d,e0,0e,ea,70,c8,23,08,f2,84,6d,01,30,80,00,5a,88,00,00,00,fe\n2014-08-15T19:09:01.424Z,4,129038,43,255,27,01,b0,79,7a,10,50,44,d0,0e,d9,0f,83,23,00,88,d8,ed,01,31,80,00,7c,d9,00,00,00,fe\n2014-08-15T19:09:01.484Z,4,129039,43,255,26,12,44,11,b6,0d,cd,27,bd,0e,16,e4,96,23,07,55,7e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:01.529Z,2,130306,115,255,8,00,98,02,d5,24,f2,ff,ff\n2014-08-15T19:09:01.565Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:01.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,46,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:01.578Z,3,130577,160,255,14,c0,a9,be,7e,67,01,ff,ff,ff,ff,88,65,22,00\n2014-08-15T19:09:01.580Z,2,129025,160,255,8,a8,e3,96,23,75,27,bd,0e\n2014-08-15T19:09:01.678Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:01.729Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:01.759Z,3,127508,129,255,8,01,b0,05,11,01,1e,75,ba\n2014-08-15T19:09:01.762Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:01.765Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:01.767Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:01.770Z,2,129026,160,255,8,ff,fc,be,7e,67,01,ff,ff\n2014-08-15T19:09:01.820Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,2e,3f,01,00\n2014-08-15T19:09:01.823Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:01.825Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:01.828Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:01.835Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:01.901Z,6,129540,160,255,135,f1,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,98,08,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:01.903Z,2,127250,160,255,8,ff,3e,80,ff,7f,86,05,fc\n2014-08-15T19:09:01.994Z,4,129039,43,255,26,12,6e,c9,b5,0d,28,f6,d2,0e,ce,c6,8e,23,07,60,92,2a,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:02.078Z,3,129029,160,255,43,aa,a9,3f,98,a9,17,29,00,90,b2,ba,51,4b,49,08,00,52,84,f4,82,81,6e,03,a0,3c,37,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:02.080Z,3,129033,160,255,8,a9,3f,98,a9,17,29,b4,00\n2014-08-15T19:09:02.116Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:02.172Z,3,126992,160,255,8,ff,ff,a9,3f,98,a9,17,29\n2014-08-15T19:09:02.263Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:02.265Z,3,128267,115,255,8,00,8a,09,00,00,ff,ff,ff\n2014-08-15T19:09:02.274Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:09:02.279Z,3,127508,129,255,8,01,af,05,ec,00,1e,75,ba\n2014-08-15T19:09:02.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:02.375Z,3,129291,160,255,8,ff,fc,82,6d,1c,00,ff,ff\n2014-08-15T19:09:02.410Z,3,127508,129,255,8,01,ae,05,c8,00,1e,75,ba\n2014-08-15T19:09:02.424Z,4,129038,43,255,27,03,90,75,cd,0e,39,9d,b9,0e,88,57,70,23,04,78,84,00,00,00,00,08,ff,ff,ff,7f,05,fe\n2014-08-15T19:09:02.465Z,4,129038,43,255,27,01,58,eb,ad,0e,be,63,61,0e,ad,3d,90,23,0f,85,2f,d4,01,38,40,09,5c,2e,00,00,00,fe\n2014-08-15T19:09:02.497Z,2,130306,115,255,8,00,9d,02,3e,28,f2,ff,ff\n2014-08-15T19:09:02.503Z,4,129039,43,255,26,12,44,11,b6,0d,9b,27,bd,0e,d9,e2,96,23,0b,78,7b,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:02.517Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:02.570Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,26,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:02.584Z,7,129793,43,255,26,04,90,18,23,00,1e,d2,e2,0e,2c,32,d3,23,00,d0,8f,17,29,5d,00,09,a9,3f,10,00,fc\n2014-08-15T19:09:02.587Z,3,130577,160,255,14,c0,aa,a6,7d,67,01,ff,ff,ff,ff,82,6d,1c,00\n2014-08-15T19:09:02.589Z,2,129025,160,255,8,67,e2,96,23,51,27,bd,0e\n2014-08-15T19:09:02.609Z,7,127506,129,255,9,bb,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:02.676Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:02.723Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:09:02.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:02.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:02.762Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:09:02.778Z,2,129026,160,255,8,ff,fc,a6,7d,67,01,ff,ff\n2014-08-15T19:09:02.790Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:02.817Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,2e,3f,01,00\n2014-08-15T19:09:02.820Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:02.822Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:02.825Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:02.914Z,6,129540,160,255,135,f2,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:02.916Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:09:03.034Z,7,129793,43,255,26,04,8f,18,23,00,0a,1e,46,0f,ec,67,e2,23,00,e0,b6,17,29,81,c0,00,a9,3f,10,00,fc\n2014-08-15T19:09:03.047Z,3,127508,129,255,8,01,b0,05,0c,01,1e,75,bb\n2014-08-15T19:09:03.095Z,3,129029,160,255,43,ab,a9,3f,62,d0,17,29,00,46,9b,fd,06,4b,49,08,00,ea,bf,92,7a,81,6e,03,a0,3c,37,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:03.097Z,3,129033,160,255,8,a9,3f,62,d0,17,29,b4,00\n2014-08-15T19:09:03.114Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:03.128Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:03.131Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:03.135Z,4,129038,43,255,27,01,08,99,b5,0d,68,46,cf,0e,12,ef,a4,23,10,f3,48,4e,01,36,40,01,f3,48,00,00,00,fe\n2014-08-15T19:09:03.174Z,4,129038,43,255,27,01,28,f5,77,10,40,ba,a1,0e,c5,96,74,23,08,68,30,c8,00,45,c0,09,67,30,00,00,00,fe\n2014-08-15T19:09:03.182Z,3,126992,160,255,8,ff,ff,a9,3f,62,d0,17,29\n2014-08-15T19:09:03.276Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:03.279Z,3,128267,115,255,8,00,91,09,00,00,ff,ff,ff\n2014-08-15T19:09:03.282Z,2,128259,160,255,8,ff,ff,ff,67,01,ff,ff,ff\n2014-08-15T19:09:03.310Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:03.385Z,3,129291,160,255,8,ff,fc,e0,4e,2b,00,ff,ff\n2014-08-15T19:09:03.387Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:03.481Z,2,130306,115,255,8,00,db,02,3e,28,f2,ff,ff\n2014-08-15T19:09:03.501Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:03.506Z,4,129039,43,255,26,12,44,11,b6,0d,37,27,bd,0e,7b,e1,96,23,0f,2c,80,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:03.544Z,4,129038,43,255,27,01,b8,83,92,0e,11,bc,e0,0e,05,c9,75,23,11,8e,c1,05,00,81,80,01,59,d3,00,00,00,fe\n2014-08-15T19:09:03.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,37,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:03.584Z,4,129038,43,255,27,01,e0,53,7f,10,90,02,c3,0e,71,b0,a4,23,10,7e,88,c9,05,3a,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:09:03.589Z,3,130577,160,255,14,c0,ab,66,7e,68,01,ff,ff,ff,ff,e0,4e,2b,00\n2014-08-15T19:09:03.593Z,2,129025,160,255,8,21,e1,96,23,1b,27,bd,0e\n2014-08-15T19:09:03.689Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:03.694Z,4,129038,43,255,27,03,12,8f,c4,0d,7d,fc,e3,0e,f0,0b,db,23,05,2c,71,b0,01,c0,10,08,2c,71,00,00,00,fe\n2014-08-15T19:09:03.722Z,2,128259,115,255,8,00,68,01,ff,ff,00,ff,ff\n2014-08-15T19:09:03.760Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:03.762Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:03.764Z,2,128259,115,255,8,00,69,01,ff,ff,00,ff,ff\n2014-08-15T19:09:03.780Z,2,129026,160,255,8,ff,fc,66,7e,68,01,ff,ff\n2014-08-15T19:09:03.780Z,3,127508,129,255,8,01,af,05,f6,00,1e,75,bb\n2014-08-15T19:09:03.790Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:03.815Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,2e,3f,01,00\n2014-08-15T19:09:03.817Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:03.820Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:03.823Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:03.913Z,6,129540,160,255,135,f3,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:03.916Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:09:03.918Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:04.024Z,4,129038,43,255,27,01,40,37,b7,0d,27,bb,89,0e,c9,74,bf,23,11,43,b1,05,00,93,00,09,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:04.069Z,3,127508,129,255,8,01,b1,05,3b,01,1e,75,bb\n2014-08-15T19:09:04.084Z,4,129038,43,255,27,01,08,7b,ba,0d,fd,38,91,0e,15,27,bc,23,0d,37,a0,77,01,bb,80,00,37,a0,00,00,00,fe\n2014-08-15T19:09:04.092Z,3,129029,160,255,43,ac,a9,3f,e0,f7,17,29,00,0a,7e,16,bb,4a,49,08,00,4e,19,00,6e,81,6e,03,40,e1,33,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:04.094Z,3,129033,160,255,8,a9,3f,e0,f7,17,29,b4,00\n2014-08-15T19:09:04.110Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:04.185Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,21,7c,6f,23,10,03,a6,00,00,99,80,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:04.187Z,3,126992,160,255,8,ff,ff,a9,3f,e0,f7,17,29\n2014-08-15T19:09:04.268Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:04.270Z,3,128267,115,255,8,00,f5,09,00,00,ff,ff,ff\n2014-08-15T19:09:04.288Z,2,128259,160,255,8,ff,ff,ff,68,01,ff,ff,ff\n2014-08-15T19:09:04.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:04.386Z,4,129041,43,255,48,15,b9,54,2c,3b,52,78,54,0e,e0,a1,6a,23,94,14,00,14,00,0a,00,0a,00,14,02,e2,00,16,01,42,55,4f,59,2d,33,38,32,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:09:04.390Z,3,129291,160,255,8,ff,fc,1b,41,16,00,ff,ff\n2014-08-15T19:09:04.393Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:04.443Z,2,130306,115,255,8,00,c1,02,1a,22,f2,ff,ff\n2014-08-15T19:09:04.479Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:04.548Z,6,129794,43,255,75,05,6c,70,4a,10,7f,64,87,00,55,41,4e,51,20,20,20,4f,4d,53,4b,49,59,2d,31,33,37,20,20,20,20,20,20,20,20,20,20,46,42,04,96,00,46,00,98,03,12,41,80,74,d2,1a,18,01,53,54,2d,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:09:04.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,34,02,03,00,01,01,04,00,00,00\n2014-08-15T19:09:04.584Z,4,129039,43,255,26,12,44,11,b6,0d,d3,26,bd,0e,2e,e0,96,23,13,4f,80,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:04.592Z,3,130577,160,255,14,c0,ac,38,7f,6a,01,ff,ff,ff,ff,1b,41,16,00\n2014-08-15T19:09:04.594Z,2,129025,160,255,8,e0,df,96,23,ac,26,bd,0e\n2014-08-15T19:09:04.664Z,4,129038,43,255,27,01,b8,f5,67,12,e7,c2,95,0e,00,4b,92,23,14,56,2d,d6,03,63,c0,03,ff,2c,00,00,00,fe\n2014-08-15T19:09:04.693Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:04.698Z,3,127508,129,255,8,01,ac,05,b4,00,1e,75,bb\n2014-08-15T19:09:04.726Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:04.762Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:04.764Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:04.767Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:04.786Z,2,129026,160,255,8,ff,fc,38,7f,6a,01,ff,ff\n2014-08-15T19:09:04.789Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:04.812Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,2e,3f,01,00\n2014-08-15T19:09:04.815Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:04.817Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:04.821Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:04.824Z,4,129038,43,255,27,01,20,f6,7e,10,ff,36,c7,0e,e2,e8,7f,23,11,39,31,00,00,d8,08,08,13,c7,00,00,0f,fe\n2014-08-15T19:09:04.926Z,6,129540,160,255,135,f4,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:04.930Z,2,127250,160,255,8,ff,95,80,ff,7f,86,05,fc\n2014-08-15T19:09:05.034Z,4,129038,43,255,27,01,fc,ff,e9,25,c9,3d,23,0f,47,fc,be,23,11,2b,bc,bb,02,24,66,08,7c,bb,32,00,00,fe\n2014-08-15T19:09:05.101Z,3,129029,160,255,43,ad,a9,3f,fa,1e,18,29,00,c0,66,59,70,4a,49,08,00,b8,fb,27,54,81,6e,03,00,98,3a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:05.104Z,3,129033,160,255,8,a9,3f,fa,1e,18,29,b4,00\n2014-08-15T19:09:05.152Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:05.180Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:05.187Z,3,126992,160,255,8,ff,ff,a9,3f,fa,1e,18,29\n2014-08-15T19:09:05.209Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:05.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:05.266Z,3,128267,115,255,8,00,9d,09,00,00,ff,ff,ff\n2014-08-15T19:09:05.290Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:09:05.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:05.390Z,3,129291,160,255,8,ff,fc,21,6e,1f,00,ff,ff\n2014-08-15T19:09:05.391Z,3,127508,129,255,8,01,af,05,fc,00,1e,75,bb\n2014-08-15T19:09:05.421Z,2,130306,115,255,8,00,e0,02,b2,2d,f2,ff,ff\n2014-08-15T19:09:05.432Z,7,127506,129,255,9,bc,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:05.434Z,4,129038,43,255,27,01,e0,53,7f,10,fb,fe,c2,0e,8f,ab,a4,23,18,a0,88,d3,05,c4,08,00,fd,86,00,00,00,fe\n2014-08-15T19:09:05.440Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:05.533Z,4,129039,43,255,26,12,44,11,b6,0d,7f,26,bd,0e,f1,de,96,23,17,ec,7d,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:05.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,43,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:05.594Z,4,129038,43,255,27,01,c8,d4,7f,10,55,05,df,0e,f7,90,c0,23,11,e1,81,33,04,c1,08,00,94,83,00,00,00,fe\n2014-08-15T19:09:05.596Z,3,130577,160,255,14,c0,ad,ac,7e,6b,01,ff,ff,ff,ff,21,6e,1f,00\n2014-08-15T19:09:05.599Z,2,129025,160,255,8,9c,de,96,23,63,26,bd,0e\n2014-08-15T19:09:05.645Z,3,127508,129,255,8,01,ae,05,cc,00,1e,75,bc\n2014-08-15T19:09:05.692Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:05.722Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:05.754Z,4,129038,43,255,27,01,d2,ff,4a,10,57,8b,b1,0e,74,01,71,23,15,59,e8,00,00,d4,00,09,37,91,00,00,00,fe\n2014-08-15T19:09:05.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:05.759Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:05.762Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:05.790Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:05.793Z,2,129026,160,255,8,ff,fc,ac,7e,6b,01,ff,ff\n2014-08-15T19:09:05.810Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,41,3f,01,00\n2014-08-15T19:09:05.813Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:05.815Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:05.817Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:05.914Z,7,129793,43,255,26,04,91,18,23,00,8c,1b,86,0e,fa,f6,c7,23,00,10,2c,18,29,bc,c0,00,a9,3f,10,00,fc\n2014-08-15T19:09:05.928Z,6,129540,160,255,135,f5,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,98,08,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:05.930Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:09:06.105Z,3,129029,160,255,43,ae,a9,3f,14,46,18,29,00,18,7f,e9,24,4a,49,08,00,1e,d8,28,43,81,6e,03,10,bf,3a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:06.106Z,3,129033,160,255,8,a9,3f,14,46,18,29,b4,00\n2014-08-15T19:09:06.114Z,4,129038,43,255,27,01,58,43,c9,0e,50,70,d1,0e,01,fe,a8,23,18,31,ae,d5,02,e1,08,00,36,af,00,00,00,fe\n2014-08-15T19:09:06.114Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:06.202Z,3,126992,160,255,8,ff,ff,a9,3f,14,46,18,29\n2014-08-15T19:09:06.262Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:06.264Z,3,128267,115,255,8,00,9d,09,00,00,ff,ff,ff\n2014-08-15T19:09:06.284Z,4,129038,43,255,27,01,10,04,1a,0e,1c,9e,fa,0e,ed,89,ae,23,10,2b,b0,9c,02,24,66,08,9f,b2,00,00,00,fe\n2014-08-15T19:09:06.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:06.302Z,2,128259,160,255,8,ff,ff,ff,6b,01,ff,ff,ff\n2014-08-15T19:09:06.333Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:06.368Z,2,130306,115,255,8,00,8e,02,3e,28,f2,ff,ff\n2014-08-15T19:09:06.389Z,3,129291,160,255,8,ff,fc,8c,6c,21,00,ff,ff\n2014-08-15T19:09:06.428Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:06.543Z,4,129039,43,255,26,12,44,11,b6,0d,3d,26,bd,0e,a4,dd,96,23,1b,b2,7f,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:06.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:06.595Z,3,130577,160,255,14,c0,ae,03,7f,6a,01,ff,ff,ff,ff,8c,6c,21,00\n2014-08-15T19:09:06.597Z,2,129025,160,255,8,5a,dd,96,23,25,26,bd,0e\n2014-08-15T19:09:06.691Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:06.707Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:06.724Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:06.763Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:06.765Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:06.767Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:06.793Z,2,129026,160,255,8,ff,fc,03,7f,6a,01,ff,ff\n2014-08-15T19:09:06.807Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,41,3f,01,00\n2014-08-15T19:09:06.809Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:06.813Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:06.815Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:06.894Z,4,129038,43,255,27,01,88,d6,d0,0c,03,d5,df,0e,f7,55,b5,23,19,43,9f,37,03,24,66,08,37,a0,00,00,00,fe\n2014-08-15T19:09:06.931Z,6,129540,160,255,135,f6,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,28,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:06.935Z,2,127250,160,255,8,ff,95,80,ff,7f,86,05,fc\n2014-08-15T19:09:06.939Z,4,129038,43,255,27,01,c8,27,16,0e,e8,d0,6f,0e,38,2d,95,23,15,85,32,50,03,24,66,00,c4,31,c5,ff,00,fe\n2014-08-15T19:09:07.108Z,3,129029,160,255,43,af,a9,3f,2e,6d,18,29,00,04,cd,f0,d9,49,49,08,00,32,5b,b9,34,81,6e,03,b0,d4,39,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:07.111Z,3,129033,160,255,8,a9,3f,2e,6d,18,29,b4,00\n2014-08-15T19:09:07.120Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:07.150Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:07.159Z,6,129794,43,255,75,05,58,bd,7f,10,fd,1a,88,00,45,53,55,4a,20,20,20,53,49,4c,4a,41,20,45,55,52,4f,50,41,20,20,20,20,20,20,20,20,3c,e4,07,40,01,a0,00,dc,00,0e,41,00,10,55,22,a8,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:09:07.194Z,3,126992,160,255,8,ff,ff,a9,3f,2e,6d,18,29\n2014-08-15T19:09:07.261Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:07.264Z,3,128267,115,255,8,00,72,0a,00,00,ff,ff,ff\n2014-08-15T19:09:07.295Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:07.299Z,2,128259,160,255,8,ff,ff,ff,6a,01,ff,ff,ff\n2014-08-15T19:09:07.308Z,3,127508,129,255,8,01,af,05,00,01,1e,75,bc\n2014-08-15T19:09:07.319Z,6,129794,43,255,75,05,58,bd,7f,10,fd,1a,88,00,45,53,55,4a,20,20,20,53,49,4c,4a,41,20,45,55,52,4f,50,41,20,20,20,20,20,20,20,20,3c,e4,07,40,01,a0,00,dc,00,0e,41,00,10,55,22,a8,02,54,41,4c,4c,49,4e,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:09:07.337Z,2,130306,115,255,8,00,c6,02,8f,27,f2,ff,ff\n2014-08-15T19:09:07.356Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:07.384Z,4,129039,43,255,26,12,ec,d7,b5,0d,ec,8f,bb,0e,7c,86,8e,23,1a,ac,81,68,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:07.403Z,3,129291,160,255,8,ff,fc,90,7a,29,00,ff,ff\n2014-08-15T19:09:07.433Z,4,129038,43,255,27,01,b8,53,a6,0c,cd,f0,76,0e,b0,b6,9e,23,20,3d,ad,78,02,1e,43,09,36,af,00,00,00,fe\n2014-08-15T19:09:07.533Z,4,129038,43,255,27,01,e0,53,7f,10,2d,f4,c2,0e,c8,9c,a4,23,20,5b,88,d8,05,17,01,09,ac,87,00,00,00,fe\n2014-08-15T19:09:07.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2d,02,03,00,01,01,04,00,00,00\n2014-08-15T19:09:07.573Z,4,129039,43,255,26,12,44,11,b6,0d,e9,25,bd,0e,56,dc,96,23,1f,5b,7f,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:07.599Z,3,130577,160,255,14,c0,af,5b,7f,69,01,ff,ff,ff,ff,90,7a,29,00\n2014-08-15T19:09:07.601Z,2,129025,160,255,8,1f,dc,96,23,ce,25,bd,0e\n2014-08-15T19:09:07.706Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:07.720Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:07.758Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:07.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:07.762Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:07.789Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:07.797Z,2,129026,160,255,8,ff,fc,5b,7f,69,01,ff,ff\n2014-08-15T19:09:07.804Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,41,3f,01,00\n2014-08-15T19:09:07.807Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:07.810Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:07.812Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:07.853Z,4,129038,43,255,27,01,12,8f,c4,0d,18,ff,e3,0e,14,06,db,23,15,db,71,b0,01,46,c0,00,2c,71,00,00,00,fe\n2014-08-15T19:09:07.882Z,3,127508,129,255,8,01,b0,05,07,01,1e,75,bc\n2014-08-15T19:09:07.926Z,6,129540,160,255,135,f7,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,8c,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:07.929Z,2,127250,160,255,8,ff,e1,7e,ff,7f,86,05,fc\n2014-08-15T19:09:08.100Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:08.110Z,3,129029,160,255,43,b0,a9,3f,20,94,18,29,00,76,56,99,90,49,49,08,00,8c,c0,77,20,81,6e,03,30,0d,3b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:08.112Z,3,129033,160,255,8,a9,3f,20,94,18,29,b4,00\n2014-08-15T19:09:08.124Z,4,129038,43,255,27,03,68,ee,b9,0d,d9,8c,e2,0e,7d,20,dd,23,1d,2b,bf,00,00,1a,4a,01,ff,ff,ff,7f,05,fe\n2014-08-15T19:09:08.200Z,3,126992,160,255,8,ff,ff,a9,3f,20,94,18,29\n2014-08-15T19:09:08.261Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:08.263Z,3,128267,115,255,8,00,60,0a,00,00,ff,ff,ff\n2014-08-15T19:09:08.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:08.305Z,2,128259,160,255,8,ff,ff,ff,69,01,ff,ff,ff\n2014-08-15T19:09:08.320Z,2,130306,115,255,8,00,46,02,26,24,f2,ff,ff\n2014-08-15T19:09:08.340Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:08.404Z,3,129291,160,255,8,ff,fc,de,81,30,00,ff,ff\n2014-08-15T19:09:08.468Z,3,127508,129,255,8,01,af,05,ff,00,1e,75,bc\n2014-08-15T19:09:08.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,43,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:08.573Z,4,129039,43,255,26,12,44,11,b6,0d,fa,25,bd,0e,1a,db,96,23,23,9b,7b,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:08.602Z,3,130577,160,255,14,c0,b0,ec,7d,63,01,ff,ff,ff,ff,de,81,30,00\n2014-08-15T19:09:08.604Z,2,129025,160,255,8,f0,da,96,23,b2,25,bd,0e\n2014-08-15T19:09:08.665Z,3,127508,129,255,8,01,b0,05,03,01,1e,75,bc\n2014-08-15T19:09:08.714Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:08.719Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:08.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:08.759Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:08.762Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:08.789Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:08.802Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,41,3f,01,00\n2014-08-15T19:09:08.804Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:08.807Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:08.810Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:08.812Z,2,129026,160,255,8,ff,fc,ec,7d,63,01,ff,ff\n2014-08-15T19:09:08.941Z,6,129540,160,255,135,f8,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:08.944Z,2,127250,160,255,8,ff,8a,7e,ff,7f,86,05,fc\n2014-08-15T19:09:09.003Z,4,129038,43,255,27,01,68,e2,20,12,fa,47,fa,0e,cc,eb,ac,23,24,a6,b0,02,02,4e,81,08,9f,b2,00,00,00,fe\n2014-08-15T19:09:09.073Z,7,127506,129,255,9,bc,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:09.113Z,3,129029,160,255,43,b1,a9,3f,3a,bb,18,29,00,60,21,0d,4a,49,49,08,00,74,d2,f2,19,81,6e,03,20,c8,3f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:09.116Z,3,129033,160,255,8,a9,3f,3a,bb,18,29,b4,00\n2014-08-15T19:09:09.118Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:09.209Z,3,126992,160,255,8,ff,ff,a9,3f,3a,bb,18,29\n2014-08-15T19:09:09.260Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:09.262Z,3,128267,115,255,8,00,5d,0a,00,00,ff,ff,ff\n2014-08-15T19:09:09.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:09.303Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:09:09.308Z,2,130306,115,255,8,00,6a,02,f8,2a,f2,ff,ff\n2014-08-15T19:09:09.329Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:09.384Z,4,129038,43,255,27,01,6c,70,4a,10,c5,d9,04,0f,c9,1c,a4,23,1f,85,35,bf,01,5c,81,01,21,33,f6,ff,00,fe\n2014-08-15T19:09:09.404Z,3,129291,160,255,8,ff,fc,de,81,30,00,ff,ff\n2014-08-15T19:09:09.424Z,4,129038,43,255,27,01,88,44,7d,10,8d,22,c7,0e,da,ec,7f,23,1c,10,69,00,00,5c,01,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:09.463Z,4,129038,43,255,27,01,92,12,4b,10,17,9b,f6,0e,b2,c8,ad,23,27,4e,b0,c0,02,ad,08,00,42,b1,03,00,00,fe\n2014-08-15T19:09:09.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,28,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:09.585Z,4,129039,43,255,26,12,44,11,b6,0d,fa,25,bd,0e,dd,d9,96,23,27,55,7b,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:09.600Z,3,127508,129,255,8,01,ae,05,be,00,1e,75,bc\n2014-08-15T19:09:09.610Z,3,130577,160,255,14,c0,b1,1b,7d,5e,01,ff,ff,ff,ff,6d,70,2d,00\n2014-08-15T19:09:09.614Z,2,129025,160,255,8,c1,d9,96,23,ba,25,bd,0e\n2014-08-15T19:09:09.624Z,4,129038,43,255,27,01,e0,53,7f,10,e2,ec,c2,0e,f3,92,a4,23,28,8f,88,d3,05,c7,08,00,ac,87,ff,7f,00,fe\n2014-08-15T19:09:09.664Z,4,129039,43,255,26,12,c4,e2,c3,0d,49,9b,c4,0e,dd,b3,94,23,24,b9,56,6d,01,06,00,06,ff,ff,00,5c,ff\n2014-08-15T19:09:09.701Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:09.722Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:09.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:09.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:09.763Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:09.800Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,41,3f,01,00\n2014-08-15T19:09:09.804Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:09.805Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:09.808Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:09.810Z,2,129026,160,255,8,ff,fc,1b,7d,5e,01,ff,ff\n2014-08-15T19:09:09.817Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:09.949Z,6,129540,160,255,135,f9,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,54,0b,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,ac,0d,00,00,00,00,f2\n2014-08-15T19:09:09.951Z,2,127250,160,255,8,ff,e1,7e,ff,7f,86,05,fc\n2014-08-15T19:09:09.959Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:09:09.984Z,4,129038,43,255,27,01,10,dc,6d,0f,71,4c,5a,0e,c0,cb,9b,23,25,a6,ad,88,02,72,81,00,88,ae,14,00,00,fe\n2014-08-15T19:09:10.112Z,3,129029,160,255,43,b2,a9,3f,54,e2,18,29,00,4a,ec,80,03,49,49,08,00,c4,a8,cf,1b,81,6e,03,a0,00,41,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:10.115Z,3,129033,160,255,8,a9,3f,54,e2,18,29,b4,00\n2014-08-15T19:09:10.119Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:10.125Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,50,c8,18,29,78,81,0b,a9,3f,00,00,fc\n2014-08-15T19:09:10.145Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:10.210Z,3,126992,160,255,8,ff,ff,a9,3f,54,e2,18,29\n2014-08-15T19:09:10.236Z,2,130306,115,255,8,00,93,02,8f,27,f2,ff,ff\n2014-08-15T19:09:10.260Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:10.287Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:10.294Z,3,128267,115,255,8,00,23,0a,00,00,ff,ff,ff\n2014-08-15T19:09:10.297Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:10.311Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:09:10.322Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:10.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,50,c8,18,29,81,81,0b,a9,3f,00,00,fc\n2014-08-15T19:09:10.404Z,3,129291,160,255,8,ff,fc,6d,70,2d,00,ff,ff\n2014-08-15T19:09:10.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,47,02,02,00,00,00,04,00,00,00\n2014-08-15T19:09:10.604Z,4,129039,43,255,26,12,44,11,b6,0d,a7,25,bd,0e,90,d8,96,23,2b,3e,7d,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:10.609Z,3,130577,160,255,14,c0,b2,3e,7d,5b,01,ff,ff,ff,ff,5b,62,22,00\n2014-08-15T19:09:10.613Z,2,129025,160,255,8,8b,d8,96,23,a5,25,bd,0e\n2014-08-15T19:09:10.702Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:10.714Z,4,129038,43,255,27,01,b8,f5,67,12,46,e8,95,0e,34,53,92,23,2c,45,2d,d6,03,64,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:09:10.718Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:10.753Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:10.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:10.757Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:10.786Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:10.798Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,53,3f,01,00\n2014-08-15T19:09:10.800Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:10.803Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:10.805Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:10.811Z,2,129026,160,255,8,ff,fc,3e,7d,5b,01,ff,ff\n2014-08-15T19:09:10.844Z,4,129038,43,255,27,03,12,8f,c4,0d,b3,01,e4,0e,de,00,db,23,21,db,71,b0,01,c0,1d,08,2c,71,00,00,00,fe\n2014-08-15T19:09:10.938Z,6,129540,160,255,135,fa,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,c4,09,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,d8,0e,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:10.942Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:10.944Z,2,127250,160,255,8,ff,e7,7f,ff,7f,86,05,fc\n2014-08-15T19:09:10.951Z,3,127508,129,255,8,01,ae,05,c8,00,1e,75,bc\n2014-08-15T19:09:11.114Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:11.120Z,3,129029,160,255,43,b3,a9,3f,96,09,19,29,00,ae,7b,53,bb,48,49,08,00,32,f6,eb,16,81,6e,03,90,d9,40,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:11.124Z,3,129033,160,255,8,a9,3f,96,09,19,29,b4,00\n2014-08-15T19:09:11.164Z,4,129038,43,255,27,01,c8,d4,7f,10,85,fd,de,0e,f6,7a,c0,23,29,32,81,2d,04,45,c0,09,e6,82,00,00,00,fe\n2014-08-15T19:09:11.206Z,2,130306,115,255,8,00,ad,02,83,25,f2,ff,ff\n2014-08-15T19:09:11.209Z,3,126992,160,255,8,ff,ff,a9,3f,96,09,19,29\n2014-08-15T19:09:11.239Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:11.285Z,3,128267,115,255,8,00,63,0a,00,00,ff,ff,ff\n2014-08-15T19:09:11.287Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:11.294Z,4,129038,43,255,27,01,02,8b,c4,0d,85,66,e0,0e,8c,64,c8,23,30,a0,85,68,01,91,c0,08,09,89,00,00,00,fe\n2014-08-15T19:09:11.310Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:09:11.312Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:11.355Z,3,127508,129,255,8,01,ae,05,c7,00,1e,75,bc\n2014-08-15T19:09:11.413Z,3,129291,160,255,8,ff,fc,5b,62,22,00,ff,ff\n2014-08-15T19:09:11.564Z,4,129038,43,255,27,01,e0,53,7f,10,55,e5,c2,0e,2f,89,a4,23,30,09,89,de,05,3a,c0,08,5a,88,ff,7f,00,fe\n2014-08-15T19:09:11.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,45,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:11.606Z,4,129038,43,255,27,01,b0,79,7a,10,87,2d,d0,0e,de,1c,83,23,28,88,d8,ed,01,af,81,08,2a,da,1a,00,00,fe\n2014-08-15T19:09:11.611Z,3,130577,160,255,14,c0,b3,95,7d,5c,01,ff,ff,ff,ff,5b,62,22,00\n2014-08-15T19:09:11.613Z,2,129025,160,255,8,53,d7,96,23,71,25,bd,0e\n2014-08-15T19:09:11.644Z,4,129039,43,255,26,12,44,11,b6,0d,75,25,bd,0e,53,d7,96,23,2f,c9,7d,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:11.667Z,3,127508,129,255,8,01,ae,05,cb,00,1e,75,bc\n2014-08-15T19:09:11.707Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:11.718Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:11.724Z,4,129038,43,255,27,01,98,69,b3,0e,15,fd,8b,0e,8f,46,a0,23,25,ce,ae,f8,01,23,40,01,42,b1,00,00,00,fe\n2014-08-15T19:09:11.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:11.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:11.757Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:11.785Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:11.795Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,53,3f,01,00\n2014-08-15T19:09:11.798Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:11.800Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:11.803Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:11.830Z,2,129026,160,255,8,ff,fc,95,7d,5c,01,ff,ff\n2014-08-15T19:09:11.952Z,6,129540,160,255,135,fb,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,80,0c,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:11.954Z,2,127250,160,255,8,ff,8a,7e,ff,7f,86,05,fc\n2014-08-15T19:09:12.090Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:12.104Z,4,129039,43,255,26,12,66,58,b6,0d,e7,9b,bb,0e,01,8e,91,23,2f,db,7d,72,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:12.125Z,3,129029,160,255,43,b4,a9,3f,7e,30,19,29,00,7e,d5,ae,72,48,49,08,00,2a,85,d0,0a,81,6e,03,70,fc,42,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:12.128Z,3,129033,160,255,8,a9,3f,7e,30,19,29,b4,00\n2014-08-15T19:09:12.174Z,3,127508,129,255,8,01,af,05,fc,00,1e,75,bc\n2014-08-15T19:09:12.176Z,2,130306,115,255,8,00,5f,02,83,25,f2,ff,ff\n2014-08-15T19:09:12.196Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:12.221Z,3,126992,160,255,8,ff,ff,a9,3f,7e,30,19,29\n2014-08-15T19:09:12.257Z,3,128267,115,255,8,00,63,0a,00,00,ff,ff,ff\n2014-08-15T19:09:12.259Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:12.303Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:12.322Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:09:12.414Z,4,129038,43,255,27,01,58,43,c9,0e,f3,52,d1,0e,4b,fa,a8,23,34,77,ae,d0,02,6e,c0,08,36,af,00,00,00,fe\n2014-08-15T19:09:12.420Z,3,129291,160,255,8,ff,fc,ec,69,10,00,ff,ff\n2014-08-15T19:09:12.454Z,4,129038,43,255,27,01,58,eb,ad,0e,36,82,61,0e,46,43,90,23,37,73,2f,d4,01,d3,08,00,5c,2e,00,00,00,fe\n2014-08-15T19:09:12.494Z,4,129038,43,255,27,01,b8,83,92,0e,a7,bc,e0,0e,26,c9,75,23,31,8e,c1,05,00,24,66,08,59,d3,00,00,00,fe\n2014-08-15T19:09:12.554Z,4,129038,43,255,27,01,08,99,b5,0d,f0,59,cf,0e,12,ef,a4,23,34,ad,4b,49,01,38,c0,08,f3,48,00,00,00,fe\n2014-08-15T19:09:12.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,2e,02,03,00,01,01,03,00,00,00\n2014-08-15T19:09:12.596Z,7,129793,43,255,26,04,90,18,23,00,50,d2,e2,0e,fa,31,d3,23,00,70,16,19,29,d4,01,01,a9,3f,10,00,fc\n2014-08-15T19:09:12.628Z,3,130577,160,255,14,c0,b4,6c,7c,5c,01,ff,ff,ff,ff,ec,69,10,00\n2014-08-15T19:09:12.632Z,2,129025,160,255,8,1b,d6,96,23,64,25,bd,0e\n2014-08-15T19:09:12.666Z,4,129041,43,255,48,15,b6,54,2c,3b,d1,e8,80,0e,10,f6,76,23,b8,14,00,14,00,0a,00,0a,00,1d,02,e2,00,16,01,42,55,4f,59,2d,33,36,38,40,40,40,40,40,40,40,40,40,40,40,40\n2014-08-15T19:09:12.671Z,7,127506,129,255,9,be,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:12.704Z,4,129039,43,255,26,12,44,11,b6,0d,85,25,bd,0e,06,d6,96,23,33,db,7a,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:12.720Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:12.723Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:12.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:12.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:12.762Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:12.793Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,53,3f,01,00\n2014-08-15T19:09:12.796Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:12.799Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:12.801Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:12.825Z,2,129026,160,255,8,ff,fc,6c,7c,5c,01,ff,ff\n2014-08-15T19:09:12.918Z,6,129794,43,255,75,05,c8,d4,7f,10,a6,0f,8f,00,45,53,4b,43,40,40,40,56,49,4b,49,4e,47,20,58,50,52,53,40,40,40,40,40,40,40,40,40,45,3a,07,04,01,82,00,fa,00,a9,3f,00,a5,0f,2d,80,02,48,45,4c,53,49,4e,4b,49,3c,2d,3e,54,41,4c,4c,49,4e,4e,40,40,04,e0\n2014-08-15T19:09:12.956Z,6,129540,160,255,135,00,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,80,0c,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:12.958Z,2,127250,160,255,8,ff,8f,7f,ff,7f,86,05,fc\n2014-08-15T19:09:12.984Z,4,129039,43,255,26,12,9e,d6,c3,0d,d4,c2,c8,0e,ac,39,93,23,32,a7,59,8c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:13.034Z,7,129793,43,255,26,04,8f,18,23,00,3c,1e,46,0f,1e,68,e2,23,00,80,3d,19,29,81,c0,08,a9,3f,10,00,fc\n2014-08-15T19:09:13.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:13.130Z,3,129029,160,255,43,b5,a9,3f,ca,57,19,29,00,4e,2f,0a,2a,48,49,08,00,e8,a8,c9,07,81,6e,03,20,aa,44,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:13.132Z,3,129033,160,255,8,a9,3f,ca,57,19,29,b4,00\n2014-08-15T19:09:13.136Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:13.164Z,2,130306,115,255,8,00,93,02,10,2f,f2,ff,ff\n2014-08-15T19:09:13.191Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:13.226Z,3,126992,160,255,8,ff,ff,a9,3f,ca,57,19,29\n2014-08-15T19:09:13.262Z,3,127508,129,255,8,01,b0,05,14,01,1e,75,be\n2014-08-15T19:09:13.266Z,3,128267,115,255,8,00,5a,0a,00,00,ff,ff,ff\n2014-08-15T19:09:13.269Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:13.290Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:13.294Z,4,129038,43,255,27,01,e0,53,7f,10,6d,e1,c2,0e,3c,84,a4,23,30,95,89,de,05,3a,c0,00,5a,88,00,00,00,fe\n2014-08-15T19:09:13.329Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:09:13.354Z,4,129038,43,255,27,03,c8,99,74,10,66,a0,c7,0e,c8,04,83,23,35,07,e3,05,00,00,00,08,88,ae,00,00,11,fe\n2014-08-15T19:09:13.394Z,4,129038,43,255,27,01,28,f5,77,10,45,c7,a1,0e,c5,96,74,23,30,16,31,c8,00,e9,08,00,b9,2f,00,00,00,fe\n2014-08-15T19:09:13.424Z,3,129291,160,255,8,ff,fc,cf,64,22,00,ff,ff\n2014-08-15T19:09:13.426Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:13.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,3e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:13.573Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:13.630Z,3,130577,160,255,14,c0,b5,5b,7c,5f,01,ff,ff,ff,ff,cf,64,22,00\n2014-08-15T19:09:13.633Z,2,129025,160,255,8,dc,d4,96,23,5f,25,bd,0e\n2014-08-15T19:09:13.644Z,4,129039,43,255,26,12,44,11,b6,0d,64,25,bd,0e,c9,d4,96,23,37,04,7c,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:13.717Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:13.724Z,4,129038,43,255,27,01,88,d6,d0,0c,55,b4,df,0e,0d,4a,b5,23,35,66,9f,37,03,ff,81,00,37,a0,00,00,00,fe\n2014-08-15T19:09:13.726Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:13.753Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:13.757Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:13.757Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:13.764Z,4,129038,43,255,27,01,c8,27,16,0e,ec,f9,6f,0e,6d,32,95,23,31,33,33,55,03,24,66,08,16,31,a3,ff,00,fe\n2014-08-15T19:09:13.784Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:13.791Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,53,3f,01,00\n2014-08-15T19:09:13.793Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:13.796Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:13.798Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:13.828Z,2,129026,160,255,8,ff,fc,5b,7c,5f,01,ff,ff\n2014-08-15T19:09:13.884Z,4,129038,43,255,27,01,20,f6,7e,10,69,36,c7,0e,f2,e8,7f,23,35,39,31,00,00,3f,40,01,13,c7,00,00,0f,fe\n2014-08-15T19:09:13.960Z,6,129540,160,255,135,01,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,f0,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,80,0c,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:13.962Z,2,127250,160,255,8,ff,38,7f,ff,7f,86,05,fc\n2014-08-15T19:09:13.965Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:14.004Z,4,129038,43,255,27,01,08,7b,ba,0d,75,25,91,0e,92,20,bc,23,35,37,a0,77,01,24,66,08,37,a0,00,00,00,fe\n2014-08-15T19:09:14.085Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:14.108Z,2,130306,115,255,8,00,8e,02,1a,22,f2,ff,ff\n2014-08-15T19:09:14.129Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:14.134Z,3,129029,160,255,43,b6,a9,3f,9e,7e,19,29,00,98,4d,c4,df,47,49,08,00,f6,a2,9f,06,81,6e,03,d0,75,41,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:14.137Z,3,129033,160,255,8,a9,3f,9e,7e,19,29,b4,00\n2014-08-15T19:09:14.139Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:14.230Z,3,126992,160,255,8,ff,ff,a9,3f,9e,7e,19,29\n2014-08-15T19:09:14.256Z,3,128267,115,255,8,00,5a,0a,00,00,ff,ff,ff\n2014-08-15T19:09:14.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:14.284Z,4,129038,43,255,27,01,d2,ff,4a,10,57,8b,b1,0e,84,01,71,23,39,59,e8,00,00,14,82,01,37,91,01,00,00,fe\n2014-08-15T19:09:14.292Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:14.321Z,2,128259,160,255,8,ff,ff,ff,5f,01,ff,ff,ff\n2014-08-15T19:09:14.334Z,4,129038,43,255,27,03,12,8f,c4,0d,a7,03,e4,0e,50,fc,da,23,31,db,71,b0,01,e0,0d,00,db,71,ff,7f,00,fe\n2014-08-15T19:09:14.423Z,3,129291,160,255,8,ff,fc,8c,47,19,00,ff,ff\n2014-08-15T19:09:14.425Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:14.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,2f,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:14.633Z,3,130577,160,255,14,c0,b6,09,7d,62,01,ff,ff,ff,ff,8c,47,19,00\n2014-08-15T19:09:14.635Z,2,129025,160,255,8,95,d3,96,23,25,25,bd,0e\n2014-08-15T19:09:14.653Z,4,129039,43,255,26,12,44,11,b6,0d,32,25,bd,0e,8c,d3,96,23,3b,72,7d,77,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:14.720Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:14.730Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:14.758Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:14.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:14.763Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:14.767Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,92,bf,76,23,39,22,1b,00,00,26,82,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:14.778Z,3,127508,129,255,8,01,ae,05,c4,00,1e,75,be\n2014-08-15T19:09:14.788Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,53,3f,01,00\n2014-08-15T19:09:14.791Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:14.793Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:14.796Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:14.819Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:14.822Z,2,129026,160,255,8,ff,fc,09,7d,62,01,ff,ff\n2014-08-15T19:09:14.825Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:14.969Z,6,129540,160,255,135,02,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,f0,0a,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:14.971Z,2,127250,160,255,8,ff,38,7f,ff,7f,86,05,fc\n2014-08-15T19:09:15.126Z,2,130306,115,255,8,00,a2,02,e0,26,f2,ff,ff\n2014-08-15T19:09:15.142Z,3,129029,160,255,43,b7,a9,3f,ea,a5,19,29,00,92,95,a1,93,47,49,08,00,32,91,1e,f9,80,6e,03,80,b2,40,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:15.145Z,3,129033,160,255,8,a9,3f,ea,a5,19,29,b4,00\n2014-08-15T19:09:15.146Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:15.183Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:15.210Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:15.238Z,3,126992,160,255,8,ff,ff,a9,3f,ea,a5,19,29\n2014-08-15T19:09:15.253Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:15.255Z,3,128267,115,255,8,00,5a,0a,00,00,ff,ff,ff\n2014-08-15T19:09:15.279Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:15.329Z,2,128259,160,255,8,ff,ff,ff,62,01,ff,ff,ff\n2014-08-15T19:09:15.404Z,3,127508,129,255,8,01,af,05,f4,00,1e,75,be\n2014-08-15T19:09:15.431Z,3,129291,160,255,8,ff,fc,8e,69,26,00,ff,ff\n2014-08-15T19:09:15.508Z,6,129794,43,255,75,05,c8,d4,7f,10,a6,0f,8f,00,45,53,4b,43,40,40,40,56,49,4b,49,4e,47,20,58,50,52,53,40,40,40,40,40,40,40,40,40,45,3a,07,04,01,82,00,fa,00,a9,3f,00,a5,0f,2d,80,02,48,45,4c,53,49,4e,4b,49,3c,2d,3e,54,41,4c,4c,49,4e,4e,40,40,04,e1\n2014-08-15T19:09:15.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:15.614Z,4,129038,43,255,27,01,10,04,1a,0e,89,70,fa,0e,6a,83,ae,23,38,e6,af,9c,02,46,02,01,9f,b2,00,00,00,fe\n2014-08-15T19:09:15.631Z,3,130577,160,255,14,c0,b7,d5,7c,61,01,ff,ff,ff,ff,8e,69,26,00\n2014-08-15T19:09:15.633Z,2,129025,160,255,8,58,d2,96,23,f5,24,bd,0e\n2014-08-15T19:09:15.654Z,4,129038,43,255,27,01,e0,53,7f,10,72,d5,c2,0e,a7,75,a4,23,40,fd,89,de,05,3a,c0,08,5a,88,00,00,00,fe\n2014-08-15T19:09:15.693Z,4,129039,43,255,26,12,44,11,b6,0d,11,25,bd,0e,50,d2,96,23,3f,e6,7c,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:15.715Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:15.739Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:15.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:15.754Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:15.756Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:15.786Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,66,3f,01,00\n2014-08-15T19:09:15.788Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:15.790Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:15.794Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:15.798Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:15.833Z,2,129026,160,255,8,ff,fc,d5,7c,61,01,ff,ff\n2014-08-15T19:09:15.905Z,3,127508,129,255,8,01,ae,05,c4,00,1e,75,be\n2014-08-15T19:09:15.922Z,7,129793,43,255,26,04,91,18,23,00,be,1b,86,0e,fa,f6,c7,23,00,b0,b2,19,29,51,02,09,a9,3f,10,00,fc\n2014-08-15T19:09:15.968Z,6,129540,160,255,135,03,ff,0b,20,c5,31,fd,95,e4,0c,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:15.970Z,2,127250,160,255,8,ff,e1,7e,ff,7f,86,05,fc\n2014-08-15T19:09:15.974Z,4,129039,43,255,26,12,0a,ec,b5,0d,f2,6d,cd,0e,91,76,91,23,3c,f9,55,ba,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:16.068Z,2,130306,115,255,8,00,65,02,83,25,f2,ff,ff\n2014-08-15T19:09:16.077Z,3,127508,129,255,8,01,b0,05,05,01,1e,75,be\n2014-08-15T19:09:16.103Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:16.129Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:16.145Z,3,129029,160,255,43,b8,a9,3f,2c,cd,19,29,00,70,e9,d2,49,47,49,08,00,52,8b,f1,ed,80,6e,03,f0,52,3f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:16.154Z,3,129033,160,255,8,a9,3f,2c,cd,19,29,b4,00\n2014-08-15T19:09:16.182Z,7,127506,129,255,9,bf,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:16.210Z,4,129038,43,255,27,01,fc,ff,e9,25,35,05,23,0f,40,00,bf,23,3d,2b,bc,bb,02,5c,82,00,7c,bb,e6,ff,00,fe\n2014-08-15T19:09:16.234Z,3,126992,160,255,8,ff,ff,a9,3f,2c,cd,19,29\n2014-08-15T19:09:16.244Z,4,129038,43,255,27,01,80,e0,73,12,e5,f3,2e,0f,62,83,98,23,40,71,b9,ce,01,31,c0,08,70,b9,00,00,00,fe\n2014-08-15T19:09:16.257Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:16.259Z,3,128267,115,255,8,00,60,0b,00,00,ff,ff,ff\n2014-08-15T19:09:16.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:16.334Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:09:16.408Z,6,129794,43,255,75,05,12,8f,c4,0d,50,24,8e,00,4f,4a,4c,45,40,40,40,53,55,4f,4d,45,4e,4c,49,4e,4e,41,20,49,49,40,40,40,40,40,40,3c,54,01,50,00,28,00,aa,00,14,40,00,e9,a4,35,86,01,48,45,4c,53,49,4e,4b,49,40,40,40,40,40,40,40,40,40,40,40,40,04,e0\n2014-08-15T19:09:16.435Z,3,129291,160,255,8,ff,fc,a5,6c,23,00,ff,ff\n2014-08-15T19:09:16.503Z,4,129038,43,255,27,01,b8,f5,67,12,b5,0d,96,0e,58,5b,92,23,44,56,2d,d6,03,f0,70,02,ff,2c,00,00,00,fe\n2014-08-15T19:09:16.543Z,3,127508,129,255,8,01,af,05,c8,00,1e,75,bf\n2014-08-15T19:09:16.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,40,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:16.642Z,3,130577,160,255,14,c0,b8,d5,7c,5e,01,ff,ff,ff,ff,a5,6c,23,00\n2014-08-15T19:09:16.644Z,2,129025,160,255,8,25,d1,96,23,e1,24,bd,0e\n2014-08-15T19:09:16.683Z,4,129039,43,255,26,12,44,11,b6,0d,df,24,bd,0e,02,d1,96,23,43,a1,7c,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:16.714Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:16.741Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:16.753Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:16.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:16.757Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:16.783Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,66,3f,01,00\n2014-08-15T19:09:16.786Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:16.788Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:16.791Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:16.793Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:16.833Z,2,129026,160,255,8,ff,fc,d5,7c,5e,01,ff,ff\n2014-08-15T19:09:16.953Z,4,129038,43,255,27,01,c8,d4,7f,10,4b,f6,de,0e,90,64,c0,23,41,fe,80,33,04,78,82,01,e6,82,00,00,00,fe\n2014-08-15T19:09:16.964Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:16.971Z,6,129540,160,255,135,04,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,8c,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:16.974Z,2,127250,160,255,8,ff,e1,7e,ff,7f,86,05,fc\n2014-08-15T19:09:17.086Z,2,130306,115,255,8,00,98,02,f8,2a,f2,ff,ff\n2014-08-15T19:09:17.112Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:17.146Z,3,129029,160,255,43,b9,a9,3f,1e,f4,19,29,00,32,49,58,02,47,49,08,00,8a,73,49,e9,80,6e,03,d0,04,3f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:17.149Z,3,129033,160,255,8,a9,3f,1e,f4,19,29,b4,00\n2014-08-15T19:09:17.151Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:17.232Z,3,126992,160,255,8,ff,ff,a9,3f,1e,f4,19,29\n2014-08-15T19:09:17.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:17.254Z,3,128267,115,255,8,00,11,0b,00,00,ff,ff,ff\n2014-08-15T19:09:17.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:17.342Z,2,128259,160,255,8,ff,ff,ff,5e,01,ff,ff,ff\n2014-08-15T19:09:17.381Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:17.438Z,3,129291,160,255,8,ff,fc,c5,63,25,00,ff,ff\n2014-08-15T19:09:17.483Z,4,129038,43,255,27,01,68,e2,20,12,b9,2b,fa,0e,21,e9,ac,23,48,eb,b0,02,02,8c,82,00,9f,b2,00,00,00,fe\n2014-08-15T19:09:17.486Z,3,127508,129,255,8,01,ac,05,b1,00,1e,75,bf\n2014-08-15T19:09:17.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:17.644Z,4,129038,43,255,27,01,e0,53,7f,10,91,cd,c2,0e,e3,6b,a4,23,48,a6,89,de,05,3a,c0,00,5a,88,ff,7f,00,fe\n2014-08-15T19:09:17.647Z,3,130577,160,255,14,c0,b9,8f,7c,5d,01,ff,ff,ff,ff,c5,63,25,00\n2014-08-15T19:09:17.649Z,2,129025,160,255,8,f5,cf,96,23,d8,24,bd,0e\n2014-08-15T19:09:17.694Z,4,129039,43,255,26,12,44,11,b6,0d,ce,24,bd,0e,d6,cf,96,23,47,15,7c,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:17.716Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:17.733Z,3,127508,129,255,8,01,af,05,ec,00,1e,75,bf\n2014-08-15T19:09:17.736Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:17.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:17.754Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:17.759Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:17.781Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,66,3f,01,00\n2014-08-15T19:09:17.783Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:17.786Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:17.788Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:17.791Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:17.838Z,2,129026,160,255,8,ff,fc,8f,7c,5d,01,ff,ff\n2014-08-15T19:09:17.981Z,6,129540,160,255,135,05,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,54,0b,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:17.984Z,2,127250,160,255,8,ff,e1,7e,ff,7f,86,05,fc\n2014-08-15T19:09:18.074Z,2,130306,115,255,8,00,6a,02,e0,26,f2,ff,ff\n2014-08-15T19:09:18.100Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:18.134Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:18.156Z,3,129029,160,255,43,ba,a9,3f,a6,1b,1a,29,00,52,79,90,bb,46,49,08,00,70,02,31,e7,80,6e,03,80,d0,3b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:18.158Z,3,129033,160,255,8,a9,3f,a6,1b,1a,29,b4,00\n2014-08-15T19:09:18.223Z,4,129038,43,255,27,01,58,43,c9,0e,97,35,d1,0e,a6,f6,a8,23,48,88,ae,d0,02,6e,c0,00,36,af,00,00,00,fe\n2014-08-15T19:09:18.244Z,3,126992,160,255,8,ff,ff,a9,3f,a6,1b,1a,29\n2014-08-15T19:09:18.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:18.254Z,3,128267,115,255,8,00,11,0b,00,00,ff,ff,ff\n2014-08-15T19:09:18.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:18.333Z,4,129038,43,255,27,01,12,8f,c4,0d,41,06,e4,0e,74,f6,da,23,41,db,71,b5,01,c1,08,08,89,72,ff,7f,00,fe\n2014-08-15T19:09:18.346Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:09:18.373Z,3,127508,129,255,8,01,af,05,f3,00,1e,75,bf\n2014-08-15T19:09:18.393Z,4,129038,43,255,27,01,92,12,4b,10,9a,6f,f6,0e,66,c4,ad,23,4b,71,b0,c0,02,ae,82,09,42,b1,ec,ff,00,fe\n2014-08-15T19:09:18.444Z,3,129291,160,255,8,ff,fc,4a,6f,2d,00,ff,ff\n2014-08-15T19:09:18.524Z,4,129038,43,255,27,01,b8,53,a6,0c,72,c2,76,0e,ca,af,9e,23,4c,3d,ad,78,02,1f,43,01,36,af,00,00,00,fe\n2014-08-15T19:09:18.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2e,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:18.604Z,4,129039,43,255,26,12,fe,ea,8e,0f,57,59,98,0e,bc,f8,ae,23,44,fc,d7,9a,00,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:18.648Z,3,130577,160,255,14,c0,ba,a1,7c,5a,01,ff,ff,ff,ff,4a,6f,2d,00\n2014-08-15T19:09:18.651Z,2,129025,160,255,8,c3,ce,96,23,ca,24,bd,0e\n2014-08-15T19:09:18.719Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:18.739Z,3,127508,129,255,8,01,b1,05,19,01,1e,75,bf\n2014-08-15T19:09:18.748Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:09:18.754Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:18.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:18.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:18.762Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:18.778Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,66,3f,01,00\n2014-08-15T19:09:18.781Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:18.784Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:18.787Z,4,129039,43,255,26,12,44,11,b6,0d,bd,24,bd,0e,aa,ce,96,23,4b,04,7c,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:18.790Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:18.798Z,7,127506,129,255,9,c0,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:18.846Z,2,129026,160,255,8,ff,fc,a1,7c,5a,01,ff,ff\n2014-08-15T19:09:18.940Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:09:18.974Z,4,129038,43,255,27,01,88,d6,d0,0c,f5,9c,df,0e,86,41,b5,23,49,77,9f,37,03,c1,82,08,37,a0,00,00,00,fe\n2014-08-15T19:09:18.990Z,6,129540,160,255,135,06,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:18.994Z,2,127250,160,255,8,ff,32,7e,ff,7f,86,05,fc\n2014-08-15T19:09:19.038Z,2,130306,115,255,8,00,74,02,55,2c,f2,ff,ff\n2014-08-15T19:09:19.058Z,3,127508,129,255,8,01,af,05,c7,00,1e,75,c0\n2014-08-15T19:09:19.102Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:19.135Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:19.158Z,3,129029,160,255,43,bb,a9,3f,98,42,1a,29,00,de,73,51,74,46,49,08,00,64,8b,ee,e3,80,6e,03,f0,70,3a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:19.160Z,3,129033,160,255,8,a9,3f,98,42,1a,29,b4,00\n2014-08-15T19:09:19.165Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:19.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:19.254Z,3,128267,115,255,8,00,11,0b,00,00,ff,ff,ff\n2014-08-15T19:09:19.257Z,3,126992,160,255,8,ff,ff,a9,3f,98,42,1a,29\n2014-08-15T19:09:19.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:19.282Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:19.318Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:19.354Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:09:19.433Z,4,129038,43,255,27,01,e0,53,7f,10,ba,c9,c2,0e,01,67,a4,23,50,83,89,de,05,d5,82,08,5a,88,00,00,00,fe\n2014-08-15T19:09:19.448Z,3,129291,160,255,8,ff,fc,03,68,19,00,ff,ff\n2014-08-15T19:09:19.513Z,4,129038,43,255,27,01,88,44,7d,10,af,22,c7,0e,87,ec,7f,23,48,c1,f1,00,00,d8,82,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:19.553Z,4,129038,43,255,27,01,10,dc,6d,0f,e3,20,5a,0e,5e,c5,9b,23,4d,94,ad,88,02,d9,82,08,88,ae,ec,ff,00,fe\n2014-08-15T19:09:19.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,26,02,03,00,01,01,04,00,00,00\n2014-08-15T19:09:19.594Z,4,129038,43,255,27,01,c8,27,16,0e,61,1e,70,0e,a2,37,95,23,49,22,33,50,03,00,83,00,67,30,ba,ff,00,fe\n2014-08-15T19:09:19.647Z,3,127508,129,255,8,01,af,05,ea,00,1e,75,c0\n2014-08-15T19:09:19.654Z,3,130577,160,255,14,c0,bb,d5,7c,57,01,ff,ff,ff,ff,03,68,19,00\n2014-08-15T19:09:19.657Z,2,129025,160,255,8,99,cd,96,23,a9,24,bd,0e\n2014-08-15T19:09:19.722Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:19.727Z,4,129039,43,255,26,12,44,11,b6,0d,ad,24,bd,0e,8f,cd,96,23,4f,f8,7c,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:19.754Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:19.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:19.760Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:19.762Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:19.776Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,66,3f,01,00\n2014-08-15T19:09:19.778Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:19.783Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:19.784Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:19.857Z,2,129026,160,255,8,ff,fc,d5,7c,57,01,ff,ff\n2014-08-15T19:09:19.990Z,6,129540,160,255,135,07,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,b8,0b,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,60,09,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:19.992Z,2,127250,160,255,8,ff,db,7d,ff,7f,86,05,fc\n2014-08-15T19:09:20.116Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:20.125Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,f0,4e,1a,29,ef,82,03,a9,3f,00,00,fc\n2014-08-15T19:09:20.164Z,3,129029,160,255,43,bc,a9,3f,b2,69,1a,29,00,ba,44,ef,2e,46,49,08,00,5a,97,3f,dc,80,6e,03,00,27,38,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:20.167Z,2,130306,115,255,8,00,41,02,32,26,f2,ff,ff\n2014-08-15T19:09:20.169Z,3,129033,160,255,8,a9,3f,b2,69,1a,29,b4,00\n2014-08-15T19:09:20.189Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:20.221Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:20.250Z,3,126992,160,255,8,ff,ff,a9,3f,b2,69,1a,29\n2014-08-15T19:09:20.252Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:20.276Z,3,127508,129,255,8,01,b0,05,0c,01,1e,75,c0\n2014-08-15T19:09:20.289Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:20.292Z,3,128267,115,255,8,00,48,0b,00,00,ff,ff,ff\n2014-08-15T19:09:20.315Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:20.351Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:09:20.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,f0,4e,1a,29,ca,08,02,a9,3f,00,00,fc\n2014-08-15T19:09:20.403Z,4,129038,43,255,27,01,38,5e,49,16,27,7a,ca,0e,92,bf,76,23,4d,a6,95,00,00,1e,03,0b,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:20.445Z,3,127508,129,255,8,01,ae,05,c3,00,1e,75,c0\n2014-08-15T19:09:20.452Z,3,129291,160,255,8,ff,fc,03,68,19,00,ff,ff\n2014-08-15T19:09:20.554Z,4,129038,43,255,27,01,b0,79,7a,10,b1,18,d0,0e,f0,27,83,23,4c,bc,d8,ed,01,ff,82,00,2a,da,1a,00,00,fe\n2014-08-15T19:09:20.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,28,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:20.594Z,4,129038,43,255,27,01,6c,70,4a,10,2b,fb,04,0f,5e,20,a4,23,4b,3f,35,bf,01,1c,c0,09,21,33,b0,19,00,fe\n2014-08-15T19:09:20.659Z,3,130577,160,255,14,c0,bc,e1,7b,59,01,ff,ff,ff,ff,8f,61,1f,00\n2014-08-15T19:09:20.662Z,2,129025,160,255,8,62,cc,96,23,ab,24,bd,0e\n2014-08-15T19:09:20.717Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:20.734Z,4,129039,43,255,26,12,44,11,b6,0d,ad,24,bd,0e,52,cc,96,23,53,3e,7a,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:20.753Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:20.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:20.758Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:20.760Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:20.774Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,78,3f,01,00\n2014-08-15T19:09:20.777Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:20.779Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:20.782Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:20.785Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:20.824Z,3,127508,129,255,8,01,af,05,ec,00,1e,75,c0\n2014-08-15T19:09:20.860Z,2,129026,160,255,8,ff,fc,e1,7b,59,01,ff,ff\n2014-08-15T19:09:20.906Z,4,129038,43,255,27,01,02,8b,c4,0d,a9,60,e0,0e,c8,5a,c8,23,54,4f,86,6d,01,24,66,00,b7,89,00,00,00,fe\n2014-08-15T19:09:20.989Z,6,129540,160,255,135,08,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,54,0b,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:20.991Z,2,127250,160,255,8,ff,32,7e,ff,7f,86,05,fc\n2014-08-15T19:09:21.087Z,2,130306,115,255,8,00,65,02,49,2a,f2,ff,ff\n2014-08-15T19:09:21.122Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:21.145Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:21.170Z,3,129029,160,255,43,bd,a9,3f,cc,90,1a,29,00,54,39,86,e6,45,49,08,00,ee,cc,b6,dc,80,6e,03,f0,70,3a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:21.174Z,3,129033,160,255,8,a9,3f,cc,90,1a,29,b4,00\n2014-08-15T19:09:21.242Z,7,127506,129,255,9,c1,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:21.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:21.253Z,3,128267,115,255,8,00,5a,0b,00,00,ff,ff,ff\n2014-08-15T19:09:21.257Z,3,126992,160,255,8,ff,ff,a9,3f,cc,90,1a,29\n2014-08-15T19:09:21.279Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:21.295Z,4,129038,43,255,27,01,e0,53,7f,10,d9,c1,c2,0e,4e,5d,a4,23,58,83,89,d8,05,1b,83,00,5a,88,00,00,00,fe\n2014-08-15T19:09:21.357Z,2,128259,160,255,8,ff,ff,ff,59,01,ff,ff,ff\n2014-08-15T19:09:21.458Z,3,129291,160,255,8,ff,fc,8f,61,1f,00,ff,ff\n2014-08-15T19:09:21.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:21.656Z,3,130577,160,255,14,c0,bd,21,7b,5a,01,ff,ff,ff,ff,44,57,2e,00\n2014-08-15T19:09:21.658Z,2,129025,160,255,8,2e,cb,96,23,c4,24,bd,0e\n2014-08-15T19:09:21.716Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:21.744Z,4,129039,43,255,26,12,44,11,b6,0d,bd,24,bd,0e,26,cb,96,23,57,2c,7a,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:21.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:21.754Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:21.758Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:21.760Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:21.772Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,78,3f,01,00\n2014-08-15T19:09:21.774Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:21.777Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:21.779Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:21.786Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:21.856Z,2,129026,160,255,8,ff,fc,21,7b,5a,01,ff,ff\n2014-08-15T19:09:21.927Z,3,127508,129,255,8,01,ac,05,a7,00,1e,75,c1\n2014-08-15T19:09:21.934Z,4,129038,43,255,27,01,98,69,b3,0e,d6,da,8b,0e,a7,42,a0,23,4d,7d,af,f8,01,b3,08,08,f1,b1,00,00,00,fe\n2014-08-15T19:09:21.995Z,6,129540,160,255,135,09,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,10,0e,00,00,00,00,f2,14,23,15,7d,ac,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,fc,08,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:21.998Z,2,127250,160,255,8,ff,8f,7f,ff,7f,86,05,fc\n2014-08-15T19:09:22.064Z,2,130306,115,255,8,00,55,02,32,26,f2,ff,ff\n2014-08-15T19:09:22.088Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:22.120Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:22.174Z,3,129029,160,255,43,be,a9,3f,e6,b7,1a,29,00,4c,fe,cf,9e,45,49,08,00,a8,ea,88,e2,80,6e,03,f0,ff,37,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:22.176Z,3,129033,160,255,8,a9,3f,e6,b7,1a,29,b4,00\n2014-08-15T19:09:22.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:22.254Z,3,128267,115,255,8,00,94,0b,00,00,ff,ff,ff\n2014-08-15T19:09:22.262Z,3,126992,160,255,8,ff,ff,a9,3f,e6,b7,1a,29\n2014-08-15T19:09:22.293Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:22.362Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:09:22.462Z,3,129291,160,255,8,ff,fc,44,57,2e,00,ff,ff\n2014-08-15T19:09:22.462Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:22.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,03,02,00,00,00,00,00,00,00,00,08,3e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:22.573Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:22.584Z,7,129793,43,255,26,04,90,18,23,00,82,d2,e2,0e,c8,31,d3,23,00,10,9d,1a,29,ca,08,08,a9,3f,10,00,fc\n2014-08-15T19:09:22.658Z,3,130577,160,255,14,c0,be,78,7b,5d,01,ff,ff,ff,ff,44,57,2e,00\n2014-08-15T19:09:22.660Z,2,129025,160,255,8,f0,c9,96,23,c2,24,bd,0e\n2014-08-15T19:09:22.663Z,3,127508,129,255,8,01,b0,05,04,01,1e,75,c1\n2014-08-15T19:09:22.715Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:22.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:22.754Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:22.757Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:22.760Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:22.764Z,4,129039,43,255,26,12,44,11,b6,0d,ad,24,bd,0e,ea,c9,96,23,5b,e1,7b,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:22.769Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,78,3f,01,00\n2014-08-15T19:09:22.771Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:22.774Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:22.776Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:22.862Z,2,129026,160,255,8,ff,fc,78,7b,5d,01,ff,ff\n2014-08-15T19:09:22.874Z,4,129039,43,255,26,12,90,e4,c3,0d,18,a5,c0,0e,02,4f,7c,23,58,b2,6d,ba,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:23.000Z,6,129540,160,255,135,0a,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,ac,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,28,0a,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,1c,0c,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:23.003Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:09:23.034Z,7,129793,43,255,26,04,8f,18,23,00,6e,1e,46,0f,1e,68,e2,23,00,20,c4,1a,29,81,c0,00,a9,3f,10,00,fc\n2014-08-15T19:09:23.065Z,2,130306,115,255,8,00,98,02,3e,28,f2,ff,ff\n2014-08-15T19:09:23.092Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:23.114Z,4,129038,43,255,27,01,b8,f5,67,12,97,39,96,0e,4e,65,92,23,5c,45,2d,d6,03,64,c0,0a,ff,2c,00,00,00,fe\n2014-08-15T19:09:23.125Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:23.156Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:23.165Z,3,129029,160,255,43,bf,a9,3f,00,df,1a,29,00,60,b7,c5,54,45,49,08,00,14,b5,11,e2,80,6e,03,40,52,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:23.168Z,3,129033,160,255,8,a9,3f,00,df,1a,29,b4,00\n2014-08-15T19:09:23.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:23.253Z,3,128267,115,255,8,00,be,0b,00,00,ff,ff,ff\n2014-08-15T19:09:23.265Z,3,126992,160,255,8,ff,ff,a9,3f,00,df,1a,29\n2014-08-15T19:09:23.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:23.304Z,4,129039,43,255,26,12,ca,0c,b7,0d,7b,e4,bc,0e,cf,c6,94,23,58,83,86,44,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:23.312Z,3,127508,129,255,8,01,af,05,cc,00,1e,75,c1\n2014-08-15T19:09:23.354Z,4,129038,43,255,27,01,58,eb,ad,0e,7b,a3,61,0e,54,49,90,23,63,96,2f,d4,01,67,03,09,5c,2e,00,00,00,fe\n2014-08-15T19:09:23.368Z,2,128259,160,255,8,ff,ff,ff,5d,01,ff,ff,ff\n2014-08-15T19:09:23.394Z,4,129038,43,255,27,01,e0,53,7f,10,09,ba,c2,0e,8a,53,a4,23,60,a6,89,de,05,d3,08,08,5a,88,00,00,00,fe\n2014-08-15T19:09:23.462Z,3,129291,160,255,8,ff,fc,d1,4c,33,00,ff,ff\n2014-08-15T19:09:23.465Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:23.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,26,02,02,00,00,00,04,00,00,00\n2014-08-15T19:09:23.624Z,4,129038,43,255,27,01,28,f5,77,10,4b,d4,a1,0e,48,9d,74,23,58,16,31,cd,00,cb,08,08,b9,2f,00,00,00,fe\n2014-08-15T19:09:23.668Z,3,130577,160,255,14,c0,bf,78,7b,60,01,ff,ff,ff,ff,d1,4c,33,00\n2014-08-15T19:09:23.670Z,2,129025,160,255,8,b3,c8,96,23,b2,24,bd,0e\n2014-08-15T19:09:23.674Z,4,129038,43,255,27,01,08,99,b5,0d,78,6d,cf,0e,90,e8,a4,23,60,ff,4a,44,01,b8,08,00,f3,48,00,00,00,fe\n2014-08-15T19:09:23.720Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:23.724Z,4,129038,43,255,27,01,c8,d4,7f,10,8b,ee,de,0e,8f,4e,c0,23,59,fe,80,2d,04,24,66,08,e6,82,00,00,00,fe\n2014-08-15T19:09:23.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:23.759Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:23.763Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:09:23.764Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:23.767Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,78,3f,01,00\n2014-08-15T19:09:23.770Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:23.772Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:23.775Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:23.779Z,4,129039,43,255,26,12,44,11,b6,0d,8b,24,bd,0e,ad,c8,96,23,5f,e1,7b,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:23.814Z,4,129039,43,255,26,12,44,e0,c3,0d,bd,8f,ba,0e,62,b2,8c,23,5e,2c,7d,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:23.818Z,2,130306,115,255,8,00,2c,02,1a,22,f2,ff,ff\n2014-08-15T19:09:23.854Z,4,129038,43,255,27,01,b8,83,92,0e,05,be,e0,0e,26,c9,75,23,61,8e,c1,05,00,41,c0,00,59,d3,00,00,00,fe\n2014-08-15T19:09:23.867Z,2,129026,160,255,8,ff,fc,78,7b,60,01,ff,ff\n2014-08-15T19:09:23.980Z,3,127508,129,255,8,01,ac,05,9c,00,1e,75,c1\n2014-08-15T19:09:23.995Z,6,129540,160,255,135,0b,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,1c,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,98,08,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:23.997Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:09:23.999Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:24.023Z,4,129038,43,255,27,01,58,43,c9,0e,3a,18,d1,0e,f0,f2,a8,23,60,88,ae,d0,02,81,83,08,88,ae,00,00,00,fe\n2014-08-15T19:09:24.063Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:24.077Z,3,127508,129,255,8,01,af,05,c2,00,1e,75,c1\n2014-08-15T19:09:24.120Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:24.150Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:24.154Z,4,129039,43,255,26,12,58,7f,b6,0d,8f,ef,bb,0e,cc,a6,92,23,5f,7e,7c,7c,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:24.171Z,3,129029,160,255,43,c0,a9,3f,1a,06,1b,29,00,3e,0b,f7,0a,45,49,08,00,74,08,58,de,80,6e,03,60,a0,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:24.173Z,3,129033,160,255,8,a9,3f,1a,06,1b,29,b4,00\n2014-08-15T19:09:24.177Z,7,127506,129,255,9,c2,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:24.195Z,4,129038,43,255,27,01,b0,7f,79,10,45,d2,b4,0e,7a,7b,6f,23,60,03,a6,00,00,3a,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:24.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:24.254Z,3,128267,115,255,8,00,f5,0b,00,00,ff,ff,ff\n2014-08-15T19:09:24.266Z,3,126992,160,255,8,ff,ff,a9,3f,1a,06,1b,29\n2014-08-15T19:09:24.280Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:24.369Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:09:24.462Z,3,129291,160,255,8,ff,fc,f6,5c,42,00,ff,ff\n2014-08-15T19:09:24.466Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:24.484Z,4,129038,43,255,27,01,08,7b,ba,0d,ed,11,91,0e,8d,13,bc,23,5d,37,a0,77,01,b8,03,01,37,a0,00,00,00,fe\n2014-08-15T19:09:24.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0c,47,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:24.667Z,3,130577,160,255,14,c0,c0,be,7b,60,01,ff,ff,ff,ff,f6,5c,42,00\n2014-08-15T19:09:24.669Z,2,129025,160,255,8,76,c7,96,23,a9,24,bd,0e\n2014-08-15T19:09:24.709Z,3,127508,129,255,8,01,b0,05,0c,01,1e,75,c2\n2014-08-15T19:09:24.716Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:24.752Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:24.755Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:24.757Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:24.764Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,78,3f,01,00\n2014-08-15T19:09:24.767Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:24.769Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:24.772Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:24.776Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:24.783Z,4,129039,43,255,26,12,44,11,b6,0d,59,24,bd,0e,60,c7,96,23,63,c4,7c,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:24.859Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:24.871Z,2,129026,160,255,8,ff,fc,be,7b,60,01,ff,ff\n2014-08-15T19:09:24.873Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:24.980Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:24.996Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:24.998Z,6,129540,160,255,135,0c,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,b8,0b,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:25.001Z,2,127250,160,255,8,ff,ec,80,ff,7f,86,05,fc\n2014-08-15T19:09:25.063Z,4,129039,43,255,26,12,06,a5,b5,0d,2f,f9,bc,0e,1d,7c,96,23,60,84,7d,58,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:25.162Z,2,130306,115,255,8,00,4b,02,8f,27,f2,ff,ff\n2014-08-15T19:09:25.179Z,3,129029,160,255,43,c1,a9,3f,34,2d,1b,29,00,1c,5f,28,c1,44,49,08,00,5a,97,3f,dc,80,6e,03,50,79,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:25.182Z,3,129033,160,255,8,a9,3f,34,2d,1b,29,b4,00\n2014-08-15T19:09:25.184Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:25.222Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:25.252Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:25.284Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:25.286Z,3,128267,115,255,8,00,d7,0b,00,00,ff,ff,ff\n2014-08-15T19:09:25.298Z,3,126992,160,255,8,ff,ff,a9,3f,34,2d,1b,29\n2014-08-15T19:09:25.310Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:25.315Z,3,127508,129,255,8,01,b0,05,f7,00,1e,75,c2\n2014-08-15T19:09:25.369Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:09:25.374Z,4,129038,43,255,27,01,88,d6,d0,0c,d5,80,df,0e,4d,37,b5,23,61,89,9f,37,03,d0,08,00,88,9f,00,00,00,fe\n2014-08-15T19:09:25.473Z,4,129038,43,255,27,01,c8,27,16,0e,13,39,70,0e,31,3c,95,23,5d,2e,32,4b,03,dd,83,08,b9,2f,df,ff,00,fe\n2014-08-15T19:09:25.476Z,3,129291,160,255,8,ff,fc,3a,50,2f,00,ff,ff\n2014-08-15T19:09:25.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,41,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:25.614Z,4,129038,43,255,27,01,e0,53,7f,10,41,ae,c2,0e,f4,44,a4,23,68,a6,89,d8,05,24,66,00,5a,88,00,00,00,fe\n2014-08-15T19:09:25.680Z,3,130577,160,255,14,c0,c1,6c,7c,5c,01,ff,ff,ff,ff,3a,50,2f,00\n2014-08-15T19:09:25.682Z,2,129025,160,255,8,41,c6,96,23,7b,24,bd,0e\n2014-08-15T19:09:25.715Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:25.716Z,3,127508,129,255,8,01,ac,05,aa,00,1e,75,c2\n2014-08-15T19:09:25.738Z,2,130306,115,255,8,00,5a,02,bd,20,f2,ff,ff\n2014-08-15T19:09:25.762Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,8b,3f,01,00\n2014-08-15T19:09:25.764Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:25.766Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:25.770Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:25.772Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:25.774Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:25.803Z,4,129039,43,255,26,12,44,11,b6,0d,06,24,bd,0e,23,c6,96,23,67,32,7e,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:25.843Z,4,129038,43,255,27,03,70,45,45,0f,78,74,b9,0e,18,8b,70,23,64,ff,ff,00,00,3a,2e,01,ff,ff,ff,7f,05,fe\n2014-08-15T19:09:25.871Z,2,129026,160,255,8,ff,fc,6c,7c,5c,01,ff,ff\n2014-08-15T19:09:25.922Z,7,129793,43,255,26,04,91,18,23,00,28,1b,86,0e,2c,f7,c7,23,00,50,39,1b,29,24,66,00,a9,3f,10,00,fc\n2014-08-15T19:09:26.002Z,6,129540,160,255,135,0d,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,8c,0a,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:26.010Z,2,127250,160,255,8,ff,95,80,ff,7f,86,05,fc\n2014-08-15T19:09:26.014Z,4,129038,43,255,27,01,10,04,1a,0e,f7,42,fa,0e,11,84,ae,23,60,c8,b0,9c,02,cc,83,09,9f,b2,00,00,00,fe\n2014-08-15T19:09:26.063Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:26.066Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:26.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:26.097Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:26.104Z,4,129038,43,255,27,03,f8,d2,7e,10,83,45,da,0e,f9,47,da,23,5d,1d,02,00,00,00,00,08,ce,8d,00,00,05,fe\n2014-08-15T19:09:26.131Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:26.185Z,3,129029,160,255,43,c2,a9,3f,58,54,1b,29,00,4a,89,36,79,44,49,08,00,0e,c7,89,d1,80,6e,03,90,a4,34,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:26.190Z,3,129033,160,255,8,a9,3f,58,54,1b,29,b4,00\n2014-08-15T19:09:26.246Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:26.248Z,3,128267,115,255,8,00,ff,0b,00,00,ff,ff,ff\n2014-08-15T19:09:26.273Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:26.274Z,3,127508,129,255,8,01,b0,05,0b,01,1e,75,c2\n2014-08-15T19:09:26.280Z,3,126992,160,255,8,ff,ff,a9,3f,58,54,1b,29\n2014-08-15T19:09:26.382Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:09:26.484Z,3,129291,160,255,8,ff,fc,14,60,37,00,ff,ff\n2014-08-15T19:09:26.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:26.591Z,3,127508,129,255,8,01,af,05,ce,00,1e,75,c2\n2014-08-15T19:09:26.674Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:26.677Z,3,130577,160,255,14,c0,c2,7e,7c,5a,01,ff,ff,ff,ff,14,60,37,00\n2014-08-15T19:09:26.680Z,2,129025,160,255,8,10,c5,96,23,53,24,bd,0e\n2014-08-15T19:09:26.695Z,2,130306,115,255,8,00,65,02,9b,29,f2,ff,ff\n2014-08-15T19:09:26.714Z,4,129039,43,255,26,12,08,57,b6,0d,d0,68,cc,0e,c2,6b,91,23,6b,e7,5e,b0,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:26.716Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:26.755Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:26.759Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,8b,3f,01,00\n2014-08-15T19:09:26.762Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:26.764Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:26.767Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:26.785Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:26.814Z,4,129039,43,255,26,12,44,11,b6,0d,d4,23,bd,0e,e6,c4,96,23,6b,84,7d,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:26.876Z,2,129026,160,255,8,ff,fc,7e,7c,5a,01,ff,ff\n2014-08-15T19:09:26.984Z,4,129039,43,255,26,12,80,e5,c3,0d,51,b0,c4,0e,bb,c1,94,23,6b,1c,56,4e,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:27.004Z,6,129540,160,255,135,0e,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,1c,0c,00,00,00,00,f2,11,5d,10,cd,d8,54,0b,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:27.006Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:09:27.077Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:27.080Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:27.082Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:27.111Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:27.139Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:27.188Z,3,129029,160,255,43,c3,a9,3f,90,7b,1b,29,00,a0,1e,33,32,44,49,08,00,7e,97,39,c8,80,6e,03,a0,3c,37,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:27.191Z,3,129033,160,255,8,a9,3f,90,7b,1b,29,b4,00\n2014-08-15T19:09:27.251Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:27.254Z,3,128267,115,255,8,00,f5,0b,00,00,ff,ff,ff\n2014-08-15T19:09:27.268Z,7,127506,129,255,9,c3,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:27.279Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:27.290Z,3,126992,160,255,8,ff,ff,a9,3f,90,7b,1b,29\n2014-08-15T19:09:27.388Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:09:27.490Z,3,129291,160,255,8,ff,fc,fe,54,3a,00,ff,ff\n2014-08-15T19:09:27.505Z,3,127508,129,255,8,01,af,05,eb,00,1e,75,c3\n2014-08-15T19:09:27.533Z,4,129038,43,255,27,01,e0,53,7f,10,71,a6,c2,0e,30,3b,a4,23,70,95,89,de,05,05,84,09,ac,87,ff,7f,00,fe\n2014-08-15T19:09:27.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:27.673Z,4,129038,43,255,27,03,68,e2,20,12,a3,05,fa,0e,9d,e5,ac,23,70,4e,b0,02,02,53,6d,08,f1,b1,00,00,00,fe\n2014-08-15T19:09:27.679Z,2,130306,115,255,8,00,5f,02,26,24,f2,ff,ff\n2014-08-15T19:09:27.688Z,3,130577,160,255,14,c0,c3,2c,7d,58,01,ff,ff,ff,ff,fe,54,3a,00\n2014-08-15T19:09:27.690Z,2,129025,160,255,8,e2,c3,96,23,20,24,bd,0e\n2014-08-15T19:09:27.699Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:27.751Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:27.757Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,8b,3f,01,00\n2014-08-15T19:09:27.759Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:27.762Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:27.764Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:27.783Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:27.785Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:27.818Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:09:27.854Z,4,129038,43,255,27,01,b8,53,a6,0c,af,9c,76,0e,30,aa,9e,23,70,4e,ad,78,02,0d,04,09,36,af,00,00,00,fe\n2014-08-15T19:09:27.885Z,2,129026,160,255,8,ff,fc,2c,7d,58,01,ff,ff\n2014-08-15T19:09:27.894Z,4,129039,43,255,26,12,44,11,b6,0d,81,23,bd,0e,aa,c3,96,23,6f,e6,7f,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:28.006Z,3,127508,129,255,8,01,af,05,cc,00,1e,75,c3\n2014-08-15T19:09:28.008Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:09:28.024Z,6,129540,160,255,135,0f,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,80,0c,00,00,00,00,f2,11,5d,10,cd,d8,80,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2\n2014-08-15T19:09:28.026Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:09:28.044Z,4,129038,43,255,27,01,92,12,4b,10,bf,4d,f6,0e,f3,c0,ad,23,6f,2b,b0,c0,02,15,84,00,42,b1,fd,ff,00,fe\n2014-08-15T19:09:28.057Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:09:28.060Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:28.062Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:28.089Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:28.120Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:28.192Z,3,129029,160,255,43,c4,a9,3f,aa,a2,1b,29,00,54,84,e2,eb,43,49,08,00,40,c1,59,bc,80,6e,03,90,a4,34,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:28.195Z,3,129033,160,255,8,a9,3f,aa,a2,1b,29,b4,00\n2014-08-15T19:09:28.245Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:28.248Z,3,128267,115,255,8,00,5a,0c,00,00,ff,ff,ff\n2014-08-15T19:09:28.288Z,3,126992,160,255,8,ff,ff,a9,3f,aa,a2,1b,29\n2014-08-15T19:09:28.292Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:28.414Z,2,128259,160,255,8,ff,ff,ff,58,01,ff,ff,ff\n2014-08-15T19:09:28.507Z,3,129291,160,255,8,ff,fc,91,5d,37,00,ff,ff\n2014-08-15T19:09:28.568Z,6,129794,43,255,75,05,30,d6,75,10,b6,ad,51,00,45,53,5a,41,20,20,20,54,41,52,4d,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,00,48,03,dc,00,32,00,0e,01,31,40,00,f6,34,2f,bc,02,49,43,45,42,52,45,41,4b,49,4e,47,20,56,48,46,20,43,48,30,38,04,e0\n2014-08-15T19:09:28.571Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,39,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:28.631Z,2,130306,115,255,8,00,5f,02,3e,28,f2,ff,ff\n2014-08-15T19:09:28.657Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:28.686Z,3,127508,129,255,8,01,ae,05,ab,00,1e,75,c3\n2014-08-15T19:09:28.704Z,3,130577,160,255,14,c0,c4,c9,7d,58,01,ff,ff,ff,ff,91,5d,37,00\n2014-08-15T19:09:28.706Z,2,129025,160,255,8,b2,c2,96,23,db,23,bd,0e\n2014-08-15T19:09:28.711Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:28.748Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:28.750Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:28.752Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:28.755Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,8b,3f,01,00\n2014-08-15T19:09:28.758Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:28.760Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:28.763Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:28.788Z,6,129794,43,255,75,05,30,d6,75,10,b6,ad,51,00,45,53,5a,41,20,20,20,54,41,52,4d,4f,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,00,48,03,dc,00,32,00,0e,01,31,40,00,f6,34,2f,bc,02,49,43,45,42,52,45,41,4b,49,4e,47,20,56,48,46,20,43,48,30,38,04,e1\n2014-08-15T19:09:28.806Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:28.843Z,4,129039,43,255,26,12,44,11,b6,0d,0c,23,bd,0e,6d,c2,96,23,73,09,80,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:28.909Z,2,129026,160,255,8,ff,fc,c9,7d,58,01,ff,ff\n2014-08-15T19:09:29.043Z,6,129540,160,255,135,10,ff,0b,20,c5,31,fd,95,3c,0f,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,60,09,00,00,00,00,f2\n2014-08-15T19:09:29.044Z,2,127250,160,255,8,ff,44,81,ff,7f,86,05,fc\n2014-08-15T19:09:29.065Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:29.096Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:29.121Z,3,127508,129,255,8,01,ae,05,c2,00,1e,75,c3\n2014-08-15T19:09:29.218Z,3,129029,160,255,43,c5,a9,3f,c4,c9,1b,29,00,74,b4,1a,a5,43,49,08,00,ce,08,49,ac,80,6e,03,80,7d,34,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:29.220Z,3,129033,160,255,8,a9,3f,c4,c9,1b,29,b4,00\n2014-08-15T19:09:29.244Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:29.246Z,3,128267,115,255,8,00,66,0c,00,00,ff,ff,ff\n2014-08-15T19:09:29.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:29.305Z,3,126992,160,255,8,ff,ff,a9,3f,c4,c9,1b,29\n2014-08-15T19:09:29.331Z,3,127508,129,255,8,01,b0,05,ec,00,1e,75,c3\n2014-08-15T19:09:29.412Z,2,128259,160,255,8,ff,ff,ff,56,01,ff,ff,ff\n2014-08-15T19:09:29.434Z,4,129038,43,255,27,01,6c,70,4a,10,c6,16,05,0f,2a,23,a4,23,6f,62,35,bf,01,24,66,00,d0,33,0e,00,00,fe\n2014-08-15T19:09:29.484Z,4,129038,43,255,27,01,e0,53,7f,10,f4,9e,c2,0e,6c,31,a4,23,78,2c,89,d8,05,24,66,00,ac,87,ff,7f,00,fe\n2014-08-15T19:09:29.511Z,3,129291,160,255,8,ff,fc,ac,5e,26,00,ff,ff\n2014-08-15T19:09:29.546Z,7,127506,129,255,9,c4,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:29.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,30,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:29.593Z,4,129038,43,255,27,01,b8,f5,67,12,17,5f,96,0e,b4,6d,92,23,78,56,2d,db,03,a7,08,02,ff,2c,00,00,00,fe\n2014-08-15T19:09:29.620Z,2,130306,115,255,8,00,27,02,26,24,f2,ff,ff\n2014-08-15T19:09:29.640Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:29.693Z,4,129038,43,255,27,01,88,44,7d,10,02,23,c7,0e,87,ec,7f,23,70,19,ec,00,00,20,c0,09,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:29.710Z,3,130577,160,255,14,c0,c5,c9,7d,56,01,ff,ff,ff,ff,ac,5e,26,00\n2014-08-15T19:09:29.713Z,2,129025,160,255,8,83,c1,96,23,a0,23,bd,0e\n2014-08-15T19:09:29.718Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:29.753Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,8b,3f,01,00\n2014-08-15T19:09:29.757Z,4,129038,43,255,27,01,10,dc,6d,0f,45,f5,59,0e,0e,bf,9b,23,75,94,ad,88,02,24,66,00,88,ae,ec,ff,00,fe\n2014-08-15T19:09:29.759Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:29.761Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:29.765Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:29.767Z,2,128259,115,255,8,00,41,01,ff,ff,00,ff,ff\n2014-08-15T19:09:29.769Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:29.771Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:29.795Z,4,129038,43,255,27,01,c8,d4,7f,10,62,e7,de,0e,7d,38,c0,23,71,c9,80,2d,04,46,40,01,e6,82,00,00,00,fe\n2014-08-15T19:09:29.800Z,3,127508,129,255,8,01,ae,05,c4,00,1e,75,c4\n2014-08-15T19:09:29.815Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:29.854Z,4,129039,43,255,26,12,44,11,b6,0d,da,22,bd,0e,41,c1,96,23,77,fe,7d,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:29.917Z,2,129026,160,255,8,ff,fc,c9,7d,56,01,ff,ff\n2014-08-15T19:09:29.994Z,4,129038,43,255,27,01,b0,79,7a,10,83,04,d0,0e,a8,33,83,23,70,02,d9,ed,01,49,c0,09,d9,da,32,00,00,fe\n2014-08-15T19:09:30.050Z,6,129540,160,255,135,11,ff,0b,20,c5,31,fd,95,3c,0f,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:30.054Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:09:30.096Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:30.124Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,90,d5,1b,29,66,84,0a,a9,3f,00,00,fc\n2014-08-15T19:09:30.126Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:30.156Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:30.228Z,3,129029,160,255,43,c6,a9,3f,de,f0,1b,29,00,5e,7f,8e,5e,43,49,08,00,40,5c,8c,9e,80,6e,03,60,a0,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:30.230Z,3,129033,160,255,8,a9,3f,de,f0,1b,29,b4,00\n2014-08-15T19:09:30.246Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:30.249Z,3,128267,115,255,8,00,f9,0c,00,00,ff,ff,ff\n2014-08-15T19:09:30.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:30.312Z,3,126992,160,255,8,ff,ff,a9,3f,de,f0,1b,29\n2014-08-15T19:09:30.325Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:30.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,90,d5,1b,29,6f,84,0a,a9,3f,00,00,fc\n2014-08-15T19:09:30.410Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:30.413Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:09:30.513Z,3,129291,160,255,8,ff,fc,34,54,2c,00,ff,ff\n2014-08-15T19:09:30.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,37,02,02,00,00,00,04,00,00,00\n2014-08-15T19:09:30.570Z,2,130306,115,255,8,00,6f,02,c9,22,f2,ff,ff\n2014-08-15T19:09:30.628Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:30.634Z,4,129038,43,255,27,01,58,43,c9,0e,0c,f6,d0,0e,93,ee,a8,23,7c,66,ae,d0,02,24,66,00,88,ae,00,00,00,fe\n2014-08-15T19:09:30.711Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:30.719Z,3,130577,160,255,14,c0,c6,2c,7d,54,01,ff,ff,ff,ff,34,54,2c,00\n2014-08-15T19:09:30.722Z,2,129025,160,255,8,59,c0,96,23,85,23,bd,0e\n2014-08-15T19:09:30.748Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:30.750Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:30.752Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:30.755Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:30.757Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:30.760Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:30.762Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:30.816Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:30.864Z,4,129039,43,255,26,12,44,11,b6,0d,c9,22,bd,0e,04,c0,96,23,7b,c4,7c,53,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:30.922Z,2,129026,160,255,8,ff,fc,2c,7d,54,01,ff,ff\n2014-08-15T19:09:30.964Z,4,129038,43,255,27,01,c8,27,16,0e,e1,5c,70,0e,0d,42,95,23,75,39,31,4b,03,e9,08,00,b9,2f,0a,00,00,fe\n2014-08-15T19:09:31.013Z,4,129038,43,255,27,03,12,8f,c4,0d,6b,0d,e4,0e,ec,e2,da,23,71,e7,73,b5,01,00,00,08,e6,73,00,00,00,fe\n2014-08-15T19:09:31.048Z,3,127508,129,255,8,01,b0,05,04,01,1e,75,c4\n2014-08-15T19:09:31.056Z,6,129540,160,255,135,12,ff,0b,20,c5,31,fd,95,d8,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,e4,0c,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,8c,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:31.059Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:09:31.064Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:31.101Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:31.106Z,4,129039,43,255,26,12,44,11,b6,0d,c9,22,bd,0e,04,c0,96,23,7b,c4,7c,53,01,06,00,1e,ff,ff,00,74,ff\n2014-08-15T19:09:31.144Z,4,129038,43,255,27,01,88,d6,d0,0c,e7,64,df,0e,f3,2c,b5,23,79,20,9f,3c,03,c5,08,08,88,9f,00,00,00,fe\n2014-08-15T19:09:31.223Z,3,129029,160,255,43,c7,a9,3f,f8,17,1c,29,00,3a,50,2c,19,43,49,08,00,f2,08,43,98,80,6e,03,40,52,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:31.225Z,3,129033,160,255,8,a9,3f,f8,17,1c,29,b4,00\n2014-08-15T19:09:31.246Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:31.249Z,3,128267,115,255,8,00,af,0c,00,00,ff,ff,ff\n2014-08-15T19:09:31.275Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:31.294Z,4,129038,43,255,27,01,e0,53,7f,10,3e,9b,c2,0e,8a,2c,a4,23,80,e6,88,de,05,39,c0,08,fd,86,00,00,00,fe\n2014-08-15T19:09:31.318Z,3,126992,160,255,8,ff,ff,a9,3f,f8,17,1c,29\n2014-08-15T19:09:31.422Z,2,128259,160,255,8,ff,ff,ff,54,01,ff,ff,ff\n2014-08-15T19:09:31.516Z,3,129291,160,255,8,ff,fc,2d,56,49,00,ff,ff\n2014-08-15T19:09:31.535Z,2,130306,115,255,8,00,6a,02,26,24,f2,ff,ff\n2014-08-15T19:09:31.555Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:31.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0b,3c,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:31.655Z,3,127508,129,255,8,01,ae,05,b5,00,1e,75,c4\n2014-08-15T19:09:31.710Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:31.721Z,3,130577,160,255,14,c0,c7,84,7d,54,01,ff,ff,ff,ff,2d,56,49,00\n2014-08-15T19:09:31.723Z,2,129025,160,255,8,28,bf,96,23,68,23,bd,0e\n2014-08-15T19:09:31.747Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:31.750Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:31.752Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:31.755Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:31.757Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:31.759Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:31.762Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:31.822Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:31.834Z,3,127508,129,255,8,01,af,05,cc,00,1e,75,c4\n2014-08-15T19:09:31.884Z,4,129039,43,255,26,12,44,11,b6,0d,87,22,bd,0e,c8,be,96,23,7f,cf,7e,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:31.923Z,2,129026,160,255,8,ff,fc,84,7d,54,01,ff,ff\n2014-08-15T19:09:31.964Z,4,129038,43,255,27,01,02,8b,c4,0d,8c,57,e0,0e,ce,4b,c8,23,80,4f,86,62,01,ab,84,09,09,89,00,00,00,fe\n2014-08-15T19:09:32.054Z,6,129540,160,255,135,13,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,d8,0e,00,00,00,00,f2,16,3a,0a,39,37,28,0a,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2\n2014-08-15T19:09:32.056Z,2,127250,160,255,8,ff,b2,85,ff,7f,86,05,fc\n2014-08-15T19:09:32.056Z,3,127508,129,255,8,01,ac,05,9c,00,1e,75,c4\n2014-08-15T19:09:32.058Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:32.075Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:32.105Z,4,129039,43,255,26,12,8c,d3,b5,0d,dd,a4,bd,0e,b3,a8,97,23,7c,7d,8b,f6,00,06,00,06,ff,ff,00,7c,ff\n2014-08-15T19:09:32.228Z,3,129029,160,255,43,c8,a9,3f,12,3f,1c,29,00,90,e5,28,d2,42,49,08,00,10,80,82,91,80,6e,03,50,08,34,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:32.230Z,3,129033,160,255,8,a9,3f,12,3f,1c,29,b4,00\n2014-08-15T19:09:32.244Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:32.246Z,3,128267,115,255,8,00,e3,0d,00,00,ff,ff,ff\n2014-08-15T19:09:32.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:32.314Z,4,129038,43,255,27,01,98,69,b3,0e,76,b8,8b,0e,e0,3e,a0,23,75,ce,ae,f8,01,22,c0,00,42,b1,00,00,00,fe\n2014-08-15T19:09:32.325Z,3,126992,160,255,8,ff,ff,a9,3f,12,3f,1c,29\n2014-08-15T19:09:32.394Z,4,129038,43,255,27,01,b8,83,92,0e,42,bf,e0,0e,5e,c8,75,23,81,8e,c1,05,00,bb,84,08,59,d3,00,00,00,fe\n2014-08-15T19:09:32.418Z,2,128259,160,255,8,ff,ff,ff,57,01,ff,ff,ff\n2014-08-15T19:09:32.519Z,3,129291,160,255,8,ff,fc,2d,56,49,00,ff,ff\n2014-08-15T19:09:32.521Z,2,130306,115,255,8,00,50,02,bd,20,f2,ff,ff\n2014-08-15T19:09:32.543Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:32.546Z,7,127506,129,255,9,c5,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:32.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,42,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:32.583Z,7,129793,43,255,26,04,90,18,23,00,b4,d2,e2,0e,64,31,d3,23,00,b0,23,1c,29,c2,04,01,a9,3f,10,00,fc\n2014-08-15T19:09:32.656Z,3,127508,129,255,8,01,af,05,ca,00,1e,75,c5\n2014-08-15T19:09:32.707Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:32.728Z,3,130577,160,255,14,c0,c8,cf,7e,57,01,ff,ff,ff,ff,97,4a,38,00\n2014-08-15T19:09:32.730Z,2,129025,160,255,8,f9,bd,96,23,0a,23,bd,0e\n2014-08-15T19:09:32.742Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:32.744Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:32.747Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:32.749Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:09:32.752Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:32.755Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:32.757Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:32.823Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:32.894Z,4,129039,43,255,26,12,44,11,b6,0d,23,22,bd,0e,8b,bd,96,23,83,95,80,62,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:32.926Z,2,129026,160,255,8,ff,fc,cf,7e,57,01,ff,ff\n2014-08-15T19:09:33.054Z,6,129540,160,255,135,14,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,74,0e,00,00,00,00,f2,16,3a,0a,39,37,80,0c,00,00,00,00,f2,13,2e,08,cf,7e,00,00,00,00,00,00,f0,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:33.056Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:09:33.060Z,4,129038,43,255,27,03,08,ad,c4,0d,bf,1e,ca,0e,5a,fd,76,23,84,36,cd,05,00,1a,51,01,b7,89,00,00,05,fe\n2014-08-15T19:09:33.062Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:33.084Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:33.232Z,3,129029,160,255,43,c9,a9,3f,2c,66,1c,29,00,7a,b0,9c,8b,42,49,08,00,e4,a9,9f,7b,80,6e,03,90,15,37,00,00,00,00,00,10,fc,0a,64,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:33.234Z,3,129033,160,255,8,a9,3f,2c,66,1c,29,b4,00\n2014-08-15T19:09:33.242Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:33.244Z,3,128267,115,255,8,00,e3,0d,00,00,ff,ff,ff\n2014-08-15T19:09:33.274Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:33.287Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:33.326Z,4,129038,43,255,27,01,e0,53,7f,10,25,94,c2,0e,b6,22,a4,23,88,5b,88,d3,05,de,04,01,ac,87,ff,7f,00,fe\n2014-08-15T19:09:33.328Z,3,126992,160,255,8,ff,ff,a9,3f,2c,66,1c,29\n2014-08-15T19:09:33.431Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:09:33.467Z,2,130306,115,255,8,00,9d,02,9b,29,f2,ff,ff\n2014-08-15T19:09:33.491Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:33.532Z,3,129291,160,255,8,ff,fc,97,4a,38,00,ff,ff\n2014-08-15T19:09:33.536Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:33.564Z,4,129038,43,255,27,01,20,f6,7e,10,58,36,c7,0e,b4,ea,7f,23,85,39,31,00,00,fc,08,00,13,c7,00,00,0f,fe\n2014-08-15T19:09:33.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,36,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:33.707Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:33.728Z,3,130577,160,255,14,c0,c9,49,7f,5b,01,ff,ff,ff,ff,7f,5e,3f,00\n2014-08-15T19:09:33.732Z,2,129025,160,255,8,be,bc,96,23,9b,22,bd,0e\n2014-08-15T19:09:33.742Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:33.744Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:33.746Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:33.750Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:33.752Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:33.754Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:33.756Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:33.826Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:33.914Z,4,129039,43,255,26,12,44,11,b6,0d,bf,21,bd,0e,5f,bc,96,23,87,c9,80,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:33.918Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:33.929Z,2,129026,160,255,8,ff,fc,49,7f,5b,01,ff,ff\n2014-08-15T19:09:34.041Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:34.045Z,4,129038,43,255,27,01,08,99,b5,0d,83,87,cf,0e,0d,e2,a4,23,8c,ad,4b,49,01,37,40,09,f3,48,00,00,00,fe\n2014-08-15T19:09:34.058Z,6,129540,160,255,135,15,ff,0b,20,c5,31,fd,95,b8,0b,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,10,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,54,0b,00,00,00,00,f2,13,2e,08,cf,7e,6c,07,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2\n2014-08-15T19:09:34.061Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:09:34.063Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:34.069Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:34.123Z,4,129038,43,255,27,01,38,5e,49,16,27,7a,ca,0e,92,bf,76,23,85,5b,88,00,00,24,66,02,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:34.241Z,3,129029,160,255,43,ca,a9,3f,50,8d,1c,29,00,ec,39,45,42,42,49,08,00,4e,8c,c7,61,80,6e,03,20,04,36,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:34.243Z,3,129033,160,255,8,a9,3f,50,8d,1c,29,b4,00\n2014-08-15T19:09:34.273Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:34.276Z,3,128267,115,255,8,00,63,0e,00,00,ff,ff,ff\n2014-08-15T19:09:34.304Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:34.335Z,3,126992,160,255,8,ff,ff,a9,3f,50,8d,1c,29\n2014-08-15T19:09:34.388Z,3,127508,129,255,8,01,ac,05,9f,00,1e,75,c5\n2014-08-15T19:09:34.427Z,2,128259,160,255,8,ff,ff,ff,5b,01,ff,ff,ff\n2014-08-15T19:09:34.439Z,2,130306,115,255,8,00,98,02,d5,24,f2,ff,ff\n2014-08-15T19:09:34.444Z,4,129038,43,255,27,01,d2,ff,4a,10,25,8b,b1,0e,95,01,71,23,89,59,e8,00,00,f8,08,00,37,91,f6,ff,00,fe\n2014-08-15T19:09:34.465Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:34.504Z,4,129038,43,255,27,03,12,8f,c4,0d,5f,0f,e4,0e,b6,dd,da,23,81,e7,73,b5,01,00,00,00,95,74,ff,7f,00,fe\n2014-08-15T19:09:34.529Z,3,129291,160,255,8,ff,fc,7f,5e,3f,00,ff,ff\n2014-08-15T19:09:34.531Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:34.548Z,3,127508,129,255,8,01,ac,05,82,00,1e,75,c5\n2014-08-15T19:09:34.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,5a,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:34.708Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:09:34.739Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:34.741Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:34.744Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:34.747Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:34.749Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:09:34.751Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:34.753Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:34.756Z,3,130577,160,255,14,c0,ca,4f,80,5b,01,ff,ff,ff,ff,d8,6d,3d,00\n2014-08-15T19:09:34.759Z,2,129025,160,255,8,7d,bb,96,23,14,22,bd,0e\n2014-08-15T19:09:34.766Z,3,127508,129,255,8,01,af,05,ce,00,1e,75,c5\n2014-08-15T19:09:34.808Z,3,127508,129,255,8,01,ae,05,a2,00,1e,75,c5\n2014-08-15T19:09:34.843Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:34.894Z,4,129038,43,255,27,01,10,04,1a,0e,f3,19,fa,0e,8e,7d,ae,23,84,83,b0,9c,02,33,c0,00,9f,b2,00,00,00,fe\n2014-08-15T19:09:34.934Z,4,129039,43,255,26,12,44,11,b6,0d,5b,21,bd,0e,33,bb,96,23,8b,38,82,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:34.948Z,2,129026,160,255,8,ff,fc,4f,80,5b,01,ff,ff\n2014-08-15T19:09:34.952Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:35.004Z,4,129038,43,255,27,01,28,f5,77,10,50,e1,a1,0e,48,9d,74,23,7c,16,31,cd,00,43,c0,00,b9,2f,00,00,00,fe\n2014-08-15T19:09:35.082Z,6,129540,160,255,135,16,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,80,0c,00,00,00,00,f2,16,3a,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,54,0b,00,00,00,00,f2\n2014-08-15T19:09:35.084Z,2,127250,160,255,8,ff,a1,82,ff,7f,86,05,fc\n2014-08-15T19:09:35.086Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:35.110Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:35.142Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:35.158Z,6,129794,43,255,75,05,08,ad,c4,0d,b2,03,70,00,4f,4a,4e,4d,20,20,20,41,4d,41,5a,4f,4e,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1e,72,01,50,00,28,00,22,01,e9,40,00,6e,0a,1e,08,02,54,41,4c,4c,49,4e,4e,20,4d,49,49,44,55,52,41,4e,4e,41,20,20,05,e0\n2014-08-15T19:09:35.194Z,4,129038,43,255,27,01,fc,ff,e9,25,5d,ab,22,0f,60,03,bf,23,89,2b,bc,bb,02,24,66,00,7c,bb,1a,00,00,fe\n2014-08-15T19:09:35.241Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:35.243Z,3,128267,115,255,8,00,45,0e,00,00,ff,ff,ff\n2014-08-15T19:09:35.247Z,4,129038,43,255,27,01,c8,d4,7f,10,92,df,de,0e,a3,21,c0,23,89,32,81,2d,04,26,85,08,e6,82,00,00,00,fe\n2014-08-15T19:09:35.256Z,3,129029,160,255,43,cb,a9,3f,6a,b4,1c,29,00,a2,22,88,f7,41,49,08,00,c8,eb,58,42,80,6e,03,50,97,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:35.258Z,3,129033,160,255,8,a9,3f,6a,b4,1c,29,b4,00\n2014-08-15T19:09:35.268Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:35.326Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:35.343Z,3,126992,160,255,8,ff,ff,a9,3f,2e,be,1c,29\n2014-08-15T19:09:35.403Z,2,130306,115,255,8,00,cc,02,61,2e,f2,ff,ff\n2014-08-15T19:09:35.437Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:35.445Z,2,128259,160,255,8,ff,ff,ff,51,01,ff,ff,ff\n2014-08-15T19:09:35.483Z,4,129038,43,255,27,01,b8,f5,67,12,65,84,96,0e,f8,75,92,23,90,45,2d,d6,03,f0,70,0a,ff,2c,00,00,00,fe\n2014-08-15T19:09:35.546Z,3,129291,160,255,8,ff,fc,d8,6d,3d,00,ff,ff\n2014-08-15T19:09:35.564Z,7,127506,129,255,9,c6,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:35.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,31,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:35.644Z,4,129038,43,255,27,01,e0,53,7f,10,46,89,c2,0e,ee,13,a4,23,90,c3,88,d8,05,24,66,08,ac,87,00,00,00,fe\n2014-08-15T19:09:35.707Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:35.736Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:35.739Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:35.741Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:35.744Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:35.746Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:35.748Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:35.751Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:35.779Z,6,129794,43,255,75,05,fc,ff,e9,25,72,02,8f,00,44,35,42,56,36,20,20,54,48,45,54,49,53,20,44,20,20,20,20,20,20,20,20,20,20,20,20,47,90,06,04,01,82,00,22,06,a9,3f,00,a5,0f,2d,da,02,46,49,48,45,4c,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:09:35.781Z,3,130577,160,255,14,c0,cb,21,81,51,01,ff,ff,ff,ff,87,78,1e,00\n2014-08-15T19:09:35.784Z,2,129025,160,255,8,5e,ba,96,23,89,21,bd,0e\n2014-08-15T19:09:35.886Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:35.947Z,3,127508,129,255,8,01,af,05,e0,00,1e,75,c6\n2014-08-15T19:09:35.948Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e0\n2014-08-15T19:09:35.984Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,f0,bf,1c,29,24,66,08,a9,3f,10,00,fc\n2014-08-15T19:09:35.990Z,2,129026,160,255,8,ff,fc,21,81,51,01,ff,ff\n2014-08-15T19:09:36.030Z,4,129039,43,255,26,12,44,11,b6,0d,d5,20,bd,0e,18,ba,96,23,8f,a1,82,3e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:36.060Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:36.064Z,4,129038,43,255,27,01,d4,e5,b5,0d,18,11,e1,0e,e2,25,de,23,90,11,21,00,00,4b,c0,08,b9,20,00,00,00,fe\n2014-08-15T19:09:36.091Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:36.126Z,6,129540,160,255,135,17,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,80,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:36.128Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:09:36.184Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,00,e1\n2014-08-15T19:09:36.220Z,4,129038,43,255,27,01,80,e0,73,12,b3,b6,2e,0f,b0,84,98,23,90,71,b9,ce,01,e3,08,08,c2,b8,00,00,00,fe\n2014-08-15T19:09:36.241Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:36.243Z,3,128267,115,255,8,00,45,0e,00,00,ff,ff,ff\n2014-08-15T19:09:36.269Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:36.291Z,3,129029,160,255,43,cc,a9,3f,84,db,1c,29,00,2c,9a,b5,b4,41,49,08,00,1a,e0,fb,21,80,6e,03,40,ff,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:36.294Z,3,129033,160,255,8,a9,3f,84,db,1c,29,b4,00\n2014-08-15T19:09:36.374Z,2,130306,115,255,8,00,bc,02,6c,21,f2,ff,ff\n2014-08-15T19:09:36.383Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:36.387Z,3,126992,160,255,8,ff,ff,a9,3f,52,e5,1c,29\n2014-08-15T19:09:36.401Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:36.488Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:09:36.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0b,43,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:36.589Z,3,129291,160,255,8,ff,fc,87,78,1e,00,ff,ff\n2014-08-15T19:09:36.676Z,3,127508,129,255,8,01,af,05,e0,00,1e,75,c6\n2014-08-15T19:09:36.703Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:09:36.733Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:36.737Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:36.739Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:36.741Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:36.744Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:09:36.745Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:36.749Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:36.791Z,3,130577,160,255,14,c0,cc,83,80,48,01,ff,ff,ff,ff,87,78,1e,00\n2014-08-15T19:09:36.794Z,2,129025,160,255,8,50,b9,96,23,30,21,bd,0e\n2014-08-15T19:09:36.892Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:36.943Z,4,129039,43,255,26,12,ec,d7,b5,0d,a1,88,bb,0e,1e,5e,8e,23,92,26,7c,81,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:36.983Z,4,129039,43,255,26,12,44,11,b6,0d,b4,20,bd,0e,fc,b8,96,23,93,89,7e,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:36.986Z,2,129026,160,255,8,ff,fc,83,80,48,01,ff,ff\n2014-08-15T19:09:37.045Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:37.063Z,4,129038,43,255,27,01,58,43,c9,0e,c0,d8,d0,0e,bc,ea,a8,23,94,31,ae,d0,02,bf,08,08,88,ae,00,00,00,fe\n2014-08-15T19:09:37.075Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:37.104Z,4,129038,43,255,27,01,b8,53,a6,0c,bb,76,76,0e,97,a4,9e,23,94,4e,ad,78,02,20,43,01,36,af,00,00,00,fe\n2014-08-15T19:09:37.120Z,6,129540,160,255,135,18,ff,0b,20,c5,31,fd,95,48,0d,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,e4,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,74,0e,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,f0,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:37.122Z,2,127250,160,255,8,ff,55,84,ff,7f,86,05,fc\n2014-08-15T19:09:37.203Z,3,127508,129,255,8,01,ae,05,b6,00,1e,75,c6\n2014-08-15T19:09:37.245Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:37.248Z,3,128267,115,255,8,00,5d,0e,00,00,ff,ff,ff\n2014-08-15T19:09:37.273Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:37.294Z,3,129029,160,255,43,cd,a9,3f,9e,02,1d,29,00,20,59,d8,75,41,49,08,00,e0,0f,43,0d,80,6e,03,50,97,31,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:37.297Z,3,129033,160,255,8,a9,3f,9e,02,1d,29,b4,00\n2014-08-15T19:09:37.359Z,2,130306,115,255,8,00,c6,02,a7,2b,f2,ff,ff\n2014-08-15T19:09:37.380Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:37.392Z,3,126992,160,255,8,ff,ff,a9,3f,62,0c,1d,29\n2014-08-15T19:09:37.433Z,4,129038,43,255,27,01,e0,53,7f,10,a1,85,c2,0e,0c,0f,a4,23,98,d5,88,d8,05,24,66,00,ac,87,00,00,00,fe\n2014-08-15T19:09:37.493Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:09:37.533Z,4,129038,43,255,27,01,88,d6,d0,0c,8c,44,df,0e,b6,20,b5,23,95,ec,9e,3c,03,3d,c0,01,88,9f,00,00,00,fe\n2014-08-15T19:09:37.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,26,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:37.594Z,4,129038,43,255,27,03,60,dd,c3,0d,1d,5f,b9,0e,61,63,70,23,91,a6,95,05,00,00,00,08,ff,0e,00,00,05,fe\n2014-08-15T19:09:37.596Z,3,129291,160,255,8,ff,fc,e2,65,2c,00,ff,ff\n2014-08-15T19:09:37.705Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:37.731Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:37.734Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:37.737Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:37.738Z,3,127508,129,255,8,01,ae,05,a3,00,1e,75,c6\n2014-08-15T19:09:37.739Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:37.742Z,2,128259,115,255,8,00,3f,01,ff,ff,00,ff,ff\n2014-08-15T19:09:37.744Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:37.747Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:37.794Z,4,129038,43,255,27,01,c8,27,16,0e,fc,84,70,0e,d2,48,95,23,91,e2,30,4b,03,ab,85,08,b9,2f,1a,00,00,fe\n2014-08-15T19:09:37.801Z,3,130577,160,255,14,c0,cd,38,7f,48,01,ff,ff,ff,ff,e2,65,2c,00\n2014-08-15T19:09:37.804Z,2,129025,160,255,8,34,b8,96,23,11,21,bd,0e\n2014-08-15T19:09:37.894Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:37.964Z,4,129039,43,255,26,12,44,11,b6,0d,93,20,bd,0e,c0,b7,96,23,97,4f,7d,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:37.994Z,2,129026,160,255,8,ff,fc,38,7f,48,01,ff,ff\n2014-08-15T19:09:38.040Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:38.070Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:38.102Z,3,127508,129,255,8,01,ae,05,a8,00,1e,75,c6\n2014-08-15T19:09:38.124Z,6,129540,160,255,135,19,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,d8,0e,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,b8,0b,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:38.127Z,2,127250,160,255,8,ff,5b,85,ff,7f,86,05,fc\n2014-08-15T19:09:38.233Z,4,129038,43,255,27,01,68,e2,20,12,11,e3,f9,0e,19,e2,ac,23,98,a0,af,fd,01,96,85,00,f1,b1,00,00,00,fe\n2014-08-15T19:09:38.239Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:38.241Z,3,128267,115,255,8,00,45,0f,00,00,ff,ff,ff\n2014-08-15T19:09:38.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:38.302Z,3,129029,160,255,43,ce,a9,3f,b8,29,1d,29,00,08,a1,b8,33,41,49,08,00,6a,51,0b,06,80,6e,03,a0,e9,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:38.305Z,3,129033,160,255,8,a9,3f,b8,29,1d,29,b4,00\n2014-08-15T19:09:38.310Z,2,130306,115,255,8,00,6a,02,f7,1b,f2,ff,ff\n2014-08-15T19:09:38.314Z,4,129038,43,255,27,01,12,8f,c4,0d,ac,10,e4,0e,28,d9,da,23,8d,e7,73,b0,01,24,66,08,43,75,ff,7f,00,fe\n2014-08-15T19:09:38.330Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:38.401Z,3,126992,160,255,8,ff,ff,a9,3f,7c,33,1d,29\n2014-08-15T19:09:38.420Z,7,127506,129,255,9,c7,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:38.446Z,3,127508,129,255,8,01,af,05,cf,00,1e,75,c7\n2014-08-15T19:09:38.462Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:38.501Z,2,128259,160,255,8,ff,ff,ff,47,01,ff,ff,ff\n2014-08-15T19:09:38.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,3e,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:38.574Z,4,129038,43,255,27,01,92,12,4b,10,2b,0a,f6,0e,3e,ba,ad,23,9b,83,b0,c0,02,a3,85,08,42,b1,0a,00,00,fe\n2014-08-15T19:09:38.604Z,3,129291,160,255,8,ff,fc,73,4c,2d,00,ff,ff\n2014-08-15T19:09:38.704Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:09:38.729Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:38.731Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:38.734Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:38.736Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:38.742Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:09:38.744Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:38.746Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:38.803Z,3,130577,160,255,14,c0,ce,49,7f,47,01,ff,ff,ff,ff,73,4c,2d,00\n2014-08-15T19:09:38.805Z,2,129025,160,255,8,13,b7,96,23,e7,20,bd,0e\n2014-08-15T19:09:38.901Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:38.973Z,4,129039,43,255,26,12,44,11,b6,0d,50,20,bd,0e,a4,b6,96,23,9b,78,7e,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:38.977Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:39.002Z,2,129026,160,255,8,ff,fc,49,7f,47,01,ff,ff\n2014-08-15T19:09:39.054Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:39.085Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:39.113Z,4,129038,43,255,27,01,10,dc,6d,0f,cb,ce,59,0e,4d,ba,9b,23,99,83,ad,88,02,fb,08,08,d9,ad,ec,ff,00,fe\n2014-08-15T19:09:39.130Z,6,129540,160,255,135,1a,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,28,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:39.134Z,2,127250,160,255,8,ff,ac,84,ff,7f,86,05,fc\n2014-08-15T19:09:39.240Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:39.243Z,3,128267,115,255,8,00,a6,0e,00,00,ff,ff,ff\n2014-08-15T19:09:39.275Z,2,130306,115,255,8,00,93,02,ec,28,f2,ff,ff\n2014-08-15T19:09:39.298Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:39.310Z,3,129029,160,255,43,cf,a9,3f,aa,50,1d,29,00,fe,e2,6e,f0,40,49,08,00,46,ec,43,fc,7f,6e,03,e0,f6,32,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:39.312Z,3,129033,160,255,8,a9,3f,aa,50,1d,29,b4,00\n2014-08-15T19:09:39.324Z,4,129038,43,255,27,01,e0,53,7f,10,35,7e,c2,0e,38,05,a4,23,a0,e6,88,d8,05,39,c0,09,ac,87,00,00,00,fe\n2014-08-15T19:09:39.326Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:39.405Z,3,126992,160,255,8,ff,ff,a9,3f,6e,5a,1d,29\n2014-08-15T19:09:39.502Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:09:39.542Z,3,127508,129,255,8,01,b1,05,02,01,1e,75,c7\n2014-08-15T19:09:39.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:39.605Z,3,129291,160,255,8,ff,fc,b0,59,43,00,ff,ff\n2014-08-15T19:09:39.694Z,3,127508,129,255,8,01,ae,05,ab,00,1e,75,c7\n2014-08-15T19:09:39.705Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:39.727Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,9d,3f,01,00\n2014-08-15T19:09:39.731Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:39.733Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:39.736Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:39.742Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:39.745Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:39.747Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:39.754Z,4,129038,43,255,27,01,88,44,7d,10,13,23,c7,0e,98,ec,7f,23,98,70,f2,05,00,21,40,01,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:39.791Z,3,127508,129,255,8,01,ae,05,b1,00,1e,75,c7\n2014-08-15T19:09:39.794Z,4,129039,43,255,26,12,c4,e2,c3,0d,65,d9,c4,0e,2a,9c,94,23,9c,84,56,72,01,06,00,0e,ff,ff,00,5c,ff\n2014-08-15T19:09:39.802Z,3,130577,160,255,14,c0,cf,f2,7e,4a,01,ff,ff,ff,ff,b0,59,43,00\n2014-08-15T19:09:39.805Z,2,129025,160,255,8,e9,b5,96,23,aa,20,bd,0e\n2014-08-15T19:09:39.902Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:39.984Z,4,129039,43,255,26,12,44,11,b6,0d,1e,20,bd,0e,57,b5,96,23,9f,be,7e,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:40.004Z,2,129026,160,255,8,ff,fc,f2,7e,4a,01,ff,ff\n2014-08-15T19:09:40.033Z,3,127508,129,255,8,01,ae,05,b8,00,1e,75,c7\n2014-08-15T19:09:40.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:40.097Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:40.127Z,6,129540,160,255,135,1b,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,1c,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,c4,09,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:40.130Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:09:40.134Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,30,5c,1d,29,8f,40,03,a9,3f,00,00,fc\n2014-08-15T19:09:40.136Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:40.241Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:40.243Z,3,128267,115,255,8,00,14,0f,00,00,ff,ff,ff\n2014-08-15T19:09:40.268Z,2,130306,115,255,8,00,b7,02,0e,20,f2,ff,ff\n2014-08-15T19:09:40.287Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:40.293Z,7,127506,129,255,9,c8,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:40.317Z,3,129029,160,255,43,d0,a9,3f,1e,78,1d,29,00,da,b3,0c,ab,40,49,08,00,24,0a,10,ee,7f,6e,03,10,fb,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:40.319Z,3,129033,160,255,8,a9,3f,1e,78,1d,29,b4,00\n2014-08-15T19:09:40.321Z,3,127508,129,255,8,01,ac,05,96,00,1e,75,c8\n2014-08-15T19:09:40.337Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:40.364Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,30,5c,1d,29,e6,85,02,a9,3f,00,00,fc\n2014-08-15T19:09:40.402Z,3,126992,160,255,8,ff,ff,a9,3f,e2,81,1d,29\n2014-08-15T19:09:40.472Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:40.504Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:09:40.507Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:40.527Z,3,127508,129,255,8,01,ae,05,b8,00,1e,75,c8\n2014-08-15T19:09:40.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,49,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:40.605Z,3,129291,160,255,8,ff,fc,f3,43,49,00,ff,ff\n2014-08-15T19:09:40.654Z,4,129038,43,255,27,01,6c,70,4a,10,b1,38,05,0f,ae,26,a4,23,9b,85,35,bf,01,24,66,08,21,33,ec,ff,00,fe\n2014-08-15T19:09:40.704Z,2,128259,115,255,8,00,25,01,ff,ff,00,ff,ff\n2014-08-15T19:09:40.724Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,b0,3f,01,00\n2014-08-15T19:09:40.727Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:40.730Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:40.732Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:40.737Z,2,128259,115,255,8,00,26,01,ff,ff,00,ff,ff\n2014-08-15T19:09:40.739Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:40.742Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:40.746Z,4,129038,43,255,27,01,02,8b,c4,0d,b0,51,e0,0e,b1,42,c8,23,a4,4f,86,62,01,24,66,00,09,89,00,00,00,fe\n2014-08-15T19:09:40.812Z,3,130577,160,255,14,c0,d0,2c,80,4c,01,ff,ff,ff,ff,f3,43,49,00\n2014-08-15T19:09:40.814Z,2,129025,160,255,8,be,b4,96,23,48,20,bd,0e\n2014-08-15T19:09:40.914Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:41.004Z,4,129039,43,255,26,12,44,11,b6,0d,88,1f,bd,0e,2b,b4,96,23,a3,c9,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:41.010Z,2,129026,160,255,8,ff,fc,2c,80,4c,01,ff,ff\n2014-08-15T19:09:41.034Z,3,127508,129,255,8,01,af,05,c7,00,1e,75,c8\n2014-08-15T19:09:41.047Z,4,129038,43,255,27,01,b0,79,7a,10,1f,eb,cf,0e,fa,41,83,23,9c,48,d9,ed,01,48,c0,00,d9,da,0a,00,00,fe\n2014-08-15T19:09:41.049Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:41.081Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:41.087Z,4,129038,43,255,27,01,38,5e,49,16,27,7a,ca,0e,92,bf,76,23,a1,9b,7e,00,00,b5,08,0a,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:41.131Z,6,129540,160,255,135,1c,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,b8,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:41.133Z,2,127250,160,255,8,ff,be,87,ff,7f,86,05,fc\n2014-08-15T19:09:41.144Z,4,129038,43,255,27,01,98,69,b3,0e,9a,99,8b,0e,9f,3b,a0,23,99,a0,af,f8,01,22,c0,08,42,b1,00,00,00,fe\n2014-08-15T19:09:41.169Z,4,129038,43,255,27,01,c8,d4,7f,10,b6,d9,de,0e,79,0f,c0,23,9d,32,81,33,04,03,86,00,e6,82,00,00,00,fe\n2014-08-15T19:09:41.214Z,2,130306,115,255,8,00,79,02,03,1e,f2,ff,ff\n2014-08-15T19:09:41.236Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:41.268Z,3,128267,115,255,8,00,a0,0f,00,00,ff,ff,ff\n2014-08-15T19:09:41.272Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:41.294Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:41.321Z,3,129029,160,255,43,d1,a9,3f,74,9f,1d,29,00,ec,e9,6e,65,40,49,08,00,d0,c8,3e,d7,7f,6e,03,00,d4,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:41.323Z,3,129033,160,255,8,a9,3f,74,9f,1d,29,b4,00\n2014-08-15T19:09:41.354Z,4,129038,43,255,27,01,e0,53,7f,10,fb,76,c2,0e,63,fb,a3,23,a8,8f,88,d8,05,cb,08,00,ac,87,00,00,00,fe\n2014-08-15T19:09:41.413Z,3,126992,160,255,8,ff,ff,a9,3f,38,a9,1d,29\n2014-08-15T19:09:41.434Z,4,129038,43,255,27,01,b8,f5,67,12,a2,a9,96,0e,3d,7e,92,23,a8,45,2d,d6,03,0e,06,03,ff,2c,00,00,00,fe\n2014-08-15T19:09:41.513Z,2,128259,160,255,8,ff,ff,ff,4e,01,ff,ff,ff\n2014-08-15T19:09:41.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:41.608Z,3,129291,160,255,8,ff,fc,53,5d,47,00,ff,ff\n2014-08-15T19:09:41.609Z,3,127508,129,255,8,01,af,05,c2,00,1e,75,c8\n2014-08-15T19:09:41.705Z,3,127508,129,255,8,01,af,05,c3,00,1e,75,c8\n2014-08-15T19:09:41.709Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:41.722Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,b0,3f,01,00\n2014-08-15T19:09:41.726Z,4,129038,43,255,27,01,d0,e7,da,0d,06,99,33,0f,2f,14,c4,23,a9,2f,02,05,00,19,86,00,c2,b8,00,00,00,fe\n2014-08-15T19:09:41.728Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:41.731Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:41.733Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:41.810Z,3,130577,160,255,14,c0,d1,db,80,4e,01,ff,ff,ff,ff,53,5d,47,00\n2014-08-15T19:09:41.812Z,2,129025,160,255,8,9b,b3,96,23,cd,1f,bd,0e\n2014-08-15T19:09:41.912Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:41.990Z,7,127506,129,255,9,c9,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:41.994Z,4,129039,43,255,26,12,9e,d6,c3,0d,23,fe,c8,0e,64,21,93,23,a6,e7,55,6d,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:42.014Z,2,129026,160,255,8,ff,fc,db,80,4e,01,ff,ff\n2014-08-15T19:09:42.030Z,2,128259,115,255,8,00,34,01,ff,ff,00,ff,ff\n2014-08-15T19:09:42.034Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:42.034Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:42.038Z,4,129039,43,255,26,12,44,11,b6,0d,03,1f,bd,0e,ff,b2,96,23,a7,6c,82,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:42.090Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:42.120Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:42.149Z,6,129540,160,255,135,1d,ff,0b,20,c5,31,fd,95,10,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,54,0b,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,f0,0a,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:42.151Z,2,127250,160,255,8,ff,15,88,ff,7f,86,05,fc\n2014-08-15T19:09:42.223Z,2,130306,115,255,8,00,89,02,6c,21,f2,ff,ff\n2014-08-15T19:09:42.243Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:42.274Z,3,128267,115,255,8,00,66,0f,00,00,ff,ff,ff\n2014-08-15T19:09:42.276Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:42.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:42.326Z,3,129029,160,255,43,d2,a9,3f,ac,c6,1d,29,00,4e,f6,ad,21,40,49,08,00,c2,69,9b,ba,7f,6e,03,b0,81,32,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:42.328Z,3,129033,160,255,8,a9,3f,ac,c6,1d,29,b4,00\n2014-08-15T19:09:42.414Z,3,126992,160,255,8,ff,ff,a9,3f,70,d0,1d,29\n2014-08-15T19:09:42.482Z,3,127508,129,255,8,01,af,05,b7,00,1e,75,c9\n2014-08-15T19:09:42.517Z,2,128259,160,255,8,ff,ff,ff,4c,01,ff,ff,ff\n2014-08-15T19:09:42.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,2d,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:42.584Z,7,129793,43,255,26,04,90,18,23,00,b4,d2,e2,0e,00,31,d3,23,00,50,aa,1d,29,39,86,09,a9,3f,10,00,fc\n2014-08-15T19:09:42.618Z,3,129291,160,255,8,ff,fc,da,58,36,00,ff,ff\n2014-08-15T19:09:42.702Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:42.714Z,4,129038,43,255,27,01,88,d6,d0,0c,6f,2d,df,0e,fc,17,b5,23,a9,ec,9e,3c,03,ee,08,08,37,a0,00,00,00,fe\n2014-08-15T19:09:42.719Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,b0,3f,01,00\n2014-08-15T19:09:42.722Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:42.724Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:42.727Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:42.814Z,3,130577,160,255,14,c0,d2,ac,81,4c,01,ff,ff,ff,ff,da,58,36,00\n2014-08-15T19:09:42.816Z,2,129025,160,255,8,76,b2,96,23,46,1f,bd,0e\n2014-08-15T19:09:42.930Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:43.022Z,2,129026,160,255,8,ff,fc,ac,81,4c,01,ff,ff\n2014-08-15T19:09:43.025Z,4,129039,43,255,26,12,44,11,b6,0d,7d,1e,bd,0e,e4,b1,96,23,ab,c9,83,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:43.037Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:43.039Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:43.041Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:43.064Z,7,129793,43,255,26,04,8f,18,23,00,04,1f,46,0f,50,68,e2,23,00,60,d1,1d,29,4a,86,00,a9,3f,10,00,fc\n2014-08-15T19:09:43.070Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:43.101Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:43.105Z,4,129038,43,255,27,01,28,f5,77,10,55,ee,a1,0e,48,9d,74,23,a4,16,31,cd,00,4c,06,09,b9,2f,00,00,00,fe\n2014-08-15T19:09:43.144Z,4,129038,43,255,27,01,58,43,c9,0e,74,bb,d0,0e,e4,e6,a8,23,ac,fd,ad,d0,02,6e,c0,00,88,ae,00,00,00,fe\n2014-08-15T19:09:43.159Z,6,129540,160,255,135,1e,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,d8,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,f0,0a,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:43.161Z,2,127250,160,255,8,ff,67,87,ff,7f,86,05,fc\n2014-08-15T19:09:43.162Z,2,130306,115,255,8,00,7e,02,9b,29,f2,ff,ff\n2014-08-15T19:09:43.171Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:43.173Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:43.238Z,3,128267,115,255,8,00,9a,0f,00,00,ff,ff,ff\n2014-08-15T19:09:43.242Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:43.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:43.333Z,3,129029,160,255,43,d3,a9,3f,f8,ed,1d,29,00,1c,cd,75,dd,3f,49,08,00,3c,c9,2c,9b,7f,6e,03,d0,5e,30,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:43.335Z,3,129033,160,255,8,a9,3f,f8,ed,1d,29,b4,00\n2014-08-15T19:09:43.354Z,4,129038,43,255,27,01,e0,53,7f,10,9f,6f,c2,0e,8e,f1,a3,23,b0,c3,88,de,05,39,c0,08,ac,87,00,00,00,fe\n2014-08-15T19:09:43.394Z,4,129038,43,255,27,01,b8,83,92,0e,10,bf,e0,0e,f0,c6,75,23,ad,8e,c1,05,00,57,86,01,59,d3,00,00,00,fe\n2014-08-15T19:09:43.409Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:43.429Z,3,126992,160,255,8,ff,ff,a9,3f,bc,f7,1d,29\n2014-08-15T19:09:43.521Z,2,128259,160,255,8,ff,ff,ff,48,01,ff,ff,ff\n2014-08-15T19:09:43.525Z,4,129038,43,255,27,01,c8,27,16,0e,e9,a3,70,0e,3a,4e,95,23,a5,bf,30,4b,03,82,86,00,b9,2f,0a,00,00,fe\n2014-08-15T19:09:43.564Z,4,129039,43,255,26,12,66,58,b6,0d,9d,91,bb,0e,d1,63,91,23,af,cf,7e,9b,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:43.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,4d,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:43.606Z,4,129038,43,255,27,01,08,99,b5,0d,0b,9b,cf,0e,0d,e2,a4,23,b0,5c,4c,49,01,37,c0,00,f3,48,00,00,00,fe\n2014-08-15T19:09:43.623Z,3,129291,160,255,8,ff,fc,35,5c,29,00,ff,ff\n2014-08-15T19:09:43.627Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:43.702Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:43.716Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,b0,3f,01,00\n2014-08-15T19:09:43.719Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:43.721Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:43.724Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:43.804Z,4,129038,43,255,27,01,58,eb,ad,0e,d5,df,61,0e,23,54,90,23,b3,85,2f,d4,01,67,86,09,5c,2e,00,00,00,fe\n2014-08-15T19:09:43.826Z,3,130577,160,255,14,c0,d3,b2,82,48,01,ff,ff,ff,ff,35,5c,29,00\n2014-08-15T19:09:43.829Z,2,129025,160,255,8,5c,b1,96,23,b0,1e,bd,0e\n2014-08-15T19:09:43.841Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:43.844Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:43.847Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:43.874Z,4,129038,43,255,27,01,08,7b,ba,0d,f1,e4,90,0e,fc,06,bc,23,ad,89,9f,77,01,8f,86,01,e5,a0,00,00,00,fe\n2014-08-15T19:09:43.876Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:43.908Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:43.926Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:44.014Z,3,127508,129,255,8,01,af,05,c5,00,1e,75,c9\n2014-08-15T19:09:44.031Z,2,129026,160,255,8,ff,fc,b2,82,48,01,ff,ff\n2014-08-15T19:09:44.043Z,4,129039,43,255,26,12,44,11,b6,0d,d7,1d,bd,0e,c8,b0,96,23,af,15,85,39,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:44.159Z,6,129540,160,255,135,1f,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,54,0b,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:44.161Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:09:44.164Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:44.286Z,2,130306,115,255,8,00,a2,02,60,1f,f2,ff,ff\n2014-08-15T19:09:44.306Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:44.333Z,3,129029,160,255,43,d4,a9,3f,1c,15,1e,29,00,98,4a,cd,9b,3f,49,08,00,e0,16,40,78,7f,6e,03,50,b5,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:44.335Z,3,129033,160,255,8,a9,3f,1c,15,1e,29,b4,00\n2014-08-15T19:09:44.345Z,3,128267,115,255,8,00,ed,0f,00,00,ff,ff,ff\n2014-08-15T19:09:44.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:44.399Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:44.425Z,3,126992,160,255,8,ff,ff,a9,3f,e0,1e,1e,29\n2014-08-15T19:09:44.426Z,3,127508,129,255,8,01,af,05,c3,00,1e,75,c9\n2014-08-15T19:09:44.528Z,2,128259,160,255,8,ff,ff,ff,46,01,ff,ff,ff\n2014-08-15T19:09:44.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,2f,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:44.584Z,4,129038,43,255,27,01,b0,7f,79,10,9f,d1,b4,0e,d4,7a,6f,23,b0,03,a6,00,00,3b,c0,00,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:44.631Z,3,129291,160,255,8,ff,fc,35,5c,29,00,ff,ff\n2014-08-15T19:09:44.633Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:44.684Z,4,129038,43,255,27,01,20,f6,7e,10,ff,36,c7,0e,61,ea,7f,23,b1,39,31,00,00,c2,08,08,65,c6,00,00,0f,fe\n2014-08-15T19:09:44.702Z,2,128259,115,255,8,00,35,01,ff,ff,00,ff,ff\n2014-08-15T19:09:44.714Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,b0,3f,01,00\n2014-08-15T19:09:44.716Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:44.718Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:44.722Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:44.793Z,3,127508,129,255,8,01,ac,05,8f,00,1e,75,c9\n2014-08-15T19:09:44.797Z,3,127508,129,255,8,01,ac,05,81,00,1e,75,c9\n2014-08-15T19:09:44.834Z,3,130577,160,255,14,c0,d4,95,83,46,01,ff,ff,ff,ff,2c,3b,19,00\n2014-08-15T19:09:44.837Z,2,129025,160,255,8,46,b0,96,23,01,1e,bd,0e\n2014-08-15T19:09:44.934Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:45.027Z,2,128259,115,255,8,00,33,01,ff,ff,00,ff,ff\n2014-08-15T19:09:45.029Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:45.032Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.034Z,2,129026,160,255,8,ff,fc,95,83,46,01,ff,ff\n2014-08-15T19:09:45.037Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:45.045Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e0\n2014-08-15T19:09:45.073Z,4,129039,43,255,26,12,44,11,b6,0d,41,1d,bd,0e,ad,af,96,23,b3,e0,84,49,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:45.087Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.106Z,2,130306,115,255,8,00,b7,02,1a,22,f2,ff,ff\n2014-08-15T19:09:45.126Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.170Z,6,129540,160,255,135,20,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,34,08,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,8c,0a,00,00,00,00,f2\n2014-08-15T19:09:45.172Z,2,127250,160,255,8,ff,61,86,ff,7f,86,05,fc\n2014-08-15T19:09:45.174Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:45.188Z,6,129794,43,255,75,05,c8,27,16,0e,82,ec,8d,00,5a,44,48,4d,34,20,20,48,4f,4f,47,45,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,47,4a,06,fa,00,50,00,64,05,aa,3f,00,37,05,0f,fc,03,53,54,2e,50,45,54,45,52,53,42,55,52,47,20,20,20,20,20,20,20,04,e1\n2014-08-15T19:09:45.190Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:45.224Z,4,129038,43,255,27,01,fc,ff,e9,25,9a,7a,22,0f,a7,05,bf,23,b1,7d,bb,bb,02,bc,08,08,7c,bb,21,00,00,fe\n2014-08-15T19:09:45.237Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.239Z,3,128267,115,255,8,00,e3,0f,00,00,ff,ff,ff\n2014-08-15T19:09:45.266Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.343Z,3,129029,160,255,43,d5,a9,3f,68,3c,1e,29,00,3c,33,13,5b,3f,49,08,00,ca,46,81,4f,7f,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:45.345Z,3,129033,160,255,8,a9,3f,68,3c,1e,29,b4,00\n2014-08-15T19:09:45.373Z,7,127506,129,255,9,ca,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:45.374Z,4,129038,43,255,27,01,e0,53,7f,10,33,68,c2,0e,ba,e7,a3,23,b8,09,89,de,05,39,c0,00,ac,87,ff,7f,00,fe\n2014-08-15T19:09:45.431Z,3,126992,160,255,8,ff,ff,a9,3f,2c,46,1e,29\n2014-08-15T19:09:45.464Z,4,129038,43,255,27,01,d2,ff,4a,10,14,8b,b1,0e,95,01,71,23,b5,59,e8,00,00,24,66,08,37,91,14,00,00,fe\n2014-08-15T19:09:45.483Z,3,127508,129,255,8,01,ae,05,9b,00,1e,75,ca\n2014-08-15T19:09:45.536Z,2,128259,160,255,8,ff,ff,ff,4a,01,ff,ff,ff\n2014-08-15T19:09:45.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,35,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:45.637Z,3,129291,160,255,8,ff,fc,2c,3b,19,00,ff,ff\n2014-08-15T19:09:45.697Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:45.711Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,c3,3f,01,00\n2014-08-15T19:09:45.713Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:45.716Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:45.719Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:45.838Z,3,130577,160,255,14,c0,d5,4f,83,4a,01,ff,ff,ff,ff,e1,42,20,00\n2014-08-15T19:09:45.840Z,2,129025,160,255,8,22,af,96,23,67,1d,bd,0e\n2014-08-15T19:09:45.842Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:45.845Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:45.847Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:45.874Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:45.886Z,4,129038,43,255,27,01,10,04,1a,0e,d1,e7,f9,0e,0c,77,ae,23,b0,83,b0,9c,02,24,66,08,9f,b2,00,00,00,fe\n2014-08-15T19:09:45.910Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:45.926Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,fa,f6,c7,23,00,90,46,1e,29,bd,40,01,a9,3f,10,00,fc\n2014-08-15T19:09:45.929Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:46.044Z,2,129026,160,255,8,ff,fc,4f,83,4a,01,ff,ff\n2014-08-15T19:09:46.063Z,4,129039,43,255,26,12,44,11,b6,0d,bb,1c,bd,0e,81,ae,96,23,b7,3e,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:46.126Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:46.162Z,6,129540,160,255,135,21,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:46.164Z,2,127250,160,255,8,ff,09,86,ff,7f,86,05,fc\n2014-08-15T19:09:46.223Z,2,130306,115,255,8,00,79,02,60,1f,f2,ff,ff\n2014-08-15T19:09:46.252Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:46.283Z,3,128267,115,255,8,00,e3,0f,00,00,ff,ff,ff\n2014-08-15T19:09:46.285Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:46.309Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:46.348Z,3,129029,160,255,43,d6,a9,3f,c8,63,1e,29,00,d4,a4,16,17,3f,49,08,00,46,29,a6,2b,7f,6e,03,c0,c6,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:46.349Z,3,129033,160,255,8,a9,3f,c8,63,1e,29,b4,00\n2014-08-15T19:09:46.443Z,3,126992,160,255,8,ff,ff,a9,3f,8c,6d,1e,29\n2014-08-15T19:09:46.473Z,4,129038,43,255,27,01,b8,f5,67,12,d1,c8,96,0e,13,85,92,23,bc,68,2d,d6,03,65,40,0b,ff,2c,00,00,00,fe\n2014-08-15T19:09:46.493Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:46.537Z,2,128259,160,255,8,ff,ff,ff,49,01,ff,ff,ff\n2014-08-15T19:09:46.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,31,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:46.638Z,3,129291,160,255,8,ff,fc,e1,42,20,00,ff,ff\n2014-08-15T19:09:46.697Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:46.708Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,c3,3f,01,00\n2014-08-15T19:09:46.711Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:46.713Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:46.716Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:46.809Z,3,127508,129,255,8,01,ae,05,ac,00,1e,75,ca\n2014-08-15T19:09:46.843Z,3,130577,160,255,14,c0,d6,60,83,49,01,ff,ff,ff,ff,e1,42,20,00\n2014-08-15T19:09:46.846Z,2,129025,160,255,8,fe,ad,96,23,e1,1c,bd,0e\n2014-08-15T19:09:46.943Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:46.979Z,3,127508,129,255,8,01,ac,05,62,00,1e,75,ca\n2014-08-15T19:09:47.028Z,2,128259,115,255,8,00,4d,01,ff,ff,00,ff,ff\n2014-08-15T19:09:47.031Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:47.033Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:47.048Z,2,130306,115,255,8,00,03,02,03,1e,f2,ff,ff\n2014-08-15T19:09:47.059Z,2,129026,160,255,8,ff,fc,60,83,49,01,ff,ff\n2014-08-15T19:09:47.068Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:47.083Z,4,129039,43,255,26,12,44,11,b6,0d,47,1c,bd,0e,66,ad,96,23,bb,db,83,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:47.104Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:47.135Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:47.167Z,3,127508,129,255,8,01,ae,05,9f,00,1e,75,ca\n2014-08-15T19:09:47.167Z,6,129540,160,255,135,22,ff,0b,20,c5,31,fd,95,74,0e,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,74,0e,00,00,00,00,f2,11,5d,10,cd,d8,b8,0b,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,48,0d,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,f0,0a,00,00,00,00,f2\n2014-08-15T19:09:47.169Z,2,127250,160,255,8,ff,4a,82,ff,7f,86,05,fc\n2014-08-15T19:09:47.235Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:47.238Z,3,128267,115,255,8,00,e3,0f,00,00,ff,ff,ff\n2014-08-15T19:09:47.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:47.323Z,4,129038,43,255,27,01,e0,53,7f,10,b7,60,c2,0e,e5,dd,a3,23,c0,e6,88,e3,05,eb,86,08,ac,87,00,00,00,fe\n2014-08-15T19:09:47.353Z,3,129029,160,255,43,d7,a9,3f,e2,8a,1e,29,00,6c,16,1a,d3,3e,49,08,00,8a,23,73,0c,7f,6e,03,e0,14,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:47.355Z,3,129033,160,255,8,a9,3f,e2,8a,1e,29,b4,00\n2014-08-15T19:09:47.440Z,3,126992,160,255,8,ff,ff,a9,3f,a6,94,1e,29\n2014-08-15T19:09:47.543Z,4,129039,43,255,26,12,0a,ec,b5,0d,b7,b4,cd,0e,88,59,91,23,b8,7e,55,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:47.545Z,2,128259,160,255,8,ff,ff,ff,50,01,ff,ff,ff\n2014-08-15T19:09:47.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,40,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:47.637Z,3,129291,160,255,8,ff,fc,92,d4,0a,00,ff,ff\n2014-08-15T19:09:47.673Z,4,129038,43,255,27,01,c8,d4,7f,10,4b,cf,de,0e,76,f1,bf,23,bd,fe,80,33,04,46,c0,08,e6,82,00,00,00,fe\n2014-08-15T19:09:47.705Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,3d,28,0a,01,c3,3f,01,00\n2014-08-15T19:09:47.708Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:47.710Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:47.714Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:47.715Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:47.741Z,3,127508,129,255,8,01,ae,05,97,00,1e,75,ca\n2014-08-15T19:09:47.833Z,4,129038,43,255,27,01,92,12,4b,10,3d,ee,f5,0e,2a,b5,ad,23,bc,60,b0,c0,02,ea,08,00,42,b1,ec,ff,00,fe\n2014-08-15T19:09:47.849Z,3,130577,160,255,14,c0,d7,b2,82,50,01,ff,ff,ff,ff,92,d4,0a,00\n2014-08-15T19:09:47.854Z,2,129025,160,255,8,d0,ac,96,23,68,1c,bd,0e\n2014-08-15T19:09:47.942Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:47.996Z,2,130306,115,255,8,00,db,02,f8,2a,f2,ff,ff\n2014-08-15T19:09:48.036Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:48.045Z,2,129026,160,255,8,ff,fc,b2,82,50,01,ff,ff\n2014-08-15T19:09:48.077Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:48.080Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:48.081Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:48.094Z,4,129039,43,255,26,12,44,11,b6,0d,e3,1b,bd,0e,3a,ac,96,23,bf,49,82,4e,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:48.161Z,7,127506,129,255,9,cb,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:48.171Z,6,129540,160,255,135,23,ff,0b,20,c5,31,fd,95,b8,0b,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,ac,0d,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,b8,0b,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:48.173Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:09:48.235Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:48.264Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:48.294Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:48.296Z,3,128267,115,255,8,00,08,10,00,00,ff,ff,ff\n2014-08-15T19:09:48.347Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:48.359Z,3,129029,160,255,43,d8,a9,3f,fc,b1,1e,29,00,20,7c,c9,8c,3e,49,08,00,10,fa,46,f0,7e,6e,03,70,74,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:48.362Z,3,129033,160,255,8,a9,3f,fc,b1,1e,29,b4,00\n2014-08-15T19:09:48.446Z,3,126992,160,255,8,ff,ff,a9,3f,d4,bb,1e,29\n2014-08-15T19:09:48.548Z,2,128259,160,255,8,ff,ff,ff,52,01,ff,ff,ff\n2014-08-15T19:09:48.561Z,3,127508,129,255,8,01,ac,05,7c,00,1e,75,cb\n2014-08-15T19:09:48.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,30,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:48.642Z,3,129291,160,255,8,ff,fc,fe,57,05,00,ff,ff\n2014-08-15T19:09:48.693Z,4,129038,43,255,27,01,c8,27,16,0e,82,c2,70,0e,80,53,95,23,bd,ae,30,4b,03,3c,c0,08,b9,2f,ec,ff,00,fe\n2014-08-15T19:09:48.696Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:48.703Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:48.706Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:48.708Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:48.710Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:48.734Z,4,129038,43,255,27,01,b8,53,a6,0c,e2,43,76,0e,2b,9d,9e,23,c4,4e,ad,78,02,94,08,08,36,af,00,00,00,fe\n2014-08-15T19:09:48.824Z,4,129038,43,255,27,01,88,d6,d0,0c,a3,11,df,0e,a2,0d,b5,23,c1,20,9f,37,03,df,08,00,37,a0,00,00,00,fe\n2014-08-15T19:09:48.854Z,3,130577,160,255,14,c0,d8,38,82,52,01,ff,ff,ff,ff,fe,57,05,00\n2014-08-15T19:09:48.857Z,2,129025,160,255,8,97,ab,96,23,01,1c,bd,0e\n2014-08-15T19:09:48.894Z,4,129038,43,255,27,01,68,e2,20,12,4e,bd,f9,0e,ff,dd,ac,23,c4,a0,af,07,02,8d,08,08,f1,b1,00,00,00,fe\n2014-08-15T19:09:48.945Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:49.003Z,4,129038,43,255,27,01,58,43,c9,0e,28,9e,d0,0e,fc,e2,a8,23,c4,fd,ad,d0,02,2a,87,08,88,ae,00,00,00,fe\n2014-08-15T19:09:49.009Z,2,130306,115,255,8,00,89,02,60,1f,f2,ff,ff\n2014-08-15T19:09:49.047Z,2,129026,160,255,8,ff,fc,38,82,52,01,ff,ff\n2014-08-15T19:09:49.055Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:49.096Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:49.100Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:49.102Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:49.106Z,4,129039,43,255,26,12,44,11,b6,0d,7f,1b,bd,0e,0e,ab,96,23,c3,15,82,5d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:49.130Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:49.144Z,4,129038,43,255,27,01,10,dc,6d,0f,38,a1,59,0e,ca,b3,9b,23,c1,83,ad,88,02,2e,87,01,d9,ad,f6,ff,00,fe\n2014-08-15T19:09:49.160Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:49.196Z,6,129540,160,255,135,24,ff,0b,20,c5,31,fd,95,b8,0b,00,00,00,00,f2,01,0b,2f,94,b0,b8,0b,00,00,00,00,f2,0b,39,28,ac,87,1c,0c,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,e4,0c,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:49.198Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:09:49.202Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:49.236Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:49.238Z,3,128267,115,255,8,00,d4,10,00,00,ff,ff,ff\n2014-08-15T19:09:49.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:49.320Z,6,129794,43,255,75,05,92,12,4b,10,f8,63,86,00,55,42,56,47,37,40,40,41,4d,42,41,4c,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,46,6c,07,dc,00,6e,00,68,01,15,41,00,10,55,22,9e,02,42,41,4c,54,53,4b,2d,55,4c,55,47,41,2d,42,41,4c,54,53,4b,40,04,e1\n2014-08-15T19:09:49.354Z,4,129038,43,255,27,01,e0,53,7f,10,5b,59,c2,0e,00,d4,a3,23,c8,8f,88,de,05,24,66,00,ac,87,ff,7f,00,fe\n2014-08-15T19:09:49.360Z,3,129029,160,255,43,d9,a9,3f,66,d9,1e,29,00,26,3b,e9,43,3e,49,08,00,ca,b2,4b,d8,7e,6e,03,b0,9f,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:49.362Z,3,129033,160,255,8,a9,3f,66,d9,1e,29,b4,00\n2014-08-15T19:09:49.454Z,3,126992,160,255,8,ff,ff,a9,3f,10,e4,1e,29\n2014-08-15T19:09:49.557Z,2,128259,160,255,8,ff,ff,ff,5a,01,ff,ff,ff\n2014-08-15T19:09:49.569Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0b,3e,02,03,00,00,00,04,00,00,00\n2014-08-15T19:09:49.644Z,4,129038,43,255,27,01,88,44,7d,10,45,23,c7,0e,ca,ec,7f,23,c0,cf,7e,05,00,21,c0,08,ff,ff,ff,7f,0f,fe\n2014-08-15T19:09:49.659Z,3,129291,160,255,8,ff,fc,1a,67,05,00,ff,ff\n2014-08-15T19:09:49.701Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:49.704Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:49.706Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:49.708Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:49.711Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:49.854Z,3,130577,160,255,14,c0,d9,66,81,5a,01,ff,ff,ff,ff,1a,67,05,00\n2014-08-15T19:09:49.856Z,2,129025,160,255,8,5b,aa,96,23,a9,1b,bd,0e\n2014-08-15T19:09:49.866Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:49.958Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:49.987Z,2,130306,115,255,8,00,8e,02,c9,22,f2,ff,ff\n2014-08-15T19:09:50.053Z,2,129026,160,255,8,ff,fc,66,81,5a,01,ff,ff\n2014-08-15T19:09:50.063Z,3,127508,129,255,8,01,ac,05,8e,00,1e,75,cb\n2014-08-15T19:09:50.094Z,4,129038,43,255,27,03,44,9e,c4,0d,49,9b,dd,0e,42,92,76,23,c8,c8,bc,00,00,00,00,08,7f,07,00,00,05,fe\n2014-08-15T19:09:50.099Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:50.102Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:50.104Z,2,128259,115,255,8,00,5c,01,ff,ff,00,ff,ff\n2014-08-15T19:09:50.128Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:50.134Z,4,129039,43,255,26,12,44,11,b6,0d,3c,1b,bd,0e,e2,a9,96,23,c7,e6,7f,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:50.174Z,7,129793,43,255,26,04,3c,35,2a,00,80,48,ce,0e,ca,85,79,23,00,d0,e2,1e,29,54,87,0b,a9,3f,00,00,fc\n2014-08-15T19:09:50.182Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:50.204Z,6,129540,160,255,135,25,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,b8,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,48,0d,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:50.206Z,2,127250,160,255,8,ff,4f,83,ff,7f,86,05,fc\n2014-08-15T19:09:50.210Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:50.240Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:50.273Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:50.276Z,3,128267,115,255,8,00,d4,10,00,00,ff,ff,ff\n2014-08-15T19:09:50.299Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:50.367Z,7,129793,43,255,26,04,50,35,2a,00,d5,ff,32,0f,83,3d,8d,23,00,d0,e2,1e,29,5d,87,0a,a9,3f,00,00,fc\n2014-08-15T19:09:50.373Z,3,129029,160,255,43,da,a9,3f,7a,01,1f,29,00,ce,29,56,fa,3d,49,08,00,5a,7d,ce,c3,7e,6e,03,70,74,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:50.375Z,3,129033,160,255,8,a9,3f,7a,01,1f,29,b4,00\n2014-08-15T19:09:50.458Z,3,126992,160,255,8,ff,ff,a9,3f,20,0b,1f,29\n2014-08-15T19:09:50.540Z,3,127508,129,255,8,01,ac,05,84,00,1e,75,cb\n2014-08-15T19:09:50.558Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:09:50.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,0a,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:50.659Z,3,129291,160,255,8,ff,fc,8a,4e,1b,00,ff,ff\n2014-08-15T19:09:50.697Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:50.699Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:50.702Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:50.705Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:50.707Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:50.857Z,3,130577,160,255,14,c0,da,72,80,63,01,ff,ff,ff,ff,8a,4e,1b,00\n2014-08-15T19:09:50.859Z,2,129025,160,255,8,03,a9,96,23,67,1b,bd,0e\n2014-08-15T19:09:50.954Z,4,129038,43,255,27,01,6c,70,4a,10,cf,5a,05,0f,11,2a,a4,23,c7,b9,35,bf,01,73,87,00,73,32,50,e6,00,fe\n2014-08-15T19:09:50.962Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:50.976Z,3,127508,129,255,8,01,ac,05,84,00,1e,75,cb\n2014-08-15T19:09:50.995Z,4,129038,43,255,27,01,b0,79,7a,10,fc,d4,cf,0e,00,4f,83,23,c4,7c,d9,ed,01,73,07,09,d9,da,ce,ff,00,fe\n2014-08-15T19:09:51.003Z,2,130306,115,255,8,00,ad,02,8f,27,f2,ff,ff\n2014-08-15T19:09:51.019Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:51.034Z,4,129038,43,255,27,01,98,69,b3,0e,29,77,8b,0e,e9,37,a0,23,c1,a0,af,fd,01,01,09,00,42,b1,00,00,00,fe\n2014-08-15T19:09:51.065Z,2,129026,160,255,8,ff,fc,72,80,63,01,ff,ff\n2014-08-15T19:09:51.067Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:51.070Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:51.074Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:51.079Z,6,129809,43,255,25,18,58,7f,b6,0d,44,41,43,43,41,50,4f,20,44,45,55,58,40,40,40,40,40,40,40,40\n2014-08-15T19:09:51.113Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:51.129Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:51.142Z,4,129039,43,255,26,12,44,11,b6,0d,f9,1a,bd,0e,84,a8,96,23,cb,cf,7e,72,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:51.216Z,6,129540,160,255,135,26,ff,0b,20,c5,31,fd,95,1c,0c,00,00,00,00,f2,01,0b,2f,94,b0,80,0c,00,00,00,00,f2,0b,39,28,ac,87,f0,0a,00,00,00,00,f2,0e,ff,1d,a2,2b,e4,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,54,0b,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:51.218Z,2,127250,160,255,8,ff,04,85,ff,7f,86,05,fc\n2014-08-15T19:09:51.231Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:51.234Z,3,128267,115,255,8,00,d4,10,00,00,ff,ff,ff\n2014-08-15T19:09:51.259Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:51.372Z,3,129029,160,255,43,db,a9,3f,6c,28,1f,29,00,5e,2a,3e,aa,3d,49,08,00,46,95,70,b4,7e,6e,03,10,8a,2e,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:51.374Z,3,129033,160,255,8,a9,3f,6c,28,1f,29,b4,00\n2014-08-15T19:09:51.375Z,3,127508,129,255,8,01,ac,05,64,00,1e,75,cb\n2014-08-15T19:09:51.425Z,7,127506,129,255,9,cc,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:51.454Z,4,129038,43,255,27,01,e0,53,7f,10,5b,4e,c2,0e,17,c5,a3,23,d0,7e,88,de,05,c6,08,08,ac,87,ff,7f,00,fe\n2014-08-15T19:09:51.460Z,3,126992,160,255,8,ff,ff,a9,3f,62,32,1f,29\n2014-08-15T19:09:51.560Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:09:51.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,0a,44,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:51.663Z,3,129291,160,255,8,ff,fc,8a,4e,1b,00,ff,ff\n2014-08-15T19:09:51.674Z,4,129038,43,255,27,01,02,8b,c4,0d,39,49,e0,0e,5e,34,c8,23,d0,4f,86,5d,01,8e,07,09,b7,89,00,00,00,fe\n2014-08-15T19:09:51.696Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:51.699Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:51.702Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:51.704Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:51.706Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:51.714Z,4,129039,43,255,26,12,fe,ea,8e,0f,87,38,98,0e,cd,03,af,23,c8,42,cf,9a,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:51.760Z,3,127508,129,255,8,01,af,05,c8,00,1e,75,cc\n2014-08-15T19:09:51.860Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:51.864Z,3,130577,160,255,14,c0,db,db,80,61,01,ff,ff,ff,ff,e5,47,1f,00\n2014-08-15T19:09:51.866Z,2,129025,160,255,8,c8,a7,96,23,1d,1b,bd,0e\n2014-08-15T19:09:51.965Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:51.989Z,2,130306,115,255,8,00,7e,02,6c,21,f2,ff,ff\n2014-08-15T19:09:52.009Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:52.013Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:52.024Z,4,129039,43,255,26,12,ca,0c,b7,0d,3d,db,bc,0e,1c,a4,94,23,ce,49,7f,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:52.067Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:52.069Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:52.071Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:52.074Z,2,129026,160,255,8,ff,fc,db,80,61,01,ff,ff\n2014-08-15T19:09:52.100Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:52.131Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:52.144Z,4,129039,43,255,26,12,44,11,b6,0d,85,1a,bd,0e,58,a7,96,23,cf,f2,81,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:52.193Z,6,129540,160,255,135,27,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,b8,0b,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,48,0d,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,fc,08,00,00,00,00,f2,1f,23,06,7e,52,6c,07,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:52.196Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:09:52.231Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:52.233Z,3,128267,115,255,8,00,d4,10,00,00,ff,ff,ff\n2014-08-15T19:09:52.258Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:52.307Z,3,127508,129,255,8,01,af,05,cf,00,1e,75,cc\n2014-08-15T19:09:52.367Z,3,129029,160,255,43,dc,a9,3f,ae,4f,1f,29,00,d0,b3,e6,60,3d,49,08,00,e2,d6,35,a3,7e,6e,03,a0,78,2d,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:52.369Z,3,129033,160,255,8,a9,3f,ae,4f,1f,29,b4,00\n2014-08-15T19:09:52.394Z,3,127508,129,255,8,01,ac,05,83,00,1e,75,cc\n2014-08-15T19:09:52.463Z,3,126992,160,255,8,ff,ff,a9,3f,7c,59,1f,29\n2014-08-15T19:09:52.554Z,4,129039,43,255,26,12,06,a5,b5,0d,55,f0,bc,0e,6a,59,96,23,d0,44,7e,58,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:52.564Z,2,128259,160,255,8,ff,ff,ff,61,01,ff,ff,ff\n2014-08-15T19:09:52.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,39,02,02,00,01,01,03,00,00,00\n2014-08-15T19:09:52.594Z,7,129793,43,255,26,04,90,18,23,00,82,d2,e2,0e,ce,30,d3,23,00,f0,30,1f,29,7b,40,01,a9,3f,10,00,fc\n2014-08-15T19:09:52.666Z,3,129291,160,255,8,ff,fc,e5,47,1f,00,ff,ff\n2014-08-15T19:09:52.693Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:52.696Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:52.698Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:52.702Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:52.704Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:52.861Z,3,130577,160,255,14,c0,dc,55,81,61,01,ff,ff,ff,ff,e5,47,1f,00\n2014-08-15T19:09:52.864Z,2,129025,160,255,8,9a,a6,96,23,9f,1a,bd,0e\n2014-08-15T19:09:52.901Z,2,130306,115,255,8,00,9d,02,9b,29,f2,ff,ff\n2014-08-15T19:09:52.952Z,3,127508,129,255,8,01,ac,05,84,00,1e,75,cc\n2014-08-15T19:09:52.965Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:53.004Z,4,129038,43,255,27,01,b8,f5,67,12,c3,f4,96,0e,1a,8f,92,23,d4,45,2d,d6,03,c0,87,02,ff,2c,00,00,00,fe\n2014-08-15T19:09:53.007Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:53.042Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:53.046Z,7,129793,43,255,26,04,8f,18,23,00,9a,1f,46,0f,82,68,e2,23,00,00,58,1f,29,c1,87,08,a9,3f,10,00,fc\n2014-08-15T19:09:53.048Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:53.050Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:53.062Z,2,129026,160,255,8,ff,fc,55,81,61,01,ff,ff\n2014-08-15T19:09:53.102Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:53.132Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:53.164Z,4,129039,43,255,26,12,44,11,b6,0d,10,1a,bd,0e,2c,a6,96,23,d3,ac,81,6d,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:53.202Z,6,129540,160,255,135,28,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,54,0b,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,48,0d,00,00,00,00,f2,04,00,0f,1f,c9,e4,0c,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,a4,06,00,00,00,00,f2,1f,23,06,7e,52,28,0a,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:53.204Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:09:53.230Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:53.233Z,3,128267,115,255,8,00,d4,10,00,00,ff,ff,ff\n2014-08-15T19:09:53.254Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:53.296Z,3,127508,129,255,8,01,b0,05,ec,00,1e,75,cc\n2014-08-15T19:09:53.324Z,4,129039,43,255,26,12,90,e4,c3,0d,e2,c6,c0,0e,16,22,7c,23,d0,4a,6a,c4,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:53.371Z,3,129029,160,255,43,dd,a9,3f,d2,76,1f,29,00,84,19,96,1a,3d,49,08,00,76,a7,df,85,7e,6e,03,a0,e9,2f,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:53.374Z,3,129033,160,255,8,a9,3f,d2,76,1f,29,b4,00\n2014-08-15T19:09:53.404Z,4,129038,43,255,27,01,b8,83,92,0e,91,bd,e0,0e,11,c7,75,23,d5,8e,c1,05,00,41,c0,08,59,d3,00,00,00,fe\n2014-08-15T19:09:53.444Z,4,129038,43,255,27,01,e0,53,7f,10,94,4a,c2,0e,24,c0,a3,23,d0,3d,89,d8,05,39,40,01,5a,88,ff,7f,00,fe\n2014-08-15T19:09:53.470Z,3,126992,160,255,8,ff,ff,a9,3f,96,80,1f,29\n2014-08-15T19:09:53.485Z,7,127506,129,255,9,cc,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:53.514Z,4,129038,43,255,27,01,40,37,b7,0d,7f,bd,89,0e,70,75,bf,23,d9,97,1a,05,00,17,c0,00,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:53.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,02,00,00,00,00,00,00,00,00,0a,33,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:53.572Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:09:53.608Z,3,127508,129,255,8,01,af,05,cc,00,1e,75,cc\n2014-08-15T19:09:53.663Z,3,129291,160,255,8,ff,fc,97,4a,0f,00,ff,ff\n2014-08-15T19:09:53.666Z,6,129044,160,255,20,57,38,34,00,00,00,00,00,00,00,00,00,00,00,00,00,57,38,34,00\n2014-08-15T19:09:53.667Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:53.691Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:53.694Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:53.696Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:53.699Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:53.701Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:53.754Z,4,129038,43,255,27,01,58,eb,ad,0e,a0,fe,61,0e,20,5a,90,23,db,85,2f,d4,01,b1,08,00,5c,2e,00,00,00,fe\n2014-08-15T19:09:53.885Z,3,130577,160,255,14,c0,dd,21,81,60,01,ff,ff,ff,ff,97,4a,0f,00\n2014-08-15T19:09:53.887Z,2,129025,160,255,8,70,a5,96,23,35,1a,bd,0e\n2014-08-15T19:09:53.894Z,4,129038,43,255,27,01,08,7b,ba,0d,96,cf,90,0e,5e,ff,bb,23,d5,37,a0,77,01,07,88,09,e5,a0,00,00,00,fe\n2014-08-15T19:09:53.896Z,2,130306,115,255,8,00,55,02,6c,21,f2,ff,ff\n2014-08-15T19:09:53.964Z,4,129038,43,255,27,01,08,99,b5,0d,15,b5,cf,0e,8a,db,a4,23,dc,50,4a,53,01,37,c0,08,f3,48,00,00,00,fe\n2014-08-15T19:09:53.976Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:53.986Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:54.024Z,4,129038,43,255,27,01,c8,d4,7f,10,7b,c7,de,0e,64,db,bf,23,d5,ac,81,33,04,46,c0,00,94,83,00,00,00,fe\n2014-08-15T19:09:54.028Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:54.032Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:54.034Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:54.060Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:54.074Z,4,129038,43,255,27,01,38,5e,49,16,48,7a,ca,0e,a2,bf,76,23,d5,e2,24,00,00,36,c0,03,ff,ff,ff,7f,00,fe\n2014-08-15T19:09:54.080Z,2,129026,160,255,8,ff,fc,21,81,60,01,ff,ff\n2014-08-15T19:09:54.090Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:54.173Z,4,129039,43,255,26,12,44,11,b6,0d,ac,19,bd,0e,21,a5,96,23,d7,0f,81,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:54.215Z,6,129540,160,255,135,29,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,60,09,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,e4,0c,00,00,00,00,f2,13,2e,08,cf,7e,34,08,00,00,00,00,f2,1f,23,06,7e,52,1c,0c,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:54.217Z,2,127250,160,255,8,ff,9b,81,ff,7f,86,05,fc\n2014-08-15T19:09:54.220Z,7,65311,160,255,8,3b,9f,ff,86,05,ff,ff,ff\n2014-08-15T19:09:54.231Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:54.234Z,3,128267,115,255,8,00,d1,11,00,00,ff,ff,ff\n2014-08-15T19:09:54.236Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:54.259Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:54.417Z,3,129029,160,255,43,de,a9,3f,14,9e,1f,29,00,56,2c,ea,91,3c,49,08,00,46,66,08,5b,7e,6e,03,f0,ca,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:54.419Z,3,129033,160,255,8,a9,3f,14,9e,1f,29,b4,00\n2014-08-15T19:09:54.511Z,3,126992,160,255,8,ff,ff,a9,3f,d8,a7,1f,29\n2014-08-15T19:09:54.557Z,3,127508,129,255,8,01,ae,05,a9,00,1e,75,cc\n2014-08-15T19:09:54.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,4d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:54.612Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:09:54.638Z,3,127508,129,255,8,01,ac,05,78,00,1e,75,cc\n2014-08-15T19:09:54.664Z,4,129038,43,255,27,01,20,f6,7e,10,ee,36,c7,0e,72,ea,7f,23,d9,39,31,00,00,3f,40,01,13,c7,00,00,0f,fe\n2014-08-15T19:09:54.689Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,d5,3f,01,00\n2014-08-15T19:09:54.691Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:54.694Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:54.696Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:54.699Z,2,128259,115,255,8,00,59,01,ff,ff,00,ff,ff\n2014-08-15T19:09:54.715Z,3,129291,160,255,8,ff,fc,b3,77,12,00,ff,ff\n2014-08-15T19:09:54.717Z,7,65362,160,255,8,3b,9f,30,2a,00,00,ff,ff\n2014-08-15T19:09:54.744Z,4,129038,43,255,27,01,58,43,c9,0e,ed,80,d0,0e,14,df,a8,23,dc,fd,ad,d0,02,01,08,01,88,ae,00,00,00,fe\n2014-08-15T19:09:54.794Z,4,129038,43,255,27,01,d2,ff,4a,10,f3,8a,b1,0e,95,01,71,23,d9,59,e8,00,00,4d,c0,01,37,91,00,00,00,fe\n2014-08-15T19:09:54.910Z,3,130577,160,255,14,c0,de,c9,80,5c,01,ff,ff,ff,ff,b3,77,12,00\n2014-08-15T19:09:54.912Z,2,129025,160,255,8,4f,a4,96,23,e7,19,bd,0e\n2014-08-15T19:09:54.953Z,4,129038,43,255,27,03,12,8f,c4,0d,3b,15,e4,0e,c4,bf,da,23,d1,ac,78,b5,01,f0,0d,00,ac,78,00,00,00,fe\n2014-08-15T19:09:54.998Z,2,130306,115,255,8,00,89,02,8f,27,f2,ff,ff\n2014-08-15T19:09:55.004Z,4,129038,43,255,27,01,28,f5,77,10,5b,fb,a1,0e,ca,a3,74,23,d4,68,30,cd,00,0b,08,01,b9,2f,00,00,00,fe\n2014-08-15T19:09:55.011Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:55.018Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:55.069Z,2,128259,115,255,8,00,5a,01,ff,ff,00,ff,ff\n2014-08-15T19:09:55.071Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:55.073Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:55.083Z,4,129039,43,255,26,12,58,7f,b6,0d,f9,ee,bb,0e,5a,7c,92,23,db,66,7b,7c,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:55.113Z,2,129026,160,255,8,ff,fc,c9,80,5c,01,ff,ff\n2014-08-15T19:09:55.113Z,3,127508,129,255,8,01,ae,05,9a,00,1e,75,cc\n2014-08-15T19:09:55.116Z,7,130846,160,255,12,3b,9f,02,14,1f,cd,12,0f,ff,3f,ff,ff\n2014-08-15T19:09:55.127Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:55.156Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:55.184Z,4,129039,43,255,26,12,44,11,b6,0d,69,19,bd,0e,f5,a3,96,23,db,09,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:55.186Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:55.224Z,4,129038,43,255,27,01,88,d6,d0,0c,a4,f5,de,0e,48,03,b5,23,d9,54,9f,3c,03,24,66,08,37,a0,00,00,00,fe\n2014-08-15T19:09:55.230Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:55.232Z,3,128267,115,255,8,00,f3,11,00,00,ff,ff,ff\n2014-08-15T19:09:55.247Z,6,129540,160,255,135,2a,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,60,09,00,00,00,00,f2,0e,ff,1d,a2,2b,80,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,ac,0d,00,00,00,00,f2,16,3a,0a,39,37,b8,0b,00,00,00,00,f2,13,2e,08,cf,7e,60,09,00,00,00,00,f2,1f,23,06,7e,52,ac,0d,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:55.248Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:09:55.254Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:55.264Z,4,129038,43,255,27,01,10,04,1a,0e,cd,be,f9,0e,b2,77,ae,23,d4,83,b0,9c,02,31,40,01,9f,b2,00,00,00,fe\n2014-08-15T19:09:55.353Z,4,129038,43,255,27,01,fc,ff,e9,25,d7,49,22,0f,ee,07,bf,23,d9,7d,bb,bb,02,1a,c0,00,7c,bb,21,00,00,fe\n2014-08-15T19:09:55.418Z,3,129029,160,255,43,df,a9,3f,60,c5,1f,29,00,68,62,4c,4c,3c,49,08,00,84,d7,1a,49,7e,6e,03,40,1d,2a,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:55.419Z,3,129033,160,255,8,a9,3f,60,c5,1f,29,b4,00\n2014-08-15T19:09:55.447Z,3,127508,129,255,8,01,b0,05,c3,00,1e,75,cc\n2014-08-15T19:09:55.491Z,7,127506,129,255,9,ce,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:55.514Z,4,129038,43,255,27,03,48,96,7f,10,6d,71,dd,0e,78,bb,76,23,d8,15,73,0a,00,9a,4b,09,0b,20,00,00,05,fe\n2014-08-15T19:09:55.516Z,3,126992,160,255,8,ff,ff,a9,3f,24,cf,1f,29\n2014-08-15T19:09:55.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,06,04,00,00,00,00,00,00,00,00,0c,43,02,03,00,01,01,04,00,00,00\n2014-08-15T19:09:55.594Z,4,129038,43,255,27,01,e0,53,7f,10,fd,3e,c2,0e,4c,b1,a3,23,e0,4f,89,de,05,24,66,08,ac,87,ff,7f,00,fe\n2014-08-15T19:09:55.614Z,2,128259,160,255,8,ff,ff,ff,5c,01,ff,ff,ff\n2014-08-15T19:09:55.687Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,e8,3f,01,00\n2014-08-15T19:09:55.689Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:55.692Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:55.695Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:55.697Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:55.717Z,3,129291,160,255,8,ff,fc,6c,48,0e,00,ff,ff\n2014-08-15T19:09:55.804Z,4,129038,43,255,27,01,58,f9,8d,0c,0b,a1,38,0f,1a,f5,b3,23,e1,31,b1,e9,02,c3,08,02,42,b1,00,00,00,fe\n2014-08-15T19:09:55.887Z,3,127508,129,255,8,01,ae,05,9a,00,1e,75,ce\n2014-08-15T19:09:55.910Z,3,130577,160,255,14,c0,df,a6,80,5c,01,ff,ff,ff,ff,6c,48,0e,00\n2014-08-15T19:09:55.912Z,2,129025,160,255,8,24,a3,96,23,9a,19,bd,0e\n2014-08-15T19:09:55.916Z,7,129793,43,255,26,04,91,18,23,00,92,1a,86,0e,2c,f7,c7,23,00,30,cd,1f,29,24,66,08,a9,3f,10,00,fc\n2014-08-15T19:09:55.918Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:55.984Z,2,130306,115,255,8,00,ad,02,77,23,f2,ff,ff\n2014-08-15T19:09:56.012Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:56.019Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:56.056Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:56.060Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:56.065Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:56.096Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:56.124Z,2,129026,160,255,8,ff,fc,a6,80,5c,01,ff,ff\n2014-08-15T19:09:56.124Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:56.127Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:56.207Z,4,129039,43,255,26,12,44,11,b6,0d,05,19,bd,0e,a8,a2,96,23,df,b8,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:56.230Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:56.233Z,3,128267,115,255,8,00,f3,11,00,00,ff,ff,ff\n2014-08-15T19:09:56.264Z,6,129540,160,255,135,2b,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,74,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,1c,0c,00,00,00,00,f2,13,2e,08,cf,7e,54,0b,00,00,00,00,f2,1f,23,06,7e,52,48,0d,00,00,00,00,f2,1c,74,05,e5,be,48,0d,00,00,00,00,f2\n2014-08-15T19:09:56.266Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:09:56.268Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:56.425Z,3,129029,160,255,43,e0,a9,3f,a2,ec,1f,29,00,cc,f1,1e,04,3c,49,08,00,20,19,e0,37,7e,6e,03,20,40,2c,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:56.427Z,3,129033,160,255,8,a9,3f,a2,ec,1f,29,b4,00\n2014-08-15T19:09:56.518Z,3,126992,160,255,8,ff,ff,a9,3f,48,f6,1f,29\n2014-08-15T19:09:56.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,47,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:56.620Z,2,128259,160,255,8,ff,ff,ff,60,01,ff,ff,ff\n2014-08-15T19:09:56.683Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,e8,3f,01,00\n2014-08-15T19:09:56.686Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:56.687Z,3,127508,129,255,8,01,ae,05,95,00,1e,75,ce\n2014-08-15T19:09:56.689Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:56.691Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:56.694Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:56.712Z,3,129291,160,255,8,ff,fc,c5,45,1b,00,ff,ff\n2014-08-15T19:09:56.874Z,4,129038,43,255,27,03,12,8f,c4,0d,e1,15,e4,0e,dc,bb,da,23,d9,ac,78,b0,01,51,13,08,ac,78,00,00,00,fe\n2014-08-15T19:09:56.894Z,3,127508,129,255,8,01,af,05,c5,00,1e,75,ce\n2014-08-15T19:09:56.913Z,3,130577,160,255,14,c0,e0,3e,80,60,01,ff,ff,ff,ff,c5,45,1b,00\n2014-08-15T19:09:56.916Z,2,129025,160,255,8,ee,a1,96,23,50,19,bd,0e\n2014-08-15T19:09:56.924Z,4,129039,43,255,26,12,08,57,b6,0d,af,a5,cc,0e,8d,4d,91,23,e3,d0,5a,9b,01,06,00,0e,ff,ff,00,74,ff\n2014-08-15T19:09:56.994Z,2,130306,115,255,8,00,6f,02,eb,19,f2,ff,ff\n2014-08-15T19:09:57.013Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:57.015Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:57.034Z,4,129039,43,255,26,12,80,e5,c3,0d,b4,f0,c4,0e,6c,aa,94,23,e3,e1,51,a5,01,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:57.067Z,2,128259,115,255,8,00,4e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:57.069Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:57.072Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:57.101Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:57.115Z,2,129026,160,255,8,ff,fc,3e,80,60,01,ff,ff\n2014-08-15T19:09:57.129Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:57.166Z,3,127508,129,255,8,01,ac,05,6a,00,1e,75,ce\n2014-08-15T19:09:57.213Z,4,129039,43,255,26,12,44,11,b6,0d,b2,18,bd,0e,6b,a1,96,23,e3,7e,7f,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:57.232Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:57.234Z,3,128267,115,255,8,00,85,11,00,00,ff,ff,ff\n2014-08-15T19:09:57.254Z,6,129540,160,255,135,2c,ff,0b,20,c5,31,fd,95,80,0c,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,74,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,ac,0d,00,00,00,00,f2,13,2e,08,cf,7e,f0,0a,00,00,00,00,f2,1f,23,06,7e,52,c4,09,00,00,00,00,f2,1c,74,05,e5,be,80,0c,00,00,00,00,f2\n2014-08-15T19:09:57.256Z,2,127250,160,255,8,ff,a7,83,ff,7f,86,05,fc\n2014-08-15T19:09:57.259Z,4,129038,43,255,27,01,b8,53,a6,0c,29,22,76,0e,5a,98,9e,23,e4,4e,ad,78,02,e5,08,00,36,af,00,00,00,fe\n2014-08-15T19:09:57.264Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:57.304Z,4,129038,43,255,27,01,d4,e5,b5,0d,4a,11,e1,0e,f2,25,de,23,e8,57,21,00,00,24,66,08,68,21,00,00,00,fe\n2014-08-15T19:09:57.427Z,3,129029,160,255,43,e1,a9,3f,b2,13,20,29,00,aa,45,50,ba,3b,49,08,00,5e,8a,f2,25,7e,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:57.429Z,3,129033,160,255,8,a9,3f,b2,13,20,29,b4,00\n2014-08-15T19:09:57.434Z,4,129038,43,255,27,01,e0,53,7f,10,26,3b,c2,0e,6a,ac,a3,23,e8,4f,89,d8,05,39,40,01,ac,87,ff,7f,00,fe\n2014-08-15T19:09:57.520Z,3,126992,160,255,8,ff,ff,a9,3f,f8,1d,20,29\n2014-08-15T19:09:57.567Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,05,04,00,00,00,00,00,00,00,00,0a,39,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:57.622Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:09:57.666Z,2,130306,115,255,8,00,55,02,c9,22,f2,ff,ff\n2014-08-15T19:09:57.681Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,e8,3f,01,00\n2014-08-15T19:09:57.683Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:57.687Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:57.688Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:57.691Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:57.724Z,3,129291,160,255,8,ff,fc,89,59,22,00,ff,ff\n2014-08-15T19:09:57.754Z,4,129038,43,255,27,01,68,e2,20,12,bb,9d,f9,0e,9c,da,ac,23,e8,08,b0,02,02,72,08,01,f1,b1,00,00,00,fe\n2014-08-15T19:09:57.841Z,3,127508,129,255,8,01,af,05,aa,00,1e,75,ce\n2014-08-15T19:09:57.922Z,3,130577,160,255,14,c0,e1,1b,80,63,01,ff,ff,ff,ff,89,59,22,00\n2014-08-15T19:09:57.925Z,2,129025,160,255,8,b1,a0,96,23,03,19,bd,0e\n2014-08-15T19:09:57.975Z,2,128259,115,255,8,00,5e,01,ff,ff,00,ff,ff\n2014-08-15T19:09:58.023Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:58.027Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:58.030Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:58.032Z,2,128259,115,255,8,00,5b,01,ff,ff,00,ff,ff\n2014-08-15T19:09:58.084Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:58.119Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:58.124Z,2,129026,160,255,8,ff,fc,1b,80,63,01,ff,ff\n2014-08-15T19:09:58.154Z,4,129038,43,255,27,01,92,12,4b,10,a5,b3,f5,0e,a8,ae,ad,23,f0,94,b0,c0,02,50,40,09,42,b1,fa,ff,00,fe\n2014-08-15T19:09:58.223Z,4,129039,43,255,26,12,44,11,b6,0d,3d,18,bd,0e,1e,a0,96,23,e7,3e,80,68,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:58.229Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:58.231Z,3,128267,115,255,8,00,bc,11,00,00,ff,ff,ff\n2014-08-15T19:09:58.264Z,6,129540,160,255,135,2d,ff,0b,20,c5,31,fd,95,ac,0d,00,00,00,00,f2,01,0b,2f,94,b0,e4,0c,00,00,00,00,f2,0b,39,28,ac,87,74,0e,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,ac,0d,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,60,09,00,00,00,00,f2,1c,74,05,e5,be,1c,0c,00,00,00,00,f2\n2014-08-15T19:09:58.267Z,2,127250,160,255,8,ff,f8,82,ff,7f,86,05,fc\n2014-08-15T19:09:58.269Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:58.454Z,7,127506,129,255,9,cf,01,01,ff,ff,ff,ff,ff,ff\n2014-08-15T19:09:58.458Z,3,129029,160,255,43,e2,a9,3f,4e,3b,20,29,00,52,34,bd,70,3b,49,08,00,84,0d,80,0d,7e,6e,03,e0,a3,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:58.461Z,3,129033,160,255,8,a9,3f,4e,3b,20,29,b4,00\n2014-08-15T19:09:58.532Z,3,126992,160,255,8,ff,ff,a9,3f,1c,45,20,29\n2014-08-15T19:09:58.568Z,6,129794,43,255,75,05,b8,53,a6,0c,f6,21,8e,00,43,34,4b,42,32,20,20,42,41,4c,54,49,43,20,4d,45,52,43,48,41,4e,54,20,20,20,20,20,50,26,07,0e,01,aa,00,d2,05,ae,3f,00,bf,2f,20,56,04,46,41,57,4c,45,59,20,20,20,20,20,20,20,20,20,20,20,20,20,20,05,e0\n2014-08-15T19:09:58.572Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,02,00,00,00,00,00,00,00,00,09,4b,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:58.624Z,2,128259,160,255,8,ff,ff,ff,64,01,ff,ff,ff\n2014-08-15T19:09:58.638Z,2,130306,115,255,8,00,2c,02,83,25,f2,ff,ff\n2014-08-15T19:09:58.658Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:58.680Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,e8,3f,01,00\n2014-08-15T19:09:58.686Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:58.686Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:58.687Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:58.728Z,3,129291,160,255,8,ff,fc,61,50,1a,00,ff,ff\n2014-08-15T19:09:58.874Z,4,129039,43,255,26,12,ec,76,73,10,68,ac,be,0e,18,dc,6f,23,eb,db,7a,00,00,06,00,06,ff,ff,00,74,ff\n2014-08-15T19:09:58.932Z,3,130577,160,255,14,c0,e2,c9,80,64,01,ff,ff,ff,ff,61,50,1a,00\n2014-08-15T19:09:58.935Z,2,129025,160,255,8,75,9f,96,23,9a,18,bd,0e\n2014-08-15T19:09:58.988Z,2,128259,115,255,8,00,54,01,ff,ff,00,ff,ff\n2014-08-15T19:09:59.031Z,7,65306,115,255,8,3b,9f,e9,00,ff,ff,ff,ff\n2014-08-15T19:09:59.035Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:59.037Z,3,129283,160,255,8,ff,7f,ff,ff,ff,7f,ff,ff\n2014-08-15T19:09:59.039Z,2,128259,115,255,8,00,55,01,ff,ff,00,ff,ff\n2014-08-15T19:09:59.064Z,4,129038,43,255,27,01,c8,d4,7f,10,9f,c1,de,0e,29,c9,bf,23,e9,78,81,33,04,a3,08,09,94,83,00,00,00,fe\n2014-08-15T19:09:59.066Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:59.095Z,3,127508,129,255,8,01,ac,05,77,00,1e,75,cf\n2014-08-15T19:09:59.095Z,5,130311,115,255,8,00,c0,53,7a,ff,7f,ff,ff\n2014-08-15T19:09:59.126Z,2,129026,160,255,8,ff,fc,c9,80,64,01,ff,ff\n2014-08-15T19:09:59.144Z,4,129038,43,255,27,01,b8,f5,67,12,65,1a,97,0e,6f,97,92,23,ec,56,2d,d6,03,a6,08,0b,ff,2c,00,00,00,fe\n2014-08-15T19:09:59.227Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:59.230Z,3,128267,115,255,8,00,bc,11,00,00,ff,ff,ff\n2014-08-15T19:09:59.244Z,4,129039,43,255,26,12,44,11,b6,0d,43,17,bd,0e,94,9d,96,23,ef,b8,80,58,01,06,00,26,ff,ff,00,74,ff\n2014-08-15T19:09:59.266Z,6,129540,160,255,135,2e,ff,0b,20,c5,31,fd,95,3c,0f,00,00,00,00,f2,01,0b,2f,94,b0,48,0d,00,00,00,00,f2,0b,39,28,ac,87,48,0d,00,00,00,00,f2,0e,ff,1d,a2,2b,1c,0c,00,00,00,00,f2,14,23,15,7d,ac,48,0d,00,00,00,00,f2,11,5d,10,cd,d8,10,0e,00,00,00,00,f2,04,00,0f,1f,c9,10,0e,00,00,00,00,f2,16,3a,0a,39,37,10,0e,00,00,00,00,f2,13,2e,08,cf,7e,8c,0a,00,00,00,00,f2,1f,23,06,7e,52,c4,09,00,00,00,00,f2,1c,74,05,e5,be,e4,0c,00,00,00,00,f2\n2014-08-15T19:09:59.268Z,2,127250,160,255,8,ff,f2,81,ff,7f,86,05,fc\n2014-08-15T19:09:59.270Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:59.271Z,5,127513,129,255,8,01,c0,01,c0,07,00,ff,00\n2014-08-15T19:09:59.274Z,2,130762,129,255,8,00,00,00,00,b0,ff,ff,ff\n2014-08-15T19:09:59.354Z,4,129038,43,255,27,01,6c,70,4a,10,7b,73,05,0f,ac,2c,a4,23,e7,85,35,bf,01,ae,88,08,73,32,ce,ff,00,fe\n2014-08-15T19:09:59.444Z,3,129029,160,255,43,e3,a9,3f,72,62,20,29,00,b6,c3,8f,28,3b,49,08,00,b8,8a,e3,f3,7d,6e,03,b0,2e,2b,00,00,00,00,00,10,fc,0b,50,00,ff,7f,ff,ff,ff,7f,00\n2014-08-15T19:09:59.446Z,3,129033,160,255,8,a9,3f,72,62,20,29,b4,00\n2014-08-15T19:09:59.528Z,3,126992,160,255,8,ff,ff,a9,3f,36,6c,20,29\n2014-08-15T19:09:59.568Z,0,262386,0,0,33,01,0e,00,34,fd,01,00,00,00,00,00,02,04,04,00,00,00,00,00,00,00,00,09,4d,02,02,00,00,00,03,00,00,00\n2014-08-15T19:09:59.607Z,2,130306,115,255,8,00,55,02,eb,19,f2,ff,ff\n2014-08-15T19:09:59.615Z,4,129038,43,255,27,01,e0,53,7f,10,8f,2f,c2,0e,a3,9d,a3,23,00,60,89,d8,05,b8,88,09,ac,87,ff,7f,00,fe\n2014-08-15T19:09:59.631Z,2,128259,160,255,8,ff,ff,ff,63,01,ff,ff,ff\n2014-08-15T19:09:59.644Z,7,65370,115,255,8,3b,9f,40,82,ff,ff,ff,ff\n2014-08-15T19:09:59.677Z,6,128275,115,255,14,ff,ff,ff,ff,ff,ff,f6,28,0a,01,e8,3f,01,00\n2014-08-15T19:09:59.679Z,7,130919,115,255,11,3b,9f,03,00,04,5a,a1,12,19,09,09\n2014-08-15T19:09:59.681Z,7,130919,115,255,11,3b,9f,03,01,04,5a,a1,12,19,09,09\n2014-08-15T19:09:59.683Z,7,130919,115,255,11,3b,9f,03,02,04,5a,a1,12,19,09,09\n2014-08-15T19:09:59.732Z,3,129291,160,255,8,ff,fc,5e,75,0e,00,ff,ff\n2014-08-15T19:09:59.766Z,3,127508,129,255,8,01,ae,05,a4,00,1e,75,cf\n2014-08-15T19:09:59.929Z,3,130577,160,255,14,c0,e3,b8,80,63,01,ff,ff,ff,ff,5e,75,0e,00\n2014-08-15T19:09:59.931Z,2,129025,160,255,8,3f,9e,96,23,2c,18,bd,0e\n2014-08-15T19:09:59.970Z,2,128259,115,255,8,00,3a,01,ff,ff,00,ff,ff\n"
  },
  {
    "path": "samples/gofree-merrimac.log",
    "content": "!AIVDM,1,1,1,,13aI8e?P00PGpU:NR6s00?vT2000,0,0*1C\r\n!AIVDM,1,1,2,,13`kFLmP0LPHKsVNUD?RegvV2000,0,0*6F\r\n!AIVDM,1,1,3,,13aFh>?0000IvntNSnm8k9BV0000,0,0*41\r\n!AIVDM,1,1,4,,13cDbl00200J@D6NfEDal7o20000,0,0*60\r\n!AIVDM,1,1,5,,13aIi0gP00PHkIdNKQM9ggvV2000,0,0*56\r\n!AIVDM,1,1,6,,13aFfRPP00PIuAjNF3aP0?vV2000,0,0*3C\r\n!AIVDM,1,1,7,,13aGD7pP0?0Ho>0NKnSR4OvN0000,0,0*04\r\n!AIVDM,1,1,8,,13`t=0001BPHHnLNQ>Qbb8VV2000,0,0*13\r\n!AIVDM,1,1,9,,13b<Q`700Q0J72HNWpSSIBbR0000,0,0*2C\r\n!AIVDM,1,1,0,,13bh6v70000HjCTNKOC`O4p`0000,0,0*03\r\n$GPGGA,195719,5310.8115,N,00525.7025,E,1,00,1.10,-2,M,,M,,*57\r\n$GPGLL,5310.8115,N,00525.7025,E,195719,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195719,A,5310.8115,N,00525.7025,E,0.0,0.0,160414,0.7,E,A*10\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195719,16,04,14,-02,00*63\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWD,125.3,T,124.6,M,5.6,N,2.9,M*56\r\n$WIMWV,297.6,R,5.6,N,A*2A\r\n$WIMWV,297.5,T,5.6,N,A*2F\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,34hAgR5000PHeGDNFqG96J`V2000,0,0*65\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aGFvwP00PHi3FNKCN00?v`2000,0,0*5D\r\n!AIVDM,1,1,3,,14h?6j003B0G:kfNVlDRMQt`0000,0,0*1D\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13`va@0P000HpJBNKnV9>gv`0000,0,0*51\r\n!AIVDM,1,1,5,,33`qM>8P0aPGARhNSJQ2?j0`2000,0,0*4A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13aL?>HP00PHj5FNKAH00?v`2000,0,0*5D\r\n!AIVDM,1,1,7,,13:krn000o0HNehNH7>a>WHT0000,0,0*7C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13b?AJ7P0Q0J12lNV6c59wvV0000,0,0*12\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13`uO27P0KPHJrJNL4r3sCDb2000,0,0*3D\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*76\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*77\r\n$GPGGA,195720,5310.8115,N,00525.7025,E,1,00,1.10,-2,M,,M,,*5D\r\n$GPGLL,5310.8115,N,00525.7025,E,195720,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195720,A,5310.8115,N,00525.7025,E,0.0,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,2,,13aGuu@P00PHq0:NKutP0?v`2000,0,0*51\r\n$GPZDA,195720,16,04,14,-02,00*69\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.2,T,124.6,M,5.6,N,2.9,M*57\r\n$WIMWV,297.2,R,5.6,N,A*2E\r\n$WIMWV,296.3,T,5.6,N,A*28\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aKWv?P000HjUBNK?u:p?vb0000,0,0*05\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13aDo:@P00PJ2h8NEeI7=gv`2000,0,0*0B\r\n!AIVDM,1,1,5,,13aDA0PP00PHn3`NKRFP0?v`2000,0,0*67\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13bE@>7P0O0JQUDN``K3=?wp0000,0,0*07\r\n!AIVDM,1,1,7,,13aBMu@P00PJK4TNEh400?vb2000,0,0*0A\r\n!AIVDM,1,1,8,,13aKVPHP00PHj5fNK8G00?vb2000,0,0*07\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aJH>OP000GpVhNR0::;wvd0000,0,0*49\r\n!AIVDM,1,1,0,,13aGFgSP00PGp32NQtWbvgvd2000,0,0*74\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195721,5310.8115,N,00525.7025,E,1,00,1.10,-2,M,,M,,*5C\r\n$GPGLL,5310.8115,N,00525.7025,E,195721,A,A*46\r\n!AIVDM,1,1,1,,13bQtf?P000Hf3RNFs?akgvd0000,0,0*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195721,A,5310.8115,N,00525.7025,E,0.0,0.0,160414,0.7,E,A*1B\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195721,16,04,14,-02,00*68\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,2,,33aGFRwP000HnkdNKlB3qwvd0000,0,0*49\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.2,T,124.6,M,4.6,N,2.4,M*5B\r\n$WIMWV,298.0,R,4.6,N,A*22\r\n$WIMWV,300.1,T,4.6,N,A*25\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,3,,13aMB<?016PGdnjNJq5R21LV2000,0,0*6E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aGDjCP00PHiQdNK9d;fgvV2000,0,0*52\r\n!AIVDM,1,1,5,,13aDGp00000Gpq<NR;>cT8Fd0000,0,0*20\r\n!AIVDM,1,1,6,,15Q:RP002g0FSrtN`ucacojb0000,0,0*0B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,13btD>00000GqJ:NR>BPSFbb0000,0,0*71\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13aGuE@P000JKgvNTiicROvf0000,0,0*13\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13aGFROP000Ho<hNKmR;9?vf0000,0,0*39\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13aDBD0P00PHj0RNKB?00?vd2000,0,0*4D\r\n!AIVDM,1,1,1,,102EFW3P000Hk`JNK`E`?Ovf0000,0,0*57\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13`e=?HP00PHmI@NKBT00?vd2000,0,0*14\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13aFgJ?P00PHf8@NFsWP0?vd2000,0,0*4A\r\n!AIVDM,1,1,4,,13`qM>8P0bPGATHNSJURK22f2000,0,0*20\r\n$GPGGA,195722,5310.8115,N,00525.7025,E,1,00,1.10,-2,M,,M,,*5F\r\n!AIVDM,1,1,5,,13c0aT00000HJJ4NGeMa5Jhf0000,0,0*57\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGLL,5310.8115,N,00525.7025,E,195722,A,A*45\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195722,A,5310.8115,N,00525.7025,E,0.1,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195722,16,04,14,-02,00*6B\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,6,,13aFgphP1EPHENDNC5h77gvf2000,0,0*41\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n!AIVDM,1,1,7,,33aIggEP00PKoN@NLHaP0?vd2000,0,0*6F\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.2,T,124.6,M,4.6,N,2.4,M*5B\r\n$WIMWV,296.4,R,4.6,N,A*28\r\n$WIMWV,296.4,T,4.6,N,A*2E\r\n!AIVDM,1,1,8,,13brCD00000HtKVNKFc3@CFf0000,0,0*77\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13IOOb002<0HKlHNcWp9pWnb0000,0,0*6A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,16LWib003@PEom4NSeRROj0d2000,0,0*07\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13P<QQ@0000Hdg2NFpPPNrPf0000,0,0*6F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aR>V0000PHifPNK;;bmr:h2000,0,0*7F\r\n$GPGGA,195723,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*5F\r\n$GPGLL,5310.8115,N,00525.7024,E,195723,A,A*45\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,3,,13aGCN8P00PHj88NKBA;<Ovh2000,0,0*29\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195723,A,5310.8115,N,00525.7024,E,0.1,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195723,16,04,14,-02,00*6A\r\n!AIVDM,1,1,4,,13aBLqgP00PHpR@NKQU00?vf2000,0,0*32\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,5,,13aEQuOP00PHiuvNKCM00?vf2000,0,0*07\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n!AIVDM,1,1,6,,33aGti@00UPJVm0NKat:>7tf2000,0,0*41\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWD,125.1,T,124.5,M,4.6,N,2.4,M*5B\r\n$WIMWV,299.4,R,4.6,N,A*27\r\n$WIMWV,298.5,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,7,,13aph000000GrCpNGNS0M5Nh0000,0,0*4B\r\n!AIVDM,1,1,8,,13P;h8h12ePGa=tNc8`9rGrb2000,0,0*20\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13aIi<0P00PJKOtNTjWP0?vh2000,0,0*53\r\n!AIVDM,1,1,0,,13aL>vwP00PIMt<NKaIP0?vh2000,0,0*79\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13u7M`002B0F03`NbO>0dPHf0000,0,0*35\r\n!AIVDM,1,1,2,,13b`Bv5P1GPHU8pNH`S17gvh2000,0,0*23\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,33aN2dU0000HnO0NKeK=`Qff0000,0,0*1A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,33bb0F?00C0GiS>NTGDbGH:j0000,0,0*12\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13b=DJ0P00PGp@8NQuoar?vj2000,0,0*55\r\n!AIVDM,1,1,6,,13aI;8gP00PHf16NFt500?vh2000,0,0*40\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195724,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*58\r\n$GPGLL,5310.8115,N,00525.7024,E,195724,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195724,A,5310.8115,N,00525.7024,E,0.1,0.0,160414,0.7,E,A*1E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,7,,13aI9j8P00PHit@NKG:00?vh2000,0,0*43\r\n$GPZDA,195724,16,04,14,-02,00*6D\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,8,,33`uO27P0KPHJtFNL4oT4CHj2000,0,0*0D\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.1,T,124.5,M,4.6,N,2.4,M*5B\r\n!AIVDM,1,1,9,,13aGtCgP00PHi0@NK@eP0?vh2000,0,0*04\r\n$WIMWV,299.3,R,4.6,N,A*20\r\n$WIMWV,298.7,T,4.6,N,A*23\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13`rcF?P000HRkTN@b3P0?vf0000,0,0*14\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13aB:Hh000PHjE0NKJi69irh2000,0,0*1E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0C\r\n!AIVDM,1,1,3,,13aL<SPP00PJG<NNKufP0?vj2000,0,0*70\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,33`qM>8P0cPGAUPNSJa2LR8l2000,0,0*09\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,B3`g`a@0086:A7WUfrp03wP00000,0,0*49\r\n$GPGGA,195725,5310.8114,N,00525.7024,E,1,00,1.10,-2,M,,M,,*58\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,33aGua?P00PHfELNFrr00?vj2000,0,0*4E\r\n$GPGLL,5310.8114,N,00525.7024,E,195725,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,7,,13aDr68P00PHj4:NKAI00?vj2000,0,0*17\r\n$GPRMC,195725,A,5310.8114,N,00525.7024,E,0.1,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195725,16,04,14,-02,00*6C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,9,,14h?6j003B0G;48NVlu2M1tl0000,0,0*2A\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.2,T,124.5,M,4.6,N,2.4,M*58\r\n$WIMWV,300.6,R,4.6,N,A*24\r\n$WIMWV,299.6,T,4.6,N,A*23\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aFfb0P00PJgPtNFp500?vl2000,0,0*39\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13a?OH?00OPH>WbNM2:5>lDn2000,0,0*36\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aN1EgP0LPHBkVNI5P=Ugvn2000,0,0*4B\r\n$GPGGA,195726,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*5A\r\n$GPGLL,5310.8115,N,00525.7024,E,195726,A,A*40\r\n!AIVDM,1,1,3,,15C78000000GohFNQum:NU>n0000,0,0*70\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195726,A,5310.8115,N,00525.7024,E,0.0,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,4,,13a5jB0P000GoWpNQuqP0?vd0000,0,0*38\r\n$GPZDA,195726,16,04,14,-02,00*6F\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.4,T,124.7,M,4.6,N,2.4,M*5C\r\n$WIMWV,304.6,R,4.6,N,A*20\r\n$WIMWV,301.4,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13a6ld00000Hpm@NL1`P09dn0000,0,0*36\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aGvAh0000I11@NQQs9`5vn0000,0,0*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,7,,53aL=FP000010=5J220PE8=DhE>2Q0ThuA>V220j1`6223?ns4j0DS2CQiC`88,0,2*75\r\n!AIVDM,2,2,7,,888888883,2,2*7F\r\n!AIVDM,1,1,8,,13aI;8wP00PHJAjNGgK00?vn2000,0,0*34\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,33`uO27P0KPHJu8NL4n483Jp2000,0,0*76\r\n!AIVDM,1,1,0,,33aBLqhP000JbdnNLCs00?vl0000,0,0*68\r\n!AIVDM,1,1,1,,13aetV7P0JPHGBdNL41SM?vn2000,0,0*36\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13c1LF0P0n0HlLtNR@j1:Ovn0000,0,0*6B\r\n$GPGGA,195727,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*5B\r\n$GPGLL,5310.8115,N,00525.7024,E,195727,A,A*41\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195727,A,5310.8115,N,00525.7024,E,0.0,0.0,160414,0.7,E,A*1C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195727,16,04,14,-02,00*6E\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,3,,13b<2H7000PHkHLNKT1WihTn2000,0,0*10\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,4,,13aC2`wP0oPHJMtNGgwW3gvp2000,0,0*30\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.6,T,125.0,M,3.7,N,1.9,M*50\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWV,305.9,R,3.7,N,A*28\r\n$WIMWV,301.9,T,3.7,N,A*2A\r\n!AIVDM,1,1,5,,13`vB;pP00PHMLlNGI7<nOvn2000,0,0*06\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,6,,13aDBd8P00PHivnNKBv00?vn2000,0,0*59\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,34hAmI50000HneFNKid94hHp0000,0,0*23\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13aEOEPP00PHm@nNK`j;Ngv62000,0,0*6B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13bjvT?0000H560NQgi1Gb4n0000,0,0*71\r\n!AIVDM,1,1,0,,13bh6v70000HjCNNKOBa:Dpr0000,0,0*0E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,15Q:RP002g0FSWRN`u99fWjn0000,0,0*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,102EFW3P000Hk`NNK`F`Bgvr0000,0,0*12\r\n!AIVDM,1,1,3,,13aFh>?0000IvnjNSnk`j9Br0000,0,0*24\r\n$GPGGA,195728,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*54\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aGFvwP00PHi3BNKCN00?vp2000,0,0*4F\r\n$GPGLL,5310.8115,N,00525.7024,E,195728,A,A*4E\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195728,A,5310.8115,N,00525.7024,E,0.0,0.0,160414,0.7,E,A*13\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195728,16,04,14,-02,00*61\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,126.0,T,125.4,M,3.7,N,1.9,M*51\r\n$WIMWV,304.7,R,3.7,N,A*27\r\n$WIMWV,305.9,T,3.7,N,A*2E\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aJJNOP000JKIFNTj700?vr0000,0,0*3E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,15E<fj002UPIM@`NbPPRhB8t2000,0,0*35\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,16LWib003@PEp8LNSf?ROj0r2000,0,0*4A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13P;h8h02ePGa1hNc8I9sGrl2000,0,0*17\r\n!AIVDM,1,1,9,,13aL?>HP00PHj52NKAEP0?vr2000,0,0*59\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13cDbl001w0J@0FNfDlamGoH0000,0,0*06\r\n$GPGGA,195729,5310.8115,N,00525.7024,E,1,00,1.10,-2,M,,M,,*55\r\n$GPGLL,5310.8115,N,00525.7024,E,195729,A,A*4F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,1,,13aENfwP00PHi9tNK?LP0?vr2000,0,0*70\r\n!AIVDM,1,1,2,,33aI:b5P00PHp?8NKR900?vr2000,0,0*64\r\n$GPRMC,195729,A,5310.8115,N,00525.7024,E,0.0,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195729,16,04,14,-02,00*60\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,3,,13aGD7pP0?0Ho@2NKnWR4Ovj0000,0,0*5C\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,126.2,T,125.6,M,3.7,N,1.9,M*51\r\n$WIMWV,303.1,R,3.7,N,A*26\r\n$WIMWV,303.6,T,3.7,N,A*27\r\n!AIVDM,1,1,4,,33bC3V51000Hkh2NKUt`3:rp0000,0,0*09\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aIi0gP00PHkIdNKQLaUwvt2000,0,0*0F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13aGti@00UPJVitNKaq:8Wrt2000,0,0*74\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,13`uO27P0KPHJvBNL4l4=3Nv2000,0,0*06\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13bQtf?P000Hf3fNFs>ak?vv0000,0,0*34\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13:krn000n0HNW8NH6n9=7Hr0000,0,0*54\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195730,5310.8116,N,00525.7024,E,1,00,1.10,-2,M,,M,,*5E\r\n$GPGLL,5310.8116,N,00525.7024,E,195730,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,1,,13aGDjkP0OPJUMtNScocwgvt2000,0,0*10\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195730,A,5310.8116,N,00525.7024,E,0.1,0.0,160414,0.7,E,A*18\r\n!AIVDM,1,1,2,,13aDA0PP00PHn3fNKRF00?vt2000,0,0*12\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195730,16,04,14,-02,00*68\r\n$GPAAM,,,,N,*38\r\n!AIVDM,1,1,3,,13aGDjCP00PHiQdNK9ccfgvp2000,0,0*2C\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,4,,13aGFgSP00PGp34NQt`cO?vv2000,0,0*33\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,126.2,T,125.5,M,3.7,N,1.9,M*52\r\n$WIMWV,296.0,R,3.7,N,A*2A\r\n$WIMWV,291.0,T,3.7,N,A*2B\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13bHGL?P0JPHMe2NU@bRhgvv2000,0,0*1F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,2,1,7,,53a?OH0000010?GC;R0P7B1@Tp6222222222220N285222w103B0DS2CQiC`88,0,2*0C\r\n!AIVDM,2,2,7,,888888883,2,2*7F\r\n!AIVDM,1,1,8,,13aMB<?015PGdvPNJqTQrAJr2000,0,0*34\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13btD>00000GqJ6NR>A3rFbv0000,0,0*26\r\n!AIVDM,1,1,0,,13bb0F?00D0GiQ8NTGC:>8=00000,0,0*1C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195731,5310.8116,N,00525.7023,E,1,00,1.10,-2,M,,M,,*58\r\n$GPGLL,5310.8116,N,00525.7023,E,195731,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195731,A,5310.8116,N,00525.7023,E,0.1,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195731,16,04,14,-02,00*69\r\n$GPAAM,,,,N,*38\r\n!AIVDM,1,1,1,,13`va@0P000HpJHNKnVa6ww00000,0,0*4F\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,2,,13aGFROP000Ho=>NKmP;;ww00000,0,0*7A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,126.1,T,125.5,M,4.6,N,2.4,M*59\r\n$WIMWV,285.8,R,4.6,N,A*26\r\n$WIMWV,290.8,T,4.6,N,A*24\r\n!AIVDM,1,1,3,,14h?6j003B0G;DfNVmTRMQu00000,0,0*73\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13c0aT00000HJJ8NGeMb5Ji00000,0,0*0E\r\n!AIVDM,1,1,5,,13aKWv?P000HjUhNK?v:ggw00000,0,0*36\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13aGCN8P00PHj8HNKB@c9gw22000,0,0*73\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,13aGuu@P00PHq02NKuu00?w02000,0,0*6C\r\n!AIVDM,1,1,8,,13aJH>OP00PGpVlNR0;:;Ow22000,0,0*40\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13aGFRwP000HnkjNKlD:7Ow20000,0,0*68\r\n!AIVDM,1,1,0,,15C3:600000Gok4NQuD`lTC20000,0,0*73\r\n!AIVDM,1,1,1,,13aFgphP1EPHEMpNC4m77gw22000,0,0*20\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195732,5310.8116,N,00525.7023,E,1,00,1.10,-2,M,,M,,*5B\r\n$GPGLL,5310.8116,N,00525.7023,E,195732,A,A*41\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195732,A,5310.8116,N,00525.7023,E,0.1,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPZDA,195732,16,04,14,-02,00*6A\r\n$GPAAM,,,,N,*38\r\n!AIVDM,1,1,2,,13brCD00000HtKVNKFaS@CG20000,0,0*4A\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,3,,13aBMu@P00PJK4dNEh500?w02000,0,0*6C\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.8,T,125.2,M,4.6,N,2.4,M*54\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWV,283.2,R,4.6,N,A*2A\r\n$WIMWV,292.4,T,4.6,N,A*2A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13`e=?HP00PHmI:NKBS00?w22000,0,0*38\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aBLqgP00PHpRDNKQWP0?w22000,0,0*00\r\n!AIVDM,1,1,6,,13aFgJ?P00PHf8TNFsa00?w22000,0,0*5A\r\n!AIVDM,1,1,7,,13aIi<0P00PJKP0NTjWP0?w22000,0,0*5D\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,13aI9j8P00PHit@NKG:00?w22000,0,0*17\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13aGuE@P00PJKh8NTii;bgw42000,0,0*22\r\n!AIVDM,1,1,0,,13aEQuOP00PHiutNKCM00?w22000,0,0*55\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13b8s:001APKe?tNd`T:tHW22000,0,0*61\r\n!AIVDM,1,1,2,,13aDBD0P00PHj0BNKB>7FOw22000,0,0*08\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195733,5310.8117,N,00525.7023,E,1,00,1.10,-2,M,,M,,*5B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGLL,5310.8117,N,00525.7023,E,195733,A,A*41\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195733,A,5310.8117,N,00525.7023,E,0.1,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195733,16,04,14,-02,00*6B\r\n!AIVDM,1,1,3,,33`uO27P0KPHJwlNL4hTBSQ42000,0,0*09\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.7,T,125.0,M,4.6,N,2.4,M*59\r\n!AIVDM,1,1,4,,13b`Bv5P1GPHU>jNHaIQ5Ow22000,0,0*33\r\n$WIMWV,295.8,R,4.6,N,A*27\r\n$WIMWV,301.8,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aR>V0000PHifDNK;<:mr;42000,0,0*6E\r\n!AIVDM,1,1,6,,13P<QQ@0000Hdg6NFpH0G:Q20000,0,0*00\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,13aL>vwP00PIMt@NKaJP0?w42000,0,0*5C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,15Q:RP002g0FSMpN`tnafWk20000,0,0*5E\r\n!AIVDM,1,1,9,,102EFW3P00PHk`NNK`E`I?w62000,0,0*6E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13b=DJ0P00PGp@6NQut9r?w62000,0,0*40\r\n!AIVDM,1,1,1,,13aJGrOP00PGph4NR9h00?w42000,0,0*41\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aL<SPP00PJG<RNKueP0?w42000,0,0*31\r\n!AIVDM,1,1,3,,13`j7c00@0PG?:8NOgf59lE62000,0,0*5F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aI;8gP00PHf14NFt5P0?w42000,0,0*7D\r\n$GPGGA,195734,5310.8117,N,00525.7023,E,1,00,1.10,-2,M,,M,,*5C\r\n$GPGLL,5310.8117,N,00525.7023,E,195734,A,A*46\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195734,A,5310.8117,N,00525.7023,E,0.1,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,5,,33aGua?P00PHfEJNFrrP0?w42000,0,0*74\r\n$GPZDA,195734,16,04,14,-02,00*6C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,125.1,T,124.4,M,3.7,N,1.9,M*52\r\n$WIMWV,292.0,R,3.7,N,A*2E\r\n$WIMWV,281.3,T,3.7,N,A*29\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,33bb0F?00D0GiP@NTGD:KH?60000,0,0*67\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,33`qM>800ePGAcPNSJm2fBC62000,0,0*4D\r\n!AIVDM,1,1,8,,13cLV`001F0HNp:NH6Ka=WI80000,0,0*52\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,16LWib003@PEpI0NSfmROj162000,0,0*5E\r\n!AIVDM,1,1,0,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,15E<fj002UPIMNHNbPo2hB982000,0,0*06\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13`rcF?P000HRl0N@b500?w40000,0,0*40\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13a6ld00000HpmTNL1`P09e80000,0,0*73\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0A\r\n!AIVDM,1,1,5,,13aI;8wP00PHJAbNGgK00?w62000,0,0*68\r\n$GPGGA,195735,5310.8117,N,00525.7023,E,1,00,1.10,-2,M,,M,,*5D\r\n$GPGLL,5310.8117,N,00525.7023,E,195735,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195735,A,5310.8117,N,00525.7023,E,0.0,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195735,16,04,14,-02,00*6D\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13bNqJ0P1>PFhq:NJujelgw82000,0,0*3A\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.0,T,124.4,M,3.7,N,1.9,M*53\r\n!AIVDM,1,1,7,,13aN1EgP0LPHBjrNI5j=Vww82000,0,0*15\r\n$WIMWV,299.4,R,4.6,N,A*27\r\n$WIMWV,290.2,T,3.7,N,A*28\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,8,,13aIkM@P00PJ@ofNL=dP0?w62000,0,0*4B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13a5jB0P000GoWpNQuqP0?vv0000,0,0*27\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0E\r\n!AIVDM,1,1,1,,13aGuEPP00PJL20NTkSav?w:2000,0,0*4F\r\n!AIVDM,1,1,2,,33aE:b5P000Hj5FNKCg5Agw60000,0,0*42\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13aFfb0P00PJgQ2NFp600?w82000,0,0*2B\r\n!AIVDM,1,1,4,,13aENr@P00PHTGhN@QGP0?w82000,0,0*2C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aDr68P00PHj3hNKAH00?w82000,0,0*12\r\n!AIVDM,1,1,6,,13aB:Hh000PHjDvNKJi2F1s82000,0,0*2C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13b<2H7000PHkH4NKT48?@U82000,0,0*2F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195736,5310.8118,N,00525.7023,E,1,00,1.10,-2,M,,M,,*51\r\n$GPGLL,5310.8118,N,00525.7023,E,195736,A,A*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195736,A,5310.8118,N,00525.7023,E,0.0,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195736,16,04,14,-02,00*6E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,8,,13aetV7P0JPHGFfNL41STOw82000,0,0*07\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,9,,13a?OH?00OPH>bhNM1oUJlC:2000,0,0*10\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.2,T,124.5,M,3.7,N,1.9,M*50\r\n$WIMWV,296.4,R,3.7,N,A*2E\r\n$WIMWV,297.3,T,3.7,N,A*2E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,0,,13aL>Dg000PGa@nNKge62TS:2000,0,0*2D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aDrkOP00PHi>tNKB0Upgw82000,0,0*28\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,B39k:bP0?`635IWWAS31;wP00000,0,0*48\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,15C78000000GohBNQun:Pm?:0000,0,0*04\r\n!AIVDM,1,1,4,,13aC2`wP0lPHJMpNGgN6rOw<2000,0,0*4B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,33`uO27P0LPHK0vNL4fTI3S<2000,0,0*3B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aDBd8P00PHivjNKC000?w:2000,0,0*4F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aGE00P00PGp0LNQupbBgw<2000,0,0*72\r\n$GPGGA,195737,5310.8118,N,00525.7023,E,1,00,1.10,-2,M,,M,,*50\r\n$GPGLL,5310.8118,N,00525.7023,E,195737,A,A*4A\r\n!AIVDM,1,1,8,,13c1LF0P0l0HlR<NRA=25Ow:0000,0,0*3A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195737,A,5310.8118,N,00525.7023,E,0.0,0.0,160414,0.7,E,A*17\r\n!AIVDM,1,1,9,,13aEOEPP00PHm@bNK`icNgvJ2000,0,0*41\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,0,,13`fJDh0000Epp@NE2T4TIw80000,0,0*27\r\n$GPZDA,195737,16,04,14,-02,00*6F\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n!AIVDM,1,1,1,,13aFh>?0000IvnfNSnk8VqG<0000,0,0*4D\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.3,T,124.7,M,3.7,N,1.9,M*53\r\n$WIMWV,305.3,R,3.7,N,A*22\r\n$WIMWV,305.0,T,3.7,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*28\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aGvAh0000I11NNQQscC5w<0000,0,0*57\r\n!AIVDM,1,1,4,,13`t=0001DPHHO>NQ>Vbbpa<2000,0,0*58\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13bjvT?0000H55vNQghQGb5:0000,0,0*0C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,14h?6j003B0G;WvNVnCRMQw>0000,0,0*6D\r\n$GPGGA,195738,5310.8119,N,00525.7023,E,1,00,1.10,-2,M,,M,,*5E\r\n$GPGLL,5310.8119,N,00525.7023,E,195738,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195738,A,5310.8119,N,00525.7023,E,0.0,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195738,16,04,14,-02,00*60\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n!AIVDM,1,1,7,,13cDbl001w0J?hDNfDK9moob0000,0,0*59\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n!AIVDM,1,1,8,,13aFfRPP00PIu@tNF3cP0?w<2000,0,0*44\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.5,T,124.8,M,3.7,N,1.9,M*5A\r\n$WIMWV,308.7,R,3.7,N,A*2B\r\n$WIMWV,297.3,T,3.7,N,A*2E\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,33bgc`50000Hja`NKFdVT2U<0000,0,0*2C\r\n!AIVDM,1,1,0,,13aIi0gP00PHkIRNKQLaPOw>2000,0,0*4A\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,1,,53aDA0P000010CGW?81Dp@TpD0000000000000166H5251Hdm0UPC`23m83P@D,0,2*17\r\n!AIVDM,2,2,1,,`21DP0003,2,2*3E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aI8e?P00PGpUJNR6sP0?w>2000,0,0*64\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aGFvwP00PHi3JNKCN00?w>2000,0,0*0F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13aGD7pP0?0HoA6NKn`24Ow60000,0,0*54\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195739,5310.8119,N,00525.7022,E,1,00,1.10,-2,M,,M,,*5E\r\n$GPGLL,5310.8119,N,00525.7022,E,195739,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,5,,15Q:RP002g0FS:PN`tCafWk>0000,0,0*25\r\n$GPRMC,195739,A,5310.8119,N,00525.7022,E,0.1,0.0,160414,0.7,E,A*18\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPZDA,195739,16,04,14,-02,00*61\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.5,T,124.9,M,3.7,N,1.9,M*5B\r\n$WIMWV,292.1,R,3.7,N,A*2F\r\n$WIMWV,292.1,T,3.7,N,A*29\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13`gh8700IPIpqHNWl6:dHa@2000,0,0*40\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aGF=8P00PGpaHNR8UWj?w@2000,0,0*73\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,13bh6v70000HjCNNKOBa=4qB0000,0,0*40\r\n!AIVDM,1,1,9,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aENfwP00PHi:6NK?KP0?w@2000,0,0*04\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*77\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*74\r\n$GPGGA,195740,5310.8119,N,00525.7022,E,1,00,1.10,-2,M,,M,,*50\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGLL,5310.8119,N,00525.7022,E,195740,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,3,,13aMB<?016PGe5HNJr21p1I<2000,0,0*5C\r\n$GPRMC,195740,A,5310.8119,N,00525.7022,E,0.1,0.0,160414,0.7,E,A*16\r\n!AIVDM,1,1,4,,13`uO27P0LPHK2NNL4bTLSUB2000,0,0*1B\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195740,16,04,14,-02,00*6F\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,5,,13aGFROP000Ho<tNKmP;w?wB0000,0,0*40\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n!AIVDM,1,1,6,,13IOOb002<0HKB0NcW69uWo>0000,0,0*2D\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.5,T,124.8,M,3.7,N,1.9,M*5A\r\n!AIVDM,1,1,7,,13aL?>HP00PHj5JNKAJ00?w@2000,0,0*73\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWV,292.6,R,3.7,N,A*28\r\n$WIMWV,292.6,T,3.7,N,A*2E\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,8,,13P;h8hw2ePG`TdNc7g9sos<2000,0,0*60\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13b?AJ7P0P0J1:tNV6:U7gwB0000,0,0*30\r\n!AIVDM,1,1,0,,13bQtf?P000Hf2>NFsL9hwwB0000,0,0*31\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,102EFW3P000Hk`VNK`L`M?wB0000,0,0*65\r\n!AIVDM,1,1,2,,13:krn000n0HNPTNH6R9>WI>0000,0,0*2F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aDA0PP00PHn3lNKRF00?wB2000,0,0*2E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13aKVPHP00PHj5fNK8EP0?wB2000,0,0*48\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13aGDjCP00PHiQPNK9cckgw>2000,0,0*5C\r\n!AIVDM,1,1,6,,13aDGp00000Gpq<NR;?7g8GD0000,0,0*64\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13`va@0P000HpJJNKnW93?wD0000,0,0*2B\r\n!AIVDM,1,1,8,,16LWib003APEpaTNSgN2Oj1B2000,0,0*24\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13brCD00000HtKPNKFaS@CGD0000,0,0*31\r\n$GPGGA,195741,5310.8119,N,00525.7022,E,1,00,1.10,-2,M,,M,,*51\r\n$GPGLL,5310.8119,N,00525.7022,E,195741,A,A*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195741,A,5310.8119,N,00525.7022,E,0.0,0.0,160414,0.7,E,A*16\r\n!AIVDM,1,1,0,,13aKWv?P000HjUjNK?vbfgwD0000,0,0*1C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195741,16,04,14,-02,00*6E\r\n!AIVDM,1,1,1,,13aGuu@P00PHq0:NKutPKgwB2000,0,0*52\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.5,T,124.8,M,4.6,N,2.4,M*52\r\n$WIMWV,292.6,R,4.6,N,A*2E\r\n$WIMWV,292.6,T,4.6,N,A*28\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,2,,13aGFRwP000HnklNKlE:5?wD0000,0,0*60\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13b8s:001APKe6RNd`e:tpWB2000,0,0*35\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13btD>00000GqJ6NR>A8rnaD0000,0,0*39\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13b`Bv5P1HPHUD<NHb:Q5gwD2000,0,0*3F\r\n!AIVDM,1,1,6,,13aFgJ?P00PHf8lNFsaP0?wD2000,0,0*74\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aFgphP1DPHEMRNC3r78?wF2000,0,0*3E\r\n$GPGGA,195742,5310.8119,N,00525.7022,E,1,00,1.10,-2,M,,M,,*52\r\n$GPGLL,5310.8119,N,00525.7022,E,195742,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195742,A,5310.8119,N,00525.7022,E,0.1,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195742,16,04,14,-02,00*6D\r\n!AIVDM,1,1,8,,13aBMu@P00PJK4jNEh500?wD2000,0,0*1D\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,9,,13c0aT00000HJJ:NGeMWobiF0000,0,0*30\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.3,T,124.7,M,4.6,N,2.4,M*5B\r\n$WIMWV,299.8,R,4.6,N,A*2B\r\n$WIMWV,299.8,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,0,,13bt8P0P000HfWBNBq58mOwD0000,0,0*3D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aGCN8P00PHj8pNKB>;5wwF2000,0,0*02\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,2,,53bC3V0000010@h6220<tiDl8T62Q0ThuBV2220j000002w002T2C3m80ShDQ2,0,2*08\r\n!AIVDM,2,2,2,,CQp0DQ@H3,2,2*35\r\n!AIVDM,1,1,3,,13`e=?HP00PHmI8NKBT00?wF2000,0,0*4E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,15C3:600000Gok4NQuDaVlCH0000,0,0*0E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,5,,53bC3V0000010@h6220<tiDl8T62Q0ThuBV2220j000002w002T2C3m80ShDQ2,0,2*0F\r\n!AIVDM,2,2,5,,CQp0DQ@H3,2,2*32\r\n!AIVDM,1,1,6,,13aJH>OP00PGpVVNR0;b:wwH2000,0,0*6F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aL>vwP00PIMtJNKaJP0?wF2000,0,0*24\r\n!AIVDM,1,1,8,,14h?6j003B0G;mVNVnm2MQwH0000,0,0*41\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13`qM>8P0gPGAiLNSJuS325H2000,0,0*61\r\n!AIVDM,1,1,0,,13P<QQ@0000Hdg:NFpI0OrQF0000,0,0*3F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195743,5310.8119,N,00525.7023,E,1,00,1.10,-2,M,,M,,*52\r\n!AIVDM,1,1,1,,13aDBD0P00PHj0>NKB;00?wF2000,0,0*07\r\n$GPGLL,5310.8119,N,00525.7023,E,195743,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195743,A,5310.8119,N,00525.7023,E,0.0,0.0,160414,0.7,E,A*15\r\n!AIVDM,1,1,2,,B3aDrlh0086:UpWUfo83;wP00000,0,0*56\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPZDA,195743,16,04,14,-02,00*6C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,3,,13aR>V0000PHifJNK;<bmr;H2000,0,0*42\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.4,T,124.7,M,4.6,N,2.4,M*5C\r\n$WIMWV,292.9,R,4.6,N,A*21\r\n$WIMWV,292.9,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,4,,13aBLqgP00PHpRLNKQb00?wH2000,0,0*26\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13aph000000GrClNGNU0`mQH0000,0,0*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13cLV`001F0HNflNH5ua?oKJ0000,0,0*6B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,H3eMkoh8DhhF0@F0`uE800000000,0,0*27\r\n!AIVDM,1,1,8,,H3eMkoh8DhhF0@F0`uE800000000,0,0*28\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aI9j8P00PHit@NKG:00?wH2000,0,0*6C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aI;8gP00PHf14NFt500?wH2000,0,0*65\r\n!AIVDM,1,1,1,,33`uO2700LPHK3VNL4WTPCUJ2000,0,0*54\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aEQuOP00PHiv6NKCLP0?wH2000,0,0*0D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13`j7c0000PG?:8NOgf:bTEJ2000,0,0*3F\r\n!AIVDM,1,1,4,,13aIi<0P00PJKP0NTj`00?wH2000,0,0*73\r\n$GPGGA,195744,5310.8119,N,00525.7023,E,1,00,1.10,-2,M,,M,,*55\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGLL,5310.8119,N,00525.7023,E,195744,A,A*4F\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195744,A,5310.8119,N,00525.7023,E,0.1,0.0,160414,0.7,E,A*13\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195744,16,04,14,-02,00*6B\r\n$GPAAM,,,,N,*38\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,5,,13b=DJ0P000Gp?pNQuuaqgwJ0000,0,0*60\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.1,T,124.5,M,4.6,N,2.4,M*5B\r\n$WIMWV,301.7,R,4.6,N,A*24\r\n$WIMWV,301.7,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aN1EgP0LPHBj>NI63eWwwJ2000,0,0*29\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,H3eMkolU0000000q82kiql2H:420,0,0*00\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,H3eMkolU0000000q82kiql2H:420,0,0*0F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aB:Hh100PHjDvNKJi4fisJ2000,0,0*2E\r\n!AIVDM,1,1,0,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,1,,53`vB;h000010?GK?T0lu8L4p40000000000000t3H8252w100B0DS2CQiC`80,0,2*4D\r\n!AIVDM,2,2,1,,000000003,2,2*79\r\n$GPGGA,195745,5310.8120,N,00525.7024,E,1,00,1.10,-2,M,,M,,*59\r\n!AIVDM,1,1,2,,13aJGrOP00PGph:NR9g00?wJ2000,0,0*3D\r\n$GPGLL,5310.8120,N,00525.7024,E,195745,A,A*43\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195745,A,5310.8120,N,00525.7024,E,0.1,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195745,16,04,14,-02,00*6A\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n!AIVDM,1,1,3,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0D\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,4,,13aGua?P00PHfELNFrrP0?wJ2000,0,0*0F\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.1,T,124.4,M,4.6,N,2.4,M*5A\r\n$WIMWV,306.4,R,4.6,N,A*20\r\n$WIMWV,306.4,T,4.6,N,A*26\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,5,,13aL<SPP00PJG<fNKufP0?wL2000,0,0*79\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13`vB;pP00PHMLhNGI7drgwL2000,0,0*4E\r\n!AIVDM,1,1,7,,15Q:RP002g0FS18N`t2afWkJ0000,0,0*41\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,8,,53bjvT02:`Cu0M<V221TFoGJ10TE@E:22222220N3h:442w000000000000000,0,2*21\r\n!AIVDM,2,2,8,,000000003,2,2*70\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aI;8wP00PHJAbNGgKP0?wL2000,0,0*7E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aIkM@P00PJ@odNL=eP0?wL2000,0,0*3A\r\n!AIVDM,1,1,1,,13IOOb002<0HK8VNcVe9mooH0000,0,0*32\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,102EFW3P000Hk`bNK`O`O?wN0000,0,0*5F\r\n!AIVDM,1,1,3,,15C78000000Goh>NQun:;m?N0000,0,0*67\r\n!AIVDM,1,1,4,,13a6ld0P000HpmTNL1`P09eN0000,0,0*62\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195746,5310.8120,N,00525.7026,E,1,00,1.10,-2,M,,M,,*58\r\n$GPGLL,5310.8120,N,00525.7026,E,195746,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,348,*77\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,317,,25,38,118,*70\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,5,,13aFfb0P00PJgQ2NFp6P0?wL2000,0,0*39\r\n$GPRMC,195746,A,5310.8120,N,00525.7026,E,0.1,0.0,160414,0.7,E,A*1E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195746,16,04,14,-02,00*69\r\n$GPAAM,,,,N,*38\r\n!AIVDM,1,1,6,,33aGuEPP00PJL2NNTkTaswwN2000,0,0*0A\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,7,,13b<2H7000PHkGpNKT27MPUL2000,0,0*7B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,8,,33`qM>8P0gPGAkPNSK02wioN2000,0,0*1A\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.1,T,124.5,M,4.6,N,2.4,M*5B\r\n$WIMWV,296.7,R,4.6,N,A*2B\r\n$WIMWV,296.7,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,33`uO2700LPHK4dNL4V4QSWN2000,0,0*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,15E<fj002UPIMoPNbQR2hB9P2000,0,0*6A\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13bNqJ0P1BPFhppNJvi02?wP2000,0,0*31\r\n!AIVDM,1,1,2,,13aDr68P00PHj3DNKAGP0?wN2000,0,0*20\r\n!AIVDM,1,1,3,,16LWib003APEpoDNSgsROj1L2000,0,0*62\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13a?OH?00OPH>f0NM1TUNT?P2000,0,0*50\r\n!AIVDM,1,1,5,,13aC2`wP0hPHJN8NGfs71OwP2000,0,0*17\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aGvAh0000I11VNQQs`M61P0000,0,0*6E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13`fJDh0000Epp@NE2T4TIwL0000,0,0*54\r\n!AIVDM,1,1,8,,13aDrkOP00PHi>tNKB0UpgwN2000,0,0*57\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195747,5310.8121,N,00525.7027,E,1,00,1.10,-2,M,,M,,*59\r\n!AIVDM,1,1,9,,13P;h8h12ePG`ClNc7H9sosJ2000,0,0*61\r\n$GPGLL,5310.8121,N,00525.7027,E,195747,A,A*43\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195747,A,5310.8121,N,00525.7027,E,0.1,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPZDA,195747,16,04,14,-02,00*68\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.0,T,124.3,M,3.7,N,1.9,M*54\r\n!AIVDM,1,1,0,,13aBLqhP000JbdnNLCs00?wL0000,0,0*4B\r\n$WIMWV,297.3,R,3.7,N,A*28\r\n$WIMWV,297.3,T,3.7,N,A*2E\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aEOEPP00PHm@bNK`j;T?vf2000,0,0*7C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aDCUhP00PJ;@rNTprcGOwP2000,0,0*05\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aDBd8P00PHiw6NKC000?wP2000,0,0*7D\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195748,5310.8120,N,00525.7027,E,1,00,1.10,-2,M,,M,,*57\r\n$GPGLL,5310.8120,N,00525.7027,E,195748,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.70*07\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195748,A,5310.8120,N,00525.7027,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195748,16,04,14,-02,00*67\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n!AIVDM,2,1,4,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*37\r\n!AIVDM,2,2,4,,000000003,2,2*7C\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,5,,13aGFvwP00PHi3RNKCM00?wP2000,0,0*7C\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.0,T,124.3,M,4.6,N,2.4,M*5C\r\n$WIMWV,296.4,R,4.6,N,A*28\r\n$WIMWV,296.4,T,4.6,N,A*2E\r\n$IIXDR,C,C,10.6,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13c1LF0P0c0HlaJNRAJSHgwP0000,0,0*57\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aENfwP00PHi:6NK?K7tOwR2000,0,0*42\r\n!AIVDM,1,1,8,,13bjvT?0000H55vNQghQGb5R0000,0,0*69\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aL?>HP00PHj5lNKAM00?wR2000,0,0*4E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2A\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,14h?6j003C0G<68NVoM2MQuT0000,0,0*44\r\n$GPGGA,195749,5310.8122,N,00525.7031,E,1,00,1.20,-2,M,,M,,*50\r\n$GPGLL,5310.8122,N,00525.7031,E,195749,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,2,,13b<Q`700R0J7AvNWpU3PjeP0000,0,0*3B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195749,A,5310.8122,N,00525.7031,E,0.1,0.0,160414,0.7,E,A*15\r\n!AIVDM,1,1,3,,13cDbl0P200J?LjNfCq9mGn80000,0,0*3D\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195749,16,04,14,-02,00*66\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,125.4,T,124.7,M,3.7,N,1.9,M*54\r\n$WIMWV,318.5,R,3.7,N,A*28\r\n$WIMWV,318.5,T,3.7,N,A*2E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,4,,13aI8e?P00PGpUbNR6tP0?wT2000,0,0*27\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,5,,53aGFRh000010CKC7N1@PDv2222222222222220l0`=422w100820DS2CQiC`8,0,2*3D\r\n!AIVDM,2,2,5,,888888883,2,2*7D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13bHGL?P0J0HMl@NU@mRhOwV0000,0,0*00\r\n!AIVDM,1,1,7,,13`uO2700KPHK5lNL4RTRSWV2000,0,0*62\r\n!AIVDM,1,1,8,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13bh6v70000HjCTNKOB`v4qV0000,0,0*05\r\n!AIVDM,1,1,0,,13:krn000m0HNJ`NH6>a>WIP0000,0,0*5A\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aIi0gP000HkKjNKQ@aLOwV0000,0,0*6B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195750,5310.8123,N,00525.7035,E,1,00,1.10,-2,M,,M,,*5E\r\n$GPGLL,5310.8123,N,00525.7035,E,195750,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195750,A,5310.8123,N,00525.7035,E,0.0,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPZDA,195750,16,04,14,-02,00*6E\r\n$GPAAM,,,,N,*38\r\n!AIVDM,1,1,2,,H3`j54h`4LE80000000000000000,0,0*34\r\n!AIVDM,1,1,3,,H3`j54h`4LE80000000000000000,0,0*35\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,4,,13aGD7pP0?0Ho@@NKnPR4OwL0000,0,0*09\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n!AIVDM,1,1,5,,13`va@0P000HpJLNKnW`v?wV0000,0,0*21\r\n$WIMWD,126.2,T,125.5,M,3.7,N,1.9,M*52\r\n$WIMWV,321.5,R,3.7,N,A*22\r\n$WIMWV,321.5,T,3.7,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,33aGuu@P00PHq0JNKutP0?wV2000,0,0*10\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13bQtf?P000Hf1NNFsR9hww`0000,0,0*79\r\n!AIVDM,1,1,8,,13b?AJ7P0Q0J1?0NV5q57gwT0000,0,0*4F\r\n!AIVDM,1,1,9,,13aMB<?018PGe=pNJr`1mAIR2000,0,0*39\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,H3`j54lU0000000@7pnoj01p1220,0,0*2E\r\n!AIVDM,1,1,1,,H3`j54lU0000000@7pnoj01p1220,0,0*2F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aKWv?P000HjUfNK?wbegw`0000,0,0*34\r\n!AIVDM,1,1,3,,13aDo:@P00PJ2h8NEeI7=gwV2000,0,0*3B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13aGDjCP00PHiQDNK9cckgwR2000,0,0*25\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,15Q:RP002g0FReJN`sP9fWkV0000,0,0*45\r\n!AIVDM,1,1,6,,13aKVPHP00PHj5dNK8E00?wV2000,0,0*3C\r\n$GPGGA,195751,5310.8124,N,00525.7035,E,1,00,1.10,-2,M,,M,,*58\r\n$GPGLL,5310.8124,N,00525.7035,E,195751,A,A*42\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195751,A,5310.8124,N,00525.7035,E,0.1,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195751,16,04,14,-02,00*6F\r\n!AIVDM,1,1,7,,13aGFROP000Ho<BNKmRbr?w`0000,0,0*08\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.6,M,0.3,F*0B\r\n$SDDPT,0.6,0.5,*78\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,8,,13`e=?HP00PHmI6NKBT00?wV2000,0,0*5B\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWD,126.9,T,126.3,M,3.7,N,1.9,M*5C\r\n$WIMWV,304.0,R,3.7,N,A*20\r\n$WIMWV,304.0,T,3.7,N,A*26\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,9,,13btD>00000GqJ4NR>AaeVa`0000,0,0*64\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13aDA0PP00PHn3rNKRFP0?w`2000,0,0*71\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13brCD00000HtKVNKFaS@CG`0000,0,0*1B\r\n!AIVDM,1,1,2,,13aBMu@P00PJK4`NEh4P0?w`2000,0,0*58\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,102EFW3P000Hk`bNK`O`Pwwb0000,0,0*25\r\n!AIVDM,1,1,4,,13aBJp700N0G`I<NSg<2jR;b0000,0,0*5A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13aFgJ?P00PHf8pNFsb00?w`2000,0,0*2C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13c0aT00000HJJ>NGeM8PJib0000,0,0*67\r\n$GPGGA,195752,5310.8124,N,00525.7034,E,1,00,1.10,-2,M,,M,,*5A\r\n!AIVDM,1,1,7,,13aGFRwP000HnkfNKlGWCgwb0000,0,0*08\r\n$GPGLL,5310.8124,N,00525.7034,E,195752,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195752,A,5310.8124,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195752,16,04,14,-02,00*6C\r\n!AIVDM,1,1,8,,13aDGp00000Gpq<NR;?7l8Gb0000,0,0*47\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.6,M,0.3,F*0B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDPT,0.6,0.5,*78\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n!AIVDM,1,1,9,,13P;h8hw2ePG`7VNc76asGsT2000,0,0*79\r\n$WIMWD,127.3,T,126.6,M,2.7,N,1.4,M*5E\r\n$WIMWV,303.1,R,2.7,N,A*27\r\n$WIMWV,305.7,T,2.7,N,A*21\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,0,,16LWib003APEq7nNShQ2Oj1`2000,0,0*73\r\n!AIVDM,1,1,1,,15E<fj002UPIN5>NbQpRhB9b2000,0,0*2C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13aJH>OP00PGpVbNR0<:9gwb2000,0,0*39\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aDBD0P00PHj08NKB9P0?wb2000,0,0*45\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,13aI9j8P00PHit>NKG:00?wb2000,0,0*35\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13aBLqgP00PHpQhNKQb00?wb2000,0,0*2A\r\n!AIVDM,1,1,6,,13P<QQ@0000HdgvNFpGPRbQb0000,0,0*32\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195753,5310.8125,N,00525.7034,E,1,00,1.10,-2,M,,M,,*5A\r\n$GPGLL,5310.8125,N,00525.7034,E,195753,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195753,A,5310.8125,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195753,16,04,14,-02,00*6D\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,127.3,T,126.7,M,3.7,N,1.9,M*53\r\n$WIMWV,307.8,R,3.7,N,A*2B\r\n$WIMWV,307.5,T,3.7,N,A*20\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13b=DJ0P000Gp?pNQuw9qgwd0000,0,0*16\r\n!AIVDM,1,1,8,,13`qM>8P0hPGApHNSK52piKd2000,0,0*18\r\n!AIVDM,1,1,9,,13`j7c0000PG?:8NOgf2HTEd2000,0,0*39\r\n!AIVDM,1,1,0,,13aFgphP1EPHELtNC2pW8gwd2000,0,0*06\r\n!AIVDM,1,1,1,,13aGCN8P00PHj9@NKB>c8?wd2000,0,0*0C\r\n!AIVDM,1,1,2,,13aGuE@P000JKhpNTiicVOwd0000,0,0*17\r\n$GPGGA,195754,5310.8125,N,00525.7034,E,1,00,1.10,-2,M,,M,,*5D\r\n!AIVDM,1,1,3,,13b`Bv5P1HPHUJvNHc616?wb2000,0,0*6D\r\n!AIVDM,1,1,4,,33`uO2700KPHK7BNL4O4TCad2000,0,0*20\r\n!AIVDM,1,1,5,,13cLV`001E0HNUHNH5PaBWMd0000,0,0*34\r\n!AIVDM,1,1,6,,13aEQuOP00PHiv2NKCLP0?wd2000,0,0*21\r\n!AIVDM,1,1,7,,13bt8P0P000HfWBNBq6`mOwb0000,0,0*47\r\n!AIVDM,1,1,8,,15C3:600000Gok4NQuG;:lAf0000,0,0*1B\r\n!AIVDM,1,1,9,,13aR>V0000PHif0NK;::mr;f2000,0,0*42\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aIi<0P00PJKP6NTj`00?wd2000,0,0*5D\r\n$GPGLL,5310.8125,N,00525.7034,E,195754,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195754,A,5310.8125,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*1B\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195754,16,04,14,-02,00*6A\r\n$GPAAM,,,,N,*38\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aph000000GrCpNGNU2L5Qf0000,0,0*59\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,2,,13aN1EgP0LPHBiHNI6G=agwf2000,0,0*7E\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aL>vwP00PIMtPNKaJP0?wd2000,0,0*18\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,127.4,T,126.7,M,3.7,N,1.9,M*54\r\n$WIMWV,305.1,R,3.7,N,A*20\r\n$WIMWV,302.4,T,3.7,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aL<SPP00PJG<`NKufP0?wf2000,0,0*54\r\n!AIVDM,1,1,5,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13`rcF?P000HRl>N@b500?wd0000,0,0*1A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2D\r\n!AIVDM,1,1,8,,13aB:Hh1P0PHjDtNKJiWwAsf2000,0,0*3B\r\n$GPGGA,195755,5310.8125,N,00525.7034,E,1,00,1.10,-1,M,,M,,*5F\r\n$GPGLL,5310.8125,N,00525.7034,E,195755,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,9,,13aGua?P00PHfEPNFrrP0?wf2000,0,0*32\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195755,A,5310.8125,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195755,16,04,14,-02,00*6B\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n!AIVDM,1,1,0,,13aI;8wP00PHJArNGgKP0?wf2000,0,0*4D\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.6,T,127.0,M,3.7,N,1.9,M*50\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWV,293.3,R,3.7,N,A*2C\r\n$WIMWV,294.4,T,3.7,N,A*2A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.027,B,BARO,A,A,-4.-3,D,RUDDER*19\r\n!AIVDM,1,1,1,,15C78000000GohBNQun:1m?h0000,0,0*35\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aDrkOP00PHi>tNKB0Upgwf2000,0,0*75\r\n!AIVDM,1,1,3,,13aIkM@P00PJ@ojNL=dP0?wh2000,0,0*12\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195756,5310.8126,N,00525.7034,E,1,00,1.10,-1,M,,M,,*5F\r\n$GPGLL,5310.8126,N,00525.7034,E,195756,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195756,A,5310.8126,N,00525.7034,E,0.0,0.0,160414,0.7,E,A*1B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195756,16,04,14,-02,00*68\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.6,M,0.3,F*0B\r\n$SDDPT,0.6,0.5,*78\r\n$SDMTW,12.5,C*02\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.5,T,126.9,M,4.6,N,2.4,M*53\r\n$WIMWV,296.2,R,4.6,N,A*2E\r\n$WIMWV,296.9,T,4.6,N,A*23\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195757,5310.8126,N,00525.7034,E,1,00,1.10,-1,M,,M,,*5E\r\n$GPGLL,5310.8126,N,00525.7034,E,195757,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195757,A,5310.8126,N,00525.7034,E,0.0,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195757,16,04,14,-02,00*69\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.6,M,0.3,F*0B\r\n$SDDPT,0.6,0.5,*78\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.5,T,126.8,M,4.6,N,2.4,M*52\r\n$WIMWV,297.7,R,4.6,N,A*2A\r\n$WIMWV,299.4,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195758,5310.8127,N,00525.7034,E,1,00,1.10,-1,M,,M,,*50\r\n$GPGLL,5310.8127,N,00525.7034,E,195758,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195758,A,5310.8127,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195758,16,04,14,-02,00*66\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.4,T,126.8,M,4.6,N,2.4,M*53\r\n$WIMWV,303.2,R,4.6,N,A*23\r\n$WIMWV,306.3,T,4.6,N,A*21\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aDr68P00PHj3TNKAFP0?wh2000,0,0*11\r\n!AIVDM,1,1,5,,14h?6j003C0G<IDNVp<2MQuj0000,0,0*13\r\n!AIVDM,1,1,6,,13b<2H7000PHkGbNKT27P@Uh2000,0,0*41\r\n!AIVDM,1,1,7,,13aGvAh0000I11VNQQs`fV1j0000,0,0*1E\r\n!AIVDM,1,1,8,,13a6ld00000HpmTNL1`P09ej0000,0,0*2A\r\n!AIVDM,1,1,9,,13aC2`wP0ePHJNTNGfK6p?wj2000,0,0*48\r\n!AIVDM,1,1,0,,13a5jB0P000GoWpNQuqP0?wb0000,0,0*3B\r\n!AIVDM,1,1,1,,13aGE00P00PGp0DNQuobAOwj2000,0,0*1E\r\n!AIVDM,1,1,2,,13a?OH?P0OPH>i:NM1CUIl;l2000,0,0*23\r\n!AIVDM,1,1,3,,13aGuEPP00PJL2fNTkV9q?wl2000,0,0*17\r\n!AIVDM,1,1,4,,33`uO2700KPHK8HNL4L4Ukal2000,0,0*07\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,13`t=0001DPHH7rNQ>dbcpaj2000,0,0*08\r\n!AIVDM,1,1,6,,13aetV7P0KPHGODNL40ScOwj2000,0,0*47\r\n!AIVDM,1,1,7,,13`fJDh0000Epp@NE2T4TIwh0000,0,0*70\r\n!AIVDM,1,1,8,,13@aQ0001f0GD`2NVAM2Hisj0000,0,0*29\r\n!AIVDM,1,1,9,,13`vB;pP00PHMLPNGI8<uOwj2000,0,0*27\r\n!AIVDM,1,1,0,,13aEOEPP00PHm@bNK`l;T?w22000,0,0*2E\r\n!AIVDM,1,1,1,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2B\r\n!AIVDM,1,1,2,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0C\r\n!AIVDM,1,1,3,,13aDBd8P00PHiwFNKC0P0?wl2000,0,0*51\r\n!AIVDM,1,1,4,,13aI8e?P00PGpUnNR6tP0?wl2000,0,0*13\r\n!AIVDM,1,1,5,,13IOOb002<0HJg`NcVDarooh0000,0,0*18\r\n!AIVDM,1,1,6,,15Q:RP002g0FRShN`s>9fWkj0000,0,0*00\r\n!AIVDM,1,1,7,,13aGFvwP00PHi3VNKCL00?wl2000,0,0*47\r\n!AIVDM,1,1,8,,13c1LF0P0g0HlgVNRABTGgwl0000,0,0*7B\r\n!AIVDM,1,1,9,,302EFW3P000Hk`dNK`N`T?wn0000,0,0*6A\r\n!AIVDM,1,1,0,,13aGD7pP0?0Ho?dNKnA24Owd0000,0,0*0F\r\n!AIVDM,1,1,1,,13bh6v70000HjCVNKOBa24qn0000,0,0*72\r\n!AIVDM,1,1,2,,13aGF=8P00PGpaJNR8W00?wn2000,0,0*65\r\n!AIVDM,1,1,3,,13bjvT?0000H55vNQghQGb5l0000,0,0*5C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,16LWib003BPEqHLNSi72RR1l2000,0,0*67\r\n!AIVDM,1,1,5,,13aENfwP00PHi:6NK?K6tOwn2000,0,0*7D\r\n!AIVDM,1,1,6,,13aFh>?0000IvnfNSnk8H9H00000,0,0*1F\r\n!AIVDM,1,1,7,,13aIi0gP000HkIJNKQ@aKwv00000,0,0*17\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195759,5310.8128,N,00525.7033,E,1,00,1.10,-1,M,,M,,*59\r\n$GPGLL,5310.8128,N,00525.7033,E,195759,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195759,A,5310.8128,N,00525.7033,E,0.1,0.0,160414,0.7,E,A*1C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195759,16,04,14,-02,00*67\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n!AIVDM,2,1,8,,53aFgph000010KWWOV1`4p@EQ18E>3F22222220Q9h8522w100000000000000,0,2*40\r\n!AIVDM,2,2,8,,000000003,2,2*70\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,9,,13aL?>HP00PHj60NKAO00?wn2000,0,0*2F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n!AIVDM,1,1,0,,13:krn000m0HND4NH5s9=7Il0000,0,0*49\r\n$WIMWD,127.4,T,126.8,M,4.6,N,2.4,M*53\r\n$WIMWV,293.0,R,4.6,N,A*29\r\n$WIMWV,296.2,T,4.6,N,A*28\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,2,1,1,,53aKVP@000010?;7W:0I84q>20Pu8aE<0000000t3H5152w100DSkQ2QH5hA80,0,2*2B\r\n!AIVDM,2,2,1,,000000003,2,2*79\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aDo:@P00PJ2h8NEeI7=gv02000,0,0*5D\r\n!AIVDM,1,1,3,,13bb0F?00C0GiHnNTG?bD`D20000,0,0*2A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,13aKWbOP000JV7:NL?MP0?v00000,0,0*05\r\n$GPGGA,195800,5310.8128,N,00525.7033,E,1,00,1.10,-1,M,,M,,*5A\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n$GPGLL,5310.8128,N,00525.7033,E,195800,A,A*43\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195800,A,5310.8128,N,00525.7033,E,0.1,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195800,16,04,14,-02,00*64\r\n!AIVDM,1,1,6,,13aGFRwP000HnkNNKlJ7Owv20000,0,0*01\r\n$GPAAM,,,,N,*38\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n!AIVDM,1,1,7,,13`uO2700KPHK9jNL4HTVC`22000,0,0*35\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWD,127.2,T,126.6,M,4.6,N,2.4,M*5B\r\n$WIMWV,303.3,R,4.6,N,A*22\r\n$WIMWV,305.6,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,8,,13b?AJ7P0P0J1B8NV5dU7gv00000,0,0*2B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,13aGFROP000Ho;pNKmLc9?v40000,0,0*32\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13bQtf?P000Hf0@NFsS9mOv40000,0,0*18\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,33aKWv?P000HjUbNK@1ba?v40000,0,0*01\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aMB<?018PGeELNJs;QhQGn2000,0,0*6B\r\n!AIVDM,1,1,3,,13aKVPHP00PHj5dNK8E00?v22000,0,0*5C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195801,5310.8128,N,00525.7033,E,1,00,1.10,-1,M,,M,,*5B\r\n!AIVDM,1,1,4,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2E\r\n$GPGLL,5310.8128,N,00525.7033,E,195801,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,5,,13`va@0P000HpJHNKn`8rwv40000,0,0*65\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195801,A,5310.8128,N,00525.7033,E,0.1,0.0,160414,0.7,E,A*1E\r\n!AIVDM,1,1,6,,13aGuu@P00PHq0BNKuu=S?v22000,0,0*70\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195801,16,04,14,-02,00*65\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWD,127.2,T,126.5,M,4.6,N,2.4,M*58\r\n$WIMWV,306.2,R,4.6,N,A*26\r\n$WIMWV,302.8,T,4.6,N,A*2E\r\n!AIVDM,1,1,7,,13aGDjCP00PHiQPNK9bckgv02000,0,0*50\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*17\r\n!AIVDM,1,1,8,,13`e=?HP00PHmI2NKBT00?v42000,0,0*3C\r\n!AIVDM,1,1,9,,33aDCGUP00PGpg@NR8;=b?v22000,0,0*1F\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13brCD00000HtJhNKFUS@CF40000,0,0*44\r\n!AIVDM,1,1,1,,13aDBD0P00PHiwvNKB900?v42000,0,0*7A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13aDA0PP00PHn40NKRFP0?v42000,0,0*63\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13btD>00000GqJ4NR>BcFn`40000,0,0*21\r\n!AIVDM,1,1,4,,13aBLqgP00PHpQJNKQb00?v42000,0,0*5E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,14h?6j003C0G<aVNVpl2M1t60000,0,0*44\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,2,1,6,,53aI;8h000010SKS?80Hu9ADp40000000000000t2h=252w100B0DS2CQiCP00,0,2*5E\r\n!AIVDM,2,2,6,,000000003,2,2*7E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,7,,13aJH>OP00PGpVlNR0;b9gv62000,0,0*38\r\n$GPGGA,195802,5310.8129,N,00525.7033,E,1,00,1.10,-1,M,,M,,*59\r\n!AIVDM,1,1,8,,13c0aT00000HJJVNGeKdv:f60000,0,0*56\r\n$GPGLL,5310.8129,N,00525.7033,E,195802,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,9,,13b`Bv5P1HPHUPBNHcoQ7gv42000,0,0*7E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPRMC,195802,A,5310.8129,N,00525.7033,E,0.1,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195802,16,04,14,-02,00*66\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,0,,13aEQuOP00PHiv2NKCN00?v42000,0,0*14\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$WIMWD,127.4,T,126.7,M,4.6,N,2.4,M*5C\r\n$WIMWV,298.1,R,4.6,N,A*23\r\n$WIMWV,298.2,T,4.6,N,A*26\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*17\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13aFgphP1E0HEKLNC2;W8gv80000,0,0*4C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,15C3:600000Gok4NQuG:tl@80000,0,0*01\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13aL>vwP00PIMtTNKaJP0?v62000,0,0*4F\r\n!AIVDM,1,1,4,,13aGuE@P000JKi6NTikc`gv80000,0,0*17\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,5,,33aFgJ?P00PHf8hNFsbP0?v62000,0,0*01\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,6,,13aGCN8P00PHj9BNKB>;8gv82000,0,0*54\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195803,5310.8129,N,00525.7034,E,1,00,1.10,-1,M,,M,,*5F\r\n$GPGLL,5310.8129,N,00525.7034,E,195803,A,A*46\r\n!AIVDM,1,1,7,,13aI9j8P00PHit>NKG:00?v62000,0,0*63\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195803,A,5310.8129,N,00525.7034,E,0.1,0.0,160414,0.7,E,A*1A\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,8,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*22\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195803,16,04,14,-02,00*67\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.3,T,126.6,M,3.7,N,1.9,M*52\r\n$WIMWV,299.1,R,3.7,N,A*24\r\n$WIMWV,299.0,T,3.7,N,A*23\r\n!AIVDM,1,1,9,,13b=DJ0P000Gp?pNQv0ar?v80000,0,0*02\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*17\r\n!AIVDM,1,1,0,,15Q:RP002g0FR@HN`r`9fWj60000,0,0*37\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13aIi<0P00PJKP>NTj`P0?v82000,0,0*69\r\n!AIVDM,1,1,2,,13aR>V00000Hif<NK;=bmr::0000,0,0*25\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13`j7c0000PG?:8NOgf<6lD:2000,0,0*24\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,4,,302EFW3P000Hk`VNK`L`Uwv:0000,0,0*4B\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195804,5310.8130,N,00525.7035,E,1,00,1.10,-1,M,,M,,*51\r\n$GPGLL,5310.8130,N,00525.7035,E,195804,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195804,A,5310.8130,N,00525.7035,E,0.0,0.0,160414,0.7,E,A*15\r\n!AIVDM,1,1,5,,13P<QQ@0000Hdh<NFpIPBbP80000,0,0*31\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195804,16,04,14,-02,00*60\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,6,,13aL?0W00MPJLo>NaH2Q?hP:2000,0,0*4B\r\n$SDVHW,182.4,T,181.7,M,0.0,N,0.0,K*42\r\n$WIMWD,127.2,T,126.6,M,3.7,N,1.9,M*53\r\n$WIMWV,292.3,R,3.7,N,A*2D\r\n$WIMWV,292.8,T,3.7,N,A*20\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n!AIVDM,1,1,7,,13cLV`001E0HNIdNH4vaFGL:0000,0,0*6A\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,9,,16LWib003BPEqaBNSifRRR082000,0,0*29\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,0,,13aB:Hht@0PHjDtNKJiU3Qr:2000,0,0*6D\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,1,,13aFfb0P00PJgPhNFp600?v:2000,0,0*71\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,2,,13P;h8h02ePGW`HNc6L9sor62000,0,0*23\r\n$SDHDG,181.7,,,0.6,E*3C\r\n$GPGGA,195805,5310.8130,N,00525.7035,E,1,00,1.10,-1,M,,M,,*50\r\n$SDHDG,181.7,,,0.6,E*3C\r\n!AIVDM,1,1,3,,13aL<SPP00PJG<DNKueP0?v:2000,0,0*29\r\n$GPGLL,5310.8130,N,00525.7035,E,195805,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195805,A,5310.8130,N,00525.7035,E,0.0,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,4,,13aIkM@P00PJ@ofNL=d00?v:2000,0,0*2A\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPZDA,195805,16,04,14,-02,00*61\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,126.8,T,126.2,M,3.7,N,1.9,M*5C\r\n$WIMWV,293.3,R,3.7,N,A*2C\r\n$WIMWV,290.8,T,3.7,N,A*22\r\n!AIVDM,1,1,5,,33bAqH?P0QPK61>N`fL65m><2000,0,0*12\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-3,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aDr68P00PHj40NKAEP0?v<2000,0,0*26\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13aN1EgP0LPHBh`NI6e=Vwv>2000,0,0*0E\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n!AIVDM,1,1,9,,13a?OH?P0PPH>l6NM165C46>2000,0,0*26\r\n!AIVDM,1,1,0,,13a5jB0P000GoWpNQuqP0?v40000,0,0*6C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aI;8wP00PHJB8NGgK00?v<2000,0,0*3E\r\n!AIVDM,1,1,2,,13a6ld00000HpmTNL1`P09d>0000,0,0*75\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,33aGuEPP00PJL2JNTkV9mwv>2000,0,0*3E\r\n$GPGGA,195806,5310.8130,N,00525.7036,E,1,00,1.10,-1,M,,M,,*50\r\n$GPGLL,5310.8130,N,00525.7036,E,195806,A,A*49\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195806,A,5310.8130,N,00525.7036,E,0.0,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195806,16,04,14,-02,00*62\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWD,126.6,T,125.9,M,3.7,N,1.9,M*5A\r\n$WIMWV,293.9,R,3.7,N,A*26\r\n$WIMWV,293.5,T,3.7,N,A*2C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,33`qM>8P0fPGB0PNSKIQv@T>2000,0,0*36\r\n!AIVDM,2,1,5,,53aDr60000010?GWG@1=0E>0lD4000000000000t2P5222Jf00B0DSTp888000,0,2*2E\r\n!AIVDM,2,2,5,,000000003,2,2*7D\r\n!AIVDM,1,1,6,,13aL>Dg000PGa@nNKge62TR<2000,0,0*2C\r\n!AIVDM,1,1,7,,13aDBd8P00PHiwFNKC100?v<2000,0,0*65\r\n!AIVDM,1,1,8,,13`fJDh0000Epp@NE2T4TIv80000,0,0*2E\r\n!AIVDM,1,1,9,,15C78000000Goh>NQumb5E>>0000,0,0*61\r\n!AIVDM,1,1,0,,B39k:bP0?`62wt7WAo:wkwP00000,0,0*77\r\n!AIVDM,1,1,1,,13`t=0001DPHGsTNQ>hbdH`>2000,0,0*07\r\n!AIVDM,1,1,2,,13aetV7P0LPHGSLNL3wSS?v>2000,0,0*05\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,14h?6j003C0G<oBNVqERM1t@0000,0,0*66\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aDrkOP00PHi>tNKB0Upgv>2000,0,0*2A\r\n!AIVDM,1,1,5,,13c1LF0P0q0HlmvNRA74?Ov>0000,0,0*5C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195807,5310.8130,N,00525.7036,E,1,00,1.10,-1,M,,M,,*51\r\n$GPGLL,5310.8130,N,00525.7036,E,195807,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195807,A,5310.8130,N,00525.7036,E,0.0,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195807,16,04,14,-02,00*63\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,6,,13aC2`wP0VPHJNHNGesVu?v@2000,0,0*1D\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,126.5,T,125.8,M,3.7,N,1.9,M*58\r\n$WIMWV,297.5,R,3.7,N,A*2E\r\n$WIMWV,299.5,T,3.7,N,A*26\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,7,,13b<2H7000PHkGJNKT47SPT@2000,0,0*54\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aEOEPP00PHm@hNK`lcT?wF2000,0,0*00\r\n!AIVDM,1,1,9,,13bjvT?0000H55TNQgi1Gb4>0000,0,0*46\r\n!AIVDM,1,1,0,,102EFW3P000Hk`TNK`K`VOvB0000,0,0*0B\r\n!AIVDM,1,1,1,,13aJJNOP000JKIJNTj:00?v@0000,0,0*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13b<Q`700R0J7KTNWpU3M2f>0000,0,0*3B\r\n!AIVDM,1,1,3,,13aFh>?0000IvndNSnk8HaLB0000,0,0*36\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195808,5310.8130,N,00525.7036,E,1,00,1.10,0,M,,M,,*72\r\n$GPGLL,5310.8130,N,00525.7036,E,195808,A,A*47\r\n!AIVDM,1,1,4,,13aGFvwP00PHi3jNKCK00?v@2000,0,0*52\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195808,A,5310.8130,N,00525.7036,E,0.1,0.0,160414,0.7,E,A*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195808,16,04,14,-02,00*6C\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.3,T,125.6,M,3.7,N,1.9,M*50\r\n$WIMWV,296.4,R,3.7,N,A*2E\r\n$WIMWV,294.9,T,3.7,N,A*27\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,5,,33`qM>8P0ePGB1NNSKN1fhPB2000,0,0*0C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aIi0gP000HkHHNKQ@9NgvD0000,0,0*2C\r\n!AIVDM,1,1,7,,13aL?>HP00PHj5rNKANP0?vB2000,0,0*2C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195809,5310.8130,N,00525.7036,E,1,00,1.10,0,M,,M,,*73\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aI8e?P00PGpUrNR6u00?vB2000,0,0*4D\r\n$GPGLL,5310.8130,N,00525.7036,E,195809,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195809,A,5310.8130,N,00525.7036,E,0.0,0.0,160414,0.7,E,A*1B\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195809,16,04,14,-02,00*6D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13bHGL?P0JPHMsrNUA2RegvD2000,0,0*28\r\n$GPAAM,,,,N,*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n!AIVDM,1,1,0,,13bE@>7P0O0JQslN```3?OvB0000,0,0*65\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n!AIVDM,1,1,1,,13bh6v70000HjCbNKOBa94pD0000,0,0*66\r\n$WIMWD,126.3,T,125.7,M,3.7,N,1.9,M*51\r\n$WIMWV,297.4,R,3.7,N,A*2F\r\n$WIMWV,297.6,T,3.7,N,A*2B\r\n!AIVDM,1,1,2,,13`gh8700IPIpf:NWl9bf`bD2000,0,0*5B\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13aGD7pP0?0Ho?JNKnNR4Ov<0000,0,0*14\r\n!AIVDM,1,1,4,,15Q:RP002g0FR6bN`rIafWjB0000,0,0*6A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aKVPHP00PHj5VNK8F00?vD2000,0,0*1D\r\n!AIVDM,1,1,6,,33aI:6U000PHmthNKcV2K1fB2000,0,0*3B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13b?AJ7P0P0J1F<NV5K52gvB0000,0,0*1C\r\n!AIVDM,1,1,8,,13aENfwP00PHi9vNK?K5`?vD2000,0,0*7F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,33aFgr5P00PJK7>NL:WP0?vD2000,0,0*44\r\n$GPGGA,195810,5310.8130,N,00525.7037,E,1,00,1.10,0,M,,M,,*7A\r\n!AIVDM,1,1,1,,13aGuu@P00PHq0BNKuu=CgvD2000,0,0*49\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8130,N,00525.7037,E,195810,A,A*4F\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,2,,102EFW3P000Hk`RNK`K8VOvF0000,0,0*53\r\n$GPRMC,195810,A,5310.8130,N,00525.7037,E,0.0,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195810,16,04,14,-02,00*65\r\n$GPAAM,,,,N,*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAPB,,,,,,,,,,,,,,,N*26\r\n$GPBOD,,T,,M,,*47\r\n$GPRMB,,,,,,,,,,,,,,N*04\r\n$GPXTE,,,,,N,N*5E\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,2,1,3,,53aI9j0000010SSWSP0<tpHT4p<D00000000000t381221:d00ECQ1DUhFH4hB,0,2*67\r\n!AIVDM,2,2,3,,C2CQp8803,2,2*58\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,4,,13aDA0PP00PHn3pNKRG00?vD2000,0,0*33\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWD,126.5,T,125.9,M,3.7,N,1.9,M*59\r\n!AIVDM,1,1,5,,13aGFROP000Ho;pNKmQ<CgvF0000,0,0*2C\r\n$WIMWV,317.1,R,3.7,N,A*23\r\n$WIMWV,314.7,T,3.7,N,A*20\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,6,,13`va@0P000HpJDNKn`8nwvF0000,0,0*04\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,16LWib003CPEql@NSj7RRR0F2000,0,0*05\r\n!AIVDM,1,1,8,,13P;h8h02dPGWNdNc6<asor>2000,0,0*0A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13aKWv?P000HjUvNK?u:VOvH0000,0,0*47\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aBJp700O0G`QPNSgI2nR<H0000,0,0*77\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13brCD00000HtK2NKFV3@CFH0000,0,0*01\r\n!AIVDM,1,1,2,,13bQtf?P000Hf0<NFsS9iwvH0000,0,0*26\r\n!AIVDM,1,1,3,,13aMB<?019PGeLvNJsh1hQFB2000,0,0*46\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195811,5310.8130,N,00525.7037,E,1,00,1.10,0,M,,M,,*7B\r\n$GPGLL,5310.8130,N,00525.7037,E,195811,A,A*4E\r\n!AIVDM,1,1,4,,13btD>00000GqJ6NR>C8hn`F0000,0,0*22\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195811,A,5310.8130,N,00525.7037,E,0.0,0.0,160414,0.7,E,A*13\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195811,16,04,14,-02,00*64\r\n$GPAAM,A,V,0.05,N,*34\r\n$GPAPB,A,A,,,N,A,V,,T,,,T,,T,A*24\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,,T,,M,,*47\r\n$GPBWC,195811,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195811,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,127.4,T,126.7,M,3.7,N,1.9,M*54\r\n$WIMWV,299.9,R,3.7,N,A*2C\r\n$WIMWV,304.7,T,3.7,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13:krn000m0HN<LNH5Qa<oJB0000,0,0*42\r\n!AIVDM,1,1,6,,13`e=?HP00PHmI2NKBT00?vF2000,0,0*40\r\n!AIVDM,1,1,7,,13aGDjCP00PHiQTNK9b;kgvB2000,0,0*7E\r\n!AIVDM,1,1,8,,33aJH>OP00PGpVfNR0<::OvJ2000,0,0*37\r\n!AIVDM,1,1,9,,13b8s:001@PKdSDNda<:v8VF2000,0,0*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,33aEQt5P00PHi12NKD5b<wvJ2000,0,0*3E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,33aGCN8P00PHj9<NKB>c7OvJ2000,0,0*22\r\n!AIVDM,1,1,2,,13aDGp00000Gpq<NR;?8D`FJ0000,0,0*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aEQuOP00PHiutNKCNP0?vH2000,0,0*4E\r\n!AIVDM,1,1,4,,13aFgJ?P00PHf8dNFsaP0?vH2000,0,0*73\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13`qM>8P0fPGB3>NSK`1OhNJ2000,0,0*6E\r\n$GPGGA,195812,5310.8130,N,00525.7037,E,1,00,1.10,0,M,,M,,*78\r\n!AIVDM,1,1,6,,13aGFRwP000HnknNKlM5swvJ0000,0,0*60\r\n$GPGLL,5310.8130,N,00525.7037,E,195812,A,A*4D\r\n!AIVDM,1,1,7,,13aGuE@P00PJKhtNTilc`gvJ2000,0,0*40\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195812,A,5310.8130,N,00525.7037,E,0.0,0.0,160414,0.7,E,A*10\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195812,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n!AIVDM,1,1,8,,13c0aT00000HJJ`NGeL1ubfJ0000,0,0*15\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195812,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195812,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,9,,13aBMu@P00PJK4LNEh400?vJ2000,0,0*34\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWD,127.1,T,126.5,M,3.7,N,1.9,M*53\r\n!AIVDM,1,1,0,,13aDBD0P00PHiwnNKB900?vJ2000,0,0*1D\r\n$WIMWV,302.3,R,3.7,N,A*25\r\n$WIMWV,301.6,T,3.7,N,A*25\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aBLqgP00PHpQLNKQb00?vJ2000,0,0*23\r\n!AIVDM,1,1,2,,13aR>V00000HifDNK;>:mr:J0000,0,0*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aph000000GrD0NGNU=nERL0000,0,0*68\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,14h?6j003C0G=7bNVquRMQtL0000,0,0*44\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,33b`Bv5P1HPHUVtNHdm11gvJ2000,0,0*5D\r\n!AIVDM,1,1,6,,13bt8P0P000HfWJNBq6`mOvJ0000,0,0*67\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13b=DJ0P000Gp?pNQv0apgvL0000,0,0*22\r\n$GPGGA,195813,5310.8130,N,00525.7038,E,1,00,1.10,0,M,,M,,*76\r\n!AIVDM,1,1,8,,13aI9j8P00PHit8NKG:P0?vJ2000,0,0*76\r\n$GPGLL,5310.8130,N,00525.7038,E,195813,A,A*43\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195813,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195813,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195813,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBWR,195813,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,127.1,T,126.4,M,4.6,N,2.4,M*5A\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWV,295.5,R,4.6,N,A*2A\r\n$WIMWV,299.9,T,4.6,N,A*2C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,9,,53aL>=@0000107;SOV04phv222222222222222168P;442w106@00000000000,0,2*62\r\n!AIVDM,2,2,9,,000000003,2,2*71\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195814,5310.8130,N,00525.7038,E,1,00,1.10,0,M,,M,,*71\r\n$GPGLL,5310.8130,N,00525.7038,E,195814,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195814,A,5310.8130,N,00525.7038,E,0.1,0.0,160414,0.7,E,A*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aLmW7P0P0HoWBNUa33TOvJ0000,0,0*06\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195814,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195814,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$GPBWR,195814,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,126.8,T,126.2,M,4.6,N,2.4,M*54\r\n$WIMWV,306.4,R,4.6,N,A*20\r\n$WIMWV,308.6,T,4.6,N,A*2A\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aN1EgP0LPHBgrNI6veVwvN2000,0,0*2E\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,2,,13aGtCgP00PHi1FNK@fP0?vN2000,0,0*2D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13P<QQ@0000HdgJNFpK0=rPN0000,0,0*35\r\n!AIVDM,1,1,4,,13cLV`001E0HN>2NH4MaEoLP0000,0,0*32\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,5,,53aH00P000010?C3SD104hhTE@E800000000000t2H1141wg0051DThj1C32CQ,0,2*2C\r\n!AIVDM,2,2,5,,h00000003,2,2*25\r\n!AIVDM,1,1,6,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*09\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,13`j7c01P0PG?:8NOgf74DDP2000,0,0*05\r\n!AIVDM,1,1,9,,13aIkM@P00PJ@ojNL=c00?vN2000,0,0*58\r\n!AIVDM,1,1,0,,13aB:Hh100PHjDtNKJiWlQrN2000,0,0*71\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195815,5310.8130,N,00525.7038,E,1,00,1.10,0,M,,M,,*70\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGLL,5310.8130,N,00525.7038,E,195815,A,A*45\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195815,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13aGua?P00PHfEPNFrtbTgvN2000,0,0*1B\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195815,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195815,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$GPBWR,195815,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,126.8,T,126.2,M,4.6,N,2.4,M*54\r\n!AIVDM,1,1,2,,13aL<SPP00PJG<@NKufP0?vP2000,0,0*45\r\n$WIMWV,303.3,R,4.6,N,A*22\r\n$WIMWV,301.4,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,3,,53aGFvh000010C;OKT04hT@4000000000000000t3@5512w100800000000000,0,2*2E\r\n!AIVDM,2,2,3,,000000003,2,2*7B\r\n!AIVDM,1,1,4,,13aGvAh0000I11NNQQs2CF0P0000,0,0*59\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13aetV7P0KPHGW:NL3vSW?vP2000,0,0*1C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,6,,13aI;8wP00PHJB@NGgJP0?vP2000,0,0*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13a5jB0P000GoWpNQuqP0?vH0000,0,0*17\r\n!AIVDM,1,1,8,,102EFW3P000Hk`NNK`J8`gvR0000,0,0*4E\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13aL>Dg000PGa@rNKge62TRP2000,0,0*53\r\n!AIVDM,1,1,0,,15C78000000Goh8NQum9iE>R0000,0,0*05\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13a6ld00000HpmTNL1UP09dR0000,0,0*2F\r\n$GPGGA,195816,5310.8130,N,00525.7038,E,1,00,1.10,0,M,,M,,*73\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGLL,5310.8130,N,00525.7038,E,195816,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195816,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*1B\r\n!AIVDM,2,1,2,,53aGuEP000010GOWC60tE8B2222222222222220t4HS681TA03R3k5iDQ88888,0,2*53\r\n!AIVDM,2,2,2,,888888883,2,2*7A\r\n!AIVDM,1,1,3,,16LWib003CPErCPNSk;2Oj0R2000,0,0*61\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195816,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,4,,13@aQ0001f0GE2pNVBS2LQrP0000,0,0*2E\r\n$GPBWC,195816,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$GPBWR,195816,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWD,126.9,T,126.3,M,4.6,N,2.4,M*54\r\n$WIMWV,301.2,R,4.6,N,A*21\r\n$WIMWV,300.6,T,4.6,N,A*22\r\n!AIVDM,1,1,5,,13b<2H7000PHkGHNKT46APTR2000,0,0*55\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,6,,13aFfb0P00PJgPdNFp600?vR2000,0,0*12\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13P;h8h02dPGW@0Nc5o9tGrJ2000,0,0*0C\r\n!AIVDM,1,1,8,,13aDr68P00PHj4LNKAI00?vR2000,0,0*56\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,13a?OH?00PPH>otNM0lU:D4T2000,0,0*5D\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,0,,53aEOSP000010?GGGN18DLTp604pA8D62222220t3h:442w100000000000000,0,2*2E\r\n!AIVDM,2,2,0,,000000003,2,2*78\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13`vB;pP00PHMLLNGI:=0wvR2000,0,0*74\r\n!AIVDM,1,1,2,,33aEOSUP000Hja<NKMBbKwvT0000,0,0*4D\r\n!AIVDM,1,1,3,,13aDBd8P00PHiwJNKC100?vR2000,0,0*03\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195817,5310.8130,N,00525.7038,E,1,00,1.10,0,M,,M,,*72\r\n$GPGLL,5310.8130,N,00525.7038,E,195817,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPRMC,195817,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*1A\r\n!AIVDM,1,1,4,,13aDrkOP00PHi>tNKB0UpgvR2000,0,0*46\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195817,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195817,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPBWR,195817,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,126.8,T,126.2,M,3.7,N,1.9,M*5C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWV,299.3,R,3.7,N,A*26\r\n$WIMWV,297.7,T,3.7,N,A*2A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13bjvT?0000H55jNQgi1Gb4R0000,0,0*18\r\n!AIVDM,1,1,6,,13aJJNOP000JKITNTj:P0?vT0000,0,0*64\r\n!AIVDM,1,1,7,,13aEOEPP00PHm@rNK`l;T?wb2000,0,0*69\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,2,1,8,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*3B\r\n!AIVDM,2,2,8,,000000003,2,2*70\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,33`qQ850000Gg=hNLvkaT8RV0000,0,0*6C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13aI8e?P00PGpV0NR6u00?vT2000,0,0*12\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,1,,13`kFLmP0JPHLBfNUDoRigvV2000,0,0*30\r\n$GPGGA,195818,5310.8130,N,00525.7038,E,1,00,1.10,1,M,,M,,*7C\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGLL,5310.8130,N,00525.7038,E,195818,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195818,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*15\r\n!AIVDM,1,1,2,,13aFh>?0000IvnbNSnk9WILV0000,0,0*13\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195818,16,04,14,-02,00*6D\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195818,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*50\r\n$GPBWR,195818,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*41\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n!AIVDM,1,1,3,,13aIi0gP000HkHDNKQCa`?vV0000,0,0*1A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.7,T,126.1,M,3.7,N,1.9,M*50\r\n$WIMWV,291.5,R,3.7,N,A*28\r\n$WIMWV,297.3,T,3.7,N,A*2E\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13`gh8700IPIpblNWl;biHd`2000,0,0*08\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGD7pP0?0Ho?NNKneR4OvN0000,0,0*4F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,302EFW3P000Hk`NNK`J8b?v`0000,0,0*2A\r\n!AIVDM,1,1,7,,33`qM>8P0ePGB5PNSKp1?@J`2000,0,0*63\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13bh6v70000HjCdNKOBbFlp`0000,0,0*69\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195819,5310.8130,N,00525.7038,E,1,00,1.10,1,M,,M,,*7D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8130,N,00525.7038,E,195819,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195819,A,5310.8130,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195819,16,04,14,-02,00*6C\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195819,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*51\r\n!AIVDM,1,1,9,,33aL=F5000PHuq`NKD8:dhHV2000,0,0*3E\r\n$GPBWR,195819,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*40\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n!AIVDM,1,1,0,,13aGFvwP00PHi4FNKCK00?v`2000,0,0*5D\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,14h?6j003C0G=H8NVrURMQv`0000,0,0*69\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.6,T,125.9,M,3.7,N,1.9,M*5A\r\n$WIMWV,289.4,R,3.7,N,A*20\r\n$WIMWV,299.3,T,3.7,N,A*20\r\n!AIVDM,1,1,2,,13`va@0P00PHpJ4NKnW8gwv`2000,0,0*0A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aL?>HP00PHj5lNKAM00?v`2000,0,0*77\r\n!AIVDM,1,1,4,,13:krn000m0HN7@NH5?a=WJT0000,0,0*05\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13b?AJ7P0P0J1IVNV5;U4wv`0000,0,0*5F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*70\r\n!AIVDM,1,1,7,,13`uO2700JPHK@TNL484W3`b2000,0,0*42\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aGuu@P00PHq0HNKuu<sOv`2000,0,0*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195820,5310.8129,N,00525.7038,E,1,00,1.10,1,M,,M,,*7F\r\n$GPGLL,5310.8129,N,00525.7038,E,195820,A,A*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7F\r\n$GPRMC,195820,A,5310.8129,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,0,,33aKWv?P000HjV6NK?sbWwvb0000,0,0*42\r\n$GPZDA,195820,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n!AIVDM,1,1,1,,13aDA0PP00PHn3lNKREP0?v`2000,0,0*6C\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195820,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195820,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.3,T,125.7,M,4.6,N,2.4,M*59\r\n!AIVDM,1,1,2,,33aKWbOP000JV7jNL?IP0?vb0000,0,0*07\r\n$WIMWV,299.7,R,4.6,N,A*24\r\n$WIMWV,304.0,T,4.6,N,A*20\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13bE@>7P0O0JR18N``c3?Owp0000,0,0*43\r\n!AIVDM,1,1,4,,13aBMu@P00PJK4LNEh3P0?vb2000,0,0*76\r\n!AIVDM,1,1,5,,13aKVPHP00PHj5bNK8G00?vb2000,0,0*0E\r\n!AIVDM,1,1,6,,13aJH>OP00PGpVbNR0<::?vd2000,0,0*61\r\n!AIVDM,1,1,7,,13c0aT00000HJJVNGeKaRbfd0000,0,0*72\r\n!AIVDM,1,1,8,,13bQtf?P000HewtNFsOaiwvd0000,0,0*48\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aGFRwP000Hnl>NKlLeFwvd0000,0,0*72\r\n!AIVDM,1,1,0,,13b8s:001@PKdGTNdaG:v8Vb2000,0,0*09\r\n$GPGGA,195821,5310.8129,N,00525.7038,E,1,00,1.10,1,M,,M,,*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8129,N,00525.7038,E,195821,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,1,,13aMB<?019PGeTVNJtCQhQDV2000,0,0*26\r\n$GPRMC,195821,A,5310.8129,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*17\r\n!AIVDM,1,1,2,,13aGDjCP00PHiQTNK9b;bwvV2000,0,0*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195821,16,04,14,-02,00*67\r\n!AIVDM,1,1,3,,13aDGp00000Gpq<NR;?7l8Fd0000,0,0*4B\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,4,,15Q:RP002g0FQa`N`qTafWjb0000,0,0*02\r\n$GPBWC,195821,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195821,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n!AIVDM,1,1,5,,13btD>00000GqJHNR>D7nn`d0000,0,0*71\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.3,T,125.7,M,4.6,N,2.4,M*59\r\n$WIMWV,296.3,R,4.6,N,A*2F\r\n$WIMWV,300.2,T,4.6,N,A*26\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aGuE@P00PJKhjNTikcP?vf2000,0,0*1C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aGFROP000Ho<2NKmablgvf0000,0,0*0A\r\n!AIVDM,1,1,8,,13aDBD0P00PHj00NKB8P0?vd2000,0,0*40\r\n!AIVDM,1,1,9,,13aKV4OP00PJb?nNHTF00?vd2000,0,0*05\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,102EFW3P000Hk`LNK`I`dOvf0000,0,0*07\r\n!AIVDM,1,1,1,,13`e=?HP00PHmI2NKBT00?vd2000,0,0*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aFgJ?P00PHf8`NFsa00?vd2000,0,0*3D\r\n!AIVDM,1,1,3,,13`qM>800gPGB6RNSL0Q80Hf2000,0,0*52\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13aFgphP1E0HEJDNC0?78gvf0000,0,0*78\r\n$GPGGA,195822,5310.8129,N,00525.7038,E,1,00,1.10,1,M,,M,,*7D\r\n$GPGLL,5310.8129,N,00525.7038,E,195822,A,A*49\r\n!AIVDM,1,1,5,,13brCD00000HtKrNKFa3@CFf0000,0,0*5C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195822,A,5310.8129,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*14\r\n!AIVDM,1,1,6,,13IOOb002;0HJ0hNcU8amonb0000,0,0*28\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195822,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195822,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195822,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n!AIVDM,2,1,7,,53bs=r01<V9Q0=862204q@TMD62222222222220T4H;252teN7QTPCQBiD`888,0,2*45\r\n!AIVDM,2,2,7,,888888883,2,2*7F\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,8,,13aR>V0000PHif@NK;>:mr:f2000,0,0*36\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.2,T,125.6,M,4.6,N,2.4,M*59\r\n$WIMWV,298.9,R,4.6,N,A*2B\r\n$WIMWV,301.3,T,4.6,N,A*26\r\n!AIVDM,1,1,9,,16LWib003C0ErTvNSkhROj0f0000,0,0*3F\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13bt8P0P000HfWPNBq5`mOvf0000,0,0*54\r\n!AIVDM,1,1,1,,15E<fj002UPIO;dNbSg2hB8h2000,0,0*07\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13P<QQ@0000HdgbNFpIPHrPf0000,0,0*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aGCN8P00PHj98NKB<cDgvh2000,0,0*5D\r\n!AIVDM,1,1,4,,13aBLqgP00PHpQTNKQcP0?vf2000,0,0*73\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aEQuOP00PHiuvNKCNP0?vf2000,0,0*64\r\n!AIVDM,1,1,6,,13aph000000GrD4NGNU=tmRh0000,0,0*7F\r\n$GPGGA,195823,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*7D\r\n$GPGLL,5310.8128,N,00525.7038,E,195823,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195823,A,5310.8128,N,00525.7038,E,0.1,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195823,16,04,14,-02,00*65\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,7,,B3`hA900086:>d7Ufo`03wP00000,0,0*0C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195823,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n!AIVDM,1,1,8,,13aL>vwP00PIMtbNKaJP0?vh2000,0,0*2C\r\n$GPBWR,195823,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.1,T,125.4,M,4.6,N,2.4,M*58\r\n$WIMWV,297.1,R,4.6,N,A*2C\r\n$WIMWV,298.0,T,4.6,N,A*24\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13b`Bv5P1HPHUdjNHedPvOvh2000,0,0*5B\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,33`j7c00P0PG?:8NOgf2klDj2000,0,0*46\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,1,,53btD>01jVhU0@t>220lU<d622222222222222168h:5415B06ASl`3lQ1D`88,0,2*55\r\n!AIVDM,2,2,1,,888888883,2,2*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195824,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*7A\r\n$GPGLL,5310.8128,N,00525.7038,E,195824,A,A*4E\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195824,A,5310.8128,N,00525.7038,E,0.1,0.0,160414,0.7,E,A*12\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,2,,13b=DJ0P000Gp?TNQuvarwvj0000,0,0*72\r\n!AIVDM,1,1,3,,13aI;8gP00PHf0pNFt600?vh2000,0,0*01\r\n!AIVDM,1,1,4,,13aI9j8P00PHit8NKG:00?vh2000,0,0*38\r\n!AIVDM,1,1,5,,13cLV`001E0HN4`NH429D7Jj0000,0,0*29\r\n$GPZDA,195824,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195824,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n!AIVDM,1,1,6,,13aGtCgP00PHi1PNK@fP0?vj2000,0,0*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195824,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,125.9,T,125.3,M,4.6,N,2.4,M*54\r\n$WIMWV,297.1,R,4.6,N,A*2C\r\n$WIMWV,295.5,T,4.6,N,A*2C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,7,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aB:Hh2P0PHjDrNKJidiArh2000,0,0*1C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aL<SPP00PJG<FNKudP0?vj2000,0,0*70\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,33aL=FU000PHkCvNKS21>n@j2000,0,0*13\r\n!AIVDM,1,1,1,,13aGua?P000HfE8NFrv00?vj0000,0,0*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aDr68P00PHj4jNKALP0?vj2000,0,0*27\r\n!AIVDM,1,1,3,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0D\r\n$GPGGA,195825,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,14h?6j003C0G=`LNVs=RMQvl0000,0,0*55\r\n$GPGLL,5310.8128,N,00525.7038,E,195825,A,A*4F\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195825,A,5310.8128,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*12\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195825,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195825,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$GPBWR,195825,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,125.8,T,125.2,M,4.6,N,2.4,M*54\r\n$WIMWV,297.2,R,4.6,N,A*2F\r\n$WIMWV,296.6,T,4.6,N,A*2C\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,5,,13P:G<@2R10JNflNcb;Rkj>j0000,0,0*01\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aGuC`P00PHQJnN@h:00?vl2000,0,0*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13a?OH?00OPH>sBNM0WU5l2n2000,0,0*46\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aN1EgP0LPHBfjNI7F=agvn2000,0,0*50\r\n!AIVDM,1,1,9,,15C78000000Goh2NQul9Qm>n0000,0,0*2B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195826,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*78\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8128,N,00525.7038,E,195826,A,A*4C\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195826,A,5310.8128,N,00525.7038,E,0.1,0.0,160414,0.7,E,A*10\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195826,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n!AIVDM,1,1,0,,13a6ld00000HpmTNL1UP09dn0000,0,0*12\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195826,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$GPBWR,195826,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n!AIVDM,1,1,1,,33aetV7P0LPHGcBNL3uS`wvn2000,0,0*13\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,125.7,T,125.1,M,4.6,N,2.4,M*58\r\n$WIMWV,297.1,R,4.6,N,A*2C\r\n$WIMWV,296.6,T,4.6,N,A*2C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aDrkOP00PHi>tNKB0Upgvl2000,0,0*7E\r\n!AIVDM,1,1,3,,13aI;8wP00PHJB8NGgJ00?vn2000,0,0*6F\r\n!AIVDM,1,1,4,,13aBLqhP000JbdnNLCs00?vl0000,0,0*6E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aGvAh0000I11DNQQs:Un0p0000,0,0*44\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aL>Dg000PGa@tNKge62TRn2000,0,0*64\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195827,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*79\r\n!AIVDM,1,1,7,,33b<2H7000PHkG>NKT5:gPTn2000,0,0*34\r\n$GPGLL,5310.8128,N,00525.7038,E,195827,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,8,,13`vB;pP00PHMLNNGI:=0wvn2000,0,0*43\r\n$GPRMC,195827,A,5310.8128,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195827,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195827,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195827,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,9,,13aEOEPP00PHm@nNK`j;T?v62000,0,0*28\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,125.6,T,125.0,M,4.6,N,2.4,M*58\r\n$WIMWV,296.2,R,4.6,N,A*2E\r\n$WIMWV,295.6,T,4.6,N,A*2F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,0,,13bh6v70000HjCfNKOCc94pr0000,0,0*56\r\n!AIVDM,1,1,1,,15Q:RP002g0FQI4N`q79fWjn0000,0,0*4C\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,2,,302EFW3P000Hk`NNK`I8hwvr0000,0,0*7D\r\n!AIVDM,1,1,3,,13aFh>?0000Ivn`NSnk<laNr0000,0,0*20\r\n!AIVDM,1,1,4,,13aGFvwP00PHi3pNKCK00?vp2000,0,0*78\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,5,,33aDBd8P00PHiw@NKC000?vp2000,0,0*2E\r\n!AIVDM,1,1,6,,13`t=0001EPHGQHNQ>qbdpVp2000,0,0*66\r\n$GPGGA,195828,5310.8128,N,00525.7038,E,1,00,1.10,1,M,,M,,*76\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPGLL,5310.8128,N,00525.7038,E,195828,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195828,A,5310.8128,N,00525.7038,E,0.0,0.0,160414,0.7,E,A*1F\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,7,,13IOOb002<0HIl>NcThapWnn0000,0,0*5F\r\n$GPZDA,195828,16,04,14,-02,00*6E\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195828,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*53\r\n$GPBWR,195828,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*42\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.8,T,182.1,M,0.0,N,0.0,K*4B\r\n$WIMWD,125.6,T,125.0,M,4.6,N,2.4,M*58\r\n!AIVDM,1,1,8,,13aJJNOP000JKILNTj;00?vr0000,0,0*35\r\n$WIMWV,295.7,R,4.6,N,A*28\r\n$WIMWV,297.6,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,9,,13aI8e?P00PGpV6NR6sP0?vr2000,0,0*5D\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,0,,16LWib003C0Erh@NSl9ROj0r0000,0,0*7E\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,1,,34SNn:5P000HoJvNKnwUhwwf0000,0,0*0D\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,2,,13cDbl00200J>ELNfBCaoGoH0000,0,0*6A\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,2,1,3,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*30\r\n!AIVDM,2,2,3,,000000003,2,2*7B\r\n!AIVDM,1,1,4,,13aENfwP00PHi9vNK?K4Lgvr2000,0,0*30\r\n$GPGGA,195829,5310.8127,N,00525.7039,E,1,00,1.10,1,M,,M,,*79\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPGLL,5310.8127,N,00525.7039,E,195829,A,A*4D\r\n!AIVDM,1,1,5,,13aGD7pP0?0Ho>6NKnbR4Ovj0000,0,0*15\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195829,A,5310.8127,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPZDA,195829,16,04,14,-02,00*6F\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195829,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*52\r\n$GPBWR,195829,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*43\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.8,T,182.1,M,0.0,N,0.0,K*4B\r\n$WIMWD,125.6,T,124.9,M,4.6,N,2.4,M*50\r\n$WIMWV,300.7,R,4.6,N,A*25\r\n$WIMWV,300.9,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,6,,13`uO2700KPHKD8NL3wTUkVv2000,0,0*7A\r\n$SDHDG,182.1,,,0.6,E*39\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aGFgSP00PGp3DNQtWbT?vv2000,0,0*6D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13`gh8700IPIpVhNWl=bmphv2000,0,0*14\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7F\r\n!AIVDM,1,1,0,,13:krn000m0HN0dNH4qa>WHp0000,0,0*48\r\n!AIVDM,1,1,1,,13aIi0gP00PHkHHNKQIal?vv2000,0,0*50\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195830,5310.8127,N,00525.7039,E,1,00,1.10,1,M,,M,,*71\r\n!AIVDM,1,1,2,,13aGDjCP00PHiQPNK9b;bwvp2000,0,0*54\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8127,N,00525.7039,E,195830,A,A*45\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195830,A,5310.8127,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195830,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,3,,13btD>00000GqJRNR>D9:F`v0000,0,0*0D\r\n$GPBWC,195830,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195830,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,125.7,T,125.1,M,4.6,N,2.4,M*58\r\n$WIMWV,300.7,R,4.6,N,A*25\r\n$WIMWV,298.3,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aMB<?019PGed>NJtoQhQBp2000,0,0*77\r\n!AIVDM,1,1,5,,13aDGp00000Gpq<NR;?9QpG00000,0,0*63\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aKWbOP000JV7VNL?J00?vv0000,0,0*4A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13bb0F?00C0Gi@0NTGA:cHK00000,0,0*5C\r\n!AIVDM,1,1,8,,13aKVPHP00PHj5fNK8GP0?vv2000,0,0*73\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13aDA0PP00PHn3rNKRE00?vv2000,0,0*0C\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13`va@0P000HpIRNKnW``gw00000,0,0*11\r\n$GPGGA,195831,5310.8127,N,00525.7039,E,1,00,1.10,2,M,,M,,*73\r\n!AIVDM,1,1,1,,14h?6j003C0G=prNVslRNAw00000,0,0*61\r\n!AIVDM,1,1,2,,13aGFROP000Ho<JNKme:mOw00000,0,0*55\r\n$GPGLL,5310.8127,N,00525.7039,E,195831,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195831,A,5310.8127,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*18\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195831,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195831,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195831,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n!AIVDM,1,1,3,,13c0aT00000HJJRNGeK`sJg00000,0,0*2F\r\n$WIMWD,125.9,T,125.3,M,4.6,N,2.4,M*54\r\n$WIMWV,296.8,R,4.6,N,A*24\r\n$WIMWV,295.2,T,4.6,N,A*2B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,4,,13aKWv?P000HjUfNK?sbcOw00000,0,0*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,33aGCN8P00PHj9:NKB;;H?w22000,0,0*0B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aGuu@P00PHq0BNKuu<MOw02000,0,0*1C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,2,1,7,,541icT000000tkSK;D0h48G;F22222222222221J7hA551tbo0S1AEEhDQ1CP0,0,2*56\r\n!AIVDM,2,2,7,,000000003,2,2*7F\r\n!AIVDM,1,1,8,,13aGFRwP000HnkrNKlOdq?w20000,0,0*12\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,15C3:600000GojhNQuG6rDC20000,0,0*7C\r\n!AIVDM,1,1,0,,33aJH>OP00PGpVRNR0=b;Ow22000,0,0*2A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2B\r\n$GPGGA,195832,5310.8127,N,00525.7039,E,1,00,1.10,2,M,,M,,*70\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13brCD00000HtLDNKFbS@CG20000,0,0*5C\r\n$GPGLL,5310.8127,N,00525.7039,E,195832,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195832,A,5310.8127,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*1B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195832,16,04,14,-02,00*65\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,3,,13`e=?HP00PHmHtNKBT00?w22000,0,0*77\r\n$GPBWC,195832,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$GPBWR,195832,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,4,,13aBLqgP00PHpQJNKQdP0?w22000,0,0*3F\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,126.0,T,125.4,M,4.6,N,2.4,M*59\r\n$WIMWV,299.9,R,4.6,N,A*2A\r\n$WIMWV,299.9,T,4.6,N,A*2C\r\n!AIVDM,1,1,5,,13aFgJ?P00PHf8RNFsa00?w22000,0,0*5F\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aIi<0P00PJKPPNTj`P0?w22000,0,0*0B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aI9j8P00PHit8NKG:00?w22000,0,0*60\r\n!AIVDM,1,1,8,,13aGuE@P00PJKhnNTik;Hgw42000,0,0*5D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13b8s:001APKd9LNdaT:uHW22000,0,0*56\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aJGAwP13PJ<NLNEFq7@ww22000,0,0*1E\r\n!AIVDM,1,1,1,,13aDBD0P00PHj0FNKB6P0?w22000,0,0*66\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13P<QQ@0000HdftNFpK0UbQ20000,0,0*0E\r\n$GPGGA,195833,5310.8128,N,00525.7039,E,1,00,1.10,2,M,,M,,*7E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13b`Bv5P1HPHUibNHfU0rOw22000,0,0*59\r\n$GPGLL,5310.8128,N,00525.7039,E,195833,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195833,A,5310.8128,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPZDA,195833,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n!AIVDM,1,1,4,,13aR>V0000PHifLNK;?:mr;42000,0,0*64\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195833,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195833,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,126.1,T,125.5,M,4.6,N,2.4,M*59\r\n$WIMWV,298.8,R,4.6,N,A*2A\r\n$WIMWV,300.3,T,4.6,N,A*27\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aL>vwP00PIMtdNKaJP0?w42000,0,0*7A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,15Q:RP002g0FQ?FN`pmafWk20000,0,0*11\r\n!AIVDM,1,1,7,,102EFW3P000Hk`NNK`G8k?w60000,0,0*7A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,33b=DJ0P00PGp?6NQuv9u?w62000,0,0*30\r\n!AIVDM,1,1,9,,33aEQuOP00PHiutNKCNP0?w42000,0,0*3B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aJGrOP00PGpgrNR9h00?w42000,0,0*09\r\n!AIVDM,1,1,1,,13bt8P0P000HfWVNBq5`mOw40000,0,0*00\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aL<SPP00PJG<LNKud00?w42000,0,0*4E\r\n!AIVDM,1,1,3,,13`j7c0wP0PG?:8NOgf<@lE62000,0,0*78\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aI;8gP00PHf0tNFt5P0?w42000,0,0*3C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195834,5310.8128,N,00525.7039,E,1,00,1.10,2,M,,M,,*79\r\n!AIVDM,1,1,5,,13aGua?P00PHfE0NFrw00?w42000,0,0*69\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8128,N,00525.7039,E,195834,A,A*4E\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195834,A,5310.8128,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195834,16,04,14,-02,00*63\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,6,,13aLmW7P0P0HohVNUa5SG?w20000,0,0*57\r\n$GPBWC,195834,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$GPBWR,195834,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,126.4,T,125.7,M,4.6,N,2.4,M*5E\r\n$WIMWV,298.5,R,4.6,N,A*27\r\n$WIMWV,304.0,T,4.6,N,A*20\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,16LWib003B0ErvtNSlbROj160000,0,0*4C\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*07\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aI;8wP00PHJB2NGgIP0?w62000,0,0*5C\r\n!AIVDM,1,1,1,,13a6ld00000HpmTNL1UP09e80000,0,0*44\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195835,5310.8128,N,00525.7039,E,1,00,1.10,2,M,,M,,*78\r\n$GPGLL,5310.8128,N,00525.7039,E,195835,A,A*4F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,2,,13aN1EgP0LPHBf6NI7Web?w82000,0,0*43\r\n$GPRMC,195835,A,5310.8128,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*13\r\n!AIVDM,1,1,3,,13aIkM@P00PJ@o`NL=cP0?w62000,0,0*41\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195835,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195835,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195835,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n!AIVDM,1,1,4,,13a5jB0P000GoWpNQuqP0?w00000,0,0*6D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,126.4,T,125.8,M,4.6,N,2.4,M*51\r\n$WIMWV,303.7,R,4.6,N,A*26\r\n$WIMWV,302.6,T,4.6,N,A*20\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGuEPP00PJL2bNTkUag?w:2000,0,0*0E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,6,,53aL<SP000010C@7=L04h9Dh400000000000000Q68;522;l=0FPC50SkCAC88,0,2*73\r\n!AIVDM,2,2,6,,888880003,2,2*76\r\n!AIVDM,1,1,7,,13aDr68P00PHj4>NKAI00?w82000,0,0*40\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aB:HhuP0PHjDtNKJic3Qs82000,0,0*41\r\n!AIVDM,1,1,9,,13b<2H7000PHkG0NKT7emPU82000,0,0*36\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195836,5310.8129,N,00525.7039,E,1,00,1.10,2,M,,M,,*7A\r\n!AIVDM,1,1,0,,13a?OH?00OPH>vlNM0JU343:2000,0,0*7C\r\n$GPGLL,5310.8129,N,00525.7039,E,195836,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195836,A,5310.8129,N,00525.7039,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195836,16,04,14,-02,00*61\r\n!AIVDM,1,1,1,,13@aQ0001f0GEOVNVCW2Jiq80000,0,0*20\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195836,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195836,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,127.1,T,126.4,M,4.6,N,2.4,M*5A\r\n$WIMWV,314.2,R,4.6,N,A*25\r\n$WIMWV,322.2,T,4.6,N,A*26\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,2,1,2,,53brfb01sWIi0QTB221@P4h5=<6222222222220T38D2516?0920DS2CQiC`88,0,2*07\r\n!AIVDM,2,2,2,,888888883,2,2*7A\r\n!AIVDM,1,1,3,,13aL>Dg000PGa@vNKge62TS:2000,0,0*36\r\n!AIVDM,1,1,4,,15C78000000Goh2NQul9WE?:0000,0,0*5D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aC2`wP06PHJOHNGeM3Jww<2000,0,0*2E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2C\r\n!AIVDM,1,1,7,,13aetV7P0LPHGgpNL3sSaOw:2000,0,0*4B\r\n!AIVDM,1,1,8,,13aGE00P00PGp0RNQuq:>?w<2000,0,0*1E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aEOEPP00PHm@hNK`i;MgvJ2000,0,0*10\r\n!AIVDM,1,1,0,,13`fJDh0000Epp@NE2T4TIw80000,0,0*27\r\n$GPGGA,195837,5310.8129,N,00525.7040,E,1,00,1.10,2,M,,M,,*75\r\n!AIVDM,1,1,1,,13aFh>?0000Ivn`NSnk=PaO<0000,0,0*50\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8129,N,00525.7040,E,195837,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195837,A,5310.8129,N,00525.7040,E,0.1,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195837,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195837,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$GPBWR,195837,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,2,,B39k:bP0?`62rL7WB:c0OwP00000,0,0*24\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,127.6,T,127.0,M,4.6,N,2.4,M*58\r\n!AIVDM,1,1,3,,13aGvAh0000I11:NQQs<>61<0000,0,0*44\r\n$WIMWV,311.0,R,4.6,N,A*22\r\n$WIMWV,316.1,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13`t=0001EPHGDfNQ>u:bpW<2000,0,0*48\r\n!AIVDM,1,1,5,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aDBd8P00PHivrNKBwP0?w<2000,0,0*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,102EFW3P000Hk`RNK`F`mww>0000,0,0*79\r\n!AIVDM,1,1,8,,13aBLqhP000JbdnNLCs00?w:0000,0,0*35\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,33`qM>8P0kPGB;TNSLj110U>2000,0,0*4B\r\n!AIVDM,1,1,0,,13aGsMPP0HPIvojN?LTWk?w<2000,0,0*60\r\n!AIVDM,1,1,1,,13bjvT?0000H562NQgi1Gb5:0000,0,0*2E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,14h?6j003C0G><FNVtS2NAw>0000,0,0*4F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195838,5310.8130,N,00525.7040,E,1,00,1.10,2,M,,M,,*72\r\n!AIVDM,1,1,3,,13cDbl00200J>5BNfAq9moob0000,0,0*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8130,N,00525.7040,E,195838,A,A*45\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,4,,13aFfRPP00PIuA:NF3iP0?w<2000,0,0*0D\r\n$GPRMC,195838,A,5310.8130,N,00525.7040,E,0.1,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195838,16,04,14,-02,00*6F\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195838,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*52\r\n$GPBWR,195838,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*43\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n!AIVDM,1,1,5,,33bAqH?P0OPK63LN`e@725u>2000,0,0*64\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,127.9,T,127.3,M,4.6,N,2.4,M*54\r\n$WIMWV,306.9,R,4.6,N,A*2D\r\n$WIMWV,307.2,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aI8e?P00PGpV2NR6qP0?w>2000,0,0*19\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aGFvwP00PHi3<NKCKP0?w>2000,0,0*18\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,15Q:RP002g0FPt0N`pE9fWk>0000,0,0*5F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195839,5310.8130,N,00525.7040,E,1,00,1.10,3,M,,M,,*72\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8130,N,00525.7040,E,195839,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195839,A,5310.8130,N,00525.7040,E,0.1,0.0,160414,0.7,E,A*18\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195839,16,04,14,-02,00*6E\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195839,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*53\r\n$GPBWR,195839,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*42\r\n!AIVDM,1,1,9,,13`gh8700IPIpS2NWl@bspi@2000,0,0*1E\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n!AIVDM,1,1,0,,13:krn000n0HMqlNH4Ua>7I<0000,0,0*08\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.1,T,127.5,M,4.6,N,2.4,M*55\r\n$WIMWV,308.7,R,4.6,N,A*2D\r\n$WIMWV,307.5,T,4.6,N,A*26\r\n!AIVDM,1,1,1,,13aGFgSP00PGp3@NQtWbVww@2000,0,0*12\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aGD7pP0?0Ho=DNKniR4Ow80000,0,0*3B\r\n!AIVDM,1,1,3,,13aGF=8P00PGpaHNR8TP0?w@2000,0,0*2B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13bh6v70000HjCdNKOCa:lqB0000,0,0*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n!AIVDM,1,1,6,,13aIi0gP00PHkHFNKQJ9kgwB2000,0,0*68\r\n!AIVDM,1,1,7,,33aENfwP00PHi:2NK?K4Eww@2000,0,0*5C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aKWv?P00PHjUFNK?u:dOwB2000,0,0*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195840,5310.8130,N,00525.7040,E,1,00,1.10,3,M,,M,,*7C\r\n!AIVDM,1,1,9,,13aMB<?01:PGeklNJuL1eiE<2000,0,0*18\r\n!AIVDM,1,1,0,,13`uO2700KPHKH6NL3n4TCWB2000,0,0*1B\r\n!AIVDM,1,1,1,,13aGFROP000Ho<fNKmf:iOwB0000,0,0*0F\r\n!AIVDM,1,1,2,,13IOOb002;0HIK@NcTFaroo>0000,0,0*41\r\n!AIVDM,1,1,3,,13aL?>HP00PHj5fNKALP0?w@2000,0,0*3D\r\n$GPGLL,5310.8130,N,00525.7040,E,195840,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195840,A,5310.8130,N,00525.7040,E,0.1,0.0,160414,0.7,E,A*16\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195840,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,4,,13aKVPHP00PHj5bNK8H00?wB2000,0,0*21\r\n$GPBWC,195840,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$GPBWR,195840,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aBJp700O0G`ffNSgc2nR;B0000,0,0*54\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,6,,13c0aT00000HJJVNGeL8IbgB0000,0,0*11\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.4,T,127.7,M,4.6,N,2.4,M*52\r\n$WIMWV,305.9,R,4.6,N,A*2E\r\n$WIMWV,306.3,T,4.6,N,A*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13bQtf?P000Hf18NFs@aiwwB0000,0,0*66\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,8,,102EFW3P000Hk`RNK`F8ogwB0000,0,0*40\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aDA0PP00PHn4<NKRCP0?wB2000,0,0*16\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,15E<fj002UPIOlTNbTjRhR9D2000,0,0*36\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aGDjCP00PHiQPNK9`;Tgw>2000,0,0*3C\r\n!AIVDM,1,1,2,,13`va@0P00PHpI<NKn`8UwwD2000,0,0*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,16LWib003B0Es>TNSm=2Oj1B0000,0,0*6B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13P;h8h02ePGVA:Nc4O9sGs>2000,0,0*57\r\n!AIVDM,1,1,5,,13brCD00000HtLHNKFbS@CGD0000,0,0*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aGuu@P00PHpwfNKuv<;wwB2000,0,0*41\r\n$GPGGA,195841,5310.8131,N,00525.7040,E,1,00,1.10,3,M,,M,,*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8131,N,00525.7040,E,195841,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195841,A,5310.8131,N,00525.7040,E,0.0,0.0,160414,0.7,E,A*17\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195841,16,04,14,-02,00*61\r\n!AIVDM,1,1,7,,13aGFRwP000HnkNNKlS<v?wD0000,0,0*14\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195841,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$GPBWR,195841,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n!AIVDM,1,1,8,,13`e=?HP00PHmHpNKBTP0?wD2000,0,0*6E\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n!AIVDM,1,1,9,,13b8s:001APKd02Ndadbw8WB2000,0,0*4B\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.5,T,127.8,M,4.6,N,2.4,M*5C\r\n$WIMWV,302.0,R,4.6,N,A*20\r\n$WIMWV,301.6,T,4.6,N,A*23\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,0,,53ba1n00000109HN2204l5=E>22222222222220o0`;2218802j0DS2CQiC`88,0,2*17\r\n!AIVDM,2,2,0,,888888883,2,2*78\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2B\r\n!AIVDM,1,1,2,,13btD>00000GqJfNR>DauVaD0000,0,0*0C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*29\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13b`Bv5P1GPHUmfNHgH0kwwD2000,0,0*1B\r\n!AIVDM,1,1,6,,13aFgJ?P00PHf8@NFs`P0?wD2000,0,0*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aFgphP1E0HEIHNBvH78gwF0000,0,0*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aBMu@P00PJK4TNEh3P0?wD2000,0,0*45\r\n$GPGGA,195842,5310.8131,N,00525.7041,E,1,00,1.10,3,M,,M,,*7E\r\n$GPGLL,5310.8131,N,00525.7041,E,195842,A,A*48\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,9,,33c::t5000PHjF@NK8J80Jo@2000,0,0*3C\r\n$GPRMC,195842,A,5310.8131,N,00525.7041,E,0.0,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195842,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,0,,13`oUo?P000HbMvNFsD>4?wB0000,0,0*0D\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195842,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195842,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n!AIVDM,1,1,1,,13bt8P0P000HfWVNBq6`mOwD0000,0,0*73\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n!AIVDM,1,1,2,,13aDGp00000Gpq>NR;?54pGF0000,0,0*79\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.5,T,127.8,M,4.6,N,2.4,M*5C\r\n!AIVDM,1,1,3,,13aGCN8P00PHj9:NKB;;POwF2000,0,0*13\r\n$WIMWV,301.3,R,4.6,N,A*20\r\n$WIMWV,300.5,T,4.6,N,A*21\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,4,,33aGti@00WPJV9LNKa9:3`1F2000,0,0*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aJH>OP00PGpVBNR0>::wwH2000,0,0*25\r\n!AIVDM,1,1,6,,13aL>vwP00PIMtdNKaJP0?wF2000,0,0*0B\r\n!AIVDM,1,1,7,,14h?6j003C0G>J>NVu4RNAwH0000,0,0*34\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aKV4OP00PJb?fNHTEP0?wF2000,0,0*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aDBD0P00PHj0BNKB600?wF2000,0,0*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,0,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*33\r\n!AIVDM,2,2,0,,000000003,2,2*78\r\n$GPGGA,195843,5310.8132,N,00525.7041,E,1,00,1.10,3,M,,M,,*7C\r\n$GPGLL,5310.8132,N,00525.7041,E,195843,A,A*4A\r\n!AIVDM,1,1,1,,13aR>V0000PHiflNK;A:mr;H2000,0,0*43\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195843,A,5310.8132,N,00525.7041,E,0.0,0.0,160414,0.7,E,A*17\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195843,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,2,,13aBLqgP00PHpQ6NKQe00?wH2000,0,0*5E\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195843,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195843,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,128.5,T,127.9,M,4.6,N,2.4,M*5D\r\n$WIMWV,300.2,R,4.6,N,A*20\r\n$WIMWV,300.9,T,4.6,N,A*2D\r\n!AIVDM,1,1,3,,13aJGAwP13PJ<MJNEF;WAOwH2000,0,0*71\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,4,,13cLV`001E0HMgrNH31a@GMJ0000,0,0*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aI9j8P00PHit8NKG:00?wH2000,0,0*18\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aEQuOP00PHiuvNKCNP0?wH2000,0,0*48\r\n!AIVDM,1,1,7,,13aI;8gP00PHf10NFt500?wH2000,0,0*66\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,33`j7c03@0PG?:8NOgf9EDEJ2000,0,0*71\r\n!AIVDM,1,1,9,,13aIi<0P00PJKPjNTja00?wH2000,0,0*25\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aph000000GrD6NGNU<tESJ0000,0,0*71\r\n$GPGGA,195844,5310.8132,N,00525.7041,E,1,00,1.10,3,M,,M,,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8132,N,00525.7041,E,195844,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n!AIVDM,1,1,1,,13b=DJ0P00PGp?>NQut9wgwJ2000,0,0*17\r\n$GPRMC,195844,A,5310.8132,N,00525.7041,E,0.0,0.0,160414,0.7,E,A*10\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195844,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195844,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195844,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,2,1,2,,53bG`T00?JTI09DN220T<tr2222222222222220U3pO550Kd08j0DS2CQiC`88,0,2*01\r\n!AIVDM,2,2,2,,888888883,2,2*7A\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n!AIVDM,1,1,3,,13aN1EgP0LPHBeNNI7r=cwwJ2000,0,0*7F\r\n$WIMWD,128.6,T,127.9,M,4.6,N,2.4,M*5E\r\n$WIMWV,299.8,R,4.6,N,A*2B\r\n$WIMWV,302.6,T,4.6,N,A*20\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,4,,53aMB<027w6q0=96221TFoOV04pp6mA8T`q@`F0N3h5552w0055hA11CVQAH88,0,2*7C\r\n!AIVDM,2,2,4,,888888883,2,2*7C\r\n!AIVDM,1,1,5,,13aB:Hh000PHjDtNKJiVN1sJ2000,0,0*33\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,6,,53aEQt0000010?GOWB10u<DT@tr222222222220t3H85116h03B0DS2CQiC`88,0,2*14\r\n!AIVDM,2,2,6,,888888883,2,2*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195845,5310.8133,N,00525.7041,E,1,00,1.10,4,M,,M,,*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8133,N,00525.7041,E,195845,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195845,A,5310.8133,N,00525.7041,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195845,16,04,14,-02,00*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aL<SPP00PJG<LNKudP0?wL2000,0,0*5D\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195845,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n!AIVDM,1,1,0,,33bAqH?P0NPK63<N`e2W;n;L2000,0,0*6C\r\n$GPBWR,195845,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*69\r\n!AIVDM,1,1,1,,13`vB;pP00PHMLFNGI:=3?wL2000,0,0*2A\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.7,T,128.0,M,4.6,N,2.4,M*59\r\n$WIMWV,305.8,R,4.6,N,A*2F\r\n$WIMWV,318.7,T,4.6,N,A*2A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,33`qM>8P0lPGB>@NSM;160kN2000,0,0*4F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aIkM@P00PJ@oTNL=cP0?wL2000,0,0*0F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13IOOb002;0HIApNcSuahooH0000,0,0*25\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,5,,53aBLqP000010SWGOD0l58LuB00000000000000t3h2220@P00B0DS2CQiCP00,0,2*66\r\n!AIVDM,2,2,5,,000000003,2,2*7D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,6,,55Q:RP02?8Jw<E<cR20<u<<v0p4LuT6222222216I0tA=18T0LlSm51DQ0CK83,0,2*6E\r\n!AIVDM,2,2,6,,S88888883,2,2*15\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,102EFW3P00PHk`TNK`E`rOwN2000,0,0*49\r\n!AIVDM,1,1,8,,13aL?0W00NPJM1BNaI>1?hWL2000,0,0*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,15C78000000Goh8NQum9Qm?N0000,0,0*01\r\n$GPGGA,195846,5310.8133,N,00525.7041,E,1,00,1.10,4,M,,M,,*7F\r\n!AIVDM,1,1,0,,13aGuEPP00PJL2tNTkSae?wN2000,0,0*6D\r\n!AIVDM,1,1,1,,13aI;8wP00PHJB<NGgH00?wL2000,0,0*48\r\n$GPGLL,5310.8133,N,00525.7041,E,195846,A,A*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195846,A,5310.8133,N,00525.7041,E,0.0,0.0,160414,0.7,E,A*13\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195846,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,R,N,V,V,213.9,T,,213.9,T,213.9,T,A*68\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195846,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$GPBWR,195846,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,R,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*45\r\n$GPXTE,A,A,0.000,R,N,A*2D\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.8,T,128.2,M,3.7,N,1.9,M*5C\r\n$WIMWV,308.5,R,3.7,N,A*29\r\n$WIMWV,312.5,T,3.7,N,A*24\r\n!AIVDM,1,1,2,,33`kEsjP00PJKOhNL;700?wN2000,0,0*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,3,,33aGti@00WPJV7:NKa7b7H1N2000,0,0*16\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13aDr68P00PHj3LNKAEP0?wN2000,0,0*2C\r\n!AIVDM,1,1,5,,16LWib003B0EsNNNSmjROj1N0000,0,0*3C\r\n!AIVDM,1,1,6,,13a?OH?00OPH?2hNM0:U4D5P2000,0,0*50\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aC2`wP09PHJPLNGeNS:OwP2000,0,0*7F\r\n!AIVDM,1,1,8,,13aL>Dg000PGa@vNKge62TSN2000,0,0*49\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,9,,53aJH>@000010N3CGK@lTA<h4pB222222222220t1pr652w100000000000000,0,2*32\r\n!AIVDM,2,2,9,,000000003,2,2*71\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,0,,53aKWv0000010SO7W21HE9A8uELDr2222222220t380222w100000000000000,0,2*37\r\n!AIVDM,2,2,0,,000000003,2,2*78\r\n!AIVDM,1,1,1,,13aetV7P0LPHGl4NL3r3`gwN2000,0,0*3E\r\n!AIVDM,1,1,2,,13`fJDh0000Epp@NE2T4TIwJ0000,0,0*57\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aDrkOP00PHi>tNKB0UpgwN2000,0,0*5C\r\n!AIVDM,1,1,4,,13`t=0001FPHG9DNQ?0:b8WN2000,0,0*6A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195847,5310.8134,N,00525.7041,E,1,00,1.10,4,M,,M,,*79\r\n!AIVDM,1,1,5,,13aGvAh0000I10nNQQu`Jn1P0000,0,0*0D\r\n$GPGLL,5310.8134,N,00525.7041,E,195847,A,A*48\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,039,,05,15,069,,10,05,017,,13,05,347,*78\r\n$GPGSV,3,2,10,16,13,294,,21,36,173,,23,11,316,,25,37,118,*7E\r\n$GPGSV,3,3,10,29,69,069,,31,54,240,*76\r\n$GPRMC,195847,A,5310.8134,N,00525.7041,E,0.1,0.0,160414,0.7,E,A*14\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,2,1,6,,53aGCN0000010WSC;V0lE8=E8UE>22222222220t2h12216aN2k@BjmCH88888,0,2*5D\r\n!AIVDM,2,2,6,,888888883,2,2*7E\r\n$GPZDA,195847,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n!AIVDM,1,1,7,,13aB7fwP00PGl<LNEb`b9?wP2000,0,0*58\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195847,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195847,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n!AIVDM,1,1,8,,13aEOEPP00PHm@hNK`gcMgvf2000,0,0*6B\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.0,T,128.4,M,4.6,N,2.4,M*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWV,307.2,R,4.6,N,A*27\r\n$WIMWV,308.8,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,9,,13b<2H7000PHkG8NKT5a4hWP2000,0,0*33\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13cDbl0P200J=kHNfALamGn60000,0,0*50\r\n!AIVDM,1,1,1,,13bjvT?0000H55`NQge1Gb5N0000,0,0*07\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aGE00P00PGp0TNQuqb<wwR2000,0,0*6E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aDBd8P00PHivlNKC000?wP2000,0,0*26\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGsMPP0HPIvnfN?LE7o?wP2000,0,0*71\r\n$GPGGA,195848,5310.8135,N,00525.7041,E,1,00,1.10,4,M,,M,,*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aGFvwP00PHi3@NKCM00?wP2000,0,0*6D\r\n$GPGLL,5310.8135,N,00525.7041,E,195848,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,7,,13aFh>?0000IvnVNSnke:9OR0000,0,0*64\r\n$GPRMC,195848,A,5310.8135,N,00525.7041,E,0.1,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,8,,33`qM>8P0kPGB?BNSME160qR2000,0,0*39\r\n$GPZDA,195848,16,04,14,-02,00*68\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195848,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*55\r\n$GPBWR,195848,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*44\r\n!AIVDM,1,1,9,,102EFW3P000Hk`TNK`G8swwR0000,0,0*5A\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.1,T,128.5,M,4.6,N,2.4,M*5B\r\n$WIMWV,304.8,R,4.6,N,A*2E\r\n$WIMWV,303.3,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aENfwP00PHi:2NK?K00?wR2000,0,0*72\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aL?>HP00PHj5fNKALP0?wR2000,0,0*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aJJNOP000JKILNTj;00?wR0000,0,0*1E\r\n!AIVDM,1,1,3,,33aGti@00WPJV5LNKa5b5p1R2000,0,0*46\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,14h?6j003C0G>bjNVud2M1uT0000,0,0*16\r\n!AIVDM,1,1,5,,33aGti@00WPJV5LNKa5b5p1R2000,0,0*40\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195849,5310.8136,N,00525.7041,E,1,00,1.10,4,M,,M,,*75\r\n$GPGLL,5310.8136,N,00525.7041,E,195849,A,A*44\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195849,A,5310.8136,N,00525.7041,E,0.1,0.0,160414,0.7,E,A*18\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195849,16,04,14,-02,00*69\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195849,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*54\r\n$GPBWR,195849,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*45\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.2,T,128.5,M,4.6,N,2.4,M*58\r\n$WIMWV,307.7,R,4.6,N,A*22\r\n$WIMWV,308.6,T,4.6,N,A*2A\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,33`uO2700JPHKKDNL3f4SkUV2000,0,0*5E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13bh6v70000HjCbNKOCaTlqV0000,0,0*47\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13:krn000n0HMk@NH4?a>7GP0000,0,0*3E\r\n!AIVDM,1,1,9,,33aIi0gP00PHkHLNKQKaVwwV2000,0,0*0F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aKWv?P00PHjTtNK?wbdOwV2000,0,0*58\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*28\r\n!AIVDM,1,1,3,,13aGD7pP0?0Ho;tNKnrR4OwL0000,0,0*63\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195850,5310.8137,N,00525.7042,E,1,00,1.10,4,M,,M,,*7F\r\n$GPGLL,5310.8137,N,00525.7042,E,195850,A,A*4E\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195850,A,5310.8137,N,00525.7042,E,0.1,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195850,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195850,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n!AIVDM,1,1,4,,13`va@0P00PHpHvNKna8TwwV2000,0,0*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195850,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,5,,13aGuu@P00PHpw2NKuwcswwV2000,0,0*14\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.3,T,128.7,M,4.6,N,2.4,M*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWV,307.1,R,4.6,N,A*24\r\n$WIMWV,304.7,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,6,,13bQtf?P000Hf2HNFs>9ggw`0000,0,0*0E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13b?AJ7P0P0J1StNV4NU4wwT0000,0,0*24\r\n!AIVDM,1,1,8,,13aMB<?01;PGes`NJv0QhQIR2000,0,0*44\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aGDjCP00PHiQTNK9`;TgwR2000,0,0*5C\r\n!AIVDM,1,1,0,,15Q:RP002g0FPStN`o`9fWkV0000,0,0*66\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aKVPHP00PHj5RNK8H00?wV2000,0,0*00\r\n!AIVDM,1,1,2,,33aENfEP00PHfs2NBp55bwwV2000,0,0*25\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13c0aT00000HJJRNGeL93:g`0000,0,0*11\r\n!AIVDM,1,1,4,,13bAqH?P0MPK62VN`dm7JnAV2000,0,0*2D\r\n!AIVDM,1,1,5,,13aGFROP000Ho=<NKmebg?w`0000,0,0*57\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195851,5310.8138,N,00525.7042,E,1,00,1.10,5,M,,M,,*70\r\n$GPGLL,5310.8138,N,00525.7042,E,195851,A,A*40\r\n!AIVDM,1,1,6,,13aGFRwP000Hnk8NKlU8jgw`0000,0,0*01\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195851,A,5310.8138,N,00525.7042,E,0.0,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,7,,13`e=?HP00PHmHfNKBU00?wV2000,0,0*04\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195851,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195851,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n!AIVDM,1,1,8,,13btD>00000GqJjNR>CaI6a`0000,0,0*75\r\n$GPBWR,195851,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,9,,13b8s:001APKclBNdao:tpWV2000,0,0*6C\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.5,T,128.8,M,4.6,N,2.4,M*52\r\n$WIMWV,306.0,R,4.6,N,A*24\r\n$WIMWV,305.4,T,4.6,N,A*25\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aGuE@P000JKhLNTij;Hgwb0000,0,0*42\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,1,,13aDA0PP00PHn4:NKRE00?w`2000,0,0*5C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13brCD00000HtLLNKFcS@CG`0000,0,0*07\r\n!AIVDM,1,1,3,,13aBMu@P00PJK4LNEh3P0?w`2000,0,0*72\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,102EFW3P000Hk`VNK`I`u?wb0000,0,0*7D\r\n!AIVDM,1,1,5,,13aBJp700O0G`kdNSgj2n29b0000,0,0*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aFgJ?P00PHf8@NFsaP0?w`2000,0,0*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aDGp00000Gpq>NR;?8gpGb0000,0,0*09\r\n$GPGGA,195852,5310.8138,N,00525.7041,E,1,00,1.10,5,M,,M,,*70\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8138,N,00525.7041,E,195852,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195852,A,5310.8138,N,00525.7041,E,0.0,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195852,16,04,14,-02,00*63\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,9,,13P;h8h1RePGUnVNc3q9tGsT2000,0,0*2F\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195852,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n!AIVDM,1,1,0,,16LWib003BPEsfhNSnHROj1b2000,0,0*58\r\n$GPBWR,195852,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.6,T,128.9,M,4.6,N,2.4,M*50\r\n$WIMWV,299.9,R,4.6,N,A*2A\r\n$WIMWV,295.1,T,4.6,N,A*28\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aR>V0000PHig@NK;B:mr;b2000,0,0*47\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aJH>OP00PGpUvNR0>b;Owd2000,0,0*58\r\n!AIVDM,1,1,3,,13aDBD0P00PHj04NKB6P0?wb2000,0,0*46\r\n!AIVDM,1,1,4,,13aI9j8P00PHit8NKG:00?wb2000,0,0*33\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aBLqgP00PHpQTNKQd00?wb2000,0,0*10\r\n!AIVDM,1,1,6,,13P<QQ@0000HdflNFpQPDJQb0000,0,0*01\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,33b=DJ0P00PGp?LNQut9wwwd2000,0,0*5F\r\n!AIVDM,1,1,8,,33aGDr5P00PHi36NK@Bd3gwb2000,0,0*62\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aGCN8P00PHj8tNKB=cegwd2000,0,0*37\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13b`Bv5P1GPHUqtNHhH0`?wb2000,0,0*7A\r\n$GPGGA,195853,5310.8139,N,00525.7041,E,1,00,1.10,5,M,,M,,*70\r\n$GPGLL,5310.8139,N,00525.7041,E,195853,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195853,A,5310.8140,N,00525.7041,E,0.1,0.0,160414,0.7,E,A*12\r\n!AIVDM,1,1,1,,33aGti@00WPJV3>NKa2b5H3d2000,0,0*3B\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195853,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,2,,13cLV`001E0HMVNNH2T9@GKd0000,0,0*7A\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195853,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195853,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n!AIVDM,1,1,3,,13aEQuOP00PHiv2NKCNP0?wd2000,0,0*26\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n!AIVDM,1,1,4,,13bt8P0P000HfWNNBq78mOwb0000,0,0*11\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,129.5,T,128.9,M,4.6,N,2.4,M*53\r\n$WIMWV,301.6,R,4.6,N,A*25\r\n$WIMWV,299.1,T,4.6,N,A*24\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,5,,15C3:600000GojLNQuG:1DAf0000,0,0*4D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,33@aQ00P1g0GEobNVDT2HR3b0000,0,0*75\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aIi<0P00PJKPrNTj`P0?wd2000,0,0*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aJGAwP13PJ<L4NEEH7Cgwd2000,0,0*13\r\n!AIVDM,1,1,9,,13aIkM@P00PJ@oPNL=c00?wd2000,0,0*49\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aph000000GrD@NGNTebUSf0000,0,0*75\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195854,5310.8140,N,00525.7041,E,1,00,1.10,5,M,,M,,*79\r\n$GPGLL,5310.8140,N,00525.7041,E,195854,A,A*49\r\n!AIVDM,1,1,1,,13`j7c0000PG?:8NOgf5I4Ef2000,0,0*55\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195854,A,5310.8141,N,00525.7042,E,0.1,0.0,160414,0.7,E,A*17\r\n!AIVDM,1,1,2,,13aL>vwP00PIMtdNKaK00?wd2000,0,0*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195854,16,04,14,-02,00*65\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195854,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$GPBWR,195854,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n!AIVDM,1,1,3,,13aJGrOP00PGpgPNR9i00?wf2000,0,0*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.6,T,129.0,M,4.6,N,2.4,M*58\r\n$WIMWV,305.3,R,4.6,N,A*24\r\n$WIMWV,307.5,T,4.6,N,A*26\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,4,,13aL<SPP00PJG<DNKudP0?wf2000,0,0*72\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aN1EgP0KPHBdnNI8=ecOwh2000,0,0*5E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*09\r\n!AIVDM,1,1,8,,33`qM>8P0lPGBAbNSM`1AQ9h2000,0,0*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13`rcF?P000HRlLN@b300?wd0000,0,0*61\r\n!AIVDM,1,1,0,,13aB:Hh1P0PHjDtNKJiaAAsf2000,0,0*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aGua?P00PHfEHNFrv00?wf2000,0,0*46\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aI;8wP00PHJBHNGgH00?wf2000,0,0*15\r\n$GPGGA,195855,5310.8141,N,00525.7042,E,1,00,1.10,6,M,,M,,*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8141,N,00525.7042,E,195855,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195855,A,5310.8141,N,00525.7042,E,0.0,0.0,160414,0.7,E,A*17\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195855,16,04,14,-02,00*64\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195855,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195855,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n!AIVDM,1,1,3,,15C78000000GohBNQun9Am?h0000,0,0*44\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,4,,13aetV7P0KPHGoLNL3pS`gwh2000,0,0*03\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.7,T,129.1,M,4.6,N,2.4,M*58\r\n$WIMWV,308.6,R,4.6,N,A*2C\r\n$WIMWV,308.6,T,4.6,N,A*2A\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,2,1,5,,56LWib02@5TGL`A22204A8T5@T>0PTLQL5V222162Rj8G18c0C11ACAH888888,0,2*05\r\n!AIVDM,2,2,5,,888888883,2,2*7D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aDr68P00PHj3BNKAH00?wh2000,0,0*6B\r\n!AIVDM,1,1,7,,14h?6j003D0G>v<NVvK2MQuj0000,0,0*22\r\n!AIVDM,1,1,8,,13b<2H7000PHkG@NKT6a30Wh2000,0,0*2E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13aGvAh0000I10dNQQucT61j0000,0,0*74\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aFfb0P00PJgPJNFp7P0?wh2000,0,0*60\r\n!AIVDM,1,1,1,,13a6ld00000HpmTNL1UP09ej0000,0,0*16\r\n$GPGGA,195856,5310.8141,N,00525.7042,E,1,00,1.10,6,M,,M,,*7A\r\n$GPGLL,5310.8141,N,00525.7042,E,195856,A,A*49\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195856,A,5310.8142,N,00525.7043,E,0.0,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195856,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195856,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n!AIVDM,1,1,2,,13aC2`wP08PHJQbNGeJTIwwj2000,0,0*26\r\n$GPBWR,195856,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,3,,13a1lH?P000I?iHNKTmdbgwv0000,0,0*6A\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.7,T,129.1,M,4.6,N,2.4,M*58\r\n$WIMWV,307.9,R,4.6,N,A*2C\r\n$WIMWV,307.9,T,4.6,N,A*2A\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,4,,13aGE00P00PGp0RNQurbBOwj2000,0,0*13\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13a?OH?00OPH?6@NLwt59l7l2000,0,0*0C\r\n!AIVDM,1,1,6,,13a5jB0P000GoWpNQuqP0?wb0000,0,0*3D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aGuEPP00PJL2jNTkSafgwl2000,0,0*0D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13`t=00P1FPHFtRNQ?3:b`Sj2000,0,0*27\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13aDrkOP00PHi>tNKB0Upgwj2000,0,0*72\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13`vB;pP00PHML:NGI:=7Owj2000,0,0*05\r\n$GPGGA,195857,5310.8142,N,00525.7043,E,1,00,1.10,6,M,,M,,*79\r\n$GPGLL,5310.8142,N,00525.7043,E,195857,A,A*4A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195857,A,5310.8142,N,00525.7043,E,0.1,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195857,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195857,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$GPBWR,195857,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.7,T,129.1,M,4.6,N,2.4,M*58\r\n$WIMWV,304.4,R,4.6,N,A*22\r\n$WIMWV,304.4,T,4.6,N,A*24\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aDBd8P00PHivnNKBvP0?wl2000,0,0*3D\r\n!AIVDM,1,1,2,,13aI8e?P00PGpUrNR6qP0?wl2000,0,0*0C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*29\r\n!AIVDM,1,1,4,,33`qM>8P0kPGBBtNSMi1M1?n2000,0,0*5A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,15Q:RP002g0FP@pN`o7afWkh0000,0,0*45\r\n!AIVDM,1,1,6,,13aGFvwP00PHi36NKCM00?wl2000,0,0*27\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13c1LF0P0T0HluBNR>w9@Owl0000,0,0*49\r\n!AIVDM,1,1,8,,33aL?0WP0MPJM4BNaISQIhel2000,0,0*74\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195858,5310.8142,N,00525.7043,E,1,00,1.10,6,M,,M,,*76\r\n$GPGLL,5310.8142,N,00525.7043,E,195858,A,A*45\r\n!AIVDM,1,1,9,,102EFW3P00PHk`TNK`C`v?wn2000,0,0*15\r\n$GPGSA,A,3,,,,,,,,,,,,,2.00,1.10,1.70*06\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195858,A,5310.8143,N,00525.7045,E,0.1,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195858,16,04,14,-02,00*69\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195858,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*54\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195858,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*45\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,0,,13aGD7pP0?0Ho;tNKnTR4Owd0000,0,0*6E\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.7,T,129.1,M,4.6,N,2.4,M*58\r\n!AIVDM,1,1,1,,13bh6v70000HjCVNKOBaOTqn0000,0,0*6F\r\n$WIMWV,301.3,R,4.6,N,A*20\r\n$WIMWV,301.3,T,4.6,N,A*26\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,2,,13P;h8h02ePGU`@Nc3Uarosh2000,0,0*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13bjvT?0000H562NQgi1Gb5j0000,0,0*7C\r\n!AIVDM,1,1,4,,13aENfwP00PHi:4NK?K00?wn2000,0,0*4C\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13`naR?00H0JdFLN`cKc:`on0000,0,0*2C\r\n!AIVDM,1,1,6,,13aIi0gP00PHkHTNKQIaNgv02000,0,0*77\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aEOEPP00PHm@hNK`g;Mgw42000,0,0*6F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,16LWib003BPEt1jNSo52Oj002000,0,0*4D\r\n!AIVDM,1,1,9,,13aL?>HP00PHj5fNKAL00?wn2000,0,0*79\r\n$GPGGA,195859,5310.8143,N,00525.7045,E,1,00,1.20,6,M,,M,,*73\r\n$GPGLL,5310.8143,N,00525.7045,E,195859,A,A*43\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195859,A,5310.8144,N,00525.7047,E,0.1,0.0,160414,0.7,E,A*1A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,0,,13:krn000n0HMddNH3pa<oEl0000,0,0*31\r\n$GPZDA,195859,16,04,14,-02,00*68\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n!AIVDM,1,1,1,,13aGFgSP00PGp3>NQtVb@wv02000,0,0*0A\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195859,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*55\r\n$GPBWR,195859,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*44\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWD,129.7,T,129.1,M,5.6,N,2.9,M*54\r\n$WIMWV,302.6,R,5.6,N,A*27\r\n$WIMWV,302.6,T,5.6,N,A*21\r\n!AIVDM,1,1,2,,13aGF=8P00PGpaDNR8c00?v02000,0,0*00\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*75\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13`gh8700HPIpKfNWlG:tpf22000,0,0*7B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13bb0F?00C0Gi7dNTGDbbpL20000,0,0*1F\r\n!AIVDM,1,1,7,,13?u9:001b0KTi@Neag2nR=l0000,0,0*20\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195900,5310.8144,N,00525.7047,E,1,00,1.20,7,M,,M,,*7A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8144,N,00525.7047,E,195900,A,A*4B\r\n!AIVDM,2,1,8,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*3B\r\n!AIVDM,2,2,8,,000000003,2,2*70\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,9,,13aGFRwP000Hnk0NKlV;owv20000,0,0*40\r\n$GPRMC,195900,A,5310.8144,N,00525.7049,E,0.1,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195900,16,04,14,-02,00*65\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,2,1,0,,53aGDr0000010W;?G804pU@4000000000000000l0PC2412005UjC31CDjhA1@,0,2*10\r\n!AIVDM,2,2,0,,000000003,2,2*78\r\n$GPBWC,195900,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$GPBWR,195900,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n!AIVDM,1,1,1,,13`uO2700JPHKO:NL3U4SkR22000,0,0*71\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,2,,13b?AJ7P0P0J1`0NV4@52gv00000,0,0*4B\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n!AIVDM,1,1,3,,33bd@p5P00PHq@2NKOS00?v22000,0,0*60\r\n$WIMWD,129.8,T,129.2,M,4.6,N,2.4,M*54\r\n$WIMWV,303.0,R,4.6,N,A*21\r\n$WIMWV,303.0,T,4.6,N,A*27\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aGFROP000Ho>BNKmb:hOv40000,0,0*5E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13bQtf?P000Hf22NFs;9cwv40000,0,0*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aGuu@P00PHpw2NKuv;bgv22000,0,0*2A\r\n!AIVDM,1,1,7,,13aKWv?P00PHjThNK@0bggv42000,0,0*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aKVPHP00PHj5TNK8H00?v22000,0,0*6A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13`va@0P000HpI:NKn`8QOv40000,0,0*03\r\n!AIVDM,1,1,0,,13aMB<?01;PGf4HNJv`1k1H02000,0,0*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195901,5310.8144,N,00525.7049,E,1,00,1.20,7,M,,M,,*75\r\n$GPGLL,5310.8144,N,00525.7049,E,195901,A,A*44\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195901,A,5310.8145,N,00525.7050,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195901,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aGDjCP00PHiQTNK9`cT?v02000,0,0*37\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195901,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195901,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n!AIVDM,1,1,2,,13`e=?HP00PHmHbNKBU00?v42000,0,0*66\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n!AIVDM,1,1,3,,13aDBD0P00PHiwrNKB800?v42000,0,0*7D\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.0,T,129.3,M,4.6,N,2.4,M*55\r\n$WIMWV,304.2,R,4.6,N,A*24\r\n$WIMWV,305.4,T,4.6,N,A*25\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13brCD00000HtLPNKFcS@CF40000,0,0*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aDA0PP00PHn48NKRD00?v42000,0,0*0E\r\n!AIVDM,1,1,6,,13aBLqgP00PHpRRNKQd00?v42000,0,0*41\r\n!AIVDM,1,1,7,,13btD>00000GqJjNR>C4<6`40000,0,0*0F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aGCN8P000Hj9PNKB9;k?v60000,0,0*28\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,14h?6j003C0G?>fNVw3RMit60000,0,0*44\r\n!AIVDM,1,1,0,,13aJH>OP000GpUfNR0?:>?v60000,0,0*57\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13b`Bv5P1GPHUu6NHi=PRgv42000,0,0*14\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195902,5310.8145,N,00525.7050,E,1,00,1.20,7,M,,M,,*7F\r\n$GPGLL,5310.8145,N,00525.7050,E,195902,A,A*4E\r\n!AIVDM,1,1,2,,13c0aT00000HJJRNGeK`9bf60000,0,0*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13aEQuOP00PHiv8NKCNP0?v42000,0,0*7D\r\n$GPRMC,195902,A,5310.8146,N,00525.7051,E,0.0,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195902,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,4,,13b8s:001APKcWFNdb2bv8`42000,0,0*47\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWC,195902,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195902,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,5,,13`qM>8P0mPGBEBNSMwQR1J62000,0,0*22\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.1,T,129.5,M,4.6,N,2.4,M*52\r\n$WIMWV,305.5,R,4.6,N,A*22\r\n$WIMWV,305.5,T,4.6,N,A*24\r\n!AIVDM,1,1,6,,13aFgphP1E0HEHJNBtLW8?v80000,0,0*26\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,15C3:600000GojLNQuIaN4@80000,0,0*4A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aL>vwP00PIMtbNKaK00?v62000,0,0*13\r\n!AIVDM,1,1,9,,13aGuE@P000JKhLNTii;U?v80000,0,0*56\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aFgJ?P00PHf8>NFsb00?v62000,0,0*30\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aJGAwP13PJ<JnNEDeWEOv62000,0,0*77\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aI9j8P00PHit8NKG:00?v62000,0,0*60\r\n!AIVDM,1,1,3,,13aph000000GrDLNGNT3p5P80000,0,0*03\r\n!AIVDM,1,1,4,,33aGti@00WPJUuRNK`v:;H262000,0,0*57\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195903,5310.8146,N,00525.7051,E,1,00,1.20,7,M,,M,,*7C\r\n$GPGLL,5310.8146,N,00525.7051,E,195903,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195903,A,5310.8147,N,00525.7053,E,0.1,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPZDA,195903,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,5,,13b=DJ0P00PGp?dNQuu:0Ov82000,0,0*57\r\n$GPBWC,195903,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$GPBWR,195903,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,6,,15Q:RP002g0FP7NN`nn9fWj40000,0,0*52\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWD,130.2,T,129.5,M,4.6,N,2.4,M*51\r\n$WIMWV,304.4,R,4.6,N,A*22\r\n$WIMWV,304.4,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aIi<0P00PJKQ6NTj`00?v82000,0,0*06\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aR>V0000PHigHNK;C:mr::2000,0,0*1E\r\n!AIVDM,1,1,9,,13`j7c0wh1PG?:8NOgf7l4D:2000,0,0*39\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aIkM@P00PJ@oLNL=c00?v82000,0,0*01\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aB:Hh1P0PHjDtNKJiVe1r82000,0,0*0E\r\n$GPGGA,195904,5310.8147,N,00525.7053,E,1,00,1.20,7,M,,M,,*78\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8147,N,00525.7053,E,195904,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195904,A,5310.8148,N,00525.7055,E,0.1,0.0,160414,0.7,E,A*1C\r\n!AIVDM,2,1,2,,53aIhg@000010CG73004pp40000000000000000t2H8242w100B0DS2CQiCP00,0,2*53\r\n!AIVDM,2,2,2,,000000003,2,2*7A\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195904,16,04,14,-02,00*61\r\n!AIVDM,1,1,3,,13P<QQ@0000HdfFNFpU0=:P80000,0,0*18\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195904,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n!AIVDM,1,1,4,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0A\r\n$GPBWR,195904,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,5,,13cLV`001F0HMK0NH1wa?WJ:0000,0,0*55\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.2,T,129.5,M,4.6,N,2.4,M*51\r\n$WIMWV,302.8,R,4.6,N,A*28\r\n$WIMWV,302.3,T,4.6,N,A*25\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aJGrOP00PGpg`NR9i00?v:2000,0,0*13\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2D\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,16LWib003BPEtBHNSobROj0:2000,0,0*20\r\n!AIVDM,1,1,0,,33`qM>8P0mPGBFDNSN51gAN<2000,0,0*4A\r\n!AIVDM,1,1,1,,13P;h8h12ePGUGFNc3<atGr62000,0,0*08\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aL<SPP00PJG<RNKue00?v:2000,0,0*5E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13`rcF?P000HRlNN@b3P0?v80000,0,0*54\r\n$GPGGA,195905,5310.8148,N,00525.7055,E,1,00,1.20,7,M,,M,,*70\r\n$GPGLL,5310.8148,N,00525.7055,E,195905,A,A*41\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195905,A,5310.8149,N,00525.7056,E,0.1,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195905,16,04,14,-02,00*60\r\n!AIVDM,1,1,4,,13aDrkOP00PHi>tNKB0Upgv:2000,0,0*2E\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWC,195905,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$GPBWR,195905,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n!AIVDM,1,1,5,,13aDr68P00PHj3`NKAIP0?v<2000,0,0*7E\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aGua?P00PHfEPNFruP0?v<2000,0,0*61\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.2,T,129.5,M,5.6,N,2.9,M*5D\r\n!AIVDM,1,1,7,,13aN1EgP0KPHBd>NI8SecOv>2000,0,0*36\r\n$WIMWV,307.5,R,5.6,N,A*21\r\n$WIMWV,307.5,T,5.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13a@F4?00MPHD>lNUUdRcR0<2000,0,0*29\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13a?OH?00NPH?9@NLweU>l8>2000,0,0*25\r\n!AIVDM,1,1,0,,13a5jB0P000GoWpNQuqP0?v40000,0,0*6C\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aI;8wP00PHJBRNGgG00?v<2000,0,0*58\r\n!AIVDM,1,1,2,,13a6ld00000Hpm@NL1UP09d>0000,0,0*54\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13aGuEPP00PJL2RNTkTafgv>2000,0,0*65\r\n!AIVDM,1,1,4,,13@aQ0001g0GF:lNVE>RSj2<0000,0,0*3A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aL>Dg000PGa@vNKge62TT<2000,0,0*31\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195906,5310.8149,N,00525.7056,E,1,00,1.20,8,M,,M,,*7E\r\n!AIVDM,1,1,6,,13aBLqhP000JbdnNLCs00?v:0000,0,0*3A\r\n$GPGLL,5310.8149,N,00525.7056,E,195906,A,A*40\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,7,,13aDBd8P00PHivvNKBv00?v<2000,0,0*12\r\n$GPRMC,195906,A,5310.8150,N,00525.7057,E,0.0,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPZDA,195906,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,8,,33aGti@00WPJUshNK`ub;H2>2000,0,0*34\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195906,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$GPBWR,195906,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.3,T,129.6,M,4.6,N,2.4,M*53\r\n!AIVDM,1,1,9,,15C78000000GohJNQuoa7U>>0000,0,0*06\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWV,305.0,R,4.6,N,A*27\r\n$WIMWV,304.8,T,4.6,N,A*28\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,0,,B39k:bP0?p62m5WWBOK4WwP00000,0,0*71\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aetV7P0KPHGtFNL3q3Owv>2000,0,0*1E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13b<2H7000PHkGpNKT48J@V>2000,0,0*11\r\n!AIVDM,1,1,3,,14h?6j003C0G?LRNVwTRNAv@0000,0,0*30\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13c1LF0P0c0HlpJNR>i9Hgv>0000,0,0*1D\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195907,5310.8150,N,00525.7057,E,1,00,1.20,8,M,,M,,*76\r\n!AIVDM,1,1,5,,13aC2`wP05PHJQtNGeF6:Ov@2000,0,0*34\r\n$GPGLL,5310.8150,N,00525.7057,E,195907,A,A*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195907,A,5310.8150,N,00525.7058,E,0.1,0.0,160414,0.7,E,A*1B\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195907,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195907,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195907,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n!AIVDM,1,1,6,,13`naR?00G0JdCFN`cQc@pl@0000,0,0*72\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,7,,13a1lH?P000I?k0NKTkdnOwv0000,0,0*36\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.4,T,129.7,M,4.6,N,2.4,M*55\r\n$WIMWV,303.0,R,4.6,N,A*21\r\n$WIMWV,303.1,T,4.6,N,A*26\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*06\r\n!AIVDM,1,1,9,,33u7M`002A0F19JNbg@0WP@@0000,0,0*56\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aEOEPP00PHm@nNK`fcLwwF2000,0,0*54\r\n!AIVDM,1,1,1,,13bjvT?0000H560NQghQGb4>0000,0,0*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,102EFW3P00PHk`NNK`>92gvB2000,0,0*11\r\n!AIVDM,1,1,3,,13aJJNOP000JKIRNTj9P0?v@0000,0,0*70\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aGsMPP0LPIvl4N?KhWhwv@2000,0,0*30\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aFh>?0000IvnPNSnm=MIPB0000,0,0*36\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,13aFfRPP00PIuAFNF3g00?v@2000,0,0*60\r\n!AIVDM,1,1,7,,13aGFvwP00PHi3`NKCN00?v@2000,0,0*5E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,33bAqH?P0LPK606N`dA7sFb@2000,0,0*48\r\n$GPGGA,195908,5310.8150,N,00525.7058,E,1,00,1.20,8,M,,M,,*76\r\n$GPGLL,5310.8150,N,00525.7058,E,195908,A,A*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195908,A,5310.8151,N,00525.7059,E,0.1,0.0,160414,0.7,E,A*14\r\n!AIVDM,1,1,9,,13`gh8700IPIpHNNWlK:tpfB2000,0,0*20\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195908,16,04,14,-02,00*6D\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195908,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*50\r\n!AIVDM,1,1,0,,33aL?0WP0NPJM6vNaImQLPhB2000,0,0*69\r\n$GPBWR,195908,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*41\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.4,T,129.8,M,4.6,N,2.4,M*5A\r\n!AIVDM,1,1,1,,13cDbl00200J=@6Nf@V9jGnh0000,0,0*7E\r\n$WIMWV,302.9,R,4.6,N,A*29\r\n$WIMWV,304.4,T,4.6,N,A*24\r\n!AIVDM,1,1,2,,33aL>=EP00PHn<2NKfaamOvD2000,0,0*7B\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,33aIi0gP000HkH@NKQHaFwvD0000,0,0*6B\r\n!AIVDM,1,1,4,,13aL?>HP00PHj5fNKAK=@wvB2000,0,0*6B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,B3`j5vP0086:fgWUfeROSwP00000,0,0*4B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,H3aBNKA<UA@58@00000000000000,0,0*74\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195909,5310.8151,N,00525.7059,E,1,00,1.20,8,M,,M,,*77\r\n$GPGLL,5310.8151,N,00525.7059,E,195909,A,A*49\r\n!AIVDM,1,1,7,,H3aBNKA<UA@58@00000000000000,0,0*75\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,8,,13aGti@00WPJUr2NK`sb:p2B2000,0,0*2E\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195909,A,5310.8152,N,00525.7059,E,0.1,0.0,160414,0.7,E,A*16\r\n!AIVDM,1,1,9,,13bh6v70000HjCVNKOB`slnD0000,0,0*57\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195909,16,04,14,-02,00*6C\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,0,,33`qM>8P0mPGBI8NSNBQnQ`D2000,0,0*61\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWC,195909,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*51\r\n$GPBWR,195909,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*40\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,1,,13aGD7pP0?0Ho=DNKnRR4Ov<0000,0,0*06\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,130.4,T,129.8,M,4.6,N,2.4,M*5A\r\n!AIVDM,1,1,2,,15Q:RP002g0FOlhN`nBafWj@0000,0,0*34\r\n$WIMWV,302.9,R,4.6,N,A*29\r\n$WIMWV,302.8,T,4.6,N,A*2E\r\n!AIVDM,1,1,3,,13aKVPHP00PHj5VNK8H00?vD2000,0,0*15\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13b?AJ7P0P0J1cLNV464rwvB0000,0,0*67\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aENfwP00PHi:4NK?KP0?vD2000,0,0*05\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aGuu@P00PHpwBNKuv;OgvD2000,0,0*00\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,H3aBNKDU0000000@3lkll00``440,0,0*7B\r\n$GPGGA,195910,5310.8152,N,00525.7059,E,1,00,1.20,8,M,,M,,*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,H3aBNKDU0000000@3lkll00``440,0,0*7A\r\n$GPGLL,5310.8152,N,00525.7059,E,195910,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,0,,13?u9:001b0KTwvNeb72mB<@0000,0,0*62\r\n$GPRMC,195910,A,5310.8152,N,00525.7060,E,0.1,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195910,16,04,14,-02,00*64\r\n!AIVDM,1,1,1,,13aDA0PP00PHn44NKRC00?vD2000,0,0*71\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,2,,13aGFROP000Ho>>NKmTbTgvF0000,0,0*2C\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195910,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195910,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n!AIVDM,1,1,3,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*75\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,4,,16LWib003APEtRtNSp@ROj0F2000,0,0*43\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.4,T,129.8,M,4.6,N,2.4,M*5A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWV,303.4,R,4.6,N,A*25\r\n$WIMWV,304.2,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,5,,13P;h8h02ePGU;<Nc2v9tGr@2000,0,0*6E\r\n!AIVDM,1,1,6,,13awtt?P00PJ?KLNTNiU0wvF2000,0,0*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aDGp00000Gpq>NR;?998FF0000,0,0*34\r\n!AIVDM,1,1,8,,13bQtf?P000Hf3HNFs=9bOvH0000,0,0*06\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13`uO2700JPHKR`NL3LTQ3RH2000,0,0*67\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13brCD00000HtLpNKFaS@CFH0000,0,0*12\r\n!AIVDM,1,1,1,,13aMB<?01;PGf;bNJw81k1HB2000,0,0*1F\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,2,,13btD>00000GqJhNR>BU;n`F0000,0,0*45\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13:krn000n0HMU<NH3M96oDD0000,0,0*1D\r\n!AIVDM,1,1,4,,13`e=?HP00PHmHVNKBUP0?vF2000,0,0*46\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPGGA,195911,5310.8152,N,00525.7060,E,1,00,1.20,8,M,,M,,*77\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,5,,13aGDjCP00PHiQPNK9b;T?vB2000,0,0*1F\r\n$GPGLL,5310.8152,N,00525.7060,E,195911,A,A*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195911,A,5310.8153,N,00525.7060,E,0.1,0.0,160414,0.7,E,A*14\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195911,16,04,14,-02,00*65\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195911,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$GPBWR,195911,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,6,,13aKWv?P00PHjTtNK@0bgwvJ2000,0,0*40\r\n$SDVHW,182.5,T,181.8,M,0.0,N,0.0,K*4C\r\n$WIMWD,130.5,T,129.8,M,4.6,N,2.4,M*5B\r\n$SDHDG,181.8,,,0.6,E*33\r\n$WIMWV,301.9,R,4.6,N,A*2A\r\n$WIMWV,302.9,T,4.6,N,A*2F\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,7,,13u7M`002A0F1;PNbg`0UP>F0000,0,0*18\r\n$SDHDG,181.8,,,0.6,E*33\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,8,,13aJH>OP000GpUlNR0@:=gvJ0000,0,0*0D\r\n!AIVDM,1,1,9,,13b8s:001APKcLhNdb<bu``F2000,0,0*58\r\n!AIVDM,1,1,0,,13aGFRwP000Hnk8NKlV<v?vJ0000,0,0*6F\r\n!AIVDM,1,1,1,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*77\r\n!AIVDM,1,1,2,,13bAqH?P0LPK5w@N`d;8:FfH2000,0,0*42\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,3,,13aGCN8P00PHj9lNKB8;m?vJ2000,0,0*06\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,4,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2E\r\n!AIVDM,1,1,5,,13aEQuOP00PHivFNKCOP0?vH2000,0,0*78\r\n!AIVDM,1,1,6,,13aFgJ?P00PHf8<NFsa00?vH2000,0,0*49\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,7,,13`qM>8P0mPGBJrNSNJ1sQhJ2000,0,0*5E\r\n!AIVDM,1,1,8,,13aGuE@P000JKh>NTifcQwvJ0000,0,0*4C\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,9,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*23\r\n$GPGGA,195912,5310.8153,N,00525.7060,E,1,00,1.20,8,M,,M,,*75\r\n$GPGLL,5310.8153,N,00525.7060,E,195912,A,A*4B\r\n$SDHDG,181.8,,,0.6,E*33\r\n!AIVDM,1,1,0,,13c0aT00000HJJNNGeL9FrhJ0000,0,0*16\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195912,A,5310.8154,N,00525.7061,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,1,,13aBMu@P00PJK4BNEh400?vJ2000,0,0*32\r\n$GPZDA,195912,16,04,14,-02,00*66\r\n!AIVDM,1,1,2,,13aDBD0P00PHj00NKB900?vJ2000,0,0*05\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.8,,,0.6,E*33\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195912,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$GPBWR,195912,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n!AIVDM,1,1,3,,13aFgphP1E0HEGtNBsQW8?vJ0000,0,0*7A\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.5,T,129.8,M,4.6,N,2.4,M*5B\r\n!AIVDM,1,1,4,,13aBLqgP00PHpRvNKQd00?vJ2000,0,0*19\r\n$WIMWV,303.3,R,4.6,N,A*22\r\n$WIMWV,304.7,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aph000000GrDbNGNS<eEPL0000,0,0*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aIi<0P00PJKQ8NTjWP0?vJ2000,0,0*2C\r\n!AIVDM,1,1,7,,14h?6j003C0G?e:NW0<2NAvL0000,0,0*37\r\n!AIVDM,1,1,8,,13b`Bv5P1GPHV0DNHj?0H?vJ2000,0,0*74\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13b=DJ0P00PGp?pNQuu9wwvL2000,0,0*47\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aI9j8P00PHit8NKG:00?vJ2000,0,0*1E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,33aGti@00WPJUohNK`rb;H2J2000,0,0*52\r\n$GPGGA,195913,5310.8154,N,00525.7061,E,1,00,1.20,8,M,,M,,*72\r\n$GPGLL,5310.8154,N,00525.7061,E,195913,A,A*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195913,A,5310.8155,N,00525.7061,E,0.1,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n!AIVDM,1,1,2,,13cLV`001F0HMAVNH1Q9?WJL0000,0,0*36\r\n$GPZDA,195913,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195913,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195913,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n!AIVDM,1,1,3,,13aR>V0000PHig@NK;C:mr:L2000,0,0*6B\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*77\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.4,T,129.8,M,4.6,N,2.4,M*5A\r\n$WIMWV,305.3,R,4.6,N,A*24\r\n$WIMWV,307.2,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,33aH00UP00PHo<4NKCgP0?vL2000,0,0*5A\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,5,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*36\r\n!AIVDM,2,2,5,,000000003,2,2*7D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195914,5310.8155,N,00525.7061,E,1,00,1.20,8,M,,M,,*74\r\n$GPGLL,5310.8155,N,00525.7061,E,195914,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195914,A,5310.8155,N,00525.7061,E,0.1,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195914,16,04,14,-02,00*60\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,6,,13aN1EgP0KPHBcbNI8ledOvN2000,0,0*24\r\n$GPBWC,195914,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195914,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n!AIVDM,1,1,7,,13P<QQ@0000HdfFNFpR05bPN0000,0,0*3D\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWD,130.5,T,129.8,M,4.6,N,2.4,M*5B\r\n$WIMWV,304.1,R,4.6,N,A*27\r\n$WIMWV,304.2,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,8,,13aGtCgP00PHi0rNK@h00?vN2000,0,0*7C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aB:Hh2h0PHjDtNKJib81rN2000,0,0*22\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0E\r\n!AIVDM,1,1,1,,13`j7c0000PG?:8NOgf114DP2000,0,0*1E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aIkM@P00PJ@oPNL=cP0?vN2000,0,0*09\r\n!AIVDM,1,1,3,,15Q:RP002g0FOcHN`n1afWjL0000,0,0*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13aGua?P00PHfETNFruP0?vN2000,0,0*15\r\n$GPGGA,195915,5310.8155,N,00525.7061,E,1,00,1.20,8,M,,M,,*75\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8155,N,00525.7061,E,195915,A,A*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,5,,13`rcF?P000HRlTN@b8P0?vL0000,0,0*37\r\n$GPRMC,195915,A,5310.8156,N,00525.7061,E,0.0,0.0,160414,0.7,E,A*15\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195915,16,04,14,-02,00*61\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aL<SPP00PJG<`NKufP0?vP2000,0,0*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195915,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$GPBWR,195915,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,7,,13aGvAh0000I10hNQQs=JUvP0000,0,0*2E\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.5,T,129.8,M,4.6,N,2.4,M*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWV,306.8,R,4.6,N,A*2C\r\n$WIMWV,305.8,T,4.6,N,A*29\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n!AIVDM,1,1,8,,13aetV7P0LPHH04NL3r3OOvP2000,0,0*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aI;8wP00PHJBfNGgG00?vP2000,0,0*08\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aL>Dg000PGa@vNKge62TTP2000,0,0*58\r\n!AIVDM,1,1,1,,15C78000000GohJNQup97U>R0000,0,0*25\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13a6ld00000HpltNL1UP09dR0000,0,0*0D\r\n!AIVDM,1,1,3,,13IOOb002<0HHI`NcRjakWnL0000,0,0*1C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195916,5310.8156,N,00525.7061,E,1,00,1.20,9,M,,M,,*74\r\n$GPGLL,5310.8156,N,00525.7061,E,195916,A,A*4B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,33aGti@00WPJUn2NK`qb:82P2000,0,0*64\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,5,,33brfb5P000HiS0NK<D=`gvR0000,0,0*2E\r\n$GPRMC,195916,A,5310.8156,N,00525.7061,E,0.0,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195916,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n!AIVDM,1,1,6,,13b<2H7000PHkHbNKT1bsh`R2000,0,0*1C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195916,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195916,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n!AIVDM,1,1,7,,13aFfb0P00PJgP`NFp700?vR2000,0,0*16\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n!AIVDM,1,1,8,,13P;h8h02ePGTtlNc2aav7rL2000,0,0*4C\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n!AIVDM,1,1,9,,13aDr68P00PHj3pNKAGP0?vR2000,0,0*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.5,T,129.9,M,4.6,N,2.4,M*5A\r\n!AIVDM,1,1,0,,13a?OH?00NPH?<jNLwK5El:T2000,0,0*5E\r\n$WIMWV,301.6,R,4.6,N,A*25\r\n$WIMWV,301.7,T,4.6,N,A*22\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aGuEPP00PJL2BNTkV9dOvT2000,0,0*6D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*28\r\n!AIVDM,1,1,3,,16LWib003BPEtk<NSpm2Oj0R2000,0,0*6F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13`vB;pP00PHML0NGI;=AOvR2000,0,0*45\r\n!AIVDM,1,1,5,,13aDBd8P00PHivjNKBv00?vR2000,0,0*62\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13u7M`002@0F1>NNbh`0Th>R0000,0,0*21\r\n!AIVDM,1,1,7,,13aDrkOP00PHi>tNKB0UpgvR2000,0,0*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195917,5310.8156,N,00525.7061,E,1,00,1.20,9,M,,M,,*75\r\n$GPGLL,5310.8156,N,00525.7061,E,195917,A,A*4A\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195917,A,5310.8157,N,00525.7061,E,0.0,0.0,160414,0.7,E,A*16\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195917,16,04,14,-02,00*63\r\n!AIVDM,1,1,8,,13a1lH?P000I?m8NKTkdeOwv0000,0,0*3C\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195917,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195917,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,130.5,T,129.9,M,4.6,N,2.4,M*5A\r\n$WIMWV,300.0,R,4.6,N,A*22\r\n$WIMWV,300.8,T,4.6,N,A*2C\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,9,,33aJJNOP000JKIRNTj:00?vT0000,0,0*0F\r\n!AIVDM,1,1,0,,13aEOEPP00PHm@hNK`g;Lwwb2000,0,0*2F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aGE00P00PGp0tNQut:BgvV2000,0,0*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13c1LF0P0g0Hlj6NR>T9iOvR0000,0,0*21\r\n!AIVDM,1,1,3,,33`qM>8P0nPGBN6NSNV2<QvV2000,0,0*49\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13bjvT?0000H55tNQgh1Gb2T0000,0,0*06\r\n!AIVDM,1,1,5,,13aFh>?0000IvnNNSnmeWIPV0000,0,0*7E\r\n$GPGGA,195918,5310.8157,N,00525.7061,E,1,00,1.20,9,M,,M,,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8157,N,00525.7061,E,195918,A,A*44\r\n!AIVDM,1,1,6,,13aENfwP00PHi9vNK?KP0?vT2000,0,0*54\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,7,,13aIi0gP00PHkHRNKQJ9BgvV2000,0,0*41\r\n$GPRMC,195918,A,5310.8157,N,00525.7061,E,0.0,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195918,16,04,14,-02,00*6C\r\n!AIVDM,1,1,8,,13aFfRPP00PIuANNF3fP0?vV2000,0,0*11\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195918,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*51\r\n$GPBWR,195918,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*40\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13`gh87P0IPIpDdNWlN:sp``2000,0,0*40\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,0,,33bAqH?P0KPK5upN`d2`IVpV2000,0,0*4D\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.4,T,129.7,M,4.6,N,2.4,M*55\r\n$WIMWV,298.9,R,4.6,N,A*2B\r\n$WIMWV,298.9,T,4.6,N,A*2D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aGD7pP0?0Ho>rNKnW24OvN0000,0,0*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,2,,13`t=0001HPHFPFNQ?3bPpLV2000,0,0*2A\r\n!AIVDM,1,1,3,,102EFW3P000Hk`RNK`<94wv`0000,0,0*58\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13bh6v70000HjCTNKOBa6Dn`0000,0,0*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,B3`fKe00006<RrWVl:h03wP00000,0,0*16\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aEQ;0P00PHRrLN@`39Wgv`2000,0,0*55\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195919,5310.8157,N,00525.7061,E,1,00,1.20,9,M,,M,,*7A\r\n$GPGLL,5310.8157,N,00525.7061,E,195919,A,A*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aGFvwP00PHi3:NKCKP0?v`2000,0,0*41\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195919,A,5310.8157,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,8,,14h?6j003C0G?u`NW0k2Niv`0000,0,0*21\r\n$GPZDA,195919,16,04,14,-02,00*6D\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195919,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*50\r\n!AIVDM,1,1,9,,13aL?>HP00PHj5VNKAK00?v`2000,0,0*41\r\n$GPBWR,195919,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*41\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n!AIVDM,1,1,0,,13aGFgSP02PGp3lNQtUW7gv`2000,0,0*5A\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,130.1,T,129.5,M,4.6,N,2.4,M*52\r\n!AIVDM,1,1,1,,13:krn000n0HMP<NH38a3WFT0000,0,0*18\r\n$WIMWV,298.0,R,4.6,N,A*22\r\n$WIMWV,297.4,T,4.6,N,A*2F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,2,,13b?AJ7P0P0J1h8NV3qTkgv`0000,0,0*15\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13`uO2700JPHKUjNL3F4NkPb2000,0,0*65\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13`va@0P000HpKbNKnj8POvb0000,0,0*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGuu@P00PHpw@NKuw00?v`2000,0,0*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*70\r\n!AIVDM,1,1,7,,13bQtf?P000Hf46NFs>9b?vb0000,0,0*29\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195920,5310.8157,N,00525.7060,E,1,00,1.20,9,M,,M,,*71\r\n$GPGLL,5310.8157,N,00525.7060,E,195920,A,A*4E\r\n!AIVDM,1,1,8,,13aKWv?P000HjTFNK?t:a?vb0000,0,0*1B\r\n!AIVDM,1,1,9,,13bE@>7P0O0JRMpN``o3DOv`0000,0,0*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,0,,13aDA0PP00PHn4>NKRBP0?v`2000,0,0*3F\r\n$GPRMC,195920,A,5310.8158,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195920,16,04,14,-02,00*67\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n!AIVDM,1,1,1,,13aKVPHP00PHj5VNK8H00?vb2000,0,0*31\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195920,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n!AIVDM,1,1,2,,13aKWbOP000JV6HNL?PP0?vb0000,0,0*3F\r\n$GPBWR,195920,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.9,T,129.3,M,4.6,N,2.4,M*54\r\n$WIMWV,299.7,R,4.6,N,A*24\r\n$WIMWV,299.7,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13aJH>OP000GpVJNR0@b?gvd0000,0,0*57\r\n!AIVDM,1,1,4,,13c0aT00000HJJPNGeL7srhd0000,0,0*19\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGFRwP000Hnk8NKlS;8gvd0000,0,0*50\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aMB<?01<PGfCrNJwcQp1DV2000,0,0*4F\r\n!AIVDM,1,1,7,,13aGDjCP00PHiQ>NK9b;T?vV2000,0,0*67\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aDGp00000Gpq>NR;?9rpFd0000,0,0*1A\r\n$GPGGA,195921,5310.8158,N,00525.7060,E,1,00,1.20,9,M,,M,,*7F\r\n$GPGLL,5310.8159,N,00525.7060,E,195921,A,A*41\r\n!AIVDM,1,1,9,,15Q:RP002g0FOHBN`mNafWj`0000,0,0*1E\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,0,,13btD>00000GqJfNR>BThF`b0000,0,0*17\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195921,A,5310.8159,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195921,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195921,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$GPBWR,195921,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,1,,13aGuE@P000JKhJNTifcOgvf0000,0,0*13\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,129.8,T,129.2,M,4.6,N,2.4,M*54\r\n$WIMWV,298.1,R,4.6,N,A*23\r\n$WIMWV,298.7,T,4.6,N,A*23\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aGFROP000Ho=0NKmRbS?vf0000,0,0*58\r\n!AIVDM,1,1,3,,13aKV4OP00PJb?RNHTHP0?vd2000,0,0*5D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13`e=?HP00PHmHVNKBVP0?vd2000,0,0*67\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,33aFgJ?P00PHf8HNFsaP0?vd2000,0,0*70\r\n!AIVDM,1,1,6,,13`qM>8P0nPGBPjNSNf2Dj8f2000,0,0*01\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13brCD00000HtLfNKFeS@CFf0000,0,0*29\r\n!AIVDM,1,1,8,,13IOOb002;0HH:0NcRJ9pWnb0000,0,0*7E\r\n$GPGGA,195922,5310.8159,N,00525.7060,E,1,00,1.20,9,M,,M,,*7D\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8159,N,00525.7060,E,195922,A,A*42\r\n!AIVDM,1,1,9,,13aR>V0000PHig>NK;C:mr:f2000,0,0*35\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195922,A,5310.8159,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n!AIVDM,1,1,0,,16LWib003BPEu44NSqMROj0f2000,0,0*4F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPZDA,195922,16,04,14,-02,00*65\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,1,,13P;h8h02ePGTf8Nc2C9vWr`2000,0,0*35\r\n$GPBWC,195922,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195922,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n!AIVDM,1,1,2,,13aL>vwP00PIMtbNKaK00?vf2000,0,0*49\r\n$WIMWD,129.7,T,129.0,M,4.6,N,2.4,M*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$WIMWV,299.5,R,4.6,N,A*26\r\n$WIMWV,301.6,T,4.6,N,A*23\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,3,,13bt8P0P000HfWLNBq78mOvf0000,0,0*11\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,4,,13P<QQ@0000Hdf:NFpM08rPf0000,0,0*68\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,2,1,5,,53b=DJ0000010COG3F0I8TE<h4pB22222222220t10t;42w106m1DThj1C32CQ,0,2*76\r\n!AIVDM,2,2,5,,p88888883,2,2*35\r\n!AIVDM,1,1,6,,33aGtI5P00PHi?BNKB=P0?vf2000,0,0*08\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,13aDBD0P00PHj0:NKB9P0?vf2000,0,0*46\r\n!AIVDM,1,1,8,,13aBLqgP00PHpS@NKQd00?vf2000,0,0*0E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,9,,13aGCN8P00PHj9HNKB;cv?vh2000,0,0*4A\r\n!AIVDM,1,1,0,,13aEQuOP00PHivfNKCO00?vf2000,0,0*13\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aph000000GrDhNGNQPNERh0000,0,0*5F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195923,5310.8159,N,00525.7060,E,1,00,1.20,9,M,,M,,*7C\r\n$GPGLL,5310.8159,N,00525.7060,E,195923,A,A*43\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195923,A,5310.8159,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195923,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,2,,13b`Bv5P1GPHV1tNHk;0;?vh2000,0,0*1B\r\n$GPBWC,195923,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195923,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.000,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5B\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPXTE,A,A,0.000,L,N,A*33\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.6,T,128.9,M,4.6,N,2.4,M*50\r\n$WIMWV,299.5,R,4.6,N,A*26\r\n$WIMWV,299.5,T,4.6,N,A*20\r\n$SDHDG,182.0,,,0.6,E*38\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,3,,13`j7c0000PG?:8NOgf6VDDj2000,0,0*36\r\n$SDHDG,182.1,,,0.6,E*39\r\n!AIVDM,1,1,4,,13b=DJ0P00PGp?RNQum9u?vj2000,0,0*1C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,13aI9j8P00PHit8NKG:00?vh2000,0,0*39\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195924,5310.8159,N,00525.7060,E,1,00,1.20,9,M,,M,,*7B\r\n$GPGLL,5310.8159,N,00525.7060,E,195924,A,A*44\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195924,A,5310.8160,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*13\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195924,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,182.1,,,0.6,E*39\r\n$GPAPB,A,A,0.000,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*76\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195924,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n!AIVDM,1,1,6,,13aGtCgP00PHi0tNK@h9q?vj2000,0,0*18\r\n$GPBWR,195924,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,7,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*09\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.4,T,128.7,M,4.6,N,2.4,M*5C\r\n$WIMWV,297.1,R,4.6,N,A*2C\r\n$WIMWV,297.3,T,4.6,N,A*28\r\n!AIVDM,1,1,8,,13aB:Hh1P0PHjDtNKJiPj1rh2000,0,0*5E\r\n$SDHDG,182.0,,,0.6,E*38\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,9,,13aL?0W00NPJM;jNaJ>QVPlj2000,0,0*75\r\n!AIVDM,1,1,0,,13aL<SPP00PJG<fNKufP0?vj2000,0,0*5B\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13cLV`001E0HM5:NH0qa?oJl0000,0,0*4C\r\n!AIVDM,1,1,3,,13aGua?P00PHfEdNFru00?vj2000,0,0*66\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,13aIkM@P00PJ@oJNL=cTrOvj2000,0,0*07\r\n!AIVDM,1,1,5,,13aGuEPP00PJL2DNTkV9bwvl2000,0,0*69\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,6,,14h?6j003C0G@>TNW1J2Oj0l0000,0,0*47\r\n!AIVDM,1,1,7,,13`rcF?P000HRlbN@b9P0?vh0000,0,0*26\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195925,5310.8160,N,00525.7060,E,1,00,1.20,9,M,,M,,*70\r\n$GPGLL,5310.8160,N,00525.7060,E,195925,A,A*4F\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,2,1,8,,53aGtI0000010W?7?80ptu8@I8TE<0000000000t380222w10020DS2CQiC`00,0,2*17\r\n!AIVDM,2,2,8,,000000003,2,2*70\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPRMC,195925,A,5310.8160,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*12\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195925,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,9,,13a6ld00000HpltNL1UP09dl0000,0,0*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWC,195925,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195925,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,129.1,T,128.5,M,4.6,N,2.4,M*5B\r\n$WIMWV,296.6,R,4.6,N,A*2A\r\n$WIMWV,296.2,T,4.6,N,A*28\r\n!AIVDM,1,1,0,,13aFfb0P00PJgPnNFp7P0?vl2000,0,0*41\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,15C78000000GohFNQuoa:m>n0000,0,0*67\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13a?OH?00OPH??TNLw<UJl8n2000,0,0*40\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,13aN1EgP0KPHBbpNI9<ecOvn2000,0,0*44\r\n!AIVDM,1,1,4,,13a5jB0P000GoWpNQuqP0?vf0000,0,0*3A\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,33`qM>8P0oPGBTDNSNp2MRBn2000,0,0*7E\r\n$GPGGA,195926,5310.8160,N,00525.7060,E,1,00,1.20,9,M,,M,,*73\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGLL,5310.8160,N,00525.7060,E,195926,A,A*4C\r\n!AIVDM,1,1,6,,13aDr68P00PHj3jNKAG00?vl2000,0,0*49\r\n$GPGSA,A,3,,,,,,,,,,,,,2.20,1.20,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195926,A,5310.8161,N,00525.7061,E,0.0,0.0,160414,0.7,E,A*11\r\n!AIVDM,1,1,7,,13aetV7P0LPHH4>NL3r3Q?vn2000,0,0*2D\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195926,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195926,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195926,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n!AIVDM,1,1,8,,13aI;8wP00PHJBhNGgG00?vn2000,0,0*39\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,9,,13aDrkOP00PHi>tNKB0Upgvl2000,0,0*75\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,0,,13aBLqhP000JbdnNLCs00?vl0000,0,0*6A\r\n$WIMWD,128.9,T,128.2,M,4.6,N,2.4,M*55\r\n$WIMWV,300.0,R,4.6,N,A*22\r\n$WIMWV,299.1,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,2,1,1,,53u7M`02:bHq<D<r220u9AHTdDr2222222222216?8i?8195N=R1C4jCQhSlQp,0,2*0C\r\n!AIVDM,2,2,1,,888888883,2,2*79\r\n!AIVDM,1,1,2,,13aGvAh0010I10VNQQrdHUvp0000,0,0*6E\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,3,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*29\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13c1LF0P0j0HlcFNR>H9hOvn0000,0,0*72\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aJJNOP000JKIbNTj;00?vn0000,0,0*0A\r\n!AIVDM,1,1,6,,15Q:RP002g0FO>`N`m@9fWjl0000,0,0*1F\r\n!AIVDM,1,1,7,,13b<2H7000PHkHpNKT1WB0Vn2000,0,0*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13`vB;pP00PHML2NGI;=GOvn2000,0,0*71\r\n!AIVDM,1,1,9,,13a1lH?P000I?o`NKToe??wv0000,0,0*48\r\n$GPGGA,195927,5310.8161,N,00525.7061,E,1,00,1.20,10,M,,M,,*4A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGLL,5310.8161,N,00525.7061,E,195927,A,A*4D\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.90*09\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195927,A,5310.8161,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*11\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPZDA,195927,16,04,14,-02,00*60\r\n!AIVDM,1,1,0,,13aEOEPP00PHmA2NK`gcLwv62000,0,0*79\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195927,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195927,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.8,f,0.5,M,0.3,F*09\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.8,T,128.1,M,4.6,N,2.4,M*57\r\n!AIVDM,1,1,1,,13@aQ0001g0GFajNVFBRTj2n0000,0,0*48\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWV,300.0,R,4.6,N,A*22\r\n$WIMWV,300.0,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aC2`wP04PHJQBNGe:`2gvr2000,0,0*3C\r\n!AIVDM,1,1,3,,13bh6v70000HjCVNKOBWllnr0000,0,0*43\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,102EFW3P000Hk`RNK`;a4?vr0000,0,0*5A\r\n!AIVDM,1,1,5,,33aFh>?0000IvnNNSno>0aPr0000,0,0*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aGFvwP00PHi2fNKCIP0?vp2000,0,0*0F\r\n!AIVDM,1,1,7,,13aDBd8P00PHivjNKBuP0?vp2000,0,0*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195928,5310.8161,N,00525.7060,E,1,00,1.10,10,M,,M,,*47\r\n$GPGLL,5310.8161,N,00525.7060,E,195928,A,A*43\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195928,A,5310.8161,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1E\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195928,16,04,14,-02,00*6F\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,8,,33aL?0W00NPJM<tNaJE1VPlr2000,0,0*6C\r\n$GPBWC,195928,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*52\r\n$GPBWR,195928,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*43\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n!AIVDM,1,1,9,,13aI8e?P00PGpUbNR6tP0?vr2000,0,0*0D\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.7,T,128.1,M,4.6,N,2.4,M*58\r\n$WIMWV,301.4,R,4.6,N,A*27\r\n$WIMWV,302.2,T,4.6,N,A*24\r\n!AIVDM,1,1,0,,13aFfRPP00PIuARNF3fP0?vr2000,0,0*21\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,16LWib003CPEuD`NSr3ROj0r2000,0,0*02\r\n!AIVDM,1,1,2,,13P;h8hw2ePGTOhNc1w9w7rl2000,0,0*52\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aL?>HP00PHj5FNKAI00?vr2000,0,0*4B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13aENfwP00PHi9vNK?LP0?vr2000,0,0*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGD7pP0?0Ho@2NKne24Ovj0000,0,0*08\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195929,5310.8161,N,00525.7060,E,1,00,1.10,10,M,,M,,*46\r\n$GPGLL,5310.8161,N,00525.7060,E,195929,A,A*42\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,2,1,6,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*35\r\n!AIVDM,2,2,6,,000000003,2,2*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195929,A,5310.8162,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*1C\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195929,16,04,14,-02,00*6E\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195929,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*53\r\n$GPBWR,195929,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*42\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n!AIVDM,1,1,7,,13`uO2700JPHKaDNL3>4MSPv2000,0,0*2C\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n!AIVDM,1,1,8,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*7E\r\n$WIMWD,128.7,T,128.1,M,4.6,N,2.4,M*58\r\n$WIMWV,302.5,R,4.6,N,A*25\r\n$WIMWV,303.3,T,4.6,N,A*24\r\n!AIVDM,1,1,9,,13bQtf?P000Hf4BNFs>9a?vv0000,0,0*44\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,33aGFgSP05PGp4RNQtTUM?vv2000,0,0*50\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13:krn000n0HMIDNH2e947Hr0000,0,0*31\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aIi0gP00PHkHLNKQIa3?vv2000,0,0*09\r\n!AIVDM,1,1,4,,13aDo:@P00PJ2h8NEeI7=gvt2000,0,0*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aGDjCP00PHiQ8NK9b;T?vp2000,0,0*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13bb0F?00C0Ghw4NTGDbO`Hv0000,0,0*73\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195930,5310.8162,N,00525.7060,E,1,00,1.10,10,M,,M,,*4D\r\n$GPGLL,5310.8162,N,00525.7060,E,195930,A,A*49\r\n!AIVDM,1,1,7,,13btD>00000GqJbNR>BVkV`t0000,0,0*13\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195930,A,5310.8162,N,00525.7060,E,0.0,0.0,160414,0.7,E,A*14\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195930,16,04,14,-02,00*66\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,8,,139lM30P19PGBubNAEMTk?vv2000,0,0*45\r\n$GPBWC,195930,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWR,195930,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4A\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,128.8,T,128.1,M,4.6,N,2.4,M*57\r\n$WIMWV,302.6,R,4.6,N,A*26\r\n$WIMWV,303.3,T,4.6,N,A*24\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aMB<?01;PGfKvNK0?Qk1@r2000,0,0*6A\r\n!AIVDM,1,1,0,,13aDGp00000Gpq>NR;?8UpG00000,0,0*61\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13b?AJ7P0P0J1lPNV3e4hwvt0000,0,0*09\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aKVPHP00PHj5bNK8H00?vv2000,0,0*12\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,33ba1n5P000HtJ4NKFpTC?vv0000,0,0*18\r\n!AIVDM,1,1,4,,13aDA0PP00PHn4HNKRBP0?vv2000,0,0*5B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,33`va@0P00PHpK<NKnh`M?w02000,0,0*52\r\n!AIVDM,1,1,6,,13aGFROP000Ho=2NKmVbS?w00000,0,0*0D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195931,5310.8162,N,00525.7060,E,1,00,1.10,10,M,,M,,*4C\r\n$GPGLL,5310.8162,N,00525.7060,E,195931,A,A*48\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195931,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*1F\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195931,16,04,14,-02,00*67\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,7,,13c0aT00000HJJPNGeKTKJk00000,0,0*29\r\n!AIVDM,1,1,8,,14h?6j003C0G@OBNW20RQ2300000,0,0*2E\r\n$GPBWC,195931,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5A\r\n$GPBWR,195931,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*76\r\n!AIVDM,1,1,9,,13aKWv?P000HjSPNK?r:O?w00000,0,0*70\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n!AIVDM,1,1,0,,13aGCN8P00PHj9BNKB<d5ww22000,0,0*19\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.8,T,128.1,M,4.6,N,2.4,M*57\r\n$WIMWV,302.2,R,4.6,N,A*22\r\n$WIMWV,302.2,T,4.6,N,A*24\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.8,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*10\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,1,,53aJJN@000010CSW3<1`DDPtpB2222200000000t10I441jC00800000000000,0,2*32\r\n!AIVDM,2,2,1,,000000003,2,2*79\r\n!AIVDM,1,1,2,,13aGuu@P00PHpwfNKuwP0?w02000,0,0*19\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,2,1,3,,53aIi0P000010GWSC20P637V10th58U>2222220N2h4142w100000000000000,0,2*43\r\n!AIVDM,2,2,3,,000000003,2,2*7B\r\n!AIVDM,1,1,4,,13aGFRwP000HngHNKlL38?w20000,0,0*35\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,15C3:600000Gok4NQuIWslA20000,0,0*69\r\n!AIVDM,1,1,6,,13aJH>OP00PGpVjNR0A:<ww22000,0,0*0D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,341icT5P00PJarbNLAkP0?w02000,0,0*18\r\n!AIVDM,1,1,8,,13`oUo?P000HbMvNFsE>4?vv0000,0,0*31\r\n!AIVDM,1,1,9,,13brCD00000HtLlNKFdS@CG20000,0,0*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aBMu@P00PJK4DNEh2P0?w02000,0,0*28\r\n$GPGGA,195932,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*45\r\n$GPGLL,5310.8162,N,00525.7059,E,195932,A,A*41\r\n!AIVDM,1,1,1,,13`e=?HP00PHmHVNKBVP0?w22000,0,0*35\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195932,A,5310.8162,N,00525.7059,E,0.1,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195932,16,04,14,-02,00*64\r\n$GPAAM,V,V,0.05,N,*23\r\n!AIVDM,1,1,2,,13aBLqgP00PHpS>NKQfP0?w22000,0,0*4D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n!AIVDM,1,1,3,,13aFgJ?P00PHf8lNFsaP0?w22000,0,0*07\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195932,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*59\r\n$GPBWR,195932,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*48\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*76\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.5,C*02\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n!AIVDM,1,1,4,,13aI9j8P00PHit8NKG:00?w22000,0,0*63\r\n$WIMWD,128.8,T,128.1,M,4.6,N,2.4,M*57\r\n$WIMWV,300.1,R,4.6,N,A*23\r\n$WIMWV,299.2,T,4.6,N,A*27\r\n$SDHDG,181.9,,,0.6,E*32\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,5,,13aGuE@P000JKgpNTii;LOw40000,0,0*0D\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aIi<0P00PJKPvNTjWP0?w22000,0,0*1A\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aDBD0P00PHj0PNKB:00?w22000,0,0*1A\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13P<QQ@0000Hdf8NFpIPA:Q20000,0,0*66\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13b`Bv5P1GPHV2@NHl803ww22000,0,0*38\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aR>V0000PHiftNK;B:mr;42000,0,0*25\r\n$GPGGA,195933,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*44\r\n$GPGLL,5310.8162,N,00525.7059,E,195933,A,A*40\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195933,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*1D\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195933,16,04,14,-02,00*65\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195933,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*58\r\n$GPBWR,195933,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*49\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n!AIVDM,1,1,1,,13aL>vwP00PIMtdNKaK00?w42000,0,0*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n!AIVDM,1,1,2,,15Q:RP002g0FNsTN`ld9fWk00000,0,0*1B\r\n$WIMWD,128.7,T,128.0,M,4.6,N,2.4,M*59\r\n$WIMWV,300.9,R,4.6,N,A*2B\r\n$WIMWV,301.1,T,4.6,N,A*24\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13b=DJ0P000Gp?8NQul9u?w60000,0,0*4F\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,4,,13aEQuOP00PHivPNKCN00?w42000,0,0*73\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13aL<SPP00PJG<lNKufP0?w42000,0,0*0B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13`j7c0000PG?:8NOgf=`TE62000,0,0*43\r\n!AIVDM,1,1,7,,13cLV`001E0HLslNH0Ka?oK60000,0,0*39\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aGua?P00PHfEdNFru00?w42000,0,0*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aN1EgP0KPHBbHNI9Kebgw62000,0,0*71\r\n!AIVDM,1,1,0,,13aI;8gP00PHf14NFt2P0?w42000,0,0*7E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195934,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*43\r\n$GPGLL,5310.8162,N,00525.7059,E,195934,A,A*47\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195934,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195934,16,04,14,-02,00*62\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195934,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5F\r\n$GPBWR,195934,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4E\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n!AIVDM,1,1,1,,13P;h8h02ePGTA4Nc1c9v7s02000,0,0*0C\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.7,T,128.0,M,4.6,N,2.4,M*59\r\n$WIMWV,296.0,R,4.6,N,A*2C\r\n$WIMWV,297.0,T,4.6,N,A*2B\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*0C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13`rcF?P000HRlbN@b800?w40000,0,0*1E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13a6ld00000Hpm@NL1UP09e80000,0,0*54\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,13aoQp?P0UPJt?HN`L?RB?w62000,0,0*42\r\n!AIVDM,1,1,7,,13aIkM@P00PJ@oTNL=cP0?w62000,0,0*71\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195935,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*42\r\n!AIVDM,1,1,8,,33`qM>8P0oPGBc8NSO4Rp2a82000,0,0*35\r\n$GPGLL,5310.8162,N,00525.7059,E,195935,A,A*46\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,9,,13a5jB0P000GoWpNQuqP0?w00000,0,0*60\r\n$GPRMC,195935,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*1B\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195935,16,04,14,-02,00*63\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195935,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5E\r\n$GPBWR,195935,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4F\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n!AIVDM,1,1,0,,13aGuEPP00PJL2DNTk`9S?w:2000,0,0*74\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.4,T,127.8,M,4.6,N,2.4,M*5D\r\n$WIMWV,292.0,R,4.6,N,A*28\r\n$WIMWV,292.3,T,4.6,N,A*2D\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aDr68P00PHj3lNKAFP0?w82000,0,0*7C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,13aB:Hh1h0PHjDvNKJiVwis82000,0,0*7C\r\n!AIVDM,1,1,3,,13b<2H7000PHkHlNKT47whW82000,0,0*1E\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,4,,13u7M`002?0F1G`NbkRPN@;80000,0,0*07\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13a@F4?00HPHDJ0NUV1RBR182000,0,0*7B\r\n!AIVDM,1,1,6,,13a1lH?P000I?o`NKTv=Cgwv0000,0,0*22\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13a?OH?00OPH?BjNLvt5FD3:2000,0,0*54\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195936,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*41\r\n$GPGLL,5310.8162,N,00525.7059,E,195936,A,A*45\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,8,,13aI;8wP00PHJBHNGgG00?w:2000,0,0*4C\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$GPRMC,195936,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*18\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195936,16,04,14,-02,00*60\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n!AIVDM,1,1,9,,13aFfb0P00PJgQ0NFp8P0?w:2000,0,0*4F\r\n$GPBWC,195936,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5D\r\n!AIVDM,1,1,0,,13aL>Dg000PGa@rNKge62TS:2000,0,0*31\r\n$GPBWR,195936,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n!AIVDM,1,1,1,,15C78000000GohHNQuna:m?:0000,0,0*3D\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,128.1,T,127.5,M,4.6,N,2.4,M*55\r\n$WIMWV,297.1,R,4.6,N,A*2C\r\n$WIMWV,298.5,T,4.6,N,A*21\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*28\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aetV7P0LPHH8rNL3r3Sww:2000,0,0*76\r\n!AIVDM,1,1,4,,13aGE00P00PGp0TNQus:??w<2000,0,0*17\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,5,,13c1LF0P0f0HlTJNR>Dbmww:0000,0,0*7B\r\n!AIVDM,1,1,6,,13aEOEPP00PHmAJNK`jcSgvJ2000,0,0*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aFh>?0000IvnLNSno09qQ<0000,0,0*14\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195937,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*40\r\n$GPGLL,5310.8162,N,00525.7059,E,195937,A,A*44\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMC,195937,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*19\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195937,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n!AIVDM,1,1,8,,13aGvAh0000I10RNQQrdUV1<0000,0,0*74\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPBWC,195937,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$GPBWR,195937,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n!AIVDM,1,1,9,,E02E340W6@1WPab3bPa200000000:uoH?9Ur@00000000?,4,4*07\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aDBd8P00PHivrNKBu00?w<2000,0,0*13\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$WIMWD,128.0,T,127.4,M,4.6,N,2.4,M*55\r\n$WIMWV,300.2,R,4.6,N,A*20\r\n$WIMWV,301.7,T,4.6,N,A*22\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,1,,102EFW3P00PHk`RNK`;a5Ow>2000,0,0*01\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,13aBLqhP000JbdnNLCs00?w:0000,0,0*3F\r\n!AIVDM,1,1,3,,13aC2`wP09PHJQ8NGe<cTgw>2000,0,0*64\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,4,,B39k:bP0?p62gf7WBn30?wP00000,0,0*79\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,5,,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?EdeP00000000?,4,4*2F\r\n!AIVDM,1,1,6,,13bjvT?0000H55jNQggQGb5<0000,0,0*1A\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,7,,14h?6j003C0G@k6NW2c2S25>0000,0,0*48\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,8,,13aFfRPP00PIuAVNF3f00?w<2000,0,0*02\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPGGA,195938,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*4F\r\n$GPGLL,5310.8162,N,00525.7059,E,195938,A,A*4B\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,9,,13aI8e?P00PGpURNR6s00?w>2000,0,0*17\r\n$GPRMC,195938,A,5310.8162,N,00525.7059,E,0.1,0.0,160414,0.7,E,A*17\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPVTG,0.0,T,359.3,M,0.1,N,0.2,K,A*2C\r\n$GPZDA,195938,16,04,14,-02,00*6E\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195938,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*53\r\n$SDHDG,182.0,,,0.6,E*38\r\n$GPBWR,195938,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*42\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,-0.1,V,A*76\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n!AIVDM,2,1,0,,53aFgph000010KWWOV1`4p@EQ18E>3F22222220Q9h8252w100000000000000,0,2*48\r\n!AIVDM,2,2,0,,000000003,2,2*78\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45\r\n$WIMWD,128.0,T,127.3,M,4.6,N,2.4,M*52\r\n$WIMWV,304.4,R,4.6,N,A*22\r\n$WIMWV,305.6,T,4.6,N,A*27\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,1,,13aGFvwP00PHi2rNKCIP0?w>2000,0,0*53\r\n$SDHDG,182.0,,,0.6,E*38\r\n$SDHDG,182.0,,,0.6,E*38\r\n!AIVDM,1,1,2,,15Q:RP002g0FNinN`lK9fWk<0000,0,0*18\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,3,,13aL?>HP00PHj5:NKAH00?w>2000,0,0*7B\r\n!AIVDM,1,1,4,,13bHGL?P0KPHNMpNUAwRigw@2000,0,0*57\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGGA,195939,5310.8162,N,00525.7059,E,1,00,1.10,10,M,,M,,*4E\r\n$GPGLL,5310.8162,N,00525.7059,E,195939,A,A*4A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,5,,13:krn000n0HMCFNH2I987K<0000,0,0*53\r\n$GPRMC,195939,A,5310.8162,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*17\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195939,16,04,14,-02,00*6F\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPAAM,V,V,0.05,N,*23\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195939,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*52\r\n$GPBWR,195939,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*43\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n!AIVDM,1,1,6,,13aGD7pP0?0Ho@2NKnOR4Ow80000,0,0*12\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.6,T,181.9,M,0.0,N,0.0,K*4E\r\n$SDHDG,181.9,,,0.6,E*32\r\n$WIMWD,128.0,T,127.4,M,4.6,N,2.4,M*55\r\n$WIMWV,304.2,R,4.6,N,A*24\r\n$WIMWV,304.2,T,4.6,N,A*22\r\n!AIVDM,1,1,7,,13bh6v70000HjCVNKOB`FDoB0000,0,0*43\r\n$IIXDR,C,C,10.7,C,AIRTEMP,A,0.5,D,HEEL,A,-1.-4,D,TRIM,P,1.026,B,BARO,A,A,-4.-3,D,RUDDER*1F\r\n!AIVDM,1,1,8,,13aGF=8P00PGpa@NR8`P0?w@2000,0,0*1C\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13aIi0gP00PHkHTNKQJ8rwwB2000,0,0*7D\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,0,,13aKWv?P000HjS8NK?pbLOwB0000,0,0*4A\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,1,,13aGFgSP07PGp5VNQtRTPOwB2000,0,0*0A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,2,,33aMB<?P1;PGfS6NK0hQhQ7<2000,0,0*56\r\n!AIVDM,1,1,3,,13`uO2700JPHKe8NL364N3QB2000,0,0*0E\r\n!AIVDM,1,1,4,,13aGFROP000Ho<tNKm`bS?wB0000,0,0*0C\r\n!AIVDM,1,1,5,,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur@00000000?,4,4*73\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,6,,33bn5j5P000HiE@NK>59JOw>0000,0,0*14\r\n$GPGGA,195940,5310.8161,N,00525.7059,E,1,00,1.10,10,M,,M,,*43\r\n$GPGLL,5310.8161,N,00525.7059,E,195940,A,A*47\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,7,,13aKVPHP00PHj5VNK8H00?wB2000,0,0*16\r\n$GPGSA,A,3,,,,,,,,,,,,,2.10,1.10,1.80*08\r\n$GPGSV,3,1,10,02,10,038,,05,15,069,,10,05,016,,13,05,347,*78\r\n$GPGSV,3,2,10,16,14,294,,21,37,173,,23,11,316,,25,37,119,*79\r\n$GPGSV,3,3,10,29,68,069,,31,54,239,*79\r\n!AIVDM,1,1,8,,13aBJp700N0Ga94NShFRkj;B0000,0,0*23\r\n$GPRMC,195940,A,5310.8161,N,00525.7059,E,0.0,0.0,160414,0.7,E,A*1A\r\n$GPVTG,0.0,T,359.3,M,0.0,N,0.0,K,A*2F\r\n$GPZDA,195940,16,04,14,-02,00*61\r\n$GPAAM,V,V,0.05,N,*23\r\n$SDHDG,181.9,,,0.6,E*32\r\n!AIVDM,1,1,9,,13bQtf?P000Hf4JNFs>9WOwB0000,0,0*3F\r\n$GPAPB,A,A,0.001,L,N,V,V,213.9,T,,213.9,T,213.9,T,A*77\r\n$GPBOD,213.9,T,213.2,M,,*4C\r\n$GPBWC,195940,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*5C\r\n$GPBWR,195940,5307.2833,N,00521.7536,E,213.9,T,213.2,M,4.25,N,,A*4D\r\n$GPRMB,A,0.001,L,,,5307.2833,N,00521.7536,E,4.25,213.9,0.0,V,A*5A\r\n$SDHDG,181.9,,,0.6,E*32\r\n$GPXTE,A,A,0.001,L,N,A*32\r\n$SDDBT,1.9,f,0.5,M,0.3,F*08\r\n$SDDPT,0.5,0.5,*7B\r\n$SDMTW,12.6,C*01\r\n$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,$SDVLW,$SDVLW,,N,322.0,N,$SDVLW,$SDVLW,,N,322.0,N,2328.9,N,2315.4,N*59\r\n$SDVHW,182.7,T,182.0,M,0.0,N,0.0,K*45"
  },
  {
    "path": "samples/gps.log",
    "content": "$GPGGA,085411.000,5222.3215,N,00454.5778,E,1,4,2.95,16.0,M,47.0,M,,*61\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085411.000,A,5222.3215,N,00454.5778,E,0.58,251.34,030414,,,A*63\r\n$GPVTG,251.34,T,,M,0.58,N,1.07,K,A*37\r\n$GPGGA,085412.000,5222.3198,N,00454.5784,E,1,4,2.95,16.0,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085412.000,A,5222.3198,N,00454.5784,E,0.58,251.34,030414,,,A*65\r\n$GPVTG,251.34,T,,M,0.58,N,1.07,K,A*37\r\n$GPGGA,085413.000,5222.3184,N,00454.5786,E,1,4,2.95,16.0,M,47.0,M,,*69\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085413.000,A,5222.3184,N,00454.5786,E,0.52,251.34,030414,,,A*61\r\n$GPVTG,251.34,T,,M,0.52,N,0.97,K,A*35\r\n$GPGGA,085414.000,5222.3185,N,00454.5786,E,1,4,2.95,16.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085414.000,A,5222.3185,N,00454.5786,E,0.48,251.34,030414,,,A*6C\r\n$GPVTG,251.34,T,,M,0.48,N,0.88,K,A*30\r\n$GPGGA,085415.000,5222.3180,N,00454.5796,E,1,4,2.95,16.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPGSV,3,1,12,13,73,068,33,10,69,286,21,04,47,217,,02,42,290,*7D\r\n$GPGSV,3,2,12,07,42,165,,23,38,069,41,08,17,181,,16,15,067,36*79\r\n$GPGSV,3,3,12,05,11,295,,09,11,192,,29,07,343,28,20,07,120,*76\r\n$GPRMC,085415.000,A,5222.3180,N,00454.5796,E,0.30,251.34,030414,,,A*66\r\n$GPVTG,251.34,T,,M,0.30,N,0.56,K,A*3C\r\n$GPGGA,085416.000,5222.3179,N,00454.5802,E,1,4,2.95,15.9,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085416.000,A,5222.3179,N,00454.5802,E,0.35,251.34,030414,,,A*64\r\n$GPVTG,251.34,T,,M,0.35,N,0.65,K,A*39\r\n$GPGGA,085417.000,5222.3176,N,00454.5802,E,1,4,2.95,15.9,M,47.0,M,,*69\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085417.000,A,5222.3176,N,00454.5802,E,0.29,251.34,030414,,,A*67\r\n$GPVTG,251.34,T,,M,0.29,N,0.53,K,A*31\r\n$GPGGA,085418.000,5222.3176,N,00454.5802,E,1,4,2.95,15.9,M,47.0,M,,*66\r\n$GPGSA,A,3,16,23,13,29,,,,,,,,,3.11,2.95,0.99*00\r\n$GPRMC,085418.000,A,5222.3176,N,00454.5802,E,0.32,251.34,030414,,,A*62\r\n$GPVTG,251.34,T,,M,0.32,N,0.59,K,A*31\r\n$GPGGA,085419.000,5222.3176,N,00454.5803,E,1,5,2.03,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPRMC,085419.000,A,5222.3176,N,00454.5803,E,0.30,251.34,030414,,,A*60\r\n$GPVTG,251.34,T,,M,0.30,N,0.56,K,A*3C\r\n$GPGGA,085420.000,5222.3180,N,00454.5804,E,1,5,2.03,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPGSV,4,1,13,13,73,068,35,10,69,286,20,04,47,217,,02,42,290,*7C\r\n$GPGSV,4,2,13,07,42,165,,23,37,069,41,37,28,159,,08,17,181,*74\r\n$GPGSV,4,3,13,16,15,067,36,05,11,295,19,09,11,192,,29,07,343,23*72\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085420.000,A,5222.3180,N,00454.5804,E,0.35,251.34,030414,,,A*61\r\n$GPVTG,251.34,T,,M,0.35,N,0.65,K,A*39\r\n$GPGGA,085421.000,5222.3183,N,00454.5806,E,1,5,2.03,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPRMC,085421.000,A,5222.3183,N,00454.5806,E,0.31,251.34,030414,,,A*65\r\n$GPVTG,251.34,T,,M,0.31,N,0.58,K,A*33\r\n$GPGGA,085422.000,5222.3186,N,00454.5807,E,1,5,2.03,15.9,M,47.0,M,,*6B\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPRMC,085422.000,A,5222.3186,N,00454.5807,E,0.29,251.34,030414,,,A*6B\r\n$GPVTG,251.34,T,,M,0.29,N,0.54,K,A*36\r\n$GPGGA,085423.000,5222.3191,N,00454.5807,E,1,5,2.03,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPRMC,085423.000,A,5222.3191,N,00454.5807,E,0.32,251.34,030414,,,A*66\r\n$GPVTG,251.34,T,,M,0.32,N,0.60,K,A*3B\r\n$GPGGA,085424.000,5222.3196,N,00454.5808,E,1,5,2.03,15.9,M,47.0,M,,*63\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPRMC,085424.000,A,5222.3196,N,00454.5808,E,0.46,251.34,030414,,,A*6A\r\n$GPVTG,251.34,T,,M,0.46,N,0.86,K,A*30\r\n$GPGGA,085425.000,5222.3199,N,00454.5809,E,1,5,2.03,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,05,23,13,29,,,,,,,,2.23,2.03,0.92*01\r\n$GPGSV,4,1,13,13,73,068,35,10,69,286,19,04,47,217,,02,42,290,*76\r\n$GPGSV,4,2,13,07,42,165,,23,37,069,41,37,28,159,,08,17,181,*74\r\n$GPGSV,4,3,13,16,15,067,36,05,11,295,19,09,11,192,,29,07,343,23*72\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085425.000,A,5222.3199,N,00454.5809,E,0.49,251.34,030414,,,A*6A\r\n$GPVTG,251.34,T,,M,0.49,N,0.91,K,A*39\r\n$GPGGA,085426.000,5222.3201,N,00454.5813,E,1,6,1.88,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085426.000,A,5222.3201,N,00454.5813,E,0.38,251.34,030414,,,A*66\r\n$GPVTG,251.34,T,,M,0.38,N,0.71,K,A*31\r\n$GPGGA,085427.000,5222.3203,N,00454.5815,E,1,6,1.88,15.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085427.000,A,5222.3203,N,00454.5815,E,0.34,251.34,030414,,,A*6F\r\n$GPVTG,251.34,T,,M,0.34,N,0.63,K,A*3E\r\n$GPGGA,085428.000,5222.3205,N,00454.5817,E,1,6,1.88,15.9,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085428.000,A,5222.3205,N,00454.5817,E,0.29,251.34,030414,,,A*68\r\n$GPVTG,251.34,T,,M,0.29,N,0.54,K,A*36\r\n$GPGGA,085429.000,5222.3209,N,00454.5819,E,1,6,1.88,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085429.000,A,5222.3209,N,00454.5819,E,0.34,251.34,030414,,,A*67\r\n$GPVTG,251.34,T,,M,0.34,N,0.63,K,A*3E\r\n$GPGGA,085430.000,5222.3214,N,00454.5823,E,1,6,1.88,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPGSV,4,1,13,13,73,068,36,10,69,286,21,04,47,217,,02,42,290,19*76\r\n$GPGSV,4,2,13,07,42,165,,23,37,069,41,39,27,154,,08,17,181,*78\r\n$GPGSV,4,3,13,16,15,067,36,05,11,295,20,09,11,192,,29,07,343,24*7F\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085430.000,A,5222.3214,N,00454.5823,E,0.38,251.34,030414,,,A*66\r\n$GPVTG,251.34,T,,M,0.38,N,0.71,K,A*31\r\n$GPGGA,085431.000,5222.3216,N,00454.5825,E,1,6,1.88,15.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085431.000,A,5222.3216,N,00454.5825,E,0.34,251.34,030414,,,A*6F\r\n$GPVTG,251.34,T,,M,0.34,N,0.63,K,A*3E\r\n$GPGGA,085432.000,5222.3215,N,00454.5827,E,1,6,1.88,15.9,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085432.000,A,5222.3215,N,00454.5827,E,0.16,251.34,030414,,,A*6D\r\n$GPVTG,251.34,T,,M,0.16,N,0.30,K,A*38\r\n$GPGGA,085433.000,5222.3219,N,00454.5827,E,1,6,1.88,15.9,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085433.000,A,5222.3219,N,00454.5827,E,0.31,251.34,030414,,,A*65\r\n$GPVTG,251.34,T,,M,0.31,N,0.58,K,A*33\r\n$GPGGA,085434.000,5222.3220,N,00454.5825,E,1,6,1.88,15.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085434.000,A,5222.3220,N,00454.5825,E,0.38,251.34,030414,,,A*63\r\n$GPVTG,251.34,T,,M,0.38,N,0.70,K,A*30\r\n$GPGGA,085435.000,5222.3220,N,00454.5825,E,1,6,1.88,15.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPGSV,4,1,13,13,73,068,36,10,69,286,22,04,47,217,,02,42,289,21*76\r\n$GPGSV,4,2,13,07,42,165,,23,37,069,39,39,27,154,,08,17,181,*77\r\n$GPGSV,4,3,13,16,15,067,36,05,12,295,22,09,11,192,,29,07,343,25*7F\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085435.000,A,5222.3220,N,00454.5825,E,0.35,251.34,030414,,,A*6F\r\n$GPVTG,251.34,T,,M,0.35,N,0.65,K,A*39\r\n$GPGGA,085436.000,5222.3221,N,00454.5827,E,1,6,1.88,15.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085436.000,A,5222.3221,N,00454.5827,E,0.36,251.34,030414,,,A*6C\r\n$GPVTG,251.34,T,,M,0.36,N,0.66,K,A*39\r\n$GPGGA,085437.000,5222.3218,N,00454.5825,E,1,6,1.88,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085437.000,A,5222.3218,N,00454.5825,E,0.29,251.34,030414,,,A*6B\r\n$GPVTG,251.34,T,,M,0.29,N,0.54,K,A*36\r\n$GPGGA,085438.000,5222.3218,N,00454.5822,E,1,6,1.88,15.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085438.000,A,5222.3218,N,00454.5822,E,0.34,251.34,030414,,,A*6F\r\n$GPVTG,251.34,T,,M,0.34,N,0.64,K,A*39\r\n$GPGGA,085439.000,5222.3219,N,00454.5821,E,1,6,1.88,15.9,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,05,23,13,29,,,,,,,2.09,1.88,0.92*0B\r\n$GPRMC,085439.000,A,5222.3219,N,00454.5821,E,0.36,251.34,030414,,,A*6E\r\n$GPVTG,251.34,T,,M,0.36,N,0.68,K,A*37\r\n$GPGGA,085440.000,5222.3216,N,00454.5822,E,1,7,1.09,15.9,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPGSV,4,1,13,13,73,068,35,10,69,286,19,04,47,217,,07,43,165,17*7D\r\n$GPGSV,4,2,13,02,42,289,20,23,37,069,38,33,27,205,,08,17,181,*7D\r\n$GPGSV,4,3,13,16,15,067,36,05,12,295,21,09,11,192,,29,07,343,25*7C\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085440.000,A,5222.3216,N,00454.5822,E,0.20,251.34,030414,,,A*6B\r\n$GPVTG,251.34,T,,M,0.20,N,0.37,K,A*3A\r\n$GPGGA,085441.000,5222.3211,N,00454.5825,E,1,7,1.09,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085441.000,A,5222.3211,N,00454.5825,E,0.04,251.34,030414,,,A*6C\r\n$GPVTG,251.34,T,,M,0.04,N,0.08,K,A*30\r\n$GPGGA,085442.000,5222.3208,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085442.000,A,5222.3208,N,00454.5828,E,0.04,251.34,030414,,,A*6A\r\n$GPVTG,251.34,T,,M,0.04,N,0.07,K,A*3F\r\n$GPGGA,085443.000,5222.3208,N,00454.5827,E,1,7,1.09,15.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085443.000,A,5222.3208,N,00454.5827,E,0.12,251.34,030414,,,A*63\r\n$GPVTG,251.34,T,,M,0.12,N,0.22,K,A*3F\r\n$GPGGA,085444.000,5222.3208,N,00454.5827,E,1,7,1.09,15.9,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085444.000,A,5222.3208,N,00454.5827,E,0.12,251.34,030414,,,A*64\r\n$GPVTG,251.34,T,,M,0.12,N,0.22,K,A*3F\r\n$GPGGA,085445.000,5222.3208,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPGSV,4,1,13,13,73,067,35,10,69,286,19,04,47,217,,07,43,165,17*72\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,33,27,205,,08,17,181,*7F\r\n$GPGSV,4,3,13,16,15,067,36,05,12,295,21,09,11,192,,29,07,343,25*7C\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085445.000,A,5222.3208,N,00454.5828,E,0.12,251.34,030414,,,A*6A\r\n$GPVTG,251.34,T,,M,0.12,N,0.23,K,A*3E\r\n$GPGGA,085446.000,5222.3208,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085446.000,A,5222.3208,N,00454.5828,E,0.13,251.34,030414,,,A*68\r\n$GPVTG,251.34,T,,M,0.13,N,0.24,K,A*38\r\n$GPGGA,085447.000,5222.3208,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085447.000,A,5222.3208,N,00454.5828,E,0.21,251.34,030414,,,A*68\r\n$GPVTG,251.34,T,,M,0.21,N,0.40,K,A*3B\r\n$GPGGA,085448.000,5222.3209,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085448.000,A,5222.3209,N,00454.5828,E,0.22,251.34,030414,,,A*65\r\n$GPVTG,251.34,T,,M,0.22,N,0.41,K,A*39\r\n$GPGGA,085449.000,5222.3210,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085449.000,A,5222.3210,N,00454.5828,E,0.41,251.34,030414,,,A*69\r\n$GPVTG,251.34,T,,M,0.41,N,0.77,K,A*39\r\n$GPGGA,085450.000,5222.3211,N,00454.5827,E,1,7,1.09,15.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPGSV,4,1,13,13,73,067,35,10,69,286,18,04,47,217,,07,43,165,18*7C\r\n$GPGSV,4,2,13,02,42,289,23,23,37,069,37,08,17,181,,16,15,066,37*74\r\n$GPGSV,4,3,13,05,12,295,21,09,11,192,,40,09,115,,29,07,343,25*73\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085450.000,A,5222.3211,N,00454.5827,E,0.29,251.34,030414,,,A*61\r\n$GPVTG,251.34,T,,M,0.29,N,0.53,K,A*31\r\n$GPGGA,085451.000,5222.3212,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085451.000,A,5222.3212,N,00454.5828,E,0.25,251.34,030414,,,A*60\r\n$GPVTG,251.34,T,,M,0.25,N,0.47,K,A*38\r\n$GPGGA,085452.000,5222.3212,N,00454.5828,E,1,7,1.09,15.9,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085452.000,A,5222.3212,N,00454.5828,E,0.29,251.34,030414,,,A*6F\r\n$GPVTG,251.34,T,,M,0.29,N,0.55,K,A*37\r\n$GPGGA,085453.000,5222.3213,N,00454.5829,E,1,7,1.09,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085453.000,A,5222.3213,N,00454.5829,E,0.18,251.34,030414,,,A*6C\r\n$GPVTG,251.34,T,,M,0.18,N,0.33,K,A*35\r\n$GPGGA,085454.000,5222.3213,N,00454.5829,E,1,7,1.09,15.9,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085454.000,A,5222.3213,N,00454.5829,E,0.21,251.34,030414,,,A*61\r\n$GPVTG,251.34,T,,M,0.21,N,0.38,K,A*34\r\n$GPGGA,085455.000,5222.3214,N,00454.5830,E,1,7,1.09,15.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPGSV,4,1,13,13,73,067,36,10,69,286,18,04,47,217,,07,43,165,19*7E\r\n$GPGSV,4,2,13,02,42,289,23,23,37,069,37,08,17,181,,16,15,066,37*74\r\n$GPGSV,4,3,13,05,12,295,21,09,11,192,,40,09,115,,29,07,343,21*77\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085455.000,A,5222.3214,N,00454.5830,E,0.27,251.34,030414,,,A*69\r\n$GPVTG,251.34,T,,M,0.27,N,0.50,K,A*3C\r\n$GPGGA,085456.000,5222.3215,N,00454.5830,E,1,7,1.09,15.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085456.000,A,5222.3215,N,00454.5830,E,0.25,251.34,030414,,,A*69\r\n$GPVTG,251.34,T,,M,0.25,N,0.47,K,A*38\r\n$GPGGA,085457.000,5222.3215,N,00454.5831,E,1,7,1.09,15.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085457.000,A,5222.3215,N,00454.5831,E,0.19,251.34,030414,,,A*66\r\n$GPVTG,251.34,T,,M,0.19,N,0.35,K,A*32\r\n$GPGGA,085458.000,5222.3216,N,00454.5832,E,1,7,1.09,15.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085458.000,A,5222.3216,N,00454.5832,E,0.26,251.34,030414,,,A*65\r\n$GPVTG,251.34,T,,M,0.26,N,0.48,K,A*34\r\n$GPGGA,085459.000,5222.3217,N,00454.5832,E,1,7,1.09,15.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085459.000,A,5222.3217,N,00454.5832,E,0.32,251.34,030414,,,A*60\r\n$GPVTG,251.34,T,,M,0.32,N,0.59,K,A*31\r\n$GPGGA,085500.000,5222.3217,N,00454.5831,E,1,7,1.09,15.9,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPGSV,4,1,13,13,73,067,36,10,69,286,18,04,47,217,,07,43,165,18*7F\r\n$GPGSV,4,2,13,02,42,289,24,23,37,069,37,08,17,181,,16,15,066,34*70\r\n$GPGSV,4,3,13,05,12,295,22,09,11,192,,44,08,114,,29,07,343,18*7A\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085500.000,A,5222.3217,N,00454.5831,E,0.35,251.34,030414,,,A*69\r\n$GPVTG,251.34,T,,M,0.35,N,0.65,K,A*39\r\n$GPGGA,085501.000,5222.3218,N,00454.5831,E,1,7,1.09,15.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085501.000,A,5222.3218,N,00454.5831,E,0.45,251.34,030414,,,A*60\r\n$GPVTG,251.34,T,,M,0.45,N,0.84,K,A*31\r\n$GPGGA,085502.000,5222.3220,N,00454.5830,E,1,7,1.09,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085502.000,A,5222.3220,N,00454.5830,E,0.40,251.34,030414,,,A*6C\r\n$GPVTG,251.34,T,,M,0.40,N,0.74,K,A*3B\r\n$GPGGA,085503.000,5222.3221,N,00454.5830,E,1,7,1.09,15.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.39,1.09,0.86*00\r\n$GPRMC,085503.000,A,5222.3221,N,00454.5830,E,0.57,251.34,030414,,,A*6A\r\n$GPVTG,251.34,T,,M,0.57,N,1.06,K,A*39\r\n$GPGGA,085504.000,5222.3222,N,00454.5829,E,1,6,1.18,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085504.000,A,5222.3222,N,00454.5829,E,0.59,357.11,030414,,,A*68\r\n$GPVTG,357.11,T,,M,0.59,N,1.10,K,A*30\r\n$GPGGA,085505.000,5222.3225,N,00454.5830,E,1,6,1.34,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.91*02\r\n$GPGSV,4,1,13,13,73,067,36,10,69,286,18,04,47,217,,07,43,165,18*7F\r\n$GPGSV,4,2,13,02,42,289,23,23,37,069,37,08,17,181,,16,15,066,33*70\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,44,08,114,,29,07,343,18*7A\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085505.000,A,5222.3225,N,00454.5830,E,0.60,355.29,030414,,,A*65\r\n$GPVTG,355.29,T,,M,0.60,N,1.11,K,A*32\r\n$GPGGA,085506.000,5222.3230,N,00454.5831,E,1,6,1.34,15.9,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.91*02\r\n$GPRMC,085506.000,A,5222.3230,N,00454.5831,E,0.63,356.58,030414,,,A*65\r\n$GPVTG,356.58,T,,M,0.63,N,1.16,K,A*33\r\n$GPGGA,085507.000,5222.3234,N,00454.5832,E,1,6,1.34,15.9,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.91*02\r\n$GPRMC,085507.000,A,5222.3234,N,00454.5832,E,0.67,2.21,030414,,,A*6B\r\n$GPVTG,2.21,T,,M,0.67,N,1.23,K,A*3D\r\n$GPGGA,085508.000,5222.3239,N,00454.5833,E,1,6,1.34,15.9,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.91*02\r\n$GPRMC,085508.000,A,5222.3239,N,00454.5833,E,0.70,356.05,030414,,,A*6A\r\n$GPVTG,356.05,T,,M,0.70,N,1.30,K,A*3D\r\n$GPGGA,085509.000,5222.3245,N,00454.5836,E,1,6,1.34,15.8,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085509.000,A,5222.3245,N,00454.5836,E,0.76,1.48,030414,,,A*6B\r\n$GPVTG,1.48,T,,M,0.76,N,1.41,K,A*35\r\n$GPGGA,085510.000,5222.3250,N,00454.5837,E,1,6,1.34,15.8,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPGSV,4,1,13,13,73,067,36,10,69,286,16,04,47,217,,07,43,165,19*70\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,37,28,159,,08,17,181,*7E\r\n$GPGSV,4,3,13,16,15,066,34,05,12,295,,09,11,192,,29,07,343,17*7D\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085510.000,A,5222.3250,N,00454.5837,E,0.80,359.19,030414,,,A*65\r\n$GPVTG,359.19,T,,M,0.80,N,1.49,K,A*3E\r\n$GPGGA,085511.000,5222.3253,N,00454.5837,E,1,6,1.34,15.8,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085511.000,A,5222.3253,N,00454.5837,E,0.83,358.53,030414,,,A*6B\r\n$GPVTG,358.53,T,,M,0.83,N,1.53,K,A*39\r\n$GPGGA,085512.000,5222.3258,N,00454.5835,E,1,6,1.34,15.8,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085512.000,A,5222.3258,N,00454.5835,E,0.84,342.98,030414,,,A*6A\r\n$GPVTG,342.98,T,,M,0.84,N,1.56,K,A*37\r\n$GPGGA,085513.000,5222.3263,N,00454.5836,E,1,6,1.18,15.8,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085513.000,A,5222.3263,N,00454.5836,E,0.85,343.14,030414,,,A*64\r\n$GPVTG,343.14,T,,M,0.85,N,1.58,K,A*3D\r\n$GPGGA,085514.000,5222.3266,N,00454.5836,E,1,6,1.18,15.8,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085514.000,A,5222.3266,N,00454.5836,E,0.84,341.61,030414,,,A*67\r\n$GPVTG,341.61,T,,M,0.84,N,1.56,K,A*32\r\n$GPGGA,085515.000,5222.3271,N,00454.5836,E,1,6,1.18,15.8,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPGSV,4,1,13,13,73,067,36,10,70,286,16,04,47,217,,07,43,165,19*78\r\n$GPGSV,4,2,13,02,42,289,21,23,37,069,38,37,28,159,,08,17,181,*7D\r\n$GPGSV,4,3,13,16,15,066,32,05,12,295,,09,11,192,,29,07,343,17*7B\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085515.000,A,5222.3271,N,00454.5836,E,0.84,341.19,030414,,,A*6F\r\n$GPVTG,341.19,T,,M,0.84,N,1.56,K,A*3D\r\n$GPGGA,085516.000,5222.3276,N,00454.5838,E,1,6,1.18,15.7,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085516.000,A,5222.3276,N,00454.5838,E,0.85,344.20,030414,,,A*6B\r\n$GPVTG,344.20,T,,M,0.85,N,1.57,K,A*32\r\n$GPGGA,085517.000,5222.3282,N,00454.5838,E,1,6,1.34,15.7,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085517.000,A,5222.3282,N,00454.5838,E,0.86,338.74,030414,,,A*68\r\n$GPVTG,338.74,T,,M,0.86,N,1.59,K,A*35\r\n$GPGGA,085518.000,5222.3288,N,00454.5840,E,1,6,1.18,15.7,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085518.000,A,5222.3288,N,00454.5840,E,0.87,340.08,030414,,,A*67\r\n$GPVTG,340.08,T,,M,0.87,N,1.60,K,A*3A\r\n$GPGGA,085519.000,5222.3296,N,00454.5844,E,1,6,1.18,15.7,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085519.000,A,5222.3296,N,00454.5844,E,0.90,341.34,030414,,,A*65\r\n$GPVTG,341.34,T,,M,0.90,N,1.67,K,A*35\r\n$GPGGA,085520.000,5222.3301,N,00454.5845,E,1,6,1.34,15.7,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPGSV,4,1,13,13,73,067,36,10,70,286,16,04,47,217,,07,43,165,18*79\r\n$GPGSV,4,2,13,02,42,289,21,23,37,069,38,39,27,154,,08,17,181,*71\r\n$GPGSV,4,3,13,16,15,066,31,05,12,295,,09,11,192,,29,07,343,18*77\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085520.000,A,5222.3301,N,00454.5845,E,0.94,353.23,030414,,,A*60\r\n$GPVTG,353.23,T,,M,0.94,N,1.75,K,A*37\r\n$GPGGA,085521.000,5222.3306,N,00454.5846,E,1,6,1.34,15.6,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085521.000,A,5222.3306,N,00454.5846,E,0.97,350.10,030414,,,A*65\r\n$GPVTG,350.10,T,,M,0.97,N,1.80,K,A*3D\r\n$GPGGA,085522.000,5222.3309,N,00454.5847,E,1,6,1.34,15.6,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085522.000,A,5222.3309,N,00454.5847,E,0.98,350.77,030414,,,A*66\r\n$GPVTG,350.77,T,,M,0.98,N,1.82,K,A*31\r\n$GPGGA,085523.000,5222.3312,N,00454.5848,E,1,6,1.34,15.6,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085523.000,A,5222.3312,N,00454.5848,E,0.97,348.79,030414,,,A*6A\r\n$GPVTG,348.79,T,,M,0.97,N,1.80,K,A*3B\r\n$GPGGA,085524.000,5222.3315,N,00454.5848,E,1,6,1.34,15.6,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.34,1.34,1.92*01\r\n$GPRMC,085524.000,A,5222.3315,N,00454.5848,E,0.95,346.36,030414,,,A*6D\r\n$GPVTG,346.36,T,,M,0.95,N,1.76,K,A*35\r\n$GPGGA,085525.000,5222.3319,N,00454.5846,E,1,6,1.34,15.6,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.35,1.34,1.92*00\r\n$GPGSV,4,1,13,13,73,067,36,10,70,286,17,04,47,217,,07,43,165,16*76\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,39,27,154,,08,17,181,*72\r\n$GPGSV,4,3,13,16,15,066,31,05,12,295,,09,11,192,,29,07,343,18*77\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085525.000,A,5222.3319,N,00454.5846,E,0.94,343.87,030414,,,A*60\r\n$GPVTG,343.87,T,,M,0.94,N,1.74,K,A*39\r\n$GPGGA,085526.000,5222.3321,N,00454.5847,E,1,6,1.18,15.6,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085526.000,A,5222.3321,N,00454.5847,E,0.92,343.92,030414,,,A*6B\r\n$GPVTG,343.92,T,,M,0.92,N,1.70,K,A*3F\r\n$GPGGA,085527.000,5222.3320,N,00454.5846,E,1,6,1.18,15.6,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085527.000,A,5222.3320,N,00454.5846,E,0.88,340.80,030414,,,A*61\r\n$GPVTG,340.80,T,,M,0.88,N,1.63,K,A*36\r\n$GPGGA,085528.000,5222.3321,N,00454.5847,E,1,6,1.18,15.5,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085528.000,A,5222.3321,N,00454.5847,E,0.83,348.11,030414,,,A*65\r\n$GPVTG,348.11,T,,M,0.83,N,1.54,K,A*39\r\n$GPGGA,085529.000,5222.3322,N,00454.5847,E,1,6,1.35,15.5,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.35,1.35,1.92*01\r\n$GPRMC,085529.000,A,5222.3322,N,00454.5847,E,0.79,345.35,030414,,,A*69\r\n$GPVTG,345.35,T,,M,0.79,N,1.46,K,A*34\r\n$GPGGA,085530.000,5222.3322,N,00454.5847,E,1,6,1.18,15.5,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,18,04,47,217,,07,43,165,16*7A\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,33,27,205,,08,17,181,*7F\r\n$GPGSV,4,3,13,16,15,066,32,05,12,295,,09,11,192,,29,07,343,19*75\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085530.000,A,5222.3322,N,00454.5847,E,0.73,345.40,030414,,,A*69\r\n$GPVTG,345.40,T,,M,0.73,N,1.35,K,A*38\r\n$GPGGA,085531.000,5222.3321,N,00454.5844,E,1,6,1.35,15.5,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.35,1.35,1.92*01\r\n$GPRMC,085531.000,A,5222.3321,N,00454.5844,E,0.68,331.74,030414,,,A*66\r\n$GPVTG,331.74,T,,M,0.68,N,1.27,K,A*35\r\n$GPGGA,085532.000,5222.3319,N,00454.5844,E,1,6,1.18,15.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085532.000,A,5222.3319,N,00454.5844,E,0.64,322.81,030414,,,A*6A\r\n$GPVTG,322.81,T,,M,0.64,N,1.18,K,A*3D\r\n$GPGGA,085533.000,5222.3319,N,00454.5845,E,1,6,1.18,15.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085533.000,A,5222.3319,N,00454.5845,E,0.59,322.81,030414,,,A*64\r\n$GPVTG,322.81,T,,M,0.59,N,1.10,K,A*3B\r\n$GPGGA,085534.000,5222.3314,N,00454.5846,E,1,7,1.09,15.5,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.40,1.09,0.87*0F\r\n$GPRMC,085534.000,A,5222.3314,N,00454.5846,E,0.43,322.81,030414,,,A*66\r\n$GPVTG,322.81,T,,M,0.43,N,0.80,K,A*38\r\n$GPGGA,085535.000,5222.3309,N,00454.5846,E,1,7,1.09,15.5,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.40,1.09,0.87*0F\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,19,04,47,217,,07,43,165,18*75\r\n$GPGSV,4,2,13,02,42,289,23,23,37,069,38,08,17,181,,16,15,066,34*78\r\n$GPGSV,4,3,13,05,12,295,24,09,11,192,,40,09,115,,29,07,343,19*79\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085535.000,A,5222.3309,N,00454.5846,E,0.43,322.81,030414,,,A*6B\r\n$GPVTG,322.81,T,,M,0.43,N,0.79,K,A*3E\r\n$GPGGA,085536.000,5222.3306,N,00454.5848,E,1,7,1.09,15.5,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.40,1.09,0.87*0F\r\n$GPRMC,085536.000,A,5222.3306,N,00454.5848,E,0.23,322.81,030414,,,A*6F\r\n$GPVTG,322.81,T,,M,0.23,N,0.43,K,A*31\r\n$GPGGA,085537.000,5222.3306,N,00454.5847,E,1,7,1.09,15.5,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,05,23,13,29,07,,,,,,1.40,1.09,0.87*0F\r\n$GPRMC,085537.000,A,5222.3306,N,00454.5847,E,0.13,322.81,030414,,,A*62\r\n$GPVTG,322.81,T,,M,0.13,N,0.24,K,A*33\r\n$GPGGA,085538.000,5222.3307,N,00454.5847,E,1,6,1.18,15.5,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085538.000,A,5222.3307,N,00454.5847,E,0.19,322.81,030414,,,A*66\r\n$GPVTG,322.81,T,,M,0.19,N,0.35,K,A*39\r\n$GPGGA,085539.000,5222.3307,N,00454.5847,E,1,6,1.35,15.5,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.35,1.35,1.93*00\r\n$GPRMC,085539.000,A,5222.3307,N,00454.5847,E,0.26,322.81,030414,,,A*6B\r\n$GPVTG,322.81,T,,M,0.26,N,0.49,K,A*3E\r\n$GPGGA,085540.000,5222.3308,N,00454.5846,E,1,6,1.18,15.5,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,18,04,47,217,,07,43,165,18*74\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,08,17,181,,16,15,066,34*79\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,40,09,115,,29,07,343,21*74\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085540.000,A,5222.3308,N,00454.5846,E,0.35,322.81,030414,,,A*69\r\n$GPVTG,322.81,T,,M,0.35,N,0.65,K,A*32\r\n$GPGGA,085541.000,5222.3309,N,00454.5847,E,1,6,1.35,15.5,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.35,1.35,1.93*00\r\n$GPRMC,085541.000,A,5222.3309,N,00454.5847,E,0.70,40.30,030414,,,A*54\r\n$GPVTG,40.30,T,,M,0.70,N,1.29,K,A*07\r\n$GPGGA,085542.000,5222.3312,N,00454.5851,E,1,7,1.09,15.5,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.09,0.87*0F\r\n$GPRMC,085542.000,A,5222.3312,N,00454.5851,E,0.69,38.14,030414,,,A*5B\r\n$GPVTG,38.14,T,,M,0.69,N,1.28,K,A*07\r\n$GPGGA,085543.000,5222.3310,N,00454.5851,E,1,6,1.18,15.5,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPRMC,085543.000,A,5222.3310,N,00454.5851,E,0.52,38.14,030414,,,A*50\r\n$GPVTG,38.14,T,,M,0.52,N,0.96,K,A*0B\r\n$GPGGA,085544.000,5222.3309,N,00454.5852,E,1,6,1.18,15.5,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085544.000,A,5222.3309,N,00454.5852,E,0.27,38.14,030414,,,A*5E\r\n$GPVTG,38.14,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,085545.000,5222.3308,N,00454.5852,E,1,6,1.18,15.5,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.47,1.18,0.89*03\r\n$GPGSV,4,1,13,13,73,067,34,10,70,286,20,04,46,217,,07,43,165,15*72\r\n$GPGSV,4,2,13,02,42,289,21,23,37,069,37,08,17,181,,16,15,066,34*75\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,44,08,114,,29,07,343,19*7B\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085545.000,A,5222.3308,N,00454.5852,E,0.24,38.14,030414,,,A*5D\r\n$GPVTG,38.14,T,,M,0.24,N,0.45,K,A*04\r\n$GPGGA,085546.000,5222.3301,N,00454.5857,E,1,6,1.35,15.4,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,2.36,1.35,1.93*03\r\n$GPRMC,085546.000,A,5222.3301,N,00454.5857,E,0.19,38.14,030414,,,A*5C\r\n$GPVTG,38.14,T,,M,0.19,N,0.36,K,A*0E\r\n$GPGGA,085547.000,5222.3301,N,00454.5857,E,1,6,1.18,15.4,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085547.000,A,5222.3301,N,00454.5857,E,0.03,38.14,030414,,,A*56\r\n$GPVTG,38.14,T,,M,0.03,N,0.05,K,A*05\r\n$GPGGA,085548.000,5222.3301,N,00454.5857,E,1,6,1.18,15.4,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085548.000,A,5222.3301,N,00454.5857,E,0.13,38.14,030414,,,A*58\r\n$GPVTG,38.14,T,,M,0.13,N,0.24,K,A*07\r\n$GPGGA,085549.000,5222.3301,N,00454.5857,E,1,6,1.18,15.4,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085549.000,A,5222.3301,N,00454.5857,E,0.30,38.14,030414,,,A*58\r\n$GPVTG,38.14,T,,M,0.30,N,0.55,K,A*00\r\n$GPGGA,085550.000,5222.3300,N,00454.5856,E,1,6,1.18,15.4,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,19,04,46,217,,07,43,165,11*7D\r\n$GPGSV,4,2,13,02,42,289,21,23,37,069,36,08,18,181,,16,15,066,34*7B\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,44,08,114,,29,07,343,22*73\r\n$GPGSV,4,4,13,20,07,120,*4D\r\n$GPRMC,085550.000,A,5222.3300,N,00454.5856,E,0.50,38.14,030414,,,A*56\r\n$GPVTG,38.14,T,,M,0.50,N,0.93,K,A*0C\r\n$GPGGA,085551.000,5222.3299,N,00454.5855,E,1,6,1.18,15.3,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085551.000,A,5222.3299,N,00454.5855,E,0.72,223.01,030414,,,A*69\r\n$GPVTG,223.01,T,,M,0.72,N,1.33,K,A*3B\r\n$GPGGA,085552.000,5222.3286,N,00454.5861,E,1,6,1.18,15.4,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085552.000,A,5222.3286,N,00454.5861,E,0.96,222.67,030414,,,A*68\r\n$GPVTG,222.67,T,,M,0.96,N,1.77,K,A*30\r\n$GPGGA,085553.000,5222.3275,N,00454.5865,E,1,6,1.18,15.3,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085553.000,A,5222.3275,N,00454.5865,E,1.13,221.62,030414,,,A*6B\r\n$GPVTG,221.62,T,,M,1.13,N,2.09,K,A*30\r\n$GPGGA,085554.000,5222.3267,N,00454.5868,E,1,6,1.18,15.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085554.000,A,5222.3267,N,00454.5868,E,1.11,220.30,030414,,,A*66\r\n$GPVTG,220.30,T,,M,1.11,N,2.06,K,A*3B\r\n$GPGGA,085555.000,5222.3265,N,00454.5871,E,1,6,1.18,15.3,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,20,04,46,217,,07,43,165,16*70\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,36,08,18,181,,16,15,066,36*7A\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,343,23,20,07,120,*78\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,085555.000,A,5222.3265,N,00454.5871,E,0.89,199.54,030414,,,A*6E\r\n$GPVTG,199.54,T,,M,0.89,N,1.66,K,A*3D\r\n$GPGGA,085556.000,5222.3259,N,00454.5872,E,1,6,1.18,15.3,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085556.000,A,5222.3259,N,00454.5872,E,0.96,200.07,030414,,,A*6A\r\n$GPVTG,200.07,T,,M,0.96,N,1.78,K,A*39\r\n$GPGGA,085557.000,5222.3256,N,00454.5870,E,1,6,1.18,15.3,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085557.000,A,5222.3256,N,00454.5870,E,0.95,200.84,030414,,,A*6E\r\n$GPVTG,200.84,T,,M,0.95,N,1.75,K,A*3C\r\n$GPGGA,085558.000,5222.3255,N,00454.5869,E,1,6,1.18,15.2,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085558.000,A,5222.3255,N,00454.5869,E,0.77,201.50,030414,,,A*6E\r\n$GPVTG,201.50,T,,M,0.77,N,1.43,K,A*3D\r\n$GPGGA,085559.000,5222.3253,N,00454.5867,E,1,6,1.18,15.2,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085559.000,A,5222.3253,N,00454.5867,E,0.77,215.09,030414,,,A*6E\r\n$GPVTG,215.09,T,,M,0.77,N,1.43,K,A*34\r\n$GPGGA,085600.000,5222.3253,N,00454.5864,E,1,6,1.18,15.2,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,21,04,46,217,,07,43,165,17*70\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,37,08,18,181,,16,15,066,37*7A\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,343,24,20,07,121,*7E\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,085600.000,A,5222.3253,N,00454.5864,E,0.73,219.41,030414,,,A*66\r\n$GPVTG,219.41,T,,M,0.73,N,1.35,K,A*31\r\n$GPGGA,085601.000,5222.3253,N,00454.5864,E,1,6,1.18,15.1,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085601.000,A,5222.3253,N,00454.5864,E,0.27,219.41,030414,,,A*66\r\n$GPVTG,219.41,T,,M,0.27,N,0.51,K,A*33\r\n$GPGGA,085602.000,5222.3254,N,00454.5865,E,1,6,1.18,15.1,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085602.000,A,5222.3254,N,00454.5865,E,0.23,219.41,030414,,,A*67\r\n$GPVTG,219.41,T,,M,0.23,N,0.42,K,A*35\r\n$GPGGA,085603.000,5222.3252,N,00454.5864,E,1,6,1.18,15.1,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085603.000,A,5222.3252,N,00454.5864,E,0.25,219.41,030414,,,A*67\r\n$GPVTG,219.41,T,,M,0.25,N,0.47,K,A*36\r\n$GPGGA,085604.000,5222.3253,N,00454.5863,E,1,6,1.18,15.1,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085604.000,A,5222.3253,N,00454.5863,E,0.09,219.41,030414,,,A*68\r\n$GPVTG,219.41,T,,M,0.09,N,0.16,K,A*3C\r\n$GPGGA,085605.000,5222.3253,N,00454.5863,E,1,6,1.18,15.1,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,22,04,46,217,,07,43,165,14*70\r\n$GPGSV,4,2,13,02,42,289,20,23,37,069,37,08,18,181,,16,15,066,37*78\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,343,24,20,07,121,*7E\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,085605.000,A,5222.3253,N,00454.5863,E,0.61,252.38,030414,,,A*66\r\n$GPVTG,252.38,T,,M,0.61,N,1.13,K,A*37\r\n$GPGGA,085606.000,5222.3255,N,00454.5861,E,1,6,1.18,15.1,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085606.000,A,5222.3255,N,00454.5861,E,0.83,255.75,030414,,,A*63\r\n$GPVTG,255.75,T,,M,0.83,N,1.55,K,A*37\r\n$GPGGA,085607.000,5222.3256,N,00454.5856,E,1,6,1.18,15.1,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085607.000,A,5222.3256,N,00454.5856,E,0.86,256.13,030414,,,A*63\r\n$GPVTG,256.13,T,,M,0.86,N,1.59,K,A*3D\r\n$GPGGA,085608.000,5222.3255,N,00454.5854,E,1,6,1.18,15.1,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085608.000,A,5222.3255,N,00454.5854,E,0.84,248.02,030414,,,A*60\r\n$GPVTG,248.02,T,,M,0.84,N,1.55,K,A*3C\r\n$GPGGA,085609.000,5222.3257,N,00454.5851,E,1,6,1.18,15.1,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085609.000,A,5222.3257,N,00454.5851,E,0.81,248.69,030414,,,A*6E\r\n$GPVTG,248.69,T,,M,0.81,N,1.50,K,A*31\r\n$GPGGA,085610.000,5222.3260,N,00454.5848,E,1,6,1.18,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,34,10,70,286,21,04,46,217,,07,43,165,14*72\r\n$GPGSV,4,2,13,02,42,289,21,23,37,069,37,08,18,181,,16,15,066,38*76\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,342,25,20,07,121,*7E\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,085610.000,A,5222.3260,N,00454.5848,E,0.50,248.69,030414,,,A*66\r\n$GPVTG,248.69,T,,M,0.50,N,0.92,K,A*32\r\n$GPGGA,085611.000,5222.3264,N,00454.5846,E,1,6,1.18,15.0,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085611.000,A,5222.3264,N,00454.5846,E,0.54,248.69,030414,,,A*69\r\n$GPVTG,248.69,T,,M,0.54,N,1.00,K,A*3C\r\n$GPGGA,085612.000,5222.3269,N,00454.5845,E,1,6,1.18,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085612.000,A,5222.3269,N,00454.5845,E,0.61,295.33,030414,,,A*6D\r\n$GPVTG,295.33,T,,M,0.61,N,1.14,K,A*30\r\n$GPGGA,085613.000,5222.3269,N,00454.5844,E,1,6,1.18,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085613.000,A,5222.3269,N,00454.5844,E,0.63,278.01,030414,,,A*6D\r\n$GPVTG,278.01,T,,M,0.63,N,1.17,K,A*33\r\n$GPGGA,085614.000,5222.3270,N,00454.5843,E,1,6,1.18,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085614.000,A,5222.3270,N,00454.5843,E,0.61,278.81,030414,,,A*6F\r\n$GPVTG,278.81,T,,M,0.61,N,1.14,K,A*3A\r\n$GPGGA,085615.000,5222.3269,N,00454.5841,E,1,6,1.18,15.0,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,19,04,46,217,,07,43,165,17*7B\r\n$GPGSV,4,2,13,02,42,289,22,23,37,069,38,08,18,181,,16,15,066,38*7A\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,342,27,20,07,121,*7C\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,085615.000,A,5222.3269,N,00454.5841,E,0.54,278.81,030414,,,A*62\r\n$GPVTG,278.81,T,,M,0.54,N,1.00,K,A*39\r\n$GPGGA,085616.000,5222.3267,N,00454.5839,E,1,6,1.18,14.9,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085616.000,A,5222.3267,N,00454.5839,E,0.37,278.81,030414,,,A*65\r\n$GPVTG,278.81,T,,M,0.37,N,0.69,K,A*32\r\n$GPGGA,085617.000,5222.3266,N,00454.5839,E,1,6,1.18,14.9,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085617.000,A,5222.3266,N,00454.5839,E,0.33,278.81,030414,,,A*61\r\n$GPVTG,278.81,T,,M,0.33,N,0.60,K,A*3F\r\n$GPGGA,085618.000,5222.3265,N,00454.5840,E,1,6,1.18,14.9,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085618.000,A,5222.3265,N,00454.5840,E,0.25,278.81,030414,,,A*64\r\n$GPVTG,278.81,T,,M,0.25,N,0.47,K,A*3D\r\n$GPGGA,085619.000,5222.3264,N,00454.5839,E,1,6,1.18,14.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085619.000,A,5222.3264,N,00454.5839,E,0.43,278.81,030414,,,A*6A\r\n$GPVTG,278.81,T,,M,0.43,N,0.80,K,A*36\r\n$GPGGA,085620.000,5222.3264,N,00454.5838,E,1,6,1.18,14.9,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,18,04,46,216,,02,43,288,19*70\r\n$GPGSV,4,2,13,07,43,165,16,23,37,069,38,08,18,181,,16,15,066,38*78\r\n$GPGSV,4,3,13,05,12,295,,09,11,192,,29,07,342,27,20,07,121,*7C\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,085620.000,A,5222.3264,N,00454.5838,E,0.58,252.08,030414,,,A*62\r\n$GPVTG,252.08,T,,M,0.58,N,1.08,K,A*34\r\n$GPGGA,085621.000,5222.3264,N,00454.5835,E,1,6,1.18,14.9,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085621.000,A,5222.3264,N,00454.5835,E,0.65,251.50,030414,,,A*6E\r\n$GPVTG,251.50,T,,M,0.65,N,1.21,K,A*3F\r\n$GPGGA,085622.000,5222.3263,N,00454.5836,E,1,6,1.18,14.8,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085622.000,A,5222.3263,N,00454.5836,E,0.58,251.50,030414,,,A*67\r\n$GPVTG,251.50,T,,M,0.58,N,1.07,K,A*35\r\n$GPGGA,085623.000,5222.3263,N,00454.5832,E,1,6,1.18,14.8,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085623.000,A,5222.3263,N,00454.5832,E,0.52,251.50,030414,,,A*68\r\n$GPVTG,251.50,T,,M,0.52,N,0.97,K,A*37\r\n$GPGGA,085624.000,5222.3259,N,00454.5830,E,1,7,1.10,14.8,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPRMC,085624.000,A,5222.3259,N,00454.5830,E,0.51,251.50,030414,,,A*67\r\n$GPVTG,251.50,T,,M,0.51,N,0.94,K,A*37\r\n$GPGGA,085625.000,5222.3258,N,00454.5830,E,1,7,1.10,14.8,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPGSV,4,1,13,13,73,067,35,10,70,286,16,04,46,216,,02,43,288,19*7E\r\n$GPGSV,4,2,13,07,43,165,16,23,37,069,40,08,18,181,,16,15,066,37*78\r\n$GPGSV,4,3,13,05,12,295,20,09,12,192,,29,07,342,28,20,07,121,*72\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,085625.000,A,5222.3258,N,00454.5830,E,0.50,251.50,030414,,,A*66\r\n$GPVTG,251.50,T,,M,0.50,N,0.93,K,A*31\r\n$GPGGA,085626.000,5222.3257,N,00454.5828,E,1,7,1.10,14.8,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPRMC,085626.000,A,5222.3257,N,00454.5828,E,0.47,251.50,030414,,,A*65\r\n$GPVTG,251.50,T,,M,0.47,N,0.87,K,A*32\r\n$GPGGA,085627.000,5222.3256,N,00454.5827,E,1,7,1.10,14.8,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPRMC,085627.000,A,5222.3256,N,00454.5827,E,0.33,251.50,030414,,,A*69\r\n$GPVTG,251.50,T,,M,0.33,N,0.62,K,A*3A\r\n$GPGGA,085628.000,5222.3256,N,00454.5825,E,1,6,1.18,14.8,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085628.000,A,5222.3256,N,00454.5825,E,0.26,251.50,030414,,,A*60\r\n$GPVTG,251.50,T,,M,0.26,N,0.48,K,A*36\r\n$GPGGA,085629.000,5222.3256,N,00454.5825,E,1,6,1.18,14.8,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085629.000,A,5222.3256,N,00454.5825,E,0.43,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.43,N,0.80,K,A*31\r\n$GPGGA,085630.000,5222.3255,N,00454.5824,E,1,6,1.18,14.8,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,72,067,37,10,70,286,16,04,46,216,,02,43,288,23*74\r\n$GPGSV,4,2,13,07,43,165,15,23,37,069,42,08,18,181,,16,15,066,38*76\r\n$GPGSV,4,3,13,05,12,295,,09,12,192,,29,07,342,30,20,07,121,*79\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,085630.000,A,5222.3255,N,00454.5824,E,0.56,251.50,030414,,,A*6C\r\n$GPVTG,251.50,T,,M,0.56,N,1.04,K,A*38\r\n$GPGGA,085631.000,5222.3253,N,00454.5822,E,1,6,1.18,14.8,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085631.000,A,5222.3253,N,00454.5822,E,0.48,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.48,N,0.89,K,A*33\r\n$GPGGA,085632.000,5222.3252,N,00454.5822,E,1,6,1.18,14.7,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085632.000,A,5222.3252,N,00454.5822,E,0.20,251.50,030414,,,A*6E\r\n$GPVTG,251.50,T,,M,0.20,N,0.38,K,A*37\r\n$GPGGA,085633.000,5222.3251,N,00454.5821,E,1,6,1.18,14.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085633.000,A,5222.3251,N,00454.5821,E,0.28,251.50,030414,,,A*67\r\n$GPVTG,251.50,T,,M,0.28,N,0.52,K,A*33\r\n$GPGGA,085634.000,5222.3251,N,00454.5821,E,1,6,1.18,14.7,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085634.000,A,5222.3251,N,00454.5821,E,0.34,251.50,030414,,,A*6D\r\n$GPVTG,251.50,T,,M,0.34,N,0.62,K,A*3D\r\n$GPGGA,085635.000,5222.3250,N,00454.5821,E,1,6,1.18,14.7,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,72,067,37,10,70,286,18,04,46,216,,02,43,288,20*79\r\n$GPGSV,4,2,13,07,43,165,16,23,37,069,41,08,18,181,,16,15,066,37*79\r\n$GPGSV,4,3,13,05,12,295,,09,12,192,,29,07,342,31,20,06,121,*79\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,085635.000,A,5222.3250,N,00454.5821,E,0.33,251.50,030414,,,A*6A\r\n$GPVTG,251.50,T,,M,0.33,N,0.61,K,A*39\r\n$GPGGA,085636.000,5222.3250,N,00454.5822,E,1,6,1.18,14.7,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085636.000,A,5222.3250,N,00454.5822,E,0.27,251.50,030414,,,A*6F\r\n$GPVTG,251.50,T,,M,0.27,N,0.50,K,A*3E\r\n$GPGGA,085637.000,5222.3250,N,00454.5823,E,1,6,1.18,14.7,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085637.000,A,5222.3250,N,00454.5823,E,0.18,251.50,030414,,,A*63\r\n$GPVTG,251.50,T,,M,0.18,N,0.33,K,A*37\r\n$GPGGA,085638.000,5222.3249,N,00454.5823,E,1,6,1.18,14.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085638.000,A,5222.3249,N,00454.5823,E,0.37,251.50,030414,,,A*69\r\n$GPVTG,251.50,T,,M,0.37,N,0.69,K,A*35\r\n$GPGGA,085639.000,5222.3248,N,00454.5823,E,1,6,1.18,14.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085639.000,A,5222.3248,N,00454.5823,E,0.32,251.50,030414,,,A*6C\r\n$GPVTG,251.50,T,,M,0.32,N,0.60,K,A*39\r\n$GPGGA,085640.000,5222.3248,N,00454.5822,E,1,6,1.18,14.7,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,72,067,37,10,70,286,21,04,46,216,,02,43,288,18*78\r\n$GPGSV,4,2,13,07,43,165,15,23,36,069,41,08,18,181,,16,15,066,38*74\r\n$GPGSV,4,3,13,05,12,295,,09,12,192,,29,07,342,33,20,06,121,*7B\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,085640.000,A,5222.3248,N,00454.5822,E,0.31,251.50,030414,,,A*60\r\n$GPVTG,251.50,T,,M,0.31,N,0.58,K,A*31\r\n$GPGGA,085641.000,5222.3247,N,00454.5821,E,1,6,1.18,14.7,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085641.000,A,5222.3247,N,00454.5821,E,0.16,251.50,030414,,,A*68\r\n$GPVTG,251.50,T,,M,0.16,N,0.30,K,A*3A\r\n$GPGGA,085642.000,5222.3247,N,00454.5820,E,1,6,1.18,14.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085642.000,A,5222.3247,N,00454.5820,E,0.31,251.50,030414,,,A*6F\r\n$GPVTG,251.50,T,,M,0.31,N,0.57,K,A*3E\r\n$GPGGA,085643.000,5222.3246,N,00454.5820,E,1,6,1.18,14.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085643.000,A,5222.3246,N,00454.5820,E,0.10,251.50,030414,,,A*6C\r\n$GPVTG,251.50,T,,M,0.10,N,0.19,K,A*37\r\n$GPGGA,085644.000,5222.3246,N,00454.5820,E,1,6,1.18,14.7,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085644.000,A,5222.3246,N,00454.5820,E,0.04,251.50,030414,,,A*6E\r\n$GPVTG,251.50,T,,M,0.04,N,0.07,K,A*3D\r\n$GPGGA,085645.000,5222.3245,N,00454.5821,E,1,6,1.18,14.6,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPGSV,4,1,13,13,72,067,38,10,70,286,22,04,46,216,,02,43,288,18*74\r\n$GPGSV,4,2,13,07,43,165,16,23,36,069,41,08,18,181,,16,15,066,38*77\r\n$GPGSV,4,3,13,05,12,295,,09,12,192,,29,07,342,35,20,06,121,*7D\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,085645.000,A,5222.3245,N,00454.5821,E,0.16,251.50,030414,,,A*6E\r\n$GPVTG,251.50,T,,M,0.16,N,0.29,K,A*32\r\n$GPGGA,085646.000,5222.3245,N,00454.5820,E,1,6,1.18,14.6,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085646.000,A,5222.3245,N,00454.5820,E,0.15,251.50,030414,,,A*6F\r\n$GPVTG,251.50,T,,M,0.15,N,0.27,K,A*3F\r\n$GPGGA,085647.000,5222.3245,N,00454.5820,E,1,6,1.18,14.6,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,,,,,,,1.48,1.18,0.89*0C\r\n$GPRMC,085647.000,A,5222.3245,N,00454.5820,E,0.03,251.50,030414,,,A*69\r\n$GPVTG,251.50,T,,M,0.03,N,0.06,K,A*3B\r\n$GPGGA,085648.000,5222.3245,N,00454.5820,E,1,7,0.97,14.6,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085648.000,A,5222.3245,N,00454.5820,E,0.07,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.07,N,0.13,K,A*3B\r\n$GPGGA,085649.000,5222.3245,N,00454.5820,E,1,7,0.96,14.6,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.96,0.82*01\r\n$GPRMC,085649.000,A,5222.3245,N,00454.5820,E,0.06,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.06,N,0.11,K,A*38\r\n$GPGGA,085650.000,5222.3245,N,00454.5820,E,1,7,0.97,14.6,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPGSV,4,1,13,13,72,067,38,10,70,286,23,04,46,216,,02,43,288,18*75\r\n$GPGSV,4,2,13,07,43,165,17,23,36,069,41,08,18,181,20,16,15,066,39*75\r\n$GPGSV,4,3,13,05,12,295,,09,12,192,,29,07,342,33,20,06,121,*7B\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,085650.000,A,5222.3245,N,00454.5820,E,0.15,251.50,030414,,,A*68\r\n$GPVTG,251.50,T,,M,0.15,N,0.28,K,A*30\r\n$GPGGA,085651.000,5222.3245,N,00454.5821,E,1,7,0.97,14.6,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085651.000,A,5222.3245,N,00454.5821,E,0.17,251.50,030414,,,A*6A\r\n$GPVTG,251.50,T,,M,0.17,N,0.31,K,A*3A\r\n$GPGGA,085652.000,5222.3245,N,00454.5822,E,1,7,0.97,14.6,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085652.000,A,5222.3245,N,00454.5822,E,0.19,251.50,030414,,,A*64\r\n$GPVTG,251.50,T,,M,0.19,N,0.35,K,A*30\r\n$GPGGA,085653.000,5222.3244,N,00454.5822,E,1,7,0.97,14.6,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085653.000,A,5222.3244,N,00454.5822,E,0.19,251.50,030414,,,A*64\r\n$GPVTG,251.50,T,,M,0.19,N,0.34,K,A*31\r\n$GPGGA,085654.000,5222.3244,N,00454.5823,E,1,7,0.97,14.6,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085654.000,A,5222.3244,N,00454.5823,E,0.19,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.19,N,0.34,K,A*31\r\n$GPGGA,085655.000,5222.3243,N,00454.5824,E,1,7,0.97,14.6,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPGSV,4,1,13,13,72,067,38,10,70,286,23,04,46,216,,02,43,288,23*7D\r\n$GPGSV,4,2,13,07,43,165,13,23,36,069,41,08,18,181,18,16,15,066,39*7A\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,,29,07,342,33,20,06,121,*79\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,085655.000,A,5222.3243,N,00454.5824,E,0.10,251.50,030414,,,A*6A\r\n$GPVTG,251.50,T,,M,0.10,N,0.18,K,A*36\r\n$GPGGA,085656.000,5222.3243,N,00454.5824,E,1,7,0.97,14.6,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085656.000,A,5222.3243,N,00454.5824,E,0.23,251.50,030414,,,A*69\r\n$GPVTG,251.50,T,,M,0.23,N,0.42,K,A*39\r\n$GPGGA,085657.000,5222.3243,N,00454.5823,E,1,7,0.96,14.6,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.96,0.82*01\r\n$GPRMC,085657.000,A,5222.3243,N,00454.5823,E,0.12,251.50,030414,,,A*6D\r\n$GPVTG,251.50,T,,M,0.12,N,0.23,K,A*3C\r\n$GPGGA,085658.000,5222.3243,N,00454.5822,E,1,7,0.97,14.6,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085658.000,A,5222.3243,N,00454.5822,E,0.13,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.13,N,0.23,K,A*3D\r\n$GPGGA,085659.000,5222.3243,N,00454.5822,E,1,7,0.97,14.6,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085659.000,A,5222.3243,N,00454.5822,E,0.21,251.50,030414,,,A*62\r\n$GPVTG,251.50,T,,M,0.21,N,0.39,K,A*37\r\n$GPGGA,085700.000,5222.3243,N,00454.5823,E,1,7,0.97,14.6,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPGSV,4,1,13,13,72,067,31,10,70,285,20,04,46,216,,07,44,164,17*70\r\n$GPGSV,4,2,13,02,43,288,22,23,36,069,35,08,18,181,17,16,15,066,35*7D\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,,29,07,342,25,20,06,121,*7E\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,085700.000,A,5222.3243,N,00454.5823,E,0.53,251.50,030414,,,A*6B\r\n$GPVTG,251.50,T,,M,0.53,N,0.98,K,A*39\r\n$GPGGA,085701.000,5222.3244,N,00454.5825,E,1,7,0.97,14.6,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085701.000,A,5222.3244,N,00454.5825,E,0.43,251.50,030414,,,A*6A\r\n$GPVTG,251.50,T,,M,0.43,N,0.80,K,A*31\r\n$GPGGA,085702.000,5222.3245,N,00454.5826,E,1,8,0.87,14.6,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085702.000,A,5222.3245,N,00454.5826,E,0.49,251.50,030414,,,A*61\r\n$GPVTG,251.50,T,,M,0.49,N,0.90,K,A*3A\r\n$GPGGA,085703.000,5222.3246,N,00454.5828,E,1,8,0.87,14.6,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085703.000,A,5222.3246,N,00454.5828,E,0.60,34.92,030414,,,A*59\r\n$GPVTG,34.92,T,,M,0.60,N,1.10,K,A*07\r\n$GPGGA,085704.000,5222.3246,N,00454.5830,E,1,7,1.10,14.6,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPRMC,085704.000,A,5222.3246,N,00454.5830,E,0.55,34.92,030414,,,A*51\r\n$GPVTG,34.92,T,,M,0.55,N,1.03,K,A*03\r\n$GPGGA,085705.000,5222.3244,N,00454.5830,E,1,7,1.10,14.6,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.40,1.10,0.87*07\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,22,04,46,216,19,07,44,164,18*73\r\n$GPGSV,4,2,13,02,43,288,24,23,36,069,37,37,28,159,,08,18,181,18*70\r\n$GPGSV,4,3,13,16,15,066,35,05,13,296,17,09,12,192,,29,07,342,33*7C\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085705.000,A,5222.3244,N,00454.5830,E,0.21,34.92,030414,,,A*51\r\n$GPVTG,34.92,T,,M,0.21,N,0.39,K,A*08\r\n$GPGGA,085706.000,5222.3245,N,00454.5832,E,1,8,0.87,14.6,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085706.000,A,5222.3245,N,00454.5832,E,0.25,34.92,030414,,,A*55\r\n$GPVTG,34.92,T,,M,0.25,N,0.46,K,A*04\r\n$GPGGA,085707.000,5222.3247,N,00454.5833,E,1,8,0.87,14.6,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085707.000,A,5222.3247,N,00454.5833,E,0.63,17.02,030414,,,A*5D\r\n$GPVTG,17.02,T,,M,0.63,N,1.16,K,A*0A\r\n$GPGGA,085708.000,5222.3248,N,00454.5835,E,1,8,0.87,14.7,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085708.000,A,5222.3248,N,00454.5835,E,0.90,19.79,030414,,,A*55\r\n$GPVTG,19.79,T,,M,0.90,N,1.68,K,A*0D\r\n$GPGGA,085709.000,5222.3248,N,00454.5836,E,1,8,0.87,14.7,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085709.000,A,5222.3248,N,00454.5836,E,0.89,20.98,030414,,,A*5A\r\n$GPVTG,20.98,T,,M,0.89,N,1.65,K,A*0D\r\n$GPGGA,085710.000,5222.3247,N,00454.5838,E,1,8,0.87,14.7,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,25,04,46,216,20,07,44,164,18*7E\r\n$GPGSV,4,2,13,02,43,288,22,23,36,069,37,39,27,154,,08,18,181,17*75\r\n$GPGSV,4,3,13,16,15,065,34,05,13,296,17,09,12,192,,29,07,342,32*7F\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085710.000,A,5222.3247,N,00454.5838,E,0.86,22.03,030414,,,A*5C\r\n$GPVTG,22.03,T,,M,0.86,N,1.59,K,A*0D\r\n$GPGGA,085711.000,5222.3248,N,00454.5839,E,1,8,0.87,14.8,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085711.000,A,5222.3248,N,00454.5839,E,0.85,23.23,030414,,,A*53\r\n$GPVTG,23.23,T,,M,0.85,N,1.57,K,A*03\r\n$GPGGA,085712.000,5222.3249,N,00454.5841,E,1,8,0.87,14.8,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085712.000,A,5222.3249,N,00454.5841,E,0.84,24.41,030414,,,A*5C\r\n$GPVTG,24.41,T,,M,0.84,N,1.55,K,A*03\r\n$GPGGA,085713.000,5222.3249,N,00454.5844,E,1,8,0.87,14.8,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085713.000,A,5222.3249,N,00454.5844,E,0.79,44.15,030414,,,A*5D\r\n$GPVTG,44.15,T,,M,0.79,N,1.47,K,A*05\r\n$GPGGA,085714.000,5222.3248,N,00454.5845,E,1,8,0.87,14.9,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085714.000,A,5222.3248,N,00454.5845,E,0.63,41.71,030414,,,A*56\r\n$GPVTG,41.71,T,,M,0.63,N,1.17,K,A*0C\r\n$GPGGA,085715.000,5222.3248,N,00454.5847,E,1,8,0.87,14.9,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,25,04,46,216,24,07,44,164,17*75\r\n$GPGSV,4,2,13,02,43,288,20,23,36,069,37,39,27,154,,08,18,181,18*78\r\n$GPGSV,4,3,13,16,15,065,35,05,13,296,18,09,12,192,,29,07,342,34*77\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085715.000,A,5222.3248,N,00454.5847,E,0.79,41.07,030414,,,A*5F\r\n$GPVTG,41.07,T,,M,0.79,N,1.47,K,A*03\r\n$GPGGA,085716.000,5222.3249,N,00454.5849,E,1,8,0.87,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085716.000,A,5222.3249,N,00454.5849,E,1.14,39.56,030414,,,A*52\r\n$GPVTG,39.56,T,,M,1.14,N,2.12,K,A*01\r\n$GPGGA,085717.000,5222.3248,N,00454.5849,E,1,8,0.87,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085717.000,A,5222.3248,N,00454.5849,E,1.08,39.01,030414,,,A*5D\r\n$GPVTG,39.01,T,,M,1.08,N,2.01,K,A*0C\r\n$GPGGA,085718.000,5222.3248,N,00454.5849,E,1,8,0.87,15.1,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085718.000,A,5222.3248,N,00454.5849,E,0.68,25.75,030414,,,A*5B\r\n$GPVTG,25.75,T,,M,0.68,N,1.26,K,A*03\r\n$GPGGA,085719.000,5222.3245,N,00454.5846,E,1,8,0.87,15.1,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085719.000,A,5222.3245,N,00454.5846,E,0.32,25.75,030414,,,A*57\r\n$GPVTG,25.75,T,,M,0.32,N,0.59,K,A*05\r\n$GPGGA,085720.000,5222.3241,N,00454.5844,E,1,8,0.87,15.2,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,25,04,46,216,25,07,44,164,17*74\r\n$GPGSV,4,2,13,02,43,288,20,23,36,069,37,33,27,205,,08,18,181,18*75\r\n$GPGSV,4,3,13,16,15,065,36,05,13,296,19,09,12,192,,29,07,342,35*74\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085720.000,A,5222.3241,N,00454.5844,E,0.25,25.75,030414,,,A*5D\r\n$GPVTG,25.75,T,,M,0.25,N,0.46,K,A*0D\r\n$GPGGA,085721.000,5222.3239,N,00454.5844,E,1,8,0.87,15.2,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085721.000,A,5222.3239,N,00454.5844,E,0.07,25.75,030414,,,A*53\r\n$GPVTG,25.75,T,,M,0.07,N,0.12,K,A*0C\r\n$GPGGA,085722.000,5222.3238,N,00454.5843,E,1,8,0.87,15.2,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085722.000,A,5222.3238,N,00454.5843,E,0.09,25.75,030414,,,A*58\r\n$GPVTG,25.75,T,,M,0.09,N,0.16,K,A*06\r\n$GPGGA,085723.000,5222.3238,N,00454.5843,E,1,8,0.87,15.2,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085723.000,A,5222.3238,N,00454.5843,E,0.13,25.75,030414,,,A*52\r\n$GPVTG,25.75,T,,M,0.13,N,0.24,K,A*0C\r\n$GPGGA,085724.000,5222.3238,N,00454.5842,E,1,8,0.87,15.2,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085724.000,A,5222.3238,N,00454.5842,E,0.08,25.75,030414,,,A*5E\r\n$GPVTG,25.75,T,,M,0.08,N,0.15,K,A*04\r\n$GPGGA,085725.000,5222.3238,N,00454.5843,E,1,8,0.87,15.2,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,20,04,46,216,23,07,44,164,15*75\r\n$GPGSV,4,2,13,02,43,288,18,23,36,069,37,33,27,205,,08,18,181,18*7E\r\n$GPGSV,4,3,13,16,15,065,36,05,13,296,18,09,12,192,,29,07,342,35*75\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085725.000,A,5222.3238,N,00454.5843,E,0.14,25.75,030414,,,A*53\r\n$GPVTG,25.75,T,,M,0.14,N,0.25,K,A*0A\r\n$GPGGA,085726.000,5222.3238,N,00454.5843,E,1,7,1.10,15.3,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.10,0.87*06\r\n$GPRMC,085726.000,A,5222.3238,N,00454.5843,E,0.14,25.75,030414,,,A*50\r\n$GPVTG,25.75,T,,M,0.14,N,0.26,K,A*09\r\n$GPGGA,085727.000,5222.3237,N,00454.5843,E,1,7,1.10,15.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.10,0.87*06\r\n$GPRMC,085727.000,A,5222.3237,N,00454.5843,E,0.16,25.75,030414,,,A*5C\r\n$GPVTG,25.75,T,,M,0.16,N,0.30,K,A*0C\r\n$GPGGA,085728.000,5222.3237,N,00454.5843,E,1,7,1.10,15.3,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.10,0.87*06\r\n$GPRMC,085728.000,A,5222.3237,N,00454.5843,E,0.36,25.75,030414,,,A*51\r\n$GPVTG,25.75,T,,M,0.36,N,0.67,K,A*0C\r\n$GPGGA,085729.000,5222.3236,N,00454.5843,E,1,8,0.87,15.3,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085729.000,A,5222.3236,N,00454.5843,E,0.28,25.75,030414,,,A*5E\r\n$GPVTG,25.75,T,,M,0.28,N,0.53,K,A*04\r\n$GPGGA,085730.000,5222.3235,N,00454.5842,E,1,8,0.87,15.3,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,37,10,70,285,20,04,46,216,24,07,44,164,21*75\r\n$GPGSV,4,2,13,02,43,288,21,23,36,069,38,08,18,181,18,16,15,065,35*7F\r\n$GPGSV,4,3,13,05,13,296,18,09,12,192,17,40,09,115,,29,07,342,35*7E\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085730.000,A,5222.3235,N,00454.5842,E,0.24,25.75,030414,,,A*58\r\n$GPVTG,25.75,T,,M,0.24,N,0.45,K,A*0F\r\n$GPGGA,085731.000,5222.3234,N,00454.5843,E,1,8,0.87,15.3,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085731.000,A,5222.3234,N,00454.5843,E,0.28,25.75,030414,,,A*55\r\n$GPVTG,25.75,T,,M,0.28,N,0.52,K,A*05\r\n$GPGGA,085732.000,5222.3234,N,00454.5844,E,1,8,0.87,15.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085732.000,A,5222.3234,N,00454.5844,E,0.21,25.75,030414,,,A*58\r\n$GPVTG,25.75,T,,M,0.21,N,0.39,K,A*01\r\n$GPGGA,085733.000,5222.3233,N,00454.5842,E,1,8,0.87,15.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085733.000,A,5222.3233,N,00454.5842,E,0.44,25.75,030414,,,A*5B\r\n$GPVTG,25.75,T,,M,0.44,N,0.82,K,A*02\r\n$GPGGA,085734.000,5222.3234,N,00454.5842,E,1,8,0.89,15.3,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.66,0.89,1.40*00\r\n$GPRMC,085734.000,A,5222.3234,N,00454.5842,E,0.41,25.75,030414,,,A*5E\r\n$GPVTG,25.75,T,,M,0.41,N,0.75,K,A*0F\r\n$GPGGA,085735.000,5222.3235,N,00454.5841,E,1,8,0.89,15.3,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.66,0.89,1.40*00\r\n$GPGSV,4,1,13,13,72,067,36,10,71,285,17,04,46,216,21,07,44,164,20*75\r\n$GPGSV,4,2,13,02,43,288,21,23,36,069,38,08,19,181,19,16,15,065,35*7F\r\n$GPGSV,4,3,13,05,13,296,17,09,12,192,14,40,09,115,,29,07,342,34*73\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085735.000,A,5222.3235,N,00454.5841,E,0.24,25.75,030414,,,A*5E\r\n$GPVTG,25.75,T,,M,0.24,N,0.44,K,A*0E\r\n$GPGGA,085736.000,5222.3235,N,00454.5840,E,1,8,0.87,15.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085736.000,A,5222.3235,N,00454.5840,E,0.39,25.75,030414,,,A*50\r\n$GPVTG,25.75,T,,M,0.39,N,0.72,K,A*07\r\n$GPGGA,085737.000,5222.3234,N,00454.5839,E,1,8,0.87,15.3,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085737.000,A,5222.3234,N,00454.5839,E,0.32,25.75,030414,,,A*55\r\n$GPVTG,25.75,T,,M,0.32,N,0.60,K,A*0F\r\n$GPGGA,085738.000,5222.3234,N,00454.5838,E,1,8,0.87,15.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085738.000,A,5222.3234,N,00454.5838,E,0.38,25.75,030414,,,A*51\r\n$GPVTG,25.75,T,,M,0.38,N,0.71,K,A*05\r\n$GPGGA,085739.000,5222.3233,N,00454.5836,E,1,8,0.87,15.3,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085739.000,A,5222.3233,N,00454.5836,E,0.44,25.75,030414,,,A*52\r\n$GPVTG,25.75,T,,M,0.44,N,0.81,K,A*01\r\n$GPGGA,085740.000,5222.3232,N,00454.5835,E,1,8,0.87,15.3,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,36,10,71,285,16,04,46,216,22,07,44,164,18*7C\r\n$GPGSV,4,2,13,02,43,288,22,23,36,069,37,08,19,181,19,16,15,065,34*72\r\n$GPGSV,4,3,13,05,13,296,15,09,12,192,17,44,08,114,,29,07,342,34*76\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085740.000,A,5222.3232,N,00454.5835,E,0.42,25.75,030414,,,A*58\r\n$GPVTG,25.75,T,,M,0.42,N,0.77,K,A*0E\r\n$GPGGA,085741.000,5222.3231,N,00454.5834,E,1,8,0.87,15.3,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085741.000,A,5222.3231,N,00454.5834,E,0.33,25.75,030414,,,A*5D\r\n$GPVTG,25.75,T,,M,0.33,N,0.62,K,A*0C\r\n$GPGGA,085742.000,5222.3231,N,00454.5834,E,1,8,0.87,15.3,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085742.000,A,5222.3231,N,00454.5834,E,0.47,25.75,030414,,,A*5D\r\n$GPVTG,25.75,T,,M,0.47,N,0.86,K,A*05\r\n$GPGGA,085743.000,5222.3229,N,00454.5833,E,1,8,0.87,15.3,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085743.000,A,5222.3229,N,00454.5833,E,0.48,25.75,030414,,,A*5D\r\n$GPVTG,25.75,T,,M,0.48,N,0.89,K,A*05\r\n$GPGGA,085744.000,5222.3228,N,00454.5832,E,1,8,0.87,15.3,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPRMC,085744.000,A,5222.3228,N,00454.5832,E,0.55,25.75,030414,,,A*56\r\n$GPVTG,25.75,T,,M,0.55,N,1.02,K,A*0B\r\n$GPGGA,085745.000,5222.3227,N,00454.5830,E,1,8,0.87,15.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.81*0A\r\n$GPGSV,4,1,13,13,72,067,36,10,71,285,17,04,46,216,23,07,44,164,17*73\r\n$GPGSV,4,2,13,02,43,288,23,23,36,069,37,08,19,181,19,16,15,065,36*71\r\n$GPGSV,4,3,13,05,13,296,17,09,12,192,19,44,08,114,,29,07,342,36*78\r\n$GPGSV,4,4,13,20,06,121,*4D\r\n$GPRMC,085745.000,A,5222.3227,N,00454.5830,E,0.27,25.75,030414,,,A*5F\r\n$GPVTG,25.75,T,,M,0.27,N,0.50,K,A*08\r\n$GPGGA,085746.000,5222.3226,N,00454.5830,E,1,7,0.97,15.3,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085746.000,A,5222.3226,N,00454.5830,E,0.31,25.75,030414,,,A*5A\r\n$GPVTG,25.75,T,,M,0.31,N,0.57,K,A*08\r\n$GPGGA,085747.000,5222.3227,N,00454.5831,E,1,7,0.97,15.3,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085747.000,A,5222.3227,N,00454.5831,E,0.13,25.75,030414,,,A*5B\r\n$GPVTG,25.75,T,,M,0.13,N,0.24,K,A*0C\r\n$GPGGA,085748.000,5222.3227,N,00454.5831,E,1,7,0.97,15.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085748.000,A,5222.3227,N,00454.5831,E,0.22,25.75,030414,,,A*56\r\n$GPVTG,25.75,T,,M,0.22,N,0.40,K,A*0C\r\n$GPGGA,085749.000,5222.3227,N,00454.5831,E,1,7,0.97,15.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085749.000,A,5222.3227,N,00454.5831,E,0.39,25.75,030414,,,A*5D\r\n$GPVTG,25.75,T,,M,0.39,N,0.73,K,A*06\r\n$GPGGA,085750.000,5222.3226,N,00454.5830,E,1,7,0.97,15.3,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPGSV,4,1,13,13,72,067,36,10,71,285,18,04,46,216,23,07,44,164,16*7D\r\n$GPGSV,4,2,13,02,43,288,21,23,36,069,38,08,19,181,19,16,15,065,33*79\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,17,29,07,342,36,20,06,121,*7A\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,085750.000,A,5222.3226,N,00454.5830,E,0.53,25.75,030414,,,A*59\r\n$GPVTG,25.75,T,,M,0.53,N,0.98,K,A*0F\r\n$GPGGA,085751.000,5222.3225,N,00454.5829,E,1,7,0.97,15.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085751.000,A,5222.3225,N,00454.5829,E,0.62,205.06,030414,,,A*65\r\n$GPVTG,205.06,T,,M,0.62,N,1.15,K,A*3D\r\n$GPGGA,085752.000,5222.3222,N,00454.5827,E,1,7,0.97,15.3,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085752.000,A,5222.3222,N,00454.5827,E,0.66,212.43,030414,,,A*6C\r\n$GPVTG,212.43,T,,M,0.66,N,1.23,K,A*3B\r\n$GPGGA,085753.000,5222.3221,N,00454.5827,E,1,7,0.97,15.3,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085753.000,A,5222.3221,N,00454.5827,E,0.65,212.24,030414,,,A*6C\r\n$GPVTG,212.24,T,,M,0.65,N,1.21,K,A*3B\r\n$GPGGA,085754.000,5222.3220,N,00454.5827,E,1,7,0.97,15.3,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085754.000,A,5222.3220,N,00454.5827,E,0.58,212.24,030414,,,A*64\r\n$GPVTG,212.24,T,,M,0.58,N,1.07,K,A*31\r\n$GPGGA,085755.000,5222.3220,N,00454.5828,E,1,7,0.97,15.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPGSV,4,1,13,13,72,067,37,10,71,285,20,04,46,216,22,07,44,164,17*77\r\n$GPGSV,4,2,13,02,43,288,23,23,36,069,38,08,19,181,19,16,15,065,30*78\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,21,29,07,342,36,20,06,121,*7F\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,085755.000,A,5222.3220,N,00454.5828,E,0.35,212.24,030414,,,A*61\r\n$GPVTG,212.24,T,,M,0.35,N,0.65,K,A*3F\r\n$GPGGA,085756.000,5222.3219,N,00454.5828,E,1,7,0.97,15.3,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085756.000,A,5222.3219,N,00454.5828,E,0.36,212.24,030414,,,A*6B\r\n$GPVTG,212.24,T,,M,0.36,N,0.68,K,A*31\r\n$GPGGA,085757.000,5222.3218,N,00454.5827,E,1,7,0.97,15.2,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085757.000,A,5222.3218,N,00454.5827,E,0.34,212.24,030414,,,A*66\r\n$GPVTG,212.24,T,,M,0.34,N,0.62,K,A*39\r\n$GPGGA,085758.000,5222.3217,N,00454.5826,E,1,7,0.97,15.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085758.000,A,5222.3217,N,00454.5826,E,0.25,212.24,030414,,,A*67\r\n$GPVTG,212.24,T,,M,0.25,N,0.46,K,A*3F\r\n$GPGGA,085759.000,5222.3216,N,00454.5826,E,1,7,0.97,15.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.82*00\r\n$GPRMC,085759.000,A,5222.3216,N,00454.5826,E,0.20,212.24,030414,,,A*62\r\n$GPVTG,212.24,T,,M,0.20,N,0.37,K,A*3C\r\n$GPGGA,085800.000,5222.3216,N,00454.5825,E,1,7,0.97,15.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPGSV,4,1,13,13,72,067,37,10,71,285,20,04,46,216,21,07,44,164,15*76\r\n$GPGSV,4,2,13,02,43,288,25,23,36,069,39,08,19,181,20,16,15,065,29*7D\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,19,29,07,342,35,20,06,121,*77\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,085800.000,A,5222.3216,N,00454.5825,E,0.17,212.24,030414,,,A*66\r\n$GPVTG,212.24,T,,M,0.17,N,0.32,K,A*3D\r\n$GPGGA,085801.000,5222.3216,N,00454.5825,E,1,7,0.97,15.2,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085801.000,A,5222.3216,N,00454.5825,E,0.18,212.24,030414,,,A*68\r\n$GPVTG,212.24,T,,M,0.18,N,0.33,K,A*33\r\n$GPGGA,085802.000,5222.3215,N,00454.5824,E,1,7,0.97,15.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085802.000,A,5222.3215,N,00454.5824,E,0.17,212.24,030414,,,A*66\r\n$GPVTG,212.24,T,,M,0.17,N,0.32,K,A*3D\r\n$GPGGA,085803.000,5222.3216,N,00454.5825,E,1,7,0.97,15.2,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085803.000,A,5222.3216,N,00454.5825,E,0.48,212.24,030414,,,A*6F\r\n$GPVTG,212.24,T,,M,0.48,N,0.90,K,A*3F\r\n$GPGGA,085804.000,5222.3216,N,00454.5827,E,1,7,0.97,15.2,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085804.000,A,5222.3216,N,00454.5827,E,0.16,212.24,030414,,,A*61\r\n$GPVTG,212.24,T,,M,0.16,N,0.30,K,A*3E\r\n$GPGGA,085805.000,5222.3216,N,00454.5827,E,1,7,0.97,15.2,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPGSV,4,1,13,13,72,067,37,10,71,285,21,04,45,216,22,07,44,164,15*77\r\n$GPGSV,4,2,13,02,43,287,23,23,36,069,39,08,19,181,19,16,15,065,25*72\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,18,29,07,342,34,20,06,121,*77\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,085805.000,A,5222.3216,N,00454.5827,E,0.27,212.24,030414,,,A*62\r\n$GPVTG,212.24,T,,M,0.27,N,0.50,K,A*3A\r\n$GPGGA,085806.000,5222.3216,N,00454.5827,E,1,7,0.97,15.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085806.000,A,5222.3216,N,00454.5827,E,0.40,212.24,030414,,,A*60\r\n$GPVTG,212.24,T,,M,0.40,N,0.74,K,A*3D\r\n$GPGGA,085807.000,5222.3215,N,00454.5825,E,1,7,0.97,15.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085807.000,A,5222.3215,N,00454.5825,E,0.36,212.24,030414,,,A*61\r\n$GPVTG,212.24,T,,M,0.36,N,0.67,K,A*3E\r\n$GPGGA,085808.000,5222.3214,N,00454.5824,E,1,7,0.97,15.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085808.000,A,5222.3214,N,00454.5824,E,0.34,212.24,030414,,,A*6C\r\n$GPVTG,212.24,T,,M,0.34,N,0.64,K,A*3F\r\n$GPGGA,085809.000,5222.3213,N,00454.5823,E,1,8,0.87,15.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085809.000,A,5222.3213,N,00454.5823,E,0.70,238.57,030414,,,A*61\r\n$GPVTG,238.57,T,,M,0.70,N,1.29,K,A*3B\r\n$GPGGA,085810.000,5222.3216,N,00454.5824,E,1,8,0.87,15.2,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPGSV,4,1,13,13,72,067,37,10,71,285,21,04,45,216,20,07,44,164,15*75\r\n$GPGSV,4,2,13,02,43,287,23,23,36,069,39,08,19,181,20,16,15,065,23*7E\r\n$GPGSV,4,3,13,05,13,296,17,09,12,192,18,29,07,342,33,20,06,121,*76\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,085810.000,A,5222.3216,N,00454.5824,E,0.86,240.87,030414,,,A*60\r\n$GPVTG,240.87,T,,M,0.86,N,1.58,K,A*36\r\n$GPGGA,085811.000,5222.3216,N,00454.5824,E,1,7,0.97,15.1,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085811.000,A,5222.3216,N,00454.5824,E,0.57,240.87,030414,,,A*6D\r\n$GPVTG,240.87,T,,M,0.57,N,1.06,K,A*31\r\n$GPGGA,085812.000,5222.3218,N,00454.5823,E,1,7,0.97,15.1,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085812.000,A,5222.3218,N,00454.5823,E,0.30,240.87,030414,,,A*66\r\n$GPVTG,240.87,T,,M,0.30,N,0.55,K,A*37\r\n$GPGGA,085813.000,5222.3220,N,00454.5821,E,1,7,0.97,15.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085813.000,A,5222.3220,N,00454.5821,E,0.29,240.87,030414,,,A*66\r\n$GPVTG,240.87,T,,M,0.29,N,0.53,K,A*39\r\n$GPGGA,085814.000,5222.3223,N,00454.5822,E,1,7,0.97,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085814.000,A,5222.3223,N,00454.5822,E,0.26,240.87,030414,,,A*6E\r\n$GPVTG,240.87,T,,M,0.26,N,0.49,K,A*3D\r\n$GPGGA,085815.000,5222.3223,N,00454.5821,E,1,7,0.97,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,19,04,45,216,18,07,44,164,14*77\r\n$GPGSV,4,2,13,02,43,287,20,23,36,069,39,08,19,181,19,16,15,065,23*77\r\n$GPGSV,4,3,13,05,13,296,15,09,12,192,16,29,07,342,35,20,06,121,*7C\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,085815.000,A,5222.3223,N,00454.5821,E,0.24,240.87,030414,,,A*6E\r\n$GPVTG,240.87,T,,M,0.24,N,0.45,K,A*33\r\n$GPGGA,085816.000,5222.3224,N,00454.5821,E,1,7,0.97,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085816.000,A,5222.3224,N,00454.5821,E,0.33,240.87,030414,,,A*6C\r\n$GPVTG,240.87,T,,M,0.33,N,0.62,K,A*30\r\n$GPGGA,085817.000,5222.3224,N,00454.5822,E,1,8,0.87,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085817.000,A,5222.3224,N,00454.5822,E,0.07,240.87,030414,,,A*69\r\n$GPVTG,240.87,T,,M,0.07,N,0.13,K,A*31\r\n$GPGGA,085818.000,5222.3224,N,00454.5822,E,1,8,0.87,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085818.000,A,5222.3224,N,00454.5822,E,0.09,240.87,030414,,,A*68\r\n$GPVTG,240.87,T,,M,0.09,N,0.17,K,A*3B\r\n$GPGGA,085819.000,5222.3224,N,00454.5822,E,1,8,0.87,15.0,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085819.000,A,5222.3224,N,00454.5822,E,0.24,240.87,030414,,,A*66\r\n$GPVTG,240.87,T,,M,0.24,N,0.45,K,A*33\r\n$GPGGA,085820.000,5222.3224,N,00454.5822,E,1,7,0.97,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPGSV,4,1,13,13,71,067,38,10,71,285,18,04,45,216,17,07,44,164,14*76\r\n$GPGSV,4,2,13,02,43,287,21,23,36,069,38,08,19,181,19,16,16,065,25*72\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,17,29,07,342,35,20,06,121,*79\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,085820.000,A,5222.3224,N,00454.5822,E,0.32,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.32,N,0.60,K,A*33\r\n$GPGGA,085821.000,5222.3223,N,00454.5821,E,1,7,0.97,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085821.000,A,5222.3223,N,00454.5821,E,0.37,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.37,N,0.68,K,A*3E\r\n$GPGGA,085822.000,5222.3222,N,00454.5820,E,1,7,0.97,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085822.000,A,5222.3222,N,00454.5820,E,0.36,240.87,030414,,,A*69\r\n$GPVTG,240.87,T,,M,0.36,N,0.67,K,A*30\r\n$GPGGA,085823.000,5222.3221,N,00454.5819,E,1,7,0.97,15.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085823.000,A,5222.3221,N,00454.5819,E,0.30,240.87,030414,,,A*67\r\n$GPVTG,240.87,T,,M,0.30,N,0.56,K,A*34\r\n$GPGGA,085824.000,5222.3221,N,00454.5818,E,1,7,0.97,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085824.000,A,5222.3221,N,00454.5818,E,0.24,240.87,030414,,,A*64\r\n$GPVTG,240.87,T,,M,0.24,N,0.45,K,A*33\r\n$GPGGA,085825.000,5222.3221,N,00454.5817,E,1,7,0.97,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPGSV,4,1,13,13,71,067,38,10,71,285,17,04,45,216,18,07,44,164,15*77\r\n$GPGSV,4,2,13,02,43,287,20,23,36,069,38,08,19,181,19,16,16,065,23*75\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,16,29,07,342,35,20,06,121,*78\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,085825.000,A,5222.3221,N,00454.5817,E,0.28,240.87,030414,,,A*66\r\n$GPVTG,240.87,T,,M,0.28,N,0.51,K,A*3A\r\n$GPGGA,085826.000,5222.3220,N,00454.5816,E,1,7,0.97,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085826.000,A,5222.3220,N,00454.5816,E,0.42,240.87,030414,,,A*69\r\n$GPVTG,240.87,T,,M,0.42,N,0.77,K,A*32\r\n$GPGGA,085827.000,5222.3219,N,00454.5815,E,1,7,0.97,15.0,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085827.000,A,5222.3219,N,00454.5815,E,0.41,240.87,030414,,,A*62\r\n$GPVTG,240.87,T,,M,0.41,N,0.76,K,A*30\r\n$GPGGA,085828.000,5222.3218,N,00454.5814,E,1,7,0.97,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.27,0.97,0.83*01\r\n$GPRMC,085828.000,A,5222.3218,N,00454.5814,E,0.24,240.87,030414,,,A*6E\r\n$GPVTG,240.87,T,,M,0.24,N,0.44,K,A*32\r\n$GPGGA,085829.000,5222.3219,N,00454.5814,E,1,7,0.98,15.0,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.76,0.98,1.47*03\r\n$GPRMC,085829.000,A,5222.3219,N,00454.5814,E,0.41,240.87,030414,,,A*6D\r\n$GPVTG,240.87,T,,M,0.41,N,0.76,K,A*30\r\n$GPGGA,085830.000,5222.3220,N,00454.5815,E,1,7,0.98,15.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,29,07,,,,,,1.76,0.98,1.47*03\r\n$GPGSV,4,1,13,13,71,067,38,10,71,285,16,04,45,216,18,07,44,164,12*71\r\n$GPGSV,4,2,13,02,43,287,17,23,36,069,38,08,19,181,18,16,16,065,27*74\r\n$GPGSV,4,3,13,05,13,296,,09,12,192,17,29,07,342,37,20,06,121,*7B\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,085830.000,A,5222.3220,N,00454.5815,E,0.17,240.87,030414,,,A*6D\r\n$GPVTG,240.87,T,,M,0.17,N,0.32,K,A*33\r\n$GPGGA,085831.000,5222.3221,N,00454.5815,E,1,8,0.89,15.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.67,0.89,1.42*03\r\n$GPRMC,085831.000,A,5222.3221,N,00454.5815,E,0.29,240.87,030414,,,A*60\r\n$GPVTG,240.87,T,,M,0.29,N,0.53,K,A*39\r\n$GPGGA,085832.000,5222.3220,N,00454.5814,E,1,8,0.87,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085832.000,A,5222.3220,N,00454.5814,E,0.38,240.87,030414,,,A*63\r\n$GPVTG,240.87,T,,M,0.38,N,0.71,K,A*39\r\n$GPGGA,085833.000,5222.3220,N,00454.5813,E,1,8,0.87,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085833.000,A,5222.3220,N,00454.5813,E,0.45,240.87,030414,,,A*6F\r\n$GPVTG,240.87,T,,M,0.45,N,0.84,K,A*39\r\n$GPGGA,085834.000,5222.3219,N,00454.5811,E,1,8,0.87,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085834.000,A,5222.3219,N,00454.5811,E,0.39,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.39,N,0.72,K,A*3B\r\n$GPGGA,085835.000,5222.3218,N,00454.5811,E,1,8,0.87,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,16,04,45,216,18,07,44,164,15*79\r\n$GPGSV,4,2,13,02,43,287,15,23,36,069,37,08,19,181,18,16,16,065,26*78\r\n$GPGSV,4,3,13,05,13,296,19,09,12,192,17,29,07,342,37,20,06,121,*73\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,085835.000,A,5222.3218,N,00454.5811,E,0.17,240.87,030414,,,A*67\r\n$GPVTG,240.87,T,,M,0.17,N,0.32,K,A*33\r\n$GPGGA,085836.000,5222.3217,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085836.000,A,5222.3217,N,00454.5810,E,0.16,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.16,N,0.29,K,A*38\r\n$GPGGA,085837.000,5222.3217,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085837.000,A,5222.3217,N,00454.5810,E,0.18,240.87,030414,,,A*64\r\n$GPVTG,240.87,T,,M,0.18,N,0.33,K,A*3D\r\n$GPGGA,085838.000,5222.3217,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085838.000,A,5222.3217,N,00454.5810,E,0.14,240.87,030414,,,A*67\r\n$GPVTG,240.87,T,,M,0.14,N,0.26,K,A*35\r\n$GPGGA,085839.000,5222.3216,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085839.000,A,5222.3216,N,00454.5810,E,0.03,240.87,030414,,,A*61\r\n$GPVTG,240.87,T,,M,0.03,N,0.05,K,A*32\r\n$GPGGA,085840.000,5222.3216,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,16,04,45,215,17,07,44,164,16*76\r\n$GPGSV,4,2,13,02,43,287,16,23,36,069,38,08,19,181,18,16,16,065,29*7B\r\n$GPGSV,4,3,13,05,13,296,18,09,12,192,17,29,07,342,33,20,06,121,*76\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,085840.000,A,5222.3216,N,00454.5810,E,0.12,240.87,030414,,,A*6F\r\n$GPVTG,240.87,T,,M,0.12,N,0.22,K,A*37\r\n$GPGGA,085841.000,5222.3217,N,00454.5810,E,1,8,0.89,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.68,0.89,1.42*0C\r\n$GPRMC,085841.000,A,5222.3217,N,00454.5810,E,0.51,240.87,030414,,,A*68\r\n$GPVTG,240.87,T,,M,0.51,N,0.94,K,A*3D\r\n$GPGGA,085842.000,5222.3218,N,00454.5811,E,1,8,0.87,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085842.000,A,5222.3218,N,00454.5811,E,0.48,240.87,030414,,,A*6D\r\n$GPVTG,240.87,T,,M,0.48,N,0.88,K,A*38\r\n$GPGGA,085843.000,5222.3219,N,00454.5811,E,1,8,0.89,15.0,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.68,0.89,1.42*0C\r\n$GPRMC,085843.000,A,5222.3219,N,00454.5811,E,0.25,240.87,030414,,,A*66\r\n$GPVTG,240.87,T,,M,0.25,N,0.46,K,A*31\r\n$GPGGA,085844.000,5222.3220,N,00454.5810,E,1,8,0.87,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085844.000,A,5222.3220,N,00454.5810,E,0.17,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.17,N,0.32,K,A*33\r\n$GPGGA,085845.000,5222.3220,N,00454.5809,E,1,8,0.87,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,18,04,45,215,17,07,44,164,15*7B\r\n$GPGSV,4,2,13,02,43,287,19,23,36,069,38,08,19,181,18,16,16,065,29*74\r\n$GPGSV,4,3,13,05,13,296,19,09,13,192,17,29,07,342,36,20,06,121,*73\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,085845.000,A,5222.3220,N,00454.5809,E,0.21,240.87,030414,,,A*67\r\n$GPVTG,240.87,T,,M,0.21,N,0.40,K,A*33\r\n$GPGGA,085846.000,5222.3219,N,00454.5809,E,1,8,0.87,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085846.000,A,5222.3219,N,00454.5809,E,0.12,240.87,030414,,,A*6E\r\n$GPVTG,240.87,T,,M,0.12,N,0.23,K,A*36\r\n$GPGGA,085847.000,5222.3219,N,00454.5808,E,1,8,0.87,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085847.000,A,5222.3219,N,00454.5808,E,0.12,240.87,030414,,,A*6E\r\n$GPVTG,240.87,T,,M,0.12,N,0.23,K,A*36\r\n$GPGGA,085848.000,5222.3219,N,00454.5808,E,1,8,0.87,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPRMC,085848.000,A,5222.3219,N,00454.5808,E,0.16,240.87,030414,,,A*65\r\n$GPVTG,240.87,T,,M,0.16,N,0.30,K,A*30\r\n$GPGGA,085849.000,5222.3219,N,00454.5808,E,1,8,0.87,15.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085849.000,A,5222.3219,N,00454.5808,E,0.11,240.87,030414,,,A*63\r\n$GPVTG,240.87,T,,M,0.11,N,0.20,K,A*36\r\n$GPGGA,085850.000,5222.3219,N,00454.5807,E,1,8,0.87,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.19,0.87,0.82*09\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,17,04,45,215,18,07,44,164,16*78\r\n$GPGSV,4,2,13,02,43,287,23,23,36,069,38,08,19,181,17,16,16,065,30*7A\r\n$GPGSV,4,3,13,05,13,296,16,09,13,192,18,29,07,342,34,20,06,121,*71\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,085850.000,A,5222.3219,N,00454.5807,E,0.04,240.87,030414,,,A*60\r\n$GPVTG,240.87,T,,M,0.04,N,0.08,K,A*38\r\n$GPGGA,085851.000,5222.3219,N,00454.5807,E,1,8,0.87,15.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085851.000,A,5222.3219,N,00454.5807,E,0.19,240.87,030414,,,A*6D\r\n$GPVTG,240.87,T,,M,0.19,N,0.34,K,A*3B\r\n$GPGGA,085852.000,5222.3219,N,00454.5808,E,1,7,1.11,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085852.000,A,5222.3219,N,00454.5808,E,0.22,240.87,030414,,,A*69\r\n$GPVTG,240.87,T,,M,0.22,N,0.40,K,A*30\r\n$GPGGA,085853.000,5222.3219,N,00454.5809,E,1,7,1.11,14.9,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085853.000,A,5222.3219,N,00454.5809,E,0.31,240.87,030414,,,A*6B\r\n$GPVTG,240.87,T,,M,0.31,N,0.57,K,A*34\r\n$GPGGA,085854.000,5222.3219,N,00454.5810,E,1,7,1.11,14.9,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085854.000,A,5222.3219,N,00454.5810,E,0.67,23.87,030414,,,A*50\r\n$GPVTG,23.87,T,,M,0.67,N,1.25,K,A*04\r\n$GPGGA,085855.000,5222.3218,N,00454.5807,E,1,7,1.11,15.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,17,04,45,215,20,07,44,164,18*7D\r\n$GPGSV,4,2,13,02,43,287,24,23,36,069,39,08,19,181,17,16,16,065,31*7D\r\n$GPGSV,4,3,13,05,13,296,16,09,13,192,18,29,07,342,34,20,05,121,*72\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,085855.000,A,5222.3218,N,00454.5807,E,0.48,23.87,030414,,,A*5B\r\n$GPVTG,23.87,T,,M,0.48,N,0.89,K,A*0E\r\n$GPGGA,085856.000,5222.3219,N,00454.5808,E,1,7,1.11,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085856.000,A,5222.3219,N,00454.5808,E,0.27,23.87,030414,,,A*5F\r\n$GPVTG,23.87,T,,M,0.27,N,0.51,K,A*02\r\n$GPGGA,085857.000,5222.3221,N,00454.5809,E,1,7,1.28,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,2.24,1.28,1.83*08\r\n$GPRMC,085857.000,A,5222.3221,N,00454.5809,E,0.24,23.87,030414,,,A*57\r\n$GPVTG,23.87,T,,M,0.24,N,0.45,K,A*04\r\n$GPGGA,085858.000,5222.3222,N,00454.5809,E,1,7,1.11,15.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085858.000,A,5222.3222,N,00454.5809,E,0.22,23.87,030414,,,A*5D\r\n$GPVTG,23.87,T,,M,0.22,N,0.40,K,A*07\r\n$GPGGA,085859.000,5222.3222,N,00454.5808,E,1,7,1.11,15.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085859.000,A,5222.3222,N,00454.5808,E,0.27,23.87,030414,,,A*58\r\n$GPVTG,23.87,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,085900.000,5222.3222,N,00454.5807,E,1,7,1.11,15.0,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,18,04,45,215,24,07,44,164,19*77\r\n$GPGSV,4,2,13,02,43,287,22,23,35,069,39,08,19,181,17,16,16,065,30*79\r\n$GPGSV,4,3,13,05,13,296,15,09,13,192,17,29,07,342,35,20,05,121,*7F\r\n$GPGSV,4,4,13,51,,,*7F\r\n$GPRMC,085900.000,A,5222.3222,N,00454.5807,E,0.33,23.87,030414,,,A*5F\r\n$GPVTG,23.87,T,,M,0.33,N,0.60,K,A*05\r\n$GPGGA,085901.000,5222.3221,N,00454.5805,E,1,7,1.11,15.0,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085901.000,A,5222.3221,N,00454.5805,E,0.21,23.87,030414,,,A*5C\r\n$GPVTG,23.87,T,,M,0.21,N,0.39,K,A*0A\r\n$GPGGA,085902.000,5222.3221,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085902.000,A,5222.3221,N,00454.5804,E,0.13,23.87,030414,,,A*5F\r\n$GPVTG,23.87,T,,M,0.13,N,0.24,K,A*07\r\n$GPGGA,085903.000,5222.3221,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085903.000,A,5222.3221,N,00454.5804,E,0.04,23.87,030414,,,A*58\r\n$GPVTG,23.87,T,,M,0.04,N,0.07,K,A*00\r\n$GPGGA,085904.000,5222.3221,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085904.000,A,5222.3221,N,00454.5804,E,0.06,23.87,030414,,,A*5D\r\n$GPVTG,23.87,T,,M,0.06,N,0.11,K,A*05\r\n$GPGGA,085905.000,5222.3221,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,21,04,45,215,26,07,44,164,18*7E\r\n$GPGSV,4,2,13,02,43,287,21,23,35,069,39,08,19,181,17,16,16,065,31*7B\r\n$GPGSV,4,3,13,05,13,296,16,09,13,192,16,29,07,341,35,20,05,121,*7E\r\n$GPGSV,4,4,13,42,,,*7D\r\n$GPRMC,085905.000,A,5222.3221,N,00454.5804,E,0.08,23.87,030414,,,A*52\r\n$GPVTG,23.87,T,,M,0.08,N,0.15,K,A*0F\r\n$GPGGA,085906.000,5222.3221,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085906.000,A,5222.3221,N,00454.5804,E,0.25,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.25,N,0.46,K,A*06\r\n$GPGGA,085907.000,5222.3222,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085907.000,A,5222.3222,N,00454.5804,E,0.37,23.87,030414,,,A*5F\r\n$GPVTG,23.87,T,,M,0.37,N,0.69,K,A*08\r\n$GPGGA,085908.000,5222.3223,N,00454.5805,E,1,7,1.11,15.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,,,,,,1.41,1.11,0.88*08\r\n$GPRMC,085908.000,A,5222.3223,N,00454.5805,E,0.34,23.87,030414,,,A*53\r\n$GPVTG,23.87,T,,M,0.34,N,0.62,K,A*00\r\n$GPGGA,085909.000,5222.3224,N,00454.5806,E,1,8,0.87,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085909.000,A,5222.3224,N,00454.5806,E,0.21,23.87,030414,,,A*52\r\n$GPVTG,23.87,T,,M,0.21,N,0.39,K,A*0A\r\n$GPGGA,085910.000,5222.3224,N,00454.5806,E,1,8,0.89,15.0,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.68,0.89,1.43*0D\r\n$GPGSV,4,1,13,13,71,067,37,10,71,285,23,04,45,215,26,07,44,164,20*77\r\n$GPGSV,4,2,13,02,43,287,21,23,35,069,39,08,19,181,18,16,16,065,32*77\r\n$GPGSV,4,3,13,05,13,296,16,09,13,192,16,29,07,341,34,20,05,121,*7F\r\n$GPGSV,4,4,13,48,,,*77\r\n$GPRMC,085910.000,A,5222.3224,N,00454.5806,E,0.16,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.16,N,0.29,K,A*0F\r\n$GPGGA,085911.000,5222.3224,N,00454.5805,E,1,8,0.87,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085911.000,A,5222.3224,N,00454.5805,E,0.27,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,085912.000,5222.3224,N,00454.5804,E,1,8,0.87,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085912.000,A,5222.3224,N,00454.5804,E,0.26,23.87,030414,,,A*5D\r\n$GPVTG,23.87,T,,M,0.26,N,0.48,K,A*0B\r\n$GPGGA,085913.000,5222.3224,N,00454.5803,E,1,8,0.87,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085913.000,A,5222.3224,N,00454.5803,E,0.23,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.23,N,0.43,K,A*05\r\n$GPGGA,085914.000,5222.3224,N,00454.5802,E,1,8,0.87,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085914.000,A,5222.3224,N,00454.5802,E,0.25,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.25,N,0.47,K,A*07\r\n$GPGGA,085915.000,5222.3223,N,00454.5801,E,1,8,0.87,15.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPGSV,4,1,13,13,71,067,36,10,71,285,22,04,45,215,26,07,44,164,20*77\r\n$GPGSV,4,2,13,02,43,287,20,23,35,069,40,08,19,181,19,16,16,065,34*7F\r\n$GPGSV,4,3,13,05,13,296,15,09,13,192,17,29,07,341,33,20,05,121,*7A\r\n$GPGSV,4,4,13,50,,,*7E\r\n$GPRMC,085915.000,A,5222.3223,N,00454.5801,E,0.17,23.87,030414,,,A*5A\r\n$GPVTG,23.87,T,,M,0.17,N,0.31,K,A*07\r\n$GPGGA,085916.000,5222.3223,N,00454.5801,E,1,8,0.87,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085916.000,A,5222.3223,N,00454.5801,E,0.14,23.87,030414,,,A*5A\r\n$GPVTG,23.87,T,,M,0.14,N,0.25,K,A*01\r\n$GPGGA,085917.000,5222.3223,N,00454.5800,E,1,8,0.87,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085917.000,A,5222.3223,N,00454.5800,E,0.24,23.87,030414,,,A*59\r\n$GPVTG,23.87,T,,M,0.24,N,0.45,K,A*04\r\n$GPGGA,085918.000,5222.3223,N,00454.5799,E,1,8,0.87,14.9,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085918.000,A,5222.3223,N,00454.5799,E,0.21,23.87,030414,,,A*5C\r\n$GPVTG,23.87,T,,M,0.21,N,0.39,K,A*0A\r\n$GPGGA,085919.000,5222.3224,N,00454.5798,E,1,8,0.87,14.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085919.000,A,5222.3224,N,00454.5798,E,0.35,23.87,030414,,,A*5E\r\n$GPVTG,23.87,T,,M,0.35,N,0.64,K,A*07\r\n$GPGGA,085920.000,5222.3225,N,00454.5799,E,1,8,0.87,14.9,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPGSV,4,1,13,13,71,067,36,10,71,285,24,07,45,164,20,04,45,215,25*73\r\n$GPGSV,4,2,13,02,43,287,17,23,35,069,40,08,19,181,18,16,16,065,32*7C\r\n$GPGSV,4,3,13,05,13,296,15,09,13,192,17,29,07,341,32,20,05,121,*7B\r\n$GPGSV,4,4,13,50,,,*7E\r\n$GPRMC,085920.000,A,5222.3225,N,00454.5799,E,0.61,37.43,030414,,,A*58\r\n$GPVTG,37.43,T,,M,0.61,N,1.13,K,A*0A\r\n$GPGGA,085921.000,5222.3226,N,00454.5800,E,1,8,0.87,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085921.000,A,5222.3226,N,00454.5800,E,0.34,37.43,030414,,,A*55\r\n$GPVTG,37.43,T,,M,0.34,N,0.62,K,A*0D\r\n$GPGGA,085922.000,5222.3226,N,00454.5800,E,1,8,0.87,15.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,,,,,1.20,0.87,0.82*03\r\n$GPRMC,085922.000,A,5222.3226,N,00454.5800,E,0.10,37.43,030414,,,A*50\r\n$GPVTG,37.43,T,,M,0.10,N,0.19,K,A*07\r\n$GPGGA,085923.000,5222.3227,N,00454.5801,E,1,9,0.80,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPRMC,085923.000,A,5222.3227,N,00454.5801,E,0.27,37.43,030414,,,A*55\r\n$GPVTG,37.43,T,,M,0.27,N,0.50,K,A*0E\r\n$GPGGA,085924.000,5222.3230,N,00454.5802,E,1,9,0.80,15.0,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPRMC,085924.000,A,5222.3230,N,00454.5802,E,0.25,37.43,030414,,,A*55\r\n$GPVTG,37.43,T,,M,0.25,N,0.46,K,A*0B\r\n$GPGGA,085925.000,5222.3231,N,00454.5804,E,1,9,0.80,15.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPGSV,4,1,13,13,71,067,35,10,71,285,24,07,45,164,22,04,45,215,27*70\r\n$GPGSV,4,2,13,02,43,287,21,23,35,069,41,37,28,159,,08,19,181,20*72\r\n$GPGSV,4,3,13,16,16,065,32,05,13,296,17,09,13,192,17,29,07,341,30*7C\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085925.000,A,5222.3231,N,00454.5804,E,0.18,37.43,030414,,,A*5D\r\n$GPVTG,37.43,T,,M,0.18,N,0.34,K,A*00\r\n$GPGGA,085926.000,5222.3234,N,00454.5806,E,1,9,0.80,15.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPRMC,085926.000,A,5222.3234,N,00454.5806,E,0.16,37.43,030414,,,A*57\r\n$GPVTG,37.43,T,,M,0.16,N,0.30,K,A*0A\r\n$GPGGA,085927.000,5222.3235,N,00454.5809,E,1,9,0.80,15.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.53,0.80,1.31*00\r\n$GPRMC,085927.000,A,5222.3235,N,00454.5809,E,0.10,37.43,030414,,,A*5E\r\n$GPVTG,37.43,T,,M,0.10,N,0.18,K,A*06\r\n$GPGGA,085928.000,5222.3235,N,00454.5812,E,1,9,0.80,15.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPRMC,085928.000,A,5222.3235,N,00454.5812,E,0.10,37.43,030414,,,A*5B\r\n$GPVTG,37.43,T,,M,0.10,N,0.19,K,A*07\r\n$GPGGA,085929.000,5222.3237,N,00454.5814,E,1,9,0.80,15.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPRMC,085929.000,A,5222.3237,N,00454.5814,E,0.07,37.43,030414,,,A*58\r\n$GPVTG,37.43,T,,M,0.07,N,0.13,K,A*0B\r\n$GPGGA,085930.000,5222.3237,N,00454.5815,E,1,9,0.80,15.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.12,0.80,0.79*08\r\n$GPGSV,4,1,13,13,71,067,35,10,71,285,26,07,45,164,21,04,45,215,28*7E\r\n$GPGSV,4,2,13,02,43,287,22,23,35,069,40,37,28,159,,08,19,181,20*70\r\n$GPGSV,4,3,13,16,16,064,33,05,13,296,18,09,13,192,17,29,07,341,27*75\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085930.000,A,5222.3237,N,00454.5815,E,0.07,37.43,030414,,,A*51\r\n$GPVTG,37.43,T,,M,0.07,N,0.12,K,A*0A\r\n$GPGGA,085931.000,5222.3238,N,00454.5815,E,1,9,0.80,15.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.54,0.80,1.31*07\r\n$GPRMC,085931.000,A,5222.3238,N,00454.5815,E,0.21,37.43,030414,,,A*5B\r\n$GPVTG,37.43,T,,M,0.21,N,0.39,K,A*07\r\n$GPGGA,085932.000,5222.3238,N,00454.5815,E,1,9,0.80,15.0,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,,,,1.53,0.80,1.31*00\r\n$GPRMC,085932.000,A,5222.3238,N,00454.5815,E,0.32,37.43,030414,,,A*5A\r\n$GPVTG,37.43,T,,M,0.32,N,0.60,K,A*09\r\n$GPGGA,085933.000,5222.3226,N,00454.5852,E,1,11,0.76,11.8,M,47.0,M,,*5F\r\n$GPGSA,A,2,02,16,08,23,13,09,05,29,07,10,04,,1.32,0.76,1.08*00\r\n$GPRMC,085933.000,A,5222.3226,N,00454.5852,E,0.35,37.43,030414,,,A*50\r\n$GPVTG,37.43,T,,M,0.35,N,0.65,K,A*0B\r\n$GPGGA,085934.000,5222.3229,N,00454.5849,E,1,11,0.76,12.6,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085934.000,A,5222.3229,N,00454.5849,E,0.31,37.43,030414,,,A*56\r\n$GPVTG,37.43,T,,M,0.31,N,0.58,K,A*01\r\n$GPGGA,085935.000,5222.3233,N,00454.5847,E,1,11,0.76,13.8,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,13,71,067,35,10,71,285,26,07,45,164,20,04,45,215,27*70\r\n$GPGSV,4,2,13,02,43,287,22,23,35,070,40,39,27,154,,08,19,181,18*7F\r\n$GPGSV,4,3,13,16,16,064,34,05,13,296,18,09,13,192,17,29,07,341,30*74\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085935.000,A,5222.3233,N,00454.5847,E,0.33,37.43,030414,,,A*50\r\n$GPVTG,37.43,T,,M,0.33,N,0.61,K,A*09\r\n$GPGGA,085936.000,5222.3235,N,00454.5844,E,1,11,0.76,15.3,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085936.000,A,5222.3235,N,00454.5844,E,0.33,37.43,030414,,,A*56\r\n$GPVTG,37.43,T,,M,0.33,N,0.61,K,A*09\r\n$GPGGA,085937.000,5222.3238,N,00454.5838,E,1,11,0.76,17.4,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085937.000,A,5222.3238,N,00454.5838,E,0.35,37.43,030414,,,A*57\r\n$GPVTG,37.43,T,,M,0.35,N,0.65,K,A*0B\r\n$GPGGA,085938.000,5222.3234,N,00454.5833,E,1,11,0.76,17.2,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085938.000,A,5222.3234,N,00454.5833,E,0.65,250.64,030414,,,A*6C\r\n$GPVTG,250.64,T,,M,0.65,N,1.20,K,A*38\r\n$GPGGA,085939.000,5222.3233,N,00454.5832,E,1,11,0.76,17.1,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085939.000,A,5222.3233,N,00454.5832,E,0.89,251.15,030414,,,A*6E\r\n$GPVTG,251.15,T,,M,0.89,N,1.66,K,A*3F\r\n$GPGGA,085940.000,5222.3232,N,00454.5830,E,1,11,0.76,16.5,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,13,71,067,35,10,71,285,24,07,45,164,24,04,45,215,25*74\r\n$GPGSV,4,2,13,02,43,287,22,23,35,070,40,39,27,154,,08,19,181,20*74\r\n$GPGSV,4,3,13,16,16,064,33,05,13,296,18,09,13,192,18,29,07,341,31*7D\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085940.000,A,5222.3232,N,00454.5830,E,0.84,252.09,030414,,,A*60\r\n$GPVTG,252.09,T,,M,0.84,N,1.56,K,A*3F\r\n$GPGGA,085941.000,5222.3229,N,00454.5829,E,1,11,0.76,16.2,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085941.000,A,5222.3229,N,00454.5829,E,0.59,250.86,030414,,,A*66\r\n$GPVTG,250.86,T,,M,0.59,N,1.10,K,A*38\r\n$GPGGA,085942.000,5222.3227,N,00454.5825,E,1,11,0.76,16.0,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085942.000,A,5222.3227,N,00454.5825,E,0.58,250.86,030414,,,A*66\r\n$GPVTG,250.86,T,,M,0.58,N,1.08,K,A*30\r\n$GPGGA,085943.000,5222.3225,N,00454.5824,E,1,11,0.76,15.5,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085943.000,A,5222.3225,N,00454.5824,E,0.50,250.86,030414,,,A*6C\r\n$GPVTG,250.86,T,,M,0.50,N,0.93,K,A*3B\r\n$GPGGA,085944.000,5222.3222,N,00454.5822,E,1,11,0.76,14.8,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085944.000,A,5222.3222,N,00454.5822,E,0.49,250.75,030414,,,A*6E\r\n$GPVTG,250.75,T,,M,0.49,N,0.91,K,A*3D\r\n$GPGGA,085945.000,5222.3219,N,00454.5820,E,1,11,0.76,14.2,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,13,71,067,34,10,71,285,23,07,45,164,20,04,45,215,25*76\r\n$GPGSV,4,2,13,02,43,287,17,23,35,070,41,33,27,205,,08,19,181,20*7E\r\n$GPGSV,4,3,13,16,16,064,33,05,13,296,17,09,13,192,17,29,07,341,26*7B\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085945.000,A,5222.3219,N,00454.5820,E,0.14,250.57,030414,,,A*6D\r\n$GPVTG,250.57,T,,M,0.14,N,0.26,K,A*39\r\n$GPGGA,085946.000,5222.3219,N,00454.5820,E,1,11,0.76,14.2,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085946.000,A,5222.3219,N,00454.5820,E,0.05,250.66,030414,,,A*6C\r\n$GPVTG,250.66,T,,M,0.05,N,0.08,K,A*37\r\n$GPGGA,085947.000,5222.3218,N,00454.5819,E,1,11,0.76,14.2,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085947.000,A,5222.3218,N,00454.5819,E,0.09,250.66,030414,,,A*6A\r\n$GPVTG,250.66,T,,M,0.09,N,0.16,K,A*34\r\n$GPGGA,085948.000,5222.3218,N,00454.5820,E,1,11,0.76,14.2,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085948.000,A,5222.3218,N,00454.5820,E,0.29,250.66,030414,,,A*6D\r\n$GPVTG,250.66,T,,M,0.29,N,0.54,K,A*30\r\n$GPGGA,085949.000,5222.3218,N,00454.5821,E,1,11,0.76,14.2,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085949.000,A,5222.3218,N,00454.5821,E,0.42,250.66,030414,,,A*60\r\n$GPVTG,250.66,T,,M,0.42,N,0.79,K,A*32\r\n$GPGGA,085950.000,5222.3218,N,00454.5823,E,1,11,0.76,14.2,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,13,71,067,34,10,71,285,22,07,45,164,22,04,45,215,25*75\r\n$GPGSV,4,2,13,02,43,286,14,23,35,070,41,33,27,205,,08,19,181,19*76\r\n$GPGSV,4,3,13,16,16,064,33,05,14,296,16,09,13,192,17,29,07,341,26*7D\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085950.000,A,5222.3218,N,00454.5823,E,0.58,104.21,030414,,,A*60\r\n$GPVTG,104.21,T,,M,0.58,N,1.08,K,A*3F\r\n$GPGGA,085951.000,5222.3215,N,00454.5824,E,1,11,0.76,13.8,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085951.000,A,5222.3215,N,00454.5824,E,0.54,104.21,030414,,,A*67\r\n$GPVTG,104.21,T,,M,0.54,N,0.99,K,A*3A\r\n$GPGGA,085952.000,5222.3212,N,00454.5827,E,1,11,0.76,13.4,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085952.000,A,5222.3212,N,00454.5827,E,0.51,104.21,030414,,,A*65\r\n$GPVTG,104.21,T,,M,0.51,N,0.95,K,A*33\r\n$GPGGA,085953.000,5222.3211,N,00454.5827,E,1,11,0.76,12.9,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085953.000,A,5222.3211,N,00454.5827,E,0.31,104.21,030414,,,A*61\r\n$GPVTG,104.21,T,,M,0.31,N,0.57,K,A*3B\r\n$GPGGA,085954.000,5222.3209,N,00454.5826,E,1,11,0.76,12.5,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085954.000,A,5222.3209,N,00454.5826,E,0.26,104.21,030414,,,A*68\r\n$GPVTG,104.21,T,,M,0.26,N,0.48,K,A*33\r\n$GPGGA,085955.000,5222.3208,N,00454.5827,E,1,11,0.76,12.5,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,10,72,284,22,13,71,067,34,07,45,164,20,04,45,215,25*75\r\n$GPGSV,4,2,13,02,43,286,17,23,35,070,40,08,20,181,19,16,16,064,35*78\r\n$GPGSV,4,3,13,05,14,296,16,09,13,192,17,40,09,115,,29,07,341,29*78\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,085955.000,A,5222.3208,N,00454.5827,E,0.11,104.21,030414,,,A*6D\r\n$GPVTG,104.21,T,,M,0.11,N,0.20,K,A*39\r\n$GPGGA,085956.000,5222.3209,N,00454.5827,E,1,11,0.76,12.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085956.000,A,5222.3209,N,00454.5827,E,0.14,104.21,030414,,,A*6A\r\n$GPVTG,104.21,T,,M,0.14,N,0.26,K,A*3A\r\n$GPGGA,085957.000,5222.3209,N,00454.5828,E,1,11,0.76,12.5,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085957.000,A,5222.3209,N,00454.5828,E,0.18,104.21,030414,,,A*68\r\n$GPVTG,104.21,T,,M,0.18,N,0.33,K,A*32\r\n$GPGGA,085958.000,5222.3209,N,00454.5829,E,1,11,0.76,12.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085958.000,A,5222.3209,N,00454.5829,E,0.28,104.21,030414,,,A*65\r\n$GPVTG,104.21,T,,M,0.28,N,0.52,K,A*36\r\n$GPGGA,085959.000,5222.3209,N,00454.5830,E,1,11,0.76,12.5,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,085959.000,A,5222.3209,N,00454.5830,E,0.23,104.21,030414,,,A*67\r\n$GPVTG,104.21,T,,M,0.23,N,0.42,K,A*3C\r\n$GPGGA,090000.000,5222.3210,N,00454.5830,E,1,11,0.76,12.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.32,0.76,1.08*01\r\n$GPGSV,4,1,13,10,72,284,21,13,71,067,34,07,45,164,21,04,45,215,26*74\r\n$GPGSV,4,2,13,02,43,286,19,23,35,070,40,08,20,181,19,16,16,064,35*76\r\n$GPGSV,4,3,13,05,14,296,17,09,13,192,17,40,09,115,,29,07,341,29*79\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090000.000,A,5222.3210,N,00454.5830,E,0.27,104.21,030414,,,A*6A\r\n$GPVTG,104.21,T,,M,0.27,N,0.50,K,A*3B\r\n$GPGGA,090001.000,5222.3210,N,00454.5829,E,1,11,0.76,12.5,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090001.000,A,5222.3210,N,00454.5829,E,0.32,104.21,030414,,,A*67\r\n$GPVTG,104.21,T,,M,0.32,N,0.59,K,A*36\r\n$GPGGA,090002.000,5222.3211,N,00454.5827,E,1,11,0.76,12.5,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090002.000,A,5222.3211,N,00454.5827,E,0.44,104.21,030414,,,A*6A\r\n$GPVTG,104.21,T,,M,0.44,N,0.81,K,A*32\r\n$GPGGA,090003.000,5222.3211,N,00454.5825,E,1,10,0.82,12.5,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090003.000,A,5222.3211,N,00454.5825,E,0.42,104.21,030414,,,A*6F\r\n$GPVTG,104.21,T,,M,0.42,N,0.78,K,A*32\r\n$GPGGA,090004.000,5222.3210,N,00454.5824,E,1,11,0.76,12.5,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090004.000,A,5222.3210,N,00454.5824,E,0.40,104.21,030414,,,A*6A\r\n$GPVTG,104.21,T,,M,0.40,N,0.74,K,A*3C\r\n$GPGGA,090005.000,5222.3210,N,00454.5822,E,1,10,0.82,12.5,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPGSV,4,1,13,10,72,284,18,13,71,067,34,07,45,164,22,04,45,215,23*78\r\n$GPGSV,4,2,13,02,43,286,22,23,35,070,39,08,20,181,19,16,16,064,34*71\r\n$GPGSV,4,3,13,05,14,296,20,09,13,192,18,44,08,114,,29,07,341,31*7F\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090005.000,A,5222.3210,N,00454.5822,E,0.40,104.21,030414,,,A*6D\r\n$GPVTG,104.21,T,,M,0.40,N,0.73,K,A*3B\r\n$GPGGA,090006.000,5222.3209,N,00454.5821,E,1,10,0.82,12.5,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090006.000,A,5222.3209,N,00454.5821,E,0.47,104.21,030414,,,A*62\r\n$GPVTG,104.21,T,,M,0.47,N,0.87,K,A*37\r\n$GPGGA,090007.000,5222.3207,N,00454.5821,E,1,10,0.82,12.5,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090007.000,A,5222.3207,N,00454.5821,E,0.44,104.21,030414,,,A*6E\r\n$GPVTG,104.21,T,,M,0.44,N,0.81,K,A*32\r\n$GPGGA,090008.000,5222.3206,N,00454.5822,E,1,10,0.82,12.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090008.000,A,5222.3206,N,00454.5822,E,0.46,104.21,030414,,,A*61\r\n$GPVTG,104.21,T,,M,0.46,N,0.84,K,A*35\r\n$GPGGA,090009.000,5222.3205,N,00454.5822,E,1,10,0.82,12.5,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090009.000,A,5222.3205,N,00454.5822,E,0.54,104.21,030414,,,A*60\r\n$GPVTG,104.21,T,,M,0.54,N,1.01,K,A*3A\r\n$GPGGA,090010.000,5222.3203,N,00454.5821,E,1,10,0.82,12.5,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPGSV,4,1,13,10,72,284,20,13,71,067,35,07,45,164,23,04,45,215,24*74\r\n$GPGSV,4,2,13,02,43,286,25,23,35,070,40,37,28,159,,08,20,181,18*7F\r\n$GPGSV,4,3,13,16,16,064,34,05,14,296,20,09,13,192,18,29,07,341,28*7E\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090010.000,A,5222.3203,N,00454.5821,E,0.47,104.21,030414,,,A*6F\r\n$GPVTG,104.21,T,,M,0.47,N,0.88,K,A*38\r\n$GPGGA,090011.000,5222.3202,N,00454.5821,E,1,11,0.76,12.4,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090011.000,A,5222.3202,N,00454.5821,E,0.19,104.21,030414,,,A*64\r\n$GPVTG,104.21,T,,M,0.19,N,0.34,K,A*34\r\n$GPGGA,090012.000,5222.3202,N,00454.5820,E,1,11,0.76,12.4,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090012.000,A,5222.3202,N,00454.5820,E,0.11,104.21,030414,,,A*6E\r\n$GPVTG,104.21,T,,M,0.11,N,0.21,K,A*38\r\n$GPGGA,090013.000,5222.3202,N,00454.5820,E,1,11,0.76,12.4,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090013.000,A,5222.3202,N,00454.5820,E,0.30,104.21,030414,,,A*6C\r\n$GPVTG,104.21,T,,M,0.30,N,0.56,K,A*3B\r\n$GPGGA,090014.000,5222.3201,N,00454.5819,E,1,11,0.76,12.4,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090014.000,A,5222.3201,N,00454.5819,E,0.37,104.21,030414,,,A*65\r\n$GPVTG,104.21,T,,M,0.37,N,0.69,K,A*30\r\n$GPGGA,090015.000,5222.3200,N,00454.5817,E,1,11,0.76,12.4,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,10,72,284,20,13,71,067,35,07,45,164,22,04,45,215,23*72\r\n$GPGSV,4,2,13,02,43,286,27,23,35,070,39,37,28,159,,08,20,181,17*7C\r\n$GPGSV,4,3,13,16,16,064,36,05,14,296,19,09,13,192,18,29,07,341,30*7F\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090015.000,A,5222.3200,N,00454.5817,E,0.38,104.21,030414,,,A*64\r\n$GPVTG,104.21,T,,M,0.38,N,0.70,K,A*37\r\n$GPGGA,090016.000,5222.3200,N,00454.5816,E,1,10,0.82,12.4,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090016.000,A,5222.3200,N,00454.5816,E,0.38,104.21,030414,,,A*66\r\n$GPVTG,104.21,T,,M,0.38,N,0.70,K,A*37\r\n$GPGGA,090017.000,5222.3199,N,00454.5815,E,1,10,0.82,12.4,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090017.000,A,5222.3199,N,00454.5815,E,0.20,104.21,030414,,,A*6E\r\n$GPVTG,104.21,T,,M,0.20,N,0.36,K,A*3C\r\n$GPGGA,090018.000,5222.3198,N,00454.5815,E,1,10,0.82,12.4,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090018.000,A,5222.3198,N,00454.5815,E,0.12,104.21,030414,,,A*61\r\n$GPVTG,104.21,T,,M,0.12,N,0.22,K,A*38\r\n$GPGGA,090019.000,5222.3198,N,00454.5815,E,1,10,0.82,12.4,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.12,0.82,0.77*08\r\n$GPRMC,090019.000,A,5222.3198,N,00454.5815,E,0.23,104.21,030414,,,A*62\r\n$GPVTG,104.21,T,,M,0.23,N,0.43,K,A*3D\r\n$GPGGA,090020.000,5222.3197,N,00454.5815,E,1,11,0.76,12.4,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPGSV,4,1,13,10,72,284,16,13,71,067,35,07,45,164,20,04,45,215,24*72\r\n$GPGSV,4,2,13,02,43,286,23,23,35,070,39,39,27,154,,08,20,181,17*74\r\n$GPGSV,4,3,13,16,16,064,37,05,14,296,21,09,13,192,17,29,07,341,29*72\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090020.000,A,5222.3197,N,00454.5815,E,0.26,104.21,030414,,,A*62\r\n$GPVTG,104.21,T,,M,0.26,N,0.48,K,A*33\r\n$GPGGA,090021.000,5222.3197,N,00454.5814,E,1,11,0.76,12.4,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090021.000,A,5222.3197,N,00454.5814,E,0.36,104.21,030414,,,A*63\r\n$GPVTG,104.21,T,,M,0.36,N,0.67,K,A*3F\r\n$GPGGA,090022.000,5222.3196,N,00454.5813,E,1,11,0.76,12.3,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.73*0B\r\n$GPRMC,090022.000,A,5222.3196,N,00454.5813,E,0.38,104.21,030414,,,A*68\r\n$GPVTG,104.21,T,,M,0.38,N,0.71,K,A*36\r\n$GPGGA,090023.000,5222.3194,N,00454.5816,E,1,10,0.77,12.2,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,04,,,1.10,0.77,0.78*07\r\n$GPRMC,090023.000,A,5222.3194,N,00454.5816,E,0.09,104.21,030414,,,A*6C\r\n$GPVTG,104.21,T,,M,0.09,N,0.16,K,A*35\r\n$GPGGA,090024.000,5222.3192,N,00454.5819,E,1,11,0.76,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090024.000,A,5222.3192,N,00454.5819,E,0.37,104.21,030414,,,A*6F\r\n$GPVTG,104.21,T,,M,0.37,N,0.68,K,A*31\r\n$GPGGA,090025.000,5222.3190,N,00454.5820,E,1,11,0.76,12.0,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,15,13,71,067,35,07,45,164,19,04,45,215,23*7C\r\n$GPGSV,4,2,13,02,43,286,24,23,35,070,39,39,27,154,,08,20,181,17*73\r\n$GPGSV,4,3,13,16,16,064,37,05,14,296,21,09,13,192,20,29,07,341,29*76\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090025.000,A,5222.3190,N,00454.5820,E,0.16,104.21,030414,,,A*65\r\n$GPVTG,104.21,T,,M,0.16,N,0.30,K,A*3F\r\n$GPGGA,090026.000,5222.3187,N,00454.5821,E,1,11,0.76,11.9,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090026.000,A,5222.3187,N,00454.5821,E,0.43,104.21,030414,,,A*61\r\n$GPVTG,104.21,T,,M,0.43,N,0.79,K,A*32\r\n$GPGGA,090027.000,5222.3186,N,00454.5820,E,1,11,0.76,11.9,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090027.000,A,5222.3186,N,00454.5820,E,0.70,218.34,030414,,,A*6A\r\n$GPVTG,218.34,T,,M,0.70,N,1.29,K,A*3C\r\n$GPGGA,090028.000,5222.3184,N,00454.5820,E,1,11,0.76,11.9,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090028.000,A,5222.3184,N,00454.5820,E,0.68,212.28,030414,,,A*69\r\n$GPVTG,212.28,T,,M,0.68,N,1.26,K,A*3D\r\n$GPGGA,090029.000,5222.3181,N,00454.5821,E,1,11,0.76,11.9,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090029.000,A,5222.3181,N,00454.5821,E,0.63,212.28,030414,,,A*67\r\n$GPVTG,212.28,T,,M,0.63,N,1.16,K,A*35\r\n$GPGGA,090030.000,5222.3179,N,00454.5822,E,1,11,0.76,11.9,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,18,13,71,067,35,07,45,164,18,04,45,215,23*70\r\n$GPGSV,4,2,13,02,43,286,24,23,35,070,40,33,27,205,,08,20,181,17*70\r\n$GPGSV,4,3,13,16,16,064,37,05,14,296,20,09,13,192,18,29,07,341,28*7D\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090030.000,A,5222.3179,N,00454.5822,E,0.61,210.99,030414,,,A*61\r\n$GPVTG,210.99,T,,M,0.61,N,1.12,K,A*3B\r\n$GPGGA,090031.000,5222.3178,N,00454.5822,E,1,11,0.76,11.9,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090031.000,A,5222.3178,N,00454.5822,E,0.56,210.99,030414,,,A*65\r\n$GPVTG,210.99,T,,M,0.56,N,1.03,K,A*3F\r\n$GPGGA,090032.000,5222.3177,N,00454.5823,E,1,10,0.81,11.9,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090032.000,A,5222.3177,N,00454.5823,E,0.36,210.99,030414,,,A*6E\r\n$GPVTG,210.99,T,,M,0.36,N,0.67,K,A*3A\r\n$GPGGA,090033.000,5222.3176,N,00454.5825,E,1,10,0.81,11.9,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090033.000,A,5222.3176,N,00454.5825,E,0.32,210.99,030414,,,A*6C\r\n$GPVTG,210.99,T,,M,0.32,N,0.60,K,A*39\r\n$GPGGA,090034.000,5222.3176,N,00454.5826,E,1,10,0.81,11.9,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090034.000,A,5222.3176,N,00454.5826,E,0.31,210.74,030414,,,A*68\r\n$GPVTG,210.74,T,,M,0.31,N,0.57,K,A*3D\r\n$GPGGA,090035.000,5222.3174,N,00454.5828,E,1,10,0.81,11.9,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPGSV,4,1,13,10,72,284,19,13,70,067,34,07,45,164,18,04,45,215,22*70\r\n$GPGSV,4,2,13,02,43,286,25,23,35,070,41,33,27,205,,08,20,181,14*73\r\n$GPGSV,4,3,13,16,16,064,38,05,14,296,18,09,13,192,18,29,07,341,26*77\r\n$GPGSV,4,4,13,20,05,121,22*4E\r\n$GPRMC,090035.000,A,5222.3174,N,00454.5828,E,0.61,81.92,030414,,,A*52\r\n$GPVTG,81.92,T,,M,0.61,N,1.13,K,A*0B\r\n$GPGGA,090036.000,5222.3173,N,00454.5834,E,1,10,0.81,11.9,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090036.000,A,5222.3173,N,00454.5834,E,2.51,80.71,030414,,,A*56\r\n$GPVTG,80.71,T,,M,2.51,N,4.64,K,A*03\r\n$GPGGA,090037.000,5222.3173,N,00454.5843,E,1,10,0.81,12.0,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090037.000,A,5222.3173,N,00454.5843,E,3.36,79.51,030414,,,A*53\r\n$GPVTG,79.51,T,,M,3.36,N,6.23,K,A*06\r\n$GPGGA,090038.000,5222.3175,N,00454.5853,E,1,10,0.81,12.0,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090038.000,A,5222.3175,N,00454.5853,E,2.87,77.33,030414,,,A*5A\r\n$GPVTG,77.33,T,,M,2.87,N,5.33,K,A*05\r\n$GPGGA,090039.000,5222.3177,N,00454.5858,E,1,10,0.81,12.2,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090039.000,A,5222.3177,N,00454.5858,E,1.99,73.80,030414,,,A*52\r\n$GPVTG,73.80,T,,M,1.99,N,3.69,K,A*0C\r\n$GPGGA,090040.000,5222.3179,N,00454.5859,E,1,10,0.81,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPGSV,4,1,13,10,72,284,22,13,70,067,34,07,45,164,18,04,45,215,21*7B\r\n$GPGSV,4,2,13,02,43,286,25,23,35,070,41,08,20,181,17,16,16,064,38*7B\r\n$GPGSV,4,3,13,05,14,296,18,09,13,192,17,40,09,115,,29,07,341,23*7C\r\n$GPGSV,4,4,13,20,05,121,22*4E\r\n$GPRMC,090040.000,A,5222.3179,N,00454.5859,E,1.63,17.64,030414,,,A*5E\r\n$GPVTG,17.64,T,,M,1.63,N,3.02,K,A*0C\r\n$GPGGA,090041.000,5222.3182,N,00454.5858,E,1,10,0.81,12.5,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090041.000,A,5222.3182,N,00454.5858,E,1.59,14.97,030414,,,A*5C\r\n$GPVTG,14.97,T,,M,1.59,N,2.95,K,A*05\r\n$GPGGA,090042.000,5222.3184,N,00454.5860,E,1,10,0.82,12.6,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090042.000,A,5222.3184,N,00454.5860,E,1.31,15.85,030414,,,A*5E\r\n$GPVTG,15.85,T,,M,1.31,N,2.43,K,A*02\r\n$GPGGA,090043.000,5222.3186,N,00454.5862,E,1,10,0.81,12.6,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090043.000,A,5222.3186,N,00454.5862,E,0.57,15.85,030414,,,A*5E\r\n$GPVTG,15.85,T,,M,0.57,N,1.06,K,A*01\r\n$GPGGA,090044.000,5222.3188,N,00454.5862,E,1,10,0.81,12.7,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090044.000,A,5222.3188,N,00454.5862,E,0.80,14.93,030414,,,A*5B\r\n$GPVTG,14.93,T,,M,0.80,N,1.49,K,A*06\r\n$GPGGA,090045.000,5222.3190,N,00454.5861,E,1,10,0.82,12.8,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPGSV,4,1,13,10,72,284,23,13,70,067,34,07,45,164,18,04,45,215,20*7B\r\n$GPGSV,4,2,13,02,43,286,25,23,35,070,42,08,20,181,,16,16,064,38*7E\r\n$GPGSV,4,3,13,05,14,296,17,09,13,192,17,40,09,115,,29,07,341,23*73\r\n$GPGSV,4,4,13,20,05,121,20*4C\r\n$GPRMC,090045.000,A,5222.3190,N,00454.5861,E,0.76,3.65,030414,,,A*66\r\n$GPVTG,3.65,T,,M,0.76,N,1.41,K,A*38\r\n$GPGGA,090046.000,5222.3193,N,00454.5860,E,1,10,0.82,12.9,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090046.000,A,5222.3193,N,00454.5860,E,1.02,358.80,030414,,,A*63\r\n$GPVTG,358.80,T,,M,1.02,N,1.90,K,A*30\r\n$GPGGA,090047.000,5222.3199,N,00454.5858,E,1,10,0.82,13.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090047.000,A,5222.3199,N,00454.5858,E,1.67,354.62,030414,,,A*60\r\n$GPVTG,354.62,T,,M,1.67,N,3.09,K,A*31\r\n$GPGGA,090048.000,5222.3198,N,00454.5857,E,1,10,0.82,13.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090048.000,A,5222.3198,N,00454.5857,E,0.63,12.60,030414,,,A*57\r\n$GPVTG,12.60,T,,M,0.63,N,1.16,K,A*0B\r\n$GPGGA,090049.000,5222.3198,N,00454.5857,E,1,10,0.82,13.5,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090049.000,A,5222.3198,N,00454.5857,E,0.36,12.60,030414,,,A*56\r\n$GPVTG,12.60,T,,M,0.36,N,0.67,K,A*0C\r\n$GPGGA,090050.000,5222.3204,N,00454.5854,E,1,10,0.82,13.5,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPGSV,4,1,13,10,72,284,23,13,70,067,33,07,45,164,18,04,45,215,20*7C\r\n$GPGSV,4,2,13,02,43,286,25,23,35,070,43,08,20,181,17,16,16,064,37*76\r\n$GPGSV,4,3,13,05,14,296,12,09,13,192,17,44,08,114,,29,07,341,20*71\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090050.000,A,5222.3204,N,00454.5854,E,1.44,11.53,030414,,,A*5C\r\n$GPVTG,11.53,T,,M,1.44,N,2.67,K,A*09\r\n$GPGGA,090051.000,5222.3207,N,00454.5853,E,1,10,0.82,13.6,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090051.000,A,5222.3207,N,00454.5853,E,1.46,354.30,030414,,,A*6C\r\n$GPVTG,354.30,T,,M,1.46,N,2.71,K,A*3B\r\n$GPGGA,090052.000,5222.3209,N,00454.5852,E,1,10,0.82,13.8,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090052.000,A,5222.3209,N,00454.5852,E,1.23,355.22,030414,,,A*61\r\n$GPVTG,355.22,T,,M,1.23,N,2.28,K,A*36\r\n$GPGGA,090053.000,5222.3210,N,00454.5851,E,1,10,0.82,14.2,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.14*0B\r\n$GPRMC,090053.000,A,5222.3210,N,00454.5851,E,1.45,36.12,030414,,,A*5E\r\n$GPVTG,36.12,T,,M,1.45,N,2.68,K,A*07\r\n$GPGGA,090054.000,5222.3210,N,00454.5853,E,1,10,0.81,14.4,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090054.000,A,5222.3210,N,00454.5853,E,1.26,50.58,030414,,,A*50\r\n$GPVTG,50.58,T,,M,1.26,N,2.34,K,A*05\r\n$GPGGA,090055.000,5222.3211,N,00454.5854,E,1,10,0.81,14.7,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPGSV,4,1,13,10,72,284,24,13,70,067,33,07,45,164,18,04,45,215,21*7A\r\n$GPGSV,4,2,13,02,43,286,24,23,35,070,43,08,20,181,18,16,16,064,38*77\r\n$GPGSV,4,3,13,05,14,296,15,09,13,192,17,44,08,114,,29,07,341,21*77\r\n$GPGSV,4,4,13,20,05,121,*4E\r\n$GPRMC,090055.000,A,5222.3211,N,00454.5854,E,0.43,50.58,030414,,,A*55\r\n$GPVTG,50.58,T,,M,0.43,N,0.79,K,A*0C\r\n$GPGGA,090056.000,5222.3210,N,00454.5853,E,1,10,0.82,15.0,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.41,0.82,1.15*0A\r\n$GPRMC,090056.000,A,5222.3210,N,00454.5853,E,0.47,50.58,030414,,,A*54\r\n$GPVTG,50.58,T,,M,0.47,N,0.86,K,A*08\r\n$GPGGA,090057.000,5222.3209,N,00454.5850,E,1,11,0.76,14.9,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090057.000,A,5222.3209,N,00454.5850,E,0.54,283.51,030414,,,A*69\r\n$GPVTG,283.51,T,,M,0.54,N,1.00,K,A*30\r\n$GPGGA,090058.000,5222.3209,N,00454.5847,E,1,11,0.76,15.0,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090058.000,A,5222.3209,N,00454.5847,E,0.50,283.51,030414,,,A*64\r\n$GPVTG,283.51,T,,M,0.50,N,0.92,K,A*3E\r\n$GPGGA,090059.000,5222.3208,N,00454.5844,E,1,11,0.76,15.0,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090059.000,A,5222.3208,N,00454.5844,E,0.48,283.51,030414,,,A*6E\r\n$GPVTG,283.51,T,,M,0.48,N,0.88,K,A*3C\r\n$GPGGA,090100.000,5222.3208,N,00454.5842,E,1,11,0.76,15.0,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.33,0.76,1.09*01\r\n$GPGSV,4,1,13,10,72,284,25,13,70,067,33,07,45,164,18,04,44,215,22*79\r\n$GPGSV,4,2,13,02,43,286,22,23,35,070,43,08,20,181,17,16,16,064,38*7E\r\n$GPGSV,4,3,13,05,14,296,17,09,13,192,17,29,07,341,22,20,05,121,*7F\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090100.000,A,5222.3208,N,00454.5842,E,0.67,1.95,030414,,,A*68\r\n$GPVTG,1.95,T,,M,0.67,N,1.24,K,A*36\r\n$GPGGA,090101.000,5222.3207,N,00454.5842,E,1,11,0.76,15.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.33,0.76,1.09*01\r\n$GPRMC,090101.000,A,5222.3207,N,00454.5842,E,0.48,1.95,030414,,,A*6B\r\n$GPVTG,1.95,T,,M,0.48,N,0.88,K,A*3C\r\n$GPGGA,090102.000,5222.3208,N,00454.5841,E,1,11,0.76,15.1,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090102.000,A,5222.3208,N,00454.5841,E,0.72,335.97,030414,,,A*6B\r\n$GPVTG,335.97,T,,M,0.72,N,1.33,K,A*32\r\n$GPGGA,090103.000,5222.3207,N,00454.5841,E,1,11,0.76,15.2,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090103.000,A,5222.3207,N,00454.5841,E,0.55,335.97,030414,,,A*60\r\n$GPVTG,335.97,T,,M,0.55,N,1.01,K,A*36\r\n$GPGGA,090104.000,5222.3208,N,00454.5839,E,1,11,0.76,15.2,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090104.000,A,5222.3208,N,00454.5839,E,0.61,312.19,030414,,,A*63\r\n$GPVTG,312.19,T,,M,0.61,N,1.13,K,A*31\r\n$GPGGA,090105.000,5222.3206,N,00454.5837,E,1,10,0.81,15.2,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPGSV,4,1,13,10,72,284,26,13,70,067,33,07,46,164,18,04,44,215,22*79\r\n$GPGSV,4,2,13,02,43,286,20,23,35,070,43,08,20,181,17,16,16,064,37*73\r\n$GPGSV,4,3,13,05,14,296,18,09,14,192,17,29,07,341,21,20,05,121,*74\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090105.000,A,5222.3206,N,00454.5837,E,0.39,312.19,030414,,,A*6F\r\n$GPVTG,312.19,T,,M,0.39,N,0.73,K,A*3B\r\n$GPGGA,090106.000,5222.3203,N,00454.5836,E,1,10,0.81,15.3,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090106.000,A,5222.3203,N,00454.5836,E,0.65,67.80,030414,,,A*50\r\n$GPVTG,67.80,T,,M,0.65,N,1.20,K,A*04\r\n$GPGGA,090107.000,5222.3203,N,00454.5834,E,1,10,0.81,15.4,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090107.000,A,5222.3203,N,00454.5834,E,0.63,65.19,030414,,,A*57\r\n$GPVTG,65.19,T,,M,0.63,N,1.17,K,A*04\r\n$GPGGA,090108.000,5222.3203,N,00454.5834,E,1,11,0.76,15.4,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090108.000,A,5222.3203,N,00454.5834,E,0.60,65.19,030414,,,A*5B\r\n$GPVTG,65.19,T,,M,0.60,N,1.10,K,A*00\r\n$GPGGA,090109.000,5222.3201,N,00454.5833,E,1,10,0.81,15.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090109.000,A,5222.3201,N,00454.5833,E,0.41,65.19,030414,,,A*5C\r\n$GPVTG,65.19,T,,M,0.41,N,0.75,K,A*01\r\n$GPGGA,090110.000,5222.3196,N,00454.5833,E,1,10,0.81,15.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPGSV,4,1,13,10,72,284,24,13,70,066,32,07,46,164,19,04,44,215,24*7C\r\n$GPGSV,4,2,13,02,43,286,20,23,35,070,43,08,20,181,17,16,16,064,37*73\r\n$GPGSV,4,3,13,05,14,296,18,09,14,192,17,29,07,341,21,20,05,121,19*7C\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,090110.000,A,5222.3196,N,00454.5833,E,0.45,65.19,030414,,,A*5D\r\n$GPVTG,65.19,T,,M,0.45,N,0.83,K,A*0C\r\n$GPGGA,090111.000,5222.3190,N,00454.5832,E,1,10,0.81,15.2,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090111.000,A,5222.3190,N,00454.5832,E,1.08,179.54,030414,,,A*66\r\n$GPVTG,179.54,T,,M,1.08,N,2.01,K,A*39\r\n$GPGGA,090112.000,5222.3186,N,00454.5831,E,1,11,0.76,15.2,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090112.000,A,5222.3186,N,00454.5831,E,0.81,179.34,030414,,,A*67\r\n$GPVTG,179.34,T,,M,0.81,N,1.51,K,A*39\r\n$GPGGA,090113.000,5222.3183,N,00454.5832,E,1,10,0.81,15.2,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090113.000,A,5222.3183,N,00454.5832,E,0.40,179.34,030414,,,A*6D\r\n$GPVTG,179.34,T,,M,0.40,N,0.74,K,A*32\r\n$GPGGA,090114.000,5222.3180,N,00454.5834,E,1,10,0.81,15.0,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,09,05,29,07,10,04,,,1.11,0.81,0.75*0B\r\n$GPRMC,090114.000,A,5222.3180,N,00454.5834,E,0.41,179.34,030414,,,A*6E\r\n$GPVTG,179.34,T,,M,0.41,N,0.77,K,A*30\r\n$GPGGA,090115.000,5222.3178,N,00454.5833,E,1,9,0.96,14.8,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,72,284,25,13,70,066,32,07,46,164,20,04,44,215,24*77\r\n$GPGSV,4,2,13,02,43,286,18,23,35,070,43,08,20,181,18,16,16,064,37*77\r\n$GPGSV,4,3,13,05,14,296,20,09,14,192,19,29,07,341,22,20,05,121,18*7B\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090115.000,A,5222.3178,N,00454.5833,E,0.45,179.34,030414,,,A*6B\r\n$GPVTG,179.34,T,,M,0.45,N,0.83,K,A*3F\r\n$GPGGA,090116.000,5222.3176,N,00454.5830,E,1,10,0.82,14.7,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090116.000,A,5222.3176,N,00454.5830,E,0.81,186.89,030414,,,A*6B\r\n$GPVTG,186.89,T,,M,0.81,N,1.50,K,A*3E\r\n$GPGGA,090117.000,5222.3172,N,00454.5828,E,1,9,0.96,14.7,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090117.000,A,5222.3172,N,00454.5828,E,0.75,189.73,030414,,,A*66\r\n$GPVTG,189.73,T,,M,0.75,N,1.39,K,A*30\r\n$GPGGA,090118.000,5222.3170,N,00454.5827,E,1,10,0.82,14.5,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090118.000,A,5222.3170,N,00454.5827,E,0.21,192.05,030414,,,A*6E\r\n$GPVTG,192.05,T,,M,0.21,N,0.39,K,A*3B\r\n$GPGGA,090119.000,5222.3169,N,00454.5827,E,1,10,0.82,14.4,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090119.000,A,5222.3169,N,00454.5827,E,0.49,194.09,030414,,,A*63\r\n$GPVTG,194.09,T,,M,0.49,N,0.91,K,A*3D\r\n$GPGGA,090120.000,5222.3169,N,00454.5827,E,1,10,0.82,14.2,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPGSV,4,1,13,10,72,284,25,13,70,066,31,07,46,164,19,04,44,215,24*7E\r\n$GPGSV,4,2,13,02,43,286,19,23,34,070,43,08,20,181,17,16,16,064,37*78\r\n$GPGSV,4,3,13,05,14,296,21,09,14,192,18,29,07,341,20,20,05,121,19*78\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,090120.000,A,5222.3169,N,00454.5827,E,0.42,195.39,030414,,,A*60\r\n$GPVTG,195.39,T,,M,0.42,N,0.78,K,A*33\r\n$GPGGA,090121.000,5222.3169,N,00454.5827,E,1,10,0.82,14.1,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090121.000,A,5222.3169,N,00454.5827,E,0.23,195.26,030414,,,A*68\r\n$GPVTG,195.26,T,,M,0.23,N,0.43,K,A*32\r\n$GPGGA,090122.000,5222.3170,N,00454.5826,E,1,10,0.82,14.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090122.000,A,5222.3170,N,00454.5826,E,0.62,198.91,030414,,,A*66\r\n$GPVTG,198.91,T,,M,0.62,N,1.16,K,A*37\r\n$GPGGA,090123.000,5222.3169,N,00454.5826,E,1,10,0.82,14.0,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090123.000,A,5222.3169,N,00454.5826,E,0.40,198.91,030414,,,A*6F\r\n$GPVTG,198.91,T,,M,0.40,N,0.75,K,A*33\r\n$GPGGA,090124.000,5222.3168,N,00454.5826,E,1,10,0.82,13.9,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,05,29,07,10,04,,,1.13,0.82,0.77*09\r\n$GPRMC,090124.000,A,5222.3168,N,00454.5826,E,0.19,198.91,030414,,,A*65\r\n$GPVTG,198.91,T,,M,0.19,N,0.35,K,A*3B\r\n$GPGGA,090125.000,5222.3168,N,00454.5826,E,1,11,0.76,13.8,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,24,13,70,066,31,07,46,164,18,04,44,215,24*7E\r\n$GPGSV,4,2,13,02,43,286,18,23,34,070,42,08,20,181,16,16,16,064,37*79\r\n$GPGSV,4,3,13,05,14,296,22,09,14,192,18,29,07,341,21,20,05,121,19*7A\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,090125.000,A,5222.3168,N,00454.5826,E,0.26,198.91,030414,,,A*68\r\n$GPVTG,198.91,T,,M,0.26,N,0.49,K,A*3C\r\n$GPGGA,090126.000,5222.3168,N,00454.5824,E,1,11,0.76,13.7,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090126.000,A,5222.3168,N,00454.5824,E,0.42,198.91,030414,,,A*6B\r\n$GPVTG,198.91,T,,M,0.42,N,0.78,K,A*3C\r\n$GPGGA,090127.000,5222.3168,N,00454.5822,E,1,11,0.76,13.7,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090127.000,A,5222.3168,N,00454.5822,E,0.37,198.91,030414,,,A*6E\r\n$GPVTG,198.91,T,,M,0.37,N,0.68,K,A*3F\r\n$GPGGA,090128.000,5222.3168,N,00454.5821,E,1,11,0.76,13.7,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090128.000,A,5222.3168,N,00454.5821,E,0.17,198.91,030414,,,A*60\r\n$GPVTG,198.91,T,,M,0.17,N,0.32,K,A*32\r\n$GPGGA,090129.000,5222.3168,N,00454.5820,E,1,11,0.76,13.7,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090129.000,A,5222.3168,N,00454.5820,E,0.08,198.91,030414,,,A*6E\r\n$GPVTG,198.91,T,,M,0.08,N,0.14,K,A*38\r\n$GPGGA,090130.000,5222.3168,N,00454.5820,E,1,11,0.77,13.7,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.34,0.77,1.09*07\r\n$GPGSV,4,1,13,10,72,284,25,13,70,066,31,07,46,164,18,04,44,215,24*7F\r\n$GPGSV,4,2,13,02,43,286,18,23,34,070,42,08,20,181,14,16,16,064,37*7B\r\n$GPGSV,4,3,13,05,14,296,22,09,14,192,17,29,07,341,21,20,05,121,20*7F\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,090130.000,A,5222.3168,N,00454.5820,E,0.01,198.91,030414,,,A*6F\r\n$GPVTG,198.91,T,,M,0.01,N,0.02,K,A*36\r\n$GPGGA,090131.000,5222.3168,N,00454.5820,E,1,11,0.76,13.7,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090131.000,A,5222.3168,N,00454.5820,E,0.18,198.91,030414,,,A*66\r\n$GPVTG,198.91,T,,M,0.18,N,0.33,K,A*3C\r\n$GPGGA,090132.000,5222.3167,N,00454.5819,E,1,11,0.76,13.7,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090132.000,A,5222.3167,N,00454.5819,E,0.34,198.91,030414,,,A*6E\r\n$GPVTG,198.91,T,,M,0.34,N,0.63,K,A*37\r\n$GPGGA,090133.000,5222.3166,N,00454.5820,E,1,11,0.76,13.7,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090133.000,A,5222.3166,N,00454.5820,E,0.29,198.91,030414,,,A*68\r\n$GPVTG,198.91,T,,M,0.29,N,0.54,K,A*3F\r\n$GPGGA,090134.000,5222.3165,N,00454.5822,E,1,11,0.76,13.8,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090134.000,A,5222.3165,N,00454.5822,E,0.13,198.91,030414,,,A*67\r\n$GPVTG,198.91,T,,M,0.13,N,0.25,K,A*30\r\n$GPGGA,090135.000,5222.3166,N,00454.5821,E,1,11,0.76,13.9,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,24,13,70,066,33,07,46,164,19,04,44,214,26*7E\r\n$GPGSV,4,2,13,02,43,285,20,23,34,070,42,08,20,181,14,16,16,064,38*7C\r\n$GPGSV,4,3,13,05,14,296,21,09,14,192,17,29,07,341,22,20,05,121,19*75\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,090135.000,A,5222.3166,N,00454.5821,E,0.42,198.91,030414,,,A*62\r\n$GPVTG,198.91,T,,M,0.42,N,0.78,K,A*3C\r\n$GPGGA,090136.000,5222.3167,N,00454.5821,E,1,11,0.76,13.9,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090136.000,A,5222.3167,N,00454.5821,E,0.45,198.91,030414,,,A*67\r\n$GPVTG,198.91,T,,M,0.45,N,0.84,K,A*38\r\n$GPGGA,090137.000,5222.3168,N,00454.5820,E,1,11,0.76,14.0,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090137.000,A,5222.3168,N,00454.5820,E,0.82,205.08,030414,,,A*64\r\n$GPVTG,205.08,T,,M,0.82,N,1.53,K,A*3F\r\n$GPGGA,090138.000,5222.3169,N,00454.5819,E,1,11,0.76,14.0,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090138.000,A,5222.3169,N,00454.5819,E,1.47,209.98,030414,,,A*6D\r\n$GPVTG,209.98,T,,M,1.47,N,2.72,K,A*32\r\n$GPGGA,090139.000,5222.3171,N,00454.5813,E,1,11,0.76,14.0,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090139.000,A,5222.3171,N,00454.5813,E,2.47,212.76,030414,,,A*66\r\n$GPVTG,212.76,T,,M,2.47,N,4.58,K,A*35\r\n$GPGGA,090140.000,5222.3171,N,00454.5807,E,1,11,0.76,14.0,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,20,13,70,066,34,07,46,163,21,04,44,214,26*71\r\n$GPGSV,4,2,13,02,43,285,21,23,34,070,42,08,20,181,15,16,16,064,38*7C\r\n$GPGSV,4,3,13,05,14,296,20,09,14,192,17,29,07,341,20,20,05,121,18*77\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090140.000,A,5222.3171,N,00454.5807,E,2.53,217.54,030414,,,A*6D\r\n$GPVTG,217.54,T,,M,2.53,N,4.69,K,A*37\r\n$GPGGA,090141.000,5222.3172,N,00454.5802,E,1,11,0.76,14.0,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090141.000,A,5222.3172,N,00454.5802,E,2.47,222.14,030414,,,A*6D\r\n$GPVTG,222.14,T,,M,2.47,N,4.58,K,A*32\r\n$GPGGA,090142.000,5222.3172,N,00454.5798,E,1,11,0.76,13.9,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090142.000,A,5222.3172,N,00454.5798,E,2.09,225.70,030414,,,A*6D\r\n$GPVTG,225.70,T,,M,2.09,N,3.87,K,A*38\r\n$GPGGA,090143.000,5222.3174,N,00454.5796,E,1,11,0.76,13.9,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090143.000,A,5222.3174,N,00454.5796,E,1.70,262.70,030414,,,A*6A\r\n$GPVTG,262.70,T,,M,1.70,N,3.15,K,A*3D\r\n$GPGGA,090144.000,5222.3175,N,00454.5795,E,1,11,0.76,13.8,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090144.000,A,5222.3175,N,00454.5795,E,1.13,269.30,030414,,,A*65\r\n$GPVTG,269.30,T,,M,1.13,N,2.10,K,A*33\r\n$GPGGA,090145.000,5222.3176,N,00454.5797,E,1,11,0.76,13.6,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPGSV,4,1,13,10,72,284,21,13,70,066,33,07,46,163,20,04,44,214,26*76\r\n$GPGSV,4,2,13,02,43,285,20,23,34,070,42,08,20,181,15,16,16,064,37*72\r\n$GPGSV,4,3,13,05,14,296,18,09,14,192,18,29,07,341,20,20,05,121,17*7C\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,090145.000,A,5222.3176,N,00454.5797,E,0.56,269.30,030414,,,A*65\r\n$GPVTG,269.30,T,,M,0.56,N,1.03,K,A*32\r\n$GPGGA,090146.000,5222.3175,N,00454.5797,E,1,11,0.76,13.6,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090146.000,A,5222.3175,N,00454.5797,E,0.60,269.85,030414,,,A*6E\r\n$GPVTG,269.85,T,,M,0.60,N,1.11,K,A*3A\r\n$GPGGA,090147.000,5222.3175,N,00454.5796,E,1,11,0.76,13.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090147.000,A,5222.3175,N,00454.5796,E,0.99,269.10,030414,,,A*64\r\n$GPVTG,269.10,T,,M,0.99,N,1.83,K,A*3B\r\n$GPGGA,090148.000,5222.3177,N,00454.5793,E,1,11,0.76,13.5,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,08,23,13,09,05,29,07,10,04,,1.06,0.76,0.74*0C\r\n$GPRMC,090148.000,A,5222.3177,N,00454.5793,E,0.99,267.48,030414,,,A*6F\r\n$GPVTG,267.48,T,,M,0.99,N,1.84,K,A*3F\r\n$GPGGA,090149.000,5222.3179,N,00454.5790,E,1,9,0.96,13.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090149.000,A,5222.3179,N,00454.5790,E,1.02,268.92,030414,,,A*68\r\n$GPVTG,268.92,T,,M,1.02,N,1.90,K,A*31\r\n$GPGGA,090150.000,5222.3183,N,00454.5787,E,1,9,0.96,13.3,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,72,284,21,13,70,066,32,07,46,163,18,04,44,214,26*7C\r\n$GPGSV,4,2,13,02,43,285,22,23,34,070,42,08,20,181,,16,16,063,36*72\r\n$GPGSV,4,3,13,05,14,296,17,09,14,192,19,29,07,341,22,20,04,122,17*72\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,090150.000,A,5222.3183,N,00454.5787,E,1.00,276.93,030414,,,A*6F\r\n$GPVTG,276.93,T,,M,1.00,N,1.85,K,A*39\r\n$GPGGA,090151.000,5222.3184,N,00454.5785,E,1,9,0.96,13.2,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090151.000,A,5222.3184,N,00454.5785,E,0.83,279.75,030414,,,A*66\r\n$GPVTG,279.75,T,,M,0.83,N,1.53,K,A*3F\r\n$GPGGA,090152.000,5222.3183,N,00454.5786,E,1,9,0.96,13.2,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090152.000,A,5222.3183,N,00454.5786,E,0.77,264.01,030414,,,A*65\r\n$GPVTG,264.01,T,,M,0.77,N,1.43,K,A*3A\r\n$GPGGA,090153.000,5222.3184,N,00454.5785,E,1,9,0.96,13.1,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090153.000,A,5222.3184,N,00454.5785,E,0.56,264.01,030414,,,A*63\r\n$GPVTG,264.01,T,,M,0.56,N,1.04,K,A*3A\r\n$GPGGA,090154.000,5222.3188,N,00454.5785,E,1,9,0.96,13.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090154.000,A,5222.3188,N,00454.5785,E,0.51,264.01,030414,,,A*6F\r\n$GPVTG,264.01,T,,M,0.51,N,0.95,K,A*34\r\n$GPGGA,090155.000,5222.3189,N,00454.5787,E,1,9,0.96,13.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,72,284,20,13,70,066,32,07,46,163,19,04,44,214,24*7E\r\n$GPGSV,4,2,13,02,43,285,23,23,34,070,42,08,20,181,,16,16,063,36*73\r\n$GPGSV,4,3,13,05,14,296,17,09,14,192,20,29,07,341,24,20,04,122,*78\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,090155.000,A,5222.3189,N,00454.5787,E,0.47,264.01,030414,,,A*6A\r\n$GPVTG,264.01,T,,M,0.47,N,0.87,K,A*30\r\n$GPGGA,090156.000,5222.3188,N,00454.5788,E,1,9,0.96,13.0,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090156.000,A,5222.3188,N,00454.5788,E,0.43,264.01,030414,,,A*63\r\n$GPVTG,264.01,T,,M,0.43,N,0.80,K,A*33\r\n$GPGGA,090157.000,5222.3188,N,00454.5786,E,1,9,0.96,13.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090157.000,A,5222.3188,N,00454.5786,E,0.41,264.01,030414,,,A*6E\r\n$GPVTG,264.01,T,,M,0.41,N,0.76,K,A*38\r\n$GPGGA,090158.000,5222.3189,N,00454.5787,E,1,9,0.96,12.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090158.000,A,5222.3189,N,00454.5787,E,0.05,264.01,030414,,,A*61\r\n$GPVTG,264.01,T,,M,0.05,N,0.09,K,A*30\r\n$GPGGA,090159.000,5222.3191,N,00454.5789,E,1,9,0.96,12.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090159.000,A,5222.3191,N,00454.5789,E,0.42,264.01,030414,,,A*64\r\n$GPVTG,264.01,T,,M,0.42,N,0.78,K,A*35\r\n$GPGGA,090200.000,5222.3192,N,00454.5792,E,1,9,0.96,12.8,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,72,284,20,13,70,066,33,07,46,163,21,04,44,214,23*73\r\n$GPGSV,4,2,13,02,43,285,24,23,34,070,42,08,20,181,,16,16,063,37*75\r\n$GPGSV,4,3,13,05,14,296,16,09,14,192,20,29,08,340,27,20,04,122,*74\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,090200.000,A,5222.3192,N,00454.5792,E,0.36,264.01,030414,,,A*61\r\n$GPVTG,264.01,T,,M,0.36,N,0.67,K,A*38\r\n$GPGGA,090201.000,5222.3192,N,00454.5795,E,1,9,0.96,12.8,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090201.000,A,5222.3192,N,00454.5795,E,0.35,264.01,030414,,,A*64\r\n$GPVTG,264.01,T,,M,0.35,N,0.64,K,A*38\r\n$GPGGA,090202.000,5222.3192,N,00454.5796,E,1,9,0.96,12.7,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090202.000,A,5222.3192,N,00454.5796,E,0.38,264.01,030414,,,A*69\r\n$GPVTG,264.01,T,,M,0.38,N,0.70,K,A*30\r\n$GPGGA,090203.000,5222.3192,N,00454.5795,E,1,9,0.96,12.7,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090203.000,A,5222.3192,N,00454.5795,E,0.48,264.01,030414,,,A*6C\r\n$GPVTG,264.01,T,,M,0.48,N,0.89,K,A*31\r\n$GPGGA,090204.000,5222.3192,N,00454.5793,E,1,9,0.96,12.7,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090204.000,A,5222.3192,N,00454.5793,E,0.43,264.01,030414,,,A*66\r\n$GPVTG,264.01,T,,M,0.43,N,0.80,K,A*33\r\n$GPGGA,090205.000,5222.3192,N,00454.5796,E,1,9,0.96,12.7,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,72,284,20,13,70,066,33,07,46,163,21,04,44,214,23*73\r\n$GPGSV,4,2,13,02,43,285,24,23,34,070,41,37,28,159,,08,20,181,*74\r\n$GPGSV,4,3,13,16,16,063,37,05,14,296,16,09,14,192,20,29,08,340,29*7C\r\n$GPGSV,4,4,13,20,04,122,*4C\r\n$GPRMC,090205.000,A,5222.3192,N,00454.5796,E,0.37,264.01,030414,,,A*61\r\n$GPVTG,264.01,T,,M,0.37,N,0.69,K,A*37\r\n$GPGGA,090206.000,5222.3192,N,00454.5798,E,1,10,0.82,12.6,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090206.000,A,5222.3192,N,00454.5798,E,0.31,264.01,030414,,,A*6A\r\n$GPVTG,264.01,T,,M,0.31,N,0.58,K,A*33\r\n$GPGGA,090207.000,5222.3194,N,00454.5800,E,1,10,0.82,12.6,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090207.000,A,5222.3194,N,00454.5800,E,0.27,264.01,030414,,,A*64\r\n$GPVTG,264.01,T,,M,0.27,N,0.50,K,A*3C\r\n$GPGGA,090208.000,5222.3195,N,00454.5802,E,1,10,0.82,12.5,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090208.000,A,5222.3195,N,00454.5802,E,0.26,264.01,030414,,,A*69\r\n$GPVTG,264.01,T,,M,0.26,N,0.48,K,A*34\r\n$GPGGA,090209.000,5222.3195,N,00454.5802,E,1,10,0.84,12.5,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.49,0.84,1.23*00\r\n$GPRMC,090209.000,A,5222.3195,N,00454.5802,E,0.37,264.01,030414,,,A*68\r\n$GPVTG,264.01,T,,M,0.37,N,0.69,K,A*37\r\n$GPGGA,090210.000,5222.3196,N,00454.5802,E,1,10,0.84,12.5,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.49,0.84,1.23*00\r\n$GPGSV,4,1,13,10,72,284,21,13,70,066,34,07,46,163,20,04,44,214,21*76\r\n$GPGSV,4,2,13,02,43,285,22,23,34,070,41,37,28,159,,08,20,181,15*76\r\n$GPGSV,4,3,13,16,16,063,37,05,15,296,15,09,14,192,19,29,08,340,29*74\r\n$GPGSV,4,4,13,20,04,122,16*4B\r\n$GPRMC,090210.000,A,5222.3196,N,00454.5802,E,0.15,264.01,030414,,,A*63\r\n$GPVTG,264.01,T,,M,0.15,N,0.27,K,A*3D\r\n$GPGGA,090211.000,5222.3197,N,00454.5802,E,1,10,0.82,12.5,M,47.0,M,,*58\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090211.000,A,5222.3197,N,00454.5802,E,0.46,264.01,030414,,,A*65\r\n$GPVTG,264.01,T,,M,0.46,N,0.84,K,A*32\r\n$GPGGA,090212.000,5222.3198,N,00454.5803,E,1,10,0.82,12.5,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090212.000,A,5222.3198,N,00454.5803,E,0.64,36.01,030414,,,A*5D\r\n$GPVTG,36.01,T,,M,0.64,N,1.19,K,A*02\r\n$GPGGA,090213.000,5222.3197,N,00454.5807,E,1,10,0.82,12.4,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090213.000,A,5222.3197,N,00454.5807,E,0.36,36.01,030414,,,A*50\r\n$GPVTG,36.01,T,,M,0.36,N,0.68,K,A*02\r\n$GPGGA,090214.000,5222.3198,N,00454.5810,E,1,10,0.82,12.4,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090214.000,A,5222.3198,N,00454.5810,E,0.11,36.01,030414,,,A*5B\r\n$GPVTG,36.01,T,,M,0.11,N,0.21,K,A*0A\r\n$GPGGA,090215.000,5222.3198,N,00454.5811,E,1,10,0.82,12.4,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,283,21,13,70,066,34,07,46,163,20,04,44,214,18*7A\r\n$GPGSV,4,2,13,02,43,285,22,23,34,070,40,39,27,154,,08,21,181,14*7B\r\n$GPGSV,4,3,13,16,16,063,37,05,15,296,13,09,14,192,18,29,08,340,29*73\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090215.000,A,5222.3198,N,00454.5811,E,0.12,36.01,030414,,,A*58\r\n$GPVTG,36.01,T,,M,0.12,N,0.22,K,A*0A\r\n$GPGGA,090216.000,5222.3199,N,00454.5811,E,1,10,0.82,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090216.000,A,5222.3199,N,00454.5811,E,0.19,36.01,030414,,,A*51\r\n$GPVTG,36.01,T,,M,0.19,N,0.36,K,A*04\r\n$GPGGA,090217.000,5222.3199,N,00454.5810,E,1,10,0.82,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090217.000,A,5222.3199,N,00454.5810,E,0.37,36.01,030414,,,A*5D\r\n$GPVTG,36.01,T,,M,0.37,N,0.68,K,A*03\r\n$GPGGA,090218.000,5222.3199,N,00454.5809,E,1,9,0.90,12.3,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,29,07,10,04,08,,,,1.20,0.90,0.79*01\r\n$GPRMC,090218.000,A,5222.3199,N,00454.5809,E,0.26,36.01,030414,,,A*5A\r\n$GPVTG,36.01,T,,M,0.26,N,0.49,K,A*00\r\n$GPGGA,090219.000,5222.3198,N,00454.5807,E,1,9,0.90,12.3,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,29,07,10,04,08,,,,1.20,0.90,0.79*01\r\n$GPRMC,090219.000,A,5222.3198,N,00454.5807,E,0.17,36.01,030414,,,A*56\r\n$GPVTG,36.01,T,,M,0.17,N,0.32,K,A*0E\r\n$GPGGA,090220.000,5222.3199,N,00454.5807,E,1,9,0.90,12.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,29,07,10,04,08,,,,1.20,0.90,0.79*01\r\n$GPGSV,4,1,13,10,73,283,18,13,70,066,35,07,46,163,22,04,44,214,17*7C\r\n$GPGSV,4,2,13,02,43,285,23,23,34,070,40,39,27,154,,08,21,181,12*7C\r\n$GPGSV,4,3,13,16,16,063,38,05,15,296,14,09,14,192,20,29,08,340,28*71\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090220.000,A,5222.3199,N,00454.5807,E,0.12,36.01,030414,,,A*58\r\n$GPVTG,36.01,T,,M,0.12,N,0.22,K,A*0A\r\n$GPGGA,090221.000,5222.3199,N,00454.5806,E,1,9,0.90,12.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,29,07,10,04,08,,,,1.20,0.90,0.79*01\r\n$GPRMC,090221.000,A,5222.3199,N,00454.5806,E,0.11,36.01,030414,,,A*5B\r\n$GPVTG,36.01,T,,M,0.11,N,0.20,K,A*0B\r\n$GPGGA,090222.000,5222.3199,N,00454.5806,E,1,9,0.90,12.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,29,07,10,04,08,,,,1.20,0.90,0.79*01\r\n$GPRMC,090222.000,A,5222.3199,N,00454.5806,E,0.19,36.01,030414,,,A*50\r\n$GPVTG,36.01,T,,M,0.19,N,0.36,K,A*04\r\n$GPGGA,090223.000,5222.3199,N,00454.5805,E,1,10,0.82,12.3,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090223.000,A,5222.3199,N,00454.5805,E,0.54,36.01,030414,,,A*5B\r\n$GPVTG,36.01,T,,M,0.54,N,1.00,K,A*09\r\n$GPGGA,090224.000,5222.3201,N,00454.5806,E,1,10,0.82,12.3,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090224.000,A,5222.3201,N,00454.5806,E,1.13,38.15,030414,,,A*54\r\n$GPVTG,38.15,T,,M,1.13,N,2.09,K,A*0A\r\n$GPGGA,090225.000,5222.3202,N,00454.5809,E,1,10,0.82,12.3,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,283,19,13,70,066,35,07,46,163,22,04,44,214,15*7F\r\n$GPGSV,4,2,13,02,43,285,23,23,34,070,39,33,27,205,,08,21,181,13*7E\r\n$GPGSV,4,3,13,16,16,063,36,05,15,296,17,09,14,192,19,29,08,340,26*78\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090225.000,A,5222.3202,N,00454.5809,E,0.94,35.86,030414,,,A*50\r\n$GPVTG,35.86,T,,M,0.94,N,1.75,K,A*0B\r\n$GPGGA,090226.000,5222.3203,N,00454.5810,E,1,9,0.96,12.3,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090226.000,A,5222.3203,N,00454.5810,E,0.42,35.86,030414,,,A*51\r\n$GPVTG,35.86,T,,M,0.42,N,0.78,K,A*0C\r\n$GPGGA,090227.000,5222.3205,N,00454.5811,E,1,9,1.08,12.3,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.88,1.08,1.54*00\r\n$GPRMC,090227.000,A,5222.3205,N,00454.5811,E,0.43,35.86,030414,,,A*56\r\n$GPVTG,35.86,T,,M,0.43,N,0.80,K,A*0A\r\n$GPGGA,090228.000,5222.3207,N,00454.5811,E,1,9,0.96,12.3,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090228.000,A,5222.3207,N,00454.5811,E,0.45,35.86,030414,,,A*5D\r\n$GPVTG,35.86,T,,M,0.45,N,0.83,K,A*0F\r\n$GPGGA,090229.000,5222.3208,N,00454.5813,E,1,9,0.96,12.2,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090229.000,A,5222.3208,N,00454.5813,E,0.43,35.86,030414,,,A*57\r\n$GPVTG,35.86,T,,M,0.43,N,0.79,K,A*0C\r\n$GPGGA,090230.000,5222.3208,N,00454.5811,E,1,9,0.96,12.2,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,18,13,70,066,36,07,46,163,21,04,44,214,16*7D\r\n$GPGSV,4,2,13,02,43,285,24,23,34,070,38,08,21,181,,16,16,063,36*78\r\n$GPGSV,4,3,13,05,15,296,17,09,14,192,19,40,09,115,,29,08,340,27*71\r\n$GPGSV,4,4,13,20,04,122,18*45\r\n$GPRMC,090230.000,A,5222.3208,N,00454.5811,E,0.24,35.86,030414,,,A*5C\r\n$GPVTG,35.86,T,,M,0.24,N,0.44,K,A*03\r\n$GPGGA,090231.000,5222.3209,N,00454.5811,E,1,9,0.96,12.2,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090231.000,A,5222.3209,N,00454.5811,E,0.24,35.86,030414,,,A*5C\r\n$GPVTG,35.86,T,,M,0.24,N,0.45,K,A*02\r\n$GPGGA,090232.000,5222.3209,N,00454.5810,E,1,9,0.96,12.2,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090232.000,A,5222.3209,N,00454.5810,E,0.18,35.86,030414,,,A*51\r\n$GPVTG,35.86,T,,M,0.18,N,0.34,K,A*0B\r\n$GPGGA,090233.000,5222.3209,N,00454.5809,E,1,9,0.96,12.2,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090233.000,A,5222.3209,N,00454.5809,E,0.10,35.86,030414,,,A*50\r\n$GPVTG,35.86,T,,M,0.10,N,0.19,K,A*0C\r\n$GPGGA,090234.000,5222.3210,N,00454.5809,E,1,9,0.96,12.2,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090234.000,A,5222.3210,N,00454.5809,E,0.12,35.86,030414,,,A*5D\r\n$GPVTG,35.86,T,,M,0.12,N,0.23,K,A*07\r\n$GPGGA,090235.000,5222.3210,N,00454.5809,E,1,9,0.96,12.2,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,18,13,70,066,36,07,46,163,20,04,44,214,17*7D\r\n$GPGSV,4,2,13,02,43,285,23,23,34,070,38,08,21,181,13,16,16,063,36*7D\r\n$GPGSV,4,3,13,05,15,296,18,09,14,192,18,40,09,115,,29,08,340,28*70\r\n$GPGSV,4,4,13,20,04,122,18*45\r\n$GPRMC,090235.000,A,5222.3210,N,00454.5809,E,0.21,35.86,030414,,,A*5C\r\n$GPVTG,35.86,T,,M,0.21,N,0.39,K,A*0C\r\n$GPGGA,090236.000,5222.3210,N,00454.5808,E,1,9,0.96,12.2,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090236.000,A,5222.3210,N,00454.5808,E,0.10,35.86,030414,,,A*5C\r\n$GPVTG,35.86,T,,M,0.10,N,0.19,K,A*0C\r\n$GPGGA,090237.000,5222.3210,N,00454.5807,E,1,9,0.96,12.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090237.000,A,5222.3210,N,00454.5807,E,0.03,35.86,030414,,,A*50\r\n$GPVTG,35.86,T,,M,0.03,N,0.06,K,A*00\r\n$GPGGA,090238.000,5222.3210,N,00454.5807,E,1,9,0.96,12.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090238.000,A,5222.3210,N,00454.5807,E,0.05,35.86,030414,,,A*59\r\n$GPVTG,35.86,T,,M,0.05,N,0.10,K,A*01\r\n$GPGGA,090239.000,5222.3210,N,00454.5808,E,1,9,0.96,12.2,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090239.000,A,5222.3210,N,00454.5808,E,0.13,35.86,030414,,,A*50\r\n$GPVTG,35.86,T,,M,0.13,N,0.23,K,A*06\r\n$GPGGA,090240.000,5222.3210,N,00454.5808,E,1,9,0.96,12.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,18,13,70,066,36,07,46,163,19,04,44,214,14*74\r\n$GPGSV,4,2,13,02,43,285,20,23,34,070,39,08,21,181,14,16,16,063,36*78\r\n$GPGSV,4,3,13,05,15,296,16,09,14,192,18,29,08,340,28,44,08,114,*7A\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090240.000,A,5222.3210,N,00454.5808,E,0.07,35.86,030414,,,A*5B\r\n$GPVTG,35.86,T,,M,0.07,N,0.13,K,A*00\r\n$GPGGA,090241.000,5222.3210,N,00454.5808,E,1,9,1.08,12.2,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.88,1.08,1.54*00\r\n$GPRMC,090241.000,A,5222.3210,N,00454.5808,E,0.70,55.65,030414,,,A*51\r\n$GPVTG,55.65,T,,M,0.70,N,1.30,K,A*0B\r\n$GPGGA,090242.000,5222.3212,N,00454.5812,E,1,9,0.96,12.1,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090242.000,A,5222.3212,N,00454.5812,E,0.72,54.59,030414,,,A*57\r\n$GPVTG,54.59,T,,M,0.72,N,1.34,K,A*03\r\n$GPGGA,090243.000,5222.3214,N,00454.5818,E,1,9,0.96,12.1,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090243.000,A,5222.3214,N,00454.5818,E,0.42,54.59,030414,,,A*59\r\n$GPVTG,54.59,T,,M,0.42,N,0.77,K,A*06\r\n$GPGGA,090244.000,5222.3217,N,00454.5822,E,1,9,0.96,12.1,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090244.000,A,5222.3217,N,00454.5822,E,0.16,54.59,030414,,,A*55\r\n$GPVTG,54.59,T,,M,0.16,N,0.30,K,A*04\r\n$GPGGA,090245.000,5222.3220,N,00454.5823,E,1,9,0.96,12.1,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,17,13,70,066,36,07,46,163,17,04,44,214,16*77\r\n$GPGSV,4,2,13,02,43,285,21,23,34,070,39,08,21,181,15,16,16,063,36*78\r\n$GPGSV,4,3,13,05,15,296,19,09,14,192,17,29,08,340,29,44,08,114,*7B\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090245.000,A,5222.3220,N,00454.5823,E,0.15,54.59,030414,,,A*52\r\n$GPVTG,54.59,T,,M,0.15,N,0.28,K,A*0E\r\n$GPGGA,090246.000,5222.3219,N,00454.5825,E,1,9,1.08,12.1,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.88,1.08,1.54*00\r\n$GPRMC,090246.000,A,5222.3219,N,00454.5825,E,0.11,54.59,030414,,,A*59\r\n$GPVTG,54.59,T,,M,0.11,N,0.20,K,A*02\r\n$GPGGA,090247.000,5222.3219,N,00454.5824,E,1,9,0.96,12.1,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090247.000,A,5222.3219,N,00454.5824,E,0.04,54.59,030414,,,A*5D\r\n$GPVTG,54.59,T,,M,0.04,N,0.07,K,A*03\r\n$GPGGA,090248.000,5222.3219,N,00454.5825,E,1,9,0.96,12.1,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090248.000,A,5222.3219,N,00454.5825,E,0.06,54.59,030414,,,A*51\r\n$GPVTG,54.59,T,,M,0.06,N,0.11,K,A*06\r\n$GPGGA,090249.000,5222.3219,N,00454.5824,E,1,9,1.08,12.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.88,1.08,1.54*00\r\n$GPRMC,090249.000,A,5222.3219,N,00454.5824,E,0.07,54.59,030414,,,A*50\r\n$GPVTG,54.59,T,,M,0.07,N,0.14,K,A*02\r\n$GPGGA,090250.000,5222.3219,N,00454.5823,E,1,9,0.96,11.9,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,17,13,70,066,37,07,46,163,15,04,44,214,18*7A\r\n$GPGSV,4,2,13,02,43,285,24,23,34,070,39,08,21,181,16,16,16,063,37*7F\r\n$GPGSV,4,3,13,05,15,296,22,09,14,192,17,29,08,340,31,20,04,122,17*77\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090250.000,A,5222.3219,N,00454.5823,E,0.09,54.59,030414,,,A*51\r\n$GPVTG,54.59,T,,M,0.09,N,0.17,K,A*0F\r\n$GPGGA,090251.000,5222.3219,N,00454.5825,E,1,9,0.96,11.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090251.000,A,5222.3219,N,00454.5825,E,0.12,54.59,030414,,,A*5C\r\n$GPVTG,54.59,T,,M,0.12,N,0.22,K,A*03\r\n$GPGGA,090252.000,5222.3218,N,00454.5828,E,1,9,0.96,11.9,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090252.000,A,5222.3218,N,00454.5828,E,0.12,54.59,030414,,,A*53\r\n$GPVTG,54.59,T,,M,0.12,N,0.22,K,A*03\r\n$GPGGA,090253.000,5222.3220,N,00454.5830,E,1,9,0.96,11.9,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090253.000,A,5222.3220,N,00454.5830,E,0.17,54.59,030414,,,A*55\r\n$GPVTG,54.59,T,,M,0.17,N,0.32,K,A*07\r\n$GPGGA,090254.000,5222.3218,N,00454.5830,E,1,9,0.96,11.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090254.000,A,5222.3218,N,00454.5830,E,0.60,46.95,030414,,,A*5A\r\n$GPVTG,46.95,T,,M,0.60,N,1.10,K,A*05\r\n$GPGGA,090255.000,5222.3218,N,00454.5831,E,1,9,0.96,11.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPGSV,4,1,13,10,73,283,17,13,69,066,37,07,46,163,14,04,44,214,19*72\r\n$GPGSV,4,2,13,02,43,285,23,23,34,070,39,08,21,181,17,16,16,063,37*79\r\n$GPGSV,4,3,13,05,15,296,23,09,14,192,17,29,08,340,31,20,04,122,16*77\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090255.000,A,5222.3218,N,00454.5831,E,0.55,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.55,N,1.01,K,A*03\r\n$GPGGA,090256.000,5222.3217,N,00454.5831,E,1,9,0.96,11.9,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090256.000,A,5222.3217,N,00454.5831,E,0.17,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.17,N,0.31,K,A*07\r\n$GPGGA,090257.000,5222.3217,N,00454.5832,E,1,9,0.96,11.9,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090257.000,A,5222.3217,N,00454.5832,E,0.20,46.95,030414,,,A*50\r\n$GPVTG,46.95,T,,M,0.20,N,0.37,K,A*05\r\n$GPGGA,090258.000,5222.3217,N,00454.5831,E,1,9,0.96,11.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090258.000,A,5222.3217,N,00454.5831,E,0.24,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.24,N,0.45,K,A*04\r\n$GPGGA,090259.000,5222.3217,N,00454.5830,E,1,9,0.96,11.9,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090259.000,A,5222.3217,N,00454.5830,E,0.25,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.25,N,0.46,K,A*06\r\n$GPGGA,090300.000,5222.3215,N,00454.5830,E,1,9,0.96,11.9,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,17,13,69,066,37,07,46,163,15,04,44,214,18*72\r\n$GPGSV,4,2,13,02,43,285,20,23,34,070,39,08,21,181,14,16,16,063,37*79\r\n$GPGSV,4,3,13,05,15,296,23,09,14,192,19,29,08,340,32,20,04,122,16*7A\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,090300.000,A,5222.3215,N,00454.5830,E,0.27,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.27,N,0.51,K,A*02\r\n$GPGGA,090301.000,5222.3214,N,00454.5829,E,1,9,0.96,11.9,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090301.000,A,5222.3214,N,00454.5829,E,0.32,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.32,N,0.60,K,A*04\r\n$GPGGA,090302.000,5222.3213,N,00454.5829,E,1,9,0.96,11.9,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.27,0.96,0.84*0F\r\n$GPRMC,090302.000,A,5222.3213,N,00454.5829,E,0.35,46.95,030414,,,A*5B\r\n$GPVTG,46.95,T,,M,0.35,N,0.64,K,A*07\r\n$GPGGA,090303.000,5222.3212,N,00454.5829,E,1,9,0.96,11.9,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090303.000,A,5222.3212,N,00454.5829,E,0.38,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.38,N,0.70,K,A*0F\r\n$GPGGA,090304.000,5222.3211,N,00454.5828,E,1,9,0.96,11.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090304.000,A,5222.3211,N,00454.5828,E,0.39,46.95,030414,,,A*52\r\n$GPVTG,46.95,T,,M,0.39,N,0.72,K,A*0C\r\n$GPGGA,090305.000,5222.3211,N,00454.5828,E,1,9,0.96,12.0,M,47.0,M,,*61\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,14,13,69,066,37,07,46,163,16,04,44,214,17*7D\r\n$GPGSV,4,2,13,02,43,285,20,23,34,070,39,08,21,181,16,16,16,063,36*7A\r\n$GPGSV,4,3,13,05,15,296,23,09,14,192,17,29,08,340,32,20,04,122,19*7B\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090305.000,A,5222.3211,N,00454.5828,E,0.35,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.35,N,0.64,K,A*07\r\n$GPGGA,090306.000,5222.3212,N,00454.5827,E,1,9,0.96,12.0,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090306.000,A,5222.3212,N,00454.5827,E,0.09,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.09,N,0.16,K,A*0D\r\n$GPGGA,090307.000,5222.3213,N,00454.5827,E,1,9,0.96,12.1,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090307.000,A,5222.3213,N,00454.5827,E,0.36,46.95,030414,,,A*53\r\n$GPVTG,46.95,T,,M,0.36,N,0.67,K,A*07\r\n$GPGGA,090308.000,5222.3211,N,00454.5827,E,1,8,0.97,12.1,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,04,,,,,1.31,0.97,0.89*05\r\n$GPRMC,090308.000,A,5222.3211,N,00454.5827,E,0.30,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.30,N,0.55,K,A*00\r\n$GPGGA,090309.000,5222.3211,N,00454.5828,E,1,9,0.96,12.1,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090309.000,A,5222.3211,N,00454.5828,E,0.23,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.23,N,0.43,K,A*05\r\n$GPGGA,090310.000,5222.3211,N,00454.5828,E,1,9,0.96,12.2,M,47.0,M,,*67\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,19,13,69,066,37,07,46,163,16,04,44,214,17*70\r\n$GPGSV,4,2,13,02,43,285,22,23,34,070,40,08,21,181,14,16,16,063,36*74\r\n$GPGSV,4,3,13,05,15,296,24,09,14,192,16,29,08,340,33,20,04,122,18*7D\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,090310.000,A,5222.3211,N,00454.5828,E,0.26,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.26,N,0.48,K,A*0B\r\n$GPGGA,090311.000,5222.3209,N,00454.5827,E,1,9,0.96,12.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090311.000,A,5222.3209,N,00454.5827,E,0.28,46.95,030414,,,A*50\r\n$GPVTG,46.95,T,,M,0.28,N,0.53,K,A*0F\r\n$GPGGA,090312.000,5222.3209,N,00454.5826,E,1,9,0.96,12.2,M,47.0,M,,*62\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090312.000,A,5222.3209,N,00454.5826,E,0.31,46.95,030414,,,A*5A\r\n$GPVTG,46.95,T,,M,0.31,N,0.58,K,A*0C\r\n$GPGGA,090313.000,5222.3209,N,00454.5826,E,1,9,0.96,12.1,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090313.000,A,5222.3209,N,00454.5826,E,0.27,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,090314.000,5222.3210,N,00454.5826,E,1,9,0.96,12.1,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090314.000,A,5222.3210,N,00454.5826,E,0.28,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.28,N,0.51,K,A*0D\r\n$GPGGA,090315.000,5222.3210,N,00454.5825,E,1,9,0.96,12.1,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,19,13,69,066,38,07,46,163,18,04,44,214,18*7E\r\n$GPGSV,4,2,13,02,43,285,22,23,34,070,40,08,21,181,17,16,16,063,35*74\r\n$GPGSV,4,3,13,05,15,296,23,09,14,192,18,29,08,340,34,20,04,122,16*7D\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,090315.000,A,5222.3210,N,00454.5825,E,0.27,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.27,N,0.49,K,A*0B\r\n$GPGGA,090316.000,5222.3209,N,00454.5826,E,1,9,0.96,12.1,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090316.000,A,5222.3209,N,00454.5826,E,0.29,46.95,030414,,,A*57\r\n$GPVTG,46.95,T,,M,0.29,N,0.54,K,A*09\r\n$GPGGA,090317.000,5222.3212,N,00454.5828,E,1,9,0.96,12.1,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090317.000,A,5222.3212,N,00454.5828,E,0.31,46.95,030414,,,A*5B\r\n$GPVTG,46.95,T,,M,0.31,N,0.57,K,A*03\r\n$GPGGA,090318.000,5222.3214,N,00454.5828,E,1,9,0.96,12.0,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090318.000,A,5222.3214,N,00454.5828,E,0.32,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.32,N,0.59,K,A*0E\r\n$GPGGA,090319.000,5222.3213,N,00454.5828,E,1,9,0.96,12.0,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090319.000,A,5222.3213,N,00454.5828,E,0.09,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.09,N,0.17,K,A*0C\r\n$GPGGA,090320.000,5222.3214,N,00454.5828,E,1,9,0.96,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,21,13,69,066,38,07,46,163,18,02,43,284,21*77\r\n$GPGSV,4,2,13,04,43,214,20,23,34,070,40,08,21,181,14,16,16,063,33*7D\r\n$GPGSV,4,3,13,05,15,296,23,09,14,192,17,29,08,340,34,20,04,122,15*71\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,090320.000,A,5222.3214,N,00454.5828,E,0.41,46.95,030414,,,A*5E\r\n$GPVTG,46.95,T,,M,0.41,N,0.76,K,A*07\r\n$GPGGA,090321.000,5222.3214,N,00454.5829,E,1,9,0.96,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090321.000,A,5222.3214,N,00454.5829,E,0.33,46.95,030414,,,A*5B\r\n$GPVTG,46.95,T,,M,0.33,N,0.61,K,A*04\r\n$GPGGA,090322.000,5222.3215,N,00454.5830,E,1,9,0.96,12.0,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090322.000,A,5222.3215,N,00454.5830,E,0.19,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.19,N,0.35,K,A*0D\r\n$GPGGA,090323.000,5222.3216,N,00454.5829,E,1,9,0.96,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090323.000,A,5222.3216,N,00454.5829,E,0.35,46.95,030414,,,A*5D\r\n$GPVTG,46.95,T,,M,0.35,N,0.64,K,A*07\r\n$GPGGA,090324.000,5222.3216,N,00454.5828,E,1,9,0.96,12.0,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090324.000,A,5222.3216,N,00454.5828,E,0.37,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.37,N,0.68,K,A*09\r\n$GPGGA,090325.000,5222.3215,N,00454.5826,E,1,9,0.96,12.0,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,24,13,69,066,38,07,47,163,17,02,43,284,21*7C\r\n$GPGSV,4,2,13,04,43,214,22,23,34,070,39,08,21,181,17,16,16,063,28*78\r\n$GPGSV,4,3,13,05,15,296,20,09,15,192,20,29,08,340,34,20,04,122,15*77\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,090325.000,A,5222.3215,N,00454.5826,E,0.46,46.95,030414,,,A*53\r\n$GPVTG,46.95,T,,M,0.46,N,0.85,K,A*0C\r\n$GPGGA,090326.000,5222.3214,N,00454.5827,E,1,9,0.96,12.1,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090326.000,A,5222.3214,N,00454.5827,E,0.49,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.49,N,0.91,K,A*06\r\n$GPGGA,090327.000,5222.3214,N,00454.5829,E,1,9,0.96,12.1,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090327.000,A,5222.3214,N,00454.5829,E,0.48,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.48,N,0.89,K,A*0E\r\n$GPGGA,090328.000,5222.3216,N,00454.5831,E,1,9,0.96,12.2,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090328.000,A,5222.3216,N,00454.5831,E,0.32,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.32,N,0.60,K,A*04\r\n$GPGGA,090329.000,5222.3217,N,00454.5832,E,1,9,0.96,12.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090329.000,A,5222.3217,N,00454.5832,E,0.31,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.31,N,0.58,K,A*0C\r\n$GPGGA,090330.000,5222.3216,N,00454.5831,E,1,9,0.96,12.2,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,21,13,69,066,38,07,47,163,14,02,43,284,21*7A\r\n$GPGSV,4,2,13,04,43,214,24,23,34,070,38,08,21,181,16,16,16,063,26*70\r\n$GPGSV,4,3,13,05,15,296,16,09,15,192,18,29,08,340,35,20,04,122,16*7B\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090330.000,A,5222.3216,N,00454.5831,E,0.20,46.95,030414,,,A*52\r\n$GPVTG,46.95,T,,M,0.20,N,0.37,K,A*05\r\n$GPGGA,090331.000,5222.3216,N,00454.5831,E,1,9,0.96,12.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090331.000,A,5222.3216,N,00454.5831,E,0.25,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.25,N,0.46,K,A*06\r\n$GPGGA,090332.000,5222.3215,N,00454.5830,E,1,9,0.96,12.2,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090332.000,A,5222.3215,N,00454.5830,E,0.31,46.95,030414,,,A*52\r\n$GPVTG,46.95,T,,M,0.31,N,0.57,K,A*03\r\n$GPGGA,090333.000,5222.3215,N,00454.5829,E,1,9,0.96,12.2,M,47.0,M,,*63\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090333.000,A,5222.3215,N,00454.5829,E,0.27,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,090334.000,5222.3214,N,00454.5828,E,1,9,0.96,12.2,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090334.000,A,5222.3214,N,00454.5828,E,0.16,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.16,N,0.29,K,A*0F\r\n$GPGGA,090335.000,5222.3214,N,00454.5828,E,1,9,0.96,12.2,M,47.0,M,,*65\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,24,13,69,066,38,07,47,163,17,02,43,284,20*7D\r\n$GPGSV,4,2,13,04,43,214,25,23,34,070,38,08,21,181,19,16,16,063,28*70\r\n$GPGSV,4,3,13,05,15,296,15,09,15,192,16,29,08,340,35,20,04,122,15*75\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090335.000,A,5222.3214,N,00454.5828,E,0.24,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.24,N,0.45,K,A*04\r\n$GPGGA,090336.000,5222.3213,N,00454.5827,E,1,9,0.96,12.2,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090336.000,A,5222.3213,N,00454.5827,E,0.10,46.95,030414,,,A*55\r\n$GPVTG,46.95,T,,M,0.10,N,0.18,K,A*0B\r\n$GPGGA,090337.000,5222.3213,N,00454.5828,E,1,9,0.96,12.2,M,47.0,M,,*60\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090337.000,A,5222.3213,N,00454.5828,E,0.27,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,090338.000,5222.3214,N,00454.5828,E,1,9,0.96,12.2,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090338.000,A,5222.3214,N,00454.5828,E,0.12,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.12,N,0.22,K,A*00\r\n$GPGGA,090339.000,5222.3214,N,00454.5828,E,1,9,1.08,12.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.89,1.08,1.55*00\r\n$GPRMC,090339.000,A,5222.3214,N,00454.5828,E,0.13,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.13,N,0.25,K,A*06\r\n$GPGGA,090340.000,5222.3215,N,00454.5829,E,1,9,0.96,12.3,M,47.0,M,,*66\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,23,13,69,066,38,07,47,163,17,02,43,284,18*71\r\n$GPGSV,4,2,13,04,43,214,23,23,33,070,39,08,21,181,17,16,16,063,30*77\r\n$GPGSV,4,3,13,05,15,296,15,09,15,192,16,29,08,340,35,20,04,122,15*75\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,090340.000,A,5222.3215,N,00454.5829,E,0.17,46.95,030414,,,A*5B\r\n$GPVTG,46.95,T,,M,0.17,N,0.32,K,A*04\r\n$GPGGA,090341.000,5222.3216,N,00454.5831,E,1,9,0.96,12.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090341.000,A,5222.3216,N,00454.5831,E,0.13,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.13,N,0.24,K,A*07\r\n$GPGGA,090342.000,5222.3215,N,00454.5832,E,1,9,0.96,12.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090342.000,A,5222.3215,N,00454.5832,E,0.14,46.95,030414,,,A*50\r\n$GPVTG,46.95,T,,M,0.14,N,0.26,K,A*02\r\n$GPGGA,090343.000,5222.3214,N,00454.5831,E,1,9,0.96,12.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090343.000,A,5222.3214,N,00454.5831,E,0.20,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.20,N,0.37,K,A*05\r\n$GPGGA,090344.000,5222.3214,N,00454.5830,E,1,9,0.96,12.3,M,47.0,M,,*6B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090344.000,A,5222.3214,N,00454.5830,E,0.28,46.95,030414,,,A*5A\r\n$GPVTG,46.95,T,,M,0.28,N,0.52,K,A*0E\r\n$GPGGA,090345.000,5222.3213,N,00454.5830,E,1,9,0.96,12.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,22,13,69,066,38,07,47,163,17,02,43,284,20*7B\r\n$GPGSV,4,2,13,04,43,214,23,23,33,070,40,08,21,181,17,16,16,063,27*7F\r\n$GPGSV,4,3,13,05,15,296,16,09,15,192,16,29,08,340,34,20,04,122,14*76\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,090345.000,A,5222.3213,N,00454.5830,E,0.26,46.95,030414,,,A*52\r\n$GPVTG,46.95,T,,M,0.26,N,0.47,K,A*04\r\n$GPGGA,090346.000,5222.3211,N,00454.5829,E,1,9,0.96,12.3,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090346.000,A,5222.3211,N,00454.5829,E,0.30,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.30,N,0.56,K,A*03\r\n$GPGGA,090347.000,5222.3209,N,00454.5829,E,1,9,0.96,12.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090347.000,A,5222.3209,N,00454.5829,E,0.32,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.32,N,0.59,K,A*0E\r\n$GPGGA,090348.000,5222.3208,N,00454.5830,E,1,9,0.96,12.3,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090348.000,A,5222.3208,N,00454.5830,E,0.34,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.34,N,0.63,K,A*01\r\n$GPGGA,090349.000,5222.3206,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090349.000,A,5222.3206,N,00454.5831,E,0.37,46.95,030414,,,A*5B\r\n$GPVTG,46.95,T,,M,0.37,N,0.68,K,A*09\r\n$GPGGA,090350.000,5222.3204,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,283,22,13,69,066,38,07,47,163,17,02,43,284,22*79\r\n$GPGSV,4,2,13,04,43,214,21,23,33,070,40,08,21,181,17,16,16,063,26*7C\r\n$GPGSV,4,3,13,05,15,296,15,09,15,192,17,29,08,340,34,20,04,122,15*75\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,090350.000,A,5222.3204,N,00454.5831,E,0.40,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.40,N,0.74,K,A*04\r\n$GPGGA,090351.000,5222.3203,N,00454.5830,E,1,10,0.82,12.3,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090351.000,A,5222.3203,N,00454.5830,E,0.08,46.95,030414,,,A*5A\r\n$GPVTG,46.95,T,,M,0.08,N,0.15,K,A*0F\r\n$GPGGA,090352.000,5222.3203,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090352.000,A,5222.3203,N,00454.5831,E,0.45,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.45,N,0.84,K,A*0E\r\n$GPGGA,090353.000,5222.3204,N,00454.5832,E,1,9,0.96,12.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090353.000,A,5222.3204,N,00454.5832,E,0.11,46.95,030414,,,A*55\r\n$GPVTG,46.95,T,,M,0.11,N,0.20,K,A*01\r\n$GPGGA,090354.000,5222.3204,N,00454.5832,E,1,9,0.96,12.3,M,47.0,M,,*69\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090354.000,A,5222.3204,N,00454.5832,E,0.16,46.95,030414,,,A*55\r\n$GPVTG,46.95,T,,M,0.16,N,0.29,K,A*0F\r\n$GPGGA,090355.000,5222.3204,N,00454.5832,E,1,9,0.96,12.3,M,47.0,M,,*68\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,283,21,13,69,066,37,07,47,163,16,02,44,284,19*7B\r\n$GPGSV,4,2,13,04,43,214,22,23,33,070,40,08,21,181,17,16,16,063,26*7F\r\n$GPGSV,4,3,13,05,15,296,15,09,15,192,17,29,08,340,36,20,04,122,15*77\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,090355.000,A,5222.3204,N,00454.5832,E,0.43,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.43,N,0.79,K,A*0A\r\n$GPGGA,090356.000,5222.3203,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090356.000,A,5222.3203,N,00454.5831,E,0.52,46.95,030414,,,A*53\r\n$GPVTG,46.95,T,,M,0.52,N,0.96,K,A*0B\r\n$GPGGA,090357.000,5222.3202,N,00454.5829,E,1,10,0.82,12.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090357.000,A,5222.3202,N,00454.5829,E,0.46,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.46,N,0.85,K,A*0C\r\n$GPGGA,090358.000,5222.3201,N,00454.5828,E,1,10,0.82,12.3,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090358.000,A,5222.3201,N,00454.5828,E,0.36,46.95,030414,,,A*55\r\n$GPVTG,46.95,T,,M,0.36,N,0.67,K,A*07\r\n$GPGGA,090359.000,5222.3200,N,00454.5827,E,1,9,0.96,12.3,M,47.0,M,,*64\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090359.000,A,5222.3200,N,00454.5827,E,0.27,46.95,030414,,,A*5A\r\n$GPVTG,46.95,T,,M,0.27,N,0.50,K,A*03\r\n$GPGGA,090400.000,5222.3199,N,00454.5827,E,1,9,0.96,12.2,M,47.0,M,,*6D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPGSV,4,1,13,10,73,282,21,13,69,066,37,07,47,163,19,02,44,284,19*75\r\n$GPGSV,4,2,13,04,43,214,21,23,33,070,40,08,21,181,17,16,16,063,28*72\r\n$GPGSV,4,3,13,05,15,296,13,09,15,192,18,29,08,340,33,20,04,122,15*7B\r\n$GPGSV,4,4,13,51,,,*7F\r\n$GPRMC,090400.000,A,5222.3199,N,00454.5827,E,0.21,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.21,N,0.38,K,A*0B\r\n$GPGGA,090401.000,5222.3199,N,00454.5827,E,1,10,0.82,12.2,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090401.000,A,5222.3199,N,00454.5827,E,0.20,46.95,030414,,,A*54\r\n$GPVTG,46.95,T,,M,0.20,N,0.38,K,A*0A\r\n$GPGGA,090402.000,5222.3198,N,00454.5826,E,1,10,0.82,12.2,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090402.000,A,5222.3198,N,00454.5826,E,0.15,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.15,N,0.28,K,A*0D\r\n$GPGGA,090403.000,5222.3198,N,00454.5827,E,1,10,0.82,12.2,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090403.000,A,5222.3198,N,00454.5827,E,0.18,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.18,N,0.33,K,A*0A\r\n$GPGGA,090404.000,5222.3198,N,00454.5827,E,1,10,0.82,12.3,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090404.000,A,5222.3198,N,00454.5827,E,0.37,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.37,N,0.68,K,A*09\r\n$GPGGA,090405.000,5222.3198,N,00454.5828,E,1,10,0.82,12.3,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,282,21,13,69,066,38,07,47,163,20,02,44,284,22*78\r\n$GPGSV,4,2,13,04,43,214,21,23,33,070,40,08,21,181,17,16,16,063,30*7B\r\n$GPGSV,4,3,13,05,15,296,17,09,15,192,17,29,08,340,34,20,04,122,16*74\r\n$GPGSV,4,4,13,42,,,*7D\r\n$GPRMC,090405.000,A,5222.3198,N,00454.5828,E,0.44,46.95,030414,,,A*5C\r\n$GPVTG,46.95,T,,M,0.44,N,0.81,K,A*0A\r\n$GPGGA,090406.000,5222.3200,N,00454.5830,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090406.000,A,5222.3200,N,00454.5830,E,0.39,46.95,030414,,,A*5E\r\n$GPVTG,46.95,T,,M,0.39,N,0.73,K,A*0D\r\n$GPGGA,090407.000,5222.3201,N,00454.5830,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090407.000,A,5222.3201,N,00454.5830,E,0.14,46.95,030414,,,A*51\r\n$GPVTG,46.95,T,,M,0.14,N,0.26,K,A*02\r\n$GPGGA,090408.000,5222.3201,N,00454.5832,E,1,10,0.84,12.4,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.25*0F\r\n$GPRMC,090408.000,A,5222.3201,N,00454.5832,E,0.10,46.95,030414,,,A*58\r\n$GPVTG,46.95,T,,M,0.10,N,0.18,K,A*0B\r\n$GPGGA,090409.000,5222.3201,N,00454.5831,E,1,10,0.82,12.4,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090409.000,A,5222.3201,N,00454.5831,E,0.08,46.95,030414,,,A*53\r\n$GPVTG,46.95,T,,M,0.08,N,0.16,K,A*0C\r\n$GPGGA,090410.000,5222.3201,N,00454.5831,E,1,10,0.82,12.4,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,282,19,13,69,066,38,07,47,163,23,02,44,284,24*76\r\n$GPGSV,4,2,13,04,43,214,21,23,33,070,40,08,21,181,17,16,16,062,31*7B\r\n$GPGSV,4,3,13,05,15,296,16,09,15,192,20,29,08,340,31,20,04,122,16*74\r\n$GPGSV,4,4,13,48,,,*77\r\n$GPRMC,090410.000,A,5222.3201,N,00454.5831,E,0.06,46.95,030414,,,A*55\r\n$GPVTG,46.95,T,,M,0.06,N,0.11,K,A*05\r\n$GPGGA,090411.000,5222.3201,N,00454.5831,E,1,10,0.82,12.4,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090411.000,A,5222.3201,N,00454.5831,E,0.01,46.95,030414,,,A*53\r\n$GPVTG,46.95,T,,M,0.01,N,0.02,K,A*00\r\n$GPGGA,090412.000,5222.3201,N,00454.5831,E,1,10,0.82,12.4,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090412.000,A,5222.3201,N,00454.5831,E,0.08,46.95,030414,,,A*59\r\n$GPVTG,46.95,T,,M,0.08,N,0.16,K,A*0C\r\n$GPGGA,090413.000,5222.3201,N,00454.5831,E,1,10,0.82,12.4,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090413.000,A,5222.3201,N,00454.5831,E,0.06,46.95,030414,,,A*56\r\n$GPVTG,46.95,T,,M,0.06,N,0.11,K,A*05\r\n$GPGGA,090414.000,5222.3201,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090414.000,A,5222.3201,N,00454.5831,E,0.08,46.95,030414,,,A*5F\r\n$GPVTG,46.95,T,,M,0.08,N,0.14,K,A*0E\r\n$GPGGA,090415.000,5222.3201,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,282,21,13,69,066,38,07,47,163,21,02,44,284,24*7F\r\n$GPGSV,4,2,13,04,43,214,20,23,33,070,41,08,21,181,15,16,16,062,32*7A\r\n$GPGSV,4,3,13,05,15,296,16,09,15,192,17,29,08,340,32,20,04,122,16*73\r\n$GPGSV,4,4,13,48,,,*77\r\n$GPRMC,090415.000,A,5222.3201,N,00454.5831,E,0.10,46.95,030414,,,A*57\r\n$GPVTG,46.95,T,,M,0.10,N,0.19,K,A*0A\r\n$GPGGA,090416.000,5222.3200,N,00454.5831,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090416.000,A,5222.3200,N,00454.5831,E,0.09,46.95,030414,,,A*5D\r\n$GPVTG,46.95,T,,M,0.09,N,0.17,K,A*0C\r\n$GPGGA,090417.000,5222.3200,N,00454.5832,E,1,10,0.82,12.3,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090417.000,A,5222.3200,N,00454.5832,E,0.73,28.40,030414,,,A*52\r\n$GPVTG,28.40,T,,M,0.73,N,1.35,K,A*00\r\n$GPGGA,090418.000,5222.3201,N,00454.5833,E,1,10,0.82,12.3,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090418.000,A,5222.3201,N,00454.5833,E,0.70,35.87,030414,,,A*59\r\n$GPVTG,35.87,T,,M,0.70,N,1.29,K,A*09\r\n$GPGGA,090419.000,5222.3203,N,00454.5835,E,1,10,0.82,12.3,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090419.000,A,5222.3203,N,00454.5835,E,0.49,35.87,030414,,,A*56\r\n$GPVTG,35.87,T,,M,0.49,N,0.91,K,A*01\r\n$GPGGA,090420.000,5222.3205,N,00454.5836,E,1,10,0.82,12.2,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,282,23,13,69,066,39,07,47,163,22,02,44,284,23*78\r\n$GPGSV,4,2,13,04,43,214,19,23,33,070,41,08,21,181,15,16,16,062,33*71\r\n$GPGSV,4,3,13,05,15,296,15,09,15,192,17,29,08,339,30,20,04,122,16*7C\r\n$GPGSV,4,4,13,50,,,*7E\r\n$GPRMC,090420.000,A,5222.3205,N,00454.5836,E,0.46,35.87,030414,,,A*56\r\n$GPVTG,35.87,T,,M,0.46,N,0.86,K,A*08\r\n$GPGGA,090421.000,5222.3206,N,00454.5836,E,1,10,0.84,12.2,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.25*0F\r\n$GPRMC,090421.000,A,5222.3206,N,00454.5836,E,0.39,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.39,N,0.73,K,A*0A\r\n$GPGGA,090422.000,5222.3207,N,00454.5837,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090422.000,A,5222.3207,N,00454.5837,E,0.22,35.87,030414,,,A*55\r\n$GPVTG,35.87,T,,M,0.22,N,0.41,K,A*01\r\n$GPGGA,090423.000,5222.3207,N,00454.5837,E,1,10,0.82,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090423.000,A,5222.3207,N,00454.5837,E,0.11,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.11,N,0.21,K,A*07\r\n$GPGGA,090424.000,5222.3207,N,00454.5836,E,1,10,0.82,12.1,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090424.000,A,5222.3207,N,00454.5836,E,0.26,35.87,030414,,,A*56\r\n$GPVTG,35.87,T,,M,0.26,N,0.47,K,A*03\r\n$GPGGA,090425.000,5222.3208,N,00454.5837,E,1,10,0.82,12.1,M,47.0,M,,*5E\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,73,282,22,13,69,066,39,07,47,163,21,02,44,284,17*7D\r\n$GPGSV,4,2,13,04,43,214,17,23,33,070,40,37,28,159,,08,21,181,16*7A\r\n$GPGSV,4,3,13,16,16,062,33,05,15,296,16,09,15,192,17,29,08,339,33*78\r\n$GPGSV,4,4,13,20,04,122,18*45\r\n$GPRMC,090425.000,A,5222.3208,N,00454.5837,E,0.28,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.28,N,0.52,K,A*09\r\n$GPGGA,090426.000,5222.3208,N,00454.5839,E,1,10,0.82,12.1,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090426.000,A,5222.3208,N,00454.5839,E,0.13,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.13,N,0.23,K,A*07\r\n$GPGGA,090427.000,5222.3208,N,00454.5839,E,1,10,0.82,12.1,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090427.000,A,5222.3208,N,00454.5839,E,0.05,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.05,N,0.09,K,A*08\r\n$GPGGA,090428.000,5222.3208,N,00454.5839,E,1,10,0.82,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090428.000,A,5222.3208,N,00454.5839,E,0.02,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.02,N,0.04,K,A*02\r\n$GPGGA,090429.000,5222.3208,N,00454.5839,E,1,10,0.84,12.1,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.26*0C\r\n$GPRMC,090429.000,A,5222.3208,N,00454.5839,E,0.07,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.07,N,0.14,K,A*06\r\n$GPGGA,090430.000,5222.3208,N,00454.5839,E,1,10,0.84,12.1,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.26*0C\r\n$GPGSV,4,1,13,10,73,282,20,13,69,066,39,07,47,163,18,02,44,284,17*75\r\n$GPGSV,4,2,13,04,43,213,16,23,33,070,38,37,28,159,,08,21,181,16*73\r\n$GPGSV,4,3,13,16,16,062,34,05,16,296,16,09,15,192,18,29,08,339,33*73\r\n$GPGSV,4,4,13,20,04,122,18*45\r\n$GPRMC,090430.000,A,5222.3208,N,00454.5839,E,0.24,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.24,N,0.45,K,A*03\r\n$GPGGA,090431.000,5222.3209,N,00454.5840,E,1,10,0.82,12.1,M,47.0,M,,*5A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090431.000,A,5222.3209,N,00454.5840,E,0.25,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.25,N,0.47,K,A*00\r\n$GPGGA,090432.000,5222.3210,N,00454.5840,E,1,10,0.82,12.1,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090432.000,A,5222.3210,N,00454.5840,E,0.14,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.14,N,0.26,K,A*05\r\n$GPGGA,090433.000,5222.3210,N,00454.5841,E,1,10,0.82,12.1,M,47.0,M,,*51\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090433.000,A,5222.3210,N,00454.5841,E,0.03,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.03,N,0.05,K,A*02\r\n$GPGGA,090434.000,5222.3210,N,00454.5841,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090434.000,A,5222.3210,N,00454.5841,E,0.09,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.09,N,0.17,K,A*0B\r\n$GPGGA,090435.000,5222.3210,N,00454.5841,E,1,10,0.82,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,74,282,20,13,69,066,39,07,47,163,20,02,44,284,21*7C\r\n$GPGSV,4,2,13,04,43,213,16,23,33,070,38,39,27,154,,08,22,181,15*7F\r\n$GPGSV,4,3,13,16,16,062,34,05,16,296,20,09,15,192,17,29,08,339,33*79\r\n$GPGSV,4,4,13,20,04,122,16*4B\r\n$GPRMC,090435.000,A,5222.3210,N,00454.5841,E,0.14,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.14,N,0.26,K,A*05\r\n$GPGGA,090436.000,5222.3210,N,00454.5840,E,1,10,0.82,12.1,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090436.000,A,5222.3210,N,00454.5840,E,0.04,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.04,N,0.08,K,A*08\r\n$GPGGA,090437.000,5222.3210,N,00454.5840,E,1,10,0.82,12.1,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090437.000,A,5222.3210,N,00454.5840,E,0.06,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.06,N,0.11,K,A*02\r\n$GPGGA,090438.000,5222.3209,N,00454.5840,E,1,10,0.82,12.1,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPRMC,090438.000,A,5222.3209,N,00454.5840,E,0.18,35.87,030414,,,A*59\r\n$GPVTG,35.87,T,,M,0.18,N,0.33,K,A*0D\r\n$GPGGA,090439.000,5222.3209,N,00454.5841,E,1,10,0.82,12.1,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090439.000,A,5222.3209,N,00454.5841,E,0.12,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.12,N,0.22,K,A*07\r\n$GPGGA,090440.000,5222.3209,N,00454.5841,E,1,10,0.82,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.13,0.82,0.78*06\r\n$GPGSV,4,1,13,10,74,282,22,13,68,066,39,07,47,163,20,02,44,284,20*7E\r\n$GPGSV,4,2,13,04,43,213,19,23,33,070,40,39,27,154,,08,22,181,16*7C\r\n$GPGSV,4,3,13,16,16,062,35,05,16,296,21,09,15,192,17,29,08,339,34*7E\r\n$GPGSV,4,4,13,20,04,122,17*4A\r\n$GPRMC,090440.000,A,5222.3209,N,00454.5841,E,0.17,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.17,N,0.32,K,A*03\r\n$GPGGA,090441.000,5222.3209,N,00454.5842,E,1,10,0.82,12.1,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090441.000,A,5222.3209,N,00454.5842,E,0.11,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.11,N,0.20,K,A*06\r\n$GPGGA,090442.000,5222.3210,N,00454.5842,E,1,10,0.82,12.1,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090442.000,A,5222.3210,N,00454.5842,E,0.24,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.24,N,0.45,K,A*03\r\n$GPGGA,090443.000,5222.3210,N,00454.5843,E,1,10,0.82,12.1,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090443.000,A,5222.3210,N,00454.5843,E,0.25,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.25,N,0.46,K,A*01\r\n$GPGGA,090444.000,5222.3210,N,00454.5844,E,1,10,0.82,12.1,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090444.000,A,5222.3210,N,00454.5844,E,0.13,35.87,030414,,,A*55\r\n$GPVTG,35.87,T,,M,0.13,N,0.24,K,A*00\r\n$GPGGA,090445.000,5222.3210,N,00454.5844,E,1,10,0.82,12.1,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPGSV,4,1,13,10,74,282,20,13,68,066,39,07,47,163,21,02,44,284,18*76\r\n$GPGSV,4,2,13,04,43,213,18,23,33,070,41,33,27,205,,08,22,181,15*72\r\n$GPGSV,4,3,13,16,17,062,36,05,16,296,19,09,15,192,17,29,08,339,33*70\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090445.000,A,5222.3210,N,00454.5844,E,0.04,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.04,N,0.07,K,A*07\r\n$GPGGA,090446.000,5222.3210,N,00454.5844,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090446.000,A,5222.3210,N,00454.5844,E,0.18,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.18,N,0.33,K,A*0D\r\n$GPGGA,090447.000,5222.3211,N,00454.5844,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090447.000,A,5222.3211,N,00454.5844,E,0.22,35.87,030414,,,A*55\r\n$GPVTG,35.87,T,,M,0.22,N,0.41,K,A*01\r\n$GPGGA,090448.000,5222.3211,N,00454.5844,E,1,10,0.84,12.1,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.26*0C\r\n$GPRMC,090448.000,A,5222.3211,N,00454.5844,E,0.20,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.20,N,0.37,K,A*02\r\n$GPGGA,090449.000,5222.3212,N,00454.5844,E,1,10,0.84,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.51,0.84,1.26*0C\r\n$GPRMC,090449.000,A,5222.3212,N,00454.5844,E,0.17,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.17,N,0.32,K,A*03\r\n$GPGGA,090450.000,5222.3212,N,00454.5843,E,1,10,0.82,12.1,M,47.0,M,,*54\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPGSV,4,1,13,10,74,282,21,13,68,066,39,07,47,163,20,02,44,284,18*76\r\n$GPGSV,4,2,13,04,43,213,19,23,33,070,41,08,22,181,16,16,17,062,35*71\r\n$GPGSV,4,3,13,05,16,296,22,09,15,192,17,40,09,115,,29,08,339,32*71\r\n$GPGSV,4,4,13,20,03,122,15*4F\r\n$GPRMC,090450.000,A,5222.3212,N,00454.5843,E,0.10,35.87,030414,,,A*56\r\n$GPVTG,35.87,T,,M,0.10,N,0.19,K,A*0D\r\n$GPGGA,090451.000,5222.3212,N,00454.5843,E,1,10,0.82,12.1,M,47.0,M,,*55\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090451.000,A,5222.3212,N,00454.5843,E,0.05,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.05,N,0.09,K,A*08\r\n$GPGGA,090452.000,5222.3212,N,00454.5843,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090452.000,A,5222.3212,N,00454.5843,E,0.17,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.17,N,0.31,K,A*00\r\n$GPGGA,090453.000,5222.3212,N,00454.5843,E,1,10,0.82,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090453.000,A,5222.3212,N,00454.5843,E,0.24,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.24,N,0.45,K,A*03\r\n$GPGGA,090454.000,5222.3212,N,00454.5844,E,1,10,0.82,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090454.000,A,5222.3212,N,00454.5844,E,0.30,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.30,N,0.56,K,A*04\r\n$GPGGA,090455.000,5222.3212,N,00454.5845,E,1,10,0.82,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPGSV,4,1,13,10,74,282,21,13,68,066,39,07,47,163,18,02,44,284,18*7D\r\n$GPGSV,4,2,13,04,43,213,20,23,33,070,41,08,22,181,16,16,17,062,34*7A\r\n$GPGSV,4,3,13,05,16,296,23,09,15,192,17,40,09,115,,29,08,339,31*73\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090455.000,A,5222.3212,N,00454.5845,E,0.27,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.27,N,0.50,K,A*04\r\n$GPGGA,090456.000,5222.3213,N,00454.5846,E,1,10,0.82,12.1,M,47.0,M,,*56\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090456.000,A,5222.3213,N,00454.5846,E,0.06,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.06,N,0.11,K,A*02\r\n$GPGGA,090457.000,5222.3214,N,00454.5847,E,1,10,0.84,12.1,M,47.0,M,,*57\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.52,0.84,1.26*0F\r\n$GPRMC,090457.000,A,5222.3214,N,00454.5847,E,0.13,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.13,N,0.23,K,A*07\r\n$GPGGA,090458.000,5222.3217,N,00454.5848,E,1,10,0.82,12.1,M,47.0,M,,*52\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090458.000,A,5222.3217,N,00454.5848,E,0.33,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.33,N,0.61,K,A*03\r\n$GPGGA,090459.000,5222.3217,N,00454.5847,E,1,10,0.82,12.1,M,47.0,M,,*5C\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090459.000,A,5222.3217,N,00454.5847,E,0.32,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.32,N,0.60,K,A*03\r\n$GPGGA,090500.000,5222.3219,N,00454.5847,E,1,10,0.82,12.1,M,47.0,M,,*5F\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPGSV,4,1,13,10,74,282,21,13,68,066,37,07,47,163,15,02,44,284,18*7E\r\n$GPGSV,4,2,13,04,43,213,17,23,33,070,41,08,22,181,13,16,17,062,34*7B\r\n$GPGSV,4,3,13,05,16,296,24,09,15,192,18,29,08,339,31,44,08,114,*7F\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090500.000,A,5222.3219,N,00454.5847,E,0.30,35.87,030414,,,A*5F\r\n$GPVTG,35.87,T,,M,0.30,N,0.56,K,A*04\r\n$GPGGA,090501.000,5222.3218,N,00454.5848,E,1,10,0.82,12.1,M,47.0,M,,*50\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090501.000,A,5222.3218,N,00454.5848,E,0.23,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.23,N,0.42,K,A*03\r\n$GPGGA,090502.000,5222.3220,N,00454.5849,E,1,10,0.82,12.1,M,47.0,M,,*59\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090502.000,A,5222.3220,N,00454.5849,E,0.19,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.19,N,0.36,K,A*09\r\n$GPGGA,090503.000,5222.3220,N,00454.5849,E,1,9,0.86,12.1,M,47.0,M,,*64\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,08,,,,1.17,0.86,0.79*05\r\n$GPRMC,090503.000,A,5222.3220,N,00454.5849,E,0.16,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.16,N,0.30,K,A*00\r\n$GPGGA,090504.000,5222.3220,N,00454.5848,E,1,9,0.86,12.1,M,47.0,M,,*62\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,08,,,,1.17,0.86,0.79*05\r\n$GPRMC,090504.000,A,5222.3220,N,00454.5848,E,0.18,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.18,N,0.33,K,A*0D\r\n$GPGGA,090505.000,5222.3220,N,00454.5848,E,1,9,0.86,12.1,M,47.0,M,,*63\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,08,,,,1.17,0.86,0.79*05\r\n$GPGSV,4,1,13,10,74,282,20,13,68,066,36,07,47,163,17,02,44,283,*72\r\n$GPGSV,4,2,13,04,43,213,15,23,33,070,41,08,22,181,13,16,17,062,35*78\r\n$GPGSV,4,3,13,05,16,297,22,09,15,192,18,29,08,339,29,44,08,114,*71\r\n$GPGSV,4,4,13,20,03,122,14*4E\r\n$GPRMC,090505.000,A,5222.3220,N,00454.5848,E,0.15,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.15,N,0.28,K,A*0A\r\n$GPGGA,090506.000,5222.3220,N,00454.5847,E,1,10,0.82,12.1,M,47.0,M,,*53\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,08,,,1.14,0.82,0.78*01\r\n$GPRMC,090506.000,A,5222.3220,N,00454.5847,E,0.08,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.08,N,0.15,K,A*08\r\n$GPGGA,090507.000,5222.3220,N,00454.5847,E,1,8,0.99,12.1,M,47.0,M,,*61\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090507.000,A,5222.3220,N,00454.5847,E,0.10,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.10,N,0.18,K,A*0C\r\n$GPGGA,090508.000,5222.3220,N,00454.5846,E,1,8,0.99,12.1,M,47.0,M,,*6F\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090508.000,A,5222.3220,N,00454.5846,E,0.23,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.23,N,0.42,K,A*03\r\n$GPGGA,090509.000,5222.3221,N,00454.5846,E,1,8,1.13,12.1,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.97,1.13,1.62*03\r\n$GPRMC,090509.000,A,5222.3221,N,00454.5846,E,0.38,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.38,N,0.71,K,A*09\r\n$GPGGA,090510.000,5222.3222,N,00454.5846,E,1,8,1.13,12.1,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.97,1.13,1.62*03\r\n$GPGSV,4,1,13,10,74,282,17,13,68,066,36,07,47,163,18,02,44,283,*79\r\n$GPGSV,4,2,13,04,43,213,14,23,33,070,41,37,28,159,,08,22,181,*7B\r\n$GPGSV,4,3,13,16,17,062,36,05,16,297,18,09,15,192,17,29,08,339,30*73\r\n$GPGSV,4,4,13,20,03,122,14*4E\r\n$GPRMC,090510.000,A,5222.3222,N,00454.5846,E,0.12,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.12,N,0.23,K,A*06\r\n$GPGGA,090511.000,5222.3222,N,00454.5846,E,1,8,0.99,12.1,M,47.0,M,,*65\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090511.000,A,5222.3222,N,00454.5846,E,0.19,35.87,030414,,,A*5D\r\n$GPVTG,35.87,T,,M,0.19,N,0.35,K,A*0A\r\n$GPGGA,090512.000,5222.3222,N,00454.5845,E,1,9,0.96,12.1,M,47.0,M,,*6B\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.84*00\r\n$GPRMC,090512.000,A,5222.3222,N,00454.5845,E,0.16,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.16,N,0.29,K,A*08\r\n$GPGGA,090513.000,5222.3222,N,00454.5844,E,1,9,0.96,12.1,M,47.0,M,,*6B\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.84*00\r\n$GPRMC,090513.000,A,5222.3222,N,00454.5844,E,0.32,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.32,N,0.60,K,A*03\r\n$GPGGA,090514.000,5222.3222,N,00454.5843,E,1,9,0.96,12.1,M,47.0,M,,*6B\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.84*00\r\n$GPRMC,090514.000,A,5222.3222,N,00454.5843,E,0.33,35.87,030414,,,A*55\r\n$GPVTG,35.87,T,,M,0.33,N,0.61,K,A*03\r\n$GPGGA,090515.000,5222.3222,N,00454.5841,E,1,8,0.99,12.1,M,47.0,M,,*66\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPGSV,4,1,13,10,74,282,16,13,68,066,38,07,47,163,20,02,44,283,*7D\r\n$GPGSV,4,2,13,04,43,213,16,23,33,070,41,37,28,159,,08,22,181,*79\r\n$GPGSV,4,3,13,16,17,062,37,05,16,297,17,09,15,192,17,29,08,339,27*7B\r\n$GPGSV,4,4,13,20,03,122,15*4F\r\n$GPRMC,090515.000,A,5222.3222,N,00454.5841,E,0.27,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.27,N,0.51,K,A*05\r\n$GPGGA,090516.000,5222.3222,N,00454.5840,E,1,9,0.96,12.1,M,47.0,M,,*6A\r\n$GPGSA,A,3,02,16,23,13,05,29,07,10,04,,,,1.28,0.96,0.84*00\r\n$GPRMC,090516.000,A,5222.3222,N,00454.5840,E,0.23,35.87,030414,,,A*55\r\n$GPVTG,35.87,T,,M,0.23,N,0.43,K,A*02\r\n$GPGGA,090517.000,5222.3222,N,00454.5839,E,1,8,0.99,12.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090517.000,A,5222.3222,N,00454.5839,E,0.15,35.87,030414,,,A*5F\r\n$GPVTG,35.87,T,,M,0.15,N,0.28,K,A*0A\r\n$GPGGA,090518.000,5222.3222,N,00454.5839,E,1,8,0.88,12.0,M,47.0,M,,*65\r\n$GPGSA,A,3,16,23,13,05,29,07,04,08,,,,,1.23,0.88,0.86*0D\r\n$GPRMC,090518.000,A,5222.3222,N,00454.5839,E,0.26,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.26,N,0.48,K,A*0C\r\n$GPGGA,090519.000,5222.3222,N,00454.5837,E,1,8,0.99,12.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090519.000,A,5222.3222,N,00454.5837,E,0.24,35.87,030414,,,A*5D\r\n$GPVTG,35.87,T,,M,0.24,N,0.44,K,A*02\r\n$GPGGA,090520.000,5222.3222,N,00454.5836,E,1,8,0.99,12.0,M,47.0,M,,*61\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPGSV,4,1,13,10,74,282,17,13,68,066,38,07,47,163,20,02,44,283,*7C\r\n$GPGSV,4,2,13,04,43,213,18,23,33,070,41,39,27,154,,08,22,181,*7B\r\n$GPGSV,4,3,13,16,17,062,37,05,16,297,16,09,15,192,18,29,08,339,26*74\r\n$GPGSV,4,4,13,20,03,122,13*49\r\n$GPRMC,090520.000,A,5222.3222,N,00454.5836,E,0.21,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.21,N,0.39,K,A*0D\r\n$GPGGA,090521.000,5222.3221,N,00454.5836,E,1,10,0.82,12.0,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090521.000,A,5222.3221,N,00454.5836,E,0.42,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.42,N,0.79,K,A*0C\r\n$GPGGA,090522.000,5222.3222,N,00454.5837,E,1,10,0.82,12.0,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090522.000,A,5222.3222,N,00454.5837,E,0.54,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.54,N,1.00,K,A*04\r\n$GPGGA,090523.000,5222.3222,N,00454.5840,E,1,10,0.82,12.0,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090523.000,A,5222.3222,N,00454.5840,E,0.09,35.87,030414,,,A*5B\r\n$GPVTG,35.87,T,,M,0.09,N,0.17,K,A*0B\r\n$GPGGA,090524.000,5222.3222,N,00454.5840,E,1,10,0.82,12.0,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090524.000,A,5222.3222,N,00454.5840,E,0.46,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.46,N,0.86,K,A*08\r\n$GPGGA,090525.000,5222.3221,N,00454.5838,E,1,10,0.82,12.0,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPGSV,4,1,13,10,74,282,20,13,68,066,38,07,47,163,20,02,44,283,23*79\r\n$GPGSV,4,2,13,04,43,213,21,23,33,070,41,39,27,154,,08,22,181,17*77\r\n$GPGSV,4,3,13,16,17,062,36,05,16,297,17,09,15,192,19,29,08,339,23*70\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090525.000,A,5222.3221,N,00454.5838,E,0.53,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.53,N,0.98,K,A*03\r\n$GPGGA,090526.000,5222.3221,N,00454.5836,E,1,10,0.82,12.0,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090526.000,A,5222.3221,N,00454.5836,E,0.58,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.58,N,1.07,K,A*0F\r\n$GPGGA,090527.000,5222.3220,N,00454.5833,E,1,10,0.82,12.0,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.78*01\r\n$GPRMC,090527.000,A,5222.3220,N,00454.5833,E,0.43,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.43,N,0.80,K,A*0B\r\n$GPGGA,090528.000,5222.3220,N,00454.5831,E,1,9,0.86,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090528.000,A,5222.3220,N,00454.5831,E,0.32,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.32,N,0.60,K,A*03\r\n$GPGGA,090529.000,5222.3221,N,00454.5830,E,1,9,0.86,12.0,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090529.000,A,5222.3221,N,00454.5830,E,0.34,35.87,030414,,,A*5B\r\n$GPVTG,35.87,T,,M,0.34,N,0.63,K,A*06\r\n$GPGGA,090530.000,5222.3221,N,00454.5828,E,1,9,0.86,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPGSV,4,1,13,10,74,282,23,13,68,066,38,07,47,163,21,02,44,283,*7A\r\n$GPGSV,4,2,13,04,43,213,23,23,33,070,42,33,27,205,,08,22,181,18*74\r\n$GPGSV,4,3,13,16,17,062,36,05,16,297,17,09,15,192,21,29,08,339,23*7B\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090530.000,A,5222.3221,N,00454.5828,E,0.31,35.87,030414,,,A*5F\r\n$GPVTG,35.87,T,,M,0.31,N,0.57,K,A*04\r\n$GPGGA,090531.000,5222.3221,N,00454.5827,E,1,9,0.86,12.0,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090531.000,A,5222.3221,N,00454.5827,E,0.38,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.38,N,0.70,K,A*08\r\n$GPGGA,090532.000,5222.3221,N,00454.5825,E,1,9,0.86,12.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090532.000,A,5222.3221,N,00454.5825,E,0.24,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.24,N,0.45,K,A*03\r\n$GPGGA,090533.000,5222.3221,N,00454.5824,E,1,9,0.86,12.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090533.000,A,5222.3221,N,00454.5824,E,0.05,35.87,030414,,,A*57\r\n$GPVTG,35.87,T,,M,0.05,N,0.09,K,A*08\r\n$GPGGA,090534.000,5222.3221,N,00454.5824,E,1,9,0.86,12.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090534.000,A,5222.3221,N,00454.5824,E,0.53,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.53,N,0.99,K,A*02\r\n$GPGGA,090535.000,5222.3221,N,00454.5826,E,1,9,0.86,12.0,M,47.0,M,,*68\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPGSV,4,1,13,10,74,282,23,13,68,066,38,07,47,163,21,02,44,283,*7A\r\n$GPGSV,4,2,13,04,43,213,22,23,33,070,42,33,27,205,,08,22,181,16*7B\r\n$GPGSV,4,3,13,16,17,062,36,05,16,297,17,09,15,192,21,29,08,339,22*7A\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090535.000,A,5222.3221,N,00454.5826,E,0.40,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.40,N,0.75,K,A*02\r\n$GPGGA,090536.000,5222.3222,N,00454.5828,E,1,9,0.86,12.0,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090536.000,A,5222.3222,N,00454.5828,E,0.10,35.87,030414,,,A*59\r\n$GPVTG,35.87,T,,M,0.10,N,0.19,K,A*0D\r\n$GPGGA,090537.000,5222.3222,N,00454.5828,E,1,9,0.86,12.0,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090537.000,A,5222.3222,N,00454.5828,E,0.26,35.87,030414,,,A*5D\r\n$GPVTG,35.87,T,,M,0.26,N,0.49,K,A*0D\r\n$GPGGA,090538.000,5222.3222,N,00454.5827,E,1,9,0.86,12.0,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090538.000,A,5222.3222,N,00454.5827,E,0.47,35.87,030414,,,A*5A\r\n$GPVTG,35.87,T,,M,0.47,N,0.87,K,A*08\r\n$GPGGA,090539.000,5222.3221,N,00454.5825,E,1,9,0.86,12.0,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPRMC,090539.000,A,5222.3221,N,00454.5825,E,0.37,35.87,030414,,,A*5D\r\n$GPVTG,35.87,T,,M,0.37,N,0.69,K,A*0F\r\n$GPGGA,090540.000,5222.3221,N,00454.5824,E,1,9,0.86,12.0,M,47.0,M,,*68\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.17,0.86,0.79*05\r\n$GPGSV,4,1,13,10,74,282,24,13,68,066,38,07,47,163,21,02,44,283,*7D\r\n$GPGSV,4,2,13,04,42,213,22,23,33,070,42,08,22,181,16,16,17,062,36*78\r\n$GPGSV,4,3,13,05,16,297,22,09,15,192,20,40,09,115,,29,08,339,20*77\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090540.000,A,5222.3221,N,00454.5824,E,0.35,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.35,N,0.65,K,A*01\r\n$GPGGA,090541.000,5222.3220,N,00454.5822,E,1,8,0.97,12.0,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,,,,,1.27,0.97,0.81*0A\r\n$GPRMC,090541.000,A,5222.3220,N,00454.5822,E,0.26,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.26,N,0.48,K,A*0C\r\n$GPGGA,090542.000,5222.3219,N,00454.5822,E,1,8,0.97,12.0,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,,,,,1.27,0.97,0.81*0A\r\n$GPRMC,090542.000,A,5222.3219,N,00454.5822,E,0.38,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.38,N,0.70,K,A*08\r\n$GPGGA,090543.000,5222.3219,N,00454.5821,E,1,8,0.97,12.0,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,,,,,1.27,0.97,0.81*0A\r\n$GPRMC,090543.000,A,5222.3219,N,00454.5821,E,0.28,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.28,N,0.53,K,A*08\r\n$GPGGA,090544.000,5222.3218,N,00454.5820,E,1,8,0.97,12.0,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,,,,,1.27,0.97,0.81*0A\r\n$GPRMC,090544.000,A,5222.3218,N,00454.5820,E,0.30,35.87,030414,,,A*5F\r\n$GPVTG,35.87,T,,M,0.30,N,0.55,K,A*07\r\n$GPGGA,090545.000,5222.3217,N,00454.5820,E,1,8,0.97,11.9,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,,,,,1.27,0.97,0.81*0A\r\n$GPGSV,4,1,13,10,74,281,23,13,68,066,38,07,48,163,21,02,44,283,*76\r\n$GPGSV,4,2,13,04,42,213,23,23,33,070,42,08,22,181,16,16,17,062,35*7A\r\n$GPGSV,4,3,13,05,16,297,24,09,16,192,19,40,09,115,,29,08,339,18*73\r\n$GPGSV,4,4,13,20,03,122,16*4C\r\n$GPRMC,090545.000,A,5222.3217,N,00454.5820,E,0.28,35.87,030414,,,A*58\r\n$GPVTG,35.87,T,,M,0.28,N,0.53,K,A*08\r\n$GPGGA,090546.000,5222.3216,N,00454.5820,E,1,10,0.82,11.9,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090546.000,A,5222.3216,N,00454.5820,E,0.26,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.26,N,0.49,K,A*0D\r\n$GPGGA,090547.000,5222.3216,N,00454.5819,E,1,10,0.82,11.9,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090547.000,A,5222.3216,N,00454.5819,E,0.31,35.87,030414,,,A*59\r\n$GPVTG,35.87,T,,M,0.31,N,0.57,K,A*04\r\n$GPGGA,090548.000,5222.3214,N,00454.5820,E,1,10,0.82,11.9,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090548.000,A,5222.3214,N,00454.5820,E,0.34,35.87,030414,,,A*5B\r\n$GPVTG,35.87,T,,M,0.34,N,0.63,K,A*06\r\n$GPGGA,090549.000,5222.3212,N,00454.5820,E,1,10,0.82,11.8,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090549.000,A,5222.3212,N,00454.5820,E,0.27,35.87,030414,,,A*5E\r\n$GPVTG,35.87,T,,M,0.27,N,0.50,K,A*04\r\n$GPGGA,090550.000,5222.3210,N,00454.5822,E,1,10,0.82,11.7,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,24,13,68,066,38,07,48,163,22,02,44,283,22*72\r\n$GPGSV,4,2,13,04,42,213,24,23,33,070,42,08,22,181,16,16,17,062,34*7C\r\n$GPGSV,4,3,13,05,16,297,25,09,16,192,18,29,08,339,20,44,08,114,*7C\r\n$GPGSV,4,4,13,20,03,122,17*4D\r\n$GPRMC,090550.000,A,5222.3210,N,00454.5822,E,0.48,35.87,030414,,,A*5F\r\n$GPVTG,35.87,T,,M,0.48,N,0.89,K,A*09\r\n$GPGGA,090551.000,5222.3207,N,00454.5824,E,1,10,0.82,11.7,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090551.000,A,5222.3207,N,00454.5824,E,0.42,35.87,030414,,,A*54\r\n$GPVTG,35.87,T,,M,0.42,N,0.79,K,A*0C\r\n$GPGGA,090552.000,5222.3205,N,00454.5826,E,1,10,0.82,11.6,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090552.000,A,5222.3205,N,00454.5826,E,0.19,35.87,030414,,,A*59\r\n$GPVTG,35.87,T,,M,0.19,N,0.35,K,A*0A\r\n$GPGGA,090553.000,5222.3203,N,00454.5827,E,1,10,0.82,11.6,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090553.000,A,5222.3203,N,00454.5827,E,0.24,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.24,N,0.44,K,A*02\r\n$GPGGA,090554.000,5222.3202,N,00454.5829,E,1,10,0.82,11.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090554.000,A,5222.3202,N,00454.5829,E,0.30,35.87,030414,,,A*5C\r\n$GPVTG,35.87,T,,M,0.30,N,0.55,K,A*07\r\n$GPGGA,090555.000,5222.3202,N,00454.5831,E,1,10,0.82,11.5,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,21,13,68,066,38,07,48,163,18,02,44,283,23*7F\r\n$GPGSV,4,2,13,04,42,213,26,23,33,070,42,08,22,181,16,16,17,062,34*7E\r\n$GPGSV,4,3,13,05,16,297,23,09,16,192,17,29,08,339,21,44,08,114,*74\r\n$GPGSV,4,4,13,20,03,122,17*4D\r\n$GPRMC,090555.000,A,5222.3202,N,00454.5831,E,0.27,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.27,N,0.50,K,A*04\r\n$GPGGA,090556.000,5222.3203,N,00454.5834,E,1,10,0.82,11.5,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090556.000,A,5222.3203,N,00454.5834,E,0.06,35.87,030414,,,A*56\r\n$GPVTG,35.87,T,,M,0.06,N,0.10,K,A*03\r\n$GPGGA,090557.000,5222.3202,N,00454.5836,E,1,10,0.82,11.5,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090557.000,A,5222.3202,N,00454.5836,E,0.10,35.87,030414,,,A*53\r\n$GPVTG,35.87,T,,M,0.10,N,0.19,K,A*0D\r\n$GPGGA,090558.000,5222.3202,N,00454.5839,E,1,10,0.82,11.6,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090558.000,A,5222.3202,N,00454.5839,E,0.11,35.87,030414,,,A*52\r\n$GPVTG,35.87,T,,M,0.11,N,0.20,K,A*06\r\n$GPGGA,090559.000,5222.3201,N,00454.5840,E,1,10,0.82,11.6,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090559.000,A,5222.3201,N,00454.5840,E,0.12,35.87,030414,,,A*5D\r\n$GPVTG,35.87,T,,M,0.12,N,0.22,K,A*07\r\n$GPGGA,090600.000,5222.3201,N,00454.5841,E,1,10,0.82,11.7,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,24,13,68,066,38,07,48,163,19,02,44,283,22*7A\r\n$GPGSV,4,2,13,04,42,213,26,23,32,070,42,08,22,181,16,16,17,062,34*7F\r\n$GPGSV,4,3,13,05,16,297,22,09,16,192,19,29,08,339,22,20,03,122,17*72\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090600.000,A,5222.3201,N,00454.5841,E,0.11,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.11,N,0.21,K,A*07\r\n$GPGGA,090601.000,5222.3201,N,00454.5841,E,1,10,0.82,11.7,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090601.000,A,5222.3201,N,00454.5841,E,0.10,35.87,030414,,,A*50\r\n$GPVTG,35.87,T,,M,0.10,N,0.18,K,A*0C\r\n$GPGGA,090602.000,5222.3200,N,00454.5841,E,1,10,0.82,11.8,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090602.000,A,5222.3200,N,00454.5841,E,0.13,35.87,030414,,,A*51\r\n$GPVTG,35.87,T,,M,0.13,N,0.24,K,A*00\r\n$GPGGA,090603.000,5222.3200,N,00454.5843,E,1,10,0.82,11.8,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090603.000,A,5222.3200,N,00454.5843,E,0.59,56.62,030414,,,A*52\r\n$GPVTG,56.62,T,,M,0.59,N,1.09,K,A*0E\r\n$GPGGA,090604.000,5222.3199,N,00454.5846,E,1,10,0.82,11.9,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090604.000,A,5222.3199,N,00454.5846,E,0.40,56.62,030414,,,A*5B\r\n$GPVTG,56.62,T,,M,0.40,N,0.74,K,A*0D\r\n$GPGGA,090605.000,5222.3199,N,00454.5847,E,1,10,0.82,11.9,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,24,13,68,066,38,07,48,163,23,02,44,283,22*73\r\n$GPGSV,4,2,13,04,42,213,25,23,32,070,42,08,22,181,16,16,17,062,34*7C\r\n$GPGSV,4,3,13,05,16,297,19,09,16,192,16,29,08,339,22,20,03,122,16*74\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,090605.000,A,5222.3199,N,00454.5847,E,0.08,56.62,030414,,,A*57\r\n$GPVTG,56.62,T,,M,0.08,N,0.14,K,A*07\r\n$GPGGA,090606.000,5222.3201,N,00454.5848,E,1,10,0.82,12.0,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090606.000,A,5222.3201,N,00454.5848,E,0.34,56.62,030414,,,A*56\r\n$GPVTG,56.62,T,,M,0.34,N,0.63,K,A*08\r\n$GPGGA,090607.000,5222.3201,N,00454.5848,E,1,10,0.82,12.0,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090607.000,A,5222.3201,N,00454.5848,E,0.36,56.62,030414,,,A*55\r\n$GPVTG,56.62,T,,M,0.36,N,0.66,K,A*0F\r\n$GPGGA,090608.000,5222.3201,N,00454.5849,E,1,10,0.82,12.1,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090608.000,A,5222.3201,N,00454.5849,E,0.32,56.62,030414,,,A*5F\r\n$GPVTG,56.62,T,,M,0.32,N,0.58,K,A*06\r\n$GPGGA,090609.000,5222.3201,N,00454.5849,E,1,10,0.82,12.1,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090609.000,A,5222.3201,N,00454.5849,E,0.27,56.62,030414,,,A*5A\r\n$GPVTG,56.62,T,,M,0.27,N,0.50,K,A*0A\r\n$GPGGA,090610.000,5222.3203,N,00454.5849,E,1,10,0.82,12.1,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,25,13,68,066,38,07,48,163,24,02,44,283,21*76\r\n$GPGSV,4,2,13,04,42,213,23,23,32,070,41,08,22,181,15,16,17,062,34*7A\r\n$GPGSV,4,3,13,05,16,297,17,09,16,192,18,29,08,339,22,20,03,122,16*74\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090610.000,A,5222.3203,N,00454.5849,E,0.26,56.62,030414,,,A*51\r\n$GPVTG,56.62,T,,M,0.26,N,0.49,K,A*03\r\n$GPGGA,090611.000,5222.3202,N,00454.5849,E,1,10,0.82,12.2,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090611.000,A,5222.3202,N,00454.5849,E,0.23,56.62,030414,,,A*54\r\n$GPVTG,56.62,T,,M,0.23,N,0.43,K,A*0C\r\n$GPGGA,090612.000,5222.3202,N,00454.5849,E,1,10,0.82,12.2,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090612.000,A,5222.3202,N,00454.5849,E,0.21,56.62,030414,,,A*55\r\n$GPVTG,56.62,T,,M,0.21,N,0.38,K,A*02\r\n$GPGGA,090613.000,5222.3203,N,00454.5848,E,1,10,0.82,12.2,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090613.000,A,5222.3203,N,00454.5848,E,0.28,56.62,030414,,,A*5D\r\n$GPVTG,56.62,T,,M,0.28,N,0.53,K,A*06\r\n$GPGGA,090614.000,5222.3203,N,00454.5847,E,1,10,0.82,12.2,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090614.000,A,5222.3203,N,00454.5847,E,0.28,56.62,030414,,,A*55\r\n$GPVTG,56.62,T,,M,0.28,N,0.51,K,A*04\r\n$GPGGA,090615.000,5222.3203,N,00454.5845,E,1,10,0.82,12.2,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,74,281,26,13,68,066,38,07,48,163,21,02,44,283,17*75\r\n$GPGSV,4,2,13,04,42,213,20,23,32,070,41,08,22,181,15,16,17,062,34*79\r\n$GPGSV,4,3,13,05,16,297,16,09,16,192,17,29,08,339,20,20,03,122,16*78\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090615.000,A,5222.3203,N,00454.5845,E,0.38,56.62,030414,,,A*57\r\n$GPVTG,56.62,T,,M,0.38,N,0.70,K,A*06\r\n$GPGGA,090616.000,5222.3204,N,00454.5845,E,1,10,0.84,12.2,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.53,0.84,1.28*00\r\n$GPRMC,090616.000,A,5222.3204,N,00454.5845,E,0.56,56.62,030414,,,A*5B\r\n$GPVTG,56.62,T,,M,0.56,N,1.03,K,A*0B\r\n$GPGGA,090617.000,5222.3206,N,00454.5846,E,1,10,0.82,12.2,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090617.000,A,5222.3206,N,00454.5846,E,0.44,56.62,030414,,,A*58\r\n$GPVTG,56.62,T,,M,0.44,N,0.82,K,A*00\r\n$GPGGA,090618.000,5222.3207,N,00454.5846,E,1,10,0.84,12.2,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.53,0.84,1.28*00\r\n$GPRMC,090618.000,A,5222.3207,N,00454.5846,E,0.48,56.62,030414,,,A*5A\r\n$GPVTG,56.62,T,,M,0.48,N,0.88,K,A*06\r\n$GPGGA,090619.000,5222.3208,N,00454.5844,E,1,10,0.82,12.2,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090619.000,A,5222.3208,N,00454.5844,E,0.64,287.75,030414,,,A*60\r\n$GPVTG,287.75,T,,M,0.64,N,1.19,K,A*39\r\n$GPGGA,090620.000,5222.3209,N,00454.5842,E,1,10,0.82,12.2,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,28,13,68,066,39,07,48,162,19,02,44,283,19*7F\r\n$GPGSV,4,2,13,04,42,213,19,23,32,070,41,08,22,181,12,16,17,062,35*75\r\n$GPGSV,4,3,13,05,16,297,14,09,16,192,17,29,08,339,22,20,03,122,14*7A\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,090620.000,A,5222.3209,N,00454.5842,E,0.68,290.82,030414,,,A*6F\r\n$GPVTG,290.82,T,,M,0.68,N,1.26,K,A*37\r\n$GPGGA,090621.000,5222.3211,N,00454.5840,E,1,10,0.82,12.2,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090621.000,A,5222.3211,N,00454.5840,E,0.70,291.59,030414,,,A*6B\r\n$GPVTG,291.59,T,,M,0.70,N,1.30,K,A*3E\r\n$GPGGA,090622.000,5222.3214,N,00454.5838,E,1,10,0.82,12.2,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090622.000,A,5222.3214,N,00454.5838,E,0.70,293.20,030414,,,A*6E\r\n$GPVTG,293.20,T,,M,0.70,N,1.30,K,A*32\r\n$GPGGA,090623.000,5222.3214,N,00454.5837,E,1,10,0.82,12.2,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090623.000,A,5222.3214,N,00454.5837,E,0.64,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.64,N,1.19,K,A*32\r\n$GPGGA,090624.000,5222.3214,N,00454.5835,E,1,10,0.82,12.2,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090624.000,A,5222.3214,N,00454.5835,E,0.58,323.42,030414,,,A*61\r\n$GPVTG,323.42,T,,M,0.58,N,1.08,K,A*3D\r\n$GPGGA,090625.000,5222.3215,N,00454.5834,E,1,10,0.82,12.2,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,27,13,68,066,39,07,48,162,19,02,44,283,18*71\r\n$GPGSV,4,2,13,04,42,213,19,23,32,070,41,08,22,181,14,16,17,062,34*72\r\n$GPGSV,4,3,13,05,16,297,19,09,16,192,17,29,08,339,21,20,03,122,16*76\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,090625.000,A,5222.3215,N,00454.5834,E,0.56,323.42,030414,,,A*6E\r\n$GPVTG,323.42,T,,M,0.56,N,1.04,K,A*3F\r\n$GPGGA,090626.000,5222.3214,N,00454.5832,E,1,10,0.82,12.2,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090626.000,A,5222.3214,N,00454.5832,E,0.50,323.42,030414,,,A*6C\r\n$GPVTG,323.42,T,,M,0.50,N,0.93,K,A*36\r\n$GPGGA,090627.000,5222.3214,N,00454.5830,E,1,10,0.82,12.2,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090627.000,A,5222.3214,N,00454.5830,E,0.47,323.42,030414,,,A*69\r\n$GPVTG,323.42,T,,M,0.47,N,0.87,K,A*35\r\n$GPGGA,090628.000,5222.3215,N,00454.5829,E,1,9,0.91,12.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,02,,,,1.22,0.91,0.81*0B\r\n$GPRMC,090628.000,A,5222.3215,N,00454.5829,E,0.42,323.42,030414,,,A*6A\r\n$GPVTG,323.42,T,,M,0.42,N,0.78,K,A*30\r\n$GPGGA,090629.000,5222.3216,N,00454.5829,E,1,9,0.91,12.2,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,02,,,,1.22,0.91,0.81*0B\r\n$GPRMC,090629.000,A,5222.3216,N,00454.5829,E,0.56,323.42,030414,,,A*6D\r\n$GPVTG,323.42,T,,M,0.56,N,1.04,K,A*3F\r\n$GPGGA,090630.000,5222.3217,N,00454.5831,E,1,10,0.82,12.2,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,26,13,68,066,39,07,48,162,19,02,44,283,19*71\r\n$GPGSV,4,2,13,04,42,213,20,23,32,070,41,08,22,181,16,16,17,061,34*79\r\n$GPGSV,4,3,13,05,16,297,19,09,16,192,18,29,08,339,19,20,03,122,14*70\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,090630.000,A,5222.3217,N,00454.5831,E,0.33,323.42,030414,,,A*6E\r\n$GPVTG,323.42,T,,M,0.33,N,0.61,K,A*3E\r\n$GPGGA,090631.000,5222.3218,N,00454.5831,E,1,9,0.91,12.2,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,02,,,,1.67,0.91,1.40*06\r\n$GPRMC,090631.000,A,5222.3218,N,00454.5831,E,0.35,323.42,030414,,,A*66\r\n$GPVTG,323.42,T,,M,0.35,N,0.64,K,A*3D\r\n$GPGGA,090632.000,5222.3219,N,00454.5830,E,1,10,0.82,12.2,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090632.000,A,5222.3219,N,00454.5830,E,0.37,323.42,030414,,,A*67\r\n$GPVTG,323.42,T,,M,0.37,N,0.69,K,A*32\r\n$GPGGA,090633.000,5222.3219,N,00454.5828,E,1,10,0.82,12.2,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090633.000,A,5222.3219,N,00454.5828,E,0.37,323.42,030414,,,A*6F\r\n$GPVTG,323.42,T,,M,0.37,N,0.69,K,A*32\r\n$GPGGA,090634.000,5222.3219,N,00454.5827,E,1,9,0.91,12.2,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,05,07,10,04,02,,,,1.22,0.91,0.81*0B\r\n$GPRMC,090634.000,A,5222.3219,N,00454.5827,E,0.26,323.42,030414,,,A*67\r\n$GPVTG,323.42,T,,M,0.26,N,0.48,K,A*31\r\n$GPGGA,090635.000,5222.3220,N,00454.5826,E,1,10,0.82,12.2,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,27,13,68,066,39,07,48,162,19,02,44,283,23*79\r\n$GPGSV,4,2,13,04,42,213,22,23,32,071,41,08,22,181,17,16,17,061,33*7C\r\n$GPGSV,4,3,13,05,16,297,22,09,16,192,17,29,08,339,20,20,03,122,13*7A\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090635.000,A,5222.3220,N,00454.5826,E,0.24,323.42,030414,,,A*6F\r\n$GPVTG,323.42,T,,M,0.24,N,0.44,K,A*3F\r\n$GPGGA,090636.000,5222.3220,N,00454.5825,E,1,11,0.77,12.2,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,10,04,02,,1.07,0.77,0.75*0D\r\n$GPRMC,090636.000,A,5222.3220,N,00454.5825,E,0.20,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.20,N,0.38,K,A*30\r\n$GPGGA,090637.000,5222.3220,N,00454.5824,E,1,10,0.84,12.2,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,09,05,07,10,04,02,,,1.15,0.84,0.79*05\r\n$GPRMC,090637.000,A,5222.3220,N,00454.5824,E,0.16,323.42,030414,,,A*6E\r\n$GPVTG,323.42,T,,M,0.16,N,0.30,K,A*3D\r\n$GPGGA,090638.000,5222.3220,N,00454.5824,E,1,10,0.84,12.2,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,09,05,07,10,04,02,,,1.15,0.84,0.79*05\r\n$GPRMC,090638.000,A,5222.3220,N,00454.5824,E,0.13,323.42,030414,,,A*64\r\n$GPVTG,323.42,T,,M,0.13,N,0.24,K,A*3D\r\n$GPGGA,090639.000,5222.3220,N,00454.5824,E,1,10,0.84,12.2,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,09,05,07,10,04,02,,,1.15,0.84,0.79*05\r\n$GPRMC,090639.000,A,5222.3220,N,00454.5824,E,0.16,323.42,030414,,,A*60\r\n$GPVTG,323.42,T,,M,0.16,N,0.30,K,A*3D\r\n$GPGGA,090640.000,5222.3219,N,00454.5824,E,1,10,0.82,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,26,13,68,066,39,07,48,162,16,02,44,283,22*76\r\n$GPGSV,4,2,13,04,42,213,26,23,32,071,41,08,22,181,17,16,17,061,33*78\r\n$GPGSV,4,3,13,05,16,297,25,09,16,192,17,29,08,339,22,20,03,122,14*78\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090640.000,A,5222.3219,N,00454.5824,E,0.28,323.42,030414,,,A*69\r\n$GPVTG,323.42,T,,M,0.28,N,0.51,K,A*37\r\n$GPGGA,090641.000,5222.3219,N,00454.5824,E,1,10,0.82,12.1,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090641.000,A,5222.3219,N,00454.5824,E,0.50,323.42,030414,,,A*67\r\n$GPVTG,323.42,T,,M,0.50,N,0.93,K,A*36\r\n$GPGGA,090642.000,5222.3219,N,00454.5826,E,1,10,0.82,12.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090642.000,A,5222.3219,N,00454.5826,E,0.42,323.42,030414,,,A*65\r\n$GPVTG,323.42,T,,M,0.42,N,0.77,K,A*3F\r\n$GPGGA,090643.000,5222.3223,N,00454.5825,E,1,10,0.82,12.2,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090643.000,A,5222.3223,N,00454.5825,E,0.12,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.12,N,0.22,K,A*3A\r\n$GPGGA,090644.000,5222.3235,N,00454.5817,E,1,10,0.82,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090644.000,A,5222.3235,N,00454.5817,E,0.46,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.46,N,0.86,K,A*35\r\n$GPGGA,090645.000,5222.3241,N,00454.5812,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,24,13,68,066,39,07,48,162,16,02,44,283,21*77\r\n$GPGSV,4,2,13,04,42,213,28,23,32,071,41,08,22,181,17,16,17,061,33*76\r\n$GPGSV,4,3,13,05,16,297,25,09,16,192,20,29,08,339,23,20,03,122,14*7D\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,090645.000,A,5222.3241,N,00454.5812,E,0.46,323.42,030414,,,A*6C\r\n$GPVTG,323.42,T,,M,0.46,N,0.85,K,A*36\r\n$GPGGA,090646.000,5222.3243,N,00454.5810,E,1,10,0.82,12.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090646.000,A,5222.3243,N,00454.5810,E,0.44,323.42,030414,,,A*6D\r\n$GPVTG,323.42,T,,M,0.44,N,0.81,K,A*30\r\n$GPGGA,090647.000,5222.3248,N,00454.5808,E,1,10,0.82,12.4,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090647.000,A,5222.3248,N,00454.5808,E,0.38,323.42,030414,,,A*65\r\n$GPVTG,323.42,T,,M,0.38,N,0.70,K,A*35\r\n$GPGGA,090648.000,5222.3247,N,00454.5809,E,1,10,0.82,12.5,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090648.000,A,5222.3247,N,00454.5809,E,0.21,323.42,030414,,,A*6C\r\n$GPVTG,323.42,T,,M,0.21,N,0.39,K,A*30\r\n$GPGGA,090649.000,5222.3247,N,00454.5808,E,1,10,0.82,12.5,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090649.000,A,5222.3247,N,00454.5808,E,0.19,323.42,030414,,,A*67\r\n$GPVTG,323.42,T,,M,0.19,N,0.36,K,A*34\r\n$GPGGA,090650.000,5222.3248,N,00454.5807,E,1,10,0.82,12.6,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,281,23,13,68,066,39,07,48,162,16,02,44,282,22*72\r\n$GPGSV,4,2,13,04,42,213,28,23,32,071,41,08,22,181,19,16,17,061,32*79\r\n$GPGSV,4,3,13,05,16,297,23,09,16,192,22,29,08,339,24,20,03,122,14*7E\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,090650.000,A,5222.3248,N,00454.5807,E,0.19,323.42,030414,,,A*6F\r\n$GPVTG,323.42,T,,M,0.19,N,0.35,K,A*37\r\n$GPGGA,090651.000,5222.3247,N,00454.5806,E,1,10,0.82,12.6,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090651.000,A,5222.3247,N,00454.5806,E,0.18,323.42,030414,,,A*61\r\n$GPVTG,323.42,T,,M,0.18,N,0.34,K,A*37\r\n$GPGGA,090652.000,5222.3247,N,00454.5806,E,1,10,0.82,12.7,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090652.000,A,5222.3247,N,00454.5806,E,0.22,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.22,N,0.40,K,A*3D\r\n$GPGGA,090653.000,5222.3247,N,00454.5807,E,1,10,0.82,12.7,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090653.000,A,5222.3247,N,00454.5807,E,0.22,323.42,030414,,,A*6B\r\n$GPVTG,323.42,T,,M,0.22,N,0.41,K,A*3C\r\n$GPGGA,090654.000,5222.3249,N,00454.5807,E,1,10,0.82,12.7,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090654.000,A,5222.3249,N,00454.5807,E,0.21,323.42,030414,,,A*61\r\n$GPVTG,323.42,T,,M,0.21,N,0.39,K,A*30\r\n$GPGGA,090655.000,5222.3249,N,00454.5807,E,1,10,0.82,12.7,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,280,18,13,68,066,40,07,48,162,15,02,44,282,21*75\r\n$GPGSV,4,2,13,04,42,213,26,23,32,071,41,08,23,181,17,16,17,061,29*72\r\n$GPGSV,4,3,13,05,16,297,23,09,16,192,17,29,08,339,23,20,03,122,16*7D\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,090655.000,A,5222.3249,N,00454.5807,E,0.06,323.42,030414,,,A*65\r\n$GPVTG,323.42,T,,M,0.06,N,0.12,K,A*3C\r\n$GPGGA,090656.000,5222.3248,N,00454.5807,E,1,10,0.82,12.7,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090656.000,A,5222.3248,N,00454.5807,E,0.30,323.42,030414,,,A*62\r\n$GPVTG,323.42,T,,M,0.30,N,0.56,K,A*39\r\n$GPGGA,090657.000,5222.3249,N,00454.5808,E,1,10,0.82,12.7,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090657.000,A,5222.3249,N,00454.5808,E,0.65,47.25,030414,,,A*5D\r\n$GPVTG,47.25,T,,M,0.65,N,1.20,K,A*09\r\n$GPGGA,090658.000,5222.3254,N,00454.5808,E,1,10,0.82,12.6,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090658.000,A,5222.3254,N,00454.5808,E,0.58,47.25,030414,,,A*50\r\n$GPVTG,47.25,T,,M,0.58,N,1.07,K,A*02\r\n$GPGGA,090659.000,5222.3255,N,00454.5807,E,1,9,0.83,12.6,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPRMC,090659.000,A,5222.3255,N,00454.5807,E,0.34,47.25,030414,,,A*55\r\n$GPVTG,47.25,T,,M,0.34,N,0.63,K,A*0B\r\n$GPGGA,090700.000,5222.3256,N,00454.5807,E,1,9,0.83,12.5,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPGSV,4,1,13,10,75,280,17,13,67,066,40,07,48,162,14,02,44,282,22*77\r\n$GPGSV,4,2,13,04,42,213,23,23,32,071,41,08,23,181,17,16,17,061,26*78\r\n$GPGSV,4,3,13,05,16,297,23,09,16,192,18,29,08,339,23,20,03,122,16*72\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,090700.000,A,5222.3256,N,00454.5807,E,0.34,47.25,030414,,,A*5B\r\n$GPVTG,47.25,T,,M,0.34,N,0.62,K,A*0A\r\n$GPGGA,090701.000,5222.3256,N,00454.5808,E,1,8,0.92,12.5,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,05,07,04,02,,,,,1.26,0.92,0.86*0A\r\n$GPRMC,090701.000,A,5222.3256,N,00454.5808,E,0.32,47.25,030414,,,A*53\r\n$GPVTG,47.25,T,,M,0.32,N,0.58,K,A*05\r\n$GPGGA,090702.000,5222.3258,N,00454.5809,E,1,9,0.83,12.4,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPRMC,090702.000,A,5222.3258,N,00454.5809,E,0.32,47.25,030414,,,A*5F\r\n$GPVTG,47.25,T,,M,0.32,N,0.60,K,A*0E\r\n$GPGGA,090703.000,5222.3260,N,00454.5809,E,1,9,0.83,12.3,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPRMC,090703.000,A,5222.3260,N,00454.5809,E,0.32,47.25,030414,,,A*55\r\n$GPVTG,47.25,T,,M,0.32,N,0.60,K,A*0E\r\n$GPGGA,090704.000,5222.3260,N,00454.5808,E,1,9,0.83,12.3,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPRMC,090704.000,A,5222.3260,N,00454.5808,E,0.34,47.25,030414,,,A*55\r\n$GPVTG,47.25,T,,M,0.34,N,0.63,K,A*0B\r\n$GPGGA,090705.000,5222.3261,N,00454.5806,E,1,9,0.83,12.3,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,05,29,07,04,02,,,,1.18,0.83,0.84*0E\r\n$GPGSV,4,1,13,10,75,280,17,13,67,066,41,07,48,162,15,02,44,282,22*77\r\n$GPGSV,4,2,13,04,42,213,17,23,32,071,41,37,28,159,,08,23,181,17*7E\r\n$GPGSV,4,3,13,16,17,061,19,05,16,297,20,09,16,192,18,29,08,339,23*78\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090705.000,A,5222.3261,N,00454.5806,E,0.27,47.25,030414,,,A*59\r\n$GPVTG,47.25,T,,M,0.27,N,0.49,K,A*01\r\n$GPGGA,090706.000,5222.3261,N,00454.5805,E,1,10,0.77,12.3,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090706.000,A,5222.3261,N,00454.5805,E,0.17,47.25,030414,,,A*5A\r\n$GPVTG,47.25,T,,M,0.17,N,0.31,K,A*0D\r\n$GPGGA,090707.000,5222.3261,N,00454.5805,E,1,10,0.77,12.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090707.000,A,5222.3261,N,00454.5805,E,0.10,47.25,030414,,,A*5C\r\n$GPVTG,47.25,T,,M,0.10,N,0.18,K,A*01\r\n$GPGGA,090708.000,5222.3261,N,00454.5805,E,1,10,0.77,12.3,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090708.000,A,5222.3261,N,00454.5805,E,0.11,47.25,030414,,,A*52\r\n$GPVTG,47.25,T,,M,0.11,N,0.20,K,A*0B\r\n$GPGGA,090709.000,5222.3261,N,00454.5804,E,1,10,0.77,12.3,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090709.000,A,5222.3261,N,00454.5804,E,0.58,66.02,030414,,,A*59\r\n$GPVTG,66.02,T,,M,0.58,N,1.08,K,A*0B\r\n$GPGGA,090710.000,5222.3261,N,00454.5806,E,1,10,0.77,12.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPGSV,4,1,13,10,75,280,16,13,67,066,41,07,48,162,15,02,44,282,24*70\r\n$GPGSV,4,2,13,04,42,213,15,23,32,071,41,37,28,159,,08,23,181,18*73\r\n$GPGSV,4,3,13,16,17,061,21,05,16,297,18,09,16,192,16,29,08,339,23*76\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090710.000,A,5222.3261,N,00454.5806,E,0.62,63.09,030414,,,A*54\r\n$GPVTG,63.09,T,,M,0.62,N,1.14,K,A*01\r\n$GPGGA,090711.000,5222.3260,N,00454.5809,E,1,10,0.77,12.3,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090711.000,A,5222.3260,N,00454.5809,E,0.36,63.09,030414,,,A*5A\r\n$GPVTG,63.09,T,,M,0.36,N,0.66,K,A*04\r\n$GPGGA,090712.000,5222.3260,N,00454.5812,E,1,10,0.77,12.3,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090712.000,A,5222.3260,N,00454.5812,E,0.10,63.09,030414,,,A*57\r\n$GPVTG,63.09,T,,M,0.10,N,0.18,K,A*09\r\n$GPGGA,090713.000,5222.3258,N,00454.5815,E,1,10,0.77,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090713.000,A,5222.3258,N,00454.5815,E,0.13,63.09,030414,,,A*59\r\n$GPVTG,63.09,T,,M,0.13,N,0.25,K,A*04\r\n$GPGGA,090714.000,5222.3256,N,00454.5817,E,1,10,0.77,12.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,04,02,,,1.12,0.77,0.81*03\r\n$GPRMC,090714.000,A,5222.3256,N,00454.5817,E,0.17,63.09,030414,,,A*56\r\n$GPVTG,63.09,T,,M,0.17,N,0.31,K,A*05\r\n$GPGGA,090715.000,5222.3256,N,00454.5816,E,1,11,0.77,12.3,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,10,04,02,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,75,280,18,13,67,066,40,07,48,162,15,02,44,282,27*7C\r\n$GPGSV,4,2,13,04,42,213,16,23,32,071,41,39,27,154,,08,23,181,17*73\r\n$GPGSV,4,3,13,16,17,061,24,05,16,297,17,09,16,192,16,29,08,338,24*7A\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090715.000,A,5222.3256,N,00454.5816,E,0.15,63.09,030414,,,A*54\r\n$GPVTG,63.09,T,,M,0.15,N,0.28,K,A*0F\r\n$GPGGA,090716.000,5222.3255,N,00454.5817,E,1,11,0.77,12.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,10,04,02,,1.08,0.77,0.76*01\r\n$GPRMC,090716.000,A,5222.3255,N,00454.5817,E,0.19,63.09,030414,,,A*59\r\n$GPVTG,63.09,T,,M,0.19,N,0.34,K,A*0E\r\n$GPGGA,090717.000,5222.3255,N,00454.5816,E,1,11,0.77,12.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,09,05,29,07,10,04,02,,1.08,0.77,0.76*01\r\n$GPRMC,090717.000,A,5222.3255,N,00454.5816,E,0.18,63.09,030414,,,A*58\r\n$GPVTG,63.09,T,,M,0.18,N,0.34,K,A*0F\r\n$GPGGA,090718.000,5222.3254,N,00454.5816,E,1,10,0.82,12.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,02,,,1.14,0.82,0.79*00\r\n$GPRMC,090718.000,A,5222.3254,N,00454.5816,E,0.13,63.09,030414,,,A*5D\r\n$GPVTG,63.09,T,,M,0.13,N,0.24,K,A*05\r\n$GPGGA,090719.000,5222.3254,N,00454.5816,E,1,9,0.96,12.3,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.85*01\r\n$GPRMC,090719.000,A,5222.3254,N,00454.5816,E,0.13,63.09,030414,,,A*5C\r\n$GPVTG,63.09,T,,M,0.13,N,0.25,K,A*04\r\n$GPGGA,090720.000,5222.3254,N,00454.5816,E,1,9,0.96,12.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.85*01\r\n$GPGSV,4,1,13,10,75,280,21,13,67,066,40,07,48,162,16,02,44,282,28*7A\r\n$GPGSV,4,2,13,04,42,213,19,23,32,071,41,39,27,154,,08,23,181,15*7E\r\n$GPGSV,4,3,13,16,17,061,26,05,16,297,18,09,16,192,16,29,08,338,24*77\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090720.000,A,5222.3254,N,00454.5816,E,0.12,63.09,030414,,,A*57\r\n$GPVTG,63.09,T,,M,0.12,N,0.23,K,A*03\r\n$GPGGA,090721.000,5222.3253,N,00454.5816,E,1,9,0.96,12.3,M,47.0,M,,*6B\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.85*01\r\n$GPRMC,090721.000,A,5222.3253,N,00454.5816,E,0.07,63.09,030414,,,A*55\r\n$GPVTG,63.09,T,,M,0.07,N,0.13,K,A*04\r\n$GPGGA,090722.000,5222.3253,N,00454.5816,E,1,9,0.96,12.3,M,47.0,M,,*68\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.85*01\r\n$GPRMC,090722.000,A,5222.3253,N,00454.5816,E,0.43,63.09,030414,,,A*56\r\n$GPVTG,63.09,T,,M,0.43,N,0.80,K,A*0E\r\n$GPGGA,090723.000,5222.3254,N,00454.5817,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,16,23,13,09,05,29,07,10,04,02,,,1.12,0.82,0.77*09\r\n$GPRMC,090723.000,A,5222.3254,N,00454.5817,E,0.55,63.09,030414,,,A*56\r\n$GPVTG,63.09,T,,M,0.55,N,1.02,K,A*02\r\n$GPGGA,090724.000,5222.3255,N,00454.5819,E,1,9,0.96,12.3,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.28,0.96,0.85*01\r\n$GPRMC,090724.000,A,5222.3255,N,00454.5819,E,0.32,63.09,030414,,,A*5F\r\n$GPVTG,63.09,T,,M,0.32,N,0.60,K,A*06\r\n$GPGGA,090725.000,5222.3256,N,00454.5819,E,1,9,1.08,12.4,M,47.0,M,,*64\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,02,,,,1.93,1.08,1.59*07\r\n$GPGSV,4,1,13,10,75,280,22,13,67,066,40,07,48,162,17,02,44,282,30*71\r\n$GPGSV,4,2,13,04,42,212,20,23,32,071,41,33,27,205,,08,23,181,16*7B\r\n$GPGSV,4,3,13,16,17,061,25,05,17,297,18,09,16,192,,29,08,338,24*72\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090725.000,A,5222.3256,N,00454.5819,E,0.39,63.09,030414,,,A*56\r\n$GPVTG,63.09,T,,M,0.39,N,0.73,K,A*0F\r\n$GPGGA,090726.000,5222.3257,N,00454.5818,E,1,8,0.99,12.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,16,23,13,05,29,07,10,04,,,,,1.31,0.99,0.85*04\r\n$GPRMC,090726.000,A,5222.3257,N,00454.5818,E,0.40,63.09,030414,,,A*5B\r\n$GPVTG,63.09,T,,M,0.40,N,0.73,K,A*01\r\n$GPGGA,090727.000,5222.3257,N,00454.5817,E,1,9,0.96,12.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090727.000,A,5222.3257,N,00454.5817,E,0.33,63.09,030414,,,A*51\r\n$GPVTG,63.09,T,,M,0.33,N,0.60,K,A*07\r\n$GPGGA,090728.000,5222.3258,N,00454.5815,E,1,9,0.96,12.4,M,47.0,M,,*6D\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090728.000,A,5222.3258,N,00454.5815,E,0.26,63.09,030414,,,A*57\r\n$GPVTG,63.09,T,,M,0.26,N,0.49,K,A*08\r\n$GPGGA,090729.000,5222.3258,N,00454.5815,E,1,9,0.96,12.4,M,47.0,M,,*6C\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090729.000,A,5222.3258,N,00454.5815,E,0.24,63.09,030414,,,A*54\r\n$GPVTG,63.09,T,,M,0.24,N,0.44,K,A*07\r\n$GPGGA,090730.000,5222.3258,N,00454.5814,E,1,9,0.96,12.4,M,47.0,M,,*65\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPGSV,4,1,13,10,75,280,24,13,67,066,40,07,48,162,16,02,44,282,30*76\r\n$GPGSV,4,2,13,04,42,212,21,23,32,071,40,33,27,205,,08,23,181,16*7B\r\n$GPGSV,4,3,13,16,17,061,27,05,17,297,19,09,16,193,,29,08,338,23*77\r\n$GPGSV,4,4,13,20,02,122,15*4E\r\n$GPRMC,090730.000,A,5222.3258,N,00454.5814,E,0.23,63.09,030414,,,A*5A\r\n$GPVTG,63.09,T,,M,0.23,N,0.43,K,A*07\r\n$GPGGA,090731.000,5222.3259,N,00454.5813,E,1,9,0.96,12.4,M,47.0,M,,*62\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090731.000,A,5222.3259,N,00454.5813,E,0.20,63.09,030414,,,A*5E\r\n$GPVTG,63.09,T,,M,0.20,N,0.37,K,A*07\r\n$GPGGA,090732.000,5222.3259,N,00454.5812,E,1,9,0.96,12.3,M,47.0,M,,*67\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090732.000,A,5222.3259,N,00454.5812,E,0.21,63.09,030414,,,A*5D\r\n$GPVTG,63.09,T,,M,0.21,N,0.40,K,A*06\r\n$GPGGA,090733.000,5222.3259,N,00454.5811,E,1,9,0.96,12.3,M,47.0,M,,*65\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090733.000,A,5222.3259,N,00454.5811,E,0.19,63.09,030414,,,A*54\r\n$GPVTG,63.09,T,,M,0.19,N,0.35,K,A*0F\r\n$GPGGA,090734.000,5222.3259,N,00454.5811,E,1,9,0.96,12.3,M,47.0,M,,*62\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090734.000,A,5222.3259,N,00454.5811,E,0.15,63.09,030414,,,A*5F\r\n$GPVTG,63.09,T,,M,0.15,N,0.27,K,A*00\r\n$GPGGA,090735.000,5222.3260,N,00454.5811,E,1,9,1.09,12.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.93,1.09,1.59*06\r\n$GPGSV,4,1,13,10,75,280,23,13,67,066,40,07,48,162,16,02,44,282,28*78\r\n$GPGSV,4,2,13,04,42,212,24,23,32,071,40,08,23,181,17,16,17,061,29*70\r\n$GPGSV,4,3,13,05,17,297,20,09,16,193,,40,09,115,,29,08,338,24*71\r\n$GPGSV,4,4,13,20,02,122,16*4D\r\n$GPRMC,090735.000,A,5222.3260,N,00454.5811,E,0.29,63.09,030414,,,A*5B\r\n$GPVTG,63.09,T,,M,0.29,N,0.54,K,A*0B\r\n$GPGGA,090736.000,5222.3260,N,00454.5813,E,1,10,0.82,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090736.000,A,5222.3260,N,00454.5813,E,0.24,63.09,030414,,,A*57\r\n$GPVTG,63.09,T,,M,0.24,N,0.44,K,A*07\r\n$GPGGA,090737.000,5222.3260,N,00454.5815,E,1,10,0.82,12.3,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090737.000,A,5222.3260,N,00454.5815,E,0.08,63.09,030414,,,A*5E\r\n$GPVTG,63.09,T,,M,0.08,N,0.15,K,A*0D\r\n$GPGGA,090738.000,5222.3258,N,00454.5817,E,1,10,0.82,12.3,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090738.000,A,5222.3258,N,00454.5817,E,0.07,63.09,030414,,,A*57\r\n$GPVTG,63.09,T,,M,0.07,N,0.12,K,A*05\r\n$GPGGA,090739.000,5222.3259,N,00454.5818,E,1,10,0.82,12.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090739.000,A,5222.3259,N,00454.5818,E,0.12,63.09,030414,,,A*5C\r\n$GPVTG,63.09,T,,M,0.12,N,0.22,K,A*02\r\n$GPGGA,090740.000,5222.3259,N,00454.5818,E,1,10,0.82,12.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,280,23,13,67,066,40,07,48,162,16,02,44,282,28*78\r\n$GPGSV,4,2,13,04,42,212,24,23,32,071,40,08,23,181,17,16,17,061,32*7A\r\n$GPGSV,4,3,13,05,17,297,21,09,16,193,,40,09,115,,29,08,338,22*76\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090740.000,A,5222.3259,N,00454.5818,E,0.29,63.09,030414,,,A*5A\r\n$GPVTG,63.09,T,,M,0.29,N,0.54,K,A*0B\r\n$GPGGA,090741.000,5222.3256,N,00454.5819,E,1,10,0.82,12.4,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090741.000,A,5222.3256,N,00454.5819,E,0.24,63.09,030414,,,A*58\r\n$GPVTG,63.09,T,,M,0.24,N,0.44,K,A*07\r\n$GPGGA,090742.000,5222.3254,N,00454.5819,E,1,10,0.82,12.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090742.000,A,5222.3254,N,00454.5819,E,0.24,63.09,030414,,,A*59\r\n$GPVTG,63.09,T,,M,0.24,N,0.44,K,A*07\r\n$GPGGA,090743.000,5222.3250,N,00454.5820,E,1,10,0.82,12.4,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090743.000,A,5222.3250,N,00454.5820,E,0.20,63.09,030414,,,A*52\r\n$GPVTG,63.09,T,,M,0.20,N,0.37,K,A*07\r\n$GPGGA,090744.000,5222.3247,N,00454.5822,E,1,10,0.82,12.4,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090744.000,A,5222.3247,N,00454.5822,E,0.13,63.09,030414,,,A*51\r\n$GPVTG,63.09,T,,M,0.13,N,0.24,K,A*05\r\n$GPGGA,090745.000,5222.3243,N,00454.5823,E,1,10,0.82,12.4,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,280,23,13,67,066,39,07,48,162,16,02,44,282,28*76\r\n$GPGSV,4,2,13,04,42,212,24,23,32,071,40,08,23,181,17,16,17,061,33*7B\r\n$GPGSV,4,3,13,05,17,297,21,09,16,193,,29,08,338,21,44,08,114,*71\r\n$GPGSV,4,4,13,20,02,123,16*4C\r\n$GPRMC,090745.000,A,5222.3243,N,00454.5823,E,0.10,63.09,030414,,,A*56\r\n$GPVTG,63.09,T,,M,0.10,N,0.18,K,A*09\r\n$GPGGA,090746.000,5222.3238,N,00454.5825,E,1,10,0.82,12.4,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090746.000,A,5222.3238,N,00454.5825,E,0.11,63.09,030414,,,A*5E\r\n$GPVTG,63.09,T,,M,0.11,N,0.21,K,A*02\r\n$GPGGA,090747.000,5222.3234,N,00454.5828,E,1,8,0.97,12.4,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090747.000,A,5222.3234,N,00454.5828,E,0.30,63.09,030414,,,A*5D\r\n$GPVTG,63.09,T,,M,0.30,N,0.56,K,A*01\r\n$GPGGA,090748.000,5222.3230,N,00454.5829,E,1,9,0.86,12.5,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090748.000,A,5222.3230,N,00454.5829,E,0.53,63.09,030414,,,A*52\r\n$GPVTG,63.09,T,,M,0.53,N,0.99,K,A*07\r\n$GPGGA,090749.000,5222.3225,N,00454.5833,E,1,8,0.97,12.5,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090749.000,A,5222.3225,N,00454.5833,E,0.31,63.09,030414,,,A*58\r\n$GPVTG,63.09,T,,M,0.31,N,0.58,K,A*0E\r\n$GPGGA,090750.000,5222.3220,N,00454.5835,E,1,8,0.97,12.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPGSV,4,1,13,10,75,280,24,13,67,066,39,07,48,162,15,02,44,282,28*72\r\n$GPGSV,4,2,13,04,42,212,24,23,32,071,40,08,23,181,17,16,17,061,33*7B\r\n$GPGSV,4,3,13,05,17,297,21,09,16,193,,29,08,338,20,44,08,114,*70\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090750.000,A,5222.3220,N,00454.5835,E,0.33,63.09,030414,,,A*51\r\n$GPVTG,63.09,T,,M,0.33,N,0.61,K,A*06\r\n$GPGGA,090751.000,5222.3215,N,00454.5837,E,1,9,0.86,12.4,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090751.000,A,5222.3215,N,00454.5837,E,0.49,63.09,030414,,,A*59\r\n$GPVTG,63.09,T,,M,0.49,N,0.91,K,A*04\r\n$GPGGA,090752.000,5222.3212,N,00454.5838,E,1,9,0.86,12.4,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090752.000,A,5222.3212,N,00454.5838,E,0.49,63.09,030414,,,A*52\r\n$GPVTG,63.09,T,,M,0.49,N,0.91,K,A*04\r\n$GPGGA,090753.000,5222.3206,N,00454.5841,E,1,9,0.87,12.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.87,0.79*01\r\n$GPRMC,090753.000,A,5222.3206,N,00454.5841,E,0.69,193.30,030414,,,A*6E\r\n$GPVTG,193.30,T,,M,0.69,N,1.28,K,A*31\r\n$GPGGA,090754.000,5222.3201,N,00454.5843,E,1,9,0.86,12.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090754.000,A,5222.3201,N,00454.5843,E,0.72,191.10,030414,,,A*66\r\n$GPVTG,191.10,T,,M,0.72,N,1.34,K,A*36\r\n$GPGGA,090755.000,5222.3199,N,00454.5845,E,1,9,0.86,12.2,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPGSV,4,1,13,10,75,280,24,13,67,066,39,07,48,162,15,02,44,282,29*73\r\n$GPGSV,4,2,13,04,42,212,25,23,32,071,40,08,23,181,13,16,17,061,31*7C\r\n$GPGSV,4,3,13,05,17,297,21,09,16,193,,29,08,338,22,20,02,123,16*79\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,090755.000,A,5222.3199,N,00454.5845,E,0.73,188.65,030414,,,A*68\r\n$GPVTG,188.65,T,,M,0.73,N,1.36,K,A*3F\r\n$GPGGA,090756.000,5222.3195,N,00454.5847,E,1,9,0.86,12.2,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090756.000,A,5222.3195,N,00454.5847,E,0.70,187.57,030414,,,A*68\r\n$GPVTG,187.57,T,,M,0.70,N,1.29,K,A*3C\r\n$GPGGA,090757.000,5222.3195,N,00454.5849,E,1,9,0.86,12.1,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090757.000,A,5222.3195,N,00454.5849,E,0.54,187.57,030414,,,A*61\r\n$GPVTG,187.57,T,,M,0.54,N,1.00,K,A*31\r\n$GPGGA,090758.000,5222.3194,N,00454.5851,E,1,9,0.86,12.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090758.000,A,5222.3194,N,00454.5851,E,0.51,187.57,030414,,,A*63\r\n$GPVTG,187.57,T,,M,0.51,N,0.95,K,A*39\r\n$GPGGA,090759.000,5222.3191,N,00454.5853,E,1,8,0.97,11.9,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090759.000,A,5222.3191,N,00454.5853,E,0.51,186.85,030414,,,A*6B\r\n$GPVTG,186.85,T,,M,0.51,N,0.94,K,A*36\r\n$GPGGA,090800.000,5222.3189,N,00454.5854,E,1,9,0.86,11.7,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPGSV,4,1,13,10,75,280,26,13,67,066,39,07,48,162,15,02,44,282,29*71\r\n$GPGSV,4,2,13,04,41,212,26,23,32,071,40,08,23,181,14,16,17,061,30*7A\r\n$GPGSV,4,3,13,05,17,297,21,09,16,193,,29,08,338,20,20,02,123,16*7B\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,090800.000,A,5222.3189,N,00454.5854,E,0.45,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.45,N,0.84,K,A*3F\r\n$GPGGA,090801.000,5222.3188,N,00454.5856,E,1,9,0.87,11.7,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.87,0.79*01\r\n$GPRMC,090801.000,A,5222.3188,N,00454.5856,E,0.57,186.99,030414,,,A*6F\r\n$GPVTG,186.99,T,,M,0.57,N,1.06,K,A*37\r\n$GPGGA,090802.000,5222.3188,N,00454.5859,E,1,8,0.97,11.7,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090802.000,A,5222.3188,N,00454.5859,E,0.23,186.99,030414,,,A*60\r\n$GPVTG,186.99,T,,M,0.23,N,0.43,K,A*34\r\n$GPGGA,090803.000,5222.3188,N,00454.5860,E,1,9,0.87,11.7,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.87,0.79*01\r\n$GPRMC,090803.000,A,5222.3188,N,00454.5860,E,0.11,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.11,N,0.21,K,A*31\r\n$GPGGA,090804.000,5222.3189,N,00454.5859,E,1,9,0.86,11.7,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*00\r\n$GPRMC,090804.000,A,5222.3189,N,00454.5859,E,0.35,186.99,030414,,,A*60\r\n$GPVTG,186.99,T,,M,0.35,N,0.64,K,A*36\r\n$GPGGA,090805.000,5222.3188,N,00454.5858,E,1,8,0.97,11.7,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPGSV,4,1,13,10,75,280,26,13,67,066,39,07,49,162,18,02,44,282,28*7C\r\n$GPGSV,4,2,13,04,41,212,25,23,32,071,40,08,23,181,12,16,17,061,30*7F\r\n$GPGSV,4,3,13,05,17,297,20,09,17,193,,29,08,338,19,20,02,123,16*71\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090805.000,A,5222.3188,N,00454.5858,E,0.30,186.99,030414,,,A*64\r\n$GPVTG,186.99,T,,M,0.30,N,0.56,K,A*32\r\n$GPGGA,090806.000,5222.3188,N,00454.5856,E,1,8,0.97,11.7,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090806.000,A,5222.3188,N,00454.5856,E,0.33,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.33,N,0.61,K,A*35\r\n$GPGGA,090807.000,5222.3188,N,00454.5855,E,1,8,0.97,11.7,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090807.000,A,5222.3188,N,00454.5855,E,0.23,186.99,030414,,,A*69\r\n$GPVTG,186.99,T,,M,0.23,N,0.43,K,A*34\r\n$GPGGA,090808.000,5222.3187,N,00454.5855,E,1,8,0.97,11.7,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090808.000,A,5222.3187,N,00454.5855,E,0.17,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.17,N,0.32,K,A*35\r\n$GPGGA,090809.000,5222.3187,N,00454.5854,E,1,8,0.97,11.7,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090809.000,A,5222.3187,N,00454.5854,E,0.18,186.99,030414,,,A*61\r\n$GPVTG,186.99,T,,M,0.18,N,0.33,K,A*3B\r\n$GPGGA,090810.000,5222.3186,N,00454.5854,E,1,8,0.97,11.7,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPGSV,4,1,13,10,75,280,27,13,67,066,39,07,49,162,20,02,44,282,28*76\r\n$GPGSV,4,2,13,04,41,212,25,23,32,071,40,08,23,181,16,16,17,061,31*7A\r\n$GPGSV,4,3,13,05,17,297,19,09,17,193,,29,08,338,17,20,02,123,15*76\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,090810.000,A,5222.3186,N,00454.5854,E,0.21,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.21,N,0.39,K,A*3B\r\n$GPGGA,090811.000,5222.3186,N,00454.5854,E,1,8,0.97,11.6,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090811.000,A,5222.3186,N,00454.5854,E,0.19,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.19,N,0.35,K,A*3C\r\n$GPGGA,090812.000,5222.3185,N,00454.5854,E,1,8,0.97,11.6,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090812.000,A,5222.3185,N,00454.5854,E,0.20,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.20,N,0.37,K,A*34\r\n$GPGGA,090813.000,5222.3184,N,00454.5854,E,1,8,0.97,11.6,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090813.000,A,5222.3184,N,00454.5854,E,0.20,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.20,N,0.37,K,A*34\r\n$GPGGA,090814.000,5222.3184,N,00454.5854,E,1,8,0.97,11.6,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090814.000,A,5222.3184,N,00454.5854,E,0.14,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.14,N,0.26,K,A*33\r\n$GPGGA,090815.000,5222.3183,N,00454.5854,E,1,8,0.97,11.6,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPGSV,4,1,13,10,75,280,27,13,67,066,40,07,49,162,16,02,44,282,28*7D\r\n$GPGSV,4,2,13,04,41,212,24,23,32,071,40,08,23,181,16,16,17,061,32*78\r\n$GPGSV,4,3,13,05,17,297,16,09,17,193,,29,08,338,18,20,02,123,16*75\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,090815.000,A,5222.3183,N,00454.5854,E,0.20,186.99,030414,,,A*63\r\n$GPVTG,186.99,T,,M,0.20,N,0.38,K,A*3B\r\n$GPGGA,090816.000,5222.3183,N,00454.5853,E,1,8,0.97,11.6,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090816.000,A,5222.3183,N,00454.5853,E,0.19,186.99,030414,,,A*6D\r\n$GPVTG,186.99,T,,M,0.19,N,0.34,K,A*3D\r\n$GPGGA,090817.000,5222.3183,N,00454.5852,E,1,8,0.97,11.6,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,10,04,,,,,1.27,0.97,0.82*0C\r\n$GPRMC,090817.000,A,5222.3183,N,00454.5852,E,0.22,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.22,N,0.41,K,A*37\r\n$GPGGA,090818.000,5222.3183,N,00454.5853,E,1,9,0.91,11.6,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090818.000,A,5222.3183,N,00454.5853,E,0.38,186.99,030414,,,A*60\r\n$GPVTG,186.99,T,,M,0.38,N,0.70,K,A*3E\r\n$GPGGA,090819.000,5222.3184,N,00454.5854,E,1,9,0.91,11.6,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090819.000,A,5222.3184,N,00454.5854,E,0.19,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.19,N,0.36,K,A*3F\r\n$GPGGA,090820.000,5222.3184,N,00454.5855,E,1,9,0.91,11.6,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPGSV,4,1,13,10,75,280,27,13,67,066,40,07,49,162,16,02,44,282,28*7D\r\n$GPGSV,4,2,13,04,41,212,25,23,32,071,39,08,23,181,16,16,17,061,33*76\r\n$GPGSV,4,3,13,05,17,297,17,09,17,193,,29,08,338,18,20,02,123,15*77\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,090820.000,A,5222.3184,N,00454.5855,E,0.26,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.26,N,0.48,K,A*3A\r\n$GPGGA,090821.000,5222.3185,N,00454.5854,E,1,9,0.91,11.6,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090821.000,A,5222.3185,N,00454.5854,E,0.34,186.99,030414,,,A*67\r\n$GPVTG,186.99,T,,M,0.34,N,0.62,K,A*31\r\n$GPGGA,090822.000,5222.3185,N,00454.5852,E,1,9,0.91,11.6,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090822.000,A,5222.3185,N,00454.5852,E,0.38,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.38,N,0.71,K,A*3F\r\n$GPGGA,090823.000,5222.3184,N,00454.5851,E,1,10,0.82,11.6,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090823.000,A,5222.3184,N,00454.5851,E,0.22,186.99,030414,,,A*66\r\n$GPVTG,186.99,T,,M,0.22,N,0.41,K,A*37\r\n$GPGGA,090824.000,5222.3184,N,00454.5850,E,1,10,0.82,11.6,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090824.000,A,5222.3184,N,00454.5850,E,0.38,186.99,030414,,,A*6B\r\n$GPVTG,186.99,T,,M,0.38,N,0.70,K,A*3E\r\n$GPGGA,090825.000,5222.3183,N,00454.5850,E,1,10,0.82,11.6,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,280,26,13,67,066,40,07,49,162,16,02,44,282,26*72\r\n$GPGSV,4,2,13,04,41,212,25,23,32,071,39,08,23,181,16,16,17,061,33*76\r\n$GPGSV,4,3,13,05,17,297,18,09,17,193,,29,08,338,21,20,02,123,15*72\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,090825.000,A,5222.3183,N,00454.5850,E,0.31,186.99,030414,,,A*64\r\n$GPVTG,186.99,T,,M,0.31,N,0.58,K,A*3D\r\n$GPGGA,090826.000,5222.3182,N,00454.5850,E,1,9,0.91,11.6,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090826.000,A,5222.3182,N,00454.5850,E,0.41,186.99,030414,,,A*61\r\n$GPVTG,186.99,T,,M,0.41,N,0.76,K,A*36\r\n$GPGGA,090827.000,5222.3181,N,00454.5850,E,1,10,0.82,11.5,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090827.000,A,5222.3181,N,00454.5850,E,0.37,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.37,N,0.69,K,A*39\r\n$GPGGA,090828.000,5222.3180,N,00454.5850,E,1,10,0.82,11.5,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090828.000,A,5222.3180,N,00454.5850,E,0.27,186.99,030414,,,A*6D\r\n$GPVTG,186.99,T,,M,0.27,N,0.49,K,A*3A\r\n$GPGGA,090829.000,5222.3179,N,00454.5851,E,1,10,0.82,11.5,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090829.000,A,5222.3179,N,00454.5851,E,0.26,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.26,N,0.48,K,A*3A\r\n$GPGGA,090830.000,5222.3175,N,00454.5852,E,1,9,0.91,11.5,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPGSV,4,1,13,10,75,280,26,13,67,066,40,07,49,162,17,02,44,282,24*71\r\n$GPGSV,4,2,13,04,41,212,24,23,32,071,40,08,23,181,18,16,17,061,31*75\r\n$GPGSV,4,3,13,05,17,297,23,09,17,193,,29,08,338,22,20,02,123,14*78\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090830.000,A,5222.3175,N,00454.5852,E,0.48,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.48,N,0.90,K,A*37\r\n$GPGGA,090831.000,5222.3172,N,00454.5852,E,1,10,0.82,11.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090831.000,A,5222.3172,N,00454.5852,E,0.49,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.49,N,0.91,K,A*37\r\n$GPGGA,090832.000,5222.3170,N,00454.5854,E,1,10,0.82,11.4,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090832.000,A,5222.3170,N,00454.5854,E,0.34,186.99,030414,,,A*6F\r\n$GPVTG,186.99,T,,M,0.34,N,0.62,K,A*31\r\n$GPGGA,090833.000,5222.3169,N,00454.5854,E,1,10,0.82,11.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090833.000,A,5222.3169,N,00454.5854,E,0.26,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.26,N,0.48,K,A*3A\r\n$GPGGA,090834.000,5222.3169,N,00454.5854,E,1,9,0.96,11.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090834.000,A,5222.3169,N,00454.5854,E,0.44,186.99,030414,,,A*66\r\n$GPVTG,186.99,T,,M,0.44,N,0.82,K,A*38\r\n$GPGGA,090835.000,5222.3168,N,00454.5853,E,1,10,0.82,11.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,75,280,27,13,67,066,40,07,49,162,20,02,44,281,24*77\r\n$GPGSV,4,2,13,04,41,212,21,23,32,071,41,08,23,181,19,16,17,061,31*70\r\n$GPGSV,4,3,13,05,17,297,22,09,17,193,,29,08,338,24,20,02,123,14*7F\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,090835.000,A,5222.3168,N,00454.5853,E,0.34,186.99,030414,,,A*66\r\n$GPVTG,186.99,T,,M,0.34,N,0.63,K,A*30\r\n$GPGGA,090836.000,5222.3167,N,00454.5852,E,1,9,0.96,11.3,M,47.0,M,,*65\r\n$GPGSA,A,3,16,23,13,02,05,29,07,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,090836.000,A,5222.3167,N,00454.5852,E,0.26,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.26,N,0.48,K,A*3A\r\n$GPGGA,090837.000,5222.3166,N,00454.5851,E,1,10,0.82,11.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090837.000,A,5222.3166,N,00454.5851,E,0.25,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.25,N,0.46,K,A*37\r\n$GPGGA,090838.000,5222.3167,N,00454.5851,E,1,10,0.82,11.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090838.000,A,5222.3167,N,00454.5851,E,0.26,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.26,N,0.49,K,A*3B\r\n$GPGGA,090839.000,5222.3167,N,00454.5849,E,1,10,0.82,11.2,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090839.000,A,5222.3167,N,00454.5849,E,0.31,186.99,030414,,,A*6B\r\n$GPVTG,186.99,T,,M,0.31,N,0.58,K,A*3D\r\n$GPGGA,090840.000,5222.3169,N,00454.5846,E,1,10,0.82,11.1,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPGSV,4,1,13,10,76,279,25,13,67,066,40,07,49,162,18,02,44,281,24*7B\r\n$GPGSV,4,2,13,04,41,212,22,23,32,071,41,08,24,181,21,16,17,061,32*7C\r\n$GPGSV,4,3,13,05,17,297,22,09,17,193,17,29,08,338,24,20,02,123,14*79\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,090840.000,A,5222.3169,N,00454.5846,E,0.34,186.99,030414,,,A*61\r\n$GPVTG,186.99,T,,M,0.34,N,0.62,K,A*31\r\n$GPGGA,090841.000,5222.3169,N,00454.5845,E,1,10,0.82,11.0,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090841.000,A,5222.3169,N,00454.5845,E,0.28,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.28,N,0.52,K,A*3F\r\n$GPGGA,090842.000,5222.3168,N,00454.5845,E,1,10,0.82,11.0,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090842.000,A,5222.3168,N,00454.5845,E,0.21,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.21,N,0.39,K,A*3B\r\n$GPGGA,090843.000,5222.3167,N,00454.5845,E,1,10,0.82,10.9,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090843.000,A,5222.3167,N,00454.5845,E,0.20,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.20,N,0.37,K,A*34\r\n$GPGGA,090844.000,5222.3165,N,00454.5845,E,1,10,0.82,10.9,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090844.000,A,5222.3165,N,00454.5845,E,0.20,186.99,030414,,,A*6F\r\n$GPVTG,186.99,T,,M,0.20,N,0.37,K,A*34\r\n$GPGGA,090845.000,5222.3164,N,00454.5845,E,1,10,0.83,10.8,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.83,0.79*01\r\n$GPGSV,4,1,13,10,76,279,23,13,66,066,40,07,49,162,17,02,44,281,23*74\r\n$GPGSV,4,2,13,04,41,212,24,23,32,071,41,08,24,181,22,16,17,061,32*79\r\n$GPGSV,4,3,13,05,17,297,22,09,17,193,17,29,08,338,23,20,02,123,15*7F\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,090845.000,A,5222.3164,N,00454.5845,E,0.17,186.99,030414,,,A*6B\r\n$GPVTG,186.99,T,,M,0.17,N,0.31,K,A*36\r\n$GPGGA,090846.000,5222.3164,N,00454.5844,E,1,10,0.82,10.8,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090846.000,A,5222.3164,N,00454.5844,E,0.16,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.16,N,0.29,K,A*3E\r\n$GPGGA,090847.000,5222.3164,N,00454.5841,E,1,10,0.83,10.7,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.83,0.79*01\r\n$GPRMC,090847.000,A,5222.3164,N,00454.5841,E,0.34,186.99,030414,,,A*6C\r\n$GPVTG,186.99,T,,M,0.34,N,0.64,K,A*37\r\n$GPGGA,090848.000,5222.3164,N,00454.5838,E,1,10,0.82,10.7,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090848.000,A,5222.3164,N,00454.5838,E,0.36,186.99,030414,,,A*6F\r\n$GPVTG,186.99,T,,M,0.36,N,0.67,K,A*36\r\n$GPGGA,090849.000,5222.3165,N,00454.5834,E,1,10,0.82,10.7,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090849.000,A,5222.3165,N,00454.5834,E,0.35,186.99,030414,,,A*60\r\n$GPVTG,186.99,T,,M,0.35,N,0.64,K,A*36\r\n$GPGGA,090850.000,5222.3165,N,00454.5830,E,1,10,0.83,10.7,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.83,0.79*01\r\n$GPGSV,4,1,13,10,76,279,22,13,66,066,40,07,49,162,18,02,44,281,21*78\r\n$GPGSV,4,2,13,04,41,212,24,23,32,071,41,08,24,181,22,16,17,060,31*7B\r\n$GPGSV,4,3,13,05,17,297,17,09,17,193,17,29,08,338,24,20,02,123,16*7D\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,090850.000,A,5222.3165,N,00454.5830,E,0.33,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.33,N,0.62,K,A*36\r\n$GPGGA,090851.000,5222.3163,N,00454.5828,E,1,10,0.83,10.7,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090851.000,A,5222.3163,N,00454.5828,E,0.31,186.99,030414,,,A*66\r\n$GPVTG,186.99,T,,M,0.31,N,0.58,K,A*3D\r\n$GPGGA,090852.000,5222.3160,N,00454.5826,E,1,10,0.82,10.6,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090852.000,A,5222.3160,N,00454.5826,E,0.31,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.31,N,0.57,K,A*32\r\n$GPGGA,090853.000,5222.3161,N,00454.5825,E,1,10,0.82,10.6,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090853.000,A,5222.3161,N,00454.5825,E,0.32,186.99,030414,,,A*68\r\n$GPVTG,186.99,T,,M,0.32,N,0.60,K,A*35\r\n$GPGGA,090854.000,5222.3162,N,00454.5825,E,1,10,0.83,10.5,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090854.000,A,5222.3162,N,00454.5825,E,0.35,186.99,030414,,,A*6B\r\n$GPVTG,186.99,T,,M,0.35,N,0.64,K,A*36\r\n$GPGGA,090855.000,5222.3162,N,00454.5824,E,1,10,0.83,10.5,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.83,0.79*01\r\n$GPGSV,4,1,13,10,76,279,25,13,66,066,40,07,49,162,17,02,44,281,21*70\r\n$GPGSV,4,2,13,04,41,212,25,23,31,071,41,08,24,181,22,16,17,060,31*79\r\n$GPGSV,4,3,13,05,17,297,17,09,17,193,15,29,08,338,25,20,02,123,16*7E\r\n$GPGSV,4,4,13,51,,,*7F\r\n$GPRMC,090855.000,A,5222.3162,N,00454.5824,E,0.35,186.99,030414,,,A*6B\r\n$GPVTG,186.99,T,,M,0.35,N,0.65,K,A*37\r\n$GPGGA,090856.000,5222.3163,N,00454.5822,E,1,10,0.82,10.5,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.14,0.82,0.79*00\r\n$GPRMC,090856.000,A,5222.3163,N,00454.5822,E,0.35,186.99,030414,,,A*6F\r\n$GPVTG,186.99,T,,M,0.35,N,0.66,K,A*34\r\n$GPGGA,090857.000,5222.3164,N,00454.5822,E,1,10,0.85,10.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.56,0.85,1.30*0D\r\n$GPRMC,090857.000,A,5222.3164,N,00454.5822,E,0.48,186.99,030414,,,A*63\r\n$GPVTG,186.99,T,,M,0.48,N,0.88,K,A*3E\r\n$GPGGA,090858.000,5222.3165,N,00454.5824,E,1,9,0.91,10.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.22,0.91,0.82*08\r\n$GPRMC,090858.000,A,5222.3165,N,00454.5824,E,0.35,186.99,030414,,,A*61\r\n$GPVTG,186.99,T,,M,0.35,N,0.65,K,A*37\r\n$GPGGA,090859.000,5222.3165,N,00454.5825,E,1,11,0.77,10.5,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090859.000,A,5222.3165,N,00454.5825,E,0.11,186.99,030414,,,A*67\r\n$GPVTG,186.99,T,,M,0.11,N,0.20,K,A*30\r\n$GPGGA,090900.000,5222.3166,N,00454.5825,E,1,11,0.77,10.5,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,25,13,66,066,40,07,49,162,16,02,44,281,19*7A\r\n$GPGSV,4,2,13,04,41,212,24,23,31,071,41,08,24,181,22,16,17,060,31*78\r\n$GPGSV,4,3,13,05,17,297,19,09,17,193,17,29,08,338,20,20,02,123,16*77\r\n$GPGSV,4,4,13,51,,,*7F\r\n$GPRMC,090900.000,A,5222.3166,N,00454.5825,E,0.21,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.21,N,0.39,K,A*3B\r\n$GPGGA,090901.000,5222.3166,N,00454.5824,E,1,11,0.77,10.5,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090901.000,A,5222.3166,N,00454.5824,E,0.29,186.99,030414,,,A*62\r\n$GPVTG,186.99,T,,M,0.29,N,0.53,K,A*3F\r\n$GPGGA,090902.000,5222.3166,N,00454.5823,E,1,11,0.77,10.5,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090902.000,A,5222.3166,N,00454.5823,E,0.33,186.99,030414,,,A*6D\r\n$GPVTG,186.99,T,,M,0.33,N,0.61,K,A*35\r\n$GPGGA,090903.000,5222.3166,N,00454.5821,E,1,11,0.77,10.5,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090903.000,A,5222.3166,N,00454.5821,E,0.33,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.33,N,0.61,K,A*35\r\n$GPGGA,090904.000,5222.3166,N,00454.5820,E,1,11,0.77,10.5,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090904.000,A,5222.3166,N,00454.5820,E,0.24,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.24,N,0.44,K,A*34\r\n$GPGGA,090905.000,5222.3167,N,00454.5819,E,1,11,0.77,10.5,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,24,13,66,066,40,07,49,162,17,02,44,281,19*7A\r\n$GPGSV,4,2,13,04,41,212,25,23,31,071,41,08,24,181,22,16,17,060,30*78\r\n$GPGSV,4,3,13,05,17,297,17,09,17,193,17,29,08,338,22,20,02,123,15*78\r\n$GPGSV,4,4,13,42,,,*7D\r\n$GPRMC,090905.000,A,5222.3167,N,00454.5819,E,0.15,186.99,030414,,,A*66\r\n$GPVTG,186.99,T,,M,0.15,N,0.28,K,A*3C\r\n$GPGGA,090906.000,5222.3167,N,00454.5818,E,1,11,0.77,10.5,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090906.000,A,5222.3167,N,00454.5818,E,0.14,186.99,030414,,,A*65\r\n$GPVTG,186.99,T,,M,0.14,N,0.25,K,A*30\r\n$GPGGA,090907.000,5222.3167,N,00454.5818,E,1,11,0.77,10.4,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090907.000,A,5222.3167,N,00454.5818,E,0.14,186.99,030414,,,A*64\r\n$GPVTG,186.99,T,,M,0.14,N,0.25,K,A*30\r\n$GPGGA,090908.000,5222.3167,N,00454.5817,E,1,11,0.77,10.4,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090908.000,A,5222.3167,N,00454.5817,E,0.29,186.99,030414,,,A*6A\r\n$GPVTG,186.99,T,,M,0.29,N,0.53,K,A*3F\r\n$GPGGA,090909.000,5222.3168,N,00454.5817,E,1,11,0.77,10.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090909.000,A,5222.3168,N,00454.5817,E,0.45,186.99,030414,,,A*6E\r\n$GPVTG,186.99,T,,M,0.45,N,0.84,K,A*3F\r\n$GPGGA,090910.000,5222.3169,N,00454.5818,E,1,10,0.85,10.4,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPGSV,4,1,13,10,76,279,22,13,66,066,40,07,49,162,18,02,44,281,16*7C\r\n$GPGSV,4,2,13,04,41,212,24,23,31,071,41,08,24,181,20,16,17,060,29*73\r\n$GPGSV,4,3,13,05,17,297,16,09,17,193,18,29,08,338,23,20,02,123,16*74\r\n$GPGSV,4,4,13,48,,,*77\r\n$GPRMC,090910.000,A,5222.3169,N,00454.5818,E,0.61,43.43,030414,,,A*51\r\n$GPVTG,43.43,T,,M,0.61,N,1.14,K,A*0E\r\n$GPGGA,090911.000,5222.3170,N,00454.5821,E,1,11,0.77,10.4,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090911.000,A,5222.3170,N,00454.5821,E,0.57,43.43,030414,,,A*57\r\n$GPVTG,43.43,T,,M,0.57,N,1.05,K,A*0B\r\n$GPGGA,090912.000,5222.3169,N,00454.5819,E,1,11,0.77,10.4,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090912.000,A,5222.3169,N,00454.5819,E,0.24,43.43,030414,,,A*53\r\n$GPVTG,43.43,T,,M,0.24,N,0.45,K,A*0A\r\n$GPGGA,090913.000,5222.3168,N,00454.5818,E,1,10,0.85,10.4,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPRMC,090913.000,A,5222.3168,N,00454.5818,E,0.45,43.43,030414,,,A*55\r\n$GPVTG,43.43,T,,M,0.45,N,0.83,K,A*07\r\n$GPGGA,090914.000,5222.3170,N,00454.5815,E,1,11,0.77,10.4,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090914.000,A,5222.3170,N,00454.5815,E,0.51,43.43,030414,,,A*53\r\n$GPVTG,43.43,T,,M,0.51,N,0.95,K,A*05\r\n$GPGGA,090915.000,5222.3171,N,00454.5812,E,1,10,0.85,10.4,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPGSV,4,1,13,10,76,279,20,13,66,066,40,07,49,162,21,02,44,281,15*77\r\n$GPGSV,4,2,13,04,41,212,23,23,31,071,41,08,24,181,20,16,17,060,28*75\r\n$GPGSV,4,3,13,05,17,297,16,09,17,193,19,29,08,338,21,20,02,123,16*77\r\n$GPGSV,4,4,13,50,,,*7E\r\n$GPRMC,090915.000,A,5222.3171,N,00454.5812,E,0.51,43.43,030414,,,A*54\r\n$GPVTG,43.43,T,,M,0.51,N,0.95,K,A*05\r\n$GPGGA,090916.000,5222.3172,N,00454.5810,E,1,10,0.85,10.4,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPRMC,090916.000,A,5222.3172,N,00454.5810,E,0.46,43.43,030414,,,A*50\r\n$GPVTG,43.43,T,,M,0.46,N,0.85,K,A*02\r\n$GPGGA,090917.000,5222.3172,N,00454.5809,E,1,11,0.77,10.4,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090917.000,A,5222.3172,N,00454.5809,E,0.42,43.43,030414,,,A*5D\r\n$GPVTG,43.43,T,,M,0.42,N,0.78,K,A*04\r\n$GPGGA,090918.000,5222.3173,N,00454.5808,E,1,11,0.77,10.4,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090918.000,A,5222.3173,N,00454.5808,E,0.27,43.43,030414,,,A*51\r\n$GPVTG,43.43,T,,M,0.27,N,0.49,K,A*05\r\n$GPGGA,090919.000,5222.3174,N,00454.5807,E,1,11,0.77,10.4,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090919.000,A,5222.3174,N,00454.5807,E,0.28,43.43,030414,,,A*57\r\n$GPVTG,43.43,T,,M,0.28,N,0.53,K,A*01\r\n$GPGGA,090920.000,5222.3174,N,00454.5806,E,1,10,0.83,10.4,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPGSV,4,1,13,10,76,279,22,13,66,066,40,07,49,162,20,02,44,281,17*76\r\n$GPGSV,4,2,13,04,41,212,23,23,31,071,41,08,24,181,21,16,17,060,26*7A\r\n$GPGSV,4,3,13,05,17,297,15,09,17,193,18,29,08,338,23,20,02,123,16*77\r\n$GPGSV,4,4,13,50,,,*7E\r\n$GPRMC,090920.000,A,5222.3174,N,00454.5806,E,0.28,43.43,030414,,,A*5C\r\n$GPVTG,43.43,T,,M,0.28,N,0.52,K,A*00\r\n$GPGGA,090921.000,5222.3175,N,00454.5805,E,1,10,0.83,10.4,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090921.000,A,5222.3175,N,00454.5805,E,0.30,43.43,030414,,,A*56\r\n$GPVTG,43.43,T,,M,0.30,N,0.56,K,A*0D\r\n$GPGGA,090922.000,5222.3176,N,00454.5805,E,1,10,0.83,10.4,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090922.000,A,5222.3176,N,00454.5805,E,0.40,43.43,030414,,,A*51\r\n$GPVTG,43.43,T,,M,0.40,N,0.74,K,A*0A\r\n$GPGGA,090923.000,5222.3177,N,00454.5805,E,1,10,0.85,10.4,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.56,0.85,1.31*0C\r\n$GPRMC,090923.000,A,5222.3177,N,00454.5805,E,0.53,43.43,030414,,,A*53\r\n$GPVTG,43.43,T,,M,0.53,N,0.97,K,A*05\r\n$GPGGA,090924.000,5222.3178,N,00454.5806,E,1,10,0.83,10.4,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090924.000,A,5222.3178,N,00454.5806,E,0.42,43.43,030414,,,A*58\r\n$GPVTG,43.43,T,,M,0.42,N,0.78,K,A*04\r\n$GPGGA,090925.000,5222.3179,N,00454.5806,E,1,10,0.85,10.4,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.56,0.85,1.31*0C\r\n$GPGSV,4,1,13,10,76,279,20,13,66,066,40,07,49,162,20,02,44,281,16*75\r\n$GPGSV,4,2,13,04,41,212,23,23,31,071,41,37,28,159,,08,24,181,20*7B\r\n$GPGSV,4,3,13,16,17,060,23,05,17,297,16,09,17,193,17,29,08,338,24*7D\r\n$GPGSV,4,4,13,20,02,123,16*4C\r\n$GPRMC,090925.000,A,5222.3179,N,00454.5806,E,0.36,43.43,030414,,,A*5B\r\n$GPVTG,43.43,T,,M,0.36,N,0.67,K,A*09\r\n$GPGGA,090926.000,5222.3180,N,00454.5805,E,1,10,0.83,10.4,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090926.000,A,5222.3180,N,00454.5805,E,0.43,43.43,030414,,,A*5F\r\n$GPVTG,43.43,T,,M,0.43,N,0.79,K,A*04\r\n$GPGGA,090927.000,5222.3180,N,00454.5803,E,1,10,0.83,10.4,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.79*00\r\n$GPRMC,090927.000,A,5222.3180,N,00454.5803,E,0.36,43.43,030414,,,A*5A\r\n$GPVTG,43.43,T,,M,0.36,N,0.67,K,A*09\r\n$GPGGA,090928.000,5222.3181,N,00454.5802,E,1,11,0.77,10.3,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090928.000,A,5222.3181,N,00454.5802,E,0.28,43.43,030414,,,A*5A\r\n$GPVTG,43.43,T,,M,0.28,N,0.53,K,A*01\r\n$GPGGA,090929.000,5222.3181,N,00454.5801,E,1,11,0.77,10.3,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090929.000,A,5222.3181,N,00454.5801,E,0.31,43.43,030414,,,A*50\r\n$GPVTG,43.43,T,,M,0.31,N,0.57,K,A*0D\r\n$GPGGA,090930.000,5222.3181,N,00454.5799,E,1,11,0.77,10.3,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,22,13,66,066,40,07,49,162,16,02,44,281,15*71\r\n$GPGSV,4,2,13,04,41,212,23,23,31,071,41,39,27,154,,08,24,181,21*76\r\n$GPGSV,4,3,13,16,17,060,21,05,17,297,17,09,17,193,15,29,08,338,23*7B\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090930.000,A,5222.3181,N,00454.5799,E,0.38,43.43,030414,,,A*5F\r\n$GPVTG,43.43,T,,M,0.38,N,0.70,K,A*01\r\n$GPGGA,090931.000,5222.3182,N,00454.5799,E,1,11,0.77,10.3,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090931.000,A,5222.3182,N,00454.5799,E,0.41,43.43,030414,,,A*53\r\n$GPVTG,43.43,T,,M,0.41,N,0.76,K,A*09\r\n$GPGGA,090932.000,5222.3183,N,00454.5798,E,1,10,0.85,10.3,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPRMC,090932.000,A,5222.3183,N,00454.5798,E,0.32,43.43,030414,,,A*54\r\n$GPVTG,43.43,T,,M,0.32,N,0.59,K,A*00\r\n$GPGGA,090933.000,5222.3184,N,00454.5797,E,1,9,1.08,10.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,07,10,04,09,,,,1.37,1.08,0.85*06\r\n$GPRMC,090933.000,A,5222.3184,N,00454.5797,E,0.32,43.43,030414,,,A*5D\r\n$GPVTG,43.43,T,,M,0.32,N,0.59,K,A*00\r\n$GPGGA,090934.000,5222.3185,N,00454.5795,E,1,11,0.77,10.2,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090934.000,A,5222.3185,N,00454.5795,E,0.38,43.43,030414,,,A*53\r\n$GPVTG,43.43,T,,M,0.38,N,0.70,K,A*01\r\n$GPGGA,090935.000,5222.3187,N,00454.5793,E,1,11,0.77,10.2,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,23,13,66,066,40,07,49,162,15,02,44,281,19*7F\r\n$GPGSV,4,2,13,04,41,212,22,23,31,071,40,39,27,154,,08,24,181,21*76\r\n$GPGSV,4,3,13,16,17,060,23,05,17,297,17,09,17,193,17,29,08,337,21*76\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090935.000,A,5222.3187,N,00454.5793,E,0.54,43.43,030414,,,A*5C\r\n$GPVTG,43.43,T,,M,0.54,N,1.00,K,A*0D\r\n$GPGGA,090936.000,5222.3191,N,00454.5792,E,1,11,0.77,10.1,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.18*05\r\n$GPRMC,090936.000,A,5222.3191,N,00454.5792,E,0.61,7.71,030414,,,A*6E\r\n$GPVTG,7.71,T,,M,0.61,N,1.14,K,A*3F\r\n$GPGGA,090937.000,5222.3192,N,00454.5793,E,1,11,0.77,10.1,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.18*05\r\n$GPRMC,090937.000,A,5222.3192,N,00454.5793,E,0.58,7.71,030414,,,A*67\r\n$GPVTG,7.71,T,,M,0.58,N,1.07,K,A*37\r\n$GPGGA,090938.000,5222.3193,N,00454.5794,E,1,11,0.77,10.1,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.17*0A\r\n$GPRMC,090938.000,A,5222.3193,N,00454.5794,E,0.50,7.71,030414,,,A*66\r\n$GPVTG,7.71,T,,M,0.50,N,0.93,K,A*33\r\n$GPGGA,090939.000,5222.3194,N,00454.5796,E,1,11,0.77,10.0,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090939.000,A,5222.3194,N,00454.5796,E,0.44,7.71,030414,,,A*67\r\n$GPVTG,7.71,T,,M,0.44,N,0.82,K,A*36\r\n$GPGGA,090940.000,5222.3196,N,00454.5796,E,1,11,0.77,10.0,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,27,13,66,066,40,07,49,162,16,02,44,281,21*73\r\n$GPGSV,4,2,13,04,41,212,20,23,31,071,40,33,27,205,,08,24,181,19*72\r\n$GPGSV,4,3,13,16,17,060,22,05,17,297,18,09,17,193,12,29,08,337,24*78\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090940.000,A,5222.3196,N,00454.5796,E,0.46,7.71,030414,,,A*69\r\n$GPVTG,7.71,T,,M,0.46,N,0.85,K,A*33\r\n$GPGGA,090941.000,5222.3198,N,00454.5794,E,1,11,0.77,10.0,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090941.000,A,5222.3198,N,00454.5794,E,0.49,7.71,030414,,,A*6B\r\n$GPVTG,7.71,T,,M,0.49,N,0.91,K,A*39\r\n$GPGGA,090942.000,5222.3198,N,00454.5793,E,1,11,0.77,10.0,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090942.000,A,5222.3198,N,00454.5793,E,0.45,7.71,030414,,,A*63\r\n$GPVTG,7.71,T,,M,0.45,N,0.83,K,A*36\r\n$GPGGA,090943.000,5222.3199,N,00454.5791,E,1,11,0.77,10.0,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090943.000,A,5222.3199,N,00454.5791,E,0.45,7.71,030414,,,A*61\r\n$GPVTG,7.71,T,,M,0.45,N,0.84,K,A*31\r\n$GPGGA,090944.000,5222.3200,N,00454.5790,E,1,11,0.77,10.0,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPRMC,090944.000,A,5222.3200,N,00454.5790,E,0.40,7.71,030414,,,A*61\r\n$GPVTG,7.71,T,,M,0.40,N,0.74,K,A*3B\r\n$GPGGA,090945.000,5222.3201,N,00454.5789,E,1,11,0.77,10.0,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.08,0.77,0.76*01\r\n$GPGSV,4,1,13,10,76,279,27,13,66,066,40,07,49,162,17,02,44,281,20*73\r\n$GPGSV,4,2,13,04,41,212,19,23,31,071,40,33,27,205,,08,24,181,22*70\r\n$GPGSV,4,3,13,05,18,297,15,16,17,060,24,09,17,193,17,29,08,337,24*79\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090945.000,A,5222.3201,N,00454.5789,E,0.36,7.71,030414,,,A*68\r\n$GPVTG,7.71,T,,M,0.36,N,0.66,K,A*39\r\n$GPGGA,090946.000,5222.3202,N,00454.5789,E,1,11,0.77,10.0,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.18*05\r\n$GPRMC,090946.000,A,5222.3202,N,00454.5789,E,0.36,7.71,030414,,,A*68\r\n$GPVTG,7.71,T,,M,0.36,N,0.67,K,A*38\r\n$GPGGA,090947.000,5222.3203,N,00454.5788,E,1,11,0.77,9.9,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.18*05\r\n$GPRMC,090947.000,A,5222.3203,N,00454.5788,E,0.39,7.71,030414,,,A*66\r\n$GPVTG,7.71,T,,M,0.39,N,0.72,K,A*33\r\n$GPGGA,090948.000,5222.3204,N,00454.5788,E,1,10,0.85,9.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.16,0.85,0.79*07\r\n$GPRMC,090948.000,A,5222.3204,N,00454.5788,E,0.40,7.71,030414,,,A*60\r\n$GPVTG,7.71,T,,M,0.40,N,0.74,K,A*3B\r\n$GPGGA,090949.000,5222.3205,N,00454.5787,E,1,11,0.77,9.9,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,09,,1.41,0.77,1.18*05\r\n$GPRMC,090949.000,A,5222.3205,N,00454.5787,E,0.42,7.71,030414,,,A*6D\r\n$GPVTG,7.71,T,,M,0.42,N,0.79,K,A*34\r\n$GPGGA,090950.000,5222.3206,N,00454.5788,E,1,10,0.85,9.9,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,09,,,1.56,0.85,1.31*0E\r\n$GPGSV,4,1,13,10,76,278,27,13,66,066,40,07,50,161,17,02,44,281,19*73\r\n$GPGSV,4,2,13,04,41,212,19,23,31,071,39,08,24,181,22,05,18,297,14*79\r\n$GPGSV,4,3,13,16,17,060,24,09,17,193,17,40,09,115,,29,08,337,20*71\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090950.000,A,5222.3206,N,00454.5788,E,0.39,7.71,030414,,,A*65\r\n$GPVTG,7.71,T,,M,0.39,N,0.73,K,A*32\r\n$GPGGA,090951.000,5222.3207,N,00454.5787,E,1,9,0.92,9.9,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.71,0.92,1.44*06\r\n$GPRMC,090951.000,A,5222.3207,N,00454.5787,E,0.38,7.71,030414,,,A*6B\r\n$GPVTG,7.71,T,,M,0.38,N,0.71,K,A*31\r\n$GPGGA,090952.000,5222.3208,N,00454.5788,E,1,10,0.85,9.9,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.57,0.85,1.31*0D\r\n$GPRMC,090952.000,A,5222.3208,N,00454.5788,E,0.29,7.71,030414,,,A*68\r\n$GPVTG,7.71,T,,M,0.29,N,0.53,K,A*31\r\n$GPGGA,090953.000,5222.3209,N,00454.5788,E,1,10,0.85,9.9,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.57,0.85,1.32*0E\r\n$GPRMC,090953.000,A,5222.3209,N,00454.5788,E,0.22,7.71,030414,,,A*63\r\n$GPVTG,7.71,T,,M,0.22,N,0.42,K,A*3A\r\n$GPGGA,090954.000,5222.3210,N,00454.5788,E,1,10,0.83,9.9,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,090954.000,A,5222.3210,N,00454.5788,E,0.25,7.71,030414,,,A*6B\r\n$GPVTG,7.71,T,,M,0.25,N,0.47,K,A*38\r\n$GPGGA,090955.000,5222.3203,N,00454.5792,E,1,10,0.83,9.8,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,26,13,66,066,40,07,50,161,17,02,44,281,17*7C\r\n$GPGSV,4,2,13,04,41,212,21,23,31,071,39,08,24,181,22,05,18,297,22*77\r\n$GPGSV,4,3,13,16,17,060,22,09,17,193,17,40,09,115,,29,08,337,21*76\r\n$GPGSV,4,4,13,20,02,123,15*4F\r\n$GPRMC,090955.000,A,5222.3203,N,00454.5792,E,0.26,7.71,030414,,,A*60\r\n$GPVTG,7.71,T,,M,0.26,N,0.49,K,A*35\r\n$GPGGA,090956.000,5222.3202,N,00454.5793,E,1,9,0.91,9.7,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,090956.000,A,5222.3202,N,00454.5793,E,0.20,7.71,030414,,,A*65\r\n$GPVTG,7.71,T,,M,0.20,N,0.38,K,A*35\r\n$GPGGA,090957.000,5222.3200,N,00454.5795,E,1,9,0.87,9.6,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.18,0.87,0.81*0C\r\n$GPRMC,090957.000,A,5222.3200,N,00454.5795,E,0.13,7.71,030414,,,A*60\r\n$GPVTG,7.71,T,,M,0.13,N,0.25,K,A*39\r\n$GPGGA,090958.000,5222.3199,N,00454.5797,E,1,9,0.87,9.6,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.18,0.87,0.81*0C\r\n$GPRMC,090958.000,A,5222.3199,N,00454.5797,E,0.10,7.71,030414,,,A*6D\r\n$GPVTG,7.71,T,,M,0.10,N,0.18,K,A*34\r\n$GPGGA,090959.000,5222.3201,N,00454.5799,E,1,10,0.83,9.5,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,090959.000,A,5222.3201,N,00454.5799,E,0.10,7.71,030414,,,A*60\r\n$GPVTG,7.71,T,,M,0.10,N,0.19,K,A*35\r\n$GPGGA,091000.000,5222.3202,N,00454.5801,E,1,9,0.91,9.5,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPGSV,4,1,13,10,76,278,25,13,66,066,40,07,50,161,16,02,44,281,17*7E\r\n$GPGSV,4,2,13,04,41,212,20,23,31,071,38,08,24,181,23,05,18,297,24*70\r\n$GPGSV,4,3,13,16,17,060,19,09,17,193,19,29,08,337,18,44,08,114,*7E\r\n$GPGSV,4,4,13,20,01,123,16*4F\r\n$GPRMC,091000.000,A,5222.3202,N,00454.5801,E,0.07,7.71,030414,,,A*6F\r\n$GPVTG,7.71,T,,M,0.07,N,0.12,K,A*38\r\n$GPGGA,091001.000,5222.3202,N,00454.5801,E,1,9,0.91,9.5,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091001.000,A,5222.3202,N,00454.5801,E,0.06,7.71,030414,,,A*6F\r\n$GPVTG,7.71,T,,M,0.06,N,0.10,K,A*3B\r\n$GPGGA,091002.000,5222.3202,N,00454.5800,E,1,9,0.91,9.5,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091002.000,A,5222.3202,N,00454.5800,E,0.03,7.71,030414,,,A*68\r\n$GPVTG,7.71,T,,M,0.03,N,0.06,K,A*39\r\n$GPGGA,091003.000,5222.3202,N,00454.5800,E,1,10,0.83,9.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091003.000,A,5222.3202,N,00454.5800,E,0.36,7.71,030414,,,A*6F\r\n$GPVTG,7.71,T,,M,0.36,N,0.68,K,A*37\r\n$GPGGA,091004.000,5222.3202,N,00454.5802,E,1,9,0.91,9.5,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091004.000,A,5222.3202,N,00454.5802,E,0.70,13.92,030414,,,A*50\r\n$GPVTG,13.92,T,,M,0.70,N,1.30,K,A*01\r\n$GPGGA,091005.000,5222.3202,N,00454.5806,E,1,10,0.83,9.5,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,28,13,66,066,40,07,50,161,16,02,44,281,17*73\r\n$GPGSV,4,2,13,04,41,212,19,23,31,071,38,08,24,181,21,05,18,297,20*7C\r\n$GPGSV,4,3,13,16,17,060,17,09,17,193,21,29,08,337,17,44,08,114,*74\r\n$GPGSV,4,4,13,20,01,123,14*4D\r\n$GPRMC,091005.000,A,5222.3202,N,00454.5806,E,0.64,13.92,030414,,,A*50\r\n$GPVTG,13.92,T,,M,0.64,N,1.19,K,A*0F\r\n$GPGGA,091006.000,5222.3203,N,00454.5807,E,1,9,0.91,9.5,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091006.000,A,5222.3203,N,00454.5807,E,0.16,13.92,030414,,,A*56\r\n$GPVTG,13.92,T,,M,0.16,N,0.30,K,A*00\r\n$GPGGA,091007.000,5222.3203,N,00454.5809,E,1,9,0.91,9.4,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091007.000,A,5222.3203,N,00454.5809,E,0.13,13.92,030414,,,A*5C\r\n$GPVTG,13.92,T,,M,0.13,N,0.25,K,A*01\r\n$GPGGA,091008.000,5222.3202,N,00454.5812,E,1,9,0.91,9.4,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091008.000,A,5222.3202,N,00454.5812,E,0.14,13.92,030414,,,A*5F\r\n$GPVTG,13.92,T,,M,0.14,N,0.27,K,A*04\r\n$GPGGA,091009.000,5222.3202,N,00454.5811,E,1,9,0.91,9.4,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091009.000,A,5222.3202,N,00454.5811,E,0.15,13.92,030414,,,A*5C\r\n$GPVTG,13.92,T,,M,0.15,N,0.27,K,A*05\r\n$GPGGA,091010.000,5222.3202,N,00454.5811,E,1,9,0.91,9.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPGSV,4,1,13,10,76,278,28,13,66,066,40,07,50,161,18,02,44,281,17*7D\r\n$GPGSV,4,2,13,04,41,212,20,23,31,071,38,37,28,159,,08,24,181,21*77\r\n$GPGSV,4,3,13,05,18,297,18,16,17,060,18,09,17,193,19,29,08,337,18*7A\r\n$GPGSV,4,4,13,20,01,123,14*4D\r\n$GPRMC,091010.000,A,5222.3202,N,00454.5811,E,0.04,13.92,030414,,,A*54\r\n$GPVTG,13.92,T,,M,0.04,N,0.07,K,A*07\r\n$GPGGA,091011.000,5222.3202,N,00454.5811,E,1,9,0.91,9.4,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091011.000,A,5222.3202,N,00454.5811,E,0.06,13.92,030414,,,A*57\r\n$GPVTG,13.92,T,,M,0.06,N,0.12,K,A*01\r\n$GPGGA,091012.000,5222.3202,N,00454.5811,E,1,10,0.83,9.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091012.000,A,5222.3202,N,00454.5811,E,0.09,13.92,030414,,,A*5B\r\n$GPVTG,13.92,T,,M,0.09,N,0.16,K,A*0A\r\n$GPGGA,091013.000,5222.3202,N,00454.5810,E,1,10,0.83,9.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091013.000,A,5222.3202,N,00454.5810,E,0.06,13.92,030414,,,A*54\r\n$GPVTG,13.92,T,,M,0.06,N,0.12,K,A*01\r\n$GPGGA,091014.000,5222.3202,N,00454.5810,E,1,9,0.91,9.4,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPRMC,091014.000,A,5222.3202,N,00454.5810,E,0.07,13.92,030414,,,A*52\r\n$GPVTG,13.92,T,,M,0.07,N,0.13,K,A*01\r\n$GPGGA,091015.000,5222.3202,N,00454.5810,E,1,9,0.91,9.4,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,07,10,04,,,,1.23,0.91,0.82*09\r\n$GPGSV,4,1,13,10,76,278,28,13,66,066,40,07,50,161,20,02,44,281,17*76\r\n$GPGSV,4,2,13,04,41,212,19,23,31,071,39,37,28,159,,08,24,181,20*7D\r\n$GPGSV,4,3,13,05,18,297,19,16,17,060,19,09,17,193,17,29,08,337,19*75\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091015.000,A,5222.3202,N,00454.5810,E,0.04,13.92,030414,,,A*50\r\n$GPVTG,13.92,T,,M,0.04,N,0.07,K,A*07\r\n$GPGGA,091016.000,5222.3202,N,00454.5810,E,1,9,0.87,9.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.18,0.87,0.81*0C\r\n$GPRMC,091016.000,A,5222.3202,N,00454.5810,E,0.34,13.92,030414,,,A*50\r\n$GPVTG,13.92,T,,M,0.34,N,0.62,K,A*07\r\n$GPGGA,091017.000,5222.3202,N,00454.5811,E,1,9,0.87,9.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.18,0.87,0.81*0C\r\n$GPRMC,091017.000,A,5222.3202,N,00454.5811,E,0.58,13.92,030414,,,A*5A\r\n$GPVTG,13.92,T,,M,0.58,N,1.07,K,A*0F\r\n$GPGGA,091018.000,5222.3203,N,00454.5813,E,1,10,0.83,9.4,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091018.000,A,5222.3203,N,00454.5813,E,0.50,13.92,030414,,,A*5E\r\n$GPVTG,13.92,T,,M,0.50,N,0.93,K,A*0B\r\n$GPGGA,091019.000,5222.3204,N,00454.5815,E,1,10,0.83,9.4,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091019.000,A,5222.3204,N,00454.5815,E,0.07,13.92,030414,,,A*5C\r\n$GPVTG,13.92,T,,M,0.07,N,0.13,K,A*01\r\n$GPGGA,091020.000,5222.3204,N,00454.5815,E,1,10,0.83,9.4,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,27,13,66,066,40,07,50,161,21,02,44,280,18*76\r\n$GPGSV,4,2,13,04,40,211,18,23,31,071,39,39,27,154,,08,24,181,20*72\r\n$GPGSV,4,3,13,05,18,297,19,16,17,060,22,09,17,193,17,29,08,337,25*72\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091020.000,A,5222.3204,N,00454.5815,E,0.19,13.92,030414,,,A*59\r\n$GPVTG,13.92,T,,M,0.19,N,0.36,K,A*09\r\n$GPGGA,091021.000,5222.3204,N,00454.5815,E,1,10,0.83,9.4,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091021.000,A,5222.3204,N,00454.5815,E,0.23,13.92,030414,,,A*51\r\n$GPVTG,13.92,T,,M,0.23,N,0.42,K,A*03\r\n$GPGGA,091022.000,5222.3204,N,00454.5814,E,1,10,0.83,9.4,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091022.000,A,5222.3204,N,00454.5814,E,0.11,13.92,030414,,,A*52\r\n$GPVTG,13.92,T,,M,0.11,N,0.21,K,A*07\r\n$GPGGA,091023.000,5222.3204,N,00454.5813,E,1,10,0.83,9.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091023.000,A,5222.3204,N,00454.5813,E,0.08,13.92,030414,,,A*5C\r\n$GPVTG,13.92,T,,M,0.08,N,0.15,K,A*08\r\n$GPGGA,091024.000,5222.3204,N,00454.5813,E,1,10,0.83,9.3,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091024.000,A,5222.3204,N,00454.5813,E,0.03,13.92,030414,,,A*50\r\n$GPVTG,13.92,T,,M,0.03,N,0.06,K,A*01\r\n$GPGGA,091025.000,5222.3204,N,00454.5813,E,1,10,0.83,9.3,M,47.0,M,,*68\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,26,13,66,066,40,07,50,161,21,02,44,280,19*76\r\n$GPGSV,4,2,13,04,40,211,17,23,31,071,40,39,27,154,,08,24,181,22*71\r\n$GPGSV,4,3,13,05,18,297,20,09,18,193,19,16,17,060,23,29,08,337,25*78\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091025.000,A,5222.3204,N,00454.5813,E,0.08,13.92,030414,,,A*5A\r\n$GPVTG,13.92,T,,M,0.08,N,0.14,K,A*09\r\n$GPGGA,091026.000,5222.3204,N,00454.5813,E,1,10,0.83,9.3,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091026.000,A,5222.3204,N,00454.5813,E,0.13,13.92,030414,,,A*53\r\n$GPVTG,13.92,T,,M,0.13,N,0.25,K,A*01\r\n$GPGGA,091027.000,5222.3204,N,00454.5814,E,1,10,0.83,9.3,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091027.000,A,5222.3204,N,00454.5814,E,0.28,13.92,030414,,,A*5D\r\n$GPVTG,13.92,T,,M,0.28,N,0.52,K,A*09\r\n$GPGGA,091028.000,5222.3204,N,00454.5815,E,1,10,0.83,9.3,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091028.000,A,5222.3204,N,00454.5815,E,0.34,13.92,030414,,,A*5E\r\n$GPVTG,13.92,T,,M,0.34,N,0.64,K,A*01\r\n$GPGGA,091029.000,5222.3201,N,00454.5818,E,1,9,0.88,9.3,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,,,,1.19,0.88,0.80*05\r\n$GPRMC,091029.000,A,5222.3201,N,00454.5818,E,0.78,64.91,030414,,,A*5C\r\n$GPVTG,64.91,T,,M,0.78,N,1.45,K,A*08\r\n$GPGGA,091030.000,5222.3197,N,00454.5820,E,1,9,0.88,9.3,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,,,,1.19,0.88,0.80*05\r\n$GPGSV,4,1,13,10,76,278,23,13,66,066,40,07,50,161,19,02,44,280,20*72\r\n$GPGSV,4,2,13,04,40,211,16,23,31,071,40,33,27,205,,08,24,181,21*7E\r\n$GPGSV,4,3,13,05,18,297,23,09,18,193,19,16,17,060,22,29,08,337,26*79\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091030.000,A,5222.3197,N,00454.5820,E,0.79,63.88,030414,,,A*5D\r\n$GPVTG,63.88,T,,M,0.79,N,1.46,K,A*05\r\n$GPGGA,091031.000,5222.3192,N,00454.5823,E,1,9,0.88,9.3,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,,,,1.19,0.88,0.80*05\r\n$GPRMC,091031.000,A,5222.3192,N,00454.5823,E,0.51,63.88,030414,,,A*50\r\n$GPVTG,63.88,T,,M,0.51,N,0.94,K,A*01\r\n$GPGGA,091032.000,5222.3188,N,00454.5824,E,1,9,0.88,9.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,,,,1.19,0.88,0.80*05\r\n$GPRMC,091032.000,A,5222.3188,N,00454.5824,E,0.20,63.88,030414,,,A*59\r\n$GPVTG,63.88,T,,M,0.20,N,0.37,K,A*0E\r\n$GPGGA,091033.000,5222.3184,N,00454.5825,E,1,10,0.83,9.3,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091033.000,A,5222.3184,N,00454.5825,E,0.16,63.88,030414,,,A*50\r\n$GPVTG,63.88,T,,M,0.16,N,0.30,K,A*0C\r\n$GPGGA,091034.000,5222.3181,N,00454.5826,E,1,10,0.83,9.3,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091034.000,A,5222.3181,N,00454.5826,E,0.18,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.18,N,0.33,K,A*01\r\n$GPGGA,091035.000,5222.3180,N,00454.5825,E,1,9,0.88,9.3,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,,,,1.19,0.88,0.80*05\r\n$GPGSV,4,1,13,10,76,278,22,13,66,066,40,07,50,161,17,02,44,280,19*77\r\n$GPGSV,4,2,13,04,40,211,17,23,31,071,40,33,27,205,,08,24,181,21*7F\r\n$GPGSV,4,3,13,05,18,297,20,09,18,193,17,16,17,060,23,29,08,337,28*7B\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091035.000,A,5222.3180,N,00454.5825,E,0.05,63.88,030414,,,A*50\r\n$GPVTG,63.88,T,,M,0.05,N,0.10,K,A*0C\r\n$GPGGA,091036.000,5222.3180,N,00454.5825,E,1,10,0.83,9.3,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091036.000,A,5222.3180,N,00454.5825,E,0.09,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.09,N,0.17,K,A*07\r\n$GPGGA,091037.000,5222.3180,N,00454.5824,E,1,10,0.83,9.3,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091037.000,A,5222.3180,N,00454.5824,E,0.14,63.88,030414,,,A*53\r\n$GPVTG,63.88,T,,M,0.14,N,0.26,K,A*09\r\n$GPGGA,091038.000,5222.3180,N,00454.5824,E,1,10,0.83,9.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091038.000,A,5222.3180,N,00454.5824,E,0.28,63.88,030414,,,A*53\r\n$GPVTG,63.88,T,,M,0.28,N,0.52,K,A*05\r\n$GPGGA,091039.000,5222.3179,N,00454.5823,E,1,10,0.83,9.3,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091039.000,A,5222.3179,N,00454.5823,E,0.42,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.42,N,0.78,K,A*01\r\n$GPGGA,091040.000,5222.3178,N,00454.5822,E,1,10,0.83,9.3,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,21,13,66,066,40,07,50,161,16,02,44,280,19*75\r\n$GPGSV,4,2,13,04,40,211,19,23,31,071,41,08,24,181,20,05,18,297,19*7B\r\n$GPGSV,4,3,13,09,18,193,15,16,17,060,22,40,09,115,,29,08,337,28*72\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091040.000,A,5222.3178,N,00454.5822,E,0.41,63.88,030414,,,A*52\r\n$GPVTG,63.88,T,,M,0.41,N,0.77,K,A*0D\r\n$GPGGA,091041.000,5222.3177,N,00454.5821,E,1,10,0.83,9.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091041.000,A,5222.3177,N,00454.5821,E,0.42,63.88,030414,,,A*5C\r\n$GPVTG,63.88,T,,M,0.42,N,0.77,K,A*0E\r\n$GPGGA,091042.000,5222.3176,N,00454.5821,E,1,10,0.83,9.3,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091042.000,A,5222.3176,N,00454.5821,E,0.46,63.88,030414,,,A*5A\r\n$GPVTG,63.88,T,,M,0.46,N,0.85,K,A*07\r\n$GPGGA,091043.000,5222.3175,N,00454.5821,E,1,10,0.83,9.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091043.000,A,5222.3175,N,00454.5821,E,0.33,63.88,030414,,,A*5A\r\n$GPVTG,63.88,T,,M,0.33,N,0.61,K,A*0F\r\n$GPGGA,091044.000,5222.3174,N,00454.5821,E,1,10,0.83,9.3,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091044.000,A,5222.3174,N,00454.5821,E,0.22,63.88,030414,,,A*5C\r\n$GPVTG,63.88,T,,M,0.22,N,0.40,K,A*0C\r\n$GPGGA,091045.000,5222.3173,N,00454.5821,E,1,10,0.83,9.2,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,22,13,66,066,40,07,50,161,16,02,44,280,20*7C\r\n$GPGSV,4,2,13,04,40,211,22,23,31,071,41,08,24,181,20,05,18,297,20*79\r\n$GPGSV,4,3,13,09,18,193,15,16,17,060,26,40,09,115,,29,08,337,26*78\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091045.000,A,5222.3173,N,00454.5821,E,0.20,63.88,030414,,,A*58\r\n$GPVTG,63.88,T,,M,0.20,N,0.37,K,A*0E\r\n$GPGGA,091046.000,5222.3172,N,00454.5821,E,1,10,0.83,9.2,M,47.0,M,,*6F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091046.000,A,5222.3172,N,00454.5821,E,0.40,63.88,030414,,,A*5C\r\n$GPVTG,63.88,T,,M,0.40,N,0.74,K,A*0F\r\n$GPGGA,091047.000,5222.3172,N,00454.5822,E,1,10,0.83,9.3,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091047.000,A,5222.3172,N,00454.5822,E,0.48,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.48,N,0.89,K,A*05\r\n$GPGGA,091048.000,5222.3168,N,00454.5822,E,1,10,0.83,9.2,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091048.000,A,5222.3168,N,00454.5822,E,0.41,63.88,030414,,,A*5B\r\n$GPVTG,63.88,T,,M,0.41,N,0.75,K,A*0F\r\n$GPGGA,091049.000,5222.3167,N,00454.5823,E,1,10,0.83,9.1,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091049.000,A,5222.3167,N,00454.5823,E,0.25,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.25,N,0.46,K,A*0D\r\n$GPGGA,091050.000,5222.3163,N,00454.5823,E,1,10,0.83,9.1,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,24,13,66,066,40,07,50,161,18,02,44,280,21*75\r\n$GPGSV,4,2,13,04,40,211,23,23,31,071,41,08,24,181,20,05,18,297,21*79\r\n$GPGSV,4,3,13,09,18,193,,16,17,060,26,29,08,337,24,44,08,114,*7A\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091050.000,A,5222.3163,N,00454.5823,E,0.44,63.88,030414,,,A*5D\r\n$GPVTG,63.88,T,,M,0.44,N,0.82,K,A*02\r\n$GPGGA,091051.000,5222.3161,N,00454.5822,E,1,10,0.83,9.0,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091051.000,A,5222.3161,N,00454.5822,E,0.44,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.44,N,0.82,K,A*02\r\n$GPGGA,091052.000,5222.3160,N,00454.5821,E,1,10,0.83,9.0,M,47.0,M,,*6B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091052.000,A,5222.3160,N,00454.5821,E,0.33,63.88,030414,,,A*5E\r\n$GPVTG,63.88,T,,M,0.33,N,0.61,K,A*0F\r\n$GPGGA,091053.000,5222.3159,N,00454.5821,E,1,10,0.83,9.0,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091053.000,A,5222.3159,N,00454.5821,E,0.30,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.30,N,0.56,K,A*08\r\n$GPGGA,091054.000,5222.3158,N,00454.5820,E,1,10,0.83,9.0,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091054.000,A,5222.3158,N,00454.5820,E,0.28,63.88,030414,,,A*58\r\n$GPVTG,63.88,T,,M,0.28,N,0.52,K,A*05\r\n$GPGGA,091055.000,5222.3157,N,00454.5819,E,1,10,0.83,9.0,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,76,278,23,13,66,066,40,07,50,161,19,02,44,280,21*73\r\n$GPGSV,4,2,13,04,40,211,27,23,31,071,42,08,24,181,20,05,18,297,21*7E\r\n$GPGSV,4,3,13,09,18,193,,16,17,060,28,29,08,337,21,44,08,114,*71\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091055.000,A,5222.3157,N,00454.5819,E,0.36,63.88,030414,,,A*53\r\n$GPVTG,63.88,T,,M,0.36,N,0.67,K,A*0C\r\n$GPGGA,091056.000,5222.3157,N,00454.5818,E,1,10,0.83,9.0,M,47.0,M,,*61\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091056.000,A,5222.3157,N,00454.5818,E,0.29,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.29,N,0.53,K,A*05\r\n$GPGGA,091057.000,5222.3157,N,00454.5817,E,1,10,0.83,8.9,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091057.000,A,5222.3157,N,00454.5817,E,0.27,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.27,N,0.50,K,A*08\r\n$GPGGA,091058.000,5222.3157,N,00454.5818,E,1,10,0.83,8.9,M,47.0,M,,*67\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091058.000,A,5222.3157,N,00454.5818,E,0.04,63.88,030414,,,A*5E\r\n$GPVTG,63.88,T,,M,0.04,N,0.08,K,A*04\r\n$GPGGA,091059.000,5222.3158,N,00454.5818,E,1,10,0.83,8.9,M,47.0,M,,*69\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091059.000,A,5222.3158,N,00454.5818,E,0.53,63.88,030414,,,A*52\r\n$GPVTG,63.88,T,,M,0.53,N,0.98,K,A*0F\r\n$GPGGA,091100.000,5222.3159,N,00454.5819,E,1,10,0.83,8.9,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,77,277,24,13,66,066,40,07,50,161,20,02,44,280,22*73\r\n$GPGSV,4,2,13,04,40,211,28,23,31,071,42,08,25,181,20,05,18,297,23*72\r\n$GPGSV,4,3,13,09,18,193,,16,17,060,31,29,08,337,25,20,01,123,*72\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,091100.000,A,5222.3159,N,00454.5819,E,0.46,63.88,030414,,,A*5B\r\n$GPVTG,63.88,T,,M,0.46,N,0.84,K,A*06\r\n$GPGGA,091101.000,5222.3161,N,00454.5820,E,1,10,0.83,9.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091101.000,A,5222.3161,N,00454.5820,E,0.12,63.88,030414,,,A*5A\r\n$GPVTG,63.88,T,,M,0.12,N,0.23,K,A*0A\r\n$GPGGA,091102.000,5222.3162,N,00454.5820,E,1,10,0.83,8.9,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091102.000,A,5222.3162,N,00454.5820,E,0.34,63.88,030414,,,A*5E\r\n$GPVTG,63.88,T,,M,0.34,N,0.62,K,A*0B\r\n$GPGGA,091103.000,5222.3162,N,00454.5821,E,1,10,0.83,8.9,M,47.0,M,,*64\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091103.000,A,5222.3162,N,00454.5821,E,0.34,63.88,030414,,,A*5E\r\n$GPVTG,63.88,T,,M,0.34,N,0.64,K,A*0D\r\n$GPGGA,091104.000,5222.3164,N,00454.5821,E,1,10,0.83,8.9,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091104.000,A,5222.3164,N,00454.5821,E,0.36,63.88,030414,,,A*5D\r\n$GPVTG,63.88,T,,M,0.36,N,0.67,K,A*0C\r\n$GPGGA,091105.000,5222.3163,N,00454.5823,E,1,10,0.83,8.8,M,47.0,M,,*60\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,77,277,25,13,65,066,39,07,50,161,20,02,44,280,21*7C\r\n$GPGSV,4,2,13,04,40,211,28,23,31,071,42,08,25,181,19,05,18,297,25*7E\r\n$GPGSV,4,3,13,09,18,193,,16,17,060,32,29,08,337,23,20,01,123,*77\r\n$GPGSV,4,4,13,35,,,*7D\r\n$GPRMC,091105.000,A,5222.3163,N,00454.5823,E,0.20,63.88,030414,,,A*5E\r\n$GPVTG,63.88,T,,M,0.20,N,0.37,K,A*0E\r\n$GPGGA,091106.000,5222.3164,N,00454.5824,E,1,10,0.83,8.8,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091106.000,A,5222.3164,N,00454.5824,E,0.18,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.18,N,0.32,K,A*00\r\n$GPGGA,091107.000,5222.3165,N,00454.5823,E,1,10,0.85,8.8,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.58,0.85,1.33*00\r\n$GPRMC,091107.000,A,5222.3165,N,00454.5823,E,0.19,63.88,030414,,,A*50\r\n$GPVTG,63.88,T,,M,0.19,N,0.35,K,A*06\r\n$GPGGA,091108.000,5222.3166,N,00454.5822,E,1,10,0.83,8.9,M,47.0,M,,*68\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091108.000,A,5222.3166,N,00454.5822,E,0.19,63.88,030414,,,A*5D\r\n$GPVTG,63.88,T,,M,0.19,N,0.35,K,A*06\r\n$GPGGA,091109.000,5222.3166,N,00454.5821,E,1,10,0.83,8.9,M,47.0,M,,*6A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091109.000,A,5222.3166,N,00454.5821,E,0.23,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.23,N,0.43,K,A*0E\r\n$GPGGA,091110.000,5222.3166,N,00454.5821,E,1,10,0.83,8.8,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,77,277,25,13,65,066,39,07,50,161,19,02,44,280,21*76\r\n$GPGSV,4,2,13,04,40,211,29,23,31,071,42,08,25,181,19,05,18,297,26*7C\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,32,29,08,337,24,20,01,123,*7A\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,091110.000,A,5222.3166,N,00454.5821,E,0.20,63.88,030414,,,A*5D\r\n$GPVTG,63.88,T,,M,0.20,N,0.38,K,A*01\r\n$GPGGA,091111.000,5222.3167,N,00454.5821,E,1,10,0.83,8.8,M,47.0,M,,*63\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091111.000,A,5222.3167,N,00454.5821,E,0.22,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.22,N,0.41,K,A*0D\r\n$GPGGA,091112.000,5222.3169,N,00454.5820,E,1,10,0.85,8.7,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.58,0.85,1.33*00\r\n$GPRMC,091112.000,A,5222.3169,N,00454.5820,E,0.48,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.48,N,0.89,K,A*05\r\n$GPGGA,091113.000,5222.3171,N,00454.5819,E,1,10,0.83,8.7,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091113.000,A,5222.3171,N,00454.5819,E,0.44,63.88,030414,,,A*51\r\n$GPVTG,63.88,T,,M,0.44,N,0.82,K,A*02\r\n$GPGGA,091114.000,5222.3173,N,00454.5819,E,1,10,0.85,8.8,M,47.0,M,,*6E\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.58,0.85,1.33*00\r\n$GPRMC,091114.000,A,5222.3173,N,00454.5819,E,0.45,63.88,030414,,,A*55\r\n$GPVTG,63.88,T,,M,0.45,N,0.83,K,A*02\r\n$GPGGA,091115.000,5222.3173,N,00454.5819,E,1,9,0.87,8.8,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPGSV,4,1,13,10,77,277,25,13,65,066,39,07,50,161,17,02,44,280,17*7D\r\n$GPGSV,4,2,13,04,40,211,31,23,30,071,42,08,25,181,19,05,18,297,27*75\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,33,29,08,337,24,20,01,123,*7B\r\n$GPGSV,4,4,13,36,,,*7E\r\n$GPRMC,091115.000,A,5222.3173,N,00454.5819,E,0.28,63.88,030414,,,A*5F\r\n$GPVTG,63.88,T,,M,0.28,N,0.52,K,A*05\r\n$GPGGA,091116.000,5222.3173,N,00454.5818,E,1,9,0.87,8.8,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091116.000,A,5222.3173,N,00454.5818,E,0.15,63.88,030414,,,A*53\r\n$GPVTG,63.88,T,,M,0.15,N,0.28,K,A*06\r\n$GPGGA,091117.000,5222.3174,N,00454.5818,E,1,10,0.83,8.8,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091117.000,A,5222.3174,N,00454.5818,E,0.06,63.88,030414,,,A*57\r\n$GPVTG,63.88,T,,M,0.06,N,0.11,K,A*0E\r\n$GPGGA,091118.000,5222.3175,N,00454.5817,E,1,9,0.90,8.8,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.64,0.90,1.37*0D\r\n$GPRMC,091118.000,A,5222.3175,N,00454.5817,E,0.09,63.88,030414,,,A*59\r\n$GPVTG,63.88,T,,M,0.09,N,0.17,K,A*07\r\n$GPGGA,091119.000,5222.3175,N,00454.5817,E,1,9,0.87,8.8,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091119.000,A,5222.3175,N,00454.5817,E,0.09,63.88,030414,,,A*58\r\n$GPVTG,63.88,T,,M,0.09,N,0.17,K,A*07\r\n$GPGGA,091120.000,5222.3174,N,00454.5818,E,1,9,0.87,8.8,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPGSV,4,1,13,10,77,277,24,13,65,066,39,07,50,161,17,02,44,280,15*7E\r\n$GPGSV,4,2,13,04,40,211,31,23,30,071,42,08,25,181,19,05,18,297,27*75\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,33,29,08,337,25,20,01,123,*7A\r\n$GPGSV,4,4,13,38,,,*70\r\n$GPRMC,091120.000,A,5222.3174,N,00454.5818,E,0.12,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.12,N,0.21,K,A*08\r\n$GPGGA,091121.000,5222.3174,N,00454.5818,E,1,9,0.87,8.8,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091121.000,A,5222.3174,N,00454.5818,E,0.13,63.88,030414,,,A*56\r\n$GPVTG,63.88,T,,M,0.13,N,0.24,K,A*0C\r\n$GPGGA,091122.000,5222.3174,N,00454.5818,E,1,9,0.87,8.8,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091122.000,A,5222.3174,N,00454.5818,E,0.13,63.88,030414,,,A*55\r\n$GPVTG,63.88,T,,M,0.13,N,0.25,K,A*0D\r\n$GPGGA,091123.000,5222.3174,N,00454.5819,E,1,9,0.87,8.8,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091123.000,A,5222.3174,N,00454.5819,E,0.12,63.88,030414,,,A*54\r\n$GPVTG,63.88,T,,M,0.12,N,0.22,K,A*0B\r\n$GPGGA,091124.000,5222.3174,N,00454.5818,E,1,9,0.87,8.8,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPRMC,091124.000,A,5222.3174,N,00454.5818,E,0.21,63.88,030414,,,A*52\r\n$GPVTG,63.88,T,,M,0.21,N,0.38,K,A*00\r\n$GPGGA,091125.000,5222.3173,N,00454.5819,E,1,9,0.87,8.8,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,05,29,07,10,04,,,,1.19,0.87,0.81*0D\r\n$GPGSV,4,1,13,10,77,277,24,13,65,066,39,07,50,161,15,02,44,280,16*7F\r\n$GPGSV,4,2,13,04,40,211,30,23,30,071,42,08,25,181,20,05,18,297,27*7E\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,33,29,08,337,26,20,01,123,*79\r\n$GPGSV,4,4,13,41,,,*7E\r\n$GPRMC,091125.000,A,5222.3173,N,00454.5819,E,0.04,63.88,030414,,,A*52\r\n$GPVTG,63.88,T,,M,0.04,N,0.08,K,A*04\r\n$GPGGA,091126.000,5222.3173,N,00454.5819,E,1,10,0.83,8.9,M,47.0,M,,*68\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091126.000,A,5222.3173,N,00454.5819,E,0.06,63.88,030414,,,A*53\r\n$GPVTG,63.88,T,,M,0.06,N,0.12,K,A*0D\r\n$GPGGA,091127.000,5222.3172,N,00454.5820,E,1,10,0.83,8.9,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091127.000,A,5222.3172,N,00454.5820,E,0.08,63.88,030414,,,A*57\r\n$GPVTG,63.88,T,,M,0.08,N,0.15,K,A*04\r\n$GPGGA,091128.000,5222.3171,N,00454.5819,E,1,10,0.85,8.9,M,47.0,M,,*62\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.58,0.85,1.33*00\r\n$GPRMC,091128.000,A,5222.3171,N,00454.5819,E,0.11,63.88,030414,,,A*59\r\n$GPVTG,63.88,T,,M,0.11,N,0.21,K,A*0B\r\n$GPGGA,091129.000,5222.3171,N,00454.5819,E,1,10,0.83,8.9,M,47.0,M,,*65\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091129.000,A,5222.3171,N,00454.5819,E,0.09,63.88,030414,,,A*51\r\n$GPVTG,63.88,T,,M,0.09,N,0.17,K,A*07\r\n$GPGGA,091130.000,5222.3171,N,00454.5819,E,1,10,0.83,8.9,M,47.0,M,,*6D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPGSV,4,1,13,10,77,277,24,13,65,066,39,07,50,161,17,02,44,279,18*75\r\n$GPGSV,4,2,13,04,40,211,30,23,30,071,42,08,25,181,21,05,18,297,27*7F\r\n$GPGSV,4,3,13,09,18,193,18,16,17,059,33,29,08,337,27,20,01,123,*71\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,091130.000,A,5222.3171,N,00454.5819,E,0.52,63.88,030414,,,A*57\r\n$GPVTG,63.88,T,,M,0.52,N,0.96,K,A*00\r\n$GPGGA,091131.000,5222.3170,N,00454.5821,E,1,10,0.83,8.9,M,47.0,M,,*66\r\n$GPGSA,A,3,08,16,23,13,02,05,29,07,10,04,,,1.15,0.83,0.80*06\r\n$GPRMC,091131.000,A,5222.3170,N,00454.5821,E,0.70,67.69,030414,,,A*57\r\n$GPVTG,67.69,T,,M,0.70,N,1.30,K,A*06\r\n$GPGGA,091132.000,5222.3170,N,00454.5822,E,1,9,0.87,8.9,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.87,0.80*08\r\n$GPRMC,091132.000,A,5222.3170,N,00454.5822,E,0.32,67.69,030414,,,A*51\r\n$GPVTG,67.69,T,,M,0.32,N,0.58,K,A*0F\r\n$GPGGA,091133.000,5222.3168,N,00454.5821,E,1,9,0.86,8.9,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091133.000,A,5222.3168,N,00454.5821,E,0.14,67.69,030414,,,A*5E\r\n$GPVTG,67.69,T,,M,0.14,N,0.25,K,A*01\r\n$GPGGA,091134.000,5222.3167,N,00454.5820,E,1,9,0.86,8.8,M,47.0,M,,*58\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091134.000,A,5222.3167,N,00454.5820,E,0.21,67.69,030414,,,A*51\r\n$GPVTG,67.69,T,,M,0.21,N,0.38,K,A*0B\r\n$GPGGA,091135.000,5222.3167,N,00454.5819,E,1,9,0.86,8.8,M,47.0,M,,*53\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPGSV,4,1,13,10,77,276,21,13,65,066,39,07,50,161,19,02,44,279,21*75\r\n$GPGSV,4,2,13,04,40,211,29,23,30,071,42,08,25,181,21,05,18,297,26*76\r\n$GPGSV,4,3,13,09,18,193,19,16,17,059,34,29,08,337,27,20,01,123,*77\r\n$GPGSV,4,4,13,43,,,*7C\r\n$GPRMC,091135.000,A,5222.3167,N,00454.5819,E,0.45,67.69,030414,,,A*58\r\n$GPVTG,67.69,T,,M,0.45,N,0.83,K,A*09\r\n$GPGGA,091136.000,5222.3168,N,00454.5820,E,1,9,0.87,8.8,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.87,0.80*08\r\n$GPRMC,091136.000,A,5222.3168,N,00454.5820,E,1.52,55.73,030414,,,A*53\r\n$GPVTG,55.73,T,,M,1.52,N,2.82,K,A*07\r\n$GPGGA,091137.000,5222.3169,N,00454.5823,E,1,9,0.86,8.9,M,47.0,M,,*57\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091137.000,A,5222.3169,N,00454.5823,E,2.25,56.38,030414,,,A*5F\r\n$GPVTG,56.38,T,,M,2.25,N,4.16,K,A*03\r\n$GPGGA,091138.000,5222.3170,N,00454.5825,E,1,9,0.86,8.9,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091138.000,A,5222.3170,N,00454.5825,E,2.05,55.69,030414,,,A*5B\r\n$GPVTG,55.69,T,,M,2.05,N,3.80,K,A*0E\r\n$GPGGA,091139.000,5222.3172,N,00454.5830,E,1,9,0.86,9.0,M,47.0,M,,*59\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091139.000,A,5222.3172,N,00454.5830,E,1.56,54.90,030414,,,A*5E\r\n$GPVTG,54.90,T,,M,1.56,N,2.90,K,A*0C\r\n$GPGGA,091140.000,5222.3170,N,00454.5831,E,1,9,0.86,9.1,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPGSV,4,1,13,10,77,276,21,13,65,066,40,07,50,161,17,02,44,279,23*77\r\n$GPGSV,4,2,13,04,40,211,28,23,30,071,42,08,25,181,20,05,18,297,26*76\r\n$GPGSV,4,3,13,09,18,193,20,16,17,059,35,29,08,337,25,20,01,123,*7E\r\n$GPGSV,4,4,13,45,,,*7A\r\n$GPRMC,091140.000,A,5222.3170,N,00454.5831,E,1.21,42.06,030414,,,A*5B\r\n$GPVTG,42.06,T,,M,1.21,N,2.24,K,A*0B\r\n$GPGGA,091141.000,5222.3169,N,00454.5829,E,1,9,0.87,9.1,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.87,0.80*08\r\n$GPRMC,091141.000,A,5222.3169,N,00454.5829,E,1.14,34.69,030414,,,A*55\r\n$GPVTG,34.69,T,,M,1.14,N,2.12,K,A*00\r\n$GPGGA,091142.000,5222.3171,N,00454.5829,E,1,9,0.87,9.2,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.87,0.80*08\r\n$GPRMC,091142.000,A,5222.3171,N,00454.5829,E,1.15,28.50,030414,,,A*59\r\n$GPVTG,28.50,T,,M,1.15,N,2.12,K,A*06\r\n$GPGGA,091143.000,5222.3171,N,00454.5830,E,1,9,0.86,9.3,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091143.000,A,5222.3171,N,00454.5830,E,1.10,27.64,030414,,,A*5D\r\n$GPVTG,27.64,T,,M,1.10,N,2.03,K,A*0B\r\n$GPGGA,091144.000,5222.3172,N,00454.5829,E,1,9,0.86,9.4,M,47.0,M,,*5F\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091144.000,A,5222.3172,N,00454.5829,E,0.86,17.52,030414,,,A*59\r\n$GPVTG,17.52,T,,M,0.86,N,1.59,K,A*0F\r\n$GPGGA,091145.000,5222.3171,N,00454.5829,E,1,9,0.86,9.5,M,47.0,M,,*5C\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPGSV,4,1,13,10,77,276,24,13,65,066,40,07,50,161,,02,44,279,23*74\r\n$GPGSV,4,2,13,04,40,211,27,23,30,071,42,08,25,181,20,05,18,297,26*79\r\n$GPGSV,4,3,13,09,18,193,17,16,17,059,35,29,08,337,24,20,01,123,*7B\r\n$GPGSV,4,4,13,46,,,*79\r\n$GPRMC,091145.000,A,5222.3171,N,00454.5829,E,0.54,17.52,030414,,,A*54\r\n$GPVTG,17.52,T,,M,0.54,N,1.00,K,A*0C\r\n$GPGGA,091146.000,5222.3170,N,00454.5828,E,1,9,0.89,9.5,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.61,0.89,1.34*06\r\n$GPRMC,091146.000,A,5222.3170,N,00454.5828,E,0.55,17.52,030414,,,A*56\r\n$GPVTG,17.52,T,,M,0.55,N,1.01,K,A*0C\r\n$GPGGA,091147.000,5222.3167,N,00454.5826,E,1,9,0.86,9.5,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091147.000,A,5222.3167,N,00454.5826,E,0.51,17.52,030414,,,A*5B\r\n$GPVTG,17.52,T,,M,0.51,N,0.95,K,A*04\r\n$GPGGA,091148.000,5222.3165,N,00454.5826,E,1,9,0.86,9.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091148.000,A,5222.3165,N,00454.5826,E,0.46,17.52,030414,,,A*50\r\n$GPVTG,17.52,T,,M,0.46,N,0.86,K,A*00\r\n$GPGGA,091149.000,5222.3164,N,00454.5826,E,1,9,0.89,9.5,M,47.0,M,,*54\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.61,0.89,1.34*06\r\n$GPRMC,091149.000,A,5222.3164,N,00454.5826,E,0.41,17.52,030414,,,A*57\r\n$GPVTG,17.52,T,,M,0.41,N,0.75,K,A*0B\r\n$GPGGA,091150.000,5222.3162,N,00454.5825,E,1,9,0.89,9.6,M,47.0,M,,*5A\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.61,0.89,1.34*06\r\n$GPGSV,4,1,13,10,77,276,23,13,65,066,40,07,50,161,20,02,44,279,23*71\r\n$GPGSV,4,2,13,04,40,211,27,23,30,071,42,08,25,181,20,05,18,297,25*7A\r\n$GPGSV,4,3,13,09,18,193,20,16,17,059,35,29,08,337,23,20,01,123,*78\r\n$GPGSV,4,4,13,47,,,*78\r\n$GPRMC,091150.000,A,5222.3162,N,00454.5825,E,0.19,17.52,030414,,,A*57\r\n$GPVTG,17.52,T,,M,0.19,N,0.36,K,A*01\r\n$GPGGA,091151.000,5222.3161,N,00454.5824,E,1,9,0.86,9.5,M,47.0,M,,*55\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091151.000,A,5222.3161,N,00454.5824,E,0.19,17.52,030414,,,A*54\r\n$GPVTG,17.52,T,,M,0.19,N,0.35,K,A*02\r\n$GPGGA,091152.000,5222.3159,N,00454.5822,E,1,9,0.86,9.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,09,23,13,02,05,29,10,04,,,,1.17,0.86,0.78*00\r\n$GPRMC,091152.000,A,5222.3159,N,00454.5822,E,0.22,17.52,030414,,,A*52\r\n$GPVTG,17.52,T,,M,0.22,N,0.41,K,A*09\r\n$GPGGA,091153.000,5222.3157,N,00454.5821,E,1,9,0.86,9.4,M,47.0,M,,*56\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091153.000,A,5222.3157,N,00454.5821,E,0.23,17.52,030414,,,A*5F\r\n$GPVTG,17.52,T,,M,0.23,N,0.42,K,A*0B\r\n$GPGGA,091154.000,5222.3156,N,00454.5822,E,1,9,0.87,9.4,M,47.0,M,,*52\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.87,0.80*08\r\n$GPRMC,091154.000,A,5222.3156,N,00454.5822,E,0.26,17.52,030414,,,A*5F\r\n$GPVTG,17.52,T,,M,0.26,N,0.47,K,A*0B\r\n$GPGGA,091155.000,5222.3155,N,00454.5821,E,1,9,0.86,9.3,M,47.0,M,,*55\r\n$GPGSA,A,3,16,09,23,13,02,05,29,10,04,,,,1.17,0.86,0.78*00\r\n$GPGSV,4,1,13,10,77,276,22,13,65,066,41,07,50,161,21,02,44,279,25*76\r\n$GPGSV,4,2,13,04,40,211,27,23,30,071,42,08,25,181,18,05,18,297,24*70\r\n$GPGSV,4,3,13,09,18,193,19,16,17,059,35,29,08,337,19,20,01,123,*7B\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,091155.000,A,5222.3155,N,00454.5821,E,0.21,17.52,030414,,,A*59\r\n$GPVTG,17.52,T,,M,0.21,N,0.39,K,A*05\r\n$GPGGA,091156.000,5222.3153,N,00454.5820,E,1,9,0.86,9.2,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091156.000,A,5222.3153,N,00454.5820,E,0.25,17.52,030414,,,A*59\r\n$GPVTG,17.52,T,,M,0.25,N,0.46,K,A*09\r\n$GPGGA,091157.000,5222.3151,N,00454.5821,E,1,9,0.86,9.1,M,47.0,M,,*51\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091157.000,A,5222.3151,N,00454.5821,E,0.24,17.52,030414,,,A*5A\r\n$GPVTG,17.52,T,,M,0.24,N,0.45,K,A*0B\r\n$GPGGA,091158.000,5222.3149,N,00454.5823,E,1,9,0.86,9.0,M,47.0,M,,*54\r\n$GPGSA,A,3,16,09,23,13,02,05,29,10,04,,,,1.17,0.86,0.78*00\r\n$GPRMC,091158.000,A,5222.3149,N,00454.5823,E,0.23,17.52,030414,,,A*59\r\n$GPVTG,17.52,T,,M,0.23,N,0.42,K,A*0B\r\n$GPGGA,091159.000,5222.3149,N,00454.5822,E,1,10,0.79,9.0,M,47.0,M,,*6C\r\n$GPGSA,A,3,08,16,09,23,13,02,05,29,10,04,,,1.11,0.79,0.78*0E\r\n$GPRMC,091159.000,A,5222.3149,N,00454.5822,E,0.58,17.52,030414,,,A*55\r\n$GPVTG,17.52,T,,M,0.58,N,1.08,K,A*08\r\n$GPGGA,091200.000,5222.3148,N,00454.5820,E,1,9,0.86,9.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,09,23,13,02,05,29,10,04,,,,1.17,0.86,0.79*01\r\n$GPGSV,4,1,13,10,77,276,22,13,65,066,41,07,50,161,19,02,44,279,24*7C\r\n$GPGSV,4,2,13,04,40,211,27,23,30,071,42,08,25,181,18,05,18,297,23*77\r\n$GPGSV,4,3,13,09,18,193,18,16,17,059,34,29,08,337,18,20,01,123,*7A\r\n$GPGSV,4,4,13,49,,,*76\r\n$GPRMC,091200.000,A,5222.3148,N,00454.5820,E,0.56,17.52,030414,,,A*57\r\n$GPVTG,17.52,T,,M,0.56,N,1.05,K,A*0B\r\n$GPGGA,091201.000,5222.3147,N,00454.5818,E,1,9,0.86,9.0,M,47.0,M,,*5D\r\n$GPGSA,A,3,08,16,23,13,02,05,29,10,04,,,,1.18,0.86,0.80*09\r\n$GPRMC,091201.000,A,5222.3147,N,00454.5818,E,0.29,17.52,030414,,,A*5A\r\n$GPVTG,17.52,T,,M,0.29,N,0.54,K,A*06\r\n$GPGGA,091202.000,5222.3147,N,00454.5816,E,1,9,0.88,9.0,M,47.0,M,,*5E\r\n$GPGSA,A,3,08,16,09,23,13,02,05,10,04,,,,1.20,0.88,0.81*0F\r\n$GPRMC,091202.000,A,5222.3147,N,00454.5816,E,0.01,17.52,030414,,,A*5D\r\n$GPVTG,17.52,T,,M,0.01,N,0.01,K,A*0C\r\n$GPGGA,091203.000,5222.3147,N,00454.5816,E,1,8,0.98,9.0,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,09,23,13,02,05,10,04,,,,,1.28,0.98,0.82*0D\r\n$GPRMC,091203.000,A,5222.3147,N,00454.5816,E,0.09,17.52,030414,,,A*54\r\n$GPVTG,17.52,T,,M,0.09,N,0.17,K,A*03\r\n$GPGGA,091204.000,5222.3147,N,00454.5816,E,1,8,0.98,9.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,09,23,13,02,05,10,04,,,,,1.28,0.98,0.82*0D\r\n$GPRMC,091204.000,A,5222.3147,N,00454.5816,E,0.19,17.52,030414,,,A*52\r\n$GPVTG,17.52,T,,M,0.19,N,0.35,K,A*02\r\n$GPGGA,091205.000,5222.3147,N,00454.5815,E,1,8,0.98,9.0,M,47.0,M,,*5A\r\n$GPGSA,A,3,16,09,23,13,02,05,10,04,,,,,1.28,0.98,0.82*0D\r\n$GPGSV,4,1,13,10,77,276,19,13,65,066,41,07,50,161,17,02,44,279,26*78\r\n$GPGSV,4,2,13,04,40,211,27,23,30,071,41,37,28,159,,08,25,181,18*76\r\n$GPGSV,4,3,13,05,19,297,27,09,18,193,19,16,17,059,33,29,08,337,14*77\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091205.000,A,5222.3147,N,00454.5815,E,0.35,17.52,030414,,,A*5E\r\n$GPVTG,17.52,T,,M,0.35,N,0.65,K,A*09\r\n$GPGGA,091206.000,5222.3147,N,00454.5814,E,1,9,0.88,8.9,M,47.0,M,,*50\r\n$GPGSA,A,3,08,16,09,23,13,02,05,10,04,,,,1.20,0.88,0.81*0F\r\n$GPRMC,091206.000,A,5222.3147,N,00454.5814,E,0.81,232.60,030414,,,A*67\r\n$GPVTG,232.60,T,,M,0.81,N,1.51,K,A*34\r\n$GPGGA,091207.000,5222.3143,N,00454.5814,E,1,7,1.31,8.9,M,47.0,M,,*58\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091207.000,A,5222.3143,N,00454.5814,E,1.66,231.63,030414,,,A*6A\r\n$GPVTG,231.63,T,,M,1.66,N,3.07,K,A*3D\r\n$GPGGA,091208.000,5222.3139,N,00454.5813,E,1,7,1.31,8.8,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091208.000,A,5222.3139,N,00454.5813,E,2.12,228.63,030414,,,A*67\r\n$GPVTG,228.63,T,,M,2.12,N,3.93,K,A*38\r\n$GPGGA,091209.000,5222.3135,N,00454.5812,E,1,7,1.31,8.7,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091209.000,A,5222.3135,N,00454.5812,E,1.88,227.71,030414,,,A*67\r\n$GPVTG,227.71,T,,M,1.88,N,3.49,K,A*33\r\n$GPGGA,091210.000,5222.3129,N,00454.5815,E,1,7,1.31,8.5,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPGSV,4,1,13,10,77,276,22,13,65,066,41,07,51,161,16,02,44,279,27*71\r\n$GPGSV,4,2,13,04,40,211,25,23,30,071,40,39,27,154,,08,25,181,17*76\r\n$GPGSV,4,3,13,05,19,297,27,09,18,193,15,16,17,059,31,29,08,337,17*7A\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091210.000,A,5222.3129,N,00454.5815,E,1.83,212.83,030414,,,A*65\r\n$GPVTG,212.83,T,,M,1.83,N,3.39,K,A*34\r\n$GPGGA,091211.000,5222.3120,N,00454.5815,E,1,8,1.09,8.4,M,47.0,M,,*52\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091211.000,A,5222.3120,N,00454.5815,E,1.77,205.78,030414,,,A*64\r\n$GPVTG,205.78,T,,M,1.77,N,3.28,K,A*3D\r\n$GPGGA,091212.000,5222.3116,N,00454.5815,E,1,7,1.31,8.2,M,47.0,M,,*56\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091212.000,A,5222.3116,N,00454.5815,E,1.75,207.91,030414,,,A*65\r\n$GPVTG,207.91,T,,M,1.75,N,3.24,K,A*36\r\n$GPGGA,091213.000,5222.3109,N,00454.5816,E,1,7,1.31,8.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091213.000,A,5222.3109,N,00454.5816,E,1.68,205.50,030414,,,A*6A\r\n$GPVTG,205.50,T,,M,1.68,N,3.12,K,A*30\r\n$GPGGA,091214.000,5222.3103,N,00454.5817,E,1,7,1.31,7.7,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPRMC,091214.000,A,5222.3103,N,00454.5817,E,1.50,204.38,030414,,,A*62\r\n$GPVTG,204.38,T,,M,1.50,N,2.78,K,A*39\r\n$GPGGA,091215.000,5222.3098,N,00454.5819,E,1,7,1.31,7.4,M,47.0,M,,*53\r\n$GPGSA,A,3,16,23,13,02,05,10,04,,,,,,1.57,1.31,0.86*0A\r\n$GPGSV,4,1,13,10,77,276,24,13,65,066,41,07,51,161,19,02,44,279,27*78\r\n$GPGSV,4,2,13,04,40,211,23,23,30,071,40,39,27,154,,08,25,181,17*70\r\n$GPGSV,4,3,13,05,19,297,26,09,18,193,,16,17,059,30,29,08,337,16*7F\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091215.000,A,5222.3098,N,00454.5819,E,1.52,200.81,030414,,,A*6A\r\n$GPVTG,200.81,T,,M,1.52,N,2.81,K,A*3B\r\n$GPGGA,091216.000,5222.3096,N,00454.5820,E,1,8,1.09,7.1,M,47.0,M,,*55\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091216.000,A,5222.3096,N,00454.5820,E,1.28,192.38,030414,,,A*6A\r\n$GPVTG,192.38,T,,M,1.28,N,2.37,K,A*31\r\n$GPGGA,091217.000,5222.3094,N,00454.5823,E,1,8,1.09,6.8,M,47.0,M,,*5D\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091217.000,A,5222.3094,N,00454.5823,E,1.08,185.75,030414,,,A*67\r\n$GPVTG,185.75,T,,M,1.08,N,1.99,K,A*3B\r\n$GPGGA,091218.000,5222.3095,N,00454.5823,E,1,8,1.09,6.5,M,47.0,M,,*5E\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091218.000,A,5222.3095,N,00454.5823,E,0.90,186.79,030414,,,A*66\r\n$GPVTG,186.79,T,,M,0.90,N,1.66,K,A*34\r\n$GPGGA,091219.000,5222.3094,N,00454.5825,E,1,8,1.09,6.1,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091219.000,A,5222.3094,N,00454.5825,E,0.91,188.38,030414,,,A*6A\r\n$GPVTG,188.38,T,,M,0.91,N,1.69,K,A*31\r\n$GPGGA,091220.000,5222.3094,N,00454.5826,E,1,8,1.09,5.8,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPGSV,4,1,13,10,77,276,24,13,65,066,41,07,51,161,18,02,44,279,26*78\r\n$GPGSV,4,2,13,04,40,211,20,23,30,071,40,33,27,205,,08,25,181,17*7E\r\n$GPGSV,4,3,13,05,19,297,25,09,18,193,,16,17,059,28,29,08,337,22*72\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091220.000,A,5222.3094,N,00454.5826,E,0.91,186.56,030414,,,A*65\r\n$GPVTG,186.56,T,,M,0.91,N,1.68,K,A*36\r\n$GPGGA,091221.000,5222.3093,N,00454.5828,E,1,8,1.09,5.5,M,47.0,M,,*5A\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091221.000,A,5222.3093,N,00454.5828,E,0.85,172.58,030414,,,A*6D\r\n$GPVTG,172.58,T,,M,0.85,N,1.57,K,A*3A\r\n$GPGGA,091222.000,5222.3092,N,00454.5830,E,1,8,1.09,5.2,M,47.0,M,,*56\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091222.000,A,5222.3092,N,00454.5830,E,0.83,120.94,030414,,,A*67\r\n$GPVTG,120.94,T,,M,0.83,N,1.54,K,A*38\r\n$GPGGA,091223.000,5222.3093,N,00454.5834,E,1,8,1.09,4.9,M,47.0,M,,*58\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091223.000,A,5222.3093,N,00454.5834,E,0.78,116.55,030414,,,A*6F\r\n$GPVTG,116.55,T,,M,0.78,N,1.45,K,A*34\r\n$GPGGA,091224.000,5222.3094,N,00454.5836,E,1,8,1.09,4.7,M,47.0,M,,*54\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091224.000,A,5222.3094,N,00454.5836,E,0.39,116.55,030414,,,A*68\r\n$GPVTG,116.55,T,,M,0.39,N,0.73,K,A*35\r\n$GPGGA,091225.000,5222.3099,N,00454.5837,E,1,8,1.09,4.6,M,47.0,M,,*58\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPGSV,4,1,13,10,77,276,24,13,65,066,42,07,51,161,18,02,44,279,26*7B\r\n$GPGSV,4,2,13,04,40,211,24,23,30,071,40,33,27,205,,08,25,181,16*7B\r\n$GPGSV,4,3,13,05,19,297,24,09,18,193,,16,17,059,28,29,08,337,25*74\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091225.000,A,5222.3099,N,00454.5837,E,0.32,116.55,030414,,,A*6E\r\n$GPVTG,116.55,T,,M,0.32,N,0.60,K,A*3C\r\n$GPGGA,091226.000,5222.3099,N,00454.5838,E,1,8,1.09,4.5,M,47.0,M,,*57\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091226.000,A,5222.3099,N,00454.5838,E,0.30,116.55,030414,,,A*60\r\n$GPVTG,116.55,T,,M,0.30,N,0.56,K,A*3B\r\n$GPGGA,091227.000,5222.3098,N,00454.5839,E,1,8,1.09,4.4,M,47.0,M,,*57\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091227.000,A,5222.3098,N,00454.5839,E,0.30,116.55,030414,,,A*61\r\n$GPVTG,116.55,T,,M,0.30,N,0.56,K,A*3B\r\n$GPGGA,091228.000,5222.3097,N,00454.5839,E,1,8,1.09,4.3,M,47.0,M,,*50\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091228.000,A,5222.3097,N,00454.5839,E,0.24,116.55,030414,,,A*64\r\n$GPVTG,116.55,T,,M,0.24,N,0.44,K,A*3D\r\n$GPGGA,091229.000,5222.3096,N,00454.5838,E,1,8,1.09,4.3,M,47.0,M,,*51\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091229.000,A,5222.3096,N,00454.5838,E,0.38,116.55,030414,,,A*68\r\n$GPVTG,116.55,T,,M,0.38,N,0.70,K,A*37\r\n$GPGGA,091230.000,5222.3095,N,00454.5838,E,1,7,1.11,4.2,M,47.0,M,,*5D\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPGSV,4,1,13,10,77,276,24,13,65,066,42,07,51,161,17,02,44,279,23*71\r\n$GPGSV,4,2,13,04,40,211,22,23,30,071,40,08,25,181,15,05,19,297,24*7B\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,28,40,09,115,,29,08,336,24*7B\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091230.000,A,5222.3095,N,00454.5838,E,0.41,116.55,030414,,,A*6D\r\n$GPVTG,116.55,T,,M,0.41,N,0.76,K,A*3F\r\n$GPGGA,091231.000,5222.3094,N,00454.5837,E,1,7,1.11,4.2,M,47.0,M,,*52\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091231.000,A,5222.3094,N,00454.5837,E,0.48,116.55,030414,,,A*6B\r\n$GPVTG,116.55,T,,M,0.48,N,0.89,K,A*36\r\n$GPGGA,091232.000,5222.3093,N,00454.5837,E,1,6,1.90,4.1,M,47.0,M,,*5D\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091232.000,A,5222.3093,N,00454.5837,E,0.48,116.55,030414,,,A*6F\r\n$GPVTG,116.55,T,,M,0.48,N,0.89,K,A*36\r\n$GPGGA,091233.000,5222.3091,N,00454.5836,E,1,8,1.09,4.1,M,47.0,M,,*51\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091233.000,A,5222.3091,N,00454.5836,E,0.40,116.55,030414,,,A*65\r\n$GPVTG,116.55,T,,M,0.40,N,0.73,K,A*3B\r\n$GPGGA,091234.000,5222.3090,N,00454.5836,E,1,8,1.09,4.1,M,47.0,M,,*57\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.09,0.86*03\r\n$GPRMC,091234.000,A,5222.3090,N,00454.5836,E,0.35,116.55,030414,,,A*61\r\n$GPVTG,116.55,T,,M,0.35,N,0.65,K,A*3E\r\n$GPGGA,091235.000,5222.3089,N,00454.5836,E,1,7,1.74,4.0,M,47.0,M,,*5A\r\n$GPGSA,A,3,16,23,13,02,05,29,10,,,,,,1.98,1.74,0.95*05\r\n$GPGSV,4,1,13,10,77,276,23,13,65,066,42,07,51,161,15,02,44,279,22*75\r\n$GPGSV,4,2,13,04,40,211,20,23,30,071,40,08,25,181,16,05,19,297,23*7D\r\n$GPGSV,4,3,13,09,18,193,,16,17,059,28,40,09,115,,29,08,336,25*7A\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091235.000,A,5222.3089,N,00454.5836,E,0.29,116.55,030414,,,A*65\r\n$GPVTG,116.55,T,,M,0.29,N,0.54,K,A*31\r\n$GPGGA,091236.000,5222.3088,N,00454.5836,E,1,7,1.74,4.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,23,13,02,05,29,10,,,,,,1.98,1.74,0.95*05\r\n$GPRMC,091236.000,A,5222.3088,N,00454.5836,E,0.30,116.55,030414,,,A*6F\r\n$GPVTG,116.55,T,,M,0.30,N,0.55,K,A*38\r\n$GPGGA,091237.000,5222.3088,N,00454.5835,E,1,7,1.74,4.0,M,47.0,M,,*5A\r\n$GPGSA,A,3,16,23,13,02,05,29,10,,,,,,1.98,1.74,0.95*05\r\n$GPRMC,091237.000,A,5222.3088,N,00454.5835,E,0.22,116.55,030414,,,A*6E\r\n$GPVTG,116.55,T,,M,0.22,N,0.42,K,A*3D\r\n$GPGGA,091238.000,5222.3087,N,00454.5835,E,1,6,1.90,4.0,M,47.0,M,,*51\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091238.000,A,5222.3087,N,00454.5835,E,0.12,116.55,030414,,,A*6D\r\n$GPVTG,116.55,T,,M,0.12,N,0.22,K,A*38\r\n$GPGGA,091239.000,5222.3087,N,00454.5835,E,1,6,1.90,4.0,M,47.0,M,,*50\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091239.000,A,5222.3087,N,00454.5835,E,0.48,116.55,030414,,,A*63\r\n$GPVTG,116.55,T,,M,0.48,N,0.89,K,A*36\r\n$GPGGA,091240.000,5222.3088,N,00454.5837,E,1,6,1.90,4.0,M,47.0,M,,*53\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPGSV,4,1,13,10,77,276,23,13,65,066,42,07,51,161,,02,44,279,22*71\r\n$GPGSV,4,2,13,04,40,211,17,23,30,071,40,08,25,181,18,05,19,297,22*76\r\n$GPGSV,4,3,13,09,18,193,20,16,17,059,28,29,08,336,28,44,08,114,*71\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091240.000,A,5222.3088,N,00454.5837,E,0.39,116.55,030414,,,A*66\r\n$GPVTG,116.55,T,,M,0.39,N,0.72,K,A*34\r\n$GPGGA,091241.000,5222.3089,N,00454.5838,E,1,6,1.90,4.0,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091241.000,A,5222.3089,N,00454.5838,E,0.30,116.55,030414,,,A*60\r\n$GPVTG,116.55,T,,M,0.30,N,0.55,K,A*38\r\n$GPGGA,091242.000,5222.3090,N,00454.5838,E,1,6,3.52,4.0,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,4.66,3.52,3.06*0C\r\n$GPRMC,091242.000,A,5222.3090,N,00454.5838,E,0.30,116.55,030414,,,A*6B\r\n$GPVTG,116.55,T,,M,0.30,N,0.56,K,A*3B\r\n$GPGGA,091243.000,5222.3090,N,00454.5838,E,1,6,1.90,4.0,M,47.0,M,,*56\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091243.000,A,5222.3090,N,00454.5838,E,0.43,116.55,030414,,,A*6E\r\n$GPVTG,116.55,T,,M,0.43,N,0.80,K,A*34\r\n$GPGGA,091244.000,5222.3091,N,00454.5836,E,1,6,1.90,3.9,M,47.0,M,,*50\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091244.000,A,5222.3091,N,00454.5836,E,0.61,261.66,030414,,,A*65\r\n$GPVTG,261.66,T,,M,0.61,N,1.13,K,A*3C\r\n$GPGGA,091245.000,5222.3092,N,00454.5836,E,1,6,1.90,3.9,M,47.0,M,,*52\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPGSV,4,1,13,10,77,275,22,13,65,066,42,07,51,161,,02,44,279,19*7B\r\n$GPGSV,4,2,13,04,40,211,17,23,30,071,40,08,25,181,18,05,19,297,25*71\r\n$GPGSV,4,3,13,09,19,193,,16,17,059,29,29,08,336,23,44,08,114,*78\r\n$GPGSV,4,4,13,20,01,123,*48\r\n$GPRMC,091245.000,A,5222.3092,N,00454.5836,E,0.57,261.66,030414,,,A*62\r\n$GPVTG,261.66,T,,M,0.57,N,1.06,K,A*3D\r\n$GPGGA,091246.000,5222.3093,N,00454.5837,E,1,6,1.90,3.8,M,47.0,M,,*50\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091246.000,A,5222.3093,N,00454.5837,E,0.12,261.66,030414,,,A*60\r\n$GPVTG,261.66,T,,M,0.12,N,0.22,K,A*3B\r\n$GPGGA,091247.000,5222.3092,N,00454.5836,E,1,6,1.90,3.7,M,47.0,M,,*5E\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091247.000,A,5222.3092,N,00454.5836,E,0.15,261.66,030414,,,A*66\r\n$GPVTG,261.66,T,,M,0.15,N,0.27,K,A*39\r\n$GPGGA,091248.000,5222.3091,N,00454.5836,E,1,6,1.90,3.7,M,47.0,M,,*52\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091248.000,A,5222.3091,N,00454.5836,E,0.22,261.66,030414,,,A*6E\r\n$GPVTG,261.66,T,,M,0.22,N,0.40,K,A*3C\r\n$GPGGA,091249.000,5222.3092,N,00454.5837,E,1,6,1.90,3.7,M,47.0,M,,*51\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPRMC,091249.000,A,5222.3092,N,00454.5837,E,0.30,261.66,030414,,,A*6E\r\n$GPVTG,261.66,T,,M,0.30,N,0.56,K,A*38\r\n$GPGGA,091250.000,5222.3092,N,00454.5838,E,1,6,1.90,3.7,M,47.0,M,,*56\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,2.13,1.90,0.95*0D\r\n$GPGSV,4,1,13,10,77,275,23,13,65,066,42,07,51,161,,02,44,279,17*74\r\n$GPGSV,4,2,13,04,40,211,16,23,30,071,40,08,25,181,17,05,19,297,22*78\r\n$GPGSV,4,3,13,09,19,193,,16,17,059,31,29,08,336,20,20,01,123,*7D\r\n$GPGSV,4,4,13,34,,,*7C\r\n$GPRMC,091250.000,A,5222.3092,N,00454.5838,E,0.26,261.66,030414,,,A*6E\r\n$GPVTG,261.66,T,,M,0.26,N,0.48,K,A*30\r\n$GPGGA,091251.000,5222.3093,N,00454.5838,E,1,6,3.53,3.7,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,23,13,05,29,10,,,,,,,4.67,3.53,3.07*0D\r\n$GPRMC,091251.000,A,5222.3093,N,00454.5838,E,0.62,45.83,030414,,,A*51\r\n$GPVTG,45.83,T,,M,0.62,N,1.15,K,A*06\r\n$GPGGA,091252.000,5222.3094,N,00454.5839,E,1,7,1.21,3.6,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091252.000,A,5222.3094,N,00454.5839,E,0.82,45.40,030414,,,A*55\r\n$GPVTG,45.40,T,,M,0.82,N,1.53,K,A*05\r\n$GPGGA,091253.000,5222.3096,N,00454.5840,E,1,7,1.21,3.6,M,47.0,M,,*54\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091253.000,A,5222.3096,N,00454.5840,E,0.59,44.14,030414,,,A*5E\r\n$GPVTG,44.14,T,,M,0.59,N,1.09,K,A*0C\r\n$GPGGA,091254.000,5222.3094,N,00454.5839,E,1,7,1.21,3.5,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091254.000,A,5222.3094,N,00454.5839,E,0.29,44.14,030414,,,A*52\r\n$GPVTG,44.14,T,,M,0.29,N,0.53,K,A*05\r\n$GPGGA,091255.000,5222.3092,N,00454.5838,E,1,7,1.51,3.5,M,47.0,M,,*5D\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,2.43,1.51,1.91*07\r\n$GPGSV,3,1,12,10,77,275,24,13,65,066,42,07,51,161,17,02,44,279,14*70\r\n$GPGSV,3,2,12,04,40,211,19,23,30,071,40,08,25,181,18,05,19,297,22*7E\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,31,29,08,336,22,35,,,*43\r\n$GPRMC,091255.000,A,5222.3092,N,00454.5838,E,0.22,44.14,030414,,,A*5F\r\n$GPVTG,44.14,T,,M,0.22,N,0.41,K,A*0D\r\n$GPGGA,091256.000,5222.3091,N,00454.5836,E,1,7,1.21,3.5,M,47.0,M,,*54\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091256.000,A,5222.3091,N,00454.5836,E,0.24,44.14,030414,,,A*57\r\n$GPVTG,44.14,T,,M,0.24,N,0.44,K,A*0E\r\n$GPGGA,091257.000,5222.3094,N,00454.5835,E,1,7,1.21,3.4,M,47.0,M,,*52\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091257.000,A,5222.3094,N,00454.5835,E,0.56,44.14,030414,,,A*55\r\n$GPVTG,44.14,T,,M,0.56,N,1.03,K,A*09\r\n$GPGGA,091258.000,5222.3093,N,00454.5834,E,1,7,1.21,3.4,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091258.000,A,5222.3093,N,00454.5834,E,1.07,252.72,030414,,,A*6C\r\n$GPVTG,252.72,T,,M,1.07,N,1.99,K,A*3A\r\n$GPGGA,091259.000,5222.3096,N,00454.5830,E,1,7,1.21,3.4,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091259.000,A,5222.3096,N,00454.5830,E,1.11,255.12,030414,,,A*6A\r\n$GPVTG,255.12,T,,M,1.11,N,2.05,K,A*3A\r\n$GPGGA,091300.000,5222.3097,N,00454.5827,E,1,8,0.99,3.3,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,22,13,65,066,42,07,51,161,19,02,44,279,17*7B\r\n$GPGSV,3,2,12,04,40,211,21,23,30,071,41,08,25,181,20,05,19,297,19*77\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,32,29,08,336,24,35,,,*46\r\n$GPRMC,091300.000,A,5222.3097,N,00454.5827,E,1.07,256.38,030414,,,A*6C\r\n$GPVTG,256.38,T,,M,1.07,N,1.98,K,A*31\r\n$GPGGA,091301.000,5222.3097,N,00454.5826,E,1,7,1.21,3.2,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.50,1.21,0.89*09\r\n$GPRMC,091301.000,A,5222.3097,N,00454.5826,E,0.68,253.53,030414,,,A*6C\r\n$GPVTG,253.53,T,,M,0.68,N,1.26,K,A*34\r\n$GPGGA,091302.000,5222.3096,N,00454.5825,E,1,8,0.99,3.1,M,47.0,M,,*58\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091302.000,A,5222.3096,N,00454.5825,E,0.51,253.53,030414,,,A*67\r\n$GPVTG,253.53,T,,M,0.51,N,0.94,K,A*36\r\n$GPGGA,091303.000,5222.3096,N,00454.5825,E,1,7,1.11,3.0,M,47.0,M,,*56\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091303.000,A,5222.3096,N,00454.5825,E,0.34,253.53,030414,,,A*65\r\n$GPVTG,253.53,T,,M,0.34,N,0.64,K,A*3A\r\n$GPGGA,091304.000,5222.3096,N,00454.5824,E,1,8,0.99,2.9,M,47.0,M,,*56\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091304.000,A,5222.3096,N,00454.5824,E,0.37,253.09,030414,,,A*6F\r\n$GPVTG,253.09,T,,M,0.37,N,0.69,K,A*3B\r\n$GPGGA,091305.000,5222.3099,N,00454.5821,E,1,8,0.99,2.8,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,23,13,65,066,42,07,51,161,18,02,44,279,17*7B\r\n$GPGSV,3,2,12,04,40,211,23,23,30,071,41,08,25,181,19,05,19,297,18*7E\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,30,29,08,336,25,36,,,*46\r\n$GPRMC,091305.000,A,5222.3099,N,00454.5821,E,0.37,252.75,030414,,,A*6E\r\n$GPVTG,252.75,T,,M,0.37,N,0.69,K,A*31\r\n$GPGGA,091306.000,5222.3101,N,00454.5819,E,1,8,0.99,2.7,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091306.000,A,5222.3101,N,00454.5819,E,0.33,252.96,030414,,,A*6F\r\n$GPVTG,252.96,T,,M,0.33,N,0.61,K,A*30\r\n$GPGGA,091307.000,5222.3104,N,00454.5817,E,1,8,0.99,2.6,M,47.0,M,,*50\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091307.000,A,5222.3104,N,00454.5817,E,0.53,252.83,030414,,,A*67\r\n$GPVTG,252.83,T,,M,0.53,N,0.98,K,A*34\r\n$GPGGA,091308.000,5222.3104,N,00454.5818,E,1,8,0.99,2.5,M,47.0,M,,*53\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091308.000,A,5222.3104,N,00454.5818,E,0.99,46.31,030414,,,A*5F\r\n$GPVTG,46.31,T,,M,0.99,N,1.83,K,A*07\r\n$GPGGA,091309.000,5222.3105,N,00454.5819,E,1,8,0.99,2.5,M,47.0,M,,*52\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091309.000,A,5222.3105,N,00454.5819,E,0.56,46.31,030414,,,A*5D\r\n$GPVTG,46.31,T,,M,0.56,N,1.03,K,A*0C\r\n$GPGGA,091310.000,5222.3106,N,00454.5818,E,1,8,0.99,2.4,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,25,13,65,066,42,07,51,161,18,02,44,279,21*78\r\n$GPGSV,3,2,12,04,40,211,24,23,30,071,41,08,25,181,19,05,19,297,20*72\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,28,29,08,336,26,38,,,*42\r\n$GPRMC,091310.000,A,5222.3106,N,00454.5818,E,0.34,46.31,030414,,,A*53\r\n$GPVTG,46.31,T,,M,0.34,N,0.63,K,A*0F\r\n$GPGGA,091311.000,5222.3107,N,00454.5818,E,1,8,0.99,2.4,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091311.000,A,5222.3107,N,00454.5818,E,0.52,46.31,030414,,,A*53\r\n$GPVTG,46.31,T,,M,0.52,N,0.97,K,A*04\r\n$GPGGA,091312.000,5222.3107,N,00454.5817,E,1,8,0.99,2.3,M,47.0,M,,*52\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091312.000,A,5222.3107,N,00454.5817,E,0.49,46.31,030414,,,A*55\r\n$GPVTG,46.31,T,,M,0.49,N,0.90,K,A*09\r\n$GPGGA,091313.000,5222.3107,N,00454.5815,E,1,8,0.99,2.3,M,47.0,M,,*51\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091313.000,A,5222.3107,N,00454.5815,E,0.32,46.31,030414,,,A*5A\r\n$GPVTG,46.31,T,,M,0.32,N,0.58,K,A*01\r\n$GPGGA,091314.000,5222.3107,N,00454.5814,E,1,7,1.11,2.3,M,47.0,M,,*59\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091314.000,A,5222.3107,N,00454.5814,E,0.33,46.31,030414,,,A*5D\r\n$GPVTG,46.31,T,,M,0.33,N,0.61,K,A*0A\r\n$GPGGA,091315.000,5222.3106,N,00454.5813,E,1,7,1.11,2.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPGSV,3,1,12,10,77,275,25,13,65,066,42,07,51,161,21,02,44,278,18*79\r\n$GPGSV,3,2,12,04,39,211,25,23,30,071,42,08,25,181,19,05,19,297,20*7E\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,28,29,08,336,29,38,,,*4D\r\n$GPRMC,091315.000,A,5222.3106,N,00454.5813,E,0.27,46.31,030414,,,A*5F\r\n$GPVTG,46.31,T,,M,0.27,N,0.50,K,A*0D\r\n$GPGGA,091316.000,5222.3106,N,00454.5812,E,1,7,1.11,2.3,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091316.000,A,5222.3106,N,00454.5812,E,0.19,46.31,030414,,,A*50\r\n$GPVTG,46.31,T,,M,0.19,N,0.35,K,A*03\r\n$GPGGA,091317.000,5222.3106,N,00454.5811,E,1,7,1.11,2.2,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091317.000,A,5222.3106,N,00454.5811,E,0.12,46.31,030414,,,A*59\r\n$GPVTG,46.31,T,,M,0.12,N,0.23,K,A*0F\r\n$GPGGA,091318.000,5222.3106,N,00454.5810,E,1,7,1.11,2.2,M,47.0,M,,*51\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.41,1.11,0.86*06\r\n$GPRMC,091318.000,A,5222.3106,N,00454.5810,E,0.03,46.31,030414,,,A*57\r\n$GPVTG,46.31,T,,M,0.03,N,0.05,K,A*0B\r\n$GPGGA,091319.000,5222.3106,N,00454.5810,E,1,8,1.24,2.2,M,47.0,M,,*59\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,2.07,1.24,1.66*0C\r\n$GPRMC,091319.000,A,5222.3106,N,00454.5810,E,0.13,46.31,030414,,,A*57\r\n$GPVTG,46.31,T,,M,0.13,N,0.24,K,A*09\r\n$GPGGA,091320.000,5222.3106,N,00454.5810,E,1,8,1.08,2.2,M,47.0,M,,*5D\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.08,0.86*02\r\n$GPGSV,3,1,12,10,77,275,25,13,65,066,42,07,51,160,22,02,44,278,22*72\r\n$GPGSV,3,2,12,04,39,211,27,23,30,071,42,08,26,181,18,05,19,297,19*74\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,26,29,08,336,29,41,,,*4D\r\n$GPRMC,091320.000,A,5222.3106,N,00454.5810,E,0.64,47.96,030414,,,A*51\r\n$GPVTG,47.96,T,,M,0.64,N,1.18,K,A*0B\r\n$GPGGA,091321.000,5222.3107,N,00454.5813,E,1,8,1.08,2.3,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.08,0.86*02\r\n$GPRMC,091321.000,A,5222.3107,N,00454.5813,E,0.81,46.91,030414,,,A*5F\r\n$GPVTG,46.91,T,,M,0.81,N,1.50,K,A*0A\r\n$GPGGA,091322.000,5222.3111,N,00454.5816,E,1,8,1.08,2.3,M,47.0,M,,*5E\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.08,0.86*02\r\n$GPRMC,091322.000,A,5222.3111,N,00454.5816,E,0.48,46.91,030414,,,A*5B\r\n$GPVTG,46.91,T,,M,0.48,N,0.88,K,A*0B\r\n$GPGGA,091323.000,5222.3113,N,00454.5820,E,1,8,1.08,2.4,M,47.0,M,,*5F\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.08,0.86*02\r\n$GPRMC,091323.000,A,5222.3113,N,00454.5820,E,0.29,46.91,030414,,,A*5A\r\n$GPVTG,46.91,T,,M,0.29,N,0.55,K,A*0C\r\n$GPGGA,091324.000,5222.3117,N,00454.5824,E,1,8,1.08,2.5,M,47.0,M,,*59\r\n$GPGSA,A,3,16,23,13,02,05,29,10,04,,,,,1.38,1.08,0.86*02\r\n$GPRMC,091324.000,A,5222.3117,N,00454.5824,E,0.31,46.91,030414,,,A*54\r\n$GPVTG,46.91,T,,M,0.31,N,0.57,K,A*07\r\n$GPGGA,091325.000,5222.3121,N,00454.5826,E,1,9,0.96,2.5,M,47.0,M,,*58\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPGSV,3,1,12,10,77,275,26,13,64,066,42,07,51,160,23,02,44,278,24*77\r\n$GPGSV,3,2,12,04,39,211,29,23,30,071,42,08,26,181,18,05,19,297,18*7B\r\n$GPGSV,3,3,12,09,19,193,,16,18,059,25,29,08,336,29,43,,,*4C\r\n$GPRMC,091325.000,A,5222.3121,N,00454.5826,E,0.33,46.91,030414,,,A*50\r\n$GPVTG,46.91,T,,M,0.33,N,0.61,K,A*00\r\n$GPGGA,091326.000,5222.3121,N,00454.5824,E,1,9,0.96,2.5,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091326.000,A,5222.3121,N,00454.5824,E,0.33,46.91,030414,,,A*51\r\n$GPVTG,46.91,T,,M,0.33,N,0.61,K,A*00\r\n$GPGGA,091327.000,5222.3122,N,00454.5823,E,1,9,0.96,2.5,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091327.000,A,5222.3122,N,00454.5823,E,0.13,46.91,030414,,,A*56\r\n$GPVTG,46.91,T,,M,0.13,N,0.23,K,A*04\r\n$GPGGA,091328.000,5222.3122,N,00454.5822,E,1,9,0.96,2.5,M,47.0,M,,*52\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091328.000,A,5222.3122,N,00454.5822,E,0.12,46.91,030414,,,A*59\r\n$GPVTG,46.91,T,,M,0.12,N,0.23,K,A*05\r\n$GPGGA,091329.000,5222.3122,N,00454.5822,E,1,9,0.96,2.5,M,47.0,M,,*53\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091329.000,A,5222.3122,N,00454.5822,E,0.12,46.91,030414,,,A*58\r\n$GPVTG,46.91,T,,M,0.12,N,0.22,K,A*04\r\n$GPGGA,091330.000,5222.3122,N,00454.5822,E,1,9,0.96,2.5,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPGSV,3,1,12,10,77,275,28,13,64,066,42,07,51,160,22,02,44,278,27*7B\r\n$GPGSV,3,2,12,04,39,211,29,23,30,071,42,08,26,181,19,05,19,297,18*7A\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,25,29,08,336,30,45,,,*43\r\n$GPRMC,091330.000,A,5222.3122,N,00454.5822,E,0.09,46.91,030414,,,A*5A\r\n$GPVTG,46.91,T,,M,0.09,N,0.17,K,A*08\r\n$GPGGA,091331.000,5222.3122,N,00454.5821,E,1,9,0.96,2.5,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091331.000,A,5222.3122,N,00454.5821,E,0.10,46.91,030414,,,A*50\r\n$GPVTG,46.91,T,,M,0.10,N,0.18,K,A*0F\r\n$GPGGA,091332.000,5222.3123,N,00454.5822,E,1,9,0.96,2.6,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091332.000,A,5222.3123,N,00454.5822,E,0.10,46.91,030414,,,A*51\r\n$GPVTG,46.91,T,,M,0.10,N,0.18,K,A*0F\r\n$GPGGA,091333.000,5222.3126,N,00454.5824,E,1,9,0.96,2.6,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091333.000,A,5222.3126,N,00454.5824,E,0.69,50.17,030414,,,A*54\r\n$GPVTG,50.17,T,,M,0.69,N,1.28,K,A*0A\r\n$GPGGA,091334.000,5222.3131,N,00454.5827,E,1,9,0.96,2.6,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091334.000,A,5222.3131,N,00454.5827,E,1.28,41.83,030414,,,A*5F\r\n$GPVTG,41.83,T,,M,1.28,N,2.37,K,A*0E\r\n$GPGGA,091335.000,5222.3135,N,00454.5829,E,1,9,0.96,2.7,M,47.0,M,,*51\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPGSV,3,1,12,10,77,275,29,13,64,066,42,07,51,160,19,02,44,278,26*73\r\n$GPGSV,3,2,12,04,39,211,29,23,29,072,42,08,26,181,18,05,19,297,17*7F\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,26,29,08,336,30,46,,,*43\r\n$GPRMC,091335.000,A,5222.3135,N,00454.5829,E,1.27,39.45,030414,,,A*5E\r\n$GPVTG,39.45,T,,M,1.27,N,2.35,K,A*06\r\n$GPGGA,091336.000,5222.3137,N,00454.5831,E,1,9,0.96,2.7,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091336.000,A,5222.3137,N,00454.5831,E,0.91,30.48,030414,,,A*5E\r\n$GPVTG,30.48,T,,M,0.91,N,1.68,K,A*05\r\n$GPGGA,091337.000,5222.3139,N,00454.5834,E,1,9,0.96,2.7,M,47.0,M,,*53\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091337.000,A,5222.3139,N,00454.5834,E,0.60,10.92,030414,,,A*5F\r\n$GPVTG,10.92,T,,M,0.60,N,1.11,K,A*00\r\n$GPGGA,091338.000,5222.3140,N,00454.5835,E,1,9,1.09,2.6,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.97,1.09,1.64*0C\r\n$GPRMC,091338.000,A,5222.3140,N,00454.5835,E,0.55,10.92,030414,,,A*59\r\n$GPVTG,10.92,T,,M,0.55,N,1.02,K,A*04\r\n$GPGGA,091339.000,5222.3140,N,00454.5835,E,1,9,0.96,2.6,M,47.0,M,,*53\r\n$GPGSA,A,3,16,07,23,13,02,05,29,10,04,,,,1.28,0.96,0.85*01\r\n$GPRMC,091339.000,A,5222.3140,N,00454.5835,E,0.55,10.92,030414,,,A*58\r\n$GPVTG,10.92,T,,M,0.55,N,1.01,K,A*07\r\n$GPGGA,091340.000,5222.3141,N,00454.5835,E,1,8,0.99,2.4,M,47.0,M,,*50\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,29,13,64,066,42,07,51,160,16,02,44,278,23*79\r\n$GPGSV,3,2,12,04,39,211,29,23,29,072,42,08,26,181,18,05,19,297,16*7E\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,25,29,08,336,29,46,,,*48\r\n$GPRMC,091340.000,A,5222.3141,N,00454.5835,E,0.58,269.52,030414,,,A*6A\r\n$GPVTG,269.52,T,,M,0.58,N,1.07,K,A*3C\r\n$GPGGA,091341.000,5222.3141,N,00454.5837,E,1,8,0.99,2.3,M,47.0,M,,*54\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091341.000,A,5222.3141,N,00454.5837,E,0.53,269.52,030414,,,A*62\r\n$GPVTG,269.52,T,,M,0.53,N,0.98,K,A*30\r\n$GPGGA,091342.000,5222.3141,N,00454.5838,E,1,8,0.99,2.2,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091342.000,A,5222.3141,N,00454.5838,E,0.47,269.52,030414,,,A*6B\r\n$GPVTG,269.52,T,,M,0.47,N,0.87,K,A*3B\r\n$GPGGA,091343.000,5222.3142,N,00454.5839,E,1,8,0.99,2.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091343.000,A,5222.3142,N,00454.5839,E,0.30,269.52,030414,,,A*68\r\n$GPVTG,269.52,T,,M,0.30,N,0.55,K,A*34\r\n$GPGGA,091344.000,5222.3141,N,00454.5838,E,1,8,0.99,1.9,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091344.000,A,5222.3141,N,00454.5838,E,0.25,269.52,030414,,,A*69\r\n$GPVTG,269.52,T,,M,0.25,N,0.46,K,A*32\r\n$GPGGA,091345.000,5222.3142,N,00454.5838,E,1,8,0.99,1.9,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,29,13,64,066,42,07,51,160,17,02,44,278,18*70\r\n$GPGSV,3,2,12,04,39,211,29,23,29,072,42,08,26,181,20,05,19,297,14*77\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,22,29,08,336,28,47,,,*4F\r\n$GPRMC,091345.000,A,5222.3142,N,00454.5838,E,0.18,269.52,030414,,,A*65\r\n$GPVTG,269.52,T,,M,0.18,N,0.33,K,A*3E\r\n$GPGGA,091346.000,5222.3142,N,00454.5838,E,1,8,0.99,1.9,M,47.0,M,,*56\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091346.000,A,5222.3142,N,00454.5838,E,0.23,269.52,030414,,,A*6E\r\n$GPVTG,269.52,T,,M,0.23,N,0.42,K,A*30\r\n$GPGGA,091347.000,5222.3142,N,00454.5837,E,1,8,0.99,1.8,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091347.000,A,5222.3142,N,00454.5837,E,0.23,269.52,030414,,,A*60\r\n$GPVTG,269.52,T,,M,0.23,N,0.42,K,A*30\r\n$GPGGA,091348.000,5222.3144,N,00454.5837,E,1,8,0.99,1.8,M,47.0,M,,*50\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091348.000,A,5222.3144,N,00454.5837,E,0.40,269.52,030414,,,A*6C\r\n$GPVTG,269.52,T,,M,0.40,N,0.74,K,A*30\r\n$GPGGA,091349.000,5222.3143,N,00454.5838,E,1,8,0.99,1.7,M,47.0,M,,*56\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091349.000,A,5222.3143,N,00454.5838,E,0.88,35.50,030414,,,A*58\r\n$GPVTG,35.50,T,,M,0.88,N,1.63,K,A*0A\r\n$GPGGA,091350.000,5222.3145,N,00454.5841,E,1,8,0.99,1.6,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,77,275,29,13,64,066,42,07,51,160,20,02,44,278,18*74\r\n$GPGSV,3,2,12,04,39,210,29,23,29,072,41,08,26,181,20,05,19,298,16*78\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,24,29,08,336,29,49,,,*46\r\n$GPRMC,091350.000,A,5222.3145,N,00454.5841,E,1.10,36.47,030414,,,A*5D\r\n$GPVTG,36.47,T,,M,1.10,N,2.04,K,A*0D\r\n$GPGGA,091351.000,5222.3143,N,00454.5844,E,1,8,0.99,1.6,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091351.000,A,5222.3143,N,00454.5844,E,0.29,36.47,030414,,,A*54\r\n$GPVTG,36.47,T,,M,0.29,N,0.54,K,A*01\r\n$GPGGA,091352.000,5222.3143,N,00454.5846,E,1,8,0.99,1.5,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091352.000,A,5222.3143,N,00454.5846,E,0.28,36.47,030414,,,A*54\r\n$GPVTG,36.47,T,,M,0.28,N,0.53,K,A*07\r\n$GPGGA,091353.000,5222.3142,N,00454.5847,E,1,8,0.99,1.5,M,47.0,M,,*56\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091353.000,A,5222.3142,N,00454.5847,E,0.48,36.47,030414,,,A*53\r\n$GPVTG,36.47,T,,M,0.48,N,0.89,K,A*06\r\n$GPGGA,091354.000,5222.3141,N,00454.5846,E,1,7,1.11,1.4,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,23,13,05,29,10,04,,,,,,1.40,1.11,0.86*07\r\n$GPRMC,091354.000,A,5222.3141,N,00454.5846,E,0.53,36.47,030414,,,A*5C\r\n$GPVTG,36.47,T,,M,0.53,N,0.98,K,A*0C\r\n$GPGGA,091355.000,5222.3140,N,00454.5844,E,1,8,0.99,1.4,M,47.0,M,,*50\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,78,274,29,13,64,066,42,07,51,160,21,02,44,278,19*7A\r\n$GPGSV,3,2,12,04,39,210,28,23,29,072,41,08,26,181,19,05,19,298,16*73\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,20,29,08,336,32,51,,,*41\r\n$GPRMC,091355.000,A,5222.3140,N,00454.5844,E,0.47,36.47,030414,,,A*5B\r\n$GPVTG,36.47,T,,M,0.47,N,0.87,K,A*07\r\n$GPGGA,091356.000,5222.3140,N,00454.5842,E,1,8,0.99,1.4,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091356.000,A,5222.3140,N,00454.5842,E,0.28,36.47,030414,,,A*57\r\n$GPVTG,36.47,T,,M,0.28,N,0.52,K,A*06\r\n$GPGGA,091357.000,5222.3140,N,00454.5841,E,1,8,0.99,1.4,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091357.000,A,5222.3140,N,00454.5841,E,0.18,36.47,030414,,,A*56\r\n$GPVTG,36.47,T,,M,0.18,N,0.33,K,A*02\r\n$GPGGA,091358.000,5222.3140,N,00454.5840,E,1,8,0.99,1.4,M,47.0,M,,*59\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091358.000,A,5222.3140,N,00454.5840,E,0.13,36.47,030414,,,A*53\r\n$GPVTG,36.47,T,,M,0.13,N,0.24,K,A*0F\r\n$GPGGA,091359.000,5222.3140,N,00454.5840,E,1,8,0.99,1.4,M,47.0,M,,*58\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091359.000,A,5222.3140,N,00454.5840,E,0.12,36.47,030414,,,A*53\r\n$GPVTG,36.47,T,,M,0.12,N,0.22,K,A*08\r\n$GPGGA,091400.000,5222.3139,N,00454.5839,E,1,8,0.99,1.4,M,47.0,M,,*53\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,78,274,28,13,64,066,42,07,51,160,21,02,44,278,18*7A\r\n$GPGSV,3,2,12,04,39,210,26,23,29,072,41,08,26,181,17,05,19,298,17*72\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,21,29,08,336,33,51,,,*41\r\n$GPRMC,091400.000,A,5222.3139,N,00454.5839,E,0.01,36.47,030414,,,A*5A\r\n$GPVTG,36.47,T,,M,0.01,N,0.03,K,A*09\r\n$GPGGA,091401.000,5222.3139,N,00454.5839,E,1,8,0.99,1.3,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091401.000,A,5222.3139,N,00454.5839,E,0.15,36.47,030414,,,A*5E\r\n$GPVTG,36.47,T,,M,0.15,N,0.27,K,A*0A\r\n$GPGGA,091402.000,5222.3140,N,00454.5840,E,1,8,0.99,1.3,M,47.0,M,,*56\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091402.000,A,5222.3140,N,00454.5840,E,0.78,49.14,030414,,,A*58\r\n$GPVTG,49.14,T,,M,0.78,N,1.44,K,A*0B\r\n$GPGGA,091403.000,5222.3141,N,00454.5841,E,1,8,0.99,1.3,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091403.000,A,5222.3141,N,00454.5841,E,0.97,43.03,030414,,,A*54\r\n$GPVTG,43.03,T,,M,0.97,N,1.79,K,A*08\r\n$GPGGA,091404.000,5222.3142,N,00454.5843,E,1,8,0.99,1.2,M,47.0,M,,*50\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091404.000,A,5222.3142,N,00454.5843,E,0.61,28.17,030414,,,A*53\r\n$GPVTG,28.17,T,,M,0.61,N,1.13,K,A*05\r\n$GPGGA,091405.000,5222.3143,N,00454.5844,E,1,8,0.99,1.2,M,47.0,M,,*57\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,78,274,28,13,64,066,42,07,51,160,17,02,44,278,16*71\r\n$GPGSV,3,2,12,04,39,210,23,23,29,072,41,08,26,181,16,05,19,298,17*76\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,22,29,08,336,32,42,,,*41\r\n$GPRMC,091405.000,A,5222.3143,N,00454.5844,E,0.14,28.17,030414,,,A*56\r\n$GPVTG,28.17,T,,M,0.14,N,0.26,K,A*00\r\n$GPGGA,091406.000,5222.3142,N,00454.5846,E,1,8,0.99,1.1,M,47.0,M,,*54\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091406.000,A,5222.3142,N,00454.5846,E,0.13,28.17,030414,,,A*51\r\n$GPVTG,28.17,T,,M,0.13,N,0.24,K,A*05\r\n$GPGGA,091407.000,5222.3142,N,00454.5846,E,1,8,0.99,1.1,M,47.0,M,,*55\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091407.000,A,5222.3142,N,00454.5846,E,0.19,28.17,030414,,,A*5A\r\n$GPVTG,28.17,T,,M,0.19,N,0.35,K,A*0F\r\n$GPGGA,091408.000,5222.3141,N,00454.5846,E,1,8,0.99,1.0,M,47.0,M,,*58\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091408.000,A,5222.3141,N,00454.5846,E,0.21,28.17,030414,,,A*5D\r\n$GPVTG,28.17,T,,M,0.21,N,0.39,K,A*08\r\n$GPGGA,091409.000,5222.3140,N,00454.5845,E,1,8,0.99,1.0,M,47.0,M,,*5B\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPRMC,091409.000,A,5222.3140,N,00454.5845,E,0.24,28.17,030414,,,A*5B\r\n$GPVTG,28.17,T,,M,0.24,N,0.44,K,A*07\r\n$GPGGA,091410.000,5222.3141,N,00454.5845,E,1,8,0.99,1.0,M,47.0,M,,*52\r\n$GPGSA,A,3,16,07,23,13,05,29,10,04,,,,,1.31,0.99,0.86*07\r\n$GPGSV,3,1,12,10,78,274,28,13,64,066,42,07,51,160,19,02,44,278,16*7F\r\n$GPGSV,3,2,12,04,39,210,22,23,29,072,41,08,26,181,15,05,19,298,16*75\r\n$GPGSV,3,3,12,09,19,193,,16,18,058,25,29,08,336,31,48,,,*4F\r\n$GPRMC,091410.000,A,5222.3141,N,00454.5845,E,0.16,28.17,030414,,,A*53\r\n$GPVTG,28.17,T,,M,0.16,N,0.30,K,A*05\r\n$GPGGA,091411.000,5222.3141,N,00454.5844,E,1,7,1.22,1.0,M,47.0,M,,*5C\r\n$GPGSA,A,3,16,07,23,13,05,29,10,,,,,,1.51,1.22,0.89*0B\r\n$GPRMC,091411.000,A,5222.3141,N,00454.5844,E,0.18,28.17,030414,,,A*5D\r\n$GPVTG,28.17,T,,M,0.18,N,0.34,K,A*0F\r\n$GPGGA,091412.000,5222.3142,N,00454.5845,E,1,8,0.99,1.0,M,47.0,M,,*53"
  },
  {
    "path": "samples/n2kd-183-merrimac.log",
    "content": "$02MWV,327.6,R,1.89,N*62\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$02MWV,322.9,R,1.89,N*68\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$02MWV,317.8,R,1.89,N*6F\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.9,R,1.89,N*6A\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.7,R,1.89,N*66\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.0,R,1.89,N*61\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,88.8,R,0.41,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.1,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.7,R,1.89,N*65\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.3,R,1.89,N*67\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.0,R,1.89,N*65\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.5,R,1.89,N*61\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$02MWV,313.2,R,1.89,N*61\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.4,R,1.89,N*66\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.7,R,1.89,N*66\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.4,M*2D\r\n$02MWV,311.4,R,1.89,N*65\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.4,M*2D\r\n$02MWV,311.7,R,1.89,N*66\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.7,R,1.89,N*66\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,312.5,R,1.89,N*67\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$04HDM,186.4,M*2D\r\n$02MWV,313.0,R,1.89,N*63\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$24MWV,77.4,R,0.36,N*57\r\n$04HDM,186.4,M*2D\r\n$02MWV,312.6,R,1.89,N*64\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$04HDM,186.4,M*2D\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$02MWV,312.6,R,1.89,N*64\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.5,R,1.89,N*67\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.7,R,1.89,N*65\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$04HDM,186.4,M*2D\r\n$02MWV,310.8,R,2.38,N*61\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,78.8,R,0.36,N*54\r\n$04HDM,186.4,M*2D\r\n$02MWV,309.9,R,2.38,N*68\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.9,R,2.38,N*66\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.2,R,2.38,N*6D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,308.1,R,2.38,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,307.9,R,2.38,N*66\r\n$24MWV,70.6,R,0.36,N*52\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,307.8,R,2.38,N*67\r\n$04HDM,186.4,M*2D\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,306.5,R,1.89,N*62\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,305.4,R,1.89,N*60\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.4,M*2D\r\n$02MWV,303.8,R,1.89,N*6A\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$02MWV,303.4,R,1.89,N*66\r\n$04HDM,186.5,M*2C\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,79.0,R,0.36,N*5D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,303.2,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,304.2,R,1.89,N*67\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,306.3,R,1.89,N*64\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.2,R,1.89,N*6B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,310.1,R,1.89,N*61\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$02MWV,312.1,R,1.89,N*63\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.6,R,1.89,N*64\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.7,R,1.89,N*65\r\n$04HDM,186.4,M*2D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,310.0,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,305.3,R,1.89,N*67\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,77.3,R,0.36,N*50\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,300.1,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,295.6,R,1.89,N*6A\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,293.7,R,1.89,N*6D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,295.2,R,1.89,N*6E\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,299.7,R,1.89,N*67\r\n$24MWV,78.9,R,0.41,N*55\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,306.5,R,1.89,N*62\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.1,R,1.89,N*63\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.4,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$02MWV,312.5,R,1.89,N*67\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,309.6,R,1.89,N*6E\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,305.9,R,1.89,N*6D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,303.1,R,1.89,N*63\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,302.8,R,1.89,N*6B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,303.7,R,1.89,N*65\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,305.8,R,1.89,N*6C\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.4,R,2.38,N*64\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.1,R,2.38,N*69\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.9,R,2.38,N*62\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$02MWV,313.3,R,2.38,N*69\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$02MWV,312.3,R,2.38,N*68\r\n$04HDM,186.5,M*2C\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,310.2,R,2.38,N*6B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.9,R,2.38,N*69\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.6,R,2.38,N*69\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.9,R,2.38,N*66\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,309.3,R,2.38,N*62\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.1,R,2.38,N*69\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.5,R,2.38,N*6F\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.0,R,2.38,N*6C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$02MWV,315.7,R,2.38,N*6B\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.6,R,2.38,N*6B\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.9,R,2.38,N*63\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.2,R,2.38,N*68\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.7,R,2.38,N*6D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.4,R,2.38,N*69\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.4,R,2.38,N*68\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$24MWV,88.8,R,0.36,N*5B\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.5,R,2.38,N*6B\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$02MWV,318.8,R,2.38,N*69\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,319.4,R,2.38,N*64\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,319.1,R,2.38,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.4,R,2.38,N*6A\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,76.3,R,0.36,N*51\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,316.3,R,2.38,N*6C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.5,R,2.38,N*68\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.0,R,2.38,N*6A\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.7,R,2.38,N*6C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.6,R,2.38,N*6D\r\n$24MWV,77.3,R,0.36,N*50\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.1,R,2.38,N*6B\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$02MWV,313.2,R,1.89,N*61\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.4,R,1.89,N*60\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.3,R,2.38,N*6F\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.4,R,2.38,N*68\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,77.9,R,0.30,N*5C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,316.0,R,2.38,N*6F\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.4,R,1.89,N*63\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,318.0,R,1.89,N*68\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.6,R,1.89,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.2,R,1.89,N*65\r\n$24MWV,69.2,R,0.36,N*5E\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,315.1,R,1.89,N*64\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.8,R,1.89,N*69\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.8,R,1.89,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.4,R,1.89,N*62\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,306.7,R,1.89,N*60\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,70.3,R,0.36,N*57\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.8,R,1.89,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,312.1,R,1.89,N*63\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.0,R,1.89,N*67\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,321.0,R,1.89,N*62\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,323.6,R,1.89,N*66\r\n$24MWV,71.1,R,0.36,N*54\r\n$04HDM,186.5,M*2C\r\n$02MWV,323.6,R,1.89,N*66\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,321.8,R,1.89,N*6A\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.2,00.0,E,00.0,E*46\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.7,R,1.89,N*60\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,314.5,R,1.89,N*61\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,310.7,R,1.89,N*67\r\n$05DBT,01.6,f,0.50,M,00.3,F*25\r\n$24MWV,71.1,R,0.36,N*54\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.4,R,1.89,N*6D\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.1,00.0,E,00.0,E*45\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.1,R,1.89,N*67\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,307.3,R,1.89,N*65\r\n$04HDM,186.5,M*2C\r\n$02MWV,308.4,R,1.89,N*6D\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,311.4,R,1.89,N*65\r\n$24MWV,72.1,R,0.36,N*57\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,313.8,R,1.89,N*6B\r\n$04HDM,186.5,M*2C\r\n$23DBS,01.9,f,0.58,M,00.3,F*21\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,316.1,R,1.89,N*67\r\n$04HDM,186.5,M*2C\r\n$24HDG,182.0,00.0,E,00.0,E*44\r\n$04HDM,186.5,M*2C\r\n$02MWV,317.7,R,1.89,N*60\r\n"
  },
  {
    "path": "samples/nais300-merrimac.log",
    "content": "!AIVDM,1,1,,B,13aENmgP1CPH`N`NJ2L0Mwwb2@Nj,0*00\r\n!AIVDM,1,1,,A,33aI:?@P00PHq;fNL0@P0?w`2311,0*14\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOw`R61p,0*50\r\n!AIVDM,1,1,,B,34h`9r50000HnN>NKhjLeq1`0P00,0*6C\r\n!AIVDM,1,1,,A,13aFdiSP0IPHgF6NKEKVNwwdR@O>,0*6F\r\n!AIVDM,1,1,,B,13brRt8P00PHj62NKD3@0?wb261p,0*62\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGidJNMO`lGwwd2D1u,0*62\r\n!AIVDM,1,1,,A,13`va@0P00PHpHbNKnWuUOwd2<1I,0*07\r\n!AIVDM,2,1,0,A,53brRt4000010SG;700iE@LE8@Tp4000000000153P615t0Ht0SCkjH4jC1C,0*1E\r\n!AIVDM,2,2,0,A,`0000000001,2*75\r\n!AIVDM,1,1,,A,83brRt0j2d<etMutthahO@O04400,0*13\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:>NKd<h0?wd28P5,0*7D\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0NNKB;GNgwd2@P8,0*73\r\n!AIVDM,1,1,,B,13aI8h@P00PHhnbNKBT@0?wf20S5,0*1A\r\n!AIVDM,2,1,1,B,53aGD7l000010COC;<0MDhJ0lE8U@0000000001S30841t@PJ00000000000,0*3C\r\n!AIVDM,2,2,1,B,00000000002,2*24\r\n!AIVDM,1,1,,B,13aGFRwP000Hnm:NKlils?wh0D1O,0*46\r\n!AIVDM,1,1,,B,83aGD7hj2d<dd=MMv@`HI@UE0000,0*29\r\n!AIVDM,1,1,,B,13aKUopP000Hf5tNFi9TA?wj00S=,0*49\r\n!AIVDM,1,1,,A,13aJHJpP00PHjUfNK@;P0?wh2L0N,0*52\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGfNKLkeT?wj2@Q9,0*54\r\n!AIVDM,1,1,,A,33aDrj@P?w<tSF0l4Q@>4?wvPS8A,0*29\r\n!AIVDM,1,1,,A,33`vB1`P000HimvNKFr1Mgwl23p1,0*08\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n$AISSD,PD2366@,MERRIMAC@@@@@@@@@@@@,017,000,03,02,1,AI*29\r\n$AIVSD,036,00.0,0000,@@@@@@@@@@@@@@@@@@@@,000000,00,00,00,00*4E\r\n!AIVDM,1,1,,B,13aI9j8P00PHittNKG<@0?wn28RW,0*62\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGinTNMOETFgv02@Re,0*5B\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8BNL1J<Cgv00D1>,0*0F\r\n!AIVDM,1,1,,A,13bs66?000PHph6NKrIkAFF22<3C,0*54\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aEONHP00PHj7:NKC;Hewv22@0@,0*04\r\n!AIVDM,1,1,,B,13bjGP30020Hq4@NKv2WaPb00@0B,0*33\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aGs90P00PHj;:NK8rsa?v42@12,0*0A\r\n!AIVDM,1,1,,B,13aGE00P000HioDNKI:jpwv42<1T,0*1C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13`va@0P00PHpHRNKnW=WOv62L1I,0*5D\r\n!AIVDM,1,1,,A,13`ww<0P000Hho:NKDP`ROv420Rc,0*40\r\n!AIVDM,1,1,,A,13brRt8P00PHj64NKD5@0?v620SL,0*6C\r\n!AIVDM,1,1,,A,13`j7c00@2PHiS0NKHK;f1n8081q,0*6E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOv6R61t,0*00\r\n!AIVDM,1,1,,B,13aGFROP000HnoRNKkBeLwv80826,0*11\r\n!AIVDM,1,1,,B,33aI:?@P00PHq;hNL0@h0?v622li,0*72\r\n!AIVDM,1,1,,B,13aFdiSP0IPHgG6NKE9FMwv8R<2=,0*53\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:NNKd<P0?v82D12,0*71\r\n!AIVDM,1,1,,A,13aGFRwP000HnlvNKld4agv<0834,0*47\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGj2jNMNw4Dgv<2<1u,0*6B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0HNKB;h0?v:283C,0*40\r\n!AIVDM,1,1,,A,13aI8h@P00PHhnjNKBS00?v<2@3R,0*4A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGbNKLkM`Ov@2H4C,0*03\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,33aDrj@P?w<tSF0l4Q@>4?wvPRoQ,0*6C\r\n!AIVDM,1,1,,B,13`vB1`P00PHimvNKFr1K?v@261t,0*1B\r\n!AIVDM,1,1,,B,13aJHJpP00PHjUjNK@<00?v>20Rq,0*4C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aI9j8P00PHitrNKG:h0?v@2H4w,0*50\r\n!AIVDM,1,1,,A,13bjGP30020Hq4@NKv2WbPb@00SK,0*59\r\n!AIVDM,1,1,,B,33aI9LhP00PHJRPNGcJP0?vB2BPk,0*10\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13bs66?000PHph:NKrIkAFFD261t,0*12\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8FNL1ItCgvF0D1>,0*35\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aEONHP00PHj7:NKC<`dOvF286E,0*1E\r\n!AIVDM,1,1,,B,13aGs90P00PHj;:NK8sKT?vH286V,0*62\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGjA2NMNUTCOvH2<1u,0*5A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13`ww<0P000HhnvNKDR`H?vF261t,0*66\r\n!AIVDM,1,1,,A,13aGE00P010HipTNKI5CagvH286v,0*6B\r\n!AIVDM,1,1,,A,13aGFROP000HnprNKkO=L?vH0H70,0*33\r\n!AIVDM,1,1,,B,13`j7c00@0PHiS0NKHK6f1nJ0L1;,0*2E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOvHR<0P,0*52\r\n!AIVDM,2,1,2,B,53aEOTT000010?GK?R10EA86222222222222220t3072340Ht00000000000,0*54\r\n!AIVDM,2,2,2,B,00000000003,2*26\r\n!AIVDM,1,1,,A,13aI:?@P00PHq;jNL0A@0?vJ2bF9,0*0E\r\n!AIVDM,1,1,,A,13aFdiSP0GPHgGnNKDsFM?vLRH7i,0*54\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13`va@0P00PHpHFNKnVeW?vL261t,0*5E\r\n!AIVDM,1,1,,B,83aEOTPj2d<tM<<=dP000?`50000,0*2B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13brRt8P00PHj64NKD7@0?vL261t,0*4B\r\n!AIVDM,1,1,,B,13aI8h@P00PHhnjNKBR@0?vN2@8u,0*66\r\n!AIVDM,1,1,,B,13aGFRwP000HnlfNKlVlR?vP061t,0*75\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:TNKd>@0?vN20Rn,0*47\r\n!AIVDM,1,1,,B,33aGD7nP000Hm;2NK`g=ugvN2E;r,0*79\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0bNKB;h0?vP20Rj,0*43\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGTNKLk=TOvR20Rq,0*4C\r\n!AIVDM,1,1,,A,13aJHJpP00PHjUnNK@<P0?vR2<0N,0*16\r\n!AIVDM,1,1,,A,13`vB1`P00PHin0NKFsAJgvT28:<,0*2C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGjMBNMN@TBgvT28:J,0*35\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8JNL1IdCgvV08:q,0*02\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aI9j8P00PHittNKG9P0?vT261t,0*02\r\n!AIVDM,1,1,,B,13bjGP30020Hq4@NKv2Wb@bV0@;R,0*5D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,B3`ho>P0086<qt7VmfK<kwb5oP06,0*06\r\n!AIVDM,1,1,,A,13bs66?000PHphDNKrI3AFFb2H<:,0*2C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aGs90P00PHj;:NK8tKPwvb2@<>,0*1A\r\n!AIVDM,1,1,,B,13aEONHP00PHj6lNKC<HaOvb28<A,0*4D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aGE00P00PHip`NKI53Swvd261t,0*48\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOvbR8<s,0*50\r\n!AIVDM,1,1,,A,13`ww<0P000HhnrNKDSpHgvd2D0n,0*63\r\n!AIVDM,1,1,,A,13`j7c0wh1PHiS0NKHK;O1nf061t,0*7E\r\n!AIVDM,2,1,3,A,53`vB1T000010GW3CJ0uHE9LTppTpN222222220t2p02240Ht2R0DS2CQiC`,0*2A\r\n!AIVDM,2,2,3,A,88888888881,2*26\r\n!AIVDM,1,1,,B,13aGFROP000HnrnNKkf=G?vf0@=E,0*55\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,2,1,4,A,53aI9j4000010SSWS00<tpHT4p<D00000000001538132u:d00R1AC`1C`5i,0*1E\r\n!AIVDM,2,2,4,A,AD`88888801,2*74\r\n!AIVDM,1,1,,B,13aI:?@P00PHq;lNL0AF>Ovf2RF8,0*6E\r\n!AIVDM,1,1,,A,13brRt8P00PHj5rNKD8@0?vf2<1B,0*14\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGjWRNMMw4B?vh2D1u,0*44\r\n!AIVDM,1,1,,B,13`va@0P00PHpHHNKn`=Qwvh261t,0*57\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,83`vB1Pj2P00000000LpI@O53800,0*54\r\n!AIVDM,1,1,,B,13aFdiSP0GPHgHjNKD`VPOvjR0RL,0*2C\r\n!AIVDM,1,1,,B,D02E34iFTg6D000000000000003,2*7E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0NNKB;@0?vj2L1P,0*5B\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:HNKd?P0?vj28>q,0*16\r\n!AIVDM,1,1,,A,83aI9j0j2d<dd=LuehP8JhO53LP0,0*40\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aJHJpP00PHjUnNK@<P0?vl20Ss,0*79\r\n!AIVDM,1,1,,A,13aI8h@P00PHhnhNKBT00?vl261t,0*4D\r\n!AIVDM,1,1,,A,13aGFRwP000Hnl>NKlgQVgvn0<1P,0*6E\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGTNKLkeSgvn20Ro,0*1A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aI9j8P00PHiu<NKG;h0?vp261t,0*56\r\n!AIVDM,1,1,,B,13`vB1`P00PHimtNKFriI?vr20Rw,0*17\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13bjGP30020Hq4@NKv2WaPbp08A5,0*0E\r\n!AIVDM,1,1,,B,13bs66?000PHph@NKrHkAFFt261t,0*59\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8FNL1IuO?vt0D1>,0*52\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aEONHP00PHj6BNKC:pa?vv20S@,0*5C\r\n!AIVDM,1,1,,B,33aIj:mP00PHjGlNK?f:ugvv2Dor,0*26\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13`ww<0P000Hho@NKDRpAOvt28B?,0*3C\r\n!AIVDM,1,1,,A,13aGE00P01PHipDNKI6CAww0261t,0*5A\r\n!AIVDM,1,1,,A,13aGFROP010HnsRNKkkeCgw00HBg,0*61\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13`j7c0wh1PHiS0NKHK8NQo20D1:,0*76\r\n!AIVDM,1,1,,B,13aGs90P00PHj:vNK8tsOOw228C7,0*14\r\n!AIVDM,1,1,,A,13`va@0P00PHpHJNKn`MMgw220S1,0*50\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOw0R0Rq,0*64\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,33aI:?@P00PHq;hNL0@P0?w229;S,0*2A\r\n!AIVDM,1,1,,B,33aEOSUP000Hj<<NKLSbV?w42DT:,0*40\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:DNKd?00?w428D3,0*1E\r\n!AIVDM,1,1,,A,13aFdiSP0FPHgIPNKDIVOOw6RHDA,0*1D\r\n!AIVDM,1,1,,B,33c::t?001PGs<TNQtA=oWa00000,0*4E\r\n!AIVDM,1,1,,B,13brRt8P00PHj5dNKD98LOw4261t,0*1B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0FNKB<GuOw62@Dq,0*60\r\n!AIVDM,1,1,,B,13aGFRwP000HnkfNKlR2Wgw8061t,0*1C\r\n!AIVDM,1,1,,B,13aI8h@P02PHhnfNKBUVn?w62Swo,0*18\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGk2@NMMB4@ww82D1t,0*1D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGRNKLkMQgw<2<1@,0*26\r\n!AIVDM,1,1,,A,13aJHJpP00PHjUpNK@<h0?w:2<0N,0*59\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aI9j8P00PHiu<NKG=@0?w<28Ff,0*5D\r\n!AIVDM,1,1,,A,13`vB1`P00PHimpNKFpiCww>28Fi,0*1F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8HNL1JMLOw@0<1=,0*59\r\n!AIVDM,1,1,,B,13aGF=8P00PGCIvNOi000?w@261t,0*68\r\n!AIVDM,1,1,,A,13bs66?000PHphBNKrHCAFG@2<3A,0*78\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13bjGP30010Hq4@NKv2WcPc@0@Gn,0*18\r\n!AIVDM,1,1,,B,13c::t?001PGs<TNQtA0I7a<061t,0*48\r\n!AIVDM,1,1,,A,13`ww<0P000HhobNKDP`6OwB20SO,0*26\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aGs90P00PHj:nNK8tcKgwD2HHE,0*4C\r\n!AIVDM,1,1,,B,13aGE00P00PHiotNKI7k<OwD28HK,0*27\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGk>`NMLvl>wwD20S5,0*0A\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOwBR@He,0*6B\r\n!AIVDM,1,1,,B,13aEONHP00PHj64NKC98e?wF261t,0*07\r\n!AIVDM,1,1,,B,13aGFROP000HnsnNKkp=AOwF0HHh,0*45\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13aFdiSP0HPHgJ2NKD=6MwwFR0T7,0*31\r\n!AIVDM,1,1,,B,13aI:?@P00PHq;hNL0@6A?wD2JF7,0*20\r\n!AIVDM,1,1,,A,13`j7c0wh2PHiS0NKHK1@1oF061t,0*59\r\n!AIVDM,1,1,,B,13`va@0P00PHpHFNKna=HOwF20SL,0*0A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,33aGDr5P00PHi3BNK@A15OwF2E3:,0*53\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0FNKB<P0?wH28J6,0*0E\r\n!AIVDM,1,1,,A,13brRt8P00PHj5PNKD:00?wH2@J>,0*10\r\n!AIVDM,1,1,,A,13aGFRwP000HnkfNKlOD6gwJ061t,0*67\r\n!AIVDM,1,1,,A,33`mGP50000HoBtNKnnA8VSkP000,0*6A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,33`pfF500DPHC7VNL9cUQTaJ0000,0*7E\r\n!AIVDM,1,1,,A,33aTCJ5000PHnE@NKmkA18qF0000,0*10\r\n!AIVDM,1,1,,B,13aJHJpP00PHjUrNK@=00?wL20Se,0*33\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aKUopP000Hf5PNFi7mOgwN00S6,0*20\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGVNKLjuROwP2D1@,0*27\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGkK:NMLdD<gwP2HKo,0*20\r\n!AIVDM,1,1,,B,13bv`b8P000I@GnNOToAlwwN0<0c,0*4F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,13`vB1`P00PHimlNKFoA@gwR20RD,0*79\r\n!AIVDM,1,1,,B,13aDrj@P?w<tSF0l4Q@>4?wvPl14,0*6B\r\n!AIVDM,1,1,,A,13aI9j8P00PHiu6NKG>@0?wP2@Le,0*4A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8HNL1JLWwwT08M:,0*13\r\n!AIVDM,1,1,,B,13bs66?000PHphHNKrGCAFGT261t,0*57\r\n!AIVDM,1,1,,A,13bjGP30000Hq4@NKv2Wq@cR0D1;,0*2D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,B,33bgoF50000Hkg>NKUr0bboR0000,0*69\r\n!AIVDM,1,1,,A,13aEONHP00PHj6<NKC8`agwV20S<,0*35\r\n!AIVDM,1,1,,B,13`ww<0P000HhoVNKDQH:gwV2L0o,0*37\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5kP06,0*5A\r\n!AIVDM,1,1,,A,13aGE00P00PHioRNKI9C;?w`261t,0*3F\r\n!AIVDM,1,1,,B,13aGs90P00PHj:jNK8t;HOw`2@NO,0*18\r\n!AIVDM,1,1,,B,13`j7c0001PHiS0NKHK0I1o`0HNQ,0*4C\r\n!AIVDM,1,1,,A,13aGFROP000HnsnNKkp=>wwb0<1b,0*22\r\n!AIVDM,1,1,,A,33aGD8FP030Hq36NKP404gwT2DNb,0*1E\r\n!AIVDM,1,1,,B,13aENmgP1BPH`dbNJ7h@Fwwb2<0o,0*74\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aI:?@P00PHq;dNL0?P0?w`28Np,0*5E\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOw`R0RW,0*12\r\n!AIVDM,1,1,,A,13aFdiSP0IPHgK8NKCtn<wwdR<2=,0*1D\r\n!AIVDM,1,1,,B,13brRt8P00PHj5fNKD900?wb20Sa,0*3A\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGkWVNMLJ4;Owd2@OG,0*32\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`va@0P00PHpH6NKnbeEgwd28O`,0*1D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:NNKd?P0?wd261t,0*18\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0NNKB<00?wd2<1P,0*50\r\n!AIVDM,2,1,5,B,53aJHJl000010C;3?<0EP<Di<Tu800000000001538032t0Ht25hA?wwh000,0*07\r\n!AIVDM,2,2,5,B,00000000002,2*20\r\n!AIVDM,1,1,,B,13aI8h@P00PHho4NKBVW9?wf2cwo,0*7C\r\n!AIVDM,2,1,6,A,53aGDjl000010KKWKH1`DDh4p@0000000000001?7H654vhm000PAiiDQC`1,0*0A\r\n!AIVDM,2,2,6,A,1C`3iEQDP03,2*59\r\n!AIVDM,1,1,,B,33`pfF5P@EPHC9LNL9P5TTUf0000,0*36\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,83aGDjhj2d<eL>=vLQA@ggfE0000,0*2E\r\n!AIVDM,1,1,,B,13aGFRwP000HnkbNKlMkL?wh0@Po,0*41\r\n!AIVDM,1,1,,B,83aJHJhj2d<t=L=NMPO@H@O5I000,0*00\r\n!AIVDM,1,1,,A,13aJHJpP00PHjUtNK@<@0?wh2HQ8,0*44\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGTNKLjMQwwj2<1@,0*67\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aDrj@P?w<tSF0l4Q@>4?wvPd14,0*60\r\n!AIVDM,1,1,,A,13`vB1`P00PHimnNKFniB?wl261t,0*60\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aI9j8P00PHiu@NKG?00?wn261t,0*6A\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGkibNML<4:?v02<1t,0*58\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8FNL1J<Cgv00@03,0*03\r\n!AIVDM,1,1,,A,13bs66?000PHph@NKrGSAFF22809,0*69\r\n!AIVDM,1,1,,B,33aEONHP00PHj66NKC8pRgv227LC,0*1F\r\n!AIVDM,1,1,,B,13bjGP30000Hq4@NKv2dJ@cn0<1;,0*62\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGs90P00PHj:lNK8tKLOv42<1b,0*12\r\n!AIVDM,1,1,,B,13aGE00P00PHioFNKI:3?gv42813,0*1B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`ww<0P000HhoBNKDS8=wv22D0o,0*28\r\n!AIVDM,1,1,,B,13`va@0P00PHpGrNKnc=COv62H1J,0*55\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n$AITXT,01,01,60,AIS: Internal GNSS not in use*28\r\n!AIVDM,1,1,,A,13`j7c0wh1PHiS0NKHK7U1n80620,0*71\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOv6R0RS,0*42\r\n!AIVDM,1,1,,A,13brRt8P00PHj66NKD800?v62@23,0*7D\r\n!AIVDM,1,1,,B,13aGFROP000HnsPNKkn==?v80620,0*4A\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aI:?@P00PHq;lNL0?Vegv62H2E,0*30\r\n!AIVDM,1,1,,B,13aFdiSP0KPHgLhNKCcV2wv8R82H,0*46\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:TNKd@h0?v82@2e,0*7F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGFRwP000HnkpNKlSStgv<0620,0*08\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGkv6NMKsD6?v<2838,0*62\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0`NKB;h0?v:2620,0*14\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,33aI8h@P00PHho6NKB`7owv<2Ajk,0*57\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aGrVHP00PHf3pNFsPP0?v<2<17,0*36\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGPNKLj=Uwv@2D1A,0*46\r\n!AIVDM,1,1,,B,13aJHJpP00PHjV0NK@;@0?v>2L0M,0*40\r\n!AIVDM,1,1,,B,13aDrj@P?w<tSF0l4Q@>4?wvPp4P,0*16\r\n!AIVDM,1,1,,B,13`vB1`P00PHimtNKFo1JOv@20Sp,0*15\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aI9j8P00PHiuJNKG>@0?v@2D0N,0*74\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aI9LhP00PHJRLNGcJ@0?vB285P,0*3A\r\n!AIVDM,1,1,,A,13bjGP30000Hq4@NKv2ev@b@0D1;,0*0B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13bs66?000PHph@NKrGSAFFD20S3,0*7D\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8HNL1IdCgvF0@63,0*25\r\n!AIVDM,1,1,,A,13aEONHP00PHj5nNKC88SgvF2620,0*74\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aGs90P00PHj:jNK8tcLwvH2620,0*20\r\n!AIVDM,1,1,,A,33b=DJ0P2GPGl<pNMKWT2wvH26B3,0*10\r\n!AIVDM,1,1,,B,13`ww<0P000HhnpNKDSWqgvF20S>,0*19\r\n!AIVDM,1,1,,A,13aGE00P00PHio@NKI;3@wvH2620,0*02\r\n!AIVDM,1,1,,A,13aGFROP000Hns2NKkkM9wvH0D1c,0*40\r\n!AIVDM,1,1,,B,13aetV7P00PH;<VNMOWm5wvH2<0P,0*4B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,34hCQV50000Hnh8NKjMh0EvF2P00,0*20\r\n!AIVDM,1,1,,B,13`j7c0wh0PHiS0NKHK:N1nJ0H7C,0*1F\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOvHR87N,0*4F\r\n!AIVDM,2,1,7,B,53aGCN4000010WSC;V0lE8=E8UE>22222222220t2h12356aN320DS2CQiC`,0*22\r\n!AIVDM,2,2,7,B,88888888883,2*23\r\n!AIVDM,1,1,,B,83aGCN0j2d<d<=tvN@LhI@O53h00,0*50\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aFdiSP0MPHgNDNKCKUwgvLRD2=,0*6E\r\n!AIVDM,1,1,,A,13aI:?@P00PHq;fNL0@P0?vJ2H7j,0*1B\r\n!AIVDM,1,1,,A,13`va@0P00PHpGhNKnbe<?vL20RM,0*7C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13brRt8P00PHj66NKD900?vL20R@,0*66\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:JNKd?h0?vN2@8r,0*76\r\n!AIVDM,1,1,,B,13aI8h@P00PHho@NKBT@0?vN2Kwq,0*0B\r\n!AIVDM,1,1,,B,13aGFRwP000Hnk`NKlRVrgvP00Sf,0*44\r\n!AIVDM,1,1,,A,33aGCN5P000Hj16NKCD90?vP2Dnb,0*15\r\n!AIVDM,1,1,,B,13aDBD0P00PHj12NKB:h0?vN2@9<,0*40\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGLNKLjMUwvR2L1A,0*33\r\n!AIVDM,1,1,,B,13aKUopP000Hf5NNFi9QhgvR0620,0*54\r\n!AIVDM,1,1,,A,13aJHJpP00PHjV6NK@:h0?vR28:5,0*06\r\n!AIVDM,1,1,,A,13bv`b8P000I@GjNOTpQlwvR0D0b,0*23\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`vB1`P00PHimrNKFoAI?vT2620,0*20\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGlINNMKIT0wvT2620,0*29\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8JNL1IdCgvV0620,0*45\r\n!AIVDM,1,1,,A,13aDrj@P?w<tSF0l4Q@>4?wvP`:s,0*28\r\n!AIVDM,1,1,,B,13aI9j8P00PHiuJNKG=P0?vT20Rt,0*5C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13bjGP30000Hq4@NKv2f2PbT0<1<,0*34\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13bs66?000PHph:NKrISAFFb2D3B,0*49\r\n!AIVDM,1,1,,A,13aGs90P00PHj:fNK8tcKwvb2<1b,0*59\r\n!AIVDM,1,1,,B,33aEONHP00PHj6@NKC7pSOvb24uA,0*27\r\n$AITXT,01,01,62,TX attempt failed (msg 18 no pos'n)*63\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aGE00P00PHio4NKI;C=Ovd20Rn,0*54\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOvbR620,0*13\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`ww<0P000HhnVNKDRp1?vd2@=8,0*38\r\n!AIVDM,1,1,,A,13`j7c0wP1PHiS0NKHK5I1nf00T1,0*68\r\n!AIVDM,1,1,,B,13aGFROP000HnpPNKkM=7gvf0<1c,0*3C\r\n$AITXT,01,01,62,Max number of CP exceeded (msg 18)*73\r\n!AIVDM,1,1,,B,13aI:?@P00PHq;TNL0@h0?vf2@=`,0*36\r\n!AIVDM,1,1,,A,13brRt8P00PHj62NKD9h0?vf28=a,0*55\r\n!AIVDM,1,1,,B,13aFdiSP0NPHgPHNKC8UnwvhR@=e,0*71\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,33b=DJ0P2FPGlT2NMK=kvgvh2551,0*6C\r\n!AIVDM,1,1,,B,13`va@0P00PHpGdNKncM:Ovh20RC,0*06\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aDBD0P00PHj1RNKB:8@wvj2H>l,0*30\r\n!AIVDM,2,1,8,A,53aDr:T000010S;3SP0hT400000000000000001?78:25ubo00lk5BDjjC80,0*78\r\n!AIVDM,2,2,8,A,00000000001,2*2D\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:TNKd?00?vj2620,0*29\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGRNKLiuUgvn2D1A,0*31\r\n!AIVDM,1,1,,A,13aI8h@P00PHho>NKBR`;Ovl20Rn,0*48\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGFRwP000HnjtNKlbIn?vn08?V,0*53\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aJHJpP00PHjV6NK@9P0?vn2D0O,0*0E\r\n!AIVDM,1,1,,A,83aDr:Pj2d<dd=L=uQChU?a@8`P0,0*20\r\n!AIVDM,1,1,,A,13aI9j8P00PHiuNNKG<00?vp20Se,0*0E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13`vB1`P00PHimpNKFp1Igvr2D0c,0*13\r\n!AIVDM,1,1,,B,13b=DJ0P2FPGlhdNMK1CtOvr20SJ,0*0B\r\n!AIVDM,1,1,,A,13bjGP30000Hq4@NKv2f2Pdp0620,0*10\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13bs66?000PHph2NKrKSAFFt20SH,0*48\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8JNL1I<Cgvt0@AL,0*45\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aEONHP00PHj6RNKC7`N?vv2D19,0*11\r\n!AIVDM,1,1,,B,13`ww<0P000HhnRNKDRGw?vt2620,0*2F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGE00P00PHinrNKI:C;Ow020Sc,0*4E\r\n!AIVDM,1,1,,A,13aGFROP000Hnr<NKkde7?w00D1c,0*57\r\n!AIVDM,1,1,,B,13`j7c0wh1PHiS0NKHK;LQo20@C0,0*0B\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOw0RD0O,0*4C\r\n!AIVDM,1,1,,B,13aGs90P00PHj:dNK8tcEOw22620,0*64\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`va@0P000HpI2NKnfe9Ow22<1H,0*2C\r\n!AIVDM,2,1,9,A,54hi<240?JU9`L<f220l4T@DhhF222222222220U5HD2:40Ht90000000000,0*60\r\n!AIVDM,2,2,9,A,00000000002,2*2F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:VNKd?h0?w42620,0*2F\r\n!AIVDM,1,1,,A,13aFdiSP0OPHgSFNKBlEV?w6RD2>,0*44\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13brRt8P00PHj5lNKD:HJgw420Rw,0*28\r\n!AIVDM,1,1,,B,13aDBD0P00PHj1BNKB:@0?w62<1P,0*79\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aGFRwP000HnjbNKlib`?w800S9,0*34\r\n!AIVDM,1,1,,B,13aI8h@P00PHho@NKBQGsOw62@E0,0*3B\r\n!AIVDM,2,1,0,A,53aI:?D000010S;7GD0`4=5DDhTpD0000000001S40661ta3000UCRiDQCP0,0*29\r\n!AIVDM,2,2,0,A,000000P0003,2*47\r\n!AIVDM,1,1,,A,13b=DJ0P2E0GlwPNMJkkqww82@E9,0*50\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aEOTgP00PHjG`NKLiMWww<28F1,0*02\r\n!AIVDM,1,1,,A,13aJHJpP00PHjV8NK@900?w:28F7,0*44\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,83aI:?@j2d<ddLdMdPh@ShUE00P0,0*72\r\n!AIVDM,1,1,,B,13aI9j8P00PHiufNKG900?w<2620,0*5F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`vB1`P00PHimjNKFpiPgw>2620,0*25\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,33aFgpgP000Hq8HNL1I<Cgw@07?C,0*75\r\n!AIVDM,1,1,,B,13aGF=8P00PGCIrNOi2P0?w@20Rn,0*71\r\n!AIVDM,1,1,,A,13bs66?000PHpgtNKrMCAFG@28GS,0*26\r\n!AIVDM,1,1,,B,13bjGP30000Hq4@NKv2Pbhc>0<1<,0*01\r\n!AIVDM,1,1,,B,13c::t?000PGs=lNQtA2<7a@00SB,0*29\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGs90P00PHj:dNK8tcAOwD2D1c,0*37\r\n!AIVDM,1,1,,B,13aGE00P00PHintNKI<39?wD2620,0*0F\r\n!AIVDM,1,1,,B,13b=DJ0P2FPGm<LNMJaSp?wD2@HN,0*1B\r\n!AIVDM,1,1,,A,13`ww<0P000Hho4NKDTWk?wB2<0q,0*3F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOwBR<0O,0*45\r\n!AIVDM,1,1,,B,13aEONHP000Hj60NKC8`KgwF20R0,0*6D\r\n!AIVDM,1,1,,B,13aGFROP000HnrhNKkj<wgwF0D1c,0*39\r\n!AIVDM,1,1,,A,33bl8j5P000HjEfNK8r=@wwFR000,0*38\r\n!AIVDM,1,1,,A,33`j7c0wP0PHiS0NKHK5AQoF07Pk,0*7B\r\n!AIVDM,1,1,,B,13aI:?@P00PHq;NNL0?P0?wD28I7,0*13\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,33`va@0P000HpKpNKnnM8wwH24GC,0*7B\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aFdiSP0SPHgV8NKBU5=wwJRD2>,0*36\r\n!AIVDM,1,1,,A,13aDBD0P00PHj12NKB:VTgwH2620,0*37\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:LNKdA@0?wH2<11,0*14\r\n!AIVDM,1,1,,A,13brRt8P00PHj5vNKD:h0?wH2<1C,0*14\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGFRwP000HnjlNKlm6LgwJ00Su,0*23\r\n!AIVDM,1,1,,A,13aI8h@P00PHho8NKBRGewwJ2620,0*10\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aKUopP000Hf5HNFi=7tOwN0<3O,0*6E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aEOTgP00PHjG`NKLiuUgwP2@Kd,0*67\r\n!AIVDM,1,1,,B,13aJHJpP00PHjV6NK@8AqwwN2L0O,0*3E\r\n!AIVDM,1,1,,B,13`vB1`P00PHim`NKFqiOOwP2L0c,0*5F\r\n!AIVDM,1,1,,A,13b=DJ0P2FPGmIDNMJOCoOwP2D1s,0*60\r\n!AIVDM,1,1,,B,13bv`b8P000I@GbNOTq1lwwN08Kp,0*41\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aDrj@P?w<tSF0l4Q@>4?wvPhLa,0*47\r\n!AIVDM,1,1,,A,13aI9j8P00PHiv0NKG:@0?wP2<0N,0*60\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8FNL1ItCgwT0620,0*59\r\n!AIVDM,1,1,,B,13bs66?000PHpgrNKrNCAFGT20Rv,0*0C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13bjGP30000Hq4@NKv2Q5PcR0@MM,0*71\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aEONHP000Hj62NKC;HKwwV20S?,0*49\r\n!AIVDM,2,1,1,B,53aEOND000010W?7S20`E10F1H4r1<<PTE:222153871540Ht00000000000,0*6E\r\n!AIVDM,2,2,1,B,00000000002,2*24\r\n!AIVDM,1,1,,B,13`ww<0P000Hhn`NKDV7uOwV2HN6,0*3C\r\n$AITXT,01,01,62,TX attempt failed (msg 18 no pos'n)*63\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOwVRHNF,0*51\r\n!AIVDM,1,1,,A,13aGE00P00PHio6NKI=k;Ow`20RR,0*44\r\n!AIVDM,1,1,,B,33aGs90P00PHj:dNK8ts?Ow`24qC,0*6C\r\n!AIVDM,1,1,,B,13`j7c0wh1PHiS0NKHK8jQo`0D1;,0*01\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGFROP010Hnr<NKkdddgwb08Nc,0*0D\r\n!AIVDM,1,1,,B,13aENmgP1CPH`qfNJ=00Mwwb28Nj,0*32\r\n!AIVDM,1,1,,A,13aI:?@P00PHq;NNL0>h0?w`2620,0*7F\r\n$AITXT,01,01,62,Max number of CP exceeded (msg 18)*73\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aFdiSP0`PHga`NKBD5:?wdR8O>,0*18\r\n!AIVDM,1,1,,B,13b=DJ0P2EPGmV>NMJESn?wd2<1s,0*22\r\n!AIVDM,1,1,,A,13`va@0P000HpL`NKnq=5wwd2620,0*27\r\n!AIVDM,1,1,,B,13brRt8P00PHj5`NKD:@0?wd2@Oi,0*2D\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,2,1,2,A,53b=DJ4000010COG3F0I8TE<h4pB22222222220t10u<440Ht6m1DThj1C32,0*42\r\n!AIVDM,2,2,2,A,CQp88888883,2*7F\r\n!AIVDM,1,1,,A,13aDr:PP00PHn:LNKd@P0?wd20Sr,0*07\r\n!AIVDM,1,1,,B,83aEON@j2d<d<Ld<v@000?`50000,0*6B\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0bNKB;Eugwd28P8,0*1E\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aI8h@P00PHhnrNKBRGvOwf2HPL,0*3F\r\n!AIVDM,1,1,,B,13aGu1gP00PIGlTNKcQh0?wf2<0U,0*3E\r\n!AIVDM,1,1,,B,13aGFRwP000HnjPNKloDM?wh0<1P,0*5C\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aJHJpP00PHjV6NK@7h0?wh2D0O,0*3C\r\n!AIVDM,1,1,,A,13aEOTgP00PHjGTNKLkM`?wj28Q9,0*02\r\n!AIVDM,1,1,,B,34hi<25000OrTil6IWAc3PIj0DwJ,0*47\r\n!AIVDM,1,1,,A,13aDrj@P?w<tSF0l4Q@>4?wvP`QT,0*64\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13`vB1`P00PHimTNKFpiQwwl20S2,0*3D\r\n!AIVDM,1,1,,A,83b=DJ0j2d<etMuu<QFAC@O58L00,0*77\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aI9j8P00PHiupNKG9h0?wn20S<,0*28\r\n!AIVDM,1,1,,A,13b=DJ0P2FPGmi4NMJ>3mgv028Re,0*73\r\n!AIVDM,1,1,,B,83aENmPj2d<d<<Mtv@000?`50000,0*48\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aFgpgP000Hq8FNL1IdCgv00<1=,0*2B\r\n!AIVDM,1,1,,A,13bs66?000PHph0NKrNCAFF22624,0*01\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,B,13aEONHP00PHj6NNKC;8Owv2280@,0*53\r\n!AIVDM,1,1,,B,13bjGP30000Hq4@NKv2QA@b0080B,0*7F\r\n!AIVDO,1,1,,,B3`hBQh3wk?8mP=18D3Q3wv5sP06,0*42\r\n!AIVDM,1,1,,A,13aGs90P00PHj:tNK8t;>Ov42812,0*5C\r\n!AIVDM,1,1,,B,13aGE00P00PHio8NKI>C>?v42624,0*42\r\n!AIVDM,1,1,,A,13`ww<0P000HhoNNKDS7iwv22@16,0*23\r\n$AITXT,01,01,25,AIS: Internal GNSS in use*7C\r\n!AIVDM,1,1,,A,13aGra0P00PHid>NK9<2FOv4RD0O,0*4A\r\n!AIVDM,1,1,,B,33`va@0P000HpLTNKnre3?v621nQ,0*6E\r\n!AIVDO,1,1,,,B3`hBQh3wh6=UW7VpB;Q3wP5sP06,0*7F\r\n$GPGBS,163317.00,7.3,5.2,11.7,,,,*74\r\n$GPRMC,163318.00,A,5310.81307,N,00525.70385,E,0.198,286.50,180612,,,A*64\r\n$AITXT,01,01,28,AIS: Internal SOG/COG in use*47\r\n!AIVDM,1,1,,A,33`j7c0wP2PHiS0NKHK;p1n804v1,0*26\r\n!AIVDO,1,1,,,B3`hBQh00@6=UW7VpB:k7wP5sP06,0*2C\r\n!AIVDM,1,1,,A,13brRt8P00PHj5bNKD88L?v62<1C,0*51\r\n!AIVDM,1,1,,B,13aGFROP000HnqfNKkW<HOv800RO,0*5A\r\n$GPGBS,163318.00,7.3,5.2,11.9,,,,*75\r\n!AIVDM,1,1,,B,13aFdiSP0QPHgfBNKB54Twv8R624,0*7D\r\n$GPRMC,163319.00,A,5310.81306,N,00525.70380,E,0.227,283.45,180612,,,A*67\r\n!AIVDO,1,1,,,B3`hBQh00P6=UW7VpB:i;wP5sP06,0*32\r\n$GPGBS,163319.00,7.4,5.3,12.0,,,,*78\r\n!AIVDM,1,1,,B,13aDr:PP00PHn:`NKd@@0?v82<11,0*48\r\n$GPRMC,163320.00,A,5310.81304,N,00525.70383,E,0.227,280.39,180612,,,A*64\r\n!AIVDM,1,1,,A,13aGFRwP000HnjhNKlol1gv<00T6,0*31\r\n!AIVDM,1,1,,B,13b=DJ0P2GPGmutNMJ5Cm?v<2624,0*3D\r\n!AIVDO,1,1,,,B3`hBQh00P6=UW7VpB:g?wP5sP06,0*38\r\n$GPGBS,163320.00,7.4,5.3,12.1,,,,*73\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0LNKB;00?v:20S1,0*06\r\n!AIVDM,1,1,,A,13aI8h@P00PHhnJNKBU@0?v<283R,0*64\r\n$GPRMC,163321.00,A,5310.81300,N,00525.70392,E,0.222,277.26,180612,,,A*62\r\n!AIVDO,1,1,,,B3`hBQh00P6=UWWVpB:eCwP5sP06,0*26\r\n$GPGBS,163321.00,7.5,5.4,12.2,,,,*77\r\n$GPRMC,163322.00,A,5310.81308,N,00525.70401,E,0.145,275.94,180612,,,A*6D\r\n!AIVDM,1,1,,B,13aEOTgP00PHjGRNKLlebwv@2@4C,0*2E\r\n!AIVDM,1,1,,B,13aJHJpP00PHjV:NK@7h0?v>2H4J,0*69\r\n!AIVDO,1,1,,,B3`hBQh00@6=U`7VpB:dOwP5sP06,0*6C\r\n$GPGBS,163322.00,7.5,5.4,12.2,,,,*74\r\n!AIVDM,1,1,,B,13aDrj@P?w<tSF0l4Q@>4?wvPl10,0*6F\r\n$GPRMC,163323.00,A,5310.81323,N,00525.70414,E,0.094,274.79,180612,,,A*6E\r\n!AIVDM,1,1,,A,13aI9j8P00PHiuhNKG9P0?v@2@4w,0*78\r\n$GPGBS,163323.00,7.5,5.4,12.2,,,,*75\r\n!AIVDO,1,1,,,B3`hBQh0006=U`WVpBBcgwP5sP06,0*2B\r\n!AIVDM,1,1,,B,13`vB1`P00PHimFNKFpiLwvB2H5C,0*71\r\n$GPRMC,163324.00,A,5310.81335,N,00525.70426,E,0.061,273.61,180612,,,A*6B\r\n!AIVDM,1,1,,B,13aI9LhP00PHJRTNGcIh0?vB2624,0*64\r\n!AIVDM,1,1,,A,13bjGP30000Hq4@NKv2QE@bB0@5U,0*60\r\n$GPGBS,163324.00,7.6,5.4,12.3,,,,*70\r\n!AIVDO,1,1,,,B3`hBQh0006=Ua7VpBFc3wP5sP06,0*1A\r\n!AIVDM,1,1,,A,33aGDjiP000HnHBNKe30Agv@RDmr,0*71\r\n!AIVDM,1,1,,B,13bs66?000PHph2NKrMSAFFD2<3A,0*1B\r\n$GPRMC,163325.00,A,5310.81348,N,00525.70433,E,0.063,272.93,180612,,,A*6A\r\n!AIVDM,1,1,,A,13aFgpgP000Hq8FNL1IdCgvF0<1>,0*5D\r\n$GPGBS,163325.00,7.6,5.5,12.4,,,,*77\r\n!AIVDO,1,1,,,B3`hBQh0006=UaWVpBJbWwP5sP06,0*13\r\n!AIVDM,1,1,,B,33bbCp50000Ho9nNKni=O@vF0EA:,0*5D\r\n$GPRMC,163326.00,A,5310.81353,N,00525.70431,E,0.115,272.16,180612,,,A*6C\r\n!AIVDM,1,1,,B,33aGs90P00PHj;@NK8t;?gvH22WA,0*22\r\n!AIVDM,1,1,,A,13b=DJ0P2GPGn<pNMItClgvH2624,0*1F\r\n$GPGBS,163326.00,7.6,5.5,12.4,,,,*74\r\n!AIVDO,1,1,,,B3`hBQh00@6=UaWVpBNb7wP5sP06,0*07\r\n!AIVDM,1,1,,B,13`ww<0P000HhoJNKDQoc?vF2L0r,0*01\r\n!AIVDM,1,1,,A,13aGE00P000HinjNKI9CA?vH20RV,0*72\r\n!AIVDM,1,1,,A,13aGFROP000HnrJNKkddCgvH0@70,0*24\r\n!AIVDM,1,1,,B,13aetV7P00PH;<lNMOWD6?vH2875,0*75\r\n$GPRMC,163327.00,A,5310.81350,N,00525.70422,E,0.156,271.20,180612,,,A*6D\r\n!AIVDM,1,1,,B,13`j7c0wP1PHiS0NKHK721nJ0D1;,0*25\r\n!AIVDM,1,1,,A,13`va@0P000HpLLNKnrtt?vJ2H7D,0*68\r\n$GPGBS,163327.00,7.7,5.5,12.5,,,,*75\r\n!AIVDO,1,1,,,B3`hBQh00@6=Ua7VpBNaSwP5sP06,0*00\r\n!AIVDM,1,1,,B,13aGra0P00PHid>NK9<2FOvHR624,0*3E\r\n"
  },
  {
    "path": "samples/nais400-merrimac.log",
    "content": "!AIVDM,1,1,,B,13aGua?P00PHfERNFruh0?vN289E,0*35\r\n!AIVDM,1,1,,A,13aJG1wP?w<tSF0l4Q@>4?wv0`9F,0*29\r\n!AIVDM,1,1,,A,13`rcF?P000HRkVN@b1@0?vL0<19,0*47\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,H39k:bQ0thE0thD000000000000,2*06\r\n!AIVDM,1,1,,A,13aDr68P00PHj3NNKAJh0?vP289N,0*10\r\n!AIVDM,1,1,,A,13aetV7P0LPHI<pNL3Vl6wvP26P8,0*04\r\n!AIVDM,1,1,,A,13aIkM@P00PJ@nfNL=c@0?vP2H9W,0*49\r\n!AIVDM,1,1,,A,13aL?0W00OPJMwvNaNTAf0vP089`,0*1D\r\n!AIVDM,2,1,2,A,53aGE04000010C;7CV0dtDLDiLTD<f222222220`0hN4540Ht3U1DThj1C2C,0*17\r\n!AIVDM,2,2,2,A,Qp888888880,2*07\r\n!AIVDM,1,1,,A,13a5jB0P000GoWpNQuqh0?vH00SV,0*40\r\n!AIVDM,1,1,,A,13aGtCgP00PHi14NK@e00?vP2H9h,0*64\r\n!AIVDM,1,1,,A,13aL>Dg000PGa@TNKgbF2lVP06P8,0*36\r\n!AIVDM,1,1,,A,13`fJDh0000Epj0NE2T3L:0L0@9n,0*58\r\n!AIVDM,1,1,,B,15C78000000GogBNQupa6U@R0<2o,0*3B\r\n!AIVDM,1,1,,B,13a6ld00000Hpm@NL1`P09fR0<2M,0*10\r\n!AIVDM,1,1,,A,33`qM>8P@TPGD4bNSOm3EBHR01nP,0*13\r\n!AIVDM,1,1,,A,13aGuEPP00PJL1PNTkWIJ?vR2D4l,0*15\r\n!AIVDM,1,1,,B,83aGtCPj2d<d<Lt=v@gPQ@O55000,0*5D\r\n!AIVDM,1,1,,A,33brfb5P000HiS0NK<D=`gvRP000,0*26\r\n!AIVDM,1,1,,B,13P;h8hvjfPGN9<Nbq7asWtL00Sg,0*71\r\n!AIVDM,1,1,,B,13a?OH?00QPH@;PNLs6U7D4T00Rq,0*01\r\n!AIVDM,1,1,,B,13aI;8wP00PHJBJNGgHh0?vR2<1`,0*4B\r\n!AIVDM,2,1,3,A,53aJJND000010CSW3<1`DDPtpB2222200000001510I44ujC008000000000,0*6F\r\n!AIVDM,2,2,3,A,00000000008,2*2F\r\n!AIVDM,1,1,,A,13b<2H7000PHkGlNKT7WM0bR0<2i,0*74\r\n!AIVDM,1,1,,A,33:krn000a0HKw0NGtl8GFnP00sh,0*43\r\n!AIVDM,1,1,,B,16LWib003BPF4VpNT:R2P22R00SB,0*14\r\n!AIVDM,1,1,,B,13aDBd8P00PHiwJNKC000?vR26P8,0*01\r\n!AIVDM,1,1,,A,13u7M`002E0F2KfNc<aPOh@R0d2l,0*4A\r\n!AIVDM,1,1,,A,33aDrkOP00PHi>tNKB0EpgvR2031,0*3F\r\n!AIVDM,1,1,,A,33aMB<?01?PGen:NK;6cwaRN00s@,0*01\r\n!AIVDM,1,1,,A,D02E351rHg6D000000000000000,2*0F\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,13aFh>?0010IvnhNSnoVR9JT0<2g,0*37\r\n!AIVDM,1,1,,A,83aDrk@j2d<dd<d<uh00I@O03h00,0*05\r\n!AIVDM,1,1,,B,13aJJNOP000JKIVNTj;h0?vT00Si,0*0D\r\n!AIVDM,1,1,,A,13aEOEPP00PHm?fNK`gsB?wb26P8,0*53\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,B,13cDbl00210J7tfNf8DamWq20@CA,0*6C\r\n!AIVDM,2,1,4,A,53aFgpl000010KWWOV1`4p@EQ18E>3F22222220Q9h83640Ht00000000000,0*69\r\n!AIVDM,2,2,4,A,00000000000,2*20\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,A,83aGE00j2P00000000e0e@O=4H00,0*38\r\n!AIVDM,1,1,,A,83aFgphj2d<dd=MN>@000@QU0000,0*41\r\n!AIVDM,1,1,,B,33`qM>8P@SPGD5bNSOmS@2HV011h,0*60\r\n!AIVDM,1,1,,A,13bjvT?0000H56DNQgiAGb2V00SE,0*39\r\n!AIVDM,1,1,,A,13aFfRPP00PIu@tNF3cP0?vV28;:,0*43\r\n!AIVDM,1,1,,B,13`gh8700JPIoAJNWmDs1`hV08;;,0*54\r\n!AIVDM,2,1,5,A,56LWib02@5TGL`A22204A8T5@T>0PTLQL5V222162Rk8H58c0CA1ACAH8888,0*20\r\n!AIVDM,2,2,5,A,88888888880,2*21\r\n!AIVDM,1,1,,B,19NS5;?P010F7P:NPwBqNOvV20SJ,0*1B\r\n!AIVDM,1,1,,A,102EFW3P000Hk`nNK`OaVOv`20Rf,0*4D\r\n!AIVDM,2,1,6,B,53aN1ET000010S?7?N0DSCB0DhU<48E@R04h8E8N28314t0Ht3h000000000,0*72\r\n!AIVDM,2,2,6,B,00000000000,2*21\r\n!AIVDM,1,1,,A,13aGFvwP00PHi3fNKCKP0?vV2<1H,0*34\r\n!AIVDM,1,1,,A,13aIi0gP00PHkHpNKQM8ewv`2H;R,0*1F\r\n!AIVDM,2,1,7,B,53a1lH00000108`R22123CR2222222222222221J20:32400000000000000,0*3D\r\n!AIVDM,2,2,7,B,00000000000,2*20\r\n!AIVDM,1,1,,B,33bh6v70000HjCpNKOD9iDp`06u3,0*03\r\n!AIVDM,1,1,,B,13aGD7pP0@0HoAhNKnB24gvN2D1B,0*69\r\n!AIVDM,1,1,,B,33:krn000a0HKvHNGtg8GVlT0151,0*3A\r\n!AIVDM,1,1,,B,33aI8e?P00PGpUDNR6tP0?vV2BAS,0*0A\r\n!AIVDM,1,1,,B,14h?6j003E0GH3nNW?mBiB@`08;g,0*69\r\n!AIVDM,2,1,8,B,53aGFbl000010KSKGD18TE0Dj0m1<000000000150hF41t@PJ00000000000,0*40\r\n!AIVDM,2,2,8,B,00000000000,2*2F\r\n!AIVDM,1,1,,B,13bb0F?00D0Gh>PNTGSbbpTb00SG,0*07\r\n!AIVDM,1,1,,B,33aMB<?01@PGekJNK;@;u9RT018A,0*2D\r\n!AIVDM,1,1,,B,83aGFbhj2d<dd<<<dPS0I@OU0000,0*3C\r\n!AIVDM,1,1,,A,13`uO2700KPHL`DNL1rD1S<b08<0,0*7D\r\n!AIVDM,1,1,,B,13aL?>HP00PHj5dNKAKP0?v`2D0j,0*5A\r\n!AIVDM,1,1,,A,402E34iuq8D2DPGoPJNQwwG00D22,0*4B\r\n!AIVDM,1,1,,A,13`va@0P000HpKfNKngpPOvb26P8,0*4D\r\n!AIVDM,1,1,,A,402E34Quq8D2DPL;CNNVEEG008<7,0*4B\r\n!AIVDM,1,1,,A,13aGuu@P00PHpwpNKuth0?v`26P8,0*64\r\n!AIVDM,1,1,,A,13bQtf?P000HevLNFs;If?vb2<1;,0*0D\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,1,1,,A,13aKVPHP00PHj5TNK8H00?vb26P8,0*31\r\n!AIVDM,1,1,,A,33aGDjCP00PHiQjNK9WsCgvVR3BQ,0*19\r\n!AIVDM,1,1,,A,402E3:0000HttPGEahN7pi701T00,0*4D\r\n!AIVDM,2,1,9,A,53P<QQ@2B6P78DiG<01LTp@<5B3734000000000`28;554d>053@BjmC@000,0*17\r\n!AIVDM,2,2,9,A,00000000000,2*2D\r\n!AIVDM,1,1,,B,13aKWv?P00PHjTHNK?w:fgvd2@<b,0*65\r\n!AIVDM,1,1,,B,13c0aT00000HJJPNGeLaLJjd08<d,0*70\r\n!AIVDM,1,1,,B,B3`fKe00006<Rw7Vl<403wbUkP06,0*28\r\n!AIVDM,1,1,,B,33MhDV0PAc0EU9rNSK0P?;8f2000,0*55\r\n!AIVDM,1,1,,A,15Q:RP002i0FHd<N`aGafWlb0<<N,0*5E\r\n!AIVDM,1,1,,B,13aDo:@P00PJ2h8NEeHo=wvbR6P8,0*24\r\n!AIVDM,1,1,,B,13aGFRwP000HnjDNKla2v?vd0<1g,0*31\r\n!AIVDM,1,1,,B,13aDGp00000Gpq>NR;>na8Hd08<n,0*25\r\n!AIVDM,1,1,,B,13brCD00000HtL6NKFbk@SHd2H<o,0*1A\r\n!AIVDM,2,1,0,B,53aDBD4000010SSS;L0dtR0V0ptu:2200000001500000vMd00j0DS2CQiCP,0*01\r\n!AIVDM,2,2,0,B,00000000000,2*27\r\n!AIVDM,1,1,,A,?0000M0rEa80D00,2*7C\r\n!AIVDM,1,1,,B,33aGFROP000Ho;bNKmb`jgvd05dS,0*01\r\n!AIVDM,1,1,,B,13aKV4OP00PJb?pNHTEh0?vd2L0s,0*18\r\n!AIVDM,1,1,,B,13aBMu@P00PJK4TNEh4P0?vd2<1K,0*73\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,B,13btD>00000GqJ0NR>BL7Vdb0L0F,0*76\r\n!AIVDM,1,1,,A,13aDA0PP00PHn40NKRH00?vd2@=9,0*46\r\n!AIVDM,1,1,,A,13`e=?HP00PHmH0NKBaP0?vd28==,0*57\r\n!AIVDM,1,1,,A,13aFgphP1EPHE=vNBb4G:?vf26P8,0*2A\r\n!AIVDM,1,1,,B,13IOOb002;0HBg8NcJ=9n7p`0L3W,0*52\r\n!AIVDM,1,1,,A,13aEQuOP00PHivhNKCRh0?vd26P8,0*59\r\n!AIVDM,1,1,,B,13aGCN8P00PHj7fNKB>LaOvf2D1R,0*59\r\n!AIVDM,1,1,,A,13aR>V0001PHifdNK;@rn::f20St,0*2C\r\n!AIVDM,1,1,,A,13aBJp700Q0GbB@NSiU3=BVf08=O,0*6B\r\n!AIVDM,1,1,,A,16LWib003BPF4l`NT;2RP22d06P8,0*75\r\n!AIVDM,1,1,,A,13P;h8hvjfPGMrPNbpkasGt`0<49,0*02\r\n!AIVDM,1,1,,A,13aFgJ?P00PHf8RNFsdP0?vf2@=W,0*1D\r\n!AIVDM,1,1,,B,13b8s:001BPKWtfNdeU:vp`d0@=W,0*21\r\n!AIVDM,1,1,,A,33aGtI5P00PHi?PNKB@@0?vf2DLJ,0*6E\r\n!AIVDM,1,1,,A,13aL>vwP00PIMtHNKaHP0?vf2@=a,0*43\r\n!AIVDM,1,1,,B,13bt8P0P000HfWNNBq78mgvf20Sp,0*77\r\n!AIVDM,1,1,,A,15E<fj002VPIWfnNbimRi2:h00SG,0*12\r\n!AIVDM,1,1,,A,13b=DJ0P000Gp@DNQv2Ihwvh2D2`,0*21\r\n!AIVDM,1,1,,A,13P<QQ@0000HdfNNFpWPp:Rf06P8,0*63\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0NNKB4h0?vf2@=i,0*49\r\n!AIVDM,1,1,,A,15C3:600000GokHNQuG9@lBh0@=l,0*56\r\n!AIVDM,1,1,,A,13aBLqgP00PHpRtNKQQ00?vf2<3f,0*32\r\n!AIVDM,1,1,,A,13aGuE@P00PJKh>NTiic;Ovh2D4w,0*03\r\n!AIVDM,1,1,,B,13aIi<0P00PJKP<NTjb@0?vf28=u,0*08\r\n!AIVDM,2,1,1,B,502EFW4000010SS;C21JpBr0M844J1=:2222220Q1A;4540Ht04Sm51DQ0CH,0*0A\r\n!AIVDM,2,2,1,B,88888888880,2*26\r\n!AIVDM,1,1,,B,?0000M0r`P:0D00,2*69\r\n!AIVDM,1,1,,A,33:krn000a0HKtlNGtU8HVld0000,0*17\r\n!AIVDM,1,1,,B,13aI9j8P00PHisJNKG6h0?vf28>3,0*78\r\n!AIVDM,1,1,,A,13b`Bv5P1<PHUfVNI35v1gvh28>9,0*35\r\n!AIVDM,1,1,,B,13aI;8gP00PHf0TNFt400?vh2@>;,0*3F\r\n!AIVDM,1,1,,A,33aMB<?01@PGegdNK;M;u9Rd0000,0*49\r\n!AIVDM,1,1,,B,13`j7c0wh1PG?:8NOgf8L4Fj00Rs,0*00\r\n!AIVDM,1,1,,A,13aGtD@P?w<tSF0l4Q@>4?wv13l9,0*2D\r\n!AIVDM,1,1,,A,4h2E:wAuq8D2GPG6I@NBHuQ020S:,0*1F\r\n!AIVDM,1,1,,B,83aDBD0j2d<ed=d=<PO8Q@O07Q00,0*4B\r\n!AIVDM,1,1,,B,D02E34iFTg6D000000000000000,2*7D\r\n!AIVDM,1,1,,A,13aB:Hh000PHjE8NKJiH41th0`>O,0*74\r\n!AIVDM,1,1,,B,D02E34QGLg6D000000000000000,2*5C\r\n!AIVDM,2,1,2,A,53`gh83938<A0A0N221HU<58DpB222222222221S000005FR071RDj2CQlSm,0*27\r\n!AIVDM,2,2,2,A,CQ4p8888880,2*70\r\n!AIVDM,1,1,,B,802EFW0j2d<dtM=<tib@h?`50000,0*1A\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,A,33MhDV0PA`0EU:>NSKDh<s6n20hP,0*23\r\n!AIVDM,1,1,,B,13cLV`00110HK4RNGmT`PVnl00S6,0*5A\r\n!AIVDM,1,1,,A,13aGua?P00PHfENNFru@0?vj26P8,0*3C\r\n!AIVDM,1,1,,B,13aIkM@P00PJ@o0NL=c00?vj28?4,0*42\r\n!AIVDM,1,1,,B,33`qM>8P@TPGD9@NSOpC5RBl01oh,0*3F\r\n!AIVDM,1,1,,A,13`rcF?P000HRkhN@b200?vh00RI,0*31\r\n!AIVDM,1,1,,A,14h?6j003D0GHELNW@ABij@l0<57,0*12\r\n!AIVDM,1,1,,B,13aJG1wP?w<tSF0l4Q@>4?wv0`?@,0*2A\r\n!AIVDM,1,1,,A,13a6ld00000Hpm@NL1`P09fl06P8,0*30\r\n!AIVDM,1,1,,A,13a?OH?00QPH@>bNLrpU;T6l0L1R,0*68\r\n!AIVDM,1,1,,A,83aIgg@j2`<<dttdtR9Pq?`09HP0,0*3D\r\n!AIVDM,2,1,3,A,53aBMuD0000107?37T058ME<000000000000001S0h:41t0Ht0TkQABwwwh0,0*10\r\n!AIVDM,2,2,3,A,00000000000,2*27\r\n!AIVDM,1,1,,A,15C78000000GogDNQup`wU@n0<2n,0*43\r\n!AIVDM,1,1,,A,13a@F4?00MPHEH<NUWp2b24l06P8,0*44\r\n!AIVDM,1,1,,B,13a5jB0P?w0GoWpNQuqv4?vP06P8,0*62\r\n!AIVDM,1,1,,B,13aGtCgP00PHi0rNK@e00?vl2@?`,0*1A\r\n!AIVDM,1,1,,B,13aN1EgP0MPHBT`NI>i=rwvn2<1d,0*73\r\n!AIVDM,1,1,,B,13aFfb0P00PJgPhNFp900?vl2@?j,0*62\r\n!AIVDM,1,1,,B,13aDr68P00PHj3HNKAJ@0?vl2<1=,0*7E\r\n!AIVDM,1,1,,B,13aetV7P0LPHI@jNL3Ql2gvn28?n,0*7B\r\n!AIVDM,1,1,,A,13aI;8wP00PHJBJNGgIP0?vn2D1W,0*02\r\n!AIVDM,1,1,,B,13aDrkOP00PHi>tNKB0Epgvl28?t,0*41\r\n!AIVDM,1,1,,A,13bNqJ0P1JPFmDfNK;nCa?vp26P8,0*56\r\n!AIVDM,1,1,,A,13`t=00PAIPHBeBNQ=OJ7p2nP@@0,0*74\r\n!AIVDM,1,1,,B,33:krn000a0HKspNGtM`HFlj013@,0*23\r\n!AIVDM,1,1,,A,13aB7fwP00PGl<6NEbVIuwvp2<1D,0*09\r\n!AIVDM,1,1,,B,13aGvAh0010I0wPNQQucU5rp06P8,0*55\r\n!AIVDM,1,1,,A,13aFh>?0000IvnjNSno6MqHp0H@8,0*7F\r\n!AIVDM,1,1,,A,13aGE00P000GowtNQunat?vp2D1<,0*5F\r\n!AIVDM,1,1,,A,13aJJNOP000JKINNTj<00?vn00SS,0*49\r\n!AIVDM,1,1,,B,15Q:RP002i0FHHlN``o9fWln0@@B,0*50\r\n!AIVDM,1,1,,B,13`vB;pP00PHML2NGIEPDOvn20Rw,0*22\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,B,13a1lH?P?w<tSF0l4Q@>4?wv0l0T,0*5C\r\n!AIVDM,1,1,,B,13aEOEPP00PHm?FNK`gsB?v620SA,0*59\r\n!AIVDM,1,1,,B,13aC2`wP02PHJLlNGdtqI?vp2@@O,0*65\r\n!AIVDM,1,1,,A,13cDbl00210J7d`Nf7rIm7qF0HI2,0*0D\r\n!AIVDM,1,1,,B,13@aQ0001h0GJp6NVO=BRR4n00Rp,0*15\r\n!AIVDM,1,1,,B,13b<2H7000PHkGrNKT77Lh`p0<2i,0*70\r\n!AIVDM,1,1,,A,19NS5;?P000F7O<NPwGaKgvr20S5,0*63\r\n!AIVDM,1,1,,B,102EFW3P000Hk`pNK`NaUwvr20S6,0*29\r\n!AIVDM,1,1,,B,13aGFvwP00PHi3>NKCLh0?vp20S>,0*6E\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,A,13aDBd8P00PHiw8NKC1@0?vp28@n,0*6B\r\n!AIVDM,1,1,,B,H39k:bTTC=D70iM47Ponkq106220,0*02\r\n!AIVDM,1,1,,B,13aIi0gP00PHkHjNKQM8fgvt2L1F,0*1B\r\n!AIVDM,1,1,,A,13b<Q`7P@S0J9M`NWoESRRll00S<,0*5E\r\n!AIVDM,1,1,,A,13aL?>HP00PHj5hNKAK@0?vr26P8,0*17\r\n!AIVDM,1,1,,B,16LWib003BPF580NT;e2P22r0HAF,0*43\r\n!AIVDM,1,1,,A,13aENfwP00PHi9<NK?HP0?vr20SQ,0*52\r\n!AIVDM,1,1,,A,13bh6v70000HjCrNKOCppTpt08AL,0*16\r\n!AIVDM,1,1,,A,13aGD7pP0@0Ho?dNKnKj4gvj20S;,0*02\r\n!AIVDM,1,1,,B,13bjvT?0000H56<NQghQGb2r0L0j,0*47\r\n!AIVDM,1,1,,B,13`va@0P000HpK<NKnfpPOvt2HAT,0*00\r\n!AIVDM,1,1,,B,13P;h8h1BfPGMd8NbpR9rotl0@Aa,0*05\r\n!AIVDM,2,1,4,B,53aL>DT0000107?;GD08A>1A84q=0u9@E800000Q0000040Ht0B0DS2CQiC`,0*76\r\n!AIVDM,2,2,4,B,0jE6H000000,2*72\r\n!AIVDM,1,1,,A,13u7M`002E0F2S0Nc>O0NP<r0pJ:,0*17\r\n!AIVDM,1,1,,B,13`uO2700KPHLd6NL1nCwk:t06P8,0*17\r\n!AIVDM,1,1,,A,13b?AJ7P0R0J39<NV293ogvr0D<P,0*0F\r\n!AIVDM,1,1,,B,402E34iuq8D2NPGoPJNQwwG00D22,0*42\r\n!AIVDM,1,1,,A,13aDo:@P00PJ2h8NEeHo=wvtR6P8,0*31\r\n!AIVDM,1,1,,B,13aGDjCP00PHiQVNK9WsCgvpRD1N,0*19\r\n!AIVDM,1,1,,B,13ktppP025PGQhhNbL69n7lv06P8,0*5B\r\n!AIVDM,1,1,,A,13btD>00000GqItNR>BsjFdt08B;,0*2D\r\n!AIVDM,1,1,,A,13aKWv?P00PHjTFNK?wrhgvv28B>,0*66\r\n!AIVDM,1,1,,A,33ba1n5P000HtI>NKFq4COvvP000,0*0E\r\n!AIVDM,1,1,,B,83aL>DPj2P00000000e0`@QU1JP0,0*4B\r\n!AIVDM,1,1,,A,13aMB<?01@PGea:NK;kKraRr0HBK,0*7D\r\n!AIVDM,1,1,,A,33:krn000a0HKr`NGtC`EFnr04T3,0*39\r\n!AIVDM,1,1,,B,13aBJp700Q0GbF@NSiWCAjW00<1<,0*66\r\n!AIVDM,1,1,,A,13aBMu@P00PJK4VNEh4@0?vv2HBU,0*69\r\n!AIVDM,1,1,,B,13aKVPHP00PHj5VNK8Gh0?vv26P8,0*73\r\n!AIVDM,1,1,,B,13aDA0PP00PHn3vNKRGP0?vv2<1;,0*0B\r\n!AIVDM,1,1,,A,13aGFROP000Ho;jNKme8jgw000SW,0*34\r\n!AIVDM,1,1,,A,13c0aT00000HJJPNGeLtK:i006P8,0*78\r\n!AIVDM,1,1,,B,?0000M0rc=0PD00,2*6D\r\n!AIVDM,1,1,,B,14h?6j003E0GHW:NW@ejijA006P8,0*45\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,2,1,5,A,53aJJND000010CSW3<1`DDPtpB2222200000001510I44ujC008000000000,0*69\r\n!AIVDM,2,2,5,A,00000000008,2*29\r\n!AIVDM,1,1,,A,13aGCN8P00PHj7jNKB?dcgw22<1R,0*78\r\n!AIVDM,1,1,,B,13aGuu@P00PHpwlNKuu@0?w02D1q,0*59\r\n!AIVDM,1,1,,B,341icT5P00PJarHNLAk00?w02DG:,0*32\r\n!AIVDM,1,1,,A,13aGFRwP000HnjNNKl`r2gw200S=,0*06\r\n!AIVDM,1,1,,A,13aKV4OP00PJb?lNHTEh0?w028C>,0*18\r\n!AIVDM,1,1,,A,13brCD00000HtL:NKFck@SI226P8,0*06\r\n!AIVDM,1,1,,B,33aBLqgP00PHpSJNKQPh0?w02Bsk,0*31\r\n!AIVDM,1,1,,A,13aDGp00000Gpq>NR;>nB`I20HCD,0*2F\r\n!AIVDM,1,1,,B,83aJJN@j2ddtMfMM00a@`@O50000,0*3D\r\n!AIVDM,1,1,,B,13`e=?HP00PHmH0NKBbh0?w22HCJ,0*41\r\n!AIVDM,2,1,6,B,53aEOET000010W?K3T0MDhJ1<TLl40000000001S2p932t@PJ00000000000,0*49\r\n!AIVDM,2,2,6,B,00000000000,2*21\r\n!AIVDM,1,1,,A,13aI9j8P00PHisFNKG7@0?w226P8,0*60\r\n!AIVDM,1,1,,A,13b8s:001BPKWglNdejK0`a208CV,0*73\r\n!AIVDM,1,1,,B,13aGtD@P?w<tSF0l4Q@>4?wv0`CV,0*3C\r\n!AIVDM,1,1,,A,13aIi<0P00PJKPTNTjb00?w22@Cc,0*56\r\n!AIVDM,1,1,,B,13aFgJ?P00PHf8lNFsch0?w22L3V,0*49\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0JNKB5P0?w22HCf,0*5B\r\n!AIVDM,1,1,,B,13P<QQ@0000Hdg<NFpQhj:S20D1V,0*1F\r\n!AIVDM,1,1,,A,13`j7c00h0PG?:8NOgf;8TG40@Cm,0*72\r\n!AIVDM,1,1,,A,15Q:RP002i0FH>lN``UafWm208Cn,0*4D\r\n!AIVDM,1,1,,B,13aph000000GrDJNGNQo1Ua40D1=,0*55\r\n!AIVDM,1,1,,A,33aGCiUP000Jfl6NO1`h0?w40J@@,0*67\r\n!AIVDM,2,1,7,A,53aJHJ4000010SKK?L0M8tuAHu9=@0000000001540816t0Ht0R0DS2CQiCP,0*3C\r\n!AIVDM,2,2,7,A,00000000000,2*23\r\n!AIVDM,1,1,,B,13aL>vwP00PIMtHNKaH@0?w426P8,0*41\r\n!AIVDM,1,1,,B,13aR>V0000PHifnNK;@bn:;42@D7,0*43\r\n!AIVDM,1,1,,B,13b=DJ0P000Gp@>NQv0IbOw620SB,0*00\r\n!AIVDM,1,1,,B,13aEQuOP00PHivpNKCS@0?w42<1;,0*52\r\n!AIVDM,1,1,,B,33:krn000a0HKqdNGt<8BVo00000,0*2D\r\n!AIVDM,1,1,,B,13aJGAwP13PJ;0lNE7AHugw428DB,0*3A\r\n!AIVDM,1,1,,A,13aJG1wP?w<tSF0l4Q@>4?wv0VP8,0*08\r\n!AIVDM,1,1,,A,13cLV`00100HJwDNGm4`SFk606P8,0*2B\r\n!AIVDM,1,1,,B,13aGua?P00PHfE`NFrth0?w428DI,0*0C\r\n!AIVDM,1,1,,A,13aN1EgP0LPHBT@NI?0Mogw620SU,0*72\r\n!AIVDM,1,1,,B,33aMB<?01@PGeVHNK;tsraS00000,0*2C\r\n!AIVDM,1,1,,A,13aIkM@P00PJ@oDNL=c@0?w62D0O,0*10\r\n!AIVDM,1,1,,B,13IOOb002<0HBF8NcIl9kWq20<3e,0*52\r\n!AIVDM,1,1,,A,13aI;8gP00PHf0HNFt6@0?w628D`,0*54\r\n!AIVDM,1,1,,A,16LWib003BPF5HTNT<E2P2360<4B,0*33\r\n!AIVDM,1,1,,B,13aL<SPP00PJG<>NKuch0?w62D1n,0*26\r\n!AIVDM,1,1,,B,83aEOEPj2d<d<>L>Lh`0J@UE0000,0*2A\r\n!AIVDM,1,1,,A,13P;h8h02fPGMMLNbp>9rWu00<4;,0*70\r\n!AIVDM,1,1,,A,13aGtCgP00PHi0dNK@eP0?w628Dn,0*39\r\n!AIVDM,1,1,,B,13a?OH?00QPH@B8NLrb5?D780D1R,0*76\r\n!AIVDM,1,1,,A,33`qM>8P@TPGD>HNSOvBnj=8023P,0*1B\r\n!AIVDM,1,1,,B,13a6ld00000Hpm@NL1`P09g800T5,0*69\r\n!AIVDM,1,1,,B,H3@CG24UDBE584744>Aj00000000,0*11\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,13u7M`002D0F2S0Nc?b0Mh=60VP8,0*79\r\n!AIVDM,1,1,,A,13aGuEPP00PJL2hNTkVIFgw:26P8,0*50\r\n!AIVDM,1,1,,B,13bNqJ0P1KPFmPFNK;i3hOw:28EG,0*41\r\n!AIVDM,1,1,,B,13aB:Hh1h0PHjE8NKJiB4iw80PS7,0*0A\r\n!AIVDM,1,1,,A,13aDrkOP00PHi>tNKB0Epgw82@EQ,0*30\r\n!AIVDM,1,1,,A,13aDr68P00PHj3BNKAJ@0?w82<1=,0*22\r\n!AIVDM,1,1,,A,13a1lH?P?w<tSF0l4Q@>4?wv0`Ed,0*16\r\n!AIVDM,1,1,,B,13aI;8wP00PHJBBNGgJ@0?w:20RS,0*5C\r\n!AIVDM,1,1,,A,13aFfb0P00PJgPpNFp9@0?w:28Eh,0*5E\r\n!AIVDM,1,1,,A,13`vB;pP00PHML8NGIF0Eww:28Ei,0*25\r\n!AIVDM,1,1,,B,15C78000010GogPNQuo8iU?:0@Ej,0*28\r\n!AIVDM,1,1,,A,13aL>Dg000PGa@NNKgbF2lW:08Ek,0*0F\r\n!AIVDM,1,1,,A,13a5jB0P000GoWpNQuqh0?w00@El,0*65\r\n!AIVDM,1,1,,A,13b<2H7000PHkGpNKT87>ha:0D2j,0*3C\r\n!AIVDM,1,1,,A,13aetV7P0LPHIDtNL3M3o?w:28F3,0*55\r\n!AIVDM,1,1,,B,13aGE00P000GownNQumIs?w<20S7,0*3A\r\n!AIVDM,1,1,,A,13aBLqhP000JbdnNLCs@0?w8PHF7,0*4B\r\n!AIVDM,1,1,,A,83aJHJ0j2d<dd<<=uhj0R@O53L00,0*59\r\n!AIVDM,1,1,,B,13c1LF0P0T0HlmDNR?geR?w:08F8,0*31\r\n!AIVDM,1,1,,A,13@aQ0001h0GK78NVOcBUj5:0<2F,0*30\r\n!AIVDM,1,1,,A,13`fJDh0000Epm8NE2T3L:160@F;,0*06\r\n!AIVDM,1,1,,B,19NS5;?P000F7NJNPwJaKww<20SW,0*27\r\n!AIVDM,1,1,,A,13aGvAh0000I0wTNQQv@;Us<00RI,0*45\r\n!AIVDM,1,1,,B,13aDBd8P00PHiw2NKC1P0?w<28FI,0*1E\r\n!AIVDM,1,1,,B,13`t=00PAIPHBO`NQ=@b37w<P@FN,0*74\r\n!AIVDM,1,1,,A,102EFW3P000Hk`tNK`MqUOw>20S;,0*45\r\n!AIVDM,1,1,,A,13aC2`wP02PHJLdNGdsHf?w>2<2W,0*26\r\n!AIVDM,1,1,,A,14h?6j003E0GHsfNWA?2jBA>08Fc,0*5B\r\n!AIVDM,1,1,,B,33aGCiUP000Jfl6NO1`P0?w<0Crr,0*5D\r\n!AIVDM,1,1,,A,33bn5j5P010HiETNK>4e:gvB0000,0*12\r\n!AIVDM,1,1,,A,13aFfRPP00PIuA8NF3dh0?w<20Rs,0*72\r\n!AIVDM,1,1,,B,13bh6v70000HjCrNKOCppDs>08Fl,0*6B\r\n!AIVDM,1,1,,A,B39k:bP0@862=97WDWrqkwk5oP06,0*4E\r\n!AIVDM,1,1,,B,13aFh>?0000IvnpNSnnnUIG>08Fn,0*7E\r\n!AIVDM,1,1,,B,13aI8e?P00PGpUPNR6th0?w>2<07,0*26\r\n!AIVDM,1,1,,A,13aEOEPP00PHm?:NK`g;B?vL2@Fv,0*46\r\n!AIVDM,1,1,,A,13bjvT?0000H56<NQghiGb3<0HG1,0*1B\r\n!AIVDM,1,1,,A,13aGFvwP00PHi3HNKCN@0?w>26P8,0*7D\r\n!AIVDM,1,1,,B,15Q:RP002i0FGsLN``2afWm>0D<P,0*7A\r\n!AIVDM,1,1,,B,13aENfwP00PHi94NK?IP0?w>28GC,0*1B\r\n!AIVDM,1,1,,B,13aL?>HP00PHj5vNKAJP0?w>20SU,0*3E\r\n!AIVDM,1,1,,B,13:krn000a0HKorNGsw8BVq:0<2:,0*7B\r\n!AIVDM,1,1,,A,13aGF=8P00PGp`PNR8b00?w@2@GU,0*68\r\n!AIVDM,1,1,,B,33aGD7pP0@0Ho?>NKnJB4gw825?C,0*32\r\n!AIVDM,1,1,,A,13`uO2700KPHLgrNL1jCvk;B0@Ga,0*59\r\n!AIVDM,1,1,,A,13bQtf?P000Hev8NFs?af?wB2HGc,0*2E\r\n!AIVDM,1,1,,A,13aIi0gP00PHkHbNKQLHegwB28Ge,0*74\r\n!AIVDM,1,1,,A,13aKVPHP00PHj5bNK8GP0?w@2<1;,0*23\r\n!AIVDM,1,1,,A,402E34iuq8D2`PGoPJNQwwG00D22,0*6F\r\n!AIVDM,1,1,,B,13aKWv?P00PHjTJNK@0rkgwB20Ss,0*33\r\n!AIVDM,1,1,,B,13aGFgSP02PGpJ6NQsjEEOwB20S1,0*26\r\n!AIVDM,1,1,,A,402E34Quq8D2`PL;CNNVEEG008Gm,0*4E\r\n!AIVDM,1,1,,B,13aMB<?01@PGePpNK<?craU<0HGp,0*09\r\n!AIVDM,1,1,,A,13aGuu@P00PHpwfNKuu@0?w@2<1q,0*58\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,1,1,,B,13btD>00000GqIpNR>CVTneB0@H2,0*54\r\n!AIVDM,1,1,,B,13c0aT00000HJJPNGeLWSriB08H5,0*61\r\n!AIVDM,2,1,8,B,53`e=?D000010CS3S@0@F1I8TDpA<<P520P000002p232u5fS0S@BjmCH000,0*63\r\n!AIVDM,2,2,8,B,00000000000,2*2F\r\n!AIVDM,1,1,,B,13aGFRwP000HnkfNKlSnJ?wD0L1g,0*11\r\n!AIVDM,1,1,,B,13aKWbOP000JV7nNL??P0?wB08H>,0*44\r\n!AIVDM,1,1,,A,13aGDjCP00PHiQVNK9WsCgw>R6P8,0*30\r\n!AIVDM,2,1,9,A,53bNqJ4000010KG;?>0P637F222222222222220N3882440Ht2UhA11CVQAH,0*6A\r\n!AIVDM,2,2,9,A,5iDm8888880,2*58\r\n!AIVDM,1,1,,A,13`va@0P00PHpK:NKngHJgwD2D2=,0*49\r\n!AIVDM,1,1,,A,13aDA0PP00PHn42NKRGh0?wB2D1;,0*3E\r\n!AIVDM,1,1,,B,16LWib003CPF5a8NT<u2P23B0<4A,0*33\r\n!AIVDM,1,1,,B,33aGFROP000Ho;pNKmcr<?wD039A,0*66\r\n!AIVDM,1,1,,B,13P;h8h02fPGM>hNbor9sWu<0D4<,0*05\r\n!AIVDM,1,1,,B,13aBMu@P00PJK4JNEh4pAOwD2@H`,0*43\r\n!AIVDM,1,1,,A,13`e=?HP00PHmH6NKBc00?wD26P8,0*74\r\n!AIVDM,1,1,,B,13aGu6OP?w<tSF0l4Q@>4?wv0VP8,0*0B\r\n!AIVDM,1,1,,A,13ktppP025PGQJpNbKe9n7mD0L3C,0*67\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0JNKB7@0?wD28Hn,0*4F\r\n!AIVDM,2,1,0,A,53aGDjD000010CS;W810TEB0PDTp00000000000Q9h844tU<?00PAiDQCPS0,0*7F\r\n!AIVDM,2,2,0,A,EEiDk1CRh00,2*1A\r\n!AIVDM,1,1,,B,13brCD00000HtL:NKFdC@SIF2<1d,0*69\r\n!AIVDM,1,1,,A,13aFgphP1EPHE<dNB`>W9OwF2<36,0*14\r\n!AIVDM,1,1,,A,13aBJp7P@Q0GbL2NSibk;jSF0<1<,0*18\r\n!AIVDM,1,1,,A,?0000M0rjB8PD00,2*10\r\n!AIVDM,1,1,,B,13aDGp00000Gpq@NR;>kS`IF08I@,0*4C\r\n!AIVDM,1,1,,A,13aFgJ?P00PHf8lNFsc@0?wF26P8,0*61\r\n!AIVDM,1,1,,A,13aR>V0000PHifpNK;?rn:;F2HIH,0*39\r\n!AIVDM,1,1,,A,13aGuE@P00PJKghNTidc6gwH28IL,0*69\r\n!AIVDM,1,1,,B,13aGCN8P00PHj7nNKB@teOwH28IL,0*26\r\n!AIVDM,1,1,,A,33`naR?00J0Jc:>N`evsWpsF00g0,0*78\r\n!AIVDM,1,1,,A,13aJH>OP00PGpW:NR0AJ7gwH28IN,0*29\r\n!AIVDM,1,1,,A,13aL>vwP00PIMt<NKaI00?wF2<0?,0*58\r\n!AIVDM,1,1,,A,83aGDj@j2d<dd=<<ticPghQP0100,0*79\r\n!AIVDM,1,1,,B,13aI;8gP00PHf0@NFt7@0?wF2HIQ,0*62\r\n!AIVDM,1,1,,B,13aKV4OP00PJb?VNHTF00?wF20S3,0*19\r\n!AIVDM,1,1,,A,13`qM>8P@TPGDBJNSP4BlR;H0@IW,0*79\r\n!AIVDM,1,1,,B,14h?6j003E0GI:FNWAVRijAH0<59,0*49\r\n!AIVDM,1,1,,A,13aEQuOP00PHiw0NKCSP0?wH2HIl,0*27\r\n!AIVDM,1,1,,A,13aBLqgP00PHpSpNKQTh0?wH28Io,0*32\r\n!AIVDM,1,1,,A,13aJGAwP12PJ:rDNE6mpvOwH26P8,0*71\r\n!AIVDM,2,1,1,B,53`kEsl000010KG7OH1aL44q@`D00000000000150hR33vfd00R3kAH4miAE,0*09\r\n!AIVDM,2,2,1,B,823kA@00000,2*75\r\n!AIVDM,1,1,,A,15C3:600000GokHNQuG9P4CJ0<0j,0*4A\r\n!AIVDM,1,1,,A,13P<QQ@0000Hdf@NFpSPTrSH06P8,0*2A\r\n!AIVDM,1,1,,B,13cLV`0PA00HJq`NGlQ8QngJ06P8,0*7C\r\n!AIVDM,1,1,,A,13aGtD@P?w<tSF0l4Q@>4?wv0VP8,0*74\r\n!AIVDM,1,1,,A,13aph000000GrDJNGNQRimaJ08JC,0*0C\r\n!AIVDM,1,1,,B,13aI9j8P00PHisNNKG8P0?wH2D11,0*14\r\n!AIVDM,1,1,,A,13b=DJ0P000Gp?nNQusqVOwJ28JF,0*09\r\n!AIVDM,1,1,,B,83`e=?@j2d<dd=dNMhOpIP6@45@0,0*7A\r\n!AIVDM,1,1,,B,13aN1EgP0LPHBTBNI?CumOwJ28JN,0*64\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,A,13aB:Hhu@0PHjE8NKJidQiwJ0PSj,0*09\r\n!AIVDM,1,1,,B,13aIkM@P00PJ@oPNL=c@0?wJ26P8,0*1E\r\n!AIVDM,1,1,,B,13aJG1wP?w<tSF0l4Q@>4?wv0pJf,0*69\r\n!AIVDM,1,1,,B,13aGuEPP00PJL38NTkWqBwwL2@Jg,0*6A\r\n!AIVDM,1,1,,A,13aL<SPP00PJG<BNKuc@0?wJ2L1n,0*05\r\n!AIVDM,1,1,,B,13aDr68P00PHj3<NKAJ@0?wJ20Sp,0*0E\r\n!AIVDM,2,1,2,B,53aJJND000010CSW3<1`DDPtpB2222200000001510I44ujC008000000000,0*6D\r\n!AIVDM,2,2,2,B,00000000008,2*2D\r\n!AIVDM,1,1,,B,13`vB;pP00PHML@NGIFPGwwL26P8,0*00\r\n!AIVDM,1,1,,B,33`qM>800UPGDCJNSP62g2;L01qh,0*03\r\n!AIVDM,2,1,3,A,53aR>V01>`cI0E<d000Pthh4p@0000000000000l2`T5556gN9B0DS2CQiCP,0*75\r\n!AIVDM,2,2,3,A,00000000000,2*27\r\n!AIVDM,1,1,,B,13IOOb002<0HB0@NcIK9s7qH0HK7,0*27\r\n!AIVDM,1,1,,B,83aJJN@j2ddtMfMM00a@`@O50000,0*3D\r\n!AIVDM,1,1,,A,33aKU5E000PHpl0NKsRjRPgH0Dg:,0*67\r\n!AIVDM,1,1,,B,13a5jB0P000GoWpNQuqh0?wF08K?,0*35\r\n!AIVDM,2,1,4,A,53aJJND000010CSW3<1`DDPtpB2222200000001510I44ujC008000000000,0*68\r\n!AIVDM,2,2,4,A,00000000008,2*28\r\n!AIVDM,1,1,,A,15C78000000Gog`NQun8qm?N08KF,0*15\r\n!AIVDM,1,1,,A,15Q:RP002i0FGdhN`WaafWkJ06P8,0*2A\r\n!AIVDM,1,1,,A,13aI;8wP00PHJB>NGgKh0?wL26P8,0*13\r\n!AIVDM,1,1,,B,83`kEshj2d<dtNNLuPj0L@O03hl0,0*2C\r\n!AIVDM,1,1,,B,13a1lH?P?w<tSF0l4Q@>4?wv0PSa,0*36\r\n!AIVDM,1,1,,A,16LWib003CPF5o<NT=MRP23N08Ke,0*30\r\n!AIVDM,1,1,,B,13aetV7P0LPHII6NL3JCmwwN28Ke,0*0B\r\n!AIVDM,1,1,,A,13a?OH?00QPH@F4NLrF5Bl9P00S>,0*10\r\n!AIVDM,1,1,,B,13aL>Dg000PGa@dNKgcn2lWN0<0`,0*01\r\n!AIVDM,1,1,,B,13aGtCgP00PHi0dNK@eh0?wN2S6f,0*6B\r\n!AIVDM,1,1,,A,15E<fj002UPI`UDNbk?jhj;P0<4=,0*26\r\n!AIVDM,1,1,,B,13MhDV001b0EU<<NSMo08;9R2<2A,0*79\r\n!AIVDM,1,1,,B,13`fJDh0000Epm8NE2T3Ib1J06P8,0*47\r\n!AIVDM,1,1,,B,13aDrkOP00PHi>tNKB0EpgwN20Rr,0*01\r\n!AIVDM,1,1,,B,13aGvAh0010I0wRNQQvpgmsP0<32,0*6F\r\n!AIVDM,1,1,,A,13`t=00PAGPHBDHNQ=39woqNP8L0,0*16\r\n!AIVDM,1,1,,A,13P;h8h1BfPGLupNboQ9tWuJ08L1,0*7E\r\n!AIVDM,1,1,,A,13aGE00P00PGp02NQupas?wP26P8,0*0E\r\n!AIVDM,1,1,,B,13aGsMPP0TPIv<:N?CkGo?wN2Kvu,0*3F\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,13aBLqhP000JbdnNLCs@0?wLP@L>,0*37\r\n!AIVDM,1,1,,B,13b<2H7000PHkH2NKT85HhaP0<2j,0*14\r\n!AIVDM,1,1,,A,13aFh>?0010IvnrNSnnVsaGR0<2g,0*5D\r\n!AIVDM,1,1,,B,13bjvT?0000H56<NQgi1Gb5N00S7,0*5F\r\n!AIVDM,1,1,,A,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*39\r\n!AIVDM,1,1,,B,13aC2`wP02PHJLvNGdrGcOwR28LL,0*41\r\n!AIVDM,1,1,,A,13aDBd8P00PHiwBNKC1h0?wP28LR,0*28\r\n!AIVDM,1,1,,B,13u7M`002D0F2adNcAR@J0;P0VP8,0*1E\r\n!AIVDM,2,1,5,B,53aL?>D000010GWS;@0h59E<000000000000001500000t0Ht0UhA11CVQA@,0*2C\r\n!AIVDM,2,2,5,B,00000000000,2*22\r\n!AIVDM,1,1,,B,13aGFvwP00PHi3>NKCMh0?wP20SO,0*3F\r\n!AIVDM,1,1,,A,13aEQ;0P00PHRqdN@Ww9rOwR2D0g,0*7B\r\n!AIVDM,1,1,,B,102EFW3P000Hk`tNK`LqUwwR26P8,0*15\r\n!AIVDM,1,1,,A,19NS5;?P000F7MbNPwIqROwR2D3e,0*75\r\n!AIVDM,1,1,,B,13aEOEPP00PHm?@NK`gsB?vh2<1H,0*66\r\n!AIVDM,1,1,,B,13aIi0gP00PHkHdNKQLpgOwT2<1F,0*24\r\n!AIVDM,1,1,,A,13c1LF0P0U0Hlk2NR@7u9?wP08Lp,0*3F\r\n!AIVDM,1,1,,A,13aENfwP00PHi8jNK?GF?wwR26P8,0*16\r\n!AIVDM,1,1,,A,13aJJNOP000JKIBNTj?00?wR00Rs,0*5A\r\n!AIVDM,1,1,,A,13bh6v70000HjCtNKOCIfTsT08M5,0*69\r\n!AIVDM,1,1,,A,13b<Q`700S0J9`dNWoBk`2kP0<0g,0*05\r\n!AIVDM,1,1,,A,33`qM>800TPGDELNSP92ij9T00s0,0*19\r\n!AIVDM,2,1,6,B,53aFgpl000010KWWOV1`4p@EQ18E>3F22222220Q9h86340Ht00000000000,0*68\r\n!AIVDM,2,2,6,B,00000000000,2*21\r\n!AIVDM,1,1,,A,13`gh8700JPIo5nNWmLbhpeT0D1V,0*43\r\n!AIVDM,1,1,,A,13aI8e?P00PGpULNR6th0?wT20R7,0*3D\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,1,1,,A,14h?6j003E0GIKrNWB3BijAT0@MH,0*10\r\n!AIVDM,1,1,,A,13aGD7pP0@0Ho@rNKnAB4gwL2HMM,0*7E\r\n!AIVDM,1,1,,B,13`uO2700KPHLkfNL1fSu3;V08MO,0*4D\r\n!AIVDM,1,1,,A,13aL?>HP00PHj5PNKAH00?wT28MR,0*02\r\n!AIVDM,1,1,,B,13`va@0P00PHpK:NKnhHLgwV2<2=,0*29\r\n!AIVDM,1,1,,B,402E34iuq8D2jPGoPJNQwwG00D22,0*66\r\n!AIVDM,1,1,,A,13aKWv?P00PHjTJNK@0:l?wV2<1F,0*68\r\n!AIVDM,1,1,,B,402E34Quq8D2jPL;CNNVEEG008Md,0*44\r\n!AIVDM,1,1,,B,13aGDjCP00PHiQPNK9WsCgwPR0SU,0*33\r\n!AIVDM,2,1,7,A,53cLV`4000010OC3;61@RoB0DhU`48E@R222220N3H3516h`034jCU80CSPC,0*08\r\n!AIVDM,2,2,7,A,0CQ88888880,2*39\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,1,1,,B,13bQtf?P000HetjNFsi9egw`26P8,0*38\r\n!AIVDM,1,1,,B,13aDA0PP00PHn46NKRGh0?wV28N5,0*20\r\n!AIVDM,1,1,,A,13aMB<?01@PGeFbNK<kKraUR0<1n,0*00\r\n!AIVDM,1,1,,A,13btD>00000GqInNR>CkGFeV0@N>,0*51\r\n!AIVDM,1,1,,B,13aGuu@P00PHpwfNKusR6OwV2@N?,0*62\r\n!AIVDM,1,1,,A,13aGFgSP02PGpJJNQsj5dgw`26P8,0*0E\r\n!AIVDM,1,1,,B,13aKVPHP00PHj5RNK8GP0?wV26P8,0*6E\r\n!AIVDM,1,1,,A,13bb0F?00D0Gh5<NTG`ri8Q`0D1;,0*6E\r\n!AIVDM,1,1,,A,13c0aT00000HJJNNGeLa4Jk`00SI,0*5A\r\n!AIVDM,1,1,,A,13aGFROP000Ho<2NKmeJ=Ow`08NI,0*3D\r\n!AIVDM,1,1,,A,13aGFRwP000Hnl:NKlRqR?w`00SI,0*5B\r\n!AIVDM,1,1,,B,13`e=?HP00PHmH:NKBc00?wV20SH,0*1C\r\n!AIVDM,1,1,,A,13aBMu@P00PJK4PNEh4@0?w`2<1M,0*67\r\n!AIVDM,1,1,,B,13aGuE@P00PJKgbNTicK0?wb26P8,0*58\r\n!AIVDM,2,1,8,A,53aN2dT2CThi08@R22048U>0AE<5HTf2222222162QK8951g0<li@H54R@C4,0*02\r\n!AIVDM,2,2,8,A,p20DS2CQiCP,2*23\r\n!AIVDM,1,1,,A,13brCD00000HtL<NKFck@SI`26P8,0*52\r\n!AIVDM,1,1,,B,13`qM>800TPGDFLNSP:ji2;b0D1s,0*59\r\n!AIVDM,1,1,,B,13aBJp700Q0GbPJNSifS;jUb00SG,0*64\r\n!AIVDM,1,1,,A,13aDGp00000Gpq@NR;>qf`Ib0D2S,0*50\r\n!AIVDM,1,1,,B,83aL?>@j2d<dd<MedPQ0K@O03M00,0*09\r\n!AIVDM,1,1,,B,33aFgphP1E0HE;LNBWEG9Owb004A,0*5C\r\n!AIVDM,1,1,,B,13aEQuOP00PHivtNKCSP0?w`20SQ,0*16\r\n!AIVDM,1,1,,B,13aFgJ?P00PHf8fNFsc00?w`2<3V,0*39\r\n!AIVDM,1,1,,B,83aFgphj2d<dd=MN>@000@QU0000,0*42\r\n!AIVDM,1,1,,A,13bt8P0P000HfWBNBq5pmgw`2<0L,0*66\r\n!AIVDM,1,1,,B,13P;h8h1BfPGLiHNboDatWuT0<4>,0*79\r\n!AIVDM,1,1,,A,13IOOb002<0HAkhNcI29i7qV00Rk,0*14\r\n!AIVDM,1,1,,B,13aJH>OP00PGpWhNR0CJ9gwd26P8,0*39\r\n!AIVDM,1,1,,B,13aDBD0P00PHj0dNKB:@0?wb28OA,0*61\r\n!AIVDM,1,1,,B,13bAqH?00HPK4m<N`ckJS87b08OD,0*65\r\n!AIVDM,1,1,,B,13P<QQ@0000Hdg2NFpQ0OJSb00S9,0*35\r\n!AIVDM,1,1,,A,33`iAj5P010G494NBORU8Owb0Dbb,0*7C\r\n!AIVDM,1,1,,B,13b`Bv5P1<PHUeTNI5Sv0?wb2D1j,0*25\r\n!AIVDM,1,1,,A,13aGCN8P00PHj7jNKB?dVOwd2@OK,0*28\r\n!AIVDM,1,1,,A,?0000M0rEwE@D00,2*67\r\n!AIVDM,1,1,,A,13cLV`0P@w0HJl`NGl1pNnUd0D2D,0*63\r\n!AIVDM,1,1,,B,13aBLqgP00PHpT0NKQd@0?wb28OT,0*79\r\n!AIVDM,1,1,,B,13aGtD@P?w<tSF0l4Q@>4?wv13l:,0*2D\r\n!AIVDM,1,1,,B,33cLV`0P@w0HJl`NGl1pMnUd00NP,0*7D\r\n!AIVDM,1,1,,B,15C3:600000GokdNQuG9P4Ef00Ru,0*3E\r\n!AIVDM,1,1,,A,13aI9j8P00PHisPNKG8@0?wd2@Om,0*13\r\n!AIVDM,1,1,,B,13b=DJ0P000Gp@FNQunab?wf2@Op,0*73\r\n!AIVDM,1,1,,B,13aR>V0000PHig<NK;>Jn:;f2D1c,0*31\r\n!AIVDM,1,1,,A,13aIi<0P00PJKPhNTjah0?wd28Ou,0*05\r\n!AIVDM,1,1,,B,4h2E:wAuq8D2mPG6I@NBHuQ02@Ou,0*15\r\n!AIVDM,1,1,,A,13u7M`002D0F2d4NcBO0JP9d0`Ow,0*16\r\n$GPGLL,5310.81258,N,00525.70578,E,200254.00,A,D*63\r\n!AIVDM,1,1,,A,33cLV`0P@w0HJl8NGkvHMnUf00nP,0*7C\r\n$GPGBS,200254.00,2.8,2.1,4.4,,,,*49\r\n!AIVDM,1,1,,B,13aL>vwP00PIMt4NKaHP0?wd28P3,0*78\r\n!AIVDM,1,1,,A,13`j7c0wP1PG?:8NOgf:D4Gf00S2,0*7C\r\n!AIVDM,1,1,,A,13aL?0W00OPJN<DNaORQhQ3d0D16,0*4C\r\n$GPRMC,200255.00,A,5310.81257,N,00525.70577,E,0.021,,160414,,,D*7E\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n$GPGGA,200255.00,5310.81257,N,00525.70577,E,2,09,1.12,3.5,M,45.7,M,,0000*5A\r\n!AIVDM,1,1,,B,13aGua?P00PHfETNFruh0?wf2HPL,0*0A\r\n!AIVDM,1,1,,A,13aJG1wP?w<tSF0l4Q@>4?wv0VP8,0*08\r\n!AIVDM,2,1,9,B,54SNn:42ANlqK8HCF20LE8P58B0N222222222216<P>4:4TB09R0DS2CQiC`,0*40\r\n!AIVDM,2,2,9,B,88888888880,2*2E\r\n$GPGLL,5310.81257,N,00525.70577,E,200255.00,A,D*62\r\n!AIVDM,1,1,,B,13aL<SPP00PJG<LNKucP0?wf2<1n,0*44\r\n$GPGBS,200255.00,2.8,2.1,4.4,,,,*48\r\n!AIVDM,1,1,,B,14h?6j003E0GIePNWBPBiRAh08Pa,0*34\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAsQ3wsUoP06,0*41\r\n!AIVDM,1,1,,A,13aJGrOP00PGpg>NR9g00?wf28Pg,0*4A\r\n!AIVDM,1,1,,B,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*3A\r\n!AIVDM,1,1,,B,33a?OH?00QPH@HfNLr8ECD7h04vC,0*00\r\n$GPRMC,200256.00,A,5310.81255,N,00525.70577,E,0.011,,160414,,,D*7C\r\n!AIVDM,1,1,,B,15C78000000GogjNQulpeE?h00SN,0*54\r\n!AIVDM,1,1,,A,13aetV7P0LPHILFNL3I3lwwh28Pr,0*25\r\n$GPGGA,200256.00,5310.81255,N,00525.70577,E,2,09,1.12,3.6,M,45.7,M,,0000*58\r\n!AIVDM,1,1,,A,13aDr68P00PHj3:NKAHh0?wh2L1=,0*50\r\n!AIVDM,1,1,,B,13aB:Hht@0PHjE8NKJiARiwf0hQ0,0*61\r\n!AIVDM,1,1,,A,13`vB;pP00PHML>NGIH0Hgwh28Q5,0*2A\r\n$GPGLL,5310.81255,N,00525.70577,E,200256.00,A,D*63\r\n$GPGBS,200256.00,2.8,2.1,4.4,,,,*4B\r\n!AIVDM,1,1,,A,13aFfb0P00PJgPvNFp900?wh20S;,0*37\r\n!AIVDM,1,1,,B,13a6ld00000Hpm@NL1V009gj08QC,0*16\r\n!AIVDM,1,1,,A,13b<2H7000PHkH6NKT8G5hah08QE,0*6C\r\n!AIVDM,1,1,,B,13a@F4?00KPHESNNU`;Rw27h0HQH,0*29\r\n!AIVDM,1,1,,A,13aC2`wP02PHJM<NGdqnnwwj2D2W,0*37\r\n!AIVDM,1,1,,A,13aGuEPP00PJL3BNTkVaBwwj2@QM,0*15\r\n$GPRMC,200257.00,A,5310.81255,N,00525.70577,E,0.023,,160414,,,D*7C\r\n!AIVDM,1,1,,B,13aGE00P00PGp04NQuqarwwj20SB,0*06\r\n$GPGGA,200257.00,5310.81255,N,00525.70577,E,2,09,1.12,3.6,M,45.7,M,,0000*59\r\n!AIVDM,1,1,,B,33cLV`0P@u0HJj`NGkl8JnUl01t@,0*4F\r\n!AIVDM,1,1,,A,13a5jB0P000GoWpNQuqh0?wb06P8,0*00\r\n!AIVDM,1,1,,A,13aGtCgP00PHi0dNK@fP0?wj26P8,0*2A\r\n!AIVDM,1,1,,A,13aL>Dg000PGa@dNKgd62lWj0<0`,0*79\r\n!AIVDM,1,1,,B,13aI;8wP00PHJB:NGgL@0?wj28Qe,0*4F\r\n!AIVDM,1,1,,B,B3aBNK@0006<MkWVjSd03wtUkP06,0*1A\r\n$GPGLL,5310.81255,N,00525.70577,E,200257.00,A,D*62\r\n!AIVDM,1,1,,A,15Q:RP002i0FG?HN`VjafWih0<<P,0*75\r\n!AIVDM,1,1,,A,13aBLqhP000JbdnNLCs@0?whPHQi,0*52\r\n!AIVDM,1,1,,B,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*3A\r\n$GPGBS,200257.00,2.8,2.1,4.4,,,,*4A\r\n!AIVDM,1,1,,A,13`fJDh0000Epm8NE2T3Ib1f0D<H,0*06\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAsQ3wtUoP06,0*46\r\n!AIVDM,1,1,,B,13`t=0001GPHB8:NQ<j9pokjP8Qo,0*28\r\n!AIVDM,1,1,,A,13aDrkOP00PHi>tNKB0Epgwj20Rg,0*33\r\n!AIVDM,1,1,,A,102EFW3P000Hk`pNK`L9U?wl2@Qs,0*10\r\n!AIVDM,1,1,,A,13`naR?00E0Jc5<N`f9K:psl0<18,0*19\r\n$GPRMC,200258.00,A,5310.81253,N,00525.70577,E,0.009,,160414,,,D*7D\r\n$GPGGA,200258.00,5310.81253,N,00525.70577,E,2,09,1.12,3.6,M,45.7,M,,0000*50\r\n!AIVDM,1,1,,B,13aDBd8P00PHiwFNKC1h0?wl20RV,0*01\r\n!AIVDM,1,1,,A,13a1lH?P?w<tSF0l4Q@>4?wv0D0T,0*77\r\n!AIVDM,2,1,0,A,54hAmI40?LR1`LA;J21LU=22222222222222220T2PK334vB0<4i@E4PBC4p,0*0E\r\n!AIVDM,2,2,0,A,88888888880,2*24\r\n$GPGLL,5310.81253,N,00525.70577,E,200258.00,A,D*6B\r\n$GPGBS,200258.00,2.8,2.1,4.4,,,,*45\r\n!AIVDM,1,1,,B,13aENfwP00PHi96NK?Dh0?wl2<0t,0*3A\r\n!AIVDM,1,1,,A,13bjvT?0000H56<NQgiQGb3l08RP,0*76\r\n!AIVDM,1,1,,B,13b<Q`700S0J9e:NWoCCQRkj0D0f,0*66\r\n!AIVDM,1,1,,B,13aI8e?P00PGpUNNR6t@0?wl2@RQ,0*3A\r\n!AIVDM,1,1,,B,33aJJNOP000JKIFNTj>h0?wn0=h3,0*4D\r\n$GPRMC,200259.00,A,5310.81254,N,00525.70576,E,0.014,,160414,,,D*76\r\n!AIVDM,1,1,,B,13bh6v70000HjCvNKOC:SDqn08Rd,0*48\r\n!AIVDM,1,1,,A,13aIi0gP00PHkHlNKQNHh?v020S?,0*18\r\n$GPGGA,200259.00,5310.81254,N,00525.70576,E,2,09,1.12,3.5,M,45.7,M,,0000*54\r\n!AIVDM,1,1,,A,13aGFvwP00PHi3PNKCOP0?wn28Rg,0*77\r\n!AIVDM,1,1,,B,13c1LF0P0W0Hli0NR@Oe>gwl08Rg,0*3C\r\n!AIVDM,1,1,,A,15E<fj002UPIa0TNbkuRhj:008Rq,0*6F\r\n$GPGLL,5310.81254,N,00525.70576,E,200259.00,A,D*6C\r\n$GPGBS,200259.00,2.8,2.1,4.4,,,,*44\r\n!AIVDM,1,1,,A,13aEOEPP00PHm?RNK`iK>?w426P8,0*7B\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAoQ3wuUoP06,0*5B\r\n!AIVDM,1,1,,A,16LWib003CPF6JlNT>c2P23n08S4,0*62\r\n!AIVDM,1,1,,B,13aKWbOP000JV7FNL?FP0?wn06P8,0*29\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n$GPRMC,200300.00,A,5310.81254,N,00525.70577,E,0.004,,160414,,,D*7B\r\n$GPGGA,200300.00,5310.81254,N,00525.70577,E,2,09,1.12,3.5,M,45.7,M,,0000*58\r\n!AIVDM,1,1,,B,13:krn000a0HKhtNGs=`Gnol0<2?,0*18\r\n!AIVDM,1,1,,A,33cLV`0P@t0HJi<NGka`I6N201<@,0*11\r\n!AIVDM,1,1,,A,402E34iuq8D30PGoPJNQwwG00@0E,0*4F\r\n$GPGLL,5310.81254,N,00525.70577,E,200300.00,A,D*60\r\n!AIVDM,1,1,,A,402E34Quq8D30PL;CNNVEEG006P<,0*57\r\n$GPGBS,200300.00,2.8,2.1,4.4,,,,*49\r\n!AIVDM,1,1,,A,13aGDjCP00PHiQPNK9WsCgwlR<1P,0*67\r\n!AIVDM,1,1,,B,13u7M`002C0F2fFNcCKhHh800PS6,0*3D\r\n!AIVDM,1,1,,A,13aGF=8P00PGp``NR8bh0?v020Rw,0*36\r\n!AIVDM,1,1,,B,33aGD7pP0@0Ho?pNKn;B4gwh22ci,0*2C\r\n!AIVDM,1,1,,A,13`uO2700KPHLorNL1bCuS:20@0P,0*55\r\n!AIVDM,1,1,,B,13aL?>HP00PHj4pNKAGh0?v0280Q,0*6C\r\n!AIVDM,1,1,,A,13bE@>7P0P0JT5`N`a63a?v00L3:,0*26\r\n!AIVDM,1,1,,A,?02E3:0rEmUDD00,2*6A\r\n!AIVDM,2,1,1,B,53aGFRD000010GGW?20`DpqV222222222222220l0P@3340Ht020EQCUiDRp,0*04\r\n!AIVDM,2,2,1,B,88888888880,2*26\r\n!AIVDM,1,1,,A,13aDA0PP00PHn4BNKRG00?v2280V,0*77\r\n!AIVDM,1,1,,A,13bQtf?P000HeslNFt8qjOv22<1<,0*3F\r\n!AIVDM,1,1,,B,13b?AJ7P0R0J3G@NV1w3jgv000SV,0*19\r\n$GPRMC,200301.00,A,5310.81253,N,00525.70578,E,0.013,,160414,,,D*74\r\n!AIVDM,1,1,,B,13aGu6OP?w<tSF0l4Q@>4?wv0h0c,0*0E\r\n!AIVDM,1,1,,B,13aGFRwP000HnltNKlRjCgv20<1g,0*57\r\n!AIVDM,1,1,,A,13aKVPHP00PHj5LNK8G@0?v2280e,0*35\r\n$GPGGA,200301.00,5310.81253,N,00525.70578,E,2,09,1.12,3.4,M,45.7,M,,0000*50\r\n!AIVDM,1,1,,B,E>jN6<0W6@1WPab3bPa2@LtP0000:uoH?9Ur000003v010,4*27\r\n!AIVDM,1,1,,A,13`va@0P00PHpK>NKni`Sgv42D2=,0*03\r\n!AIVDM,1,1,,A,13aGuu@P00PHpwjNKut@0?v22<1k,0*3C\r\n!AIVDM,1,1,,B,13aKWv?P00PHjTbNK?wbi?v420SE,0*28\r\n$GPGLL,5310.81253,N,00525.70578,E,200301.00,A,D*69\r\n$GPGBS,200301.00,2.8,2.1,4.4,,,,*48\r\n!AIVDM,1,1,,B,13brCD00000HtL@NKFc3@SH42@12,0*3D\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAoQ3wPUoP06,0*7E\r\n!AIVDM,1,1,,B,13aMB<?01@PGe=FNK=D;u9an00RB,0*16\r\n!AIVDM,1,1,,B,13aGFROP000Ho=@NKmar??v40D2A,0*5E\r\n!AIVDM,1,1,,A,13`qM>800UPGDKNNSPDBjR<40<1s,0*48\r\n!AIVDM,1,1,,B,13btD>00000GqIfNR>CEPnd40L0F,0*22\r\n!AIVDM,1,1,,A,?0000M0pI7IPD00,2*35\r\n$GPRMC,200302.00,A,5310.81254,N,00525.70576,E,0.014,,160414,,,D*79\r\n!AIVDM,1,1,,A,13aDBD0P00PHj0pNKB<h0?v42D2m,0*22\r\n!AIVDM,1,1,,A,13aFgphP1E0HE:pNBVP79Ov40@1B,0*25\r\n!AIVDM,1,1,,B,B3@CG200006;e?7Tfs403wPUkP06,0*7B\r\n$GPGGA,200302.00,5310.81254,N,00525.70576,E,2,09,1.12,3.2,M,45.7,M,,0000*5C\r\n!AIVDM,1,1,,B,13c0aT00000HJJNNGeL`Ebj60<1B,0*33\r\n!AIVDM,1,1,,A,33buBf50010HnwNNKkacrUv42000,0*35\r\n!AIVDM,1,1,,A,13aBLqgP00PHpSFNKQg@0?v4281J,0*3F\r\n!AIVDM,1,1,,A,13`e=?HP00PHmH<NKBbh0?v42@1K,0*32\r\n!AIVDM,1,1,,B,13aGCN8P00PHj7fNKB>LS?v62<1Q,0*30\r\n$GPGLL,5310.81254,N,00525.70576,E,200302.00,A,D*63\r\n!AIVDM,1,1,,A,14h?6j003E0GJ20NWC1jij@606P<,0*7F\r\n!AIVDM,1,1,,A,13aJH>OP00PGp`0NR0Cr9gv620SQ,0*52\r\n!AIVDM,1,1,,B,83aJJN@j2ddtMfMM00a@`@O50000,0*3D\r\n$GPGBS,200302.00,2.8,2.1,4.4,,,,*4B\r\n!AIVDM,2,1,2,A,53:krn41w1Ti3<<;R210DTddv22222222222221688B:158<N82hCD1C`888,0*61\r\n!AIVDM,2,2,2,A,88888888880,2*26\r\n!AIVDM,1,1,,A,13aEQuOP00PHivjNKCSP0?v42@1V,0*4B\r\n!AIVDM,1,1,,B,D02E350m`g6D000000000000000,2*3A\r\n!AIVDM,2,1,3,A,53a6ld02<DgI0<Q@000lpv1`DE`4p@000000001690:384000<tP00000000,0*4B\r\n!AIVDM,2,2,3,A,00000000000,2*27\r\n!AIVDM,1,1,,B,B3`fFM@0006:We7UfC003wQ5kP06,0*4D\r\n$GPRMC,200303.00,A,5310.81256,N,00525.70578,E,0.017,,160414,,,D*77\r\n$GPGGA,200303.00,5310.81256,N,00525.70578,E,2,09,1.12,3.2,M,45.7,M,,0000*51\r\n!AIVDM,1,1,,A,13bAqH?00HPK4inN`chr?8660D3`,0*16\r\n!AIVDM,1,1,,B,83aGFR@j2d<d<=N>N0000?`50000,0*6D\r\n!AIVDM,1,1,,A,13aJGAwP12PJ:crNE5q8twv62@1v,0*1D\r\n!AIVDM,1,1,,A,13aR>V02h0PHig:NK;>:n:<826P<,0*0B\r\n!AIVDM,1,1,,A,13aGuE@P00PJKgtNTibbnOv82<4v,0*30\r\n$GPGLL,5310.81256,N,00525.70578,E,200303.00,A,D*6E\r\n!AIVDM,1,1,,B,33aIhgEP00PHjSLNK@;h0?v62Dfr,0*41\r\n$GPGBS,200303.00,2.8,2.1,4.4,,,,*4A\r\n!AIVDM,1,1,,A,13b=DJ0P00PGp@NNQunaWwv82D2a,0*52\r\n!AIVDM,1,1,,B,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*3A\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAsQ3wQUoP06,0*63\r\n!AIVDM,1,1,,A,13aph000000GrDLNGNRDTEb800Si,0*40\r\n!AIVDM,1,1,,A,83aI;8Pj2P00000000QhI@O54400,0*14\r\n!AIVDM,1,1,,B,13u7M`002D0F2gPNcCu0H@860PSE,0*16\r\n!AIVDM,1,1,,B,13bt8P0P000HfW6NBq68mgv6282E,0*02\r\n!AIVDM,1,1,,B,13aI9j8P00PHisLNKG7h0?v82H2I,0*27\r\n$GPRMC,200304.00,A,5310.81258,N,00525.70576,E,0.064,,160414,,,D*74\r\n!AIVDM,2,1,4,B,53aQvv01?OV=0H<:22059@DlU>2222222222220T6@93462B:8P000000000,0*77\r\n!AIVDM,2,2,4,B,00000000000,2*23\r\n$GPGGA,200304.00,5310.81258,N,00525.70576,E,2,09,1.12,3.2,M,45.7,M,,0000*56\r\n!AIVDM,1,1,,A,13b`Bv5P1;PHUfFNI6Hh>Ov820R6,0*58\r\n!AIVDM,1,1,,A,13aFgJ?P00PHf8hNFsah0?v820S2,0*3F\r\n!AIVDM,1,1,,A,13aL<SPP00PJG<8NKudP0?v82@2`,0*1A\r\n!AIVDM,1,1,,B,13aIi<0P00PJKPfNTja@0?v820S8,0*24\r\n$GPGLL,5310.81258,N,00525.70576,E,200304.00,A,D*69\r\n$GPGBS,200304.00,2.8,2.1,4.4,,,,*4D\r\n!AIVDM,1,1,,B,13aIkM@P00PJ@oJNL=cP0?v826P<,0*63\r\n!AIVDM,1,1,,A,13aB:Hh1@0PHjE6NKJiCe1v80`2n,0*2E\r\n!AIVDM,1,1,,A,13P<QQ@0000HdfRNFpQPK:R80<1V,0*19\r\n!AIVDM,1,1,,B,13aL?0W00PPJN?fNaOjAhQ0:00T9,0*1A\r\n$GPRMC,200305.00,A,5310.81261,N,00525.70578,E,0.008,,160414,,,D*7B\r\n!AIVDM,1,1,,B,13cLV`0P@s0HJg@NGkL8HVF:0830,0*07\r\n!AIVDM,1,1,,B,13P;h8h02fPGLCHNbnnauov40<3u,0*1F\r\n$GPGGA,200305.00,5310.81261,N,00525.70578,E,2,09,1.13,3.1,M,45.7,M,,0000*51\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,13aJGrOP00PGpgDNR9g00?v:20RN,0*4D\r\n!AIVDM,1,1,,A,E02E340W6@1WPab3bPa200000000:uoH?9Ur000003v010,4*5C\r\n!AIVDM,1,1,,B,13`j7c00P0PG?:8NOgf2K4F<083=,0*02\r\n!AIVDM,1,1,,A,13a6ld00000Hpm@NL1V009f<0@3>,0*25\r\n$GPGLL,5310.81261,N,00525.70578,E,200305.00,A,D*6C\r\n!AIVDM,1,1,,B,16LWib003CPF6cHNT?@RP22:06P<,0*7E\r\n!AIVDM,1,1,,B,?0000M0rDkJPD00,2*66\r\n$GPGBS,200305.00,2.8,2.1,4.4,,,,*4C\r\n!AIVDM,1,1,,B,15E<fj002UPIa><NblDRhR:<00Rf,0*17\r\n!AIVDM,1,1,,B,13aFfb0P00PJgQ2NFp8P0?v:283I,0*59\r\n!AIVDM,1,1,,B,13aJG1wP?w<tSF0l4Q@>4?wv0VP<,0*0F\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAsQ3wRUoP06,0*60\r\n!AIVDM,1,1,,A,13`rcF?P000HRktN@b600?v80<18,0*67\r\n!AIVDM,1,1,,B,13aDrkOP00PHi>tNKB0Epgv:2<1S,0*3A\r\n$GPRMC,200306.00,A,5310.81263,N,00525.70578,E,0.034,,160414,,,D*75\r\n!AIVDM,1,1,,B,13aDr68P00PHj34NKAHh0?v<26P<,0*12\r\n!AIVDM,1,1,,B,13`vB;pP00PHML<NGIHPI?v<26P<,0*41\r\n!AIVDM,1,1,,A,13aGua?P00PHfETNFrv00?v<26P<,0*07\r\n$GPGGA,200306.00,5310.81263,N,00525.70578,E,2,09,1.13,3.0,M,45.7,M,,0000*51\r\n!AIVDM,1,1,,A,13a0Bf700O0K1M0Nac`CB2B<06P<,0*15\r\n!AIVDM,1,1,,B,13aN1EgP0L0HBS@NI@1udwv>26P<,0*2E\r\n!AIVDM,1,1,,B,13aGvAh0000I0wLNQR0b2mr>0H3i,0*32\r\n!AIVDM,1,1,,A,15C78000010GogtNQuk`rm>>0<2l,0*78\r\n$GPGLL,5310.81263,N,00525.70578,E,200306.00,A,D*6D\r\n!AIVDM,1,1,,A,13aI;8wP00PHJBBNGgKh0?v<26P<,0*1A\r\n$GPGBS,200306.00,2.8,2.1,4.4,,,,*4F\r\n!AIVDM,1,1,,A,13bNqJ0P1LPFn8NNK;F3igv>283s,0*67\r\n!AIVDM,1,1,,A,H3aIhVA8t4p0000000000000000,2*00\r\n!AIVDM,1,1,,A,13a?OH?00QPH@LLNLqoU@T4>0<1R,0*73\r\n!AIVDM,1,1,,B,33aQvv5P000HiGhNK=mRKwv>0000,0*3D\r\n!AIVDM,1,1,,A,13u7M`002C0F2hRNcDHPH08<0l2m,0*4A\r\n!AIVDM,1,1,,B,B39k:bP0@8627KWWDnFqkwS5oP06,0*60\r\n!AIVDM,1,1,,B,33IOOb002:0HAG`NcH@9n7p:0000,0*17\r\n!AIVDM,1,1,,B,13aBLqhP000JbdnNLCs@0?v:P0Ss,0*62\r\n!AIVDM,1,1,,B,13`fJDh0000Epm8NE2T3Ib0:00ST,0*5F\r\n!AIVDM,1,1,,B,13aGtCgP00PHi0hNK@g00?v>2@48,0*03\r\n$GPRMC,200307.00,A,5310.81264,N,00525.70579,E,0.006,,160414,,,D*73\r\n!AIVDM,1,1,,B,13aL>Dg000PGa@tNKgdn2lV>0<0a,0*66\r\n$GPGGA,200307.00,5310.81264,N,00525.70579,E,2,09,1.13,2.9,M,45.7,M,,0000*5E\r\n!AIVDM,2,1,5,B,53bh6v4000010LtV221Dg;;N0u84p`F0p5=<5F0N3`84440Ht<P000000000,0*31\r\n!AIVDM,2,2,5,B,00000000000,2*22\r\n!AIVDM,1,1,,B,13aC2`wP00PHJMFNGdqFK?v@2L2W,0*2A\r\n!AIVDM,1,1,,B,13a5jB0P000GoWpNQuqh0?v6084F,0*42\r\n!AIVDM,1,1,,B,13aetV7P0LPHIQ>NL3ET5wv>284G,0*77\r\n!AIVDM,1,1,,B,13b<2H7000PHkH<NKT76gP`>084H,0*4E\r\n!AIVDM,2,1,6,B,53c1LF0000010@4N22099F3CR04A8T44r222220N3h37252d02PTUBCRDliH,0*01\r\n!AIVDM,2,2,6,B,3S888888880,2*41\r\n$GPGLL,5310.81264,N,00525.70579,E,200307.00,A,D*6A\r\n!AIVDM,1,1,,A,33aGti@00`PJSWjNK`?rT`L>R00A,0*34\r\n$GPGBS,200307.00,2.9,2.1,4.4,,,,*4F\r\n!AIVDM,1,1,,A,13aFh>?0010Ivo4NSnnFI9F@0<2g,0*7B\r\n!AIVDM,1,1,,A,H3aIhVDT0000000@8jnpo00`5220,0*6D\r\n!AIVDM,1,1,,A,13aGE00P00PGp08NQuqqqOv@2<1<,0*19\r\n!AIVDO,1,1,,,B3`hBQh0086=Ui7VpAsQ3wSUoP06,0*61\r\n!AIVDM,1,1,,A,13`t=0001FPHAt>NQ<MIgWh>PD1`,0*5D\r\n$GPRMC,200308.00,A,5310.81265,N,00525.70577,E,0.011,,160414,,,D*75\r\n$GPGGA,200308.00,5310.81265,N,00525.70577,E,2,09,1.13,2.8,M,45.7,M,,0000*5F\r\n!AIVDM,1,1,,B,13MhDV001b0EU>nNSP@P=K:B2@4n,0*48\r\n!AIVDM,1,1,,A,13aDBd8P00PHiwBNKC0h0?v@26P<,0*44\r\n!AIVDM,1,1,,B,13a1lH?P?w<tSF0l4Q@>4?wv06P<,0*0E\r\n!AIVDM,1,1,,B,13aEOEPP00PHm?fNK`j;>?wF20Ru,0*04\r\n!AIVDM,1,1,,B,13bjvT?0000H56NNQgkAGb2>06P<,0*26\r\n!AIVDM,1,1,,A,?0000M0rDkJPD00,2*65\r\n!AIVDM,1,1,,B,102EFW3P00PHk`fNK`HIRgvB20S1,0*51\r\n!AIVDM,1,1,,A,13aJJNOP000JKIdNTj>@0?v@00Rg,0*0A\r\n!AIVDM,1,1,,A,33cLV`0P@r0HJePNGk>pC6BB01o@,0*1D\r\n$GPGLL,5310.81265,N,00525.70577,E,200308.00,A,D*6A\r\n$GPGBS,200308.00,2.9,2.1,4.4,,,,*40\r\n!AIVDM,1,1,,A,13bh6v70000HjD2NKOBu3TpB0L1Q,0*39\r\n!AIVDM,1,1,,B,14h?6j003E0GJCTNWCMRjB@B0@56,0*6B\r\n!AIVDM,1,1,,B,13aGFvwP00PHi3fNKCO00?v@20SU,0*36\r\n!AIVDM,1,1,,A,13`gh8700IPInvnNWmPJi8bB085B,0*02\r\n$GPRMC,200309.00,A,5310.81264,N,00525.70578,E,0.009,,160414,,,D*73\r\n$GPGGA,200309.00,5310.81264,N,00525.70578,E,2,09,1.13,2.7,M,45.7,M,,0000*5F\r\n!AIVDM,1,1,,A,19NS5;?P000F7M8NPwFaRwvD285U,0*55\r\n!AIVDM,1,1,,B,E02E381`60b37a6h6Lh@@@@@@@@0;FdI?Ede`00003v000,4*3A\r\n$GPGLL,5310.81264,N,00525.70578,E,200309.00,A,D*65\r\n!AIVDM,1,1,,A,D02E34hA<g6D000000000000000,2*10\r\n$GPGBS,200309.00,2.9,2.1,4.4,,,,*41\r\n"
  },
  {
    "path": "samples/plaka.log",
    "content": "$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,224.44,T,224.44,M,5.81,N,,,D*68\r\n$IIMWV,338,R,13.41,N,A*2C\r\n$IIVWT,039,L,08.10,N,04.17,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095559,,,,00,*4D\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,6005.071,N,02332.346,E,095559,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,4.17,N,,*03\r\n$IIVTG,225.18,T,225.18,M,5.80,N,,,D*69\r\n$IIMWV,313,T,08.16,N,A*2B\r\n$IIVWT,047,L,08.16,N,04.20,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095601,,,,00,*43\r\n$IIDBT,034.31,f,010.46,M,005.65,F*21\r\n$GPGLL,6005.068,N,02332.341,E,095601,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.67,N,03.95,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,4.46,N,,*07\r\n$IIVTG,226.95,T,226.95,M,5.80,N,,,D*69\r\n$IIMWV,336,R,12.82,N,A*2C\r\n$IIVWT,043,L,07.58,N,03.90,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095603,,,,00,*41\r\n$IIDBT,034.28,f,010.45,M,005.64,F*2B\r\n$GPGLL,6005.066,N,02332.336,E,095603,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.56,N,,*06\r\n$IIVTG,228.83,T,228.83,M,5.88,N,,,D*61\r\n$IIMWV,318,T,07.61,N,A*2F\r\n$IIVWT,042,L,07.61,N,03.92,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095605,,,,00,*47\r\n$IIDBT,034.31,f,010.46,M,005.65,F*21\r\n$GPGLL,6005.064,N,02332.331,E,095605,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.52,N,,*02\r\n$IIVTG,229.18,T,229.18,M,5.89,N,,,D*60\r\n$IIMWV,336,R,13.41,N,A*22\r\n$IIVWT,042,L,08.24,N,04.24,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095607,,,,00,*45\r\n$IIDBT,034.31,f,010.46,M,005.65,F*21\r\n$GPGLL,6005.062,N,02332.326,E,095607,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.54,N,,*04\r\n$IIVTG,228.52,T,228.52,M,5.90,N,,,D*68\r\n$IIMWV,318,T,07.93,N,A*22\r\n$IIVWT,042,L,07.93,N,04.08,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095609,,,,00,*4B\r\n$IIDBT,034.41,f,010.49,M,005.67,F*2B\r\n$GPGLL,6005.060,N,02332.321,E,095609,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.68,N,,*0B\r\n$IIVTG,228.85,T,228.85,M,5.82,N,,,D*6B\r\n$IIMWV,337,R,12.82,N,A*2D\r\n$IIVWT,041,L,07.56,N,03.89,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095611,,,,00,*42\r\n$IIDBT,034.41,f,010.49,M,005.67,F*2B\r\n$GPGLL,6005.058,N,02332.317,E,095611,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,229.61,T,229.61,M,5.88,N,,,D*61\r\n$IIMWV,318,T,07.98,N,A*29\r\n$IIVWT,042,L,07.98,N,04.11,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095613,,,,00,*40\r\n$IIDBT,034.44,f,010.50,M,005.67,F*26\r\n$GPGLL,6005.056,N,02332.312,E,095613,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,229.43,T,229.43,M,5.90,N,,,D*68\r\n$IIMWV,339,R,13.21,N,A*2B\r\n$IIVWT,038,L,07.79,N,04.01,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095615,,,,00,*46\r\n$IIDBT,034.51,f,010.52,M,005.68,F*2F\r\n$GPGLL,6005.053,N,02332.307,E,095615,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,227.70,T,227.70,M,5.92,N,,,D*6A\r\n$IIMWV,319,T,08.14,N,A*23\r\n$IIVWT,041,L,08.14,N,04.19,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095617,,,,00,*44\r\n$IIDBT,034.61,f,010.55,M,005.70,F*22\r\n$GPGLL,6005.051,N,02332.302,E,095617,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,225.58,T,225.58,M,5.91,N,,,D*69\r\n$IIMWV,340,R,14.19,N,A*29\r\n$IIVWT,034,L,08.74,N,04.50,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095619,,,,00,*4A\r\n$IIDBT,034.71,f,010.58,M,005.71,F*2F\r\n$GPGLL,6005.049,N,02332.298,E,095619,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,224.17,T,224.17,M,5.90,N,,,D*68\r\n$IIMWV,326,T,08.33,N,A*2A\r\n$IIVWT,034,L,08.33,N,04.29,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095621,,,,00,*41\r\n$IIDBT,034.77,f,010.60,M,005.72,F*21\r\n$GPGLL,6005.046,N,02332.293,E,095621,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.16,N,,*03\r\n$IIVTG,222.89,T,222.89,M,5.90,N,,,D*68\r\n$IIMWV,342,R,13.80,N,A*2C\r\n$IIVWT,032,L,08.18,N,04.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095623,,,,00,*43\r\n$IIDBT,034.87,f,010.63,M,005.74,F*2B\r\n$GPGLL,6005.044,N,02332.289,E,095623,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,221.80,T,221.80,M,5.90,N,,,D*68\r\n$IIMWV,329,T,08.18,N,A*2C\r\n$IIVWT,031,L,08.18,N,04.21,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095625,,,,00,*45\r\n$IIDBT,034.94,f,010.65,M,005.75,F*2E\r\n$GPGLL,6005.040,N,02332.283,E,095625,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,220.77,T,220.77,M,5.90,N,,,D*68\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,030,L,08.16,N,04.20,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095627,,,,00,*47\r\n$IIDBT,035.10,f,010.70,M,005.78,F*2A\r\n$GPGLL,6005.038,N,02332.279,E,095628,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,219.23,T,219.23,M,5.91,N,,,D*69\r\n$IIMWV,332,T,08.06,N,A*29\r\n$IIVWT,029,L,08.06,N,04.15,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095629,,,,00,*49\r\n$IIDBT,035.20,f,010.73,M,005.79,F*2B\r\n$GPGLL,6005.035,N,02332.275,E,095630,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,218.76,T,218.76,M,5.90,N,,,D*68\r\n$IIMWV,345,R,13.80,N,A*2B\r\n$IIVWT,027,L,08.10,N,04.17,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095631,,,,00,*40\r\n$IIDBT,035.30,f,010.76,M,005.81,F*28\r\n$GPGLL,6005.032,N,02332.271,E,095632,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,218.61,T,218.61,M,5.90,N,,,D*68\r\n$IIMWV,330,T,08.20,N,A*2F\r\n$IIVWT,030,L,08.20,N,04.22,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095633,,,,00,*42\r\n$IIDBT,035.39,f,010.79,M,005.83,F*2C\r\n$GPGLL,6005.030,N,02332.267,E,095634,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,217.40,T,217.40,M,5.83,N,,,D*6A\r\n$IIMWV,344,R,14.19,N,A*2D\r\n$IIVWT,027,L,08.49,N,04.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095635,,,,00,*44\r\n$IIDBT,035.53,f,010.83,M,005.85,F*23\r\n$GPGLL,6005.027,N,02332.263,E,095636,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,217.65,T,217.65,M,5.86,N,,,D*6F\r\n$IIMWV,332,T,08.53,N,A*29\r\n$IIVWT,028,L,08.53,N,04.39,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095638,,,,00,*49\r\n$IIDBT,035.69,f,010.88,M,005.88,F*2C\r\n$GPGLL,6005.025,N,02332.259,E,095638,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,217.34,T,217.34,M,5.89,N,,,D*60\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,030,L,08.04,N,04.14,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095640,,,,00,*46\r\n$IIDBT,035.82,f,010.92,M,005.90,F*2B\r\n$GPGLL,6005.022,N,02332.255,E,095640,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,216.61,T,216.61,M,5.90,N,,,D*68\r\n$IIMWV,328,T,08.16,N,A*23\r\n$IIVWT,032,L,08.16,N,04.20,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095642,,,,00,*44\r\n$IIDBT,036.02,f,010.98,M,005.93,F*29\r\n$GPGLL,6005.019,N,02332.251,E,095642,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,216.28,T,216.28,M,5.90,N,,,D*68\r\n$IIMWV,345,R,13.80,N,A*2B\r\n$IIVWT,027,L,08.10,N,04.17,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095644,,,,00,*42\r\n$IIDBT,036.18,f,011.03,M,005.96,F*24\r\n$GPGLL,6005.017,N,02332.247,E,095644,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,216.87,T,216.87,M,5.90,N,,,D*68\r\n$IIMWV,330,T,08.26,N,A*29\r\n$IIVWT,030,L,08.26,N,04.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095646,,,,00,*40\r\n$IIDBT,036.41,f,011.10,M,005.99,F*25\r\n$GPGLL,6005.014,N,02332.244,E,095646,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,215.62,T,215.62,M,5.85,N,,,D*6C\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,029,L,08.22,N,04.23,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095648,,,,00,*4E\r\n$IIDBT,036.64,f,011.17,M,006.03,F*25\r\n$GPGLL,6005.011,N,02332.240,E,095648,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,214.76,T,214.76,M,5.81,N,,,D*68\r\n$IIMWV,330,T,08.61,N,A*2A\r\n$IIVWT,030,L,08.61,N,04.43,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095650,,,,00,*47\r\n$IIDBT,036.87,f,011.24,M,006.07,F*2C\r\n$GPGLL,6005.009,N,02332.236,E,095650,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.26,N,04.25,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,215.13,T,215.13,M,5.85,N,,,D*6C\r\n$IIMWV,342,R,13.80,N,A*2C\r\n$IIVWT,031,L,08.24,N,04.24,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095652,,,,00,*45\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,6005.006,N,02332.232,E,095652,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,215.61,T,215.61,M,5.89,N,,,D*60\r\n$IIMWV,330,T,08.18,N,A*24\r\n$IIVWT,030,L,08.18,N,04.21,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095654,,,,00,*43\r\n$IIDBT,037.40,f,011.40,M,006.16,F*24\r\n$GPGLL,6005.003,N,02332.229,E,095654,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.28,N,,*0E\r\n$IIVTG,215.95,T,215.95,M,5.90,N,,,D*68\r\n$IIMWV,341,R,13.80,N,A*2F\r\n$IIVWT,032,L,08.22,N,04.23,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095656,,,,00,*41\r\n$IIDBT,037.76,f,011.51,M,006.22,F*26\r\n$GPGLL,6005.001,N,02332.225,E,095656,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,216.26,T,216.26,M,5.90,N,,,D*68\r\n$IIMWV,330,T,07.81,N,A*2B\r\n$IIVWT,030,L,07.81,N,04.02,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095658,,,,00,*4F\r\n$IIDBT,038.15,f,011.63,M,006.28,F*27\r\n$GPGLL,6004.998,N,02332.221,E,095658,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,216.29,T,216.29,M,5.87,N,,,D*6E\r\n$IIMWV,344,R,13.80,N,A*2A\r\n$IIVWT,028,L,08.14,N,04.19,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095700,,,,00,*43\r\n$IIDBT,038.58,f,011.76,M,006.35,F*26\r\n$GPGLL,6004.996,N,02332.217,E,095700,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,215.30,T,215.30,M,5.89,N,,,D*60\r\n$IIMWV,331,T,07.79,N,A*2D\r\n$IIVWT,029,L,07.79,N,04.01,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095702,,,,00,*41\r\n$IIDBT,038.90,f,011.86,M,006.41,F*2E\r\n$GPGLL,6004.993,N,02332.214,E,095702,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.31,N,,*06\r\n$IIVTG,213.90,T,213.90,M,5.90,N,,,D*68\r\n$IIMWV,344,R,13.80,N,A*2A\r\n$IIVWT,028,L,08.10,N,04.17,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095704,,,,00,*47\r\n$IIDBT,039.00,f,011.89,M,006.42,F*2A\r\n$GPGLL,6004.990,N,02332.210,E,095704,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,214.12,T,214.12,M,5.90,N,,,D*68\r\n$IIMWV,332,T,08.55,N,A*2F\r\n$IIVWT,028,L,08.55,N,04.40,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095706,,,,00,*45\r\n$IIDBT,039.13,f,011.93,M,006.44,F*25\r\n$GPGLL,6004.987,N,02332.206,E,095706,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,214.26,T,214.26,M,5.90,N,,,D*68\r\n$IIMWV,346,R,13.80,N,A*28\r\n$IIVWT,025,L,08.02,N,04.13,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095708,,,,00,*4B\r\n$IIDBT,039.17,f,011.94,M,006.45,F*27\r\n$GPGLL,6004.983,N,02332.201,E,095708,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,214.37,T,214.37,M,5.90,N,,,D*68\r\n$IIMWV,332,T,08.08,N,A*27\r\n$IIVWT,029,L,08.08,N,04.16,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095710,,,,00,*42\r\n$IIDBT,039.17,f,011.94,M,006.45,F*27\r\n$GPGLL,6004.981,N,02332.197,E,095711,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,213.57,T,213.57,M,5.81,N,,,D*68\r\n$IIMWV,344,R,14.19,N,A*2D\r\n$IIVWT,028,L,08.41,N,04.33,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095712,,,,00,*40\r\n$IIDBT,039.04,f,011.90,M,006.43,F*27\r\n$GPGLL,6004.978,N,02332.194,E,095713,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,211.77,T,211.77,M,5.80,N,,,D*69\r\n$IIMWV,333,T,08.53,N,A*28\r\n$IIVWT,027,L,08.53,N,04.39,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095714,,,,00,*46\r\n$IIDBT,038.84,f,011.84,M,006.39,F*26\r\n$GPGLL,6004.975,N,02332.191,E,095715,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.28,N,,*0E\r\n$IIVTG,210.52,T,210.52,M,5.80,N,,,D*69\r\n$IIMWV,344,R,13.80,N,A*2A\r\n$IIVWT,028,L,08.12,N,04.18,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095716,,,,00,*44\r\n$IIDBT,038.54,f,011.75,M,006.35,F*29\r\n$GPGLL,6004.972,N,02332.187,E,095717,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,211.00,T,211.00,M,5.80,N,,,D*69\r\n$IIMWV,331,T,08.04,N,A*28\r\n$IIVWT,029,L,08.04,N,04.14,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095718,,,,00,*4A\r\n$IIDBT,037.66,f,011.48,M,006.20,F*2D\r\n$GPGLL,6004.970,N,02332.184,E,095719,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,210.90,T,210.90,M,5.80,N,,,D*69\r\n$IIMWV,345,R,13.80,N,A*2B\r\n$IIVWT,027,L,07.91,N,04.07,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095720,,,,00,*41\r\n$IIDBT,036.58,f,011.15,M,006.02,F*29\r\n$GPGLL,6004.967,N,02332.181,E,095721,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,211.62,T,211.62,M,5.80,N,,,D*69\r\n$IIMWV,335,T,07.98,N,A*26\r\n$IIVWT,025,L,07.98,N,04.11,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095723,,,,00,*42\r\n$IIDBT,034.94,f,010.65,M,005.75,F*2E\r\n$GPGLL,6004.964,N,02332.177,E,095723,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,211.21,T,211.21,M,5.80,N,,,D*69\r\n$IIMWV,345,R,14.19,N,A*2C\r\n$IIVWT,027,L,08.43,N,04.34,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095725,,,,00,*44\r\n$IIDBT,033.13,f,010.10,M,005.45,F*27\r\n$GPGLL,6004.961,N,02332.174,E,095725,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.51,N,,*00\r\n$IIVTG,209.77,T,209.77,M,5.80,N,,,D*69\r\n$IIMWV,335,T,08.39,N,A*22\r\n$IIVWT,025,L,08.39,N,04.32,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095727,,,,00,*46\r\n$IIDBT,031.36,f,009.56,M,005.16,F*2E\r\n$GPGLL,6004.959,N,02332.171,E,095727,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,209.07,T,209.07,M,5.80,N,,,D*69\r\n$IIMWV,345,R,14.19,N,A*2C\r\n$IIVWT,026,L,08.45,N,04.35,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095729,,,,00,*48\r\n$IIDBT,028.73,f,008.76,M,004.73,F*26\r\n$GPGLL,6004.956,N,02332.168,E,095729,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,210.09,T,210.09,M,5.80,N,,,D*69\r\n$IIMWV,333,T,08.43,N,A*29\r\n$IIVWT,027,L,08.43,N,04.34,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095731,,,,00,*41\r\n$IIDBT,027.16,f,008.28,M,004.47,F*26\r\n$GPGLL,6004.953,N,02332.165,E,095731,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,210.60,T,210.60,M,5.80,N,,,D*69\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,026,L,08.63,N,04.44,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095733,,,,00,*43\r\n$IIDBT,025.65,f,007.82,M,004.22,F*2C\r\n$GPGLL,6004.951,N,02332.161,E,095733,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,210.90,T,210.90,M,5.75,N,,,D*63\r\n$IIMWV,331,T,08.78,N,A*23\r\n$IIVWT,029,L,08.78,N,04.52,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095735,,,,00,*45\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,6004.948,N,02332.158,E,095735,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,210.62,T,210.62,M,5.74,N,,,D*62\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,026,L,08.65,N,04.45,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095737,,,,00,*47\r\n$IIDBT,023.81,f,007.26,M,003.92,F*22\r\n$GPGLL,6004.945,N,02332.155,E,095737,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,210.23,T,210.23,M,5.78,N,,,D*6E\r\n$IIMWV,332,T,08.57,N,A*2D\r\n$IIVWT,028,L,08.57,N,04.41,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095739,,,,00,*49\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,6004.942,N,02332.152,E,095739,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,209.51,T,209.51,M,5.80,N,,,D*69\r\n$IIMWV,343,R,14.19,N,A*2A\r\n$IIVWT,029,L,08.61,N,04.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095741,,,,00,*46\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,6004.939,N,02332.149,E,095741,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.34,N,,*03\r\n$IIVTG,209.48,T,209.48,M,5.80,N,,,D*69\r\n$IIMWV,333,T,08.04,N,A*2A\r\n$IIVWT,027,L,08.04,N,04.14,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095743,,,,00,*44\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,6004.937,N,02332.146,E,095743,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.31,N,,*06\r\n$IIVTG,209.47,T,209.47,M,5.80,N,,,D*69\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,029,L,08.22,N,04.23,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095745,,,,00,*42\r\n$IIDBT,022.83,f,006.96,M,003.76,F*21\r\n$GPGLL,6004.934,N,02332.142,E,095745,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,209.22,T,209.22,M,5.72,N,,,D*64\r\n$IIMWV,332,T,08.10,N,A*2E\r\n$IIVWT,028,L,08.10,N,04.17,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095747,,,,00,*40\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,6004.931,N,02332.139,E,095747,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,209.30,T,209.30,M,5.71,N,,,D*67\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,030,L,08.22,N,04.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095749,,,,00,*4E\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,6004.928,N,02332.136,E,095749,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,210.48,T,210.48,M,5.70,N,,,D*66\r\n$IIMWV,331,T,08.47,N,A*2F\r\n$IIVWT,029,L,08.47,N,04.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095751,,,,00,*47\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,6004.924,N,02332.131,E,095752,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,210.43,T,210.43,M,5.79,N,,,D*6F\r\n$IIMWV,344,R,14.19,N,A*2D\r\n$IIVWT,028,L,08.41,N,04.33,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095753,,,,00,*45\r\n$IIDBT,023.81,f,007.26,M,003.92,F*22\r\n$GPGLL,6004.921,N,02332.128,E,095754,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,210.38,T,210.38,M,5.80,N,,,D*69\r\n$IIMWV,333,T,08.41,N,A*2B\r\n$IIVWT,027,L,08.41,N,04.33,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095755,,,,00,*43\r\n$IIDBT,024.08,f,007.34,M,003.96,F*23\r\n$GPGLL,6004.919,N,02332.125,E,095756,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,210.25,T,210.25,M,5.80,N,,,D*69\r\n$IIMWV,343,R,14.19,N,A*2A\r\n$IIVWT,028,L,08.51,N,04.38,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095757,,,,00,*41\r\n$IIDBT,024.67,f,007.52,M,004.06,F*24\r\n$GPGLL,6004.916,N,02332.122,E,095758,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,208.71,T,208.71,M,5.72,N,,,D*64\r\n$IIMWV,333,T,08.47,N,A*2D\r\n$IIVWT,028,L,08.47,N,04.36,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095759,,,,00,*4F\r\n$IIDBT,025.49,f,007.77,M,004.19,F*20\r\n$GPGLL,6004.913,N,02332.118,E,095800,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,208.77,T,208.77,M,5.71,N,,,D*67\r\n$IIMWV,344,R,14.38,N,A*2E\r\n$IIVWT,028,L,08.82,N,04.54,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095801,,,,00,*4D\r\n$IIDBT,025.68,f,007.83,M,004.23,F*21\r\n$GPGLL,6004.910,N,02332.115,E,095802,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,209.32,T,209.32,M,5.70,N,,,D*66\r\n$IIMWV,332,T,08.82,N,A*25\r\n$IIVWT,028,L,08.82,N,04.54,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095804,,,,00,*48\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,6004.907,N,02332.112,E,095804,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,209.68,T,209.68,M,5.70,N,,,D*66\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,027,L,08.59,N,04.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095806,,,,00,*4A\r\n$IIDBT,027.36,f,008.34,M,004.50,F*2F\r\n$GPGLL,6004.905,N,02332.109,E,095806,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,210.95,T,210.95,M,5.70,N,,,D*66\r\n$IIMWV,331,T,08.72,N,A*29\r\n$IIVWT,029,L,08.72,N,04.49,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095808,,,,00,*44\r\n$IIDBT,027.88,f,008.50,M,004.59,F*21\r\n$GPGLL,6004.902,N,02332.106,E,095808,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,211.59,T,211.59,M,5.70,N,,,D*66\r\n$IIMWV,342,R,14.19,N,A*2B\r\n$IIVWT,031,L,08.63,N,04.44,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095810,,,,00,*4D\r\n$IIDBT,028.34,f,008.64,M,004.67,F*23\r\n$GPGLL,6004.899,N,02332.102,E,095810,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,211.70,T,211.70,M,5.75,N,,,D*63\r\n$IIMWV,330,T,08.55,N,A*2D\r\n$IIVWT,030,L,08.55,N,04.40,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095812,,,,00,*4F\r\n$IIDBT,028.57,f,008.71,M,004.70,F*24\r\n$GPGLL,6004.897,N,02332.099,E,095812,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,211.98,T,211.98,M,5.79,N,,,D*6F\r\n$IIMWV,342,R,14.19,N,A*2B\r\n$IIVWT,031,L,08.63,N,04.44,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095814,,,,00,*49\r\n$IIDBT,029.16,f,008.89,M,004.80,F*28\r\n$GPGLL,6004.894,N,02332.095,E,095814,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.21,N,,*07\r\n$IIVTG,211.74,T,211.74,M,5.75,N,,,D*63\r\n$IIMWV,330,T,08.14,N,A*28\r\n$IIVWT,030,L,08.14,N,04.19,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095816,,,,00,*4B\r\n$IIDBT,029.95,f,009.13,M,004.93,F*23\r\n$GPGLL,6004.891,N,02332.092,E,095816,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,211.66,T,211.66,M,5.79,N,,,D*6F\r\n$IIMWV,342,R,14.19,N,A*2B\r\n$IIVWT,032,L,08.49,N,04.37,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095818,,,,00,*45\r\n$IIDBT,030.21,f,009.21,M,004.97,F*21\r\n$GPGLL,6004.889,N,02332.089,E,095818,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.61,N,04.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,210.81,T,210.81,M,5.75,N,,,D*63\r\n$IIMWV,331,T,08.61,N,A*2B\r\n$IIVWT,029,L,08.61,N,04.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095820,,,,00,*4E\r\n$IIDBT,030.47,f,009.29,M,005.02,F*24\r\n$GPGLL,6004.886,N,02332.086,E,095820,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,208.95,T,208.95,M,5.74,N,,,D*62\r\n$IIMWV,341,R,14.19,N,A*28\r\n$IIVWT,031,L,08.72,N,04.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095822,,,,00,*4C\r\n$IIDBT,031.06,f,009.47,M,005.11,F*2A\r\n$GPGLL,6004.883,N,02332.083,E,095822,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,4.81,N,,*0C\r\n$IIVTG,208.89,T,208.89,M,5.71,N,,,D*67\r\n$IIMWV,323,T,08.45,N,A*2E\r\n$IIVWT,037,L,08.45,N,04.35,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095824,,,,00,*4A\r\n$IIDBT,031.59,f,009.63,M,005.20,F*24\r\n$GPGLL,6004.880,N,02332.079,E,095824,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,210.92,T,210.92,M,5.70,N,,,D*66\r\n$IIMWV,340,R,13.80,N,A*2E\r\n$IIVWT,035,L,08.37,N,04.31,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095826,,,,00,*48\r\n$IIDBT,032.11,f,009.79,M,005.29,F*29\r\n$GPGLL,6004.878,N,02332.076,E,095826,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,214.13,T,214.13,M,5.70,N,,,D*66\r\n$IIMWV,325,T,08.37,N,A*2D\r\n$IIVWT,036,L,08.37,N,04.31,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095828,,,,00,*46\r\n$IIDBT,032.44,f,009.89,M,005.34,F*2A\r\n$GPGLL,6004.875,N,02332.072,E,095828,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,216.21,T,216.21,M,5.70,N,,,D*66\r\n$IIMWV,340,R,13.80,N,A*2E\r\n$IIVWT,035,L,08.39,N,04.32,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095830,,,,00,*4F\r\n$IIDBT,032.97,f,010.05,M,005.43,F*28\r\n$GPGLL,6004.873,N,02332.068,E,095830,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,216.23,T,216.23,M,5.70,N,,,D*66\r\n$IIMWV,325,T,08.45,N,A*28\r\n$IIVWT,035,L,08.45,N,04.35,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095832,,,,00,*4D\r\n$IIDBT,033.36,f,010.17,M,005.49,F*2B\r\n$GPGLL,6004.869,N,02332.063,E,095832,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.87,N,04.05,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,214.68,T,214.68,M,5.70,N,,,D*66\r\n$IIMWV,342,R,13.80,N,A*2C\r\n$IIVWT,032,L,08.22,N,04.23,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095834,,,,00,*4B\r\n$IIDBT,034.11,f,010.40,M,005.62,F*22\r\n$GPGLL,6004.866,N,02332.060,E,095835,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,213.56,T,213.56,M,5.78,N,,,D*6E\r\n$IIMWV,331,T,08.20,N,A*2E\r\n$IIVWT,029,L,08.20,N,04.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095836,,,,00,*49\r\n$IIDBT,034.64,f,010.56,M,005.70,F*24\r\n$GPGLL,6004.863,N,02332.056,E,095837,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,212.49,T,212.49,M,5.79,N,,,D*6F\r\n$IIMWV,343,R,13.80,N,A*2D\r\n$IIVWT,029,L,08.14,N,04.19,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095838,,,,00,*47\r\n$IIDBT,035.33,f,010.77,M,005.82,F*29\r\n$GPGLL,6004.861,N,02332.053,E,095839,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,211.37,T,211.37,M,5.72,N,,,D*64\r\n$IIMWV,332,T,07.67,N,A*21\r\n$IIVWT,028,L,07.67,N,03.95,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095840,,,,00,*48\r\n$IIDBT,035.69,f,010.88,M,005.88,F*2C\r\n$GPGLL,6004.858,N,02332.049,E,095841,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,211.42,T,211.42,M,5.71,N,,,D*67\r\n$IIMWV,345,R,13.41,N,A*26\r\n$IIVWT,028,L,07.61,N,03.92,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095842,,,,00,*4A\r\n$IIDBT,036.41,f,011.10,M,005.99,F*25\r\n$GPGLL,6004.855,N,02332.046,E,095843,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,210.93,T,210.93,M,5.70,N,,,D*66\r\n$IIMWV,338,T,07.50,N,A*2F\r\n$IIVWT,022,L,07.50,N,03.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095844,,,,00,*4C\r\n$IIDBT,037.07,f,011.30,M,006.10,F*26\r\n$GPGLL,6004.852,N,02332.043,E,095845,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,208.83,T,208.83,M,5.78,N,,,D*6E\r\n$IIMWV,350,R,14.19,N,A*28\r\n$IIVWT,018,L,08.20,N,04.22,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095847,,,,00,*4F\r\n$IIDBT,037.49,f,011.43,M,006.17,F*2F\r\n$GPGLL,6004.849,N,02332.040,E,095847,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,206.51,T,206.51,M,5.72,N,,,D*64\r\n$IIMWV,339,T,07.95,N,A*27\r\n$IIVWT,021,L,07.95,N,04.09,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095849,,,,00,*41\r\n$IIDBT,038.15,f,011.63,M,006.28,F*27\r\n$GPGLL,6004.847,N,02332.037,E,095849,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,206.30,T,206.30,M,5.70,N,,,D*66\r\n$IIMWV,352,R,13.80,N,A*2D\r\n$IIVWT,015,L,07.79,N,04.01,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095851,,,,00,*48\r\n$IIDBT,038.38,f,011.70,M,006.32,F*21\r\n$GPGLL,6004.844,N,02332.034,E,095851,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,207.18,T,207.18,M,5.70,N,,,D*66\r\n$IIMWV,340,T,08.53,N,A*2C\r\n$IIVWT,020,L,08.53,N,04.39,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095853,,,,00,*4A\r\n$IIDBT,038.84,f,011.84,M,006.39,F*26\r\n$GPGLL,6004.841,N,02332.031,E,095853,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.26,N,04.25,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,208.47,T,208.47,M,5.70,N,,,D*66\r\n$IIMWV,351,R,14.38,N,A*2A\r\n$IIVWT,015,L,08.30,N,04.27,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095855,,,,00,*4C\r\n$IIDBT,039.17,f,011.94,M,006.45,F*27\r\n$GPGLL,6004.838,N,02332.028,E,095855,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,208.19,T,208.19,M,5.70,N,,,D*66\r\n$IIMWV,349,T,08.70,N,A*24\r\n$IIVWT,011,L,08.70,N,04.48,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095857,,,,00,*4E\r\n$IIDBT,039.46,f,012.03,M,006.50,F*2A\r\n$GPGLL,6004.835,N,02332.025,E,095857,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,207.10,T,207.10,M,5.78,N,,,D*6E\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,018,L,08.90,N,04.58,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095859,,,,00,*40\r\n$IIDBT,039.79,f,012.13,M,006.55,F*22\r\n$GPGLL,6004.832,N,02332.023,E,095859,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,206.02,T,206.02,M,5.79,N,,,D*6F\r\n$IIMWV,347,T,08.45,N,A*2C\r\n$IIVWT,013,L,08.45,N,04.35,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095901,,,,00,*4C\r\n$IIDBT,040.05,f,012.21,M,006.59,F*2A\r\n$GPGLL,6004.830,N,02332.020,E,095901,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,202.86,T,202.86,M,5.75,N,,,D*63\r\n$IIMWV,350,R,14.19,N,A*28\r\n$IIVWT,017,L,08.28,N,04.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095903,,,,00,*4E\r\n$IIDBT,040.28,f,012.28,M,006.63,F*25\r\n$GPGLL,6004.827,N,02332.018,E,095903,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,203.81,T,203.81,M,5.71,N,,,D*67\r\n$IIMWV,343,T,08.53,N,A*2F\r\n$IIVWT,017,L,08.53,N,04.39,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095905,,,,00,*48\r\n$IIDBT,040.58,f,012.37,M,006.68,F*27\r\n$GPGLL,6004.824,N,02332.015,E,095905,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,204.30,T,204.30,M,5.78,N,,,D*6E\r\n$IIMWV,351,R,14.38,N,A*2A\r\n$IIVWT,016,L,08.43,N,04.34,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095907,,,,00,*4A\r\n$IIDBT,040.77,f,012.43,M,006.71,F*21\r\n$GPGLL,6004.821,N,02332.012,E,095907,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,204.93,T,204.93,M,5.77,N,,,D*61\r\n$IIMWV,343,T,08.37,N,A*2D\r\n$IIVWT,017,L,08.37,N,04.31,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095909,,,,00,*44\r\n$IIDBT,041.10,f,012.53,M,006.77,F*26\r\n$GPGLL,6004.818,N,02332.010,E,095909,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,205.05,T,205.05,M,5.77,N,,,D*61\r\n$IIMWV,350,R,14.38,N,A*2B\r\n$IIVWT,017,L,08.43,N,04.34,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095911,,,,00,*4D\r\n$IIDBT,041.27,f,012.58,M,006.79,F*27\r\n$GPGLL,6004.815,N,02332.007,E,095911,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,205.07,T,205.07,M,5.74,N,,,D*62\r\n$IIMWV,344,T,08.33,N,A*2E\r\n$IIVWT,016,L,08.33,N,04.29,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095913,,,,00,*4F\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,6004.812,N,02332.004,E,095913,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,204.87,T,204.87,M,5.71,N,,,D*67\r\n$IIMWV,348,R,14.38,N,A*22\r\n$IIVWT,021,L,08.51,N,04.38,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095915,,,,00,*49\r\n$IIDBT,041.43,f,012.63,M,006.82,F*29\r\n$GPGLL,6004.808,N,02332.001,E,095915,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,205.02,T,205.02,M,5.70,N,,,D*66\r\n$IIMWV,345,T,08.72,N,A*2A\r\n$IIVWT,015,L,08.72,N,04.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095917,,,,00,*4B\r\n$IIDBT,041.46,f,012.64,M,006.83,F*2A\r\n$GPGLL,6004.805,N,02331.998,E,095918,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,204.83,T,204.83,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.38,N,A*23\r\n$IIVWT,020,L,08.47,N,04.36,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095919,,,,00,*45\r\n$IIDBT,041.53,f,012.66,M,006.84,F*2B\r\n$GPGLL,6004.802,N,02331.995,E,095920,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,205.28,T,205.28,M,5.70,N,,,D*66\r\n$IIMWV,343,T,08.43,N,A*2E\r\n$IIVWT,017,L,08.43,N,04.34,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095921,,,,00,*4E\r\n$IIDBT,041.53,f,012.66,M,006.84,F*2B\r\n$GPGLL,6004.799,N,02331.993,E,095922,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,205.92,T,205.92,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.19,N,A*20\r\n$IIVWT,020,L,08.37,N,04.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095923,,,,00,*4C\r\n$IIDBT,041.60,f,012.68,M,006.85,F*24\r\n$GPGLL,6004.796,N,02331.990,E,095924,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,205.93,T,205.93,M,5.70,N,,,D*66\r\n$IIMWV,342,T,08.55,N,A*28\r\n$IIVWT,018,L,08.55,N,04.40,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095925,,,,00,*4A\r\n$IIDBT,041.60,f,012.68,M,006.85,F*24\r\n$GPGLL,6004.794,N,02331.987,E,095926,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,205.73,T,205.73,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,019,L,08.86,N,04.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095927,,,,00,*48\r\n$IIDBT,041.66,f,012.70,M,006.86,F*28\r\n$GPGLL,6004.791,N,02331.985,E,095928,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,205.56,T,205.56,M,5.70,N,,,D*66\r\n$IIMWV,343,T,08.78,N,A*26\r\n$IIVWT,017,L,08.78,N,04.52,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095930,,,,00,*4E\r\n$IIDBT,041.69,f,012.71,M,006.87,F*27\r\n$GPGLL,6004.788,N,02331.982,E,095930,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,205.74,T,205.74,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,018,L,09.01,N,04.64,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095932,,,,00,*4C\r\n$IIDBT,041.76,f,012.73,M,006.88,F*24\r\n$GPGLL,6004.785,N,02331.979,E,095932,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.94,N,04.60,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.16,T,205.16,M,5.70,N,,,D*66\r\n$IIMWV,340,T,08.96,N,A*25\r\n$IIVWT,020,L,08.96,N,04.61,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095934,,,,00,*4A\r\n$IIDBT,041.73,f,012.72,M,006.87,F*2F\r\n$GPGLL,6004.782,N,02331.976,E,095934,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,204.92,T,204.92,M,5.70,N,,,D*66\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,019,L,09.33,N,04.80,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095936,,,,00,*48\r\n$IIDBT,041.79,f,012.74,M,006.88,F*2C\r\n$GPGLL,6004.779,N,02331.974,E,095936,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,205.90,T,205.90,M,5.75,N,,,D*63\r\n$IIMWV,339,T,08.86,N,A*2A\r\n$IIVWT,021,L,08.86,N,04.56,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095938,,,,00,*46\r\n$IIDBT,041.73,f,012.72,M,006.87,F*2F\r\n$GPGLL,6004.776,N,02331.971,E,095938,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,206.35,T,206.35,M,5.74,N,,,D*62\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,019,L,08.88,N,04.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095940,,,,00,*49\r\n$IIDBT,041.79,f,012.74,M,006.88,F*2C\r\n$GPGLL,6004.773,N,02331.968,E,095940,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.92,N,04.59,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,205.91,T,205.91,M,5.71,N,,,D*67\r\n$IIMWV,342,T,08.94,N,A*25\r\n$IIVWT,018,L,08.94,N,04.60,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095942,,,,00,*4B\r\n$IIDBT,041.82,f,012.75,M,006.89,F*28\r\n$GPGLL,6004.770,N,02331.965,E,095942,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,205.48,T,205.48,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,019,L,08.90,N,04.58,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095944,,,,00,*4D\r\n$IIDBT,041.82,f,012.75,M,006.89,F*28\r\n$GPGLL,6004.768,N,02331.963,E,095944,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,205.42,T,205.42,M,5.70,N,,,D*66\r\n$IIMWV,340,T,09.27,N,A*2E\r\n$IIVWT,020,L,09.27,N,04.77,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095946,,,,00,*4F\r\n$IIDBT,041.86,f,012.76,M,006.89,F*2F\r\n$GPGLL,6004.765,N,02331.960,E,095946,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,205.36,T,205.36,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,020,L,09.00,N,04.63,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095948,,,,00,*41\r\n$IIDBT,041.89,f,012.77,M,006.90,F*29\r\n$GPGLL,6004.762,N,02331.957,E,095948,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.00,N,04.63,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,205.76,T,205.76,M,5.70,N,,,D*66\r\n$IIMWV,338,T,09.31,N,A*26\r\n$IIVWT,022,L,09.31,N,04.79,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095950,,,,00,*48\r\n$IIDBT,041.86,f,012.76,M,006.89,F*2F\r\n$GPGLL,6004.759,N,02331.954,E,095950,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,205.69,T,205.69,M,5.73,N,,,D*65\r\n$IIMWV,347,R,15.16,N,A*20\r\n$IIVWT,022,L,09.40,N,04.84,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095952,,,,00,*4A\r\n$IIDBT,041.89,f,012.77,M,006.90,F*29\r\n$GPGLL,6004.756,N,02331.951,E,095952,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,206.02,T,206.02,M,5.71,N,,,D*67\r\n$IIMWV,339,T,09.34,N,A*22\r\n$IIVWT,021,L,09.34,N,04.81,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095954,,,,00,*4C\r\n$IIDBT,041.92,f,012.78,M,006.90,F*2C\r\n$GPGLL,6004.753,N,02331.948,E,095954,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,206.26,T,206.26,M,5.70,N,,,D*66\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,020,L,09.27,N,04.77,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095956,,,,00,*4E\r\n$IIDBT,041.96,f,012.79,M,006.91,F*28\r\n$GPGLL,6004.750,N,02331.946,E,095956,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,206.02,T,206.02,M,5.75,N,,,D*63\r\n$IIMWV,341,T,09.31,N,A*28\r\n$IIVWT,019,L,09.31,N,04.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,095958,,,,00,*40\r\n$IIDBT,041.99,f,012.80,M,006.91,F*21\r\n$GPGLL,6004.746,N,02331.942,E,095958,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,205.65,T,205.65,M,5.79,N,,,D*6F\r\n$IIMWV,347,R,15.16,N,A*20\r\n$IIVWT,021,L,09.31,N,04.79,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100000,,,,00,*49\r\n$IIDBT,042.02,f,012.81,M,006.92,F*22\r\n$GPGLL,6004.743,N,02331.939,E,100001,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.25,N,04.76,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,205.86,T,205.86,M,5.80,N,,,D*69\r\n$IIMWV,340,T,09.33,N,A*2B\r\n$IIVWT,020,L,09.33,N,04.80,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100002,,,,00,*4B\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,6004.740,N,02331.936,E,100003,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,207.36,T,207.36,M,5.72,N,,,D*64\r\n$IIMWV,347,R,15.16,N,A*20\r\n$IIVWT,021,L,09.31,N,04.79,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100004,,,,00,*4D\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,6004.737,N,02331.933,E,100005,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,208.39,T,208.39,M,5.71,N,,,D*67\r\n$IIMWV,341,T,09.33,N,A*2A\r\n$IIVWT,019,L,09.33,N,04.80,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100006,,,,00,*4F\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,6004.735,N,02331.930,E,100007,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,208.32,T,208.32,M,5.70,N,,,D*66\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,018,L,09.29,N,04.78,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100008,,,,00,*41\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,6004.732,N,02331.927,E,100009,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,207.63,T,207.63,M,5.78,N,,,D*6E\r\n$IIMWV,341,T,09.31,N,A*28\r\n$IIVWT,019,L,09.31,N,04.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100010,,,,00,*48\r\n$IIDBT,042.12,f,012.84,M,006.94,F*20\r\n$GPGLL,6004.729,N,02331.924,E,100011,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,207.06,T,207.06,M,5.79,N,,,D*6F\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,020,L,09.25,N,04.76,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100013,,,,00,*4B\r\n$IIDBT,042.19,f,012.86,M,006.95,F*28\r\n$GPGLL,6004.726,N,02331.921,E,100013,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,206.89,T,206.89,M,5.80,N,,,D*69\r\n$IIMWV,343,T,09.17,N,A*2E\r\n$IIVWT,017,L,09.17,N,04.72,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100015,,,,00,*4D\r\n$IIDBT,042.22,f,012.87,M,006.95,F*21\r\n$GPGLL,6004.723,N,02331.918,E,100015,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,207.70,T,207.70,M,5.77,N,,,D*61\r\n$IIMWV,350,R,14.77,N,A*20\r\n$IIVWT,018,L,08.78,N,04.52,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100017,,,,00,*4F\r\n$IIDBT,042.25,f,012.88,M,006.96,F*2A\r\n$GPGLL,6004.720,N,02331.915,E,100017,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,206.80,T,206.80,M,5.72,N,,,D*64\r\n$IIMWV,341,T,08.86,N,A*25\r\n$IIVWT,019,L,08.86,N,04.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100019,,,,00,*41\r\n$IIDBT,042.28,f,012.89,M,006.96,F*26\r\n$GPGLL,6004.717,N,02331.913,E,100019,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,204.30,T,204.30,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,019,L,08.96,N,04.61,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100021,,,,00,*4A\r\n$IIDBT,042.35,f,012.91,M,006.97,F*22\r\n$GPGLL,6004.715,N,02331.910,E,100021,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,204.37,T,204.37,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.92,N,A*2E\r\n$IIVWT,022,L,08.92,N,04.59,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100023,,,,00,*48\r\n$IIDBT,042.35,f,012.91,M,006.97,F*22\r\n$GPGLL,6004.712,N,02331.908,E,100023,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.01,N,04.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.47,T,205.47,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,020,L,08.96,N,04.61,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100025,,,,00,*4E\r\n$IIDBT,042.38,f,012.92,M,006.98,F*23\r\n$GPGLL,6004.709,N,02331.905,E,100025,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,207.16,T,207.16,M,5.70,N,,,D*66\r\n$IIMWV,337,T,08.55,N,A*2A\r\n$IIVWT,024,L,08.55,N,04.40,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100027,,,,00,*4C\r\n$IIDBT,042.42,f,012.93,M,006.98,F*2F\r\n$GPGLL,6004.706,N,02331.902,E,100027,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,207.74,T,207.74,M,5.70,N,,,D*66\r\n$IIMWV,346,R,14.38,N,A*2C\r\n$IIVWT,023,L,08.65,N,04.45,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100029,,,,00,*42\r\n$IIDBT,042.48,f,012.95,M,006.99,F*22\r\n$GPGLL,6004.703,N,02331.899,E,100029,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,207.69,T,207.69,M,5.70,N,,,D*66\r\n$IIMWV,338,T,09.01,N,A*25\r\n$IIVWT,023,L,09.01,N,04.64,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100031,,,,00,*4B\r\n$IIDBT,042.51,f,012.96,M,007.00,F*28\r\n$GPGLL,6004.701,N,02331.896,E,100031,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.92,N,04.59,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,208.82,T,208.82,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.77,N,A*26\r\n$IIVWT,022,L,09.03,N,04.65,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100033,,,,00,*49\r\n$IIDBT,042.55,f,012.97,M,007.01,F*2C\r\n$GPGLL,6004.698,N,02331.893,E,100033,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,209.26,T,209.26,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.94,N,A*28\r\n$IIVWT,022,L,08.94,N,04.60,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100035,,,,00,*4F\r\n$IIDBT,042.61,f,012.99,M,007.02,F*26\r\n$GPGLL,6004.695,N,02331.890,E,100035,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,208.94,T,208.94,M,5.73,N,,,D*65\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,026,L,08.78,N,04.52,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100037,,,,00,*4D\r\n$IIDBT,042.58,f,012.98,M,007.01,F*2E\r\n$GPGLL,6004.692,N,02331.887,E,100037,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,208.41,T,208.41,M,5.71,N,,,D*67\r\n$IIMWV,334,T,08.65,N,A*2A\r\n$IIVWT,026,L,08.65,N,04.45,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100039,,,,00,*43\r\n$IIDBT,042.64,f,013.00,M,007.02,F*22\r\n$GPGLL,6004.689,N,02331.883,E,100039,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.34,N,,*03\r\n$IIVTG,208.77,T,208.77,M,5.70,N,,,D*66\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,026,L,08.61,N,04.43,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100041,,,,00,*4C\r\n$IIDBT,042.68,f,013.01,M,007.03,F*2E\r\n$GPGLL,6004.685,N,02331.879,E,100041,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,209.64,T,209.64,M,5.70,N,,,D*66\r\n$IIMWV,336,T,09.05,N,A*2F\r\n$IIVWT,024,L,09.05,N,04.66,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100043,,,,00,*4E\r\n$IIDBT,042.74,f,013.03,M,007.04,F*26\r\n$GPGLL,6004.683,N,02331.876,E,100044,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,209.37,T,209.37,M,5.70,N,,,D*66\r\n$IIMWV,345,R,14.77,N,A*24\r\n$IIVWT,025,L,09.01,N,04.64,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100045,,,,00,*48\r\n$IIDBT,042.74,f,013.03,M,007.04,F*26\r\n$GPGLL,6004.680,N,02331.873,E,100046,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,208.42,T,208.42,M,5.70,N,,,D*66\r\n$IIMWV,335,T,09.23,N,A*28\r\n$IIVWT,025,L,09.23,N,04.75,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100047,,,,00,*4A\r\n$IIDBT,042.78,f,013.04,M,007.04,F*2D\r\n$GPGLL,6004.677,N,02331.870,E,100048,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.01,N,04.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,208.63,T,208.63,M,5.70,N,,,D*66\r\n$IIMWV,345,R,14.38,N,A*2F\r\n$IIVWT,025,L,08.74,N,04.50,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100049,,,,00,*44\r\n$IIDBT,042.78,f,013.04,M,007.04,F*2D\r\n$GPGLL,6004.674,N,02331.866,E,100050,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,210.01,T,210.01,M,5.70,N,,,D*66\r\n$IIMWV,336,T,08.61,N,A*2C\r\n$IIVWT,024,L,08.61,N,04.43,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100051,,,,00,*4D\r\n$IIDBT,042.81,f,013.05,M,007.05,F*2B\r\n$GPGLL,6004.672,N,02331.863,E,100052,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,210.28,T,210.28,M,5.70,N,,,D*66\r\n$IIMWV,346,R,14.38,N,A*2C\r\n$IIVWT,024,L,08.65,N,04.45,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100053,,,,00,*4F\r\n$IIDBT,042.87,f,013.07,M,007.06,F*2C\r\n$GPGLL,6004.669,N,02331.860,E,100054,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,209.19,T,209.19,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.57,N,A*27\r\n$IIVWT,022,L,08.57,N,04.41,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100056,,,,00,*4A\r\n$IIDBT,042.91,f,013.08,M,007.07,F*25\r\n$GPGLL,6004.666,N,02331.857,E,100056,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,207.89,T,207.89,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,021,L,08.94,N,04.60,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100058,,,,00,*44\r\n$IIDBT,042.94,f,013.09,M,007.07,F*21\r\n$GPGLL,6004.663,N,02331.854,E,100058,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,207.45,T,207.45,M,5.75,N,,,D*63\r\n$IIMWV,339,T,08.63,N,A*21\r\n$IIVWT,021,L,08.63,N,04.44,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100100,,,,00,*48\r\n$IIDBT,042.97,f,013.10,M,007.08,F*25\r\n$GPGLL,6004.660,N,02331.852,E,100100,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,206.24,T,206.24,M,5.79,N,,,D*6F\r\n$IIMWV,347,R,14.38,N,A*2D\r\n$IIVWT,022,L,08.57,N,04.41,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100102,,,,00,*4A\r\n$IIDBT,043.04,f,013.12,M,007.09,F*2D\r\n$GPGLL,6004.657,N,02331.849,E,100102,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,205.14,T,205.14,M,5.72,N,,,D*64\r\n$IIMWV,337,T,08.66,N,A*2A\r\n$IIVWT,023,L,08.66,N,04.46,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100104,,,,00,*4C\r\n$IIDBT,043.04,f,013.12,M,007.09,F*2D\r\n$GPGLL,6004.655,N,02331.846,E,100104,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,206.01,T,206.01,M,5.71,N,,,D*67\r\n$IIMWV,346,R,14.38,N,A*2C\r\n$IIVWT,024,L,08.63,N,04.44,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100106,,,,00,*4E\r\n$IIDBT,043.07,f,013.13,M,007.09,F*2F\r\n$GPGLL,6004.652,N,02331.843,E,100106,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,207.68,T,207.68,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.45,N,A*24\r\n$IIVWT,023,L,08.45,N,04.35,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100108,,,,00,*40\r\n$IIDBT,043.07,f,013.13,M,007.09,F*2F\r\n$GPGLL,6004.649,N,02331.840,E,100108,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,208.20,T,208.20,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.38,N,A*2D\r\n$IIVWT,023,L,08.72,N,04.49,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100110,,,,00,*49\r\n$IIDBT,043.14,f,013.15,M,007.10,F*23\r\n$GPGLL,6004.646,N,02331.837,E,100110,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,208.15,T,208.15,M,5.70,N,,,D*66\r\n$IIMWV,335,T,08.68,N,A*26\r\n$IIVWT,025,L,08.68,N,04.47,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100112,,,,00,*4B\r\n$IIDBT,043.17,f,013.16,M,007.11,F*22\r\n$GPGLL,6004.643,N,02331.834,E,100112,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,207.64,T,207.64,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.38,N,A*2D\r\n$IIVWT,023,L,08.61,N,04.43,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100114,,,,00,*4D\r\n$IIDBT,043.20,f,013.17,M,007.11,F*27\r\n$GPGLL,6004.641,N,02331.831,E,100114,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.01,N,04.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,208.19,T,208.19,M,5.70,N,,,D*66\r\n$IIMWV,339,T,08.98,N,A*25\r\n$IIVWT,021,L,08.98,N,04.62,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100116,,,,00,*4F\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,6004.638,N,02331.828,E,100116,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,209.52,T,209.52,M,5.70,N,,,D*66\r\n$IIMWV,347,R,15.16,N,A*20\r\n$IIVWT,021,L,09.34,N,04.81,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100118,,,,00,*41\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,6004.635,N,02331.825,E,100118,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,209.55,T,209.55,M,5.70,N,,,D*66\r\n$IIMWV,338,T,09.03,N,A*27\r\n$IIVWT,022,L,09.03,N,04.65,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100120,,,,00,*4A\r\n$IIDBT,043.27,f,013.19,M,007.12,F*2D\r\n$GPGLL,6004.632,N,02331.822,E,100120,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,208.47,T,208.47,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,020,L,08.92,N,04.59,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100122,,,,00,*48\r\n$IIDBT,043.30,f,013.20,M,007.13,F*20\r\n$GPGLL,6004.629,N,02331.819,E,100122,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,206.87,T,206.87,M,5.70,N,,,D*66\r\n$IIMWV,340,T,08.98,N,A*2B\r\n$IIVWT,021,L,08.98,N,04.62,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100124,,,,00,*4E\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,6004.625,N,02331.815,E,100124,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,206.16,T,206.16,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,021,L,08.94,N,04.60,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100126,,,,00,*4C\r\n$IIDBT,043.37,f,013.22,M,007.14,F*22\r\n$GPGLL,6004.622,N,02331.812,E,100127,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,207.75,T,207.75,M,5.75,N,,,D*63\r\n$IIMWV,341,T,09.33,N,A*2A\r\n$IIVWT,019,L,09.33,N,04.80,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100128,,,,00,*42\r\n$IIDBT,043.40,f,013.23,M,007.15,F*22\r\n$GPGLL,6004.620,N,02331.809,E,100129,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,207.48,T,207.48,M,5.71,N,,,D*67\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,018,L,09.29,N,04.78,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100130,,,,00,*4B\r\n$IIDBT,043.40,f,013.23,M,007.15,F*22\r\n$GPGLL,6004.617,N,02331.806,E,100131,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,206.62,T,206.62,M,5.70,N,,,D*66\r\n$IIMWV,341,T,09.34,N,A*2D\r\n$IIVWT,019,L,09.34,N,04.81,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100132,,,,00,*49\r\n$IIDBT,043.43,f,013.24,M,007.15,F*26\r\n$GPGLL,6004.614,N,02331.803,E,100133,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,206.55,T,206.55,M,5.70,N,,,D*66\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,019,L,09.29,N,04.78,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100134,,,,00,*4F\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,6004.611,N,02331.800,E,100135,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,205.71,T,205.71,M,5.70,N,,,D*66\r\n$IIMWV,341,T,09.40,N,A*2E\r\n$IIVWT,019,L,09.40,N,04.84,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100136,,,,00,*4D\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,6004.608,N,02331.798,E,100137,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,205.50,T,205.50,M,5.70,N,,,D*66\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,019,L,09.31,N,04.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100139,,,,00,*42\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,6004.605,N,02331.795,E,100139,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,207.13,T,207.13,M,5.70,N,,,D*66\r\n$IIMWV,342,T,09.38,N,A*22\r\n$IIVWT,018,L,09.38,N,04.83,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100141,,,,00,*4D\r\n$IIDBT,043.53,f,013.27,M,007.17,F*26\r\n$GPGLL,6004.603,N,02331.792,E,100141,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,207.78,T,207.78,M,5.70,N,,,D*66\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,019,L,09.23,N,04.75,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100143,,,,00,*4F\r\n$IIDBT,043.56,f,013.28,M,007.17,F*2C\r\n$GPGLL,6004.600,N,02331.789,E,100143,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,207.35,T,207.35,M,5.70,N,,,D*66\r\n$IIMWV,341,T,09.40,N,A*2E\r\n$IIVWT,019,L,09.40,N,04.84,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100145,,,,00,*49\r\n$IIDBT,043.53,f,013.27,M,007.17,F*26\r\n$GPGLL,6004.597,N,02331.786,E,100145,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,207.16,T,207.16,M,5.70,N,,,D*66\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,018,L,09.34,N,04.81,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100147,,,,00,*4B\r\n$IIDBT,043.56,f,013.28,M,007.17,F*2C\r\n$GPGLL,6004.594,N,02331.783,E,100147,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,206.44,T,206.44,M,5.70,N,,,D*66\r\n$IIMWV,340,T,09.31,N,A*29\r\n$IIVWT,020,L,09.31,N,04.79,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100149,,,,00,*45\r\n$IIDBT,043.60,f,013.29,M,007.18,F*27\r\n$GPGLL,6004.591,N,02331.780,E,100149,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,205.96,T,205.96,M,5.70,N,,,D*66\r\n$IIMWV,348,R,15.35,N,A*2E\r\n$IIVWT,020,L,09.56,N,04.92,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100151,,,,00,*4C\r\n$IIDBT,043.60,f,013.29,M,007.18,F*27\r\n$GPGLL,6004.588,N,02331.777,E,100151,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,207.71,T,207.71,M,5.70,N,,,D*66\r\n$IIMWV,340,T,09.34,N,A*2C\r\n$IIVWT,020,L,09.34,N,04.81,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100153,,,,00,*4E\r\n$IIDBT,043.60,f,013.29,M,007.18,F*27\r\n$GPGLL,6004.586,N,02331.774,E,100153,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,208.53,T,208.53,M,5.70,N,,,D*66\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,018,L,09.25,N,04.76,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100155,,,,00,*48\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,6004.583,N,02331.771,E,100155,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,207.91,T,207.91,M,5.70,N,,,D*66\r\n$IIMWV,342,T,09.01,N,A*28\r\n$IIVWT,018,L,09.01,N,04.64,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100157,,,,00,*4A\r\n$IIDBT,043.66,f,013.31,M,007.19,F*29\r\n$GPGLL,6004.580,N,02331.768,E,100157,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.98,N,04.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,207.53,T,207.53,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,019,L,08.96,N,04.61,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100159,,,,00,*44\r\n$IIDBT,043.69,f,013.32,M,007.19,F*25\r\n$GPGLL,6004.577,N,02331.765,E,100159,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,206.55,T,206.55,M,5.70,N,,,D*66\r\n$IIMWV,341,T,09.27,N,A*2F\r\n$IIVWT,019,L,09.27,N,04.77,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100201,,,,00,*4A\r\n$IIDBT,043.66,f,013.31,M,007.19,F*29\r\n$GPGLL,6004.574,N,02331.762,E,100201,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.98,N,04.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,206.34,T,206.34,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,018,L,08.94,N,04.60,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100203,,,,00,*48\r\n$IIDBT,043.69,f,013.32,M,007.19,F*25\r\n$GPGLL,6004.571,N,02331.760,E,100203,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,207.58,T,207.58,M,5.70,N,,,D*66\r\n$IIMWV,341,T,08.94,N,A*26\r\n$IIVWT,019,L,08.94,N,04.60,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100205,,,,00,*4E\r\n$IIDBT,043.69,f,013.32,M,007.19,F*25\r\n$GPGLL,6004.569,N,02331.757,E,100205,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,208.30,T,208.30,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.38,N,A*22\r\n$IIVWT,020,L,08.66,N,04.46,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100207,,,,00,*4C\r\n$IIDBT,043.66,f,013.31,M,007.19,F*29\r\n$GPGLL,6004.565,N,02331.752,E,100207,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,207.49,T,207.49,M,5.70,N,,,D*66\r\n$IIMWV,339,T,08.96,N,A*2B\r\n$IIVWT,021,L,08.96,N,04.61,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100209,,,,00,*42\r\n$IIDBT,043.73,f,013.33,M,007.20,F*25\r\n$GPGLL,6004.562,N,02331.749,E,100210,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.98,N,04.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,206.49,T,206.49,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.77,N,A*28\r\n$IIVWT,019,L,08.88,N,04.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100211,,,,00,*4B\r\n$IIDBT,043.69,f,013.32,M,007.19,F*25\r\n$GPGLL,6004.559,N,02331.747,E,100212,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,206.03,T,206.03,M,5.70,N,,,D*66\r\n$IIMWV,339,T,08.59,N,A*28\r\n$IIVWT,021,L,08.59,N,04.42,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100213,,,,00,*49\r\n$IIDBT,043.76,f,013.34,M,007.21,F*26\r\n$GPGLL,6004.556,N,02331.744,E,100214,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,206.58,T,206.58,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.38,N,A*2D\r\n$IIVWT,022,L,08.59,N,04.42,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100215,,,,00,*4F\r\n$IIDBT,043.76,f,013.34,M,007.21,F*26\r\n$GPGLL,6004.553,N,02331.741,E,100216,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,207.09,T,207.09,M,5.70,N,,,D*66\r\n$IIMWV,339,T,08.70,N,A*23\r\n$IIVWT,021,L,08.70,N,04.48,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100217,,,,00,*4D\r\n$IIDBT,043.76,f,013.34,M,007.21,F*26\r\n$GPGLL,6004.550,N,02331.738,E,100218,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,207.77,T,207.77,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.38,N,A*2D\r\n$IIVWT,022,L,08.59,N,04.42,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100220,,,,00,*49\r\n$IIDBT,043.76,f,013.34,M,007.21,F*26\r\n$GPGLL,6004.548,N,02331.735,E,100220,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,207.57,T,207.57,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.41,N,A*20\r\n$IIVWT,022,L,08.41,N,04.33,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100222,,,,00,*4B\r\n$IIDBT,043.79,f,013.35,M,007.21,F*28\r\n$GPGLL,6004.545,N,02331.732,E,100222,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,207.61,T,207.61,M,5.70,N,,,D*66\r\n$IIMWV,346,R,14.38,N,A*2C\r\n$IIVWT,023,L,08.61,N,04.43,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100224,,,,00,*4D\r\n$IIDBT,043.79,f,013.35,M,007.21,F*28\r\n$GPGLL,6004.542,N,02331.729,E,100224,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,207.55,T,207.55,M,5.70,N,,,D*66\r\n$IIMWV,336,T,08.63,N,A*2E\r\n$IIVWT,024,L,08.63,N,04.44,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100226,,,,00,*4F\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,6004.539,N,02331.727,E,100226,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,207.16,T,207.16,M,5.70,N,,,D*66\r\n$IIMWV,346,R,14.19,N,A*2F\r\n$IIVWT,024,L,08.45,N,04.35,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100228,,,,00,*41\r\n$IIDBT,043.79,f,013.35,M,007.21,F*28\r\n$GPGLL,6004.536,N,02331.724,E,100228,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,207.21,T,207.21,M,5.70,N,,,D*66\r\n$IIMWV,338,T,08.49,N,A*28\r\n$IIVWT,022,L,08.49,N,04.37,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100230,,,,00,*48\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,6004.534,N,02331.721,E,100230,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,207.28,T,207.28,M,5.70,N,,,D*66\r\n$IIMWV,347,R,14.19,N,A*2E\r\n$IIVWT,022,L,08.37,N,04.31,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100232,,,,00,*4A\r\n$IIDBT,043.86,f,013.37,M,007.22,F*29\r\n$GPGLL,6004.531,N,02331.718,E,100232,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,206.87,T,206.87,M,5.70,N,,,D*66\r\n$IIMWV,336,T,07.95,N,A*28\r\n$IIVWT,024,L,07.95,N,04.09,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100234,,,,00,*4C\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,6004.528,N,02331.715,E,100234,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,206.27,T,206.27,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.38,N,A*22\r\n$IIVWT,021,L,08.59,N,04.42,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100236,,,,00,*4E\r\n$IIDBT,043.89,f,013.38,M,007.23,F*28\r\n$GPGLL,6004.525,N,02331.713,E,100236,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,205.87,T,205.87,M,5.70,N,,,D*66\r\n$IIMWV,342,T,08.35,N,A*2E\r\n$IIVWT,019,L,08.35,N,04.30,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100238,,,,00,*40\r\n$IIDBT,043.89,f,013.38,M,007.23,F*28\r\n$GPGLL,6004.522,N,02331.710,E,100238,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,205.82,T,205.82,M,5.73,N,,,D*65\r\n$IIMWV,348,R,14.19,N,A*21\r\n$IIVWT,020,L,08.37,N,04.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100240,,,,00,*4F\r\n$IIDBT,043.89,f,013.38,M,007.23,F*28\r\n$GPGLL,6004.519,N,02331.707,E,100240,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,205.38,T,205.38,M,5.71,N,,,D*67\r\n$IIMWV,339,T,07.91,N,A*23\r\n$IIVWT,021,L,07.91,N,04.07,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100242,,,,00,*4D\r\n$IIDBT,043.92,f,013.39,M,007.23,F*23\r\n$GPGLL,6004.516,N,02331.704,E,100242,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,206.07,T,206.07,M,5.70,N,,,D*66\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,020,L,07.85,N,04.04,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100244,,,,00,*4B\r\n$IIDBT,043.92,f,013.39,M,007.23,F*23\r\n$GPGLL,6004.514,N,02331.701,E,100244,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.87,N,04.05,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,205.92,T,205.92,M,5.70,N,,,D*66\r\n$IIMWV,342,T,08.33,N,A*28\r\n$IIVWT,018,L,08.33,N,04.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100246,,,,00,*49\r\n$IIDBT,043.92,f,013.39,M,007.23,F*23\r\n$GPGLL,6004.511,N,02331.699,E,100246,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,205.08,T,205.08,M,5.70,N,,,D*66\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,019,L,07.98,N,04.11,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100248,,,,00,*47\r\n$IIDBT,043.99,f,013.41,M,007.24,F*20\r\n$GPGLL,6004.506,N,02331.695,E,100248,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,205.54,T,205.54,M,5.70,N,,,D*66\r\n$IIMWV,342,T,07.91,N,A*2F\r\n$IIVWT,018,L,07.91,N,04.07,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100250,,,,00,*4E\r\n$IIDBT,043.99,f,013.41,M,007.24,F*20\r\n$GPGLL,6004.504,N,02331.692,E,100250,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,205.87,T,205.87,M,5.70,N,,,D*66\r\n$IIMWV,351,R,13.80,N,A*2E\r\n$IIVWT,017,L,07.85,N,04.04,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100252,,,,00,*4C\r\n$IIDBT,044.02,f,013.42,M,007.25,F*27\r\n$GPGLL,6004.501,N,02331.689,E,100253,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,205.74,T,205.74,M,5.70,N,,,D*66\r\n$IIMWV,341,T,07.93,N,A*2E\r\n$IIVWT,019,L,07.93,N,04.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100254,,,,00,*4A\r\n$IIDBT,044.02,f,013.42,M,007.25,F*27\r\n$GPGLL,6004.498,N,02331.687,E,100255,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.66,T,205.66,M,5.70,N,,,D*66\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,019,L,08.04,N,04.14,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100256,,,,00,*48\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,6004.495,N,02331.684,E,100257,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,205.42,T,205.42,M,5.70,N,,,D*66\r\n$IIMWV,342,T,08.33,N,A*28\r\n$IIVWT,018,L,08.33,N,04.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100258,,,,00,*46\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,6004.492,N,02331.681,E,100259,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.60,T,205.60,M,5.70,N,,,D*66\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,020,L,07.85,N,04.04,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100300,,,,00,*4A\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,6004.489,N,02331.678,E,100301,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,205.48,T,205.48,M,5.70,N,,,D*66\r\n$IIMWV,341,T,08.28,N,A*21\r\n$IIVWT,020,L,08.28,N,04.26,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100303,,,,00,*49\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,6004.486,N,02331.676,E,100303,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,206.32,T,206.32,M,5.70,N,,,D*66\r\n$IIMWV,348,R,14.19,N,A*21\r\n$IIVWT,022,L,08.35,N,04.30,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100305,,,,00,*4F\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,6004.484,N,02331.673,E,100305,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,207.36,T,207.36,M,5.70,N,,,D*66\r\n$IIMWV,338,T,07.93,N,A*20\r\n$IIVWT,022,L,07.93,N,04.08,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100307,,,,00,*4D\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,6004.481,N,02331.670,E,100307,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,207.14,T,207.14,M,5.70,N,,,D*66\r\n$IIMWV,349,R,14.19,N,A*20\r\n$IIVWT,019,L,08.33,N,04.29,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100309,,,,00,*43\r\n$IIDBT,044.22,f,013.48,M,007.28,F*22\r\n$GPGLL,6004.478,N,02331.667,E,100309,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.41,T,205.41,M,5.70,N,,,D*66\r\n$IIMWV,339,T,08.31,N,A*26\r\n$IIVWT,021,L,08.31,N,04.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100311,,,,00,*4A\r\n$IIDBT,044.25,f,013.49,M,007.29,F*25\r\n$GPGLL,6004.475,N,02331.665,E,100311,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,205.13,T,205.13,M,5.70,N,,,D*66\r\n$IIMWV,347,R,13.80,N,A*29\r\n$IIVWT,023,L,07.98,N,04.11,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100313,,,,00,*48\r\n$IIDBT,044.29,f,013.50,M,007.29,F*21\r\n$GPGLL,6004.472,N,02331.662,E,100313,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,206.08,T,206.08,M,5.75,N,,,D*63\r\n$IIMWV,338,T,07.61,N,A*2D\r\n$IIVWT,022,L,07.61,N,03.92,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100315,,,,00,*4E\r\n$IIDBT,044.32,f,013.51,M,007.30,F*22\r\n$GPGLL,6004.469,N,02331.659,E,100315,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,207.04,T,207.04,M,5.71,N,,,D*67\r\n$IIMWV,349,R,13.41,N,A*2A\r\n$IIVWT,019,L,07.60,N,03.91,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100317,,,,00,*4C\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.467,N,02331.656,E,100317,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,206.76,T,206.76,M,5.70,N,,,D*66\r\n$IIMWV,340,T,07.58,N,A*28\r\n$IIVWT,020,L,07.58,N,03.90,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100319,,,,00,*42\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.464,N,02331.653,E,100319,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,206.44,T,206.44,M,5.70,N,,,D*66\r\n$IIMWV,350,R,13.80,N,A*2F\r\n$IIVWT,018,L,08.02,N,04.13,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100321,,,,00,*49\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.461,N,02331.651,E,100321,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,206.03,T,206.03,M,5.75,N,,,D*63\r\n$IIMWV,343,T,08.28,N,A*23\r\n$IIVWT,017,L,08.28,N,04.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100323,,,,00,*4B\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,6004.458,N,02331.648,E,100323,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,205.98,T,205.98,M,5.71,N,,,D*67\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,019,L,07.87,N,04.05,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100325,,,,00,*4D\r\n$IIDBT,044.51,f,013.57,M,007.33,F*22\r\n$GPGLL,6004.455,N,02331.645,E,100325,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,205.72,T,205.72,M,5.70,N,,,D*66\r\n$IIMWV,341,T,07.95,N,A*28\r\n$IIVWT,019,L,07.95,N,04.09,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100327,,,,00,*4F\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.452,N,02331.643,E,100327,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,204.68,T,204.68,M,5.70,N,,,D*66\r\n$IIMWV,351,R,13.80,N,A*2E\r\n$IIVWT,016,L,07.93,N,04.08,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100329,,,,00,*41\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6004.449,N,02331.640,E,100329,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,204.47,T,204.47,M,5.70,N,,,D*66\r\n$IIMWV,343,T,07.93,N,A*2C\r\n$IIVWT,018,L,07.93,N,04.08,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100331,,,,00,*48\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,6004.445,N,02331.636,E,100331,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,205.32,T,205.32,M,5.70,N,,,D*66\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,021,L,07.91,N,04.07,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100333,,,,00,*4A\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,6004.442,N,02331.633,E,100334,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,206.52,T,206.52,M,5.70,N,,,D*66\r\n$IIMWV,341,T,07.93,N,A*2E\r\n$IIVWT,019,L,07.93,N,04.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100335,,,,00,*4C\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.439,N,02331.630,E,100336,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,207.38,T,207.38,M,5.70,N,,,D*66\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,021,L,07.93,N,04.08,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100337,,,,00,*4E\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,6004.437,N,02331.628,E,100338,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,207.49,T,207.49,M,5.70,N,,,D*66\r\n$IIMWV,340,T,07.56,N,A*26\r\n$IIVWT,020,L,07.56,N,03.89,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100339,,,,00,*40\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,6004.434,N,02331.625,E,100340,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,206.85,T,206.85,M,5.70,N,,,D*66\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,021,L,08.02,N,04.13,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100341,,,,00,*4F\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6004.431,N,02331.622,E,100342,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,207.04,T,207.04,M,5.70,N,,,D*66\r\n$IIMWV,341,T,07.96,N,A*2B\r\n$IIVWT,019,L,07.96,N,04.10,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100343,,,,00,*4D\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,6004.428,N,02331.619,E,100344,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,207.93,T,207.93,M,5.70,N,,,D*66\r\n$IIMWV,347,R,13.41,N,A*24\r\n$IIVWT,023,L,07.71,N,03.97,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100346,,,,00,*48\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,6004.425,N,02331.616,E,100346,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,208.06,T,208.06,M,5.73,N,,,D*65\r\n$IIMWV,339,T,07.48,N,A*27\r\n$IIVWT,021,L,07.48,N,03.85,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100348,,,,00,*46\r\n$IIDBT,045.01,f,013.72,M,007.41,F*24\r\n$GPGLL,6004.423,N,02331.613,E,100348,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,209.04,T,209.04,M,5.71,N,,,D*67\r\n$IIMWV,348,R,13.41,N,A*2B\r\n$IIVWT,023,L,07.56,N,03.89,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100350,,,,00,*4F\r\n$IIDBT,045.07,f,013.74,M,007.42,F*27\r\n$GPGLL,6004.420,N,02331.610,E,100350,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,208.88,T,208.88,M,5.73,N,,,D*65\r\n$IIMWV,337,T,07.58,N,A*28\r\n$IIVWT,023,L,07.58,N,03.90,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100352,,,,00,*4D\r\n$IIDBT,045.14,f,013.76,M,007.43,F*26\r\n$GPGLL,6004.417,N,02331.607,E,100352,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,208.05,T,208.05,M,5.66,N,,,D*61\r\n$IIMWV,348,R,13.21,N,A*2D\r\n$IIVWT,022,L,07.42,N,03.82,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100354,,,,00,*4B\r\n$IIDBT,045.24,f,013.79,M,007.45,F*2C\r\n$GPGLL,6004.414,N,02331.604,E,100354,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,208.26,T,208.26,M,5.61,N,,,D*66\r\n$IIMWV,337,T,07.38,N,A*2E\r\n$IIVWT,023,L,07.38,N,03.80,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100356,,,,00,*49\r\n$IIDBT,045.20,f,013.78,M,007.44,F*28\r\n$GPGLL,6004.412,N,02331.601,E,100356,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,208.64,T,208.64,M,5.65,N,,,D*62\r\n$IIMWV,347,R,13.41,N,A*24\r\n$IIVWT,023,L,07.63,N,03.93,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100358,,,,00,*47\r\n$IIDBT,045.30,f,013.81,M,007.46,F*2D\r\n$GPGLL,6004.409,N,02331.598,E,100358,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,208.48,T,208.48,M,5.69,N,,,D*6E\r\n$IIMWV,336,T,07.56,N,A*27\r\n$IIVWT,024,L,07.56,N,03.89,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100400,,,,00,*4D\r\n$IIDBT,045.34,f,013.82,M,007.47,F*2B\r\n$GPGLL,6004.406,N,02331.595,E,100400,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,208.85,T,208.85,M,5.72,N,,,D*64\r\n$IIMWV,346,R,13.21,N,A*23\r\n$IIVWT,025,L,07.48,N,03.85,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100402,,,,00,*4F\r\n$IIDBT,045.43,f,013.85,M,007.48,F*23\r\n$GPGLL,6004.403,N,02331.592,E,100402,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,208.56,T,208.56,M,5.71,N,,,D*67\r\n$IIMWV,334,T,07.42,N,A*20\r\n$IIVWT,026,L,07.42,N,03.82,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100404,,,,00,*49\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,6004.400,N,02331.589,E,100404,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,208.61,T,208.61,M,5.63,N,,,D*64\r\n$IIMWV,346,R,13.21,N,A*23\r\n$IIVWT,026,L,07.42,N,03.82,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100406,,,,00,*4B\r\n$IIDBT,045.53,f,013.88,M,007.50,F*26\r\n$GPGLL,6004.398,N,02331.586,E,100406,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,209.25,T,209.25,M,5.61,N,,,D*66\r\n$IIMWV,335,T,07.60,N,A*21\r\n$IIVWT,025,L,07.60,N,03.91,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100408,,,,00,*45\r\n$IIDBT,045.60,f,013.90,M,007.51,F*2E\r\n$GPGLL,6004.395,N,02331.583,E,100408,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,209.86,T,209.86,M,5.65,N,,,D*62\r\n$IIMWV,347,R,13.21,N,A*22\r\n$IIVWT,023,L,07.40,N,03.81,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100410,,,,00,*4C\r\n$IIDBT,045.70,f,013.93,M,007.52,F*2F\r\n$GPGLL,6004.392,N,02331.580,E,100410,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,209.99,T,209.99,M,5.69,N,,,D*6E\r\n$IIMWV,333,T,07.52,N,A*26\r\n$IIVWT,027,L,07.52,N,03.87,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100412,,,,00,*4E\r\n$IIDBT,045.73,f,013.94,M,007.53,F*2A\r\n$GPGLL,6004.390,N,02331.576,E,100412,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,209.90,T,209.90,M,5.70,N,,,D*66\r\n$IIMWV,346,R,12.82,N,A*2B\r\n$IIVWT,026,L,06.97,N,03.59,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100414,,,,00,*48\r\n$IIDBT,045.83,f,013.97,M,007.55,F*20\r\n$GPGLL,6004.385,N,02331.572,E,100414,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,210.11,T,210.11,M,5.70,N,,,D*66\r\n$IIMWV,336,T,07.38,N,A*2F\r\n$IIVWT,024,L,07.38,N,03.80,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100416,,,,00,*4A\r\n$IIDBT,045.89,f,013.99,M,007.56,F*27\r\n$GPGLL,6004.383,N,02331.569,E,100417,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.44,N,03.83,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,209.86,T,209.86,M,5.67,N,,,D*60\r\n$IIMWV,347,R,12.82,N,A*2A\r\n$IIVWT,025,L,06.99,N,03.60,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100418,,,,00,*44\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,6004.380,N,02331.566,E,100419,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.11,N,03.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,209.41,T,209.41,M,5.62,N,,,D*65\r\n$IIMWV,333,T,07.17,N,A*27\r\n$IIVWT,027,L,07.17,N,03.69,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100420,,,,00,*4F\r\n$IIDBT,046.02,f,014.03,M,007.58,F*2D\r\n$GPGLL,6004.377,N,02331.562,E,100421,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.28,N,,*0E\r\n$IIVTG,210.28,T,210.28,M,5.68,N,,,D*6F\r\n$IIMWV,346,R,12.44,N,A*21\r\n$IIVWT,027,L,06.74,N,03.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100422,,,,00,*4D\r\n$IIDBT,046.06,f,014.04,M,007.58,F*2E\r\n$GPGLL,6004.375,N,02331.559,E,100423,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,210.59,T,210.59,M,5.69,N,,,D*6E\r\n$IIMWV,335,T,06.58,N,A*2B\r\n$IIVWT,025,L,06.58,N,03.39,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100424,,,,00,*4B\r\n$IIDBT,046.16,f,014.07,M,007.60,F*27\r\n$GPGLL,6004.372,N,02331.556,E,100425,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.07,N,03.64,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,211.22,T,211.22,M,5.70,N,,,D*66\r\n$IIMWV,346,R,12.44,N,A*21\r\n$IIVWT,028,L,06.66,N,03.43,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100426,,,,00,*49\r\n$IIDBT,046.19,f,014.08,M,007.61,F*26\r\n$GPGLL,6004.369,N,02331.552,E,100427,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,210.48,T,210.48,M,5.70,N,,,D*66\r\n$IIMWV,333,T,06.74,N,A*23\r\n$IIVWT,028,L,06.74,N,03.47,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100429,,,,00,*46\r\n$IIDBT,046.29,f,014.11,M,007.62,F*2E\r\n$GPGLL,6004.366,N,02331.549,E,100429,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,209.69,T,209.69,M,5.65,N,,,D*62\r\n$IIMWV,346,R,13.21,N,A*23\r\n$IIVWT,025,L,07.40,N,03.81,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100431,,,,00,*4F\r\n$IIDBT,046.29,f,014.11,M,007.62,F*2E\r\n$GPGLL,6004.364,N,02331.546,E,100431,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,208.47,T,208.47,M,5.61,N,,,D*66\r\n$IIMWV,333,T,07.42,N,A*27\r\n$IIVWT,027,L,07.42,N,03.82,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100433,,,,00,*4D\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,6004.361,N,02331.543,E,100433,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,209.32,T,209.32,M,5.68,N,,,D*6F\r\n$IIMWV,346,R,13.21,N,A*23\r\n$IIVWT,025,L,07.40,N,03.81,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100435,,,,00,*4B\r\n$IIDBT,046.38,f,014.14,M,007.64,F*2D\r\n$GPGLL,6004.358,N,02331.540,E,100435,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.19,N,03.70,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,210.60,T,210.60,M,5.69,N,,,D*6E\r\n$IIMWV,334,T,06.99,N,A*27\r\n$IIVWT,026,L,06.99,N,03.60,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100437,,,,00,*49\r\n$IIDBT,046.42,f,014.15,M,007.64,F*21\r\n$GPGLL,6004.356,N,02331.537,E,100437,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,210.65,T,210.65,M,5.75,N,,,D*63\r\n$IIMWV,347,R,12.82,N,A*2A\r\n$IIVWT,024,L,07.07,N,03.64,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100439,,,,00,*47\r\n$IIDBT,046.42,f,014.15,M,007.64,F*21\r\n$GPGLL,6004.353,N,02331.534,E,100439,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.97,N,03.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,209.49,T,209.49,M,5.71,N,,,D*67\r\n$IIMWV,334,T,06.95,N,A*2B\r\n$IIVWT,026,L,06.95,N,03.58,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100441,,,,00,*48\r\n$IIDBT,046.42,f,014.15,M,007.64,F*21\r\n$GPGLL,6004.350,N,02331.531,E,100441,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.34,N,,*03\r\n$IIVTG,209.17,T,209.17,M,5.70,N,,,D*66\r\n$IIMWV,346,R,12.82,N,A*2B\r\n$IIVWT,027,L,07.09,N,03.65,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100443,,,,00,*4A\r\n$IIDBT,046.45,f,014.16,M,007.65,F*24\r\n$GPGLL,6004.347,N,02331.528,E,100443,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,207.74,T,207.74,M,5.65,N,,,D*62\r\n$IIMWV,335,T,06.64,N,A*24\r\n$IIVWT,026,L,06.64,N,03.42,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100445,,,,00,*4C\r\n$IIDBT,046.42,f,014.15,M,007.64,F*21\r\n$GPGLL,6004.344,N,02331.525,E,100445,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,208.11,T,208.11,M,5.69,N,,,D*6E\r\n$IIMWV,347,R,12.44,N,A*20\r\n$IIVWT,026,L,06.58,N,03.39,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100447,,,,00,*4E\r\n$IIDBT,046.38,f,014.14,M,007.64,F*2D\r\n$GPGLL,6004.342,N,02331.522,E,100447,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,209.20,T,209.20,M,5.70,N,,,D*66\r\n$IIMWV,336,T,07.03,N,A*27\r\n$IIVWT,024,L,07.03,N,03.62,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100449,,,,00,*40\r\n$IIDBT,046.32,f,014.12,M,007.63,F*26\r\n$GPGLL,6004.339,N,02331.519,E,100449,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,209.67,T,209.67,M,5.72,N,,,D*64\r\n$IIMWV,348,R,12.82,N,A*25\r\n$IIVWT,023,L,07.05,N,03.63,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100451,,,,00,*49\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,6004.336,N,02331.516,E,100451,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,207.67,T,207.67,M,5.71,N,,,D*67\r\n$IIMWV,336,T,07.01,N,A*25\r\n$IIVWT,025,L,07.01,N,03.61,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100453,,,,00,*4B\r\n$IIDBT,046.16,f,014.07,M,007.60,F*27\r\n$GPGLL,6004.333,N,02331.513,E,100453,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,206.59,T,206.59,M,5.63,N,,,D*64\r\n$IIMWV,348,R,12.44,N,A*2F\r\n$IIVWT,023,L,06.58,N,03.39,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100455,,,,00,*4D\r\n$IIDBT,046.09,f,014.05,M,007.59,F*21\r\n$GPGLL,6004.331,N,02331.510,E,100455,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,207.37,T,207.37,M,5.61,N,,,D*66\r\n$IIMWV,338,T,07.34,N,A*2D\r\n$IIVWT,022,L,07.34,N,03.78,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100457,,,,00,*4F\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,6004.326,N,02331.506,E,100457,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,206.92,T,206.92,M,5.69,N,,,D*6E\r\n$IIMWV,349,R,13.21,N,A*2C\r\n$IIVWT,020,L,07.34,N,03.78,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100459,,,,00,*41\r\n$IIDBT,045.86,f,013.98,M,007.55,F*2A\r\n$GPGLL,6004.323,N,02331.503,E,100500,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,206.60,T,206.60,M,5.70,N,,,D*66\r\n$IIMWV,339,T,07.36,N,A*2E\r\n$IIVWT,021,L,07.36,N,03.79,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100501,,,,00,*4D\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,6004.321,N,02331.500,E,100502,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.21,N,,*07\r\n$IIVTG,207.25,T,207.25,M,5.70,N,,,D*66\r\n$IIMWV,345,R,12.82,N,A*28\r\n$IIVWT,027,L,07.15,N,03.68,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100503,,,,00,*4F\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,6004.318,N,02331.497,E,100504,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,207.11,T,207.11,M,5.65,N,,,D*62\r\n$IIMWV,332,T,06.70,N,A*26\r\n$IIVWT,028,L,06.70,N,03.45,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100505,,,,00,*49\r\n$IIDBT,045.30,f,013.81,M,007.46,F*2D\r\n$GPGLL,6004.315,N,02331.494,E,100506,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,208.91,T,208.91,M,5.69,N,,,D*6E\r\n$IIMWV,345,R,12.05,N,A*27\r\n$IIVWT,030,L,06.33,N,03.26,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100507,,,,00,*4B\r\n$IIDBT,045.17,f,013.77,M,007.44,F*23\r\n$GPGLL,6004.312,N,02331.491,E,100508,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,210.35,T,210.35,M,5.70,N,,,D*66\r\n$IIMWV,339,T,06.86,N,A*24\r\n$IIVWT,021,L,06.86,N,03.53,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100509,,,,00,*45\r\n$IIDBT,045.07,f,013.74,M,007.42,F*27\r\n$GPGLL,6004.310,N,02331.488,E,100510,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,211.06,T,211.06,M,5.70,N,,,D*66\r\n$IIMWV,350,R,13.21,N,A*24\r\n$IIVWT,019,L,07.32,N,03.77,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100512,,,,00,*4F\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,6004.307,N,02331.485,E,100512,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,210.66,T,210.66,M,5.70,N,,,D*66\r\n$IIMWV,338,T,07.44,N,A*2A\r\n$IIVWT,022,L,07.44,N,03.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100514,,,,00,*49\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6004.304,N,02331.482,E,100514,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,209.22,T,209.22,M,5.70,N,,,D*66\r\n$IIMWV,349,R,12.82,N,A*24\r\n$IIVWT,021,L,06.92,N,03.56,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100516,,,,00,*4B\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6004.301,N,02331.479,E,100516,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,209.35,T,209.35,M,5.70,N,,,D*66\r\n$IIMWV,343,T,06.76,N,A*26\r\n$IIVWT,017,L,06.76,N,03.48,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100518,,,,00,*45\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6004.299,N,02331.476,E,100518,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,208.71,T,208.71,M,5.70,N,,,D*66\r\n$IIMWV,348,R,12.44,N,A*2F\r\n$IIVWT,022,L,06.58,N,03.39,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100520,,,,00,*4E\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,6004.296,N,02331.473,E,100520,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,206.45,T,206.45,M,5.70,N,,,D*66\r\n$IIMWV,335,T,06.72,N,A*23\r\n$IIVWT,025,L,06.72,N,03.46,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100522,,,,00,*4C\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6004.293,N,02331.470,E,100522,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.07,N,03.64,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,206.99,T,206.99,M,5.70,N,,,D*66\r\n$IIMWV,349,R,13.41,N,A*2A\r\n$IIVWT,020,L,07.48,N,03.85,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100524,,,,00,*4A\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,6004.290,N,02331.467,E,100524,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,207.67,T,207.67,M,5.70,N,,,D*66\r\n$IIMWV,346,T,07.46,N,A*21\r\n$IIVWT,014,L,07.46,N,03.84,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100526,,,,00,*48\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.287,N,02331.464,E,100526,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,208.89,T,208.89,M,5.70,N,,,D*66\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,021,L,07.93,N,04.08,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100528,,,,00,*46\r\n$IIDBT,044.81,f,013.66,M,007.38,F*26\r\n$GPGLL,6004.285,N,02331.461,E,100528,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,208.60,T,208.60,M,5.70,N,,,D*66\r\n$IIMWV,348,T,08.26,N,A*26\r\n$IIVWT,012,L,08.26,N,04.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100530,,,,00,*4F\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.282,N,02331.458,E,100530,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,207.80,T,207.80,M,5.70,N,,,D*66\r\n$IIMWV,353,R,14.19,N,A*2B\r\n$IIVWT,013,L,08.20,N,04.22,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100532,,,,00,*4D\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.279,N,02331.455,E,100532,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,208.20,T,208.20,M,5.70,N,,,D*66\r\n$IIMWV,346,T,08.24,N,A*2A\r\n$IIVWT,014,L,08.24,N,04.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100534,,,,00,*4B\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,6004.276,N,02331.452,E,100534,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,207.82,T,207.82,M,5.70,N,,,D*66\r\n$IIMWV,352,R,14.19,N,A*2A\r\n$IIVWT,015,L,08.20,N,04.22,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100536,,,,00,*49\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,6004.273,N,02331.449,E,100536,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,207.18,T,207.18,M,5.70,N,,,D*66\r\n$IIMWV,344,T,08.51,N,A*2A\r\n$IIVWT,016,L,08.51,N,04.38,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100538,,,,00,*47\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.271,N,02331.447,E,100538,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,206.54,T,206.54,M,5.70,N,,,D*66\r\n$IIMWV,350,R,14.38,N,A*2B\r\n$IIVWT,017,L,08.39,N,04.32,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100540,,,,00,*48\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.266,N,02331.443,E,100540,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,205.51,T,205.51,M,5.70,N,,,D*66\r\n$IIMWV,348,T,08.22,N,A*22\r\n$IIVWT,012,L,08.22,N,04.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100542,,,,00,*4A\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.263,N,02331.440,E,100543,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,205.57,T,205.57,M,5.70,N,,,D*66\r\n$IIMWV,353,R,14.38,N,A*28\r\n$IIVWT,012,L,08.45,N,04.35,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100544,,,,00,*4C\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.261,N,02331.437,E,100545,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,205.94,T,205.94,M,5.70,N,,,D*66\r\n$IIMWV,349,T,08.41,N,A*26\r\n$IIVWT,011,L,08.41,N,04.33,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100546,,,,00,*4E\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,6004.258,N,02331.434,E,100547,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,207.03,T,207.03,M,5.70,N,,,D*66\r\n$IIMWV,353,R,14.38,N,A*28\r\n$IIVWT,013,L,08.39,N,04.32,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100548,,,,00,*40\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,6004.255,N,02331.431,E,100549,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,207.73,T,207.73,M,5.70,N,,,D*66\r\n$IIMWV,351,T,08.30,N,A*29\r\n$IIVWT,009,L,08.30,N,04.27,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100550,,,,00,*49\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,6004.252,N,02331.429,E,100551,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,206.83,T,206.83,M,5.70,N,,,D*66\r\n$IIMWV,350,R,13.80,N,A*2F\r\n$IIVWT,018,L,07.87,N,04.05,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100552,,,,00,*4B\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,6004.249,N,02331.426,E,100553,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,205.41,T,205.41,M,5.70,N,,,D*66\r\n$IIMWV,348,T,08.92,N,A*29\r\n$IIVWT,012,L,08.92,N,04.59,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100555,,,,00,*4C\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,6004.247,N,02331.423,E,100555,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.86,N,04.56,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,205.03,T,205.03,M,5.65,N,,,D*62\r\n$IIMWV,352,R,15.16,N,A*24\r\n$IIVWT,014,L,09.17,N,04.72,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100557,,,,00,*4E\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,6004.244,N,02331.420,E,100557,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,207.53,T,207.53,M,5.61,N,,,D*66\r\n$IIMWV,343,T,09.27,N,A*2D\r\n$IIVWT,017,L,09.27,N,04.77,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100559,,,,00,*40\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,6004.241,N,02331.417,E,100559,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,211.48,T,211.48,M,5.65,N,,,D*62\r\n$IIMWV,353,R,14.77,N,A*23\r\n$IIVWT,012,L,08.78,N,04.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100601,,,,00,*4E\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.239,N,02331.413,E,100601,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,215.17,T,215.17,M,5.74,N,,,D*62\r\n$IIMWV,349,T,08.78,N,A*2C\r\n$IIVWT,011,L,08.78,N,04.52,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100603,,,,00,*4C\r\n$IIDBT,044.51,f,013.57,M,007.33,F*22\r\n$GPGLL,6004.236,N,02331.410,E,100603,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,211.44,T,211.44,M,5.73,N,,,D*65\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,004,L,08.70,N,04.48,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100605,,,,00,*4A\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.233,N,02331.407,E,100605,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,207.16,T,207.16,M,5.71,N,,,D*67\r\n$IIMWV,353,T,08.72,N,A*2D\r\n$IIVWT,007,L,08.72,N,04.49,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100607,,,,00,*48\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6004.230,N,02331.404,E,100607,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,205.42,T,205.42,M,5.65,N,,,D*62\r\n$IIMWV,356,R,14.77,N,A*26\r\n$IIVWT,007,L,08.68,N,04.47,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100609,,,,00,*46\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.227,N,02331.402,E,100609,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,204.93,T,204.93,M,5.61,N,,,D*66\r\n$IIMWV,351,T,08.76,N,A*2B\r\n$IIVWT,009,L,08.76,N,04.51,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100611,,,,00,*4F\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.224,N,02331.399,E,100611,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,204.55,T,204.55,M,5.68,N,,,D*6F\r\n$IIMWV,355,R,14.77,N,A*25\r\n$IIVWT,008,L,08.76,N,04.51,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100613,,,,00,*4D\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6004.221,N,02331.396,E,100613,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,204.46,T,204.46,M,5.64,N,,,D*63\r\n$IIMWV,350,T,08.78,N,A*24\r\n$IIVWT,010,L,08.78,N,04.52,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100615,,,,00,*4B\r\n$IIDBT,044.51,f,013.57,M,007.33,F*22\r\n$GPGLL,6004.219,N,02331.394,E,100615,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,205.07,T,205.07,M,5.69,N,,,D*6E\r\n$IIMWV,351,R,14.77,N,A*21\r\n$IIVWT,015,L,08.82,N,04.54,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100617,,,,00,*49\r\n$IIDBT,044.48,f,013.56,M,007.32,F*2A\r\n$GPGLL,6004.216,N,02331.391,E,100617,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,205.42,T,205.42,M,5.62,N,,,D*65\r\n$IIMWV,350,T,08.82,N,A*21\r\n$IIVWT,010,L,08.82,N,04.54,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100619,,,,00,*47\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.213,N,02331.388,E,100619,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,208.75,T,208.75,M,5.66,N,,,D*61\r\n$IIMWV,354,R,14.77,N,A*24\r\n$IIVWT,010,L,08.72,N,04.49,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100621,,,,00,*4C\r\n$IIDBT,044.35,f,013.52,M,007.30,F*26\r\n$GPGLL,6004.210,N,02331.385,E,100621,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,210.97,T,210.97,M,5.66,N,,,D*61\r\n$IIMWV,351,T,08.76,N,A*2B\r\n$IIVWT,009,L,08.76,N,04.51,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100623,,,,00,*4E\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.206,N,02331.380,E,100623,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,206.31,T,206.31,M,5.71,N,,,D*67\r\n$IIMWV,356,R,14.38,N,A*2D\r\n$IIVWT,007,L,08.35,N,04.30,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100625,,,,00,*48\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.203,N,02331.378,E,100626,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.26,N,04.25,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,204.05,T,204.05,M,5.70,N,,,D*66\r\n$IIMWV,351,T,08.16,N,A*2D\r\n$IIVWT,009,L,08.16,N,04.20,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100627,,,,00,*4A\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.200,N,02331.375,E,100628,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,204.46,T,204.46,M,5.70,N,,,D*66\r\n$IIMWV,354,R,14.38,N,A*2F\r\n$IIVWT,011,L,08.37,N,04.31,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100629,,,,00,*44\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.198,N,02331.373,E,100630,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,204.76,T,204.76,M,5.70,N,,,D*66\r\n$IIMWV,351,T,08.14,N,A*2F\r\n$IIVWT,009,L,08.14,N,04.19,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100631,,,,00,*4D\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.195,N,02331.370,E,100632,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.55,N,,*07\r\n$IIVTG,205.79,T,205.79,M,5.70,N,,,D*66\r\n$IIMWV,355,R,14.19,N,A*2D\r\n$IIVWT,009,L,08.12,N,04.18,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100633,,,,00,*4F\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.192,N,02331.367,E,100634,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,206.47,T,206.47,M,5.70,N,,,D*66\r\n$IIMWV,348,T,08.10,N,A*23\r\n$IIVWT,012,L,08.10,N,04.17,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100635,,,,00,*49\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,6004.189,N,02331.364,E,100636,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,206.14,T,206.14,M,5.70,N,,,D*66\r\n$IIMWV,354,R,14.19,N,A*2C\r\n$IIVWT,011,L,08.22,N,04.23,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100638,,,,00,*44\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,6004.186,N,02331.361,E,100638,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,206.56,T,206.56,M,5.70,N,,,D*66\r\n$IIMWV,349,T,07.69,N,A*23\r\n$IIVWT,011,L,07.69,N,03.96,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100640,,,,00,*4B\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.183,N,02331.359,E,100640,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.87,N,04.05,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,206.19,T,206.19,M,5.65,N,,,D*62\r\n$IIMWV,354,R,13.80,N,A*2B\r\n$IIVWT,011,L,07.83,N,04.03,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100642,,,,00,*49\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,6004.181,N,02331.356,E,100642,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,204.94,T,204.94,M,5.61,N,,,D*66\r\n$IIMWV,351,T,08.10,N,A*2B\r\n$IIVWT,010,L,08.10,N,04.17,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100644,,,,00,*4F\r\n$IIDBT,044.35,f,013.52,M,007.30,F*26\r\n$GPGLL,6004.178,N,02331.353,E,100644,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,208.41,T,208.41,M,5.58,N,,,D*6C\r\n$IIMWV,351,R,14.19,N,A*29\r\n$IIVWT,016,L,08.28,N,04.26,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100646,,,,00,*4D\r\n$IIDBT,044.29,f,013.50,M,007.29,F*21\r\n$GPGLL,6004.175,N,02331.350,E,100646,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,212.08,T,212.08,M,5.64,N,,,D*63\r\n$IIMWV,347,T,08.18,N,A*24\r\n$IIVWT,013,L,08.18,N,04.21,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100648,,,,00,*43\r\n$IIDBT,044.22,f,013.48,M,007.28,F*22\r\n$GPGLL,6004.173,N,02331.346,E,100648,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,214.22,T,214.22,M,5.69,N,,,D*6E\r\n$IIMWV,352,R,14.19,N,A*2A\r\n$IIVWT,014,L,08.18,N,04.21,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100650,,,,00,*4A\r\n$IIDBT,044.22,f,013.48,M,007.28,F*22\r\n$GPGLL,6004.170,N,02331.343,E,100650,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,214.76,T,214.76,M,5.70,N,,,D*66\r\n$IIMWV,347,T,08.41,N,A*28\r\n$IIVWT,013,L,08.41,N,04.33,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100652,,,,00,*48\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,6004.168,N,02331.339,E,100652,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,214.66,T,214.66,M,5.65,N,,,D*62\r\n$IIMWV,350,R,14.19,N,A*28\r\n$IIVWT,018,L,08.35,N,04.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100654,,,,00,*4E\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,6004.165,N,02331.335,E,100654,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,215.12,T,215.12,M,5.61,N,,,D*66\r\n$IIMWV,348,T,08.24,N,A*24\r\n$IIVWT,012,L,08.24,N,04.24,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100656,,,,00,*4C\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,6004.162,N,02331.332,E,100656,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,214.07,T,214.07,M,5.68,N,,,D*6F\r\n$IIMWV,353,R,14.19,N,A*2B\r\n$IIVWT,013,L,08.33,N,04.29,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100658,,,,00,*42\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,6004.160,N,02331.328,E,100658,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,212.44,T,212.44,M,5.62,N,,,D*65\r\n$IIMWV,350,T,08.37,N,A*2F\r\n$IIVWT,010,L,08.37,N,04.31,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100700,,,,00,*4E\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,6004.157,N,02331.325,E,100700,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,213.73,T,213.73,M,5.68,N,,,D*6F\r\n$IIMWV,354,R,14.38,N,A*2F\r\n$IIVWT,011,L,08.41,N,04.33,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100702,,,,00,*4C\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,6004.155,N,02331.321,E,100702,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,213.76,T,213.76,M,5.69,N,,,D*6E\r\n$IIMWV,351,T,08.33,N,A*2A\r\n$IIVWT,009,L,08.33,N,04.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100704,,,,00,*4A\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,6004.151,N,02331.316,E,100704,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,213.82,T,213.82,M,5.70,N,,,D*66\r\n$IIMWV,356,R,14.38,N,A*2D\r\n$IIVWT,007,L,08.33,N,04.29,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100706,,,,00,*48\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,6004.148,N,02331.313,E,100706,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,211.11,T,211.11,M,5.62,N,,,D*65\r\n$IIMWV,355,T,08.30,N,A*2D\r\n$IIVWT,005,L,08.30,N,04.27,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100708,,,,00,*46\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,6004.145,N,02331.310,E,100709,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,209.60,T,209.60,M,5.66,N,,,D*61\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,005,L,08.28,N,04.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100710,,,,00,*4F\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,6004.142,N,02331.307,E,100711,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,208.72,T,208.72,M,5.69,N,,,D*6E\r\n$IIMWV,357,T,08.35,N,A*2A\r\n$IIVWT,003,L,08.35,N,04.30,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100712,,,,00,*4D\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,6004.140,N,02331.304,E,100713,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,207.65,T,207.65,M,5.70,N,,,D*66\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.31,N,04.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100714,,,,00,*4B\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,6004.137,N,02331.301,E,100715,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,207.81,T,207.81,M,5.70,N,,,D*66\r\n$IIMWV,358,T,08.28,N,A*29\r\n$IIVWT,002,L,08.28,N,04.26,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100716,,,,00,*49\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,6004.134,N,02331.298,E,100717,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,207.28,T,207.28,M,5.62,N,,,D*65\r\n$IIMWV,358,R,14.19,N,A*20\r\n$IIVWT,004,L,07.96,N,04.10,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100719,,,,00,*46\r\n$IIDBT,044.25,f,013.49,M,007.29,F*25\r\n$GPGLL,6004.131,N,02331.295,E,100719,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,206.72,T,206.72,M,5.61,N,,,D*66\r\n$IIMWV,358,T,08.30,N,A*20\r\n$IIVWT,002,L,08.30,N,04.27,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100721,,,,00,*4D\r\n$IIDBT,044.25,f,013.49,M,007.29,F*25\r\n$GPGLL,6004.128,N,02331.293,E,100721,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,206.01,T,206.01,M,5.65,N,,,D*62\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.31,N,04.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100723,,,,00,*4F\r\n$IIDBT,044.35,f,013.52,M,007.30,F*26\r\n$GPGLL,6004.126,N,02331.290,E,100723,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,205.50,T,205.50,M,5.69,N,,,D*6E\r\n$IIMWV,357,T,08.16,N,A*2B\r\n$IIVWT,003,L,08.16,N,04.20,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100725,,,,00,*49\r\n$IIDBT,044.35,f,013.52,M,007.30,F*26\r\n$GPGLL,6004.123,N,02331.287,E,100725,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,204.77,T,204.77,M,5.65,N,,,D*62\r\n$IIMWV,357,R,13.80,N,A*28\r\n$IIVWT,006,L,07.83,N,04.03,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100727,,,,00,*4B\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,6004.120,N,02331.285,E,100727,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,204.94,T,204.94,M,5.61,N,,,D*66\r\n$IIMWV,352,T,07.83,N,A*2D\r\n$IIVWT,008,L,07.83,N,04.03,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100729,,,,00,*45\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,6004.117,N,02331.282,E,100729,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,205.71,T,205.71,M,5.65,N,,,D*62\r\n$IIMWV,357,R,13.41,N,A*25\r\n$IIVWT,006,L,07.46,N,03.84,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100731,,,,00,*4C\r\n$IIDBT,044.48,f,013.56,M,007.32,F*2A\r\n$GPGLL,6004.114,N,02331.280,E,100731,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,206.51,T,206.51,M,5.69,N,,,D*6E\r\n$IIMWV,343,T,07.95,N,A*2A\r\n$IIVWT,017,L,07.95,N,04.09,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100733,,,,00,*4E\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,6004.111,N,02331.277,E,100733,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.28,N,03.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,207.13,T,207.13,M,5.70,N,,,D*66\r\n$IIMWV,357,R,13.41,N,A*25\r\n$IIVWT,007,L,07.32,N,03.77,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100735,,,,00,*48\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6004.109,N,02331.274,E,100735,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,207.23,T,207.23,M,5.70,N,,,D*66\r\n$IIMWV,350,T,07.79,N,A*2A\r\n$IIVWT,010,L,07.79,N,04.01,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100737,,,,00,*4A\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6004.106,N,02331.271,E,100737,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,206.93,T,206.93,M,5.70,N,,,D*66\r\n$IIMWV,356,R,14.19,N,A*2E\r\n$IIVWT,007,L,08.14,N,04.19,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100739,,,,00,*44\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,6004.103,N,02331.268,E,100739,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,207.29,T,207.29,M,5.62,N,,,D*65\r\n$IIMWV,356,T,07.77,N,A*22\r\n$IIVWT,004,L,07.77,N,04.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100741,,,,00,*4B\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,6004.100,N,02331.265,E,100741,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,208.15,T,208.15,M,5.61,N,,,D*66\r\n$IIMWV,357,R,14.19,N,A*2F\r\n$IIVWT,005,L,08.10,N,04.17,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100743,,,,00,*49\r\n$IIDBT,044.81,f,013.66,M,007.38,F*26\r\n$GPGLL,6004.097,N,02331.263,E,100743,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,207.33,T,207.33,M,5.60,N,,,D*67\r\n$IIMWV,355,T,08.16,N,A*29\r\n$IIVWT,005,L,08.16,N,04.20,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100745,,,,00,*4F\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,6004.093,N,02331.258,E,100745,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,206.79,T,206.79,M,5.60,N,,,D*67\r\n$IIMWV,357,R,13.80,N,A*28\r\n$IIVWT,006,L,07.85,N,04.04,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100747,,,,00,*4D\r\n$IIDBT,044.91,f,013.69,M,007.39,F*29\r\n$GPGLL,6004.091,N,02331.255,E,100747,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,207.65,T,207.65,M,5.68,N,,,D*6F\r\n$IIMWV,356,T,08.06,N,A*2B\r\n$IIVWT,004,L,08.06,N,04.15,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100749,,,,00,*43\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,6004.088,N,02331.253,E,100749,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,207.86,T,207.86,M,5.69,N,,,D*6E\r\n$IIMWV,356,R,14.19,N,A*2E\r\n$IIVWT,006,L,08.16,N,04.20,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100751,,,,00,*4A\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,6004.085,N,02331.249,E,100752,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,208.02,T,208.02,M,5.70,N,,,D*66\r\n$IIMWV,353,T,08.08,N,A*20\r\n$IIVWT,007,L,08.08,N,04.16,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100753,,,,00,*48\r\n$IIDBT,045.11,f,013.75,M,007.43,F*20\r\n$GPGLL,6004.082,N,02331.247,E,100754,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,207.55,T,207.55,M,5.70,N,,,D*66\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,005,L,08.24,N,04.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100755,,,,00,*4E\r\n$IIDBT,045.14,f,013.76,M,007.43,F*26\r\n$GPGLL,6004.079,N,02331.244,E,100756,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,207.09,T,207.09,M,5.65,N,,,D*62\r\n$IIMWV,354,T,08.18,N,A*26\r\n$IIVWT,006,L,08.18,N,04.21,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100757,,,,00,*4C\r\n$IIDBT,045.17,f,013.77,M,007.44,F*23\r\n$GPGLL,6004.077,N,02331.241,E,100758,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,206.72,T,206.72,M,5.69,N,,,D*6E\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,004,L,07.71,N,03.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100759,,,,00,*42\r\n$IIDBT,045.24,f,013.79,M,007.45,F*2C\r\n$GPGLL,6004.074,N,02331.238,E,100800,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,206.28,T,206.28,M,5.70,N,,,D*66\r\n$IIMWV,357,T,07.71,N,A*25\r\n$IIVWT,003,L,07.71,N,03.97,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100802,,,,00,*43\r\n$IIDBT,045.30,f,013.81,M,007.46,F*2D\r\n$GPGLL,6004.071,N,02331.235,E,100802,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,205.70,T,205.70,M,5.70,N,,,D*66\r\n$IIMWV,359,R,14.19,N,A*21\r\n$IIVWT,001,L,08.16,N,04.20,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100804,,,,00,*45\r\n$IIDBT,045.37,f,013.83,M,007.47,F*29\r\n$GPGLL,6004.068,N,02331.233,E,100804,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,205.08,T,205.08,M,5.70,N,,,D*66\r\n$IIMWV,359,T,08.18,N,A*2B\r\n$IIVWT,001,L,08.18,N,04.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100806,,,,00,*47\r\n$IIDBT,045.43,f,013.85,M,007.48,F*23\r\n$GPGLL,6004.065,N,02331.230,E,100806,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,204.59,T,204.59,M,5.70,N,,,D*66\r\n$IIMWV,001,R,14.19,N,A*2F\r\n$IIVWT,001,R,08.16,N,04.20,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100808,,,,00,*49\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,6004.062,N,02331.227,E,100808,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,204.02,T,204.02,M,5.70,N,,,D*66\r\n$IIMWV,360,T,08.10,N,A*29\r\n$IIVWT,001,L,08.10,N,04.17,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100810,,,,00,*40\r\n$IIDBT,045.56,f,013.89,M,007.50,F*22\r\n$GPGLL,6004.059,N,02331.225,E,100810,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,202.60,T,202.60,M,5.70,N,,,D*66\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,08.37,N,04.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100812,,,,00,*42\r\n$IIDBT,045.60,f,013.90,M,007.51,F*2E\r\n$GPGLL,6004.056,N,02331.223,E,100812,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,202.25,T,202.25,M,5.70,N,,,D*66\r\n$IIMWV,357,T,08.28,N,A*26\r\n$IIVWT,003,L,08.28,N,04.26,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100814,,,,00,*44\r\n$IIDBT,045.66,f,013.92,M,007.52,F*29\r\n$GPGLL,6004.054,N,02331.220,E,100814,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.80,N,04.53,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,204.26,T,204.26,M,5.75,N,,,A*66\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.31,N,04.28,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100816,,,,00,*46\r\n$IIDBT,045.73,f,013.94,M,007.53,F*2A\r\n$GPGLL,6004.051,N,02331.217,E,100816,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,205.31,T,205.31,M,5.71,N,,,A*62\r\n$IIMWV,359,T,08.72,N,A*27\r\n$IIVWT,001,L,08.72,N,04.49,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100818,,,,00,*48\r\n$IIDBT,045.83,f,013.97,M,007.55,F*20\r\n$GPGLL,6004.048,N,02331.214,E,100818,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,205.96,T,205.96,M,5.70,N,,,A*63\r\n$IIMWV,359,R,14.77,N,A*29\r\n$IIVWT,002,L,08.59,N,04.42,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100820,,,,00,*43\r\n$IIDBT,045.89,f,013.99,M,007.56,F*27\r\n$GPGLL,6004.045,N,02331.211,E,100820,A,A*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,206.14,T,206.14,M,5.70,N,,,A*63\r\n$IIMWV,358,T,08.30,N,A*20\r\n$IIVWT,002,L,08.30,N,04.27,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100822,,,,00,*41\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,6004.042,N,02331.208,E,100822,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,205.88,T,205.88,M,5.70,N,,,A*63\r\n$IIMWV,357,R,14.77,N,A*27\r\n$IIVWT,005,L,08.65,N,04.45,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100824,,,,00,*47\r\n$IIDBT,046.02,f,014.03,M,007.58,F*2D\r\n$GPGLL,6004.040,N,02331.205,E,100824,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,205.80,T,205.80,M,5.70,N,,,A*63\r\n$IIMWV,351,T,08.35,N,A*2C\r\n$IIVWT,009,L,08.35,N,04.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100826,,,,00,*45\r\n$IIDBT,046.12,f,014.06,M,007.59,F*28\r\n$GPGLL,6004.037,N,02331.202,E,100826,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,206.00,T,206.00,M,5.70,N,,,A*63\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,005,L,08.31,N,04.28,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100828,,,,00,*4B\r\n$IIDBT,046.19,f,014.08,M,007.61,F*26\r\n$GPGLL,6004.033,N,02331.198,E,100828,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,206.12,T,206.12,M,5.70,N,,,A*63\r\n$IIMWV,352,T,07.77,N,A*26\r\n$IIVWT,008,L,07.77,N,04.00,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100830,,,,00,*42\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,6004.030,N,02331.195,E,100830,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.09,N,03.65,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,206.18,T,206.18,M,5.70,N,,,A*63\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,004,L,07.30,N,03.76,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100832,,,,00,*40\r\n$IIDBT,046.38,f,014.14,M,007.64,F*2D\r\n$GPGLL,6004.027,N,02331.193,E,100833,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,206.09,T,206.09,M,5.70,N,,,A*63\r\n$IIMWV,359,T,07.71,N,A*2B\r\n$IIVWT,001,L,07.71,N,03.97,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100834,,,,00,*46\r\n$IIDBT,046.45,f,014.16,M,007.65,F*24\r\n$GPGLL,6004.024,N,02331.190,E,100835,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,206.00,T,206.00,M,5.70,N,,,A*63\r\n$IIMWV,001,R,14.19,N,A*2F\r\n$IIVWT,002,R,08.00,N,04.12,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100836,,,,00,*44\r\n$IIDBT,046.58,f,014.20,M,007.67,F*2F\r\n$GPGLL,6004.021,N,02331.187,E,100837,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,205.97,T,205.97,M,5.70,N,,,A*63\r\n$IIMWV,358,T,08.31,N,A*21\r\n$IIVWT,002,L,08.31,N,04.28,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100838,,,,00,*4A\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,6004.018,N,02331.184,E,100839,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,205.54,T,205.54,M,5.70,N,,,A*63\r\n$IIMWV,360,R,14.77,N,A*23\r\n$IIVWT,000,L,08.72,N,04.49,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100840,,,,00,*45\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,6004.016,N,02331.182,E,100841,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,206.26,T,206.26,M,5.70,N,,,A*63\r\n$IIMWV,000,T,08.00,N,A*2D\r\n$IIVWT,000,R,08.00,N,04.12,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100842,,,,00,*47\r\n$IIDBT,046.91,f,014.30,M,007.72,F*2F\r\n$GPGLL,6004.013,N,02331.179,E,100843,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,206.69,T,206.69,M,5.70,N,,,A*63\r\n$IIMWV,002,R,13.80,N,A*2B\r\n$IIVWT,003,R,07.67,N,03.95,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100845,,,,00,*40\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,6004.010,N,02331.176,E,100845,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,207.20,T,207.20,M,5.70,N,,,A*63\r\n$IIMWV,351,T,07.25,N,A*22\r\n$IIVWT,009,L,07.25,N,03.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100847,,,,00,*42\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,6004.007,N,02331.173,E,100847,A,A*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,207.22,T,207.22,M,5.70,N,,,A*63\r\n$IIMWV,358,R,13.21,N,A*2C\r\n$IIVWT,005,L,07.01,N,03.61,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100849,,,,00,*4C\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,6004.004,N,02331.170,E,100849,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,207.46,T,207.46,M,5.70,N,,,A*63\r\n$IIMWV,359,T,08.61,N,A*25\r\n$IIVWT,001,L,08.61,N,04.43,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100851,,,,00,*45\r\n$IIDBT,047.50,f,014.48,M,007.82,F*23\r\n$GPGLL,6004.002,N,02331.167,E,100851,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.00,N,04.63,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,208.28,T,208.28,M,5.70,N,,,A*63\r\n$IIMWV,359,R,15.16,N,A*2F\r\n$IIVWT,002,L,09.00,N,04.63,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100853,,,,00,*47\r\n$IIDBT,047.57,f,014.50,M,007.83,F*2C\r\n$GPGLL,6003.999,N,02331.164,E,100853,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,208.52,T,208.52,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.74,N,A*2F\r\n$IIVWT,003,L,08.74,N,04.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100855,,,,00,*41\r\n$IIDBT,047.73,f,014.55,M,007.86,F*2A\r\n$GPGLL,6003.996,N,02331.161,E,100855,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,209.03,T,209.03,M,5.70,N,,,A*63\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,005,L,08.24,N,04.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100857,,,,00,*43\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,6003.993,N,02331.158,E,100857,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,210.03,T,210.03,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.63,N,A*29\r\n$IIVWT,003,L,08.63,N,04.44,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100859,,,,00,*4D\r\n$IIDBT,048.06,f,014.65,M,007.91,F*22\r\n$GPGLL,6003.991,N,02331.154,E,100859,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,210.50,T,210.50,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.33,N,04.29,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100901,,,,00,*41\r\n$IIDBT,048.22,f,014.70,M,007.94,F*25\r\n$GPGLL,6003.988,N,02331.151,E,100901,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,209.85,T,209.85,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.74,N,A*2F\r\n$IIVWT,003,L,08.74,N,04.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100903,,,,00,*43\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,6003.985,N,02331.148,E,100903,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,209.89,T,209.89,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.33,N,04.29,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100905,,,,00,*45\r\n$IIDBT,048.58,f,014.81,M,008.00,F*24\r\n$GPGLL,6003.982,N,02331.145,E,100905,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,210.50,T,210.50,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.22,N,A*2C\r\n$IIVWT,003,L,08.22,N,04.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100907,,,,00,*47\r\n$IIDBT,048.71,f,014.85,M,008.02,F*29\r\n$GPGLL,6003.980,N,02331.142,E,100907,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,211.12,T,211.12,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.39,N,04.32,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100909,,,,00,*49\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,6003.977,N,02331.138,E,100909,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,211.66,T,211.66,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.35,N,A*2A\r\n$IIVWT,003,L,08.35,N,04.30,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100911,,,,00,*40\r\n$IIDBT,049.04,f,014.95,M,008.08,F*21\r\n$GPGLL,6003.973,N,02331.134,E,100911,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,211.06,T,211.06,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.37,N,04.31,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100913,,,,00,*42\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,6003.970,N,02331.130,E,100913,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,211.56,T,211.56,M,5.63,N,,,A*61\r\n$IIMWV,357,T,08.30,N,A*2F\r\n$IIVWT,003,L,08.30,N,04.27,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100915,,,,00,*44\r\n$IIDBT,049.34,f,015.04,M,008.12,F*20\r\n$GPGLL,6003.968,N,02331.127,E,100916,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,212.11,T,212.11,M,5.68,N,,,A*6A\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.37,N,04.31,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100917,,,,00,*46\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,6003.965,N,02331.124,E,100918,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,212.03,T,212.03,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.31,N,A*2E\r\n$IIVWT,003,L,08.31,N,04.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100919,,,,00,*48\r\n$IIDBT,049.73,f,015.16,M,008.19,F*2B\r\n$GPGLL,6003.962,N,02331.120,E,100920,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,211.86,T,211.86,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.30,N,04.27,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100921,,,,00,*43\r\n$IIDBT,049.90,f,015.21,M,008.22,F*2A\r\n$GPGLL,6003.960,N,02331.117,E,100922,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,211.29,T,211.29,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.76,N,A*2D\r\n$IIVWT,003,L,08.76,N,04.51,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100923,,,,00,*41\r\n$IIDBT,050.03,f,015.25,M,008.24,F*2A\r\n$GPGLL,6003.957,N,02331.114,E,100924,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,210.62,T,210.62,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.26,N,04.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100925,,,,00,*47\r\n$IIDBT,050.32,f,015.34,M,008.29,F*25\r\n$GPGLL,6003.954,N,02331.111,E,100926,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,210.36,T,210.36,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.68,N,A*22\r\n$IIVWT,003,L,08.68,N,04.47,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100928,,,,00,*4A\r\n$IIDBT,050.39,f,015.36,M,008.30,F*24\r\n$GPGLL,6003.951,N,02331.108,E,100928,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.80,N,04.53,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,210.61,T,210.61,M,5.70,N,,,A*63\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,003,L,08.65,N,04.45,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100930,,,,00,*43\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,6003.949,N,02331.104,E,100930,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,210.60,T,210.60,M,5.70,N,,,A*63\r\n$IIMWV,357,T,08.31,N,A*2E\r\n$IIVWT,003,L,08.31,N,04.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100932,,,,00,*41\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,6003.946,N,02331.101,E,100932,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.15,T,210.15,M,5.70,N,,,A*63\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,003,L,08.37,N,04.31,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100934,,,,00,*47\r\n$IIDBT,050.88,f,015.51,M,008.38,F*27\r\n$GPGLL,6003.943,N,02331.098,E,100934,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,209.84,T,209.84,M,5.70,N,,,A*63\r\n$IIMWV,358,T,08.41,N,A*26\r\n$IIVWT,002,L,08.41,N,04.33,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100936,,,,00,*45\r\n$IIDBT,050.95,f,015.53,M,008.39,F*28\r\n$GPGLL,6003.941,N,02331.095,E,100936,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,209.93,T,209.93,M,5.70,N,,,A*63\r\n$IIMWV,359,R,14.77,N,A*29\r\n$IIVWT,002,L,08.74,N,04.50,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100938,,,,00,*4B\r\n$IIDBT,051.11,f,015.58,M,008.42,F*22\r\n$GPGLL,6003.938,N,02331.092,E,100938,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.08,T,210.08,M,5.67,N,,,A*65\r\n$IIMWV,359,T,08.35,N,A*24\r\n$IIVWT,001,L,08.35,N,04.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100940,,,,00,*44\r\n$IIDBT,051.24,f,015.62,M,008.44,F*2B\r\n$GPGLL,6003.935,N,02331.089,E,100940,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.02,T,210.02,M,5.69,N,,,A*6B\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,08.33,N,04.29,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100942,,,,00,*46\r\n$IIDBT,051.27,f,015.63,M,008.44,F*29\r\n$GPGLL,6003.932,N,02331.086,E,100942,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.13,T,210.13,M,5.70,N,,,A*63\r\n$IIMWV,358,T,11.50,N,A*2E\r\n$IIVWT,002,L,11.50,N,05.92,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100944,,,,00,*40\r\n$IIDBT,051.40,f,015.67,M,008.47,F*2F\r\n$GPGLL,6003.930,N,02331.083,E,100944,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,210.43,T,210.43,M,5.65,N,,,A*67\r\n$IIMWV,359,R,14.77,N,A*29\r\n$IIVWT,002,L,08.76,N,04.51,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100946,,,,00,*42\r\n$IIDBT,051.50,f,015.70,M,008.48,F*27\r\n$GPGLL,6003.927,N,02331.079,E,100946,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.68,T,210.68,M,5.69,N,,,A*6B\r\n$IIMWV,358,T,08.72,N,A*26\r\n$IIVWT,002,L,08.72,N,04.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100948,,,,00,*4C\r\n$IIDBT,051.67,f,015.75,M,008.51,F*2E\r\n$GPGLL,6003.924,N,02331.076,E,100948,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,211.22,T,211.22,M,5.70,N,,,A*63\r\n$IIMWV,360,R,14.77,N,A*23\r\n$IIVWT,001,L,08.78,N,04.52,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,100950,,,,00,*45\r\n$IIDBT,051.67,f,015.75,M,008.51,F*2E\r\n$GPGLL,6003.922,N,02331.073,E,100950,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,211.48,T,211.48,M,5.70,N,,,A*63\r\n$IIMWV,358,T,08.68,N,A*2D\r\n$IIVWT,002,L,08.68,N,04.47,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100952,,,,00,*47\r\n$IIDBT,051.77,f,015.78,M,008.52,F*21\r\n$GPGLL,6003.919,N,02331.070,E,100952,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.07,N,04.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,210.44,T,210.44,M,5.70,N,,,D*66\r\n$IIMWV,360,R,15.16,N,A*25\r\n$IIVWT,001,L,09.07,N,04.67,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100954,,,,00,*41\r\n$IIDBT,051.83,f,015.80,M,008.54,F*2B\r\n$GPGLL,6003.915,N,02331.065,E,100954,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.88,T,210.88,M,5.70,N,,,D*66\r\n$IIMWV,359,T,09.33,N,A*23\r\n$IIVWT,001,L,09.33,N,04.80,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100956,,,,00,*43\r\n$IIDBT,051.96,f,015.84,M,008.56,F*29\r\n$GPGLL,6003.912,N,02331.062,E,100956,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,211.32,T,211.32,M,5.70,N,,,D*66\r\n$IIMWV,359,R,15.16,N,A*2F\r\n$IIVWT,002,L,09.13,N,04.70,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,100958,,,,00,*4D\r\n$IIDBT,052.06,f,015.87,M,008.57,F*21\r\n$GPGLL,6003.909,N,02331.059,E,100959,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,211.93,T,211.93,M,5.70,N,,,D*66\r\n$IIMWV,358,T,09.36,N,A*27\r\n$IIVWT,002,L,09.36,N,04.82,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101000,,,,00,*48\r\n$IIDBT,052.16,f,015.90,M,008.59,F*28\r\n$GPGLL,6003.906,N,02331.056,E,101001,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,211.16,T,211.16,M,5.70,N,,,D*66\r\n$IIMWV,358,R,15.16,N,A*2E\r\n$IIVWT,003,L,09.19,N,04.73,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101002,,,,00,*4A\r\n$IIDBT,052.26,f,015.93,M,008.61,F*23\r\n$GPGLL,6003.904,N,02331.053,E,101003,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,211.29,T,211.29,M,5.62,N,,,D*65\r\n$IIMWV,358,T,09.19,N,A*2A\r\n$IIVWT,002,L,09.19,N,04.73,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101004,,,,00,*4C\r\n$IIDBT,052.36,f,015.96,M,008.62,F*24\r\n$GPGLL,6003.901,N,02331.049,E,101005,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.07,N,04.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,213.77,T,213.77,M,5.66,N,,,D*61\r\n$IIMWV,358,R,15.16,N,A*2E\r\n$IIVWT,004,L,09.17,N,04.72,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101006,,,,00,*4E\r\n$IIDBT,052.49,f,016.00,M,008.64,F*26\r\n$GPGLL,6003.899,N,02331.046,E,101007,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,214.24,T,214.24,M,5.69,N,,,D*6E\r\n$IIMWV,357,T,08.80,N,A*24\r\n$IIVWT,003,L,08.80,N,04.53,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101008,,,,00,*40\r\n$IIDBT,052.55,f,016.02,M,008.65,F*28\r\n$GPGLL,6003.896,N,02331.042,E,101009,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,214.11,T,214.11,M,5.70,N,,,D*66\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.41,N,04.33,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101011,,,,00,*48\r\n$IIDBT,052.75,f,016.08,M,008.69,F*2C\r\n$GPGLL,6003.893,N,02331.039,E,101011,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.61,N,04.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,213.90,T,213.90,M,5.62,N,,,D*65\r\n$IIMWV,358,T,08.72,N,A*26\r\n$IIVWT,002,L,08.72,N,04.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101013,,,,00,*4A\r\n$IIDBT,052.82,f,016.10,M,008.70,F*25\r\n$GPGLL,6003.891,N,02331.035,E,101013,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,213.45,T,213.45,M,5.68,N,,,D*6F\r\n$IIMWV,358,R,15.16,N,A*2E\r\n$IIVWT,003,L,09.19,N,04.73,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101015,,,,00,*4C\r\n$IIDBT,052.91,f,016.13,M,008.71,F*25\r\n$GPGLL,6003.888,N,02331.032,E,101015,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,213.09,T,213.09,M,5.70,N,,,D*66\r\n$IIMWV,358,T,09.36,N,A*27\r\n$IIVWT,002,L,09.36,N,04.82,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101017,,,,00,*4E\r\n$IIDBT,053.04,f,016.17,M,008.74,F*29\r\n$GPGLL,6003.885,N,02331.028,E,101017,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,213.50,T,213.50,M,5.70,N,,,D*66\r\n$IIMWV,359,R,15.16,N,A*2F\r\n$IIVWT,002,L,09.17,N,04.72,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101019,,,,00,*40\r\n$IIDBT,053.08,f,016.18,M,008.74,F*2A\r\n$GPGLL,6003.883,N,02331.025,E,101019,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,213.27,T,213.27,M,5.70,N,,,D*66\r\n$IIMWV,000,T,09.19,N,A*24\r\n$IIVWT,000,R,09.19,N,04.73,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101021,,,,00,*4B\r\n$IIDBT,053.14,f,016.20,M,008.75,F*2D\r\n$GPGLL,6003.880,N,02331.021,E,101021,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,212.64,T,212.64,M,5.70,N,,,D*66\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,001,R,09.23,N,04.75,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101023,,,,00,*49\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,6003.877,N,02331.018,E,101023,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,211.64,T,211.64,M,5.65,N,,,D*62\r\n$IIMWV,001,T,09.07,N,A*2A\r\n$IIVWT,001,R,09.07,N,04.67,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101025,,,,00,*4F\r\n$IIDBT,053.31,f,016.25,M,008.78,F*22\r\n$GPGLL,6003.875,N,02331.015,E,101025,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,211.06,T,211.06,M,5.61,N,,,D*66\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,002,R,09.25,N,04.76,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101027,,,,00,*4D\r\n$IIDBT,053.37,f,016.27,M,008.79,F*27\r\n$GPGLL,6003.872,N,02331.011,E,101027,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.15,N,04.71,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,211.54,T,211.54,M,5.65,N,,,D*62\r\n$IIMWV,003,T,09.09,N,A*26\r\n$IIVWT,003,R,09.09,N,04.68,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101029,,,,00,*43\r\n$IIDBT,053.37,f,016.27,M,008.79,F*27\r\n$GPGLL,6003.869,N,02331.008,E,101029,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,211.49,T,211.49,M,5.69,N,,,D*6E\r\n$IIMWV,002,R,15.35,N,A*23\r\n$IIVWT,003,R,09.29,N,04.78,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101031,,,,00,*4A\r\n$IIDBT,053.37,f,016.27,M,008.79,F*27\r\n$GPGLL,6003.867,N,02331.005,E,101031,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,210.52,T,210.52,M,5.70,N,,,D*66\r\n$IIMWV,003,T,09.23,N,A*2E\r\n$IIVWT,003,R,09.23,N,04.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101033,,,,00,*48\r\n$IIDBT,053.41,f,016.28,M,008.79,F*29\r\n$GPGLL,6003.864,N,02331.002,E,101033,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,209.73,T,209.73,M,5.65,N,,,D*62\r\n$IIMWV,002,R,15.35,N,A*23\r\n$IIVWT,003,R,09.33,N,04.80,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101035,,,,00,*4E\r\n$IIDBT,053.44,f,016.29,M,008.80,F*2B\r\n$GPGLL,6003.860,N,02330.997,E,101035,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,210.08,T,210.08,M,5.69,N,,,D*6E\r\n$IIMWV,003,T,09.15,N,A*2B\r\n$IIVWT,003,R,09.15,N,04.71,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101037,,,,00,*4C\r\n$IIDBT,053.44,f,016.29,M,008.80,F*2B\r\n$GPGLL,6003.857,N,02330.994,E,101037,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,210.17,T,210.17,M,5.65,N,,,D*62\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,002,R,09.07,N,04.67,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101039,,,,00,*42\r\n$IIDBT,053.50,f,016.31,M,008.81,F*26\r\n$GPGLL,6003.854,N,02330.991,E,101039,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,210.17,T,210.17,M,5.61,N,,,D*66\r\n$IIMWV,002,T,09.00,N,A*2E\r\n$IIVWT,002,R,09.00,N,04.63,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101041,,,,00,*4D\r\n$IIDBT,053.67,f,016.36,M,008.84,F*20\r\n$GPGLL,6003.852,N,02330.987,E,101042,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,210.57,T,210.57,M,5.60,N,,,D*67\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,001,R,09.46,N,04.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101043,,,,00,*4F\r\n$IIDBT,053.87,f,016.42,M,008.87,F*2E\r\n$GPGLL,6003.849,N,02330.984,E,101044,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,210.72,T,210.72,M,5.60,N,,,D*67\r\n$IIMWV,001,T,09.09,N,A*24\r\n$IIVWT,001,R,09.09,N,04.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101045,,,,00,*49\r\n$IIDBT,054.00,f,016.46,M,008.89,F*2C\r\n$GPGLL,6003.846,N,02330.981,E,101046,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,210.98,T,210.98,M,5.60,N,,,D*67\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,002,R,09.17,N,04.72,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101047,,,,00,*4B\r\n$IIDBT,054.26,f,016.54,M,008.94,F*27\r\n$GPGLL,6003.843,N,02330.978,E,101048,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,211.04,T,211.04,M,5.60,N,,,D*67\r\n$IIMWV,000,T,09.25,N,A*2B\r\n$IIVWT,000,R,09.25,N,04.76,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101049,,,,00,*45\r\n$IIDBT,054.55,f,016.63,M,008.98,F*2B\r\n$GPGLL,6003.841,N,02330.974,E,101050,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,211.01,T,211.01,M,5.60,N,,,D*67\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,002,R,09.33,N,04.80,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101051,,,,00,*4C\r\n$IIDBT,054.65,f,016.66,M,009.00,F*2D\r\n$GPGLL,6003.838,N,02330.971,E,101052,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,211.50,T,211.50,M,5.65,N,,,D*62\r\n$IIMWV,001,T,09.75,N,A*2F\r\n$IIVWT,001,R,09.75,N,05.02,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101054,,,,00,*49\r\n$IIDBT,054.82,f,016.71,M,009.03,F*21\r\n$GPGLL,6003.835,N,02330.968,E,101054,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.73,N,05.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,211.62,T,211.62,M,5.69,N,,,D*6E\r\n$IIMWV,000,R,15.74,N,A*24\r\n$IIVWT,000,R,09.68,N,04.98,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101056,,,,00,*4B\r\n$IIDBT,054.82,f,016.71,M,009.03,F*21\r\n$GPGLL,6003.833,N,02330.965,E,101056,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,210.86,T,210.86,M,5.62,N,,,D*65\r\n$IIMWV,001,T,09.71,N,A*2B\r\n$IIVWT,001,R,09.71,N,05.00,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101058,,,,00,*45\r\n$IIDBT,054.88,f,016.73,M,009.04,F*2E\r\n$GPGLL,6003.830,N,02330.961,E,101058,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.97,N,11.05,K*5B\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,210.89,T,210.89,M,5.61,N,,,D*66\r\n$IIMWV,000,R,15.35,N,A*21\r\n$IIVWT,000,R,09.42,N,04.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101100,,,,00,*49\r\n$IIDBT,054.88,f,016.73,M,009.04,F*2E\r\n$GPGLL,6003.827,N,02330.958,E,101100,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.96,N,11.03,K*5C\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,211.20,T,211.20,M,5.60,N,,,D*67\r\n$IIMWV,001,T,09.75,N,A*2F\r\n$IIVWT,001,R,09.75,N,05.02,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101102,,,,00,*4B\r\n$IIDBT,054.91,f,016.74,M,009.04,F*21\r\n$GPGLL,6003.825,N,02330.955,E,101102,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.87,N,05.08,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.94,N,11.00,K*5D\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,211.30,T,211.30,M,5.65,N,,,D*62\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,000,L,09.69,N,04.99,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101104,,,,00,*4D\r\n$IIDBT,054.95,f,016.75,M,009.05,F*25\r\n$GPGLL,6003.822,N,02330.952,E,101104,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.97,N,11.05,K*5B\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,211.32,T,211.32,M,5.61,N,,,D*66\r\n$IIMWV,001,T,09.79,N,A*23\r\n$IIVWT,001,R,09.79,N,05.04,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101106,,,,00,*4F\r\n$IIDBT,054.95,f,016.75,M,009.05,F*25\r\n$GPGLL,6003.819,N,02330.948,E,101106,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.96,N,11.03,K*5C\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,212.18,T,212.18,M,5.68,N,,,D*6F\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,000,L,09.64,N,04.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101108,,,,00,*41\r\n$IIDBT,055.01,f,016.77,M,009.06,F*28\r\n$GPGLL,6003.817,N,02330.945,E,101108,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.97,N,11.05,K*5B\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,212.20,T,212.20,M,5.69,N,,,D*6E\r\n$IIMWV,000,T,09.71,N,A*2A\r\n$IIVWT,000,R,09.71,N,05.00,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101110,,,,00,*48\r\n$IIDBT,055.05,f,016.78,M,009.07,F*22\r\n$GPGLL,6003.814,N,02330.942,E,101110,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,210.85,T,210.85,M,5.70,N,,,D*66\r\n$IIMWV,000,R,15.74,N,A*24\r\n$IIVWT,000,R,09.73,N,05.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101112,,,,00,*4A\r\n$IIDBT,054.72,f,016.68,M,009.01,F*24\r\n$GPGLL,6003.811,N,02330.939,E,101112,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,210.61,T,210.61,M,5.70,N,,,D*66\r\n$IIMWV,360,T,09.34,N,A*2E\r\n$IIVWT,000,L,09.34,N,04.81,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101114,,,,00,*4C\r\n$IIDBT,054.26,f,016.54,M,008.94,F*27\r\n$GPGLL,6003.809,N,02330.935,E,101114,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.25,N,04.76,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,211.73,T,211.73,M,5.62,N,,,D*65\r\n$IIMWV,000,R,15.35,N,A*21\r\n$IIVWT,000,R,09.29,N,04.78,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101116,,,,00,*4E\r\n$IIDBT,053.57,f,016.33,M,008.82,F*20\r\n$GPGLL,6003.806,N,02330.932,E,101116,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.03,N,11.16,K*57\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,211.93,T,211.93,M,5.61,N,,,D*66\r\n$IIMWV,002,T,09.31,N,A*2C\r\n$IIVWT,002,R,09.31,N,04.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101118,,,,00,*40\r\n$IIDBT,053.24,f,016.23,M,008.77,F*2F\r\n$GPGLL,6003.802,N,02330.927,E,101118,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,211.48,T,211.48,M,5.68,N,,,D*6F\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,002,R,09.44,N,04.86,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101120,,,,00,*4B\r\n$IIDBT,052.62,f,016.04,M,008.67,F*28\r\n$GPGLL,6003.799,N,02330.924,E,101120,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,210.95,T,210.95,M,5.68,N,,,D*6F\r\n$IIMWV,004,T,09.17,N,A*2E\r\n$IIVWT,004,R,09.17,N,04.72,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101122,,,,00,*49\r\n$IIDBT,052.22,f,015.92,M,008.60,F*27\r\n$GPGLL,6003.797,N,02330.921,E,101122,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,210.31,T,210.31,M,5.70,N,,,D*66\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,002,R,09.07,N,04.67,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101124,,,,00,*4F\r\n$IIDBT,052.16,f,015.90,M,008.59,F*28\r\n$GPGLL,6003.794,N,02330.918,E,101125,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.07,N,04.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,209.17,T,209.17,M,5.70,N,,,D*66\r\n$IIMWV,004,T,09.25,N,A*2F\r\n$IIVWT,004,R,09.25,N,04.76,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101126,,,,00,*4D\r\n$IIDBT,052.39,f,015.97,M,008.63,F*2B\r\n$GPGLL,6003.791,N,02330.915,E,101127,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.15,N,05.74,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,208.80,T,208.80,M,5.70,N,,,D*66\r\n$IIMWV,002,R,15.16,N,A*22\r\n$IIVWT,003,R,09.11,N,04.69,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101128,,,,00,*43\r\n$IIDBT,052.13,f,015.89,M,008.58,F*24\r\n$GPGLL,6003.788,N,02330.912,E,101129,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.96,N,05.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,208.72,T,208.72,M,5.70,N,,,D*66\r\n$IIMWV,002,T,08.80,N,A*27\r\n$IIVWT,002,R,08.80,N,04.53,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101130,,,,00,*4A\r\n$IIDBT,052.19,f,015.91,M,008.59,F*26\r\n$GPGLL,6003.786,N,02330.909,E,101131,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,208.53,T,208.53,M,5.70,N,,,D*66\r\n$IIMWV,002,R,14.77,N,A*24\r\n$IIVWT,003,R,08.80,N,04.53,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101132,,,,00,*48\r\n$IIDBT,052.36,f,015.96,M,008.62,F*24\r\n$GPGLL,6003.783,N,02330.906,E,101133,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,208.50,T,208.50,M,5.70,N,,,D*66\r\n$IIMWV,001,T,08.37,N,A*28\r\n$IIVWT,001,R,08.37,N,04.31,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101134,,,,00,*4E\r\n$IIDBT,052.65,f,016.05,M,008.67,F*2E\r\n$GPGLL,6003.780,N,02330.903,E,101135,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.84,N,05.58,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,208.17,T,208.17,M,5.70,N,,,D*66\r\n$IIMWV,000,R,19.43,N,A*2C\r\n$IIVWT,001,R,13.47,N,06.93,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101137,,,,00,*4D\r\n$IIDBT,052.85,f,016.11,M,008.70,F*23\r\n$GPGLL,6003.777,N,02330.900,E,101137,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,208.07,T,208.07,M,5.70,N,,,D*66\r\n$IIMWV,001,T,19.59,N,A*20\r\n$IIVWT,001,R,19.59,N,10.08,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101139,,,,00,*43\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,6003.775,N,02330.897,E,101139,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.57,N,05.44,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,208.64,T,208.64,M,5.70,N,,,D*66\r\n$IIMWV,001,R,14.77,N,A*27\r\n$IIVWT,002,R,08.78,N,04.52,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101141,,,,00,*4C\r\n$IIDBT,053.57,f,016.33,M,008.82,F*20\r\n$GPGLL,6003.772,N,02330.894,E,101141,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,209.11,T,209.11,M,5.70,N,,,D*66\r\n$IIMWV,001,T,08.26,N,A*28\r\n$IIVWT,001,R,08.26,N,04.25,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101143,,,,00,*4E\r\n$IIDBT,053.87,f,016.42,M,008.87,F*2E\r\n$GPGLL,6003.769,N,02330.891,E,101143,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.38,N,06.37,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,209.27,T,209.27,M,5.70,N,,,D*66\r\n$IIMWV,002,R,20.99,N,A*23\r\n$IIVWT,003,R,14.92,N,07.68,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101145,,,,00,*48\r\n$IIDBT,054.06,f,016.48,M,008.90,F*2C\r\n$GPGLL,6003.766,N,02330.888,E,101145,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,209.62,T,209.62,M,5.70,N,,,D*66\r\n$IIMWV,004,T,11.76,N,A*20\r\n$IIVWT,004,R,11.76,N,06.05,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101147,,,,00,*4A\r\n$IIDBT,054.52,f,016.62,M,008.98,F*2D\r\n$GPGLL,6003.764,N,02330.885,E,101147,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,209.00,T,209.00,M,5.70,N,,,D*66\r\n$IIMWV,002,R,16.71,N,A*20\r\n$IIVWT,002,R,10.74,N,05.53,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101149,,,,00,*44\r\n$IIDBT,054.82,f,016.71,M,009.03,F*21\r\n$GPGLL,6003.761,N,02330.882,E,101149,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,207.82,T,207.82,M,5.70,N,,,D*66\r\n$IIMWV,003,T,08.20,N,A*2C\r\n$IIVWT,003,R,08.20,N,04.22,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101151,,,,00,*4D\r\n$IIDBT,054.78,f,016.70,M,009.02,F*24\r\n$GPGLL,6003.758,N,02330.879,E,101151,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,208.08,T,208.08,M,5.70,N,,,D*66\r\n$IIMWV,001,R,20.79,N,A*2E\r\n$IIVWT,001,R,14.77,N,07.60,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101153,,,,00,*4F\r\n$IIDBT,054.29,f,016.55,M,008.94,F*29\r\n$GPGLL,6003.755,N,02330.876,E,101153,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,208.97,T,208.97,M,5.70,N,,,D*66\r\n$IIMWV,003,T,10.71,N,A*21\r\n$IIVWT,003,R,10.71,N,05.51,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101155,,,,00,*49\r\n$IIDBT,053.83,f,016.41,M,008.87,F*29\r\n$GPGLL,6003.752,N,02330.872,E,101155,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,209.47,T,209.47,M,5.70,N,,,D*66\r\n$IIMWV,001,R,16.71,N,A*23\r\n$IIVWT,002,R,10.69,N,05.50,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101157,,,,00,*4B\r\n$IIDBT,053.70,f,016.37,M,008.84,F*27\r\n$GPGLL,6003.750,N,02330.869,E,101157,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,208.87,T,208.87,M,5.70,N,,,D*66\r\n$IIMWV,360,T,13.82,N,A*28\r\n$IIVWT,000,L,13.82,N,07.11,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101159,,,,00,*45\r\n$IIDBT,053.50,f,016.31,M,008.81,F*26\r\n$GPGLL,6003.747,N,02330.866,E,101159,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,208.44,T,208.44,M,5.70,N,,,D*66\r\n$IIMWV,002,R,17.49,N,A*2A\r\n$IIVWT,002,R,11.35,N,05.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101201,,,,00,*4B\r\n$IIDBT,053.34,f,016.26,M,008.78,F*24\r\n$GPGLL,6003.743,N,02330.862,E,101201,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,208.01,T,208.01,M,5.70,N,,,D*66\r\n$IIMWV,001,T,11.46,N,A*26\r\n$IIVWT,001,R,11.46,N,05.90,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101203,,,,00,*49\r\n$IIDBT,053.18,f,016.21,M,008.76,F*23\r\n$GPGLL,6003.740,N,02330.859,E,101203,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.79,N,07.61,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,207.39,T,207.39,M,5.70,N,,,D*66\r\n$IIMWV,000,R,20.02,N,A*23\r\n$IIVWT,000,R,13.99,N,07.20,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101205,,,,00,*4F\r\n$IIDBT,052.98,f,016.15,M,008.72,F*29\r\n$GPGLL,6003.737,N,02330.856,E,101205,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,207.49,T,207.49,M,5.70,N,,,D*66\r\n$IIMWV,360,T,11.48,N,A*2C\r\n$IIVWT,000,L,11.48,N,05.91,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101207,,,,00,*4D\r\n$IIDBT,052.95,f,016.14,M,008.72,F*25\r\n$GPGLL,6003.735,N,02330.853,E,101208,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.00,N,06.69,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,207.77,T,207.77,M,5.70,N,,,D*66\r\n$IIMWV,359,R,17.49,N,A*27\r\n$IIVWT,001,L,11.41,N,05.87,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101209,,,,00,*43\r\n$IIDBT,052.75,f,016.08,M,008.69,F*2C\r\n$GPGLL,6003.732,N,02330.849,E,101210,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,208.24,T,208.24,M,5.70,N,,,D*66\r\n$IIMWV,358,T,14.36,N,A*2B\r\n$IIVWT,002,L,14.36,N,07.39,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101211,,,,00,*4A\r\n$IIDBT,052.62,f,016.04,M,008.67,F*28\r\n$GPGLL,6003.729,N,02330.846,E,101212,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,209.09,T,209.09,M,5.70,N,,,D*66\r\n$IIMWV,359,R,17.10,N,A*2B\r\n$IIVWT,002,L,11.07,N,05.70,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101213,,,,00,*48\r\n$IIDBT,052.52,f,016.01,M,008.65,F*2C\r\n$GPGLL,6003.727,N,02330.843,E,101214,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,209.84,T,209.84,M,5.70,N,,,D*66\r\n$IIMWV,357,T,10.41,N,A*20\r\n$IIVWT,003,L,10.41,N,05.36,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101215,,,,00,*4E\r\n$IIDBT,052.42,f,015.98,M,008.63,F*28\r\n$GPGLL,6003.724,N,02330.840,E,101216,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.76,N,09.14,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,209.84,T,209.84,M,5.70,N,,,D*66\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.39,N,04.32,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101217,,,,00,*4C\r\n$IIDBT,052.32,f,015.95,M,008.62,F*23\r\n$GPGLL,6003.721,N,02330.837,E,101218,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,210.01,T,210.01,M,5.70,N,,,D*66\r\n$IIMWV,355,T,08.45,N,A*2F\r\n$IIVWT,005,L,08.45,N,04.35,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101220,,,,00,*48\r\n$IIDBT,052.22,f,015.92,M,008.60,F*27\r\n$GPGLL,6003.719,N,02330.834,E,101220,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.97,N,11.05,K*5B\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,210.98,T,210.98,M,5.70,N,,,D*66\r\n$IIMWV,356,R,17.10,N,A*24\r\n$IIVWT,006,L,11.02,N,05.67,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101222,,,,00,*4A\r\n$IIDBT,052.03,f,015.86,M,008.57,F*25\r\n$GPGLL,6003.716,N,02330.830,E,101222,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,212.09,T,212.09,M,5.70,N,,,D*66\r\n$IIMWV,354,T,10.41,N,A*23\r\n$IIVWT,007,L,10.41,N,05.36,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101224,,,,00,*4C\r\n$IIDBT,051.86,f,015.81,M,008.54,F*2F\r\n$GPGLL,6003.714,N,02330.827,E,101224,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.33,N,08.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,213.90,T,213.90,M,5.70,N,,,D*66\r\n$IIMWV,357,R,17.10,N,A*25\r\n$IIVWT,004,L,11.04,N,05.68,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101226,,,,00,*4E\r\n$IIDBT,051.77,f,015.78,M,008.52,F*21\r\n$GPGLL,6003.711,N,02330.823,E,101226,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.99,N,11.09,K*59\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,214.72,T,214.72,M,5.70,N,,,D*66\r\n$IIMWV,356,T,15.78,N,A*2E\r\n$IIVWT,004,L,15.78,N,08.12,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101228,,,,00,*40\r\n$IIDBT,051.60,f,015.73,M,008.50,F*2E\r\n$GPGLL,6003.709,N,02330.820,E,101228,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,215.53,T,215.53,M,5.70,N,,,D*66\r\n$IIMWV,013,R,22.15,N,A*25\r\n$IIVWT,018,R,16.23,N,08.35,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101230,,,,00,*49\r\n$IIDBT,051.50,f,015.70,M,008.48,F*27\r\n$GPGLL,6003.706,N,02330.816,E,101230,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,215.58,T,215.58,M,5.70,N,,,D*66\r\n$IIMWV,352,T,18.33,N,A*28\r\n$IIVWT,008,L,18.33,N,09.43,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101232,,,,00,*4B\r\n$IIDBT,051.37,f,015.66,M,008.46,F*2F\r\n$GPGLL,6003.704,N,02330.812,E,101232,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.59,N,05.45,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,215.07,T,215.07,M,5.70,N,,,D*66\r\n$IIMWV,357,R,16.71,N,A*23\r\n$IIVWT,005,L,10.63,N,05.47,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101234,,,,00,*4D\r\n$IIDBT,051.21,f,015.61,M,008.43,F*2A\r\n$GPGLL,6003.702,N,02330.808,E,101234,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.38,N,06.37,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,217.42,T,217.42,M,5.70,N,,,D*66\r\n$IIMWV,352,T,10.71,N,A*26\r\n$IIVWT,008,L,10.71,N,05.51,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101236,,,,00,*4F\r\n$IIDBT,051.04,f,015.56,M,008.41,F*2B\r\n$GPGLL,6003.699,N,02330.804,E,101236,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.95,N,08.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,220.61,T,220.61,M,5.75,N,,,D*63\r\n$IIMWV,359,R,17.10,N,A*2B\r\n$IIVWT,002,L,11.09,N,05.71,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101238,,,,00,*41\r\n$IIDBT,051.04,f,015.56,M,008.41,F*2B\r\n$GPGLL,6003.697,N,02330.800,E,101238,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,219.30,T,219.30,M,5.79,N,,,D*6F\r\n$IIMWV,359,T,17.10,N,A*2D\r\n$IIVWT,001,L,17.10,N,08.80,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101240,,,,00,*4E\r\n$IIDBT,050.85,f,015.50,M,008.37,F*24\r\n$GPGLL,6003.694,N,02330.797,E,101240,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,214.77,T,214.77,M,5.75,N,,,D*63\r\n$IIMWV,001,R,17.49,N,A*29\r\n$IIVWT,002,R,11.46,N,05.90,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101242,,,,00,*4C\r\n$IIDBT,050.85,f,015.50,M,008.37,F*24\r\n$GPGLL,6003.692,N,02330.794,E,101242,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.16,N,05.23,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,210.42,T,210.42,M,5.71,N,,,D*67\r\n$IIMWV,001,T,14.55,N,A*21\r\n$IIVWT,001,R,14.55,N,07.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101244,,,,00,*4A\r\n$IIDBT,050.78,f,015.48,M,008.36,F*2E\r\n$GPGLL,6003.687,N,02330.789,E,101244,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.52,N,10.56,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.97,N,11.05,K*5B\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,208.25,T,208.25,M,5.70,N,,,D*66\r\n$IIMWV,000,R,22.74,N,A*20\r\n$IIVWT,000,R,16.87,N,08.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101246,,,,00,*48\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,6003.685,N,02330.786,E,101246,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.63,N,05.47,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.93,N,10.98,K*5A\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,208.19,T,208.19,M,5.63,N,,,D*64\r\n$IIMWV,004,T,13.84,N,A*2F\r\n$IIVWT,004,R,13.84,N,07.12,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101248,,,,00,*46\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,6003.682,N,02330.783,E,101248,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,208.77,T,208.77,M,5.61,N,,,D*66\r\n$IIMWV,001,R,16.52,N,A*22\r\n$IIVWT,001,R,10.61,N,05.46,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101250,,,,00,*4F\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,6003.679,N,02330.780,E,101251,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.62,N,05.98,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,208.27,T,208.27,M,5.60,N,,,D*67\r\n$IIMWV,000,T,17.35,N,A*25\r\n$IIVWT,000,R,17.35,N,08.93,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101252,,,,00,*4D\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,6003.676,N,02330.777,E,101253,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.84,N,10.81,K*54\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,208.19,T,208.19,M,5.60,N,,,D*67\r\n$IIMWV,360,R,13.41,N,A*21\r\n$IIVWT,001,L,07.60,N,03.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101254,,,,00,*4B\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,6003.674,N,02330.775,E,101255,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.97,N,05.13,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.81,N,10.76,K*59\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,208.87,T,208.87,M,5.53,N,,,D*67\r\n$IIMWV,001,T,12.82,N,A*2D\r\n$IIVWT,001,R,12.82,N,06.60,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101256,,,,00,*49\r\n$IIDBT,050.45,f,015.38,M,008.31,F*20\r\n$GPGLL,6003.671,N,02330.771,E,101257,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.93,N,05.11,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.79,N,10.72,K*5A\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,209.82,T,209.82,M,5.51,N,,,D*65\r\n$IIMWV,001,R,13.41,N,A*25\r\n$IIVWT,001,R,07.65,N,03.94,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101258,,,,00,*47\r\n$IIDBT,050.26,f,015.32,M,008.28,F*27\r\n$GPGLL,6003.668,N,02330.768,E,101259,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.75,N,10.64,K*51\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,210.13,T,210.13,M,5.45,N,,,D*60\r\n$IIMWV,355,T,12.90,N,A*2C\r\n$IIVWT,005,L,12.90,N,06.64,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101300,,,,00,*4B\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,6003.666,N,02330.765,E,101301,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.73,N,10.61,K*52\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,209.68,T,209.68,M,5.41,N,,,D*64\r\n$IIMWV,354,R,16.71,N,A*20\r\n$IIVWT,008,L,11.17,N,05.75,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101303,,,,00,*48\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,6003.663,N,02330.762,E,101303,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.72,N,10.59,K*58\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,213.05,T,213.05,M,5.35,N,,,D*67\r\n$IIMWV,353,T,08.04,N,A*2C\r\n$IIVWT,007,L,08.04,N,04.14,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101305,,,,00,*4E\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,6003.661,N,02330.758,E,101305,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.61,N,06.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,220.24,T,220.24,M,5.44,N,,,D*61\r\n$IIMWV,352,R,14.19,N,A*2A\r\n$IIVWT,014,L,08.35,N,04.30,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101307,,,,00,*4C\r\n$IIDBT,050.26,f,015.32,M,008.28,F*27\r\n$GPGLL,6003.658,N,02330.754,E,101307,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.84,N,10.81,K*54\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,221.58,T,221.58,M,5.61,N,,,D*66\r\n$IIMWV,347,T,08.20,N,A*2F\r\n$IIVWT,013,L,08.20,N,04.22,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101309,,,,00,*42\r\n$IIDBT,050.19,f,015.30,M,008.27,F*26\r\n$GPGLL,6003.656,N,02330.750,E,101309,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.51,N,05.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.92,N,10.96,K*55\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,220.59,T,220.59,M,5.68,N,,,D*6F\r\n$IIMWV,001,R,17.10,N,A*25\r\n$IIVWT,001,R,10.98,N,05.65,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101311,,,,00,*4B\r\n$IIDBT,050.19,f,015.30,M,008.27,F*26\r\n$GPGLL,6003.653,N,02330.745,E,101311,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.34,N,06.35,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,222.90,T,222.90,M,5.89,N,,,D*60\r\n$IIMWV,358,T,13.68,N,A*27\r\n$IIVWT,002,L,13.68,N,07.04,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101313,,,,00,*49\r\n$IIDBT,050.22,f,015.31,M,008.27,F*2F\r\n$GPGLL,6003.651,N,02330.741,E,101313,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.24,N,05.27,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,215.80,T,215.80,M,5.92,N,,,D*6A\r\n$IIMWV,001,R,22.74,N,A*21\r\n$IIVWT,001,R,16.65,N,08.57,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101315,,,,00,*4F\r\n$IIDBT,050.26,f,015.32,M,008.28,F*27\r\n$GPGLL,6003.648,N,02330.739,E,101315,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.67,N,08.58,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,207.03,T,207.03,M,5.83,N,,,D*6A\r\n$IIMWV,004,T,14.19,N,A*2C\r\n$IIVWT,004,R,14.19,N,07.30,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101317,,,,00,*4D\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,6003.645,N,02330.736,E,101317,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,209.53,T,209.53,M,5.86,N,,,D*6F\r\n$IIMWV,002,R,17.49,N,A*2A\r\n$IIVWT,003,R,11.25,N,05.79,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101319,,,,00,*43\r\n$IIDBT,050.42,f,015.37,M,008.30,F*29\r\n$GPGLL,6003.642,N,02330.732,E,101319,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.86,N,08.16,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,209.08,T,209.08,M,5.96,N,,,D*6E\r\n$IIMWV,004,T,10.45,N,A*21\r\n$IIVWT,004,R,10.45,N,05.38,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101321,,,,00,*48\r\n$IIDBT,050.45,f,015.38,M,008.31,F*20\r\n$GPGLL,6003.639,N,02330.729,E,101321,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.48,N,08.48,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,207.20,T,207.20,M,5.99,N,,,D*61\r\n$IIMWV,360,R,20.41,N,A*21\r\n$IIVWT,000,L,14.19,N,07.30,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101323,,,,00,*4A\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,6003.636,N,02330.727,E,101323,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.86,N,04.56,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,205.87,T,205.87,M,5.92,N,,,D*6A\r\n$IIMWV,001,T,11.27,N,A*21\r\n$IIVWT,001,R,11.27,N,05.80,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101325,,,,00,*4C\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,6003.633,N,02330.724,E,101325,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.75,N,06.56,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,207.09,T,207.09,M,5.91,N,,,D*69\r\n$IIMWV,001,R,20.99,N,A*20\r\n$IIVWT,002,R,14.69,N,07.56,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101327,,,,00,*4E\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,6003.629,N,02330.719,E,101327,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.12,N,07.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,208.20,T,208.20,M,5.99,N,,,D*61\r\n$IIMWV,002,T,14.69,N,A*2D\r\n$IIVWT,002,R,14.69,N,07.56,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101329,,,,00,*40\r\n$IIDBT,050.91,f,015.52,M,008.38,F*2C\r\n$GPGLL,6003.626,N,02330.716,E,101329,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,207.85,T,207.85,M,5.95,N,,,D*6D\r\n$IIMWV,002,R,20.02,N,A*21\r\n$IIVWT,003,R,13.78,N,07.09,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101331,,,,00,*49\r\n$IIDBT,050.98,f,015.54,M,008.39,F*22\r\n$GPGLL,6003.623,N,02330.713,E,101331,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,208.36,T,208.36,M,5.96,N,,,D*6E\r\n$IIMWV,359,T,16.28,N,A*27\r\n$IIVWT,001,L,16.28,N,08.38,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101333,,,,00,*4B\r\n$IIDBT,051.14,f,015.59,M,008.42,F*26\r\n$GPGLL,6003.620,N,02330.709,E,101334,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,207.74,T,207.74,M,5.99,N,,,D*61\r\n$IIMWV,002,R,19.82,N,A*23\r\n$IIVWT,003,R,13.60,N,07.00,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101335,,,,00,*4D\r\n$IIDBT,051.27,f,015.63,M,008.44,F*29\r\n$GPGLL,6003.617,N,02330.706,E,101336,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.21,N,06.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,207.86,T,207.86,M,6.00,N,,,D*62\r\n$IIMWV,359,T,08.90,N,A*2B\r\n$IIVWT,001,L,08.90,N,04.58,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101337,,,,00,*4F\r\n$IIDBT,051.50,f,015.70,M,008.48,F*27\r\n$GPGLL,6003.614,N,02330.703,E,101338,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.17,N,05.75,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,207.89,T,207.89,M,6.00,N,,,D*62\r\n$IIMWV,001,R,20.02,N,A*22\r\n$IIVWT,001,R,13.64,N,07.02,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101339,,,,00,*41\r\n$IIDBT,051.77,f,015.78,M,008.52,F*21\r\n$GPGLL,6003.611,N,02330.700,E,101340,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.38,N,,*0C\r\n$IIVTG,208.07,T,208.07,M,6.00,N,,,D*62\r\n$IIMWV,359,T,09.11,N,A*23\r\n$IIVWT,001,L,09.11,N,04.69,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101341,,,,00,*4E\r\n$IIDBT,051.86,f,015.81,M,008.54,F*2F\r\n$GPGLL,6003.608,N,02330.697,E,101342,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.98,N,04.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.34,N,,*00\r\n$IIVTG,208.16,T,208.16,M,6.00,N,,,D*62\r\n$IIMWV,001,R,18.46,N,A*29\r\n$IIVWT,002,R,12.16,N,06.26,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101344,,,,00,*4B\r\n$IIDBT,052.03,f,015.86,M,008.57,F*25\r\n$GPGLL,6003.605,N,02330.694,E,101344,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,208.37,T,208.37,M,6.00,N,,,D*62\r\n$IIMWV,358,T,12.14,N,A*2D\r\n$IIVWT,002,L,12.14,N,06.25,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101346,,,,00,*49\r\n$IIDBT,052.26,f,015.93,M,008.61,F*23\r\n$GPGLL,6003.602,N,02330.691,E,101346,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.27,N,05.80,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,208.84,T,208.84,M,6.00,N,,,D*62\r\n$IIMWV,000,R,15.74,N,A*24\r\n$IIVWT,000,R,09.44,N,04.86,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101348,,,,00,*47\r\n$IIDBT,052.49,f,016.00,M,008.64,F*26\r\n$GPGLL,6003.599,N,02330.687,E,101348,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,209.83,T,209.83,M,6.00,N,,,D*62\r\n$IIMWV,001,T,09.09,N,A*24\r\n$IIVWT,001,R,09.09,N,04.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101350,,,,00,*4E\r\n$IIDBT,052.72,f,016.07,M,008.68,F*25\r\n$GPGLL,6003.596,N,02330.684,E,101350,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,208.96,T,208.96,M,6.00,N,,,D*62\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,001,L,09.48,N,04.88,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101352,,,,00,*4C\r\n$IIDBT,053.08,f,016.18,M,008.74,F*2A\r\n$GPGLL,6003.594,N,02330.681,E,101352,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,209.21,T,209.21,M,6.00,N,,,D*62\r\n$IIMWV,357,T,09.48,N,A*21\r\n$IIVWT,003,L,09.48,N,04.88,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101354,,,,00,*4A\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,6003.591,N,02330.678,E,101354,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.56,N,04.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,210.41,T,210.41,M,6.00,N,,,D*62\r\n$IIMWV,357,R,15.74,N,A*25\r\n$IIVWT,005,L,09.52,N,04.90,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101356,,,,00,*48\r\n$IIDBT,053.50,f,016.31,M,008.81,F*26\r\n$GPGLL,6003.588,N,02330.674,E,101356,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,211.38,T,211.38,M,5.95,N,,,D*6D\r\n$IIMWV,356,T,08.98,N,A*2C\r\n$IIVWT,004,L,08.98,N,04.62,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101358,,,,00,*46\r\n$IIDBT,053.87,f,016.42,M,008.87,F*2E\r\n$GPGLL,6003.585,N,02330.671,E,101358,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,213.37,T,213.37,M,5.99,N,,,D*61\r\n$IIMWV,355,R,15.35,N,A*22\r\n$IIVWT,008,L,09.07,N,04.67,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101400,,,,00,*4C\r\n$IIDBT,054.13,f,016.50,M,008.91,F*20\r\n$GPGLL,6003.582,N,02330.667,E,101400,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.01,N,04.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,213.97,T,213.97,M,6.00,N,,,D*62\r\n$IIMWV,356,T,09.09,N,A*25\r\n$IIVWT,004,L,09.09,N,04.68,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101402,,,,00,*4E\r\n$IIDBT,054.52,f,016.62,M,008.98,F*2D\r\n$GPGLL,6003.579,N,02330.663,E,101402,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,212.82,T,212.82,M,6.00,N,,,D*62\r\n$IIMWV,000,R,15.74,N,A*24\r\n$IIVWT,000,R,09.44,N,04.86,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101404,,,,00,*48\r\n$IIDBT,054.88,f,016.73,M,009.04,F*2E\r\n$GPGLL,6003.577,N,02330.660,E,101404,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,212.05,T,212.05,M,6.00,N,,,D*62\r\n$IIMWV,358,T,09.13,N,A*20\r\n$IIVWT,002,L,09.13,N,04.70,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101406,,,,00,*4A\r\n$IIDBT,055.31,f,016.86,M,009.11,F*23\r\n$GPGLL,6003.574,N,02330.656,E,101406,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.54,N,04.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,211.66,T,211.66,M,5.95,N,,,D*6D\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,001,L,09.54,N,04.91,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101408,,,,00,*44\r\n$IIDBT,055.90,f,017.04,M,009.21,F*20\r\n$GPGLL,6003.571,N,02330.653,E,101408,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,210.89,T,210.89,M,5.91,N,,,D*69\r\n$IIMWV,358,T,09.01,N,A*23\r\n$IIVWT,002,L,09.01,N,04.64,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101410,,,,00,*4D\r\n$IIDBT,056.33,f,017.17,M,009.28,F*21\r\n$GPGLL,6003.567,N,02330.648,E,101410,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,210.70,T,210.70,M,6.03,N,,,D*61\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,002,L,09.44,N,04.86,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101412,,,,00,*4F\r\n$IIDBT,057.01,f,017.38,M,009.39,F*2C\r\n$GPGLL,6003.564,N,02330.644,E,101412,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,210.80,T,210.80,M,6.08,N,,,D*6A\r\n$IIMWV,000,T,09.60,N,A*2A\r\n$IIVWT,000,R,09.60,N,04.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101414,,,,00,*49\r\n$IIDBT,057.70,f,017.59,M,009.50,F*22\r\n$GPGLL,6003.561,N,02330.641,E,101415,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,210.75,T,210.75,M,6.05,N,,,D*67\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,001,L,09.44,N,04.86,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101416,,,,00,*4B\r\n$IIDBT,058.49,f,017.83,M,009.63,F*20\r\n$GPGLL,6003.558,N,02330.638,E,101417,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,210.59,T,210.59,M,6.01,N,,,D*63\r\n$IIMWV,000,T,09.48,N,A*20\r\n$IIVWT,000,R,09.48,N,04.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101418,,,,00,*45\r\n$IIDBT,058.79,f,017.92,M,009.68,F*28\r\n$GPGLL,6003.555,N,02330.634,E,101419,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,209.77,T,209.77,M,6.00,N,,,D*62\r\n$IIMWV,360,R,15.74,N,A*21\r\n$IIVWT,001,L,09.52,N,04.90,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101420,,,,00,*4E\r\n$IIDBT,058.82,f,017.93,M,009.69,F*2C\r\n$GPGLL,6003.552,N,02330.631,E,101421,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,209.49,T,209.49,M,6.00,N,,,D*62\r\n$IIMWV,360,T,09.54,N,A*28\r\n$IIVWT,000,L,09.54,N,04.91,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101422,,,,00,*4C\r\n$IIDBT,058.49,f,017.83,M,009.63,F*20\r\n$GPGLL,6003.550,N,02330.628,E,101423,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,209.80,T,209.80,M,5.93,N,,,D*6B\r\n$IIMWV,359,R,16.13,N,A*29\r\n$IIVWT,002,L,09.91,N,05.10,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101424,,,,00,*4A\r\n$IIDBT,058.20,f,017.74,M,009.58,F*2F\r\n$GPGLL,6003.547,N,02330.625,E,101425,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.89,N,05.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,209.97,T,209.97,M,5.91,N,,,D*69\r\n$IIMWV,358,T,09.91,N,A*2A\r\n$IIVWT,002,L,09.91,N,05.10,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101427,,,,00,*49\r\n$IIDBT,058.10,f,017.71,M,009.57,F*26\r\n$GPGLL,6003.544,N,02330.621,E,101427,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,210.09,T,210.09,M,5.90,N,,,D*68\r\n$IIMWV,359,R,16.13,N,A*29\r\n$IIVWT,002,L,09.87,N,05.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101429,,,,00,*47\r\n$IIDBT,058.16,f,017.73,M,009.58,F*2D\r\n$GPGLL,6003.541,N,02330.618,E,101429,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.83,N,05.06,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,210.25,T,210.25,M,5.90,N,,,D*68\r\n$IIMWV,356,T,10.22,N,A*24\r\n$IIVWT,004,L,10.22,N,05.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101431,,,,00,*4E\r\n$IIDBT,058.20,f,017.74,M,009.58,F*2F\r\n$GPGLL,6003.538,N,02330.615,E,101431,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.28,N,05.29,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,210.54,T,210.54,M,5.90,N,,,D*68\r\n$IIMWV,358,R,16.71,N,A*2C\r\n$IIVWT,004,L,10.45,N,05.38,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101433,,,,00,*4C\r\n$IIDBT,058.33,f,017.78,M,009.61,F*2B\r\n$GPGLL,6003.535,N,02330.611,E,101433,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,210.91,T,210.91,M,5.90,N,,,D*68\r\n$IIMWV,356,T,10.53,N,A*22\r\n$IIVWT,004,L,10.53,N,05.42,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101435,,,,00,*4A\r\n$IIDBT,058.46,f,017.82,M,009.63,F*2E\r\n$GPGLL,6003.533,N,02330.608,E,101435,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.26,N,05.28,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,211.25,T,211.25,M,5.90,N,,,D*68\r\n$IIMWV,357,R,16.52,N,A*22\r\n$IIVWT,005,L,10.18,N,05.24,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101437,,,,00,*48\r\n$IIDBT,058.59,f,017.86,M,009.65,F*22\r\n$GPGLL,6003.530,N,02330.605,E,101437,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.36,N,05.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,211.61,T,211.61,M,5.90,N,,,D*68\r\n$IIMWV,355,T,10.57,N,A*25\r\n$IIVWT,005,L,10.57,N,05.44,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101439,,,,00,*46\r\n$IIDBT,058.62,f,017.87,M,009.65,F*2B\r\n$GPGLL,6003.527,N,02330.601,E,101439,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,211.95,T,211.95,M,5.90,N,,,D*68\r\n$IIMWV,358,R,16.71,N,A*2C\r\n$IIVWT,003,L,10.47,N,05.39,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101441,,,,00,*49\r\n$IIDBT,058.72,f,017.90,M,009.67,F*2E\r\n$GPGLL,6003.524,N,02330.598,E,101441,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.20,N,05.25,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,212.46,T,212.46,M,5.90,N,,,D*68\r\n$IIMWV,357,T,10.34,N,A*22\r\n$IIVWT,004,L,10.34,N,05.32,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101443,,,,00,*4B\r\n$IIDBT,058.82,f,017.93,M,009.69,F*2C\r\n$GPGLL,6003.522,N,02330.594,E,101443,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.26,N,05.28,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,211.42,T,211.42,M,5.90,N,,,D*68\r\n$IIMWV,359,R,16.52,N,A*2C\r\n$IIVWT,001,L,10.39,N,05.35,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101445,,,,00,*4D\r\n$IIDBT,058.88,f,017.95,M,009.70,F*28\r\n$GPGLL,6003.519,N,02330.591,E,101445,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,210.63,T,210.63,M,5.90,N,,,D*68\r\n$IIMWV,359,T,09.93,N,A*29\r\n$IIVWT,001,L,09.93,N,05.11,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101447,,,,00,*4F\r\n$IIDBT,058.98,f,017.98,M,009.71,F*25\r\n$GPGLL,6003.516,N,02330.588,E,101447,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.28,N,05.29,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,210.16,T,210.16,M,5.90,N,,,D*68\r\n$IIMWV,360,R,16.52,N,A*26\r\n$IIVWT,000,L,10.22,N,05.26,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101449,,,,00,*41\r\n$IIDBT,059.05,f,018.00,M,009.72,F*2D\r\n$GPGLL,6003.513,N,02330.584,E,101449,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,209.87,T,209.87,M,5.90,N,,,D*68\r\n$IIMWV,359,T,09.93,N,A*29\r\n$IIVWT,001,L,09.93,N,05.11,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101451,,,,00,*48\r\n$IIDBT,059.15,f,018.03,M,009.74,F*29\r\n$GPGLL,6003.510,N,02330.581,E,101451,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.62,N,04.95,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,209.44,T,209.44,M,5.90,N,,,D*68\r\n$IIMWV,000,R,16.13,N,A*26\r\n$IIVWT,000,R,09.87,N,05.08,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101453,,,,00,*4A\r\n$IIDBT,059.25,f,018.06,M,009.76,F*2D\r\n$GPGLL,6003.506,N,02330.576,E,101453,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.99,N,05.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,209.04,T,209.04,M,5.90,N,,,D*68\r\n$IIMWV,359,T,09.81,N,A*2A\r\n$IIVWT,001,L,09.81,N,05.05,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101455,,,,00,*4C\r\n$IIDBT,059.31,f,018.08,M,009.77,F*27\r\n$GPGLL,6003.503,N,02330.573,E,101455,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,208.48,T,208.48,M,5.90,N,,,D*68\r\n$IIMWV,359,R,16.13,N,A*29\r\n$IIVWT,001,L,09.93,N,05.11,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101457,,,,00,*4E\r\n$IIDBT,059.38,f,018.10,M,009.78,F*28\r\n$GPGLL,6003.500,N,02330.570,E,101458,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.01,N,05.15,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,208.20,T,208.20,M,5.90,N,,,D*68\r\n$IIMWV,001,T,09.91,N,A*25\r\n$IIVWT,001,R,09.91,N,05.10,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101459,,,,00,*40\r\n$IIDBT,059.41,f,018.11,M,009.78,F*27\r\n$GPGLL,6003.497,N,02330.567,E,101500,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.93,N,05.11,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,208.12,T,208.12,M,5.90,N,,,D*68\r\n$IIMWV,356,R,16.13,N,A*26\r\n$IIVWT,006,L,09.85,N,05.07,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101501,,,,00,*4C\r\n$IIDBT,059.48,f,018.13,M,009.79,F*2D\r\n$GPGLL,6003.494,N,02330.564,E,101502,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.46,N,04.87,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,207.60,T,207.60,M,5.90,N,,,D*68\r\n$IIMWV,003,T,09.52,N,A*28\r\n$IIVWT,003,R,09.52,N,04.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101503,,,,00,*4E\r\n$IIDBT,059.54,f,018.15,M,009.81,F*21\r\n$GPGLL,6003.492,N,02330.561,E,101504,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,208.60,T,208.60,M,5.90,N,,,D*68\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,001,L,09.54,N,04.91,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101505,,,,00,*48\r\n$IIDBT,059.57,f,018.16,M,009.81,F*21\r\n$GPGLL,6003.489,N,02330.558,E,101506,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,208.95,T,208.95,M,5.90,N,,,D*68\r\n$IIMWV,004,T,09.64,N,A*2A\r\n$IIVWT,004,R,09.64,N,04.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101507,,,,00,*4A\r\n$IIDBT,059.67,f,018.19,M,009.83,F*2F\r\n$GPGLL,6003.486,N,02330.555,E,101508,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.01,N,05.15,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,207.24,T,207.24,M,5.90,N,,,D*68\r\n$IIMWV,001,R,16.13,N,A*27\r\n$IIVWT,001,R,09.81,N,05.05,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101510,,,,00,*4C\r\n$IIDBT,059.80,f,018.23,M,009.85,F*29\r\n$GPGLL,6003.483,N,02330.552,E,101510,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.93,N,05.11,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,205.51,T,205.51,M,5.85,N,,,D*6C\r\n$IIMWV,003,T,09.99,N,A*2F\r\n$IIVWT,003,R,09.99,N,05.14,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101512,,,,00,*4E\r\n$IIDBT,059.80,f,018.23,M,009.85,F*29\r\n$GPGLL,6003.480,N,02330.549,E,101512,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.87,N,05.08,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,206.23,T,206.23,M,5.89,N,,,D*60\r\n$IIMWV,001,R,16.13,N,A*27\r\n$IIVWT,001,R,09.83,N,05.06,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101514,,,,00,*48\r\n$IIDBT,059.90,f,018.26,M,009.87,F*2F\r\n$GPGLL,6003.477,N,02330.547,E,101514,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.83,N,05.06,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,206.61,T,206.61,M,5.90,N,,,D*68\r\n$IIMWV,004,T,09.81,N,A*21\r\n$IIVWT,004,R,09.81,N,05.05,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101516,,,,00,*4A\r\n$IIDBT,059.93,f,018.27,M,009.87,F*2D\r\n$GPGLL,6003.474,N,02330.544,E,101516,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,206.85,T,206.85,M,5.82,N,,,D*6B\r\n$IIMWV,002,R,16.13,N,A*24\r\n$IIVWT,003,R,09.93,N,05.11,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101518,,,,00,*44\r\n$IIDBT,060.00,f,018.29,M,009.88,F*2C\r\n$GPGLL,6003.471,N,02330.541,E,101518,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,205.89,T,205.89,M,5.81,N,,,D*68\r\n$IIMWV,005,T,09.87,N,A*26\r\n$IIVWT,005,R,09.87,N,05.08,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101520,,,,00,*4F\r\n$IIDBT,060.10,f,018.32,M,009.90,F*2E\r\n$GPGLL,6003.468,N,02330.538,E,101520,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,205.17,T,205.17,M,5.88,N,,,D*61\r\n$IIMWV,002,R,15.74,N,A*26\r\n$IIVWT,003,R,09.44,N,04.86,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101522,,,,00,*4D\r\n$IIDBT,060.16,f,018.34,M,009.91,F*2F\r\n$GPGLL,6003.465,N,02330.535,E,101522,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,204.62,T,204.62,M,5.97,N,,,D*6F\r\n$IIMWV,003,T,09.52,N,A*28\r\n$IIVWT,003,R,09.52,N,04.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101524,,,,00,*4B\r\n$IIDBT,060.26,f,018.37,M,009.92,F*2C\r\n$GPGLL,6003.462,N,02330.533,E,101524,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,204.20,T,204.20,M,5.92,N,,,D*6A\r\n$IIMWV,001,R,15.74,N,A*25\r\n$IIVWT,001,R,09.46,N,04.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101526,,,,00,*49\r\n$IIDBT,060.33,f,018.39,M,009.94,F*20\r\n$GPGLL,6003.459,N,02330.530,E,101526,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,204.08,T,204.08,M,5.90,N,,,D*68\r\n$IIMWV,005,T,09.44,N,A*29\r\n$IIVWT,005,R,09.44,N,04.86,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101528,,,,00,*47\r\n$IIDBT,060.43,f,018.42,M,009.95,F*2A\r\n$GPGLL,6003.456,N,02330.528,E,101528,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.54,N,04.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,204.04,T,204.04,M,5.90,N,,,D*68\r\n$IIMWV,001,R,15.74,N,A*25\r\n$IIVWT,002,R,09.58,N,04.93,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101530,,,,00,*4E\r\n$IIDBT,060.49,f,018.44,M,009.96,F*25\r\n$GPGLL,6003.453,N,02330.525,E,101530,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,204.01,T,204.01,M,5.90,N,,,D*68\r\n$IIMWV,002,T,09.52,N,A*29\r\n$IIVWT,002,R,09.52,N,04.90,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101532,,,,00,*4C\r\n$IIDBT,060.59,f,018.47,M,009.98,F*29\r\n$GPGLL,6003.450,N,02330.522,E,101532,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,203.93,T,203.93,M,5.90,N,,,D*68\r\n$IIMWV,000,R,15.35,N,A*21\r\n$IIVWT,001,R,09.13,N,04.70,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101534,,,,00,*4A\r\n$IIDBT,060.66,f,018.49,M,009.99,F*2A\r\n$GPGLL,6003.446,N,02330.518,E,101534,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,204.41,T,204.41,M,5.90,N,,,D*68\r\n$IIMWV,001,T,09.07,N,A*2A\r\n$IIVWT,001,R,09.07,N,04.67,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101536,,,,00,*48\r\n$IIDBT,060.79,f,018.53,M,010.01,F*26\r\n$GPGLL,6003.443,N,02330.516,E,101536,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,205.00,T,205.00,M,5.90,N,,,D*68\r\n$IIMWV,000,R,15.16,N,A*20\r\n$IIVWT,000,R,09.01,N,04.64,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101538,,,,00,*46\r\n$IIDBT,060.89,f,018.56,M,010.03,F*2E\r\n$GPGLL,6003.440,N,02330.513,E,101538,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,205.37,T,205.37,M,5.90,N,,,D*68\r\n$IIMWV,360,T,08.98,N,A*29\r\n$IIVWT,000,L,08.98,N,04.62,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101540,,,,00,*49\r\n$IIDBT,061.02,f,018.60,M,010.05,F*2F\r\n$GPGLL,6003.437,N,02330.510,E,101541,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,205.47,T,205.47,M,5.90,N,,,D*68\r\n$IIMWV,360,R,14.77,N,A*23\r\n$IIVWT,001,L,08.45,N,04.35,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101542,,,,00,*4B\r\n$IIDBT,061.08,f,018.62,M,010.06,F*24\r\n$GPGLL,6003.434,N,02330.507,E,101543,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,205.64,T,205.64,M,5.90,N,,,D*68\r\n$IIMWV,359,T,08.51,N,A*26\r\n$IIVWT,002,L,08.51,N,04.38,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101544,,,,00,*4D\r\n$IIDBT,061.15,f,018.64,M,010.07,F*2F\r\n$GPGLL,6003.431,N,02330.504,E,101545,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,206.11,T,206.11,M,5.83,N,,,D*6A\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,08.26,N,04.25,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101546,,,,00,*4F\r\n$IIDBT,061.28,f,018.68,M,010.09,F*23\r\n$GPGLL,6003.428,N,02330.501,E,101547,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,206.85,T,206.85,M,5.86,N,,,D*6F\r\n$IIMWV,357,T,08.12,N,A*2F\r\n$IIVWT,003,L,08.12,N,04.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101548,,,,00,*41\r\n$IIDBT,061.38,f,018.71,M,010.11,F*23\r\n$GPGLL,6003.425,N,02330.498,E,101549,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,207.24,T,207.24,M,5.89,N,,,D*60\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,08.20,N,04.22,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101550,,,,00,*48\r\n$IIDBT,061.51,f,018.75,M,010.13,F*2A\r\n$GPGLL,6003.423,N,02330.495,E,101551,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,208.01,T,208.01,M,5.90,N,,,D*68\r\n$IIMWV,354,T,08.14,N,A*2A\r\n$IIVWT,006,L,08.14,N,04.19,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101553,,,,00,*4B\r\n$IIDBT,061.57,f,018.77,M,010.14,F*29\r\n$GPGLL,6003.420,N,02330.492,E,101553,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,208.70,T,208.70,M,5.90,N,,,D*68\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.08,N,04.16,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101555,,,,00,*4D\r\n$IIDBT,061.71,f,018.81,M,010.16,F*26\r\n$GPGLL,6003.417,N,02330.489,E,101555,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,209.32,T,209.32,M,5.90,N,,,D*68\r\n$IIMWV,356,T,08.26,N,A*29\r\n$IIVWT,005,L,08.26,N,04.25,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101557,,,,00,*4F\r\n$IIDBT,061.77,f,018.83,M,010.17,F*23\r\n$GPGLL,6003.414,N,02330.486,E,101557,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,209.81,T,209.81,M,5.90,N,,,D*68\r\n$IIMWV,357,R,14.19,N,A*2F\r\n$IIVWT,005,L,07.93,N,04.08,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101559,,,,00,*41\r\n$IIDBT,061.87,f,018.86,M,010.19,F*27\r\n$GPGLL,6003.411,N,02330.482,E,101559,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,210.32,T,210.32,M,5.90,N,,,D*68\r\n$IIMWV,357,T,08.16,N,A*2B\r\n$IIVWT,004,L,08.16,N,04.20,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101601,,,,00,*4F\r\n$IIDBT,061.97,f,018.89,M,010.21,F*22\r\n$GPGLL,6003.408,N,02330.479,E,101601,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,210.78,T,210.78,M,5.90,N,,,D*68\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,005,L,08.57,N,04.41,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101603,,,,00,*4D\r\n$IIDBT,062.10,f,018.93,M,010.23,F*27\r\n$GPGLL,6003.406,N,02330.475,E,101603,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,211.07,T,211.07,M,5.90,N,,,D*68\r\n$IIMWV,359,T,08.20,N,A*20\r\n$IIVWT,001,L,08.20,N,04.22,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101605,,,,00,*4B\r\n$IIDBT,062.20,f,018.96,M,010.24,F*26\r\n$GPGLL,6003.403,N,02330.472,E,101605,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,211.47,T,211.47,M,5.90,N,,,D*68\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,08.06,N,04.15,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101607,,,,00,*49\r\n$IIDBT,062.26,f,018.98,M,010.25,F*2F\r\n$GPGLL,6003.400,N,02330.469,E,101607,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,211.32,T,211.32,M,5.90,N,,,D*68\r\n$IIMWV,360,T,08.22,N,A*28\r\n$IIVWT,000,L,08.22,N,04.23,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101609,,,,00,*47\r\n$IIDBT,062.40,f,019.02,M,010.28,F*20\r\n$GPGLL,6003.397,N,02330.465,E,101609,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,210.58,T,210.58,M,5.90,N,,,D*68\r\n$IIMWV,002,R,14.38,N,A*2F\r\n$IIVWT,004,R,08.12,N,04.18,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101611,,,,00,*4E\r\n$IIDBT,062.49,f,019.05,M,010.29,F*2F\r\n$GPGLL,6003.394,N,02330.462,E,101611,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,209.54,T,209.54,M,5.97,N,,,D*6F\r\n$IIMWV,004,T,08.55,N,A*29\r\n$IIVWT,004,R,08.55,N,04.40,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101613,,,,00,*4C\r\n$IIDBT,062.62,f,019.09,M,010.31,F*23\r\n$GPGLL,6003.391,N,02330.459,E,101613,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,207.21,T,207.21,M,5.92,N,,,D*6A\r\n$IIMWV,004,R,14.38,N,A*29\r\n$IIVWT,006,R,08.10,N,04.17,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101615,,,,00,*4A\r\n$IIDBT,062.76,f,019.13,M,010.34,F*28\r\n$GPGLL,6003.388,N,02330.456,E,101615,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,205.80,T,205.80,M,5.90,N,,,D*68\r\n$IIMWV,006,T,08.65,N,A*28\r\n$IIVWT,006,R,08.65,N,04.45,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101617,,,,00,*48\r\n$IIDBT,062.89,f,019.17,M,010.36,F*2E\r\n$GPGLL,6003.384,N,02330.452,E,101617,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,204.68,T,204.68,M,5.98,N,,,D*60\r\n$IIMWV,006,R,14.77,N,A*20\r\n$IIVWT,010,R,08.55,N,04.40,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101619,,,,00,*46\r\n$IIDBT,063.05,f,019.22,M,010.38,F*23\r\n$GPGLL,6003.381,N,02330.450,E,101619,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,202.71,T,202.71,M,5.95,N,,,D*6D\r\n$IIMWV,008,T,08.98,N,A*24\r\n$IIVWT,008,R,08.98,N,04.62,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101621,,,,00,*4D\r\n$IIDBT,063.18,f,019.26,M,010.41,F*25\r\n$GPGLL,6003.378,N,02330.447,E,101621,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,202.05,T,202.05,M,5.91,N,,,D*69\r\n$IIMWV,005,R,14.38,N,A*28\r\n$IIVWT,009,R,08.16,N,04.20,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101623,,,,00,*4F\r\n$IIDBT,063.38,f,019.32,M,010.44,F*27\r\n$GPGLL,6003.375,N,02330.445,E,101624,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,203.21,T,203.21,M,5.90,N,,,D*68\r\n$IIMWV,008,T,08.12,N,A*26\r\n$IIVWT,008,R,08.12,N,04.18,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101625,,,,00,*49\r\n$IIDBT,063.41,f,019.33,M,010.44,F*28\r\n$GPGLL,6003.372,N,02330.442,E,101626,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,203.05,T,203.05,M,5.90,N,,,D*68\r\n$IIMWV,004,R,14.38,N,A*29\r\n$IIVWT,008,R,08.22,N,04.23,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101627,,,,00,*4B\r\n$IIDBT,063.61,f,019.39,M,010.48,F*2C\r\n$GPGLL,6003.369,N,02330.440,E,101628,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,203.17,T,203.17,M,5.90,N,,,D*68\r\n$IIMWV,005,T,08.08,N,A*20\r\n$IIVWT,005,R,08.08,N,04.16,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101629,,,,00,*45\r\n$IIDBT,063.77,f,019.44,M,010.50,F*28\r\n$GPGLL,6003.366,N,02330.437,E,101630,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,203.94,T,203.94,M,5.90,N,,,D*68\r\n$IIMWV,003,R,14.38,N,A*2E\r\n$IIVWT,004,R,08.16,N,04.20,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101631,,,,00,*4C\r\n$IIDBT,063.84,f,019.46,M,010.51,F*27\r\n$GPGLL,6003.363,N,02330.434,E,101632,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,204.84,T,204.84,M,5.90,N,,,D*68\r\n$IIMWV,005,T,08.59,N,A*24\r\n$IIVWT,005,R,08.59,N,04.42,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101633,,,,00,*4E\r\n$IIDBT,064.00,f,019.51,M,010.54,F*2F\r\n$GPGLL,6003.360,N,02330.432,E,101634,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,205.13,T,205.13,M,5.90,N,,,D*68\r\n$IIMWV,002,R,14.77,N,A*24\r\n$IIVWT,004,R,08.53,N,04.39,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101636,,,,00,*4B\r\n$IIDBT,064.07,f,019.53,M,010.55,F*2B\r\n$GPGLL,6003.357,N,02330.429,E,101636,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,205.88,T,205.88,M,5.90,N,,,D*68\r\n$IIMWV,004,T,08.55,N,A*29\r\n$IIVWT,004,R,08.55,N,04.40,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101638,,,,00,*45\r\n$IIDBT,064.20,f,019.57,M,010.57,F*28\r\n$GPGLL,6003.354,N,02330.426,E,101638,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,206.27,T,206.27,M,5.93,N,,,D*6B\r\n$IIMWV,003,R,14.77,N,A*25\r\n$IIVWT,004,R,08.65,N,04.45,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101640,,,,00,*4A\r\n$IIDBT,064.30,f,019.60,M,010.59,F*23\r\n$GPGLL,6003.351,N,02330.423,E,101640,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,206.47,T,206.47,M,5.98,N,,,D*60\r\n$IIMWV,002,T,07.95,N,A*2C\r\n$IIVWT,002,R,07.95,N,04.09,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101642,,,,00,*48\r\n$IIDBT,064.43,f,019.64,M,010.61,F*28\r\n$GPGLL,6003.348,N,02330.420,E,101642,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,206.82,T,206.82,M,6.00,N,,,D*62\r\n$IIMWV,001,R,14.38,N,A*2C\r\n$IIVWT,002,R,08.12,N,04.18,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101644,,,,00,*4E\r\n$IIDBT,064.53,f,019.67,M,010.63,F*28\r\n$GPGLL,6003.345,N,02330.417,E,101644,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,207.10,T,207.10,M,6.00,N,,,D*62\r\n$IIMWV,000,T,08.08,N,A*25\r\n$IIVWT,000,R,08.08,N,04.16,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101646,,,,00,*4C\r\n$IIDBT,064.59,f,019.69,M,010.64,F*2B\r\n$GPGLL,6003.342,N,02330.414,E,101646,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,207.80,T,207.80,M,5.95,N,,,D*6D\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,08.14,N,04.19,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101648,,,,00,*42\r\n$IIDBT,064.66,f,019.71,M,010.65,F*2F\r\n$GPGLL,6003.339,N,02330.411,E,101648,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,208.75,T,208.75,M,5.91,N,,,D*69\r\n$IIMWV,357,T,08.12,N,A*2F\r\n$IIVWT,003,L,08.12,N,04.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101650,,,,00,*4B\r\n$IIDBT,064.79,f,019.75,M,010.67,F*27\r\n$GPGLL,6003.336,N,02330.407,E,101650,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,209.88,T,209.88,M,5.90,N,,,D*68\r\n$IIMWV,358,R,14.19,N,A*20\r\n$IIVWT,005,L,07.83,N,04.03,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101652,,,,00,*49\r\n$IIDBT,064.86,f,019.77,M,010.68,F*2A\r\n$GPGLL,6003.333,N,02330.404,E,101652,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,210.82,T,210.82,M,5.93,N,,,D*6B\r\n$IIMWV,356,T,08.12,N,A*2E\r\n$IIVWT,004,L,08.12,N,04.18,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101654,,,,00,*4F\r\n$IIDBT,064.89,f,019.78,M,010.69,F*2B\r\n$GPGLL,6003.331,N,02330.400,E,101654,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,211.71,T,211.71,M,5.96,N,,,D*6E\r\n$IIMWV,356,R,14.19,N,A*2E\r\n$IIVWT,008,L,07.93,N,04.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101656,,,,00,*4D\r\n$IIDBT,064.99,f,019.81,M,010.70,F*24\r\n$GPGLL,6003.328,N,02330.397,E,101656,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,212.32,T,212.32,M,5.99,N,,,D*61\r\n$IIMWV,354,T,07.98,N,A*21\r\n$IIVWT,006,L,07.98,N,04.11,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101658,,,,00,*43\r\n$IIDBT,065.05,f,019.83,M,010.71,F*23\r\n$GPGLL,6003.325,N,02330.393,E,101658,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,212.93,T,212.93,M,6.00,N,,,D*62\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,004,L,08.10,N,04.17,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101700,,,,00,*4F\r\n$IIDBT,065.12,f,019.85,M,010.72,F*20\r\n$GPGLL,6003.321,N,02330.388,E,101700,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,214.43,T,214.43,M,6.05,N,,,D*67\r\n$IIMWV,356,T,08.06,N,A*2B\r\n$IIVWT,004,L,08.06,N,04.15,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101702,,,,00,*4D\r\n$IIDBT,065.22,f,019.88,M,010.74,F*28\r\n$GPGLL,6003.318,N,02330.384,E,101702,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,212.78,T,212.78,M,6.01,N,,,D*63\r\n$IIMWV,000,R,14.38,N,A*2D\r\n$IIVWT,000,R,08.12,N,04.18,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101704,,,,00,*4B\r\n$IIDBT,065.25,f,019.89,M,010.75,F*2F\r\n$GPGLL,6003.315,N,02330.381,E,101704,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,210.47,T,210.47,M,6.00,N,,,D*62\r\n$IIMWV,001,T,07.87,N,A*2C\r\n$IIVWT,001,R,07.87,N,04.05,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101706,,,,00,*49\r\n$IIDBT,065.38,f,019.93,M,010.77,F*2A\r\n$GPGLL,6003.312,N,02330.378,E,101707,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,208.69,T,208.69,M,6.00,N,,,D*62\r\n$IIMWV,001,R,14.19,N,A*2F\r\n$IIVWT,002,R,07.96,N,04.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101708,,,,00,*47\r\n$IIDBT,065.48,f,019.96,M,010.78,F*27\r\n$GPGLL,6003.309,N,02330.375,E,101709,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,207.15,T,207.15,M,6.00,N,,,D*62\r\n$IIMWV,004,T,08.02,N,A*2B\r\n$IIVWT,004,R,08.02,N,04.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101710,,,,00,*4E\r\n$IIDBT,065.58,f,019.99,M,010.80,F*2E\r\n$GPGLL,6003.306,N,02330.372,E,101711,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,206.69,T,206.69,M,6.00,N,,,D*62\r\n$IIMWV,001,R,13.80,N,A*28\r\n$IIVWT,001,R,07.48,N,03.85,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101712,,,,00,*4C\r\n$IIDBT,065.71,f,020.03,M,010.82,F*2E\r\n$GPGLL,6003.303,N,02330.369,E,101713,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.44,N,03.83,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,206.05,T,206.05,M,6.00,N,,,D*62\r\n$IIMWV,005,T,07.48,N,A*2B\r\n$IIVWT,005,R,07.48,N,03.85,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101714,,,,00,*4A\r\n$IIDBT,065.77,f,020.05,M,010.83,F*2F\r\n$GPGLL,6003.300,N,02330.366,E,101715,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,205.81,T,205.81,M,6.00,N,,,D*62\r\n$IIMWV,003,R,14.19,N,A*2D\r\n$IIVWT,005,R,07.83,N,04.03,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101716,,,,00,*48\r\n$IIDBT,065.87,f,020.08,M,010.85,F*2B\r\n$GPGLL,6003.297,N,02330.363,E,101717,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,205.55,T,205.55,M,6.00,N,,,D*62\r\n$IIMWV,005,T,07.79,N,A*29\r\n$IIVWT,005,R,07.79,N,04.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101719,,,,00,*47\r\n$IIDBT,065.97,f,020.11,M,010.87,F*20\r\n$GPGLL,6003.294,N,02330.360,E,101719,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,205.66,T,205.66,M,6.00,N,,,D*62\r\n$IIMWV,002,R,14.19,N,A*2C\r\n$IIVWT,003,R,07.89,N,04.06,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101721,,,,00,*4C\r\n$IIDBT,066.07,f,020.14,M,010.88,F*20\r\n$GPGLL,6003.291,N,02330.357,E,101721,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,206.02,T,206.02,M,6.00,N,,,D*62\r\n$IIMWV,003,T,07.52,N,A*26\r\n$IIVWT,003,R,07.52,N,03.87,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101723,,,,00,*4E\r\n$IIDBT,066.14,f,020.16,M,010.89,F*21\r\n$GPGLL,6003.288,N,02330.354,E,101723,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,206.28,T,206.28,M,6.00,N,,,D*62\r\n$IIMWV,001,R,13.80,N,A*28\r\n$IIVWT,002,R,07.48,N,03.85,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101725,,,,00,*48\r\n$IIDBT,066.30,f,020.21,M,010.92,F*29\r\n$GPGLL,6003.285,N,02330.352,E,101725,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,206.72,T,206.72,M,6.00,N,,,D*62\r\n$IIMWV,004,T,07.60,N,A*20\r\n$IIVWT,004,R,07.60,N,03.91,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101727,,,,00,*4A\r\n$IIDBT,066.36,f,020.23,M,010.93,F*2C\r\n$GPGLL,6003.282,N,02330.349,E,101727,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,206.91,T,206.91,M,6.00,N,,,D*62\r\n$IIMWV,002,R,13.80,N,A*2B\r\n$IIVWT,004,R,07.54,N,03.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101729,,,,00,*44\r\n$IIDBT,066.40,f,020.24,M,010.94,F*2D\r\n$GPGLL,6003.280,N,02330.346,E,101729,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,207.27,T,207.27,M,6.00,N,,,D*62\r\n$IIMWV,005,T,07.09,N,A*2E\r\n$IIVWT,005,R,07.09,N,03.65,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101731,,,,00,*4D\r\n$IIDBT,066.53,f,020.28,M,010.96,F*21\r\n$GPGLL,6003.277,N,02330.342,E,101731,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,208.22,T,208.22,M,6.00,N,,,D*62\r\n$IIMWV,002,R,13.80,N,A*2B\r\n$IIVWT,003,R,07.38,N,03.80,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101733,,,,00,*4F\r\n$IIDBT,066.63,f,020.31,M,010.97,F*2B\r\n$GPGLL,6003.274,N,02330.339,E,101733,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,208.60,T,208.60,M,6.00,N,,,D*62\r\n$IIMWV,002,T,07.54,N,A*21\r\n$IIVWT,002,R,07.54,N,03.88,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101735,,,,00,*49\r\n$IIDBT,066.73,f,020.34,M,010.99,F*21\r\n$GPGLL,6003.271,N,02330.336,E,101735,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.19,N,03.70,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,209.13,T,209.13,M,6.00,N,,,D*62\r\n$IIMWV,004,R,13.80,N,A*2D\r\n$IIVWT,007,R,07.52,N,03.87,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101737,,,,00,*4B\r\n$IIDBT,066.76,f,020.35,M,010.99,F*25\r\n$GPGLL,6003.268,N,02330.333,E,101737,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,209.56,T,209.56,M,6.00,N,,,D*62\r\n$IIMWV,006,T,07.56,N,A*27\r\n$IIVWT,006,R,07.56,N,03.89,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101739,,,,00,*45\r\n$IIDBT,066.92,f,020.40,M,011.02,F*2E\r\n$GPGLL,6003.265,N,02330.329,E,101739,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.44,N,03.83,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,210.09,T,210.09,M,6.00,N,,,D*62\r\n$IIMWV,001,R,13.80,N,A*28\r\n$IIVWT,001,R,07.56,N,03.89,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101741,,,,00,*4A\r\n$IIDBT,066.96,f,020.41,M,011.03,F*2A\r\n$GPGLL,6003.262,N,02330.326,E,101741,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,210.62,T,210.62,M,6.00,N,,,D*62\r\n$IIMWV,012,T,07.95,N,A*2D\r\n$IIVWT,012,R,07.95,N,04.09,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101743,,,,00,*48\r\n$IIDBT,067.02,f,020.43,M,011.04,F*23\r\n$GPGLL,6003.258,N,02330.321,E,101743,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,211.74,T,211.74,M,6.00,N,,,D*62\r\n$IIMWV,006,R,16.71,N,A*24\r\n$IIVWT,009,R,10.45,N,05.38,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101745,,,,00,*4E\r\n$IIDBT,067.22,f,020.49,M,011.07,F*28\r\n$GPGLL,6003.255,N,02330.317,E,101745,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,210.61,T,210.61,M,6.00,N,,,D*62\r\n$IIMWV,013,T,08.18,N,A*26\r\n$IIVWT,013,R,08.18,N,04.21,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101747,,,,00,*4C\r\n$IIDBT,067.25,f,020.50,M,011.08,F*28\r\n$GPGLL,6003.252,N,02330.314,E,101747,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,208.65,T,208.65,M,6.00,N,,,D*62\r\n$IIMWV,009,R,14.38,N,A*24\r\n$IIVWT,015,R,08.16,N,04.20,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101749,,,,00,*42\r\n$IIDBT,067.38,f,020.54,M,011.10,F*29\r\n$GPGLL,6003.249,N,02330.311,E,101750,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,207.66,T,207.66,M,6.00,N,,,D*62\r\n$IIMWV,014,T,07.93,N,A*2D\r\n$IIVWT,014,R,07.93,N,04.08,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101751,,,,00,*4B\r\n$IIDBT,067.55,f,020.59,M,011.12,F*2D\r\n$GPGLL,6003.246,N,02330.308,E,101752,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,207.19,T,207.19,M,6.00,N,,,D*62\r\n$IIMWV,007,R,14.19,N,A*29\r\n$IIVWT,013,R,07.96,N,04.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101753,,,,00,*49\r\n$IIDBT,067.61,f,020.61,M,011.14,F*27\r\n$GPGLL,6003.243,N,02330.305,E,101754,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,206.32,T,206.32,M,6.00,N,,,D*62\r\n$IIMWV,016,T,07.56,N,A*26\r\n$IIVWT,016,R,07.56,N,03.89,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101755,,,,00,*4F\r\n$IIDBT,067.78,f,020.66,M,011.16,F*2A\r\n$GPGLL,6003.240,N,02330.302,E,101756,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,206.55,T,206.55,M,6.00,N,,,D*62\r\n$IIMWV,007,R,13.80,N,A*2E\r\n$IIVWT,013,R,07.65,N,03.94,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101757,,,,00,*4D\r\n$IIDBT,067.97,f,020.72,M,011.19,F*21\r\n$GPGLL,6003.237,N,02330.299,E,101758,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,206.21,T,206.21,M,6.00,N,,,D*62\r\n$IIMWV,015,T,07.65,N,A*25\r\n$IIVWT,015,R,07.65,N,03.94,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101759,,,,00,*43\r\n$IIDBT,067.97,f,020.72,M,011.19,F*21\r\n$GPGLL,6003.234,N,02330.297,E,101800,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,205.85,T,205.85,M,6.00,N,,,D*62\r\n$IIMWV,006,R,13.21,N,A*24\r\n$IIVWT,011,R,07.05,N,03.63,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101802,,,,00,*42\r\n$IIDBT,068.17,f,020.78,M,011.23,F*25\r\n$GPGLL,6003.231,N,02330.294,E,101802,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,206.04,T,206.04,M,6.00,N,,,D*62\r\n$IIMWV,019,T,07.03,N,A*29\r\n$IIVWT,019,R,07.03,N,03.62,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101804,,,,00,*44\r\n$IIDBT,068.17,f,020.78,M,011.23,F*25\r\n$GPGLL,6003.228,N,02330.291,E,101804,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,204.84,T,204.84,M,6.00,N,,,D*62\r\n$IIMWV,009,R,14.19,N,A*27\r\n$IIVWT,016,R,08.04,N,04.14,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101806,,,,00,*46\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6003.225,N,02330.288,E,101806,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,205.24,T,205.24,M,6.00,N,,,D*62\r\n$IIMWV,020,T,08.08,N,A*27\r\n$IIVWT,020,R,08.08,N,04.16,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101808,,,,00,*48\r\n$IIDBT,068.53,f,020.89,M,011.29,F*21\r\n$GPGLL,6003.222,N,02330.285,E,101808,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,203.71,T,203.71,M,6.00,N,,,D*62\r\n$IIMWV,008,R,14.19,N,A*26\r\n$IIVWT,014,R,08.04,N,04.14,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101810,,,,00,*41\r\n$IIDBT,068.83,f,020.98,M,011.34,F*20\r\n$GPGLL,6003.219,N,02330.283,E,101810,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,205.03,T,205.03,M,6.00,N,,,D*62\r\n$IIMWV,021,T,08.39,N,A*24\r\n$IIVWT,021,R,08.39,N,04.32,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101812,,,,00,*43\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,6003.216,N,02330.280,E,101812,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,203.46,T,203.46,M,6.00,N,,,D*62\r\n$IIMWV,006,R,14.19,N,A*28\r\n$IIVWT,011,R,07.96,N,04.10,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101814,,,,00,*45\r\n$IIDBT,069.19,f,021.09,M,011.39,F*26\r\n$GPGLL,6003.213,N,02330.277,E,101814,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,204.64,T,204.64,M,6.00,N,,,D*62\r\n$IIMWV,027,T,08.31,N,A*2A\r\n$IIVWT,027,R,08.31,N,04.28,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101816,,,,00,*47\r\n$IIDBT,069.38,f,021.15,M,011.43,F*25\r\n$GPGLL,6003.210,N,02330.275,E,101816,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,203.81,T,203.81,M,6.00,N,,,D*62\r\n$IIMWV,006,R,14.38,N,A*2B\r\n$IIVWT,011,R,08.22,N,04.23,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101818,,,,00,*49\r\n$IIDBT,069.35,f,021.14,M,011.42,F*28\r\n$GPGLL,6003.207,N,02330.272,E,101818,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,204.00,T,204.00,M,6.00,N,,,D*62\r\n$IIMWV,016,T,08.02,N,A*28\r\n$IIVWT,016,R,08.02,N,04.13,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101820,,,,00,*42\r\n$IIDBT,069.65,f,021.23,M,011.47,F*2C\r\n$GPGLL,6003.204,N,02330.269,E,101820,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,204.48,T,204.48,M,6.00,N,,,D*62\r\n$IIMWV,014,R,13.80,N,A*2C\r\n$IIVWT,025,R,07.81,N,04.02,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101822,,,,00,*40\r\n$IIDBT,069.88,f,021.30,M,011.51,F*2A\r\n$GPGLL,6003.201,N,02330.267,E,101822,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,203.07,T,203.07,M,6.00,N,,,D*62\r\n$IIMWV,016,T,07.52,N,A*22\r\n$IIVWT,016,R,07.52,N,03.87,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101824,,,,00,*46\r\n$IIDBT,069.88,f,021.30,M,011.51,F*2A\r\n$GPGLL,6003.198,N,02330.264,E,101824,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,203.29,T,203.29,M,6.00,N,,,D*62\r\n$IIMWV,007,R,13.41,N,A*23\r\n$IIVWT,013,R,07.23,N,03.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101826,,,,00,*44\r\n$IIDBT,070.20,f,021.40,M,011.56,F*20\r\n$GPGLL,6003.193,N,02330.260,E,101826,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,202.85,T,202.85,M,6.00,N,,,D*62\r\n$IIMWV,024,T,07.52,N,A*23\r\n$IIVWT,024,R,07.52,N,03.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101828,,,,00,*4A\r\n$IIDBT,070.27,f,021.42,M,011.57,F*24\r\n$GPGLL,6003.190,N,02330.257,E,101828,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,203.46,T,203.46,M,6.00,N,,,D*62\r\n$IIMWV,019,R,13.41,N,A*2C\r\n$IIVWT,034,R,07.65,N,03.94,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101830,,,,00,*43\r\n$IIDBT,070.43,f,021.47,M,011.60,F*27\r\n$GPGLL,6003.187,N,02330.255,E,101830,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,202.84,T,202.84,M,6.03,N,,,D*61\r\n$IIMWV,032,T,08.02,N,A*2E\r\n$IIVWT,032,R,08.02,N,04.13,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101832,,,,00,*41\r\n$IIDBT,070.50,f,021.49,M,011.61,F*2A\r\n$GPGLL,6003.184,N,02330.252,E,101833,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,201.96,T,201.96,M,6.01,N,,,D*63\r\n$IIMWV,016,R,14.19,N,A*29\r\n$IIVWT,029,R,08.35,N,04.30,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101834,,,,00,*47\r\n$IIDBT,070.50,f,021.49,M,011.61,F*2A\r\n$GPGLL,6003.181,N,02330.250,E,101835,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,201.17,T,201.17,M,6.00,N,,,D*62\r\n$IIMWV,024,T,08.14,N,A*2E\r\n$IIVWT,024,R,08.14,N,04.19,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101836,,,,00,*45\r\n$IIDBT,070.43,f,021.47,M,011.60,F*27\r\n$GPGLL,6003.178,N,02330.248,E,101837,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.81,N,04.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,200.72,T,200.72,M,5.98,N,,,D*60\r\n$IIMWV,011,R,14.38,N,A*2D\r\n$IIVWT,019,R,08.31,N,04.28,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101838,,,,00,*4B\r\n$IIDBT,070.10,f,021.37,M,011.55,F*20\r\n$GPGLL,6003.175,N,02330.245,E,101839,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.81,N,04.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,201.00,T,201.00,M,5.97,N,,,D*6F\r\n$IIMWV,012,T,08.28,N,A*24\r\n$IIVWT,012,R,08.28,N,04.26,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101840,,,,00,*44\r\n$IIDBT,069.97,f,021.33,M,011.52,F*24\r\n$GPGLL,6003.172,N,02330.243,E,101841,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,202.32,T,202.32,M,5.97,N,,,D*6F\r\n$IIMWV,002,R,14.77,N,A*24\r\n$IIVWT,004,R,08.55,N,04.40,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101843,,,,00,*47\r\n$IIDBT,069.35,f,021.14,M,011.42,F*28\r\n$GPGLL,6003.169,N,02330.240,E,101843,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.61,N,04.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,204.66,T,204.66,M,5.92,N,,,D*6A\r\n$IIMWV,006,T,08.04,N,A*2F\r\n$IIVWT,006,R,08.04,N,04.14,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101845,,,,00,*41\r\n$IIDBT,069.15,f,021.08,M,011.39,F*2B\r\n$GPGLL,6003.166,N,02330.237,E,101845,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,207.52,T,207.52,M,5.95,N,,,D*6D\r\n$IIMWV,008,R,13.80,N,A*21\r\n$IIVWT,014,R,07.83,N,04.03,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101847,,,,00,*43\r\n$IIDBT,068.04,f,020.74,M,011.21,F*29\r\n$GPGLL,6003.163,N,02330.233,E,101847,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,209.10,T,209.10,M,5.96,N,,,D*6E\r\n$IIMWV,024,T,07.52,N,A*23\r\n$IIVWT,024,R,07.52,N,03.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101849,,,,00,*4D\r\n$IIDBT,066.92,f,020.40,M,011.02,F*2E\r\n$GPGLL,6003.160,N,02330.230,E,101849,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,210.08,T,210.08,M,6.02,N,,,D*60\r\n$IIMWV,018,R,13.80,N,A*20\r\n$IIVWT,032,R,08.12,N,04.18,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101851,,,,00,*44\r\n$IIDBT,065.28,f,019.90,M,010.75,F*2A\r\n$GPGLL,6003.157,N,02330.227,E,101851,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,210.04,T,210.04,M,6.00,N,,,D*62\r\n$IIMWV,027,T,07.85,N,A*2A\r\n$IIVWT,027,R,07.85,N,04.04,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101853,,,,00,*46\r\n$IIDBT,063.54,f,019.37,M,010.47,F*2B\r\n$GPGLL,6003.154,N,02330.224,E,101853,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.96,N,04.10,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,209.49,T,209.49,M,6.05,N,,,D*67\r\n$IIMWV,016,R,14.19,N,A*29\r\n$IIVWT,028,R,08.16,N,04.20,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101855,,,,00,*40\r\n$IIDBT,061.57,f,018.77,M,010.14,F*29\r\n$GPGLL,6003.151,N,02330.220,E,101855,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,209.80,T,209.80,M,6.04,N,,,D*66\r\n$IIMWV,027,T,07.69,N,A*28\r\n$IIVWT,027,R,07.69,N,03.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101857,,,,00,*42\r\n$IIDBT,059.54,f,018.15,M,009.81,F*21\r\n$GPGLL,6003.148,N,02330.217,E,101857,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,210.00,T,210.00,M,6.06,N,,,D*64\r\n$IIMWV,017,R,13.41,N,A*22\r\n$IIVWT,032,R,07.50,N,03.86,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101859,,,,00,*4C\r\n$IIDBT,057.28,f,017.46,M,009.43,F*23\r\n$GPGLL,6003.145,N,02330.214,E,101859,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.28,N,03.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,207.57,T,207.57,M,6.06,N,,,D*64\r\n$IIMWV,029,T,07.32,N,A*28\r\n$IIVWT,029,R,07.32,N,03.77,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101901,,,,00,*40\r\n$IIDBT,055.64,f,016.96,M,009.16,F*25\r\n$GPGLL,6003.142,N,02330.211,E,101901,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.28,N,03.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,203.27,T,203.27,M,6.07,N,,,D*65\r\n$IIMWV,015,R,13.21,N,A*26\r\n$IIVWT,029,R,07.36,N,03.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101903,,,,00,*42\r\n$IIDBT,053.54,f,016.32,M,008.82,F*22\r\n$GPGLL,6003.139,N,02330.209,E,101903,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,201.92,T,201.92,M,6.07,N,,,D*65\r\n$IIMWV,028,T,07.28,N,A*22\r\n$IIVWT,028,R,07.28,N,03.75,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101905,,,,00,*44\r\n$IIDBT,052.16,f,015.90,M,008.59,F*28\r\n$GPGLL,6003.136,N,02330.206,E,101905,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,201.63,T,201.63,M,6.09,N,,,D*6B\r\n$IIMWV,019,R,13.21,N,A*2A\r\n$IIVWT,035,R,07.52,N,03.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101907,,,,00,*46\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,6003.133,N,02330.204,E,101907,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,200.68,T,200.68,M,6.10,N,,,D*63\r\n$IIMWV,034,T,07.13,N,A*27\r\n$IIVWT,034,R,07.13,N,03.67,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101909,,,,00,*48\r\n$IIDBT,049.83,f,015.19,M,008.21,F*20\r\n$GPGLL,6003.128,N,02330.201,E,101909,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.51,N,03.35,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,198.33,T,198.33,M,6.10,N,,,D*63\r\n$IIMWV,017,R,12.44,N,A*26\r\n$IIVWT,033,R,06.68,N,03.44,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101911,,,,00,*41\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,6003.125,N,02330.199,E,101911,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.09,N,03.65,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,196.58,T,196.58,M,6.02,N,,,D*60\r\n$IIMWV,034,T,07.01,N,A*24\r\n$IIVWT,034,R,07.01,N,03.61,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101913,,,,00,*43\r\n$IIDBT,048.55,f,014.80,M,007.99,F*27\r\n$GPGLL,6003.122,N,02330.197,E,101913,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,197.80,T,197.80,M,6.01,N,,,D*63\r\n$IIMWV,017,R,12.82,N,A*2C\r\n$IIVWT,033,R,06.95,N,03.58,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101915,,,,00,*45\r\n$IIDBT,048.19,f,014.69,M,007.94,F*25\r\n$GPGLL,6003.118,N,02330.195,E,101916,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,198.32,T,198.32,M,6.08,N,,,D*6A\r\n$IIMWV,034,T,06.72,N,A*21\r\n$IIVWT,034,R,06.72,N,03.46,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101917,,,,00,*47\r\n$IIDBT,048.26,f,014.71,M,007.95,F*21\r\n$GPGLL,6003.115,N,02330.192,E,101918,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.03,N,03.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,198.43,T,198.43,M,6.09,N,,,D*6B\r\n$IIMWV,016,R,12.44,N,A*27\r\n$IIVWT,032,R,06.57,N,03.38,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101919,,,,00,*49\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,6003.112,N,02330.190,E,101920,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,197.86,T,197.86,M,6.10,N,,,D*63\r\n$IIMWV,032,T,06.58,N,A*2F\r\n$IIVWT,032,R,06.58,N,03.39,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101921,,,,00,*42\r\n$IIDBT,048.62,f,014.82,M,008.01,F*2F\r\n$GPGLL,6003.109,N,02330.189,E,101922,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.55,N,03.37,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,197.41,T,197.41,M,6.10,N,,,D*63\r\n$IIMWV,015,R,12.44,N,A*24\r\n$IIVWT,030,R,06.55,N,03.37,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101923,,,,00,*40\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,6003.106,N,02330.186,E,101924,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.51,N,03.35,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,198.16,T,198.16,M,6.05,N,,,D*67\r\n$IIMWV,026,T,05.94,N,A*29\r\n$IIVWT,026,R,05.94,N,03.06,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101925,,,,00,*46\r\n$IIDBT,049.17,f,014.99,M,008.10,F*26\r\n$GPGLL,6003.102,N,02330.184,E,101926,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.04,N,03.11,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,199.74,T,199.74,M,6.01,N,,,D*63\r\n$IIMWV,012,R,12.05,N,A*26\r\n$IIVWT,025,R,05.98,N,03.08,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101928,,,,00,*4B\r\n$IIDBT,049.44,f,015.07,M,008.14,F*22\r\n$GPGLL,6003.099,N,02330.182,E,101928,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.51,N,,*00\r\n$IIVTG,200.46,T,200.46,M,6.05,N,,,D*67\r\n$IIMWV,029,T,06.08,N,A*20\r\n$IIVWT,029,R,06.08,N,03.13,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101930,,,,00,*42\r\n$IIDBT,049.93,f,015.22,M,008.22,F*2A\r\n$GPGLL,6003.096,N,02330.179,E,101930,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.00,N,03.09,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,201.49,T,201.49,M,6.09,N,,,D*6B\r\n$IIMWV,012,R,12.05,N,A*26\r\n$IIVWT,024,R,06.04,N,03.11,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101932,,,,00,*40\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,6003.093,N,02330.177,E,101932,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,201.02,T,201.02,M,6.10,N,,,D*63\r\n$IIMWV,023,T,06.00,N,A*22\r\n$IIVWT,023,R,06.00,N,03.09,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101934,,,,00,*46\r\n$IIDBT,051.01,f,015.55,M,008.40,F*2C\r\n$GPGLL,6003.090,N,02330.175,E,101934,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,200.96,T,200.96,M,6.10,N,,,D*63\r\n$IIMWV,010,R,12.05,N,A*24\r\n$IIVWT,020,R,06.02,N,03.10,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101936,,,,00,*44\r\n$IIDBT,051.34,f,015.65,M,008.45,F*2C\r\n$GPGLL,6003.087,N,02330.172,E,101936,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,201.51,T,201.51,M,6.05,N,,,D*67\r\n$IIMWV,018,T,05.67,N,A*28\r\n$IIVWT,018,R,05.67,N,02.92,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101938,,,,00,*4A\r\n$IIDBT,052.00,f,015.85,M,008.56,F*24\r\n$GPGLL,6003.084,N,02330.170,E,101938,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,202.56,T,202.56,M,6.01,N,,,D*63\r\n$IIMWV,010,R,11.85,N,A*2F\r\n$IIVWT,021,R,05.79,N,02.98,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101940,,,,00,*45\r\n$IIDBT,052.55,f,016.02,M,008.65,F*28\r\n$GPGLL,6003.081,N,02330.167,E,101940,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,204.49,T,204.49,M,6.00,N,,,D*62\r\n$IIMWV,019,T,05.59,N,A*24\r\n$IIVWT,019,R,05.59,N,02.88,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101942,,,,00,*47\r\n$IIDBT,053.44,f,016.29,M,008.80,F*2B\r\n$GPGLL,6003.078,N,02330.164,E,101942,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,204.90,T,204.90,M,6.08,N,,,D*6A\r\n$IIMWV,009,R,11.85,N,A*27\r\n$IIVWT,019,R,05.67,N,02.92,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101944,,,,00,*41\r\n$IIDBT,053.96,f,016.45,M,008.89,F*27\r\n$GPGLL,6003.075,N,02330.161,E,101944,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,203.90,T,203.90,M,6.09,N,,,D*6B\r\n$IIMWV,019,T,05.19,N,A*20\r\n$IIVWT,019,R,05.19,N,02.67,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101946,,,,00,*43\r\n$IIDBT,054.78,f,016.70,M,009.02,F*24\r\n$GPGLL,6003.071,N,02330.159,E,101946,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,203.32,T,203.32,M,6.10,N,,,D*63\r\n$IIMWV,007,R,11.85,N,A*29\r\n$IIVWT,016,R,05.57,N,02.87,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101948,,,,00,*4D\r\n$IIDBT,055.80,f,017.01,M,009.19,F*2F\r\n$GPGLL,6003.068,N,02330.156,E,101948,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.17,N,02.66,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,203.65,T,203.65,M,6.07,N,,,D*65\r\n$IIMWV,017,T,05.19,N,A*2E\r\n$IIVWT,017,R,05.19,N,02.67,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101950,,,,00,*44\r\n$IIDBT,056.56,f,017.24,M,009.31,F*2A\r\n$GPGLL,6003.065,N,02330.153,E,101950,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,204.42,T,204.42,M,6.02,N,,,D*60\r\n$IIMWV,007,R,11.85,N,A*29\r\n$IIVWT,015,R,05.55,N,02.86,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101952,,,,00,*46\r\n$IIDBT,057.57,f,017.55,M,009.48,F*22\r\n$GPGLL,6003.061,N,02330.149,E,101952,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,205.55,T,205.55,M,6.00,N,,,D*62\r\n$IIMWV,015,T,05.65,N,A*27\r\n$IIVWT,015,R,05.65,N,02.91,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101954,,,,00,*40\r\n$IIDBT,058.69,f,017.89,M,009.67,F*2C\r\n$GPGLL,6003.058,N,02330.146,E,101954,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,206.06,T,206.06,M,6.00,N,,,D*62\r\n$IIMWV,006,R,11.46,N,A*27\r\n$IIVWT,014,R,05.28,N,02.72,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101956,,,,00,*42\r\n$IIDBT,059.48,f,018.13,M,009.79,F*2D\r\n$GPGLL,6003.055,N,02330.143,E,101956,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,206.59,T,206.59,M,6.05,N,,,D*67\r\n$IIMWV,010,T,05.24,N,A*27\r\n$IIVWT,010,R,05.24,N,02.70,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,101958,,,,00,*4C\r\n$IIDBT,060.39,f,018.41,M,009.95,F*24\r\n$GPGLL,6003.052,N,02330.140,E,101959,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,207.10,T,207.10,M,6.01,N,,,D*63\r\n$IIMWV,005,R,11.46,N,A*24\r\n$IIVWT,011,R,05.15,N,02.65,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102000,,,,00,*4B\r\n$IIDBT,061.02,f,018.60,M,010.05,F*2F\r\n$GPGLL,6003.049,N,02330.137,E,102001,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,207.60,T,207.60,M,6.08,N,,,D*6A\r\n$IIMWV,009,T,05.07,N,A*2E\r\n$IIVWT,009,R,05.07,N,02.61,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102002,,,,00,*49\r\n$IIDBT,061.64,f,018.79,M,010.15,F*26\r\n$GPGLL,6003.046,N,02330.134,E,102003,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,207.48,T,207.48,M,6.09,N,,,D*6B\r\n$IIMWV,004,R,11.85,N,A*2A\r\n$IIVWT,009,R,05.53,N,02.85,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102004,,,,00,*4F\r\n$IIDBT,062.20,f,018.96,M,010.24,F*26\r\n$GPGLL,6003.043,N,02330.131,E,102005,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,207.29,T,207.29,M,6.10,N,,,D*63\r\n$IIMWV,010,T,05.52,N,A*26\r\n$IIVWT,010,R,05.52,N,02.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102006,,,,00,*4D\r\n$IIDBT,062.82,f,019.15,M,010.35,F*24\r\n$GPGLL,6003.040,N,02330.127,E,102007,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,207.42,T,207.42,M,6.10,N,,,D*63\r\n$IIMWV,002,R,11.85,N,A*2C\r\n$IIVWT,004,R,05.46,N,02.81,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102009,,,,00,*42\r\n$IIDBT,063.22,f,019.27,M,010.41,F*2D\r\n$GPGLL,6003.037,N,02330.124,E,102009,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,207.03,T,207.03,M,6.05,N,,,D*67\r\n$IIMWV,004,T,05.71,N,A*22\r\n$IIVWT,004,R,05.71,N,02.94,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102011,,,,00,*4B\r\n$IIDBT,063.64,f,019.40,M,010.48,F*27\r\n$GPGLL,6003.034,N,02330.121,E,102011,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,207.48,T,207.48,M,6.01,N,,,D*63\r\n$IIMWV,001,R,11.85,N,A*2F\r\n$IIVWT,001,R,05.63,N,02.90,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102013,,,,00,*49\r\n$IIDBT,064.00,f,019.51,M,010.54,F*2F\r\n$GPGLL,6003.031,N,02330.118,E,102013,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,208.09,T,208.09,M,6.00,N,,,D*62\r\n$IIMWV,002,T,05.77,N,A*22\r\n$IIVWT,002,R,05.77,N,02.97,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102015,,,,00,*4F\r\n$IIDBT,064.40,f,019.63,M,010.61,F*2C\r\n$GPGLL,6003.028,N,02330.115,E,102015,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,208.63,T,208.63,M,6.08,N,,,D*6A\r\n$IIMWV,001,R,11.85,N,A*2F\r\n$IIVWT,003,R,05.50,N,02.83,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102017,,,,00,*4D\r\n$IIDBT,064.72,f,019.73,M,010.66,F*2B\r\n$GPGLL,6003.025,N,02330.112,E,102017,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.33,N,,*07\r\n$IIVTG,208.95,T,208.95,M,6.09,N,,,D*6B\r\n$IIMWV,359,T,05.50,N,A*2A\r\n$IIVWT,001,L,05.50,N,02.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102019,,,,00,*43\r\n$IIDBT,065.05,f,019.83,M,010.71,F*23\r\n$GPGLL,6003.022,N,02330.109,E,102019,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,209.04,T,209.04,M,6.10,N,,,D*63\r\n$IIMWV,000,R,11.85,N,A*2E\r\n$IIVWT,000,R,05.48,N,02.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102021,,,,00,*48\r\n$IIDBT,065.41,f,019.94,M,010.77,F*23\r\n$GPGLL,6003.019,N,02330.105,E,102021,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,208.86,T,208.86,M,6.10,N,,,D*63\r\n$IIMWV,358,T,05.50,N,A*2B\r\n$IIVWT,002,L,05.50,N,02.83,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102023,,,,00,*4A\r\n$IIDBT,065.84,f,020.07,M,010.84,F*26\r\n$GPGLL,6003.016,N,02330.102,E,102023,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,208.09,T,208.09,M,6.10,N,,,D*63\r\n$IIMWV,360,R,11.85,N,A*2B\r\n$IIVWT,000,L,05.53,N,02.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102025,,,,00,*4C\r\n$IIDBT,066.10,f,020.15,M,010.89,F*26\r\n$GPGLL,6003.013,N,02330.099,E,102025,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,207.47,T,207.47,M,6.10,N,,,D*63\r\n$IIMWV,001,T,05.59,N,A*2D\r\n$IIVWT,001,R,05.59,N,02.88,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102027,,,,00,*4E\r\n$IIDBT,066.40,f,020.24,M,010.94,F*2D\r\n$GPGLL,6003.010,N,02330.096,E,102027,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,206.79,T,206.79,M,6.10,N,,,D*63\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,002,L,05.61,N,02.89,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102029,,,,00,*40\r\n$IIDBT,066.66,f,020.32,M,010.98,F*22\r\n$GPGLL,6003.007,N,02330.093,E,102029,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,206.40,T,206.40,M,6.10,N,,,D*63\r\n$IIMWV,359,T,05.44,N,A*2F\r\n$IIVWT,001,L,05.44,N,02.80,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102031,,,,00,*49\r\n$IIDBT,067.02,f,020.43,M,011.04,F*23\r\n$GPGLL,6003.004,N,02330.090,E,102031,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,206.42,T,206.42,M,6.10,N,,,D*63\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,002,L,05.53,N,02.85,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102033,,,,00,*4B\r\n$IIDBT,067.38,f,020.54,M,011.10,F*29\r\n$GPGLL,6003.000,N,02330.086,E,102033,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,206.93,T,206.93,M,6.10,N,,,D*63\r\n$IIMWV,359,T,05.55,N,A*2F\r\n$IIVWT,001,L,05.55,N,02.86,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102035,,,,00,*4D\r\n$IIDBT,067.61,f,020.61,M,011.14,F*27\r\n$GPGLL,6002.997,N,02330.083,E,102035,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,206.35,T,206.35,M,6.10,N,,,D*63\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,002,L,05.53,N,02.85,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102037,,,,00,*4F\r\n$IIDBT,067.78,f,020.66,M,011.16,F*2A\r\n$GPGLL,6002.994,N,02330.080,E,102037,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,205.69,T,205.69,M,6.10,N,,,D*63\r\n$IIMWV,356,T,05.59,N,A*2C\r\n$IIVWT,004,L,05.59,N,02.88,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102039,,,,00,*41\r\n$IIDBT,068.01,f,020.73,M,011.20,F*2A\r\n$GPGLL,6002.991,N,02330.077,E,102039,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,205.45,T,205.45,M,6.10,N,,,D*63\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,003,L,05.53,N,02.85,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102041,,,,00,*4E\r\n$IIDBT,068.23,f,020.80,M,011.24,F*22\r\n$GPGLL,6002.988,N,02330.074,E,102042,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,205.93,T,205.93,M,6.10,N,,,D*63\r\n$IIMWV,355,T,05.46,N,A*21\r\n$IIVWT,005,L,05.46,N,02.81,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102043,,,,00,*4C\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6002.985,N,02330.071,E,102044,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,205.86,T,205.86,M,6.10,N,,,D*63\r\n$IIMWV,358,R,11.85,N,A*20\r\n$IIVWT,005,L,05.52,N,02.84,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102045,,,,00,*4A\r\n$IIDBT,068.60,f,020.91,M,011.30,F*20\r\n$GPGLL,6002.981,N,02330.068,E,102046,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,206.07,T,206.07,M,6.10,N,,,D*63\r\n$IIMWV,352,T,05.59,N,A*28\r\n$IIVWT,009,L,05.59,N,02.88,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102047,,,,00,*48\r\n$IIDBT,068.76,f,020.96,M,011.32,F*22\r\n$GPGLL,6002.978,N,02330.065,E,102048,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,207.04,T,207.04,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,012,L,05.65,N,02.91,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102049,,,,00,*46\r\n$IIDBT,069.02,f,021.04,M,011.37,F*2F\r\n$GPGLL,6002.976,N,02330.062,E,102050,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,207.93,T,207.93,M,6.10,N,,,D*63\r\n$IIMWV,350,T,05.57,N,A*24\r\n$IIVWT,010,L,05.57,N,02.87,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102052,,,,00,*4C\r\n$IIDBT,069.12,f,021.07,M,011.38,F*22\r\n$GPGLL,6002.973,N,02330.059,E,102052,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,208.91,T,208.91,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,011,L,05.71,N,02.94,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102054,,,,00,*4A\r\n$IIDBT,069.28,f,021.12,M,011.41,F*21\r\n$GPGLL,6002.970,N,02330.055,E,102054,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,209.50,T,209.50,M,6.10,N,,,D*63\r\n$IIMWV,349,T,05.19,N,A*26\r\n$IIVWT,011,L,05.19,N,02.67,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102056,,,,00,*48\r\n$IIDBT,069.45,f,021.17,M,011.44,F*2A\r\n$GPGLL,6002.967,N,02330.052,E,102056,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,209.17,T,209.17,M,6.05,N,,,D*67\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,014,L,05.26,N,02.71,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102058,,,,00,*46\r\n$IIDBT,069.55,f,021.20,M,011.45,F*2E\r\n$GPGLL,6002.964,N,02330.049,E,102058,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,208.85,T,208.85,M,6.01,N,,,D*63\r\n$IIMWV,347,T,05.32,N,A*21\r\n$IIVWT,013,L,05.32,N,02.74,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102100,,,,00,*4A\r\n$IIDBT,069.71,f,021.25,M,011.48,F*20\r\n$GPGLL,6002.961,N,02330.046,E,102100,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,209.91,T,209.91,M,6.05,N,,,D*67\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,013,L,05.17,N,02.66,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102102,,,,00,*48\r\n$IIDBT,069.84,f,021.29,M,011.50,F*2F\r\n$GPGLL,6002.958,N,02330.042,E,102102,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,211.23,T,211.23,M,6.09,N,,,D*6B\r\n$IIMWV,349,T,05.65,N,A*2D\r\n$IIVWT,011,L,05.65,N,02.91,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102104,,,,00,*4E\r\n$IIDBT,069.97,f,021.33,M,011.52,F*24\r\n$GPGLL,6002.955,N,02330.039,E,102104,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,212.33,T,212.33,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,010,L,05.57,N,02.87,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102106,,,,00,*4C\r\n$IIDBT,070.07,f,021.36,M,011.54,F*26\r\n$GPGLL,6002.952,N,02330.035,E,102106,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,211.98,T,211.98,M,6.10,N,,,D*63\r\n$IIMWV,349,T,05.63,N,A*2B\r\n$IIVWT,011,L,05.63,N,02.90,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102108,,,,00,*42\r\n$IIDBT,070.24,f,021.41,M,011.57,F*24\r\n$GPGLL,6002.949,N,02330.032,E,102108,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,209.75,T,209.75,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,010,L,05.53,N,02.85,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102110,,,,00,*4B\r\n$IIDBT,070.40,f,021.46,M,011.59,F*2F\r\n$GPGLL,6002.946,N,02330.028,E,102110,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,208.56,T,208.56,M,6.10,N,,,D*63\r\n$IIMWV,350,T,05.75,N,A*24\r\n$IIVWT,010,L,05.75,N,02.96,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102112,,,,00,*49\r\n$IIDBT,070.53,f,021.50,M,011.62,F*22\r\n$GPGLL,6002.943,N,02330.025,E,102112,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,207.91,T,207.91,M,6.10,N,,,D*63\r\n$IIMWV,355,R,12.44,N,A*23\r\n$IIVWT,011,L,06.18,N,03.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102114,,,,00,*4F\r\n$IIDBT,070.73,f,021.56,M,011.65,F*21\r\n$GPGLL,6002.940,N,02330.022,E,102114,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,207.60,T,207.60,M,6.10,N,,,D*63\r\n$IIMWV,345,T,06.62,N,A*25\r\n$IIVWT,015,L,06.62,N,03.41,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102116,,,,00,*4D\r\n$IIDBT,070.86,f,021.60,M,011.67,F*2C\r\n$GPGLL,6002.936,N,02330.017,E,102116,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,207.32,T,207.32,M,6.10,N,,,D*63\r\n$IIMWV,352,R,12.82,N,A*2E\r\n$IIVWT,016,L,06.66,N,03.43,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102118,,,,00,*43\r\n$IIDBT,071.06,f,021.66,M,011.70,F*25\r\n$GPGLL,6002.933,N,02330.014,E,102118,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,206.86,T,206.86,M,6.10,N,,,D*63\r\n$IIMWV,342,T,06.72,N,A*23\r\n$IIVWT,018,L,06.72,N,03.46,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102120,,,,00,*48\r\n$IIDBT,071.22,f,021.71,M,011.73,F*26\r\n$GPGLL,6002.930,N,02330.011,E,102120,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,206.64,T,206.64,M,6.10,N,,,D*63\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,019,L,06.31,N,03.25,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102122,,,,00,*4A\r\n$IIDBT,071.35,f,021.75,M,011.75,F*22\r\n$GPGLL,6002.927,N,02330.008,E,102123,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,206.56,T,206.56,M,6.10,N,,,D*63\r\n$IIMWV,344,T,06.58,N,A*2D\r\n$IIVWT,016,L,06.58,N,03.39,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102124,,,,00,*4C\r\n$IIDBT,071.55,f,021.81,M,011.78,F*22\r\n$GPGLL,6002.924,N,02330.005,E,102125,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,206.57,T,206.57,M,6.10,N,,,D*63\r\n$IIMWV,352,R,12.05,N,A*21\r\n$IIVWT,017,L,05.88,N,03.03,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102126,,,,00,*4E\r\n$IIDBT,071.75,f,021.87,M,011.82,F*23\r\n$GPGLL,6002.921,N,02330.002,E,102127,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,206.44,T,206.44,M,6.10,N,,,D*63\r\n$IIMWV,346,T,05.71,N,A*27\r\n$IIVWT,014,L,05.71,N,02.94,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102128,,,,00,*40\r\n$IIDBT,071.94,f,021.93,M,011.85,F*2E\r\n$GPGLL,6002.918,N,02329.999,E,102129,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,206.51,T,206.51,M,6.10,N,,,D*63\r\n$IIMWV,350,R,12.05,N,A*23\r\n$IIVWT,020,L,05.92,N,03.05,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102130,,,,00,*49\r\n$IIDBT,072.04,f,021.96,M,011.86,F*22\r\n$GPGLL,6002.915,N,02329.996,E,102131,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.22,N,03.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,206.60,T,206.60,M,6.10,N,,,D*63\r\n$IIMWV,346,T,05.83,N,A*2A\r\n$IIVWT,014,L,05.83,N,03.00,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102132,,,,00,*4B\r\n$IIDBT,072.20,f,022.01,M,011.89,F*26\r\n$GPGLL,6002.912,N,02329.993,E,102133,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,206.65,T,206.65,M,6.10,N,,,D*63\r\n$IIMWV,354,R,12.05,N,A*27\r\n$IIVWT,013,L,05.85,N,03.01,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102135,,,,00,*4C\r\n$IIDBT,072.40,f,022.07,M,011.92,F*2C\r\n$GPGLL,6002.909,N,02329.990,E,102135,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,206.54,T,206.54,M,6.10,N,,,D*63\r\n$IIMWV,341,T,06.27,N,A*20\r\n$IIVWT,019,L,06.27,N,03.23,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102137,,,,00,*4E\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,6002.905,N,02329.987,E,102137,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,206.74,T,206.74,M,6.10,N,,,D*63\r\n$IIMWV,352,R,12.44,N,A*24\r\n$IIVWT,016,L,06.25,N,03.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102139,,,,00,*40\r\n$IIDBT,072.70,f,022.16,M,011.97,F*2A\r\n$GPGLL,6002.902,N,02329.984,E,102139,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,207.51,T,207.51,M,6.10,N,,,D*63\r\n$IIMWV,345,T,06.25,N,A*26\r\n$IIVWT,015,L,06.25,N,03.22,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102141,,,,00,*4F\r\n$IIDBT,072.86,f,022.21,M,012.00,F*2A\r\n$GPGLL,6002.899,N,02329.981,E,102141,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,208.30,T,208.30,M,6.10,N,,,D*63\r\n$IIMWV,353,R,12.44,N,A*25\r\n$IIVWT,014,L,06.27,N,03.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102143,,,,00,*4D\r\n$IIDBT,073.09,f,022.28,M,012.04,F*21\r\n$GPGLL,6002.897,N,02329.978,E,102143,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,208.87,T,208.87,M,6.10,N,,,D*63\r\n$IIMWV,347,T,06.20,N,A*21\r\n$IIVWT,013,L,06.20,N,03.19,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102145,,,,00,*4B\r\n$IIDBT,073.22,f,022.32,M,012.06,F*21\r\n$GPGLL,6002.894,N,02329.974,E,102145,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,208.82,T,208.82,M,6.10,N,,,D*63\r\n$IIMWV,355,R,12.05,N,A*26\r\n$IIVWT,011,L,05.65,N,02.91,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102147,,,,00,*49\r\n$IIDBT,073.42,f,022.38,M,012.09,F*22\r\n$GPGLL,6002.891,N,02329.971,E,102147,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,209.05,T,209.05,M,6.12,N,,,D*61\r\n$IIMWV,350,T,06.14,N,A*20\r\n$IIVWT,010,L,06.14,N,03.16,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102149,,,,00,*47\r\n$IIDBT,073.55,f,022.42,M,012.11,F*20\r\n$GPGLL,6002.888,N,02329.968,E,102149,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,209.34,T,209.34,M,6.13,N,,,D*60\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,008,L,05.69,N,02.93,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102151,,,,00,*4E\r\n$IIDBT,073.71,f,022.47,M,012.14,F*26\r\n$GPGLL,6002.885,N,02329.965,E,102151,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,209.21,T,209.21,M,6.11,N,,,D*62\r\n$IIMWV,351,T,05.65,N,A*24\r\n$IIVWT,009,L,05.65,N,02.91,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102153,,,,00,*4C\r\n$IIDBT,073.84,f,022.51,M,012.16,F*29\r\n$GPGLL,6002.882,N,02329.961,E,102153,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,208.70,T,208.70,M,6.15,N,,,D*66\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,010,L,05.83,N,03.00,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102155,,,,00,*4A\r\n$IIDBT,074.14,f,022.60,M,012.21,F*21\r\n$GPGLL,6002.879,N,02329.958,E,102155,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,208.45,T,208.45,M,6.19,N,,,D*6A\r\n$IIMWV,354,T,05.73,N,A*26\r\n$IIVWT,006,L,05.73,N,02.95,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102157,,,,00,*48\r\n$IIDBT,074.17,f,022.61,M,012.22,F*20\r\n$GPGLL,6002.876,N,02329.955,E,102157,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,208.49,T,208.49,M,6.15,N,,,D*66\r\n$IIMWV,356,R,11.85,N,A*2E\r\n$IIVWT,010,L,05.61,N,02.89,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102159,,,,00,*46\r\n$IIDBT,074.40,f,022.68,M,012.25,F*2C\r\n$GPGLL,6002.871,N,02329.950,E,102159,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,208.65,T,208.65,M,6.11,N,,,D*62\r\n$IIMWV,352,T,05.57,N,A*26\r\n$IIVWT,008,L,05.57,N,02.87,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102201,,,,00,*48\r\n$IIDBT,074.60,f,022.74,M,012.29,F*2F\r\n$GPGLL,6002.868,N,02329.947,E,102201,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,208.49,T,208.49,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,011,L,05.50,N,02.83,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102203,,,,00,*4A\r\n$IIDBT,074.67,f,022.76,M,012.30,F*22\r\n$GPGLL,6002.865,N,02329.943,E,102203,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,208.52,T,208.52,M,6.10,N,,,D*63\r\n$IIMWV,354,T,05.40,N,A*26\r\n$IIVWT,006,L,05.40,N,02.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102205,,,,00,*4C\r\n$IIDBT,074.86,f,022.82,M,012.33,F*25\r\n$GPGLL,6002.862,N,02329.940,E,102206,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,209.36,T,209.36,M,6.13,N,,,D*60\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,008,L,05.42,N,02.79,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102207,,,,00,*4E\r\n$IIDBT,075.09,f,022.89,M,012.37,F*2C\r\n$GPGLL,6002.859,N,02329.937,E,102208,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,208.31,T,208.31,M,6.16,N,,,D*65\r\n$IIMWV,353,T,05.59,N,A*29\r\n$IIVWT,007,L,05.59,N,02.88,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102209,,,,00,*40\r\n$IIDBT,075.22,f,022.93,M,012.39,F*20\r\n$GPGLL,6002.856,N,02329.934,E,102210,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,206.40,T,206.40,M,6.11,N,,,D*62\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,008,L,05.59,N,02.88,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102211,,,,00,*49\r\n$IIDBT,075.35,f,022.97,M,012.41,F*2D\r\n$GPGLL,6002.853,N,02329.931,E,102212,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,205.55,T,205.55,M,6.10,N,,,D*63\r\n$IIMWV,352,T,05.81,N,A*2D\r\n$IIVWT,008,L,05.81,N,02.99,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102213,,,,00,*4B\r\n$IIDBT,075.52,f,023.02,M,012.44,F*24\r\n$GPGLL,6002.850,N,02329.928,E,102214,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,205.94,T,205.94,M,6.10,N,,,D*63\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,009,L,05.75,N,02.96,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102215,,,,00,*4D\r\n$IIDBT,075.68,f,023.07,M,012.46,F*2A\r\n$GPGLL,6002.847,N,02329.925,E,102216,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,206.86,T,206.86,M,6.10,N,,,D*63\r\n$IIMWV,351,T,05.81,N,A*2E\r\n$IIVWT,009,L,05.81,N,02.99,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102218,,,,00,*40\r\n$IIDBT,075.81,f,023.11,M,012.49,F*25\r\n$GPGLL,6002.844,N,02329.922,E,102218,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,207.39,T,207.39,M,6.10,N,,,D*63\r\n$IIMWV,355,R,12.05,N,A*26\r\n$IIVWT,010,L,05.83,N,03.00,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102220,,,,00,*4B\r\n$IIDBT,075.91,f,023.14,M,012.50,F*29\r\n$GPGLL,6002.841,N,02329.919,E,102220,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,207.54,T,207.54,M,6.10,N,,,D*63\r\n$IIMWV,350,T,05.77,N,A*26\r\n$IIVWT,010,L,05.77,N,02.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102222,,,,00,*49\r\n$IIDBT,076.08,f,023.19,M,012.53,F*24\r\n$GPGLL,6002.838,N,02329.916,E,102222,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,207.88,T,207.88,M,6.10,N,,,D*63\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,010,L,05.87,N,03.02,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102224,,,,00,*4F\r\n$IIDBT,076.11,f,023.20,M,012.54,F*21\r\n$GPGLL,6002.835,N,02329.913,E,102224,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,208.22,T,208.22,M,6.10,N,,,D*63\r\n$IIMWV,351,T,05.75,N,A*25\r\n$IIVWT,009,L,05.75,N,02.96,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102226,,,,00,*4D\r\n$IIDBT,076.27,f,023.25,M,012.56,F*23\r\n$GPGLL,6002.832,N,02329.909,E,102226,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,208.60,T,208.60,M,6.10,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,011,L,05.69,N,02.93,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102228,,,,00,*43\r\n$IIDBT,076.31,f,023.26,M,012.57,F*26\r\n$GPGLL,6002.829,N,02329.906,E,102228,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,208.88,T,208.88,M,6.10,N,,,D*63\r\n$IIMWV,352,T,05.53,N,A*22\r\n$IIVWT,008,L,05.53,N,02.85,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102230,,,,00,*4A\r\n$IIDBT,076.44,f,023.30,M,012.59,F*2D\r\n$GPGLL,6002.826,N,02329.903,E,102230,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,209.54,T,209.54,M,6.10,N,,,D*63\r\n$IIMWV,356,R,11.85,N,A*2E\r\n$IIVWT,009,L,05.63,N,02.90,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102232,,,,00,*48\r\n$IIDBT,076.44,f,023.30,M,012.59,F*2D\r\n$GPGLL,6002.823,N,02329.899,E,102232,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,209.06,T,209.06,M,6.13,N,,,D*60\r\n$IIMWV,353,T,05.44,N,A*25\r\n$IIVWT,007,L,05.44,N,02.80,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102234,,,,00,*4E\r\n$IIDBT,076.60,f,023.35,M,012.62,F*26\r\n$GPGLL,6002.820,N,02329.896,E,102234,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,207.74,T,207.74,M,6.13,N,,,D*60\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,006,L,05.40,N,02.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102236,,,,00,*4C\r\n$IIDBT,076.83,f,023.42,M,012.65,F*2C\r\n$GPGLL,6002.817,N,02329.893,E,102236,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.32,N,,*06\r\n$IIVTG,206.56,T,206.56,M,6.11,N,,,D*62\r\n$IIMWV,355,T,05.52,N,A*24\r\n$IIVWT,005,L,05.52,N,02.84,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102238,,,,00,*42\r\n$IIDBT,076.90,f,023.44,M,012.66,F*2B\r\n$GPGLL,6002.814,N,02329.890,E,102238,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,206.31,T,206.31,M,6.10,N,,,D*63\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,006,L,05.57,N,02.87,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102240,,,,00,*4D\r\n$IIDBT,077.16,f,023.52,M,012.71,F*25\r\n$GPGLL,6002.810,N,02329.886,E,102240,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,205.95,T,205.95,M,6.10,N,,,D*63\r\n$IIMWV,353,T,05.52,N,A*22\r\n$IIVWT,007,L,05.52,N,02.84,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102242,,,,00,*4F\r\n$IIDBT,077.36,f,023.58,M,012.74,F*28\r\n$GPGLL,6002.807,N,02329.883,E,102242,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,205.06,T,205.06,M,6.10,N,,,D*63\r\n$IIMWV,358,R,11.85,N,A*20\r\n$IIVWT,005,L,05.57,N,02.87,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102244,,,,00,*49\r\n$IIDBT,077.45,f,023.61,M,012.76,F*24\r\n$GPGLL,6002.804,N,02329.880,E,102244,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,204.66,T,204.66,M,6.10,N,,,D*63\r\n$IIMWV,353,T,05.52,N,A*22\r\n$IIVWT,007,L,05.52,N,02.84,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102246,,,,00,*4B\r\n$IIDBT,077.78,f,023.71,M,012.81,F*23\r\n$GPGLL,6002.800,N,02329.878,E,102246,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,204.21,T,204.21,M,6.10,N,,,D*63\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,007,L,05.46,N,02.81,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102248,,,,00,*45\r\n$IIDBT,078.04,f,023.79,M,012.85,F*2B\r\n$GPGLL,6002.797,N,02329.875,E,102249,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,204.15,T,204.15,M,6.08,N,,,D*6A\r\n$IIMWV,352,T,05.46,N,A*26\r\n$IIVWT,008,L,05.46,N,02.81,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102250,,,,00,*4C\r\n$IIDBT,078.27,f,023.86,M,012.89,F*26\r\n$GPGLL,6002.794,N,02329.872,E,102251,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,204.36,T,204.36,M,6.07,N,,,D*65\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,007,L,05.11,N,02.63,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102252,,,,00,*4E\r\n$IIDBT,078.60,f,023.96,M,012.95,F*29\r\n$GPGLL,6002.791,N,02329.869,E,102253,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,204.66,T,204.66,M,6.02,N,,,D*60\r\n$IIMWV,352,T,05.20,N,A*26\r\n$IIVWT,008,L,05.20,N,02.68,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102254,,,,00,*48\r\n$IIDBT,079.06,f,024.10,M,013.02,F*2E\r\n$GPGLL,6002.788,N,02329.866,E,102255,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,204.87,T,204.87,M,6.00,N,,,D*62\r\n$IIMWV,356,R,11.85,N,A*2E\r\n$IIVWT,010,L,05.61,N,02.89,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102256,,,,00,*4A\r\n$IIDBT,079.39,f,024.20,M,013.08,F*2B\r\n$GPGLL,6002.785,N,02329.864,E,102257,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,205.42,T,205.42,M,6.00,N,,,D*62\r\n$IIMWV,350,T,05.67,N,A*27\r\n$IIVWT,010,L,05.67,N,02.92,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102258,,,,00,*44\r\n$IIDBT,079.75,f,024.31,M,013.14,F*2E\r\n$GPGLL,6002.782,N,02329.861,E,102259,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,205.75,T,205.75,M,6.00,N,,,D*62\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,011,L,05.59,N,02.88,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102301,,,,00,*49\r\n$IIDBT,080.08,f,024.41,M,013.19,F*28\r\n$GPGLL,6002.779,N,02329.858,E,102301,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,205.94,T,205.94,M,6.00,N,,,D*62\r\n$IIMWV,348,T,05.20,N,A*2D\r\n$IIVWT,012,L,05.20,N,02.68,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102303,,,,00,*4B\r\n$IIDBT,080.34,f,024.49,M,013.23,F*26\r\n$GPGLL,6002.776,N,02329.855,E,102303,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,206.24,T,206.24,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,013,L,05.13,N,02.64,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102305,,,,00,*4D\r\n$IIDBT,080.67,f,024.59,M,013.29,F*2B\r\n$GPGLL,6002.773,N,02329.852,E,102305,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,206.71,T,206.71,M,6.05,N,,,D*67\r\n$IIMWV,349,T,04.80,N,A*27\r\n$IIVWT,011,L,04.80,N,02.47,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102307,,,,00,*4F\r\n$IIDBT,080.93,f,024.67,M,013.33,F*26\r\n$GPGLL,6002.770,N,02329.849,E,102307,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,207.15,T,207.15,M,6.04,N,,,D*66\r\n$IIMWV,355,R,11.07,N,A*27\r\n$IIVWT,012,L,04.78,N,02.46,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102309,,,,00,*41\r\n$IIDBT,081.00,f,024.69,M,013.34,F*24\r\n$GPGLL,6002.767,N,02329.846,E,102309,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,207.04,T,207.04,M,6.03,N,,,D*61\r\n$IIMWV,351,T,04.72,N,A*23\r\n$IIVWT,009,L,04.72,N,02.43,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102311,,,,00,*48\r\n$IIDBT,081.23,f,024.76,M,013.38,F*27\r\n$GPGLL,6002.764,N,02329.843,E,102311,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,206.81,T,206.81,M,6.01,N,,,D*63\r\n$IIMWV,355,R,10.88,N,A*21\r\n$IIVWT,012,L,04.62,N,02.38,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102313,,,,00,*4A\r\n$IIDBT,081.42,f,024.82,M,013.41,F*25\r\n$GPGLL,6002.761,N,02329.840,E,102313,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,207.08,T,207.08,M,6.00,N,,,D*62\r\n$IIMWV,348,T,04.62,N,A*2A\r\n$IIVWT,012,L,04.62,N,02.38,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102315,,,,00,*4C\r\n$IIDBT,081.49,f,024.84,M,013.42,F*2B\r\n$GPGLL,6002.758,N,02329.837,E,102315,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,207.09,T,207.09,M,6.00,N,,,D*62\r\n$IIMWV,356,R,10.88,N,A*22\r\n$IIVWT,009,L,04.49,N,02.31,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102317,,,,00,*4E\r\n$IIDBT,081.65,f,024.89,M,013.45,F*2F\r\n$GPGLL,6002.755,N,02329.834,E,102317,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,206.30,T,206.30,M,6.08,N,,,D*6A\r\n$IIMWV,350,T,04.08,N,A*2F\r\n$IIVWT,010,L,04.08,N,02.10,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102319,,,,00,*40\r\n$IIDBT,081.82,f,024.94,M,013.48,F*27\r\n$GPGLL,6002.752,N,02329.831,E,102319,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,205.98,T,205.98,M,6.09,N,,,D*6B\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,008,L,04.19,N,02.16,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102321,,,,00,*4B\r\n$IIDBT,082.01,f,025.00,M,013.51,F*2B\r\n$GPGLL,6002.748,N,02329.828,E,102321,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,6.34,N,,*00\r\n$IIVTG,206.37,T,206.37,M,6.09,N,,,D*6B\r\n$IIMWV,352,T,04.06,N,A*23\r\n$IIVWT,008,L,04.06,N,02.09,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102323,,,,00,*49\r\n$IIDBT,082.08,f,025.02,M,013.52,F*23\r\n$GPGLL,6002.745,N,02329.823,E,102323,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,206.37,T,206.37,M,6.10,N,,,D*63\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,007,L,04.06,N,02.09,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102325,,,,00,*4F\r\n$IIDBT,082.21,f,025.06,M,013.54,F*2A\r\n$GPGLL,6002.742,N,02329.821,E,102325,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,205.82,T,205.82,M,6.02,N,,,D*60\r\n$IIMWV,353,T,04.12,N,A*27\r\n$IIVWT,007,L,04.12,N,02.12,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102327,,,,00,*4D\r\n$IIDBT,082.28,f,025.08,M,013.55,F*2C\r\n$GPGLL,6002.739,N,02329.818,E,102327,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,205.51,T,205.51,M,6.01,N,,,D*63\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,008,L,04.23,N,02.18,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102329,,,,00,*43\r\n$IIDBT,082.51,f,025.15,M,013.59,F*22\r\n$GPGLL,6002.736,N,02329.815,E,102329,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,205.48,T,205.48,M,6.08,N,,,D*6A\r\n$IIMWV,356,T,04.17,N,A*27\r\n$IIVWT,004,L,04.17,N,02.15,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102331,,,,00,*4A\r\n$IIDBT,082.74,f,025.22,M,013.63,F*28\r\n$GPGLL,6002.733,N,02329.812,E,102332,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,205.32,T,205.32,M,6.09,N,,,D*6B\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,004,L,03.69,N,01.90,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102333,,,,00,*48\r\n$IIDBT,082.97,f,025.29,M,013.66,F*2B\r\n$GPGLL,6002.730,N,02329.809,E,102334,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,205.20,T,205.20,M,6.05,N,,,D*67\r\n$IIMWV,357,T,03.75,N,A*25\r\n$IIVWT,004,L,03.75,N,01.93,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102335,,,,00,*4E\r\n$IIDBT,083.39,f,025.42,M,013.74,F*20\r\n$GPGLL,6002.727,N,02329.806,E,102336,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,204.85,T,204.85,M,6.01,N,,,D*63\r\n$IIMWV,358,R,10.10,N,A*2D\r\n$IIVWT,005,L,03.71,N,01.91,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102337,,,,00,*4C\r\n$IIDBT,083.65,f,025.50,M,013.78,F*26\r\n$GPGLL,6002.724,N,02329.803,E,102338,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,204.59,T,204.59,M,6.00,N,,,D*62\r\n$IIMWV,350,T,03.32,N,A*21\r\n$IIVWT,010,L,03.32,N,01.71,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102339,,,,00,*42\r\n$IIDBT,083.10,f,025.33,M,013.69,F*21\r\n$GPGLL,6002.720,N,02329.801,E,102340,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,204.57,T,204.57,M,6.00,N,,,D*62\r\n$IIMWV,358,R,10.10,N,A*2D\r\n$IIVWT,007,L,03.67,N,01.89,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102342,,,,00,*4E\r\n$IIDBT,082.67,f,025.20,M,013.62,F*29\r\n$GPGLL,6002.717,N,02329.798,E,102342,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,204.94,T,204.94,M,6.00,N,,,D*62\r\n$IIMWV,346,T,03.36,N,A*22\r\n$IIVWT,014,L,03.36,N,01.73,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102344,,,,00,*48\r\n$IIDBT,082.37,f,025.11,M,013.57,F*28\r\n$GPGLL,6002.714,N,02329.795,E,102344,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.38,N,01.74,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,205.11,T,205.11,M,6.00,N,,,D*62\r\n$IIMWV,355,R,09.71,N,A*2F\r\n$IIVWT,014,L,03.46,N,01.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102346,,,,00,*4A\r\n$IIDBT,082.18,f,025.05,M,013.54,F*23\r\n$GPGLL,6002.711,N,02329.792,E,102346,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,205.05,T,205.05,M,6.00,N,,,D*62\r\n$IIMWV,348,T,03.14,N,A*2C\r\n$IIVWT,012,L,03.14,N,01.62,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102348,,,,00,*44\r\n$IIDBT,082.08,f,025.02,M,013.52,F*23\r\n$GPGLL,6002.708,N,02329.789,E,102348,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,205.26,T,205.26,M,6.00,N,,,D*62\r\n$IIMWV,354,R,09.52,N,A*2F\r\n$IIVWT,019,L,03.22,N,01.66,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102350,,,,00,*4D\r\n$IIDBT,081.75,f,024.92,M,013.46,F*27\r\n$GPGLL,6002.705,N,02329.787,E,102350,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,204.44,T,204.44,M,6.00,N,,,D*62\r\n$IIMWV,337,T,03.53,N,A*27\r\n$IIVWT,023,L,03.53,N,01.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102352,,,,00,*4F\r\n$IIDBT,081.62,f,024.88,M,013.44,F*28\r\n$GPGLL,6002.702,N,02329.784,E,102352,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,204.43,T,204.43,M,6.00,N,,,D*62\r\n$IIMWV,351,R,09.52,N,A*2A\r\n$IIVWT,026,L,03.36,N,01.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102354,,,,00,*49\r\n$IIDBT,081.42,f,024.82,M,013.41,F*25\r\n$GPGLL,6002.699,N,02329.781,E,102354,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,206.74,T,206.74,M,5.95,N,,,D*6D\r\n$IIMWV,318,T,03.47,N,A*2F\r\n$IIVWT,043,L,03.47,N,01.79,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102356,,,,00,*4B\r\n$IIDBT,081.33,f,024.79,M,013.39,F*28\r\n$GPGLL,6002.697,N,02329.778,E,102356,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,208.41,T,208.41,M,5.91,N,,,D*69\r\n$IIMWV,354,R,09.13,N,A*2A\r\n$IIVWT,020,L,02.91,N,01.50,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102358,,,,00,*45\r\n$IIDBT,081.29,f,024.78,M,013.39,F*22\r\n$GPGLL,6002.694,N,02329.774,E,102358,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,216.58,T,216.58,M,5.95,N,,,D*6D\r\n$IIMWV,323,T,03.28,N,A*2E\r\n$IIVWT,037,L,03.28,N,01.69,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102400,,,,00,*4F\r\n$IIDBT,081.10,f,024.72,M,013.36,F*2D\r\n$GPGLL,6002.691,N,02329.769,E,102400,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.38,N,01.74,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,220.44,T,220.44,M,6.04,N,,,D*66\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,032,L,03.03,N,01.56,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102402,,,,00,*4D\r\n$IIDBT,081.00,f,024.69,M,013.34,F*24\r\n$GPGLL,6002.689,N,02329.765,E,102402,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,216.21,T,216.21,M,6.01,N,,,D*63\r\n$IIMWV,317,T,02.93,N,A*28\r\n$IIVWT,043,L,02.93,N,01.51,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102404,,,,00,*4B\r\n$IIDBT,080.80,f,024.63,M,013.31,F*22\r\n$GPGLL,6002.685,N,02329.760,E,102404,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,213.68,T,213.68,M,6.00,N,,,D*62\r\n$IIMWV,348,R,09.13,N,A*27\r\n$IIVWT,036,L,03.22,N,01.66,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102406,,,,00,*49\r\n$IIDBT,080.60,f,024.57,M,013.28,F*23\r\n$GPGLL,6002.682,N,02329.757,E,102406,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,207.88,T,207.88,M,6.00,N,,,D*62\r\n$IIMWV,336,T,03.05,N,A*25\r\n$IIVWT,024,L,03.05,N,01.57,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102408,,,,00,*47\r\n$IIDBT,080.44,f,024.52,M,013.25,F*2D\r\n$GPGLL,6002.679,N,02329.754,E,102408,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,206.27,T,206.27,M,6.00,N,,,D*62\r\n$IIMWV,349,R,09.52,N,A*23\r\n$IIVWT,032,L,03.44,N,01.77,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102410,,,,00,*4E\r\n$IIDBT,080.18,f,024.44,M,013.21,F*27\r\n$GPGLL,6002.676,N,02329.752,E,102410,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,204.67,T,204.67,M,6.00,N,,,D*62\r\n$IIMWV,329,T,03.05,N,A*2B\r\n$IIVWT,031,L,03.05,N,01.57,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102412,,,,00,*4C\r\n$IIDBT,079.85,f,024.34,M,013.15,F*25\r\n$GPGLL,6002.673,N,02329.749,E,102413,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,203.77,T,203.77,M,6.00,N,,,D*62\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,031,L,03.09,N,01.59,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102414,,,,00,*4A\r\n$IIDBT,079.59,f,024.26,M,013.11,F*23\r\n$GPGLL,6002.670,N,02329.746,E,102415,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,203.12,T,203.12,M,6.00,N,,,D*62\r\n$IIMWV,327,T,03.09,N,A*29\r\n$IIVWT,033,L,03.09,N,01.59,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102416,,,,00,*48\r\n$IIDBT,079.32,f,024.18,M,013.06,F*25\r\n$GPGLL,6002.667,N,02329.744,E,102417,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,202.98,T,202.98,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.13,N,A*2C\r\n$IIVWT,027,L,02.89,N,01.49,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102418,,,,00,*46\r\n$IIDBT,079.09,f,024.11,M,013.03,F*21\r\n$GPGLL,6002.664,N,02329.741,E,102419,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.28,N,,*0E\r\n$IIVTG,204.12,T,204.12,M,6.00,N,,,D*62\r\n$IIMWV,327,T,03.09,N,A*29\r\n$IIVWT,033,L,03.09,N,01.59,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102420,,,,00,*4D\r\n$IIDBT,078.96,f,024.07,M,013.01,F*23\r\n$GPGLL,6002.660,N,02329.738,E,102421,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,203.80,T,203.80,M,6.05,N,,,D*67\r\n$IIMWV,349,R,09.13,N,A*26\r\n$IIVWT,032,L,03.16,N,01.63,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102422,,,,00,*4F\r\n$IIDBT,078.54,f,023.94,M,012.94,F*2D\r\n$GPGLL,6002.657,N,02329.736,E,102423,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,203.58,T,203.58,M,6.04,N,,,D*66\r\n$IIMWV,319,T,02.87,N,A*23\r\n$IIVWT,041,L,02.87,N,01.48,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102425,,,,00,*48\r\n$IIDBT,078.14,f,023.82,M,012.87,F*2C\r\n$GPGLL,6002.654,N,02329.733,E,102425,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,203.47,T,203.47,M,5.96,N,,,D*6E\r\n$IIMWV,350,R,08.74,N,A*2E\r\n$IIVWT,033,L,02.77,N,01.43,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102427,,,,00,*4A\r\n$IIDBT,077.91,f,023.75,M,012.83,F*22\r\n$GPGLL,6002.651,N,02329.730,E,102427,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,207.16,T,207.16,M,5.96,N,,,D*6E\r\n$IIMWV,315,T,02.91,N,A*28\r\n$IIVWT,045,L,02.91,N,01.50,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102429,,,,00,*44\r\n$IIDBT,077.72,f,023.69,M,012.80,F*21\r\n$GPGLL,6002.649,N,02329.726,E,102429,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,211.32,T,211.32,M,5.99,N,,,D*61\r\n$IIMWV,347,R,08.55,N,A*2B\r\n$IIVWT,044,L,02.68,N,01.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102431,,,,00,*4D\r\n$IIDBT,077.45,f,023.61,M,012.76,F*24\r\n$GPGLL,6002.646,N,02329.723,E,102431,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.25,N,,*02\r\n$IIVTG,211.80,T,211.80,M,6.07,N,,,D*65\r\n$IIMWV,313,T,02.81,N,A*2F\r\n$IIVWT,047,L,02.81,N,01.45,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102433,,,,00,*4F\r\n$IIDBT,077.16,f,023.52,M,012.71,F*25\r\n$GPGLL,6002.643,N,02329.720,E,102433,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,209.95,T,209.95,M,6.09,N,,,D*6B\r\n$IIMWV,347,R,08.55,N,A*2B\r\n$IIVWT,046,L,02.72,N,01.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102435,,,,00,*49\r\n$IIDBT,076.90,f,023.44,M,012.66,F*2B\r\n$GPGLL,6002.640,N,02329.716,E,102435,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,207.89,T,207.89,M,6.02,N,,,D*60\r\n$IIMWV,319,T,02.68,N,A*22\r\n$IIVWT,041,L,02.68,N,01.38,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102437,,,,00,*4B\r\n$IIDBT,076.70,f,023.38,M,012.63,F*2B\r\n$GPGLL,6002.637,N,02329.713,E,102437,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.60,N,,*03\r\n$IIVTG,208.02,T,208.02,M,6.06,N,,,D*64\r\n$IIMWV,346,R,08.55,N,A*2A\r\n$IIVWT,046,L,02.79,N,01.44,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102439,,,,00,*45\r\n$IIDBT,076.44,f,023.30,M,012.59,F*2D\r\n$GPGLL,6002.634,N,02329.710,E,102439,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,207.33,T,207.33,M,6.09,N,,,D*6B\r\n$IIMWV,318,T,02.66,N,A*2D\r\n$IIVWT,042,L,02.66,N,01.37,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102441,,,,00,*4A\r\n$IIDBT,076.01,f,023.17,M,012.52,F*22\r\n$GPGLL,6002.631,N,02329.707,E,102441,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,206.43,T,206.43,M,6.10,N,,,D*63\r\n$IIMWV,347,R,08.55,N,A*2B\r\n$IIVWT,046,L,02.72,N,01.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102443,,,,00,*48\r\n$IIDBT,075.91,f,023.14,M,012.50,F*29\r\n$GPGLL,6002.628,N,02329.704,E,102443,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,4.47,N,,*06\r\n$IIVTG,205.73,T,205.73,M,6.10,N,,,D*63\r\n$IIMWV,314,T,02.72,N,A*24\r\n$IIVWT,046,L,02.72,N,01.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102445,,,,00,*4E\r\n$IIDBT,075.58,f,023.04,M,012.45,F*29\r\n$GPGLL,6002.625,N,02329.701,E,102445,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.85,N,01.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,4.15,N,,*01\r\n$IIVTG,205.33,T,205.33,M,6.10,N,,,D*63\r\n$IIMWV,346,R,08.55,N,A*2A\r\n$IIVWT,049,L,02.81,N,01.45,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,102447,,,,00,*4C\r\n$IIDBT,075.35,f,022.97,M,012.41,F*2D\r\n$GPGLL,6002.620,N,02329.697,E,102447,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,204.93,T,204.93,M,6.10,N,,,D*63\r\n$IIMWV,315,T,02.77,N,A*20\r\n$IIVWT,045,L,02.77,N,01.43,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102449,,,,00,*42\r\n$IIDBT,075.06,f,022.88,M,012.36,F*23\r\n$GPGLL,6002.617,N,02329.694,E,102449,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,4.42,N,,*03\r\n$IIVTG,205.10,T,205.10,M,6.10,N,,,D*63\r\n$IIMWV,346,R,08.55,N,A*2A\r\n$IIVWT,046,L,02.85,N,01.47,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102451,,,,00,*4B\r\n$IIDBT,074.73,f,022.78,M,012.31,F*28\r\n$GPGLL,6002.614,N,02329.692,E,102451,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,204.02,T,204.02,M,6.10,N,,,D*63\r\n$IIMWV,323,T,02.52,N,A*22\r\n$IIVWT,037,L,02.52,N,01.30,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102453,,,,00,*49\r\n$IIDBT,074.53,f,022.72,M,012.28,F*28\r\n$GPGLL,6002.611,N,02329.689,E,102453,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,202.88,T,202.88,M,6.10,N,,,D*63\r\n$IIMWV,343,R,08.16,N,A*28\r\n$IIVWT,059,L,02.76,N,01.42,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102455,,,,00,*4F\r\n$IIDBT,074.24,f,022.63,M,012.23,F*23\r\n$GPGLL,6002.608,N,02329.687,E,102456,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.77,N,,*02\r\n$IIVTG,201.17,T,201.17,M,6.02,N,,,D*60\r\n$IIMWV,309,T,02.52,N,A*2A\r\n$IIVWT,051,L,02.52,N,01.30,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102457,,,,00,*4D\r\n$IIDBT,074.07,f,022.58,M,012.20,F*29\r\n$GPGLL,6002.605,N,02329.684,E,102458,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,201.99,T,201.99,M,6.01,N,,,D*63\r\n$IIMWV,342,R,07.77,N,A*21\r\n$IIVWT,068,L,02.58,N,01.33,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102459,,,,00,*43\r\n$IIDBT,073.88,f,022.52,M,012.17,F*27\r\n$GPGLL,6002.602,N,02329.682,E,102500,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,203.72,T,203.72,M,6.00,N,,,D*62\r\n$IIMWV,298,T,02.33,N,A*24\r\n$IIVWT,062,L,02.33,N,01.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102501,,,,00,*4F\r\n$IIDBT,073.58,f,022.43,M,012.12,F*2F\r\n$GPGLL,6002.599,N,02329.679,E,102502,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,206.05,T,206.05,M,6.03,N,,,D*61\r\n$IIMWV,337,R,07.77,N,A*23\r\n$IIVWT,075,L,03.16,N,01.63,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102503,,,,00,*4D\r\n$IIDBT,073.32,f,022.35,M,012.08,F*29\r\n$GPGLL,6002.596,N,02329.676,E,102504,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.20,N,,*01\r\n$IIVTG,206.16,T,206.16,M,6.01,N,,,D*63\r\n$IIMWV,290,T,02.87,N,A*23\r\n$IIVWT,070,L,02.87,N,01.48,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102505,,,,00,*4B\r\n$IIDBT,073.09,f,022.28,M,012.04,F*21\r\n$GPGLL,6002.593,N,02329.673,E,102506,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,207.09,T,207.09,M,6.00,N,,,D*62\r\n$IIMWV,336,R,07.77,N,A*22\r\n$IIVWT,076,L,03.26,N,01.68,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102508,,,,00,*46\r\n$IIDBT,072.99,f,022.25,M,012.02,F*22\r\n$GPGLL,6002.590,N,02329.669,E,102508,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,208.30,T,208.30,M,6.05,N,,,D*67\r\n$IIMWV,281,T,03.28,N,A*27\r\n$IIVWT,079,L,03.28,N,01.69,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102510,,,,00,*4F\r\n$IIDBT,072.83,f,022.20,M,011.99,F*2D\r\n$GPGLL,6002.587,N,02329.666,E,102510,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,208.90,T,208.90,M,6.09,N,,,D*6B\r\n$IIMWV,335,R,07.77,N,A*21\r\n$IIVWT,078,L,03.38,N,01.74,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102512,,,,00,*4D\r\n$IIDBT,072.70,f,022.16,M,011.97,F*2A\r\n$GPGLL,6002.584,N,02329.663,E,102512,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,208.67,T,208.67,M,6.02,N,,,D*60\r\n$IIMWV,278,T,03.09,N,A*22\r\n$IIVWT,082,L,03.09,N,01.59,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102514,,,,00,*4B\r\n$IIDBT,072.53,f,022.11,M,011.95,F*2E\r\n$GPGLL,6002.581,N,02329.660,E,102514,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.84,N,,*0C\r\n$IIVTG,208.84,T,208.84,M,6.06,N,,,D*64\r\n$IIMWV,339,R,07.77,N,A*2D\r\n$IIVWT,072,L,02.99,N,01.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102516,,,,00,*49\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,6002.578,N,02329.657,E,102516,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,208.86,T,208.86,M,6.04,N,,,D*66\r\n$IIMWV,286,T,03.01,N,A*2B\r\n$IIVWT,074,L,03.01,N,01.55,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102518,,,,00,*47\r\n$IIDBT,072.37,f,022.06,M,011.92,F*2D\r\n$GPGLL,6002.575,N,02329.653,E,102518,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.85,N,01.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,208.94,T,208.94,M,6.01,N,,,D*63\r\n$IIMWV,339,R,07.77,N,A*2D\r\n$IIVWT,073,L,02.87,N,01.48,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102520,,,,00,*4C\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,6002.572,N,02329.650,E,102520,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,209.48,T,209.48,M,6.08,N,,,D*6A\r\n$IIMWV,282,T,02.93,N,A*25\r\n$IIVWT,078,L,02.93,N,01.51,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102522,,,,00,*4E\r\n$IIDBT,072.30,f,022.04,M,011.91,F*2B\r\n$GPGLL,6002.569,N,02329.647,E,102522,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,208.62,T,208.62,M,6.09,N,,,D*6B\r\n$IIMWV,340,R,07.77,N,A*23\r\n$IIVWT,071,L,02.83,N,01.46,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102524,,,,00,*48\r\n$IIDBT,072.24,f,022.02,M,011.90,F*29\r\n$GPGLL,6002.566,N,02329.644,E,102524,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,207.86,T,207.86,M,6.10,N,,,D*63\r\n$IIMWV,288,T,02.89,N,A*24\r\n$IIVWT,072,L,02.89,N,01.49,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102526,,,,00,*4A\r\n$IIDBT,072.14,f,021.99,M,011.88,F*22\r\n$GPGLL,6002.563,N,02329.641,E,102526,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,207.29,T,207.29,M,6.10,N,,,D*63\r\n$IIMWV,338,R,07.77,N,A*2C\r\n$IIVWT,073,L,02.99,N,01.54,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102528,,,,00,*44\r\n$IIDBT,072.14,f,021.99,M,011.88,F*22\r\n$GPGLL,6002.560,N,02329.638,E,102528,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,206.95,T,206.95,M,6.05,N,,,D*67\r\n$IIMWV,290,T,02.89,N,A*2D\r\n$IIVWT,070,L,02.89,N,01.49,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102530,,,,00,*4D\r\n$IIDBT,072.07,f,021.97,M,011.87,F*21\r\n$GPGLL,6002.556,N,02329.633,E,102530,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,206.69,T,206.69,M,6.04,N,,,D*66\r\n$IIMWV,340,R,07.77,N,A*23\r\n$IIVWT,071,L,02.76,N,01.42,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102532,,,,00,*4F\r\n$IIDBT,072.07,f,021.97,M,011.87,F*21\r\n$GPGLL,6002.553,N,02329.630,E,102532,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,206.40,T,206.40,M,6.07,N,,,D*65\r\n$IIMWV,292,T,03.22,N,A*2F\r\n$IIVWT,068,L,03.22,N,01.66,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102534,,,,00,*49\r\n$IIDBT,071.97,f,021.94,M,011.85,F*2A\r\n$GPGLL,6002.550,N,02329.627,E,102534,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,206.00,T,206.00,M,6.04,N,,,D*66\r\n$IIMWV,338,R,07.77,N,A*2C\r\n$IIVWT,074,L,03.01,N,01.55,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102536,,,,00,*4B\r\n$IIDBT,071.88,f,021.91,M,011.84,F*20\r\n$GPGLL,6002.547,N,02329.625,E,102536,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.44,N,11.92,K*58\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,205.77,T,205.77,M,6.01,N,,,D*63\r\n$IIMWV,285,T,03.01,N,A*28\r\n$IIVWT,075,L,03.01,N,01.55,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102538,,,,00,*45\r\n$IIDBT,071.78,f,021.88,M,011.82,F*21\r\n$GPGLL,6002.544,N,02329.622,E,102539,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.41,N,11.87,K*59\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,205.66,T,205.66,M,6.08,N,,,D*6A\r\n$IIMWV,337,R,07.77,N,A*23\r\n$IIVWT,074,L,03.14,N,01.62,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102540,,,,00,*4A\r\n$IIDBT,071.68,f,021.85,M,011.81,F*2E\r\n$GPGLL,6002.540,N,02329.619,E,102541,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,205.44,T,205.44,M,6.04,N,,,D*66\r\n$IIMWV,292,T,03.20,N,A*2D\r\n$IIVWT,068,L,03.20,N,01.65,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102542,,,,00,*48\r\n$IIDBT,071.61,f,021.83,M,011.79,F*26\r\n$GPGLL,6002.537,N,02329.616,E,102543,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,205.14,T,205.14,M,6.01,N,,,D*63\r\n$IIMWV,338,R,08.16,N,A*24\r\n$IIVWT,070,L,03.24,N,01.67,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102544,,,,00,*4E\r\n$IIDBT,071.45,f,021.78,M,011.77,F*2A\r\n$GPGLL,6002.534,N,02329.613,E,102545,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,2.23,N,,*02\r\n$IIVTG,204.86,T,204.86,M,6.08,N,,,D*6A\r\n$IIMWV,291,T,03.26,N,A*28\r\n$IIVWT,069,L,03.26,N,01.68,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102546,,,,00,*4C\r\n$IIDBT,071.38,f,021.76,M,011.76,F*2F\r\n$GPGLL,6002.531,N,02329.610,E,102547,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,204.74,T,204.74,M,6.04,N,,,D*66\r\n$IIMWV,338,R,08.16,N,A*24\r\n$IIVWT,069,L,03.32,N,01.71,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102548,,,,00,*42\r\n$IIDBT,071.29,f,021.73,M,011.74,F*28\r\n$GPGLL,6002.528,N,02329.608,E,102549,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,204.91,T,204.91,M,6.04,N,,,D*66\r\n$IIMWV,289,T,03.46,N,A*27\r\n$IIVWT,071,L,03.46,N,01.78,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102551,,,,00,*4A\r\n$IIDBT,071.09,f,021.67,M,011.71,F*2A\r\n$GPGLL,6002.525,N,02329.605,E,102551,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.16,N,,*04\r\n$IIVTG,204.68,T,204.68,M,6.01,N,,,D*63\r\n$IIMWV,337,R,08.16,N,A*2B\r\n$IIVWT,070,L,03.34,N,01.72,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102553,,,,00,*48\r\n$IIDBT,070.89,f,021.61,M,011.68,F*2D\r\n$GPGLL,6002.522,N,02329.602,E,102553,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.30,N,01.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,204.45,T,204.45,M,6.08,N,,,D*6A\r\n$IIMWV,282,T,03.30,N,A*2D\r\n$IIVWT,078,L,03.30,N,01.70,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102555,,,,00,*4E\r\n$IIDBT,070.76,f,021.57,M,011.65,F*25\r\n$GPGLL,6002.519,N,02329.599,E,102555,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,204.01,T,204.01,M,6.02,N,,,D*60\r\n$IIMWV,335,R,08.16,N,A*29\r\n$IIVWT,073,L,03.61,N,01.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102557,,,,00,*4C\r\n$IIDBT,070.50,f,021.49,M,011.61,F*2A\r\n$GPGLL,6002.516,N,02329.597,E,102557,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,203.55,T,203.55,M,6.00,N,,,D*62\r\n$IIMWV,285,T,03.75,N,A*2B\r\n$IIVWT,075,L,03.75,N,01.93,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102559,,,,00,*42\r\n$IIDBT,070.30,f,021.43,M,011.58,F*2C\r\n$GPGLL,6002.513,N,02329.594,E,102559,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.61,N,01.86,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,203.38,T,203.38,M,6.00,N,,,D*62\r\n$IIMWV,336,R,08.16,N,A*2A\r\n$IIVWT,073,L,03.49,N,01.80,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102601,,,,00,*4C\r\n$IIDBT,070.04,f,021.35,M,011.54,F*26\r\n$GPGLL,6002.510,N,02329.591,E,102601,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,204.80,T,204.80,M,6.00,N,,,D*62\r\n$IIMWV,283,T,03.84,N,A*23\r\n$IIVWT,077,L,03.84,N,01.98,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102603,,,,00,*4E\r\n$IIDBT,069.74,f,021.26,M,011.49,F*27\r\n$GPGLL,6002.507,N,02329.588,E,102603,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,205.40,T,205.40,M,6.03,N,,,D*61\r\n$IIMWV,332,R,08.16,N,A*2E\r\n$IIVWT,078,L,03.92,N,02.02,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102605,,,,00,*48\r\n$IIDBT,069.55,f,021.20,M,011.45,F*2E\r\n$GPGLL,6002.504,N,02329.585,E,102605,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,204.98,T,204.98,M,6.01,N,,,D*63\r\n$IIMWV,282,T,03.88,N,A*2E\r\n$IIVWT,078,L,03.88,N,02.00,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102607,,,,00,*4A\r\n$IIDBT,069.22,f,021.10,M,011.40,F*28\r\n$GPGLL,6002.501,N,02329.583,E,102607,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,204.85,T,204.85,M,6.00,N,,,D*62\r\n$IIMWV,334,R,08.16,N,A*28\r\n$IIVWT,075,L,03.75,N,01.93,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102609,,,,00,*44\r\n$IIDBT,068.92,f,021.01,M,011.35,F*20\r\n$GPGLL,6002.498,N,02329.580,E,102609,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,205.14,T,205.14,M,6.00,N,,,D*62\r\n$IIMWV,281,T,03.98,N,A*2C\r\n$IIVWT,079,L,03.98,N,02.05,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102611,,,,00,*4D\r\n$IIDBT,068.60,f,020.91,M,011.30,F*20\r\n$GPGLL,6002.495,N,02329.577,E,102611,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,205.41,T,205.41,M,6.08,N,,,D*6A\r\n$IIMWV,332,R,08.16,N,A*2E\r\n$IIVWT,078,L,03.94,N,02.03,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102613,,,,00,*4F\r\n$IIDBT,068.20,f,020.79,M,011.23,F*20\r\n$GPGLL,6002.490,N,02329.573,E,102613,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,205.69,T,205.69,M,6.05,N,,,D*67\r\n$IIMWV,280,T,04.12,N,A*28\r\n$IIVWT,080,L,04.12,N,02.12,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102615,,,,00,*49\r\n$IIDBT,067.87,f,020.69,M,011.18,F*2B\r\n$GPGLL,6002.487,N,02329.570,E,102615,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,205.97,T,205.97,M,6.01,N,,,D*63\r\n$IIMWV,330,R,08.16,N,A*2C\r\n$IIVWT,080,L,04.19,N,02.16,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102617,,,,00,*4B\r\n$IIDBT,067.48,f,020.57,M,011.11,F*2C\r\n$GPGLL,6002.484,N,02329.567,E,102617,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,206.11,T,206.11,M,6.00,N,,,D*62\r\n$IIMWV,285,T,03.90,N,A*20\r\n$IIVWT,075,L,03.90,N,02.01,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102619,,,,00,*45\r\n$IIDBT,067.09,f,020.45,M,011.05,F*2F\r\n$GPGLL,6002.481,N,02329.564,E,102619,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.82,N,,*0B\r\n$IIVTG,207.86,T,207.86,M,6.00,N,,,D*62\r\n$IIMWV,331,R,07.77,N,A*25\r\n$IIVWT,083,L,03.75,N,01.93,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102621,,,,00,*4E\r\n$IIDBT,066.69,f,020.33,M,010.98,F*2C\r\n$GPGLL,6002.478,N,02329.560,E,102622,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,208.84,T,208.84,M,6.05,N,,,D*67\r\n$IIMWV,283,T,03.88,N,A*2F\r\n$IIVWT,077,L,03.88,N,02.00,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102623,,,,00,*4C\r\n$IIDBT,066.20,f,020.18,M,010.90,F*20\r\n$GPGLL,6002.475,N,02329.557,E,102624,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,208.46,T,208.46,M,6.01,N,,,D*63\r\n$IIMWV,334,R,08.16,N,A*28\r\n$IIVWT,074,L,03.75,N,01.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102625,,,,00,*4A\r\n$IIDBT,065.77,f,020.05,M,010.83,F*2F\r\n$GPGLL,6002.472,N,02329.554,E,102626,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,208.42,T,208.42,M,6.00,N,,,D*62\r\n$IIMWV,283,T,03.92,N,A*24\r\n$IIVWT,077,L,03.92,N,02.02,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102627,,,,00,*48\r\n$IIDBT,065.45,f,019.95,M,010.78,F*29\r\n$GPGLL,6002.470,N,02329.551,E,102628,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,208.22,T,208.22,M,6.00,N,,,D*62\r\n$IIMWV,330,R,08.16,N,A*2C\r\n$IIVWT,082,L,04.15,N,02.14,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102629,,,,00,*46\r\n$IIDBT,065.15,f,019.86,M,010.73,F*25\r\n$GPGLL,6002.467,N,02329.548,E,102630,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,209.03,T,209.03,M,6.00,N,,,D*62\r\n$IIMWV,284,T,03.88,N,A*28\r\n$IIVWT,076,L,03.88,N,02.00,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102631,,,,00,*4F\r\n$IIDBT,064.89,f,019.78,M,010.69,F*2B\r\n$GPGLL,6002.464,N,02329.544,E,102632,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,211.33,T,211.33,M,6.05,N,,,D*67\r\n$IIMWV,334,R,08.55,N,A*2F\r\n$IIVWT,072,L,03.96,N,02.04,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102634,,,,00,*4A\r\n$IIDBT,064.36,f,019.62,M,010.60,F*2D\r\n$GPGLL,6002.461,N,02329.541,E,102634,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,211.83,T,211.83,M,6.09,N,,,D*6B\r\n$IIMWV,284,T,04.31,N,A*2D\r\n$IIVWT,076,L,04.31,N,02.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102636,,,,00,*48\r\n$IIDBT,064.17,f,019.56,M,010.57,F*2D\r\n$GPGLL,6002.458,N,02329.538,E,102636,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.41,N,11.87,K*59\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,207.93,T,207.93,M,6.10,N,,,D*63\r\n$IIMWV,332,R,08.16,N,A*2E\r\n$IIVWT,078,L,03.98,N,02.05,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102638,,,,00,*46\r\n$IIDBT,063.90,f,019.48,M,010.52,F*2F\r\n$GPGLL,6002.455,N,02329.535,E,102638,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,205.68,T,205.68,M,6.02,N,,,D*60\r\n$IIMWV,279,T,04.19,N,A*25\r\n$IIVWT,081,L,04.19,N,02.16,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102640,,,,00,*49\r\n$IIDBT,063.71,f,019.42,M,010.49,F*20\r\n$GPGLL,6002.452,N,02329.532,E,102640,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,204.94,T,204.94,M,6.01,N,,,D*63\r\n$IIMWV,330,R,08.16,N,A*2C\r\n$IIVWT,081,L,04.10,N,02.11,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102642,,,,00,*4B\r\n$IIDBT,063.48,f,019.35,M,010.45,F*26\r\n$GPGLL,6002.449,N,02329.529,E,102642,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,205.51,T,205.51,M,6.00,N,,,D*62\r\n$IIMWV,283,T,03.94,N,A*22\r\n$IIVWT,077,L,03.94,N,02.03,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102644,,,,00,*4D\r\n$IIDBT,063.38,f,019.32,M,010.44,F*27\r\n$GPGLL,6002.446,N,02329.526,E,102644,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,205.45,T,205.45,M,6.00,N,,,D*62\r\n$IIMWV,333,R,08.16,N,A*2F\r\n$IIVWT,076,L,03.80,N,01.96,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102646,,,,00,*4F\r\n$IIDBT,063.31,f,019.30,M,010.43,F*2B\r\n$GPGLL,6002.443,N,02329.523,E,102646,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,205.12,T,205.12,M,6.00,N,,,D*62\r\n$IIMWV,276,T,03.84,N,A*29\r\n$IIVWT,084,L,03.84,N,01.98,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102648,,,,00,*41\r\n$IIDBT,063.61,f,019.39,M,010.48,F*2C\r\n$GPGLL,6002.440,N,02329.520,E,102648,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,205.28,T,205.28,M,6.00,N,,,D*62\r\n$IIMWV,329,R,07.77,N,A*2C\r\n$IIVWT,086,L,04.02,N,02.07,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102650,,,,00,*48\r\n$IIDBT,063.94,f,019.49,M,010.53,F*2B\r\n$GPGLL,6002.437,N,02329.518,E,102650,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,206.07,T,206.07,M,6.00,N,,,D*62\r\n$IIMWV,275,T,03.98,N,A*27\r\n$IIVWT,085,L,03.98,N,02.05,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102652,,,,00,*4A\r\n$IIDBT,063.38,f,019.32,M,010.44,F*27\r\n$GPGLL,6002.434,N,02329.515,E,102652,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,205.90,T,205.90,M,6.05,N,,,D*67\r\n$IIMWV,333,R,08.16,N,A*2F\r\n$IIVWT,077,L,03.84,N,01.98,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102654,,,,00,*4C\r\n$IIDBT,063.02,f,019.21,M,010.38,F*27\r\n$GPGLL,6002.431,N,02329.512,E,102654,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,205.75,T,205.75,M,6.09,N,,,D*6B\r\n$IIMWV,289,T,04.04,N,A*26\r\n$IIVWT,071,L,04.04,N,02.08,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102656,,,,00,*4E\r\n$IIDBT,062.89,f,019.17,M,010.36,F*2E\r\n$GPGLL,6002.426,N,02329.508,E,102656,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.13,N,,*01\r\n$IIVTG,205.19,T,205.19,M,6.10,N,,,D*63\r\n$IIMWV,333,R,08.16,N,A*2F\r\n$IIVWT,076,L,03.84,N,01.98,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102658,,,,00,*40\r\n$IIDBT,062.92,f,019.18,M,010.36,F*2B\r\n$GPGLL,6002.423,N,02329.505,E,102658,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,204.97,T,204.97,M,6.10,N,,,D*63\r\n$IIMWV,286,T,04.19,N,A*25\r\n$IIVWT,074,L,04.19,N,02.16,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102700,,,,00,*4C\r\n$IIDBT,062.92,f,019.18,M,010.36,F*2B\r\n$GPGLL,6002.420,N,02329.502,E,102700,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,204.89,T,204.89,M,6.10,N,,,D*63\r\n$IIMWV,333,R,08.55,N,A*28\r\n$IIVWT,072,L,04.14,N,02.13,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102702,,,,00,*4E\r\n$IIDBT,063.15,f,019.25,M,010.40,F*2A\r\n$GPGLL,6002.417,N,02329.499,E,102702,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,204.40,T,204.40,M,6.05,N,,,D*67\r\n$IIMWV,289,T,04.31,N,A*20\r\n$IIVWT,071,L,04.31,N,02.22,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102704,,,,00,*48\r\n$IIDBT,063.51,f,019.36,M,010.46,F*2E\r\n$GPGLL,6002.414,N,02329.496,E,102705,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,204.25,T,204.25,M,6.01,N,,,D*63\r\n$IIMWV,332,R,08.74,N,A*2A\r\n$IIVWT,072,L,04.37,N,02.25,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102706,,,,00,*4A\r\n$IIDBT,063.90,f,019.48,M,010.52,F*2F\r\n$GPGLL,6002.411,N,02329.494,E,102707,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,204.51,T,204.51,M,6.05,N,,,D*67\r\n$IIMWV,284,T,04.58,N,A*22\r\n$IIVWT,077,L,04.58,N,02.36,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102708,,,,00,*44\r\n$IIDBT,064.36,f,019.62,M,010.60,F*2D\r\n$GPGLL,6002.408,N,02329.491,E,102709,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,204.68,T,204.68,M,6.09,N,,,D*6B\r\n$IIMWV,332,R,08.74,N,A*2A\r\n$IIVWT,073,L,04.27,N,02.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102710,,,,00,*4D\r\n$IIDBT,065.28,f,019.90,M,010.75,F*2A\r\n$GPGLL,6002.405,N,02329.488,E,102711,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,204.82,T,204.82,M,6.05,N,,,D*67\r\n$IIMWV,287,T,04.89,N,A*2D\r\n$IIVWT,073,L,04.89,N,02.52,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102712,,,,00,*4F\r\n$IIDBT,066.79,f,020.36,M,011.00,F*28\r\n$GPGLL,6002.402,N,02329.485,E,102713,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,204.88,T,204.88,M,6.01,N,,,D*63\r\n$IIMWV,329,R,09.13,N,A*20\r\n$IIVWT,073,L,04.85,N,02.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102714,,,,00,*49\r\n$IIDBT,067.74,f,020.65,M,011.16,F*25\r\n$GPGLL,6002.399,N,02329.483,E,102715,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,204.97,T,204.97,M,6.03,N,,,D*61\r\n$IIMWV,287,T,04.41,N,A*29\r\n$IIVWT,073,L,04.41,N,02.27,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102717,,,,00,*4A\r\n$IIDBT,069.28,f,021.12,M,011.41,F*21\r\n$GPGLL,6002.395,N,02329.480,E,102717,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,204.49,T,204.49,M,6.01,N,,,D*63\r\n$IIMWV,328,R,08.55,N,A*22\r\n$IIVWT,079,L,04.58,N,02.36,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102719,,,,00,*44\r\n$IIDBT,071.22,f,021.71,M,011.73,F*26\r\n$GPGLL,6002.392,N,02329.477,E,102719,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,204.27,T,204.27,M,6.00,N,,,D*62\r\n$IIMWV,289,T,04.04,N,A*26\r\n$IIVWT,071,L,04.04,N,02.08,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102721,,,,00,*4F\r\n$IIDBT,073.22,f,022.32,M,012.06,F*21\r\n$GPGLL,6002.389,N,02329.474,E,102721,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,203.94,T,203.94,M,6.08,N,,,D*6A\r\n$IIMWV,333,R,08.55,N,A*28\r\n$IIVWT,071,L,04.06,N,02.09,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102723,,,,00,*4D\r\n$IIDBT,074.47,f,022.70,M,012.26,F*21\r\n$GPGLL,6002.386,N,02329.472,E,102723,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,203.61,T,203.61,M,6.09,N,,,D*6B\r\n$IIMWV,282,T,03.94,N,A*23\r\n$IIVWT,078,L,03.94,N,02.03,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102725,,,,00,*4B\r\n$IIDBT,077.03,f,023.48,M,012.69,F*23\r\n$GPGLL,6002.383,N,02329.469,E,102725,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,203.98,T,203.98,M,6.10,N,,,D*63\r\n$IIMWV,334,R,08.55,N,A*2F\r\n$IIVWT,070,L,04.00,N,02.06,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102727,,,,00,*49\r\n$IIDBT,077.95,f,023.76,M,012.84,F*22\r\n$GPGLL,6002.380,N,02329.466,E,102727,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.11,N,,*03\r\n$IIVTG,204.19,T,204.19,M,6.10,N,,,D*63\r\n$IIMWV,285,T,04.37,N,A*2A\r\n$IIVWT,075,L,04.37,N,02.25,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102729,,,,00,*47\r\n$IIDBT,079.32,f,024.18,M,013.06,F*25\r\n$GPGLL,6002.377,N,02329.464,E,102729,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,203.70,T,203.70,M,6.10,N,,,D*63\r\n$IIMWV,326,R,08.55,N,A*2C\r\n$IIVWT,081,L,04.80,N,02.47,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102731,,,,00,*4E\r\n$IIDBT,080.64,f,024.58,M,013.28,F*28\r\n$GPGLL,6002.374,N,02329.461,E,102731,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,203.30,T,203.30,M,6.10,N,,,D*63\r\n$IIMWV,291,T,04.10,N,A*2A\r\n$IIVWT,069,L,04.10,N,02.11,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102733,,,,00,*4C\r\n$IIDBT,081.92,f,024.97,M,013.49,F*24\r\n$GPGLL,6002.371,N,02329.458,E,102733,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,0.94,N,,*0C\r\n$IIVTG,202.90,T,202.90,M,6.10,N,,,D*63\r\n$IIMWV,325,R,08.74,N,A*2C\r\n$IIVWT,081,L,05.05,N,02.60,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102735,,,,00,*4A\r\n$IIDBT,082.67,f,025.20,M,013.62,F*29\r\n$GPGLL,6002.368,N,02329.456,E,102735,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,202.60,T,202.60,M,6.10,N,,,D*63\r\n$IIMWV,283,T,04.76,N,A*29\r\n$IIVWT,078,L,04.76,N,02.45,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102737,,,,00,*48\r\n$IIDBT,083.33,f,025.40,M,013.72,F*2E\r\n$GPGLL,6002.364,N,02329.453,E,102737,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,202.45,T,202.45,M,6.10,N,,,D*63\r\n$IIMWV,333,R,08.55,N,A*28\r\n$IIVWT,072,L,04.10,N,02.11,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102739,,,,00,*46\r\n$IIDBT,084.08,f,025.63,M,013.85,F*28\r\n$GPGLL,6002.360,N,02329.449,E,102739,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,202.37,T,202.37,M,6.10,N,,,D*63\r\n$IIMWV,288,T,04.50,N,A*26\r\n$IIVWT,073,L,04.50,N,02.32,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102741,,,,00,*49\r\n$IIDBT,084.34,f,025.71,M,013.89,F*28\r\n$GPGLL,6002.357,N,02329.447,E,102741,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,202.40,T,202.40,M,6.10,N,,,D*63\r\n$IIMWV,329,R,08.74,N,A*20\r\n$IIVWT,076,L,04.70,N,02.42,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102743,,,,00,*4B\r\n$IIDBT,085.00,f,025.91,M,014.00,F*26\r\n$GPGLL,6002.354,N,02329.444,E,102743,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,202.55,T,202.55,M,6.10,N,,,D*63\r\n$IIMWV,284,T,04.64,N,A*2D\r\n$IIVWT,076,L,04.64,N,02.39,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102745,,,,00,*4D\r\n$IIDBT,085.52,f,026.07,M,014.09,F*24\r\n$GPGLL,6002.350,N,02329.442,E,102745,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,202.84,T,202.84,M,6.10,N,,,D*63\r\n$IIMWV,330,R,08.74,N,A*28\r\n$IIVWT,074,L,04.58,N,02.36,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102747,,,,00,*4F\r\n$IIDBT,085.92,f,026.19,M,014.15,F*2A\r\n$GPGLL,6002.347,N,02329.439,E,102748,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,203.24,T,203.24,M,6.10,N,,,D*63\r\n$IIMWV,278,T,04.84,N,A*20\r\n$IIVWT,082,L,04.84,N,02.49,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102749,,,,00,*41\r\n$IIDBT,086.41,f,026.34,M,014.23,F*2D\r\n$GPGLL,6002.344,N,02329.436,E,102750,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,203.81,T,203.81,M,6.10,N,,,D*63\r\n$IIMWV,333,R,08.55,N,A*28\r\n$IIVWT,070,L,04.10,N,02.11,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102751,,,,00,*48\r\n$IIDBT,086.61,f,026.40,M,014.26,F*29\r\n$GPGLL,6002.341,N,02329.434,E,102752,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.63,N,01.87,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,204.63,T,204.63,M,6.10,N,,,D*63\r\n$IIMWV,285,T,03.82,N,A*23\r\n$IIVWT,075,L,03.82,N,01.97,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102753,,,,00,*4A\r\n$IIDBT,087.07,f,026.54,M,014.34,F*2E\r\n$GPGLL,6002.338,N,02329.431,E,102754,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,205.48,T,205.48,M,6.10,N,,,D*63\r\n$IIMWV,330,R,07.77,N,A*24\r\n$IIVWT,085,L,03.94,N,02.03,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102755,,,,00,*4C\r\n$IIDBT,087.43,f,026.65,M,014.40,F*2F\r\n$GPGLL,6002.335,N,02329.428,E,102756,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.44,N,,*01\r\n$IIVTG,206.15,T,206.15,M,6.10,N,,,D*63\r\n$IIMWV,271,T,04.23,N,A*24\r\n$IIVWT,089,L,04.23,N,02.18,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102757,,,,00,*4E\r\n$IIDBT,087.59,f,026.70,M,014.43,F*23\r\n$GPGLL,6002.332,N,02329.425,E,102758,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.55,N,,*01\r\n$IIVTG,207.01,T,207.01,M,6.10,N,,,D*63\r\n$IIMWV,325,R,08.16,N,A*28\r\n$IIVWT,086,L,04.66,N,02.40,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102800,,,,00,*43\r\n$IIDBT,087.85,f,026.78,M,014.47,F*2E\r\n$GPGLL,6002.329,N,02329.421,E,102800,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,207.91,T,207.91,M,6.05,N,,,D*67\r\n$IIMWV,277,T,04.41,N,A*26\r\n$IIVWT,083,L,04.41,N,02.27,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102802,,,,00,*41\r\n$IIDBT,088.18,f,026.88,M,014.52,F*2E\r\n$GPGLL,6002.326,N,02329.418,E,102802,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.43,N,,*06\r\n$IIVTG,209.20,T,209.20,M,6.06,N,,,D*64\r\n$IIMWV,322,R,08.16,N,A*2F\r\n$IIVWT,089,L,05.03,N,02.59,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102804,,,,00,*47\r\n$IIDBT,088.54,f,026.99,M,014.58,F*2C\r\n$GPGLL,6002.323,N,02329.415,E,102804,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.35,N,,*07\r\n$IIVTG,210.50,T,210.50,M,6.09,N,,,D*6B\r\n$IIMWV,275,T,04.74,N,A*22\r\n$IIVWT,085,L,04.74,N,02.44,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102806,,,,00,*45\r\n$IIDBT,088.64,f,027.02,M,014.60,F*27\r\n$GPGLL,6002.321,N,02329.411,E,102806,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.35,N,,*07\r\n$IIVTG,212.12,T,212.12,M,6.10,N,,,D*63\r\n$IIMWV,323,R,08.16,N,A*2E\r\n$IIVWT,089,L,04.87,N,02.51,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102808,,,,00,*4B\r\n$IIDBT,089.17,f,027.18,M,014.69,F*20\r\n$GPGLL,6002.318,N,02329.407,E,102808,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,0.20,N,,*03\r\n$IIVTG,213.90,T,213.90,M,6.10,N,,,D*63\r\n$IIMWV,273,T,04.64,N,A*25\r\n$IIVWT,087,L,04.64,N,02.39,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102810,,,,00,*42\r\n$IIDBT,089.10,f,027.16,M,014.68,F*28\r\n$GPGLL,6002.315,N,02329.403,E,102810,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,216.33,T,216.33,M,6.15,N,,,D*66\r\n$IIMWV,325,R,08.55,N,A*2F\r\n$IIVWT,083,L,04.97,N,02.56,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102812,,,,00,*40\r\n$IIDBT,089.10,f,027.16,M,014.68,F*28\r\n$GPGLL,6002.312,N,02329.400,E,102812,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,213.08,T,213.08,M,6.19,N,,,D*6A\r\n$IIMWV,280,T,05.03,N,A*29\r\n$IIVWT,080,L,05.03,N,02.59,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102814,,,,00,*46\r\n$IIDBT,089.23,f,027.20,M,014.70,F*24\r\n$GPGLL,6002.309,N,02329.397,E,102814,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,208.39,T,208.39,M,6.12,N,,,D*61\r\n$IIMWV,328,R,09.13,N,A*21\r\n$IIVWT,074,L,05.07,N,02.61,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102816,,,,00,*44\r\n$IIDBT,089.26,f,027.21,M,014.70,F*20\r\n$GPGLL,6002.306,N,02329.394,E,102816,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,206.70,T,206.70,M,6.06,N,,,D*64\r\n$IIMWV,277,T,05.05,N,A*27\r\n$IIVWT,083,L,05.05,N,02.60,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102818,,,,00,*4A\r\n$IIDBT,089.17,f,027.18,M,014.69,F*20\r\n$GPGLL,6002.303,N,02329.391,E,102818,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,206.63,T,206.63,M,6.01,N,,,D*63\r\n$IIMWV,329,R,08.55,N,A*23\r\n$IIVWT,079,L,04.50,N,02.32,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102820,,,,00,*41\r\n$IIDBT,089.17,f,027.18,M,014.69,F*20\r\n$GPGLL,6002.299,N,02329.385,E,102820,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,211.16,T,211.16,M,6.05,N,,,D*67\r\n$IIMWV,288,T,04.35,N,A*25\r\n$IIVWT,072,L,04.35,N,02.24,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102822,,,,00,*43\r\n$IIDBT,089.23,f,027.20,M,014.70,F*24\r\n$GPGLL,6002.296,N,02329.381,E,102822,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,213.65,T,213.65,M,6.09,N,,,D*6B\r\n$IIMWV,332,R,08.16,N,A*2E\r\n$IIVWT,078,L,03.90,N,02.01,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102824,,,,00,*45\r\n$IIDBT,089.07,f,027.15,M,014.67,F*22\r\n$GPGLL,6002.293,N,02329.378,E,102824,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,209.83,T,209.83,M,6.10,N,,,D*63\r\n$IIMWV,283,T,04.80,N,A*20\r\n$IIVWT,077,L,04.80,N,02.47,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102826,,,,00,*47\r\n$IIDBT,089.00,f,027.13,M,014.66,F*22\r\n$GPGLL,6002.290,N,02329.375,E,102826,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.11,N,,*03\r\n$IIVTG,206.58,T,206.58,M,6.10,N,,,D*63\r\n$IIMWV,330,R,09.13,N,A*28\r\n$IIVWT,071,L,04.85,N,02.50,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102828,,,,00,*49\r\n$IIDBT,088.84,f,027.08,M,014.63,F*20\r\n$GPGLL,6002.287,N,02329.372,E,102828,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,205.49,T,205.49,M,6.10,N,,,D*63\r\n$IIMWV,282,T,04.87,N,A*26\r\n$IIVWT,078,L,04.87,N,02.51,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102830,,,,00,*40\r\n$IIDBT,088.71,f,027.04,M,014.61,F*24\r\n$GPGLL,6002.284,N,02329.370,E,102831,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,205.00,T,205.00,M,6.10,N,,,D*63\r\n$IIMWV,326,R,08.74,N,A*2F\r\n$IIVWT,079,L,04.93,N,02.54,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102832,,,,00,*42\r\n$IIDBT,088.71,f,027.04,M,014.61,F*24\r\n$GPGLL,6002.281,N,02329.366,E,102833,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.48,N,,*0C\r\n$IIVTG,206.40,T,206.40,M,6.10,N,,,D*63\r\n$IIMWV,282,T,05.32,N,A*29\r\n$IIVWT,078,L,05.32,N,02.74,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102834,,,,00,*44\r\n$IIDBT,088.67,f,027.03,M,014.61,F*24\r\n$GPGLL,6002.278,N,02329.363,E,102835,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,206.68,T,206.68,M,6.10,N,,,D*63\r\n$IIMWV,326,R,08.55,N,A*2C\r\n$IIVWT,082,L,04.87,N,02.51,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102836,,,,00,*46\r\n$IIDBT,088.58,f,027.00,M,014.59,F*20\r\n$GPGLL,6002.275,N,02329.361,E,102837,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,206.17,T,206.17,M,6.10,N,,,D*63\r\n$IIMWV,289,T,05.36,N,A*26\r\n$IIVWT,071,L,05.36,N,02.76,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102838,,,,00,*48\r\n$IIDBT,088.28,f,026.91,M,014.54,F*23\r\n$GPGLL,6002.272,N,02329.358,E,102839,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,205.42,T,205.42,M,6.10,N,,,D*63\r\n$IIMWV,330,R,09.13,N,A*28\r\n$IIVWT,072,L,04.85,N,02.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102841,,,,00,*46\r\n$IIDBT,088.31,f,026.92,M,014.55,F*29\r\n$GPGLL,6002.269,N,02329.355,E,102841,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,205.38,T,205.38,M,6.10,N,,,D*63\r\n$IIMWV,290,T,04.17,N,A*2C\r\n$IIVWT,070,L,04.17,N,02.15,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102843,,,,00,*44\r\n$IIDBT,088.12,f,026.86,M,014.51,F*29\r\n$GPGLL,6002.266,N,02329.352,E,102843,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,205.54,T,205.54,M,6.10,N,,,D*63\r\n$IIMWV,328,R,08.55,N,A*22\r\n$IIVWT,078,L,04.62,N,02.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102845,,,,00,*42\r\n$IIDBT,088.02,f,026.83,M,014.50,F*2C\r\n$GPGLL,6002.263,N,02329.349,E,102845,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,205.14,T,205.14,M,6.10,N,,,D*63\r\n$IIMWV,285,T,05.63,N,A*2A\r\n$IIVWT,075,L,05.63,N,02.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102847,,,,00,*40\r\n$IIDBT,087.95,f,026.81,M,014.49,F*27\r\n$GPGLL,6002.260,N,02329.346,E,102847,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,204.96,T,204.96,M,6.10,N,,,D*63\r\n$IIMWV,327,R,09.71,N,A*2A\r\n$IIVWT,070,L,05.65,N,02.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102849,,,,00,*4E\r\n$IIDBT,087.79,f,026.76,M,014.46,F*22\r\n$GPGLL,6002.257,N,02329.343,E,102849,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,205.71,T,205.71,M,6.10,N,,,D*63\r\n$IIMWV,287,T,05.40,N,A*29\r\n$IIVWT,073,L,05.40,N,02.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102851,,,,00,*47\r\n$IIDBT,087.66,f,026.72,M,014.44,F*2A\r\n$GPGLL,6002.254,N,02329.340,E,102851,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,206.10,T,206.10,M,6.05,N,,,D*67\r\n$IIMWV,329,R,08.74,N,A*20\r\n$IIVWT,077,L,04.68,N,02.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102853,,,,00,*45\r\n$IIDBT,087.59,f,026.70,M,014.43,F*23\r\n$GPGLL,6002.251,N,02329.337,E,102853,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,206.32,T,206.32,M,6.01,N,,,D*63\r\n$IIMWV,289,T,04.91,N,A*2A\r\n$IIVWT,071,L,04.91,N,02.53,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102855,,,,00,*43\r\n$IIDBT,087.53,f,026.68,M,014.42,F*21\r\n$GPGLL,6002.248,N,02329.334,E,102855,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.22,N,,*03\r\n$IIVTG,206.58,T,206.58,M,6.05,N,,,D*67\r\n$IIMWV,333,R,09.13,N,A*2B\r\n$IIVWT,068,L,04.56,N,02.35,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102857,,,,00,*41\r\n$IIDBT,087.43,f,026.65,M,014.40,F*2F\r\n$GPGLL,6002.245,N,02329.331,E,102857,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,207.62,T,207.62,M,6.09,N,,,D*6B\r\n$IIMWV,288,T,04.89,N,A*22\r\n$IIVWT,072,L,04.89,N,02.52,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102859,,,,00,*4F\r\n$IIDBT,087.39,f,026.64,M,014.39,F*2D\r\n$GPGLL,6002.242,N,02329.328,E,102859,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,208.55,T,208.55,M,6.10,N,,,D*63\r\n$IIMWV,328,R,08.55,N,A*22\r\n$IIVWT,078,L,04.58,N,02.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102901,,,,00,*43\r\n$IIDBT,087.26,f,026.60,M,014.37,F*29\r\n$GPGLL,6002.239,N,02329.325,E,102901,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,209.33,T,209.33,M,6.10,N,,,D*63\r\n$IIMWV,288,T,04.39,N,A*29\r\n$IIVWT,072,L,04.39,N,02.26,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102903,,,,00,*41\r\n$IIDBT,087.16,f,026.57,M,014.36,F*2F\r\n$GPGLL,6002.234,N,02329.320,E,102903,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.78,N,,*0F\r\n$IIVTG,208.71,T,208.71,M,6.10,N,,,D*63\r\n$IIMWV,327,R,09.13,N,A*2E\r\n$IIVWT,076,L,05.15,N,02.65,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102905,,,,00,*47\r\n$IIDBT,087.16,f,026.57,M,014.36,F*2F\r\n$GPGLL,6002.231,N,02329.317,E,102905,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,206.76,T,206.76,M,6.10,N,,,D*63\r\n$IIMWV,288,T,05.26,N,A*26\r\n$IIVWT,072,L,05.26,N,02.71,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102907,,,,00,*45\r\n$IIDBT,087.07,f,026.54,M,014.34,F*2E\r\n$GPGLL,6002.228,N,02329.314,E,102907,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,2.20,N,,*01\r\n$IIVTG,205.29,T,205.29,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,057,L,04.45,N,02.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102909,,,,00,*4B\r\n$IIDBT,087.00,f,026.52,M,014.33,F*28\r\n$GPGLL,6002.225,N,02329.311,E,102909,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,204.42,T,204.42,M,6.10,N,,,D*63\r\n$IIMWV,297,T,04.70,N,A*2A\r\n$IIVWT,063,L,04.70,N,02.42,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102911,,,,00,*42\r\n$IIDBT,087.00,f,026.52,M,014.33,F*28\r\n$GPGLL,6002.222,N,02329.309,E,102911,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.92,N,,*08\r\n$IIVTG,203.95,T,203.95,M,6.10,N,,,D*63\r\n$IIMWV,334,R,08.74,N,A*2C\r\n$IIVWT,069,L,04.12,N,02.12,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102913,,,,00,*40\r\n$IIDBT,086.90,f,026.49,M,014.31,F*28\r\n$GPGLL,6002.219,N,02329.306,E,102914,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.78,N,,*0F\r\n$IIVTG,203.67,T,203.67,M,6.10,N,,,D*63\r\n$IIMWV,285,T,04.35,N,A*28\r\n$IIVWT,075,L,04.35,N,02.24,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102915,,,,00,*46\r\n$IIDBT,086.87,f,026.48,M,014.31,F*2F\r\n$GPGLL,6002.216,N,02329.303,E,102916,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,203.54,T,203.54,M,6.10,N,,,D*63\r\n$IIMWV,331,R,08.74,N,A*29\r\n$IIVWT,073,L,04.50,N,02.32,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102917,,,,00,*44\r\n$IIDBT,086.97,f,026.51,M,014.32,F*25\r\n$GPGLL,6002.213,N,02329.301,E,102918,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,203.86,T,203.86,M,6.10,N,,,D*63\r\n$IIMWV,290,T,04.23,N,A*2B\r\n$IIVWT,070,L,04.23,N,02.18,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102919,,,,00,*4A\r\n$IIDBT,086.94,f,026.50,M,014.32,F*27\r\n$GPGLL,6002.210,N,02329.298,E,102920,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,204.07,T,204.07,M,6.10,N,,,D*63\r\n$IIMWV,335,R,08.55,N,A*2E\r\n$IIVWT,068,L,03.88,N,02.00,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102921,,,,00,*41\r\n$IIDBT,086.97,f,026.51,M,014.32,F*25\r\n$GPGLL,6002.207,N,02329.295,E,102922,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,204.07,T,204.07,M,6.10,N,,,D*63\r\n$IIMWV,285,T,04.21,N,A*2D\r\n$IIVWT,075,L,04.21,N,02.17,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102924,,,,00,*44\r\n$IIDBT,086.94,f,026.50,M,014.32,F*27\r\n$GPGLL,6002.204,N,02329.293,E,102924,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,203.94,T,203.94,M,6.10,N,,,D*63\r\n$IIMWV,328,R,08.55,N,A*22\r\n$IIVWT,078,L,04.58,N,02.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102926,,,,00,*46\r\n$IIDBT,086.87,f,026.48,M,014.31,F*2F\r\n$GPGLL,6002.201,N,02329.290,E,102926,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,203.81,T,203.81,M,6.10,N,,,D*63\r\n$IIMWV,290,T,03.96,N,A*22\r\n$IIVWT,070,L,03.96,N,02.04,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102928,,,,00,*48\r\n$IIDBT,086.77,f,026.45,M,014.29,F*24\r\n$GPGLL,6002.197,N,02329.287,E,102928,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,203.56,T,203.56,M,6.10,N,,,D*63\r\n$IIMWV,330,R,08.55,N,A*2B\r\n$IIVWT,077,L,04.43,N,02.28,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102930,,,,00,*41\r\n$IIDBT,086.84,f,026.47,M,014.30,F*22\r\n$GPGLL,6002.194,N,02329.285,E,102930,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,203.71,T,203.71,M,6.10,N,,,D*63\r\n$IIMWV,290,T,04.19,N,A*22\r\n$IIVWT,070,L,04.19,N,02.16,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102932,,,,00,*43\r\n$IIDBT,086.97,f,026.51,M,014.32,F*25\r\n$GPGLL,6002.191,N,02329.282,E,102932,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.80,N,,*0B\r\n$IIVTG,204.38,T,204.38,M,6.10,N,,,D*63\r\n$IIMWV,328,R,09.13,N,A*21\r\n$IIVWT,073,L,05.01,N,02.58,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102934,,,,00,*45\r\n$IIDBT,087.07,f,026.54,M,014.34,F*2E\r\n$GPGLL,6002.188,N,02329.279,E,102934,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,204.59,T,204.59,M,6.10,N,,,D*63\r\n$IIMWV,278,T,04.29,N,A*27\r\n$IIVWT,083,L,04.29,N,02.21,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102936,,,,00,*47\r\n$IIDBT,086.94,f,026.50,M,014.32,F*27\r\n$GPGLL,6002.185,N,02329.276,E,102936,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,204.25,T,204.25,M,6.02,N,,,D*60\r\n$IIMWV,328,R,08.55,N,A*22\r\n$IIVWT,078,L,04.58,N,02.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102938,,,,00,*49\r\n$IIDBT,086.97,f,026.51,M,014.32,F*25\r\n$GPGLL,6002.182,N,02329.274,E,102938,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,203.69,T,203.69,M,6.01,N,,,D*63\r\n$IIMWV,279,T,04.23,N,A*2C\r\n$IIVWT,081,L,04.23,N,02.18,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102940,,,,00,*46\r\n$IIDBT,087.07,f,026.54,M,014.34,F*2E\r\n$GPGLL,6002.179,N,02329.271,E,102940,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,203.80,T,203.80,M,6.08,N,,,D*6A\r\n$IIMWV,332,R,07.77,N,A*26\r\n$IIVWT,082,L,03.75,N,01.93,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102942,,,,00,*44\r\n$IIDBT,087.20,f,026.58,M,014.36,F*25\r\n$GPGLL,6002.176,N,02329.268,E,102942,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,203.97,T,203.97,M,6.09,N,,,D*6B\r\n$IIMWV,277,T,04.39,N,A*29\r\n$IIVWT,083,L,04.39,N,02.26,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102944,,,,00,*42\r\n$IIDBT,087.20,f,026.58,M,014.36,F*25\r\n$GPGLL,6002.173,N,02329.265,E,102944,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,204.79,T,204.79,M,6.10,N,,,D*63\r\n$IIMWV,327,R,08.16,N,A*2A\r\n$IIVWT,084,L,04.45,N,02.29,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102946,,,,00,*40\r\n$IIDBT,087.23,f,026.59,M,014.37,F*26\r\n$GPGLL,6002.168,N,02329.261,E,102946,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,205.40,T,205.40,M,6.10,N,,,D*63\r\n$IIMWV,277,T,05.01,N,A*23\r\n$IIVWT,084,L,05.01,N,02.58,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102948,,,,00,*4E\r\n$IIDBT,087.33,f,026.62,M,014.38,F*20\r\n$GPGLL,6002.165,N,02329.258,E,102948,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,205.15,T,205.15,M,6.10,N,,,D*63\r\n$IIMWV,323,R,08.55,N,A*29\r\n$IIVWT,086,L,05.19,N,02.67,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102950,,,,00,*47\r\n$IIDBT,087.26,f,026.60,M,014.37,F*29\r\n$GPGLL,6002.162,N,02329.255,E,102950,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,205.11,T,205.11,M,6.10,N,,,D*63\r\n$IIMWV,273,T,05.20,N,A*24\r\n$IIVWT,087,L,05.20,N,02.68,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102952,,,,00,*45\r\n$IIDBT,087.26,f,026.60,M,014.37,F*29\r\n$GPGLL,6002.159,N,02329.252,E,102952,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,205.43,T,205.43,M,6.10,N,,,D*63\r\n$IIMWV,324,R,08.55,N,A*2E\r\n$IIVWT,083,L,05.05,N,02.60,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102954,,,,00,*43\r\n$IIDBT,087.36,f,026.63,M,014.39,F*25\r\n$GPGLL,6002.156,N,02329.249,E,102955,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,205.86,T,205.86,M,6.10,N,,,D*63\r\n$IIMWV,281,T,04.97,N,A*24\r\n$IIVWT,079,L,04.97,N,02.56,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102956,,,,00,*41\r\n$IIDBT,087.39,f,026.64,M,014.39,F*2D\r\n$GPGLL,6002.153,N,02329.246,E,102957,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,206.14,T,206.14,M,6.10,N,,,D*63\r\n$IIMWV,324,R,08.55,N,A*2E\r\n$IIVWT,084,L,05.01,N,02.58,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,102958,,,,00,*4F\r\n$IIDBT,087.49,f,026.67,M,014.41,F*26\r\n$GPGLL,6002.150,N,02329.243,E,102959,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,206.33,T,206.33,M,6.10,N,,,D*63\r\n$IIMWV,280,T,05.01,N,A*2B\r\n$IIVWT,080,L,05.01,N,02.58,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103000,,,,00,*4A\r\n$IIDBT,087.59,f,026.70,M,014.43,F*23\r\n$GPGLL,6002.147,N,02329.240,E,103001,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,206.38,T,206.38,M,6.10,N,,,D*63\r\n$IIMWV,326,R,08.74,N,A*2F\r\n$IIVWT,080,L,04.95,N,02.55,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103002,,,,00,*48\r\n$IIDBT,087.62,f,026.71,M,014.43,F*2A\r\n$GPGLL,6002.144,N,02329.237,E,103003,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,206.32,T,206.32,M,6.10,N,,,D*63\r\n$IIMWV,277,T,05.30,N,A*21\r\n$IIVWT,083,L,05.30,N,02.73,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103004,,,,00,*4E\r\n$IIDBT,087.72,f,026.74,M,014.45,F*28\r\n$GPGLL,6002.141,N,02329.234,E,103005,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,206.05,T,206.05,M,6.10,N,,,D*63\r\n$IIMWV,325,R,08.55,N,A*2F\r\n$IIVWT,083,L,04.97,N,02.56,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103007,,,,00,*4D\r\n$IIDBT,087.82,f,026.77,M,014.46,F*27\r\n$GPGLL,6002.138,N,02329.231,E,103007,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,206.87,T,206.87,M,6.10,N,,,D*63\r\n$IIMWV,276,T,05.03,N,A*20\r\n$IIVWT,084,L,05.03,N,02.59,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103009,,,,00,*43\r\n$IIDBT,087.85,f,026.78,M,014.47,F*2E\r\n$GPGLL,6002.135,N,02329.228,E,103009,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,207.64,T,207.64,M,6.10,N,,,D*63\r\n$IIMWV,323,R,08.55,N,A*29\r\n$IIVWT,084,L,05.20,N,02.68,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103011,,,,00,*4A\r\n$IIDBT,088.02,f,026.83,M,014.50,F*2C\r\n$GPGLL,6002.132,N,02329.225,E,103011,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,208.51,T,208.51,M,6.10,N,,,D*63\r\n$IIMWV,270,T,05.07,N,A*22\r\n$IIVWT,090,L,05.07,N,02.61,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103013,,,,00,*48\r\n$IIDBT,088.12,f,026.86,M,014.51,F*29\r\n$GPGLL,6002.129,N,02329.222,E,103013,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.80,N,02.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-0.44,N,,*2C\r\n$IIVTG,208.85,T,208.85,M,6.17,N,,,D*64\r\n$IIMWV,322,R,07.77,N,A*27\r\n$IIVWT,093,L,04.78,N,02.46,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103015,,,,00,*4E\r\n$IIDBT,088.18,f,026.88,M,014.52,F*2E\r\n$GPGLL,6002.126,N,02329.218,E,103015,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,0.11,N,,*01\r\n$IIVTG,208.91,T,208.91,M,6.14,N,,,D*67\r\n$IIMWV,271,T,04.45,N,A*24\r\n$IIVWT,089,L,04.45,N,02.29,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103017,,,,00,*4C\r\n$IIDBT,088.31,f,026.92,M,014.55,F*29\r\n$GPGLL,6002.123,N,02329.215,E,103017,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,209.08,T,209.08,M,6.11,N,,,D*62\r\n$IIMWV,328,R,08.16,N,A*25\r\n$IIVWT,082,L,04.43,N,02.28,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103019,,,,00,*42\r\n$IIDBT,088.48,f,026.97,M,014.57,F*20\r\n$GPGLL,6002.120,N,02329.212,E,103019,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,209.62,T,209.62,M,6.10,N,,,D*63\r\n$IIMWV,276,T,05.05,N,A*26\r\n$IIVWT,084,L,05.05,N,02.60,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103021,,,,00,*49\r\n$IIDBT,088.54,f,026.99,M,014.58,F*2C\r\n$GPGLL,6002.117,N,02329.208,E,103021,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,210.13,T,210.13,M,6.10,N,,,D*63\r\n$IIMWV,326,R,08.74,N,A*2F\r\n$IIVWT,080,L,05.01,N,02.58,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103023,,,,00,*4B\r\n$IIDBT,088.67,f,027.03,M,014.61,F*24\r\n$GPGLL,6002.114,N,02329.205,E,103023,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,210.83,T,210.83,M,6.10,N,,,D*63\r\n$IIMWV,283,T,04.68,N,A*26\r\n$IIVWT,077,L,04.68,N,02.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103025,,,,00,*4D\r\n$IIDBT,088.74,f,027.05,M,014.62,F*23\r\n$GPGLL,6002.111,N,02329.201,E,103025,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,211.23,T,211.23,M,6.10,N,,,D*63\r\n$IIMWV,329,R,08.74,N,A*20\r\n$IIVWT,075,L,04.66,N,02.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103027,,,,00,*4F\r\n$IIDBT,088.90,f,027.10,M,014.64,F*2B\r\n$GPGLL,6002.108,N,02329.198,E,103027,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,211.86,T,211.86,M,6.10,N,,,D*63\r\n$IIMWV,287,T,04.99,N,A*2C\r\n$IIVWT,073,L,04.99,N,02.57,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103029,,,,00,*41\r\n$IIDBT,088.97,f,027.12,M,014.65,F*2F\r\n$GPGLL,6002.104,N,02329.192,E,103029,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,212.72,T,212.72,M,6.10,N,,,D*63\r\n$IIMWV,329,R,09.13,N,A*20\r\n$IIVWT,072,L,04.89,N,02.52,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103031,,,,00,*48\r\n$IIDBT,089.10,f,027.16,M,014.68,F*28\r\n$GPGLL,6002.101,N,02329.188,E,103031,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,213.63,T,213.63,M,6.10,N,,,D*63\r\n$IIMWV,288,T,04.43,N,A*24\r\n$IIVWT,072,L,04.43,N,02.28,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103033,,,,00,*4A\r\n$IIDBT,089.23,f,027.20,M,014.70,F*24\r\n$GPGLL,6002.098,N,02329.184,E,103033,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.64,N,,*01\r\n$IIVTG,215.31,T,215.31,M,6.15,N,,,D*66\r\n$IIMWV,331,R,09.52,N,A*2C\r\n$IIVWT,068,L,04.95,N,02.55,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103035,,,,00,*4C\r\n$IIDBT,089.36,f,027.24,M,014.72,F*26\r\n$GPGLL,6002.096,N,02329.181,E,103035,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,2.61,N,,*04\r\n$IIVTG,214.25,T,214.25,M,6.19,N,,,D*6A\r\n$IIMWV,293,T,05.22,N,A*28\r\n$IIVWT,067,L,05.22,N,02.69,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103037,,,,00,*4E\r\n$IIDBT,089.46,f,027.27,M,014.74,F*24\r\n$GPGLL,6002.093,N,02329.177,E,103038,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,210.64,T,210.64,M,6.20,N,,,D*60\r\n$IIMWV,333,R,09.71,N,A*2F\r\n$IIVWT,063,L,04.99,N,02.57,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103039,,,,00,*40\r\n$IIDBT,089.59,f,027.31,M,014.76,F*2F\r\n$GPGLL,6002.089,N,02329.174,E,103040,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,3.30,N,,*01\r\n$IIVTG,207.14,T,207.14,M,6.20,N,,,D*60\r\n$IIMWV,300,T,04.85,N,A*2F\r\n$IIVWT,061,L,04.85,N,02.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103041,,,,00,*4F\r\n$IIDBT,089.72,f,027.35,M,014.78,F*2C\r\n$GPGLL,6002.086,N,02329.171,E,103042,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,3.12,N,,*01\r\n$IIVTG,204.96,T,204.96,M,6.20,N,,,D*60\r\n$IIMWV,333,R,09.52,N,A*2E\r\n$IIVWT,062,L,04.84,N,02.49,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103043,,,,00,*4D\r\n$IIDBT,089.86,f,027.39,M,014.80,F*2C\r\n$GPGLL,6002.083,N,02329.169,E,103044,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.55,N,,*03\r\n$IIVTG,204.06,T,204.06,M,6.12,N,,,D*61\r\n$IIMWV,295,T,04.99,N,A*2F\r\n$IIVWT,065,L,04.99,N,02.57,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103045,,,,00,*4B\r\n$IIDBT,089.95,f,027.42,M,014.82,F*20\r\n$GPGLL,6002.080,N,02329.166,E,103046,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.06,N,,*04\r\n$IIVTG,204.36,T,204.36,M,6.11,N,,,D*62\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,061,L,04.10,N,02.11,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103047,,,,00,*49\r\n$IIDBT,090.05,f,027.45,M,014.83,F*27\r\n$GPGLL,6002.077,N,02329.163,E,103048,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,3.34,N,,*05\r\n$IIVTG,204.66,T,204.66,M,6.10,N,,,D*63\r\n$IIMWV,303,T,04.06,N,A*27\r\n$IIVWT,057,L,04.06,N,02.09,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103050,,,,00,*4F\r\n$IIDBT,090.15,f,027.48,M,014.85,F*2D\r\n$GPGLL,6002.074,N,02329.161,E,103050,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.41,N,,*07\r\n$IIVTG,203.64,T,203.64,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,061,L,04.17,N,02.15,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103052,,,,00,*4D\r\n$IIDBT,090.28,f,027.52,M,014.87,F*2A\r\n$GPGLL,6002.071,N,02329.158,E,103052,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.00,N,,*02\r\n$IIVTG,203.51,T,203.51,M,6.10,N,,,D*63\r\n$IIMWV,296,T,04.35,N,A*2A\r\n$IIVWT,064,L,04.35,N,02.24,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103054,,,,00,*4B\r\n$IIDBT,090.38,f,027.55,M,014.89,F*22\r\n$GPGLL,6002.068,N,02329.155,E,103054,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.97,N,,*0D\r\n$IIVTG,204.03,T,204.03,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,061,L,04.14,N,02.13,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103056,,,,00,*49\r\n$IIDBT,090.45,f,027.57,M,014.90,F*22\r\n$GPGLL,6002.065,N,02329.153,E,103056,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.31,N,,*00\r\n$IIVTG,204.73,T,204.73,M,6.10,N,,,D*63\r\n$IIMWV,295,T,04.43,N,A*28\r\n$IIVWT,065,L,04.43,N,02.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103058,,,,00,*47\r\n$IIDBT,090.54,f,027.60,M,014.91,F*27\r\n$GPGLL,6002.062,N,02329.150,E,103058,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.28,N,,*08\r\n$IIVTG,205.03,T,205.03,M,6.10,N,,,D*63\r\n$IIMWV,334,R,09.52,N,A*29\r\n$IIVWT,061,L,04.72,N,02.43,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103100,,,,00,*4B\r\n$IIDBT,090.64,f,027.63,M,014.93,F*25\r\n$GPGLL,6002.058,N,02329.147,E,103100,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.17,N,02.66,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.84,N,,*0F\r\n$IIVTG,204.56,T,204.56,M,6.10,N,,,D*63\r\n$IIMWV,296,T,04.99,N,A*2C\r\n$IIVWT,064,L,04.99,N,02.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103102,,,,00,*49\r\n$IIDBT,090.74,f,027.66,M,014.95,F*27\r\n$GPGLL,6002.055,N,02329.144,E,103102,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,204.69,T,204.69,M,6.10,N,,,D*63\r\n$IIMWV,340,R,09.71,N,A*2B\r\n$IIVWT,050,L,04.35,N,02.24,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103104,,,,00,*4F\r\n$IIDBT,090.77,f,027.67,M,014.95,F*25\r\n$GPGLL,6002.052,N,02329.142,E,103104,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.37,N,,*06\r\n$IIVTG,205.04,T,205.04,M,6.10,N,,,D*63\r\n$IIMWV,298,T,04.70,N,A*25\r\n$IIVWT,062,L,04.70,N,02.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103106,,,,00,*4D\r\n$IIDBT,090.84,f,027.69,M,014.96,F*24\r\n$GPGLL,6002.049,N,02329.139,E,103106,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.91,N,,*0B\r\n$IIVTG,205.46,T,205.46,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,057,L,04.45,N,02.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103108,,,,00,*43\r\n$IIDBT,090.87,f,027.70,M,014.97,F*2E\r\n$GPGLL,6002.046,N,02329.136,E,103108,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,205.86,T,205.86,M,6.10,N,,,D*63\r\n$IIMWV,298,T,04.21,N,A*21\r\n$IIVWT,062,L,04.21,N,02.17,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103110,,,,00,*4A\r\n$IIDBT,090.94,f,027.72,M,014.98,F*21\r\n$GPGLL,6002.043,N,02329.133,E,103110,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.24,N,,*04\r\n$IIVTG,205.99,T,205.99,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,057,L,04.45,N,02.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103112,,,,00,*48\r\n$IIDBT,091.00,f,027.74,M,014.99,F*2A\r\n$GPGLL,6002.039,N,02329.128,E,103112,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.61,N,,*05\r\n$IIVTG,205.99,T,205.99,M,6.10,N,,,D*63\r\n$IIMWV,306,T,04.33,N,A*24\r\n$IIVWT,054,L,04.33,N,02.23,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103114,,,,00,*4E\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6002.036,N,02329.125,E,103114,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.72,N,,*07\r\n$IIVTG,206.17,T,206.17,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,056,L,04.41,N,02.27,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103116,,,,00,*4C\r\n$IIDBT,091.10,f,027.77,M,015.01,F*28\r\n$GPGLL,6002.033,N,02329.122,E,103116,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.03,N,,*06\r\n$IIVTG,206.12,T,206.12,M,6.10,N,,,D*63\r\n$IIMWV,309,T,04.19,N,A*23\r\n$IIVWT,051,L,04.19,N,02.16,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103118,,,,00,*42\r\n$IIDBT,091.10,f,027.77,M,015.01,F*28\r\n$GPGLL,6002.029,N,02329.119,E,103118,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.64,N,,*00\r\n$IIVTG,206.08,T,206.08,M,6.10,N,,,D*63\r\n$IIMWV,335,R,09.71,N,A*29\r\n$IIVWT,058,L,04.82,N,02.48,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103120,,,,00,*49\r\n$IIDBT,091.17,f,027.79,M,015.02,F*22\r\n$GPGLL,6002.026,N,02329.117,E,103120,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,205.99,T,205.99,M,6.10,N,,,D*63\r\n$IIMWV,311,T,04.76,N,A*23\r\n$IIVWT,049,L,04.76,N,02.45,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103122,,,,00,*4B\r\n$IIDBT,091.20,f,027.80,M,015.02,F*20\r\n$GPGLL,6002.023,N,02329.114,E,103123,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.09,N,,*0C\r\n$IIVTG,205.68,T,205.68,M,6.10,N,,,D*63\r\n$IIMWV,339,R,10.10,N,A*2A\r\n$IIVWT,049,L,04.80,N,02.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103124,,,,00,*4D\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6002.020,N,02329.111,E,103125,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,205.29,T,205.29,M,6.10,N,,,D*63\r\n$IIMWV,309,T,04.43,N,A*2C\r\n$IIVWT,051,L,04.43,N,02.28,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103126,,,,00,*4F\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6002.017,N,02329.108,E,103127,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,205.32,T,205.32,M,6.10,N,,,D*63\r\n$IIMWV,335,R,10.10,N,A*26\r\n$IIVWT,056,L,05.13,N,02.64,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103128,,,,00,*41\r\n$IIDBT,091.27,f,027.82,M,015.03,F*24\r\n$GPGLL,6002.014,N,02329.105,E,103129,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.19,N,,*0A\r\n$IIVTG,205.58,T,205.58,M,6.10,N,,,D*63\r\n$IIMWV,299,T,04.66,N,A*23\r\n$IIVWT,061,L,04.66,N,02.40,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103130,,,,00,*48\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6002.011,N,02329.102,E,103131,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.37,N,,*06\r\n$IIVTG,205.70,T,205.70,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,057,L,04.43,N,02.28,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103133,,,,00,*4B\r\n$IIDBT,091.30,f,027.83,M,015.04,F*24\r\n$GPGLL,6002.008,N,02329.099,E,103133,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.39,N,,*08\r\n$IIVTG,205.95,T,205.95,M,6.10,N,,,D*63\r\n$IIMWV,298,T,04.17,N,A*24\r\n$IIVWT,062,L,04.17,N,02.15,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103135,,,,00,*4D\r\n$IIDBT,091.27,f,027.82,M,015.03,F*24\r\n$GPGLL,6002.005,N,02329.096,E,103135,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.13,N,,*00\r\n$IIVTG,206.51,T,206.51,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,059,L,04.14,N,02.13,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103137,,,,00,*4F\r\n$IIDBT,091.27,f,027.82,M,015.03,F*24\r\n$GPGLL,6002.002,N,02329.093,E,103137,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.21,N,,*01\r\n$IIVTG,207.08,T,207.08,M,6.10,N,,,D*63\r\n$IIMWV,299,T,04.31,N,A*21\r\n$IIVWT,061,L,04.31,N,02.22,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103139,,,,00,*41\r\n$IIDBT,091.27,f,027.82,M,015.03,F*24\r\n$GPGLL,6001.999,N,02329.090,E,103139,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,207.39,T,207.39,M,6.10,N,,,D*63\r\n$IIMWV,338,R,09.52,N,A*25\r\n$IIVWT,055,L,04.39,N,02.26,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103141,,,,00,*4E\r\n$IIDBT,091.27,f,027.82,M,015.03,F*24\r\n$GPGLL,6001.996,N,02329.087,E,103141,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.12,N,,*01\r\n$IIVTG,207.47,T,207.47,M,6.10,N,,,D*63\r\n$IIMWV,300,T,04.60,N,A*24\r\n$IIVWT,060,L,04.60,N,02.37,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103143,,,,00,*4C\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6001.993,N,02329.083,E,103143,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.21,N,,*01\r\n$IIVTG,207.49,T,207.49,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.52,N,A*2A\r\n$IIVWT,058,L,04.43,N,02.28,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103145,,,,00,*4A\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6001.990,N,02329.080,E,103145,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.22,N,,*02\r\n$IIVTG,207.90,T,207.90,M,6.10,N,,,D*63\r\n$IIMWV,301,T,04.58,N,A*2E\r\n$IIVWT,059,L,04.58,N,02.36,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103147,,,,00,*48\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6001.987,N,02329.077,E,103147,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.81,N,,*0A\r\n$IIVTG,208.32,T,208.32,M,6.10,N,,,D*63\r\n$IIMWV,334,R,09.13,N,A*2C\r\n$IIVWT,065,L,04.41,N,02.27,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103149,,,,00,*46\r\n$IIDBT,091.20,f,027.80,M,015.02,F*20\r\n$GPGLL,6001.984,N,02329.074,E,103149,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.92,N,,*08\r\n$IIVTG,208.48,T,208.48,M,6.10,N,,,D*63\r\n$IIMWV,300,T,03.59,N,A*29\r\n$IIVWT,060,L,03.59,N,01.85,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103151,,,,00,*4F\r\n$IIDBT,091.20,f,027.80,M,015.02,F*20\r\n$GPGLL,6001.981,N,02329.070,E,103151,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.63,N,,*06\r\n$IIVTG,208.87,T,208.87,M,6.15,N,,,D*66\r\n$IIMWV,335,R,09.13,N,A*2D\r\n$IIVWT,063,L,04.35,N,02.24,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103153,,,,00,*4D\r\n$IIDBT,091.13,f,027.78,M,015.01,F*24\r\n$GPGLL,6001.978,N,02329.067,E,103153,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.86,N,,*0D\r\n$IIVTG,207.89,T,207.89,M,6.19,N,,,D*6A\r\n$IIMWV,297,T,04.17,N,A*2B\r\n$IIVWT,064,L,04.17,N,02.15,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103155,,,,00,*4B\r\n$IIDBT,091.13,f,027.78,M,015.01,F*24\r\n$GPGLL,6001.973,N,02329.063,E,103155,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.93,N,,*09\r\n$IIVTG,206.30,T,206.30,M,6.12,N,,,D*61\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,062,L,04.10,N,02.11,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103157,,,,00,*49\r\n$IIDBT,091.17,f,027.79,M,015.02,F*22\r\n$GPGLL,6001.970,N,02329.060,E,103157,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,205.40,T,205.40,M,6.11,N,,,D*62\r\n$IIMWV,302,T,04.06,N,A*26\r\n$IIVWT,058,L,04.06,N,02.09,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103159,,,,00,*47\r\n$IIDBT,091.10,f,027.77,M,015.01,F*28\r\n$GPGLL,6001.967,N,02329.057,E,103159,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.50,N,,*07\r\n$IIVTG,204.95,T,204.95,M,6.10,N,,,D*63\r\n$IIMWV,340,R,09.13,N,A*2F\r\n$IIVWT,055,L,03.88,N,02.00,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103201,,,,00,*49\r\n$IIDBT,091.13,f,027.78,M,015.01,F*24\r\n$GPGLL,6001.964,N,02329.054,E,103201,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.50,N,,*07\r\n$IIVTG,204.57,T,204.57,M,6.10,N,,,D*63\r\n$IIMWV,303,T,04.08,N,A*29\r\n$IIVWT,057,L,04.08,N,02.10,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103203,,,,00,*4B\r\n$IIDBT,091.13,f,027.78,M,015.01,F*24\r\n$GPGLL,6001.961,N,02329.051,E,103204,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,204.64,T,204.64,M,6.10,N,,,D*63\r\n$IIMWV,337,R,09.13,N,A*2F\r\n$IIVWT,061,L,04.12,N,02.12,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103205,,,,00,*4D\r\n$IIDBT,091.10,f,027.77,M,015.01,F*28\r\n$GPGLL,6001.958,N,02329.048,E,103206,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,205.09,T,205.09,M,6.10,N,,,D*63\r\n$IIMWV,305,T,04.29,N,A*2C\r\n$IIVWT,055,L,04.29,N,02.21,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103207,,,,00,*4F\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6001.955,N,02329.046,E,103208,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,3.78,N,,*0D\r\n$IIVTG,204.82,T,204.82,M,6.10,N,,,D*63\r\n$IIMWV,339,R,09.52,N,A*24\r\n$IIVWT,054,L,04.17,N,02.15,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103209,,,,00,*41\r\n$IIDBT,091.04,f,027.75,M,014.99,F*2F\r\n$GPGLL,6001.952,N,02329.043,E,103210,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,3.92,N,,*09\r\n$IIVTG,204.08,T,204.08,M,6.10,N,,,D*63\r\n$IIMWV,308,T,04.45,N,A*2B\r\n$IIVWT,052,L,04.45,N,02.29,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103211,,,,00,*48\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6001.948,N,02329.040,E,103212,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,3.57,N,,*00\r\n$IIVTG,203.37,T,203.37,M,6.10,N,,,D*63\r\n$IIMWV,339,R,09.71,N,A*25\r\n$IIVWT,052,L,04.52,N,02.33,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103213,,,,00,*4A\r\n$IIDBT,091.04,f,027.75,M,014.99,F*2F\r\n$GPGLL,6001.945,N,02329.038,E,103214,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,202.64,T,202.64,M,6.10,N,,,D*63\r\n$IIMWV,301,T,04.62,N,A*27\r\n$IIVWT,059,L,04.62,N,02.38,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103216,,,,00,*4F\r\n$IIDBT,090.97,f,027.73,M,014.98,F*23\r\n$GPGLL,6001.942,N,02329.035,E,103216,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.44,N,,*02\r\n$IIVTG,202.21,T,202.21,M,6.10,N,,,D*63\r\n$IIMWV,338,R,09.71,N,A*24\r\n$IIVWT,055,L,04.56,N,02.35,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103218,,,,00,*41\r\n$IIDBT,091.04,f,027.75,M,014.99,F*2F\r\n$GPGLL,6001.939,N,02329.033,E,103218,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.11,N,,*05\r\n$IIVTG,201.48,T,201.48,M,6.10,N,,,D*63\r\n$IIMWV,304,T,05.48,N,A*2B\r\n$IIVWT,056,L,05.48,N,02.82,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103220,,,,00,*4A\r\n$IIDBT,091.04,f,027.75,M,014.99,F*2F\r\n$GPGLL,6001.936,N,02329.030,E,103220,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.42,N,,*04\r\n$IIVTG,200.90,T,200.90,M,6.10,N,,,D*63\r\n$IIMWV,331,R,10.88,N,A*23\r\n$IIVWT,059,L,06.16,N,03.17,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103222,,,,00,*48\r\n$IIDBT,091.04,f,027.75,M,014.99,F*2F\r\n$GPGLL,6001.933,N,02329.028,E,103222,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.04,N,03.11,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,200.33,T,200.33,M,6.10,N,,,D*63\r\n$IIMWV,295,T,06.10,N,A*2C\r\n$IIVWT,065,L,06.10,N,03.14,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103224,,,,00,*4E\r\n$IIDBT,091.10,f,027.77,M,015.01,F*28\r\n$GPGLL,6001.930,N,02329.026,E,103224,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.57,N,,*01\r\n$IIVTG,200.03,T,200.03,M,6.10,N,,,D*63\r\n$IIMWV,328,R,10.49,N,A*26\r\n$IIVWT,065,L,06.10,N,03.14,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103226,,,,00,*4C\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6001.926,N,02329.023,E,103226,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.60,N,,*05\r\n$IIVTG,199.96,T,199.96,M,6.10,N,,,D*63\r\n$IIMWV,297,T,05.55,N,A*2C\r\n$IIVWT,063,L,05.55,N,02.86,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103228,,,,00,*42\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6001.923,N,02329.021,E,103228,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.17,N,02.66,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.53,N,,*05\r\n$IIVTG,200.24,T,200.24,M,6.10,N,,,D*63\r\n$IIMWV,329,R,10.10,N,A*2B\r\n$IIVWT,067,L,05.71,N,02.94,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103230,,,,00,*4B\r\n$IIDBT,091.07,f,027.76,M,015.00,F*2E\r\n$GPGLL,6001.920,N,02329.019,E,103230,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,200.44,T,200.44,M,6.10,N,,,D*63\r\n$IIMWV,301,T,05.67,N,A*23\r\n$IIVWT,059,L,05.67,N,02.92,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103232,,,,00,*49\r\n$IIDBT,091.17,f,027.79,M,015.02,F*22\r\n$GPGLL,6001.917,N,02329.016,E,103232,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.69,N,,*0C\r\n$IIVTG,200.39,T,200.39,M,6.10,N,,,D*63\r\n$IIMWV,335,R,10.10,N,A*26\r\n$IIVWT,057,L,05.17,N,02.66,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103234,,,,00,*4F\r\n$IIDBT,091.17,f,027.79,M,015.02,F*22\r\n$GPGLL,6001.914,N,02329.014,E,103234,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.58,N,,*0E\r\n$IIVTG,200.40,T,200.40,M,6.10,N,,,D*63\r\n$IIMWV,293,T,06.20,N,A*29\r\n$IIVWT,067,L,06.20,N,03.19,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103236,,,,00,*4D\r\n$IIDBT,091.20,f,027.80,M,015.02,F*20\r\n$GPGLL,6001.909,N,02329.010,E,103236,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.22,N,03.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.37,N,,*07\r\n$IIVTG,200.83,T,200.83,M,6.10,N,,,D*63\r\n$IIMWV,328,R,10.10,N,A*2A\r\n$IIVWT,067,L,05.81,N,02.99,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103238,,,,00,*43\r\n$IIDBT,091.20,f,027.80,M,015.02,F*20\r\n$GPGLL,6001.906,N,02329.008,E,103238,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,201.55,T,201.55,M,6.03,N,,,D*61\r\n$IIMWV,292,T,05.38,N,A*22\r\n$IIVWT,068,L,05.38,N,02.77,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103240,,,,00,*4C\r\n$IIDBT,091.30,f,027.83,M,015.04,F*24\r\n$GPGLL,6001.903,N,02329.005,E,103240,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.59,N,,*0E\r\n$IIVTG,201.96,T,201.96,M,6.06,N,,,D*64\r\n$IIMWV,330,R,09.13,N,A*28\r\n$IIVWT,071,L,04.87,N,02.51,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103242,,,,00,*4E\r\n$IIDBT,091.30,f,027.83,M,015.04,F*24\r\n$GPGLL,6001.900,N,02329.003,E,103242,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,202.21,T,202.21,M,6.04,N,,,D*66\r\n$IIMWV,288,T,04.95,N,A*2F\r\n$IIVWT,073,L,04.95,N,02.55,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103244,,,,00,*48\r\n$IIDBT,091.36,f,027.85,M,015.05,F*25\r\n$GPGLL,6001.897,N,02329.000,E,103244,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.42,N,,*04\r\n$IIVTG,202.65,T,202.65,M,6.08,N,,,D*6A\r\n$IIMWV,333,R,09.52,N,A*2E\r\n$IIVWT,064,L,04.89,N,02.52,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103246,,,,00,*4A\r\n$IIDBT,091.36,f,027.85,M,015.05,F*25\r\n$GPGLL,6001.894,N,02328.997,E,103247,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.48,N,,*0E\r\n$IIVTG,203.76,T,203.76,M,6.10,N,,,D*63\r\n$IIMWV,302,T,04.47,N,A*23\r\n$IIVWT,058,L,04.47,N,02.30,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103248,,,,00,*44\r\n$IIDBT,091.53,f,027.90,M,015.08,F*2F\r\n$GPGLL,6001.890,N,02328.995,E,103249,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.85,N,,*0E\r\n$IIVTG,204.02,T,204.02,M,6.10,N,,,D*63\r\n$IIMWV,335,R,09.13,N,A*2D\r\n$IIVWT,063,L,04.31,N,02.22,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103250,,,,00,*4D\r\n$IIDBT,091.56,f,027.91,M,015.08,F*2B\r\n$GPGLL,6001.887,N,02328.992,E,103251,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.33,N,,*02\r\n$IIVTG,204.13,T,204.13,M,6.10,N,,,D*63\r\n$IIMWV,302,T,03.65,N,A*24\r\n$IIVWT,058,L,03.65,N,01.88,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103252,,,,00,*4F\r\n$IIDBT,091.63,f,027.93,M,015.09,F*2E\r\n$GPGLL,6001.884,N,02328.989,E,103253,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.83,N,,*09\r\n$IIVTG,203.91,T,203.91,M,6.10,N,,,D*63\r\n$IIMWV,339,R,08.74,N,A*21\r\n$IIVWT,059,L,03.65,N,01.88,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103254,,,,00,*49\r\n$IIDBT,091.73,f,027.96,M,015.11,F*23\r\n$GPGLL,6001.881,N,02328.987,E,103255,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.79,N,,*0D\r\n$IIVTG,203.80,T,203.80,M,6.10,N,,,D*63\r\n$IIMWV,295,T,03.69,N,A*27\r\n$IIVWT,065,L,03.69,N,01.90,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103256,,,,00,*4B\r\n$IIDBT,091.79,f,027.98,M,015.12,F*24\r\n$GPGLL,6001.878,N,02328.984,E,103257,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,203.70,T,203.70,M,6.10,N,,,D*63\r\n$IIMWV,340,R,08.55,N,A*2C\r\n$IIVWT,061,L,03.40,N,01.75,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103259,,,,00,*44\r\n$IIDBT,091.89,f,028.01,M,015.14,F*22\r\n$GPGLL,6001.875,N,02328.981,E,103259,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,203.18,T,203.18,M,6.05,N,,,D*67\r\n$IIMWV,316,T,02.95,N,A*2F\r\n$IIVWT,044,L,02.95,N,01.52,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103301,,,,00,*48\r\n$IIDBT,091.95,f,028.03,M,015.15,F*2C\r\n$GPGLL,6001.872,N,02328.979,E,103301,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,202.71,T,202.71,M,6.01,N,,,D*63\r\n$IIMWV,348,R,08.74,N,A*27\r\n$IIVWT,041,L,02.87,N,01.48,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103303,,,,00,*4A\r\n$IIDBT,092.05,f,028.06,M,015.16,F*20\r\n$GPGLL,6001.869,N,02328.976,E,103303,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,203.38,T,203.38,M,6.05,N,,,D*67\r\n$IIMWV,309,T,03.26,N,A*28\r\n$IIVWT,051,L,03.26,N,01.68,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103305,,,,00,*4C\r\n$IIDBT,092.18,f,028.10,M,015.18,F*25\r\n$GPGLL,6001.866,N,02328.973,E,103305,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,3.73,N,,*06\r\n$IIVTG,203.47,T,203.47,M,6.09,N,,,D*6B\r\n$IIMWV,342,R,09.52,N,A*28\r\n$IIVWT,048,L,03.94,N,02.03,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103307,,,,00,*4E\r\n$IIDBT,092.25,f,028.12,M,015.19,F*28\r\n$GPGLL,6001.863,N,02328.971,E,103307,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,203.31,T,203.31,M,6.10,N,,,D*63\r\n$IIMWV,323,T,03.61,N,A*23\r\n$IIVWT,037,L,03.61,N,01.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103309,,,,00,*40\r\n$IIDBT,092.38,f,028.16,M,015.22,F*28\r\n$GPGLL,6001.860,N,02328.968,E,103309,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,203.63,T,203.63,M,6.10,N,,,D*63\r\n$IIMWV,346,R,09.52,N,A*2C\r\n$IIVWT,037,L,03.73,N,01.92,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103311,,,,00,*49\r\n$IIDBT,092.45,f,028.18,M,015.23,F*2D\r\n$GPGLL,6001.857,N,02328.965,E,103311,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,203.48,T,203.48,M,6.10,N,,,D*63\r\n$IIMWV,316,T,03.42,N,A*24\r\n$IIVWT,044,L,03.42,N,01.76,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103313,,,,00,*4B\r\n$IIDBT,092.55,f,028.21,M,015.24,F*21\r\n$GPGLL,6001.853,N,02328.963,E,103313,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,203.64,T,203.64,M,6.10,N,,,D*63\r\n$IIMWV,347,R,09.13,N,A*28\r\n$IIVWT,038,L,03.28,N,01.69,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103315,,,,00,*4D\r\n$IIDBT,092.68,f,028.25,M,015.26,F*29\r\n$GPGLL,6001.850,N,02328.960,E,103315,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,203.48,T,203.48,M,6.10,N,,,D*63\r\n$IIMWV,329,T,03.11,N,A*2E\r\n$IIVWT,031,L,03.11,N,01.60,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103317,,,,00,*4F\r\n$IIDBT,092.81,f,028.29,M,015.29,F*2D\r\n$GPGLL,6001.847,N,02328.957,E,103317,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,203.05,T,203.05,M,6.10,N,,,D*63\r\n$IIMWV,351,R,08.74,N,A*2F\r\n$IIVWT,031,L,02.70,N,01.39,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103319,,,,00,*41\r\n$IIDBT,092.84,f,028.30,M,015.29,F*20\r\n$GPGLL,6001.842,N,02328.954,E,103319,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,202.53,T,202.53,M,6.10,N,,,D*63\r\n$IIMWV,324,T,03.22,N,A*23\r\n$IIVWT,036,L,03.22,N,01.66,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103321,,,,00,*4A\r\n$IIDBT,092.97,f,028.34,M,015.31,F*2F\r\n$GPGLL,6001.839,N,02328.951,E,103321,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,201.06,T,201.06,M,6.10,N,,,D*63\r\n$IIMWV,350,R,08.74,N,A*2E\r\n$IIVWT,036,L,02.72,N,01.40,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103323,,,,00,*48\r\n$IIDBT,093.00,f,028.35,M,015.32,F*22\r\n$GPGLL,6001.836,N,02328.949,E,103323,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,200.76,T,200.76,M,6.10,N,,,D*63\r\n$IIMWV,314,T,03.16,N,A*27\r\n$IIVWT,046,L,03.16,N,01.63,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103325,,,,00,*4E\r\n$IIDBT,093.10,f,028.38,M,015.34,F*28\r\n$GPGLL,6001.833,N,02328.947,E,103325,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,200.46,T,200.46,M,6.10,N,,,D*63\r\n$IIMWV,349,R,08.55,N,A*25\r\n$IIVWT,039,L,02.68,N,01.38,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103327,,,,00,*4C\r\n$IIDBT,093.17,f,028.40,M,015.35,F*21\r\n$GPGLL,6001.830,N,02328.944,E,103327,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,200.26,T,200.26,M,6.10,N,,,D*63\r\n$IIMWV,316,T,03.11,N,A*22\r\n$IIVWT,044,L,03.11,N,01.60,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103329,,,,00,*42\r\n$IIDBT,093.27,f,028.43,M,015.36,F*22\r\n$GPGLL,6001.827,N,02328.942,E,103330,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.14,N,01.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.03,N,,*06\r\n$IIVTG,200.36,T,200.36,M,6.10,N,,,D*63\r\n$IIMWV,345,R,08.74,N,A*2A\r\n$IIVWT,047,L,03.11,N,01.60,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103331,,,,00,*4B\r\n$IIDBT,093.33,f,028.45,M,015.37,F*20\r\n$GPGLL,6001.824,N,02328.940,E,103332,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,200.22,T,200.22,M,6.10,N,,,D*63\r\n$IIMWV,327,T,03.57,N,A*22\r\n$IIVWT,033,L,03.57,N,01.84,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103333,,,,00,*49\r\n$IIDBT,093.43,f,028.48,M,015.39,F*24\r\n$GPGLL,6001.820,N,02328.937,E,103334,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,199.93,T,199.93,M,6.10,N,,,D*63\r\n$IIMWV,346,R,09.52,N,A*2C\r\n$IIVWT,039,L,03.69,N,01.90,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103335,,,,00,*4F\r\n$IIDBT,093.50,f,028.50,M,015.40,F*21\r\n$GPGLL,6001.817,N,02328.935,E,103336,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.71,N,01.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,200.11,T,200.11,M,6.10,N,,,D*63\r\n$IIMWV,328,T,03.51,N,A*2B\r\n$IIVWT,032,L,03.51,N,01.81,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103337,,,,00,*4D\r\n$IIDBT,093.56,f,028.52,M,015.41,F*24\r\n$GPGLL,6001.814,N,02328.933,E,103338,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,200.20,T,200.20,M,6.10,N,,,D*63\r\n$IIMWV,348,R,09.13,N,A*27\r\n$IIVWT,035,L,03.26,N,01.68,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103339,,,,00,*43\r\n$IIDBT,093.69,f,028.56,M,015.43,F*2E\r\n$GPGLL,6001.811,N,02328.930,E,103340,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,200.28,T,200.28,M,6.10,N,,,D*63\r\n$IIMWV,342,T,03.22,N,A*23\r\n$IIVWT,018,L,03.22,N,01.66,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103342,,,,00,*4F\r\n$IIDBT,093.73,f,028.57,M,015.44,F*23\r\n$GPGLL,6001.808,N,02328.928,E,103342,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,200.45,T,200.45,M,6.10,N,,,D*63\r\n$IIMWV,354,R,09.52,N,A*2F\r\n$IIVWT,017,L,03.26,N,01.68,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103344,,,,00,*49\r\n$IIDBT,093.76,f,028.58,M,015.44,F*29\r\n$GPGLL,6001.805,N,02328.926,E,103344,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,200.39,T,200.39,M,6.10,N,,,D*63\r\n$IIMWV,340,T,03.59,N,A*2D\r\n$IIVWT,020,L,03.59,N,01.85,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103346,,,,00,*4B\r\n$IIDBT,093.89,f,028.62,M,015.46,F*22\r\n$GPGLL,6001.801,N,02328.923,E,103346,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,200.40,T,200.40,M,6.10,N,,,D*63\r\n$IIMWV,353,R,09.71,N,A*29\r\n$IIVWT,021,L,03.53,N,01.82,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103348,,,,00,*45\r\n$IIDBT,094.02,f,028.66,M,015.49,F*2D\r\n$GPGLL,6001.798,N,02328.921,E,103348,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,200.75,T,200.75,M,6.10,N,,,D*63\r\n$IIMWV,339,T,03.88,N,A*2F\r\n$IIVWT,021,L,03.88,N,02.00,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103350,,,,00,*4C\r\n$IIDBT,094.05,f,028.67,M,015.49,F*2B\r\n$GPGLL,6001.795,N,02328.918,E,103350,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,200.84,T,200.84,M,6.10,N,,,D*63\r\n$IIMWV,353,R,10.10,N,A*26\r\n$IIVWT,018,L,03.92,N,02.02,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103352,,,,00,*4E\r\n$IIDBT,094.15,f,028.70,M,015.51,F*25\r\n$GPGLL,6001.792,N,02328.916,E,103352,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,200.63,T,200.63,M,6.10,N,,,D*63\r\n$IIMWV,344,T,03.80,N,A*2D\r\n$IIVWT,016,L,03.80,N,01.96,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103354,,,,00,*48\r\n$IIDBT,094.22,f,028.72,M,015.52,F*20\r\n$GPGLL,6001.789,N,02328.914,E,103354,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,200.86,T,200.86,M,6.10,N,,,D*63\r\n$IIMWV,351,R,10.88,N,A*25\r\n$IIVWT,020,L,04.72,N,02.43,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103356,,,,00,*4A\r\n$IIDBT,094.32,f,028.75,M,015.54,F*20\r\n$GPGLL,6001.786,N,02328.911,E,103356,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,201.24,T,201.24,M,6.10,N,,,D*63\r\n$IIMWV,340,T,04.68,N,A*28\r\n$IIVWT,020,L,04.68,N,02.41,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103358,,,,00,*44\r\n$IIDBT,094.38,f,028.77,M,015.55,F*29\r\n$GPGLL,6001.783,N,02328.909,E,103358,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,202.01,T,202.01,M,6.02,N,,,D*60\r\n$IIMWV,350,R,10.88,N,A*24\r\n$IIVWT,022,L,04.76,N,02.45,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103400,,,,00,*4E\r\n$IIDBT,094.42,f,028.78,M,015.55,F*2B\r\n$GPGLL,6001.780,N,02328.906,E,103400,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,202.80,T,202.80,M,6.01,N,,,D*63\r\n$IIMWV,347,T,04.15,N,A*25\r\n$IIVWT,013,L,04.15,N,02.14,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103402,,,,00,*4C\r\n$IIDBT,094.58,f,028.83,M,015.58,F*29\r\n$GPGLL,6001.775,N,02328.902,E,103402,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,203.06,T,203.06,M,6.00,N,,,D*62\r\n$IIMWV,353,R,10.88,N,A*27\r\n$IIVWT,017,L,04.64,N,02.39,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103404,,,,00,*4A\r\n$IIDBT,094.71,f,028.87,M,015.60,F*2D\r\n$GPGLL,6001.772,N,02328.900,E,103404,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,203.44,T,203.44,M,6.00,N,,,D*62\r\n$IIMWV,340,T,04.97,N,A*28\r\n$IIVWT,020,L,04.97,N,02.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103406,,,,00,*48\r\n$IIDBT,094.74,f,028.88,M,015.61,F*26\r\n$GPGLL,6001.769,N,02328.897,E,103406,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,203.18,T,203.18,M,6.00,N,,,D*62\r\n$IIMWV,348,R,10.88,N,A*2D\r\n$IIVWT,028,L,04.89,N,02.52,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103408,,,,00,*46\r\n$IIDBT,094.84,f,028.91,M,015.62,F*22\r\n$GPGLL,6001.766,N,02328.894,E,103408,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,202.50,T,202.50,M,6.00,N,,,D*62\r\n$IIMWV,338,T,05.01,N,A*29\r\n$IIVWT,022,L,05.01,N,02.58,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103410,,,,00,*4F\r\n$IIDBT,094.87,f,028.92,M,015.63,F*23\r\n$GPGLL,6001.763,N,02328.892,E,103410,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,202.28,T,202.28,M,6.00,N,,,D*62\r\n$IIMWV,351,R,10.88,N,A*25\r\n$IIVWT,022,L,04.68,N,02.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103412,,,,00,*4D\r\n$IIDBT,094.97,f,028.95,M,015.64,F*22\r\n$GPGLL,6001.760,N,02328.889,E,103413,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,201.94,T,201.94,M,6.00,N,,,D*62\r\n$IIMWV,338,T,04.74,N,A*2A\r\n$IIVWT,022,L,04.74,N,02.44,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103414,,,,00,*4B\r\n$IIDBT,095.07,f,028.98,M,015.66,F*25\r\n$GPGLL,6001.756,N,02328.887,E,103415,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,202.01,T,202.01,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.46,N,A*24\r\n$IIVWT,016,L,05.24,N,02.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103416,,,,00,*49\r\n$IIDBT,095.14,f,029.00,M,015.67,F*26\r\n$GPGLL,6001.753,N,02328.884,E,103417,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,202.10,T,202.10,M,6.00,N,,,D*62\r\n$IIMWV,347,T,05.63,N,A*25\r\n$IIVWT,013,L,05.63,N,02.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103418,,,,00,*47\r\n$IIDBT,095.20,f,029.02,M,015.68,F*2C\r\n$GPGLL,6001.750,N,02328.882,E,103419,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,202.05,T,202.05,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.85,N,A*2C\r\n$IIVWT,012,L,05.73,N,02.95,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103420,,,,00,*4C\r\n$IIDBT,095.33,f,029.06,M,015.70,F*23\r\n$GPGLL,6001.747,N,02328.879,E,103421,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,202.06,T,202.06,M,6.00,N,,,D*62\r\n$IIMWV,349,T,05.75,N,A*2C\r\n$IIVWT,011,L,05.75,N,02.96,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103423,,,,00,*4F\r\n$IIDBT,095.43,f,029.09,M,015.72,F*29\r\n$GPGLL,6001.744,N,02328.877,E,103423,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,202.04,T,202.04,M,6.00,N,,,D*62\r\n$IIMWV,355,R,12.05,N,A*26\r\n$IIVWT,010,L,05.75,N,02.96,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103425,,,,00,*49\r\n$IIDBT,095.50,f,029.11,M,015.73,F*23\r\n$GPGLL,6001.741,N,02328.874,E,103425,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,202.13,T,202.13,M,6.00,N,,,D*62\r\n$IIMWV,347,T,05.24,N,A*26\r\n$IIVWT,013,L,05.24,N,02.70,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103427,,,,00,*4B\r\n$IIDBT,095.60,f,029.14,M,015.75,F*23\r\n$GPGLL,6001.738,N,02328.872,E,103427,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,202.21,T,202.21,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,014,L,05.30,N,02.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103429,,,,00,*45\r\n$IIDBT,095.66,f,029.16,M,015.76,F*24\r\n$GPGLL,6001.735,N,02328.869,E,103429,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,202.28,T,202.28,M,6.00,N,,,D*62\r\n$IIMWV,347,T,05.63,N,A*25\r\n$IIVWT,013,L,05.63,N,02.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103431,,,,00,*4C\r\n$IIDBT,095.79,f,029.20,M,015.78,F*21\r\n$GPGLL,6001.732,N,02328.867,E,103431,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,201.89,T,201.89,M,6.00,N,,,D*62\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,019,L,06.27,N,03.23,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103433,,,,00,*4E\r\n$IIDBT,095.83,f,029.21,M,015.78,F*25\r\n$GPGLL,6001.729,N,02328.865,E,103433,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,201.25,T,201.25,M,6.00,N,,,D*62\r\n$IIMWV,323,T,06.20,N,A*23\r\n$IIVWT,037,L,06.20,N,03.19,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103435,,,,00,*48\r\n$IIDBT,095.92,f,029.24,M,015.80,F*27\r\n$GPGLL,6001.726,N,02328.862,E,103435,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.94,N,,*08\r\n$IIVTG,200.49,T,200.49,M,6.00,N,,,D*62\r\n$IIMWV,345,R,12.05,N,A*27\r\n$IIVWT,030,L,06.20,N,03.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103437,,,,00,*4A\r\n$IIDBT,095.99,f,029.26,M,015.81,F*2F\r\n$GPGLL,6001.722,N,02328.860,E,103437,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,199.52,T,199.52,M,6.00,N,,,D*62\r\n$IIMWV,331,T,06.58,N,A*2F\r\n$IIVWT,029,L,06.58,N,03.39,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103439,,,,00,*44\r\n$IIDBT,096.12,f,029.30,M,015.83,F*2A\r\n$GPGLL,6001.719,N,02328.858,E,103439,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,199.46,T,199.46,M,5.95,N,,,D*6D\r\n$IIMWV,352,R,11.85,N,A*2A\r\n$IIVWT,018,L,05.79,N,02.98,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103441,,,,00,*4B\r\n$IIDBT,096.19,f,029.32,M,015.84,F*24\r\n$GPGLL,6001.716,N,02328.856,E,103441,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,199.81,T,199.81,M,5.91,N,,,D*69\r\n$IIMWV,336,T,04.99,N,A*27\r\n$IIVWT,024,L,04.99,N,02.57,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103443,,,,00,*49\r\n$IIDBT,096.29,f,029.35,M,015.86,F*22\r\n$GPGLL,6001.713,N,02328.853,E,103443,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,200.25,T,200.25,M,5.95,N,,,D*6D\r\n$IIMWV,352,R,10.49,N,A*2B\r\n$IIVWT,019,L,04.37,N,02.25,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103445,,,,00,*4F\r\n$IIDBT,096.38,f,029.38,M,015.88,F*21\r\n$GPGLL,6001.708,N,02328.850,E,103445,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,201.18,T,201.18,M,5.99,N,,,D*61\r\n$IIMWV,339,T,04.33,N,A*28\r\n$IIVWT,021,L,04.33,N,02.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103447,,,,00,*4D\r\n$IIDBT,096.48,f,029.41,M,015.89,F*29\r\n$GPGLL,6001.705,N,02328.847,E,103447,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,201.87,T,201.87,M,6.00,N,,,D*62\r\n$IIMWV,351,R,11.07,N,A*23\r\n$IIVWT,021,L,04.97,N,02.56,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103449,,,,00,*43\r\n$IIDBT,096.61,f,029.45,M,015.91,F*2F\r\n$GPGLL,6001.702,N,02328.845,E,103449,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,202.39,T,202.39,M,6.00,N,,,D*62\r\n$IIMWV,346,T,04.25,N,A*27\r\n$IIVWT,014,L,04.25,N,02.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103451,,,,00,*4A\r\n$IIDBT,096.68,f,029.47,M,015.92,F*27\r\n$GPGLL,6001.699,N,02328.842,E,103451,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,202.35,T,202.35,M,6.00,N,,,D*62\r\n$IIMWV,354,R,10.88,N,A*20\r\n$IIVWT,013,L,04.66,N,02.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103453,,,,00,*48\r\n$IIDBT,096.84,f,029.52,M,015.95,F*26\r\n$GPGLL,6001.696,N,02328.840,E,103453,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,202.54,T,202.54,M,6.00,N,,,D*62\r\n$IIMWV,346,T,04.85,N,A*2D\r\n$IIVWT,014,L,04.85,N,02.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103455,,,,00,*4E\r\n$IIDBT,096.97,f,029.56,M,015.97,F*22\r\n$GPGLL,6001.693,N,02328.837,E,103456,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,202.86,T,202.86,M,6.00,N,,,D*62\r\n$IIMWV,353,R,10.49,N,A*2A\r\n$IIVWT,019,L,04.25,N,02.19,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103457,,,,00,*4C\r\n$IIDBT,097.07,f,029.59,M,015.99,F*2B\r\n$GPGLL,6001.690,N,02328.834,E,103458,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,202.76,T,202.76,M,6.00,N,,,D*62\r\n$IIMWV,352,T,04.25,N,A*22\r\n$IIVWT,008,L,04.25,N,02.19,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103459,,,,00,*42\r\n$IIDBT,097.24,f,029.64,M,016.02,F*25\r\n$GPGLL,6001.687,N,02328.832,E,103500,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,202.92,T,202.92,M,6.00,N,,,D*62\r\n$IIMWV,356,R,11.07,N,A*24\r\n$IIVWT,009,L,04.85,N,02.50,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103501,,,,00,*4E\r\n$IIDBT,097.37,f,029.68,M,016.04,F*2D\r\n$GPGLL,6001.684,N,02328.829,E,103502,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,203.38,T,203.38,M,6.00,N,,,D*62\r\n$IIMWV,346,T,04.84,N,A*2C\r\n$IIVWT,014,L,04.84,N,02.49,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103503,,,,00,*4C\r\n$IIDBT,097.60,f,029.75,M,016.08,F*2F\r\n$GPGLL,6001.681,N,02328.826,E,103504,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,204.40,T,204.40,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.07,N,A*21\r\n$IIVWT,017,L,04.91,N,02.53,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103506,,,,00,*49\r\n$IIDBT,097.76,f,029.80,M,016.10,F*2B\r\n$GPGLL,6001.678,N,02328.823,E,103506,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,205.80,T,205.80,M,6.00,N,,,D*62\r\n$IIMWV,338,T,05.01,N,A*29\r\n$IIVWT,022,L,05.01,N,02.58,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103508,,,,00,*47\r\n$IIDBT,097.89,f,029.84,M,016.12,F*2D\r\n$GPGLL,6001.675,N,02328.821,E,103508,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,206.30,T,206.30,M,6.00,N,,,D*62\r\n$IIMWV,352,R,11.46,N,A*25\r\n$IIVWT,017,L,05.32,N,02.74,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103510,,,,00,*4E\r\n$IIDBT,098.12,f,029.91,M,016.16,F*20\r\n$GPGLL,6001.672,N,02328.818,E,103510,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,206.13,T,206.13,M,6.00,N,,,D*62\r\n$IIMWV,347,T,05.71,N,A*26\r\n$IIVWT,013,L,05.71,N,02.94,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103512,,,,00,*4C\r\n$IIDBT,098.35,f,029.98,M,016.20,F*29\r\n$GPGLL,6001.669,N,02328.815,E,103512,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,206.38,T,206.38,M,6.00,N,,,D*62\r\n$IIMWV,352,R,12.05,N,A*21\r\n$IIVWT,017,L,05.98,N,03.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103514,,,,00,*4A\r\n$IIDBT,098.48,f,030.02,M,016.22,F*2A\r\n$GPGLL,6001.666,N,02328.811,E,103514,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,207.85,T,207.85,M,6.00,N,,,D*62\r\n$IIMWV,347,T,06.25,N,A*24\r\n$IIVWT,013,L,06.25,N,03.22,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103516,,,,00,*48\r\n$IIDBT,098.71,f,030.09,M,016.26,F*2F\r\n$GPGLL,6001.663,N,02328.808,E,103516,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,208.86,T,208.86,M,6.00,N,,,D*62\r\n$IIMWV,356,R,12.82,N,A*2A\r\n$IIVWT,009,L,06.64,N,03.42,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103518,,,,00,*46\r\n$IIDBT,098.91,f,030.15,M,016.29,F*23\r\n$GPGLL,6001.660,N,02328.805,E,103518,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,207.47,T,207.47,M,6.00,N,,,D*62\r\n$IIMWV,356,T,06.49,N,A*2E\r\n$IIVWT,004,L,06.49,N,03.34,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103520,,,,00,*4D\r\n$IIDBT,099.04,f,030.19,M,016.31,F*2B\r\n$GPGLL,6001.658,N,02328.802,E,103520,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,205.36,T,205.36,M,6.00,N,,,D*62\r\n$IIMWV,358,R,12.44,N,A*2E\r\n$IIVWT,004,L,06.02,N,03.10,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103522,,,,00,*4F\r\n$IIDBT,099.24,f,030.25,M,016.35,F*22\r\n$GPGLL,6001.655,N,02328.799,E,103522,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.55,N,03.37,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,203.19,T,203.19,M,6.00,N,,,D*62\r\n$IIMWV,356,T,06.57,N,A*21\r\n$IIVWT,004,L,06.57,N,03.38,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103524,,,,00,*49\r\n$IIDBT,099.30,f,030.27,M,016.36,F*26\r\n$GPGLL,6001.652,N,02328.797,E,103524,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,201.62,T,201.62,M,6.00,N,,,D*62\r\n$IIMWV,358,R,12.44,N,A*2E\r\n$IIVWT,005,L,06.10,N,03.14,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103526,,,,00,*4B\r\n$IIDBT,099.53,f,030.34,M,016.39,F*2E\r\n$GPGLL,6001.649,N,02328.795,E,103526,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,200.78,T,200.78,M,6.00,N,,,D*62\r\n$IIMWV,350,T,05.63,N,A*23\r\n$IIVWT,010,L,05.63,N,02.90,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103528,,,,00,*45\r\n$IIDBT,099.63,f,030.37,M,016.41,F*21\r\n$GPGLL,6001.644,N,02328.791,E,103528,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,199.79,T,199.79,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.85,N,A*2C\r\n$IIVWT,012,L,05.63,N,02.90,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103530,,,,00,*4C\r\n$IIDBT,099.76,f,030.41,M,016.43,F*26\r\n$GPGLL,6001.641,N,02328.789,E,103530,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,199.55,T,199.55,M,6.00,N,,,D*62\r\n$IIMWV,356,T,05.59,N,A*2C\r\n$IIVWT,004,L,05.59,N,02.88,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103532,,,,00,*4E\r\n$IIDBT,099.86,f,030.44,M,016.45,F*2A\r\n$GPGLL,6001.638,N,02328.787,E,103532,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.38,N,,*0C\r\n$IIVTG,198.73,T,198.73,M,6.00,N,,,D*62\r\n$IIMWV,357,R,12.05,N,A*24\r\n$IIVWT,006,L,05.75,N,02.96,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103534,,,,00,*48\r\n$IIDBT,099.96,f,030.47,M,016.46,F*2B\r\n$GPGLL,6001.635,N,02328.785,E,103534,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,198.18,T,198.18,M,6.07,N,,,D*65\r\n$IIMWV,354,T,05.77,N,A*22\r\n$IIVWT,006,L,05.77,N,02.97,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103536,,,,00,*4A\r\n$IIDBT,099.99,f,030.48,M,016.47,F*2A\r\n$GPGLL,6001.631,N,02328.783,E,103536,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,197.64,T,197.64,M,6.09,N,,,D*6B\r\n$IIMWV,360,R,12.05,N,A*20\r\n$IIVWT,000,L,05.73,N,02.95,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103538,,,,00,*44\r\n$IIDBT,100.19,f,030.54,M,016.50,F*28\r\n$GPGLL,6001.628,N,02328.781,E,103539,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,196.74,T,196.74,M,6.10,N,,,D*63\r\n$IIMWV,359,T,05.77,N,A*2F\r\n$IIVWT,001,L,05.77,N,02.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103540,,,,00,*4B\r\n$IIDBT,100.19,f,030.54,M,016.50,F*28\r\n$GPGLL,6001.625,N,02328.779,E,103541,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,195.46,T,195.46,M,6.10,N,,,D*63\r\n$IIMWV,356,R,11.85,N,A*2E\r\n$IIVWT,008,L,05.63,N,02.90,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103542,,,,00,*49\r\n$IIDBT,100.19,f,030.54,M,016.50,F*28\r\n$GPGLL,6001.622,N,02328.778,E,103543,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.33,N,,*07\r\n$IIVTG,193.61,T,193.61,M,6.02,N,,,D*60\r\n$IIMWV,002,T,05.67,N,A*23\r\n$IIVWT,002,R,05.67,N,02.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103544,,,,00,*4F\r\n$IIDBT,100.29,f,030.57,M,016.52,F*2A\r\n$GPGLL,6001.618,N,02328.776,E,103545,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,193.50,T,193.50,M,6.01,N,,,D*63\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,003,L,05.63,N,02.90,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103546,,,,00,*4D\r\n$IIDBT,100.35,f,030.59,M,016.53,F*28\r\n$GPGLL,6001.615,N,02328.774,E,103547,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,194.75,T,194.75,M,6.00,N,,,D*62\r\n$IIMWV,358,T,05.13,N,A*2C\r\n$IIVWT,002,L,05.13,N,02.64,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103549,,,,00,*42\r\n$IIDBT,100.48,f,030.63,M,016.55,F*2D\r\n$GPGLL,6001.612,N,02328.772,E,103549,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,196.73,T,196.73,M,6.00,N,,,D*62\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,011,L,05.69,N,02.93,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103551,,,,00,*4B\r\n$IIDBT,100.52,f,030.64,M,016.56,F*22\r\n$GPGLL,6001.609,N,02328.770,E,103551,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,198.33,T,198.33,M,6.00,N,,,D*62\r\n$IIMWV,353,T,05.63,N,A*20\r\n$IIVWT,007,L,05.63,N,02.90,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103553,,,,00,*49\r\n$IIDBT,100.71,f,030.70,M,016.59,F*29\r\n$GPGLL,6001.606,N,02328.768,E,103553,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,199.18,T,199.18,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,014,L,05.30,N,02.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103555,,,,00,*4F\r\n$IIDBT,100.88,f,030.75,M,016.62,F*22\r\n$GPGLL,6001.603,N,02328.766,E,103555,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,200.07,T,200.07,M,6.00,N,,,D*62\r\n$IIMWV,339,T,04.99,N,A*28\r\n$IIVWT,021,L,04.99,N,02.57,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103557,,,,00,*4D\r\n$IIDBT,101.04,f,030.80,M,016.64,F*2B\r\n$GPGLL,6001.599,N,02328.763,E,103557,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,201.54,T,201.54,M,6.00,N,,,D*62\r\n$IIMWV,352,R,10.88,N,A*26\r\n$IIVWT,019,L,04.70,N,02.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103559,,,,00,*43\r\n$IIDBT,101.27,f,030.87,M,016.68,F*21\r\n$GPGLL,6001.596,N,02328.761,E,103559,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,202.79,T,202.79,M,6.00,N,,,D*62\r\n$IIMWV,334,T,04.84,N,A*29\r\n$IIVWT,026,L,04.84,N,02.49,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103601,,,,00,*4D\r\n$IIDBT,101.27,f,030.87,M,016.68,F*21\r\n$GPGLL,6001.593,N,02328.758,E,103601,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.51,N,,*01\r\n$IIVTG,203.22,T,203.22,M,6.00,N,,,D*62\r\n$IIMWV,342,R,10.49,N,A*2A\r\n$IIVWT,042,L,04.91,N,02.53,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103603,,,,00,*4F\r\n$IIDBT,101.50,f,030.94,M,016.72,F*28\r\n$GPGLL,6001.590,N,02328.756,E,103603,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.12,N,,*06\r\n$IIVTG,202.91,T,202.91,M,6.00,N,,,D*62\r\n$IIMWV,319,T,04.08,N,A*22\r\n$IIVWT,041,L,04.08,N,02.10,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103605,,,,00,*49\r\n$IIDBT,101.70,f,031.00,M,016.75,F*21\r\n$GPGLL,6001.587,N,02328.753,E,103605,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,202.15,T,202.15,M,6.00,N,,,D*62\r\n$IIMWV,342,R,09.52,N,A*28\r\n$IIVWT,048,L,04.00,N,02.06,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103607,,,,00,*4B\r\n$IIDBT,101.83,f,031.04,M,016.77,F*2B\r\n$GPGLL,6001.584,N,02328.751,E,103607,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,201.94,T,201.94,M,6.00,N,,,D*62\r\n$IIMWV,311,T,03.16,N,A*22\r\n$IIVWT,049,L,03.16,N,01.63,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103609,,,,00,*45\r\n$IIDBT,101.99,f,031.09,M,016.80,F*25\r\n$GPGLL,6001.581,N,02328.748,E,103609,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,201.71,T,201.71,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,024,L,03.30,N,01.70,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103611,,,,00,*4C\r\n$IIDBT,102.19,f,031.15,M,016.83,F*20\r\n$GPGLL,6001.576,N,02328.744,E,103611,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,201.59,T,201.59,M,6.00,N,,,D*62\r\n$IIMWV,338,T,04.29,N,A*22\r\n$IIVWT,022,L,04.29,N,02.21,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103613,,,,00,*4E\r\n$IIDBT,102.29,f,031.18,M,016.85,F*28\r\n$GPGLL,6001.573,N,02328.742,E,103613,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,201.72,T,201.72,M,6.00,N,,,D*62\r\n$IIMWV,354,R,10.10,N,A*21\r\n$IIVWT,017,L,03.88,N,02.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103615,,,,00,*48\r\n$IIDBT,102.42,f,031.22,M,016.87,F*2E\r\n$GPGLL,6001.570,N,02328.740,E,103615,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,201.48,T,201.48,M,6.00,N,,,D*62\r\n$IIMWV,343,T,04.27,N,A*20\r\n$IIVWT,017,L,04.27,N,02.20,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103617,,,,00,*4A\r\n$IIDBT,102.55,f,031.26,M,016.89,F*22\r\n$GPGLL,6001.567,N,02328.737,E,103617,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,200.95,T,200.95,M,6.00,N,,,D*62\r\n$IIMWV,358,R,10.49,N,A*21\r\n$IIVWT,006,L,04.12,N,02.12,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103619,,,,00,*44\r\n$IIDBT,102.75,f,031.32,M,016.92,F*2F\r\n$GPGLL,6001.564,N,02328.735,E,103619,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,201.39,T,201.39,M,6.00,N,,,D*62\r\n$IIMWV,347,T,04.15,N,A*25\r\n$IIVWT,013,L,04.15,N,02.14,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103621,,,,00,*4F\r\n$IIDBT,102.88,f,031.36,M,016.95,F*2E\r\n$GPGLL,6001.560,N,02328.732,E,103622,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,200.64,T,200.64,M,6.00,N,,,D*62\r\n$IIMWV,356,R,10.49,N,A*2F\r\n$IIVWT,010,L,04.19,N,02.16,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103623,,,,00,*4D\r\n$IIDBT,103.04,f,031.41,M,016.97,F*29\r\n$GPGLL,6001.557,N,02328.730,E,103624,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,199.84,T,199.84,M,6.00,N,,,D*62\r\n$IIMWV,350,T,04.56,N,A*24\r\n$IIVWT,010,L,04.56,N,02.35,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103625,,,,00,*4B\r\n$IIDBT,103.21,f,031.46,M,017.00,F*26\r\n$GPGLL,6001.554,N,02328.728,E,103626,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,199.31,T,199.31,M,6.00,N,,,D*62\r\n$IIMWV,358,R,10.88,N,A*2C\r\n$IIVWT,004,L,04.60,N,02.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103627,,,,00,*49\r\n$IIDBT,103.24,f,031.47,M,017.01,F*23\r\n$GPGLL,6001.551,N,02328.726,E,103628,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,198.78,T,198.78,M,6.00,N,,,D*62\r\n$IIMWV,345,T,05.26,N,A*26\r\n$IIVWT,015,L,05.26,N,02.71,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103629,,,,00,*47\r\n$IIDBT,103.40,f,031.52,M,017.03,F*27\r\n$GPGLL,6001.548,N,02328.724,E,103630,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,198.47,T,198.47,M,6.00,N,,,D*62\r\n$IIMWV,351,R,11.46,N,A*26\r\n$IIVWT,019,L,05.38,N,02.77,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103632,,,,00,*4D\r\n$IIDBT,103.57,f,031.57,M,017.06,F*21\r\n$GPGLL,6001.544,N,02328.722,E,103632,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,198.12,T,198.12,M,6.00,N,,,D*62\r\n$IIMWV,326,T,05.11,N,A*27\r\n$IIVWT,034,L,05.11,N,02.63,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103634,,,,00,*4B\r\n$IIDBT,103.63,f,031.59,M,017.07,F*29\r\n$GPGLL,6001.541,N,02328.720,E,103634,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,198.10,T,198.10,M,6.00,N,,,D*62\r\n$IIMWV,340,R,10.10,N,A*24\r\n$IIVWT,047,L,04.78,N,02.46,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103636,,,,00,*49\r\n$IIDBT,103.86,f,031.66,M,017.11,F*29\r\n$GPGLL,6001.538,N,02328.718,E,103636,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,199.05,T,199.05,M,6.00,N,,,D*62\r\n$IIMWV,326,T,03.73,N,A*25\r\n$IIVWT,034,L,03.73,N,01.92,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103638,,,,00,*47\r\n$IIDBT,104.09,f,031.73,M,017.15,F*29\r\n$GPGLL,6001.535,N,02328.715,E,103638,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,200.71,T,200.71,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.71,N,A*28\r\n$IIVWT,022,L,03.55,N,01.83,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103640,,,,00,*48\r\n$IIDBT,104.26,f,031.78,M,017.17,F*2D\r\n$GPGLL,6001.532,N,02328.713,E,103640,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,203.43,T,203.43,M,6.00,N,,,D*62\r\n$IIMWV,346,T,04.64,N,A*22\r\n$IIVWT,014,L,04.64,N,02.39,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103642,,,,00,*4A\r\n$IIDBT,104.49,f,031.85,M,017.21,F*23\r\n$GPGLL,6001.529,N,02328.710,E,103642,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,203.91,T,203.91,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.46,N,A*24\r\n$IIVWT,015,L,05.28,N,02.72,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103644,,,,00,*4C\r\n$IIDBT,104.78,f,031.94,M,017.26,F*26\r\n$GPGLL,6001.526,N,02328.707,E,103644,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,204.27,T,204.27,M,6.00,N,,,D*62\r\n$IIMWV,344,T,04.78,N,A*2D\r\n$IIVWT,017,L,04.78,N,02.46,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103646,,,,00,*4E\r\n$IIDBT,104.98,f,032.00,M,017.29,F*29\r\n$GPGLL,6001.523,N,02328.704,E,103646,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,203.92,T,203.92,M,6.00,N,,,D*62\r\n$IIMWV,350,R,10.10,N,A*25\r\n$IIVWT,027,L,04.02,N,02.07,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103648,,,,00,*40\r\n$IIDBT,105.14,f,032.05,M,017.32,F*23\r\n$GPGLL,6001.520,N,02328.702,E,103648,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,203.30,T,203.30,M,6.00,N,,,D*62\r\n$IIMWV,339,T,03.61,N,A*28\r\n$IIVWT,021,L,03.61,N,01.86,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103650,,,,00,*49\r\n$IIDBT,105.34,f,032.11,M,017.35,F*23\r\n$GPGLL,6001.517,N,02328.699,E,103650,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,203.55,T,203.55,M,6.08,N,,,D*6A\r\n$IIMWV,354,R,10.10,N,A*21\r\n$IIVWT,017,L,03.88,N,02.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103652,,,,00,*4B\r\n$IIDBT,105.54,f,032.17,M,017.38,F*2E\r\n$GPGLL,6001.512,N,02328.695,E,103652,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,202.97,T,202.97,M,6.05,N,,,D*67\r\n$IIMWV,335,T,04.37,N,A*20\r\n$IIVWT,025,L,04.37,N,02.25,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103654,,,,00,*4D\r\n$IIDBT,105.77,f,032.24,M,017.42,F*22\r\n$GPGLL,6001.509,N,02328.693,E,103654,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,202.62,T,202.62,M,6.01,N,,,D*63\r\n$IIMWV,354,R,10.10,N,A*21\r\n$IIVWT,016,L,03.86,N,01.99,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103656,,,,00,*4F\r\n$IIDBT,105.96,f,032.30,M,017.45,F*2F\r\n$GPGLL,6001.506,N,02328.690,E,103656,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,202.56,T,202.56,M,6.00,N,,,D*62\r\n$IIMWV,339,T,03.86,N,A*21\r\n$IIVWT,021,L,03.86,N,01.99,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103658,,,,00,*41\r\n$IIDBT,106.13,f,032.35,M,017.48,F*29\r\n$GPGLL,6001.503,N,02328.688,E,103658,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,202.31,T,202.31,M,6.00,N,,,D*62\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,032,L,03.77,N,01.94,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103700,,,,00,*4D\r\n$IIDBT,106.23,f,032.38,M,017.50,F*2E\r\n$GPGLL,6001.499,N,02328.685,E,103700,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,202.18,T,202.18,M,6.05,N,,,D*67\r\n$IIMWV,343,T,03.84,N,A*2E\r\n$IIVWT,017,L,03.84,N,01.98,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103702,,,,00,*4F\r\n$IIDBT,106.29,f,032.40,M,017.51,F*2A\r\n$GPGLL,6001.496,N,02328.683,E,103703,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,201.85,T,201.85,M,6.04,N,,,D*66\r\n$IIMWV,349,R,10.10,N,A*2D\r\n$IIVWT,029,L,04.06,N,02.09,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103704,,,,00,*49\r\n$IIDBT,106.42,f,032.44,M,017.53,F*21\r\n$GPGLL,6001.493,N,02328.680,E,103705,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,201.91,T,201.91,M,6.01,N,,,D*63\r\n$IIMWV,339,T,03.53,N,A*29\r\n$IIVWT,021,L,03.53,N,01.82,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103706,,,,00,*4B\r\n$IIDBT,106.62,f,032.50,M,017.56,F*23\r\n$GPGLL,6001.490,N,02328.678,E,103707,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,201.83,T,201.83,M,6.00,N,,,D*62\r\n$IIMWV,354,R,09.52,N,A*2F\r\n$IIVWT,018,L,03.26,N,01.68,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103708,,,,00,*45\r\n$IIDBT,106.62,f,032.50,M,017.56,F*23\r\n$GPGLL,6001.487,N,02328.675,E,103709,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,202.38,T,202.38,M,6.05,N,,,D*67\r\n$IIMWV,338,T,03.88,N,A*2E\r\n$IIVWT,022,L,03.88,N,02.00,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103710,,,,00,*4C\r\n$IIDBT,106.65,f,032.51,M,017.57,F*24\r\n$GPGLL,6001.484,N,02328.673,E,103711,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,201.69,T,201.69,M,6.04,N,,,D*66\r\n$IIMWV,350,R,10.88,N,A*24\r\n$IIVWT,024,L,04.74,N,02.44,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103712,,,,00,*4E\r\n$IIDBT,106.75,f,032.54,M,017.58,F*2F\r\n$GPGLL,6001.481,N,02328.670,E,103713,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,201.95,T,201.95,M,6.01,N,,,D*63\r\n$IIMWV,332,T,04.50,N,A*26\r\n$IIVWT,028,L,04.50,N,02.32,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103715,,,,00,*49\r\n$IIDBT,106.72,f,032.53,M,017.58,F*2F\r\n$GPGLL,6001.478,N,02328.668,E,103715,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,202.31,T,202.31,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,004,L,03.71,N,01.91,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103717,,,,00,*4B\r\n$IIDBT,106.72,f,032.53,M,017.58,F*2F\r\n$GPGLL,6001.475,N,02328.665,E,103717,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,201.88,T,201.88,M,6.00,N,,,D*62\r\n$IIMWV,330,T,04.19,N,A*29\r\n$IIVWT,030,L,04.19,N,02.16,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103719,,,,00,*45\r\n$IIDBT,106.75,f,032.54,M,017.58,F*2F\r\n$GPGLL,6001.472,N,02328.663,E,103719,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,199.77,T,199.77,M,5.95,N,,,D*6D\r\n$IIMWV,354,R,10.49,N,A*2D\r\n$IIVWT,016,L,04.27,N,02.20,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103721,,,,00,*4E\r\n$IIDBT,107.01,f,032.62,M,017.63,F*20\r\n$GPGLL,6001.469,N,02328.660,E,103721,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,205.84,T,205.84,M,5.91,N,,,D*69\r\n$IIMWV,325,T,04.70,N,A*22\r\n$IIVWT,035,L,04.70,N,02.42,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103723,,,,00,*4C\r\n$IIDBT,107.28,f,032.70,M,017.67,F*2C\r\n$GPGLL,6001.466,N,02328.656,E,103723,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,213.91,T,213.91,M,5.90,N,,,D*68\r\n$IIMWV,353,R,10.10,N,A*26\r\n$IIVWT,019,L,03.90,N,02.01,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103725,,,,00,*4A\r\n$IIDBT,107.37,f,032.73,M,017.69,F*2F\r\n$GPGLL,6001.463,N,02328.652,E,103725,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,218.15,T,218.15,M,5.98,N,,,D*60\r\n$IIMWV,338,T,04.74,N,A*2A\r\n$IIVWT,022,L,04.74,N,02.44,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103727,,,,00,*48\r\n$IIDBT,107.57,f,032.79,M,017.72,F*29\r\n$GPGLL,6001.460,N,02328.648,E,103727,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,216.99,T,216.99,M,5.99,N,,,D*61\r\n$IIMWV,357,R,10.88,N,A*23\r\n$IIVWT,007,L,04.52,N,02.33,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103729,,,,00,*46\r\n$IIDBT,107.57,f,032.79,M,017.72,F*29\r\n$GPGLL,6001.458,N,02328.644,E,103729,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,216.32,T,216.32,M,6.05,N,,,D*67\r\n$IIMWV,346,T,04.85,N,A*2D\r\n$IIVWT,015,L,04.85,N,02.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103731,,,,00,*4F\r\n$IIDBT,107.41,f,032.74,M,017.69,F*29\r\n$GPGLL,6001.455,N,02328.641,E,103731,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,212.08,T,212.08,M,6.09,N,,,D*6B\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,008,L,05.13,N,02.64,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103733,,,,00,*4D\r\n$IIDBT,107.14,f,032.66,M,017.65,F*26\r\n$GPGLL,6001.451,N,02328.636,E,103733,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,206.46,T,206.46,M,6.10,N,,,D*63\r\n$IIMWV,341,T,05.36,N,A*23\r\n$IIVWT,019,L,05.36,N,02.76,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103735,,,,00,*4B\r\n$IIDBT,106.92,f,032.59,M,017.61,F*21\r\n$GPGLL,6001.448,N,02328.634,E,103735,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,203.74,T,203.74,M,6.02,N,,,D*60\r\n$IIMWV,355,R,10.88,N,A*21\r\n$IIVWT,013,L,04.62,N,02.38,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103737,,,,00,*49\r\n$IIDBT,106.52,f,032.47,M,017.55,F*25\r\n$GPGLL,6001.445,N,02328.631,E,103737,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,203.79,T,203.79,M,6.01,N,,,D*63\r\n$IIMWV,339,T,03.90,N,A*26\r\n$IIVWT,021,L,03.90,N,02.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103739,,,,00,*47\r\n$IIDBT,106.03,f,032.32,M,017.46,F*21\r\n$GPGLL,6001.442,N,02328.628,E,103739,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,203.37,T,203.37,M,6.00,N,,,D*62\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,007,L,04.23,N,02.18,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103741,,,,00,*48\r\n$IIDBT,105.73,f,032.23,M,017.42,F*21\r\n$GPGLL,6001.439,N,02328.626,E,103741,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,203.12,T,203.12,M,6.00,N,,,D*62\r\n$IIMWV,343,T,03.88,N,A*22\r\n$IIVWT,017,L,03.88,N,02.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103743,,,,00,*4A\r\n$IIDBT,105.14,f,032.05,M,017.32,F*23\r\n$GPGLL,6001.436,N,02328.623,E,103743,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,202.30,T,202.30,M,6.08,N,,,D*6A\r\n$IIMWV,355,R,09.71,N,A*2F\r\n$IIVWT,015,L,03.47,N,01.79,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103745,,,,00,*4C\r\n$IIDBT,104.98,f,032.00,M,017.29,F*29\r\n$GPGLL,6001.433,N,02328.621,E,103746,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,201.38,T,201.38,M,6.02,N,,,D*60\r\n$IIMWV,346,T,03.84,N,A*2B\r\n$IIVWT,014,L,03.84,N,01.98,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103747,,,,00,*4E\r\n$IIDBT,104.29,f,031.79,M,017.18,F*2C\r\n$GPGLL,6001.429,N,02328.618,E,103748,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,200.59,T,200.59,M,6.00,N,,,D*62\r\n$IIMWV,357,R,10.10,N,A*22\r\n$IIVWT,009,L,03.77,N,01.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103749,,,,00,*40\r\n$IIDBT,103.96,f,031.69,M,017.12,F*24\r\n$GPGLL,6001.426,N,02328.616,E,103750,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,199.97,T,199.97,M,6.00,N,,,D*62\r\n$IIMWV,355,T,03.42,N,A*23\r\n$IIVWT,005,L,03.42,N,01.76,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103751,,,,00,*49\r\n$IIDBT,103.31,f,031.49,M,017.02,F*2A\r\n$GPGLL,6001.423,N,02328.614,E,103752,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,199.64,T,199.64,M,6.00,N,,,D*62\r\n$IIMWV,360,R,10.49,N,A*2A\r\n$IIVWT,001,L,04.14,N,02.13,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103753,,,,00,*4B\r\n$IIDBT,102.55,f,031.26,M,016.89,F*22\r\n$GPGLL,6001.420,N,02328.612,E,103754,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,199.01,T,199.01,M,6.00,N,,,D*62\r\n$IIMWV,004,T,04.10,N,A*24\r\n$IIVWT,004,R,04.10,N,02.11,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103755,,,,00,*4D\r\n$IIDBT,102.52,f,031.25,M,016.89,F*26\r\n$GPGLL,6001.417,N,02328.610,E,103756,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,198.63,T,198.63,M,6.00,N,,,D*62\r\n$IIMWV,000,R,10.49,N,A*2F\r\n$IIVWT,001,R,04.23,N,02.18,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103758,,,,00,*40\r\n$IIDBT,101.93,f,031.07,M,016.79,F*27\r\n$GPGLL,6001.414,N,02328.608,E,103758,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,198.30,T,198.30,M,6.00,N,,,D*62\r\n$IIMWV,006,T,04.56,N,A*24\r\n$IIVWT,006,R,04.56,N,02.35,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103800,,,,00,*42\r\n$IIDBT,101.60,f,030.97,M,016.74,F*2E\r\n$GPGLL,6001.410,N,02328.606,E,103800,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,198.35,T,198.35,M,6.00,N,,,D*62\r\n$IIMWV,002,R,10.88,N,A*20\r\n$IIVWT,005,R,04.54,N,02.34,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103802,,,,00,*40\r\n$IIDBT,101.37,f,030.90,M,016.70,F*2F\r\n$GPGLL,6001.407,N,02328.603,E,103802,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,198.74,T,198.74,M,6.00,N,,,D*62\r\n$IIMWV,360,T,04.14,N,A*21\r\n$IIVWT,000,L,04.14,N,02.13,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103804,,,,00,*46\r\n$IIDBT,101.11,f,030.82,M,016.65,F*2C\r\n$GPGLL,6001.404,N,02328.601,E,103804,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,198.96,T,198.96,M,6.00,N,,,D*62\r\n$IIMWV,001,R,10.49,N,A*2E\r\n$IIVWT,003,R,04.23,N,02.18,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103806,,,,00,*44\r\n$IIDBT,100.48,f,030.63,M,016.55,F*2D\r\n$GPGLL,6001.401,N,02328.599,E,103806,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,199.04,T,199.04,M,6.00,N,,,D*62\r\n$IIMWV,355,T,03.77,N,A*25\r\n$IIVWT,005,L,03.77,N,01.94,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103808,,,,00,*4A\r\n$IIDBT,100.03,f,030.49,M,016.48,F*26\r\n$GPGLL,6001.398,N,02328.597,E,103808,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,199.23,T,199.23,M,6.00,N,,,D*62\r\n$IIMWV,002,R,10.49,N,A*2D\r\n$IIVWT,005,R,04.08,N,02.10,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103810,,,,00,*43\r\n$IIDBT,099.93,f,030.46,M,016.46,F*2F\r\n$GPGLL,6001.395,N,02328.595,E,103810,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,199.03,T,199.03,M,6.00,N,,,D*62\r\n$IIMWV,003,T,04.08,N,A*2A\r\n$IIVWT,003,R,04.08,N,02.10,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103812,,,,00,*41\r\n$IIDBT,099.93,f,030.46,M,016.46,F*2F\r\n$GPGLL,6001.391,N,02328.593,E,103812,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,198.48,T,198.48,M,6.00,N,,,D*62\r\n$IIMWV,357,R,10.10,N,A*22\r\n$IIVWT,009,L,03.77,N,01.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103814,,,,00,*47\r\n$IIDBT,099.96,f,030.47,M,016.46,F*2B\r\n$GPGLL,6001.388,N,02328.591,E,103814,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,198.34,T,198.34,M,6.00,N,,,D*62\r\n$IIMWV,355,T,03.47,N,A*26\r\n$IIVWT,005,L,03.47,N,01.79,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103816,,,,00,*45\r\n$IIDBT,100.35,f,030.59,M,016.53,F*28\r\n$GPGLL,6001.383,N,02328.588,E,103816,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,198.30,T,198.30,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,003,L,03.75,N,01.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103818,,,,00,*4B\r\n$IIDBT,099.86,f,030.44,M,016.45,F*2A\r\n$GPGLL,6001.380,N,02328.586,E,103818,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,198.15,T,198.15,M,6.00,N,,,D*62\r\n$IIMWV,355,T,03.77,N,A*25\r\n$IIVWT,006,L,03.77,N,01.94,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103820,,,,00,*40\r\n$IIDBT,100.32,f,030.58,M,016.52,F*2F\r\n$GPGLL,6001.377,N,02328.584,E,103820,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,198.14,T,198.14,M,6.00,N,,,D*62\r\n$IIMWV,358,R,10.49,N,A*21\r\n$IIVWT,006,L,04.17,N,02.15,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103822,,,,00,*42\r\n$IIDBT,100.03,f,030.49,M,016.48,F*26\r\n$GPGLL,6001.374,N,02328.582,E,103822,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,198.03,T,198.03,M,6.00,N,,,D*62\r\n$IIMWV,349,T,03.75,N,A*2A\r\n$IIVWT,012,L,03.75,N,01.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103824,,,,00,*44\r\n$IIDBT,101.08,f,030.81,M,016.65,F*27\r\n$GPGLL,6001.371,N,02328.580,E,103824,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,197.56,T,197.56,M,6.00,N,,,D*62\r\n$IIMWV,353,R,10.10,N,A*26\r\n$IIVWT,019,L,03.94,N,02.03,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103826,,,,00,*46\r\n$IIDBT,100.48,f,030.63,M,016.55,F*2D\r\n$GPGLL,6001.368,N,02328.578,E,103826,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,196.99,T,196.99,M,6.00,N,,,D*62\r\n$IIMWV,341,T,04.29,N,A*2C\r\n$IIVWT,019,L,04.29,N,02.21,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103828,,,,00,*48\r\n$IIDBT,100.75,f,030.71,M,016.59,F*2C\r\n$GPGLL,6001.364,N,02328.576,E,103829,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,197.10,T,197.10,M,6.00,N,,,D*62\r\n$IIMWV,351,R,10.10,N,A*24\r\n$IIVWT,024,L,03.94,N,02.03,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103830,,,,00,*41\r\n$IIDBT,101.17,f,030.84,M,016.66,F*2F\r\n$GPGLL,6001.361,N,02328.574,E,103831,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,197.70,T,197.70,M,6.00,N,,,D*62\r\n$IIMWV,333,T,03.71,N,A*23\r\n$IIVWT,027,L,03.71,N,01.91,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103832,,,,00,*43\r\n$IIDBT,101.47,f,030.93,M,016.71,F*2A\r\n$GPGLL,6001.358,N,02328.572,E,103833,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,197.95,T,197.95,M,6.00,N,,,D*62\r\n$IIMWV,351,R,09.71,N,A*2B\r\n$IIVWT,026,L,03.53,N,01.82,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103834,,,,00,*45\r\n$IIDBT,102.22,f,031.16,M,016.84,F*2C\r\n$GPGLL,6001.355,N,02328.570,E,103835,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,198.01,T,198.01,M,6.00,N,,,D*62\r\n$IIMWV,333,T,03.46,N,A*27\r\n$IIVWT,027,L,03.46,N,01.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103836,,,,00,*47\r\n$IIDBT,102.22,f,031.16,M,016.84,F*2C\r\n$GPGLL,6001.352,N,02328.568,E,103837,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,197.30,T,197.30,M,6.00,N,,,D*62\r\n$IIMWV,349,R,09.71,N,A*22\r\n$IIVWT,029,L,03.79,N,01.95,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103838,,,,00,*49\r\n$IIDBT,102.19,f,031.15,M,016.83,F*20\r\n$GPGLL,6001.348,N,02328.566,E,103839,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,197.20,T,197.20,M,6.00,N,,,D*62\r\n$IIMWV,333,T,03.53,N,A*23\r\n$IIVWT,027,L,03.53,N,01.82,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103841,,,,00,*47\r\n$IIDBT,102.55,f,031.26,M,016.89,F*22\r\n$GPGLL,6001.345,N,02328.563,E,103841,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.63,N,01.87,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,199.18,T,199.18,M,6.00,N,,,D*62\r\n$IIMWV,350,R,09.52,N,A*2B\r\n$IIVWT,028,L,03.61,N,01.86,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103843,,,,00,*45\r\n$IIDBT,102.32,f,031.19,M,016.85,F*23\r\n$GPGLL,6001.342,N,02328.561,E,103843,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,199.64,T,199.64,M,6.00,N,,,D*62\r\n$IIMWV,357,T,02.79,N,A*28\r\n$IIVWT,004,L,02.79,N,01.44,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103845,,,,00,*43\r\n$IIDBT,104.95,f,031.99,M,017.29,F*27\r\n$GPGLL,6001.339,N,02328.559,E,103845,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,199.71,T,199.71,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.13,N,A*2C\r\n$IIVWT,026,L,03.03,N,01.56,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103847,,,,00,*41\r\n$IIDBT,106.19,f,032.37,M,017.49,F*20\r\n$GPGLL,6001.336,N,02328.557,E,103847,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,200.08,T,200.08,M,6.00,N,,,D*62\r\n$IIMWV,355,T,02.77,N,A*24\r\n$IIVWT,006,L,02.77,N,01.43,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103849,,,,00,*4F\r\n$IIDBT,107.60,f,032.80,M,017.72,F*2B\r\n$GPGLL,6001.333,N,02328.554,E,103849,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.14,N,01.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.35,N,,*01\r\n$IIVTG,200.32,T,200.32,M,6.03,N,,,D*61\r\n$IIMWV,001,R,09.71,N,A*2D\r\n$IIVWT,001,R,03.44,N,01.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103851,,,,00,*46\r\n$IIDBT,108.42,f,033.05,M,017.86,F*23\r\n$GPGLL,6001.329,N,02328.552,E,103851,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,200.58,T,200.58,M,6.01,N,,,D*63\r\n$IIMWV,336,T,03.36,N,A*25\r\n$IIVWT,024,L,03.36,N,01.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103853,,,,00,*44\r\n$IIDBT,107.47,f,032.76,M,017.70,F*25\r\n$GPGLL,6001.326,N,02328.550,E,103853,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.14,N,01.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,200.69,T,200.69,M,6.03,N,,,D*61\r\n$IIMWV,358,R,09.52,N,A*23\r\n$IIVWT,005,L,03.20,N,01.65,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103855,,,,00,*42\r\n$IIDBT,108.56,f,033.09,M,017.88,F*24\r\n$GPGLL,6001.323,N,02328.547,E,103855,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,200.65,T,200.65,M,6.06,N,,,D*64\r\n$IIMWV,333,T,03.47,N,A*26\r\n$IIVWT,027,L,03.47,N,01.79,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103857,,,,00,*40\r\n$IIDBT,108.72,f,033.14,M,017.91,F*26\r\n$GPGLL,6001.320,N,02328.545,E,103857,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.97,N,01.53,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,200.39,T,200.39,M,6.09,N,,,D*6B\r\n$IIMWV,002,R,09.52,N,A*2F\r\n$IIVWT,007,R,03.22,N,01.66,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103859,,,,00,*4E\r\n$IIDBT,111.02,f,033.84,M,018.29,F*2C\r\n$GPGLL,6001.315,N,02328.541,E,103859,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,200.22,T,200.22,M,6.02,N,,,D*60\r\n$IIMWV,328,T,04.21,N,A*2B\r\n$IIVWT,032,L,04.21,N,02.17,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103901,,,,00,*42\r\n$IIDBT,111.28,f,033.92,M,018.33,F*28\r\n$GPGLL,6001.312,N,02328.539,E,103901,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,200.01,T,200.01,M,6.01,N,,,D*63\r\n$IIMWV,352,R,10.10,N,A*27\r\n$IIVWT,020,L,03.92,N,02.02,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103903,,,,00,*40\r\n$IIDBT,112.46,f,034.28,M,018.52,F*22\r\n$GPGLL,6001.309,N,02328.537,E,103903,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.97,N,01.53,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,199.75,T,199.75,M,6.05,N,,,D*67\r\n$IIMWV,351,T,03.20,N,A*23\r\n$IIVWT,009,L,03.20,N,01.65,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103905,,,,00,*46\r\n$IIDBT,113.61,f,034.63,M,018.71,F*28\r\n$GPGLL,6001.306,N,02328.535,E,103905,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,199.58,T,199.58,M,6.09,N,,,D*6B\r\n$IIMWV,351,R,09.52,N,A*2A\r\n$IIVWT,026,L,03.36,N,01.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103907,,,,00,*44\r\n$IIDBT,114.40,f,034.87,M,018.84,F*2C\r\n$GPGLL,6001.302,N,02328.533,E,103907,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.61,N,01.86,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,199.40,T,199.40,M,6.10,N,,,D*63\r\n$IIMWV,326,T,03.63,N,A*24\r\n$IIVWT,034,L,03.63,N,01.87,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103909,,,,00,*4A\r\n$IIDBT,116.17,f,035.41,M,019.14,F*2F\r\n$GPGLL,6001.299,N,02328.530,E,103909,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.38,N,01.74,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,199.85,T,199.85,M,6.05,N,,,D*67\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,031,L,03.01,N,01.55,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103911,,,,00,*43\r\n$IIDBT,120.37,f,036.69,M,019.83,F*2F\r\n$GPGLL,6001.296,N,02328.528,E,103912,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,202.29,T,202.29,M,6.01,N,,,D*63\r\n$IIMWV,328,T,03.55,N,A*2F\r\n$IIVWT,032,L,03.55,N,01.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103913,,,,00,*41\r\n$IIDBT,121.42,f,037.01,M,020.00,F*22\r\n$GPGLL,6001.293,N,02328.525,E,103914,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,203.25,T,203.25,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,024,L,03.34,N,01.72,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103915,,,,00,*47\r\n$IIDBT,122.50,f,037.34,M,020.18,F*2D\r\n$GPGLL,6001.290,N,02328.522,E,103916,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,203.64,T,203.64,M,6.08,N,,,D*6A\r\n$IIMWV,337,T,03.38,N,A*2A\r\n$IIVWT,023,L,03.38,N,01.74,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103917,,,,00,*45\r\n$IIDBT,122.96,f,037.48,M,020.25,F*22\r\n$GPGLL,6001.287,N,02328.520,E,103918,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.28,N,01.69,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,203.93,T,203.93,M,6.09,N,,,D*6B\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,025,L,03.34,N,01.72,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103919,,,,00,*4B\r\n$IIDBT,123.42,f,037.62,M,020.33,F*25\r\n$GPGLL,6001.284,N,02328.517,E,103920,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,203.10,T,203.10,M,6.10,N,,,D*63\r\n$IIMWV,338,T,02.93,N,A*25\r\n$IIVWT,022,L,02.93,N,01.51,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103921,,,,00,*40\r\n$IIDBT,124.43,f,037.93,M,020.50,F*28\r\n$GPGLL,6001.281,N,02328.514,E,103922,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.97,N,01.53,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,203.03,T,203.03,M,6.10,N,,,D*63\r\n$IIMWV,349,R,09.13,N,A*26\r\n$IIVWT,035,L,03.12,N,01.61,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103924,,,,00,*45\r\n$IIDBT,124.83,f,038.05,M,020.56,F*22\r\n$GPGLL,6001.278,N,02328.512,E,103924,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,202.30,T,202.30,M,6.02,N,,,D*60\r\n$IIMWV,344,T,02.81,N,A*2D\r\n$IIVWT,016,L,02.81,N,01.45,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103926,,,,00,*47\r\n$IIDBT,124.76,f,038.03,M,020.55,F*2D\r\n$GPGLL,6001.275,N,02328.510,E,103926,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,201.70,T,201.70,M,6.01,N,,,D*63\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,023,L,03.26,N,01.68,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103928,,,,00,*49\r\n$IIDBT,124.83,f,038.05,M,020.56,F*22\r\n$GPGLL,6001.271,N,02328.507,E,103928,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,202.15,T,202.15,M,6.00,N,,,D*62\r\n$IIMWV,331,T,03.47,N,A*24\r\n$IIVWT,029,L,03.47,N,01.79,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103930,,,,00,*40\r\n$IIDBT,124.63,f,037.99,M,020.53,F*23\r\n$GPGLL,6001.268,N,02328.504,E,103930,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,202.61,T,202.61,M,6.00,N,,,D*62\r\n$IIMWV,351,R,09.52,N,A*2A\r\n$IIVWT,026,L,03.36,N,01.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103932,,,,00,*42\r\n$IIDBT,124.70,f,038.01,M,020.54,F*28\r\n$GPGLL,6001.265,N,02328.502,E,103932,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,202.75,T,202.75,M,6.00,N,,,D*62\r\n$IIMWV,342,T,03.20,N,A*21\r\n$IIVWT,018,L,03.20,N,01.65,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103934,,,,00,*44\r\n$IIDBT,124.50,f,037.95,M,020.51,F*2D\r\n$GPGLL,6001.262,N,02328.499,E,103934,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,203.24,T,203.24,M,6.00,N,,,D*62\r\n$IIMWV,356,R,09.52,N,A*2D\r\n$IIVWT,013,L,03.22,N,01.66,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103936,,,,00,*46\r\n$IIDBT,124.30,f,037.89,M,020.48,F*2E\r\n$GPGLL,6001.259,N,02328.497,E,103936,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,203.61,T,203.61,M,6.00,N,,,D*62\r\n$IIMWV,335,T,03.51,N,A*27\r\n$IIVWT,025,L,03.51,N,01.81,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103938,,,,00,*48\r\n$IIDBT,124.27,f,037.88,M,020.47,F*26\r\n$GPGLL,6001.256,N,02328.494,E,103938,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,204.23,T,204.23,M,6.00,N,,,D*62\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,023,L,03.40,N,01.75,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103940,,,,00,*47\r\n$IIDBT,124.30,f,037.89,M,020.48,F*2E\r\n$GPGLL,6001.253,N,02328.491,E,103940,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,205.01,T,205.01,M,6.05,N,,,D*67\r\n$IIMWV,351,T,03.46,N,A*23\r\n$IIVWT,009,L,03.46,N,01.78,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103942,,,,00,*45\r\n$IIDBT,123.94,f,037.78,M,020.42,F*23\r\n$GPGLL,6001.249,N,02328.487,E,103942,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,204.01,T,204.01,M,6.09,N,,,D*6B\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,023,L,03.32,N,01.71,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103944,,,,00,*43\r\n$IIDBT,123.97,f,037.79,M,020.42,F*21\r\n$GPGLL,6001.245,N,02328.484,E,103944,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,203.78,T,203.78,M,6.05,N,,,D*67\r\n$IIMWV,334,T,04.02,N,A*27\r\n$IIVWT,026,L,04.02,N,02.07,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103946,,,,00,*41\r\n$IIDBT,123.97,f,037.79,M,020.42,F*21\r\n$GPGLL,6001.242,N,02328.481,E,103946,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,204.04,T,204.04,M,6.09,N,,,D*6B\r\n$IIMWV,354,R,10.49,N,A*2D\r\n$IIVWT,015,L,04.23,N,02.18,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103948,,,,00,*4F\r\n$IIDBT,123.75,f,037.72,M,020.38,F*2B\r\n$GPGLL,6001.239,N,02328.479,E,103948,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,203.43,T,203.43,M,6.10,N,,,D*63\r\n$IIMWV,331,T,03.65,N,A*24\r\n$IIVWT,029,L,03.65,N,01.88,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103950,,,,00,*46\r\n$IIDBT,123.68,f,037.70,M,020.37,F*2A\r\n$GPGLL,6001.236,N,02328.476,E,103950,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,202.66,T,202.66,M,6.07,N,,,D*65\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,034,L,03.79,N,01.95,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103952,,,,00,*44\r\n$IIDBT,123.61,f,037.68,M,020.36,F*2B\r\n$GPGLL,6001.233,N,02328.474,E,103952,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,202.52,T,202.52,M,6.04,N,,,D*66\r\n$IIMWV,328,T,03.69,N,A*20\r\n$IIVWT,032,L,03.69,N,01.90,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103954,,,,00,*42\r\n$IIDBT,123.38,f,037.61,M,020.32,F*2A\r\n$GPGLL,6001.230,N,02328.471,E,103955,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,202.78,T,202.78,M,6.01,N,,,D*63\r\n$IIMWV,352,R,09.71,N,A*28\r\n$IIVWT,023,L,03.57,N,01.84,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103956,,,,00,*40\r\n$IIDBT,123.25,f,037.57,M,020.30,F*21\r\n$GPGLL,6001.227,N,02328.468,E,103957,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,203.27,T,203.27,M,6.00,N,,,D*62\r\n$IIMWV,333,T,03.65,N,A*26\r\n$IIVWT,028,L,03.65,N,01.88,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,103958,,,,00,*4E\r\n$IIDBT,122.93,f,037.47,M,020.25,F*28\r\n$GPGLL,6001.224,N,02328.466,E,103959,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,203.47,T,203.47,M,6.05,N,,,D*67\r\n$IIMWV,350,R,09.52,N,A*2B\r\n$IIVWT,029,L,03.55,N,01.83,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104000,,,,00,*4D\r\n$IIDBT,122.83,f,037.44,M,020.23,F*2C\r\n$GPGLL,6001.221,N,02328.463,E,104001,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.63,N,01.87,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,203.59,T,203.59,M,6.01,N,,,D*63\r\n$IIMWV,329,T,03.75,N,A*2C\r\n$IIVWT,031,L,03.75,N,01.93,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104002,,,,00,*4F\r\n$IIDBT,122.60,f,037.37,M,020.19,F*2C\r\n$GPGLL,6001.218,N,02328.460,E,104003,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,203.75,T,203.75,M,6.05,N,,,D*67\r\n$IIMWV,350,R,10.10,N,A*25\r\n$IIVWT,025,L,04.04,N,02.08,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104005,,,,00,*48\r\n$IIDBT,122.43,f,037.32,M,020.17,F*26\r\n$GPGLL,6001.215,N,02328.458,E,104005,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,203.76,T,203.76,M,6.01,N,,,D*63\r\n$IIMWV,329,T,04.25,N,A*2E\r\n$IIVWT,032,L,04.25,N,02.19,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104007,,,,00,*4A\r\n$IIDBT,122.10,f,037.22,M,020.11,F*27\r\n$GPGLL,6001.212,N,02328.455,E,104007,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,203.92,T,203.92,M,6.00,N,,,D*62\r\n$IIMWV,348,R,10.10,N,A*2C\r\n$IIVWT,032,L,04.06,N,02.09,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104009,,,,00,*44\r\n$IIDBT,121.88,f,037.15,M,020.08,F*29\r\n$GPGLL,6001.209,N,02328.452,E,104009,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,203.93,T,203.93,M,6.00,N,,,D*62\r\n$IIMWV,328,T,04.12,N,A*2B\r\n$IIVWT,032,L,04.12,N,02.12,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104011,,,,00,*4D\r\n$IIDBT,121.58,f,037.06,M,020.03,F*2D\r\n$GPGLL,6001.205,N,02328.450,E,104011,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,203.88,T,203.88,M,6.00,N,,,D*62\r\n$IIMWV,349,R,10.10,N,A*2D\r\n$IIVWT,029,L,04.06,N,02.09,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104013,,,,00,*4F\r\n$IIDBT,121.32,f,036.98,M,019.98,F*2F\r\n$GPGLL,6001.202,N,02328.447,E,104013,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,203.85,T,203.85,M,6.00,N,,,D*62\r\n$IIMWV,338,T,03.57,N,A*2C\r\n$IIVWT,022,L,03.57,N,01.84,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104015,,,,00,*49\r\n$IIDBT,121.12,f,036.92,M,019.95,F*2A\r\n$GPGLL,6001.199,N,02328.444,E,104015,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,203.51,T,203.51,M,6.00,N,,,D*62\r\n$IIMWV,356,R,09.52,N,A*2D\r\n$IIVWT,012,L,03.30,N,01.70,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104017,,,,00,*4B\r\n$IIDBT,120.73,f,036.80,M,019.89,F*22\r\n$GPGLL,6001.196,N,02328.442,E,104017,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,203.05,T,203.05,M,6.00,N,,,D*62\r\n$IIMWV,335,T,03.61,N,A*24\r\n$IIVWT,025,L,03.61,N,01.86,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104019,,,,00,*45\r\n$IIDBT,120.50,f,036.73,M,019.85,F*23\r\n$GPGLL,6001.193,N,02328.439,E,104019,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.67,N,01.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,203.54,T,203.54,M,6.00,N,,,D*62\r\n$IIMWV,353,R,09.71,N,A*29\r\n$IIVWT,020,L,03.53,N,01.82,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104021,,,,00,*4E\r\n$IIDBT,120.27,f,036.66,M,019.81,F*23\r\n$GPGLL,6001.190,N,02328.436,E,104021,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,203.31,T,203.31,M,6.00,N,,,D*62\r\n$IIMWV,353,T,03.84,N,A*2F\r\n$IIVWT,008,L,03.84,N,01.98,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104023,,,,00,*4C\r\n$IIDBT,120.01,f,036.58,M,019.77,F*23\r\n$GPGLL,6001.185,N,02328.433,E,104023,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,203.03,T,203.03,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,002,L,03.88,N,02.00,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104025,,,,00,*4A\r\n$IIDBT,119.81,f,036.52,M,019.74,F*28\r\n$GPGLL,6001.182,N,02328.430,E,104025,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,203.08,T,203.08,M,6.00,N,,,D*62\r\n$IIMWV,003,T,04.08,N,A*2A\r\n$IIVWT,003,R,04.08,N,02.10,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104027,,,,00,*48\r\n$IIDBT,119.64,f,036.47,M,019.71,F*22\r\n$GPGLL,6001.179,N,02328.427,E,104027,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,202.59,T,202.59,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,004,L,03.73,N,01.92,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104029,,,,00,*46\r\n$IIDBT,119.45,f,036.41,M,019.68,F*2F\r\n$GPGLL,6001.176,N,02328.425,E,104029,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,201.07,T,201.07,M,6.00,N,,,D*62\r\n$IIMWV,357,T,04.23,N,A*21\r\n$IIVWT,003,L,04.23,N,02.18,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104031,,,,00,*4F\r\n$IIDBT,119.28,f,036.36,M,019.65,F*29\r\n$GPGLL,6001.173,N,02328.423,E,104031,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,199.67,T,199.67,M,6.00,N,,,D*62\r\n$IIMWV,002,R,10.49,N,A*2D\r\n$IIVWT,004,R,04.15,N,02.14,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104033,,,,00,*4D\r\n$IIDBT,119.32,f,036.37,M,019.65,F*23\r\n$GPGLL,6001.170,N,02328.421,E,104033,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.32,N,,*06\r\n$IIVTG,198.99,T,198.99,M,6.00,N,,,D*62\r\n$IIMWV,358,T,03.84,N,A*24\r\n$IIVWT,002,L,03.84,N,01.98,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104035,,,,00,*4B\r\n$IIDBT,119.09,f,036.30,M,019.62,F*2B\r\n$GPGLL,6001.167,N,02328.419,E,104035,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.32,N,,*06\r\n$IIVTG,198.35,T,198.35,M,6.08,N,,,D*6A\r\n$IIMWV,358,R,10.10,N,A*2D\r\n$IIVWT,005,L,03.79,N,01.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104037,,,,00,*49\r\n$IIDBT,118.89,f,036.24,M,019.58,F*2E\r\n$GPGLL,6001.163,N,02328.417,E,104038,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.28,N,,*0D\r\n$IIVTG,198.21,T,198.21,M,6.09,N,,,D*6B\r\n$IIMWV,356,T,03.79,N,A*28\r\n$IIVWT,004,L,03.79,N,01.95,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104039,,,,00,*47\r\n$IIDBT,118.73,f,036.19,M,019.56,F*2B\r\n$GPGLL,6001.160,N,02328.415,E,104040,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.28,N,01.69,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.39,N,,*0D\r\n$IIVTG,198.05,T,198.05,M,6.02,N,,,D*60\r\n$IIMWV,359,R,10.10,N,A*2C\r\n$IIVWT,003,L,03.75,N,01.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104041,,,,00,*48\r\n$IIDBT,118.59,f,036.15,M,019.54,F*2D\r\n$GPGLL,6001.157,N,02328.413,E,104042,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.35,N,,*01\r\n$IIVTG,197.41,T,197.41,M,6.01,N,,,D*63\r\n$IIMWV,357,T,03.77,N,A*27\r\n$IIVWT,003,L,03.77,N,01.94,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104043,,,,00,*4A\r\n$IIDBT,118.50,f,036.12,M,019.52,F*25\r\n$GPGLL,6001.154,N,02328.411,E,104044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,197.18,T,197.18,M,6.00,N,,,D*62\r\n$IIMWV,355,R,09.71,N,A*2F\r\n$IIVWT,014,L,03.49,N,01.80,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104045,,,,00,*4C\r\n$IIDBT,118.50,f,036.12,M,019.52,F*25\r\n$GPGLL,6001.151,N,02328.409,E,104046,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,197.00,T,197.00,M,6.00,N,,,D*62\r\n$IIMWV,350,T,03.18,N,A*29\r\n$IIVWT,010,L,03.18,N,01.64,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104047,,,,00,*4E\r\n$IIDBT,118.43,f,036.10,M,019.51,F*26\r\n$GPGLL,6001.147,N,02328.407,E,104048,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,196.92,T,196.92,M,6.00,N,,,D*62\r\n$IIMWV,001,R,10.10,N,A*22\r\n$IIVWT,003,R,03.79,N,01.95,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104050,,,,00,*48\r\n$IIDBT,118.30,f,036.06,M,019.49,F*2C\r\n$GPGLL,6001.144,N,02328.405,E,104050,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.38,N,,*0C\r\n$IIVTG,197.35,T,197.35,M,6.00,N,,,D*62\r\n$IIMWV,359,T,03.86,N,A*27\r\n$IIVWT,001,L,03.86,N,01.99,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104052,,,,00,*4A\r\n$IIDBT,118.27,f,036.05,M,019.48,F*28\r\n$GPGLL,6001.141,N,02328.403,E,104052,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,197.24,T,197.24,M,6.00,N,,,D*62\r\n$IIMWV,000,R,10.10,N,A*23\r\n$IIVWT,000,R,03.75,N,01.93,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104054,,,,00,*4C\r\n$IIDBT,118.14,f,036.01,M,019.46,F*22\r\n$GPGLL,6001.138,N,02328.401,E,104054,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,197.53,T,197.53,M,6.00,N,,,D*62\r\n$IIMWV,351,T,03.42,N,A*27\r\n$IIVWT,009,L,03.42,N,01.76,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104056,,,,00,*4E\r\n$IIDBT,117.97,f,035.96,M,019.43,F*2E\r\n$GPGLL,6001.134,N,02328.399,E,104056,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,197.86,T,197.86,M,6.05,N,,,D*67\r\n$IIMWV,357,R,09.71,N,A*2D\r\n$IIVWT,010,L,03.40,N,01.75,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104058,,,,00,*40\r\n$IIDBT,117.68,f,035.87,M,019.38,F*22\r\n$GPGLL,6001.131,N,02328.397,E,104058,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.33,N,,*07\r\n$IIVTG,198.34,T,198.34,M,6.01,N,,,D*63\r\n$IIMWV,350,T,03.82,N,A*2A\r\n$IIVWT,010,L,03.82,N,01.97,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104100,,,,00,*4C\r\n$IIDBT,117.41,f,035.79,M,019.34,F*24\r\n$GPGLL,6001.128,N,02328.395,E,104100,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,198.68,T,198.68,M,6.03,N,,,D*61\r\n$IIMWV,342,R,10.10,N,A*26\r\n$IIVWT,044,L,04.52,N,02.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104102,,,,00,*4E\r\n$IIDBT,117.18,f,035.72,M,019.30,F*27\r\n$GPGLL,6001.125,N,02328.393,E,104102,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,199.14,T,199.14,M,6.01,N,,,D*63\r\n$IIMWV,355,T,05.05,N,A*26\r\n$IIVWT,005,L,05.05,N,02.60,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104104,,,,00,*48\r\n$IIDBT,116.82,f,035.61,M,019.24,F*22\r\n$GPGLL,6001.122,N,02328.390,E,104104,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,198.96,T,198.96,M,6.05,N,,,D*67\r\n$IIMWV,353,R,10.49,N,A*2A\r\n$IIVWT,018,L,04.25,N,02.19,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104106,,,,00,*4A\r\n$IIDBT,116.56,f,035.53,M,019.20,F*2E\r\n$GPGLL,6001.117,N,02328.387,E,104106,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,198.72,T,198.72,M,6.09,N,,,D*6B\r\n$IIMWV,341,T,03.47,N,A*23\r\n$IIVWT,019,L,03.47,N,01.79,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104108,,,,00,*44\r\n$IIDBT,116.40,f,035.48,M,019.17,F*27\r\n$GPGLL,6001.114,N,02328.385,E,104108,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,198.18,T,198.18,M,6.10,N,,,D*63\r\n$IIMWV,347,R,09.71,N,A*2C\r\n$IIVWT,035,L,03.80,N,01.96,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104110,,,,00,*4D\r\n$IIDBT,116.17,f,035.41,M,019.14,F*2F\r\n$GPGLL,6001.111,N,02328.383,E,104110,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.39,N,,*0D\r\n$IIVTG,198.07,T,198.07,M,6.10,N,,,D*63\r\n$IIMWV,352,T,02.85,N,A*2E\r\n$IIVWT,008,L,02.85,N,01.47,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104112,,,,00,*4F\r\n$IIDBT,115.77,f,035.29,M,019.07,F*26\r\n$GPGLL,6001.107,N,02328.381,E,104112,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,197.87,T,197.87,M,6.05,N,,,D*67\r\n$IIMWV,347,R,10.49,N,A*2F\r\n$IIVWT,032,L,04.56,N,02.35,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104114,,,,00,*49\r\n$IIDBT,115.12,f,035.09,M,018.96,F*2E\r\n$GPGLL,6001.104,N,02328.379,E,104114,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,197.41,T,197.41,M,6.01,N,,,D*63\r\n$IIMWV,337,T,04.02,N,A*24\r\n$IIVWT,023,L,04.02,N,02.07,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104116,,,,00,*4B\r\n$IIDBT,114.46,f,034.89,M,018.85,F*25\r\n$GPGLL,6001.101,N,02328.377,E,104116,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,198.11,T,198.11,M,6.00,N,,,D*62\r\n$IIMWV,345,R,10.49,N,A*2D\r\n$IIVWT,035,L,04.62,N,02.38,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104118,,,,00,*45\r\n$IIDBT,113.80,f,034.69,M,018.75,F*29\r\n$GPGLL,6001.098,N,02328.375,E,104118,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,199.50,T,199.50,M,6.00,N,,,D*62\r\n$IIMWV,324,T,04.74,N,A*27\r\n$IIVWT,036,L,04.74,N,02.44,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104120,,,,00,*4E\r\n$IIDBT,113.18,f,034.50,M,018.64,F*22\r\n$GPGLL,6001.095,N,02328.372,E,104121,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,200.00,T,200.00,M,6.00,N,,,D*62\r\n$IIMWV,349,R,10.10,N,A*2D\r\n$IIVWT,028,L,04.04,N,02.08,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104122,,,,00,*4C\r\n$IIDBT,112.39,f,034.26,M,018.51,F*27\r\n$GPGLL,6001.091,N,02328.370,E,104123,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,199.70,T,199.70,M,6.05,N,,,D*67\r\n$IIMWV,324,T,04.25,N,A*23\r\n$IIVWT,036,L,04.25,N,02.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104124,,,,00,*4A\r\n$IIDBT,111.77,f,034.07,M,018.41,F*2C\r\n$GPGLL,6001.088,N,02328.368,E,104125,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,199.83,T,199.83,M,6.09,N,,,D*6B\r\n$IIMWV,351,R,10.10,N,A*24\r\n$IIVWT,023,L,04.00,N,02.06,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104126,,,,00,*48\r\n$IIDBT,110.95,f,033.82,M,018.28,F*24\r\n$GPGLL,6001.085,N,02328.366,E,104127,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.80,N,,*0A\r\n$IIVTG,199.58,T,199.58,M,6.05,N,,,D*67\r\n$IIMWV,314,T,04.25,N,A*20\r\n$IIVWT,047,L,04.25,N,02.19,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104128,,,,00,*46\r\n$IIDBT,110.23,f,033.60,M,018.16,F*28\r\n$GPGLL,6001.082,N,02328.364,E,104129,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,199.72,T,199.72,M,6.01,N,,,D*63\r\n$IIMWV,344,R,09.13,N,A*2B\r\n$IIVWT,046,L,03.47,N,01.79,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104131,,,,00,*4E\r\n$IIDBT,109.51,f,033.38,M,018.04,F*2B\r\n$GPGLL,6001.079,N,02328.361,E,104131,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,199.90,T,199.90,M,6.05,N,,,D*67\r\n$IIMWV,328,T,03.80,N,A*27\r\n$IIVWT,032,L,03.80,N,01.96,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104133,,,,00,*4C\r\n$IIDBT,108.69,f,033.13,M,017.90,F*2A\r\n$GPGLL,6001.076,N,02328.359,E,104133,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,200.08,T,200.08,M,6.09,N,,,D*6B\r\n$IIMWV,340,R,09.71,N,A*2B\r\n$IIVWT,052,L,04.35,N,02.24,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104135,,,,00,*4A\r\n$IIDBT,108.23,f,032.99,M,017.83,F*25\r\n$GPGLL,6001.072,N,02328.357,E,104135,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,200.05,T,200.05,M,6.10,N,,,D*63\r\n$IIMWV,318,T,03.96,N,A*23\r\n$IIVWT,042,L,03.96,N,02.04,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104137,,,,00,*48\r\n$IIDBT,107.37,f,032.73,M,017.69,F*2F\r\n$GPGLL,6001.069,N,02328.354,E,104137,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.49,N,,*08\r\n$IIVTG,199.74,T,199.74,M,6.10,N,,,D*63\r\n$IIMWV,345,R,09.71,N,A*2E\r\n$IIVWT,039,L,04.00,N,02.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104139,,,,00,*46\r\n$IIDBT,106.88,f,032.58,M,017.61,F*2B\r\n$GPGLL,6001.066,N,02328.352,E,104139,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,199.53,T,199.53,M,6.10,N,,,D*63\r\n$IIMWV,323,T,03.86,N,A*2A\r\n$IIVWT,037,L,03.86,N,01.99,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104141,,,,00,*49\r\n$IIDBT,105.87,f,032.27,M,017.44,F*28\r\n$GPGLL,6001.063,N,02328.350,E,104141,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,199.83,T,199.83,M,6.10,N,,,D*63\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,034,L,03.75,N,01.93,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104143,,,,00,*4B\r\n$IIDBT,105.11,f,032.04,M,017.31,F*24\r\n$GPGLL,6001.060,N,02328.348,E,104143,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,200.41,T,200.41,M,6.10,N,,,D*63\r\n$IIMWV,317,T,03.82,N,A*29\r\n$IIVWT,044,L,03.82,N,01.97,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104145,,,,00,*4D\r\n$IIDBT,104.62,f,031.89,M,017.23,F*24\r\n$GPGLL,6001.057,N,02328.345,E,104145,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,200.10,T,200.10,M,6.10,N,,,D*63\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,034,L,03.71,N,01.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104147,,,,00,*4F\r\n$IIDBT,103.90,f,031.67,M,017.11,F*2F\r\n$GPGLL,6001.053,N,02328.343,E,104147,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.58,N,,*08\r\n$IIVTG,199.52,T,199.52,M,6.10,N,,,D*63\r\n$IIMWV,306,T,04.93,N,A*2E\r\n$IIVWT,054,L,04.93,N,02.54,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104149,,,,00,*41\r\n$IIDBT,102.95,f,031.38,M,016.96,F*2F\r\n$GPGLL,6001.049,N,02328.340,E,104149,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,199.98,T,199.98,M,6.02,N,,,D*60\r\n$IIMWV,344,R,09.13,N,A*2B\r\n$IIVWT,045,L,03.53,N,01.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104151,,,,00,*48\r\n$IIDBT,102.35,f,031.20,M,016.86,F*2D\r\n$GPGLL,6001.046,N,02328.337,E,104151,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,200.71,T,200.71,M,6.03,N,,,D*61\r\n$IIMWV,314,T,02.99,N,A*21\r\n$IIVWT,046,L,02.99,N,01.54,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104153,,,,00,*4A\r\n$IIDBT,101.60,f,030.97,M,016.74,F*2E\r\n$GPGLL,6001.042,N,02328.335,E,104153,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,200.95,T,200.95,M,6.08,N,,,D*6A\r\n$IIMWV,346,R,08.74,N,A*29\r\n$IIVWT,045,L,03.03,N,01.56,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104155,,,,00,*4C\r\n$IIDBT,100.81,f,030.73,M,016.61,F*2E\r\n$GPGLL,6001.039,N,02328.332,E,104155,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,201.36,T,201.36,M,6.07,N,,,D*65\r\n$IIMWV,307,T,03.32,N,A*23\r\n$IIVWT,053,L,03.32,N,01.71,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104157,,,,00,*4E\r\n$IIDBT,100.22,f,030.55,M,016.51,F*20\r\n$GPGLL,6001.036,N,02328.330,E,104157,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,3.77,N,,*02\r\n$IIVTG,201.39,T,201.39,M,6.09,N,,,D*6B\r\n$IIMWV,342,R,09.52,N,A*28\r\n$IIVWT,048,L,04.04,N,02.08,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104159,,,,00,*40\r\n$IIDBT,099.66,f,030.38,M,016.42,F*28\r\n$GPGLL,6001.033,N,02328.328,E,104159,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.67,N,01.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,200.87,T,200.87,M,6.10,N,,,D*63\r\n$IIMWV,325,T,03.55,N,A*22\r\n$IIVWT,035,L,03.55,N,01.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104201,,,,00,*4E\r\n$IIDBT,098.88,f,030.14,M,016.29,F*2A\r\n$GPGLL,6001.030,N,02328.325,E,104201,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,200.54,T,200.54,M,6.10,N,,,D*63\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,033,L,03.09,N,01.59,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104203,,,,00,*4C\r\n$IIDBT,098.25,f,029.95,M,016.18,F*2E\r\n$GPGLL,6001.027,N,02328.323,E,104204,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.61,N,01.86,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,200.81,T,200.81,M,6.05,N,,,D*67\r\n$IIMWV,312,T,03.07,N,A*21\r\n$IIVWT,048,L,03.07,N,01.58,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104205,,,,00,*4A\r\n$IIDBT,097.66,f,029.77,M,016.09,F*2A\r\n$GPGLL,6001.024,N,02328.320,E,104206,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,200.63,T,200.63,M,6.01,N,,,D*63\r\n$IIMWV,359,R,08.55,N,A*24\r\n$IIVWT,004,L,02.19,N,01.13,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104207,,,,00,*48\r\n$IIDBT,097.11,f,029.60,M,015.99,F*26\r\n$GPGLL,6001.020,N,02328.318,E,104208,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,200.46,T,200.46,M,6.08,N,,,D*6A\r\n$IIMWV,340,T,02.52,N,A*27\r\n$IIVWT,020,L,02.52,N,01.30,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104209,,,,00,*46\r\n$IIDBT,096.48,f,029.41,M,015.89,F*29\r\n$GPGLL,6001.017,N,02328.316,E,104210,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,200.49,T,200.49,M,6.09,N,,,D*6B\r\n$IIMWV,351,R,08.55,N,A*2C\r\n$IIVWT,034,L,02.46,N,01.27,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104211,,,,00,*4F\r\n$IIDBT,095.96,f,029.25,M,015.81,F*23\r\n$GPGLL,6001.014,N,02328.313,E,104212,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,200.54,T,200.54,M,6.10,N,,,D*63\r\n$IIMWV,323,T,02.07,N,A*22\r\n$IIVWT,037,L,02.07,N,01.07,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104214,,,,00,*4A\r\n$IIDBT,095.43,f,029.09,M,015.72,F*29\r\n$GPGLL,6001.011,N,02328.311,E,104214,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,200.41,T,200.41,M,6.02,N,,,D*60\r\n$IIMWV,348,R,08.55,N,A*24\r\n$IIVWT,043,L,02.66,N,01.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104216,,,,00,*48\r\n$IIDBT,094.87,f,028.92,M,015.63,F*23\r\n$GPGLL,6001.008,N,02328.309,E,104216,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,4.16,N,,*02\r\n$IIVTG,200.43,T,200.43,M,6.08,N,,,D*6A\r\n$IIMWV,312,T,03.24,N,A*20\r\n$IIVWT,048,L,03.24,N,01.67,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104218,,,,00,*46\r\n$IIDBT,094.61,f,028.84,M,015.58,F*24\r\n$GPGLL,6001.005,N,02328.307,E,104218,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,4.74,N,,*06\r\n$IIVTG,200.06,T,200.06,M,6.10,N,,,D*63\r\n$IIMWV,346,R,08.74,N,A*29\r\n$IIVWT,046,L,02.89,N,01.49,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104220,,,,00,*4D\r\n$IIDBT,094.05,f,028.67,M,015.49,F*2B\r\n$GPGLL,6001.002,N,02328.304,E,104220,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,199.67,T,199.67,M,6.10,N,,,D*63\r\n$IIMWV,339,T,02.83,N,A*25\r\n$IIVWT,021,L,02.83,N,01.46,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104222,,,,00,*4F\r\n$IIDBT,093.73,f,028.57,M,015.44,F*23\r\n$GPGLL,6000.998,N,02328.302,E,104222,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,199.12,T,199.12,M,6.10,N,,,D*63\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,024,L,03.38,N,01.74,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104224,,,,00,*49\r\n$IIDBT,093.53,f,028.51,M,015.41,F*22\r\n$GPGLL,6000.995,N,02328.300,E,104224,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,5.50,N,,*01\r\n$IIVTG,198.50,T,198.50,M,6.10,N,,,D*63\r\n$IIMWV,329,T,03.49,N,A*23\r\n$IIVWT,031,L,03.49,N,01.80,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104226,,,,00,*4B\r\n$IIDBT,093.20,f,028.41,M,015.35,F*24\r\n$GPGLL,6000.992,N,02328.298,E,104226,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.32,N,,*06\r\n$IIVTG,197.60,T,197.60,M,6.05,N,,,D*67\r\n$IIMWV,357,R,09.13,N,A*29\r\n$IIVWT,009,L,02.87,N,01.48,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104228,,,,00,*45\r\n$IIDBT,092.74,f,028.27,M,015.28,F*28\r\n$GPGLL,6000.989,N,02328.296,E,104228,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,198.02,T,198.02,M,6.01,N,,,D*63\r\n$IIMWV,344,T,03.20,N,A*27\r\n$IIVWT,016,L,03.20,N,01.65,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104230,,,,00,*4C\r\n$IIDBT,092.35,f,028.15,M,015.21,F*25\r\n$GPGLL,6000.986,N,02328.294,E,104230,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.60,N,,*04\r\n$IIVTG,199.96,T,199.96,M,6.00,N,,,D*62\r\n$IIMWV,343,R,09.71,N,A*28\r\n$IIVWT,045,L,04.14,N,02.13,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104232,,,,00,*4E\r\n$IIDBT,092.09,f,028.07,M,015.17,F*2C\r\n$GPGLL,6000.981,N,02328.290,E,104232,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.64,N,,*00\r\n$IIVTG,201.33,T,201.33,M,6.03,N,,,D*61\r\n$IIMWV,303,T,04.31,N,A*23\r\n$IIVWT,057,L,04.31,N,02.22,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104234,,,,00,*48\r\n$IIDBT,091.79,f,027.98,M,015.12,F*24\r\n$GPGLL,6000.978,N,02328.287,E,104234,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,201.18,T,201.18,M,6.06,N,,,D*64\r\n$IIMWV,354,R,09.52,N,A*2F\r\n$IIVWT,020,L,03.22,N,01.66,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104236,,,,00,*4A\r\n$IIDBT,091.56,f,027.91,M,015.08,F*2B\r\n$GPGLL,6000.975,N,02328.285,E,104236,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,201.25,T,201.25,M,6.09,N,,,D*6B\r\n$IIMWV,346,T,03.46,N,A*25\r\n$IIVWT,014,L,03.46,N,01.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104238,,,,00,*44\r\n$IIDBT,091.23,f,027.81,M,015.03,F*23\r\n$GPGLL,6000.972,N,02328.283,E,104238,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,200.51,T,200.51,M,6.05,N,,,D*67\r\n$IIMWV,349,R,10.49,N,A*21\r\n$IIVWT,026,L,04.39,N,02.26,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104240,,,,00,*4B\r\n$IIDBT,090.90,f,027.71,M,014.97,F*29\r\n$GPGLL,6000.968,N,02328.280,E,104240,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,199.85,T,199.85,M,6.01,N,,,D*63\r\n$IIMWV,329,T,04.52,N,A*2E\r\n$IIVWT,032,L,04.52,N,02.33,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104242,,,,00,*49\r\n$IIDBT,090.64,f,027.63,M,014.93,F*25\r\n$GPGLL,6000.965,N,02328.278,E,104242,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,199.61,T,199.61,M,6.00,N,,,D*62\r\n$IIMWV,001,R,10.10,N,A*22\r\n$IIVWT,002,R,03.71,N,01.91,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104244,,,,00,*4F\r\n$IIDBT,090.35,f,027.54,M,014.88,F*2F\r\n$GPGLL,6000.962,N,02328.276,E,104245,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,199.13,T,199.13,M,6.03,N,,,D*61\r\n$IIMWV,345,T,04.29,N,A*28\r\n$IIVWT,015,L,04.29,N,02.21,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104246,,,,00,*4D\r\n$IIDBT,090.22,f,027.50,M,014.86,F*23\r\n$GPGLL,6000.959,N,02328.274,E,104247,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,198.61,T,198.61,M,6.01,N,,,D*63\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,007,L,04.12,N,02.12,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104248,,,,00,*43\r\n$IIDBT,090.05,f,027.45,M,014.83,F*27\r\n$GPGLL,6000.956,N,02328.272,E,104249,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,198.83,T,198.83,M,6.00,N,,,D*62\r\n$IIMWV,342,T,04.25,N,A*23\r\n$IIVWT,018,L,04.25,N,02.19,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104250,,,,00,*4A\r\n$IIDBT,089.79,f,027.37,M,014.79,F*24\r\n$GPGLL,6000.953,N,02328.270,E,104251,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,198.68,T,198.68,M,6.00,N,,,D*62\r\n$IIMWV,354,R,10.88,N,A*20\r\n$IIVWT,015,L,04.60,N,02.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104252,,,,00,*48\r\n$IIDBT,089.59,f,027.31,M,014.76,F*2F\r\n$GPGLL,6000.949,N,02328.268,E,104253,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.49,N,02.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,198.82,T,198.82,M,6.00,N,,,D*62\r\n$IIMWV,327,T,04.95,N,A*2B\r\n$IIVWT,033,L,04.95,N,02.55,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104254,,,,00,*4E\r\n$IIDBT,089.49,f,027.28,M,014.74,F*24\r\n$GPGLL,6000.946,N,02328.265,E,104255,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,199.35,T,199.35,M,6.00,N,,,D*62\r\n$IIMWV,350,R,11.07,N,A*22\r\n$IIVWT,023,L,04.91,N,02.53,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104257,,,,00,*4D\r\n$IIDBT,089.30,f,027.22,M,014.71,F*25\r\n$GPGLL,6000.943,N,02328.263,E,104257,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,198.34,T,198.34,M,6.03,N,,,D*61\r\n$IIMWV,349,T,04.76,N,A*2E\r\n$IIVWT,011,L,04.76,N,02.45,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104259,,,,00,*43\r\n$IIDBT,089.17,f,027.18,M,014.69,F*20\r\n$GPGLL,6000.940,N,02328.261,E,104259,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,197.81,T,197.81,M,6.01,N,,,D*63\r\n$IIMWV,355,R,10.49,N,A*2C\r\n$IIVWT,014,L,04.17,N,02.15,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104301,,,,00,*4F\r\n$IIDBT,089.00,f,027.13,M,014.66,F*22\r\n$GPGLL,6000.937,N,02328.259,E,104301,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,198.28,T,198.28,M,6.00,N,,,D*62\r\n$IIMWV,007,T,04.21,N,A*25\r\n$IIVWT,007,R,04.21,N,02.17,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104303,,,,00,*4D\r\n$IIDBT,088.94,f,027.11,M,014.65,F*2F\r\n$GPGLL,6000.934,N,02328.257,E,104303,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,198.62,T,198.62,M,6.00,N,,,D*62\r\n$IIMWV,353,R,10.10,N,A*26\r\n$IIVWT,020,L,03.82,N,01.97,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104305,,,,00,*4B\r\n$IIDBT,088.84,f,027.08,M,014.63,F*20\r\n$GPGLL,6000.930,N,02328.255,E,104305,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.38,N,01.74,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,198.33,T,198.33,M,6.00,N,,,D*62\r\n$IIMWV,327,T,04.23,N,A*26\r\n$IIVWT,033,L,04.23,N,02.18,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104307,,,,00,*49\r\n$IIDBT,088.74,f,027.05,M,014.62,F*23\r\n$GPGLL,6000.927,N,02328.253,E,104307,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,198.30,T,198.30,M,6.00,N,,,D*62\r\n$IIMWV,350,R,10.49,N,A*29\r\n$IIVWT,026,L,04.39,N,02.26,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104309,,,,00,*47\r\n$IIDBT,088.58,f,027.00,M,014.59,F*20\r\n$GPGLL,6000.924,N,02328.251,E,104309,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,198.85,T,198.85,M,6.00,N,,,D*62\r\n$IIMWV,340,T,04.97,N,A*28\r\n$IIVWT,020,L,04.97,N,02.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104311,,,,00,*4E\r\n$IIDBT,088.54,f,026.99,M,014.58,F*2C\r\n$GPGLL,6000.921,N,02328.248,E,104311,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.25,N,,*00\r\n$IIVTG,199.09,T,199.09,M,6.00,N,,,D*62\r\n$IIMWV,357,R,10.49,N,A*2E\r\n$IIVWT,007,L,04.21,N,02.17,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104313,,,,00,*4C\r\n$IIDBT,088.38,f,026.94,M,014.56,F*25\r\n$GPGLL,6000.918,N,02328.246,E,104313,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,199.70,T,199.70,M,6.00,N,,,D*62\r\n$IIMWV,357,T,04.56,N,A*23\r\n$IIVWT,003,L,04.56,N,02.35,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104315,,,,00,*4A\r\n$IIDBT,088.28,f,026.91,M,014.54,F*23\r\n$GPGLL,6000.913,N,02328.243,E,104315,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,198.97,T,198.97,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.88,N,A*2D\r\n$IIVWT,003,L,04.56,N,02.35,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104317,,,,00,*48\r\n$IIDBT,088.15,f,026.87,M,014.52,F*2C\r\n$GPGLL,6000.910,N,02328.241,E,104317,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,199.34,T,199.34,M,6.00,N,,,D*62\r\n$IIMWV,349,T,04.19,N,A*27\r\n$IIVWT,011,L,04.19,N,02.16,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104319,,,,00,*46\r\n$IIDBT,088.12,f,026.86,M,014.51,F*29\r\n$GPGLL,6000.907,N,02328.238,E,104319,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,199.81,T,199.81,M,6.00,N,,,D*62\r\n$IIMWV,349,R,11.85,N,A*20\r\n$IIVWT,022,L,05.87,N,03.02,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104321,,,,00,*4D\r\n$IIDBT,088.08,f,026.85,M,014.51,F*21\r\n$GPGLL,6000.904,N,02328.236,E,104321,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,200.35,T,200.35,M,6.00,N,,,D*62\r\n$IIMWV,354,T,04.87,N,A*2C\r\n$IIVWT,006,L,04.87,N,02.51,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104323,,,,00,*4F\r\n$IIDBT,087.99,f,026.82,M,014.49,F*28\r\n$GPGLL,6000.901,N,02328.234,E,104323,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.39,N,,*0D\r\n$IIVTG,200.76,T,200.76,M,6.00,N,,,D*62\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,002,L,05.57,N,02.87,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104325,,,,00,*49\r\n$IIDBT,087.99,f,026.82,M,014.49,F*28\r\n$GPGLL,6000.898,N,02328.231,E,104325,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,201.09,T,201.09,M,6.00,N,,,D*62\r\n$IIMWV,347,T,04.80,N,A*29\r\n$IIVWT,013,L,04.80,N,02.47,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104327,,,,00,*4B\r\n$IIDBT,088.02,f,026.83,M,014.50,F*2C\r\n$GPGLL,6000.895,N,02328.229,E,104328,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,201.80,T,201.80,M,6.00,N,,,D*62\r\n$IIMWV,000,R,11.07,N,A*24\r\n$IIVWT,000,R,04.76,N,02.45,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104329,,,,00,*45\r\n$IIDBT,087.92,f,026.80,M,014.48,F*20\r\n$GPGLL,6000.892,N,02328.226,E,104330,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.31,N,,*05\r\n$IIVTG,202.52,T,202.52,M,6.00,N,,,D*62\r\n$IIMWV,007,T,04.62,N,A*22\r\n$IIVWT,007,R,04.62,N,02.38,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104331,,,,00,*4C\r\n$IIDBT,088.05,f,026.84,M,014.50,F*2C\r\n$GPGLL,6000.888,N,02328.224,E,104332,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,202.73,T,202.73,M,6.00,N,,,D*62\r\n$IIMWV,002,R,11.07,N,A*26\r\n$IIVWT,003,R,04.80,N,02.47,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104333,,,,00,*4E\r\n$IIDBT,087.95,f,026.81,M,014.49,F*27\r\n$GPGLL,6000.885,N,02328.221,E,104334,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.33,N,,*07\r\n$IIVTG,202.41,T,202.41,M,6.00,N,,,D*62\r\n$IIMWV,002,T,04.60,N,A*25\r\n$IIVWT,002,R,04.60,N,02.37,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104335,,,,00,*48\r\n$IIDBT,088.08,f,026.85,M,014.51,F*21\r\n$GPGLL,6000.882,N,02328.219,E,104336,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.30,N,,*04\r\n$IIVTG,201.78,T,201.78,M,6.00,N,,,D*62\r\n$IIMWV,359,R,11.07,N,A*2B\r\n$IIVWT,002,L,04.70,N,02.42,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104337,,,,00,*4A\r\n$IIDBT,088.12,f,026.86,M,014.51,F*29\r\n$GPGLL,6000.879,N,02328.216,E,104338,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,201.67,T,201.67,M,6.00,N,,,D*62\r\n$IIMWV,354,T,04.76,N,A*22\r\n$IIVWT,007,L,04.76,N,02.45,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104340,,,,00,*4A\r\n$IIDBT,088.25,f,026.90,M,014.54,F*2F\r\n$GPGLL,6000.876,N,02328.214,E,104340,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.35,N,,*01\r\n$IIVTG,200.12,T,200.12,M,6.00,N,,,D*62\r\n$IIMWV,005,R,10.88,N,A*27\r\n$IIVWT,011,R,04.62,N,02.38,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104342,,,,00,*48\r\n$IIDBT,088.35,f,026.93,M,014.55,F*2C\r\n$GPGLL,6000.873,N,02328.212,E,104342,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,199.63,T,199.63,M,6.00,N,,,D*62\r\n$IIMWV,351,T,04.60,N,A*20\r\n$IIVWT,009,L,04.60,N,02.37,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104344,,,,00,*4E\r\n$IIDBT,088.58,f,027.00,M,014.59,F*20\r\n$GPGLL,6000.870,N,02328.209,E,104344,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,199.56,T,199.56,M,6.00,N,,,D*62\r\n$IIMWV,359,R,11.85,N,A*21\r\n$IIVWT,002,L,05.59,N,02.88,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104346,,,,00,*4C\r\n$IIDBT,088.74,f,027.05,M,014.62,F*23\r\n$GPGLL,6000.867,N,02328.207,E,104346,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,198.84,T,198.84,M,6.00,N,,,D*62\r\n$IIMWV,007,T,06.12,N,A*27\r\n$IIVWT,007,R,06.12,N,03.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104348,,,,00,*42\r\n$IIDBT,089.00,f,027.13,M,014.66,F*22\r\n$GPGLL,6000.863,N,02328.205,E,104348,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.32,N,,*06\r\n$IIVTG,197.78,T,197.78,M,6.00,N,,,D*62\r\n$IIMWV,001,R,11.85,N,A*2F\r\n$IIVWT,002,R,05.53,N,02.85,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104350,,,,00,*4B\r\n$IIDBT,089.07,f,027.15,M,014.67,F*22\r\n$GPGLL,6000.860,N,02328.203,E,104350,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,197.17,T,197.17,M,6.00,N,,,D*62\r\n$IIMWV,005,T,04.56,N,A*27\r\n$IIVWT,005,R,04.56,N,02.35,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104352,,,,00,*49\r\n$IIDBT,089.23,f,027.20,M,014.70,F*24\r\n$GPGLL,6000.857,N,02328.202,E,104352,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,196.99,T,196.99,M,6.00,N,,,D*62\r\n$IIMWV,360,R,10.49,N,A*2A\r\n$IIVWT,001,L,04.21,N,02.17,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104354,,,,00,*4F\r\n$IIDBT,089.26,f,027.21,M,014.70,F*20\r\n$GPGLL,6000.854,N,02328.200,E,104354,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,197.02,T,197.02,M,6.00,N,,,D*62\r\n$IIMWV,344,T,04.85,N,A*2F\r\n$IIVWT,016,L,04.85,N,02.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104356,,,,00,*4D\r\n$IIDBT,089.33,f,027.23,M,014.71,F*27\r\n$GPGLL,6000.851,N,02328.198,E,104356,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,196.83,T,196.83,M,6.00,N,,,D*62\r\n$IIMWV,359,R,10.88,N,A*2D\r\n$IIVWT,003,L,04.54,N,02.34,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104358,,,,00,*43\r\n$IIDBT,089.36,f,027.24,M,014.72,F*26\r\n$GPGLL,6000.846,N,02328.195,E,104358,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.27,N,,*02\r\n$IIVTG,197.07,T,197.07,M,6.00,N,,,D*62\r\n$IIMWV,358,T,05.15,N,A*2A\r\n$IIVWT,002,L,05.15,N,02.65,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104400,,,,00,*49\r\n$IIDBT,089.40,f,027.25,M,014.72,F*26\r\n$GPGLL,6000.843,N,02328.193,E,104400,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.35,N,,*01\r\n$IIVTG,197.22,T,197.22,M,6.00,N,,,D*62\r\n$IIMWV,359,R,12.44,N,A*2F\r\n$IIVWT,003,L,06.14,N,03.16,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104402,,,,00,*4B\r\n$IIDBT,089.26,f,027.21,M,014.70,F*20\r\n$GPGLL,6000.840,N,02328.191,E,104402,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,197.11,T,197.11,M,6.00,N,,,D*62\r\n$IIMWV,347,T,05.61,N,A*27\r\n$IIVWT,013,L,05.61,N,02.89,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104404,,,,00,*4D\r\n$IIDBT,089.20,f,027.19,M,014.69,F*25\r\n$GPGLL,6000.836,N,02328.189,E,104404,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,197.00,T,197.00,M,6.00,N,,,D*62\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,013,L,05.15,N,02.65,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104406,,,,00,*4F\r\n$IIDBT,089.03,f,027.14,M,014.66,F*26\r\n$GPGLL,6000.833,N,02328.187,E,104406,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,197.12,T,197.12,M,6.00,N,,,D*62\r\n$IIMWV,352,T,05.77,N,A*24\r\n$IIVWT,008,L,05.77,N,02.97,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104408,,,,00,*41\r\n$IIDBT,088.81,f,027.07,M,014.63,F*2A\r\n$GPGLL,6000.830,N,02328.185,E,104408,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.22,N,03.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,197.75,T,197.75,M,5.98,N,,,D*60\r\n$IIMWV,351,R,12.82,N,A*2D\r\n$IIVWT,017,L,06.62,N,03.41,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104410,,,,00,*48\r\n$IIDBT,088.41,f,026.95,M,014.56,F*2A\r\n$GPGLL,6000.827,N,02328.183,E,104411,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,198.27,T,198.27,M,5.99,N,,,D*61\r\n$IIMWV,344,T,05.94,N,A*2E\r\n$IIVWT,016,L,05.94,N,03.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104412,,,,00,*4A\r\n$IIDBT,088.02,f,026.83,M,014.50,F*2C\r\n$GPGLL,6000.824,N,02328.181,E,104413,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,198.17,T,198.17,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.85,N,A*2B\r\n$IIVWT,014,L,05.67,N,02.92,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104414,,,,00,*4C\r\n$IIDBT,087.56,f,026.69,M,014.42,F*25\r\n$GPGLL,6000.821,N,02328.179,E,104415,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,198.14,T,198.14,M,6.00,N,,,D*62\r\n$IIMWV,352,T,05.53,N,A*22\r\n$IIVWT,008,L,05.53,N,02.85,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104416,,,,00,*4E\r\n$IIDBT,087.00,f,026.52,M,014.33,F*28\r\n$GPGLL,6000.817,N,02328.177,E,104417,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,198.28,T,198.28,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.85,N,A*2B\r\n$IIVWT,014,L,05.57,N,02.87,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104418,,,,00,*40\r\n$IIDBT,086.61,f,026.40,M,014.26,F*29\r\n$GPGLL,6000.814,N,02328.175,E,104419,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,198.17,T,198.17,M,6.00,N,,,D*62\r\n$IIMWV,343,T,05.88,N,A*24\r\n$IIVWT,017,L,05.88,N,03.03,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104420,,,,00,*4B\r\n$IIDBT,086.08,f,026.24,M,014.18,F*29\r\n$GPGLL,6000.811,N,02328.173,E,104421,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,197.14,T,197.14,M,6.00,N,,,D*62\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,018,L,06.29,N,03.24,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104423,,,,00,*48\r\n$IIDBT,085.66,f,026.11,M,014.11,F*2D\r\n$GPGLL,6000.808,N,02328.171,E,104423,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,196.46,T,196.46,M,6.00,N,,,D*62\r\n$IIMWV,341,T,05.96,N,A*29\r\n$IIVWT,020,L,05.96,N,03.07,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104425,,,,00,*4E\r\n$IIDBT,085.13,f,025.95,M,014.02,F*22\r\n$GPGLL,6000.805,N,02328.169,E,104425,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,197.79,T,197.79,M,5.97,N,,,D*6F\r\n$IIMWV,349,R,11.85,N,A*20\r\n$IIVWT,023,L,05.83,N,03.00,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104427,,,,00,*4C\r\n$IIDBT,084.57,f,025.78,M,013.93,F*2F\r\n$GPGLL,6000.801,N,02328.167,E,104427,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,199.05,T,199.05,M,5.99,N,,,D*61\r\n$IIMWV,343,T,05.32,N,A*25\r\n$IIVWT,017,L,05.32,N,02.74,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104429,,,,00,*42\r\n$IIDBT,084.05,f,025.62,M,013.84,F*25\r\n$GPGLL,6000.798,N,02328.165,E,104429,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,198.66,T,198.66,M,6.00,N,,,D*62\r\n$IIMWV,353,R,11.07,N,A*21\r\n$IIVWT,016,L,04.82,N,02.48,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104431,,,,00,*4B\r\n$IIDBT,083.52,f,025.46,M,013.76,F*2B\r\n$GPGLL,6000.795,N,02328.162,E,104431,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,198.84,T,198.84,M,6.00,N,,,D*62\r\n$IIMWV,331,T,05.15,N,A*25\r\n$IIVWT,030,L,05.15,N,02.65,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104433,,,,00,*49\r\n$IIDBT,083.10,f,025.33,M,013.69,F*21\r\n$GPGLL,6000.792,N,02328.160,E,104433,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,198.94,T,198.94,M,6.00,N,,,D*62\r\n$IIMWV,349,R,11.85,N,A*20\r\n$IIVWT,024,L,05.73,N,02.95,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104435,,,,00,*4F\r\n$IIDBT,082.60,f,025.18,M,013.61,F*26\r\n$GPGLL,6000.789,N,02328.158,E,104435,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,198.98,T,198.98,M,6.00,N,,,D*62\r\n$IIMWV,336,T,05.83,N,A*2D\r\n$IIVWT,024,L,05.83,N,03.00,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104437,,,,00,*4D\r\n$IIDBT,082.15,f,025.04,M,013.53,F*28\r\n$GPGLL,6000.786,N,02328.156,E,104437,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,198.74,T,198.74,M,6.00,N,,,D*62\r\n$IIMWV,352,R,11.46,N,A*25\r\n$IIVWT,019,L,05.17,N,02.66,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104439,,,,00,*43\r\n$IIDBT,081.85,f,024.95,M,013.48,F*21\r\n$GPGLL,6000.783,N,02328.154,E,104439,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,198.36,T,198.36,M,6.00,N,,,D*62\r\n$IIMWV,341,T,04.97,N,A*29\r\n$IIVWT,020,L,04.97,N,02.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104441,,,,00,*4C\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,6000.778,N,02328.151,E,104441,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,197.50,T,197.50,M,6.00,N,,,D*62\r\n$IIMWV,349,R,11.07,N,A*2A\r\n$IIVWT,025,L,05.05,N,02.60,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104443,,,,00,*4E\r\n$IIDBT,081.03,f,024.70,M,013.35,F*2E\r\n$GPGLL,6000.775,N,02328.149,E,104443,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,197.40,T,197.40,M,6.00,N,,,D*62\r\n$IIMWV,329,T,05.57,N,A*2A\r\n$IIVWT,031,L,05.57,N,02.87,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104445,,,,00,*48\r\n$IIDBT,080.83,f,024.64,M,013.31,F*26\r\n$GPGLL,6000.772,N,02328.147,E,104445,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,197.42,T,197.42,M,6.00,N,,,D*62\r\n$IIMWV,343,R,11.07,N,A*20\r\n$IIVWT,039,L,05.30,N,02.73,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104447,,,,00,*4A\r\n$IIDBT,080.37,f,024.50,M,013.24,F*2A\r\n$GPGLL,6000.768,N,02328.145,E,104447,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,197.51,T,197.51,M,6.00,N,,,D*62\r\n$IIMWV,327,T,05.55,N,A*26\r\n$IIVWT,033,L,05.55,N,02.86,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104449,,,,00,*44\r\n$IIDBT,080.08,f,024.41,M,013.19,F*28\r\n$GPGLL,6000.765,N,02328.143,E,104449,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,197.65,T,197.65,M,6.00,N,,,D*62\r\n$IIMWV,348,R,11.46,N,A*2E\r\n$IIVWT,026,L,05.50,N,02.83,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104451,,,,00,*4D\r\n$IIDBT,079.85,f,024.34,M,013.15,F*25\r\n$GPGLL,6000.762,N,02328.141,E,104451,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,198.71,T,198.71,M,6.00,N,,,D*62\r\n$IIMWV,323,T,06.23,N,A*20\r\n$IIVWT,037,L,06.23,N,03.21,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104453,,,,00,*4F\r\n$IIDBT,079.49,f,024.23,M,013.09,F*2E\r\n$GPGLL,6000.759,N,02328.139,E,104454,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,198.68,T,198.68,M,6.00,N,,,D*62\r\n$IIMWV,340,R,11.07,N,A*23\r\n$IIVWT,043,L,05.53,N,02.85,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104455,,,,00,*49\r\n$IIDBT,079.29,f,024.17,M,013.06,F*20\r\n$GPGLL,6000.756,N,02328.137,E,104456,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,198.17,T,198.17,M,6.00,N,,,D*62\r\n$IIMWV,322,T,05.30,N,A*20\r\n$IIVWT,038,L,05.30,N,02.73,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104457,,,,00,*4B\r\n$IIDBT,079.13,f,024.12,M,013.03,F*29\r\n$GPGLL,6000.752,N,02328.135,E,104458,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.46,N,,*07\r\n$IIVTG,197.77,T,197.77,M,6.00,N,,,D*62\r\n$IIMWV,340,R,11.07,N,A*23\r\n$IIVWT,043,L,05.63,N,02.90,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104459,,,,00,*45\r\n$IIDBT,078.90,f,024.05,M,012.99,F*27\r\n$GPGLL,6000.749,N,02328.133,E,104500,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.51,N,,*01\r\n$IIVTG,197.72,T,197.72,M,6.00,N,,,D*62\r\n$IIMWV,318,T,05.50,N,A*2F\r\n$IIVWT,042,L,05.50,N,02.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104501,,,,00,*49\r\n$IIDBT,078.67,f,023.98,M,012.96,F*23\r\n$GPGLL,6000.746,N,02328.131,E,104502,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,197.61,T,197.61,M,6.00,N,,,D*62\r\n$IIMWV,338,R,11.07,N,A*2C\r\n$IIVWT,046,L,05.71,N,02.94,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104503,,,,00,*4B\r\n$IIDBT,078.47,f,023.92,M,012.92,F*2F\r\n$GPGLL,6000.743,N,02328.129,E,104504,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.31,N,,*07\r\n$IIVTG,197.60,T,197.60,M,6.00,N,,,D*62\r\n$IIMWV,317,T,05.38,N,A*2E\r\n$IIVWT,043,L,05.38,N,02.77,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104506,,,,00,*4E\r\n$IIDBT,078.44,f,023.91,M,012.92,F*2F\r\n$GPGLL,6000.740,N,02328.127,E,104506,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.48,N,,*09\r\n$IIVTG,197.28,T,197.28,M,6.00,N,,,D*62\r\n$IIMWV,338,R,10.88,N,A*2A\r\n$IIVWT,049,L,05.55,N,02.86,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104508,,,,00,*40\r\n$IIDBT,078.21,f,023.84,M,012.88,F*23\r\n$GPGLL,6000.737,N,02328.125,E,104508,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.28,N,,*0F\r\n$IIVTG,196.97,T,196.97,M,6.00,N,,,D*62\r\n$IIMWV,313,T,05.83,N,A*2A\r\n$IIVWT,047,L,05.83,N,03.00,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104510,,,,00,*49\r\n$IIDBT,078.14,f,023.82,M,012.87,F*2C\r\n$GPGLL,6000.733,N,02328.123,E,104510,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,196.86,T,196.86,M,6.00,N,,,D*62\r\n$IIMWV,337,R,11.85,N,A*29\r\n$IIVWT,045,L,06.47,N,03.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104512,,,,00,*4B\r\n$IIDBT,078.04,f,023.79,M,012.85,F*2B\r\n$GPGLL,6000.730,N,02328.121,E,104512,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,196.72,T,196.72,M,6.00,N,,,D*62\r\n$IIMWV,319,T,06.90,N,A*21\r\n$IIVWT,041,L,06.90,N,03.55,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104514,,,,00,*4D\r\n$IIDBT,077.88,f,023.74,M,012.83,F*2B\r\n$GPGLL,6000.727,N,02328.119,E,104514,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,197.68,T,197.68,M,6.00,N,,,D*62\r\n$IIMWV,337,R,12.82,N,A*2D\r\n$IIVWT,043,L,07.42,N,03.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104516,,,,00,*4F\r\n$IIDBT,077.85,f,023.73,M,012.82,F*20\r\n$GPGLL,6000.724,N,02328.117,E,104516,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.67,N,,*04\r\n$IIVTG,198.52,T,198.52,M,6.00,N,,,D*62\r\n$IIMWV,317,T,07.44,N,A*27\r\n$IIVWT,043,L,07.44,N,03.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104518,,,,00,*41\r\n$IIDBT,077.72,f,023.69,M,012.80,F*21\r\n$GPGLL,6000.721,N,02328.115,E,104518,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,198.48,T,198.48,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.44,N,A*25\r\n$IIVWT,047,L,07.21,N,03.71,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104520,,,,00,*4A\r\n$IIDBT,077.72,f,023.69,M,012.80,F*21\r\n$GPGLL,6000.717,N,02328.113,E,104520,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.43,N,,*02\r\n$IIVTG,198.82,T,198.82,M,6.00,N,,,D*62\r\n$IIMWV,313,T,06.72,N,A*27\r\n$IIVWT,047,L,06.72,N,03.46,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104522,,,,00,*48\r\n$IIDBT,077.65,f,023.67,M,012.79,F*2F\r\n$GPGLL,6000.713,N,02328.109,E,104522,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,199.46,T,199.46,M,6.00,N,,,D*62\r\n$IIMWV,335,R,11.85,N,A*2B\r\n$IIVWT,048,L,06.64,N,03.42,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104524,,,,00,*4E\r\n$IIDBT,077.59,f,023.65,M,012.78,F*23\r\n$GPGLL,6000.709,N,02328.107,E,104524,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,199.30,T,199.30,M,6.00,N,,,D*62\r\n$IIMWV,312,T,06.53,N,A*25\r\n$IIVWT,048,L,06.53,N,03.36,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104526,,,,00,*4C\r\n$IIDBT,077.59,f,023.65,M,012.78,F*23\r\n$GPGLL,6000.706,N,02328.105,E,104526,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.53,N,03.36,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.28,N,,*0F\r\n$IIVTG,199.60,T,199.60,M,6.00,N,,,D*62\r\n$IIMWV,335,R,11.85,N,A*2B\r\n$IIVWT,049,L,06.66,N,03.43,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104528,,,,00,*42\r\n$IIDBT,077.49,f,023.62,M,012.76,F*2B\r\n$GPGLL,6000.703,N,02328.103,E,104528,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,4.14,N,,*00\r\n$IIVTG,200.40,T,200.40,M,6.00,N,,,D*62\r\n$IIMWV,312,T,06.25,N,A*24\r\n$IIVWT,048,L,06.25,N,03.22,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104530,,,,00,*4B\r\n$IIDBT,077.42,f,023.60,M,012.75,F*21\r\n$GPGLL,6000.700,N,02328.100,E,104530,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,200.95,T,200.95,M,6.00,N,,,D*62\r\n$IIMWV,337,R,11.46,N,A*26\r\n$IIVWT,046,L,06.18,N,03.18,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104532,,,,00,*49\r\n$IIDBT,077.42,f,023.60,M,012.75,F*21\r\n$GPGLL,6000.697,N,02328.098,E,104532,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.56,N,,*06\r\n$IIVTG,200.44,T,200.44,M,6.00,N,,,D*62\r\n$IIMWV,317,T,05.96,N,A*2A\r\n$IIVWT,043,L,05.96,N,03.07,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104534,,,,00,*4F\r\n$IIDBT,077.36,f,023.58,M,012.74,F*28\r\n$GPGLL,6000.694,N,02328.096,E,104534,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,199.81,T,199.81,M,6.00,N,,,D*62\r\n$IIMWV,336,R,11.46,N,A*27\r\n$IIVWT,049,L,06.22,N,03.20,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104536,,,,00,*4D\r\n$IIDBT,077.32,f,023.57,M,012.74,F*23\r\n$GPGLL,6000.691,N,02328.094,E,104537,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.41,N,03.30,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.38,N,,*0E\r\n$IIVTG,198.88,T,198.88,M,6.00,N,,,D*62\r\n$IIMWV,314,T,06.62,N,A*21\r\n$IIVWT,046,L,06.62,N,03.41,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104538,,,,00,*43\r\n$IIDBT,077.29,f,023.56,M,012.73,F*2F\r\n$GPGLL,6000.687,N,02328.091,E,104539,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,199.02,T,199.02,M,6.00,N,,,D*62\r\n$IIMWV,339,R,11.07,N,A*2D\r\n$IIVWT,045,L,05.63,N,02.90,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104540,,,,00,*4C\r\n$IIDBT,077.22,f,023.54,M,012.72,F*27\r\n$GPGLL,6000.684,N,02328.089,E,104541,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,199.56,T,199.56,M,6.00,N,,,D*62\r\n$IIMWV,316,T,06.53,N,A*21\r\n$IIVWT,044,L,06.53,N,03.36,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104542,,,,00,*4E\r\n$IIDBT,077.26,f,023.55,M,012.72,F*22\r\n$GPGLL,6000.681,N,02328.087,E,104543,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.47,N,,*06\r\n$IIVTG,199.61,T,199.61,M,6.00,N,,,D*62\r\n$IIMWV,336,R,12.05,N,A*23\r\n$IIVWT,045,L,06.86,N,03.53,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104544,,,,00,*48\r\n$IIDBT,077.13,f,023.51,M,012.70,F*22\r\n$GPGLL,6000.678,N,02328.085,E,104545,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,199.50,T,199.50,M,6.00,N,,,D*62\r\n$IIMWV,313,T,06.88,N,A*22\r\n$IIVWT,047,L,06.88,N,03.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104546,,,,00,*4A\r\n$IIDBT,077.03,f,023.48,M,012.69,F*23\r\n$GPGLL,6000.675,N,02328.083,E,104547,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,199.23,T,199.23,M,5.95,N,,,D*6D\r\n$IIMWV,336,R,12.05,N,A*23\r\n$IIVWT,046,L,06.80,N,03.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104549,,,,00,*45\r\n$IIDBT,076.99,f,023.47,M,012.68,F*2F\r\n$GPGLL,6000.672,N,02328.080,E,104549,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,200.83,T,200.83,M,5.99,N,,,D*61\r\n$IIMWV,313,T,06.62,N,A*26\r\n$IIVWT,048,L,06.62,N,03.41,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104551,,,,00,*4C\r\n$IIDBT,076.93,f,023.45,M,012.67,F*28\r\n$GPGLL,6000.669,N,02328.078,E,104551,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.45,N,,*04\r\n$IIVTG,201.20,T,201.20,M,6.00,N,,,D*62\r\n$IIMWV,337,R,12.44,N,A*27\r\n$IIVWT,042,L,07.13,N,03.67,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104553,,,,00,*4E\r\n$IIDBT,076.83,f,023.42,M,012.65,F*2C\r\n$GPGLL,6000.666,N,02328.076,E,104553,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.39,N,,*0F\r\n$IIVTG,200.52,T,200.52,M,6.00,N,,,D*62\r\n$IIMWV,316,T,07.17,N,A*20\r\n$IIVWT,044,L,07.17,N,03.69,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104555,,,,00,*48\r\n$IIDBT,076.76,f,023.40,M,012.64,F*25\r\n$GPGLL,6000.662,N,02328.073,E,104555,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.66,N,,*05\r\n$IIVTG,200.73,T,200.73,M,6.00,N,,,D*62\r\n$IIMWV,337,R,12.44,N,A*27\r\n$IIVWT,043,L,07.11,N,03.66,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104557,,,,00,*4A\r\n$IIDBT,076.63,f,023.36,M,012.62,F*26\r\n$GPGLL,6000.659,N,02328.071,E,104557,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.79,N,,*0B\r\n$IIVTG,200.63,T,200.63,M,6.00,N,,,D*62\r\n$IIMWV,318,T,07.48,N,A*24\r\n$IIVWT,042,L,07.48,N,03.85,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104559,,,,00,*44\r\n$IIDBT,076.60,f,023.35,M,012.62,F*26\r\n$GPGLL,6000.656,N,02328.069,E,104559,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,199.48,T,199.48,M,6.00,N,,,D*62\r\n$IIMWV,338,R,13.21,N,A*2A\r\n$IIVWT,039,L,07.87,N,04.05,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104601,,,,00,*4A\r\n$IIDBT,076.73,f,023.39,M,012.64,F*2E\r\n$GPGLL,6000.653,N,02328.067,E,104601,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.87,N,04.05,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.49,N,,*08\r\n$IIVTG,199.42,T,199.42,M,6.00,N,,,D*62\r\n$IIMWV,318,T,07.93,N,A*22\r\n$IIVWT,043,L,07.93,N,04.08,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104603,,,,00,*48\r\n$IIDBT,076.60,f,023.35,M,012.62,F*26\r\n$GPGLL,6000.650,N,02328.064,E,104603,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.25,N,,*02\r\n$IIVTG,199.91,T,199.91,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.82,N,A*2F\r\n$IIVWT,045,L,07.60,N,03.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104605,,,,00,*4E\r\n$IIDBT,076.50,f,023.32,M,012.60,F*20\r\n$GPGLL,6000.645,N,02328.061,E,104605,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,200.20,T,200.20,M,6.00,N,,,D*62\r\n$IIMWV,315,T,07.60,N,A*23\r\n$IIVWT,045,L,07.60,N,03.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104607,,,,00,*4C\r\n$IIDBT,076.50,f,023.32,M,012.60,F*20\r\n$GPGLL,6000.642,N,02328.059,E,104607,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.30,N,03.76,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.38,N,,*0E\r\n$IIVTG,200.55,T,200.55,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.44,N,A*25\r\n$IIVWT,046,L,07.34,N,03.78,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104609,,,,00,*42\r\n$IIDBT,076.47,f,023.31,M,012.59,F*2F\r\n$GPGLL,6000.639,N,02328.056,E,104609,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,200.91,T,200.91,M,6.00,N,,,D*62\r\n$IIMWV,318,T,07.42,N,A*2E\r\n$IIVWT,042,L,07.42,N,03.82,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104611,,,,00,*4B\r\n$IIDBT,076.50,f,023.32,M,012.60,F*20\r\n$GPGLL,6000.636,N,02328.054,E,104611,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.54,N,,*04\r\n$IIVTG,201.48,T,201.48,M,6.00,N,,,D*62\r\n$IIMWV,336,R,12.82,N,A*2C\r\n$IIVWT,044,L,07.65,N,03.94,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104613,,,,00,*49\r\n$IIDBT,076.54,f,023.33,M,012.61,F*24\r\n$GPGLL,6000.633,N,02328.051,E,104613,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,201.77,T,201.77,M,6.00,N,,,D*62\r\n$IIMWV,314,T,08.04,N,A*2F\r\n$IIVWT,046,L,08.04,N,04.14,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104615,,,,00,*4F\r\n$IIDBT,076.47,f,023.31,M,012.59,F*2F\r\n$GPGLL,6000.630,N,02328.049,E,104615,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,201.57,T,201.57,M,6.00,N,,,D*62\r\n$IIMWV,334,R,12.82,N,A*2E\r\n$IIVWT,047,L,07.73,N,03.98,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104617,,,,00,*4D\r\n$IIDBT,076.54,f,023.33,M,012.61,F*24\r\n$GPGLL,6000.627,N,02328.047,E,104617,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.71,N,03.97,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.39,N,,*0F\r\n$IIVTG,200.77,T,200.77,M,6.00,N,,,D*62\r\n$IIMWV,314,T,07.63,N,A*21\r\n$IIVWT,046,L,07.63,N,03.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104619,,,,00,*43\r\n$IIDBT,076.54,f,023.33,M,012.61,F*24\r\n$GPGLL,6000.624,N,02328.044,E,104620,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,200.07,T,200.07,M,5.92,N,,,D*6A\r\n$IIMWV,338,R,12.44,N,A*28\r\n$IIVWT,041,L,07.05,N,03.63,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104621,,,,00,*48\r\n$IIDBT,076.63,f,023.36,M,012.62,F*26\r\n$GPGLL,6000.621,N,02328.042,E,104622,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.38,N,03.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.20,N,,*07\r\n$IIVTG,200.14,T,200.14,M,5.91,N,,,D*69\r\n$IIMWV,313,T,07.26,N,A*27\r\n$IIVWT,047,L,07.26,N,03.74,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104623,,,,00,*4A\r\n$IIDBT,076.76,f,023.40,M,012.64,F*25\r\n$GPGLL,6000.618,N,02328.040,E,104624,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.09,N,,*0C\r\n$IIVTG,200.16,T,200.16,M,5.98,N,,,D*60\r\n$IIMWV,333,R,12.44,N,A*23\r\n$IIVWT,050,L,07.44,N,03.83,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104625,,,,00,*4C\r\n$IIDBT,076.86,f,023.43,M,012.66,F*2B\r\n$GPGLL,6000.615,N,02328.038,E,104626,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.11,N,,*05\r\n$IIVTG,200.01,T,200.01,M,5.94,N,,,D*6C\r\n$IIMWV,313,T,07.73,N,A*27\r\n$IIVWT,048,L,07.73,N,03.98,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104627,,,,00,*4E\r\n$IIDBT,076.80,f,023.41,M,012.65,F*2C\r\n$GPGLL,6000.611,N,02328.035,E,104628,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.18,N,,*0C\r\n$IIVTG,200.18,T,200.18,M,5.99,N,,,D*61\r\n$IIMWV,333,R,12.82,N,A*29\r\n$IIVWT,049,L,07.69,N,03.96,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104629,,,,00,*40\r\n$IIDBT,076.76,f,023.40,M,012.64,F*25\r\n$GPGLL,6000.608,N,02328.033,E,104630,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.17,N,,*03\r\n$IIVTG,200.64,T,200.64,M,6.00,N,,,D*62\r\n$IIMWV,312,T,07.36,N,A*27\r\n$IIVWT,048,L,07.36,N,03.79,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104632,,,,00,*4A\r\n$IIDBT,076.70,f,023.38,M,012.63,F*2B\r\n$GPGLL,6000.605,N,02328.031,E,104632,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.28,N,,*0F\r\n$IIVTG,201.08,T,201.08,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.82,N,A*2F\r\n$IIVWT,046,L,07.69,N,03.96,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104634,,,,00,*4C\r\n$IIDBT,076.60,f,023.35,M,012.62,F*26\r\n$GPGLL,6000.602,N,02328.028,E,104634,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,201.27,T,201.27,M,6.00,N,,,D*62\r\n$IIMWV,316,T,08.10,N,A*28\r\n$IIVWT,044,L,08.10,N,04.17,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104636,,,,00,*4E\r\n$IIDBT,076.57,f,023.34,M,012.61,F*20\r\n$GPGLL,6000.599,N,02328.026,E,104636,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.29,N,,*0E\r\n$IIVTG,201.45,T,201.45,M,6.00,N,,,D*62\r\n$IIMWV,335,R,13.21,N,A*27\r\n$IIVWT,045,L,08.00,N,04.12,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104638,,,,00,*40\r\n$IIDBT,076.50,f,023.32,M,012.60,F*20\r\n$GPGLL,6000.596,N,02328.023,E,104638,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.33,N,,*05\r\n$IIVTG,201.76,T,201.76,M,6.00,N,,,D*62\r\n$IIMWV,314,T,07.73,N,A*20\r\n$IIVWT,047,L,07.73,N,03.98,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104640,,,,00,*4F\r\n$IIDBT,076.21,f,023.23,M,012.55,F*20\r\n$GPGLL,6000.593,N,02328.021,E,104640,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.29,N,,*0E\r\n$IIVTG,201.89,T,201.89,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.82,N,A*2F\r\n$IIVWT,046,L,07.67,N,03.95,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104642,,,,00,*4D\r\n$IIDBT,075.88,f,023.13,M,012.50,F*26\r\n$GPGLL,6000.590,N,02328.018,E,104642,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,202.00,T,202.00,M,6.00,N,,,D*62\r\n$IIMWV,316,T,07.63,N,A*23\r\n$IIVWT,044,L,07.63,N,03.93,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104644,,,,00,*4B\r\n$IIDBT,075.81,f,023.11,M,012.49,F*25\r\n$GPGLL,6000.587,N,02328.016,E,104644,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.33,N,,*05\r\n$IIVTG,202.00,T,202.00,M,6.00,N,,,D*62\r\n$IIMWV,334,R,12.82,N,A*2E\r\n$IIVWT,047,L,07.79,N,04.01,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104646,,,,00,*49\r\n$IIDBT,075.65,f,023.06,M,012.46,F*26\r\n$GPGLL,6000.584,N,02328.013,E,104646,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,202.22,T,202.22,M,6.00,N,,,D*62\r\n$IIMWV,312,T,07.77,N,A*22\r\n$IIVWT,048,L,07.77,N,04.00,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104648,,,,00,*47\r\n$IIDBT,075.35,f,022.97,M,012.41,F*2D\r\n$GPGLL,6000.579,N,02328.010,E,104648,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,201.80,T,201.80,M,5.95,N,,,D*6D\r\n$IIMWV,332,R,12.82,N,A*28\r\n$IIVWT,049,L,07.89,N,04.06,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104650,,,,00,*4E\r\n$IIDBT,074.96,f,022.85,M,012.35,F*25\r\n$GPGLL,6000.576,N,02328.007,E,104650,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,202.15,T,202.15,M,5.96,N,,,D*6E\r\n$IIMWV,313,T,07.81,N,A*2A\r\n$IIVWT,047,L,07.81,N,04.02,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104652,,,,00,*4C\r\n$IIDBT,074.99,f,022.86,M,012.35,F*29\r\n$GPGLL,6000.573,N,02328.005,E,104652,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.29,N,,*0E\r\n$IIVTG,202.74,T,202.74,M,5.99,N,,,D*61\r\n$IIMWV,334,R,13.21,N,A*26\r\n$IIVWT,046,L,08.08,N,04.16,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104654,,,,00,*4A\r\n$IIDBT,074.67,f,022.76,M,012.30,F*22\r\n$GPGLL,6000.570,N,02328.002,E,104654,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.71,N,03.97,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.33,N,,*05\r\n$IIVTG,202.11,T,202.11,M,6.00,N,,,D*62\r\n$IIMWV,311,T,07.48,N,A*2D\r\n$IIVWT,049,L,07.48,N,03.85,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104656,,,,00,*48\r\n$IIDBT,074.44,f,022.69,M,012.26,F*2A\r\n$GPGLL,6000.567,N,02328.000,E,104656,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,202.15,T,202.15,M,5.97,N,,,D*6F\r\n$IIMWV,334,R,12.05,N,A*21\r\n$IIVWT,049,L,07.09,N,03.65,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104658,,,,00,*46\r\n$IIDBT,074.21,f,022.62,M,012.22,F*26\r\n$GPGLL,6000.564,N,02327.997,E,104658,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.71,N,03.97,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.82,N,,*08\r\n$IIVTG,203.84,T,203.84,M,5.99,N,,,D*61\r\n$IIMWV,313,T,07.25,N,A*24\r\n$IIVWT,047,L,07.25,N,03.73,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104700,,,,00,*4A\r\n$IIDBT,074.11,f,022.59,M,012.21,F*2E\r\n$GPGLL,6000.561,N,02327.994,E,104700,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,204.23,T,204.23,M,6.00,N,,,D*62\r\n$IIMWV,335,R,12.44,N,A*25\r\n$IIVWT,046,L,07.25,N,03.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104702,,,,00,*48\r\n$IIDBT,073.98,f,022.55,M,012.18,F*2E\r\n$GPGLL,6000.558,N,02327.992,E,104703,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.03,N,,*06\r\n$IIVTG,203.81,T,203.81,M,6.00,N,,,D*62\r\n$IIMWV,311,T,06.93,N,A*2A\r\n$IIVWT,049,L,06.93,N,03.57,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104704,,,,00,*4E\r\n$IIDBT,073.84,f,022.51,M,012.16,F*29\r\n$GPGLL,6000.555,N,02327.989,E,104705,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,200.70,T,200.70,M,6.00,N,,,D*62\r\n$IIMWV,336,R,12.05,N,A*23\r\n$IIVWT,046,L,06.86,N,03.53,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104706,,,,00,*4C\r\n$IIDBT,073.65,f,022.45,M,012.13,F*26\r\n$GPGLL,6000.552,N,02327.987,E,104707,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.17,N,,*03\r\n$IIVTG,201.20,T,201.20,M,5.97,N,,,D*6F\r\n$IIMWV,311,T,06.80,N,A*28\r\n$IIVWT,049,L,06.80,N,03.50,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104708,,,,00,*42\r\n$IIDBT,073.39,f,022.37,M,012.09,F*21\r\n$GPGLL,6000.549,N,02327.984,E,104709,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,203.08,T,203.08,M,5.99,N,,,D*61\r\n$IIMWV,329,R,11.85,N,A*26\r\n$IIVWT,057,L,07.23,N,03.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104710,,,,00,*4B\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,6000.546,N,02327.982,E,104711,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.47,N,,*01\r\n$IIVTG,203.59,T,203.59,M,5.97,N,,,D*6F\r\n$IIMWV,304,T,06.72,N,A*21\r\n$IIVWT,056,L,06.72,N,03.46,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104713,,,,00,*48\r\n$IIDBT,072.93,f,022.23,M,012.01,F*2D\r\n$GPGLL,6000.543,N,02327.979,E,104713,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.75,N,,*00\r\n$IIVTG,205.92,T,205.92,M,5.99,N,,,D*61\r\n$IIMWV,332,R,11.85,N,A*2C\r\n$IIVWT,053,L,06.99,N,03.60,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104715,,,,00,*4E\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,6000.540,N,02327.976,E,104715,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.73,N,,*06\r\n$IIVTG,205.43,T,205.43,M,6.00,N,,,D*62\r\n$IIMWV,308,T,07.17,N,A*2F\r\n$IIVWT,052,L,07.17,N,03.69,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104717,,,,00,*4C\r\n$IIDBT,072.70,f,022.16,M,011.97,F*2A\r\n$GPGLL,6000.537,N,02327.973,E,104717,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.07,N,,*02\r\n$IIVTG,203.66,T,203.66,M,6.02,N,,,D*60\r\n$IIMWV,332,R,12.82,N,A*28\r\n$IIVWT,049,L,07.81,N,04.02,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104719,,,,00,*42\r\n$IIDBT,072.66,f,022.15,M,011.97,F*2E\r\n$GPGLL,6000.534,N,02327.971,E,104719,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.24,N,,*03\r\n$IIVTG,202.44,T,202.44,M,6.01,N,,,D*63\r\n$IIMWV,311,T,07.83,N,A*2A\r\n$IIVWT,049,L,07.83,N,04.03,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104721,,,,00,*49\r\n$IIDBT,072.76,f,022.18,M,011.98,F*2D\r\n$GPGLL,6000.530,N,02327.968,E,104721,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.14,N,,*00\r\n$IIVTG,201.53,T,201.53,M,6.00,N,,,D*62\r\n$IIMWV,334,R,12.82,N,A*2E\r\n$IIVWT,047,L,07.69,N,03.96,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104723,,,,00,*4B\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,6000.527,N,02327.966,E,104723,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,201.86,T,201.86,M,6.05,N,,,D*67\r\n$IIMWV,311,T,07.36,N,A*24\r\n$IIVWT,049,L,07.36,N,03.79,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104725,,,,00,*4D\r\n$IIDBT,072.83,f,022.20,M,011.99,F*2D\r\n$GPGLL,6000.524,N,02327.963,E,104725,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,201.52,T,201.52,M,6.09,N,,,D*6B\r\n$IIMWV,337,R,12.44,N,A*27\r\n$IIVWT,044,L,07.11,N,03.66,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104727,,,,00,*4F\r\n$IIDBT,072.66,f,022.15,M,011.97,F*2E\r\n$GPGLL,6000.521,N,02327.961,E,104727,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,200.13,T,200.13,M,6.02,N,,,D*60\r\n$IIMWV,315,T,06.80,N,A*2C\r\n$IIVWT,045,L,06.80,N,03.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104729,,,,00,*41\r\n$IIDBT,072.73,f,022.17,M,011.98,F*27\r\n$GPGLL,6000.518,N,02327.959,E,104729,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.11,N,,*05\r\n$IIVTG,200.06,T,200.06,M,6.01,N,,,D*63\r\n$IIMWV,334,R,12.05,N,A*21\r\n$IIVWT,049,L,06.93,N,03.57,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104731,,,,00,*48\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,6000.513,N,02327.956,E,104731,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.13,N,,*07\r\n$IIVTG,199.36,T,199.36,M,6.00,N,,,D*62\r\n$IIMWV,313,T,06.84,N,A*2E\r\n$IIVWT,048,L,06.84,N,03.52,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104733,,,,00,*4A\r\n$IIDBT,072.27,f,022.03,M,011.90,F*2B\r\n$GPGLL,6000.510,N,02327.954,E,104733,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.86,N,03.53,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.32,N,,*04\r\n$IIVTG,197.21,T,197.21,M,6.00,N,,,D*62\r\n$IIMWV,337,R,12.05,N,A*22\r\n$IIVWT,045,L,06.78,N,03.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104735,,,,00,*4C\r\n$IIDBT,072.11,f,021.98,M,011.88,F*26\r\n$GPGLL,6000.507,N,02327.952,E,104735,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,197.18,T,197.18,M,6.00,N,,,D*62\r\n$IIMWV,314,T,06.80,N,A*2D\r\n$IIVWT,046,L,06.80,N,03.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104737,,,,00,*4E\r\n$IIDBT,071.81,f,021.89,M,011.83,F*27\r\n$GPGLL,6000.504,N,02327.950,E,104737,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.20,N,,*07\r\n$IIVTG,198.07,T,198.07,M,6.00,N,,,D*62\r\n$IIMWV,335,R,11.85,N,A*2B\r\n$IIVWT,047,L,06.76,N,03.48,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104739,,,,00,*40\r\n$IIDBT,071.65,f,021.84,M,011.80,F*23\r\n$GPGLL,6000.501,N,02327.948,E,104739,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,197.64,T,197.64,M,6.00,N,,,D*62\r\n$IIMWV,309,T,05.94,N,A*27\r\n$IIVWT,051,L,05.94,N,03.06,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104741,,,,00,*4F\r\n$IIDBT,071.29,f,021.73,M,011.74,F*28\r\n$GPGLL,6000.497,N,02327.946,E,104741,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,197.58,T,197.58,M,6.00,N,,,D*62\r\n$IIMWV,333,R,11.85,N,A*2D\r\n$IIVWT,052,L,06.90,N,03.55,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104743,,,,00,*4D\r\n$IIDBT,071.02,f,021.65,M,011.70,F*22\r\n$GPGLL,6000.494,N,02327.944,E,104743,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.12,N,,*06\r\n$IIVTG,197.72,T,197.72,M,6.00,N,,,D*62\r\n$IIMWV,316,T,06.18,N,A*2E\r\n$IIVWT,044,L,06.18,N,03.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104745,,,,00,*4B\r\n$IIDBT,070.86,f,021.60,M,011.67,F*2C\r\n$GPGLL,6000.491,N,02327.942,E,104746,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,198.40,T,198.40,M,6.00,N,,,D*62\r\n$IIMWV,335,R,11.46,N,A*24\r\n$IIVWT,049,L,06.35,N,03.27,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104747,,,,00,*49\r\n$IIDBT,070.56,f,021.51,M,011.62,F*26\r\n$GPGLL,6000.488,N,02327.940,E,104748,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,199.05,T,199.05,M,6.00,N,,,D*62\r\n$IIMWV,308,T,06.53,N,A*2E\r\n$IIVWT,052,L,06.53,N,03.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104749,,,,00,*47\r\n$IIDBT,070.33,f,021.44,M,011.58,F*28\r\n$GPGLL,6000.485,N,02327.937,E,104750,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,198.74,T,198.74,M,6.00,N,,,D*62\r\n$IIMWV,335,R,11.46,N,A*24\r\n$IIVWT,049,L,06.33,N,03.26,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104751,,,,00,*4E\r\n$IIDBT,070.27,f,021.42,M,011.57,F*24\r\n$GPGLL,6000.482,N,02327.935,E,104752,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.25,N,,*02\r\n$IIVTG,201.84,T,201.84,M,6.00,N,,,D*62\r\n$IIMWV,316,T,05.77,N,A*24\r\n$IIVWT,044,L,05.77,N,02.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104753,,,,00,*4C\r\n$IIDBT,070.07,f,021.36,M,011.54,F*26\r\n$GPGLL,6000.478,N,02327.932,E,104754,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,204.74,T,204.74,M,6.00,N,,,D*62\r\n$IIMWV,334,R,10.88,N,A*26\r\n$IIVWT,053,L,05.87,N,03.02,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104756,,,,00,*49\r\n$IIDBT,070.10,f,021.37,M,011.55,F*20\r\n$GPGLL,6000.475,N,02327.929,E,104756,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,206.19,T,206.19,M,6.05,N,,,D*67\r\n$IIMWV,308,T,05.46,N,A*29\r\n$IIVWT,052,L,05.46,N,02.81,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104758,,,,00,*47\r\n$IIDBT,069.91,f,021.31,M,011.51,F*23\r\n$GPGLL,6000.472,N,02327.926,E,104758,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.91,N,,*0B\r\n$IIVTG,205.97,T,205.97,M,6.09,N,,,D*6B\r\n$IIMWV,333,R,10.49,N,A*2C\r\n$IIVWT,056,L,05.75,N,02.96,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104800,,,,00,*45\r\n$IIDBT,069.88,f,021.30,M,011.51,F*2A\r\n$GPGLL,6000.469,N,02327.923,E,104800,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,205.57,T,205.57,M,5.97,N,,,D*6F\r\n$IIMWV,323,T,05.67,N,A*23\r\n$IIVWT,037,L,05.67,N,02.92,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104802,,,,00,*47\r\n$IIDBT,069.84,f,021.29,M,011.50,F*2F\r\n$GPGLL,6000.467,N,02327.921,E,104802,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,206.29,T,206.29,M,5.87,N,,,D*6E\r\n$IIMWV,345,R,10.88,N,A*20\r\n$IIVWT,033,L,05.30,N,02.73,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104804,,,,00,*41\r\n$IIDBT,069.78,f,021.27,M,011.49,F*2A\r\n$GPGLL,6000.464,N,02327.918,E,104804,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,4.45,N,,*04\r\n$IIVTG,204.68,T,204.68,M,5.77,N,,,D*61\r\n$IIMWV,322,T,05.26,N,A*27\r\n$IIVWT,038,L,05.26,N,02.71,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104806,,,,00,*43\r\n$IIDBT,069.61,f,021.22,M,011.46,F*28\r\n$GPGLL,6000.461,N,02327.916,E,104806,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.92,N,10.96,K*55\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,201.71,T,201.71,M,5.67,N,,,D*60\r\n$IIMWV,344,R,09.71,N,A*2F\r\n$IIVWT,037,L,04.41,N,02.27,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104808,,,,00,*4D\r\n$IIDBT,069.74,f,021.26,M,011.49,F*27\r\n$GPGLL,6000.458,N,02327.913,E,104808,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,202.78,T,202.78,M,5.62,N,,,D*65\r\n$IIMWV,316,T,04.35,N,A*23\r\n$IIVWT,044,L,04.35,N,02.24,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104810,,,,00,*44\r\n$IIDBT,069.65,f,021.23,M,011.47,F*2C\r\n$GPGLL,6000.455,N,02327.911,E,104810,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.83,N,10.79,K*54\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,204.64,T,204.64,M,5.60,N,,,D*67\r\n$IIMWV,343,R,09.13,N,A*2C\r\n$IIVWT,044,L,03.98,N,02.05,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104812,,,,00,*46\r\n$IIDBT,069.71,f,021.25,M,011.48,F*20\r\n$GPGLL,6000.452,N,02327.908,E,104812,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,204.96,T,204.96,M,5.60,N,,,D*67\r\n$IIMWV,331,T,03.20,N,A*25\r\n$IIVWT,029,L,03.20,N,01.65,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104814,,,,00,*40\r\n$IIDBT,069.68,f,021.24,M,011.48,F*29\r\n$GPGLL,6000.448,N,02327.904,E,104814,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.14,N,01.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.77,N,10.68,K*5F\r\n$IIVPW,3.00,N,,*02\r\n$IIVTG,205.18,T,205.18,M,5.51,N,,,D*65\r\n$IIMWV,343,R,08.55,N,A*2F\r\n$IIVWT,046,L,03.51,N,01.81,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104816,,,,00,*42\r\n$IIDBT,069.68,f,021.24,M,011.48,F*29\r\n$GPGLL,6000.445,N,02327.902,E,104816,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.77,N,10.68,K*5F\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,205.90,T,205.90,M,5.50,N,,,D*64\r\n$IIMWV,298,T,04.37,N,A*26\r\n$IIVWT,062,L,04.37,N,02.25,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104818,,,,00,*4C\r\n$IIDBT,069.65,f,021.23,M,011.47,F*2C\r\n$GPGLL,6000.443,N,02327.899,E,104818,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.74,N,10.63,K*57\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,205.47,T,205.47,M,5.50,N,,,D*64\r\n$IIMWV,348,R,08.74,N,A*27\r\n$IIVWT,032,L,03.34,N,01.72,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104820,,,,00,*47\r\n$IIDBT,069.48,f,021.18,M,011.44,F*28\r\n$GPGLL,6000.440,N,02327.896,E,104820,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.73,N,10.61,K*52\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,204.66,T,204.66,M,5.50,N,,,D*64\r\n$IIMWV,329,T,03.34,N,A*29\r\n$IIVWT,031,L,03.34,N,01.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104822,,,,00,*45\r\n$IIDBT,069.42,f,021.16,M,011.43,F*2B\r\n$GPGLL,6000.437,N,02327.894,E,104822,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.71,N,10.57,K*55\r\n$IIVPW,4.09,N,,*0C\r\n$IIVTG,204.59,T,204.59,M,5.50,N,,,D*64\r\n$IIMWV,346,R,08.74,N,A*29\r\n$IIVWT,038,L,03.49,N,01.80,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104824,,,,00,*43\r\n$IIDBT,069.32,f,021.13,M,011.42,F*28\r\n$GPGLL,6000.434,N,02327.891,E,104824,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.69,N,10.53,K*58\r\n$IIVPW,2.56,N,,*00\r\n$IIVTG,205.60,T,205.60,M,5.50,N,,,D*64\r\n$IIMWV,302,T,04.23,N,A*21\r\n$IIVWT,058,L,04.23,N,02.18,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104826,,,,00,*41\r\n$IIDBT,069.15,f,021.08,M,011.39,F*2B\r\n$GPGLL,6000.431,N,02327.889,E,104827,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,205.90,T,205.90,M,5.50,N,,,D*64\r\n$IIMWV,355,R,08.55,N,A*28\r\n$IIVWT,014,L,02.95,N,01.52,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104828,,,,00,*4F\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,6000.429,N,02327.886,E,104829,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,206.10,T,206.10,M,5.50,N,,,D*64\r\n$IIMWV,338,T,02.64,N,A*2D\r\n$IIVWT,022,L,02.64,N,01.36,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104830,,,,00,*46\r\n$IIDBT,068.79,f,020.97,M,011.33,F*2D\r\n$GPGLL,6000.426,N,02327.883,E,104831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.85,N,01.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,4.59,N,,*09\r\n$IIVTG,205.57,T,205.57,M,5.50,N,,,D*64\r\n$IIMWV,354,R,07.77,N,A*26\r\n$IIVWT,023,L,02.25,N,01.16,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104832,,,,00,*44\r\n$IIDBT,068.73,f,020.95,M,011.32,F*24\r\n$GPGLL,6000.423,N,02327.881,E,104833,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.69,N,10.53,K*58\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,206.47,T,206.47,M,5.50,N,,,D*64\r\n$IIMWV,344,T,02.54,N,A*25\r\n$IIVWT,016,L,02.54,N,01.31,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104834,,,,00,*42\r\n$IIDBT,068.56,f,020.90,M,011.29,F*2C\r\n$GPGLL,6000.421,N,02327.878,E,104835,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.69,N,10.53,K*58\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,207.94,T,207.94,M,5.50,N,,,D*64\r\n$IIMWV,352,R,08.16,N,A*28\r\n$IIVWT,026,L,02.64,N,01.36,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104836,,,,00,*40\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6000.418,N,02327.875,E,104837,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.68,N,10.51,K*5B\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,208.83,T,208.83,M,5.50,N,,,D*64\r\n$IIMWV,328,T,02.66,N,A*2E\r\n$IIVWT,032,L,02.66,N,01.37,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104839,,,,00,*4F\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.415,N,02327.872,E,104839,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,209.91,T,209.91,M,5.50,N,,,D*64\r\n$IIMWV,346,R,07.77,N,A*25\r\n$IIVWT,045,L,02.62,N,01.35,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104841,,,,00,*40\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.413,N,02327.869,E,104841,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.71,N,10.57,K*55\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,210.45,T,210.45,M,5.50,N,,,D*64\r\n$IIMWV,322,T,02.23,N,A*25\r\n$IIVWT,038,L,02.23,N,01.15,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104843,,,,00,*42\r\n$IIDBT,068.33,f,020.83,M,011.25,F*21\r\n$GPGLL,6000.410,N,02327.865,E,104843,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,4.51,N,,*01\r\n$IIVTG,210.59,T,210.59,M,5.50,N,,,D*64\r\n$IIMWV,349,R,08.55,N,A*25\r\n$IIVWT,032,L,03.14,N,01.62,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104845,,,,00,*44\r\n$IIDBT,068.33,f,020.83,M,011.25,F*21\r\n$GPGLL,6000.407,N,02327.862,E,104845,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.68,N,10.51,K*5B\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,211.17,T,211.17,M,5.50,N,,,D*64\r\n$IIMWV,326,T,03.34,N,A*26\r\n$IIVWT,034,L,03.34,N,01.72,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104847,,,,00,*46\r\n$IIDBT,068.40,f,020.85,M,011.26,F*20\r\n$GPGLL,6000.405,N,02327.859,E,104847,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.28,N,01.69,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.68,N,10.51,K*5B\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,211.09,T,211.09,M,5.50,N,,,D*64\r\n$IIMWV,355,R,08.74,N,A*2B\r\n$IIVWT,015,L,03.14,N,01.62,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104849,,,,00,*48\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6000.402,N,02327.856,E,104849,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.67,N,01.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.68,N,10.51,K*5B\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,210.52,T,210.52,M,5.50,N,,,D*64\r\n$IIMWV,318,T,03.63,N,A*29\r\n$IIVWT,042,L,03.63,N,01.87,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104851,,,,00,*41\r\n$IIDBT,068.56,f,020.90,M,011.29,F*2C\r\n$GPGLL,6000.399,N,02327.853,E,104851,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.67,N,10.50,K*55\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,210.45,T,210.45,M,5.50,N,,,D*64\r\n$IIMWV,356,R,08.16,N,A*2C\r\n$IIVWT,014,L,02.64,N,01.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104853,,,,00,*43\r\n$IIDBT,068.50,f,020.88,M,011.28,F*22\r\n$GPGLL,6000.397,N,02327.850,E,104853,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.61,N,10.39,K*5C\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,213.89,T,213.89,M,5.43,N,,,D*66\r\n$IIMWV,339,T,02.25,N,A*29\r\n$IIVWT,021,L,02.25,N,01.16,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104855,,,,00,*45\r\n$IIDBT,068.50,f,020.88,M,011.28,F*22\r\n$GPGLL,6000.394,N,02327.846,E,104855,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.57,N,10.31,K*51\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,213.60,T,213.60,M,5.41,N,,,D*64\r\n$IIMWV,359,R,07.77,N,A*2B\r\n$IIVWT,005,L,02.33,N,01.20,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104857,,,,00,*47\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.391,N,02327.842,E,104857,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.51,N,10.20,K*57\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,210.82,T,210.82,M,5.31,N,,,D*63\r\n$IIMWV,355,T,02.35,N,A*22\r\n$IIVWT,005,L,02.35,N,01.21,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104859,,,,00,*49\r\n$IIDBT,068.50,f,020.88,M,011.28,F*22\r\n$GPGLL,6000.388,N,02327.839,E,104859,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.47,N,10.13,K*50\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,209.41,T,209.41,M,5.23,N,,,D*60\r\n$IIMWV,001,R,07.77,N,A*25\r\n$IIVWT,004,R,02.29,N,01.18,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104901,,,,00,*45\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.386,N,02327.836,E,104901,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.45,N,10.09,K*59\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,209.10,T,209.10,M,5.21,N,,,D*62\r\n$IIMWV,002,T,02.25,N,A*22\r\n$IIVWT,002,R,02.25,N,01.16,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104903,,,,00,*47\r\n$IIDBT,068.56,f,020.90,M,011.29,F*2C\r\n$GPGLL,6000.383,N,02327.834,E,104903,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.40,N,10.00,K*55\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,208.42,T,208.42,M,5.20,N,,,D*63\r\n$IIMWV,353,R,07.77,N,A*21\r\n$IIVWT,024,L,02.46,N,01.27,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104905,,,,00,*41\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.381,N,02327.831,E,104905,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.39,N,09.98,K*52\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,207.76,T,207.76,M,5.20,N,,,D*63\r\n$IIMWV,343,T,03.47,N,A*21\r\n$IIVWT,017,L,03.47,N,01.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104907,,,,00,*43\r\n$IIDBT,068.46,f,020.87,M,011.28,F*2A\r\n$GPGLL,6000.378,N,02327.829,E,104908,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.36,N,09.92,K*57\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,206.94,T,206.94,M,5.13,N,,,D*63\r\n$IIMWV,353,R,08.16,N,A*29\r\n$IIVWT,020,L,02.87,N,01.48,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104909,,,,00,*4D\r\n$IIDBT,068.37,f,020.84,M,011.26,F*21\r\n$GPGLL,6000.376,N,02327.826,E,104910,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.35,N,09.90,K*56\r\n$IIVPW,4.74,N,,*06\r\n$IIVTG,206.29,T,206.29,M,5.13,N,,,D*63\r\n$IIMWV,334,T,03.42,N,A*24\r\n$IIVWT,026,L,03.42,N,01.76,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104911,,,,00,*44\r\n$IIDBT,068.40,f,020.85,M,011.26,F*20\r\n$GPGLL,6000.373,N,02327.824,E,104912,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.33,N,09.87,K*56\r\n$IIVPW,4.36,N,,*00\r\n$IIVTG,205.99,T,205.99,M,5.16,N,,,D*66\r\n$IIMWV,344,R,09.13,N,A*2B\r\n$IIVWT,037,L,04.27,N,02.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104913,,,,00,*46\r\n$IIDBT,068.30,f,020.82,M,011.25,F*23\r\n$GPGLL,6000.370,N,02327.821,E,104914,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.32,N,09.85,K*55\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,206.13,T,206.13,M,5.19,N,,,D*69\r\n$IIMWV,325,T,03.59,N,A*2E\r\n$IIVWT,036,L,03.59,N,01.85,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104915,,,,00,*40\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6000.368,N,02327.819,E,104916,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.30,N,09.81,K*53\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,206.48,T,206.48,M,5.12,N,,,D*62\r\n$IIMWV,347,R,07.77,N,A*24\r\n$IIVWT,039,L,02.81,N,01.45,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104917,,,,00,*42\r\n$IIDBT,068.33,f,020.83,M,011.25,F*21\r\n$GPGLL,6000.365,N,02327.816,E,104918,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.30,N,09.81,K*53\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,206.15,T,206.15,M,5.11,N,,,D*61\r\n$IIMWV,348,T,02.48,N,A*24\r\n$IIVWT,012,L,02.48,N,01.28,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104920,,,,00,*46\r\n$IIDBT,068.60,f,020.91,M,011.30,F*20\r\n$GPGLL,6000.363,N,02327.814,E,104920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.28,N,09.77,K*53\r\n$IIVPW,5.20,N,,*06\r\n$IIVTG,205.74,T,205.74,M,5.10,N,,,D*60\r\n$IIMWV,358,R,08.55,N,A*25\r\n$IIVWT,006,L,03.26,N,01.68,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104922,,,,00,*44\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6000.360,N,02327.811,E,104922,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.29,N,09.79,K*5C\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,205.63,T,205.63,M,5.10,N,,,D*60\r\n$IIMWV,353,T,03.30,N,A*20\r\n$IIVWT,007,L,03.30,N,01.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104924,,,,00,*42\r\n$IIDBT,068.63,f,020.92,M,011.30,F*20\r\n$GPGLL,6000.358,N,02327.809,E,104924,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.30,N,09.81,K*53\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,206.66,T,206.66,M,5.10,N,,,D*60\r\n$IIMWV,359,R,08.74,N,A*27\r\n$IIVWT,004,L,03.40,N,01.75,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104926,,,,00,*40\r\n$IIDBT,068.79,f,020.97,M,011.33,F*2D\r\n$GPGLL,6000.355,N,02327.806,E,104926,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.31,N,09.83,K*50\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,206.02,T,206.02,M,5.10,N,,,D*60\r\n$IIMWV,348,T,03.24,N,A*2F\r\n$IIVWT,012,L,03.24,N,01.67,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104928,,,,00,*4E\r\n$IIDBT,068.73,f,020.95,M,011.32,F*24\r\n$GPGLL,6000.352,N,02327.804,E,104928,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.31,N,09.83,K*50\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,203.33,T,203.33,M,5.10,N,,,D*60\r\n$IIMWV,001,R,08.74,N,A*29\r\n$IIVWT,001,R,03.49,N,01.80,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104930,,,,00,*47\r\n$IIDBT,068.76,f,020.96,M,011.32,F*22\r\n$GPGLL,6000.350,N,02327.802,E,104930,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.30,N,09.81,K*53\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,200.93,T,200.93,M,5.10,N,,,D*60\r\n$IIMWV,351,T,03.79,N,A*2F\r\n$IIVWT,009,L,03.79,N,01.95,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104932,,,,00,*45\r\n$IIDBT,068.83,f,020.98,M,011.34,F*20\r\n$GPGLL,6000.347,N,02327.800,E,104932,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.29,N,09.79,K*5C\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,201.51,T,201.51,M,5.10,N,,,D*60\r\n$IIMWV,353,R,09.52,N,A*28\r\n$IIVWT,016,L,04.31,N,02.22,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104934,,,,00,*43\r\n$IIDBT,068.83,f,020.98,M,011.34,F*20\r\n$GPGLL,6000.345,N,02327.798,E,104934,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.28,N,09.77,K*53\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,202.73,T,202.73,M,5.10,N,,,D*60\r\n$IIMWV,342,T,03.96,N,A*2C\r\n$IIVWT,018,L,03.96,N,02.04,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104936,,,,00,*41\r\n$IIDBT,068.76,f,020.96,M,011.32,F*22\r\n$GPGLL,6000.342,N,02327.796,E,104936,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.27,N,09.76,K*5D\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,202.98,T,202.98,M,5.10,N,,,D*60\r\n$IIMWV,352,R,09.13,N,A*2C\r\n$IIVWT,020,L,03.96,N,02.04,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104938,,,,00,*4F\r\n$IIDBT,068.63,f,020.92,M,011.30,F*20\r\n$GPGLL,6000.338,N,02327.792,E,104938,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.27,N,09.76,K*5D\r\n$IIVPW,5.21,N,,*07\r\n$IIVTG,203.14,T,203.14,M,5.10,N,,,D*60\r\n$IIMWV,349,T,03.46,N,A*2A\r\n$IIVWT,011,L,03.46,N,01.78,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104940,,,,00,*40\r\n$IIDBT,068.69,f,020.94,M,011.31,F*2D\r\n$GPGLL,6000.336,N,02327.790,E,104940,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.27,N,09.76,K*5D\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,203.52,T,203.52,M,5.10,N,,,D*60\r\n$IIMWV,348,R,08.74,N,A*27\r\n$IIVWT,028,L,03.73,N,01.92,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104942,,,,00,*42\r\n$IIDBT,068.73,f,020.95,M,011.32,F*24\r\n$GPGLL,6000.333,N,02327.788,E,104942,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.28,N,09.77,K*53\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,203.68,T,203.68,M,5.10,N,,,D*60\r\n$IIMWV,331,T,04.17,N,A*26\r\n$IIVWT,029,L,04.17,N,02.15,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104944,,,,00,*44\r\n$IIDBT,068.53,f,020.89,M,011.29,F*21\r\n$GPGLL,6000.330,N,02327.786,E,104944,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.27,N,09.76,K*5D\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,204.17,T,204.17,M,5.10,N,,,D*60\r\n$IIMWV,352,R,08.74,N,A*2C\r\n$IIVWT,020,L,03.65,N,01.88,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104946,,,,00,*46\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,6000.328,N,02327.783,E,104946,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.26,N,09.74,K*5E\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,204.79,T,204.79,M,5.10,N,,,D*60\r\n$IIMWV,331,T,04.15,N,A*24\r\n$IIVWT,029,L,04.15,N,02.14,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104948,,,,00,*48\r\n$IIDBT,068.30,f,020.82,M,011.25,F*23\r\n$GPGLL,6000.325,N,02327.781,E,104948,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,204.73,T,204.73,M,5.10,N,,,D*60\r\n$IIMWV,349,R,09.52,N,A*23\r\n$IIVWT,024,L,04.47,N,02.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104950,,,,00,*41\r\n$IIDBT,068.23,f,020.80,M,011.24,F*22\r\n$GPGLL,6000.323,N,02327.779,E,104951,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.53,N,,*03\r\n$IIVTG,204.51,T,204.51,M,5.10,N,,,D*60\r\n$IIMWV,321,T,05.48,N,A*2C\r\n$IIVWT,039,L,05.48,N,02.82,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104952,,,,00,*43\r\n$IIDBT,068.10,f,020.76,M,011.22,F*2D\r\n$GPGLL,6000.320,N,02327.776,E,104953,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,204.40,T,204.40,M,5.10,N,,,D*60\r\n$IIMWV,341,R,11.07,N,A*22\r\n$IIVWT,035,L,06.39,N,03.29,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104954,,,,00,*45\r\n$IIDBT,068.23,f,020.80,M,011.24,F*22\r\n$GPGLL,6000.317,N,02327.774,E,104955,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,205.25,T,205.25,M,5.10,N,,,D*60\r\n$IIMWV,331,T,05.20,N,A*23\r\n$IIVWT,029,L,05.20,N,02.68,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104956,,,,00,*47\r\n$IIDBT,068.01,f,020.73,M,011.20,F*2A\r\n$GPGLL,6000.315,N,02327.772,E,104957,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,205.56,T,205.56,M,5.05,N,,,D*64\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,025,L,04.66,N,02.40,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,104958,,,,00,*49\r\n$IIDBT,068.07,f,020.75,M,011.21,F*2B\r\n$GPGLL,6000.312,N,02327.769,E,104959,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,205.84,T,205.84,M,5.01,N,,,D*60\r\n$IIMWV,327,T,04.29,N,A*2C\r\n$IIVWT,033,L,04.29,N,02.21,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105000,,,,00,*4C\r\n$IIDBT,067.68,f,020.63,M,011.15,F*2D\r\n$GPGLL,6000.310,N,02327.767,E,105001,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,205.74,T,205.74,M,5.00,N,,,D*61\r\n$IIMWV,354,R,09.71,N,A*2E\r\n$IIVWT,014,L,04.52,N,02.33,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105003,,,,00,*4F\r\n$IIDBT,067.87,f,020.69,M,011.18,F*2B\r\n$GPGLL,6000.307,N,02327.764,E,105003,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,205.33,T,205.33,M,5.00,N,,,D*61\r\n$IIMWV,333,T,06.02,N,A*22\r\n$IIVWT,027,L,06.02,N,03.10,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105005,,,,00,*49\r\n$IIDBT,067.68,f,020.63,M,011.15,F*2D\r\n$GPGLL,6000.305,N,02327.762,E,105005,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,205.46,T,205.46,M,5.00,N,,,D*61\r\n$IIMWV,342,R,11.07,N,A*21\r\n$IIVWT,033,L,06.31,N,03.25,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105007,,,,00,*4B\r\n$IIDBT,067.91,f,020.70,M,011.18,F*24\r\n$GPGLL,6000.302,N,02327.760,E,105007,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,205.46,T,205.46,M,5.00,N,,,D*61\r\n$IIMWV,321,T,05.90,N,A*29\r\n$IIVWT,039,L,05.90,N,03.04,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105009,,,,00,*45\r\n$IIDBT,067.45,f,020.56,M,011.11,F*20\r\n$GPGLL,6000.300,N,02327.757,E,105009,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,206.09,T,206.09,M,5.00,N,,,D*61\r\n$IIMWV,338,R,10.49,N,A*27\r\n$IIVWT,041,L,06.02,N,03.10,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105011,,,,00,*4C\r\n$IIDBT,067.41,f,020.55,M,011.10,F*26\r\n$GPGLL,6000.298,N,02327.755,E,105011,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,3.79,N,,*0C\r\n$IIVTG,206.65,T,206.65,M,5.00,N,,,D*61\r\n$IIMWV,320,T,05.63,N,A*24\r\n$IIVWT,040,L,05.63,N,02.90,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105013,,,,00,*4E\r\n$IIDBT,067.05,f,020.44,M,011.04,F*23\r\n$GPGLL,6000.295,N,02327.752,E,105013,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,206.83,T,206.83,M,5.00,N,,,D*61\r\n$IIMWV,340,R,09.71,N,A*2B\r\n$IIVWT,040,L,05.15,N,02.65,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105015,,,,00,*48\r\n$IIDBT,066.82,f,020.37,M,011.01,F*2C\r\n$GPGLL,6000.293,N,02327.750,E,105015,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,3.54,N,,*03\r\n$IIVTG,206.88,T,206.88,M,5.00,N,,,D*61\r\n$IIMWV,313,T,04.72,N,A*25\r\n$IIVWT,047,L,04.72,N,02.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105017,,,,00,*4A\r\n$IIDBT,066.56,f,020.29,M,010.96,F*25\r\n$GPGLL,6000.290,N,02327.747,E,105017,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,206.94,T,206.94,M,5.00,N,,,D*61\r\n$IIMWV,340,R,09.13,N,A*2F\r\n$IIVWT,042,L,04.56,N,02.35,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105019,,,,00,*44\r\n$IIDBT,066.30,f,020.21,M,010.92,F*29\r\n$GPGLL,6000.288,N,02327.745,E,105019,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,3.40,N,,*06\r\n$IIVTG,207.14,T,207.14,M,5.00,N,,,D*61\r\n$IIMWV,309,T,05.50,N,A*2F\r\n$IIVWT,051,L,05.50,N,02.83,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105021,,,,00,*4F\r\n$IIDBT,065.84,f,020.07,M,010.84,F*26\r\n$GPGLL,6000.284,N,02327.741,E,105021,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,2.78,N,,*0C\r\n$IIVTG,207.03,T,207.03,M,5.00,N,,,D*61\r\n$IIMWV,324,R,09.52,N,A*28\r\n$IIVWT,066,L,06.14,N,03.16,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105023,,,,00,*4D\r\n$IIDBT,065.48,f,019.96,M,010.78,F*27\r\n$GPGLL,6000.281,N,02327.738,E,105023,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,207.97,T,207.97,M,5.09,N,,,D*68\r\n$IIMWV,312,T,05.17,N,A*26\r\n$IIVWT,048,L,05.17,N,02.66,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105025,,,,00,*4B\r\n$IIDBT,064.89,f,019.78,M,010.69,F*2B\r\n$GPGLL,6000.279,N,02327.736,E,105025,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,3.09,N,,*0B\r\n$IIVTG,207.27,T,207.27,M,5.10,N,,,D*60\r\n$IIMWV,331,R,09.13,N,A*29\r\n$IIVWT,059,L,05.20,N,02.68,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105027,,,,00,*49\r\n$IIDBT,064.66,f,019.71,M,010.65,F*2F\r\n$GPGLL,6000.276,N,02327.733,E,105027,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.50,N,02.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,2.83,N,,*08\r\n$IIVTG,206.99,T,206.99,M,5.07,N,,,D*66\r\n$IIMWV,306,T,04.33,N,A*24\r\n$IIVWT,054,L,04.33,N,02.23,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105029,,,,00,*47\r\n$IIDBT,064.17,f,019.56,M,010.57,F*2D\r\n$GPGLL,6000.274,N,02327.731,E,105029,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,3.86,N,,*0C\r\n$IIVTG,207.20,T,207.20,M,5.02,N,,,D*63\r\n$IIMWV,338,R,08.55,N,A*23\r\n$IIVWT,050,L,04.21,N,02.17,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105031,,,,00,*4E\r\n$IIDBT,064.07,f,019.53,M,010.55,F*2B\r\n$GPGLL,6000.271,N,02327.728,E,105031,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,2.82,N,,*09\r\n$IIVTG,207.40,T,207.40,M,5.08,N,,,D*69\r\n$IIMWV,307,T,04.45,N,A*24\r\n$IIVWT,053,L,04.45,N,02.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105033,,,,00,*4C\r\n$IIDBT,063.64,f,019.40,M,010.48,F*27\r\n$GPGLL,6000.269,N,02327.726,E,105034,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,3.89,N,,*03\r\n$IIVTG,207.55,T,207.55,M,5.09,N,,,D*68\r\n$IIMWV,341,R,08.74,N,A*2E\r\n$IIVWT,042,L,04.17,N,02.15,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105035,,,,00,*4A\r\n$IIDBT,063.48,f,019.35,M,010.45,F*26\r\n$GPGLL,6000.266,N,02327.723,E,105036,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.50,N,,*00\r\n$IIVTG,207.24,T,207.24,M,5.10,N,,,D*60\r\n$IIMWV,327,T,03.77,N,A*20\r\n$IIVWT,033,L,03.77,N,01.94,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105037,,,,00,*48\r\n$IIDBT,063.35,f,019.31,M,010.43,F*2E\r\n$GPGLL,6000.264,N,02327.721,E,105038,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,207.38,T,207.38,M,5.10,N,,,D*60\r\n$IIMWV,343,R,09.52,N,A*29\r\n$IIVWT,037,L,04.74,N,02.44,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105039,,,,00,*46\r\n$IIDBT,063.31,f,019.30,M,010.43,F*2B\r\n$GPGLL,6000.261,N,02327.718,E,105040,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.25,N,09.72,K*5B\r\n$IIVPW,4.67,N,,*04\r\n$IIVTG,207.12,T,207.12,M,5.10,N,,,D*60\r\n$IIMWV,335,T,04.10,N,A*25\r\n$IIVWT,025,L,04.10,N,02.11,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105041,,,,00,*49\r\n$IIDBT,063.38,f,019.32,M,010.44,F*27\r\n$GPGLL,6000.259,N,02327.716,E,105042,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.25,N,09.72,K*5B\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,206.93,T,206.93,M,5.10,N,,,D*60\r\n$IIMWV,351,R,08.74,N,A*2F\r\n$IIVWT,023,L,03.71,N,01.91,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105043,,,,00,*4B\r\n$IIDBT,063.41,f,019.33,M,010.44,F*28\r\n$GPGLL,6000.256,N,02327.713,E,105044,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,206.91,T,206.91,M,5.10,N,,,D*60\r\n$IIMWV,348,T,03.26,N,A*2D\r\n$IIVWT,012,L,03.26,N,01.68,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105046,,,,00,*4E\r\n$IIDBT,063.44,f,019.34,M,010.45,F*2B\r\n$GPGLL,6000.254,N,02327.710,E,105046,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,206.68,T,206.68,M,5.10,N,,,D*60\r\n$IIMWV,356,R,08.74,N,A*28\r\n$IIVWT,010,L,03.53,N,01.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105048,,,,00,*40\r\n$IIDBT,063.48,f,019.35,M,010.45,F*26\r\n$GPGLL,6000.251,N,02327.708,E,105048,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,206.90,T,206.90,M,5.10,N,,,D*60\r\n$IIMWV,350,T,03.53,N,A*26\r\n$IIVWT,010,L,03.53,N,01.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105050,,,,00,*49\r\n$IIDBT,063.54,f,019.37,M,010.47,F*2B\r\n$GPGLL,6000.249,N,02327.705,E,105050,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,207.02,T,207.02,M,5.10,N,,,D*60\r\n$IIMWV,356,R,08.55,N,A*2B\r\n$IIVWT,010,L,03.24,N,01.67,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105052,,,,00,*4B\r\n$IIDBT,063.64,f,019.40,M,010.48,F*27\r\n$GPGLL,6000.246,N,02327.703,E,105052,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.30,N,01.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.25,N,09.72,K*5B\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,206.63,T,206.63,M,5.10,N,,,D*60\r\n$IIMWV,340,T,03.38,N,A*2A\r\n$IIVWT,020,L,03.38,N,01.74,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105054,,,,00,*4D\r\n$IIDBT,063.58,f,019.38,M,010.47,F*28\r\n$GPGLL,6000.244,N,02327.700,E,105054,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,206.66,T,206.66,M,5.10,N,,,D*60\r\n$IIMWV,351,R,08.55,N,A*2C\r\n$IIVWT,022,L,03.42,N,01.76,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105056,,,,00,*4F\r\n$IIDBT,063.58,f,019.38,M,010.47,F*28\r\n$GPGLL,6000.241,N,02327.697,E,105056,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,208.26,T,208.26,M,5.10,N,,,D*60\r\n$IIMWV,352,T,03.53,N,A*24\r\n$IIVWT,009,L,03.53,N,01.82,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105058,,,,00,*41\r\n$IIDBT,063.38,f,019.32,M,010.44,F*27\r\n$GPGLL,6000.239,N,02327.695,E,105058,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,209.44,T,209.44,M,5.10,N,,,D*60\r\n$IIMWV,000,R,08.74,N,A*28\r\n$IIVWT,001,R,03.42,N,01.76,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105100,,,,00,*4D\r\n$IIDBT,063.12,f,019.24,M,010.39,F*22\r\n$GPGLL,6000.236,N,02327.692,E,105100,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.26,N,09.74,K*5E\r\n$IIVPW,5.16,N,,*03\r\n$IIVTG,208.58,T,208.58,M,5.10,N,,,D*60\r\n$IIMWV,344,T,04.49,N,A*2F\r\n$IIVWT,016,L,04.49,N,02.31,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105102,,,,00,*4F\r\n$IIDBT,062.69,f,019.11,M,010.32,F*22\r\n$GPGLL,6000.234,N,02327.689,E,105102,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.26,N,09.74,K*5E\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,208.80,T,208.80,M,5.10,N,,,D*60\r\n$IIMWV,349,R,10.10,N,A*2D\r\n$IIVWT,023,L,05.03,N,02.59,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105104,,,,00,*49\r\n$IIDBT,062.26,f,018.98,M,010.25,F*2F\r\n$GPGLL,6000.230,N,02327.685,E,105104,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.25,N,09.72,K*5B\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,209.98,T,209.98,M,5.10,N,,,D*60\r\n$IIMWV,342,T,04.47,N,A*27\r\n$IIVWT,018,L,04.47,N,02.30,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105106,,,,00,*4B\r\n$IIDBT,062.03,f,018.91,M,010.22,F*26\r\n$GPGLL,6000.228,N,02327.682,E,105106,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.28,N,09.77,K*53\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,210.27,T,210.27,M,5.10,N,,,D*60\r\n$IIMWV,352,R,09.52,N,A*29\r\n$IIVWT,018,L,04.39,N,02.26,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105108,,,,00,*45\r\n$IIDBT,061.84,f,018.85,M,010.18,F*26\r\n$GPGLL,6000.225,N,02327.679,E,105108,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.26,N,09.74,K*5E\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,210.09,T,210.09,M,5.10,N,,,D*60\r\n$IIMWV,348,T,04.50,N,A*2B\r\n$IIVWT,012,L,04.50,N,02.32,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105110,,,,00,*4C\r\n$IIDBT,061.51,f,018.75,M,010.13,F*2A\r\n$GPGLL,6000.223,N,02327.677,E,105110,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.25,N,09.72,K*5B\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,209.87,T,209.87,M,5.10,N,,,D*60\r\n$IIMWV,353,R,09.71,N,A*29\r\n$IIVWT,015,L,04.64,N,02.39,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105112,,,,00,*4E\r\n$IIDBT,061.12,f,018.63,M,010.07,F*2F\r\n$GPGLL,6000.221,N,02327.674,E,105112,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,210.47,T,210.47,M,5.10,N,,,D*60\r\n$IIMWV,348,T,04.54,N,A*2F\r\n$IIVWT,012,L,04.54,N,02.34,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105114,,,,00,*48\r\n$IIDBT,060.89,f,018.56,M,010.03,F*2E\r\n$GPGLL,6000.218,N,02327.671,E,105114,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,210.94,T,210.94,M,5.10,N,,,D*60\r\n$IIMWV,352,R,09.71,N,A*28\r\n$IIVWT,017,L,04.52,N,02.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105116,,,,00,*4A\r\n$IIDBT,060.46,f,018.43,M,009.96,F*2D\r\n$GPGLL,6000.216,N,02327.668,E,105117,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,210.46,T,210.46,M,5.10,N,,,D*60\r\n$IIMWV,344,T,04.54,N,A*23\r\n$IIVWT,016,L,04.54,N,02.34,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105118,,,,00,*44\r\n$IIDBT,060.13,f,018.33,M,009.90,F*2C\r\n$GPGLL,6000.213,N,02327.665,E,105119,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,210.06,T,210.06,M,5.10,N,,,D*60\r\n$IIMWV,351,R,09.71,N,A*2B\r\n$IIVWT,021,L,04.60,N,02.37,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105120,,,,00,*4F\r\n$IIDBT,059.74,f,018.21,M,009.84,F*21\r\n$GPGLL,6000.211,N,02327.662,E,105121,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,210.19,T,210.19,M,5.10,N,,,D*60\r\n$IIMWV,339,T,04.64,N,A*2A\r\n$IIVWT,022,L,04.64,N,02.39,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105122,,,,00,*4D\r\n$IIDBT,059.51,f,018.14,M,009.80,F*24\r\n$GPGLL,6000.208,N,02327.660,E,105123,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,210.52,T,210.52,M,5.10,N,,,D*60\r\n$IIMWV,349,R,09.71,N,A*22\r\n$IIVWT,023,L,04.66,N,02.40,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105124,,,,00,*4B\r\n$IIDBT,059.18,f,018.04,M,009.75,F*22\r\n$GPGLL,6000.206,N,02327.657,E,105125,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,210.50,T,210.50,M,5.02,N,,,D*63\r\n$IIMWV,337,T,04.60,N,A*20\r\n$IIVWT,023,L,04.60,N,02.37,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105126,,,,00,*49\r\n$IIDBT,058.98,f,017.98,M,009.71,F*25\r\n$GPGLL,6000.204,N,02327.654,E,105127,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,210.70,T,210.70,M,5.01,N,,,D*60\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,022,L,04.12,N,02.12,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105129,,,,00,*46\r\n$IIDBT,058.75,f,017.91,M,009.68,F*27\r\n$GPGLL,6000.201,N,02327.651,E,105129,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,212.27,T,212.27,M,5.08,N,,,D*69\r\n$IIMWV,331,T,04.23,N,A*21\r\n$IIVWT,029,L,04.23,N,02.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105131,,,,00,*4F\r\n$IIDBT,058.62,f,017.87,M,009.65,F*2B\r\n$GPGLL,6000.199,N,02327.648,E,105131,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.63,N,01.87,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,211.97,T,211.97,M,5.09,N,,,D*68\r\n$IIMWV,352,R,09.13,N,A*2C\r\n$IIVWT,020,L,03.98,N,02.05,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105133,,,,00,*4D\r\n$IIDBT,058.33,f,017.78,M,009.61,F*2B\r\n$GPGLL,6000.197,N,02327.645,E,105133,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,211.34,T,211.34,M,5.10,N,,,D*60\r\n$IIMWV,333,T,04.54,N,A*23\r\n$IIVWT,027,L,04.54,N,02.34,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105135,,,,00,*4B\r\n$IIDBT,058.10,f,017.71,M,009.57,F*26\r\n$GPGLL,6000.194,N,02327.642,E,105135,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.49,N,,*08\r\n$IIVTG,209.94,T,209.94,M,5.10,N,,,D*60\r\n$IIMWV,346,R,09.52,N,A*2C\r\n$IIVWT,030,L,04.68,N,02.41,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105137,,,,00,*49\r\n$IIDBT,057.90,f,017.65,M,009.54,F*27\r\n$GPGLL,6000.192,N,02327.639,E,105137,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,209.56,T,209.56,M,5.10,N,,,D*60\r\n$IIMWV,326,T,04.66,N,A*26\r\n$IIVWT,034,L,04.66,N,02.40,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105139,,,,00,*47\r\n$IIDBT,057.67,f,017.58,M,009.50,F*25\r\n$GPGLL,6000.189,N,02327.637,E,105139,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,209.86,T,209.86,M,5.10,N,,,D*60\r\n$IIMWV,352,R,09.71,N,A*28\r\n$IIVWT,018,L,04.64,N,02.39,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105141,,,,00,*48\r\n$IIDBT,057.47,f,017.52,M,009.47,F*2B\r\n$GPGLL,6000.187,N,02327.634,E,105141,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.66,N,,*05\r\n$IIVTG,210.06,T,210.06,M,5.10,N,,,D*60\r\n$IIMWV,334,T,04.68,N,A*2B\r\n$IIVWT,026,L,04.68,N,02.41,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105143,,,,00,*4A\r\n$IIDBT,057.18,f,017.43,M,009.42,F*24\r\n$GPGLL,6000.184,N,02327.631,E,105143,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.24,N,09.70,K*58\r\n$IIVPW,4.70,N,,*02\r\n$IIVTG,210.14,T,210.14,M,5.10,N,,,D*60\r\n$IIMWV,348,R,10.10,N,A*2C\r\n$IIVWT,025,L,05.09,N,02.62,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105145,,,,00,*4C\r\n$IIDBT,056.95,f,017.36,M,009.38,F*2F\r\n$GPGLL,6000.181,N,02327.627,E,105145,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,209.57,T,209.57,M,5.10,N,,,D*60\r\n$IIMWV,339,T,05.03,N,A*2A\r\n$IIVWT,022,L,05.03,N,02.59,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105147,,,,00,*4E\r\n$IIDBT,056.75,f,017.30,M,009.35,F*2A\r\n$GPGLL,6000.178,N,02327.624,E,105147,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.22,N,09.66,K*59\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,209.21,T,209.21,M,5.10,N,,,D*60\r\n$IIMWV,348,R,10.10,N,A*2C\r\n$IIVWT,023,L,05.19,N,02.67,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105149,,,,00,*40\r\n$IIDBT,056.69,f,017.28,M,009.34,F*2F\r\n$GPGLL,6000.176,N,02327.621,E,105149,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.67,N,,*04\r\n$IIVTG,209.43,T,209.43,M,5.05,N,,,D*64\r\n$IIMWV,329,T,05.26,N,A*2C\r\n$IIVWT,031,L,05.26,N,02.71,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105151,,,,00,*49\r\n$IIDBT,056.52,f,017.23,M,009.31,F*29\r\n$GPGLL,6000.173,N,02327.619,E,105151,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,209.96,T,209.96,M,5.01,N,,,D*60\r\n$IIMWV,347,R,10.49,N,A*2F\r\n$IIVWT,025,L,05.48,N,02.82,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105153,,,,00,*4B\r\n$IIDBT,056.42,f,017.20,M,009.29,F*22\r\n$GPGLL,6000.171,N,02327.616,E,105153,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,210.44,T,210.44,M,5.05,N,,,D*64\r\n$IIMWV,324,T,05.48,N,A*29\r\n$IIVWT,036,L,05.48,N,02.82,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105155,,,,00,*4D\r\n$IIDBT,056.33,f,017.17,M,009.28,F*21\r\n$GPGLL,6000.169,N,02327.613,E,105155,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.48,N,,*09\r\n$IIVTG,211.09,T,211.09,M,5.04,N,,,D*65\r\n$IIMWV,343,R,10.10,N,A*27\r\n$IIVWT,034,L,05.34,N,02.75,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105157,,,,00,*4F\r\n$IIDBT,056.13,f,017.11,M,009.24,F*29\r\n$GPGLL,6000.166,N,02327.610,E,105157,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,211.37,T,211.37,M,5.01,N,,,D*60\r\n$IIMWV,329,T,05.22,N,A*28\r\n$IIVWT,031,L,05.22,N,02.69,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105159,,,,00,*41\r\n$IIDBT,055.87,f,017.03,M,009.20,F*20\r\n$GPGLL,6000.164,N,02327.607,E,105200,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.81,N,,*0C\r\n$IIVTG,211.34,T,211.34,M,5.05,N,,,D*64\r\n$IIMWV,348,R,10.10,N,A*2C\r\n$IIVWT,025,L,05.11,N,02.63,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105201,,,,00,*4F\r\n$IIDBT,055.70,f,016.98,M,009.17,F*2F\r\n$GPGLL,6000.161,N,02327.604,E,105202,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.51,N,,*01\r\n$IIVTG,210.04,T,210.04,M,5.01,N,,,D*60\r\n$IIMWV,327,T,05.01,N,A*27\r\n$IIVWT,033,L,05.01,N,02.58,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105203,,,,00,*4D\r\n$IIDBT,055.57,f,016.94,M,009.15,F*24\r\n$GPGLL,6000.159,N,02327.601,E,105204,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,209.64,T,209.64,M,5.00,N,,,D*61\r\n$IIMWV,348,R,09.71,N,A*23\r\n$IIVWT,026,L,04.80,N,02.47,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105205,,,,00,*4B\r\n$IIDBT,055.37,f,016.88,M,009.12,F*28\r\n$GPGLL,6000.156,N,02327.599,E,105206,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,209.76,T,209.76,M,5.00,N,,,D*61\r\n$IIMWV,334,T,05.50,N,A*21\r\n$IIVWT,027,L,05.50,N,02.83,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105207,,,,00,*49\r\n$IIDBT,055.37,f,016.88,M,009.12,F*28\r\n$GPGLL,6000.154,N,02327.596,E,105208,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,209.77,T,209.77,M,5.00,N,,,D*61\r\n$IIMWV,346,R,10.88,N,A*23\r\n$IIVWT,026,L,05.98,N,03.08,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105209,,,,00,*47\r\n$IIDBT,055.41,f,016.89,M,009.12,F*28\r\n$GPGLL,6000.152,N,02327.593,E,105210,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,4.59,N,,*09\r\n$IIVTG,209.84,T,209.84,M,5.00,N,,,D*61\r\n$IIMWV,340,T,05.87,N,A*28\r\n$IIVWT,020,L,05.87,N,03.02,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105212,,,,00,*4D\r\n$IIDBT,055.47,f,016.91,M,009.14,F*21\r\n$GPGLL,6000.149,N,02327.590,E,105212,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,209.81,T,209.81,M,5.00,N,,,D*61\r\n$IIMWV,346,R,10.88,N,A*23\r\n$IIVWT,028,L,05.90,N,03.04,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105214,,,,00,*4B\r\n$IIDBT,055.47,f,016.91,M,009.14,F*21\r\n$GPGLL,6000.147,N,02327.588,E,105214,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,209.83,T,209.83,M,5.00,N,,,D*61\r\n$IIMWV,336,T,05.90,N,A*2F\r\n$IIVWT,024,L,05.90,N,03.04,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105216,,,,00,*49\r\n$IIDBT,055.41,f,016.89,M,009.12,F*28\r\n$GPGLL,6000.144,N,02327.585,E,105216,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,210.16,T,210.16,M,5.00,N,,,D*61\r\n$IIMWV,346,R,11.46,N,A*20\r\n$IIVWT,026,L,06.53,N,03.36,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105218,,,,00,*47\r\n$IIDBT,055.14,f,016.81,M,009.08,F*2B\r\n$GPGLL,6000.142,N,02327.582,E,105218,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,210.29,T,210.29,M,5.00,N,,,D*61\r\n$IIMWV,335,T,05.94,N,A*28\r\n$IIVWT,025,L,05.94,N,03.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105220,,,,00,*4C\r\n$IIDBT,054.85,f,016.72,M,009.03,F*25\r\n$GPGLL,6000.140,N,02327.579,E,105220,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,209.97,T,209.97,M,5.00,N,,,D*61\r\n$IIMWV,346,R,11.07,N,A*25\r\n$IIVWT,026,L,06.18,N,03.18,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105222,,,,00,*4E\r\n$IIDBT,054.59,f,016.64,M,008.99,F*21\r\n$GPGLL,6000.137,N,02327.577,E,105222,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,209.84,T,209.84,M,5.00,N,,,D*61\r\n$IIMWV,334,T,06.14,N,A*22\r\n$IIVWT,026,L,06.14,N,03.16,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105224,,,,00,*48\r\n$IIDBT,054.13,f,016.50,M,008.91,F*20\r\n$GPGLL,6000.135,N,02327.574,E,105224,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,4.58,N,,*08\r\n$IIVTG,209.81,T,209.81,M,5.00,N,,,D*61\r\n$IIMWV,345,R,10.88,N,A*20\r\n$IIVWT,028,L,06.08,N,03.13,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105226,,,,00,*4A\r\n$IIDBT,053.54,f,016.32,M,008.82,F*22\r\n$GPGLL,6000.132,N,02327.571,E,105226,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.67,N,,*04\r\n$IIVTG,209.78,T,209.78,M,5.00,N,,,D*61\r\n$IIMWV,334,T,05.61,N,A*23\r\n$IIVWT,026,L,05.61,N,02.89,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105228,,,,00,*44\r\n$IIDBT,053.01,f,016.16,M,008.73,F*2A\r\n$GPGLL,6000.129,N,02327.567,E,105228,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,4.81,N,,*0C\r\n$IIVTG,209.71,T,209.71,M,5.00,N,,,D*61\r\n$IIMWV,349,R,10.88,N,A*2C\r\n$IIVWT,021,L,05.77,N,02.97,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105230,,,,00,*4D\r\n$IIDBT,052.45,f,015.99,M,008.64,F*29\r\n$GPGLL,6000.126,N,02327.564,E,105230,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,209.88,T,209.88,M,5.00,N,,,D*61\r\n$IIMWV,337,T,05.90,N,A*2E\r\n$IIVWT,023,L,05.90,N,03.04,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105232,,,,00,*4F\r\n$IIDBT,052.03,f,015.86,M,008.57,F*25\r\n$GPGLL,6000.124,N,02327.561,E,105232,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,209.92,T,209.92,M,5.00,N,,,D*61\r\n$IIMWV,350,R,10.49,N,A*29\r\n$IIVWT,019,L,05.44,N,02.80,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105234,,,,00,*49\r\n$IIDBT,051.63,f,015.74,M,008.50,F*2A\r\n$GPGLL,6000.121,N,02327.559,E,105234,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.19,N,09.61,K*56\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,209.83,T,209.83,M,5.00,N,,,A*64\r\n$IIMWV,344,T,05.87,N,A*2C\r\n$IIVWT,016,L,05.87,N,03.02,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105236,,,,00,*4B\r\n$IIDBT,051.27,f,015.63,M,008.44,F*29\r\n$GPGLL,6000.119,N,02327.556,E,105236,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,209.53,T,209.53,M,5.00,N,,,A*64\r\n$IIMWV,349,R,10.88,N,A*2C\r\n$IIVWT,021,L,05.85,N,03.01,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105238,,,,00,*45\r\n$IIDBT,050.88,f,015.51,M,008.38,F*27\r\n$GPGLL,6000.116,N,02327.553,E,105238,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,209.31,T,209.31,M,5.00,N,,,A*64\r\n$IIMWV,345,T,06.70,N,A*26\r\n$IIVWT,016,L,06.70,N,03.45,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105240,,,,00,*4A\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,6000.114,N,02327.551,E,105240,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,209.27,T,209.27,M,5.00,N,,,A*64\r\n$IIMWV,352,R,11.85,N,A*2A\r\n$IIVWT,014,L,06.72,N,03.46,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105242,,,,00,*48\r\n$IIDBT,050.49,f,015.39,M,008.31,F*2D\r\n$GPGLL,6000.111,N,02327.548,E,105243,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.82,N,03.51,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,208.77,T,208.77,M,5.00,N,,,A*64\r\n$IIMWV,346,T,06.43,N,A*25\r\n$IIVWT,014,L,06.43,N,03.31,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105244,,,,00,*4E\r\n$IIDBT,050.32,f,015.34,M,008.29,F*25\r\n$GPGLL,6000.109,N,02327.546,E,105245,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,208.39,T,208.39,M,5.00,N,,,A*64\r\n$IIMWV,352,R,11.46,N,A*25\r\n$IIVWT,014,L,06.39,N,03.29,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105246,,,,00,*4C\r\n$IIDBT,050.03,f,015.25,M,008.24,F*2A\r\n$GPGLL,6000.106,N,02327.543,E,105247,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,209.97,T,209.97,M,5.00,N,,,A*64\r\n$IIMWV,350,T,06.29,N,A*2E\r\n$IIVWT,010,L,06.29,N,03.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105248,,,,00,*42\r\n$IIDBT,049.57,f,015.11,M,008.16,F*25\r\n$GPGLL,6000.104,N,02327.540,E,105249,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,212.77,T,212.77,M,5.00,N,,,A*64\r\n$IIMWV,353,R,11.46,N,A*24\r\n$IIVWT,013,L,06.27,N,03.23,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105250,,,,00,*4B\r\n$IIDBT,049.04,f,014.95,M,008.08,F*21\r\n$GPGLL,6000.102,N,02327.537,E,105251,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,211.97,T,211.97,M,5.00,N,,,A*64\r\n$IIMWV,347,T,06.88,N,A*23\r\n$IIVWT,013,L,06.88,N,03.54,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105252,,,,00,*49\r\n$IIDBT,048.45,f,014.77,M,007.98,F*2F\r\n$GPGLL,6000.099,N,02327.534,E,105253,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,210.59,T,210.59,M,5.00,N,,,D*61\r\n$IIMWV,352,R,12.05,N,A*21\r\n$IIVWT,015,L,06.92,N,03.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105255,,,,00,*4E\r\n$IIDBT,047.73,f,014.55,M,007.86,F*2A\r\n$GPGLL,6000.097,N,02327.531,E,105255,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,210.35,T,210.35,M,5.00,N,,,D*61\r\n$IIMWV,349,T,07.19,N,A*24\r\n$IIVWT,011,L,07.19,N,03.70,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105257,,,,00,*4C\r\n$IIDBT,047.43,f,014.46,M,007.81,F*2C\r\n$GPGLL,6000.095,N,02327.528,E,105257,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.38,N,03.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,209.31,T,209.31,M,5.00,N,,,D*61\r\n$IIMWV,352,R,12.05,N,A*21\r\n$IIVWT,014,L,06.95,N,03.58,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105259,,,,00,*42\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,6000.092,N,02327.526,E,105259,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,208.15,T,208.15,M,5.00,N,,,D*61\r\n$IIMWV,342,T,07.01,N,A*26\r\n$IIVWT,018,L,07.01,N,03.61,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105301,,,,00,*4E\r\n$IIDBT,046.58,f,014.20,M,007.67,F*2F\r\n$GPGLL,6000.090,N,02327.523,E,105301,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,207.66,T,207.66,M,5.00,N,,,D*61\r\n$IIMWV,350,R,11.85,N,A*28\r\n$IIVWT,018,L,06.78,N,03.49,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105303,,,,00,*4C\r\n$IIDBT,046.32,f,014.12,M,007.63,F*26\r\n$GPGLL,6000.087,N,02327.521,E,105303,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,207.09,T,207.09,M,5.00,N,,,D*61\r\n$IIMWV,344,T,06.39,N,A*2A\r\n$IIVWT,016,L,06.39,N,03.29,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105305,,,,00,*4A\r\n$IIDBT,045.73,f,013.94,M,007.53,F*2A\r\n$GPGLL,6000.085,N,02327.518,E,105305,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,206.22,T,206.22,M,5.00,N,,,D*61\r\n$IIMWV,351,R,11.46,N,A*26\r\n$IIVWT,016,L,06.45,N,03.32,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105307,,,,00,*48\r\n$IIDBT,045.34,f,013.82,M,007.47,F*2B\r\n$GPGLL,6000.083,N,02327.516,E,105307,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,205.41,T,205.41,M,5.00,N,,,D*61\r\n$IIMWV,347,T,06.35,N,A*25\r\n$IIVWT,013,L,06.35,N,03.27,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105309,,,,00,*46\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,6000.080,N,02327.514,E,105309,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,205.45,T,205.45,M,5.00,N,,,D*61\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,012,L,06.31,N,03.25,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105311,,,,00,*4F\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,6000.076,N,02327.510,E,105311,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,205.05,T,205.05,M,5.00,N,,,D*61\r\n$IIMWV,348,T,06.31,N,A*2E\r\n$IIVWT,012,L,06.31,N,03.25,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105313,,,,00,*4D\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,6000.074,N,02327.508,E,105313,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,205.36,T,205.36,M,5.00,N,,,D*61\r\n$IIMWV,353,R,11.07,N,A*21\r\n$IIVWT,013,L,05.96,N,03.07,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105315,,,,00,*4B\r\n$IIDBT,044.22,f,013.48,M,007.28,F*22\r\n$GPGLL,6000.071,N,02327.505,E,105315,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,205.37,T,205.37,M,5.00,N,,,D*61\r\n$IIMWV,352,T,05.71,N,A*22\r\n$IIVWT,009,L,05.71,N,02.94,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105317,,,,00,*49\r\n$IIDBT,043.92,f,013.39,M,007.23,F*23\r\n$GPGLL,6000.069,N,02327.503,E,105317,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,205.54,T,205.54,M,5.00,N,,,D*61\r\n$IIMWV,355,R,10.49,N,A*2C\r\n$IIVWT,010,L,05.40,N,02.78,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105319,,,,00,*47\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,6000.067,N,02327.501,E,105319,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,205.43,T,205.43,M,5.00,N,,,D*61\r\n$IIMWV,352,T,05.32,N,A*25\r\n$IIVWT,008,L,05.32,N,02.74,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105321,,,,00,*4C\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,6000.064,N,02327.498,E,105321,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,205.41,T,205.41,M,5.00,N,,,D*61\r\n$IIMWV,358,R,11.07,N,A*2A\r\n$IIVWT,004,L,05.85,N,03.01,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105323,,,,00,*4E\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,6000.062,N,02327.496,E,105323,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,205.90,T,205.90,M,5.00,N,,,D*61\r\n$IIMWV,352,T,05.30,N,A*27\r\n$IIVWT,008,L,05.30,N,02.73,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105325,,,,00,*48\r\n$IIDBT,043.04,f,013.12,M,007.09,F*2D\r\n$GPGLL,6000.059,N,02327.494,E,105326,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,206.37,T,206.37,M,5.00,N,,,D*61\r\n$IIMWV,357,R,10.88,N,A*23\r\n$IIVWT,005,L,05.73,N,02.95,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105327,,,,00,*4A\r\n$IIDBT,042.84,f,013.06,M,007.05,F*2D\r\n$GPGLL,6000.057,N,02327.491,E,105328,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,207.09,T,207.09,M,4.95,N,,,D*6C\r\n$IIMWV,355,T,05.88,N,A*23\r\n$IIVWT,005,L,05.88,N,03.03,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105329,,,,00,*44\r\n$IIDBT,042.74,f,013.03,M,007.04,F*26\r\n$GPGLL,6000.054,N,02327.488,E,105330,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,208.02,T,208.02,M,4.99,N,,,D*60\r\n$IIMWV,353,R,11.46,N,A*24\r\n$IIVWT,013,L,06.41,N,03.30,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105331,,,,00,*4D\r\n$IIDBT,042.61,f,012.99,M,007.02,F*26\r\n$GPGLL,6000.052,N,02327.486,E,105332,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,208.61,T,208.61,M,5.00,N,,,D*61\r\n$IIMWV,344,T,06.43,N,A*27\r\n$IIVWT,016,L,06.43,N,03.31,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105333,,,,00,*4F\r\n$IIDBT,042.55,f,012.97,M,007.01,F*2C\r\n$GPGLL,6000.050,N,02327.483,E,105334,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.82,N,03.51,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,208.53,T,208.53,M,4.95,N,,,D*6C\r\n$IIMWV,350,R,11.46,N,A*27\r\n$IIVWT,018,L,06.47,N,03.33,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105336,,,,00,*4A\r\n$IIDBT,042.51,f,012.96,M,007.00,F*28\r\n$GPGLL,6000.047,N,02327.480,E,105336,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,210.23,T,210.23,M,4.96,N,,,D*6F\r\n$IIMWV,342,T,06.84,N,A*2A\r\n$IIVWT,018,L,06.84,N,03.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105338,,,,00,*44\r\n$IIDBT,042.48,f,012.95,M,006.99,F*22\r\n$GPGLL,6000.045,N,02327.477,E,105338,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,212.53,T,212.53,M,4.99,N,,,D*60\r\n$IIMWV,353,R,11.46,N,A*24\r\n$IIVWT,013,L,06.33,N,03.26,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105340,,,,00,*4B\r\n$IIDBT,042.64,f,013.00,M,007.02,F*22\r\n$GPGLL,6000.043,N,02327.474,E,105340,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,214.61,T,214.61,M,5.05,N,,,D*64\r\n$IIMWV,346,T,06.14,N,A*27\r\n$IIVWT,014,L,06.14,N,03.16,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105342,,,,00,*49\r\n$IIDBT,042.42,f,012.93,M,006.98,F*2F\r\n$GPGLL,6000.040,N,02327.471,E,105342,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,214.55,T,214.55,M,5.06,N,,,D*67\r\n$IIMWV,355,R,11.07,N,A*27\r\n$IIVWT,010,L,05.96,N,03.07,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105344,,,,00,*4F\r\n$IIDBT,042.38,f,012.92,M,006.98,F*23\r\n$GPGLL,6000.038,N,02327.468,E,105344,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,212.68,T,212.68,M,5.04,N,,,D*65\r\n$IIMWV,354,T,05.92,N,A*29\r\n$IIVWT,007,L,05.92,N,03.05,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105346,,,,00,*4D\r\n$IIDBT,042.25,f,012.88,M,006.96,F*2A\r\n$GPGLL,6000.036,N,02327.465,E,105346,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.20,N,,*06\r\n$IIVTG,209.37,T,209.37,M,5.01,N,,,D*60\r\n$IIMWV,358,R,10.88,N,A*2C\r\n$IIVWT,005,L,05.73,N,02.95,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105348,,,,00,*43\r\n$IIDBT,042.22,f,012.87,M,006.95,F*21\r\n$GPGLL,6000.033,N,02327.463,E,105348,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,208.19,T,208.19,M,5.00,N,,,D*61\r\n$IIMWV,002,T,05.71,N,A*24\r\n$IIVWT,002,R,05.71,N,02.94,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105350,,,,00,*4A\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,6000.031,N,02327.460,E,105350,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,207.63,T,207.63,M,5.00,N,,,D*61\r\n$IIMWV,360,R,11.07,N,A*21\r\n$IIVWT,001,L,05.96,N,03.07,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105352,,,,00,*48\r\n$IIDBT,041.86,f,012.76,M,006.89,F*2F\r\n$GPGLL,6000.027,N,02327.456,E,105352,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.12,N,09.48,K*56\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,206.98,T,206.98,M,5.00,N,,,D*61\r\n$IIMWV,001,T,05.96,N,A*2E\r\n$IIVWT,001,R,05.96,N,03.07,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105354,,,,00,*4E\r\n$IIDBT,041.63,f,012.69,M,006.85,F*26\r\n$GPGLL,6000.024,N,02327.454,E,105354,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.12,N,09.48,K*56\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,206.27,T,206.27,M,5.01,N,,,A*65\r\n$IIMWV,002,R,10.88,N,A*20\r\n$IIVWT,004,R,05.83,N,03.00,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105356,,,,00,*4C\r\n$IIDBT,041.46,f,012.64,M,006.83,F*2A\r\n$GPGLL,6000.022,N,02327.452,E,105356,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,206.09,T,206.09,M,5.00,N,,,D*61\r\n$IIMWV,001,T,05.69,N,A*2E\r\n$IIVWT,001,R,05.69,N,02.93,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105358,,,,00,*42\r\n$IIDBT,041.30,f,012.59,M,006.80,F*26\r\n$GPGLL,6000.020,N,02327.449,E,105358,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.16,N,,*03\r\n$IIVTG,206.27,T,206.27,M,5.00,N,,,D*61\r\n$IIMWV,001,R,11.07,N,A*25\r\n$IIVWT,002,R,05.92,N,03.05,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105400,,,,00,*48\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,6000.017,N,02327.447,E,105400,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,206.16,T,206.16,M,5.00,N,,,D*61\r\n$IIMWV,005,T,05.87,N,A*2A\r\n$IIVWT,005,R,05.87,N,03.02,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105402,,,,00,*4A\r\n$IIDBT,041.37,f,012.61,M,006.81,F*2B\r\n$GPGLL,6000.015,N,02327.444,E,105402,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.41,N,03.30,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,205.66,T,205.66,M,5.00,N,,,D*61\r\n$IIMWV,005,R,11.46,N,A*24\r\n$IIVWT,010,R,06.29,N,03.24,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105404,,,,00,*4C\r\n$IIDBT,041.20,f,012.56,M,006.78,F*2F\r\n$GPGLL,6000.012,N,02327.442,E,105404,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,205.84,T,205.84,M,5.00,N,,,D*61\r\n$IIMWV,007,T,06.23,N,A*25\r\n$IIVWT,007,R,06.23,N,03.21,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105406,,,,00,*4E\r\n$IIDBT,040.91,f,012.47,M,006.74,F*28\r\n$GPGLL,6000.010,N,02327.440,E,105406,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,205.79,T,205.79,M,5.00,N,,,D*61\r\n$IIMWV,004,R,11.46,N,A*25\r\n$IIVWT,006,R,06.39,N,03.29,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105408,,,,00,*40\r\n$IIDBT,040.71,f,012.41,M,006.70,F*24\r\n$GPGLL,6000.007,N,02327.437,E,105409,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,205.97,T,205.97,M,4.95,N,,,D*6C\r\n$IIMWV,004,T,06.22,N,A*27\r\n$IIVWT,004,R,06.22,N,03.20,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105410,,,,00,*49\r\n$IIDBT,040.45,f,012.33,M,006.66,F*21\r\n$GPGLL,6000.005,N,02327.435,E,105411,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,207.54,T,207.54,M,4.99,N,,,D*60\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,006,L,06.20,N,03.19,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105412,,,,00,*4B\r\n$IIDBT,040.25,f,012.27,M,006.63,F*27\r\n$GPGLL,6000.003,N,02327.432,E,105413,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,208.56,T,208.56,M,5.00,N,,,D*61\r\n$IIMWV,353,T,06.25,N,A*21\r\n$IIVWT,007,L,06.25,N,03.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105414,,,,00,*4D\r\n$IIDBT,039.92,f,012.17,M,006.57,F*21\r\n$GPGLL,6000.000,N,02327.429,E,105415,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,209.52,T,209.52,M,5.00,N,,,D*61\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,006,L,06.23,N,03.21,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105416,,,,00,*4F\r\n$IIDBT,039.95,f,012.18,M,006.58,F*26\r\n$GPGLL,5959.998,N,02327.426,E,105417,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,210.20,T,210.20,M,5.00,N,,,D*61\r\n$IIMWV,353,T,06.60,N,A*20\r\n$IIVWT,007,L,06.60,N,03.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105419,,,,00,*40\r\n$IIDBT,040.05,f,012.21,M,006.59,F*2A\r\n$GPGLL,5959.995,N,02327.424,E,105419,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.74,N,03.47,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,210.38,T,210.38,M,5.00,N,,,D*61\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,009,L,06.66,N,03.43,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105421,,,,00,*4B\r\n$IIDBT,039.92,f,012.17,M,006.57,F*21\r\n$GPGLL,5959.993,N,02327.421,E,105421,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,210.24,T,210.24,M,5.00,N,,,D*61\r\n$IIMWV,352,T,06.22,N,A*27\r\n$IIVWT,008,L,06.22,N,03.20,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105423,,,,00,*49\r\n$IIDBT,039.89,f,012.16,M,006.57,F*2A\r\n$GPGLL,5959.991,N,02327.418,E,105423,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.17,N,09.57,K*5D\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,209.89,T,209.89,M,5.00,N,,,D*61\r\n$IIMWV,356,R,11.46,N,A*21\r\n$IIVWT,007,L,06.29,N,03.24,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105425,,,,00,*4F\r\n$IIDBT,039.46,f,012.03,M,006.50,F*2A\r\n$GPGLL,5959.988,N,02327.416,E,105425,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.82,N,03.51,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.16,N,,*03\r\n$IIVTG,209.20,T,209.20,M,5.00,N,,,D*61\r\n$IIMWV,351,T,07.30,N,A*26\r\n$IIVWT,009,L,07.30,N,03.76,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105427,,,,00,*4D\r\n$IIDBT,038.97,f,011.88,M,006.42,F*24\r\n$GPGLL,5959.986,N,02327.413,E,105427,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,209.00,T,209.00,M,5.00,N,,,A*64\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,008,L,06.82,N,03.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105429,,,,00,*43\r\n$IIDBT,038.74,f,011.81,M,006.38,F*2D\r\n$GPGLL,5959.983,N,02327.411,E,105429,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.25,N,03.73,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,208.87,T,208.87,M,5.00,N,,,D*61\r\n$IIMWV,351,T,07.25,N,A*22\r\n$IIVWT,009,L,07.25,N,03.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105431,,,,00,*4A\r\n$IIDBT,038.15,f,011.63,M,006.28,F*27\r\n$GPGLL,5959.981,N,02327.408,E,105431,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.16,N,09.55,K*5E\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,208.94,T,208.94,M,5.00,N,,,D*61\r\n$IIMWV,356,R,12.44,N,A*20\r\n$IIVWT,006,L,07.21,N,03.71,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105433,,,,00,*48\r\n$IIDBT,038.12,f,011.62,M,006.28,F*21\r\n$GPGLL,5959.978,N,02327.405,E,105433,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,209.31,T,209.31,M,5.00,N,,,D*61\r\n$IIMWV,351,T,06.76,N,A*25\r\n$IIVWT,009,L,06.76,N,03.48,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105435,,,,00,*4E\r\n$IIDBT,038.28,f,011.67,M,006.30,F*24\r\n$GPGLL,5959.975,N,02327.401,E,105435,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,209.43,T,209.43,M,5.00,N,,,D*61\r\n$IIMWV,001,R,11.85,N,A*2F\r\n$IIVWT,001,R,06.74,N,03.47,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105437,,,,00,*4C\r\n$IIDBT,038.15,f,011.63,M,006.28,F*27\r\n$GPGLL,5959.972,N,02327.398,E,105437,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,209.30,T,209.30,M,5.00,N,,,D*61\r\n$IIMWV,000,T,06.70,N,A*24\r\n$IIVWT,000,R,06.70,N,03.45,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105439,,,,00,*42\r\n$IIDBT,037.85,f,011.54,M,006.23,F*2E\r\n$GPGLL,5959.970,N,02327.396,E,105439,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,209.60,T,209.60,M,5.00,N,,,D*61\r\n$IIMWV,002,R,11.85,N,A*2C\r\n$IIVWT,003,R,06.64,N,03.42,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105441,,,,00,*4D\r\n$IIDBT,037.53,f,011.44,M,006.18,F*2C\r\n$GPGLL,5959.968,N,02327.393,E,105441,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,209.87,T,209.87,M,5.00,N,,,D*61\r\n$IIMWV,003,T,06.66,N,A*20\r\n$IIVWT,003,R,06.66,N,03.43,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105443,,,,00,*4F\r\n$IIDBT,037.43,f,011.41,M,006.16,F*26\r\n$GPGLL,5959.965,N,02327.390,E,105443,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.86,N,03.53,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,210.04,T,210.04,M,5.00,N,,,D*61\r\n$IIMWV,002,R,11.85,N,A*2C\r\n$IIVWT,003,R,06.72,N,03.46,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105445,,,,00,*49\r\n$IIDBT,037.23,f,011.35,M,006.13,F*26\r\n$GPGLL,5959.963,N,02327.387,E,105445,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,210.21,T,210.21,M,5.00,N,,,D*61\r\n$IIMWV,358,T,06.88,N,A*2D\r\n$IIVWT,002,L,06.88,N,03.54,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105447,,,,00,*4B\r\n$IIDBT,036.97,f,011.27,M,006.09,F*20\r\n$GPGLL,5959.961,N,02327.385,E,105447,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,210.33,T,210.33,M,4.95,N,,,D*6C\r\n$IIMWV,360,R,12.05,N,A*20\r\n$IIVWT,001,L,06.92,N,03.56,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105449,,,,00,*45\r\n$IIDBT,036.67,f,011.18,M,006.04,F*2E\r\n$GPGLL,5959.958,N,02327.382,E,105450,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.16,N,,*03\r\n$IIVTG,211.03,T,211.03,M,4.99,N,,,D*60\r\n$IIMWV,002,T,06.74,N,A*22\r\n$IIVWT,002,R,06.74,N,03.47,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105451,,,,00,*4C\r\n$IIDBT,036.71,f,011.19,M,006.04,F*28\r\n$GPGLL,5959.956,N,02327.379,E,105452,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,211.01,T,211.01,M,4.92,N,,,D*6B\r\n$IIMWV,354,R,11.85,N,A*2C\r\n$IIVWT,010,L,06.78,N,03.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105453,,,,00,*4E\r\n$IIDBT,036.90,f,011.25,M,006.08,F*24\r\n$GPGLL,5959.954,N,02327.376,E,105454,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,211.55,T,211.55,M,4.91,N,,,D*68\r\n$IIMWV,350,T,06.76,N,A*24\r\n$IIVWT,011,L,06.76,N,03.48,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105455,,,,00,*48\r\n$IIDBT,036.67,f,011.18,M,006.04,F*2E\r\n$GPGLL,5959.951,N,02327.373,E,105456,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,212.83,T,212.83,M,4.90,N,,,D*69\r\n$IIMWV,360,R,11.85,N,A*2B\r\n$IIVWT,001,L,06.76,N,03.48,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105457,,,,00,*4A\r\n$IIDBT,036.61,f,011.16,M,006.03,F*21\r\n$GPGLL,5959.949,N,02327.370,E,105458,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.14,N,09.51,K*58\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,213.38,T,213.38,M,4.90,N,,,D*69\r\n$IIMWV,004,T,06.35,N,A*21\r\n$IIVWT,004,R,06.35,N,03.27,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105459,,,,00,*44\r\n$IIDBT,036.58,f,011.15,M,006.02,F*29\r\n$GPGLL,5959.947,N,02327.367,E,105500,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,213.89,T,213.89,M,4.90,N,,,D*69\r\n$IIMWV,004,R,11.85,N,A*2A\r\n$IIVWT,008,R,06.70,N,03.45,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105502,,,,00,*4B\r\n$IIDBT,036.41,f,011.10,M,005.99,F*25\r\n$GPGLL,5959.945,N,02327.364,E,105502,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,214.65,T,214.65,M,4.98,N,,,D*61\r\n$IIMWV,005,T,06.84,N,A*2A\r\n$IIVWT,005,R,06.84,N,03.52,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105504,,,,00,*4D\r\n$IIDBT,036.31,f,011.07,M,005.98,F*25\r\n$GPGLL,5959.942,N,02327.361,E,105504,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,214.09,T,214.09,M,4.99,N,,,D*60\r\n$IIMWV,006,R,11.85,N,A*28\r\n$IIVWT,011,R,06.72,N,03.46,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105506,,,,00,*4F\r\n$IIDBT,036.15,f,011.02,M,005.95,F*2B\r\n$GPGLL,5959.940,N,02327.358,E,105506,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,213.60,T,213.60,M,4.92,N,,,D*6B\r\n$IIMWV,013,T,06.97,N,A*2F\r\n$IIVWT,013,R,06.97,N,03.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105508,,,,00,*41\r\n$IIDBT,036.12,f,011.01,M,005.95,F*2F\r\n$GPGLL,5959.938,N,02327.355,E,105508,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.15,N,09.53,K*5B\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,213.30,T,213.30,M,4.96,N,,,A*6A\r\n$IIMWV,007,R,12.44,N,A*27\r\n$IIVWT,012,R,07.40,N,03.81,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105510,,,,00,*48\r\n$IIDBT,036.18,f,011.03,M,005.96,F*24\r\n$GPGLL,5959.935,N,02327.352,E,105510,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.38,N,03.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,213.48,T,213.48,M,4.99,N,,,A*65\r\n$IIMWV,015,T,07.30,N,A*25\r\n$IIVWT,015,R,07.30,N,03.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105512,,,,00,*4A\r\n$IIDBT,036.05,f,010.99,M,005.94,F*28\r\n$GPGLL,5959.933,N,02327.349,E,105512,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,213.37,T,213.37,M,4.95,N,,,A*69\r\n$IIMWV,009,R,12.82,N,A*23\r\n$IIVWT,015,R,07.93,N,04.08,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105514,,,,00,*4C\r\n$IIDBT,035.76,f,010.90,M,005.89,F*2A\r\n$GPGLL,5959.930,N,02327.346,E,105514,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.11,N,09.46,K*5B\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,213.27,T,213.27,M,4.91,N,,,A*6D\r\n$IIMWV,013,T,08.37,N,A*2B\r\n$IIVWT,013,R,08.37,N,04.31,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105516,,,,00,*4E\r\n$IIDBT,035.59,f,010.85,M,005.86,F*2C\r\n$GPGLL,5959.928,N,02327.343,E,105516,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.11,N,09.46,K*5B\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,212.99,T,212.99,M,4.90,N,,,A*6C\r\n$IIMWV,007,R,13.21,N,A*25\r\n$IIVWT,012,R,08.10,N,04.17,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105518,,,,00,*40\r\n$IIDBT,035.43,f,010.80,M,005.83,F*27\r\n$GPGLL,5959.925,N,02327.338,E,105518,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.11,N,09.46,K*5B\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,213.10,T,213.10,M,4.90,N,,,A*6C\r\n$IIMWV,013,T,08.16,N,A*28\r\n$IIVWT,013,R,08.16,N,04.20,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105520,,,,00,*4B\r\n$IIDBT,035.03,f,010.68,M,005.77,F*2E\r\n$GPGLL,5959.922,N,02327.335,E,105520,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.11,N,09.46,K*5B\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,212.16,T,212.16,M,4.90,N,,,D*69\r\n$IIMWV,011,R,13.21,N,A*22\r\n$IIVWT,017,R,08.18,N,04.21,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105522,,,,00,*49\r\n$IIDBT,034.77,f,010.60,M,005.72,F*21\r\n$GPGLL,5959.920,N,02327.333,E,105522,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,211.11,T,211.11,M,4.90,N,,,D*69\r\n$IIMWV,017,T,08.26,N,A*2F\r\n$IIVWT,017,R,08.26,N,04.25,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105524,,,,00,*4F\r\n$IIDBT,034.41,f,010.49,M,005.67,F*2B\r\n$GPGLL,5959.918,N,02327.330,E,105524,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.12,N,09.48,K*56\r\n$IIVPW,4.94,N,,*08\r\n$IIVTG,210.58,T,210.58,M,4.90,N,,,D*69\r\n$IIMWV,011,R,13.80,N,A*29\r\n$IIVWT,017,R,08.76,N,04.51,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105526,,,,00,*4D\r\n$IIDBT,034.21,f,010.43,M,005.63,F*23\r\n$GPGLL,5959.915,N,02327.327,E,105526,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.07,N,04.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,209.72,T,209.72,M,4.90,N,,,D*69\r\n$IIMWV,014,T,09.33,N,A*29\r\n$IIVWT,014,R,09.33,N,04.80,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105528,,,,00,*43\r\n$IIDBT,034.15,f,010.41,M,005.62,F*27\r\n$GPGLL,5959.913,N,02327.324,E,105528,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,209.76,T,209.76,M,4.90,N,,,D*69\r\n$IIMWV,009,R,13.41,N,A*2D\r\n$IIVWT,015,R,08.41,N,04.33,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105530,,,,00,*4A\r\n$IIDBT,033.82,f,010.31,M,005.57,F*2F\r\n$GPGLL,5959.911,N,02327.321,E,105530,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.12,N,09.48,K*56\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,210.24,T,210.24,M,4.90,N,,,D*69\r\n$IIMWV,017,T,09.21,N,A*29\r\n$IIVWT,017,R,09.21,N,04.74,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105532,,,,00,*48\r\n$IIDBT,033.59,f,010.24,M,005.53,F*29\r\n$GPGLL,5959.909,N,02327.319,E,105533,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.09,N,09.42,K*56\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,210.21,T,210.21,M,4.90,N,,,D*69\r\n$IIMWV,013,R,13.21,N,A*20\r\n$IIVWT,021,R,08.35,N,04.30,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105534,,,,00,*4E\r\n$IIDBT,033.49,f,010.21,M,005.51,F*2F\r\n$GPGLL,5959.906,N,02327.316,E,105535,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,209.88,T,209.88,M,4.90,N,,,D*69\r\n$IIMWV,013,T,07.79,N,A*2E\r\n$IIVWT,013,R,07.79,N,04.01,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105536,,,,00,*4C\r\n$IIDBT,033.13,f,010.10,M,005.45,F*27\r\n$GPGLL,5959.904,N,02327.313,E,105537,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,209.80,T,209.80,M,4.90,N,,,D*69\r\n$IIMWV,008,R,13.21,N,A*2A\r\n$IIVWT,013,R,08.14,N,04.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105538,,,,00,*42\r\n$IIDBT,033.03,f,010.07,M,005.44,F*21\r\n$GPGLL,5959.902,N,02327.311,E,105539,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,4.68,N,,*0B\r\n$IIVTG,210.47,T,210.47,M,4.90,N,,,D*69\r\n$IIMWV,016,T,08.43,N,A*2D\r\n$IIVWT,016,R,08.43,N,04.34,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105540,,,,00,*4D\r\n$IIDBT,032.87,f,010.02,M,005.41,F*2C\r\n$GPGLL,5959.899,N,02327.308,E,105541,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,4.68,N,,*0B\r\n$IIVTG,210.84,T,210.84,M,4.85,N,,,D*6D\r\n$IIMWV,011,R,14.19,N,A*2E\r\n$IIVWT,017,R,09.34,N,04.81,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105542,,,,00,*4F\r\n$IIDBT,032.57,f,009.93,M,005.36,F*21\r\n$GPGLL,5959.897,N,02327.305,E,105543,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,211.39,T,211.39,M,4.86,N,,,D*6E\r\n$IIMWV,016,T,09.79,N,A*25\r\n$IIVWT,016,R,09.79,N,05.04,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105545,,,,00,*48\r\n$IIDBT,032.51,f,009.91,M,005.35,F*26\r\n$GPGLL,5959.895,N,02327.302,E,105545,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,211.79,T,211.79,M,4.87,N,,,D*6F\r\n$IIMWV,011,R,14.77,N,A*26\r\n$IIVWT,016,R,09.89,N,05.09,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105547,,,,00,*4A\r\n$IIDBT,032.24,f,009.83,M,005.31,F*23\r\n$GPGLL,5959.893,N,02327.300,E,105547,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.83,N,05.06,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,212.02,T,212.02,M,4.84,N,,,D*6C\r\n$IIMWV,017,T,09.77,N,A*2A\r\n$IIVWT,017,R,09.77,N,05.03,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105549,,,,00,*44\r\n$IIDBT,032.24,f,009.83,M,005.31,F*23\r\n$GPGLL,5959.890,N,02327.297,E,105549,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.89,N,05.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,211.95,T,211.95,M,4.81,N,,,D*69\r\n$IIMWV,011,R,14.77,N,A*26\r\n$IIVWT,017,R,09.91,N,05.10,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105551,,,,00,*4D\r\n$IIDBT,031.98,f,009.75,M,005.27,F*29\r\n$GPGLL,5959.888,N,02327.294,E,105551,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,211.87,T,211.87,M,4.80,N,,,D*68\r\n$IIMWV,015,T,09.77,N,A*28\r\n$IIVWT,015,R,09.77,N,05.03,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105553,,,,00,*4F\r\n$IIDBT,031.82,f,009.70,M,005.24,F*24\r\n$GPGLL,5959.886,N,02327.291,E,105553,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,212.34,T,212.34,M,4.80,N,,,D*68\r\n$IIMWV,009,R,14.77,N,A*2F\r\n$IIVWT,014,R,09.81,N,05.05,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105555,,,,00,*49\r\n$IIDBT,031.59,f,009.63,M,005.20,F*24\r\n$GPGLL,5959.884,N,02327.288,E,105555,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.94,N,,*08\r\n$IIVTG,212.46,T,212.46,M,4.80,N,,,D*68\r\n$IIMWV,012,T,10.28,N,A*2D\r\n$IIVWT,012,R,10.28,N,05.29,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105557,,,,00,*4B\r\n$IIDBT,031.72,f,009.67,M,005.22,F*2B\r\n$GPGLL,5959.881,N,02327.285,E,105557,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,212.66,T,212.66,M,4.80,N,,,D*68\r\n$IIMWV,011,R,14.38,N,A*2D\r\n$IIVWT,017,R,09.50,N,04.89,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105559,,,,00,*45\r\n$IIDBT,031.26,f,009.53,M,005.15,F*29\r\n$GPGLL,5959.879,N,02327.282,E,105559,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,213.19,T,213.19,M,4.80,N,,,D*68\r\n$IIMWV,011,T,10.18,N,A*2D\r\n$IIVWT,011,R,10.18,N,05.24,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105601,,,,00,*4B\r\n$IIDBT,031.16,f,009.50,M,005.13,F*2F\r\n$GPGLL,5959.876,N,02327.278,E,105601,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.30,N,05.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,213.32,T,213.32,M,4.80,N,,,D*68\r\n$IIMWV,005,R,15.35,N,A*24\r\n$IIVWT,008,R,10.32,N,05.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105603,,,,00,*49\r\n$IIDBT,031.13,f,009.49,M,005.12,F*23\r\n$GPGLL,5959.874,N,02327.275,E,105603,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.26,N,05.28,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,213.15,T,213.15,M,4.80,N,,,D*68\r\n$IIMWV,007,T,10.32,N,A*22\r\n$IIVWT,007,R,10.32,N,05.31,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105605,,,,00,*4F\r\n$IIDBT,030.90,f,009.42,M,005.09,F*28\r\n$GPGLL,5959.871,N,02327.272,E,105605,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,213.54,T,213.54,M,4.80,N,,,D*68\r\n$IIMWV,007,R,14.77,N,A*21\r\n$IIVWT,011,R,09.83,N,05.06,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105607,,,,00,*4D\r\n$IIDBT,030.74,f,009.37,M,005.06,F*2F\r\n$GPGLL,5959.869,N,02327.269,E,105607,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,213.58,T,213.58,M,4.80,N,,,D*68\r\n$IIMWV,011,T,10.14,N,A*21\r\n$IIVWT,011,R,10.14,N,05.22,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105609,,,,00,*43\r\n$IIDBT,030.67,f,009.35,M,005.05,F*2C\r\n$GPGLL,5959.867,N,02327.266,E,105609,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.10,N,05.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,213.17,T,213.17,M,4.80,N,,,A*6D\r\n$IIMWV,004,R,15.35,N,A*25\r\n$IIVWT,005,R,10.38,N,05.34,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105611,,,,00,*4A\r\n$IIDBT,030.47,f,009.29,M,005.02,F*24\r\n$GPGLL,5959.865,N,02327.264,E,105611,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,213.27,T,213.27,M,4.73,N,,,A*61\r\n$IIMWV,006,T,10.14,N,A*27\r\n$IIVWT,006,R,10.14,N,05.22,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105613,,,,00,*48\r\n$IIDBT,030.41,f,009.27,M,005.01,F*2F\r\n$GPGLL,5959.862,N,02327.261,E,105613,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,215.27,T,215.27,M,4.78,N,,,A*6A\r\n$IIMWV,004,R,14.77,N,A*22\r\n$IIVWT,006,R,09.83,N,05.06,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105615,,,,00,*4E\r\n$IIDBT,030.08,f,009.17,M,004.95,F*2D\r\n$GPGLL,5959.860,N,02327.258,E,105616,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,215.07,T,215.07,M,4.80,N,,,A*6D\r\n$IIMWV,008,T,09.19,N,A*2C\r\n$IIVWT,008,R,09.19,N,04.73,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105617,,,,00,*4C\r\n$IIDBT,029.85,f,009.10,M,004.91,F*23\r\n$GPGLL,5959.858,N,02327.255,E,105618,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.46,N,04.87,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,215.12,T,215.12,M,4.75,N,,,A*67\r\n$IIMWV,006,R,14.38,N,A*2B\r\n$IIVWT,010,R,09.46,N,04.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105619,,,,00,*42\r\n$IIDBT,029.69,f,009.05,M,004.89,F*2C\r\n$GPGLL,5959.856,N,02327.252,E,105620,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,215.73,T,215.73,M,4.79,N,,,A*6B\r\n$IIMWV,012,T,09.44,N,A*2F\r\n$IIVWT,012,R,09.44,N,04.86,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105621,,,,00,*49\r\n$IIDBT,029.42,f,008.97,M,004.84,F*22\r\n$GPGLL,5959.853,N,02327.249,E,105622,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,215.88,T,215.88,M,4.80,N,,,A*6D\r\n$IIMWV,008,R,14.38,N,A*25\r\n$IIVWT,012,R,09.34,N,04.81,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105623,,,,00,*4B\r\n$IIDBT,029.16,f,008.89,M,004.80,F*28\r\n$GPGLL,5959.851,N,02327.246,E,105624,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.40,N,04.84,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,216.29,T,216.29,M,4.80,N,,,A*6D\r\n$IIMWV,009,T,09.42,N,A*23\r\n$IIVWT,009,R,09.42,N,04.85,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105625,,,,00,*4D\r\n$IIDBT,028.96,f,008.83,M,004.77,F*23\r\n$GPGLL,5959.849,N,02327.243,E,105626,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,216.67,T,216.67,M,4.80,N,,,A*6D\r\n$IIMWV,009,R,14.19,N,A*27\r\n$IIVWT,014,R,09.25,N,04.76,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105628,,,,00,*40\r\n$IIDBT,028.73,f,008.76,M,004.73,F*26\r\n$GPGLL,5959.847,N,02327.240,E,105628,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,216.87,T,216.87,M,4.80,N,,,A*6D\r\n$IIMWV,018,T,09.31,N,A*27\r\n$IIVWT,018,R,09.31,N,04.79,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105630,,,,00,*49\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5959.845,N,02327.236,E,105630,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,215.91,T,215.91,M,4.80,N,,,D*68\r\n$IIMWV,014,R,13.80,N,A*2C\r\n$IIVWT,021,R,08.90,N,04.58,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105632,,,,00,*4B\r\n$IIDBT,028.34,f,008.64,M,004.67,F*23\r\n$GPGLL,5959.842,N,02327.233,E,105632,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,215.23,T,215.23,M,4.87,N,,,D*6F\r\n$IIMWV,012,T,10.18,N,A*2E\r\n$IIVWT,012,R,10.18,N,05.24,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105634,,,,00,*4D\r\n$IIDBT,028.24,f,008.61,M,004.65,F*25\r\n$GPGLL,5959.840,N,02327.231,E,105634,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,210.36,T,210.36,M,4.82,N,,,D*6A\r\n$IIMWV,013,R,14.77,N,A*24\r\n$IIVWT,019,R,09.91,N,05.10,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105636,,,,00,*4F\r\n$IIDBT,028.11,f,008.57,M,004.63,F*20\r\n$GPGLL,5959.838,N,02327.228,E,105636,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,208.29,T,208.29,M,4.80,N,,,D*68\r\n$IIMWV,016,T,10.20,N,A*21\r\n$IIVWT,016,R,10.20,N,05.25,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105638,,,,00,*41\r\n$IIDBT,027.95,f,008.52,M,004.60,F*25\r\n$GPGLL,5959.836,N,02327.225,E,105638,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,4.66,N,,*05\r\n$IIVTG,209.10,T,209.10,M,4.80,N,,,D*68\r\n$IIMWV,012,R,14.38,N,A*2E\r\n$IIVWT,018,R,09.54,N,04.91,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105640,,,,00,*4E\r\n$IIDBT,027.88,f,008.50,M,004.59,F*21\r\n$GPGLL,5959.834,N,02327.223,E,105640,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,209.50,T,209.50,M,4.80,N,,,D*68\r\n$IIMWV,019,T,09.52,N,A*23\r\n$IIVWT,019,R,09.52,N,04.90,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105642,,,,00,*4C\r\n$IIDBT,027.65,f,008.43,M,004.55,F*2C\r\n$GPGLL,5959.831,N,02327.220,E,105642,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.66,N,,*05\r\n$IIVTG,210.15,T,210.15,M,4.80,N,,,D*68\r\n$IIMWV,010,R,14.19,N,A*2F\r\n$IIVWT,015,R,09.23,N,04.75,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105644,,,,00,*4A\r\n$IIDBT,027.55,f,008.40,M,004.54,F*2D\r\n$GPGLL,5959.828,N,02327.216,E,105644,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,209.91,T,209.91,M,4.80,N,,,D*68\r\n$IIMWV,013,T,09.85,N,A*23\r\n$IIVWT,013,R,09.85,N,05.07,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105646,,,,00,*48\r\n$IIDBT,027.45,f,008.37,M,004.52,F*2A\r\n$GPGLL,5959.826,N,02327.213,E,105646,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,210.30,T,210.30,M,4.80,N,,,D*68\r\n$IIMWV,005,R,15.16,N,A*25\r\n$IIVWT,008,R,10.16,N,05.23,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105648,,,,00,*46\r\n$IIDBT,027.26,f,008.31,M,004.49,F*23\r\n$GPGLL,5959.823,N,02327.210,E,105648,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,210.65,T,210.65,M,4.80,N,,,D*68\r\n$IIMWV,009,T,10.06,N,A*2B\r\n$IIVWT,009,R,10.06,N,05.18,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105650,,,,00,*4F\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5959.821,N,02327.208,E,105650,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,209.78,T,209.78,M,4.80,N,,,A*6D\r\n$IIMWV,006,R,15.74,N,A*22\r\n$IIVWT,009,R,10.74,N,05.53,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105652,,,,00,*4D\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5959.819,N,02327.206,E,105652,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.76,N,05.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,209.32,T,209.32,M,4.80,N,,,A*6D\r\n$IIMWV,008,T,11.13,N,A*2F\r\n$IIVWT,008,R,11.13,N,05.73,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105654,,,,00,*4B\r\n$IIDBT,027.03,f,008.24,M,004.45,F*2C\r\n$GPGLL,5959.816,N,02327.203,E,105654,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,210.26,T,210.26,M,4.80,N,,,D*68\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,001,R,10.28,N,05.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105656,,,,00,*49\r\n$IIDBT,026.93,f,008.21,M,004.43,F*27\r\n$GPGLL,5959.814,N,02327.200,E,105656,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.22,N,05.26,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,210.76,T,210.76,M,4.80,N,,,D*68\r\n$IIMWV,001,T,10.74,N,A*26\r\n$IIVWT,001,R,10.74,N,05.53,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105658,,,,00,*47\r\n$IIDBT,026.86,f,008.19,M,004.42,F*29\r\n$GPGLL,5959.812,N,02327.198,E,105659,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,210.44,T,210.44,M,4.80,N,,,D*68\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,001,L,10.65,N,05.48,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105700,,,,00,*4B\r\n$IIDBT,026.77,f,008.16,M,004.41,F*2B\r\n$GPGLL,5959.810,N,02327.195,E,105701,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,210.76,T,210.76,M,4.80,N,,,D*68\r\n$IIMWV,003,T,10.67,N,A*26\r\n$IIVWT,003,R,10.67,N,05.49,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105702,,,,00,*49\r\n$IIDBT,026.80,f,008.17,M,004.41,F*22\r\n$GPGLL,5959.807,N,02327.192,E,105703,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,210.72,T,210.72,M,4.80,N,,,D*68\r\n$IIMWV,000,R,15.74,N,A*24\r\n$IIVWT,000,R,10.76,N,05.54,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105704,,,,00,*4F\r\n$IIDBT,026.63,f,008.12,M,004.38,F*24\r\n$GPGLL,5959.805,N,02327.189,E,105705,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,210.65,T,210.65,M,4.80,N,,,D*68\r\n$IIMWV,358,T,11.52,N,A*2C\r\n$IIVWT,002,L,11.52,N,05.93,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105706,,,,00,*4D\r\n$IIDBT,026.57,f,008.10,M,004.37,F*2E\r\n$GPGLL,5959.803,N,02327.187,E,105707,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.17,N,05.75,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,210.64,T,210.64,M,4.75,N,,,D*62\r\n$IIMWV,000,R,16.13,N,A*26\r\n$IIVWT,000,R,11.17,N,05.75,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105708,,,,00,*43\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5959.801,N,02327.184,E,105709,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,210.76,T,210.76,M,4.71,N,,,D*66\r\n$IIMWV,003,T,11.17,N,A*20\r\n$IIVWT,003,R,11.17,N,05.75,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105711,,,,00,*4B\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.798,N,02327.181,E,105711,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.15,N,05.74,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,210.31,T,210.31,M,4.70,N,,,D*67\r\n$IIMWV,001,R,15.74,N,A*25\r\n$IIVWT,001,R,10.78,N,05.55,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105713,,,,00,*49\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.796,N,02327.179,E,105713,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,210.50,T,210.50,M,4.70,N,,,D*67\r\n$IIMWV,005,T,10.36,N,A*24\r\n$IIVWT,005,R,10.36,N,05.33,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105715,,,,00,*4F\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5959.794,N,02327.176,E,105715,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,210.30,T,210.30,M,4.70,N,,,D*67\r\n$IIMWV,003,R,15.35,N,A*22\r\n$IIVWT,005,R,10.30,N,05.30,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105717,,,,00,*4D\r\n$IIDBT,026.37,f,008.04,M,004.34,F*2E\r\n$GPGLL,5959.792,N,02327.173,E,105717,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.34,N,05.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,211.12,T,211.12,M,4.78,N,,,D*6F\r\n$IIMWV,355,T,10.71,N,A*21\r\n$IIVWT,005,L,10.71,N,05.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105719,,,,00,*43\r\n$IIDBT,026.31,f,008.02,M,004.33,F*29\r\n$GPGLL,5959.789,N,02327.170,E,105719,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.30,N,05.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,212.93,T,212.93,M,4.79,N,,,D*6E\r\n$IIMWV,003,R,15.35,N,A*22\r\n$IIVWT,004,R,10.30,N,05.30,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105721,,,,00,*48\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5959.787,N,02327.167,E,105721,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.34,N,05.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,213.16,T,213.16,M,4.80,N,,,D*68\r\n$IIMWV,006,T,10.38,N,A*29\r\n$IIVWT,006,R,10.38,N,05.34,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105723,,,,00,*4A\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5959.785,N,02327.165,E,105723,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.20,N,05.25,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,213.09,T,213.09,M,4.80,N,,,D*68\r\n$IIMWV,003,R,15.16,N,A*23\r\n$IIVWT,004,R,10.20,N,05.25,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105725,,,,00,*4C\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5959.783,N,02327.162,E,105725,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.99,N,05.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,214.10,T,214.10,M,4.80,N,,,D*68\r\n$IIMWV,007,T,10.08,N,A*2B\r\n$IIVWT,007,R,10.08,N,05.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105727,,,,00,*4E\r\n$IIDBT,026.21,f,007.99,M,004.31,F*27\r\n$GPGLL,5959.779,N,02327.157,E,105727,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,214.54,T,214.54,M,4.80,N,,,D*68\r\n$IIMWV,007,R,14.77,N,A*21\r\n$IIVWT,011,R,09.73,N,05.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105729,,,,00,*40\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.777,N,02327.154,E,105729,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,214.61,T,214.61,M,4.80,N,,,D*68\r\n$IIMWV,011,T,09.40,N,A*28\r\n$IIVWT,011,R,09.40,N,04.84,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105731,,,,00,*49\r\n$IIDBT,026.14,f,007.97,M,004.30,F*2E\r\n$GPGLL,5959.775,N,02327.151,E,105731,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,215.05,T,215.05,M,4.80,N,,,D*68\r\n$IIMWV,004,R,13.80,N,A*2D\r\n$IIVWT,006,R,08.74,N,04.50,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105733,,,,00,*4B\r\n$IIDBT,026.21,f,007.99,M,004.31,F*27\r\n$GPGLL,5959.773,N,02327.148,E,105733,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,215.63,T,215.63,M,4.80,N,,,A*6D\r\n$IIMWV,007,T,08.68,N,A*24\r\n$IIVWT,007,R,08.68,N,04.47,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105735,,,,00,*4D\r\n$IIDBT,026.14,f,007.97,M,004.30,F*2E\r\n$GPGLL,5959.771,N,02327.145,E,105735,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,215.71,T,215.71,M,4.80,N,,,A*6D\r\n$IIMWV,360,R,14.19,N,A*2B\r\n$IIVWT,000,L,09.15,N,04.71,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105737,,,,00,*4F\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.768,N,02327.142,E,105737,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,215.70,T,215.70,M,4.80,N,,,A*6D\r\n$IIMWV,006,T,09.11,N,A*2A\r\n$IIVWT,006,R,09.11,N,04.69,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105739,,,,00,*41\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.766,N,02327.139,E,105739,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,216.30,T,216.30,M,4.80,N,,,A*6D\r\n$IIMWV,357,R,14.77,N,A*27\r\n$IIVWT,005,L,09.66,N,04.97,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105741,,,,00,*4E\r\n$IIDBT,026.14,f,007.97,M,004.30,F*2E\r\n$GPGLL,5959.764,N,02327.136,E,105742,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.08,N,05.19,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,217.10,T,217.10,M,4.87,N,,,A*6A\r\n$IIMWV,356,T,10.06,N,A*22\r\n$IIVWT,004,L,10.06,N,05.18,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105743,,,,00,*4C\r\n$IIDBT,026.14,f,007.97,M,004.30,F*2E\r\n$GPGLL,5959.762,N,02327.133,E,105744,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,217.83,T,217.83,M,4.87,N,,,A*6A\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,09.38,N,04.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105745,,,,00,*4A\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.760,N,02327.129,E,105746,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,218.50,T,218.50,M,4.87,N,,,A*6A\r\n$IIMWV,357,T,10.04,N,A*21\r\n$IIVWT,003,L,10.04,N,05.17,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,105747,,,,00,*48\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.757,N,02327.126,E,105748,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.01,N,05.15,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,219.28,T,219.28,M,4.89,N,,,A*64\r\n$IIMWV,359,R,14.77,N,A*29\r\n$IIVWT,002,L,09.62,N,04.95,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105749,,,,00,*46\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5959.755,N,02327.123,E,105750,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,219.10,T,219.10,M,4.90,N,,,D*69\r\n$IIMWV,358,T,09.38,N,A*29\r\n$IIVWT,002,L,09.38,N,04.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105751,,,,00,*4F\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5959.753,N,02327.119,E,105752,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.66,N,04.97,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,218.97,T,218.97,M,4.90,N,,,D*69\r\n$IIMWV,355,R,14.38,N,A*2E\r\n$IIVWT,007,L,09.31,N,04.79,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105754,,,,00,*4A\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5959.751,N,02327.116,E,105754,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,219.29,T,219.29,M,4.90,N,,,D*69\r\n$IIMWV,358,T,07.77,N,A*2C\r\n$IIVWT,003,L,07.77,N,04.00,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105756,,,,00,*48\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5959.749,N,02327.112,E,105756,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,218.85,T,218.85,M,4.95,N,,,D*6C\r\n$IIMWV,004,R,13.41,N,A*20\r\n$IIVWT,006,R,08.35,N,04.30,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105758,,,,00,*46\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.747,N,02327.109,E,105758,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,218.73,T,218.73,M,4.94,N,,,D*6D\r\n$IIMWV,003,T,08.72,N,A*2B\r\n$IIVWT,003,R,08.72,N,04.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105800,,,,00,*44\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.745,N,02327.106,E,105800,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,218.83,T,218.83,M,4.91,N,,,D*68\r\n$IIMWV,002,R,13.21,N,A*20\r\n$IIVWT,003,R,08.16,N,04.20,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105802,,,,00,*46\r\n$IIDBT,026.11,f,007.96,M,004.30,F*2A\r\n$GPGLL,5959.743,N,02327.102,E,105802,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,219.31,T,219.31,M,4.90,N,,,D*69\r\n$IIMWV,003,T,08.14,N,A*2B\r\n$IIVWT,003,R,08.14,N,04.19,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105804,,,,00,*40\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.741,N,02327.099,E,105804,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,220.05,T,220.05,M,4.85,N,,,D*6D\r\n$IIMWV,359,R,13.80,N,A*26\r\n$IIVWT,001,L,08.74,N,04.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105806,,,,00,*42\r\n$IIDBT,026.21,f,007.99,M,004.31,F*27\r\n$GPGLL,5959.739,N,02327.095,E,105806,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,219.81,T,219.81,M,4.81,N,,,D*69\r\n$IIMWV,002,T,08.66,N,A*2F\r\n$IIVWT,002,R,08.66,N,04.46,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105808,,,,00,*4C\r\n$IIDBT,026.31,f,008.02,M,004.33,F*29\r\n$GPGLL,5959.736,N,02327.090,E,105808,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,219.83,T,219.83,M,4.85,N,,,D*6D\r\n$IIMWV,360,R,14.19,N,A*2B\r\n$IIVWT,001,L,09.07,N,04.67,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105810,,,,00,*45\r\n$IIDBT,026.34,f,008.03,M,004.34,F*2A\r\n$GPGLL,5959.734,N,02327.087,E,105810,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,219.98,T,219.98,M,4.97,N,,,D*6E\r\n$IIMWV,358,T,09.11,N,A*22\r\n$IIVWT,002,L,09.11,N,04.69,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105812,,,,00,*47\r\n$IIDBT,026.37,f,008.04,M,004.34,F*2E\r\n$GPGLL,5959.732,N,02327.083,E,105812,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,219.60,T,219.60,M,4.99,N,,,D*60\r\n$IIMWV,001,R,13.80,N,A*28\r\n$IIVWT,002,R,08.66,N,04.46,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105814,,,,00,*41\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5959.730,N,02327.080,E,105814,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,219.32,T,219.32,M,4.92,N,,,D*6B\r\n$IIMWV,359,T,09.19,N,A*2B\r\n$IIVWT,001,L,09.19,N,04.73,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105816,,,,00,*43\r\n$IIDBT,026.54,f,008.09,M,004.37,F*25\r\n$GPGLL,5959.728,N,02327.076,E,105816,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,219.73,T,219.73,M,4.83,N,,,D*6B\r\n$IIMWV,001,R,14.38,N,A*2C\r\n$IIVWT,001,R,09.33,N,04.80,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105818,,,,00,*4D\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5959.726,N,02327.073,E,105818,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.25,N,04.76,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,221.76,T,221.76,M,4.86,N,,,D*6E\r\n$IIMWV,359,T,09.25,N,A*24\r\n$IIVWT,001,L,09.25,N,04.76,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105820,,,,00,*46\r\n$IIDBT,026.80,f,008.17,M,004.41,F*22\r\n$GPGLL,5959.724,N,02327.069,E,105820,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,222.64,T,222.64,M,4.89,N,,,D*61\r\n$IIMWV,359,R,14.19,N,A*21\r\n$IIVWT,002,L,09.05,N,04.66,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105822,,,,00,*44\r\n$IIDBT,027.03,f,008.24,M,004.45,F*2C\r\n$GPGLL,5959.722,N,02327.066,E,105822,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,221.18,T,221.18,M,4.90,N,,,D*69\r\n$IIMWV,358,T,09.11,N,A*22\r\n$IIVWT,002,L,09.11,N,04.69,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105824,,,,00,*42\r\n$IIDBT,026.90,f,008.20,M,004.43,F*25\r\n$GPGLL,5959.720,N,02327.062,E,105825,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,220.10,T,220.10,M,4.95,N,,,D*6C\r\n$IIMWV,001,R,14.77,N,A*27\r\n$IIVWT,001,R,09.62,N,04.95,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105826,,,,00,*40\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5959.718,N,02327.059,E,105827,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,221.02,T,221.02,M,4.96,N,,,D*6F\r\n$IIMWV,003,T,08.66,N,A*2E\r\n$IIVWT,003,R,08.66,N,04.46,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105828,,,,00,*4E\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5959.716,N,02327.055,E,105829,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,221.51,T,221.51,M,4.94,N,,,D*6D\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,003,L,08.76,N,04.51,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105830,,,,00,*47\r\n$IIDBT,026.93,f,008.21,M,004.43,F*27\r\n$GPGLL,5959.713,N,02327.052,E,105831,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,219.15,T,219.15,M,4.91,N,,,D*68\r\n$IIMWV,003,T,08.61,N,A*29\r\n$IIVWT,003,R,08.61,N,04.43,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105832,,,,00,*45\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5959.711,N,02327.049,E,105833,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,217.94,T,217.94,M,4.90,N,,,D*69\r\n$IIMWV,357,R,14.19,N,A*2F\r\n$IIVWT,005,L,09.11,N,04.69,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105834,,,,00,*43\r\n$IIDBT,027.29,f,008.32,M,004.49,F*2F\r\n$GPGLL,5959.709,N,02327.045,E,105835,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.12,N,,*07\r\n$IIVTG,220.26,T,220.26,M,4.85,N,,,D*6D\r\n$IIMWV,000,T,09.29,N,A*27\r\n$IIVWT,000,R,09.29,N,04.78,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105837,,,,00,*40\r\n$IIDBT,027.26,f,008.31,M,004.49,F*23\r\n$GPGLL,5959.707,N,02327.041,E,105837,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,222.26,T,222.26,M,4.89,N,,,D*61\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,003,L,08.68,N,04.47,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105839,,,,00,*4E\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5959.705,N,02327.038,E,105839,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,219.51,T,219.51,M,4.90,N,,,D*69\r\n$IIMWV,358,T,09.05,N,A*27\r\n$IIVWT,002,L,09.05,N,04.66,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105841,,,,00,*41\r\n$IIDBT,027.42,f,008.36,M,004.51,F*2F\r\n$GPGLL,5959.703,N,02327.035,E,105841,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,217.08,T,217.08,M,4.90,N,,,D*69\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,004,L,08.72,N,04.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105843,,,,00,*43\r\n$IIDBT,027.36,f,008.34,M,004.50,F*2F\r\n$GPGLL,5959.701,N,02327.031,E,105843,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,217.57,T,217.57,M,4.90,N,,,D*69\r\n$IIMWV,355,T,09.27,N,A*2A\r\n$IIVWT,005,L,09.27,N,04.77,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105845,,,,00,*45\r\n$IIDBT,027.23,f,008.30,M,004.48,F*26\r\n$GPGLL,5959.699,N,02327.028,E,105845,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,217.19,T,217.19,M,4.97,N,,,D*6E\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,005,L,09.34,N,04.81,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105847,,,,00,*47\r\n$IIDBT,027.16,f,008.28,M,004.47,F*26\r\n$GPGLL,5959.696,N,02327.025,E,105847,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,217.45,T,217.45,M,4.92,N,,,D*6B\r\n$IIMWV,354,T,09.07,N,A*29\r\n$IIVWT,006,L,09.07,N,04.67,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105849,,,,00,*49\r\n$IIDBT,027.06,f,008.25,M,004.45,F*28\r\n$GPGLL,5959.694,N,02327.021,E,105849,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,217.46,T,217.46,M,4.90,N,,,D*69\r\n$IIMWV,354,R,14.19,N,A*2C\r\n$IIVWT,009,L,09.21,N,04.74,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105851,,,,00,*40\r\n$IIDBT,027.03,f,008.24,M,004.45,F*2C\r\n$GPGLL,5959.691,N,02327.016,E,105851,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,218.06,T,218.06,M,4.90,N,,,D*69\r\n$IIMWV,352,T,08.74,N,A*2A\r\n$IIVWT,008,L,08.74,N,04.50,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105853,,,,00,*42\r\n$IIDBT,027.03,f,008.24,M,004.45,F*2C\r\n$GPGLL,5959.689,N,02327.013,E,105853,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,218.17,T,218.17,M,4.90,N,,,D*69\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,003,L,08.33,N,04.29,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105855,,,,00,*44\r\n$IIDBT,027.03,f,008.24,M,004.45,F*2C\r\n$GPGLL,5959.686,N,02327.010,E,105855,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,218.15,T,218.15,M,4.90,N,,,D*69\r\n$IIMWV,355,T,08.06,N,A*28\r\n$IIVWT,005,L,08.06,N,04.15,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105857,,,,00,*46\r\n$IIDBT,026.96,f,008.22,M,004.44,F*26\r\n$GPGLL,5959.684,N,02327.006,E,105857,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,218.41,T,218.41,M,4.93,N,,,D*6A\r\n$IIMWV,356,R,13.41,N,A*24\r\n$IIVWT,006,L,08.39,N,04.32,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105859,,,,00,*48\r\n$IIDBT,026.96,f,008.22,M,004.44,F*26\r\n$GPGLL,5959.682,N,02327.003,E,105859,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,218.58,T,218.58,M,4.91,N,,,D*68\r\n$IIMWV,353,T,08.12,N,A*2B\r\n$IIVWT,007,L,08.12,N,04.18,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105901,,,,00,*44\r\n$IIDBT,026.90,f,008.20,M,004.43,F*25\r\n$GPGLL,5959.680,N,02326.999,E,105901,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,219.69,T,219.69,M,4.90,N,,,D*69\r\n$IIMWV,358,R,13.21,N,A*2C\r\n$IIVWT,003,L,08.08,N,04.16,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105903,,,,00,*46\r\n$IIDBT,026.70,f,008.14,M,004.39,F*21\r\n$GPGLL,5959.678,N,02326.996,E,105903,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.10,N,09.44,K*58\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,219.77,T,219.77,M,4.95,N,,,D*6C\r\n$IIMWV,001,T,07.71,N,A*25\r\n$IIVWT,001,R,07.71,N,03.97,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105905,,,,00,*40\r\n$IIDBT,026.70,f,008.14,M,004.39,F*21\r\n$GPGLL,5959.676,N,02326.993,E,105905,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.10,N,09.44,K*58\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,219.67,T,219.67,M,4.99,N,,,D*60\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,000,R,08.08,N,04.16,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105907,,,,00,*42\r\n$IIDBT,026.70,f,008.14,M,004.39,F*21\r\n$GPGLL,5959.673,N,02326.989,E,105908,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,219.84,T,219.84,M,5.00,N,,,D*61\r\n$IIMWV,001,T,08.65,N,A*2F\r\n$IIVWT,001,R,08.65,N,04.45,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105909,,,,00,*4C\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5959.671,N,02326.985,E,105910,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,220.39,T,220.39,M,5.00,N,,,D*61\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,003,L,08.76,N,04.51,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105911,,,,00,*45\r\n$IIDBT,026.27,f,008.01,M,004.32,F*2C\r\n$GPGLL,5959.669,N,02326.982,E,105912,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.61,N,04.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,220.37,T,220.37,M,4.92,N,,,D*6B\r\n$IIMWV,001,T,08.30,N,A*2F\r\n$IIVWT,001,R,08.30,N,04.27,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105913,,,,00,*47\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.667,N,02326.978,E,105914,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,221.99,T,221.99,M,4.91,N,,,D*68\r\n$IIMWV,359,R,13.41,N,A*2B\r\n$IIVWT,001,L,08.30,N,04.27,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105915,,,,00,*41\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5959.665,N,02326.975,E,105916,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,222.22,T,222.22,M,4.95,N,,,D*6C\r\n$IIMWV,358,T,08.28,N,A*29\r\n$IIVWT,002,L,08.28,N,04.26,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105918,,,,00,*4C\r\n$IIDBT,026.34,f,008.03,M,004.34,F*2A\r\n$GPGLL,5959.663,N,02326.971,E,105918,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.09,N,09.42,K*56\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,221.18,T,221.18,M,4.99,N,,,D*60\r\n$IIMWV,359,R,13.41,N,A*2B\r\n$IIVWT,001,L,08.31,N,04.28,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105920,,,,00,*47\r\n$IIDBT,025.91,f,007.90,M,004.27,F*21\r\n$GPGLL,5959.661,N,02326.968,E,105920,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.10,N,09.44,K*58\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,220.92,T,220.92,M,5.00,N,,,D*61\r\n$IIMWV,360,T,08.12,N,A*2B\r\n$IIVWT,001,L,08.12,N,04.18,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105922,,,,00,*45\r\n$IIDBT,025.68,f,007.83,M,004.23,F*21\r\n$GPGLL,5959.659,N,02326.964,E,105922,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,220.85,T,220.85,M,4.95,N,,,D*6C\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,003,L,08.28,N,04.26,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105924,,,,00,*43\r\n$IIDBT,025.62,f,007.81,M,004.22,F*28\r\n$GPGLL,5959.657,N,02326.960,E,105924,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,221.06,T,221.06,M,4.91,N,,,D*68\r\n$IIMWV,355,T,08.12,N,A*2D\r\n$IIVWT,005,L,08.12,N,04.18,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105926,,,,00,*41\r\n$IIDBT,025.29,f,007.71,M,004.16,F*2F\r\n$GPGLL,5959.655,N,02326.957,E,105926,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,221.67,T,221.67,M,4.90,N,,,D*69\r\n$IIMWV,358,R,12.82,N,A*24\r\n$IIVWT,003,L,07.65,N,03.94,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105928,,,,00,*4F\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.653,N,02326.953,E,105928,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,221.36,T,221.36,M,4.95,N,,,D*6C\r\n$IIMWV,359,T,08.28,N,A*28\r\n$IIVWT,001,L,08.28,N,04.26,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105930,,,,00,*46\r\n$IIDBT,025.13,f,007.66,M,004.14,F*22\r\n$GPGLL,5959.651,N,02326.950,E,105930,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.09,N,09.42,K*56\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,221.07,T,221.07,M,4.99,N,,,D*60\r\n$IIMWV,355,R,13.41,N,A*27\r\n$IIVWT,009,L,08.39,N,04.32,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105932,,,,00,*44\r\n$IIDBT,024.90,f,007.59,M,004.10,F*20\r\n$GPGLL,5959.649,N,02326.946,E,105932,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,221.02,T,221.02,M,5.00,N,,,D*61\r\n$IIMWV,348,T,08.84,N,A*2E\r\n$IIVWT,012,L,08.84,N,04.55,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105934,,,,00,*42\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5959.646,N,02326.941,E,105934,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,221.78,T,221.78,M,4.92,N,,,D*6B\r\n$IIMWV,355,R,12.82,N,A*29\r\n$IIVWT,008,L,07.75,N,03.99,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105936,,,,00,*40\r\n$IIDBT,024.57,f,007.49,M,004.04,F*2F\r\n$GPGLL,5959.644,N,02326.937,E,105936,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.10,N,,*05\r\n$IIVTG,221.44,T,221.44,M,4.91,N,,,D*68\r\n$IIMWV,356,T,08.14,N,A*28\r\n$IIVWT,004,L,08.14,N,04.19,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105938,,,,00,*4E\r\n$IIDBT,024.50,f,007.47,M,004.03,F*21\r\n$GPGLL,5959.642,N,02326.933,E,105938,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,221.76,T,221.76,M,4.90,N,,,D*69\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,004,L,08.39,N,04.32,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105940,,,,00,*41\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5959.639,N,02326.930,E,105940,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,220.69,T,220.69,M,4.90,N,,,D*69\r\n$IIMWV,348,T,08.41,N,A*27\r\n$IIVWT,012,L,08.41,N,04.33,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105942,,,,00,*43\r\n$IIDBT,024.40,f,007.44,M,004.02,F*22\r\n$GPGLL,5959.637,N,02326.927,E,105942,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.08,N,04.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,219.72,T,219.72,M,4.90,N,,,D*69\r\n$IIMWV,351,R,13.21,N,A*25\r\n$IIVWT,014,L,08.18,N,04.21,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105944,,,,00,*45\r\n$IIDBT,024.37,f,007.43,M,004.01,F*26\r\n$GPGLL,5959.635,N,02326.923,E,105944,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.09,N,09.42,K*56\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,219.68,T,219.68,M,4.90,N,,,D*69\r\n$IIMWV,355,T,08.35,N,A*28\r\n$IIVWT,005,L,08.35,N,04.30,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105946,,,,00,*47\r\n$IIDBT,024.34,f,007.42,M,004.01,F*24\r\n$GPGLL,5959.633,N,02326.920,E,105946,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.08,N,09.40,K*55\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,220.77,T,220.77,M,4.90,N,,,D*69\r\n$IIMWV,358,R,14.19,N,A*20\r\n$IIVWT,004,L,09.13,N,04.70,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105948,,,,00,*49\r\n$IIDBT,024.27,f,007.40,M,003.99,F*22\r\n$GPGLL,5959.631,N,02326.916,E,105948,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,221.17,T,221.17,M,4.90,N,,,D*69\r\n$IIMWV,357,T,09.07,N,A*2A\r\n$IIVWT,003,L,09.07,N,04.67,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105950,,,,00,*40\r\n$IIDBT,024.24,f,007.39,M,003.99,F*2F\r\n$GPGLL,5959.629,N,02326.912,E,105951,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.07,N,09.38,K*55\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,221.42,T,221.42,M,4.90,N,,,D*69\r\n$IIMWV,358,R,14.19,N,A*20\r\n$IIVWT,004,L,09.13,N,04.70,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105952,,,,00,*42\r\n$IIDBT,024.14,f,007.36,M,003.97,F*2D\r\n$GPGLL,5959.627,N,02326.909,E,105953,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,220.66,T,220.66,M,4.98,N,,,D*61\r\n$IIMWV,000,T,09.17,N,A*2A\r\n$IIVWT,000,R,09.17,N,04.72,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105954,,,,00,*44\r\n$IIDBT,024.11,f,007.35,M,003.97,F*2B\r\n$GPGLL,5959.625,N,02326.905,E,105955,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,219.26,T,219.26,M,4.99,N,,,D*60\r\n$IIMWV,359,R,14.19,N,A*21\r\n$IIVWT,002,L,09.17,N,04.72,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105956,,,,00,*46\r\n$IIDBT,024.17,f,007.37,M,003.98,F*20\r\n$GPGLL,5959.623,N,02326.902,E,105957,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,217.59,T,217.59,M,4.97,N,,,D*6E\r\n$IIMWV,000,T,08.76,N,A*2C\r\n$IIVWT,000,R,08.76,N,04.51,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,105958,,,,00,*48\r\n$IIDBT,024.31,f,007.41,M,004.00,F*23\r\n$GPGLL,5959.621,N,02326.899,E,105959,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,218.52,T,218.52,M,4.92,N,,,D*6B\r\n$IIMWV,359,R,13.41,N,A*2B\r\n$IIVWT,001,L,08.31,N,04.28,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110001,,,,00,*49\r\n$IIDBT,024.57,f,007.49,M,004.04,F*2F\r\n$GPGLL,5959.619,N,02326.895,E,110001,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,218.58,T,218.58,M,4.90,N,,,D*69\r\n$IIMWV,001,T,08.22,N,A*2C\r\n$IIVWT,001,R,08.22,N,04.23,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110003,,,,00,*4B\r\n$IIDBT,024.60,f,007.50,M,004.05,F*22\r\n$GPGLL,5959.617,N,02326.892,E,110003,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,220.17,T,220.17,M,4.85,N,,,D*6D\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,001,R,08.22,N,04.23,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110005,,,,00,*4D\r\n$IIDBT,024.37,f,007.43,M,004.01,F*26\r\n$GPGLL,5959.615,N,02326.888,E,110005,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,220.94,T,220.94,M,4.89,N,,,D*61\r\n$IIMWV,359,T,08.16,N,A*25\r\n$IIVWT,001,L,08.16,N,04.20,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110007,,,,00,*4F\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5959.613,N,02326.885,E,110007,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,221.46,T,221.46,M,4.90,N,,,D*69\r\n$IIMWV,354,R,13.41,N,A*26\r\n$IIVWT,010,L,08.45,N,04.35,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110009,,,,00,*41\r\n$IIDBT,024.47,f,007.46,M,004.03,F*26\r\n$GPGLL,5959.611,N,02326.881,E,110009,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,221.27,T,221.27,M,4.90,N,,,D*69\r\n$IIMWV,350,T,08.33,N,A*2B\r\n$IIVWT,010,L,08.33,N,04.29,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110011,,,,00,*48\r\n$IIDBT,024.27,f,007.40,M,003.99,F*22\r\n$GPGLL,5959.609,N,02326.877,E,110011,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,221.96,T,221.96,M,4.90,N,,,D*69\r\n$IIMWV,356,R,13.80,N,A*29\r\n$IIVWT,007,L,08.86,N,04.56,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110013,,,,00,*4A\r\n$IIDBT,024.17,f,007.37,M,003.98,F*20\r\n$GPGLL,5959.607,N,02326.874,E,110013,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,222.69,T,222.69,M,4.90,N,,,D*69\r\n$IIMWV,354,T,09.23,N,A*2F\r\n$IIVWT,006,L,09.23,N,04.75,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110015,,,,00,*4C\r\n$IIDBT,023.94,f,007.30,M,003.94,F*27\r\n$GPGLL,5959.605,N,02326.870,E,110015,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,223.67,T,223.67,M,4.85,N,,,D*6D\r\n$IIMWV,356,R,14.38,N,A*2D\r\n$IIVWT,006,L,09.31,N,04.79,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110017,,,,00,*4E\r\n$IIDBT,023.62,f,007.20,M,003.89,F*23\r\n$GPGLL,5959.602,N,02326.864,E,110017,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.68,N,04.98,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,224.42,T,224.42,M,4.89,N,,,D*61\r\n$IIMWV,354,T,09.66,N,A*2E\r\n$IIVWT,006,L,09.66,N,04.97,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110019,,,,00,*40\r\n$IIDBT,023.81,f,007.26,M,003.92,F*22\r\n$GPGLL,5959.600,N,02326.860,E,110019,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,224.51,T,224.51,M,4.90,N,,,D*69\r\n$IIMWV,354,R,14.38,N,A*2F\r\n$IIVWT,010,L,09.38,N,04.83,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110021,,,,00,*4B\r\n$IIDBT,023.68,f,007.22,M,003.90,F*23\r\n$GPGLL,5959.598,N,02326.857,E,110021,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,224.42,T,224.42,M,4.90,N,,,D*69\r\n$IIMWV,354,T,09.27,N,A*2B\r\n$IIVWT,006,L,09.27,N,04.77,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110023,,,,00,*49\r\n$IIDBT,023.52,f,007.17,M,003.87,F*2A\r\n$GPGLL,5959.596,N,02326.853,E,110023,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.15,N,04.71,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,224.60,T,224.60,M,4.82,N,,,D*6A\r\n$IIMWV,357,R,14.19,N,A*2F\r\n$IIVWT,004,L,09.15,N,04.71,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110025,,,,00,*4F\r\n$IIDBT,023.45,f,007.15,M,003.86,F*2F\r\n$GPGLL,5959.594,N,02326.849,E,110025,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,5.06,N,,*02\r\n$IIVTG,224.92,T,224.92,M,4.83,N,,,D*6B\r\n$IIMWV,356,T,08.78,N,A*22\r\n$IIVWT,004,L,08.78,N,04.52,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110027,,,,00,*4D\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5959.593,N,02326.845,E,110027,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,225.13,T,225.13,M,4.86,N,,,D*6E\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,09.34,N,04.81,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110029,,,,00,*43\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5959.591,N,02326.841,E,110029,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,225.76,T,225.76,M,4.89,N,,,D*61\r\n$IIMWV,357,T,09.31,N,A*2F\r\n$IIVWT,003,L,09.31,N,04.79,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110031,,,,00,*4A\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5959.589,N,02326.837,E,110032,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.68,N,04.98,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.05,N,09.35,K*5A\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,225.21,T,225.21,M,4.90,N,,,D*69\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,003,L,09.64,N,04.96,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110033,,,,00,*48\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5959.587,N,02326.834,E,110034,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.34,N,04.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,224.70,T,224.70,M,4.90,N,,,D*69\r\n$IIMWV,354,T,09.71,N,A*28\r\n$IIVWT,006,L,09.71,N,05.00,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110035,,,,00,*4E\r\n$IIDBT,023.42,f,007.14,M,003.85,F*2A\r\n$GPGLL,5959.585,N,02326.830,E,110036,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.73,N,05.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,226.00,T,226.00,M,4.90,N,,,D*69\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,004,L,09.71,N,05.00,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110037,,,,00,*4C\r\n$IIDBT,023.42,f,007.14,M,003.85,F*2A\r\n$GPGLL,5959.583,N,02326.826,E,110038,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.12,N,05.21,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.03,N,09.31,K*58\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,225.28,T,225.28,M,4.85,N,,,D*6D\r\n$IIMWV,357,T,10.18,N,A*2C\r\n$IIVWT,003,L,10.18,N,05.24,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110039,,,,00,*42\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5959.581,N,02326.822,E,110040,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.18,N,05.24,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.02,N,09.29,K*50\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,224.92,T,224.92,M,4.81,N,,,D*69\r\n$IIMWV,359,R,14.77,N,A*29\r\n$IIVWT,002,L,09.73,N,05.01,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110041,,,,00,*4D\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5959.579,N,02326.818,E,110042,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.30,N,05.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,226.20,T,226.20,M,4.85,N,,,D*6D\r\n$IIMWV,359,T,10.36,N,A*2E\r\n$IIVWT,001,L,10.36,N,05.33,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110044,,,,00,*48\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5959.577,N,02326.814,E,110044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.10,N,05.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,225.02,T,225.02,M,4.86,N,,,D*6E\r\n$IIMWV,359,R,15.16,N,A*2F\r\n$IIVWT,002,L,10.22,N,05.26,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110046,,,,00,*4A\r\n$IIDBT,023.52,f,007.17,M,003.87,F*2A\r\n$GPGLL,5959.575,N,02326.811,E,110046,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.45,N,05.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,223.63,T,223.63,M,4.84,N,,,D*6C\r\n$IIMWV,355,T,10.43,N,A*20\r\n$IIVWT,005,L,10.43,N,05.37,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110048,,,,00,*44\r\n$IIDBT,023.58,f,007.19,M,003.88,F*21\r\n$GPGLL,5959.574,N,02326.807,E,110048,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,224.31,T,224.31,M,4.81,N,,,D*69\r\n$IIMWV,356,R,15.35,N,A*21\r\n$IIVWT,006,L,10.41,N,05.36,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110050,,,,00,*4D\r\n$IIDBT,023.94,f,007.30,M,003.94,F*27\r\n$GPGLL,5959.572,N,02326.803,E,110050,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.97,N,,*0B\r\n$IIVTG,224.53,T,224.53,M,4.75,N,,,D*62\r\n$IIMWV,354,T,10.22,N,A*26\r\n$IIVWT,006,L,10.22,N,05.26,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110052,,,,00,*4F\r\n$IIDBT,024.04,f,007.33,M,003.96,F*28\r\n$GPGLL,5959.570,N,02326.799,E,110052,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.45,N,05.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,224.98,T,224.98,M,4.76,N,,,D*61\r\n$IIMWV,355,R,15.74,N,A*27\r\n$IIVWT,008,L,10.78,N,05.55,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110054,,,,00,*49\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5959.568,N,02326.796,E,110054,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,224.64,T,224.64,M,4.77,N,,,D*60\r\n$IIMWV,356,T,11.13,N,A*27\r\n$IIVWT,004,L,11.13,N,05.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110056,,,,00,*4B\r\n$IIDBT,024.37,f,007.43,M,004.01,F*26\r\n$GPGLL,5959.566,N,02326.792,E,110056,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.80,N,05.56,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.97,N,09.20,K*54\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,225.06,T,225.06,M,4.79,N,,,D*6E\r\n$IIMWV,355,R,16.13,N,A*25\r\n$IIVWT,007,L,11.13,N,05.73,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110058,,,,00,*45\r\n$IIDBT,024.63,f,007.51,M,004.05,F*20\r\n$GPGLL,5959.564,N,02326.788,E,110058,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.21,N,05.77,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.97,N,09.20,K*54\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,225.29,T,225.29,M,4.80,N,,,D*68\r\n$IIMWV,354,T,11.21,N,A*24\r\n$IIVWT,007,L,11.21,N,05.77,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110100,,,,00,*49\r\n$IIDBT,024.34,f,007.42,M,004.01,F*24\r\n$GPGLL,5959.561,N,02326.782,E,110100,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.94,N,09.14,K*50\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,225.76,T,225.76,M,4.80,N,,,D*68\r\n$IIMWV,357,R,15.16,N,A*21\r\n$IIVWT,005,L,10.22,N,05.26,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110102,,,,00,*4B\r\n$IIDBT,024.27,f,007.40,M,003.99,F*22\r\n$GPGLL,5959.560,N,02326.779,E,110102,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,225.36,T,225.36,M,4.72,N,,,D*65\r\n$IIMWV,349,T,10.41,N,A*2F\r\n$IIVWT,011,L,10.41,N,05.36,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110104,,,,00,*4D\r\n$IIDBT,024.08,f,007.34,M,003.96,F*23\r\n$GPGLL,5959.558,N,02326.775,E,110104,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,224.39,T,224.39,M,4.78,N,,,D*6F\r\n$IIMWV,352,R,15.35,N,A*25\r\n$IIVWT,012,L,10.59,N,05.45,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110106,,,,00,*4F\r\n$IIDBT,023.58,f,007.19,M,003.88,F*21\r\n$GPGLL,5959.556,N,02326.771,E,110106,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.55,N,05.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.89,N,09.05,K*5C\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,224.37,T,224.37,M,4.72,N,,,D*65\r\n$IIMWV,352,T,10.45,N,A*21\r\n$IIVWT,008,L,10.45,N,05.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110108,,,,00,*41\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5959.554,N,02326.768,E,110108,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,225.00,T,225.00,M,4.78,N,,,D*6F\r\n$IIMWV,357,R,15.35,N,A*20\r\n$IIVWT,004,L,10.38,N,05.34,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110110,,,,00,*48\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5959.552,N,02326.764,E,110110,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.90,N,09.07,K*56\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,225.70,T,225.70,M,4.72,N,,,D*65\r\n$IIMWV,354,T,10.86,N,A*28\r\n$IIVWT,006,L,10.86,N,05.59,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110112,,,,00,*4A\r\n$IIDBT,022.73,f,006.93,M,003.74,F*29\r\n$GPGLL,5959.550,N,02326.760,E,110112,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.73,N,05.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,225.97,T,225.97,M,4.71,N,,,D*66\r\n$IIMWV,355,R,15.74,N,A*27\r\n$IIVWT,008,L,10.84,N,05.58,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110114,,,,00,*4C\r\n$IIDBT,022.76,f,006.94,M,003.75,F*2A\r\n$GPGLL,5959.549,N,02326.757,E,110115,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.84,N,05.58,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.92,N,09.11,K*53\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,226.84,T,226.84,M,4.70,N,,,D*67\r\n$IIMWV,352,T,10.86,N,A*2E\r\n$IIVWT,008,L,10.86,N,05.59,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110116,,,,00,*4E\r\n$IIDBT,022.83,f,006.96,M,003.76,F*21\r\n$GPGLL,5959.547,N,02326.753,E,110117,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.27,N,05.80,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,226.74,T,226.74,M,4.70,N,,,D*67\r\n$IIMWV,359,R,16.13,N,A*29\r\n$IIVWT,001,L,11.19,N,05.76,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110118,,,,00,*40\r\n$IIDBT,022.80,f,006.95,M,003.75,F*22\r\n$GPGLL,5959.545,N,02326.749,E,110119,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.31,N,05.82,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.90,N,09.07,K*56\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,226.38,T,226.38,M,4.70,N,,,D*67\r\n$IIMWV,351,T,11.62,N,A*26\r\n$IIVWT,009,L,11.62,N,05.98,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110120,,,,00,*4B\r\n$IIDBT,022.96,f,007.00,M,003.78,F*25\r\n$GPGLL,5959.543,N,02326.745,E,110121,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,225.90,T,225.90,M,4.78,N,,,D*6F\r\n$IIMWV,355,R,16.13,N,A*25\r\n$IIVWT,008,L,11.31,N,05.82,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110122,,,,00,*49\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5959.541,N,02326.741,E,110123,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.66,N,06.00,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.87,N,09.01,K*56\r\n$IIVPW,4.79,N,,*0B\r\n$IIVTG,225.90,T,225.90,M,4.72,N,,,D*65\r\n$IIMWV,353,T,11.81,N,A*29\r\n$IIVWT,008,L,11.81,N,06.08,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110125,,,,00,*4E\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5959.540,N,02326.738,E,110125,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,226.73,T,226.73,M,4.70,N,,,D*67\r\n$IIMWV,352,R,17.10,N,A*20\r\n$IIVWT,011,L,12.24,N,06.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110127,,,,00,*4C\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5959.538,N,02326.734,E,110127,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.30,N,06.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.87,N,09.01,K*56\r\n$IIVPW,4.74,N,,*06\r\n$IIVTG,226.68,T,226.68,M,4.63,N,,,D*65\r\n$IIMWV,352,T,11.83,N,A*2A\r\n$IIVWT,008,L,11.83,N,06.09,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110129,,,,00,*42\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5959.536,N,02326.730,E,110129,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.20,N,06.28,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,226.95,T,226.95,M,4.68,N,,,D*6E\r\n$IIMWV,352,R,17.10,N,A*20\r\n$IIVWT,011,L,12.24,N,06.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110131,,,,00,*4B\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5959.534,N,02326.726,E,110131,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.28,N,06.32,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.87,N,09.01,K*56\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,228.11,T,228.11,M,4.70,N,,,D*67\r\n$IIMWV,348,T,12.73,N,A*2D\r\n$IIVWT,012,L,12.73,N,06.55,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110133,,,,00,*49\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5959.533,N,02326.722,E,110133,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.86,N,09.00,K*56\r\n$IIVPW,4.79,N,,*0B\r\n$IIVTG,229.13,T,229.13,M,4.70,N,,,D*67\r\n$IIMWV,354,R,17.10,N,A*26\r\n$IIVWT,008,L,12.24,N,06.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110135,,,,00,*4F\r\n$IIDBT,023.58,f,007.19,M,003.88,F*21\r\n$GPGLL,5959.531,N,02326.718,E,110135,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.81,N,06.08,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,231.00,T,231.00,M,4.70,N,,,D*67\r\n$IIMWV,350,T,12.18,N,A*29\r\n$IIVWT,010,L,12.18,N,06.27,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110137,,,,00,*4D\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,5959.529,N,02326.714,E,110137,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.32,N,06.34,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.74,N,,*06\r\n$IIVTG,230.47,T,230.47,M,4.65,N,,,D*63\r\n$IIMWV,356,R,17.10,N,A*24\r\n$IIVWT,006,L,12.14,N,06.25,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110139,,,,00,*43\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5959.528,N,02326.711,E,110139,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.81,N,06.08,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.88,N,09.03,K*5B\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,229.29,T,229.29,M,4.61,N,,,D*67\r\n$IIMWV,354,T,11.77,N,A*27\r\n$IIVWT,006,L,11.77,N,06.06,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110141,,,,00,*4C\r\n$IIDBT,022.47,f,006.85,M,003.70,F*2D\r\n$GPGLL,5959.526,N,02326.707,E,110141,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.86,N,09.00,K*56\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,228.10,T,228.10,M,4.60,N,,,D*66\r\n$IIMWV,357,R,17.68,N,A*2A\r\n$IIVWT,004,L,12.80,N,06.59,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110143,,,,00,*4E\r\n$IIDBT,022.14,f,006.75,M,003.64,F*21\r\n$GPGLL,5959.523,N,02326.701,E,110143,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.27,N,06.83,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.84,N,08.96,K*5A\r\n$IIVPW,4.70,N,,*02\r\n$IIVTG,227.81,T,227.81,M,4.65,N,,,D*63\r\n$IIMWV,349,T,13.27,N,A*2C\r\n$IIVWT,011,L,13.27,N,06.83,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110145,,,,00,*48\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5959.522,N,02326.697,E,110145,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.23,N,06.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.85,N,08.98,K*55\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,226.85,T,226.85,M,4.64,N,,,D*62\r\n$IIMWV,352,R,17.10,N,A*20\r\n$IIVWT,012,L,12.32,N,06.34,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110147,,,,00,*4A\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5959.520,N,02326.694,E,110147,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.83,N,08.94,K*5F\r\n$IIVPW,4.74,N,,*06\r\n$IIVTG,226.41,T,226.41,M,4.63,N,,,D*65\r\n$IIMWV,353,T,12.73,N,A*27\r\n$IIVWT,007,L,12.73,N,06.55,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110149,,,,00,*44\r\n$IIDBT,022.04,f,006.72,M,003.63,F*20\r\n$GPGLL,5959.518,N,02326.690,E,110149,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.89,N,07.15,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.80,N,08.88,K*51\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,226.37,T,226.37,M,4.61,N,,,D*67\r\n$IIMWV,352,R,18.07,N,A*29\r\n$IIVWT,010,L,13.35,N,06.87,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110151,,,,00,*4D\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5959.516,N,02326.686,E,110151,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.96,N,06.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.78,N,08.85,K*5B\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,226.29,T,226.29,M,4.55,N,,,D*60\r\n$IIMWV,349,T,13.37,N,A*2D\r\n$IIVWT,011,L,13.37,N,06.88,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110153,,,,00,*4F\r\n$IIDBT,021.06,f,006.42,M,003.47,F*24\r\n$GPGLL,5959.515,N,02326.683,E,110153,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.77,N,08.83,K*52\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,227.30,T,227.30,M,4.51,N,,,D*64\r\n$IIMWV,353,R,17.49,N,A*2D\r\n$IIVWT,010,L,12.77,N,06.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110155,,,,00,*49\r\n$IIDBT,020.96,f,006.39,M,003.45,F*22\r\n$GPGLL,5959.513,N,02326.679,E,110155,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.78,N,08.85,K*5B\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,229.75,T,229.75,M,4.55,N,,,D*60\r\n$IIMWV,346,T,13.33,N,A*26\r\n$IIVWT,014,L,13.33,N,06.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110157,,,,00,*4B\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5959.512,N,02326.675,E,110158,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.84,N,07.12,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.79,N,08.87,K*58\r\n$IIVPW,4.55,N,,*05\r\n$IIVTG,230.84,T,230.84,M,4.59,N,,,D*6C\r\n$IIMWV,350,R,18.46,N,A*2E\r\n$IIVWT,014,L,13.72,N,07.06,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110159,,,,00,*45\r\n$IIDBT,020.66,f,006.30,M,003.40,F*21\r\n$GPGLL,5959.510,N,02326.671,E,110200,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.54,N,06.97,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.79,N,08.87,K*58\r\n$IIVPW,4.38,N,,*0E\r\n$IIVTG,229.26,T,229.26,M,4.52,N,,,D*67\r\n$IIMWV,342,T,13.17,N,A*24\r\n$IIVWT,019,L,13.17,N,06.78,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110201,,,,00,*4B\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5959.508,N,02326.667,E,110202,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.29,N,06.84,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.71,N,08.72,K*5A\r\n$IIVPW,4.32,N,,*04\r\n$IIVTG,230.69,T,230.69,M,4.41,N,,,D*65\r\n$IIMWV,348,R,17.68,N,A*24\r\n$IIVWT,016,L,13.27,N,06.83,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110203,,,,00,*49\r\n$IIDBT,020.27,f,006.18,M,003.34,F*2D\r\n$GPGLL,5959.507,N,02326.663,E,110204,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.62,N,08.55,K*5D\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,233.49,T,233.49,M,4.30,N,,,D*63\r\n$IIMWV,344,T,14.20,N,A*21\r\n$IIVWT,016,L,14.20,N,07.31,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110205,,,,00,*4F\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.506,N,02326.660,E,110206,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.50,N,07.46,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.51,N,08.35,K*5B\r\n$IIVPW,4.16,N,,*02\r\n$IIVTG,235.07,T,235.07,M,4.23,N,,,D*61\r\n$IIMWV,350,R,18.46,N,A*2E\r\n$IIVWT,014,L,14.24,N,07.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110208,,,,00,*42\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.504,N,02326.656,E,110208,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.32,N,07.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.40,N,08.14,K*58\r\n$IIVPW,4.09,N,,*0C\r\n$IIVTG,232.94,T,232.94,M,4.13,N,,,D*62\r\n$IIMWV,347,T,14.53,N,A*26\r\n$IIVWT,014,L,14.53,N,07.48,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110210,,,,00,*4B\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.503,N,02326.653,E,110210,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.32,N,08.00,K*58\r\n$IIVPW,4.10,N,,*04\r\n$IIVTG,231.51,T,231.51,M,4.06,N,,,D*66\r\n$IIMWV,351,R,18.66,N,A*2D\r\n$IIVWT,012,L,14.55,N,07.49,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110212,,,,00,*49\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.502,N,02326.649,E,110212,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.23,N,07.83,K*5C\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,231.85,T,231.85,M,4.01,N,,,D*61\r\n$IIMWV,352,T,14.55,N,A*24\r\n$IIVWT,008,L,14.55,N,07.49,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110214,,,,00,*4F\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5959.500,N,02326.646,E,110214,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.15,N,07.68,K*5C\r\n$IIVPW,3.83,N,,*09\r\n$IIVTG,230.76,T,230.76,M,3.95,N,,,D*6B\r\n$IIMWV,349,R,18.07,N,A*23\r\n$IIVWT,014,L,14.11,N,07.26,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110216,,,,00,*4D\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.499,N,02326.643,E,110216,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.07,N,07.53,K*57\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,227.04,T,227.04,M,3.84,N,,,D*6B\r\n$IIMWV,348,T,14.59,N,A*23\r\n$IIVWT,012,L,14.59,N,07.51,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110218,,,,00,*43\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.497,N,02326.640,E,110218,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.19,N,07.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,227.26,T,227.26,M,3.81,N,,,D*6E\r\n$IIMWV,352,R,18.07,N,A*29\r\n$IIVWT,010,L,14.11,N,07.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110220,,,,00,*48\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.496,N,02326.637,E,110220,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.97,N,07.35,K*59\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,226.69,T,226.69,M,3.80,N,,,D*6F\r\n$IIMWV,349,T,13.64,N,A*2B\r\n$IIVWT,011,L,13.64,N,07.02,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110222,,,,00,*4A\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.494,N,02326.634,E,110222,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.95,N,07.31,K*5F\r\n$IIVPW,3.92,N,,*09\r\n$IIVTG,226.12,T,226.12,M,3.75,N,,,D*65\r\n$IIMWV,353,R,16.71,N,A*27\r\n$IIVWT,009,L,12.88,N,06.63,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110224,,,,00,*4C\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.492,N,02326.629,E,110224,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.64,N,07.02,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.92,N,07.26,K*5E\r\n$IIVPW,3.80,N,,*0A\r\n$IIVTG,226.98,T,226.98,M,3.71,N,,,D*61\r\n$IIMWV,346,T,13.29,N,A*2D\r\n$IIVWT,014,L,13.29,N,06.84,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110226,,,,00,*4E\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.491,N,02326.626,E,110226,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.27,N,06.83,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.90,N,07.22,K*58\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,227.75,T,227.75,M,3.70,N,,,D*60\r\n$IIMWV,348,R,17.10,N,A*2B\r\n$IIVWT,015,L,13.33,N,06.86,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110228,,,,00,*40\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.490,N,02326.623,E,110228,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.58,N,06.99,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.90,N,07.22,K*58\r\n$IIVPW,3.83,N,,*09\r\n$IIVTG,228.59,T,228.59,M,3.70,N,,,D*60\r\n$IIMWV,348,T,12.88,N,A*29\r\n$IIVWT,012,L,12.88,N,06.63,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110230,,,,00,*49\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.488,N,02326.620,E,110230,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.89,N,07.20,K*52\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,229.82,T,229.82,M,3.70,N,,,D*60\r\n$IIMWV,354,R,17.10,N,A*26\r\n$IIVWT,008,L,13.23,N,06.81,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110232,,,,00,*4B\r\n$IIDBT,020.01,f,006.10,M,003.29,F*2D\r\n$GPGLL,5959.487,N,02326.617,E,110232,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.91,N,07.24,K*5F\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,229.65,T,229.65,M,3.70,N,,,D*60\r\n$IIMWV,347,T,13.19,N,A*2F\r\n$IIVWT,013,L,13.19,N,06.79,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110234,,,,00,*4D\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.486,N,02326.614,E,110234,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.77,N,06.57,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,227.81,T,227.81,M,3.73,N,,,D*63\r\n$IIMWV,352,R,16.71,N,A*26\r\n$IIVWT,011,L,12.82,N,06.60,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110236,,,,00,*4F\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.484,N,02326.611,E,110236,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.89,N,07.15,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,227.78,T,227.78,M,3.78,N,,,D*68\r\n$IIMWV,340,T,14.03,N,A*24\r\n$IIVWT,020,L,14.03,N,07.22,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110238,,,,00,*41\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.483,N,02326.608,E,110239,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.62,N,07.01,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.91,N,07.24,K*5F\r\n$IIVPW,3.82,N,,*08\r\n$IIVTG,229.04,T,229.04,M,3.80,N,,,D*6F\r\n$IIMWV,352,R,17.49,N,A*2C\r\n$IIVWT,010,L,13.62,N,07.01,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110240,,,,00,*4E\r\n$IIDBT,019.65,f,005.99,M,003.23,F*2D\r\n$GPGLL,5959.482,N,02326.604,E,110241,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.90,N,07.22,K*58\r\n$IIVPW,3.82,N,,*08\r\n$IIVTG,233.33,T,233.33,M,3.80,N,,,D*6F\r\n$IIMWV,350,T,13.60,N,A*27\r\n$IIVWT,010,L,13.60,N,07.00,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110242,,,,00,*4C\r\n$IIDBT,019.75,f,006.02,M,003.25,F*2B\r\n$GPGLL,5959.481,N,02326.601,E,110243,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.91,N,07.24,K*5F\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,233.58,T,233.58,M,3.80,N,,,D*6F\r\n$IIMWV,353,R,18.07,N,A*28\r\n$IIVWT,009,L,14.17,N,07.29,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110244,,,,00,*4A\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.479,N,02326.598,E,110245,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.09,N,07.25,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.90,N,07.22,K*58\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,230.97,T,230.97,M,3.80,N,,,D*6F\r\n$IIMWV,351,T,13.74,N,A*23\r\n$IIVWT,010,L,13.74,N,07.07,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110246,,,,00,*48\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.478,N,02326.595,E,110247,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.92,N,07.26,K*5E\r\n$IIVPW,3.83,N,,*09\r\n$IIVTG,227.57,T,227.57,M,3.80,N,,,D*6F\r\n$IIMWV,353,R,17.49,N,A*2D\r\n$IIVWT,009,L,13.60,N,07.00,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110248,,,,00,*46\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.476,N,02326.592,E,110249,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.80,N,07.10,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.92,N,07.26,K*5E\r\n$IIVPW,3.81,N,,*0B\r\n$IIVTG,225.89,T,225.89,M,3.80,N,,,D*6F\r\n$IIMWV,348,T,13.74,N,A*2B\r\n$IIVWT,012,L,13.74,N,07.07,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110251,,,,00,*4E\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.475,N,02326.589,E,110251,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.92,N,07.26,K*5E\r\n$IIVPW,3.92,N,,*09\r\n$IIVTG,227.70,T,227.70,M,3.80,N,,,D*6F\r\n$IIMWV,353,R,17.68,N,A*2E\r\n$IIVWT,009,L,13.72,N,07.06,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110253,,,,00,*4C\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.474,N,02326.585,E,110253,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.54,N,06.97,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,229.55,T,229.55,M,3.80,N,,,D*6F\r\n$IIMWV,349,T,13.56,N,A*2A\r\n$IIVWT,011,L,13.56,N,06.98,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110255,,,,00,*4A\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.472,N,02326.582,E,110255,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.56,N,06.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.94,N,07.29,K*57\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,229.36,T,229.36,M,3.80,N,,,D*6F\r\n$IIMWV,354,R,17.68,N,A*29\r\n$IIVWT,008,L,13.78,N,07.09,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110257,,,,00,*48\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.471,N,02326.579,E,110257,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.94,N,07.29,K*57\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,229.24,T,229.24,M,3.72,N,,,D*62\r\n$IIMWV,350,T,13.56,N,A*22\r\n$IIVWT,011,L,13.56,N,06.98,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110259,,,,00,*46\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.470,N,02326.576,E,110259,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.60,N,07.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.94,N,07.29,K*57\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,229.09,T,229.09,M,3.78,N,,,D*68\r\n$IIMWV,352,R,17.49,N,A*2C\r\n$IIVWT,010,L,13.56,N,06.98,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110301,,,,00,*4A\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.468,N,02326.573,E,110301,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,229.92,T,229.92,M,3.80,N,,,D*6F\r\n$IIMWV,351,T,13.17,N,A*26\r\n$IIVWT,009,L,13.17,N,06.78,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110303,,,,00,*48\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.467,N,02326.570,E,110303,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.77,N,06.57,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.94,N,07.29,K*57\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,230.65,T,230.65,M,3.82,N,,,D*6D\r\n$IIMWV,353,R,17.10,N,A*21\r\n$IIVWT,009,L,13.14,N,06.76,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110305,,,,00,*4E\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.466,N,02326.566,E,110305,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.97,N,07.35,K*59\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,230.52,T,230.52,M,3.81,N,,,D*6E\r\n$IIMWV,355,T,13.74,N,A*27\r\n$IIVWT,005,L,13.74,N,07.07,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110307,,,,00,*4C\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.464,N,02326.561,E,110307,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.09,N,07.25,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.97,N,07.35,K*59\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,230.85,T,230.85,M,3.85,N,,,D*6A\r\n$IIMWV,355,R,18.07,N,A*2E\r\n$IIVWT,007,L,13.99,N,07.20,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110309,,,,00,*42\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.462,N,02326.558,E,110309,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.43,N,06.91,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,228.55,T,228.55,M,3.86,N,,,D*69\r\n$IIMWV,352,T,13.06,N,A*25\r\n$IIVWT,008,L,13.06,N,06.72,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110311,,,,00,*4B\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.461,N,02326.555,E,110311,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.86,N,,*0C\r\n$IIVTG,227.54,T,227.54,M,3.89,N,,,D*66\r\n$IIMWV,352,R,18.07,N,A*29\r\n$IIVWT,011,L,14.05,N,07.23,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110313,,,,00,*49\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.459,N,02326.552,E,110313,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.09,N,07.25,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,226.79,T,226.79,M,3.90,N,,,D*6E\r\n$IIMWV,355,T,14.05,N,A*26\r\n$IIVWT,006,L,14.05,N,07.23,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110315,,,,00,*4F\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5959.458,N,02326.549,E,110315,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.99,N,07.38,K*5A\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,227.07,T,227.07,M,3.85,N,,,D*6A\r\n$IIMWV,355,R,18.07,N,A*2E\r\n$IIVWT,006,L,14.15,N,07.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110317,,,,00,*4D\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.456,N,02326.546,E,110317,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.50,N,06.95,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.98,N,07.37,K*54\r\n$IIVPW,3.96,N,,*0D\r\n$IIVTG,227.14,T,227.14,M,3.81,N,,,D*6E\r\n$IIMWV,355,T,13.06,N,A*22\r\n$IIVWT,006,L,13.06,N,06.72,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110319,,,,00,*43\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.455,N,02326.543,E,110319,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.99,N,07.38,K*5A\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,227.88,T,227.88,M,3.80,N,,,D*6F\r\n$IIMWV,355,R,15.74,N,A*27\r\n$IIVWT,008,L,11.72,N,06.03,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110321,,,,00,*48\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.453,N,02326.540,E,110321,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,227.57,T,227.57,M,3.85,N,,,D*6A\r\n$IIMWV,351,T,12.11,N,A*21\r\n$IIVWT,009,L,12.11,N,06.23,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110323,,,,00,*4A\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.452,N,02326.537,E,110324,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.40,N,06.38,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.02,N,07.44,K*54\r\n$IIVPW,4.03,N,,*06\r\n$IIVTG,226.59,T,226.59,M,3.89,N,,,D*66\r\n$IIMWV,354,R,17.10,N,A*26\r\n$IIVWT,008,L,13.00,N,06.69,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110325,,,,00,*4C\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.450,N,02326.533,E,110326,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.62,N,07.01,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.03,N,07.46,K*57\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,226.62,T,226.62,M,3.90,N,,,D*6E\r\n$IIMWV,352,T,13.45,N,A*22\r\n$IIVWT,008,L,13.45,N,06.92,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110327,,,,00,*4E\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.449,N,02326.530,E,110328,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,227.51,T,227.51,M,3.90,N,,,D*6E\r\n$IIMWV,357,R,17.49,N,A*29\r\n$IIVWT,004,L,13.37,N,06.88,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110329,,,,00,*40\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.448,N,02326.527,E,110330,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.51,N,06.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,227.80,T,227.80,M,3.90,N,,,D*6E\r\n$IIMWV,353,T,12.51,N,A*27\r\n$IIVWT,007,L,12.51,N,06.44,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110331,,,,00,*49\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.446,N,02326.524,E,110332,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.03,N,07.46,K*57\r\n$IIVPW,4.10,N,,*04\r\n$IIVTG,227.68,T,227.68,M,3.85,N,,,D*6A\r\n$IIMWV,355,R,16.52,N,A*20\r\n$IIVWT,007,L,12.46,N,06.41,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110334,,,,00,*4C\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.445,N,02326.521,E,110334,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.04,N,07.48,K*5E\r\n$IIVPW,3.97,N,,*0C\r\n$IIVTG,227.27,T,227.27,M,3.89,N,,,D*66\r\n$IIMWV,346,T,12.51,N,A*23\r\n$IIVWT,014,L,12.51,N,06.44,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110336,,,,00,*4E\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.443,N,02326.518,E,110336,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.06,N,07.51,K*54\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,226.74,T,226.74,M,3.95,N,,,D*6B\r\n$IIMWV,353,R,16.71,N,A*27\r\n$IIVWT,009,L,12.63,N,06.50,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110338,,,,00,*40\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.442,N,02326.514,E,110338,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.51,N,06.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.06,N,07.51,K*54\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,226.66,T,226.66,M,3.96,N,,,D*68\r\n$IIMWV,352,T,12.69,N,A*2D\r\n$IIVWT,008,L,12.69,N,06.53,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110340,,,,00,*4F\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.440,N,02326.511,E,110340,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.02,N,06.70,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.06,N,07.51,K*54\r\n$IIVPW,4.03,N,,*06\r\n$IIVTG,228.76,T,228.76,M,3.94,N,,,D*6A\r\n$IIMWV,356,R,17.10,N,A*24\r\n$IIVWT,005,L,13.04,N,06.71,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110342,,,,00,*4D\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.439,N,02326.508,E,110342,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.06,N,07.51,K*54\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,228.89,T,228.89,M,3.96,N,,,D*68\r\n$IIMWV,344,T,12.73,N,A*21\r\n$IIVWT,016,L,12.73,N,06.55,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110344,,,,00,*4B\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.437,N,02326.505,E,110344,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.07,N,07.53,K*57\r\n$IIVPW,3.96,N,,*0D\r\n$IIVTG,228.70,T,228.70,M,3.94,N,,,D*6A\r\n$IIMWV,352,R,16.52,N,A*27\r\n$IIVWT,011,L,12.53,N,06.45,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110346,,,,00,*49\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.436,N,02326.501,E,110346,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.25,N,05.79,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.07,N,07.53,K*57\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,226.95,T,226.95,M,3.96,N,,,D*68\r\n$IIMWV,346,T,11.15,N,A*20\r\n$IIVWT,014,L,11.15,N,05.74,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110348,,,,00,*47\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.434,N,02326.498,E,110348,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.09,N,05.71,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.08,N,07.55,K*5E\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,224.81,T,224.81,M,3.99,N,,,D*67\r\n$IIMWV,353,R,16.71,N,A*27\r\n$IIVWT,009,L,12.55,N,06.46,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110350,,,,00,*4E\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.432,N,02326.494,E,110350,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.39,N,06.89,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.09,N,07.57,K*5D\r\n$IIVPW,4.06,N,,*03\r\n$IIVTG,226.02,T,226.02,M,4.00,N,,,D*60\r\n$IIMWV,358,T,11.11,N,A*2B\r\n$IIVWT,002,L,11.11,N,05.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110352,,,,00,*4C\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.430,N,02326.490,E,110352,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.11,N,06.23,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.11,N,07.61,K*51\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,226.53,T,226.53,M,4.00,N,,,D*60\r\n$IIMWV,351,R,16.71,N,A*25\r\n$IIVWT,012,L,12.67,N,06.52,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110354,,,,00,*4A\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.429,N,02326.487,E,110354,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.08,N,07.55,K*5E\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,226.13,T,226.13,M,3.97,N,,,D*69\r\n$IIMWV,351,T,12.46,N,A*23\r\n$IIVWT,009,L,12.46,N,06.41,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110356,,,,00,*48\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.427,N,02326.484,E,110356,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.09,N,07.57,K*5D\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,226.08,T,226.08,M,3.92,N,,,D*6C\r\n$IIMWV,349,R,17.49,N,A*26\r\n$IIVWT,015,L,13.52,N,06.96,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110358,,,,00,*46\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5959.426,N,02326.481,E,110358,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.59,N,07.51,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.09,N,07.57,K*5D\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,225.32,T,225.32,M,3.98,N,,,D*66\r\n$IIMWV,344,T,14.75,N,A*21\r\n$IIVWT,017,L,14.75,N,07.59,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110400,,,,00,*4C\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.424,N,02326.478,E,110400,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.06,N,07.75,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.07,N,07.53,K*57\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,225.43,T,225.43,M,3.92,N,,,D*6C\r\n$IIMWV,347,R,18.46,N,A*28\r\n$IIVWT,017,L,14.48,N,07.45,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110402,,,,00,*4E\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.423,N,02326.475,E,110402,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.64,N,07.02,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.05,N,07.50,K*56\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,225.18,T,225.18,M,3.90,N,,,D*6E\r\n$IIMWV,349,T,13.47,N,A*2A\r\n$IIVWT,011,L,13.47,N,06.93,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110404,,,,00,*48\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.421,N,02326.472,E,110405,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.05,N,07.50,K*56\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,226.04,T,226.04,M,3.85,N,,,D*6A\r\n$IIMWV,350,R,16.13,N,A*20\r\n$IIVWT,013,L,12.16,N,06.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110406,,,,00,*4A\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.420,N,02326.469,E,110407,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.71,N,06.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.04,N,07.48,K*5E\r\n$IIVPW,4.02,N,,*07\r\n$IIVTG,226.21,T,226.21,M,3.89,N,,,D*66\r\n$IIMWV,350,T,11.79,N,A*2D\r\n$IIVWT,010,L,11.79,N,06.07,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110408,,,,00,*44\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.418,N,02326.466,E,110409,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.04,N,07.48,K*5E\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,226.48,T,226.48,M,3.82,N,,,D*6D\r\n$IIMWV,348,R,19.43,N,A*23\r\n$IIVWT,015,L,15.53,N,07.99,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110410,,,,00,*4D\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.417,N,02326.463,E,110411,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.64,N,07.02,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.03,N,07.46,K*57\r\n$IIVPW,3.99,N,,*02\r\n$IIVTG,226.67,T,226.67,M,3.88,N,,,D*67\r\n$IIMWV,358,T,12.69,N,A*27\r\n$IIVWT,002,L,12.69,N,06.53,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110412,,,,00,*4F\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.415,N,02326.460,E,110413,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.02,N,07.44,K*54\r\n$IIVPW,4.02,N,,*07\r\n$IIVTG,226.76,T,226.76,M,3.90,N,,,D*6E\r\n$IIMWV,000,R,16.52,N,A*23\r\n$IIVWT,001,R,12.59,N,06.48,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110414,,,,00,*49\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5959.414,N,02326.456,E,110415,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.98,N,07.37,K*54\r\n$IIVPW,3.79,N,,*0C\r\n$IIVTG,226.26,T,226.26,M,3.90,N,,,D*6E\r\n$IIMWV,350,T,11.81,N,A*2A\r\n$IIVWT,010,L,11.81,N,06.08,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110417,,,,00,*4A\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.413,N,02326.453,E,110417,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.97,N,07.35,K*59\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,226.44,T,226.44,M,3.82,N,,,D*6D\r\n$IIMWV,352,R,17.49,N,A*2C\r\n$IIVWT,010,L,13.52,N,06.96,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110419,,,,00,*44\r\n$IIDBT,020.60,f,006.28,M,003.39,F*20\r\n$GPGLL,5959.411,N,02326.450,E,110419,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.98,N,07.37,K*54\r\n$IIVPW,3.95,N,,*0E\r\n$IIVTG,226.34,T,226.34,M,3.86,N,,,D*69\r\n$IIMWV,349,T,13.68,N,A*27\r\n$IIVWT,011,L,13.68,N,07.04,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110421,,,,00,*4F\r\n$IIDBT,020.96,f,006.39,M,003.45,F*22\r\n$GPGLL,5959.410,N,02326.447,E,110421,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.49,N,06.43,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,225.46,T,225.46,M,3.81,N,,,D*6E\r\n$IIMWV,353,R,17.10,N,A*21\r\n$IIVWT,010,L,13.00,N,06.69,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110423,,,,00,*4D\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5959.408,N,02326.445,E,110423,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.66,N,07.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,224.07,T,224.07,M,3.83,N,,,D*6C\r\n$IIMWV,359,T,13.62,N,A*2C\r\n$IIVWT,001,L,13.62,N,07.01,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110425,,,,00,*4B\r\n$IIDBT,021.22,f,006.47,M,003.49,F*29\r\n$GPGLL,5959.407,N,02326.442,E,110425,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.96,N,07.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,223.84,T,223.84,M,3.88,N,,,D*67\r\n$IIMWV,354,R,19.04,N,A*2D\r\n$IIVWT,008,L,15.00,N,07.72,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110427,,,,00,*49\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5959.405,N,02326.438,E,110427,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.01,N,07.42,K*51\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,224.74,T,224.74,M,3.97,N,,,D*69\r\n$IIMWV,351,T,14.63,N,A*22\r\n$IIVWT,009,L,14.63,N,07.53,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110429,,,,00,*47\r\n$IIDBT,021.22,f,006.47,M,003.49,F*29\r\n$GPGLL,5959.404,N,02326.435,E,110429,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,3.99,N,,*02\r\n$IIVTG,225.39,T,225.39,M,3.92,N,,,D*6C\r\n$IIMWV,355,R,18.66,N,A*29\r\n$IIVWT,007,L,14.65,N,07.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110431,,,,00,*4E\r\n$IIDBT,021.19,f,006.46,M,003.49,F*20\r\n$GPGLL,5959.402,N,02326.432,E,110431,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.66,N,07.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.00,N,07.40,K*52\r\n$IIVPW,3.96,N,,*0D\r\n$IIVTG,226.32,T,226.32,M,3.90,N,,,D*6E\r\n$IIMWV,000,T,13.47,N,A*24\r\n$IIVWT,000,R,13.47,N,06.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110433,,,,00,*4C\r\n$IIDBT,021.06,f,006.42,M,003.47,F*24\r\n$GPGLL,5959.400,N,02326.428,E,110433,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.99,N,07.38,K*5A\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,226.10,T,226.10,M,3.79,N,,,D*69\r\n$IIMWV,356,R,19.04,N,A*2F\r\n$IIVWT,005,L,15.06,N,07.75,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110435,,,,00,*4A\r\n$IIDBT,020.89,f,006.37,M,003.44,F*23\r\n$GPGLL,5959.398,N,02326.425,E,110435,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,3.54,N,,*03\r\n$IIVTG,225.60,T,225.60,M,3.75,N,,,D*65\r\n$IIMWV,345,T,13.06,N,A*23\r\n$IIVWT,016,L,13.06,N,06.72,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110437,,,,00,*48\r\n$IIDBT,020.73,f,006.32,M,003.41,F*26\r\n$GPGLL,5959.397,N,02326.422,E,110437,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.72,N,06.88,K*55\r\n$IIVPW,3.00,N,,*02\r\n$IIVTG,227.58,T,227.58,M,3.51,N,,,D*63\r\n$IIMWV,342,R,15.74,N,A*21\r\n$IIVWT,023,L,12.71,N,06.54,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110439,,,,00,*46\r\n$IIDBT,020.70,f,006.31,M,003.41,F*26\r\n$GPGLL,5959.396,N,02326.419,E,110439,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.49,N,06.46,K*5F\r\n$IIVPW,3.04,N,,*06\r\n$IIVTG,229.94,T,229.94,M,3.23,N,,,D*66\r\n$IIMWV,346,T,16.48,N,A*2F\r\n$IIVWT,014,L,16.48,N,08.48,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110441,,,,00,*49\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5959.395,N,02326.417,E,110441,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.06,N,08.78,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.30,N,06.11,K*53\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,232.86,T,232.86,M,3.01,N,,,D*66\r\n$IIMWV,355,R,20.41,N,A*27\r\n$IIVWT,006,L,17.53,N,09.02,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110443,,,,00,*4B\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5959.394,N,02326.414,E,110443,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.19,N,08.33,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,2.80,N,,*0B\r\n$IIVTG,235.71,T,235.71,M,2.88,N,,,D*66\r\n$IIMWV,352,T,16.65,N,A*25\r\n$IIVWT,008,L,16.65,N,08.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110445,,,,00,*4D\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.393,N,02326.411,E,110445,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.28,N,08.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.99,N,05.53,K*54\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,234.63,T,234.63,M,2.74,N,,,D*65\r\n$IIMWV,000,R,18.66,N,A*2A\r\n$IIVWT,000,R,15.99,N,08.23,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110447,,,,00,*4F\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5959.393,N,02326.409,E,110448,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.09,N,08.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.84,N,05.25,K*59\r\n$IIVPW,2.52,N,,*04\r\n$IIVTG,231.95,T,231.95,M,2.66,N,,,D*66\r\n$IIMWV,359,T,15.93,N,A*24\r\n$IIVWT,001,L,15.93,N,08.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110449,,,,00,*41\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.392,N,02326.407,E,110450,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.00,N,07.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.71,N,05.01,K*55\r\n$IIVPW,2.43,N,,*04\r\n$IIVTG,230.57,T,230.57,M,2.54,N,,,D*67\r\n$IIMWV,356,R,17.49,N,A*28\r\n$IIVWT,005,L,15.00,N,07.72,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110451,,,,00,*48\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.391,N,02326.405,E,110452,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.69,N,07.56,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.60,N,04.81,K*5C\r\n$IIVPW,2.36,N,,*06\r\n$IIVTG,229.02,T,229.02,M,2.46,N,,,D*64\r\n$IIMWV,354,T,14.73,N,A*26\r\n$IIVWT,007,L,14.73,N,07.58,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110453,,,,00,*4A\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.390,N,02326.403,E,110454,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.88,N,07.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.49,N,04.61,K*59\r\n$IIVPW,2.19,N,,*0B\r\n$IIVTG,228.35,T,228.35,M,2.34,N,,,D*61\r\n$IIMWV,349,R,16.71,N,A*2C\r\n$IIVWT,013,L,14.46,N,07.44,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110455,,,,00,*4C\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.389,N,02326.401,E,110456,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,2.21,N,,*00\r\n$IIVTG,227.81,T,227.81,M,2.26,N,,,D*62\r\n$IIMWV,350,T,12.92,N,A*2B\r\n$IIVWT,010,L,12.92,N,06.65,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110457,,,,00,*4E\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.388,N,02326.400,E,110458,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.59,N,06.48,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.32,N,04.29,K*59\r\n$IIVPW,2.16,N,,*04\r\n$IIVTG,227.58,T,227.58,M,2.22,N,,,D*66\r\n$IIMWV,353,R,14.77,N,A*23\r\n$IIVWT,009,L,12.55,N,06.46,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110500,,,,00,*4D\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.387,N,02326.398,E,110500,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.99,N,06.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.28,N,04.22,K*59\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,227.07,T,227.07,M,2.20,N,,,D*64\r\n$IIMWV,348,T,11.93,N,A*20\r\n$IIVWT,012,L,11.93,N,06.14,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110502,,,,00,*4F\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5959.387,N,02326.396,E,110502,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.25,N,04.16,K*53\r\n$IIVPW,2.13,N,,*01\r\n$IIVTG,227.52,T,227.52,M,2.18,N,,,D*6F\r\n$IIMWV,353,R,13.80,N,A*2C\r\n$IIVWT,009,L,11.60,N,05.97,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110504,,,,00,*49\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.386,N,02326.394,E,110504,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.24,N,04.14,K*50\r\n$IIVPW,2.20,N,,*01\r\n$IIVTG,228.36,T,228.36,M,2.19,N,,,D*6E\r\n$IIMWV,350,T,11.91,N,A*2B\r\n$IIVWT,010,L,11.91,N,06.13,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110506,,,,00,*4B\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.385,N,02326.392,E,110506,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.24,N,04.14,K*50\r\n$IIVPW,2.18,N,,*0A\r\n$IIVTG,229.41,T,229.41,M,2.20,N,,,D*64\r\n$IIMWV,355,R,14.38,N,A*2E\r\n$IIVWT,006,L,12.14,N,06.25,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110508,,,,00,*45\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.384,N,02326.390,E,110508,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.58,N,05.96,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.22,N,04.11,K*53\r\n$IIVPW,2.18,N,,*0A\r\n$IIVTG,231.00,T,231.00,M,2.15,N,,,D*62\r\n$IIMWV,351,T,11.97,N,A*2C\r\n$IIVWT,009,L,11.97,N,06.16,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110510,,,,00,*4C\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.384,N,02326.389,E,110510,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.06,N,05.69,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.20,N,04.07,K*56\r\n$IIVPW,2.13,N,,*01\r\n$IIVTG,231.60,T,231.60,M,2.09,N,,,D*6F\r\n$IIMWV,358,R,13.80,N,A*27\r\n$IIVWT,002,L,11.68,N,06.01,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110512,,,,00,*4E\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.383,N,02326.387,E,110512,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.66,N,06.00,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,231.50,T,231.50,M,2.10,N,,,D*67\r\n$IIMWV,352,T,11.70,N,A*26\r\n$IIVWT,009,L,11.70,N,06.02,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110514,,,,00,*48\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.382,N,02326.385,E,110514,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.68,N,06.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,231.75,T,231.75,M,2.15,N,,,D*62\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,013,L,11.68,N,06.01,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110516,,,,00,*4A\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.381,N,02326.382,E,110516,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.59,N,06.48,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,232.68,T,232.68,M,2.19,N,,,D*6E\r\n$IIMWV,356,T,12.57,N,A*24\r\n$IIVWT,004,L,12.57,N,06.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110518,,,,00,*44\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.381,N,02326.380,E,110518,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,2.22,N,,*03\r\n$IIVTG,232.89,T,232.89,M,2.20,N,,,D*64\r\n$IIMWV,351,R,16.71,N,A*25\r\n$IIVWT,010,L,14.50,N,07.46,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110520,,,,00,*4F\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.380,N,02326.379,E,110520,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,231.32,T,231.32,M,2.12,N,,,D*65\r\n$IIMWV,355,T,13.93,N,A*2E\r\n$IIVWT,005,L,13.93,N,07.17,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110522,,,,00,*4D\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.379,N,02326.377,E,110522,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,2.20,N,,*01\r\n$IIVTG,229.38,T,229.38,M,2.18,N,,,D*6F\r\n$IIMWV,002,R,15.74,N,A*26\r\n$IIVWT,002,R,13.49,N,06.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110524,,,,00,*4B\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.378,N,02326.375,E,110524,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.58,N,06.99,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,227.94,T,227.94,M,2.12,N,,,D*65\r\n$IIMWV,356,T,14.32,N,A*21\r\n$IIVWT,004,L,14.32,N,07.37,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110526,,,,00,*49\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.378,N,02326.373,E,110526,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.60,N,07.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,227.88,T,227.88,M,2.11,N,,,D*66\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,014,L,13.04,N,06.71,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110528,,,,00,*47\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.377,N,02326.372,E,110528,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.29,N,06.84,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,229.07,T,229.07,M,2.03,N,,,D*65\r\n$IIMWV,350,T,14.11,N,A*26\r\n$IIVWT,010,L,14.11,N,07.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110530,,,,00,*4E\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.376,N,02326.370,E,110531,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.11,N,03.90,K*5D\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,230.79,T,230.79,M,2.01,N,,,D*67\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,001,R,13.21,N,06.80,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110532,,,,00,*4C\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.375,N,02326.368,E,110533,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.75,N,06.56,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.10,N,03.88,K*55\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,231.12,T,231.12,M,2.03,N,,,D*65\r\n$IIMWV,360,T,12.32,N,A*22\r\n$IIVWT,001,L,12.32,N,06.34,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110534,,,,00,*4A\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.375,N,02326.367,E,110535,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.03,N,07.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.09,N,03.87,K*52\r\n$IIVPW,2.07,N,,*04\r\n$IIVTG,230.03,T,230.03,M,2.08,N,,,D*6E\r\n$IIMWV,357,R,16.13,N,A*27\r\n$IIVWT,004,L,14.05,N,07.23,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110536,,,,00,*48\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.374,N,02326.365,E,110537,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.08,N,03.85,K*51\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,229.43,T,229.43,M,2.10,N,,,D*67\r\n$IIMWV,357,T,12.36,N,A*22\r\n$IIVWT,003,L,12.36,N,06.36,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110538,,,,00,*46\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.373,N,02326.363,E,110539,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.35,N,06.87,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,228.26,T,228.26,M,2.10,N,,,D*67\r\n$IIMWV,354,R,15.16,N,A*22\r\n$IIVWT,007,L,13.14,N,06.76,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110540,,,,00,*49\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.372,N,02326.361,E,110541,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.29,N,06.84,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,228.97,T,228.97,M,2.02,N,,,D*64\r\n$IIMWV,356,T,13.70,N,A*20\r\n$IIVWT,004,L,13.70,N,07.05,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110543,,,,00,*4A\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.372,N,02326.360,E,110543,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,229.21,T,229.21,M,2.01,N,,,D*67\r\n$IIMWV,353,R,15.35,N,A*24\r\n$IIVWT,008,L,13.29,N,06.84,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110545,,,,00,*4C\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.371,N,02326.358,E,110545,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.08,N,06.73,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,228.68,T,228.68,M,1.93,N,,,D*6F\r\n$IIMWV,347,T,13.21,N,A*24\r\n$IIVWT,013,L,13.21,N,06.80,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110547,,,,00,*4E\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.370,N,02326.357,E,110547,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,227.42,T,227.42,M,1.98,N,,,D*64\r\n$IIMWV,355,R,15.16,N,A*23\r\n$IIVWT,006,L,13.04,N,06.71,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110549,,,,00,*40\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.369,N,02326.355,E,110549,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,226.68,T,226.68,M,2.00,N,,,D*66\r\n$IIMWV,352,T,14.46,N,A*26\r\n$IIVWT,008,L,14.46,N,07.44,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110551,,,,00,*49\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.369,N,02326.353,E,110551,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.65,N,07.54,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,227.14,T,227.14,M,2.07,N,,,D*61\r\n$IIMWV,350,R,15.74,N,A*22\r\n$IIVWT,011,L,13.76,N,07.08,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110553,,,,00,*4B\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.368,N,02326.352,E,110553,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.37,N,06.88,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,229.09,T,229.09,M,2.02,N,,,D*64\r\n$IIMWV,346,T,13.17,N,A*20\r\n$IIVWT,014,L,13.17,N,06.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110555,,,,00,*4D\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.367,N,02326.350,E,110555,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,230.70,T,230.70,M,2.00,N,,,D*66\r\n$IIMWV,353,R,16.13,N,A*23\r\n$IIVWT,008,L,14.15,N,07.28,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110557,,,,00,*4F\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.367,N,02326.348,E,110557,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,230.90,T,230.90,M,1.93,N,,,D*6F\r\n$IIMWV,357,T,13.68,N,A*28\r\n$IIVWT,003,L,13.68,N,07.04,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110559,,,,00,*41\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.366,N,02326.346,E,110559,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.39,N,06.89,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,228.66,T,228.66,M,1.92,N,,,D*6E\r\n$IIMWV,000,R,16.52,N,A*23\r\n$IIVWT,000,R,14.50,N,07.46,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110601,,,,00,*4F\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.365,N,02326.344,E,110601,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,227.89,T,227.89,M,1.95,N,,,D*69\r\n$IIMWV,359,T,14.59,N,A*23\r\n$IIVWT,001,L,14.59,N,07.51,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110603,,,,00,*4D\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.364,N,02326.343,E,110603,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.74,N,07.07,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,228.00,T,228.00,M,1.99,N,,,D*65\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,001,L,13.78,N,07.09,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110605,,,,00,*4B\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.363,N,02326.341,E,110605,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.84,N,07.12,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,228.47,T,228.47,M,1.92,N,,,D*6E\r\n$IIMWV,355,T,14.17,N,A*25\r\n$IIVWT,005,L,14.17,N,07.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110607,,,,00,*49\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.363,N,02326.339,E,110607,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.37,N,06.88,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,229.52,T,229.52,M,1.93,N,,,D*6F\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,001,R,13.45,N,06.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110609,,,,00,*47\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.362,N,02326.338,E,110609,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.80,N,06.59,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,228.51,T,228.51,M,1.88,N,,,D*65\r\n$IIMWV,360,T,13.47,N,A*21\r\n$IIVWT,000,L,13.47,N,06.93,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110611,,,,00,*4E\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.361,N,02326.336,E,110611,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,227.40,T,227.40,M,1.90,N,,,D*6C\r\n$IIMWV,001,R,14.19,N,A*2F\r\n$IIVWT,001,R,12.28,N,06.32,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110613,,,,00,*4C\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.361,N,02326.335,E,110614,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.48,N,05.91,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,225.97,T,225.97,M,1.95,N,,,D*69\r\n$IIMWV,005,T,12.20,N,A*21\r\n$IIVWT,005,R,12.20,N,06.28,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110615,,,,00,*4A\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.360,N,02326.333,E,110616,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,225.45,T,225.45,M,1.94,N,,,D*68\r\n$IIMWV,008,R,15.74,N,A*2C\r\n$IIVWT,010,R,13.74,N,07.07,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110617,,,,00,*48\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.359,N,02326.332,E,110618,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,225.63,T,225.63,M,1.91,N,,,D*6D\r\n$IIMWV,014,T,14.55,N,A*25\r\n$IIVWT,014,R,14.55,N,07.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110619,,,,00,*46\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.359,N,02326.330,E,110620,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.18,N,07.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,225.18,T,225.18,M,1.85,N,,,D*68\r\n$IIMWV,010,R,17.49,N,A*29\r\n$IIVWT,012,R,14.96,N,07.70,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110621,,,,00,*4D\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.358,N,02326.329,E,110622,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.55,N,08.00,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,224.04,T,224.04,M,1.86,N,,,D*6B\r\n$IIMWV,013,T,15.74,N,A*20\r\n$IIVWT,013,R,15.74,N,08.10,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110623,,,,00,*4F\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.357,N,02326.328,E,110624,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.97,N,03.64,K*5B\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,223.18,T,223.18,M,1.87,N,,,D*6A\r\n$IIMWV,003,R,16.71,N,A*21\r\n$IIVWT,003,R,14.79,N,07.61,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110626,,,,00,*4A\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.356,N,02326.326,E,110626,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.06,N,07.75,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.96,N,03.63,K*5D\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,223.22,T,223.22,M,1.89,N,,,D*64\r\n$IIMWV,007,T,14.57,N,A*25\r\n$IIVWT,007,R,14.57,N,07.50,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110628,,,,00,*44\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.356,N,02326.325,E,110628,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,225.48,T,225.48,M,1.92,N,,,D*6E\r\n$IIMWV,007,R,15.16,N,A*27\r\n$IIVWT,008,R,13.21,N,06.80,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110630,,,,00,*4D\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.355,N,02326.323,E,110630,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,226.90,T,226.90,M,1.91,N,,,D*6D\r\n$IIMWV,001,T,13.25,N,A*21\r\n$IIVWT,001,R,13.25,N,06.82,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110632,,,,00,*4F\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.354,N,02326.322,E,110632,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.19,N,07.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,228.32,T,228.32,M,1.85,N,,,D*68\r\n$IIMWV,002,R,16.13,N,A*24\r\n$IIVWT,002,R,14.15,N,07.28,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110634,,,,00,*49\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.354,N,02326.320,E,110634,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,228.41,T,228.41,M,1.81,N,,,D*6C\r\n$IIMWV,352,T,13.47,N,A*20\r\n$IIVWT,008,L,13.47,N,06.93,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110636,,,,00,*4B\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.353,N,02326.319,E,110636,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.24,N,07.33,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,228.58,T,228.58,M,1.80,N,,,D*6D\r\n$IIMWV,359,R,15.35,N,A*2E\r\n$IIVWT,001,L,13.41,N,06.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110638,,,,00,*45\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.352,N,02326.316,E,110638,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.40,N,06.38,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,229.29,T,229.29,M,1.85,N,,,D*68\r\n$IIMWV,359,T,12.36,N,A*2C\r\n$IIVWT,002,L,12.36,N,06.36,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110640,,,,00,*4A\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.351,N,02326.314,E,110640,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.77,N,06.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,231.22,T,231.22,M,1.89,N,,,D*64\r\n$IIMWV,360,R,14.19,N,A*2B\r\n$IIVWT,000,L,12.24,N,06.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110642,,,,00,*48\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.351,N,02326.313,E,110642,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.97,N,03.64,K*5B\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,232.03,T,232.03,M,1.95,N,,,D*69\r\n$IIMWV,346,T,11.77,N,A*24\r\n$IIVWT,014,L,11.77,N,06.06,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110644,,,,00,*4E\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.350,N,02326.311,E,110644,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,2.03,N,,*00\r\n$IIVTG,233.08,T,233.08,M,1.91,N,,,D*6D\r\n$IIMWV,357,R,14.19,N,A*2F\r\n$IIVWT,004,L,12.11,N,06.23,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110646,,,,00,*4C\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.349,N,02326.309,E,110646,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.65,N,06.51,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.00,N,03.70,K*53\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,233.15,T,233.15,M,1.98,N,,,D*64\r\n$IIMWV,359,T,12.65,N,A*2A\r\n$IIVWT,001,L,12.65,N,06.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110648,,,,00,*42\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.349,N,02326.308,E,110648,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,233.19,T,233.19,M,1.99,N,,,D*65\r\n$IIMWV,354,R,14.38,N,A*2F\r\n$IIVWT,007,L,12.30,N,06.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110650,,,,00,*4B\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.348,N,02326.306,E,110650,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.06,N,03.81,K*5B\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,233.49,T,233.49,M,2.07,N,,,D*61\r\n$IIMWV,351,T,13.35,N,A*26\r\n$IIVWT,009,L,13.35,N,06.87,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110652,,,,00,*49\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.348,N,02326.304,E,110652,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,234.17,T,234.17,M,2.02,N,,,D*64\r\n$IIMWV,353,R,13.80,N,A*2C\r\n$IIVWT,008,L,11.72,N,06.03,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110654,,,,00,*4F\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.347,N,02326.302,E,110654,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.75,N,06.56,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,234.42,T,234.42,M,2.00,N,,,D*66\r\n$IIMWV,352,T,13.12,N,A*20\r\n$IIVWT,008,L,13.12,N,06.75,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110656,,,,00,*4D\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.346,N,02326.300,E,110657,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,234.15,T,234.15,M,2.00,N,,,D*66\r\n$IIMWV,358,R,15.16,N,A*2E\r\n$IIVWT,002,L,13.12,N,06.75,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110658,,,,00,*43\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.346,N,02326.299,E,110659,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.33,N,06.86,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,233.16,T,233.16,M,2.00,N,,,D*66\r\n$IIMWV,016,T,12.77,N,A*21\r\n$IIVWT,016,R,12.77,N,06.57,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110700,,,,00,*4F\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.345,N,02326.297,E,110701,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.35,N,05.84,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,232.19,T,232.19,M,2.00,N,,,D*66\r\n$IIMWV,012,R,14.38,N,A*2E\r\n$IIVWT,014,R,12.38,N,06.37,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110702,,,,00,*4D\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.344,N,02326.295,E,110703,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.37,N,06.88,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,231.72,T,231.72,M,2.08,N,,,D*6E\r\n$IIMWV,018,T,15.43,N,A*2F\r\n$IIVWT,018,R,15.43,N,07.94,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110704,,,,00,*4B\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.343,N,02326.294,E,110705,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.65,N,08.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,231.10,T,231.10,M,2.09,N,,,D*6F\r\n$IIMWV,018,R,18.46,N,A*21\r\n$IIVWT,020,R,16.52,N,08.50,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110707,,,,00,*48\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.343,N,02326.292,E,110707,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.64,N,08.05,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.08,N,03.85,K*51\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,230.63,T,230.63,M,2.10,N,,,D*67\r\n$IIMWV,016,T,16.05,N,A*20\r\n$IIVWT,016,R,16.05,N,08.26,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110709,,,,00,*46\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.342,N,02326.290,E,110709,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.18,N,07.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.06,N,03.81,K*5B\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,229.23,T,229.23,M,1.97,N,,,D*6B\r\n$IIMWV,013,R,16.71,N,A*20\r\n$IIVWT,014,R,14.81,N,07.62,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110711,,,,00,*4F\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.341,N,02326.289,E,110711,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.37,N,06.88,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,225.91,T,225.91,M,1.92,N,,,D*6E\r\n$IIMWV,022,T,12.28,N,A*2C\r\n$IIVWT,022,R,12.28,N,06.32,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110713,,,,00,*4D\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.340,N,02326.288,E,110713,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.24,N,07.33,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,223.65,T,223.65,M,1.90,N,,,D*6C\r\n$IIMWV,014,R,16.52,N,A*26\r\n$IIVWT,016,R,14.65,N,07.54,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110715,,,,00,*4B\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.340,N,02326.286,E,110715,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.13,N,07.27,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.97,N,03.64,K*5B\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,224.34,T,224.34,M,1.95,N,,,D*69\r\n$IIMWV,004,T,15.10,N,A*24\r\n$IIVWT,004,R,15.10,N,07.77,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110717,,,,00,*49\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.339,N,02326.284,E,110717,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.96,N,03.63,K*5D\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,225.31,T,225.31,M,1.91,N,,,D*6D\r\n$IIMWV,004,R,16.52,N,A*27\r\n$IIVWT,004,R,14.53,N,07.48,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110719,,,,00,*47\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.338,N,02326.283,E,110719,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.20,N,07.31,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,226.98,T,226.98,M,1.90,N,,,D*6C\r\n$IIMWV,008,T,14.55,N,A*28\r\n$IIVWT,008,R,14.55,N,07.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110721,,,,00,*4C\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.337,N,02326.281,E,110721,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.27,N,06.83,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,227.54,T,227.54,M,1.78,N,,,D*6A\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,003,L,12.84,N,06.61,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110723,,,,00,*4E\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.337,N,02326.280,E,110723,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,226.07,T,226.07,M,1.80,N,,,D*6D\r\n$IIMWV,360,T,14.20,N,A*27\r\n$IIVWT,000,L,14.20,N,07.31,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110725,,,,00,*48\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.336,N,02326.278,E,110725,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,226.39,T,226.39,M,1.85,N,,,D*68\r\n$IIMWV,010,R,14.38,N,A*2C\r\n$IIVWT,012,R,12.55,N,06.46,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110727,,,,00,*4A\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.335,N,02326.277,E,110727,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.51,N,06.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,227.35,T,227.35,M,1.84,N,,,D*69\r\n$IIMWV,360,T,12.46,N,A*21\r\n$IIVWT,001,L,12.46,N,06.41,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110729,,,,00,*44\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.335,N,02326.275,E,110729,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,229.11,T,229.11,M,1.81,N,,,D*6C\r\n$IIMWV,357,R,13.80,N,A*28\r\n$IIVWT,004,L,11.89,N,06.12,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110731,,,,00,*4D\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.334,N,02326.274,E,110731,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,229.18,T,229.18,M,1.78,N,,,D*6A\r\n$IIMWV,006,T,12.46,N,A*22\r\n$IIVWT,006,R,12.46,N,06.41,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110733,,,,00,*4F\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.333,N,02326.272,E,110733,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.68,N,06.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,227.40,T,227.40,M,1.69,N,,,D*6A\r\n$IIMWV,005,R,13.80,N,A*2C\r\n$IIVWT,006,R,12.05,N,06.20,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110735,,,,00,*49\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.333,N,02326.271,E,110735,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.54,N,05.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,227.35,T,227.35,M,1.70,N,,,D*62\r\n$IIMWV,000,T,10.65,N,A*27\r\n$IIVWT,000,R,10.65,N,05.48,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110737,,,,00,*4B\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.332,N,02326.270,E,110737,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,227.54,T,227.54,M,1.67,N,,,D*64\r\n$IIMWV,358,R,12.44,N,A*2E\r\n$IIVWT,002,L,10.76,N,05.54,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110739,,,,00,*45\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.331,N,02326.268,E,110740,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.92,N,05.62,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,227.26,T,227.26,M,1.64,N,,,D*67\r\n$IIMWV,348,T,10.32,N,A*2A\r\n$IIVWT,013,L,10.32,N,05.31,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110741,,,,00,*4A\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.331,N,02326.267,E,110742,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.43,N,05.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,227.29,T,227.29,M,1.61,N,,,D*62\r\n$IIMWV,354,R,11.46,N,A*23\r\n$IIVWT,007,L,09.83,N,05.06,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110743,,,,00,*48\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.330,N,02326.266,E,110744,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.22,N,06.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.53,N,,*06\r\n$IIVTG,227.95,T,227.95,M,1.55,N,,,D*65\r\n$IIMWV,000,T,13.15,N,A*23\r\n$IIVWT,000,R,13.15,N,06.77,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110745,,,,00,*4E\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.330,N,02326.264,E,110746,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,229.16,T,229.16,M,1.51,N,,,D*61\r\n$IIMWV,357,R,13.21,N,A*23\r\n$IIVWT,003,L,11.60,N,05.97,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110747,,,,00,*4C\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.329,N,02326.263,E,110748,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,229.89,T,229.89,M,1.50,N,,,D*60\r\n$IIMWV,348,T,11.83,N,A*21\r\n$IIVWT,012,L,11.83,N,06.09,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110750,,,,00,*4A\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5959.329,N,02326.262,E,110750,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.56,N,06.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.62,N,03.00,K*53\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,231.70,T,231.70,M,1.58,N,,,D*68\r\n$IIMWV,001,R,15.74,N,A*25\r\n$IIVWT,001,R,14.01,N,07.21,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110752,,,,00,*48\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.328,N,02326.260,E,110752,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.80,N,08.13,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,233.20,T,233.20,M,1.59,N,,,D*69\r\n$IIMWV,351,T,16.77,N,A*25\r\n$IIVWT,009,L,16.77,N,08.63,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110754,,,,00,*4E\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.328,N,02326.259,E,110754,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,234.62,T,234.62,M,1.60,N,,,D*63\r\n$IIMWV,353,R,14.77,N,A*23\r\n$IIVWT,008,L,12.98,N,06.68,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110756,,,,00,*4C\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.327,N,02326.257,E,110756,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.23,N,06.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,234.95,T,234.95,M,1.67,N,,,D*64\r\n$IIMWV,358,T,12.32,N,A*29\r\n$IIVWT,002,L,12.32,N,06.34,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110758,,,,00,*42\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.327,N,02326.255,E,110758,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.09,N,06.22,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,234.64,T,234.64,M,1.82,N,,,D*6F\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,001,L,12.20,N,06.28,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110800,,,,00,*40\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.326,N,02326.254,E,110800,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.25,N,05.79,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.97,N,03.64,K*5B\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,233.16,T,233.16,M,1.95,N,,,D*69\r\n$IIMWV,009,T,11.07,N,A*2B\r\n$IIVWT,009,R,11.07,N,05.70,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110802,,,,00,*42\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.325,N,02326.252,E,110802,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.65,N,06.51,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.00,N,03.70,K*53\r\n$IIVPW,2.07,N,,*04\r\n$IIVTG,231.56,T,231.56,M,2.01,N,,,D*67\r\n$IIMWV,360,R,14.38,N,A*28\r\n$IIVWT,000,L,12.32,N,06.34,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110804,,,,00,*44\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.324,N,02326.249,E,110804,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,232.31,T,232.31,M,2.06,N,,,D*60\r\n$IIMWV,002,T,10.65,N,A*25\r\n$IIVWT,002,R,10.65,N,05.48,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110806,,,,00,*46\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.323,N,02326.248,E,110806,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.10,N,03.88,K*55\r\n$IIVPW,2.13,N,,*01\r\n$IIVTG,233.17,T,233.17,M,2.09,N,,,D*6F\r\n$IIMWV,359,R,13.80,N,A*26\r\n$IIVWT,001,L,11.54,N,05.94,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110808,,,,00,*48\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.323,N,02326.246,E,110808,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,2.26,N,,*07\r\n$IIVTG,234.02,T,234.02,M,2.17,N,,,D*60\r\n$IIMWV,353,T,11.87,N,A*2F\r\n$IIVWT,007,L,11.87,N,06.11,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110810,,,,00,*41\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.322,N,02326.244,E,110810,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.21,N,04.09,K*59\r\n$IIVPW,2.24,N,,*05\r\n$IIVTG,233.38,T,233.38,M,2.19,N,,,D*6E\r\n$IIMWV,348,R,14.77,N,A*29\r\n$IIVWT,015,L,12.51,N,06.44,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110812,,,,00,*43\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.321,N,02326.242,E,110812,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.26,N,04.18,K*5E\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,233.47,T,233.47,M,2.25,N,,,D*61\r\n$IIMWV,356,T,11.42,N,A*23\r\n$IIVWT,005,L,11.42,N,05.88,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110814,,,,00,*45\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.321,N,02326.240,E,110814,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.44,N,06.40,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.30,N,04.25,K*57\r\n$IIVPW,2.29,N,,*08\r\n$IIVTG,235.42,T,235.42,M,2.26,N,,,D*62\r\n$IIMWV,354,R,14.77,N,A*24\r\n$IIVWT,008,L,12.38,N,06.37,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110816,,,,00,*47\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.320,N,02326.238,E,110816,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.33,N,04.31,K*51\r\n$IIVPW,2.39,N,,*09\r\n$IIVTG,236.50,T,236.50,M,2.29,N,,,D*6D\r\n$IIMWV,354,T,12.01,N,A*25\r\n$IIVWT,006,L,12.01,N,06.18,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110818,,,,00,*49\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.319,N,02326.235,E,110818,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.10,N,05.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.35,N,04.35,K*53\r\n$IIVPW,2.30,N,,*00\r\n$IIVTG,237.45,T,237.45,M,2.30,N,,,D*65\r\n$IIMWV,354,R,12.05,N,A*27\r\n$IIVWT,008,L,09.64,N,04.96,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110820,,,,00,*42\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5959.318,N,02326.233,E,110820,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,2.43,N,,*04\r\n$IIVTG,237.49,T,237.49,M,2.32,N,,,D*67\r\n$IIMWV,001,T,12.03,N,A*24\r\n$IIVWT,001,R,12.03,N,06.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110822,,,,00,*40\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.318,N,02326.231,E,110823,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.82,N,07.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,235.97,T,235.97,M,2.38,N,,,D*6D\r\n$IIMWV,355,R,16.13,N,A*25\r\n$IIVWT,005,L,13.76,N,07.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110824,,,,00,*46\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.317,N,02326.229,E,110825,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.47,N,06.93,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.36,N,04.37,K*52\r\n$IIVPW,2.23,N,,*02\r\n$IIVTG,234.01,T,234.01,M,2.35,N,,,D*60\r\n$IIMWV,344,T,13.12,N,A*27\r\n$IIVWT,016,L,13.12,N,06.75,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110826,,,,00,*44\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.316,N,02326.227,E,110827,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.29,N,04.24,K*5E\r\n$IIVPW,2.07,N,,*04\r\n$IIVTG,233.00,T,233.00,M,2.26,N,,,D*62\r\n$IIMWV,348,R,15.35,N,A*2E\r\n$IIVWT,014,L,13.27,N,06.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110828,,,,00,*4A\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.315,N,02326.225,E,110829,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.21,N,04.09,K*59\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,233.03,T,233.03,M,2.14,N,,,D*63\r\n$IIMWV,349,T,13.21,N,A*2A\r\n$IIVWT,011,L,13.21,N,06.80,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110830,,,,00,*43\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.315,N,02326.224,E,110831,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.11,N,03.90,K*5D\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,233.31,T,233.31,M,2.04,N,,,D*62\r\n$IIMWV,351,R,14.19,N,A*29\r\n$IIVWT,010,L,12.28,N,06.32,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110833,,,,00,*40\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5959.314,N,02326.222,E,110833,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,233.98,T,233.98,M,1.93,N,,,D*6F\r\n$IIMWV,349,T,11.93,N,A*21\r\n$IIVWT,011,L,11.93,N,06.14,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110835,,,,00,*46\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.314,N,02326.220,E,110835,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.60,N,05.97,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,234.17,T,234.17,M,1.91,N,,,D*6D\r\n$IIMWV,350,R,13.41,N,A*22\r\n$IIVWT,012,L,11.66,N,06.00,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110837,,,,00,*44\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.313,N,02326.219,E,110837,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.49,N,06.43,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,234.11,T,234.11,M,1.83,N,,,D*6E\r\n$IIMWV,356,T,12.07,N,A*21\r\n$IIVWT,004,L,12.07,N,06.21,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110839,,,,00,*4A\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5959.313,N,02326.217,E,110839,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.07,N,06.21,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,234.03,T,234.03,M,1.76,N,,,D*64\r\n$IIMWV,355,R,13.41,N,A*27\r\n$IIVWT,006,L,11.79,N,06.07,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110841,,,,00,*45\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5959.312,N,02326.216,E,110841,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.67,N,06.52,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,233.98,T,233.98,M,1.66,N,,,D*65\r\n$IIMWV,357,T,13.12,N,A*25\r\n$IIVWT,003,L,13.12,N,06.75,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110843,,,,00,*47\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5959.312,N,02326.214,E,110843,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.22,N,06.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,233.77,T,233.77,M,1.62,N,,,D*61\r\n$IIMWV,356,R,13.80,N,A*29\r\n$IIVWT,004,L,12.22,N,06.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110845,,,,00,*41\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.311,N,02326.213,E,110845,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,233.56,T,233.56,M,1.60,N,,,D*63\r\n$IIMWV,358,T,11.91,N,A*23\r\n$IIVWT,002,L,11.91,N,06.13,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110847,,,,00,*43\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.310,N,02326.211,E,110847,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,232.71,T,232.71,M,1.60,N,,,D*63\r\n$IIMWV,004,R,12.44,N,A*24\r\n$IIVWT,004,R,10.94,N,05.63,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110849,,,,00,*4D\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.310,N,02326.210,E,110849,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.94,N,05.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.54,N,02.85,K*5A\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,231.35,T,231.35,M,1.53,N,,,D*63\r\n$IIMWV,013,T,10.98,N,A*27\r\n$IIVWT,013,R,10.98,N,05.65,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110851,,,,00,*44\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.309,N,02326.208,E,110851,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.36,N,05.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.51,N,02.79,K*5C\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,229.26,T,229.26,M,1.46,N,,,D*67\r\n$IIMWV,005,R,12.44,N,A*25\r\n$IIVWT,006,R,10.90,N,05.61,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110853,,,,00,*46\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.309,N,02326.207,E,110853,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.43,N,05.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,228.69,T,228.69,M,1.44,N,,,D*65\r\n$IIMWV,003,T,10.34,N,A*20\r\n$IIVWT,003,R,10.34,N,05.32,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110855,,,,00,*40\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.308,N,02326.206,E,110855,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,228.75,T,228.75,M,1.43,N,,,D*62\r\n$IIMWV,003,R,11.46,N,A*22\r\n$IIVWT,003,R,09.95,N,05.12,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110857,,,,00,*42\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.308,N,02326.205,E,110857,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.36,N,05.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,229.01,T,229.01,M,1.46,N,,,D*67\r\n$IIMWV,353,T,10.98,N,A*20\r\n$IIVWT,007,L,10.98,N,05.65,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110859,,,,00,*4C\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.307,N,02326.203,E,110859,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.35,N,05.84,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,229.01,T,229.01,M,1.49,N,,,D*68\r\n$IIMWV,356,R,12.44,N,A*20\r\n$IIVWT,005,L,10.94,N,05.63,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110901,,,,00,*40\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.306,N,02326.202,E,110901,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,229.55,T,229.55,M,1.50,N,,,D*60\r\n$IIMWV,357,T,10.53,N,A*23\r\n$IIVWT,003,L,10.53,N,05.42,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110903,,,,00,*42\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.306,N,02326.201,E,110903,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.61,N,05.46,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,229.49,T,229.49,M,1.45,N,,,D*64\r\n$IIMWV,350,R,11.85,N,A*28\r\n$IIVWT,012,L,10.43,N,05.37,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110905,,,,00,*44\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.305,N,02326.200,E,110906,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.95,N,05.12,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,230.05,T,230.05,M,1.46,N,,,D*67\r\n$IIMWV,341,T,10.06,N,A*24\r\n$IIVWT,019,L,10.06,N,05.18,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110907,,,,00,*46\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.305,N,02326.199,E,110908,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,231.01,T,231.01,M,1.47,N,,,D*66\r\n$IIMWV,356,R,14.19,N,A*2E\r\n$IIVWT,004,L,12.75,N,06.56,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110909,,,,00,*48\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.305,N,02326.197,E,110910,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.73,N,06.55,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,232.23,T,232.23,M,1.47,N,,,D*66\r\n$IIMWV,352,T,12.73,N,A*26\r\n$IIVWT,008,L,12.73,N,06.55,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110911,,,,00,*41\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.304,N,02326.196,E,110912,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.79,N,07.61,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,233.38,T,233.38,M,1.42,N,,,D*63\r\n$IIMWV,355,R,15.74,N,A*27\r\n$IIVWT,006,L,14.36,N,07.39,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110913,,,,00,*43\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5959.304,N,02326.195,E,110914,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.89,N,07.15,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,233.99,T,233.99,M,1.35,N,,,D*63\r\n$IIMWV,351,T,12.98,N,A*20\r\n$IIVWT,009,L,12.98,N,06.68,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110916,,,,00,*46\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.303,N,02326.194,E,110916,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,234.12,T,234.12,M,1.34,N,,,D*62\r\n$IIMWV,352,R,15.16,N,A*24\r\n$IIVWT,009,L,13.91,N,07.16,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110918,,,,00,*48\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.303,N,02326.192,E,110918,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,235.03,T,235.03,M,1.31,N,,,D*67\r\n$IIMWV,352,T,13.85,N,A*2E\r\n$IIVWT,008,L,13.85,N,07.13,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110920,,,,00,*43\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.303,N,02326.191,E,110920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.07,N,07.24,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,235.66,T,235.66,M,1.30,N,,,D*66\r\n$IIMWV,339,R,15.16,N,A*29\r\n$IIVWT,023,L,14.03,N,07.22,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110922,,,,00,*41\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.302,N,02326.190,E,110922,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.24,N,02.29,K*5B\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,234.89,T,234.89,M,1.23,N,,,D*64\r\n$IIMWV,351,T,13.17,N,A*26\r\n$IIVWT,009,L,13.17,N,06.78,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110924,,,,00,*47\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.302,N,02326.189,E,110924,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.59,N,07.51,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,232.75,T,232.75,M,1.21,N,,,D*66\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,002,L,14.55,N,07.49,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110926,,,,00,*45\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.301,N,02326.188,E,110926,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.52,N,08.50,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,231.74,T,231.74,M,1.20,N,,,D*67\r\n$IIMWV,349,T,16.36,N,A*29\r\n$IIVWT,012,L,16.36,N,08.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110928,,,,00,*4B\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.301,N,02326.187,E,110928,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.93,N,08.71,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,231.71,T,231.71,M,1.20,N,,,D*67\r\n$IIMWV,351,R,18.66,N,A*2D\r\n$IIVWT,010,L,17.49,N,09.00,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110930,,,,00,*42\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.300,N,02326.186,E,110930,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.51,N,09.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,233.30,T,233.30,M,1.13,N,,,D*67\r\n$IIMWV,001,T,16.36,N,A*26\r\n$IIVWT,001,R,16.36,N,08.42,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110932,,,,00,*40\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.300,N,02326.185,E,110932,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.71,N,09.63,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.08,N,,*08\r\n$IIVTG,234.58,T,234.58,M,1.11,N,,,D*65\r\n$IIMWV,348,R,19.82,N,A*2E\r\n$IIVWT,012,L,18.75,N,09.65,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110934,,,,00,*46\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.300,N,02326.184,E,110934,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.51,N,09.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.12,N,02.07,K*52\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,237.04,T,237.04,M,1.13,N,,,D*67\r\n$IIMWV,346,T,17.43,N,A*25\r\n$IIVWT,014,L,17.43,N,08.97,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110936,,,,00,*44\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.300,N,02326.182,E,110936,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.65,N,09.08,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,238.26,T,238.26,M,1.11,N,,,D*65\r\n$IIMWV,342,R,18.07,N,A*28\r\n$IIVWT,019,L,17.08,N,08.79,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110938,,,,00,*4A\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.299,N,02326.182,E,110938,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.46,N,08.47,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,238.99,T,238.99,M,1.03,N,,,D*66\r\n$IIMWV,345,T,15.49,N,A*2E\r\n$IIVWT,015,L,15.49,N,07.97,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110940,,,,00,*45\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.299,N,02326.181,E,110940,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.10,N,08.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.04,N,01.92,K*5A\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,239.19,T,239.19,M,0.93,N,,,D*6E\r\n$IIMWV,346,R,17.68,N,A*2A\r\n$IIVWT,014,L,16.71,N,08.60,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110942,,,,00,*47\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.299,N,02326.180,E,110942,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.82,N,08.14,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.99,N,01.83,K*5F\r\n$IIVPW,0.85,N,,*0C\r\n$IIVTG,240.47,T,240.47,M,0.91,N,,,D*6C\r\n$IIMWV,343,T,15.66,N,A*25\r\n$IIVWT,017,L,15.66,N,08.06,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110944,,,,00,*41\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.299,N,02326.179,E,110944,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.72,N,08.09,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.92,N,01.70,K*58\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,241.57,T,241.57,M,0.90,N,,,D*6D\r\n$IIMWV,352,R,16.13,N,A*22\r\n$IIVWT,009,L,15.25,N,07.85,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110946,,,,00,*43\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.298,N,02326.178,E,110947,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.22,N,08.86,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.89,N,01.64,K*57\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,243.39,T,243.39,M,0.90,N,,,D*6D\r\n$IIMWV,350,T,16.91,N,A*2C\r\n$IIVWT,010,L,16.91,N,08.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110948,,,,00,*4D\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.298,N,02326.177,E,110949,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.28,N,08.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.85,N,01.57,K*5B\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,244.30,T,244.30,M,0.88,N,,,D*64\r\n$IIMWV,342,R,17.49,N,A*2D\r\n$IIVWT,019,L,16.69,N,08.59,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110950,,,,00,*44\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.298,N,02326.176,E,110951,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.33,N,08.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.83,N,01.53,K*59\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,246.40,T,246.40,M,0.82,N,,,D*6E\r\n$IIMWV,343,T,16.36,N,A*23\r\n$IIVWT,017,L,16.36,N,08.42,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110952,,,,00,*46\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.298,N,02326.175,E,110953,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.93,N,08.20,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,247.25,T,247.25,M,0.78,N,,,D*6B\r\n$IIMWV,344,R,16.52,N,A*20\r\n$IIVWT,017,L,15.76,N,08.11,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110954,,,,00,*40\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.298,N,02326.175,E,110955,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,248.84,T,248.84,M,0.74,N,,,D*67\r\n$IIMWV,344,T,14.44,N,A*23\r\n$IIVWT,016,L,14.44,N,07.43,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110956,,,,00,*42\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.298,N,02326.174,E,110957,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.76,N,01.40,K*51\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,249.29,T,249.29,M,0.71,N,,,D*62\r\n$IIMWV,346,R,15.16,N,A*21\r\n$IIVWT,015,L,14.38,N,07.40,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,110959,,,,00,*4D\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.297,N,02326.173,E,110959,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,249.94,T,249.94,M,0.70,N,,,D*63\r\n$IIMWV,348,T,13.47,N,A*2B\r\n$IIVWT,012,L,13.47,N,06.93,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111001,,,,00,*48\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.297,N,02326.172,E,111001,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.86,N,01.59,K*56\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,249.48,T,249.48,M,0.83,N,,,D*6F\r\n$IIMWV,347,R,17.10,N,A*24\r\n$IIVWT,014,L,16.05,N,08.26,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111003,,,,00,*4A\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.297,N,02326.171,E,111003,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.52,N,08.50,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,248.45,T,248.45,M,1.01,N,,,D*64\r\n$IIMWV,350,T,15.93,N,A*2D\r\n$IIVWT,010,L,15.93,N,08.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111005,,,,00,*4C\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.297,N,02326.170,E,111005,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.13,N,07.27,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.04,N,01.92,K*5A\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,246.86,T,246.86,M,1.13,N,,,D*67\r\n$IIMWV,349,R,16.13,N,A*28\r\n$IIVWT,012,L,14.92,N,07.68,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111007,,,,00,*4E\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.296,N,02326.169,E,111007,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.25,N,07.85,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.14,N,02.11,K*53\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,244.36,T,244.36,M,1.18,N,,,D*6C\r\n$IIMWV,344,T,15.72,N,A*27\r\n$IIVWT,016,L,15.72,N,08.09,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111009,,,,00,*40\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.296,N,02326.168,E,111009,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.76,N,08.11,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.22,N,02.25,K*51\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,240.84,T,240.84,M,1.25,N,,,D*62\r\n$IIMWV,344,R,16.71,N,A*21\r\n$IIVWT,017,L,15.33,N,07.89,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111011,,,,00,*49\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.296,N,02326.167,E,111011,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.70,N,08.08,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,238.91,T,238.91,M,1.29,N,,,D*6E\r\n$IIMWV,354,T,16.27,N,A*25\r\n$IIVWT,007,L,16.27,N,08.37,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111013,,,,00,*4B\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.295,N,02326.165,E,111013,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.59,N,09.05,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,236.78,T,236.78,M,1.44,N,,,D*65\r\n$IIMWV,352,R,18.07,N,A*29\r\n$IIVWT,008,L,16.56,N,08.52,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111015,,,,00,*4D\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.294,N,02326.163,E,111015,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.96,N,07.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,236.47,T,236.47,M,1.53,N,,,D*63\r\n$IIMWV,348,T,15.99,N,A*2E\r\n$IIVWT,012,L,15.99,N,08.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111017,,,,00,*4F\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.294,N,02326.162,E,111017,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.92,N,07.68,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,235.79,T,235.79,M,1.58,N,,,D*68\r\n$IIMWV,355,R,16.13,N,A*25\r\n$IIVWT,006,L,14.52,N,07.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111019,,,,00,*41\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.293,N,02326.161,E,111019,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,235.27,T,235.27,M,1.60,N,,,D*63\r\n$IIMWV,349,T,16.17,N,A*2A\r\n$IIVWT,011,L,16.17,N,08.32,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111021,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.293,N,02326.159,E,111021,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,235.14,T,235.14,M,1.52,N,,,D*62\r\n$IIMWV,352,R,16.71,N,A*26\r\n$IIVWT,009,L,15.12,N,07.78,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111023,,,,00,*48\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.292,N,02326.158,E,111023,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.87,N,07.14,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,2.19,N,,*0B\r\n$IIVTG,235.26,T,235.26,M,1.51,N,,,D*61\r\n$IIMWV,352,T,14.07,N,A*23\r\n$IIVWT,008,L,14.07,N,07.24,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111025,,,,00,*4E\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.292,N,02326.157,E,111025,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.50,N,06.95,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,233.31,T,233.31,M,1.50,N,,,D*60\r\n$IIMWV,357,R,14.77,N,A*27\r\n$IIVWT,004,L,13.14,N,06.76,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111027,,,,00,*4C\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.291,N,02326.155,E,111027,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,230.93,T,230.93,M,1.58,N,,,D*68\r\n$IIMWV,007,T,13.12,N,A*23\r\n$IIVWT,007,R,13.12,N,06.75,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111029,,,,00,*42\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.291,N,02326.154,E,111030,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.57,N,06.47,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.66,N,03.07,K*50\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,228.93,T,228.93,M,1.67,N,,,D*64\r\n$IIMWV,002,R,14.19,N,A*2C\r\n$IIVWT,002,R,12.42,N,06.39,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111031,,,,00,*4B\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.290,N,02326.153,E,111032,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.65,N,06.51,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,226.98,T,226.98,M,1.69,N,,,D*6A\r\n$IIMWV,349,T,13.04,N,A*2D\r\n$IIVWT,011,L,13.04,N,06.71,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111033,,,,00,*49\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.289,N,02326.151,E,111034,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,225.09,T,225.09,M,1.70,N,,,D*62\r\n$IIMWV,353,R,15.35,N,A*24\r\n$IIVWT,008,L,13.60,N,07.00,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111035,,,,00,*4F\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.289,N,02326.150,E,111036,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.65,N,07.54,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,225.35,T,225.35,M,1.75,N,,,D*67\r\n$IIMWV,348,T,14.65,N,A*2C\r\n$IIVWT,012,L,14.65,N,07.54,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111037,,,,00,*4D\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.288,N,02326.149,E,111038,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,226.99,T,226.99,M,1.79,N,,,D*6B\r\n$IIMWV,350,R,16.71,N,A*24\r\n$IIVWT,011,L,14.81,N,07.62,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111039,,,,00,*43\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.288,N,02326.147,E,111040,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,228.87,T,228.87,M,1.85,N,,,D*68\r\n$IIMWV,359,T,14.52,N,A*28\r\n$IIVWT,001,L,14.52,N,07.47,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111042,,,,00,*4F\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.287,N,02326.145,E,111042,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.80,N,07.10,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,229.85,T,229.85,M,1.89,N,,,D*64\r\n$IIMWV,001,R,15.35,N,A*20\r\n$IIVWT,001,R,13.45,N,06.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111044,,,,00,*49\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.286,N,02326.144,E,111044,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,231.16,T,231.16,M,1.90,N,,,D*6C\r\n$IIMWV,355,T,13.37,N,A*20\r\n$IIVWT,005,L,13.37,N,06.88,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111046,,,,00,*4B\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.286,N,02326.142,E,111046,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,231.42,T,231.42,M,1.90,N,,,D*6C\r\n$IIMWV,357,R,16.13,N,A*27\r\n$IIVWT,003,L,14.11,N,07.26,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111048,,,,00,*45\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.285,N,02326.141,E,111048,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.23,N,06.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,230.25,T,230.25,M,1.90,N,,,D*6C\r\n$IIMWV,356,T,13.14,N,A*22\r\n$IIVWT,004,L,13.14,N,06.76,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111050,,,,00,*4C\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.284,N,02326.139,E,111050,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.97,N,03.64,K*5B\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,228.76,T,228.76,M,1.95,N,,,D*69\r\n$IIMWV,349,R,16.52,N,A*2D\r\n$IIVWT,012,L,14.57,N,07.50,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111052,,,,00,*4E\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.283,N,02326.137,E,111052,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.58,N,08.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,227.76,T,227.76,M,1.99,N,,,D*65\r\n$IIMWV,345,T,16.03,N,A*23\r\n$IIVWT,016,L,16.03,N,08.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111054,,,,00,*48\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.282,N,02326.135,E,111054,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.47,N,07.96,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,228.54,T,228.54,M,2.00,N,,,D*66\r\n$IIMWV,346,R,18.07,N,A*2C\r\n$IIVWT,016,L,16.03,N,08.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111056,,,,00,*4A\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.282,N,02326.133,E,111056,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.73,N,07.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,231.97,T,231.97,M,1.95,N,,,D*69\r\n$IIMWV,346,T,14.50,N,A*24\r\n$IIVWT,014,L,14.50,N,07.46,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111058,,,,00,*44\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.281,N,02326.131,E,111058,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.81,N,07.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,233.69,T,233.69,M,1.99,N,,,D*65\r\n$IIMWV,342,R,17.49,N,A*2D\r\n$IIVWT,020,L,15.51,N,07.98,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111100,,,,00,*48\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.281,N,02326.129,E,111100,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,234.08,T,234.08,M,2.00,N,,,D*66\r\n$IIMWV,343,T,13.19,N,A*2B\r\n$IIVWT,018,L,13.19,N,06.79,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111102,,,,00,*4A\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.280,N,02326.128,E,111102,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.73,N,06.55,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,233.07,T,233.07,M,2.00,N,,,D*66\r\n$IIMWV,352,R,16.52,N,A*27\r\n$IIVWT,010,L,14.42,N,07.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111104,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.279,N,02326.126,E,111104,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,233.51,T,233.51,M,2.00,N,,,D*66\r\n$IIMWV,353,T,13.84,N,A*2E\r\n$IIVWT,007,L,13.84,N,07.12,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111106,,,,00,*4E\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.279,N,02326.124,E,111106,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.47,N,08.99,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,233.73,T,233.73,M,2.00,N,,,D*66\r\n$IIMWV,346,R,19.82,N,A*20\r\n$IIVWT,016,L,17.84,N,09.18,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111108,,,,00,*40\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.278,N,02326.122,E,111108,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.71,N,08.60,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.00,N,03.70,K*53\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,235.13,T,235.13,M,1.95,N,,,D*69\r\n$IIMWV,337,T,17.18,N,A*2D\r\n$IIVWT,023,L,17.18,N,08.84,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111110,,,,00,*49\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.277,N,02326.120,E,111110,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.17,N,08.32,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,235.28,T,235.28,M,1.99,N,,,D*65\r\n$IIMWV,351,R,18.07,N,A*2A\r\n$IIVWT,011,L,16.03,N,08.25,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111112,,,,00,*4B\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.277,N,02326.119,E,111113,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.40,N,08.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,233.49,T,233.49,M,2.00,N,,,D*66\r\n$IIMWV,356,T,17.92,N,A*28\r\n$IIVWT,004,L,17.92,N,09.22,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111114,,,,00,*4D\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.276,N,02326.117,E,111115,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.98,N,08.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.03,N,03.75,K*55\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,231.13,T,231.13,M,1.97,N,,,D*6B\r\n$IIMWV,356,R,19.04,N,A*2F\r\n$IIVWT,004,L,16.91,N,08.70,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111116,,,,00,*4F\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.275,N,02326.115,E,111117,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.38,N,08.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.06,N,03.81,K*5B\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,229.28,T,229.28,M,1.99,N,,,D*65\r\n$IIMWV,345,T,16.38,N,A*2B\r\n$IIVWT,015,L,16.38,N,08.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111118,,,,00,*41\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.274,N,02326.114,E,111119,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.40,N,08.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,227.94,T,227.94,M,2.00,N,,,D*66\r\n$IIMWV,350,R,18.46,N,A*2E\r\n$IIVWT,012,L,16.46,N,08.47,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111120,,,,00,*4A\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.274,N,02326.112,E,111121,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.11,N,07.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,227.88,T,227.88,M,2.00,N,,,D*66\r\n$IIMWV,349,T,14.48,N,A*22\r\n$IIVWT,011,L,14.48,N,07.45,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111122,,,,00,*48\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.273,N,02326.110,E,111123,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.60,N,08.03,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,228.42,T,228.42,M,1.92,N,,,D*6E\r\n$IIMWV,355,R,18.07,N,A*2E\r\n$IIVWT,006,L,16.13,N,08.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111125,,,,00,*4F\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.272,N,02326.109,E,111125,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.11,N,08.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,229.63,T,229.63,M,1.91,N,,,D*6D\r\n$IIMWV,349,T,15.58,N,A*22\r\n$IIVWT,011,L,15.58,N,08.02,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111127,,,,00,*4D\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.272,N,02326.107,E,111127,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,230.36,T,230.36,M,1.83,N,,,D*6E\r\n$IIMWV,349,R,16.71,N,A*2C\r\n$IIVWT,012,L,14.85,N,07.64,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111129,,,,00,*43\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.271,N,02326.106,E,111129,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.66,N,08.06,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,230.19,T,230.19,M,1.88,N,,,D*65\r\n$IIMWV,346,T,15.16,N,A*27\r\n$IIVWT,014,L,15.16,N,07.80,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111131,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.271,N,02326.104,E,111131,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,229.77,T,229.77,M,1.82,N,,,D*6F\r\n$IIMWV,349,R,15.74,N,A*2A\r\n$IIVWT,012,L,13.87,N,07.14,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111133,,,,00,*48\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.270,N,02326.103,E,111133,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.79,N,07.61,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.84,N,,*0C\r\n$IIVTG,230.27,T,230.27,M,1.88,N,,,D*65\r\n$IIMWV,351,T,15.23,N,A*27\r\n$IIVWT,009,L,15.23,N,07.84,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111135,,,,00,*4E\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.269,N,02326.101,E,111135,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.78,N,08.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,230.77,T,230.77,M,1.82,N,,,D*6F\r\n$IIMWV,346,R,17.49,N,A*29\r\n$IIVWT,016,L,15.57,N,08.01,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111137,,,,00,*4C\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.268,N,02326.099,E,111137,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,231.39,T,231.39,M,1.81,N,,,D*6C\r\n$IIMWV,342,T,14.87,N,A*2A\r\n$IIVWT,018,L,14.87,N,07.65,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111139,,,,00,*42\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.268,N,02326.097,E,111139,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,231.00,T,231.00,M,1.79,N,,,D*6B\r\n$IIMWV,345,R,15.74,N,A*26\r\n$IIVWT,018,L,13.87,N,07.14,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111141,,,,00,*4D\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.267,N,02326.096,E,111141,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.20,N,08.85,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,229.47,T,229.47,M,1.80,N,,,D*6D\r\n$IIMWV,356,T,16.60,N,A*24\r\n$IIVWT,004,L,16.60,N,08.54,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111143,,,,00,*4F\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.266,N,02326.094,E,111143,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.84,N,08.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,228.94,T,228.94,M,1.77,N,,,D*65\r\n$IIMWV,352,R,17.49,N,A*2C\r\n$IIVWT,009,L,15.62,N,08.04,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111145,,,,00,*49\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.266,N,02326.093,E,111145,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.33,N,07.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,230.11,T,230.11,M,1.79,N,,,D*6B\r\n$IIMWV,351,T,14.69,N,A*28\r\n$IIVWT,009,L,14.69,N,07.56,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111147,,,,00,*4B\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.265,N,02326.091,E,111147,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,231.60,T,231.60,M,1.77,N,,,D*65\r\n$IIMWV,346,R,16.13,N,A*27\r\n$IIVWT,016,L,14.38,N,07.40,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111149,,,,00,*45\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.265,N,02326.090,E,111149,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.93,N,07.17,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,231.40,T,231.40,M,1.67,N,,,D*64\r\n$IIMWV,346,T,13.93,N,A*2C\r\n$IIVWT,014,L,13.93,N,07.17,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111151,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.264,N,02326.088,E,111151,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,230.87,T,230.87,M,1.74,N,,,D*66\r\n$IIMWV,346,R,15.16,N,A*21\r\n$IIVWT,016,L,13.25,N,06.82,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111153,,,,00,*4E\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.263,N,02326.087,E,111153,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.54,N,06.97,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,230.71,T,230.71,M,1.79,N,,,D*6B\r\n$IIMWV,344,T,13.37,N,A*20\r\n$IIVWT,016,L,13.37,N,06.88,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111155,,,,00,*48\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.263,N,02326.085,E,111156,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.50,N,06.95,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,229.63,T,229.63,M,1.85,N,,,D*68\r\n$IIMWV,347,R,15.35,N,A*21\r\n$IIVWT,015,L,13.41,N,06.90,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111157,,,,00,*4A\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.262,N,02326.084,E,111158,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.79,N,07.61,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,229.05,T,229.05,M,1.81,N,,,D*6C\r\n$IIMWV,355,T,15.53,N,A*24\r\n$IIVWT,005,L,15.53,N,07.99,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111159,,,,00,*44\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.262,N,02326.082,E,111200,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.44,N,08.46,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.98,N,,*01\r\n$IIVTG,229.57,T,229.57,M,1.80,N,,,D*6D\r\n$IIMWV,354,R,17.68,N,A*29\r\n$IIVWT,007,L,15.74,N,08.10,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111201,,,,00,*4A\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.261,N,02326.081,E,111202,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.78,N,08.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,230.02,T,230.02,M,1.80,N,,,D*6D\r\n$IIMWV,355,T,17.76,N,A*21\r\n$IIVWT,005,L,17.76,N,09.14,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111203,,,,00,*48\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.260,N,02326.079,E,111204,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.48,N,08.48,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,230.50,T,230.50,M,1.93,N,,,D*6F\r\n$IIMWV,350,R,19.43,N,A*2A\r\n$IIVWT,012,L,17.41,N,08.96,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111205,,,,00,*4E\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.259,N,02326.078,E,111206,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.04,N,08.77,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,230.13,T,230.13,M,1.96,N,,,D*6A\r\n$IIMWV,354,T,16.69,N,A*2F\r\n$IIVWT,006,L,16.69,N,08.59,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111208,,,,00,*43\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.259,N,02326.076,E,111208,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.71,N,08.60,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,230.28,T,230.28,M,1.94,N,,,D*68\r\n$IIMWV,351,R,19.43,N,A*2B\r\n$IIVWT,010,L,17.47,N,08.99,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111210,,,,00,*4A\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.258,N,02326.074,E,111210,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.70,N,09.11,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,230.02,T,230.02,M,1.86,N,,,D*6B\r\n$IIMWV,351,T,17.59,N,A*28\r\n$IIVWT,009,L,17.59,N,09.05,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111212,,,,00,*48\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.258,N,02326.073,E,111212,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.96,N,09.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,230.41,T,230.41,M,1.81,N,,,D*6C\r\n$IIMWV,349,R,19.04,N,A*21\r\n$IIVWT,013,L,17.31,N,08.91,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111214,,,,00,*4E\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.257,N,02326.071,E,111214,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.23,N,08.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,230.45,T,230.45,M,1.78,N,,,D*6A\r\n$IIMWV,343,T,16.28,N,A*2C\r\n$IIVWT,017,L,16.28,N,08.38,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111216,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.256,N,02326.070,E,111216,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.72,N,08.09,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,230.84,T,230.84,M,1.77,N,,,D*65\r\n$IIMWV,344,R,16.71,N,A*21\r\n$IIVWT,018,L,14.98,N,07.71,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111218,,,,00,*42\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.256,N,02326.069,E,111218,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.81,N,07.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,231.16,T,231.16,M,1.79,N,,,D*6B\r\n$IIMWV,341,T,14.85,N,A*2B\r\n$IIVWT,019,L,14.85,N,07.64,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111220,,,,00,*49\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.255,N,02326.066,E,111220,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.00,N,07.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.71,N,,*06\r\n$IIVTG,232.13,T,232.13,M,1.71,N,,,D*63\r\n$IIMWV,347,R,17.68,N,A*2B\r\n$IIVWT,015,L,15.95,N,08.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111222,,,,00,*4B\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.254,N,02326.065,E,111222,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.25,N,08.36,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,233.21,T,233.21,M,1.65,N,,,D*66\r\n$IIMWV,346,T,15.76,N,A*21\r\n$IIVWT,014,L,15.76,N,08.11,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111224,,,,00,*4D\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.254,N,02326.063,E,111224,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.96,N,07.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.71,N,,*06\r\n$IIVTG,233.38,T,233.38,M,1.66,N,,,D*65\r\n$IIMWV,343,R,16.13,N,A*22\r\n$IIVWT,019,L,14.48,N,07.45,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111226,,,,00,*4F\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.253,N,02326.062,E,111226,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,234.02,T,234.02,M,1.69,N,,,D*6A\r\n$IIMWV,341,T,14.09,N,A*2F\r\n$IIVWT,019,L,14.09,N,07.25,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111228,,,,00,*41\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.253,N,02326.060,E,111228,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.34,N,07.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,233.45,T,233.45,M,1.70,N,,,D*62\r\n$IIMWV,347,R,17.10,N,A*24\r\n$IIVWT,015,L,15.35,N,07.90,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111230,,,,00,*48\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.252,N,02326.059,E,111230,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,232.66,T,232.66,M,1.70,N,,,D*62\r\n$IIMWV,356,T,15.84,N,A*2D\r\n$IIVWT,004,L,15.84,N,08.15,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111232,,,,00,*4A\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.251,N,02326.057,E,111232,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.30,N,08.39,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,231.76,T,231.76,M,1.70,N,,,D*62\r\n$IIMWV,355,R,17.68,N,A*28\r\n$IIVWT,005,L,15.86,N,08.16,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111234,,,,00,*4C\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.251,N,02326.056,E,111234,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.91,N,07.16,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.79,N,03.31,K*5B\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,231.19,T,231.19,M,1.67,N,,,D*64\r\n$IIMWV,001,T,12.90,N,A*2E\r\n$IIVWT,001,R,12.90,N,06.64,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111236,,,,00,*4E\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.250,N,02326.054,E,111236,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,231.05,T,231.05,M,1.69,N,,,D*6A\r\n$IIMWV,352,R,15.74,N,A*20\r\n$IIVWT,009,L,13.95,N,07.18,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111238,,,,00,*40\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.250,N,02326.053,E,111239,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.93,N,07.17,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,232.06,T,232.06,M,1.77,N,,,D*65\r\n$IIMWV,008,T,13.84,N,A*23\r\n$IIVWT,008,R,13.84,N,07.12,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111240,,,,00,*4F\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.249,N,02326.051,E,111241,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,232.66,T,232.66,M,1.79,N,,,D*6B\r\n$IIMWV,349,R,14.38,N,A*23\r\n$IIVWT,013,L,12.46,N,06.41,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111242,,,,00,*4D\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.249,N,02326.049,E,111243,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.50,N,07.46,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,232.47,T,232.47,M,1.87,N,,,D*6A\r\n$IIMWV,357,T,15.53,N,A*26\r\n$IIVWT,003,L,15.53,N,07.99,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111244,,,,00,*4B\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.248,N,02326.048,E,111245,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.47,N,07.96,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,231.11,T,231.11,M,1.87,N,,,D*6A\r\n$IIMWV,360,R,17.49,N,A*2D\r\n$IIVWT,001,L,15.49,N,07.97,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111246,,,,00,*49\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.247,N,02326.046,E,111247,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.43,N,07.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,230.18,T,230.18,M,1.87,N,,,D*6A\r\n$IIMWV,356,T,15.60,N,A*27\r\n$IIVWT,004,L,15.60,N,08.03,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111248,,,,00,*47\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.247,N,02326.045,E,111249,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,229.94,T,229.94,M,1.89,N,,,D*64\r\n$IIMWV,356,R,17.10,N,A*24\r\n$IIVWT,005,L,14.96,N,07.70,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111250,,,,00,*4E\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.246,N,02326.043,E,111251,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.66,N,08.06,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.00,N,03.70,K*53\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,229.59,T,229.59,M,1.95,N,,,D*69\r\n$IIMWV,350,T,15.45,N,A*26\r\n$IIVWT,011,L,15.45,N,07.95,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111253,,,,00,*4D\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.245,N,02326.042,E,111253,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.03,N,07.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,228.90,T,228.90,M,1.99,N,,,D*65\r\n$IIMWV,354,R,15.74,N,A*26\r\n$IIVWT,007,L,13.58,N,06.99,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111255,,,,00,*4B\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.244,N,02326.040,E,111255,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.11,N,07.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,227.58,T,227.58,M,2.00,N,,,D*66\r\n$IIMWV,347,T,14.42,N,A*26\r\n$IIVWT,013,L,14.42,N,07.42,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111257,,,,00,*49\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.244,N,02326.038,E,111257,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.98,N,07.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.06,N,03.81,K*5B\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,226.71,T,226.71,M,1.97,N,,,D*6B\r\n$IIMWV,357,R,16.52,N,A*22\r\n$IIVWT,003,L,14.46,N,07.44,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111259,,,,00,*47\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.243,N,02326.037,E,111259,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.27,N,06.83,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,1.98,N,,*01\r\n$IIVTG,227.08,T,227.08,M,1.99,N,,,D*65\r\n$IIMWV,351,T,12.24,N,A*27\r\n$IIVWT,009,L,12.24,N,06.30,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111301,,,,00,*4B\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.242,N,02326.035,E,111301,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.32,N,06.34,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,2.03,N,,*00\r\n$IIVTG,227.40,T,227.40,M,2.00,N,,,D*66\r\n$IIMWV,355,R,14.77,N,A*25\r\n$IIVWT,006,L,12.63,N,06.50,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111303,,,,00,*49\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.241,N,02326.032,E,111303,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.04,N,06.71,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.09,N,03.87,K*52\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,230.14,T,230.14,M,2.09,N,,,D*6F\r\n$IIMWV,355,T,12.22,N,A*25\r\n$IIVWT,005,L,12.22,N,06.29,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111305,,,,00,*4F\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.240,N,02326.031,E,111305,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.61,N,06.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.12,N,03.92,K*5C\r\n$IIVPW,2.10,N,,*02\r\n$IIVTG,230.86,T,230.86,M,2.10,N,,,D*67\r\n$IIMWV,354,R,14.19,N,A*2C\r\n$IIVWT,008,L,12.03,N,06.19,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111307,,,,00,*4D\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.240,N,02326.029,E,111307,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.28,N,06.32,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.13,N,03.94,K*5B\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,229.66,T,229.66,M,2.10,N,,,D*67\r\n$IIMWV,352,T,13.00,N,A*23\r\n$IIVWT,008,L,13.00,N,06.69,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111309,,,,00,*43\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.239,N,02326.027,E,111309,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.34,N,07.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,2.11,N,,*03\r\n$IIVTG,228.04,T,228.04,M,2.05,N,,,D*63\r\n$IIMWV,349,R,16.13,N,A*28\r\n$IIVWT,013,L,13.97,N,07.19,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111311,,,,00,*4A\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.238,N,02326.026,E,111311,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.38,N,07.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,227.26,T,227.26,M,2.01,N,,,D*67\r\n$IIMWV,347,T,13.14,N,A*22\r\n$IIVWT,013,L,13.14,N,06.76,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111313,,,,00,*48\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.237,N,02326.024,E,111313,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.00,N,06.69,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,227.62,T,227.62,M,2.05,N,,,D*63\r\n$IIMWV,350,R,15.35,N,A*27\r\n$IIVWT,012,L,13.15,N,06.77,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111315,,,,00,*4E\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.237,N,02326.022,E,111315,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.69,N,06.53,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,229.40,T,229.40,M,2.14,N,,,D*63\r\n$IIMWV,340,T,12.67,N,A*20\r\n$IIVWT,020,L,12.67,N,06.52,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111317,,,,00,*4C\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.236,N,02326.020,E,111317,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.02,N,06.70,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,230.22,T,230.22,M,2.18,N,,,D*6F\r\n$IIMWV,346,R,14.77,N,A*27\r\n$IIVWT,016,L,12.63,N,06.50,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111319,,,,00,*42\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.235,N,02326.019,E,111319,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.12,N,06.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,2.22,N,,*03\r\n$IIVTG,229.88,T,229.88,M,2.15,N,,,D*62\r\n$IIMWV,346,T,12.22,N,A*27\r\n$IIVWT,014,L,12.22,N,06.29,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111321,,,,00,*49\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.234,N,02326.017,E,111321,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.19,N,04.05,K*5E\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,228.87,T,228.87,M,2.06,N,,,D*60\r\n$IIMWV,342,R,14.77,N,A*23\r\n$IIVWT,021,L,12.57,N,06.47,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111323,,,,00,*4B\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.234,N,02326.016,E,111324,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.24,N,04.14,K*50\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,228.24,T,228.24,M,2.02,N,,,D*64\r\n$IIMWV,329,T,11.81,N,A*24\r\n$IIVWT,031,L,11.81,N,06.08,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111325,,,,00,*4D\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.233,N,02326.014,E,111326,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.96,N,05.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.25,N,04.16,K*53\r\n$IIVPW,2.16,N,,*04\r\n$IIVTG,228.96,T,228.96,M,2.10,N,,,D*67\r\n$IIMWV,347,R,12.82,N,A*2A\r\n$IIVWT,017,L,10.53,N,05.42,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111327,,,,00,*4F\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.232,N,02326.012,E,111328,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.18,N,05.24,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.28,N,04.22,K*59\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,230.99,T,230.99,M,2.23,N,,,D*67\r\n$IIMWV,340,T,10.18,N,A*2A\r\n$IIVWT,020,L,10.18,N,05.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111329,,,,00,*41\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.231,N,02326.010,E,111330,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.66,N,04.97,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.32,N,04.29,K*59\r\n$IIVPW,2.28,N,,*09\r\n$IIVTG,230.17,T,230.17,M,2.28,N,,,D*6C\r\n$IIMWV,351,R,12.05,N,A*22\r\n$IIVWT,011,L,09.62,N,04.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111331,,,,00,*48\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.231,N,02326.008,E,111332,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.36,N,05.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,2.44,N,,*03\r\n$IIVTG,229.85,T,229.85,M,2.25,N,,,D*61\r\n$IIMWV,349,T,10.98,N,A*2B\r\n$IIVWT,011,L,10.98,N,05.65,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111333,,,,00,*4A\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.230,N,02326.006,E,111334,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.95,N,06.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,2.38,N,,*08\r\n$IIVTG,229.33,T,229.33,M,2.29,N,,,D*6D\r\n$IIMWV,354,R,13.80,N,A*2B\r\n$IIVWT,007,L,11.37,N,05.85,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111336,,,,00,*4F\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.229,N,02326.005,E,111336,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.74,N,06.04,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.40,N,04.44,K*57\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,227.76,T,227.76,M,2.30,N,,,D*65\r\n$IIMWV,336,T,11.11,N,A*23\r\n$IIVWT,024,L,11.11,N,05.72,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111338,,,,00,*41\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.228,N,02326.003,E,111338,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.45,N,04.53,K*54\r\n$IIVPW,2.52,N,,*04\r\n$IIVTG,227.29,T,227.29,M,2.42,N,,,D*60\r\n$IIMWV,351,R,13.80,N,A*2E\r\n$IIVWT,012,L,11.33,N,05.83,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111340,,,,00,*4E\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.227,N,02326.001,E,111340,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.97,N,06.16,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,227.30,T,227.30,M,2.36,N,,,D*63\r\n$IIMWV,349,T,12.44,N,A*28\r\n$IIVWT,011,L,12.44,N,06.40,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111342,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.226,N,02325.999,E,111342,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.21,N,05.77,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,227.90,T,227.90,M,2.26,N,,,D*62\r\n$IIMWV,349,R,12.82,N,A*24\r\n$IIVWT,013,L,10.63,N,05.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111344,,,,00,*4A\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.226,N,02325.997,E,111344,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.31,N,04.27,K*54\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,228.37,T,228.37,M,2.12,N,,,D*65\r\n$IIMWV,342,T,09.77,N,A*29\r\n$IIVWT,018,L,09.77,N,05.03,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111346,,,,00,*48\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.224,N,02325.995,E,111346,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.22,N,04.11,K*53\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,228.42,T,228.42,M,2.05,N,,,D*63\r\n$IIMWV,334,R,12.05,N,A*21\r\n$IIVWT,032,L,10.18,N,05.24,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111348,,,,00,*46\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.224,N,02325.993,E,111348,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,228.28,T,228.28,M,2.01,N,,,D*67\r\n$IIMWV,340,T,10.53,N,A*25\r\n$IIVWT,020,L,10.53,N,05.42,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111350,,,,00,*4F\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.223,N,02325.992,E,111350,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.41,N,05.87,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.10,N,03.88,K*55\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,228.14,T,228.14,M,1.95,N,,,D*69\r\n$IIMWV,342,R,12.82,N,A*2F\r\n$IIVWT,022,L,10.94,N,05.63,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111352,,,,00,*4D\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.222,N,02325.990,E,111352,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,228.94,T,228.94,M,1.84,N,,,D*69\r\n$IIMWV,331,T,10.12,N,A*26\r\n$IIVWT,030,L,10.12,N,05.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111354,,,,00,*4B\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.222,N,02325.988,E,111354,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,230.24,T,230.24,M,1.81,N,,,D*6C\r\n$IIMWV,344,R,12.82,N,A*29\r\n$IIVWT,020,L,10.92,N,05.62,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111356,,,,00,*49\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.221,N,02325.987,E,111356,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,231.28,T,231.28,M,1.80,N,,,D*6D\r\n$IIMWV,346,T,10.04,N,A*21\r\n$IIVWT,014,L,10.04,N,05.17,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111358,,,,00,*47\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.220,N,02325.985,E,111358,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,231.37,T,231.37,M,1.88,N,,,D*65\r\n$IIMWV,348,R,10.49,N,A*20\r\n$IIVWT,014,L,08.68,N,04.47,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111400,,,,00,*4D\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.220,N,02325.984,E,111400,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,232.44,T,232.44,M,1.87,N,,,D*6A\r\n$IIMWV,349,T,09.99,N,A*22\r\n$IIVWT,011,L,09.99,N,05.14,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111402,,,,00,*4F\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.219,N,02325.982,E,111402,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.22,N,05.26,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,234.46,T,234.46,M,1.82,N,,,D*6F\r\n$IIMWV,346,R,12.05,N,A*24\r\n$IIVWT,017,L,10.34,N,05.32,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111404,,,,00,*49\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.219,N,02325.980,E,111404,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.73,N,05.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,235.39,T,235.39,M,1.73,N,,,D*61\r\n$IIMWV,328,T,10.28,N,A*27\r\n$IIVWT,032,L,10.28,N,05.29,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111406,,,,00,*4B\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.218,N,02325.979,E,111407,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,235.12,T,235.12,M,1.71,N,,,D*63\r\n$IIMWV,341,R,11.46,N,A*27\r\n$IIVWT,023,L,09.73,N,05.01,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111408,,,,00,*45\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.218,N,02325.977,E,111409,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,232.55,T,232.55,M,1.70,N,,,D*62\r\n$IIMWV,337,T,10.12,N,A*20\r\n$IIVWT,023,L,10.12,N,05.21,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111410,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.217,N,02325.976,E,111411,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,229.66,T,229.66,M,1.78,N,,,D*6A\r\n$IIMWV,344,R,12.44,N,A*23\r\n$IIVWT,019,L,10.69,N,05.50,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111412,,,,00,*4E\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.216,N,02325.975,E,111413,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,227.44,T,227.44,M,1.74,N,,,D*66\r\n$IIMWV,344,T,09.31,N,A*2D\r\n$IIVWT,016,L,09.31,N,04.79,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111414,,,,00,*48\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.216,N,02325.973,E,111415,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.79,N,05.04,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,226.74,T,226.74,M,1.66,N,,,D*65\r\n$IIMWV,352,R,11.07,N,A*20\r\n$IIVWT,009,L,09.34,N,04.81,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111417,,,,00,*4B\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.215,N,02325.972,E,111417,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,227.23,T,227.23,M,1.62,N,,,D*61\r\n$IIMWV,335,T,11.21,N,A*23\r\n$IIVWT,025,L,11.21,N,05.77,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111419,,,,00,*45\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.215,N,02325.971,E,111419,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,228.13,T,228.13,M,1.60,N,,,D*63\r\n$IIMWV,341,R,13.41,N,A*22\r\n$IIVWT,022,L,11.87,N,06.11,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111421,,,,00,*4E\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.214,N,02325.969,E,111421,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.37,N,05.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,227.91,T,227.91,M,1.60,N,,,D*63\r\n$IIMWV,326,T,11.35,N,A*24\r\n$IIVWT,034,L,11.35,N,05.84,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111423,,,,00,*4C\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.213,N,02325.968,E,111423,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,227.10,T,227.10,M,1.68,N,,,D*6B\r\n$IIMWV,343,R,12.05,N,A*21\r\n$IIVWT,019,L,10.43,N,05.37,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111425,,,,00,*4A\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.213,N,02325.967,E,111425,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,228.40,T,228.40,M,1.69,N,,,D*6A\r\n$IIMWV,335,T,10.59,N,A*2D\r\n$IIVWT,025,L,10.59,N,05.45,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111427,,,,00,*48\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.212,N,02325.965,E,111427,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.24,N,05.27,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,230.42,T,230.42,M,1.65,N,,,D*66\r\n$IIMWV,337,R,13.21,N,A*25\r\n$IIVWT,026,L,11.62,N,05.98,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111429,,,,00,*46\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.211,N,02325.963,E,111429,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.82,N,05.57,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,231.90,T,231.90,M,1.61,N,,,D*62\r\n$IIMWV,345,T,11.13,N,A*25\r\n$IIVWT,015,L,11.13,N,05.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111431,,,,00,*4F\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.211,N,02325.962,E,111431,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,231.00,T,231.00,M,1.58,N,,,D*68\r\n$IIMWV,344,R,13.21,N,A*21\r\n$IIVWT,019,L,11.60,N,05.97,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111433,,,,00,*4D\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.210,N,02325.961,E,111433,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.66,N,06.00,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,228.85,T,228.85,M,1.64,N,,,D*67\r\n$IIMWV,337,T,11.27,N,A*27\r\n$IIVWT,023,L,11.27,N,05.80,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111435,,,,00,*4B\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.210,N,02325.959,E,111435,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.34,N,05.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.66,N,03.07,K*50\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,226.99,T,226.99,M,1.61,N,,,D*62\r\n$IIMWV,340,R,11.07,N,A*23\r\n$IIVWT,023,L,09.62,N,04.95,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111437,,,,00,*49\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.209,N,02325.958,E,111437,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,226.37,T,226.37,M,1.60,N,,,D*63\r\n$IIMWV,325,T,10.06,N,A*26\r\n$IIVWT,035,L,10.06,N,05.18,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111439,,,,00,*47\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.208,N,02325.957,E,111439,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.87,N,05.08,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,227.21,T,227.21,M,1.53,N,,,D*63\r\n$IIMWV,347,R,11.85,N,A*2E\r\n$IIVWT,015,L,10.22,N,05.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111441,,,,00,*48\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.208,N,02325.956,E,111441,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.62,N,03.00,K*53\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,228.18,T,228.18,M,1.51,N,,,D*61\r\n$IIMWV,335,T,09.64,N,A*2B\r\n$IIVWT,025,L,09.64,N,04.96,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111443,,,,00,*4A\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.207,N,02325.954,E,111443,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,228.24,T,228.24,M,1.50,N,,,D*60\r\n$IIMWV,341,R,10.49,N,A*29\r\n$IIVWT,022,L,09.03,N,04.65,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111445,,,,00,*4C\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.207,N,02325.953,E,111445,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,228.41,T,228.41,M,1.58,N,,,D*68\r\n$IIMWV,344,T,09.60,N,A*29\r\n$IIVWT,016,L,09.60,N,04.94,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111447,,,,00,*4E\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.206,N,02325.952,E,111447,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,228.05,T,228.05,M,1.59,N,,,D*69\r\n$IIMWV,341,R,11.85,N,A*28\r\n$IIVWT,022,L,10.26,N,05.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111449,,,,00,*40\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.205,N,02325.950,E,111450,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.88,N,05.60,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,228.39,T,228.39,M,1.60,N,,,D*63\r\n$IIMWV,333,T,10.63,N,A*22\r\n$IIVWT,028,L,10.63,N,05.47,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111451,,,,00,*49\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.205,N,02325.949,E,111452,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.53,N,,*06\r\n$IIVTG,229.89,T,229.89,M,1.52,N,,,D*62\r\n$IIMWV,343,R,11.07,N,A*20\r\n$IIVWT,020,L,09.50,N,04.89,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111453,,,,00,*4B\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.204,N,02325.948,E,111454,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.90,N,04.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,231.52,T,231.52,M,1.51,N,,,D*61\r\n$IIMWV,349,T,09.25,N,A*25\r\n$IIVWT,011,L,09.25,N,04.76,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111455,,,,00,*4D\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.204,N,02325.947,E,111456,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.55,N,05.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.48,N,,*0C\r\n$IIVTG,232.08,T,232.08,M,1.50,N,,,D*60\r\n$IIMWV,350,R,12.05,N,A*23\r\n$IIVWT,012,L,10.47,N,05.39,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111457,,,,00,*4F\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.203,N,02325.945,E,111458,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.25,N,05.79,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,230.97,T,230.97,M,1.58,N,,,D*68\r\n$IIMWV,339,T,10.82,N,A*27\r\n$IIVWT,021,L,10.82,N,05.57,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111500,,,,00,*4C\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.203,N,02325.944,E,111500,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.76,N,06.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,227.69,T,227.69,M,1.59,N,,,D*69\r\n$IIMWV,340,R,13.80,N,A*2E\r\n$IIVWT,022,L,12.42,N,06.39,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111502,,,,00,*4E\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.202,N,02325.943,E,111502,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.22,N,06.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,224.63,T,224.63,M,1.60,N,,,D*63\r\n$IIMWV,341,T,12.24,N,A*26\r\n$IIVWT,019,L,12.24,N,06.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111504,,,,00,*48\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.201,N,02325.942,E,111504,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.89,N,06.12,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,223.73,T,223.73,M,1.52,N,,,D*62\r\n$IIMWV,341,R,12.44,N,A*26\r\n$IIVWT,021,L,10.98,N,05.65,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111506,,,,00,*4A\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.201,N,02325.941,E,111506,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.44,N,05.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,223.98,T,223.98,M,1.51,N,,,D*61\r\n$IIMWV,328,T,13.06,N,A*28\r\n$IIVWT,032,L,13.06,N,06.72,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111508,,,,00,*44\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.200,N,02325.940,E,111508,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,225.02,T,225.02,M,1.45,N,,,D*64\r\n$IIMWV,345,R,13.21,N,A*20\r\n$IIVWT,017,L,11.70,N,06.02,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111510,,,,00,*4D\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.200,N,02325.938,E,111510,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.54,N,02.85,K*5A\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,225.35,T,225.35,M,1.49,N,,,D*68\r\n$IIMWV,336,T,12.77,N,A*20\r\n$IIVWT,024,L,12.77,N,06.57,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111512,,,,00,*4F\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.199,N,02325.937,E,111512,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,225.30,T,225.30,M,1.50,N,,,D*60\r\n$IIMWV,334,R,14.77,N,A*22\r\n$IIVWT,029,L,13.41,N,06.90,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111514,,,,00,*49\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.198,N,02325.936,E,111514,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,226.77,T,226.77,M,1.45,N,,,D*64\r\n$IIMWV,335,T,13.45,N,A*23\r\n$IIVWT,025,L,13.45,N,06.92,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111516,,,,00,*4B\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5959.198,N,02325.935,E,111516,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.48,N,07.45,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,229.39,T,229.39,M,1.34,N,,,D*62\r\n$IIMWV,330,R,15.35,N,A*21\r\n$IIVWT,033,L,14.17,N,07.29,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111518,,,,00,*45\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.198,N,02325.934,E,111518,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,230.92,T,230.92,M,1.31,N,,,D*67\r\n$IIMWV,335,T,13.15,N,A*26\r\n$IIVWT,025,L,13.15,N,06.77,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111520,,,,00,*4E\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.197,N,02325.932,E,111520,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,232.31,T,232.31,M,1.38,N,,,D*6E\r\n$IIMWV,338,R,14.38,N,A*25\r\n$IIVWT,024,L,13.19,N,06.79,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111522,,,,00,*4C\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.197,N,02325.931,E,111522,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,232.37,T,232.37,M,1.47,N,,,D*66\r\n$IIMWV,341,T,12.11,N,A*20\r\n$IIVWT,019,L,12.11,N,06.23,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111524,,,,00,*4A\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.196,N,02325.930,E,111524,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,231.92,T,231.92,M,1.47,N,,,D*66\r\n$IIMWV,343,R,15.35,N,A*25\r\n$IIVWT,019,L,14.13,N,07.27,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111526,,,,00,*48\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.196,N,02325.929,E,111526,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,231.75,T,231.75,M,1.34,N,,,D*62\r\n$IIMWV,340,T,14.38,N,A*2C\r\n$IIVWT,020,L,14.38,N,07.40,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111528,,,,00,*46\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.195,N,02325.928,E,111528,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.40,N,07.41,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,231.56,T,231.56,M,1.24,N,,,D*63\r\n$IIMWV,339,R,15.74,N,A*2D\r\n$IIVWT,024,L,14.42,N,07.42,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111530,,,,00,*4F\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.195,N,02325.927,E,111531,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,230.87,T,230.87,M,1.16,N,,,D*62\r\n$IIMWV,339,T,13.00,N,A*2E\r\n$IIVWT,021,L,13.00,N,06.69,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111532,,,,00,*4D\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.195,N,02325.926,E,111533,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,230.79,T,230.79,M,1.24,N,,,D*63\r\n$IIMWV,331,R,14.77,N,A*27\r\n$IIVWT,032,L,13.56,N,06.98,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111534,,,,00,*4B\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.194,N,02325.925,E,111535,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,230.02,T,230.02,M,1.28,N,,,D*6F\r\n$IIMWV,328,T,11.74,N,A*2F\r\n$IIVWT,032,L,11.74,N,06.04,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111536,,,,00,*49\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.194,N,02325.923,E,111537,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.22,N,06.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,230.41,T,230.41,M,1.30,N,,,D*66\r\n$IIMWV,332,R,13.80,N,A*2B\r\n$IIVWT,031,L,12.59,N,06.48,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111538,,,,00,*47\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.193,N,02325.922,E,111539,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.24,N,06.30,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,230.55,T,230.55,M,1.25,N,,,D*62\r\n$IIMWV,329,T,12.67,N,A*2F\r\n$IIVWT,031,L,12.67,N,06.52,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111540,,,,00,*48\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.193,N,02325.921,E,111541,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.60,N,05.97,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,232.21,T,232.21,M,1.21,N,,,D*66\r\n$IIMWV,337,R,12.44,N,A*27\r\n$IIVWT,025,L,11.25,N,05.79,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111543,,,,00,*4B\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.193,N,02325.920,E,111543,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.91,N,06.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,233.15,T,233.15,M,1.20,N,,,D*67\r\n$IIMWV,338,T,12.51,N,A*2A\r\n$IIVWT,022,L,12.51,N,06.44,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111545,,,,00,*4D\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.192,N,02325.919,E,111545,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,233.81,T,233.81,M,1.25,N,,,D*62\r\n$IIMWV,343,R,12.82,N,A*2E\r\n$IIVWT,019,L,11.54,N,05.94,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111547,,,,00,*4F\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.192,N,02325.918,E,111547,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.49,N,06.43,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,233.00,T,233.00,M,1.29,N,,,D*6E\r\n$IIMWV,335,T,13.49,N,A*2F\r\n$IIVWT,025,L,13.49,N,06.94,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111549,,,,00,*41\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.191,N,02325.917,E,111549,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,232.80,T,232.80,M,1.37,N,,,D*61\r\n$IIMWV,332,R,14.38,N,A*2F\r\n$IIVWT,031,L,13.12,N,06.75,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111551,,,,00,*48\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.191,N,02325.916,E,111551,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.89,N,06.12,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,232.10,T,232.10,M,1.34,N,,,D*62\r\n$IIMWV,335,T,11.58,N,A*2D\r\n$IIVWT,025,L,11.58,N,05.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111553,,,,00,*4A\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.190,N,02325.914,E,111553,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.50,N,05.92,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,231.86,T,231.86,M,1.31,N,,,D*67\r\n$IIMWV,356,R,12.82,N,A*2A\r\n$IIVWT,004,L,11.39,N,05.86,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111555,,,,00,*4C\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.190,N,02325.913,E,111555,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,231.11,T,231.11,M,1.30,N,,,D*66\r\n$IIMWV,342,T,10.74,N,A*22\r\n$IIVWT,018,L,10.74,N,05.53,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111557,,,,00,*4E\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.189,N,02325.912,E,111557,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.80,N,06.59,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,228.86,T,228.86,M,1.35,N,,,D*63\r\n$IIMWV,355,R,14.19,N,A*2D\r\n$IIVWT,006,L,12.88,N,06.63,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111559,,,,00,*40\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.189,N,02325.911,E,111559,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,226.57,T,226.57,M,1.39,N,,,D*6F\r\n$IIMWV,349,T,12.88,N,A*28\r\n$IIVWT,011,L,12.88,N,06.63,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111601,,,,00,*4E\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.188,N,02325.910,E,111601,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.43,N,05.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,224.91,T,224.91,M,1.37,N,,,D*61\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,011,L,11.09,N,05.71,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111603,,,,00,*4C\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.188,N,02325.909,E,111603,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,224.78,T,224.78,M,1.34,N,,,D*62\r\n$IIMWV,349,T,11.50,N,A*2E\r\n$IIVWT,011,L,11.50,N,05.92,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111605,,,,00,*4A\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.187,N,02325.908,E,111605,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,224.25,T,224.25,M,1.31,N,,,D*67\r\n$IIMWV,360,R,12.44,N,A*25\r\n$IIVWT,000,L,11.17,N,05.75,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111607,,,,00,*48\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.187,N,02325.907,E,111607,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.83,N,06.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,222.36,T,222.36,M,1.25,N,,,D*62\r\n$IIMWV,354,T,11.85,N,A*2A\r\n$IIVWT,006,L,11.85,N,06.10,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111609,,,,00,*46\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.186,N,02325.906,E,111609,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.83,N,06.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,219.24,T,219.24,M,1.34,N,,,D*62\r\n$IIMWV,352,R,13.41,N,A*20\r\n$IIVWT,009,L,12.07,N,06.21,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111611,,,,00,*4F\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.185,N,02325.905,E,111611,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,216.38,T,216.38,M,1.31,N,,,D*67\r\n$IIMWV,003,T,11.44,N,A*26\r\n$IIVWT,003,R,11.44,N,05.89,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111613,,,,00,*4D\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5959.185,N,02325.904,E,111614,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,214.95,T,214.95,M,1.35,N,,,D*63\r\n$IIMWV,357,R,12.44,N,A*21\r\n$IIVWT,003,L,11.00,N,05.66,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111615,,,,00,*4B\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5959.184,N,02325.903,E,111616,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.02,N,06.70,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,216.04,T,216.04,M,1.31,N,,,D*67\r\n$IIMWV,353,T,13.00,N,A*22\r\n$IIVWT,008,L,13.00,N,06.69,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111617,,,,00,*49\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.184,N,02325.902,E,111618,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.31,N,05.82,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,217.53,T,217.53,M,1.30,N,,,D*66\r\n$IIMWV,010,R,12.82,N,A*2B\r\n$IIVWT,012,R,11.39,N,05.86,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111619,,,,00,*47\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.183,N,02325.902,E,111620,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.94,N,05.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,216.66,T,216.66,M,1.30,N,,,D*66\r\n$IIMWV,360,T,11.04,N,A*24\r\n$IIVWT,000,L,11.04,N,05.68,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111621,,,,00,*4C\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.182,N,02325.901,E,111622,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.63,N,05.47,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,213.94,T,213.94,M,1.38,N,,,D*6E\r\n$IIMWV,003,R,12.05,N,A*26\r\n$IIVWT,003,R,10.55,N,05.43,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111623,,,,00,*4E\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.182,N,02325.900,E,111624,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.37,N,05.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,211.31,T,211.31,M,1.39,N,,,D*6F\r\n$IIMWV,004,T,11.74,N,A*22\r\n$IIVWT,004,R,11.74,N,06.04,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111626,,,,00,*4B\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.181,N,02325.900,E,111626,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.37,N,05.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,208.30,T,208.30,M,1.40,N,,,D*61\r\n$IIMWV,004,R,13.21,N,A*26\r\n$IIVWT,004,R,11.70,N,06.02,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111628,,,,00,*45\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5959.180,N,02325.899,E,111628,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.74,N,06.04,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.45,N,02.68,K*59\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,204.73,T,204.73,M,1.40,N,,,D*61\r\n$IIMWV,000,T,12.24,N,A*20\r\n$IIVWT,000,R,12.24,N,06.30,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111630,,,,00,*4C\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.180,N,02325.899,E,111630,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.74,N,06.04,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,202.03,T,202.03,M,1.40,N,,,A*64\r\n$IIMWV,004,R,13.41,N,A*20\r\n$IIVWT,005,R,11.87,N,06.11,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111632,,,,00,*4E\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.179,N,02325.898,E,111632,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,201.41,T,201.41,M,1.40,N,,,A*64\r\n$IIMWV,012,T,11.74,N,A*25\r\n$IIVWT,012,R,11.74,N,06.04,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111634,,,,00,*48\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5959.178,N,02325.898,E,111634,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.63,N,05.47,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,201.40,T,201.40,M,1.40,N,,,A*64\r\n$IIMWV,004,R,12.44,N,A*24\r\n$IIVWT,004,R,10.92,N,05.62,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111636,,,,00,*4A\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.177,N,02325.897,E,111636,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.55,N,05.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,201.55,T,201.55,M,1.40,N,,,A*64\r\n$IIMWV,007,T,10.39,N,A*29\r\n$IIVWT,007,R,10.39,N,05.35,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111638,,,,00,*44\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.176,N,02325.896,E,111638,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.56,N,04.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,201.91,T,201.91,M,1.40,N,,,A*64\r\n$IIMWV,359,R,11.07,N,A*2B\r\n$IIVWT,001,L,09.52,N,04.90,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111640,,,,00,*4B\r\n$IIDBT,018.20,f,005.55,M,002.99,F*2D\r\n$GPGLL,5959.176,N,02325.896,E,111640,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.58,N,04.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,202.93,T,202.93,M,1.40,N,,,A*64\r\n$IIMWV,350,T,10.49,N,A*2F\r\n$IIVWT,010,L,10.49,N,05.40,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111642,,,,00,*49\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.175,N,02325.895,E,111642,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.93,N,05.11,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,203.78,T,203.78,M,1.40,N,,,A*64\r\n$IIMWV,010,R,11.07,N,A*25\r\n$IIVWT,011,R,09.68,N,04.98,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111644,,,,00,*4F\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.174,N,02325.894,E,111644,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.40,N,04.84,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,204.27,T,204.27,M,1.42,N,,,A*66\r\n$IIMWV,346,T,08.63,N,A*29\r\n$IIVWT,014,L,08.63,N,04.44,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111646,,,,00,*4D\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.173,N,02325.893,E,111646,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,204.52,T,204.52,M,1.48,N,,,A*6C\r\n$IIMWV,357,R,10.10,N,A*22\r\n$IIVWT,004,L,08.61,N,04.43,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111648,,,,00,*43\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.173,N,02325.893,E,111648,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.51,N,02.79,K*5C\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,204.65,T,204.65,M,1.50,N,,,A*65\r\n$IIMWV,349,T,08.51,N,A*27\r\n$IIVWT,011,L,08.51,N,04.38,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111650,,,,00,*4A\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.172,N,02325.892,E,111650,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.45,N,05.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,204.59,T,204.59,M,1.50,N,,,A*65\r\n$IIMWV,002,R,12.05,N,A*27\r\n$IIVWT,002,R,10.45,N,05.38,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111652,,,,00,*48\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.171,N,02325.891,E,111652,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.70,N,06.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,204.80,T,204.80,M,1.50,N,,,A*65\r\n$IIMWV,356,T,11.74,N,A*26\r\n$IIVWT,004,L,11.74,N,06.04,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111654,,,,00,*4E\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.170,N,02325.891,E,111654,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,205.92,T,205.92,M,1.50,N,,,A*65\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,010,L,10.80,N,05.56,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111656,,,,00,*4C\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.170,N,02325.890,E,111657,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,207.18,T,207.18,M,1.50,N,,,A*65\r\n$IIMWV,356,T,10.41,N,A*21\r\n$IIVWT,004,L,10.41,N,05.36,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111658,,,,00,*42\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.169,N,02325.889,E,111659,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.16,N,06.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,207.97,T,207.97,M,1.50,N,,,A*65\r\n$IIMWV,001,R,13.80,N,A*28\r\n$IIVWT,002,R,12.26,N,06.31,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111700,,,,00,*4E\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.168,N,02325.888,E,111701,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.21,N,05.77,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,208.17,T,208.17,M,1.50,N,,,A*65\r\n$IIMWV,001,T,11.29,N,A*2F\r\n$IIVWT,001,R,11.29,N,05.81,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111702,,,,00,*4C\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.167,N,02325.887,E,111703,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.82,N,05.57,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,208.61,T,208.61,M,1.50,N,,,A*65\r\n$IIMWV,352,R,11.85,N,A*2A\r\n$IIVWT,009,L,10.30,N,05.30,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111704,,,,00,*4A\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.167,N,02325.886,E,111705,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.58,N,02.92,K*50\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,209.53,T,209.53,M,1.50,N,,,A*65\r\n$IIMWV,352,T,09.50,N,A*2D\r\n$IIVWT,008,L,09.50,N,04.89,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111707,,,,00,*49\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.166,N,02325.886,E,111707,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,210.13,T,210.13,M,1.50,N,,,A*65\r\n$IIMWV,354,R,09.71,N,A*2E\r\n$IIVWT,007,L,08.08,N,04.16,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111709,,,,00,*47\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.165,N,02325.885,E,111709,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,211.11,T,211.11,M,1.50,N,,,A*65\r\n$IIMWV,353,T,08.08,N,A*20\r\n$IIVWT,007,L,08.08,N,04.16,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111711,,,,00,*4E\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.165,N,02325.884,E,111711,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.62,N,03.00,K*53\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,211.60,T,211.60,M,1.55,N,,,A*60\r\n$IIMWV,004,R,09.71,N,A*28\r\n$IIVWT,004,R,08.02,N,04.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111713,,,,00,*4C\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.164,N,02325.883,E,111713,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.73,N,05.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.66,N,03.07,K*50\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,212.20,T,212.20,M,1.59,N,,,A*6C\r\n$IIMWV,002,T,09.38,N,A*25\r\n$IIVWT,002,R,09.38,N,04.83,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111715,,,,00,*4A\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.163,N,02325.882,E,111715,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,213.57,T,213.57,M,1.60,N,,,A*66\r\n$IIMWV,358,R,10.88,N,A*2C\r\n$IIVWT,003,L,09.17,N,04.72,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111717,,,,00,*48\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.162,N,02325.881,E,111717,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,214.17,T,214.17,M,1.60,N,,,A*66\r\n$IIMWV,358,T,08.37,N,A*27\r\n$IIVWT,002,L,08.37,N,04.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111719,,,,00,*46\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.161,N,02325.879,E,111719,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,214.63,T,214.63,M,1.60,N,,,A*66\r\n$IIMWV,350,R,10.10,N,A*25\r\n$IIVWT,012,L,08.41,N,04.33,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111721,,,,00,*4D\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.161,N,02325.878,E,111721,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,214.83,T,214.83,M,1.60,N,,,A*66\r\n$IIMWV,353,T,08.41,N,A*2D\r\n$IIVWT,008,L,08.41,N,04.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111723,,,,00,*4F\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.160,N,02325.877,E,111723,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,215.11,T,215.11,M,1.60,N,,,A*66\r\n$IIMWV,359,R,09.13,N,A*27\r\n$IIVWT,002,L,07.36,N,03.79,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111725,,,,00,*49\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.159,N,02325.876,E,111725,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,214.83,T,214.83,M,1.60,N,,,A*66\r\n$IIMWV,356,T,07.77,N,A*22\r\n$IIVWT,004,L,07.77,N,04.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111727,,,,00,*4B\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.158,N,02325.875,E,111727,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,214.61,T,214.61,M,1.60,N,,,A*66\r\n$IIMWV,357,R,09.52,N,A*2C\r\n$IIVWT,004,L,07.77,N,04.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111729,,,,00,*45\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.158,N,02325.874,E,111729,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.71,N,03.16,K*56\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,214.50,T,214.50,M,1.60,N,,,A*66\r\n$IIMWV,000,T,08.37,N,A*29\r\n$IIVWT,000,R,08.37,N,04.31,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111731,,,,00,*4C\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5959.157,N,02325.873,E,111731,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.71,N,03.16,K*56\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,214.67,T,214.67,M,1.65,N,,,A*63\r\n$IIMWV,354,R,09.71,N,A*2E\r\n$IIVWT,008,L,07.95,N,04.09,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111733,,,,00,*4E\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.156,N,02325.872,E,111733,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,214.44,T,214.44,M,1.66,N,,,A*60\r\n$IIMWV,344,T,11.74,N,A*25\r\n$IIVWT,017,L,11.74,N,06.04,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111735,,,,00,*48\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.155,N,02325.871,E,111735,A,A*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,214.39,T,214.39,M,1.67,N,,,A*61\r\n$IIMWV,349,R,11.85,N,A*20\r\n$IIVWT,013,L,10.10,N,05.20,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111737,,,,00,*4A\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.155,N,02325.870,E,111737,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.12,N,05.21,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,214.60,T,214.60,M,1.69,N,,,A*6F\r\n$IIMWV,349,T,09.11,N,A*22\r\n$IIVWT,011,L,09.11,N,04.69,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111739,,,,00,*44\r\n$IIDBT,019.78,f,006.03,M,003.25,F*27\r\n$GPGLL,5959.154,N,02325.869,E,111740,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.68,N,04.98,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,215.12,T,215.12,M,1.70,N,,,A*67\r\n$IIMWV,357,R,11.85,N,A*2F\r\n$IIVWT,003,L,10.01,N,05.15,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111741,,,,00,*4B\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.153,N,02325.868,E,111742,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,215.61,T,215.61,M,1.70,N,,,A*67\r\n$IIMWV,002,T,08.28,N,A*25\r\n$IIVWT,002,R,08.28,N,04.26,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,111743,,,,00,*49\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.152,N,02325.867,E,111744,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.71,N,,*06\r\n$IIVTG,215.60,T,215.60,M,1.70,N,,,D*62\r\n$IIMWV,353,R,09.71,N,A*29\r\n$IIVWT,009,L,07.96,N,04.10,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111745,,,,00,*4F\r\n$IIDBT,020.01,f,006.10,M,003.29,F*2D\r\n$GPGLL,5959.151,N,02325.866,E,111746,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.68,N,04.98,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,215.52,T,215.52,M,1.70,N,,,D*62\r\n$IIMWV,349,T,10.24,N,A*2C\r\n$IIVWT,011,L,10.24,N,05.27,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111747,,,,00,*4D\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.151,N,02325.865,E,111748,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,214.73,T,214.73,M,1.70,N,,,D*62\r\n$IIMWV,000,R,09.71,N,A*2C\r\n$IIVWT,000,R,07.93,N,04.08,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111749,,,,00,*43\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.150,N,02325.864,E,111750,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.41,N,04.33,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,215.31,T,215.31,M,1.70,N,,,D*62\r\n$IIMWV,014,T,08.37,N,A*2C\r\n$IIVWT,014,R,08.37,N,04.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111752,,,,00,*49\r\n$IIDBT,020.27,f,006.18,M,003.34,F*2D\r\n$GPGLL,5959.149,N,02325.863,E,111752,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,214.25,T,214.25,M,1.70,N,,,D*62\r\n$IIMWV,353,R,10.10,N,A*26\r\n$IIVWT,009,L,08.28,N,04.26,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111754,,,,00,*4F\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.149,N,02325.862,E,111754,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,213.59,T,213.59,M,1.70,N,,,D*62\r\n$IIMWV,355,T,09.17,N,A*29\r\n$IIVWT,005,L,09.17,N,04.72,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111756,,,,00,*4D\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.148,N,02325.861,E,111756,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.16,N,05.23,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,212.45,T,212.45,M,1.70,N,,,D*62\r\n$IIMWV,001,R,12.05,N,A*24\r\n$IIVWT,001,R,10.22,N,05.26,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111758,,,,00,*43\r\n$IIDBT,020.43,f,006.23,M,003.36,F*25\r\n$GPGLL,5959.147,N,02325.860,E,111758,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,210.39,T,210.39,M,1.70,N,,,D*62\r\n$IIMWV,353,T,08.72,N,A*2D\r\n$IIVWT,007,L,08.72,N,04.49,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111800,,,,00,*41\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5959.146,N,02325.859,E,111800,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.15,N,04.71,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.71,N,,*06\r\n$IIVTG,209.57,T,209.57,M,1.70,N,,,D*62\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,004,L,09.62,N,04.95,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111802,,,,00,*43\r\n$IIDBT,020.57,f,006.27,M,003.38,F*2A\r\n$GPGLL,5959.145,N,02325.858,E,111802,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,208.62,T,208.62,M,1.70,N,,,D*62\r\n$IIMWV,339,T,08.84,N,A*28\r\n$IIVWT,021,L,08.84,N,04.55,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111804,,,,00,*45\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5959.144,N,02325.857,E,111804,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.04,N,05.17,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,207.93,T,207.93,M,1.70,N,,,D*62\r\n$IIMWV,358,R,13.21,N,A*2C\r\n$IIVWT,003,L,11.42,N,05.88,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111806,,,,00,*47\r\n$IIDBT,020.70,f,006.31,M,003.41,F*26\r\n$GPGLL,5959.143,N,02325.856,E,111806,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.24,N,05.27,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,207.58,T,207.58,M,1.70,N,,,D*62\r\n$IIMWV,351,T,11.04,N,A*26\r\n$IIVWT,009,L,11.04,N,05.68,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111808,,,,00,*49\r\n$IIDBT,020.80,f,006.34,M,003.42,F*2F\r\n$GPGLL,5959.142,N,02325.855,E,111808,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,207.54,T,207.54,M,1.70,N,,,D*62\r\n$IIMWV,350,R,13.21,N,A*24\r\n$IIVWT,012,L,11.44,N,05.89,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111810,,,,00,*40\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5959.142,N,02325.854,E,111810,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,208.69,T,208.69,M,1.70,N,,,D*62\r\n$IIMWV,340,T,11.52,N,A*25\r\n$IIVWT,020,L,11.52,N,05.93,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111812,,,,00,*42\r\n$IIDBT,020.96,f,006.39,M,003.45,F*22\r\n$GPGLL,5959.141,N,02325.853,E,111812,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.68,N,04.98,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,209.60,T,209.60,M,1.70,N,,,D*62\r\n$IIMWV,358,R,10.88,N,A*2C\r\n$IIVWT,002,L,09.13,N,04.70,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111814,,,,00,*44\r\n$IIDBT,020.99,f,006.40,M,003.45,F*23\r\n$GPGLL,5959.140,N,02325.853,E,111814,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,210.85,T,210.85,M,1.70,N,,,D*62\r\n$IIMWV,341,T,09.38,N,A*21\r\n$IIVWT,019,L,09.38,N,04.83,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111816,,,,00,*46\r\n$IIDBT,021.06,f,006.42,M,003.47,F*24\r\n$GPGLL,5959.139,N,02325.852,E,111816,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,212.11,T,212.11,M,1.70,N,,,D*62\r\n$IIMWV,348,R,12.44,N,A*2F\r\n$IIVWT,014,L,10.73,N,05.52,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111818,,,,00,*48\r\n$IIDBT,021.09,f,006.43,M,003.47,F*2A\r\n$GPGLL,5959.138,N,02325.851,E,111818,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,212.98,T,212.98,M,1.65,N,,,D*66\r\n$IIMWV,354,T,09.34,N,A*29\r\n$IIVWT,006,L,09.34,N,04.81,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111820,,,,00,*43\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5959.138,N,02325.849,E,111820,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,213.52,T,213.52,M,1.61,N,,,D*62\r\n$IIMWV,344,R,11.46,N,A*22\r\n$IIVWT,019,L,09.81,N,05.05,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111822,,,,00,*41\r\n$IIDBT,021.22,f,006.47,M,003.49,F*29\r\n$GPGLL,5959.137,N,02325.849,E,111823,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,213.71,T,213.71,M,1.60,N,,,D*63\r\n$IIMWV,340,T,09.87,N,A*24\r\n$IIVWT,020,L,09.87,N,05.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111824,,,,00,*47\r\n$IIDBT,021.35,f,006.51,M,003.51,F*21\r\n$GPGLL,5959.136,N,02325.848,E,111825,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.26,N,05.28,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,213.60,T,213.60,M,1.60,N,,,D*63\r\n$IIMWV,350,R,11.46,N,A*27\r\n$IIVWT,012,L,09.79,N,05.04,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111826,,,,00,*45\r\n$IIDBT,021.42,f,006.53,M,003.52,F*20\r\n$GPGLL,5959.135,N,02325.847,E,111827,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.66,N,03.07,K*50\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,213.32,T,213.32,M,1.60,N,,,D*63\r\n$IIMWV,339,T,10.92,N,A*26\r\n$IIVWT,021,L,10.92,N,05.62,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111828,,,,00,*4B\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5959.135,N,02325.846,E,111829,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,213.73,T,213.73,M,1.60,N,,,D*63\r\n$IIMWV,357,R,13.80,N,A*28\r\n$IIVWT,004,L,12.22,N,06.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111830,,,,00,*42\r\n$IIDBT,021.55,f,006.57,M,003.55,F*25\r\n$GPGLL,5959.134,N,02325.845,E,111831,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.19,N,05.76,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,214.51,T,214.51,M,1.55,N,,,D*65\r\n$IIMWV,346,T,10.36,N,A*20\r\n$IIVWT,014,L,10.36,N,05.33,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111833,,,,00,*41\r\n$IIDBT,021.68,f,006.61,M,003.57,F*2C\r\n$GPGLL,5959.133,N,02325.844,E,111833,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,215.17,T,215.17,M,1.51,N,,,D*61\r\n$IIMWV,344,R,10.49,N,A*2C\r\n$IIVWT,019,L,08.94,N,04.60,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111835,,,,00,*47\r\n$IIDBT,021.81,f,006.65,M,003.59,F*21\r\n$GPGLL,5959.133,N,02325.843,E,111835,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,215.67,T,215.67,M,1.50,N,,,D*60\r\n$IIMWV,003,T,08.88,N,A*2E\r\n$IIVWT,003,R,08.88,N,04.57,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111837,,,,00,*45\r\n$IIDBT,021.88,f,006.67,M,003.60,F*20\r\n$GPGLL,5959.132,N,02325.842,E,111837,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.90,N,05.61,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,216.24,T,216.24,M,1.50,N,,,D*60\r\n$IIMWV,341,R,13.21,N,A*24\r\n$IIVWT,021,L,11.72,N,06.03,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111839,,,,00,*4B\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5959.131,N,02325.841,E,111839,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.67,N,07.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,217.33,T,217.33,M,1.50,N,,,D*60\r\n$IIMWV,341,T,14.24,N,A*20\r\n$IIVWT,019,L,14.24,N,07.33,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111841,,,,00,*44\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5959.131,N,02325.840,E,111841,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,218.26,T,218.26,M,1.48,N,,,D*69\r\n$IIMWV,349,R,13.80,N,A*27\r\n$IIVWT,012,L,12.30,N,06.33,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111843,,,,00,*46\r\n$IIDBT,022.14,f,006.75,M,003.64,F*21\r\n$GPGLL,5959.130,N,02325.839,E,111843,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,218.82,T,218.82,M,1.49,N,,,D*68\r\n$IIMWV,353,T,13.31,N,A*20\r\n$IIVWT,007,L,13.31,N,06.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111845,,,,00,*40\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5959.129,N,02325.837,E,111845,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.80,N,07.10,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,219.68,T,219.68,M,1.41,N,,,D*60\r\n$IIMWV,347,R,15.35,N,A*21\r\n$IIVWT,015,L,13.91,N,07.16,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111847,,,,00,*42\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5959.128,N,02325.836,E,111847,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,220.39,T,220.39,M,1.40,N,,,D*61\r\n$IIMWV,341,T,13.99,N,A*21\r\n$IIVWT,019,L,13.99,N,07.20,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111849,,,,00,*4C\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5959.128,N,02325.835,E,111849,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,221.12,T,221.12,M,1.33,N,,,D*65\r\n$IIMWV,355,R,13.41,N,A*27\r\n$IIVWT,005,L,12.05,N,06.20,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111851,,,,00,*45\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5959.127,N,02325.834,E,111851,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,221.51,T,221.51,M,1.31,N,,,D*67\r\n$IIMWV,347,T,11.85,N,A*28\r\n$IIVWT,013,L,11.85,N,06.10,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111853,,,,00,*47\r\n$IIDBT,022.40,f,006.83,M,003.69,F*24\r\n$GPGLL,5959.127,N,02325.833,E,111853,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,221.85,T,221.85,M,1.35,N,,,D*63\r\n$IIMWV,352,R,12.44,N,A*24\r\n$IIVWT,009,L,10.98,N,05.65,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111855,,,,00,*41\r\n$IIDBT,022.53,f,006.87,M,003.71,F*2B\r\n$GPGLL,5959.126,N,02325.832,E,111855,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,222.09,T,222.09,M,1.39,N,,,D*6F\r\n$IIMWV,344,T,11.42,N,A*20\r\n$IIVWT,017,L,11.42,N,05.88,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111857,,,,00,*43\r\n$IIDBT,022.60,f,006.89,M,003.72,F*26\r\n$GPGLL,5959.126,N,02325.831,E,111857,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.96,N,05.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,221.67,T,221.67,M,1.40,N,,,D*61\r\n$IIMWV,349,R,12.05,N,A*2B\r\n$IIVWT,013,L,10.63,N,05.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111859,,,,00,*4D\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5959.125,N,02325.830,E,111859,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,220.54,T,220.54,M,1.40,N,,,D*61\r\n$IIMWV,352,T,10.59,N,A*2C\r\n$IIVWT,008,L,10.59,N,05.45,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111901,,,,00,*41\r\n$IIDBT,022.80,f,006.95,M,003.75,F*22\r\n$GPGLL,5959.124,N,02325.830,E,111901,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.94,N,05.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,218.54,T,218.54,M,1.40,N,,,D*61\r\n$IIMWV,001,R,12.44,N,A*21\r\n$IIVWT,002,R,10.96,N,05.64,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111903,,,,00,*43\r\n$IIDBT,022.86,f,006.97,M,003.76,F*25\r\n$GPGLL,5959.124,N,02325.829,E,111903,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,216.78,T,216.78,M,1.40,N,,,D*61\r\n$IIMWV,350,T,14.65,N,A*25\r\n$IIVWT,010,L,14.65,N,07.54,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111905,,,,00,*45\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5959.123,N,02325.828,E,111906,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.26,N,07.34,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,215.67,T,215.67,M,1.40,N,,,D*61\r\n$IIMWV,360,R,14.19,N,A*2B\r\n$IIVWT,001,L,12.73,N,06.55,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111907,,,,00,*47\r\n$IIDBT,022.96,f,007.00,M,003.78,F*25\r\n$GPGLL,5959.122,N,02325.827,E,111908,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.83,N,06.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,215.32,T,215.32,M,1.40,N,,,D*61\r\n$IIMWV,359,T,11.62,N,A*2E\r\n$IIVWT,001,L,11.62,N,05.98,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111909,,,,00,*49\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5959.122,N,02325.826,E,111910,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.34,N,05.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,215.33,T,215.33,M,1.40,N,,,D*61\r\n$IIMWV,358,R,11.46,N,A*2F\r\n$IIVWT,003,L,10.03,N,05.16,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111911,,,,00,*40\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5959.121,N,02325.825,E,111912,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,215.28,T,215.28,M,1.40,N,,,D*61\r\n$IIMWV,347,T,09.34,N,A*2B\r\n$IIVWT,013,L,09.34,N,04.81,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111913,,,,00,*42\r\n$IIDBT,023.19,f,007.07,M,003.82,F*21\r\n$GPGLL,5959.120,N,02325.825,E,111914,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,214.50,T,214.50,M,1.47,N,,,D*66\r\n$IIMWV,001,R,10.49,N,A*2E\r\n$IIVWT,001,R,08.88,N,04.57,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111916,,,,00,*47\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5959.120,N,02325.824,E,111916,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,213.12,T,213.12,M,1.49,N,,,D*68\r\n$IIMWV,344,T,10.28,N,A*2D\r\n$IIVWT,016,L,10.28,N,05.29,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111918,,,,00,*49\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5959.119,N,02325.823,E,111918,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.65,N,06.51,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,211.38,T,211.38,M,1.45,N,,,D*64\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,013,L,13.62,N,07.01,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111920,,,,00,*42\r\n$IIDBT,023.55,f,007.18,M,003.88,F*2D\r\n$GPGLL,5959.118,N,02325.822,E,111920,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,211.02,T,211.02,M,1.41,N,,,D*60\r\n$IIMWV,343,T,15.12,N,A*26\r\n$IIVWT,017,L,15.12,N,07.78,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111922,,,,00,*40\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5959.118,N,02325.821,E,111922,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.93,N,07.17,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,211.25,T,211.25,M,1.40,N,,,D*61\r\n$IIMWV,341,R,14.77,N,A*20\r\n$IIVWT,021,L,13.41,N,06.90,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111924,,,,00,*46\r\n$IIDBT,023.62,f,007.20,M,003.89,F*23\r\n$GPGLL,5959.117,N,02325.821,E,111924,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,213.09,T,213.09,M,1.33,N,,,D*65\r\n$IIMWV,338,T,13.06,N,A*29\r\n$IIVWT,022,L,13.06,N,06.72,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111926,,,,00,*44\r\n$IIDBT,023.78,f,007.25,M,003.91,F*24\r\n$GPGLL,5959.116,N,02325.819,E,111926,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.83,N,06.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,214.90,T,214.90,M,1.31,N,,,D*67\r\n$IIMWV,346,R,13.41,N,A*25\r\n$IIVWT,016,L,12.07,N,06.21,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111928,,,,00,*4A\r\n$IIDBT,023.85,f,007.27,M,003.92,F*27\r\n$GPGLL,5959.116,N,02325.818,E,111928,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.83,N,06.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,218.80,T,218.80,M,1.30,N,,,D*66\r\n$IIMWV,345,T,12.82,N,A*2E\r\n$IIVWT,015,L,12.82,N,06.60,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111930,,,,00,*43\r\n$IIDBT,023.88,f,007.28,M,003.93,F*24\r\n$GPGLL,5959.116,N,02325.817,E,111930,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,221.12,T,221.12,M,1.30,N,,,D*66\r\n$IIMWV,347,R,15.35,N,A*21\r\n$IIVWT,015,L,13.97,N,07.19,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111932,,,,00,*41\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,5959.115,N,02325.816,E,111932,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,223.41,T,223.41,M,1.30,N,,,D*66\r\n$IIMWV,322,T,13.04,N,A*20\r\n$IIVWT,038,L,13.04,N,06.71,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111934,,,,00,*47\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,5959.115,N,02325.815,E,111934,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.25,N,06.82,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,225.50,T,225.50,M,1.30,N,,,D*66\r\n$IIMWV,332,R,15.16,N,A*22\r\n$IIVWT,031,L,14.03,N,07.22,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111936,,,,00,*45\r\n$IIDBT,024.14,f,007.36,M,003.97,F*2D\r\n$GPGLL,5959.115,N,02325.813,E,111936,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.90,N,07.67,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,227.37,T,227.37,M,1.30,N,,,D*66\r\n$IIMWV,333,T,13.95,N,A*28\r\n$IIVWT,027,L,13.95,N,07.18,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111938,,,,00,*4B\r\n$IIDBT,024.21,f,007.38,M,003.98,F*2A\r\n$GPGLL,5959.114,N,02325.812,E,111938,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.07,N,07.24,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,228.54,T,228.54,M,1.30,N,,,D*66\r\n$IIMWV,337,R,15.74,N,A*23\r\n$IIVWT,025,L,14.52,N,07.47,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111940,,,,00,*44\r\n$IIDBT,024.31,f,007.41,M,004.00,F*23\r\n$GPGLL,5959.114,N,02325.811,E,111940,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,228.98,T,228.98,M,1.28,N,,,D*6F\r\n$IIMWV,342,T,13.52,N,A*25\r\n$IIVWT,018,L,13.52,N,06.96,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111942,,,,00,*46\r\n$IIDBT,024.31,f,007.41,M,004.00,F*23\r\n$GPGLL,5959.113,N,02325.810,E,111942,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,229.25,T,229.25,M,1.29,N,,,D*6E\r\n$IIMWV,337,R,12.82,N,A*2D\r\n$IIVWT,026,L,11.60,N,05.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111944,,,,00,*40\r\n$IIDBT,024.40,f,007.44,M,004.02,F*22\r\n$GPGLL,5959.113,N,02325.809,E,111944,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,229.66,T,229.66,M,1.25,N,,,D*62\r\n$IIMWV,339,T,13.12,N,A*2D\r\n$IIVWT,021,L,13.12,N,06.75,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111946,,,,00,*42\r\n$IIDBT,024.47,f,007.46,M,004.03,F*26\r\n$GPGLL,5959.113,N,02325.808,E,111946,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,229.99,T,229.99,M,1.21,N,,,D*66\r\n$IIMWV,349,R,13.21,N,A*2C\r\n$IIVWT,012,L,11.85,N,06.10,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111948,,,,00,*4C\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5959.112,N,02325.807,E,111949,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.09,N,07.25,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,230.35,T,230.35,M,1.20,N,,,D*67\r\n$IIMWV,332,T,13.60,N,A*23\r\n$IIVWT,028,L,13.60,N,07.00,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111950,,,,00,*45\r\n$IIDBT,024.34,f,007.42,M,004.01,F*24\r\n$GPGLL,5959.112,N,02325.806,E,111951,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,231.89,T,231.89,M,1.20,N,,,D*67\r\n$IIMWV,329,R,15.16,N,A*28\r\n$IIVWT,034,L,14.01,N,07.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111952,,,,00,*47\r\n$IIDBT,024.37,f,007.43,M,004.01,F*26\r\n$GPGLL,5959.112,N,02325.805,E,111953,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.47,N,06.93,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,233.07,T,233.07,M,1.20,N,,,D*67\r\n$IIMWV,338,T,13.89,N,A*2E\r\n$IIVWT,022,L,13.89,N,07.15,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111954,,,,00,*41\r\n$IIDBT,024.47,f,007.46,M,004.03,F*26\r\n$GPGLL,5959.111,N,02325.804,E,111955,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.21,N,06.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,233.77,T,233.77,M,1.20,N,,,D*67\r\n$IIMWV,330,R,14.38,N,A*2D\r\n$IIVWT,033,L,13.15,N,06.77,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111956,,,,00,*43\r\n$IIDBT,024.57,f,007.49,M,004.04,F*2F\r\n$GPGLL,5959.111,N,02325.803,E,111957,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.20,N,06.28,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,234.37,T,234.37,M,1.20,N,,,D*67\r\n$IIMWV,335,T,13.47,N,A*21\r\n$IIVWT,025,L,13.47,N,06.93,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,111959,,,,00,*4C\r\n$IIDBT,024.60,f,007.50,M,004.05,F*22\r\n$GPGLL,5959.110,N,02325.801,E,111959,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,235.92,T,235.92,M,1.20,N,,,D*67\r\n$IIMWV,328,R,12.44,N,A*29\r\n$IIVWT,036,L,11.25,N,05.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112001,,,,00,*4B\r\n$IIDBT,024.63,f,007.51,M,004.05,F*20\r\n$GPGLL,5959.110,N,02325.800,E,112001,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.88,N,06.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,237.78,T,237.78,M,1.25,N,,,D*62\r\n$IIMWV,326,T,12.55,N,A*21\r\n$IIVWT,034,L,12.55,N,06.46,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112003,,,,00,*49\r\n$IIDBT,024.67,f,007.52,M,004.06,F*24\r\n$GPGLL,5959.110,N,02325.799,E,112003,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,238.79,T,238.79,M,1.29,N,,,D*6E\r\n$IIMWV,336,R,12.05,N,A*23\r\n$IIVWT,027,L,10.74,N,05.53,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112005,,,,00,*4F\r\n$IIDBT,024.70,f,007.53,M,004.07,F*22\r\n$GPGLL,5959.109,N,02325.798,E,112005,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.63,N,05.47,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,238.40,T,238.40,M,1.30,N,,,D*66\r\n$IIMWV,351,T,10.39,N,A*29\r\n$IIVWT,009,L,10.39,N,05.35,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112007,,,,00,*4D\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5959.109,N,02325.796,E,112007,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,238.75,T,238.75,M,1.30,N,,,D*66\r\n$IIMWV,335,R,13.41,N,A*21\r\n$IIVWT,027,L,12.11,N,06.23,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112009,,,,00,*43\r\n$IIDBT,024.70,f,007.53,M,004.07,F*22\r\n$GPGLL,5959.109,N,02325.794,E,112009,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.15,N,05.74,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,239.29,T,239.29,M,1.32,N,,,D*64\r\n$IIMWV,344,T,11.42,N,A*20\r\n$IIVWT,016,L,11.42,N,05.88,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112011,,,,00,*4A\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5959.108,N,02325.793,E,112011,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,238.41,T,238.41,M,1.30,N,,,D*66\r\n$IIMWV,338,R,13.41,N,A*2C\r\n$IIVWT,024,L,12.07,N,06.21,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112013,,,,00,*48\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5959.108,N,02325.792,E,112013,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.92,N,05.62,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,236.85,T,236.85,M,1.30,N,,,D*66\r\n$IIMWV,322,T,09.91,N,A*27\r\n$IIVWT,038,L,09.91,N,05.10,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112015,,,,00,*4E\r\n$IIDBT,024.90,f,007.59,M,004.10,F*20\r\n$GPGLL,5959.107,N,02325.791,E,112015,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,234.97,T,234.97,M,1.30,N,,,D*66\r\n$IIMWV,344,R,10.49,N,A*2C\r\n$IIVWT,019,L,09.11,N,04.69,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112017,,,,00,*4C\r\n$IIDBT,024.90,f,007.59,M,004.10,F*20\r\n$GPGLL,5959.107,N,02325.790,E,112017,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,234.29,T,234.29,M,1.30,N,,,D*66\r\n$IIMWV,352,T,10.57,N,A*22\r\n$IIVWT,008,L,10.57,N,05.44,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112019,,,,00,*42\r\n$IIDBT,024.96,f,007.61,M,004.11,F*2C\r\n$GPGLL,5959.106,N,02325.788,E,112019,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.32,N,06.34,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,233.58,T,233.58,M,1.30,N,,,D*66\r\n$IIMWV,353,R,14.38,N,A*28\r\n$IIVWT,008,L,12.88,N,06.63,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112021,,,,00,*49\r\n$IIDBT,025.03,f,007.63,M,004.12,F*20\r\n$GPGLL,5959.106,N,02325.787,E,112021,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.75,N,06.56,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,232.67,T,232.67,M,1.30,N,,,D*66\r\n$IIMWV,353,T,12.30,N,A*20\r\n$IIVWT,007,L,12.30,N,06.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112023,,,,00,*4B\r\n$IIDBT,025.03,f,007.63,M,004.12,F*20\r\n$GPGLL,5959.105,N,02325.786,E,112023,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,232.19,T,232.19,M,1.35,N,,,D*63\r\n$IIMWV,340,R,13.80,N,A*2E\r\n$IIVWT,023,L,12.40,N,06.38,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112025,,,,00,*4D\r\n$IIDBT,025.03,f,007.63,M,004.12,F*20\r\n$GPGLL,5959.105,N,02325.785,E,112025,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.49,N,06.43,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,231.62,T,231.62,M,1.31,N,,,D*67\r\n$IIMWV,343,T,11.39,N,A*2B\r\n$IIVWT,017,L,11.39,N,05.86,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112027,,,,00,*4F\r\n$IIDBT,025.13,f,007.66,M,004.14,F*22\r\n$GPGLL,5959.104,N,02325.784,E,112027,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,230.15,T,230.15,M,1.30,N,,,D*66\r\n$IIMWV,350,R,13.41,N,A*22\r\n$IIVWT,012,L,11.99,N,06.17,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112029,,,,00,*41\r\n$IIDBT,025.09,f,007.65,M,004.13,F*2D\r\n$GPGLL,5959.104,N,02325.783,E,112030,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.40,N,06.38,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,228.24,T,228.24,M,1.30,N,,,D*66\r\n$IIMWV,350,T,12.96,N,A*2F\r\n$IIVWT,010,L,12.96,N,06.67,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112031,,,,00,*48\r\n$IIDBT,025.16,f,007.67,M,004.14,F*26\r\n$GPGLL,5959.103,N,02325.782,E,112032,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.13,N,07.27,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,227.29,T,227.29,M,1.30,N,,,D*66\r\n$IIMWV,338,R,13.41,N,A*2C\r\n$IIVWT,025,L,12.07,N,06.21,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112033,,,,00,*4A\r\n$IIDBT,025.19,f,007.68,M,004.15,F*27\r\n$GPGLL,5959.103,N,02325.781,E,112034,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,226.42,T,226.42,M,1.25,N,,,D*62\r\n$IIMWV,346,T,13.41,N,A*23\r\n$IIVWT,014,L,13.41,N,06.90,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112035,,,,00,*4C\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.102,N,02325.780,E,112036,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.38,N,07.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,226.28,T,226.28,M,1.21,N,,,D*66\r\n$IIMWV,347,R,15.16,N,A*20\r\n$IIVWT,015,L,13.70,N,07.05,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112037,,,,00,*4E\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.102,N,02325.779,E,112038,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,226.30,T,226.30,M,1.20,N,,,D*67\r\n$IIMWV,337,T,16.34,N,A*22\r\n$IIVWT,023,L,16.34,N,08.41,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112039,,,,00,*40\r\n$IIDBT,025.29,f,007.71,M,004.16,F*2F\r\n$GPGLL,5959.102,N,02325.778,E,112040,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.22,N,07.83,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,227.27,T,227.27,M,1.20,N,,,D*67\r\n$IIMWV,358,R,14.38,N,A*23\r\n$IIVWT,003,L,12.98,N,06.68,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112042,,,,00,*4C\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.101,N,02325.777,E,112042,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.87,N,05.08,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,228.54,T,228.54,M,1.20,N,,,D*67\r\n$IIMWV,333,T,10.61,N,A*20\r\n$IIVWT,027,L,10.61,N,05.46,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112044,,,,00,*4A\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.101,N,02325.776,E,112044,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.16,N,07.80,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,229.86,T,229.86,M,1.20,N,,,D*67\r\n$IIMWV,349,R,15.74,N,A*2A\r\n$IIVWT,012,L,14.44,N,07.43,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112046,,,,00,*48\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5959.100,N,02325.775,E,112046,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.38,N,08.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,231.16,T,231.16,M,1.20,N,,,D*67\r\n$IIMWV,340,T,15.22,N,A*26\r\n$IIVWT,021,L,15.22,N,07.83,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112048,,,,00,*46\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5959.100,N,02325.774,E,112048,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.50,N,06.95,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,232.11,T,232.11,M,1.20,N,,,D*67\r\n$IIMWV,337,R,15.16,N,A*27\r\n$IIVWT,026,L,13.85,N,07.13,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112050,,,,00,*4F\r\n$IIDBT,025.09,f,007.65,M,004.13,F*2D\r\n$GPGLL,5959.099,N,02325.772,E,112050,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.97,N,07.19,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,232.80,T,232.80,M,1.20,N,,,D*67\r\n$IIMWV,346,T,12.86,N,A*29\r\n$IIVWT,014,L,12.86,N,06.62,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112052,,,,00,*4D\r\n$IIDBT,025.16,f,007.67,M,004.14,F*26\r\n$GPGLL,5959.099,N,02325.771,E,112052,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,232.43,T,232.43,M,1.20,N,,,D*67\r\n$IIMWV,337,R,13.80,N,A*2E\r\n$IIVWT,025,L,12.55,N,06.46,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112054,,,,00,*4B\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5959.098,N,02325.770,E,112054,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.88,N,06.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,232.16,T,232.16,M,1.20,N,,,D*67\r\n$IIMWV,333,T,13.10,N,A*25\r\n$IIVWT,027,L,13.10,N,06.74,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112056,,,,00,*49\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5959.098,N,02325.769,E,112056,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.48,N,05.91,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,231.06,T,231.06,M,1.20,N,,,D*67\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,010,L,11.04,N,05.68,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112058,,,,00,*47\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.098,N,02325.768,E,112058,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.00,N,06.69,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,230.39,T,230.39,M,1.20,N,,,D*67\r\n$IIMWV,337,T,13.50,N,A*25\r\n$IIVWT,023,L,13.50,N,06.95,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112100,,,,00,*4B\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5959.097,N,02325.767,E,112100,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,229.27,T,229.27,M,1.20,N,,,D*67\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,013,L,12.40,N,06.38,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112102,,,,00,*49\r\n$IIDBT,025.29,f,007.71,M,004.16,F*2F\r\n$GPGLL,5959.097,N,02325.766,E,112102,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,229.59,T,229.59,M,1.20,N,,,D*67\r\n$IIMWV,326,T,11.68,N,A*2C\r\n$IIVWT,034,L,11.68,N,06.01,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112104,,,,00,*4F\r\n$IIDBT,025.32,f,007.72,M,004.17,F*27\r\n$GPGLL,5959.096,N,02325.765,E,112104,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,229.52,T,229.52,M,1.20,N,,,D*67\r\n$IIMWV,005,R,12.05,N,A*20\r\n$IIVWT,006,R,10.71,N,05.51,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112106,,,,00,*4D\r\n$IIDBT,025.32,f,007.72,M,004.17,F*27\r\n$GPGLL,5959.096,N,02325.764,E,112106,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.88,N,06.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,229.50,T,229.50,M,1.20,N,,,D*67\r\n$IIMWV,341,T,12.18,N,A*29\r\n$IIVWT,019,L,12.18,N,06.27,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112108,,,,00,*43\r\n$IIDBT,025.36,f,007.73,M,004.17,F*22\r\n$GPGLL,5959.095,N,02325.763,E,112108,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.54,N,05.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,228.90,T,228.90,M,1.20,N,,,D*67\r\n$IIMWV,357,R,13.41,N,A*25\r\n$IIVWT,004,L,12.11,N,06.23,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112110,,,,00,*4A\r\n$IIDBT,025.36,f,007.73,M,004.17,F*22\r\n$GPGLL,5959.095,N,02325.762,E,112110,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.57,N,06.47,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,228.22,T,228.22,M,1.20,N,,,D*67\r\n$IIMWV,349,T,13.85,N,A*24\r\n$IIVWT,011,L,13.85,N,07.13,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112112,,,,00,*48\r\n$IIDBT,025.39,f,007.74,M,004.18,F*25\r\n$GPGLL,5959.095,N,02325.761,E,112113,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.07,N,06.21,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,227.93,T,227.93,M,1.20,N,,,D*67\r\n$IIMWV,341,R,12.44,N,A*26\r\n$IIVWT,022,L,11.21,N,05.77,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112114,,,,00,*4E\r\n$IIDBT,025.36,f,007.73,M,004.17,F*22\r\n$GPGLL,5959.094,N,02325.760,E,112115,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.12,N,06.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,227.81,T,227.81,M,1.20,N,,,D*67\r\n$IIMWV,344,T,12.80,N,A*2D\r\n$IIVWT,016,L,12.80,N,06.59,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112116,,,,00,*4C\r\n$IIDBT,025.32,f,007.72,M,004.17,F*27\r\n$GPGLL,5959.094,N,02325.759,E,112117,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,227.65,T,227.65,M,1.20,N,,,D*67\r\n$IIMWV,008,R,15.16,N,A*28\r\n$IIVWT,009,R,13.80,N,07.10,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112118,,,,00,*42\r\n$IIDBT,025.39,f,007.74,M,004.18,F*25\r\n$GPGLL,5959.093,N,02325.758,E,112119,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.09,N,06.22,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,227.38,T,227.38,M,1.20,N,,,D*67\r\n$IIMWV,346,T,12.03,N,A*24\r\n$IIVWT,014,L,12.03,N,06.19,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112120,,,,00,*49\r\n$IIDBT,025.36,f,007.73,M,004.17,F*22\r\n$GPGLL,5959.093,N,02325.757,E,112121,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.15,N,08.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,227.09,T,227.09,M,1.28,N,,,D*6F\r\n$IIMWV,358,R,16.13,N,A*28\r\n$IIVWT,003,L,14.69,N,07.56,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112122,,,,00,*4B\r\n$IIDBT,025.39,f,007.74,M,004.18,F*25\r\n$GPGLL,5959.092,N,02325.756,E,112123,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,227.13,T,227.13,M,1.29,N,,,D*6E\r\n$IIMWV,357,T,11.35,N,A*22\r\n$IIVWT,003,L,11.35,N,05.84,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112125,,,,00,*4C\r\n$IIDBT,025.42,f,007.75,M,004.18,F*28\r\n$GPGLL,5959.092,N,02325.755,E,112125,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.65,N,04.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,226.38,T,226.38,M,1.30,N,,,D*66\r\n$IIMWV,327,R,09.52,N,A*2B\r\n$IIVWT,038,L,08.35,N,04.30,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112127,,,,00,*4E\r\n$IIDBT,025.52,f,007.78,M,004.20,F*2F\r\n$GPGLL,5959.091,N,02325.754,E,112127,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,226.02,T,226.02,M,1.30,N,,,D*66\r\n$IIMWV,340,T,09.71,N,A*2D\r\n$IIVWT,020,L,09.71,N,05.00,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112129,,,,00,*40\r\n$IIDBT,025.55,f,007.79,M,004.21,F*28\r\n$GPGLL,5959.091,N,02325.753,E,112129,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.45,N,02.68,K*59\r\n$IIVPW,1.48,N,,*0C\r\n$IIVTG,225.83,T,225.83,M,1.30,N,,,D*66\r\n$IIMWV,340,R,10.10,N,A*24\r\n$IIVWT,023,L,08.70,N,04.48,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112131,,,,00,*49\r\n$IIDBT,025.58,f,007.80,M,004.21,F*23\r\n$GPGLL,5959.090,N,02325.752,E,112131,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,225.36,T,225.36,M,1.30,N,,,D*66\r\n$IIMWV,354,T,12.86,N,A*2A\r\n$IIVWT,006,L,12.86,N,06.62,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112133,,,,00,*4B\r\n$IIDBT,025.65,f,007.82,M,004.22,F*2C\r\n$GPGLL,5959.089,N,02325.751,E,112133,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,224.63,T,224.63,M,1.37,N,,,D*61\r\n$IIMWV,335,R,13.80,N,A*2C\r\n$IIVWT,028,L,12.46,N,06.41,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112135,,,,00,*4D\r\n$IIDBT,025.75,f,007.85,M,004.24,F*2C\r\n$GPGLL,5959.089,N,02325.750,E,112135,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,224.18,T,224.18,M,1.32,N,,,D*64\r\n$IIMWV,354,T,12.65,N,A*27\r\n$IIVWT,006,L,12.65,N,06.51,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112137,,,,00,*4F\r\n$IIDBT,025.62,f,007.81,M,004.22,F*28\r\n$GPGLL,5959.088,N,02325.748,E,112137,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.28,N,06.32,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,224.75,T,224.75,M,1.30,N,,,D*66\r\n$IIMWV,355,R,13.41,N,A*27\r\n$IIVWT,006,L,11.89,N,06.12,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112139,,,,00,*41\r\n$IIDBT,025.45,f,007.76,M,004.19,F*2D\r\n$GPGLL,5959.088,N,02325.747,E,112139,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.97,N,06.16,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,224.49,T,224.49,M,1.30,N,,,D*66\r\n$IIMWV,351,T,12.96,N,A*2E\r\n$IIVWT,009,L,12.96,N,06.67,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112141,,,,00,*4E\r\n$IIDBT,025.75,f,007.85,M,004.24,F*2C\r\n$GPGLL,5959.087,N,02325.746,E,112141,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.41,N,05.87,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,225.05,T,225.05,M,1.30,N,,,D*66\r\n$IIMWV,354,R,12.44,N,A*22\r\n$IIVWT,007,L,11.02,N,05.67,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112143,,,,00,*4C\r\n$IIDBT,025.78,f,007.86,M,004.24,F*22\r\n$GPGLL,5959.087,N,02325.745,E,112143,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,225.16,T,225.16,M,1.30,N,,,D*66\r\n$IIMWV,349,T,09.01,N,A*23\r\n$IIVWT,012,L,09.01,N,04.64,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112145,,,,00,*4A\r\n$IIDBT,025.81,f,007.87,M,004.25,F*24\r\n$GPGLL,5959.086,N,02325.744,E,112145,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,225.67,T,225.67,M,1.30,N,,,D*66\r\n$IIMWV,341,R,14.38,N,A*2B\r\n$IIVWT,022,L,13.06,N,06.72,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112147,,,,00,*48\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5959.086,N,02325.743,E,112147,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.03,N,06.19,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,225.04,T,225.04,M,1.30,N,,,D*66\r\n$IIMWV,324,T,11.66,N,A*20\r\n$IIVWT,036,L,11.66,N,06.00,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112149,,,,00,*46\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5959.085,N,02325.743,E,112149,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,224.59,T,224.59,M,1.30,N,,,D*66\r\n$IIMWV,334,R,11.85,N,A*2A\r\n$IIVWT,030,L,10.61,N,05.46,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112151,,,,00,*4F\r\n$IIDBT,025.91,f,007.90,M,004.27,F*21\r\n$GPGLL,5959.085,N,02325.742,E,112151,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.01,N,07.21,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,224.37,T,224.37,M,1.23,N,,,D*64\r\n$IIMWV,341,T,14.09,N,A*2F\r\n$IIVWT,019,L,14.09,N,07.25,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112153,,,,00,*4D\r\n$IIDBT,025.88,f,007.89,M,004.26,F*20\r\n$GPGLL,5959.084,N,02325.741,E,112153,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.82,N,07.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,224.31,T,224.31,M,1.21,N,,,D*66\r\n$IIMWV,355,R,14.38,N,A*2E\r\n$IIVWT,006,L,13.08,N,06.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112155,,,,00,*4B\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5959.084,N,02325.740,E,112156,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.44,N,06.40,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,224.11,T,224.11,M,1.20,N,,,D*67\r\n$IIMWV,322,T,12.11,N,A*25\r\n$IIVWT,038,L,12.11,N,06.23,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112157,,,,00,*49\r\n$IIDBT,025.78,f,007.86,M,004.24,F*22\r\n$GPGLL,5959.083,N,02325.739,E,112158,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,223.78,T,223.78,M,1.20,N,,,D*67\r\n$IIMWV,342,R,16.52,N,A*26\r\n$IIVWT,020,L,15.12,N,07.78,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112159,,,,00,*47\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5959.083,N,02325.738,E,112200,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,224.84,T,224.84,M,1.20,N,,,D*67\r\n$IIMWV,349,T,14.71,N,A*28\r\n$IIVWT,012,L,14.71,N,07.57,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112201,,,,00,*49\r\n$IIDBT,025.95,f,007.91,M,004.27,F*24\r\n$GPGLL,5959.082,N,02325.737,E,112202,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.09,N,08.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,225.71,T,225.71,M,1.25,N,,,D*62\r\n$IIMWV,346,R,17.68,N,A*2A\r\n$IIVWT,015,L,16.38,N,08.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112203,,,,00,*4B\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5959.082,N,02325.736,E,112204,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.41,N,08.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,226.73,T,226.73,M,1.24,N,,,D*63\r\n$IIMWV,339,T,18.66,N,A*25\r\n$IIVWT,021,L,18.66,N,09.60,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112205,,,,00,*4D\r\n$IIDBT,026.01,f,007.93,M,004.28,F*27\r\n$GPGLL,5959.081,N,02325.735,E,112206,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.83,N,10.72,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,226.60,T,226.60,M,1.21,N,,,A*63\r\n$IIMWV,347,R,22.15,N,A*27\r\n$IIVWT,014,L,20.79,N,10.70,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112208,,,,00,*40\r\n$IIDBT,026.01,f,007.93,M,004.28,F*27\r\n$GPGLL,5959.081,N,02325.734,E,112208,A,A*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.65,N,09.08,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,226.55,T,226.55,M,1.20,N,,,A*62\r\n$IIMWV,344,T,16.30,N,A*22\r\n$IIVWT,016,L,16.30,N,08.39,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112210,,,,00,*49\r\n$IIDBT,026.01,f,007.93,M,004.28,F*27\r\n$GPGLL,5959.080,N,02325.733,E,112210,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.08,N,08.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,226.43,T,226.43,M,1.20,N,,,A*62\r\n$IIMWV,356,R,16.71,N,A*22\r\n$IIVWT,005,L,15.25,N,07.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112212,,,,00,*4B\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5959.079,N,02325.733,E,112212,A,A*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.31,N,08.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,227.26,T,227.26,M,1.20,N,,,A*62\r\n$IIMWV,345,T,16.69,N,A*2F\r\n$IIVWT,015,L,16.69,N,08.59,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112214,,,,00,*4D\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.079,N,02325.732,E,112214,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.27,N,07.86,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,228.29,T,228.29,M,1.20,N,,,A*62\r\n$IIMWV,348,R,15.16,N,A*2F\r\n$IIVWT,013,L,13.84,N,07.12,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112216,,,,00,*4F\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.078,N,02325.730,E,112216,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.25,N,06.82,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,230.61,T,230.61,M,1.20,N,,,A*62\r\n$IIMWV,335,T,12.69,N,A*2C\r\n$IIVWT,025,L,12.69,N,06.53,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112218,,,,00,*41\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.077,N,02325.729,E,112218,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.74,N,05.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,230.75,T,230.75,M,1.20,N,,,A*62\r\n$IIMWV,347,R,12.44,N,A*20\r\n$IIVWT,015,L,11.19,N,05.76,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112220,,,,00,*4A\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.077,N,02325.729,E,112220,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.22,N,06.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,229.19,T,229.19,M,1.20,N,,,A*62\r\n$IIMWV,353,T,14.81,N,A*2C\r\n$IIVWT,007,L,14.81,N,07.62,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112222,,,,00,*48\r\n$IIDBT,026.31,f,008.02,M,004.33,F*29\r\n$GPGLL,5959.076,N,02325.728,E,112222,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,226.17,T,226.17,M,1.15,N,,,A*64\r\n$IIMWV,011,R,16.13,N,A*26\r\n$IIVWT,011,R,14.98,N,07.71,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112224,,,,00,*4E\r\n$IIDBT,026.31,f,008.02,M,004.33,F*29\r\n$GPGLL,5959.076,N,02325.727,E,112224,A,A*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,223.09,T,223.09,M,1.11,N,,,A*60\r\n$IIMWV,358,T,14.98,N,A*2F\r\n$IIVWT,002,L,14.98,N,07.71,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112226,,,,00,*4C\r\n$IIDBT,026.37,f,008.04,M,004.34,F*2E\r\n$GPGLL,5959.075,N,02325.727,E,112226,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,220.15,T,220.15,M,1.03,N,,,A*63\r\n$IIMWV,350,R,16.52,N,A*25\r\n$IIVWT,011,L,15.33,N,07.89,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112228,,,,00,*42\r\n$IIDBT,026.37,f,008.04,M,004.34,F*2E\r\n$GPGLL,5959.075,N,02325.726,E,112228,A,A*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.69,N,09.62,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,218.29,T,218.29,M,1.01,N,,,A*61\r\n$IIMWV,354,T,16.95,N,A*2C\r\n$IIVWT,007,L,16.95,N,08.72,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112230,,,,00,*4B\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.074,N,02325.725,E,112230,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.31,N,08.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,216.72,T,216.72,M,1.00,N,,,A*60\r\n$IIMWV,353,R,15.74,N,A*21\r\n$IIVWT,007,L,14.63,N,07.53,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112232,,,,00,*49\r\n$IIDBT,026.27,f,008.01,M,004.32,F*2C\r\n$GPGLL,5959.074,N,02325.725,E,112232,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,216.26,T,216.26,M,1.00,N,,,A*60\r\n$IIMWV,359,T,15.57,N,A*2C\r\n$IIVWT,002,L,15.57,N,08.01,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112234,,,,00,*4F\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5959.073,N,02325.724,E,112234,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.12,N,02.07,K*52\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,215.39,T,215.39,M,1.00,N,,,A*60\r\n$IIMWV,014,R,14.77,N,A*23\r\n$IIVWT,016,R,13.64,N,07.02,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112236,,,,00,*4D\r\n$IIDBT,026.41,f,008.05,M,004.35,F*2F\r\n$GPGLL,5959.073,N,02325.724,E,112236,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.65,N,06.51,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.11,N,02.05,K*53\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,214.37,T,214.37,M,1.00,N,,,A*60\r\n$IIMWV,019,T,12.67,N,A*2F\r\n$IIVWT,019,R,12.67,N,06.52,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112238,,,,00,*43\r\n$IIDBT,026.54,f,008.09,M,004.37,F*25\r\n$GPGLL,5959.072,N,02325.723,E,112239,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,211.57,T,211.57,M,1.00,N,,,A*60\r\n$IIMWV,019,R,15.16,N,A*28\r\n$IIVWT,021,R,13.91,N,07.16,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112240,,,,00,*4C\r\n$IIDBT,026.57,f,008.10,M,004.37,F*2E\r\n$GPGLL,5959.072,N,02325.723,E,112241,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,207.61,T,207.61,M,1.08,N,,,A*68\r\n$IIMWV,018,T,11.54,N,A*2D\r\n$IIVWT,018,R,11.54,N,05.94,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112242,,,,00,*4E\r\n$IIDBT,026.73,f,008.15,M,004.40,F*2D\r\n$GPGLL,5959.071,N,02325.723,E,112243,A,A*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.50,N,05.92,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,202.45,T,202.45,M,1.09,N,,,A*69\r\n$IIMWV,031,R,13.21,N,A*20\r\n$IIVWT,034,R,12.07,N,06.21,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112244,,,,00,*48\r\n$IIDBT,026.90,f,008.20,M,004.43,F*25\r\n$GPGLL,5959.070,N,02325.723,E,112245,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.91,N,07.16,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,196.58,T,196.58,M,1.17,N,,,A*66\r\n$IIMWV,026,T,14.44,N,A*24\r\n$IIVWT,026,R,14.44,N,07.43,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112246,,,,00,*4A\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5959.070,N,02325.723,E,112247,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.19,N,07.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.05,N,,*05\r\n$IIVTG,190.00,T,190.00,M,1.19,N,,,A*68\r\n$IIMWV,032,R,14.19,N,A*2F\r\n$IIVWT,035,R,13.04,N,06.71,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112248,,,,00,*44\r\n$IIDBT,027.26,f,008.31,M,004.49,F*23\r\n$GPGLL,5959.069,N,02325.723,E,112249,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.65,N,07.54,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,184.00,T,184.00,M,1.25,N,,,A*67\r\n$IIMWV,043,T,14.11,N,A*27\r\n$IIVWT,043,R,14.11,N,07.26,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112251,,,,00,*4C\r\n$IIDBT,027.42,f,008.36,M,004.51,F*2F\r\n$GPGLL,5959.068,N,02325.723,E,112251,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.35,N,08.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,178.85,T,178.85,M,1.29,N,,,A*6B\r\n$IIMWV,038,R,17.49,N,A*23\r\n$IIVWT,041,R,16.36,N,08.42,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112253,,,,00,*4E\r\n$IIDBT,027.62,f,008.42,M,004.55,F*2A\r\n$GPGLL,5959.068,N,02325.724,E,112253,A,A*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.95,N,08.21,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,174.26,T,174.26,M,1.30,N,,,A*63\r\n$IIMWV,034,T,14.50,N,A*22\r\n$IIVWT,034,R,14.50,N,07.46,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112255,,,,00,*48\r\n$IIDBT,027.62,f,008.42,M,004.55,F*2A\r\n$GPGLL,5959.067,N,02325.724,E,112255,A,A*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,170.72,T,170.72,M,1.35,N,,,A*66\r\n$IIMWV,064,R,16.71,N,A*20\r\n$IIVWT,069,R,16.03,N,08.25,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112257,,,,00,*4A\r\n$IIDBT,027.75,f,008.46,M,004.57,F*2A\r\n$GPGLL,5959.066,N,02325.724,E,112257,A,A*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.79,N,08.64,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,167.26,T,167.26,M,1.44,N,,,A*60\r\n$IIMWV,063,T,16.61,N,A*20\r\n$IIVWT,063,R,16.61,N,08.55,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112259,,,,00,*44\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5959.065,N,02325.726,E,112259,A,A*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.72,N,08.09,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,0.75,N,,*03\r\n$IIVTG,160.40,T,160.40,M,1.57,N,,,A*62\r\n$IIMWV,048,R,16.52,N,A*2F\r\n$IIVWT,053,R,15.37,N,07.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,112301,,,,00,*48\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5959.065,N,02325.726,E,112301,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.67,N,06.52,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,155.65,T,155.65,M,1.64,N,,,D*67\r\n$IIMWV,067,T,11.60,N,A*22\r\n$IIVWT,067,R,11.60,N,05.97,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112303,,,,00,*4A\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5959.064,N,02325.728,E,112303,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.16,N,07.80,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,150.61,T,150.61,M,1.74,N,,,D*66\r\n$IIMWV,064,R,15.16,N,A*22\r\n$IIVWT,070,R,14.40,N,07.41,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112305,,,,00,*4C\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5959.063,N,02325.729,E,112305,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.95,N,07.18,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,0.42,N,,*07\r\n$IIVTG,145.43,T,145.43,M,1.71,N,,,D*63\r\n$IIMWV,080,T,14.87,N,A*27\r\n$IIVWT,080,R,14.87,N,07.65,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112307,,,,00,*4E\r\n$IIDBT,027.88,f,008.50,M,004.59,F*21\r\n$GPGLL,5959.063,N,02325.730,E,112307,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.77,N,07.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,0.23,N,,*00\r\n$IIVTG,140.78,T,140.78,M,1.83,N,,,D*6E\r\n$IIMWV,079,R,14.77,N,A*28\r\n$IIVWT,086,R,14.48,N,07.45,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112309,,,,00,*40\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5959.062,N,02325.732,E,112309,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,0.12,N,,*02\r\n$IIVTG,137.35,T,137.35,M,1.86,N,,,D*6B\r\n$IIMWV,096,T,15.43,N,A*29\r\n$IIVWT,096,R,15.43,N,07.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112311,,,,00,*49\r\n$IIDBT,027.75,f,008.46,M,004.57,F*2A\r\n$GPGLL,5959.061,N,02325.734,E,112311,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,0.08,N,,*09\r\n$IIVTG,134.86,T,134.86,M,1.89,N,,,D*64\r\n$IIMWV,083,R,14.38,N,A*26\r\n$IIVWT,091,R,14.24,N,07.33,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112313,,,,00,*4B\r\n$IIDBT,027.72,f,008.45,M,004.56,F*2F\r\n$GPGLL,5959.060,N,02325.735,E,112313,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,0.21,N,,*02\r\n$IIVTG,132.19,T,132.19,M,1.97,N,,,D*6B\r\n$IIMWV,077,T,13.78,N,A*28\r\n$IIVWT,077,R,13.78,N,07.09,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112315,,,,00,*4D\r\n$IIDBT,027.72,f,008.45,M,004.56,F*2F\r\n$GPGLL,5959.060,N,02325.737,E,112315,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.15,N,08.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,-0.84,N,,*20\r\n$IIVTG,128.52,T,128.52,M,2.07,N,,,D*61\r\n$IIMWV,103,R,16.52,N,A*21\r\n$IIVWT,110,R,17.06,N,08.78,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112317,,,,00,*4F\r\n$IIDBT,027.65,f,008.43,M,004.55,F*2C\r\n$GPGLL,5959.059,N,02325.739,E,112317,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.74,N,08.10,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,-0.49,N,,*21\r\n$IIVTG,124.23,T,124.23,M,2.12,N,,,D*65\r\n$IIMWV,104,T,15.49,N,A*29\r\n$IIVWT,104,R,15.49,N,07.97,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112319,,,,00,*41\r\n$IIDBT,027.52,f,008.39,M,004.53,F*23\r\n$GPGLL,5959.059,N,02325.742,E,112319,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.25,N,07.85,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,-0.99,N,,*2C\r\n$IIVTG,120.06,T,120.06,M,2.23,N,,,D*67\r\n$IIMWV,120,R,15.35,N,A*22\r\n$IIVWT,126,R,16.42,N,08.45,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112321,,,,00,*4A\r\n$IIDBT,027.36,f,008.34,M,004.50,F*2F\r\n$GPGLL,5959.058,N,02325.744,E,112322,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.35,N,08.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,-0.92,N,,*27\r\n$IIVTG,114.86,T,114.86,M,2.28,N,,,D*6C\r\n$IIMWV,110,T,16.71,N,A*24\r\n$IIVWT,110,R,16.71,N,08.60,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112323,,,,00,*48\r\n$IIDBT,027.32,f,008.33,M,004.50,F*2C\r\n$GPGLL,5959.058,N,02325.747,E,112324,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.78,N,08.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.09,N,03.87,K*52\r\n$IIVPW,-1.62,N,,*29\r\n$IIVTG,109.59,T,109.59,M,2.35,N,,,D*60\r\n$IIMWV,131,R,14.38,N,A*2E\r\n$IIVWT,137,R,15.86,N,08.16,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112325,,,,00,*4E\r\n$IIDBT,027.49,f,008.38,M,004.52,F*29\r\n$GPGLL,5959.058,N,02325.749,E,112326,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,-1.58,N,,*20\r\n$IIVTG,103.83,T,103.83,M,2.46,N,,,D*64\r\n$IIMWV,134,T,15.88,N,A*27\r\n$IIVWT,134,R,15.88,N,08.17,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112327,,,,00,*4C\r\n$IIDBT,027.42,f,008.36,M,004.51,F*2F\r\n$GPGLL,5959.058,N,02325.752,E,112328,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.79,N,07.61,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.20,N,04.07,K*56\r\n$IIVPW,-1.84,N,,*21\r\n$IIVTG,097.33,T,097.33,M,2.54,N,,,D*67\r\n$IIMWV,149,R,12.82,N,A*26\r\n$IIVWT,154,R,14.94,N,07.69,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112329,,,,00,*42\r\n$IIDBT,027.39,f,008.35,M,004.51,F*20\r\n$GPGLL,5959.058,N,02325.755,E,112330,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.28,N,04.22,K*59\r\n$IIVPW,-1.76,N,,*2C\r\n$IIVTG,089.93,T,089.93,M,2.66,N,,,D*66\r\n$IIMWV,156,T,12.16,N,A*23\r\n$IIVWT,156,R,12.16,N,06.26,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112331,,,,00,*4B\r\n$IIDBT,027.00,f,008.23,M,004.44,F*29\r\n$GPGLL,5959.058,N,02325.758,E,112332,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.67,N,06.52,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.31,N,04.27,K*54\r\n$IIVPW,-2.20,N,,*2C\r\n$IIVTG,082.21,T,082.21,M,2.69,N,,,D*69\r\n$IIMWV,157,R,11.07,N,A*27\r\n$IIVWT,161,R,13.33,N,06.86,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112334,,,,00,*4E\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5959.059,N,02325.761,E,112334,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.74,N,06.04,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,-1.99,N,,*2D\r\n$IIVTG,074.48,T,074.48,M,2.77,N,,,D*66\r\n$IIMWV,148,T,12.47,N,A*28\r\n$IIVWT,148,R,12.47,N,06.42,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112336,,,,00,*4C\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5959.059,N,02325.764,E,112336,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.60,N,05.97,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,-2.25,N,,*29\r\n$IIVTG,065.12,T,065.12,M,2.74,N,,,D*65\r\n$IIMWV,145,R,08.74,N,A*28\r\n$IIVWT,153,R,10.76,N,05.54,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112338,,,,00,*42\r\n$IIDBT,027.00,f,008.23,M,004.44,F*29\r\n$GPGLL,5959.060,N,02325.766,E,112338,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.08,N,05.19,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.42,N,04.48,K*59\r\n$IIVPW,-2.36,N,,*2B\r\n$IIVTG,057.33,T,057.33,M,2.71,N,,,D*60\r\n$IIMWV,157,T,10.90,N,A*2E\r\n$IIVWT,157,R,10.90,N,05.61,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112340,,,,00,*4D\r\n$IIDBT,026.73,f,008.15,M,004.40,F*2D\r\n$GPGLL,5959.062,N,02325.769,E,112340,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.08,N,05.19,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,052.38,T,052.38,M,2.78,N,,,D*69\r\n$IIMWV,172,R,07.77,N,A*20\r\n$IIVWT,174,R,10.22,N,05.26,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112342,,,,00,*4F\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.063,N,02325.771,E,112342,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.24,N,05.27,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,045.43,T,045.43,M,2.71,N,,,D*60\r\n$IIMWV,170,T,10.59,N,A*2E\r\n$IIVWT,170,R,10.59,N,05.45,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112344,,,,00,*49\r\n$IIDBT,026.57,f,008.10,M,004.37,F*2E\r\n$GPGLL,5959.064,N,02325.773,E,112344,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.30,N,07.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,-2.47,N,,*2D\r\n$IIVTG,042.98,T,042.98,M,2.70,N,,,D*61\r\n$IIMWV,176,R,13.21,N,A*22\r\n$IIVWT,176,R,15.74,N,08.10,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112346,,,,00,*4B\r\n$IIDBT,026.34,f,008.03,M,004.34,F*2A\r\n$GPGLL,5959.065,N,02325.775,E,112346,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.72,N,09.12,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.54,N,04.70,K*55\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,040.97,T,040.97,M,2.75,N,,,D*64\r\n$IIMWV,177,T,16.98,N,A*22\r\n$IIVWT,177,R,16.98,N,08.74,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112348,,,,00,*45\r\n$IIDBT,026.31,f,008.02,M,004.33,F*29\r\n$GPGLL,5959.066,N,02325.777,E,112348,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.56,N,04.74,K*53\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,039.99,T,039.99,M,2.79,N,,,D*68\r\n$IIMWV,171,R,09.71,N,A*2B\r\n$IIVWT,173,R,12.32,N,06.34,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112350,,,,00,*4C\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.067,N,02325.779,E,112350,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.06,N,05.69,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.59,N,04.79,K*51\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,039.60,T,039.60,M,2.80,N,,,D*6E\r\n$IIMWV,180,T,12.11,N,A*2F\r\n$IIVWT,180,R,12.11,N,06.23,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112352,,,,00,*4E\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.069,N,02325.781,E,112352,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.57,N,04.75,K*53\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,039.00,T,039.00,M,2.80,N,,,D*6E\r\n$IIMWV,173,R,10.49,N,A*2A\r\n$IIVWT,174,R,13.06,N,06.72,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112354,,,,00,*48\r\n$IIDBT,026.01,f,007.93,M,004.28,F*27\r\n$GPGLL,5959.070,N,02325.783,E,112354,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.03,N,08.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.59,N,04.79,K*51\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,039.23,T,039.23,M,2.80,N,,,D*6E\r\n$IIMWV,182,T,18.03,N,A*24\r\n$IIVWT,178,L,18.03,N,09.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112356,,,,00,*4A\r\n$IIDBT,025.78,f,007.86,M,004.24,F*22\r\n$GPGLL,5959.071,N,02325.785,E,112356,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.48,N,08.48,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.62,N,04.85,K*5A\r\n$IIVPW,-2.71,N,,*28\r\n$IIVTG,039.93,T,039.93,M,2.85,N,,,D*6B\r\n$IIMWV,185,R,13.21,N,A*2E\r\n$IIVWT,176,L,15.97,N,08.22,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112358,,,,00,*44\r\n$IIDBT,025.55,f,007.79,M,004.21,F*28\r\n$GPGLL,5959.072,N,02325.787,E,112358,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.95,N,08.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.65,N,04.90,K*59\r\n$IIVPW,-2.63,N,,*2B\r\n$IIVTG,040.11,T,040.11,M,2.89,N,,,D*67\r\n$IIMWV,177,T,16.07,N,A*24\r\n$IIVWT,177,R,16.07,N,08.27,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112400,,,,00,*4E\r\n$IIDBT,025.36,f,007.73,M,004.17,F*22\r\n$GPGLL,5959.073,N,02325.789,E,112400,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.00,N,08.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.67,N,04.94,K*5F\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,040.20,T,040.20,M,2.90,N,,,D*6F\r\n$IIMWV,176,R,14.77,N,A*26\r\n$IIVWT,177,R,17.45,N,08.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112402,,,,00,*4C\r\n$IIDBT,025.16,f,007.67,M,004.14,F*26\r\n$GPGLL,5959.074,N,02325.791,E,112402,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.88,N,09.20,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.71,N,05.01,K*55\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,040.38,T,040.38,M,2.92,N,,,D*6D\r\n$IIMWV,177,T,17.10,N,A*23\r\n$IIVWT,177,R,17.10,N,08.80,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112404,,,,00,*4A\r\n$IIDBT,025.06,f,007.64,M,004.12,F*22\r\n$GPGLL,5959.076,N,02325.793,E,112405,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.73,N,05.05,K*53\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,039.97,T,039.97,M,2.91,N,,,D*6E\r\n$IIMWV,168,R,12.05,N,A*2A\r\n$IIVWT,170,R,14.71,N,07.57,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112406,,,,00,*48\r\n$IIDBT,024.90,f,007.59,M,004.10,F*20\r\n$GPGLL,5959.077,N,02325.795,E,112407,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.73,N,05.05,K*53\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,039.39,T,039.39,M,2.95,N,,,D*6A\r\n$IIMWV,171,T,13.50,N,A*25\r\n$IIVWT,171,R,13.50,N,06.95,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112408,,,,00,*46\r\n$IIDBT,024.83,f,007.57,M,004.09,F*24\r\n$GPGLL,5959.078,N,02325.797,E,112409,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.23,N,08.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.74,N,05.07,K*56\r\n$IIVPW,-2.83,N,,*25\r\n$IIVTG,038.88,T,038.88,M,2.96,N,,,D*69\r\n$IIMWV,175,R,13.21,N,A*21\r\n$IIVWT,176,R,15.92,N,08.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112410,,,,00,*4F\r\n$IIDBT,024.60,f,007.50,M,004.05,F*22\r\n$GPGLL,5959.079,N,02325.799,E,112411,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.66,N,07.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.75,N,05.09,K*59\r\n$IIVPW,-2.80,N,,*26\r\n$IIVTG,038.94,T,038.94,M,2.92,N,,,D*6D\r\n$IIMWV,176,T,13.82,N,A*2D\r\n$IIVWT,176,R,13.82,N,07.11,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112412,,,,00,*4D\r\n$IIDBT,024.24,f,007.39,M,003.99,F*2F\r\n$GPGLL,5959.080,N,02325.801,E,112413,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.77,N,06.57,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.74,N,05.07,K*56\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,038.94,T,038.94,M,2.90,N,,,D*6F\r\n$IIMWV,193,R,09.71,N,A*27\r\n$IIVWT,170,L,12.42,N,06.39,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112414,,,,00,*4B\r\n$IIDBT,011.94,f,003.64,M,001.96,F*23\r\n$GPGLL,5959.082,N,02325.803,E,112415,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.72,N,05.03,K*54\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,038.91,T,038.91,M,2.90,N,,,D*6F\r\n$IIMWV,171,T,11.35,N,A*24\r\n$IIVWT,171,R,11.35,N,05.84,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112417,,,,00,*48\r\n$IIDBT,023.91,f,007.29,M,003.94,F*2A\r\n$GPGLL,5959.083,N,02325.805,E,112417,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.84,N,05.58,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.71,N,05.01,K*55\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,039.03,T,039.03,M,2.90,N,,,D*6F\r\n$IIMWV,167,R,09.71,N,A*2C\r\n$IIVWT,169,R,12.28,N,06.32,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112419,,,,00,*46\r\n$IIDBT,023.85,f,007.27,M,003.92,F*27\r\n$GPGLL,5959.084,N,02325.807,E,112419,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.70,N,06.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.69,N,04.98,K*5D\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,039.28,T,039.28,M,2.90,N,,,D*6F\r\n$IIMWV,174,T,11.21,N,A*24\r\n$IIVWT,174,R,11.21,N,05.77,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112421,,,,00,*4D\r\n$IIDBT,023.62,f,007.20,M,003.89,F*23\r\n$GPGLL,5959.085,N,02325.809,E,112421,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.66,N,04.92,K*58\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,039.42,T,039.42,M,2.90,N,,,D*6F\r\n$IIMWV,170,R,09.52,N,A*2B\r\n$IIVWT,172,R,12.22,N,06.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112423,,,,00,*4F\r\n$IIDBT,023.49,f,007.16,M,003.87,F*21\r\n$GPGLL,5959.087,N,02325.813,E,112423,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.69,N,04.98,K*5D\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,039.21,T,039.21,M,2.90,N,,,D*6F\r\n$IIMWV,169,T,13.43,N,A*2E\r\n$IIVWT,169,R,13.43,N,06.91,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112425,,,,00,*49\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,5959.088,N,02325.815,E,112425,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.71,N,06.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.67,N,04.94,K*5F\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,039.15,T,039.15,M,2.90,N,,,D*6F\r\n$IIMWV,175,R,09.52,N,A*2E\r\n$IIVWT,176,R,12.18,N,06.27,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112427,,,,00,*4B\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,5959.090,N,02325.816,E,112427,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.04,N,06.71,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.65,N,04.90,K*59\r\n$IIVPW,-2.56,N,,*2D\r\n$IIVTG,039.49,T,039.49,M,2.90,N,,,D*6F\r\n$IIMWV,159,T,12.49,N,A*26\r\n$IIVWT,159,R,12.49,N,06.43,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112429,,,,00,*45\r\n$IIDBT,022.80,f,006.95,M,003.75,F*22\r\n$GPGLL,5959.091,N,02325.818,E,112429,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.09,N,06.22,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,039.22,T,039.22,M,2.90,N,,,D*6F\r\n$IIMWV,166,R,09.13,N,A*29\r\n$IIVWT,170,R,11.70,N,06.02,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112431,,,,00,*4C\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5959.093,N,02325.820,E,112431,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.94,N,05.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.65,N,04.90,K*59\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,039.08,T,039.08,M,2.90,N,,,D*6F\r\n$IIMWV,172,T,10.47,N,A*23\r\n$IIVWT,172,R,10.47,N,05.39,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112433,,,,00,*4E\r\n$IIDBT,022.53,f,006.87,M,003.71,F*2B\r\n$GPGLL,5959.094,N,02325.822,E,112433,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,038.22,T,038.22,M,2.90,N,,,D*6F\r\n$IIMWV,185,R,06.41,N,A*2C\r\n$IIVWT,176,L,09.05,N,04.66,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112435,,,,00,*48\r\n$IIDBT,022.44,f,006.84,M,003.69,F*27\r\n$GPGLL,5959.096,N,02325.824,E,112435,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.65,N,04.90,K*59\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,038.01,T,038.01,M,2.90,N,,,D*6F\r\n$IIMWV,180,T,09.89,N,A*24\r\n$IIVWT,180,R,09.89,N,05.09,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112437,,,,00,*4A\r\n$IIDBT,022.24,f,006.78,M,003.66,F*2D\r\n$GPGLL,5959.097,N,02325.826,E,112437,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.41,N,05.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.67,N,04.94,K*5F\r\n$IIVPW,-2.70,N,,*29\r\n$IIVTG,038.13,T,038.13,M,2.85,N,,,D*6B\r\n$IIMWV,173,R,08.16,N,A*29\r\n$IIVWT,175,R,10.90,N,05.61,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112439,,,,00,*44\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5959.098,N,02325.828,E,112439,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.11,N,05.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.67,N,04.94,K*5F\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,038.21,T,038.21,M,2.89,N,,,D*67\r\n$IIMWV,177,T,11.70,N,A*23\r\n$IIVWT,177,R,11.70,N,06.02,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112441,,,,00,*4B\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5959.099,N,02325.830,E,112441,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.76,N,05.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.66,N,04.92,K*58\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,038.58,T,038.58,M,2.82,N,,,D*6C\r\n$IIMWV,166,R,07.58,N,A*28\r\n$IIVWT,170,R,10.16,N,05.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112443,,,,00,*49\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5959.101,N,02325.831,E,112443,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.14,N,05.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.65,N,04.90,K*59\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,038.74,T,038.74,M,2.83,N,,,D*6D\r\n$IIMWV,176,T,10.34,N,A*23\r\n$IIVWT,176,R,10.34,N,05.32,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112445,,,,00,*4F\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5959.102,N,02325.833,E,112445,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.09,N,05.71,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,039.53,T,039.53,M,2.81,N,,,D*6F\r\n$IIMWV,161,R,08.55,N,A*2D\r\n$IIVWT,165,R,11.11,N,05.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112447,,,,00,*4D\r\n$IIDBT,021.45,f,006.54,M,003.53,F*21\r\n$GPGLL,5959.103,N,02325.835,E,112448,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.63,N,04.87,K*59\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,040.23,T,040.23,M,2.80,N,,,D*6E\r\n$IIMWV,179,T,11.06,N,A*2C\r\n$IIVWT,179,R,11.06,N,05.69,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112449,,,,00,*43\r\n$IIDBT,021.35,f,006.51,M,003.51,F*21\r\n$GPGLL,5959.104,N,02325.838,E,112450,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.61,N,06.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.58,N,04.77,K*5E\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,040.89,T,040.89,M,2.80,N,,,D*6E\r\n$IIMWV,184,R,09.71,N,A*21\r\n$IIVWT,177,L,12.30,N,06.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112451,,,,00,*4A\r\n$IIDBT,021.16,f,006.45,M,003.48,F*2D\r\n$GPGLL,5959.106,N,02325.840,E,112452,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.77,N,06.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.61,N,04.83,K*5F\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,041.17,T,041.17,M,2.80,N,,,D*6E\r\n$IIMWV,173,T,11.23,N,A*21\r\n$IIVWT,173,R,11.23,N,05.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112453,,,,00,*48\r\n$IIDBT,021.02,f,006.41,M,003.46,F*22\r\n$GPGLL,5959.107,N,02325.842,E,112454,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.41,N,05.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.63,N,,*2B\r\n$IIVTG,041.32,T,041.32,M,2.83,N,,,D*6D\r\n$IIMWV,160,R,08.55,N,A*2C\r\n$IIVWT,164,R,11.04,N,05.68,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112455,,,,00,*4E\r\n$IIDBT,020.89,f,006.37,M,003.44,F*23\r\n$GPGLL,5959.108,N,02325.844,E,112456,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.92,N,06.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.40,N,,*2A\r\n$IIVTG,040.51,T,040.51,M,2.81,N,,,D*6F\r\n$IIMWV,159,T,12.92,N,A*20\r\n$IIVWT,159,R,12.92,N,06.65,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112458,,,,00,*43\r\n$IIDBT,010.99,f,003.35,M,001.81,F*2D\r\n$GPGLL,5959.109,N,02325.846,E,112458,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.30,N,06.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.63,N,04.87,K*59\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,040.15,T,040.15,M,2.80,N,,,D*6E\r\n$IIMWV,198,R,09.71,N,A*2C\r\n$IIVWT,166,L,12.26,N,06.31,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112500,,,,00,*4F\r\n$IIDBT,009.87,f,003.01,M,001.62,F*20\r\n$GPGLL,5959.111,N,02325.848,E,112500,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.43,N,05.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,040.19,T,040.19,M,2.80,N,,,D*6E\r\n$IIMWV,192,T,08.96,N,A*28\r\n$IIVWT,168,L,08.96,N,04.61,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112502,,,,00,*4D\r\n$IIDBT,020.40,f,006.22,M,003.36,F*27\r\n$GPGLL,5959.112,N,02325.850,E,112502,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.22,N,05.26,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,040.12,T,040.12,M,2.80,N,,,D*6E\r\n$IIMWV,168,R,09.13,N,A*27\r\n$IIVWT,170,R,11.68,N,06.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112504,,,,00,*4B\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.113,N,02325.852,E,112504,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,039.93,T,039.93,M,2.80,N,,,D*6E\r\n$IIMWV,171,T,15.90,N,A*2F\r\n$IIVWT,171,R,15.90,N,08.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112506,,,,00,*49\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.115,N,02325.855,E,112506,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,039.88,T,039.88,M,2.80,N,,,D*6E\r\n$IIMWV,174,R,11.46,N,A*23\r\n$IIVWT,175,R,13.95,N,07.18,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112508,,,,00,*47\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.116,N,02325.857,E,112508,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.62,N,04.85,K*5A\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,039.87,T,039.87,M,2.80,N,,,D*6E\r\n$IIMWV,175,T,13.17,N,A*22\r\n$IIVWT,175,R,13.17,N,06.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112510,,,,00,*4E\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.117,N,02325.859,E,112510,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.61,N,04.83,K*5F\r\n$IIVPW,-2.64,N,,*2C\r\n$IIVTG,039.99,T,039.99,M,2.80,N,,,D*6E\r\n$IIMWV,159,R,09.13,N,A*25\r\n$IIVWT,163,R,11.60,N,05.97,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112512,,,,00,*4C\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5959.118,N,02325.861,E,112512,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.58,N,06.99,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.62,N,04.85,K*5A\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,039.62,T,039.62,M,2.80,N,,,D*6E\r\n$IIMWV,172,T,14.69,N,A*2B\r\n$IIVWT,172,R,14.69,N,07.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112514,,,,00,*4A\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5959.119,N,02325.863,E,112514,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.45,N,07.95,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.66,N,04.92,K*58\r\n$IIVPW,-2.71,N,,*28\r\n$IIVTG,039.41,T,039.41,M,2.85,N,,,D*6B\r\n$IIMWV,172,R,12.05,N,A*21\r\n$IIVWT,173,R,14.71,N,07.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112516,,,,00,*48\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.120,N,02325.866,E,112516,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.54,N,08.51,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.69,N,04.98,K*5D\r\n$IIVPW,-2.78,N,,*21\r\n$IIVTG,039.35,T,039.35,M,2.89,N,,,D*67\r\n$IIMWV,175,T,14.77,N,A*23\r\n$IIVWT,175,R,14.77,N,07.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112518,,,,00,*46\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.122,N,02325.868,E,112518,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.56,N,06.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.72,N,05.03,K*54\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,039.56,T,039.56,M,2.90,N,,,D*6F\r\n$IIMWV,172,R,12.05,N,A*21\r\n$IIVWT,174,R,14.73,N,07.58,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112520,,,,00,*4D\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5959.123,N,02325.870,E,112520,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.08,N,07.76,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.70,N,05.00,K*55\r\n$IIVPW,-2.70,N,,*29\r\n$IIVTG,039.52,T,039.52,M,2.90,N,,,D*6F\r\n$IIMWV,181,T,15.92,N,A*22\r\n$IIVWT,179,L,15.92,N,08.19,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112522,,,,00,*4F\r\n$IIDBT,019.65,f,005.99,M,003.23,F*2D\r\n$GPGLL,5959.124,N,02325.872,E,112522,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.88,N,07.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.71,N,05.01,K*55\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,039.23,T,039.23,M,2.90,N,,,D*6F\r\n$IIMWV,163,R,13.41,N,A*20\r\n$IIVWT,165,R,15.99,N,08.23,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112524,,,,00,*49\r\n$IIDBT,019.78,f,006.03,M,003.25,F*27\r\n$GPGLL,5959.125,N,02325.874,E,112524,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.85,N,08.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.71,N,05.01,K*55\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,038.63,T,038.63,M,2.90,N,,,D*6F\r\n$IIMWV,168,T,16.58,N,A*20\r\n$IIVWT,168,R,16.58,N,08.53,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112526,,,,00,*4B\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.126,N,02325.876,E,112526,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.95,N,08.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.74,N,05.07,K*56\r\n$IIVPW,-2.76,N,,*2F\r\n$IIVTG,038.23,T,038.23,M,2.90,N,,,D*6F\r\n$IIMWV,181,R,14.38,N,A*25\r\n$IIVWT,179,L,17.22,N,08.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112528,,,,00,*45\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.128,N,02325.878,E,112529,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.50,N,08.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.75,N,05.09,K*59\r\n$IIVPW,-2.71,N,,*28\r\n$IIVTG,038.36,T,038.36,M,2.90,N,,,D*6F\r\n$IIMWV,178,T,16.67,N,A*2D\r\n$IIVWT,178,R,16.67,N,08.58,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112530,,,,00,*4C\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.129,N,02325.880,E,112531,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.71,N,08.60,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.80,N,05.18,K*53\r\n$IIVPW,-2.94,N,,*23\r\n$IIVTG,039.81,T,039.81,M,2.97,N,,,D*68\r\n$IIMWV,176,R,13.41,N,A*24\r\n$IIVWT,177,R,16.34,N,08.41,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112532,,,,00,*4E\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.130,N,02325.883,E,112533,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.75,N,08.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.87,N,05.31,K*5F\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,040.23,T,040.23,M,3.04,N,,,D*63\r\n$IIMWV,176,T,16.34,N,A*25\r\n$IIVWT,176,R,16.34,N,08.41,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112534,,,,00,*48\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.131,N,02325.885,E,112535,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.66,N,09.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.90,N,05.37,K*5F\r\n$IIVPW,-2.91,N,,*26\r\n$IIVTG,040.31,T,040.31,M,3.09,N,,,D*6E\r\n$IIMWV,189,R,14.77,N,A*26\r\n$IIVWT,172,L,17.66,N,09.09,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112536,,,,00,*4A\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.133,N,02325.887,E,112537,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.90,N,05.37,K*5F\r\n$IIVPW,-2.92,N,,*25\r\n$IIVTG,040.10,T,040.10,M,3.10,N,,,D*66\r\n$IIMWV,182,T,13.49,N,A*21\r\n$IIVWT,178,L,13.49,N,06.94,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112538,,,,00,*44\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.134,N,02325.889,E,112539,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.99,N,07.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.91,N,05.38,K*51\r\n$IIVPW,-2.90,N,,*27\r\n$IIVTG,039.42,T,039.42,M,3.10,N,,,D*66\r\n$IIMWV,180,R,10.88,N,A*2B\r\n$IIVWT,180,R,13.82,N,07.11,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112541,,,,00,*4A\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.135,N,02325.891,E,112541,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.89,N,05.35,K*55\r\n$IIVPW,-2.74,N,,*2D\r\n$IIVTG,039.25,T,039.25,M,3.02,N,,,D*65\r\n$IIMWV,172,T,13.82,N,A*29\r\n$IIVWT,172,R,13.82,N,07.11,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112543,,,,00,*48\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.137,N,02325.893,E,112543,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.92,N,05.40,K*5D\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,039.04,T,039.04,M,3.01,N,,,D*66\r\n$IIMWV,172,R,10.49,N,A*2B\r\n$IIVWT,174,R,13.41,N,06.90,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112545,,,,00,*4E\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.138,N,02325.895,E,112545,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.81,N,07.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.93,N,05.42,K*5E\r\n$IIVPW,-2.97,N,,*20\r\n$IIVTG,038.16,T,038.16,M,3.05,N,,,D*62\r\n$IIMWV,175,T,14.96,N,A*2C\r\n$IIVWT,175,R,14.96,N,07.70,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112547,,,,00,*4C\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.139,N,02325.897,E,112547,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.93,N,05.42,K*5E\r\n$IIVPW,-2.70,N,,*29\r\n$IIVTG,037.72,T,037.72,M,3.09,N,,,D*6E\r\n$IIMWV,173,R,10.88,N,A*27\r\n$IIVWT,175,R,13.66,N,07.03,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112549,,,,00,*42\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.141,N,02325.901,E,112549,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.92,N,05.40,K*5D\r\n$IIVPW,-2.92,N,,*25\r\n$IIVTG,039.29,T,039.29,M,3.10,N,,,D*66\r\n$IIMWV,170,T,15.76,N,A*26\r\n$IIVWT,170,R,15.76,N,08.11,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112551,,,,00,*4B\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.143,N,02325.903,E,112551,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.23,N,08.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.96,N,05.48,K*51\r\n$IIVPW,-2.96,N,,*21\r\n$IIVTG,039.55,T,039.55,M,3.15,N,,,D*63\r\n$IIMWV,174,R,13.41,N,A*26\r\n$IIVWT,175,R,16.50,N,08.49,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112553,,,,00,*49\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.144,N,02325.905,E,112553,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.82,N,08.14,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.00,N,05.55,K*53\r\n$IIVPW,-2.94,N,,*23\r\n$IIVTG,039.69,T,039.69,M,3.14,N,,,D*62\r\n$IIMWV,166,T,15.78,N,A*2F\r\n$IIVWT,166,R,15.78,N,08.12,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112555,,,,00,*4F\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.145,N,02325.907,E,112555,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.88,N,09.20,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.02,N,05.59,K*5D\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,038.90,T,038.90,M,3.11,N,,,D*67\r\n$IIMWV,156,R,15.16,N,A*22\r\n$IIVWT,160,R,17.96,N,09.24,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112557,,,,00,*4D\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.147,N,02325.909,E,112557,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.35,N,08.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.02,N,05.59,K*5D\r\n$IIVPW,-2.99,N,,*2E\r\n$IIVTG,038.62,T,038.62,M,3.15,N,,,D*63\r\n$IIMWV,166,T,17.66,N,A*22\r\n$IIVWT,166,R,17.66,N,09.09,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112559,,,,00,*43\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.148,N,02325.911,E,112559,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.67,N,07.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.03,N,05.61,K*57\r\n$IIVPW,-3.00,N,,*2F\r\n$IIVTG,040.36,T,040.36,M,3.19,N,,,D*6F\r\n$IIMWV,147,R,12.44,N,A*22\r\n$IIVWT,153,R,15.00,N,07.72,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112601,,,,00,*4D\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.149,N,02325.914,E,112601,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.18,N,07.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.05,N,05.64,K*54\r\n$IIVPW,-2.86,N,,*20\r\n$IIVTG,042.34,T,042.34,M,3.25,N,,,D*60\r\n$IIMWV,163,T,15.78,N,A*2A\r\n$IIVWT,163,R,15.78,N,08.12,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112603,,,,00,*4F\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5959.151,N,02325.916,E,112603,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.20,N,08.85,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.08,N,05.70,K*5C\r\n$IIVPW,-2.92,N,,*25\r\n$IIVTG,042.86,T,042.86,M,3.29,N,,,D*6C\r\n$IIMWV,150,R,14.19,N,A*2A\r\n$IIVWT,155,R,16.89,N,08.69,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112605,,,,00,*49\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.152,N,02325.919,E,112605,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.27,N,09.40,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.12,N,05.77,K*50\r\n$IIVPW,-3.21,N,,*2C\r\n$IIVTG,043.24,T,043.24,M,3.30,N,,,D*64\r\n$IIMWV,163,T,18.23,N,A*29\r\n$IIVWT,163,R,18.23,N,09.38,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112607,,,,00,*4B\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.154,N,02325.921,E,112607,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.48,N,08.48,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.18,N,05.88,K*5A\r\n$IIVPW,-3.23,N,,*2E\r\n$IIVTG,042.68,T,042.68,M,3.30,N,,,D*64\r\n$IIMWV,154,R,12.05,N,A*25\r\n$IIVWT,159,R,14.85,N,07.64,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112609,,,,00,*45\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.155,N,02325.924,E,112609,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.18,N,07.81,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.18,N,05.88,K*5A\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,042.62,T,042.62,M,3.30,N,,,D*64\r\n$IIMWV,161,T,15.68,N,A*29\r\n$IIVWT,161,R,15.68,N,08.07,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112611,,,,00,*4C\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.156,N,02325.926,E,112612,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.74,N,09.13,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,-3.05,N,,*2A\r\n$IIVTG,042.70,T,042.70,M,3.30,N,,,D*64\r\n$IIMWV,154,R,14.38,N,A*2D\r\n$IIVWT,159,R,17.31,N,08.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112613,,,,00,*4E\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.158,N,02325.929,E,112614,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.56,N,08.52,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,042.48,T,042.48,M,3.30,N,,,D*64\r\n$IIMWV,168,T,17.45,N,A*2D\r\n$IIVWT,168,R,17.45,N,08.98,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112615,,,,00,*48\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.159,N,02325.931,E,112616,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.07,N,09.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.17,N,05.87,K*5A\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,042.47,T,042.47,M,3.30,N,,,D*64\r\n$IIMWV,166,R,15.35,N,A*20\r\n$IIVWT,168,R,18.38,N,09.46,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112617,,,,00,*4A\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.160,N,02325.933,E,112618,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.73,N,09.64,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.17,N,05.87,K*5A\r\n$IIVPW,-2.96,N,,*21\r\n$IIVTG,042.54,T,042.54,M,3.30,N,,,D*64\r\n$IIMWV,168,T,18.31,N,A*21\r\n$IIVWT,168,R,18.31,N,09.42,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112619,,,,00,*44\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.162,N,02325.936,E,112620,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.38,N,09.46,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-3.09,N,,*26\r\n$IIVTG,041.86,T,041.86,M,3.30,N,,,D*64\r\n$IIMWV,167,R,13.80,N,A*29\r\n$IIVWT,170,R,16.85,N,08.67,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112621,,,,00,*4F\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.163,N,02325.938,E,112622,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.96,N,09.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.17,N,05.87,K*5A\r\n$IIVPW,-3.21,N,,*2C\r\n$IIVTG,039.99,T,039.99,M,3.30,N,,,D*64\r\n$IIMWV,173,T,18.58,N,A*24\r\n$IIVWT,173,R,18.58,N,09.56,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112624,,,,00,*4A\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.165,N,02325.941,E,112624,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.37,N,08.94,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.17,N,05.87,K*5A\r\n$IIVPW,-3.00,N,,*2F\r\n$IIVTG,040.37,T,040.37,M,3.30,N,,,D*64\r\n$IIMWV,172,R,15.16,N,A*24\r\n$IIVWT,174,R,18.19,N,09.36,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112626,,,,00,*48\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.166,N,02325.943,E,112626,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.84,N,10.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.15,N,05.83,K*5C\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,040.19,T,040.19,M,3.30,N,,,D*64\r\n$IIMWV,182,T,18.83,N,A*2C\r\n$IIVWT,178,L,18.83,N,09.69,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112628,,,,00,*46\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.167,N,02325.945,E,112628,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.96,N,08.73,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,041.12,T,041.12,M,3.30,N,,,D*64\r\n$IIMWV,165,R,12.82,N,A*28\r\n$IIVWT,168,R,15.93,N,08.20,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112630,,,,00,*4F\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5959.169,N,02325.948,E,112630,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.36,N,08.42,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-2.96,N,,*21\r\n$IIVTG,041.61,T,041.61,M,3.30,N,,,D*64\r\n$IIMWV,170,T,17.88,N,A*25\r\n$IIVWT,170,R,17.88,N,09.20,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112632,,,,00,*4D\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.171,N,02325.951,E,112632,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.24,N,09.90,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.15,N,05.83,K*5C\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,041.09,T,041.09,M,3.30,N,,,D*64\r\n$IIMWV,175,R,16.13,N,A*25\r\n$IIVWT,176,R,19.30,N,09.93,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112634,,,,00,*4B\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.172,N,02325.954,E,112634,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.81,N,08.65,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,040.92,T,040.92,M,3.30,N,,,D*64\r\n$IIMWV,178,T,16.83,N,A*27\r\n$IIVWT,178,R,16.83,N,08.66,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112636,,,,00,*49\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.173,N,02325.956,E,112636,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.01,N,09.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,-3.27,N,,*2A\r\n$IIVTG,040.41,T,040.41,M,3.30,N,,,D*64\r\n$IIMWV,174,R,16.13,N,A*24\r\n$IIVWT,175,R,19.43,N,10.00,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112638,,,,00,*47\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.175,N,02325.959,E,112638,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.65,N,10.11,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.18,N,05.88,K*5A\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,040.40,T,040.40,M,3.30,N,,,D*64\r\n$IIMWV,179,T,18.44,N,A*23\r\n$IIVWT,179,R,18.44,N,09.49,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112640,,,,00,*48\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.176,N,02325.961,E,112640,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.94,N,09.23,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.18,N,05.88,K*5A\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,040.35,T,040.35,M,3.30,N,,,D*64\r\n$IIMWV,181,R,14.19,N,A*26\r\n$IIVWT,179,L,17.41,N,08.96,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112642,,,,00,*4A\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.178,N,02325.963,E,112642,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.27,N,08.37,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.20,N,05.92,K*5A\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,040.46,T,040.46,M,3.35,N,,,D*61\r\n$IIMWV,173,T,16.98,N,A*26\r\n$IIVWT,173,R,16.98,N,08.74,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112644,,,,00,*4C\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.179,N,02325.966,E,112644,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.86,N,09.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.20,N,05.92,K*5A\r\n$IIVPW,-3.10,N,,*2E\r\n$IIVTG,040.52,T,040.52,M,3.34,N,,,D*60\r\n$IIMWV,172,R,15.16,N,A*24\r\n$IIVWT,174,R,18.33,N,09.43,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112646,,,,00,*4E\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.181,N,02325.968,E,112646,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.37,N,08.94,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.22,N,05.96,K*5C\r\n$IIVPW,-3.23,N,,*2E\r\n$IIVTG,039.80,T,039.80,M,3.36,N,,,D*62\r\n$IIMWV,169,T,17.90,N,A*24\r\n$IIVWT,169,R,17.90,N,09.21,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112648,,,,00,*40\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5959.182,N,02325.970,E,112648,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.77,N,09.66,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.23,N,05.98,K*53\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,038.83,T,038.83,M,3.39,N,,,D*6D\r\n$IIMWV,173,R,15.74,N,A*21\r\n$IIVWT,174,R,18.79,N,09.67,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112650,,,,00,*49\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5959.183,N,02325.973,E,112650,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.46,N,09.50,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.21,N,05.94,K*5D\r\n$IIVPW,-3.08,N,,*27\r\n$IIVTG,038.23,T,038.23,M,3.32,N,,,D*66\r\n$IIMWV,168,T,19.22,N,A*22\r\n$IIVWT,168,R,19.22,N,09.89,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112652,,,,00,*4B\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.185,N,02325.975,E,112652,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.56,N,09.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.21,N,05.94,K*5D\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,039.78,T,039.78,M,3.36,N,,,D*62\r\n$IIMWV,174,R,16.13,N,A*24\r\n$IIVWT,175,R,19.32,N,09.94,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112654,,,,00,*4D\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.186,N,02325.978,E,112655,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.61,N,10.09,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.22,N,05.96,K*5C\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,040.82,T,040.82,M,3.34,N,,,D*60\r\n$IIMWV,171,T,18.44,N,A*2B\r\n$IIVWT,171,R,18.44,N,09.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112656,,,,00,*4F\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.188,N,02325.980,E,112657,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.44,N,08.46,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.20,N,05.92,K*5A\r\n$IIVPW,-3.06,N,,*29\r\n$IIVTG,041.96,T,041.96,M,3.31,N,,,D*65\r\n$IIMWV,163,R,14.19,N,A*2A\r\n$IIVWT,166,R,17.20,N,08.85,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112658,,,,00,*41\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.189,N,02325.983,E,112659,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.97,N,08.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.19,N,05.90,K*52\r\n$IIVPW,-3.13,N,,*2D\r\n$IIVTG,043.89,T,043.89,M,3.30,N,,,D*64\r\n$IIMWV,177,T,15.23,N,A*21\r\n$IIVWT,177,R,15.23,N,07.84,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112700,,,,00,*4D\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.190,N,02325.985,E,112701,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.14,N,05.81,K*5F\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,044.47,T,044.47,M,3.30,N,,,D*64\r\n$IIMWV,150,R,10.88,N,A*26\r\n$IIVWT,157,R,13.68,N,07.04,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112702,,,,00,*4F\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.192,N,02325.988,E,112703,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.08,N,05.70,K*5C\r\n$IIVPW,-2.74,N,,*2D\r\n$IIVTG,044.69,T,044.69,M,3.23,N,,,D*66\r\n$IIMWV,161,T,13.35,N,A*27\r\n$IIVWT,161,R,13.35,N,06.87,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112704,,,,00,*49\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.193,N,02325.990,E,112705,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.04,N,05.63,K*52\r\n$IIVPW,-2.64,N,,*2C\r\n$IIVTG,043.90,T,043.90,M,3.21,N,,,D*64\r\n$IIMWV,161,R,09.71,N,A*2A\r\n$IIVWT,166,R,12.55,N,06.46,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112707,,,,00,*4A\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.194,N,02325.993,E,112707,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.30,N,06.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.02,N,05.59,K*5D\r\n$IIVPW,-2.84,N,,*22\r\n$IIVTG,043.92,T,043.92,M,3.20,N,,,D*65\r\n$IIMWV,163,T,11.91,N,A*29\r\n$IIVWT,163,R,11.91,N,06.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112709,,,,00,*44\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5959.195,N,02325.995,E,112709,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.69,N,07.56,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.99,N,05.53,K*54\r\n$IIVPW,-2.84,N,,*22\r\n$IIVTG,043.78,T,043.78,M,3.15,N,,,D*63\r\n$IIMWV,170,R,12.05,N,A*23\r\n$IIVWT,172,R,14.96,N,07.70,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112711,,,,00,*4D\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.197,N,02325.997,E,112711,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.31,N,08.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.99,N,05.53,K*54\r\n$IIVPW,-2.97,N,,*20\r\n$IIVTG,044.30,T,044.30,M,3.11,N,,,D*67\r\n$IIMWV,162,T,18.01,N,A*28\r\n$IIVWT,162,R,18.01,N,09.27,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112713,,,,00,*4F\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.198,N,02326.000,E,112713,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.60,N,08.03,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.00,N,05.55,K*53\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,045.40,T,045.40,M,3.10,N,,,D*66\r\n$IIMWV,158,R,13.41,N,A*28\r\n$IIVWT,162,R,16.28,N,08.38,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112715,,,,00,*49\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5959.200,N,02326.004,E,112715,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.39,N,07.92,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.03,N,05.61,K*57\r\n$IIVPW,-3.01,N,,*2E\r\n$IIVTG,045.80,T,045.80,M,3.15,N,,,D*63\r\n$IIMWV,162,T,17.24,N,A*20\r\n$IIVWT,162,R,17.24,N,08.87,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112717,,,,00,*4B\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.201,N,02326.006,E,112717,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.18,N,08.84,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.04,N,05.63,K*52\r\n$IIVPW,-2.98,N,,*2F\r\n$IIVTG,045.90,T,045.90,M,3.19,N,,,D*6F\r\n$IIMWV,156,R,14.77,N,A*24\r\n$IIVWT,160,R,17.59,N,09.05,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112719,,,,00,*45\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5959.201,N,02326.007,E,112719,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.99,N,09.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.02,N,05.59,K*5D\r\n$IIVPW,-2.80,N,,*26\r\n$IIVTG,045.42,T,045.42,M,3.25,N,,,D*60\r\n$IIMWV,155,T,20.48,N,A*2A\r\n$IIVWT,155,R,20.48,N,10.54,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112721,,,,00,*4E\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5959.203,N,02326.011,E,112721,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.50,N,10.55,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.07,N,05.68,K*5A\r\n$IIVPW,-3.07,N,,*28\r\n$IIVTG,044.01,T,044.01,M,3.29,N,,,D*6C\r\n$IIMWV,158,R,18.66,N,A*26\r\n$IIVWT,161,R,21.75,N,11.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112723,,,,00,*4C\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.205,N,02326.014,E,112723,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,23.05,N,11.86,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,042.10,T,042.10,M,3.35,N,,,D*61\r\n$IIMWV,162,T,22.91,N,A*28\r\n$IIVWT,162,R,22.91,N,11.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112725,,,,00,*4A\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.206,N,02326.016,E,112725,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,21.67,N,11.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.22,N,05.96,K*5C\r\n$IIVPW,-3.10,N,,*2E\r\n$IIVTG,042.23,T,042.23,M,3.44,N,,,D*67\r\n$IIMWV,156,R,19.43,N,A*2E\r\n$IIVWT,160,R,22.58,N,11.62,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112727,,,,00,*48\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.208,N,02326.019,E,112727,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,22.91,N,11.79,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.29,N,06.09,K*52\r\n$IIVPW,-3.09,N,,*26\r\n$IIVTG,043.43,T,043.43,M,3.56,N,,,D*64\r\n$IIMWV,154,T,22.50,N,A*20\r\n$IIVWT,154,R,22.50,N,11.58,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112729,,,,00,*46\r\n$IIDBT,018.20,f,005.55,M,002.99,F*2D\r\n$GPGLL,5959.209,N,02326.022,E,112729,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.64,N,10.62,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.40,N,06.29,K*5F\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,044.81,T,044.81,M,3.59,N,,,D*6B\r\n$IIMWV,146,R,18.66,N,A*29\r\n$IIVWT,152,R,21.73,N,11.18,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112731,,,,00,*4F\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.210,N,02326.025,E,112731,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,21.59,N,11.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.49,N,06.46,K*5F\r\n$IIVPW,-3.18,N,,*26\r\n$IIVTG,045.50,T,045.50,M,3.72,N,,,D*62\r\n$IIMWV,150,T,21.47,N,A*21\r\n$IIVWT,150,R,21.47,N,11.05,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112733,,,,00,*4D\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.212,N,02326.028,E,112733,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.84,N,10.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.54,N,06.55,K*51\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,047.40,T,047.40,M,3.78,N,,,D*68\r\n$IIMWV,142,R,15.74,N,A*23\r\n$IIVWT,149,R,18.77,N,09.66,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112735,,,,00,*4B\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.213,N,02326.031,E,112735,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.64,N,09.59,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.59,N,06.64,K*5E\r\n$IIVPW,-3.42,N,,*29\r\n$IIVTG,049.55,T,049.55,M,3.80,N,,,D*6F\r\n$IIMWV,161,T,19.03,N,A*28\r\n$IIVWT,161,R,19.03,N,09.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112737,,,,00,*49\r\n$IIDBT,018.20,f,005.55,M,002.99,F*2D\r\n$GPGLL,5959.215,N,02326.034,E,112738,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.96,N,08.73,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.59,N,06.64,K*5E\r\n$IIVPW,-3.41,N,,*2A\r\n$IIVTG,048.46,T,048.46,M,3.75,N,,,D*65\r\n$IIMWV,148,R,13.80,N,A*24\r\n$IIVWT,154,R,16.95,N,08.72,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112739,,,,00,*47\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.215,N,02326.036,E,112740,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.35,N,07.90,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.56,N,06.59,K*5F\r\n$IIVPW,-3.42,N,,*29\r\n$IIVTG,047.07,T,047.07,M,3.71,N,,,D*61\r\n$IIMWV,165,T,15.72,N,A*26\r\n$IIVWT,165,R,15.72,N,08.09,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112741,,,,00,*48\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5959.217,N,02326.040,E,112742,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.66,N,09.60,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.55,N,06.57,K*52\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,045.79,T,045.79,M,3.70,N,,,D*60\r\n$IIMWV,150,R,15.74,N,A*20\r\n$IIVWT,155,R,18.83,N,09.69,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112743,,,,00,*4A\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.218,N,02326.041,E,112744,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.15,N,10.37,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.50,N,06.48,K*59\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,044.42,T,044.42,M,3.70,N,,,D*60\r\n$IIMWV,162,T,20.50,N,A*27\r\n$IIVWT,162,R,20.50,N,10.55,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112745,,,,00,*4C\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.220,N,02326.046,E,112746,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.08,N,09.82,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.52,N,06.51,K*53\r\n$IIVPW,-3.42,N,,*29\r\n$IIVTG,043.78,T,043.78,M,3.70,N,,,D*60\r\n$IIMWV,165,R,14.77,N,A*24\r\n$IIVWT,167,R,18.00,N,09.26,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112747,,,,00,*4E\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.221,N,02326.047,E,112748,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.39,N,07.92,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.45,N,06.38,K*5A\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,043.14,T,043.14,M,3.70,N,,,D*60\r\n$IIMWV,169,T,15.22,N,A*2F\r\n$IIVWT,169,R,15.22,N,07.83,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112750,,,,00,*48\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.223,N,02326.051,E,112750,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.79,N,08.64,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.45,N,06.38,K*5A\r\n$IIVPW,-3.39,N,,*25\r\n$IIVTG,042.81,T,042.81,M,3.63,N,,,D*62\r\n$IIMWV,154,R,14.38,N,A*2D\r\n$IIVWT,159,R,17.47,N,08.99,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112752,,,,00,*4A\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.224,N,02326.053,E,112752,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.37,N,08.94,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.46,N,06.40,K*56\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,042.40,T,042.40,M,3.61,N,,,D*60\r\n$IIMWV,165,T,16.67,N,A*21\r\n$IIVWT,165,R,16.67,N,08.58,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112754,,,,00,*4C\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.226,N,02326.057,E,112754,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.96,N,08.73,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.46,N,06.40,K*56\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,043.63,T,043.63,M,3.60,N,,,D*61\r\n$IIMWV,143,R,12.44,N,A*26\r\n$IIVWT,151,R,15.22,N,07.83,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112756,,,,00,*4E\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.227,N,02326.058,E,112756,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.90,N,07.67,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.44,N,06.37,K*54\r\n$IIVPW,-3.32,N,,*2E\r\n$IIVTG,044.01,T,044.01,M,3.60,N,,,D*61\r\n$IIMWV,154,T,15.33,N,A*21\r\n$IIVWT,154,R,15.33,N,07.89,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112758,,,,00,*40\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.229,N,02326.062,E,112758,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.39,N,06.27,K*5F\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,041.90,T,041.90,M,3.51,N,,,D*63\r\n$IIMWV,146,R,12.44,N,A*23\r\n$IIVWT,153,R,15.31,N,07.88,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112800,,,,00,*42\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.230,N,02326.065,E,112800,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.94,N,07.69,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.36,N,06.22,K*55\r\n$IIVPW,-3.12,N,,*2C\r\n$IIVTG,042.15,T,042.15,M,3.43,N,,,D*60\r\n$IIMWV,164,T,15.88,N,A*22\r\n$IIVWT,164,R,15.88,N,08.17,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112802,,,,00,*40\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.232,N,02326.067,E,112802,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.93,N,08.20,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.32,N,06.14,K*54\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,042.96,T,042.96,M,3.41,N,,,D*62\r\n$IIMWV,156,R,13.21,N,A*20\r\n$IIVWT,161,R,16.17,N,08.32,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112804,,,,00,*46\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.233,N,02326.070,E,112804,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.11,N,08.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.30,N,06.11,K*53\r\n$IIVPW,-3.01,N,,*2E\r\n$IIVTG,044.47,T,044.47,M,3.40,N,,,D*63\r\n$IIMWV,162,T,15.02,N,A*26\r\n$IIVWT,162,R,15.02,N,07.73,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112806,,,,00,*44\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.235,N,02326.074,E,112806,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.83,N,08.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.25,N,06.01,K*56\r\n$IIVPW,-3.08,N,,*27\r\n$IIVTG,046.49,T,046.49,M,3.33,N,,,D*67\r\n$IIMWV,159,R,15.16,N,A*2D\r\n$IIVWT,163,R,18.21,N,09.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112808,,,,00,*4A\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.236,N,02326.077,E,112808,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.89,N,09.72,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.24,N,06.00,K*56\r\n$IIVPW,-3.19,N,,*27\r\n$IIVTG,047.44,T,047.44,M,3.31,N,,,D*65\r\n$IIMWV,164,T,18.46,N,A*2D\r\n$IIVWT,164,R,18.46,N,09.50,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112810,,,,00,*43\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.237,N,02326.078,E,112810,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.87,N,08.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.24,N,06.00,K*56\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,047.98,T,047.98,M,3.30,N,,,D*64\r\n$IIMWV,167,R,13.21,N,A*22\r\n$IIVWT,170,R,16.50,N,08.49,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112812,,,,00,*41\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.239,N,02326.082,E,112812,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.26,N,06.03,K*57\r\n$IIVPW,-3.12,N,,*2C\r\n$IIVTG,047.80,T,047.80,M,3.38,N,,,D*6C\r\n$IIMWV,156,T,13.74,N,A*26\r\n$IIVWT,156,R,13.74,N,07.07,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112814,,,,00,*47\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.240,N,02326.085,E,112814,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.15,N,07.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.22,N,05.96,K*5C\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,047.18,T,047.18,M,3.32,N,,,D*66\r\n$IIMWV,145,R,11.46,N,A*21\r\n$IIVWT,152,R,14.15,N,07.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112816,,,,00,*45\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.241,N,02326.086,E,112816,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.20,N,05.92,K*5A\r\n$IIVPW,-2.77,N,,*2E\r\n$IIVTG,046.99,T,046.99,M,3.30,N,,,D*64\r\n$IIMWV,162,T,13.39,N,A*28\r\n$IIVWT,162,R,13.39,N,06.89,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112818,,,,00,*4B\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.242,N,02326.090,E,112818,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.67,N,07.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.15,N,05.83,K*5C\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,047.07,T,047.07,M,3.30,N,,,D*64\r\n$IIMWV,145,R,11.85,N,A*2E\r\n$IIVWT,152,R,14.48,N,07.45,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112820,,,,00,*40\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.244,N,02326.093,E,112821,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.83,N,08.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.15,N,05.83,K*5C\r\n$IIVPW,-3.10,N,,*2E\r\n$IIVTG,046.04,T,046.04,M,3.28,N,,,D*6D\r\n$IIMWV,160,T,17.18,N,A*2D\r\n$IIVWT,160,R,17.18,N,08.84,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112822,,,,00,*42\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.245,N,02326.095,E,112823,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.11,N,10.35,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.16,N,05.85,K*59\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,045.71,T,045.71,M,3.24,N,,,D*61\r\n$IIMWV,166,R,18.07,N,A*2C\r\n$IIVWT,168,R,21.05,N,10.83,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112824,,,,00,*44\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.246,N,02326.098,E,112825,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.17,N,10.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,046.20,T,046.20,M,3.29,N,,,D*6C\r\n$IIMWV,166,T,19.22,N,A*2C\r\n$IIVWT,166,R,19.22,N,09.89,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112826,,,,00,*46\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.247,N,02326.101,E,112827,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.86,N,09.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.14,N,05.81,K*5F\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,046.08,T,046.08,M,3.30,N,,,D*64\r\n$IIMWV,156,R,14.77,N,A*24\r\n$IIVWT,160,R,17.82,N,09.17,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112828,,,,00,*48\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.249,N,02326.103,E,112829,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.85,N,09.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.18,N,05.88,K*5A\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,046.12,T,046.12,M,3.35,N,,,D*61\r\n$IIMWV,168,T,19.38,N,A*29\r\n$IIVWT,168,R,19.38,N,09.97,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112830,,,,00,*41\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.250,N,02326.106,E,112831,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.06,N,09.81,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.26,N,06.03,K*57\r\n$IIVPW,-3.36,N,,*2A\r\n$IIVTG,047.36,T,047.36,M,3.44,N,,,D*67\r\n$IIMWV,172,R,14.77,N,A*22\r\n$IIVWT,173,R,18.01,N,09.27,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112833,,,,00,*42\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.251,N,02326.109,E,112833,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.61,N,09.06,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.26,N,06.03,K*57\r\n$IIVPW,-3.23,N,,*2E\r\n$IIVTG,047.49,T,047.49,M,3.53,N,,,D*61\r\n$IIMWV,179,T,17.53,N,A*2A\r\n$IIVWT,179,R,17.53,N,09.02,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112835,,,,00,*44\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.253,N,02326.112,E,112835,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.62,N,08.04,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.27,N,06.05,K*50\r\n$IIVPW,-3.21,N,,*2C\r\n$IIVTG,044.92,T,044.92,M,3.58,N,,,D*6A\r\n$IIMWV,193,R,11.85,N,A*25\r\n$IIVWT,170,L,15.00,N,07.72,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112837,,,,00,*46\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5959.254,N,02326.114,E,112837,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.67,N,08.58,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.23,N,05.98,K*53\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,039.75,T,039.75,M,3.60,N,,,D*61\r\n$IIMWV,208,T,17.10,N,A*28\r\n$IIVWT,152,L,17.10,N,08.80,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112839,,,,00,*48\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.256,N,02326.116,E,112839,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.63,N,08.56,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.24,N,06.00,K*56\r\n$IIVPW,-2.89,N,,*2F\r\n$IIVTG,030.39,T,030.39,M,3.60,N,,,D*61\r\n$IIMWV,210,R,12.82,N,A*29\r\n$IIVWT,156,L,15.76,N,08.11,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112841,,,,00,*47\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.258,N,02326.118,E,112841,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.23,N,05.98,K*53\r\n$IIVPW,-2.30,N,,*2D\r\n$IIVTG,022.37,T,022.37,M,3.60,N,,,D*61\r\n$IIMWV,227,T,15.37,N,A*22\r\n$IIVWT,133,L,15.37,N,07.91,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112843,,,,00,*45\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.260,N,02326.119,E,112843,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.76,N,08.11,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.21,N,05.94,K*5D\r\n$IIVPW,-2.05,N,,*2B\r\n$IIVTG,013.45,T,013.45,M,3.60,N,,,D*61\r\n$IIMWV,247,R,14.19,N,A*2F\r\n$IIVWT,123,L,15.66,N,08.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112845,,,,00,*43\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.262,N,02326.119,E,112845,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,-1.26,N,,*29\r\n$IIVTG,003.06,T,003.06,M,3.52,N,,,D*60\r\n$IIMWV,245,T,15.18,N,A*2B\r\n$IIVWT,115,L,15.18,N,07.81,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112847,,,,00,*41\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.264,N,02326.119,E,112847,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.65,N,07.54,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.05,N,05.64,K*54\r\n$IIVPW,-0.80,N,,*24\r\n$IIVTG,352.94,T,352.94,M,3.38,N,,,D*6C\r\n$IIMWV,273,R,15.35,N,A*27\r\n$IIVWT,097,L,15.43,N,07.94,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112849,,,,00,*4F\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5959.265,N,02326.118,E,112849,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.38,N,08.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.94,N,05.44,K*5F\r\n$IIVPW,-0.16,N,,*2B\r\n$IIVTG,343.41,T,343.41,M,3.25,N,,,D*60\r\n$IIMWV,269,T,16.96,N,A*20\r\n$IIVWT,091,L,16.96,N,08.73,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112851,,,,00,*46\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5959.267,N,02326.116,E,112851,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.58,N,08.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.79,N,05.16,K*5B\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,333.63,T,333.63,M,3.09,N,,,D*6E\r\n$IIMWV,289,R,16.71,N,A*21\r\n$IIVWT,080,L,16.03,N,08.25,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112853,,,,00,*44\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.268,N,02326.114,E,112853,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.71,N,08.60,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.66,N,04.92,K*58\r\n$IIVPW,0.57,N,,*03\r\n$IIVTG,325.31,T,325.31,M,2.95,N,,,D*6A\r\n$IIMWV,291,T,17.47,N,A*2A\r\n$IIVWT,069,L,17.47,N,08.99,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112855,,,,00,*42\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.269,N,02326.112,E,112855,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.16,N,08.83,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.52,N,04.66,K*54\r\n$IIVPW,0.85,N,,*0C\r\n$IIVTG,317.37,T,317.37,M,2.84,N,,,D*6A\r\n$IIMWV,301,R,18.46,N,A*2A\r\n$IIVWT,066,L,17.39,N,08.95,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112857,,,,00,*40\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.270,N,02326.108,E,112857,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.87,N,08.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,309.07,T,309.07,M,2.63,N,,,D*63\r\n$IIMWV,300,T,14.94,N,A*2E\r\n$IIVWT,060,L,14.94,N,07.69,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112859,,,,00,*4E\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.271,N,02326.107,E,112859,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.03,N,07.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.25,N,04.16,K*53\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,301.94,T,301.94,M,2.38,N,,,D*6D\r\n$IIMWV,312,R,14.77,N,A*26\r\n$IIVWT,054,L,13.47,N,06.93,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112901,,,,00,*42\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.271,N,02326.105,E,112901,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,296.03,T,296.03,M,2.25,N,,,D*61\r\n$IIMWV,315,T,15.12,N,A*25\r\n$IIVWT,045,L,15.12,N,07.78,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112903,,,,00,*40\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.272,N,02326.103,E,112904,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.72,N,08.09,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,290.11,T,290.11,M,2.16,N,,,D*61\r\n$IIMWV,319,R,16.71,N,A*29\r\n$IIVWT,045,L,15.43,N,07.94,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112905,,,,00,*46\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5959.272,N,02326.101,E,112906,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.14,N,07.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,283.55,T,283.55,M,1.99,N,,,D*65\r\n$IIMWV,322,T,14.75,N,A*21\r\n$IIVWT,038,L,14.75,N,07.59,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112907,,,,00,*44\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5959.272,N,02326.099,E,112908,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.70,N,09.11,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,277.96,T,277.96,M,1.87,N,,,D*6A\r\n$IIMWV,326,R,18.46,N,A*2F\r\n$IIVWT,037,L,17.20,N,08.85,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112909,,,,00,*4A\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5959.272,N,02326.097,E,112910,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,273.59,T,273.59,M,1.74,N,,,D*66\r\n$IIMWV,322,T,15.45,N,A*23\r\n$IIVWT,038,L,15.45,N,07.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112911,,,,00,*43\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5959.272,N,02326.095,E,112912,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,270.04,T,270.04,M,1.64,N,,,D*67\r\n$IIMWV,336,R,17.68,N,A*2D\r\n$IIVWT,026,L,16.28,N,08.38,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112913,,,,00,*41\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5959.273,N,02326.093,E,112914,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.04,N,08.77,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,267.01,T,267.01,M,1.61,N,,,D*62\r\n$IIMWV,334,T,16.38,N,A*2D\r\n$IIVWT,026,L,16.38,N,08.43,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112916,,,,00,*44\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5959.273,N,02326.092,E,112916,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.74,N,08.10,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.54,N,02.85,K*5A\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,264.00,T,264.00,M,1.53,N,,,D*63\r\n$IIMWV,340,R,16.71,N,A*25\r\n$IIVWT,022,L,15.49,N,07.97,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112918,,,,00,*4A\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5959.273,N,02326.090,E,112918,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.45,N,02.68,K*59\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,260.98,T,260.98,M,1.46,N,,,D*67\r\n$IIMWV,341,T,13.89,N,A*20\r\n$IIVWT,019,L,13.89,N,07.15,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112920,,,,00,*41\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5959.272,N,02326.089,E,112920,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.85,N,07.64,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,258.01,T,258.01,M,1.41,N,,,D*60\r\n$IIMWV,352,R,16.52,N,A*27\r\n$IIVWT,009,L,15.29,N,07.87,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112922,,,,00,*43\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5959.272,N,02326.087,E,112922,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,253.91,T,253.91,M,1.31,N,,,D*67\r\n$IIMWV,353,T,13.95,N,A*2E\r\n$IIVWT,007,L,13.95,N,07.18,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112924,,,,00,*45\r\n$IIDBT,016.76,f,005.11,M,002.76,F*21\r\n$GPGLL,5959.272,N,02326.085,E,112924,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.29,N,06.84,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,250.83,T,250.83,M,1.23,N,,,D*64\r\n$IIMWV,348,R,14.38,N,A*22\r\n$IIVWT,013,L,13.35,N,06.87,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112926,,,,00,*47\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5959.272,N,02326.084,E,112926,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,247.13,T,247.13,M,1.16,N,,,D*62\r\n$IIMWV,356,T,15.90,N,A*28\r\n$IIVWT,004,L,15.90,N,08.18,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112928,,,,00,*49\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5959.272,N,02326.083,E,112928,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.10,N,07.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,243.08,T,243.08,M,1.11,N,,,D*65\r\n$IIMWV,340,R,15.35,N,A*26\r\n$IIVWT,022,L,14.34,N,07.38,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112930,,,,00,*40\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5959.271,N,02326.082,E,112930,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.08,N,07.76,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.11,N,02.05,K*53\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,239.15,T,239.15,M,1.10,N,,,D*64\r\n$IIMWV,340,T,14.30,N,A*24\r\n$IIVWT,021,L,14.30,N,07.36,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112932,,,,00,*42\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5959.271,N,02326.081,E,112932,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.65,N,08.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,234.96,T,234.96,M,1.05,N,,,D*60\r\n$IIMWV,356,R,18.66,N,A*2A\r\n$IIVWT,004,L,17.61,N,09.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112934,,,,00,*44\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5959.270,N,02326.081,E,112934,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.45,N,08.98,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.06,N,01.96,K*5C\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,231.26,T,231.26,M,1.01,N,,,D*64\r\n$IIMWV,355,T,17.49,N,A*2D\r\n$IIVWT,005,L,17.49,N,09.00,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112936,,,,00,*46\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5959.270,N,02326.080,E,112936,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.50,N,09.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,228.54,T,228.54,M,0.93,N,,,D*6E\r\n$IIMWV,358,R,18.66,N,A*24\r\n$IIVWT,002,L,17.72,N,09.12,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112938,,,,00,*48\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5959.270,N,02326.079,E,112938,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.47,N,08.99,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.99,N,01.83,K*5F\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,226.86,T,226.86,M,0.91,N,,,D*6C\r\n$IIMWV,004,T,16.75,N,A*24\r\n$IIVWT,004,R,16.75,N,08.62,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112940,,,,00,*47\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5959.269,N,02326.079,E,112940,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.79,N,08.64,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,225.52,T,225.52,M,0.85,N,,,D*69\r\n$IIMWV,003,R,16.71,N,A*21\r\n$IIVWT,003,R,15.92,N,08.19,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112942,,,,00,*45\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5959.269,N,02326.078,E,112942,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.93,N,08.20,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.87,N,01.61,K*5C\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,224.35,T,224.35,M,0.81,N,,,D*6D\r\n$IIMWV,006,T,15.97,N,A*29\r\n$IIVWT,006,R,15.97,N,08.22,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112944,,,,00,*43\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5959.269,N,02326.078,E,112944,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.47,N,07.96,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,223.22,T,223.22,M,0.73,N,,,D*60\r\n$IIMWV,013,R,16.52,N,A*21\r\n$IIVWT,013,R,15.84,N,08.15,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112946,,,,00,*41\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5959.268,N,02326.077,E,112947,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,221.78,T,221.78,M,0.71,N,,,D*62\r\n$IIMWV,018,T,14.46,N,A*2B\r\n$IIVWT,018,R,14.46,N,07.44,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112948,,,,00,*4F\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5959.268,N,02326.077,E,112949,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.73,N,01.35,K*56\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,218.82,T,218.82,M,0.70,N,,,D*63\r\n$IIMWV,006,R,16.13,N,A*20\r\n$IIVWT,006,R,15.41,N,07.93,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112950,,,,00,*46\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5959.268,N,02326.076,E,112951,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,214.05,T,214.05,M,0.65,N,,,D*67\r\n$IIMWV,016,T,13.91,N,A*28\r\n$IIVWT,016,R,13.91,N,07.16,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112952,,,,00,*44\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5959.267,N,02326.076,E,112953,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.85,N,07.64,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,209.21,T,209.21,M,0.66,N,,,D*64\r\n$IIMWV,014,R,16.52,N,A*26\r\n$IIVWT,015,R,15.64,N,08.05,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112954,,,,00,*42\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5959.267,N,02326.076,E,112955,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.83,N,08.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,200.23,T,200.23,M,0.74,N,,,D*67\r\n$IIMWV,020,T,16.96,N,A*2F\r\n$IIVWT,020,R,16.96,N,08.73,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112956,,,,00,*40\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5959.266,N,02326.077,E,112957,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.34,N,08.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,191.28,T,191.28,M,0.71,N,,,D*62\r\n$IIMWV,010,R,16.52,N,A*22\r\n$IIVWT,010,R,15.80,N,08.13,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,112959,,,,00,*4F\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5959.266,N,02326.077,E,112959,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.78,N,09.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,182.57,T,182.57,M,0.78,N,,,D*6B\r\n$IIMWV,010,T,19.14,N,A*29\r\n$IIVWT,010,R,19.14,N,09.85,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113001,,,,00,*4A\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.265,N,02326.077,E,113001,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.98,N,09.25,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.69,N,01.27,K*5E\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,176.22,T,176.22,M,0.72,N,,,D*61\r\n$IIMWV,005,R,17.49,N,A*2D\r\n$IIVWT,005,R,16.81,N,08.65,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113003,,,,00,*48\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5959.265,N,02326.078,E,113003,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.00,N,08.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.67,N,01.24,K*53\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,171.43,T,171.43,M,0.70,N,,,D*63\r\n$IIMWV,357,T,17.00,N,A*22\r\n$IIVWT,003,L,17.00,N,08.75,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113005,,,,00,*4E\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5959.264,N,02326.078,E,113005,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.15,N,08.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.63,N,01.16,K*56\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,167.08,T,167.08,M,0.61,N,,,D*63\r\n$IIMWV,010,R,16.52,N,A*22\r\n$IIVWT,011,R,15.97,N,08.22,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113007,,,,00,*4C\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.264,N,02326.078,E,113007,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.59,N,01.09,K*51\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,166.17,T,166.17,M,0.53,N,,,D*62\r\n$IIMWV,359,T,14.22,N,A*2F\r\n$IIVWT,001,L,14.22,N,07.32,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113009,,,,00,*42\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.264,N,02326.078,E,113009,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.46,N,,*03\r\n$IIVTG,166.62,T,166.62,M,0.51,N,,,D*60\r\n$IIMWV,007,R,15.35,N,A*26\r\n$IIVWT,007,R,14.88,N,07.66,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113011,,,,00,*4B\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.263,N,02326.078,E,113011,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.51,N,00.94,K*5C\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,167.13,T,167.13,M,0.50,N,,,D*61\r\n$IIMWV,006,T,15.18,N,A*2E\r\n$IIVWT,006,R,15.18,N,07.81,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113013,,,,00,*49\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5959.263,N,02326.078,E,113013,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.77,N,07.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.51,N,00.94,K*5C\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,168.16,T,168.16,M,0.50,N,,,D*61\r\n$IIMWV,359,R,14.19,N,A*21\r\n$IIVWT,002,L,13.60,N,07.00,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113015,,,,00,*4F\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.263,N,02326.078,E,113015,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.56,N,06.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.59,N,,*0D\r\n$IIVTG,169.84,T,169.84,M,0.50,N,,,D*61\r\n$IIMWV,007,T,12.59,N,A*2D\r\n$IIVWT,007,R,12.59,N,06.48,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113017,,,,00,*4D\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.263,N,02326.078,E,113017,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.77,N,07.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.57,N,01.05,K*53\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,174.08,T,174.08,M,0.43,N,,,D*63\r\n$IIMWV,357,R,15.74,N,A*25\r\n$IIVWT,004,L,15.16,N,07.80,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113019,,,,00,*43\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.262,N,02326.078,E,113019,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,179.82,T,179.82,M,0.48,N,,,D*68\r\n$IIMWV,352,T,15.92,N,A*2E\r\n$IIVWT,008,L,15.92,N,08.19,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113021,,,,00,*48\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.262,N,02326.078,E,113021,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.58,N,01.07,K*5E\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,186.68,T,186.68,M,0.50,N,,,D*61\r\n$IIMWV,360,R,15.35,N,A*24\r\n$IIVWT,000,L,14.71,N,07.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113023,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.262,N,02326.077,E,113023,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.44,N,07.43,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.62,N,01.14,K*55\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,194.12,T,194.12,M,0.50,N,,,D*61\r\n$IIMWV,002,T,15.00,N,A*23\r\n$IIVWT,002,R,15.00,N,07.72,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113025,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.262,N,02326.077,E,113025,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.43,N,07.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.65,N,01.20,K*55\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,201.58,T,201.58,M,0.55,N,,,D*64\r\n$IIMWV,355,R,15.35,N,A*22\r\n$IIVWT,005,L,14.61,N,07.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113027,,,,00,*4E\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.261,N,02326.076,E,113028,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,208.49,T,208.49,M,0.59,N,,,D*68\r\n$IIMWV,359,T,14.94,N,A*22\r\n$IIVWT,001,L,14.94,N,07.69,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113029,,,,00,*40\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.261,N,02326.076,E,113030,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.71,N,01.31,K*50\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,213.90,T,213.90,M,0.60,N,,,D*62\r\n$IIMWV,342,R,16.71,N,A*27\r\n$IIVWT,018,L,16.01,N,08.24,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113031,,,,00,*49\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.261,N,02326.075,E,113032,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.41,N,06.90,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,218.12,T,218.12,M,0.65,N,,,D*67\r\n$IIMWV,353,T,13.95,N,A*2E\r\n$IIVWT,007,L,13.95,N,07.18,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113033,,,,00,*4B\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.261,N,02326.075,E,113034,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.48,N,07.45,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.76,N,01.40,K*51\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,221.61,T,221.61,M,0.69,N,,,D*6B\r\n$IIMWV,354,R,15.74,N,A*26\r\n$IIVWT,007,L,14.87,N,07.65,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113035,,,,00,*4D\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.260,N,02326.074,E,113036,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,222.33,T,222.33,M,0.65,N,,,D*67\r\n$IIMWV,003,T,14.53,N,A*25\r\n$IIVWT,003,R,14.53,N,07.48,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113037,,,,00,*4F\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.260,N,02326.073,E,113038,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.88,N,07.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,223.28,T,223.28,M,0.66,N,,,D*64\r\n$IIMWV,002,R,15.16,N,A*22\r\n$IIVWT,002,R,14.30,N,07.36,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113040,,,,00,*4F\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.260,N,02326.073,E,113040,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,223.50,T,223.50,M,0.64,N,,,D*66\r\n$IIMWV,358,T,17.82,N,A*27\r\n$IIVWT,003,L,17.82,N,09.17,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113042,,,,00,*4D\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.260,N,02326.072,E,113042,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.28,N,08.89,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,223.23,T,223.23,M,0.61,N,,,D*63\r\n$IIMWV,358,R,18.07,N,A*23\r\n$IIVWT,002,L,17.26,N,08.88,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113044,,,,00,*4B\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.259,N,02326.072,E,113044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.40,N,08.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.76,N,01.40,K*51\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,222.63,T,222.63,M,0.60,N,,,D*62\r\n$IIMWV,005,T,16.40,N,A*23\r\n$IIVWT,005,R,16.40,N,08.44,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113046,,,,00,*49\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.259,N,02326.072,E,113046,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.98,N,08.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.66,N,,*01\r\n$IIVTG,223.20,T,223.20,M,0.60,N,,,D*62\r\n$IIMWV,011,R,17.10,N,A*24\r\n$IIVWT,012,R,16.34,N,08.41,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113048,,,,00,*47\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.259,N,02326.071,E,113048,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.82,N,08.14,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,223.64,T,223.64,M,0.53,N,,,D*62\r\n$IIMWV,001,T,15.97,N,A*2E\r\n$IIVWT,001,R,15.97,N,08.22,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113050,,,,00,*4E\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.258,N,02326.070,E,113050,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.81,N,08.65,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.70,N,01.29,K*58\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,223.76,T,223.76,M,0.51,N,,,D*60\r\n$IIMWV,356,R,18.07,N,A*2D\r\n$IIVWT,004,L,17.41,N,08.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113052,,,,00,*4C\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.258,N,02326.070,E,113052,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.85,N,09.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.65,N,01.20,K*55\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,223.96,T,223.96,M,0.50,N,,,D*61\r\n$IIMWV,351,T,17.12,N,A*27\r\n$IIVWT,009,L,17.12,N,08.81,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113054,,,,00,*4A\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.258,N,02326.070,E,113054,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.54,N,08.51,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.60,N,01.11,K*52\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,224.94,T,224.94,M,0.43,N,,,D*63\r\n$IIMWV,355,R,19.04,N,A*2C\r\n$IIVWT,006,L,18.52,N,09.53,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113056,,,,00,*48\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.258,N,02326.069,E,113056,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.97,N,09.76,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,226.26,T,226.26,M,0.41,N,,,D*61\r\n$IIMWV,356,T,17.61,N,A*24\r\n$IIVWT,004,L,17.61,N,09.06,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113058,,,,00,*46\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.258,N,02326.069,E,113058,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.09,N,08.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.50,N,00.92,K*5B\r\n$IIVPW,0.40,N,,*05\r\n$IIVTG,227.52,T,227.52,M,0.35,N,,,D*62\r\n$IIMWV,359,R,16.71,N,A*2D\r\n$IIVWT,001,L,16.28,N,08.38,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113100,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.258,N,02326.069,E,113100,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.66,N,09.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.46,N,00.85,K*5A\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,228.70,T,228.70,M,0.31,N,,,D*66\r\n$IIMWV,356,T,17.68,N,A*2D\r\n$IIVWT,004,L,17.68,N,09.10,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113102,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5959.258,N,02326.069,E,113102,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.10,N,08.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.41,N,00.75,K*52\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,229.42,T,229.42,M,0.30,N,,,D*67\r\n$IIMWV,351,R,17.49,N,A*2F\r\n$IIVWT,009,L,17.08,N,08.79,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113104,,,,00,*4E\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.257,N,02326.068,E,113104,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.74,N,08.10,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.40,N,00.74,K*52\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,230.00,T,230.00,M,0.30,N,,,D*67\r\n$IIMWV,353,T,15.74,N,A*27\r\n$IIVWT,007,L,15.74,N,08.10,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113106,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.257,N,02326.068,E,113106,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.13,N,08.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,230.55,T,230.55,M,0.30,N,,,D*67\r\n$IIMWV,353,R,16.71,N,A*27\r\n$IIVWT,007,L,16.34,N,08.41,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113108,,,,00,*42\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.257,N,02326.068,E,113108,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.74,N,09.13,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.36,N,00.66,K*50\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,231.34,T,231.34,M,0.30,N,,,D*67\r\n$IIMWV,355,T,16.65,N,A*22\r\n$IIVWT,005,L,16.65,N,08.57,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113110,,,,00,*4B\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.257,N,02326.067,E,113111,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.30,N,08.39,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.37,N,00.68,K*5F\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,231.46,T,231.46,M,0.25,N,,,D*63\r\n$IIMWV,353,R,16.52,N,A*26\r\n$IIVWT,007,L,16.11,N,08.29,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113112,,,,00,*49\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.257,N,02326.067,E,113113,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.05,N,08.26,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,230.74,T,230.74,M,0.21,N,,,D*67\r\n$IIMWV,351,T,16.07,N,A*22\r\n$IIVWT,009,L,16.07,N,08.27,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113114,,,,00,*4F\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.257,N,02326.067,E,113115,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.33,N,07.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.39,N,00.72,K*5A\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,229.61,T,229.61,M,0.20,N,,,D*66\r\n$IIMWV,351,R,15.35,N,A*26\r\n$IIVWT,010,L,14.92,N,07.68,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113116,,,,00,*4D\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.257,N,02326.067,E,113117,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.66,N,09.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,227.27,T,227.27,M,0.20,N,,,D*66\r\n$IIMWV,001,T,18.05,N,A*28\r\n$IIVWT,001,R,18.05,N,09.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113118,,,,00,*43\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.256,N,02326.067,E,113119,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.09,N,08.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.39,N,00.72,K*5A\r\n$IIVPW,0.40,N,,*05\r\n$IIVTG,225.22,T,225.22,M,0.20,N,,,D*66\r\n$IIMWV,006,R,15.35,N,A*27\r\n$IIVWT,006,R,14.92,N,07.68,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113120,,,,00,*48\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.256,N,02326.067,E,113121,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.03,N,07.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.37,N,00.68,K*5F\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,223.40,T,223.40,M,0.20,N,,,D*66\r\n$IIMWV,006,T,13.80,N,A*29\r\n$IIVWT,006,R,13.80,N,07.10,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113123,,,,00,*4B\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.256,N,02326.067,E,113123,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.78,N,07.09,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.37,N,00.68,K*5F\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,221.95,T,221.95,M,0.20,N,,,D*66\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,003,L,13.97,N,07.19,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113125,,,,00,*4D\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.256,N,02326.067,E,113125,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.34,N,07.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.40,N,,*05\r\n$IIVTG,220.98,T,220.98,M,0.25,N,,,D*63\r\n$IIMWV,001,T,14.71,N,A*27\r\n$IIVWT,001,R,14.71,N,07.57,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113127,,,,00,*4F\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.256,N,02326.067,E,113127,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.97,N,08.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.41,N,00.75,K*52\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,219.97,T,219.97,M,0.29,N,,,D*6F\r\n$IIMWV,002,R,15.16,N,A*22\r\n$IIVWT,002,R,14.61,N,07.52,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113129,,,,00,*41\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.256,N,02326.066,E,113129,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.77,N,07.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.45,N,00.83,K*5F\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,219.64,T,219.64,M,0.30,N,,,D*67\r\n$IIMWV,003,T,14.55,N,A*23\r\n$IIVWT,003,R,14.55,N,07.49,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113131,,,,00,*48\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.066,E,113131,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.93,N,08.20,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.50,N,00.92,K*5B\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,219.98,T,219.98,M,0.39,N,,,D*6E\r\n$IIMWV,356,R,15.74,N,A*24\r\n$IIVWT,004,L,15.20,N,07.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113133,,,,00,*4A\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.066,E,113133,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.14,N,07.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.52,N,00.96,K*5D\r\n$IIVPW,0.55,N,,*01\r\n$IIVTG,219.72,T,219.72,M,0.32,N,,,D*65\r\n$IIMWV,360,T,16.21,N,A*24\r\n$IIVWT,000,L,16.21,N,08.34,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113135,,,,00,*4C\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.065,E,113135,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.14,N,08.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.51,N,00.94,K*5C\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,219.93,T,219.93,M,0.31,N,,,D*66\r\n$IIMWV,358,R,16.52,N,A*2D\r\n$IIVWT,002,L,15.97,N,08.22,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113137,,,,00,*4E\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.065,E,113137,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.85,N,07.64,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.50,N,00.92,K*5B\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,220.03,T,220.03,M,0.30,N,,,D*67\r\n$IIMWV,355,T,14.83,N,A*28\r\n$IIVWT,005,L,14.83,N,07.63,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113139,,,,00,*40\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.065,E,113139,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.50,N,00.92,K*5B\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,220.81,T,220.81,M,0.38,N,,,D*6F\r\n$IIMWV,358,R,15.35,N,A*2F\r\n$IIVWT,003,L,14.73,N,07.58,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113141,,,,00,*4F\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.065,E,113141,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.53,N,00.98,K*52\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,220.05,T,220.05,M,0.39,N,,,D*6E\r\n$IIMWV,350,T,16.87,N,A*2B\r\n$IIVWT,010,L,16.87,N,08.68,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113143,,,,00,*4D\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.255,N,02326.064,E,113143,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.83,N,08.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.63,N,01.16,K*56\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,220.19,T,220.19,M,0.52,N,,,D*63\r\n$IIMWV,358,R,17.49,N,A*26\r\n$IIVWT,002,L,16.63,N,08.56,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113145,,,,00,*4B\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.254,N,02326.064,E,113145,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.08,N,08.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.74,N,01.37,K*53\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,219.95,T,219.95,M,0.63,N,,,D*61\r\n$IIMWV,350,T,17.43,N,A*22\r\n$IIVWT,010,L,17.43,N,08.97,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113147,,,,00,*49\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.254,N,02326.063,E,113147,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.31,N,08.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.88,N,01.62,K*50\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,221.19,T,221.19,M,0.76,N,,,D*65\r\n$IIMWV,356,R,18.46,N,A*28\r\n$IIVWT,005,L,17.28,N,08.89,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113149,,,,00,*47\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.254,N,02326.063,E,113149,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.48,N,08.48,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.00,N,01.85,K*58\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,222.75,T,222.75,M,0.86,N,,,D*6A\r\n$IIMWV,003,T,17.22,N,A*20\r\n$IIVWT,003,R,17.22,N,08.86,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113151,,,,00,*4E\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.253,N,02326.062,E,113151,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.32,N,08.40,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,224.46,T,224.46,M,0.94,N,,,D*69\r\n$IIMWV,351,R,17.10,N,A*23\r\n$IIVWT,010,L,15.74,N,08.10,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113153,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.253,N,02326.061,E,113154,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.45,N,08.98,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,227.42,T,227.42,M,0.99,N,,,D*64\r\n$IIMWV,348,T,17.47,N,A*2F\r\n$IIVWT,012,L,17.47,N,08.99,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113155,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.253,N,02326.060,E,113156,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.32,N,08.40,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,231.65,T,231.65,M,1.07,N,,,D*62\r\n$IIMWV,356,R,17.49,N,A*28\r\n$IIVWT,005,L,16.05,N,08.26,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113157,,,,00,*48\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.252,N,02326.059,E,113158,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.87,N,07.14,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,234.78,T,234.78,M,1.09,N,,,D*6C\r\n$IIMWV,353,T,14.34,N,A*22\r\n$IIVWT,007,L,14.34,N,07.38,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113159,,,,00,*46\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.252,N,02326.058,E,113200,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.62,N,08.04,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,237.65,T,237.65,M,1.15,N,,,D*61\r\n$IIMWV,355,R,17.49,N,A*2B\r\n$IIVWT,006,L,15.97,N,08.22,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113201,,,,00,*48\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.252,N,02326.057,E,113202,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.01,N,08.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,240.04,T,240.04,M,1.26,N,,,D*61\r\n$IIMWV,348,T,14.57,N,A*2D\r\n$IIVWT,013,L,14.57,N,07.50,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113203,,,,00,*4A\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.251,N,02326.056,E,113204,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.44,N,07.43,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.45,N,02.68,K*59\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,240.33,T,240.33,M,1.29,N,,,D*6E\r\n$IIMWV,003,R,16.71,N,A*21\r\n$IIVWT,003,R,15.08,N,07.76,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113206,,,,00,*4F\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5959.251,N,02326.054,E,113206,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.43,N,07.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,238.26,T,238.26,M,1.37,N,,,D*61\r\n$IIMWV,351,T,15.37,N,A*22\r\n$IIVWT,009,L,15.37,N,07.91,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113208,,,,00,*41\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.250,N,02326.053,E,113208,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,234.82,T,234.82,M,1.42,N,,,D*63\r\n$IIMWV,005,R,16.13,N,A*23\r\n$IIVWT,006,R,14.36,N,07.39,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113210,,,,00,*48\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.249,N,02326.051,E,113210,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.47,N,06.93,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,230.78,T,230.78,M,1.45,N,,,D*64\r\n$IIMWV,355,T,15.25,N,A*25\r\n$IIVWT,005,L,15.25,N,07.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113212,,,,00,*4A\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.249,N,02326.051,E,113212,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.66,N,08.06,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,228.42,T,228.42,M,1.49,N,,,D*68\r\n$IIMWV,357,R,19.43,N,A*2D\r\n$IIVWT,004,L,17.63,N,09.07,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113214,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.248,N,02326.049,E,113214,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.11,N,09.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,226.14,T,226.14,M,1.59,N,,,D*69\r\n$IIMWV,357,T,19.55,N,A*2C\r\n$IIVWT,003,L,19.55,N,10.06,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113216,,,,00,*4E\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.248,N,02326.048,E,113216,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.55,N,09.03,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,223.01,T,223.01,M,1.60,N,,,D*63\r\n$IIMWV,360,R,19.43,N,A*29\r\n$IIVWT,000,L,17.55,N,09.03,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113218,,,,00,*40\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.247,N,02326.047,E,113218,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.22,N,07.83,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,220.63,T,220.63,M,1.60,N,,,D*63\r\n$IIMWV,357,T,14.61,N,A*26\r\n$IIVWT,003,L,14.61,N,07.52,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113220,,,,00,*4B\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.246,N,02326.046,E,113220,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.57,N,08.01,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,219.28,T,219.28,M,1.60,N,,,D*63\r\n$IIMWV,358,R,16.71,N,A*2C\r\n$IIVWT,002,L,14.88,N,07.66,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113222,,,,00,*49\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5959.245,N,02326.044,E,113222,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,220.52,T,220.52,M,1.60,N,,,D*63\r\n$IIMWV,004,T,12.82,N,A*28\r\n$IIVWT,004,R,12.82,N,06.60,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113224,,,,00,*4F\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.245,N,02326.043,E,113224,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,222.43,T,222.43,M,1.60,N,,,D*63\r\n$IIMWV,009,R,15.35,N,A*28\r\n$IIVWT,010,R,13.50,N,06.95,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113226,,,,00,*4D\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5959.244,N,02326.042,E,113226,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,223.58,T,223.58,M,1.67,N,,,D*64\r\n$IIMWV,351,T,15.10,N,A*27\r\n$IIVWT,010,L,15.10,N,07.77,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113228,,,,00,*43\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.243,N,02326.041,E,113228,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.73,N,07.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,224.37,T,224.37,M,1.69,N,,,D*6A\r\n$IIMWV,351,R,18.07,N,A*2A\r\n$IIVWT,011,L,16.19,N,08.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113230,,,,00,*4A\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.243,N,02326.039,E,113230,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.60,N,08.54,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,224.79,T,224.79,M,1.70,N,,,D*62\r\n$IIMWV,349,T,16.13,N,A*2E\r\n$IIVWT,011,L,16.13,N,08.30,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113232,,,,00,*48\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5959.242,N,02326.038,E,113232,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.40,N,07.41,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.96,N,03.63,K*5D\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,224.25,T,224.25,M,1.75,N,,,D*67\r\n$IIMWV,348,R,17.49,N,A*27\r\n$IIVWT,014,L,15.47,N,07.96,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113234,,,,00,*4E\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.241,N,02326.037,E,113234,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,224.91,T,224.91,M,1.79,N,,,D*6B\r\n$IIMWV,352,T,16.89,N,A*27\r\n$IIVWT,009,L,16.89,N,08.69,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113236,,,,00,*4C\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.241,N,02326.035,E,113237,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.37,N,08.94,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,225.82,T,225.82,M,1.87,N,,,D*6A\r\n$IIMWV,001,R,19.04,N,A*2E\r\n$IIVWT,001,R,17.02,N,08.76,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113238,,,,00,*42\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.240,N,02326.034,E,113239,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.56,N,08.52,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,226.60,T,226.60,M,1.82,N,,,D*6F\r\n$IIMWV,352,T,16.63,N,A*23\r\n$IIVWT,008,L,16.63,N,08.56,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113240,,,,00,*4D\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5959.239,N,02326.032,E,113241,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.07,N,08.27,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,227.95,T,227.95,M,1.75,N,,,D*67\r\n$IIMWV,009,R,18.07,N,A*24\r\n$IIVWT,010,R,16.09,N,08.28,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113242,,,,00,*4F\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.239,N,02326.031,E,113243,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.10,N,07.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,228.46,T,228.46,M,1.71,N,,,D*63\r\n$IIMWV,354,T,15.22,N,A*23\r\n$IIVWT,006,L,15.22,N,07.83,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113244,,,,00,*49\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.238,N,02326.030,E,113245,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.13,N,08.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,227.81,T,227.81,M,1.70,N,,,D*62\r\n$IIMWV,356,R,17.49,N,A*28\r\n$IIVWT,004,L,15.57,N,08.01,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113246,,,,00,*4B\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.237,N,02326.028,E,113247,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,228.86,T,228.86,M,1.70,N,,,D*62\r\n$IIMWV,007,T,14.17,N,A*21\r\n$IIVWT,007,R,14.17,N,07.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113249,,,,00,*44\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.237,N,02326.027,E,113249,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.91,N,03.53,K*59\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,228.81,T,228.81,M,1.70,N,,,D*62\r\n$IIMWV,008,R,14.38,N,A*25\r\n$IIVWT,009,R,12.38,N,06.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113251,,,,00,*4D\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.236,N,02326.025,E,113251,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.27,N,06.83,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,229.01,T,229.01,M,1.70,N,,,D*62\r\n$IIMWV,357,T,12.79,N,A*29\r\n$IIVWT,003,L,12.79,N,06.58,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113253,,,,00,*4F\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.235,N,02326.024,E,113253,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.87,N,07.65,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,228.00,T,228.00,M,1.65,N,,,D*66\r\n$IIMWV,353,R,17.10,N,A*21\r\n$IIVWT,009,L,15.18,N,07.81,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113255,,,,00,*49\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.234,N,02326.022,E,113255,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.86,N,08.16,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,226.95,T,226.95,M,1.61,N,,,D*62\r\n$IIMWV,350,T,15.25,N,A*20\r\n$IIVWT,010,L,15.25,N,07.85,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113257,,,,00,*4B\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.234,N,02326.021,E,113257,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.74,N,08.10,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,227.91,T,227.91,M,1.60,N,,,D*63\r\n$IIMWV,351,R,16.71,N,A*25\r\n$IIVWT,010,L,14.79,N,07.61,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113259,,,,00,*45\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.233,N,02326.019,E,113259,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.19,N,06.79,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,228.70,T,228.70,M,1.60,N,,,D*63\r\n$IIMWV,356,T,14.50,N,A*25\r\n$IIVWT,004,L,14.50,N,07.46,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113301,,,,00,*49\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.233,N,02326.018,E,113301,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.97,N,07.19,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,229.58,T,229.58,M,1.60,N,,,D*63\r\n$IIMWV,349,R,16.52,N,A*2D\r\n$IIVWT,012,L,14.79,N,07.61,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113303,,,,00,*4B\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.232,N,02326.017,E,113303,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.99,N,08.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,230.07,T,230.07,M,1.53,N,,,D*63\r\n$IIMWV,349,T,16.50,N,A*29\r\n$IIVWT,011,L,16.50,N,08.49,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113305,,,,00,*4D\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.232,N,02326.015,E,113305,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.06,N,08.78,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,232.64,T,232.64,M,1.46,N,,,D*67\r\n$IIMWV,353,R,19.04,N,A*2A\r\n$IIVWT,008,L,17.59,N,09.05,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113307,,,,00,*4F\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.231,N,02326.014,E,113307,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.59,N,09.05,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,232.73,T,232.73,M,1.29,N,,,D*6E\r\n$IIMWV,001,T,16.75,N,A*21\r\n$IIVWT,001,R,16.75,N,08.62,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113309,,,,00,*41\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.231,N,02326.013,E,113309,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.54,N,08.51,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,232.83,T,232.83,M,1.17,N,,,D*63\r\n$IIMWV,357,R,18.07,N,A*2C\r\n$IIVWT,003,L,16.81,N,08.65,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113311,,,,00,*48\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.230,N,02326.012,E,113311,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.83,N,08.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,233.53,T,233.53,M,1.07,N,,,D*62\r\n$IIMWV,354,T,18.31,N,A*2C\r\n$IIVWT,006,L,18.31,N,09.42,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113313,,,,00,*4A\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.230,N,02326.011,E,113313,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.63,N,08.56,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.24,N,02.29,K*5B\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,233.88,T,233.88,M,0.97,N,,,D*6A\r\n$IIMWV,006,R,16.71,N,A*24\r\n$IIVWT,006,R,15.66,N,08.06,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113315,,,,00,*4C\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.230,N,02326.010,E,113315,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.71,N,07.57,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,234.27,T,234.27,M,0.87,N,,,D*6B\r\n$IIMWV,352,T,14.15,N,A*20\r\n$IIVWT,008,L,14.15,N,07.28,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113317,,,,00,*4E\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.010,E,113317,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.41,N,06.90,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.07,N,01.98,K*53\r\n$IIVPW,0.92,N,,*0A\r\n$IIVTG,235.52,T,235.52,M,0.82,N,,,D*6E\r\n$IIMWV,356,R,16.52,N,A*23\r\n$IIVWT,005,L,15.55,N,08.00,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113319,,,,00,*40\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.009,E,113320,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.83,N,07.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.01,N,01.87,K*5B\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,236.33,T,236.33,M,0.73,N,,,D*60\r\n$IIMWV,359,T,14.26,N,A*2B\r\n$IIVWT,001,L,14.26,N,07.34,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113321,,,,00,*4B\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.008,E,113322,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.44,N,07.43,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.96,N,01.77,K*5B\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,236.28,T,236.28,M,0.71,N,,,D*62\r\n$IIMWV,352,R,15.16,N,A*24\r\n$IIVWT,009,L,14.22,N,07.32,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113323,,,,00,*49\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.008,E,113324,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.92,N,01.70,K*58\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,236.00,T,236.00,M,0.65,N,,,D*67\r\n$IIMWV,355,T,15.88,N,A*22\r\n$IIVWT,005,L,15.88,N,08.17,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113325,,,,00,*4F\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.007,E,113326,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.29,N,07.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.85,N,01.57,K*5B\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,236.30,T,236.30,M,0.61,N,,,D*63\r\n$IIMWV,001,R,14.38,N,A*2C\r\n$IIVWT,001,R,13.54,N,06.97,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113327,,,,00,*4D\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.229,N,02326.007,E,113328,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.97,N,07.19,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.83,N,01.53,K*59\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,238.15,T,238.15,M,0.58,N,,,D*69\r\n$IIMWV,359,T,13.41,N,A*2D\r\n$IIVWT,001,L,13.41,N,06.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113330,,,,00,*4B\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.228,N,02326.006,E,113330,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.45,N,06.92,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.71,N,,*07\r\n$IIVTG,240.66,T,240.66,M,0.59,N,,,D*68\r\n$IIMWV,357,R,13.21,N,A*23\r\n$IIVWT,003,L,12.47,N,06.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113332,,,,00,*49\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.228,N,02326.005,E,113332,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,241.94,T,241.94,M,0.60,N,,,D*62\r\n$IIMWV,352,T,12.47,N,A*21\r\n$IIVWT,008,L,12.47,N,06.42,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113334,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5959.228,N,02326.005,E,113334,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.04,N,06.71,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,240.54,T,240.54,M,0.52,N,,,D*63\r\n$IIMWV,356,R,13.80,N,A*29\r\n$IIVWT,004,L,13.02,N,06.70,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113336,,,,00,*4D\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.228,N,02326.004,E,113336,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,238.68,T,238.68,M,0.58,N,,,D*69\r\n$IIMWV,355,T,13.33,N,A*24\r\n$IIVWT,005,L,13.33,N,06.86,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113338,,,,00,*43\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.228,N,02326.004,E,113338,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.58,N,06.99,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,236.84,T,236.84,M,0.60,N,,,D*62\r\n$IIMWV,360,R,13.80,N,A*2C\r\n$IIVWT,000,L,13.02,N,06.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113340,,,,00,*4C\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.227,N,02326.003,E,113340,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.01,N,06.18,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,233.63,T,233.63,M,0.65,N,,,D*67\r\n$IIMWV,010,T,11.54,N,A*25\r\n$IIVWT,010,R,11.54,N,05.94,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113342,,,,00,*4E\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.227,N,02326.003,E,113342,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.82,N,01.51,K*5A\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,231.86,T,231.86,M,0.69,N,,,D*6B\r\n$IIMWV,360,R,11.85,N,A*2B\r\n$IIVWT,000,L,10.86,N,05.59,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113344,,,,00,*48\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.227,N,02326.002,E,113344,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.86,N,01.59,K*56\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,230.34,T,230.34,M,0.75,N,,,D*66\r\n$IIMWV,003,T,11.89,N,A*27\r\n$IIVWT,003,R,11.89,N,06.12,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113346,,,,00,*4A\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.226,N,02326.002,E,113346,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.75,N,06.56,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.90,N,01.66,K*5D\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,228.98,T,228.98,M,0.79,N,,,D*6A\r\n$IIMWV,001,R,14.38,N,A*2C\r\n$IIVWT,001,R,13.35,N,06.87,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113348,,,,00,*44\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.226,N,02326.001,E,113348,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.24,N,07.33,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,227.75,T,227.75,M,0.80,N,,,D*6C\r\n$IIMWV,000,T,14.07,N,A*27\r\n$IIVWT,000,R,14.07,N,07.24,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113350,,,,00,*4D\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.226,N,02326.000,E,113350,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.02,N,01.88,K*57\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,226.91,T,226.91,M,0.85,N,,,D*69\r\n$IIMWV,009,R,14.38,N,A*24\r\n$IIVWT,010,R,13.19,N,06.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113352,,,,00,*4F\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.225,N,02326.000,E,113352,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.73,N,05.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.08,N,02.00,K*5E\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,225.50,T,225.50,M,0.89,N,,,D*65\r\n$IIMWV,351,T,10.22,N,A*23\r\n$IIVWT,009,L,10.22,N,05.26,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113354,,,,00,*49\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.225,N,02325.999,E,113354,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.15,N,07.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,223.68,T,223.68,M,0.97,N,,,D*6A\r\n$IIMWV,010,R,15.74,N,A*25\r\n$IIVWT,010,R,14.48,N,07.45,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113356,,,,00,*4B\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.225,N,02325.998,E,113356,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,223.34,T,223.34,M,0.99,N,,,D*64\r\n$IIMWV,002,T,13.87,N,A*2A\r\n$IIVWT,002,R,13.87,N,07.14,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113358,,,,00,*45\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.224,N,02325.997,E,113358,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.89,N,07.15,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,224.86,T,224.86,M,1.00,N,,,D*65\r\n$IIMWV,356,R,14.38,N,A*2D\r\n$IIVWT,004,L,13.10,N,06.74,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113400,,,,00,*4F\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5959.224,N,02325.997,E,113401,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,227.21,T,227.21,M,1.00,N,,,D*65\r\n$IIMWV,002,T,13.10,N,A*24\r\n$IIVWT,002,R,13.10,N,06.74,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113402,,,,00,*4D\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.223,N,02325.996,E,113403,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.22,N,02.25,K*51\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,228.98,T,228.98,M,1.00,N,,,D*65\r\n$IIMWV,002,R,14.38,N,A*2F\r\n$IIVWT,002,R,13.12,N,06.75,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113404,,,,00,*4B\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.223,N,02325.995,E,113405,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.22,N,02.25,K*51\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,229.44,T,229.44,M,1.00,N,,,D*65\r\n$IIMWV,353,T,14.52,N,A*22\r\n$IIVWT,007,L,14.52,N,07.47,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113406,,,,00,*49\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.223,N,02325.994,E,113407,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.11,N,07.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,228.21,T,228.21,M,1.00,N,,,D*65\r\n$IIMWV,003,R,16.13,N,A*25\r\n$IIVWT,003,R,14.83,N,07.63,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113408,,,,00,*47\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5959.222,N,02325.993,E,113409,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.74,N,09.13,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.26,N,02.33,K*52\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,225.93,T,225.93,M,1.05,N,,,D*60\r\n$IIMWV,016,T,16.32,N,A*24\r\n$IIVWT,016,R,16.32,N,08.40,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113410,,,,00,*4E\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.222,N,02325.992,E,113411,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,224.66,T,224.66,M,1.09,N,,,D*6C\r\n$IIMWV,006,R,15.35,N,A*27\r\n$IIVWT,006,R,13.99,N,07.20,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113413,,,,00,*4D\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.221,N,02325.992,E,113413,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,222.34,T,222.34,M,1.10,N,,,D*64\r\n$IIMWV,009,T,11.02,N,A*2E\r\n$IIVWT,009,R,11.02,N,05.67,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113415,,,,00,*4B\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5959.221,N,02325.991,E,113415,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.73,N,06.55,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,221.03,T,221.03,M,1.17,N,,,D*63\r\n$IIMWV,007,R,15.74,N,A*23\r\n$IIVWT,007,R,14.19,N,07.30,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113417,,,,00,*49\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.220,N,02325.990,E,113417,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.88,N,08.17,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,220.58,T,220.58,M,1.27,N,,,D*60\r\n$IIMWV,015,T,15.68,N,A*2B\r\n$IIVWT,015,R,15.68,N,08.07,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113419,,,,00,*47\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5959.220,N,02325.989,E,113419,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.58,N,09.56,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,221.14,T,221.14,M,1.29,N,,,D*6E\r\n$IIMWV,008,R,22.15,N,A*2F\r\n$IIVWT,008,R,20.70,N,10.65,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113421,,,,00,*4C\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.219,N,02325.988,E,113421,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.38,N,09.97,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,221.05,T,221.05,M,1.21,N,,,D*66\r\n$IIMWV,007,T,20.00,N,A*20\r\n$IIVWT,007,R,20.00,N,10.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113423,,,,00,*4E\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.219,N,02325.987,E,113423,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.39,N,09.98,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,220.16,T,220.16,M,1.13,N,,,D*67\r\n$IIMWV,015,R,19.82,N,A*25\r\n$IIVWT,017,R,18.46,N,09.50,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113425,,,,00,*48\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.218,N,02325.986,E,113425,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.30,N,08.39,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,218.24,T,218.24,M,1.11,N,,,D*65\r\n$IIMWV,359,T,14.26,N,A*2B\r\n$IIVWT,001,L,14.26,N,07.34,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113427,,,,00,*4A\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5959.218,N,02325.986,E,113427,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.08,N,07.76,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,215.56,T,215.56,M,1.10,N,,,D*64\r\n$IIMWV,005,R,17.68,N,A*2E\r\n$IIVWT,005,R,16.27,N,08.37,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113429,,,,00,*44\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5959.217,N,02325.985,E,113429,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.52,N,08.50,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,211.61,T,211.61,M,1.18,N,,,D*6C\r\n$IIMWV,006,T,16.56,N,A*27\r\n$IIVWT,006,R,16.56,N,08.52,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113431,,,,00,*4D\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.216,N,02325.985,E,113431,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.92,N,09.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,209.15,T,209.15,M,1.19,N,,,D*6D\r\n$IIMWV,008,R,21.38,N,A*23\r\n$IIVWT,009,R,19.94,N,10.26,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113433,,,,00,*4F\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.216,N,02325.984,E,113433,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.38,N,09.97,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,207.54,T,207.54,M,1.20,N,,,D*67\r\n$IIMWV,351,T,17.18,N,A*2D\r\n$IIVWT,010,L,17.18,N,08.84,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113435,,,,00,*49\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.215,N,02325.984,E,113435,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.39,N,08.95,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,208.28,T,208.28,M,1.07,N,,,D*62\r\n$IIMWV,003,R,16.52,N,A*20\r\n$IIVWT,003,R,15.16,N,07.80,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113437,,,,00,*4B\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.215,N,02325.983,E,113437,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.93,N,07.17,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,209.70,T,209.70,M,1.04,N,,,D*61\r\n$IIMWV,001,T,12.57,N,A*25\r\n$IIVWT,001,R,12.57,N,06.47,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113439,,,,00,*45\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5959.214,N,02325.982,E,113439,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.57,N,06.47,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,211.82,T,211.82,M,1.01,N,,,D*64\r\n$IIMWV,009,R,14.19,N,A*27\r\n$IIVWT,010,R,12.96,N,06.67,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113441,,,,00,*4A\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.214,N,02325.982,E,113441,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,213.35,T,213.35,M,1.00,N,,,D*65\r\n$IIMWV,006,T,12.44,N,A*20\r\n$IIVWT,006,R,12.44,N,06.40,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113443,,,,00,*48\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.214,N,02325.981,E,113444,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.08,N,08.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,215.96,T,215.96,M,1.00,N,,,D*65\r\n$IIMWV,355,R,18.66,N,A*29\r\n$IIVWT,005,L,17.39,N,08.95,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113445,,,,00,*4E\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.213,N,02325.980,E,113446,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.08,N,09.82,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,217.94,T,217.94,M,1.00,N,,,D*65\r\n$IIMWV,002,T,19.45,N,A*2E\r\n$IIVWT,002,R,19.45,N,10.01,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113447,,,,00,*4C\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.213,N,02325.979,E,113448,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.52,N,09.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,219.11,T,219.11,M,1.00,N,,,D*65\r\n$IIMWV,359,R,18.46,N,A*27\r\n$IIVWT,001,L,17.18,N,08.84,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113449,,,,00,*42\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5959.212,N,02325.979,E,113450,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.80,N,09.16,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,219.65,T,219.65,M,0.95,N,,,D*68\r\n$IIMWV,011,T,19.57,N,A*2F\r\n$IIVWT,011,R,19.57,N,10.07,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113451,,,,00,*4B\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5959.212,N,02325.978,E,113452,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.89,N,08.69,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.24,N,02.29,K*5B\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,220.39,T,220.39,M,0.91,N,,,D*6C\r\n$IIMWV,008,R,17.68,N,A*23\r\n$IIVWT,008,R,16.54,N,08.51,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113453,,,,00,*49\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5959.211,N,02325.977,E,113454,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.03,N,07.22,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,220.37,T,220.37,M,0.90,N,,,D*6D\r\n$IIMWV,005,T,15.43,N,A*23\r\n$IIVWT,005,R,15.43,N,07.94,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113456,,,,00,*4C\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.211,N,02325.977,E,113456,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.45,N,08.98,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.19,N,02.20,K*5C\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,219.47,T,219.47,M,0.90,N,,,D*6D\r\n$IIMWV,000,R,20.41,N,A*24\r\n$IIVWT,000,R,19.28,N,09.92,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113458,,,,00,*42\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5959.211,N,02325.976,E,113458,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.35,N,07.90,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.19,N,02.20,K*5C\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,216.77,T,216.77,M,0.90,N,,,D*6D\r\n$IIMWV,003,T,17.18,N,A*29\r\n$IIVWT,003,R,17.18,N,08.84,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113500,,,,00,*4E\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.210,N,02325.976,E,113500,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.26,N,09.91,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,213.06,T,213.06,M,0.83,N,,,D*6F\r\n$IIMWV,006,R,19.82,N,A*27\r\n$IIVWT,006,R,18.77,N,09.66,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113502,,,,00,*4C\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.210,N,02325.976,E,113502,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.29,N,09.41,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.14,N,02.11,K*53\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,211.06,T,211.06,M,0.81,N,,,D*6D\r\n$IIMWV,359,T,19.24,N,A*24\r\n$IIVWT,001,L,19.24,N,09.90,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113504,,,,00,*4A\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.209,N,02325.975,E,113504,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,22.23,N,11.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.12,N,02.07,K*52\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,211.72,T,211.72,M,0.80,N,,,D*6C\r\n$IIMWV,001,R,25.46,N,A*27\r\n$IIVWT,002,R,24.37,N,12.54,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113506,,,,00,*48\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5959.209,N,02325.974,E,113506,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,22.95,N,11.81,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.08,N,02.00,K*5E\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,214.35,T,214.35,M,0.83,N,,,D*6F\r\n$IIMWV,358,T,21.98,N,A*29\r\n$IIVWT,002,L,21.98,N,11.31,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113508,,,,00,*46\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5959.208,N,02325.974,E,113508,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,21.77,N,11.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,215.39,T,215.39,M,0.68,N,,,D*6A\r\n$IIMWV,012,R,22.15,N,A*24\r\n$IIVWT,013,R,21.18,N,10.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113510,,,,00,*4F\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5959.208,N,02325.973,E,113510,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.44,N,09.49,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.98,N,01.81,K*5C\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,214.77,T,214.77,M,0.57,N,,,D*66\r\n$IIMWV,015,T,18.13,N,A*2A\r\n$IIVWT,015,R,18.13,N,09.33,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113512,,,,00,*4D\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.208,N,02325.973,E,113512,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.95,N,10.78,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,211.69,T,211.69,M,0.59,N,,,D*68\r\n$IIMWV,013,R,21.38,N,A*29\r\n$IIVWT,013,R,20.54,N,10.57,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113514,,,,00,*4B\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5959.207,N,02325.973,E,113514,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.09,N,10.34,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.87,N,01.61,K*5C\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,206.87,T,206.87,M,0.60,N,,,D*62\r\n$IIMWV,009,T,19.34,N,A*23\r\n$IIVWT,009,R,19.34,N,09.95,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113516,,,,00,*49\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5959.207,N,02325.973,E,113516,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.11,N,09.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,200.17,T,200.17,M,0.52,N,,,D*63\r\n$IIMWV,003,R,18.66,N,A*29\r\n$IIVWT,003,R,18.09,N,09.31,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113518,,,,00,*47\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5959.207,N,02325.973,E,113518,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.16,N,08.83,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.67,N,01.24,K*53\r\n$IIVPW,0.46,N,,*03\r\n$IIVTG,195.12,T,195.12,M,0.43,N,,,D*63\r\n$IIMWV,009,T,17.18,N,A*23\r\n$IIVWT,009,R,17.18,N,08.84,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113520,,,,00,*4C\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5959.207,N,02325.973,E,113520,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.90,N,07.67,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.64,N,01.18,K*5F\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,190.53,T,190.53,M,0.46,N,,,D*66\r\n$IIMWV,014,R,15.35,N,A*24\r\n$IIVWT,015,R,14.52,N,07.47,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113522,,,,00,*4E\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5959.206,N,02325.974,E,113522,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.40,N,08.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,184.86,T,184.86,M,0.69,N,,,D*6B\r\n$IIMWV,013,T,16.48,N,A*2C\r\n$IIVWT,013,R,16.48,N,08.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113524,,,,00,*48\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5959.206,N,02325.974,E,113524,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.69,N,08.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.98,N,01.81,K*5C\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,182.24,T,182.24,M,0.95,N,,,D*68\r\n$IIMWV,356,R,21.38,N,A*2B\r\n$IIVWT,005,L,20.02,N,10.30,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113526,,,,00,*4A\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.205,N,02325.974,E,113527,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.88,N,10.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.17,N,02.16,K*57\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,185.28,T,185.28,M,1.06,N,,,D*63\r\n$IIMWV,349,T,19.82,N,A*29\r\n$IIVWT,011,L,19.82,N,10.20,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113528,,,,00,*44\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5959.205,N,02325.973,E,113529,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.59,N,09.05,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,193.82,T,193.82,M,1.17,N,,,D*63\r\n$IIMWV,007,R,21.77,N,A*27\r\n$IIVWT,008,R,20.41,N,10.50,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113530,,,,00,*4D\r\n$IIDBT,018.20,f,005.55,M,002.99,F*2D\r\n$GPGLL,5959.204,N,02325.972,E,113531,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.11,N,10.35,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,201.61,T,201.61,M,1.07,N,,,D*62\r\n$IIMWV,011,T,18.36,N,A*29\r\n$IIVWT,011,R,18.36,N,09.45,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113532,,,,00,*4F\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5959.204,N,02325.971,E,113533,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.66,N,09.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,0.95,N,,*0D\r\n$IIVTG,208.75,T,208.75,M,0.97,N,,,D*6A\r\n$IIMWV,008,R,17.49,N,A*20\r\n$IIVWT,009,R,16.38,N,08.43,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113534,,,,00,*49\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5959.203,N,02325.971,E,113535,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.96,N,09.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,212.66,T,212.66,M,0.84,N,,,D*68\r\n$IIMWV,009,T,19.03,N,A*27\r\n$IIVWT,009,R,19.03,N,09.79,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113536,,,,00,*4B\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.203,N,02325.970,E,113537,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.84,N,10.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.06,N,01.96,K*5C\r\n$IIVPW,0.92,N,,*0A\r\n$IIVTG,212.94,T,212.94,M,0.74,N,,,D*67\r\n$IIMWV,010,R,21.38,N,A*2A\r\n$IIVWT,010,R,20.44,N,10.52,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113539,,,,00,*44\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.203,N,02325.970,E,113539,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.54,N,10.57,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.98,N,01.81,K*5C\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,212.59,T,212.59,M,0.63,N,,,D*61\r\n$IIMWV,008,T,20.54,N,A*2E\r\n$IIVWT,008,R,20.54,N,10.57,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113541,,,,00,*4B\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5959.202,N,02325.970,E,113541,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.99,N,10.80,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.90,N,01.66,K*5D\r\n$IIVPW,0.75,N,,*03\r\n$IIVTG,210.25,T,210.25,M,0.53,N,,,D*62\r\n$IIMWV,012,R,19.82,N,A*22\r\n$IIVWT,012,R,19.04,N,09.80,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113543,,,,00,*49\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.202,N,02325.970,E,113543,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.98,N,09.25,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.81,N,01.50,K*58\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,207.89,T,207.89,M,0.43,N,,,D*63\r\n$IIMWV,008,T,17.00,N,A*2B\r\n$IIVWT,008,R,17.00,N,08.75,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113545,,,,00,*4F\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.202,N,02325.970,E,113545,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.46,N,08.47,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.73,N,01.35,K*56\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,204.11,T,204.11,M,0.32,N,,,D*65\r\n$IIMWV,355,R,15.74,N,A*27\r\n$IIVWT,005,L,15.18,N,07.81,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113547,,,,00,*4D\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.202,N,02325.970,E,113547,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.65,N,01.20,K*55\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,202.50,T,202.50,M,0.28,N,,,D*6E\r\n$IIMWV,354,T,13.84,N,A*29\r\n$IIVWT,006,L,13.84,N,07.12,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113549,,,,00,*43\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.201,N,02325.970,E,113549,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.85,N,07.13,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.59,N,01.09,K*51\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,202.15,T,202.15,M,0.22,N,,,D*64\r\n$IIMWV,353,R,15.74,N,A*21\r\n$IIVWT,007,L,15.23,N,07.84,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113551,,,,00,*4A\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.201,N,02325.969,E,113551,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.12,N,08.81,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,202.81,T,202.81,M,0.25,N,,,D*63\r\n$IIMWV,357,T,18.07,N,A*2A\r\n$IIVWT,004,L,18.07,N,09.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113553,,,,00,*48\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.201,N,02325.969,E,113553,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.10,N,08.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,204.58,T,204.58,M,0.29,N,,,D*6F\r\n$IIMWV,356,R,17.10,N,A*24\r\n$IIVWT,004,L,16.54,N,08.51,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113555,,,,00,*4E\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.201,N,02325.969,E,113555,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.52,N,08.50,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,207.04,T,207.04,M,0.30,N,,,D*67\r\n$IIMWV,000,T,15.22,N,A*21\r\n$IIVWT,000,R,15.22,N,07.83,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113557,,,,00,*4C\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.201,N,02325.969,E,113557,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.84,N,07.12,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,209.99,T,209.99,M,0.30,N,,,D*67\r\n$IIMWV,002,R,14.77,N,A*24\r\n$IIVWT,003,R,14.20,N,07.31,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113559,,,,00,*42\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.201,N,02325.968,E,113559,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.14,N,07.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,212.77,T,212.77,M,0.30,N,,,D*67\r\n$IIMWV,347,T,15.12,N,A*22\r\n$IIVWT,013,L,15.12,N,07.78,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113601,,,,00,*4C\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.201,N,02325.968,E,113601,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.80,N,07.10,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,215.37,T,215.37,M,0.30,N,,,D*67\r\n$IIMWV,351,R,15.16,N,A*27\r\n$IIVWT,009,L,14.59,N,07.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113603,,,,00,*4E\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.201,N,02325.968,E,113603,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.97,N,08.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,218.94,T,218.94,M,0.30,N,,,D*67\r\n$IIMWV,010,T,15.58,N,A*2D\r\n$IIVWT,010,R,15.58,N,08.02,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113605,,,,00,*48\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.201,N,02325.968,E,113605,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.10,N,08.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,219.64,T,219.64,M,0.30,N,,,D*67\r\n$IIMWV,358,R,18.66,N,A*24\r\n$IIVWT,002,L,18.03,N,09.28,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113607,,,,00,*4A\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.200,N,02325.967,E,113607,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.12,N,08.81,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,220.08,T,220.08,M,0.27,N,,,D*61\r\n$IIMWV,349,T,17.14,N,A*28\r\n$IIVWT,011,L,17.14,N,08.82,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113609,,,,00,*44\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.200,N,02325.967,E,113610,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.96,N,08.73,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,217.92,T,217.92,M,0.27,N,,,D*61\r\n$IIMWV,351,R,17.49,N,A*2F\r\n$IIVWT,009,L,16.96,N,08.73,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113611,,,,00,*4D\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.200,N,02325.967,E,113612,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.17,N,08.32,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.52,N,00.96,K*5D\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,215.68,T,215.68,M,0.22,N,,,D*64\r\n$IIMWV,347,T,16.96,N,A*2D\r\n$IIVWT,013,L,16.96,N,08.73,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113613,,,,00,*4F\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.200,N,02325.967,E,113614,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.21,N,09.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,213.44,T,213.44,M,0.28,N,,,D*6E\r\n$IIMWV,351,R,18.07,N,A*2A\r\n$IIVWT,010,L,17.24,N,08.87,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113615,,,,00,*49\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.200,N,02325.967,E,113616,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,214.99,T,214.99,M,0.47,N,,,D*67\r\n$IIMWV,344,T,15.02,N,A*20\r\n$IIVWT,016,L,15.02,N,07.73,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113617,,,,00,*4B\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.200,N,02325.967,E,113618,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.02,N,07.73,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.87,N,01.61,K*5C\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,219.40,T,219.40,M,0.67,N,,,D*65\r\n$IIMWV,347,R,16.52,N,A*23\r\n$IIVWT,014,L,15.25,N,07.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113619,,,,00,*45\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.199,N,02325.966,E,113620,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.78,N,09.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.01,N,01.87,K*5B\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,226.37,T,226.37,M,0.84,N,,,D*68\r\n$IIMWV,352,T,16.36,N,A*23\r\n$IIVWT,008,L,16.36,N,08.42,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113622,,,,00,*4D\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.199,N,02325.965,E,113622,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.80,N,08.13,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,231.07,T,231.07,M,0.96,N,,,D*6B\r\n$IIMWV,022,R,17.10,N,A*24\r\n$IIVWT,024,R,15.74,N,08.10,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113624,,,,00,*4B\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.199,N,02325.964,E,113624,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.19,N,06.79,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,235.29,T,235.29,M,1.12,N,,,D*66\r\n$IIMWV,013,T,13.15,N,A*21\r\n$IIVWT,013,R,13.15,N,06.77,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113626,,,,00,*49\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.198,N,02325.962,E,113626,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.02,N,07.73,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.40,N,02.59,K*5E\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,236.34,T,236.34,M,1.23,N,,,D*64\r\n$IIMWV,007,R,17.49,N,A*2F\r\n$IIVWT,008,R,15.95,N,08.21,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113628,,,,00,*47\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.198,N,02325.961,E,113628,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.02,N,07.73,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,234.97,T,234.97,M,1.34,N,,,D*62\r\n$IIMWV,009,T,15.78,N,A*27\r\n$IIVWT,009,R,15.78,N,08.12,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113630,,,,00,*4E\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5959.197,N,02325.960,E,113630,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.93,N,08.71,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,232.42,T,232.42,M,1.39,N,,,D*6F\r\n$IIMWV,004,R,17.49,N,A*2C\r\n$IIVWT,005,R,15.74,N,08.10,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113632,,,,00,*4C\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5959.197,N,02325.959,E,113632,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.39,N,07.92,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,229.10,T,229.10,M,1.45,N,,,D*64\r\n$IIMWV,007,T,14.28,N,A*2D\r\n$IIVWT,007,R,14.28,N,07.35,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113634,,,,00,*4A\r\n$IIDBT,006.43,f,001.96,M,001.05,F*2A\r\n$GPGLL,5959.196,N,02325.958,E,113634,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.56,N,08.52,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,225.98,T,225.98,M,1.49,N,,,D*68\r\n$IIMWV,010,R,22.15,N,A*26\r\n$IIVWT,011,R,20.23,N,10.41,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113636,,,,00,*48\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.195,N,02325.957,E,113636,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.44,N,09.49,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,224.22,T,224.22,M,1.57,N,,,D*67\r\n$IIMWV,016,T,17.92,N,A*2F\r\n$IIVWT,016,R,17.92,N,09.22,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113638,,,,00,*46\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.195,N,02325.955,E,113638,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.39,N,08.95,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.89,N,03.50,K*53\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,223.03,T,223.03,M,1.59,N,,,D*69\r\n$IIMWV,010,R,18.66,N,A*2B\r\n$IIVWT,011,R,16.60,N,08.54,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113640,,,,00,*49\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.194,N,02325.954,E,113640,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,222.78,T,222.78,M,1.65,N,,,D*66\r\n$IIMWV,010,T,13.66,N,A*26\r\n$IIVWT,010,R,13.66,N,07.03,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113642,,,,00,*4B\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5959.193,N,02325.953,E,113642,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,2.09,N,,*0A\r\n$IIVTG,224.12,T,224.12,M,1.69,N,,,D*6A\r\n$IIMWV,352,R,15.35,N,A*25\r\n$IIVWT,010,L,13.15,N,06.77,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113644,,,,00,*4D\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5959.193,N,02325.952,E,113644,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.32,N,07.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,2.17,N,,*05\r\n$IIVTG,227.51,T,227.51,M,1.77,N,,,D*65\r\n$IIMWV,349,T,13.23,N,A*28\r\n$IIVWT,011,L,13.23,N,06.81,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113646,,,,00,*4F\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.192,N,02325.950,E,113646,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.52,N,07.47,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.08,N,03.85,K*51\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,229.13,T,229.13,M,1.79,N,,,D*6B\r\n$IIMWV,354,R,16.71,N,A*20\r\n$IIVWT,007,L,14.69,N,07.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113648,,,,00,*41\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.192,N,02325.949,E,113648,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,229.38,T,229.38,M,1.72,N,,,D*60\r\n$IIMWV,003,T,15.23,N,A*23\r\n$IIVWT,003,R,15.23,N,07.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113650,,,,00,*48\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.191,N,02325.947,E,113651,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.00,N,07.72,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.95,N,03.61,K*5C\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,229.22,T,229.22,M,1.58,N,,,D*68\r\n$IIMWV,358,R,16.13,N,A*28\r\n$IIVWT,003,L,14.32,N,07.37,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113652,,,,00,*4A\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.190,N,02325.946,E,113653,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.86,N,08.16,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,229.05,T,229.05,M,1.52,N,,,D*62\r\n$IIMWV,349,T,16.07,N,A*2B\r\n$IIVWT,011,L,16.07,N,08.27,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113654,,,,00,*4C\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.190,N,02325.945,E,113655,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,229.44,T,229.44,M,1.43,N,,,D*62\r\n$IIMWV,346,R,15.74,N,A*25\r\n$IIVWT,016,L,14.07,N,07.24,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113656,,,,00,*4E\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.189,N,02325.944,E,113657,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.85,N,07.13,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,229.24,T,229.24,M,1.33,N,,,D*65\r\n$IIMWV,340,T,13.70,N,A*27\r\n$IIVWT,020,L,13.70,N,07.05,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113658,,,,00,*40\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.189,N,02325.943,E,113659,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.62,N,03.00,K*53\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,229.21,T,229.21,M,1.23,N,,,D*64\r\n$IIMWV,352,R,14.38,N,A*29\r\n$IIVWT,009,L,12.96,N,06.67,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113700,,,,00,*4C\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.188,N,02325.942,E,113701,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.54,N,02.85,K*5A\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,230.55,T,230.55,M,1.21,N,,,D*66\r\n$IIMWV,346,T,16.30,N,A*20\r\n$IIVWT,014,L,16.30,N,08.39,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113703,,,,00,*4F\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.188,N,02325.941,E,113703,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.39,N,07.92,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,231.44,T,231.44,M,1.15,N,,,D*61\r\n$IIMWV,352,R,16.52,N,A*27\r\n$IIVWT,009,L,15.22,N,07.83,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113705,,,,00,*49\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.188,N,02325.940,E,113705,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.35,N,07.90,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,231.18,T,231.18,M,1.06,N,,,D*63\r\n$IIMWV,351,T,15.51,N,A*22\r\n$IIVWT,009,L,15.51,N,07.98,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113707,,,,00,*4B\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.187,N,02325.939,E,113707,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.19,N,07.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,231.82,T,231.82,M,0.97,N,,,D*6A\r\n$IIMWV,350,R,15.74,N,A*22\r\n$IIVWT,011,L,14.55,N,07.49,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113709,,,,00,*45\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.187,N,02325.938,E,113709,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.05,N,07.23,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,233.13,T,233.13,M,0.97,N,,,D*6A\r\n$IIMWV,350,T,13.97,N,A*2F\r\n$IIVWT,010,L,13.97,N,07.19,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113711,,,,00,*4C\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.187,N,02325.937,E,113711,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.16,N,06.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,234.15,T,234.15,M,0.91,N,,,D*6C\r\n$IIMWV,344,R,13.41,N,A*27\r\n$IIVWT,018,L,12.22,N,06.29,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113713,,,,00,*4E\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.186,N,02325.936,E,113713,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,233.99,T,233.99,M,0.90,N,,,D*6D\r\n$IIMWV,340,T,14.28,N,A*2D\r\n$IIVWT,020,L,14.28,N,07.35,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113715,,,,00,*48\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5959.186,N,02325.935,E,113715,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.45,N,07.95,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,234.39,T,234.39,M,0.90,N,,,D*6D\r\n$IIMWV,350,R,14.38,N,A*2B\r\n$IIVWT,011,L,13.12,N,06.75,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113717,,,,00,*4A\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5959.186,N,02325.934,E,113717,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.17,N,02.16,K*57\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,234.65,T,234.65,M,0.90,N,,,D*6D\r\n$IIMWV,356,T,12.11,N,A*26\r\n$IIVWT,004,L,12.11,N,06.23,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113719,,,,00,*44\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5959.185,N,02325.934,E,113719,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.21,N,05.77,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,234.51,T,234.51,M,0.83,N,,,D*6F\r\n$IIMWV,357,R,12.05,N,A*24\r\n$IIVWT,003,L,10.76,N,05.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113721,,,,00,*4F\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.185,N,02325.933,E,113721,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,233.15,T,233.15,M,0.86,N,,,D*6A\r\n$IIMWV,354,T,11.15,N,A*23\r\n$IIVWT,006,L,11.15,N,05.74,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113723,,,,00,*4D\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.185,N,02325.932,E,113723,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.73,N,05.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,231.69,T,231.69,M,0.96,N,,,D*6B\r\n$IIMWV,357,R,11.46,N,A*20\r\n$IIVWT,004,L,10.14,N,05.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113725,,,,00,*4B\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.184,N,02325.931,E,113725,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,229.99,T,229.99,M,0.99,N,,,D*64\r\n$IIMWV,352,T,12.90,N,A*2B\r\n$IIVWT,008,L,12.90,N,06.64,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113727,,,,00,*49\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.184,N,02325.931,E,113727,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,228.68,T,228.68,M,0.97,N,,,D*6A\r\n$IIMWV,354,R,13.21,N,A*20\r\n$IIVWT,007,L,11.93,N,06.14,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113729,,,,00,*47\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.184,N,02325.930,E,113729,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,227.34,T,227.34,M,0.99,N,,,D*64\r\n$IIMWV,001,T,12.86,N,A*29\r\n$IIVWT,001,R,12.86,N,06.62,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113731,,,,00,*4E\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.183,N,02325.929,E,113731,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.16,N,06.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,226.14,T,226.14,M,1.00,N,,,D*65\r\n$IIMWV,353,R,12.82,N,A*2F\r\n$IIVWT,008,L,11.48,N,05.91,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113733,,,,00,*4C\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.183,N,02325.929,E,113734,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.26,N,02.33,K*52\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,225.66,T,225.66,M,1.00,N,,,D*65\r\n$IIMWV,358,T,13.47,N,A*2A\r\n$IIVWT,002,L,13.47,N,06.93,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113735,,,,00,*4A\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.182,N,02325.928,E,113736,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,224.62,T,224.62,M,1.00,N,,,D*65\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,013,L,12.63,N,06.50,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113737,,,,00,*48\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.182,N,02325.927,E,113738,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.21,N,05.77,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,223.68,T,223.68,M,0.92,N,,,D*6F\r\n$IIMWV,356,T,11.15,N,A*21\r\n$IIVWT,004,L,11.15,N,05.74,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113739,,,,00,*46\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.182,N,02325.927,E,113740,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.76,N,05.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,223.57,T,223.57,M,0.91,N,,,D*6C\r\n$IIMWV,350,R,13.41,N,A*22\r\n$IIVWT,012,L,12.22,N,06.29,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113741,,,,00,*49\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.181,N,02325.926,E,113742,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.22,N,02.25,K*51\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,224.71,T,224.71,M,0.90,N,,,D*6D\r\n$IIMWV,347,T,16.44,N,A*22\r\n$IIVWT,013,L,16.44,N,08.46,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113743,,,,00,*4B\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.181,N,02325.925,E,113744,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.27,N,07.86,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,227.15,T,227.15,M,0.90,N,,,D*6D\r\n$IIMWV,348,R,16.71,N,A*2D\r\n$IIVWT,013,L,15.41,N,07.93,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113746,,,,00,*4E\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.181,N,02325.924,E,113746,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.96,N,07.70,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,229.11,T,229.11,M,0.98,N,,,D*65\r\n$IIMWV,349,T,16.30,N,A*2F\r\n$IIVWT,011,L,16.30,N,08.39,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113748,,,,00,*40\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.180,N,02325.923,E,113748,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.90,N,08.18,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,231.67,T,231.67,M,0.99,N,,,D*64\r\n$IIMWV,347,R,18.07,N,A*2D\r\n$IIVWT,014,L,16.89,N,08.69,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113750,,,,00,*49\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.180,N,02325.922,E,113750,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,232.84,T,232.84,M,0.92,N,,,D*6F\r\n$IIMWV,351,T,15.49,N,A*2B\r\n$IIVWT,009,L,15.49,N,07.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113752,,,,00,*4B\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.179,N,02325.921,E,113752,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.92,N,07.68,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.21,N,02.24,K*53\r\n$IIVPW,1.05,N,,*05\r\n$IIVTG,233.41,T,233.41,M,0.91,N,,,D*6C\r\n$IIMWV,342,R,15.74,N,A*21\r\n$IIVWT,020,L,14.63,N,07.53,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113754,,,,00,*4D\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.179,N,02325.921,E,113754,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.14,N,06.76,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,234.80,T,234.80,M,0.86,N,,,D*6A\r\n$IIMWV,332,T,12.77,N,A*24\r\n$IIVWT,028,L,12.77,N,06.57,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113756,,,,00,*4F\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.179,N,02325.920,E,113756,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,237.67,T,237.67,M,0.89,N,,,D*65\r\n$IIMWV,342,R,15.16,N,A*25\r\n$IIVWT,020,L,14.11,N,07.26,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113758,,,,00,*41\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.179,N,02325.919,E,113758,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.12,N,02.07,K*52\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,239.27,T,239.27,M,0.82,N,,,D*6E\r\n$IIMWV,347,T,15.47,N,A*22\r\n$IIVWT,013,L,15.47,N,07.96,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113800,,,,00,*43\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.179,N,02325.918,E,113800,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,241.44,T,241.44,M,0.81,N,,,D*6D\r\n$IIMWV,347,R,15.74,N,A*24\r\n$IIVWT,014,L,14.61,N,07.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113802,,,,00,*41\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.178,N,02325.917,E,113802,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.10,N,07.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,243.74,T,243.74,M,0.80,N,,,D*6C\r\n$IIMWV,340,T,14.73,N,A*23\r\n$IIVWT,020,L,14.73,N,07.58,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113804,,,,00,*47\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.178,N,02325.916,E,113804,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.08,N,02.00,K*5E\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,245.71,T,245.71,M,0.80,N,,,D*6C\r\n$IIMWV,342,R,16.13,N,A*23\r\n$IIVWT,019,L,15.08,N,07.76,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113806,,,,00,*45\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.178,N,02325.916,E,113806,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.98,N,08.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,247.28,T,247.28,M,0.80,N,,,D*6C\r\n$IIMWV,340,T,17.59,N,A*28\r\n$IIVWT,020,L,17.59,N,09.05,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113808,,,,00,*4B\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.178,N,02325.915,E,113808,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.51,N,07.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,247.69,T,247.69,M,0.80,N,,,D*6C\r\n$IIMWV,350,R,15.16,N,A*26\r\n$IIVWT,011,L,14.09,N,07.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113810,,,,00,*42\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.178,N,02325.914,E,113810,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.68,N,08.07,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.08,N,02.00,K*5E\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,248.32,T,248.32,M,0.80,N,,,D*6C\r\n$IIMWV,344,T,15.47,N,A*21\r\n$IIVWT,016,L,15.47,N,07.96,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113812,,,,00,*40\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.178,N,02325.913,E,113812,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.74,N,07.07,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.07,N,01.98,K*53\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,250.03,T,250.03,M,0.78,N,,,D*6B\r\n$IIMWV,353,R,14.77,N,A*23\r\n$IIVWT,008,L,13.78,N,07.09,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113814,,,,00,*46\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.178,N,02325.912,E,113814,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.82,N,07.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,0.88,N,,*01\r\n$IIVTG,251.73,T,251.73,M,0.79,N,,,D*6A\r\n$IIMWV,350,T,14.42,N,A*20\r\n$IIVWT,010,L,14.42,N,07.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113816,,,,00,*44\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.177,N,02325.912,E,113817,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.53,N,06.45,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.99,N,01.83,K*5F\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,252.41,T,252.41,M,0.72,N,,,D*61\r\n$IIMWV,348,R,14.38,N,A*22\r\n$IIVWT,013,L,13.49,N,06.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113818,,,,00,*4A\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5959.177,N,02325.911,E,113819,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,252.32,T,252.32,M,0.71,N,,,D*62\r\n$IIMWV,355,T,13.82,N,A*2E\r\n$IIVWT,005,L,13.82,N,07.11,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113820,,,,00,*41\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.177,N,02325.910,E,113821,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.30,N,07.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,251.53,T,251.53,M,0.70,N,,,D*63\r\n$IIMWV,352,R,14.19,N,A*2A\r\n$IIVWT,008,L,13.15,N,06.77,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113822,,,,00,*43\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.177,N,02325.909,E,113823,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.84,N,07.12,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.96,N,01.77,K*5B\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,250.16,T,250.16,M,0.70,N,,,D*63\r\n$IIMWV,357,T,14.71,N,A*27\r\n$IIVWT,003,L,14.71,N,07.57,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113824,,,,00,*45\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.177,N,02325.909,E,113825,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.63,N,07.53,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.99,N,01.83,K*5F\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,247.99,T,247.99,M,0.70,N,,,D*63\r\n$IIMWV,358,R,17.10,N,A*2A\r\n$IIVWT,002,L,16.05,N,08.26,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113826,,,,00,*47\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.176,N,02325.908,E,113827,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.03,N,08.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.01,N,01.87,K*5B\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,245.00,T,245.00,M,0.70,N,,,D*63\r\n$IIMWV,356,T,15.04,N,A*25\r\n$IIVWT,004,L,15.04,N,07.74,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113829,,,,00,*48\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.176,N,02325.907,E,113829,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.51,N,07.98,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,242.12,T,242.12,M,0.78,N,,,D*6B\r\n$IIMWV,005,R,18.46,N,A*2D\r\n$IIVWT,005,R,17.37,N,08.94,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113831,,,,00,*41\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.176,N,02325.907,E,113831,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.00,N,08.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,238.53,T,238.53,M,0.79,N,,,D*6A\r\n$IIMWV,010,T,16.03,N,A*20\r\n$IIVWT,010,R,16.03,N,08.25,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113833,,,,00,*43\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.176,N,02325.906,E,113833,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.38,N,08.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,235.88,T,235.88,M,0.80,N,,,D*6C\r\n$IIMWV,359,R,17.10,N,A*2B\r\n$IIVWT,001,L,16.07,N,08.27,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113835,,,,00,*45\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.175,N,02325.905,E,113835,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.06,N,01.96,K*5C\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,232.77,T,232.77,M,0.80,N,,,D*6C\r\n$IIMWV,355,T,13.10,N,A*25\r\n$IIVWT,005,L,13.10,N,06.74,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113837,,,,00,*47\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.175,N,02325.905,E,113837,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.48,N,05.91,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,231.14,T,231.14,M,0.80,N,,,D*6C\r\n$IIMWV,018,R,12.05,N,A*2C\r\n$IIVWT,020,R,11.00,N,05.66,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113839,,,,00,*49\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.175,N,02325.904,E,113839,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.04,N,01.92,K*5A\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,228.53,T,228.53,M,0.77,N,,,D*64\r\n$IIMWV,020,T,09.42,N,A*28\r\n$IIVWT,020,R,09.42,N,04.85,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113841,,,,00,*46\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5959.174,N,02325.904,E,113841,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.27,N,05.80,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.07,N,01.98,K*53\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,227.06,T,227.06,M,0.79,N,,,D*6A\r\n$IIMWV,003,R,12.05,N,A*26\r\n$IIVWT,004,R,10.94,N,05.63,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113843,,,,00,*44\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.174,N,02325.903,E,113843,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,227.01,T,227.01,M,0.80,N,,,D*6C\r\n$IIMWV,351,T,10.88,N,A*23\r\n$IIVWT,009,L,10.88,N,05.60,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113845,,,,00,*42\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.174,N,02325.902,E,113845,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,228.33,T,228.33,M,0.85,N,,,D*69\r\n$IIMWV,357,R,10.88,N,A*23\r\n$IIVWT,003,L,09.73,N,05.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113847,,,,00,*40\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.173,N,02325.902,E,113847,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.13,N,02.09,K*5D\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,229.28,T,229.28,M,0.89,N,,,D*65\r\n$IIMWV,343,T,14.96,N,A*2B\r\n$IIVWT,017,L,14.96,N,07.70,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113849,,,,00,*4E\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.173,N,02325.901,E,113849,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.85,N,07.13,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.17,N,02.16,K*57\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,230.57,T,230.57,M,0.90,N,,,D*6D\r\n$IIMWV,358,R,15.35,N,A*2F\r\n$IIVWT,002,L,14.13,N,07.27,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113851,,,,00,*47\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.173,N,02325.900,E,113851,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.11,N,05.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,231.34,T,231.34,M,0.90,N,,,D*6D\r\n$IIMWV,357,T,10.73,N,A*21\r\n$IIVWT,003,L,10.73,N,05.52,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113853,,,,00,*45\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.172,N,02325.899,E,113853,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.25,N,02.31,K*53\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,231.28,T,231.28,M,0.95,N,,,D*68\r\n$IIMWV,353,R,11.85,N,A*2B\r\n$IIVWT,008,L,10.41,N,05.36,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113855,,,,00,*43\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.172,N,02325.898,E,113855,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.79,N,06.07,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,230.67,T,230.67,M,1.04,N,,,D*61\r\n$IIMWV,343,T,12.12,N,A*21\r\n$IIVWT,017,L,12.12,N,06.24,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113857,,,,00,*41\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.171,N,02325.897,E,113857,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.96,N,05.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,228.94,T,228.94,M,1.08,N,,,D*6D\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,002,L,12.03,N,06.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113859,,,,00,*4F\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5959.171,N,02325.896,E,113900,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.43,N,06.91,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,227.59,T,227.59,M,1.10,N,,,D*64\r\n$IIMWV,356,T,13.47,N,A*24\r\n$IIVWT,004,L,13.47,N,06.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113901,,,,00,*43\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.171,N,02325.896,E,113902,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,225.95,T,225.95,M,1.02,N,,,D*67\r\n$IIMWV,354,R,16.52,N,A*21\r\n$IIVWT,006,L,15.23,N,07.84,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113903,,,,00,*41\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.170,N,02325.895,E,113904,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.20,N,07.82,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,224.39,T,224.39,M,1.01,N,,,D*64\r\n$IIMWV,355,T,14.73,N,A*27\r\n$IIVWT,005,L,14.73,N,07.58,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113905,,,,00,*47\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.170,N,02325.894,E,113906,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.53,N,07.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,223.52,T,223.52,M,1.00,N,,,D*65\r\n$IIMWV,354,R,16.13,N,A*24\r\n$IIVWT,007,L,14.83,N,07.63,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113907,,,,00,*45\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5959.169,N,02325.894,E,113908,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.87,N,07.14,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,223.53,T,223.53,M,1.00,N,,,D*65\r\n$IIMWV,350,T,13.15,N,A*25\r\n$IIVWT,010,L,13.15,N,06.77,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113909,,,,00,*4B\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.169,N,02325.893,E,113910,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,223.38,T,223.38,M,0.98,N,,,D*65\r\n$IIMWV,345,R,14.77,N,A*24\r\n$IIVWT,016,L,13.50,N,06.95,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113912,,,,00,*41\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.169,N,02325.892,E,113912,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.57,N,06.47,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,223.45,T,223.45,M,0.99,N,,,D*64\r\n$IIMWV,346,T,11.60,N,A*22\r\n$IIVWT,014,L,11.60,N,05.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113914,,,,00,*47\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.168,N,02325.891,E,113914,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.26,N,02.33,K*52\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,223.61,T,223.61,M,1.00,N,,,D*65\r\n$IIMWV,346,R,11.46,N,A*20\r\n$IIVWT,016,L,10.24,N,05.27,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113916,,,,00,*45\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.168,N,02325.891,E,113916,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.12,N,05.21,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.28,N,02.37,K*58\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,224.15,T,224.15,M,1.00,N,,,D*65\r\n$IIMWV,004,T,09.71,N,A*2E\r\n$IIVWT,004,R,09.71,N,05.00,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113918,,,,00,*4B\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.167,N,02325.889,E,113918,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,225.60,T,225.60,M,1.07,N,,,D*62\r\n$IIMWV,352,R,12.82,N,A*2E\r\n$IIVWT,009,L,11.46,N,05.90,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113920,,,,00,*40\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.167,N,02325.889,E,113920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.39,N,05.86,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,227.15,T,227.15,M,1.09,N,,,D*6C\r\n$IIMWV,356,T,12.86,N,A*28\r\n$IIVWT,004,L,12.86,N,06.62,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113922,,,,00,*42\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.166,N,02325.888,E,113922,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,227.79,T,227.79,M,1.17,N,,,D*63\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,000,R,11.76,N,06.05,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113924,,,,00,*44\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5959.166,N,02325.887,E,113924,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,226.95,T,226.95,M,1.19,N,,,D*6D\r\n$IIMWV,000,T,12.24,N,A*20\r\n$IIVWT,000,R,12.24,N,06.30,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113926,,,,00,*46\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.166,N,02325.886,E,113926,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,226.14,T,226.14,M,1.20,N,,,D*67\r\n$IIMWV,356,R,16.13,N,A*26\r\n$IIVWT,004,L,14.59,N,07.51,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113928,,,,00,*48\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.165,N,02325.885,E,113928,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,225.46,T,225.46,M,1.20,N,,,D*67\r\n$IIMWV,343,T,13.82,N,A*29\r\n$IIVWT,017,L,13.82,N,07.11,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113930,,,,00,*41\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.165,N,02325.884,E,113930,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.74,N,07.07,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,224.69,T,224.69,M,1.20,N,,,D*67\r\n$IIMWV,354,R,15.74,N,A*26\r\n$IIVWT,007,L,14.32,N,07.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113932,,,,00,*43\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.164,N,02325.883,E,113932,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.09,N,08.28,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,224.32,T,224.32,M,1.12,N,,,D*66\r\n$IIMWV,359,T,15.22,N,A*2E\r\n$IIVWT,001,L,15.22,N,07.83,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113934,,,,00,*45\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.164,N,02325.882,E,113934,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.89,N,07.15,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,223.78,T,223.78,M,1.06,N,,,D*63\r\n$IIMWV,350,R,14.77,N,A*20\r\n$IIVWT,011,L,13.45,N,06.92,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113936,,,,00,*47\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.163,N,02325.882,E,113936,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.16,N,06.26,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,223.17,T,223.17,M,1.01,N,,,D*64\r\n$IIMWV,340,T,12.18,N,A*28\r\n$IIVWT,020,L,12.18,N,06.27,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113938,,,,00,*49\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.163,N,02325.881,E,113938,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.99,N,06.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,223.62,T,223.62,M,1.00,N,,,D*65\r\n$IIMWV,342,R,14.19,N,A*2B\r\n$IIVWT,020,L,12.96,N,06.67,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113940,,,,00,*46\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.162,N,02325.880,E,113940,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,224.93,T,224.93,M,1.00,N,,,D*65\r\n$IIMWV,337,T,11.23,N,A*23\r\n$IIVWT,023,L,11.23,N,05.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113942,,,,00,*44\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.162,N,02325.879,E,113943,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.12,N,05.21,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.26,N,02.33,K*52\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,228.05,T,228.05,M,1.00,N,,,D*65\r\n$IIMWV,355,R,11.46,N,A*22\r\n$IIVWT,006,L,10.16,N,05.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113944,,,,00,*42\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.162,N,02325.878,E,113945,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.06,N,05.69,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,230.29,T,230.29,M,1.08,N,,,D*6D\r\n$IIMWV,359,T,11.48,N,A*26\r\n$IIVWT,001,L,11.48,N,05.91,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113946,,,,00,*40\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.161,N,02325.877,E,113947,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.49,N,06.43,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,228.85,T,228.85,M,1.07,N,,,D*62\r\n$IIMWV,357,R,14.38,N,A*2C\r\n$IIVWT,004,L,13.00,N,06.69,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113948,,,,00,*4E\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.161,N,02325.877,E,113949,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,226.74,T,226.74,M,1.09,N,,,D*6C\r\n$IIMWV,359,T,12.38,N,A*22\r\n$IIVWT,001,L,12.38,N,06.37,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113950,,,,00,*47\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.160,N,02325.876,E,113951,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.40,N,06.38,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,224.18,T,224.18,M,1.10,N,,,D*64\r\n$IIMWV,005,R,13.80,N,A*2C\r\n$IIVWT,006,R,12.44,N,06.40,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113952,,,,00,*45\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.160,N,02325.875,E,113953,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.46,N,05.90,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,222.20,T,222.20,M,1.05,N,,,D*60\r\n$IIMWV,358,T,11.13,N,A*29\r\n$IIVWT,002,L,11.13,N,05.73,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113955,,,,00,*42\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.160,N,02325.874,E,113955,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.73,N,05.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,221.75,T,221.75,M,1.01,N,,,D*64\r\n$IIMWV,353,R,11.85,N,A*2B\r\n$IIVWT,008,L,10.59,N,05.45,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113957,,,,00,*40\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.159,N,02325.874,E,113957,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.11,N,05.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,222.59,T,222.59,M,1.05,N,,,D*60\r\n$IIMWV,003,T,11.44,N,A*26\r\n$IIVWT,003,R,11.44,N,05.89,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,113959,,,,00,*4E\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5959.159,N,02325.873,E,113959,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.46,N,05.90,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,223.15,T,223.15,M,1.01,N,,,D*64\r\n$IIMWV,357,R,13.21,N,A*23\r\n$IIVWT,003,L,11.77,N,06.06,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114001,,,,00,*4D\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.158,N,02325.872,E,114001,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.79,N,06.07,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,224.71,T,224.71,M,1.09,N,,,D*6C\r\n$IIMWV,355,T,12.82,N,A*2F\r\n$IIVWT,005,L,12.82,N,06.60,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114003,,,,00,*4F\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.158,N,02325.871,E,114003,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.92,N,06.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,225.63,T,225.63,M,1.10,N,,,D*64\r\n$IIMWV,001,R,13.41,N,A*25\r\n$IIVWT,002,R,11.99,N,06.17,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114005,,,,00,*49\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.157,N,02325.870,E,114005,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.07,N,06.21,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,224.78,T,224.78,M,1.10,N,,,D*64\r\n$IIMWV,358,T,12.36,N,A*2D\r\n$IIVWT,003,L,12.36,N,06.36,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114007,,,,00,*4B\r\n$IIDBT,019.65,f,005.99,M,003.23,F*2D\r\n$GPGLL,5959.157,N,02325.869,E,114007,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.44,N,06.40,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,222.87,T,222.87,M,1.07,N,,,D*62\r\n$IIMWV,359,R,13.80,N,A*26\r\n$IIVWT,002,L,12.40,N,06.38,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114009,,,,00,*45\r\n$IIDBT,019.65,f,005.99,M,003.23,F*2D\r\n$GPGLL,5959.156,N,02325.869,E,114009,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.77,N,06.57,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,221.67,T,221.67,M,1.09,N,,,D*6C\r\n$IIMWV,359,T,12.90,N,A*20\r\n$IIVWT,001,L,12.90,N,06.64,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114011,,,,00,*4C\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.156,N,02325.868,E,114011,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.07,N,06.21,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,221.77,T,221.77,M,1.10,N,,,D*64\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,000,R,11.76,N,06.05,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114013,,,,00,*4E\r\n$IIDBT,019.75,f,006.02,M,003.25,F*2B\r\n$GPGLL,5959.155,N,02325.867,E,114013,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.32,N,06.34,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,222.89,T,222.89,M,1.17,N,,,D*63\r\n$IIMWV,010,T,12.79,N,A*29\r\n$IIVWT,010,R,12.79,N,06.58,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114015,,,,00,*48\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.866,E,114015,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.40,N,07.41,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,222.69,T,222.69,M,1.12,N,,,D*66\r\n$IIMWV,010,R,15.35,N,A*20\r\n$IIVWT,011,R,13.97,N,07.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114017,,,,00,*4A\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.154,N,02325.865,E,114017,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.85,N,07.13,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,218.97,T,218.97,M,1.05,N,,,D*60\r\n$IIMWV,024,T,13.52,N,A*26\r\n$IIVWT,024,R,13.52,N,06.96,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114019,,,,00,*44\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.154,N,02325.865,E,114019,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.09,N,07.25,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,216.89,T,216.89,M,1.09,N,,,D*6C\r\n$IIMWV,032,R,16.71,N,A*23\r\n$IIVWT,034,R,15.62,N,08.04,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114021,,,,00,*4F\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.153,N,02325.864,E,114021,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.96,N,09.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,216.02,T,216.02,M,1.10,N,,,D*64\r\n$IIMWV,038,T,18.00,N,A*27\r\n$IIVWT,038,R,18.00,N,09.26,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114023,,,,00,*4D\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.153,N,02325.864,E,114023,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.50,N,08.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,212.83,T,212.83,M,1.05,N,,,D*60\r\n$IIMWV,031,R,17.10,N,A*26\r\n$IIVWT,034,R,15.70,N,08.08,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114025,,,,00,*4B\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.152,N,02325.863,E,114026,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.97,N,08.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.38,N,02.55,K*5D\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,207.86,T,207.86,M,1.11,N,,,D*65\r\n$IIMWV,042,T,15.02,N,A*25\r\n$IIVWT,042,R,15.02,N,07.73,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114027,,,,00,*49\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.152,N,02325.863,E,114028,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.66,N,08.06,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,201.04,T,201.04,M,1.23,N,,,D*64\r\n$IIMWV,052,R,16.13,N,A*21\r\n$IIVWT,057,R,15.22,N,07.83,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114029,,,,00,*47\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.151,N,02325.863,E,114030,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,0.21,N,,*02\r\n$IIVTG,195.71,T,195.71,M,1.38,N,,,D*6E\r\n$IIMWV,092,T,11.99,N,A*2E\r\n$IIVWT,092,R,11.99,N,06.17,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114031,,,,00,*4E\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5959.150,N,02325.863,E,114032,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.66,N,06.00,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,-0.10,N,,*2D\r\n$IIVTG,192.40,T,192.40,M,1.60,N,,,D*63\r\n$IIMWV,089,R,12.82,N,A*2B\r\n$IIVWT,097,R,12.90,N,06.64,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114033,,,,00,*4C\r\n$IIDBT,020.43,f,006.23,M,003.36,F*25\r\n$GPGLL,5959.149,N,02325.863,E,114034,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.97,N,07.19,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.63,N,03.01,K*53\r\n$IIVPW,0.24,N,,*07\r\n$IIVTG,183.20,T,183.20,M,1.72,N,,,D*60\r\n$IIMWV,115,T,13.06,N,A*24\r\n$IIVWT,115,R,13.06,N,06.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114035,,,,00,*4A\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.148,N,02325.863,E,114036,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.90,N,05.61,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.69,N,03.12,K*5B\r\n$IIVPW,-0.90,N,,*25\r\n$IIVTG,167.90,T,167.90,M,1.78,N,,,D*6A\r\n$IIMWV,127,R,09.13,N,A*2C\r\n$IIVWT,136,R,10.41,N,05.36,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114038,,,,00,*47\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.147,N,02325.865,E,114038,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.86,N,05.59,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.79,N,03.31,K*5B\r\n$IIVPW,-1.25,N,,*2A\r\n$IIVTG,152.30,T,152.30,M,1.92,N,,,D*6E\r\n$IIMWV,122,T,10.39,N,A*2F\r\n$IIVWT,122,R,10.39,N,05.35,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114040,,,,00,*48\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.146,N,02325.867,E,114040,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,-1.12,N,,*2E\r\n$IIVTG,139.65,T,139.65,M,2.03,N,,,D*65\r\n$IIMWV,120,R,12.05,N,A*26\r\n$IIVWT,127,R,13.10,N,06.74,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114042,,,,00,*4A\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.145,N,02325.870,E,114042,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,-1.61,N,,*2A\r\n$IIVTG,131.77,T,131.77,M,2.28,N,,,D*6C\r\n$IIMWV,154,T,13.15,N,A*23\r\n$IIVWT,154,R,13.15,N,06.77,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114044,,,,00,*4C\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.145,N,02325.872,E,114044,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.92,N,03.55,K*5C\r\n$IIVPW,-1.96,N,,*22\r\n$IIVTG,117.42,T,117.42,M,2.60,N,,,D*60\r\n$IIMWV,164,R,10.49,N,A*2C\r\n$IIVWT,167,R,12.57,N,06.47,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114046,,,,00,*4E\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.144,N,02325.875,E,114046,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.57,N,06.47,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.01,N,03.72,K*50\r\n$IIVPW,-2.12,N,,*2D\r\n$IIVTG,103.63,T,103.63,M,2.75,N,,,D*64\r\n$IIMWV,176,T,12.12,N,A*25\r\n$IIVWT,176,R,12.12,N,06.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114048,,,,00,*40\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.145,N,02325.878,E,114048,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.31,N,06.85,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.09,N,03.87,K*52\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,084.88,T,084.88,M,2.69,N,,,D*69\r\n$IIMWV,180,R,10.10,N,A*2A\r\n$IIVWT,180,L,12.36,N,06.36,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114050,,,,00,*49\r\n$IIDBT,009.80,f,002.99,M,001.61,F*24\r\n$GPGLL,5959.145,N,02325.881,E,114050,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.31,N,05.82,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,-2.20,N,,*2C\r\n$IIVTG,065.22,T,065.22,M,2.55,N,,,D*66\r\n$IIMWV,180,T,11.00,N,A*2C\r\n$IIVWT,180,R,11.00,N,05.66,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114052,,,,00,*4B\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.146,N,02325.883,E,114052,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.96,N,06.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,-2.07,N,,*29\r\n$IIVTG,055.45,T,055.45,M,2.51,N,,,D*62\r\n$IIMWV,190,R,11.07,N,A*2C\r\n$IIVWT,172,L,13.25,N,06.82,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114054,,,,00,*4D\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.147,N,02325.885,E,114054,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.20,N,04.07,K*56\r\n$IIVPW,-2.34,N,,*29\r\n$IIVTG,052.64,T,052.64,M,2.50,N,,,D*63\r\n$IIMWV,182,T,13.76,N,A*2D\r\n$IIVWT,178,L,13.76,N,07.08,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114056,,,,00,*4F\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.148,N,02325.887,E,114056,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.24,N,04.14,K*50\r\n$IIVPW,-1.80,N,,*25\r\n$IIVTG,050.71,T,050.71,M,2.55,N,,,D*66\r\n$IIMWV,139,R,08.74,N,A*23\r\n$IIVWT,147,R,10.53,N,05.42,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114058,,,,00,*41\r\n$IIDBT,019.75,f,006.02,M,003.25,F*2B\r\n$GPGLL,5959.149,N,02325.889,E,114058,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.03,N,05.16,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.26,N,04.18,K*5E\r\n$IIVPW,-2.27,N,,*2B\r\n$IIVTG,048.93,T,048.93,M,2.59,N,,,D*6A\r\n$IIMWV,159,T,10.69,N,A*26\r\n$IIVWT,159,R,10.69,N,05.50,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114100,,,,00,*4D\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5959.150,N,02325.891,E,114100,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.98,N,05.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.27,N,04.20,K*54\r\n$IIVPW,-2.25,N,,*29\r\n$IIVTG,047.46,T,047.46,M,2.60,N,,,D*60\r\n$IIMWV,176,R,10.10,N,A*23\r\n$IIVWT,177,R,12.40,N,06.38,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114102,,,,00,*4F\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.151,N,02325.893,E,114102,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.04,N,07.74,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.25,N,04.16,K*53\r\n$IIVPW,-2.21,N,,*2D\r\n$IIVTG,046.19,T,046.19,M,2.60,N,,,D*60\r\n$IIMWV,168,T,15.64,N,A*2C\r\n$IIVWT,168,R,15.64,N,08.05,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114104,,,,00,*49\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.152,N,02325.895,E,114104,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.99,N,08.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.27,N,04.20,K*54\r\n$IIVPW,-2.23,N,,*2F\r\n$IIVTG,045.54,T,045.54,M,2.60,N,,,D*60\r\n$IIMWV,175,R,12.44,N,A*23\r\n$IIVWT,176,R,14.63,N,07.53,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114106,,,,00,*4B\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.153,N,02325.897,E,114106,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.64,N,08.05,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.29,N,04.24,K*5E\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,045.19,T,045.19,M,2.60,N,,,D*60\r\n$IIMWV,168,T,16.15,N,A*29\r\n$IIVWT,168,R,16.15,N,08.31,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114108,,,,00,*45\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5959.154,N,02325.899,E,114109,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.61,N,08.55,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.36,N,04.37,K*52\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,045.00,T,045.00,M,2.67,N,,,D*67\r\n$IIMWV,167,R,13.21,N,A*22\r\n$IIVWT,169,R,15.58,N,08.02,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114110,,,,00,*4C\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.155,N,02325.901,E,114111,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.52,N,06.96,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,045.15,T,045.15,M,2.74,N,,,D*65\r\n$IIMWV,174,T,13.37,N,A*21\r\n$IIVWT,174,R,13.37,N,06.88,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114112,,,,00,*4E\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.156,N,02325.903,E,114113,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,045.61,T,045.61,M,2.79,N,,,D*68\r\n$IIMWV,188,R,10.49,N,A*2E\r\n$IIVWT,174,L,12.96,N,06.67,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114114,,,,00,*48\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5959.157,N,02325.906,E,114115,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.61,N,06.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,045.80,T,045.80,M,2.80,N,,,D*6E\r\n$IIMWV,179,T,12.57,N,A*2B\r\n$IIVWT,179,R,12.57,N,06.47,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114116,,,,00,*4A\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.158,N,02325.908,E,114117,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,045.90,T,045.90,M,2.80,N,,,D*6E\r\n$IIMWV,169,R,11.07,N,A*2A\r\n$IIVWT,171,R,13.45,N,06.92,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114119,,,,00,*45\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.159,N,02325.910,E,114119,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.58,N,06.99,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.49,N,04.61,K*59\r\n$IIVPW,-2.54,N,,*2F\r\n$IIVTG,045.25,T,045.25,M,2.80,N,,,D*6E\r\n$IIMWV,192,T,13.33,N,A*2D\r\n$IIVWT,168,L,13.33,N,06.86,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114121,,,,00,*4E\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.160,N,02325.912,E,114121,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.62,N,07.01,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,044.74,T,044.74,M,2.80,N,,,D*6E\r\n$IIMWV,174,R,12.05,N,A*27\r\n$IIVWT,175,R,14.57,N,07.50,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114123,,,,00,*4C\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.161,N,02325.914,E,114123,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.62,N,08.04,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.51,N,04.64,K*55\r\n$IIVPW,-2.43,N,,*29\r\n$IIVTG,044.26,T,044.26,M,2.80,N,,,D*6E\r\n$IIMWV,173,T,17.30,N,A*25\r\n$IIVWT,173,R,17.30,N,08.90,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114125,,,,00,*4A\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.163,N,02325.917,E,114125,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.50,N,08.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,043.57,T,043.57,M,2.80,N,,,D*6E\r\n$IIMWV,171,R,14.38,N,A*2A\r\n$IIVWT,173,R,16.77,N,08.63,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114127,,,,00,*48\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.164,N,02325.920,E,114127,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.39,N,07.92,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.51,N,04.64,K*55\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,047.44,T,047.44,M,2.92,N,,,D*6D\r\n$IIMWV,185,T,15.10,N,A*2C\r\n$IIVWT,175,L,15.10,N,07.77,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114129,,,,00,*46\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.165,N,02325.923,E,114129,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.34,N,07.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.51,N,04.64,K*55\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,054.39,T,054.39,M,3.41,N,,,D*62\r\n$IIMWV,221,R,11.85,N,A*2F\r\n$IIVWT,146,L,13.76,N,07.08,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114131,,,,00,*4F\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.166,N,02325.926,E,114131,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.02,N,06.70,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-0.96,N,,*23\r\n$IIVTG,049.92,T,049.92,M,3.83,N,,,D*6C\r\n$IIMWV,248,T,12.53,N,A*2E\r\n$IIVWT,112,L,12.53,N,06.45,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114133,,,,00,*4D\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.168,N,02325.929,E,114133,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.33,N,04.31,K*51\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,030.71,T,030.71,M,3.98,N,,,D*66\r\n$IIMWV,288,R,15.35,N,A*23\r\n$IIVWT,079,L,14.85,N,07.64,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114135,,,,00,*4B\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.170,N,02325.929,E,114135,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.68,N,07.04,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,006.32,T,006.32,M,3.70,N,,,D*60\r\n$IIMWV,314,T,12.47,N,A*23\r\n$IIVWT,046,L,12.47,N,06.42,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114137,,,,00,*49\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.172,N,02325.928,E,114137,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.62,N,05.98,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.02,N,03.74,K*55\r\n$IIVPW,1.53,N,,*06\r\n$IIVTG,342.33,T,342.33,M,3.20,N,,,D*65\r\n$IIMWV,322,R,14.19,N,A*2D\r\n$IIVWT,043,L,12.80,N,06.59,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114139,,,,00,*47\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.173,N,02325.926,E,114139,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.96,N,06.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.96,N,03.63,K*5D\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,318.76,T,318.76,M,2.42,N,,,D*60\r\n$IIMWV,327,T,12.86,N,A*2E\r\n$IIVWT,033,L,12.86,N,06.62,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114141,,,,00,*48\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.173,N,02325.924,E,114141,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.20,N,06.28,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,298.19,T,298.19,M,1.91,N,,,D*6D\r\n$IIMWV,330,R,14.38,N,A*2D\r\n$IIVWT,034,L,12.96,N,06.67,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114143,,,,00,*4A\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.173,N,02325.922,E,114143,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.73,N,06.55,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.80,N,03.33,K*5F\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,281.95,T,281.95,M,1.60,N,,,D*63\r\n$IIMWV,335,T,12.20,N,A*21\r\n$IIVWT,025,L,12.20,N,06.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114145,,,,00,*4C\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.172,N,02325.921,E,114145,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.30,N,06.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.53,N,,*06\r\n$IIVTG,270.66,T,270.66,M,1.53,N,,,D*63\r\n$IIMWV,325,R,14.19,N,A*2A\r\n$IIVWT,039,L,12.79,N,06.58,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114147,,,,00,*4E\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.172,N,02325.919,E,114147,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.39,N,06.89,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,264.04,T,264.04,M,1.46,N,,,D*67\r\n$IIMWV,331,T,12.36,N,A*22\r\n$IIVWT,029,L,12.36,N,06.36,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114149,,,,00,*40\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.172,N,02325.918,E,114149,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,260.09,T,260.09,M,1.41,N,,,D*60\r\n$IIMWV,338,R,13.21,N,A*2A\r\n$IIVWT,025,L,11.79,N,06.07,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114151,,,,00,*49\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.172,N,02325.916,E,114152,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,259.87,T,259.87,M,1.40,N,,,D*61\r\n$IIMWV,333,T,12.75,N,A*27\r\n$IIVWT,027,L,12.75,N,06.56,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114153,,,,00,*4B\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.172,N,02325.915,E,114154,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.40,N,06.38,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,260.64,T,260.64,M,1.40,N,,,D*61\r\n$IIMWV,337,R,13.80,N,A*2E\r\n$IIVWT,026,L,12.40,N,06.38,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114155,,,,00,*4D\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.172,N,02325.913,E,114156,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.33,N,06.86,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,260.29,T,260.29,M,1.38,N,,,D*6E\r\n$IIMWV,344,T,12.28,N,A*2F\r\n$IIVWT,016,L,12.28,N,06.32,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114157,,,,00,*4F\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.172,N,02325.912,E,114158,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,260.32,T,260.32,M,1.39,N,,,D*6F\r\n$IIMWV,336,R,15.74,N,A*22\r\n$IIVWT,027,L,14.44,N,07.43,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114159,,,,00,*41\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.171,N,02325.910,E,114200,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.14,N,07.79,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,259.85,T,259.85,M,1.35,N,,,D*63\r\n$IIMWV,335,T,15.22,N,A*24\r\n$IIVWT,025,L,15.22,N,07.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114202,,,,00,*4C\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.171,N,02325.909,E,114202,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.81,N,07.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,257.56,T,257.56,M,1.31,N,,,D*67\r\n$IIMWV,341,R,15.35,N,A*27\r\n$IIVWT,020,L,14.09,N,07.25,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114204,,,,00,*4A\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.171,N,02325.908,E,114204,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.20,N,07.31,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,255.09,T,255.09,M,1.23,N,,,D*64\r\n$IIMWV,348,T,13.85,N,A*25\r\n$IIVWT,012,L,13.85,N,07.13,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114206,,,,00,*48\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.171,N,02325.906,E,114206,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.54,N,06.97,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,252.87,T,252.87,M,1.16,N,,,D*62\r\n$IIMWV,345,R,14.19,N,A*2C\r\n$IIVWT,016,L,12.86,N,06.62,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114208,,,,00,*46\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.170,N,02325.905,E,114208,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.12,N,06.75,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,251.01,T,251.01,M,1.12,N,,,D*66\r\n$IIMWV,350,T,14.92,N,A*2D\r\n$IIVWT,010,L,14.92,N,07.68,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114210,,,,00,*4F\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.170,N,02325.904,E,114210,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.64,N,08.05,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.24,N,02.29,K*5B\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,249.82,T,249.82,M,1.03,N,,,D*66\r\n$IIMWV,342,R,17.49,N,A*2D\r\n$IIVWT,019,L,16.42,N,08.45,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114212,,,,00,*4D\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.170,N,02325.902,E,114212,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.01,N,08.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,249.21,T,249.21,M,1.01,N,,,D*64\r\n$IIMWV,344,T,15.10,N,A*23\r\n$IIVWT,016,L,15.10,N,07.77,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114214,,,,00,*4B\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.170,N,02325.901,E,114214,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.16,N,02.14,K*54\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,247.95,T,247.95,M,0.95,N,,,D*68\r\n$IIMWV,346,R,15.35,N,A*20\r\n$IIVWT,015,L,14.36,N,07.39,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114216,,,,00,*49\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.170,N,02325.901,E,114216,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.82,N,07.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,247.21,T,247.21,M,0.91,N,,,D*6C\r\n$IIMWV,351,T,13.06,N,A*26\r\n$IIVWT,009,L,13.06,N,06.72,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114218,,,,00,*47\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.169,N,02325.900,E,114218,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.06,N,01.96,K*5C\r\n$IIVPW,0.90,N,,*08\r\n$IIVTG,246.85,T,246.85,M,0.83,N,,,D*6F\r\n$IIMWV,003,R,15.16,N,A*23\r\n$IIVWT,004,R,14.20,N,07.31,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114220,,,,00,*4C\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.169,N,02325.899,E,114220,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.96,N,06.67,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,247.24,T,247.24,M,0.81,N,,,D*6D\r\n$IIMWV,002,T,13.62,N,A*21\r\n$IIVWT,002,R,13.62,N,07.01,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114222,,,,00,*4E\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.169,N,02325.898,E,114222,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.07,N,07.24,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.89,N,01.64,K*57\r\n$IIVPW,0.66,N,,*01\r\n$IIVTG,247.29,T,247.29,M,0.75,N,,,D*66\r\n$IIMWV,001,R,15.16,N,A*21\r\n$IIVWT,001,R,14.48,N,07.45,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114224,,,,00,*48\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5959.169,N,02325.898,E,114224,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.82,N,01.51,K*5A\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,245.85,T,245.85,M,0.71,N,,,D*62\r\n$IIMWV,004,T,13.91,N,A*2B\r\n$IIVWT,004,R,13.91,N,07.16,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114226,,,,00,*4A\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5959.169,N,02325.897,E,114226,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.59,N,06.48,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,241.61,T,241.61,M,0.65,N,,,D*67\r\n$IIMWV,007,R,13.41,N,A*23\r\n$IIVWT,007,R,12.61,N,06.49,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114228,,,,00,*44\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5959.168,N,02325.897,E,114228,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.80,N,01.48,K*50\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,234.62,T,234.62,M,0.61,N,,,D*63\r\n$IIMWV,006,T,14.44,N,A*26\r\n$IIVWT,006,R,14.44,N,07.43,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114230,,,,00,*4D\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5959.168,N,02325.896,E,114230,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.86,N,01.59,K*56\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,229.23,T,229.23,M,0.65,N,,,D*67\r\n$IIMWV,355,R,14.77,N,A*25\r\n$IIVWT,006,L,13.82,N,07.11,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114232,,,,00,*4F\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.168,N,02325.896,E,114232,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.81,N,08.65,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,0.85,N,,*0C\r\n$IIVTG,225.15,T,225.15,M,0.69,N,,,D*6B\r\n$IIMWV,343,T,16.65,N,A*25\r\n$IIVWT,017,L,16.65,N,08.57,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114234,,,,00,*49\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.167,N,02325.896,E,114235,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.28,N,07.35,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.94,N,01.74,K*5A\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,222.04,T,222.04,M,0.70,N,,,D*63\r\n$IIMWV,353,R,15.35,N,A*24\r\n$IIVWT,008,L,14.28,N,07.35,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114236,,,,00,*4B\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.167,N,02325.895,E,114237,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,221.36,T,221.36,M,0.70,N,,,D*63\r\n$IIMWV,354,T,15.12,N,A*20\r\n$IIVWT,006,L,15.12,N,07.78,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114238,,,,00,*45\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.167,N,02325.895,E,114239,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.84,N,09.18,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.93,N,01.72,K*5B\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,221.39,T,221.39,M,0.70,N,,,D*63\r\n$IIMWV,355,R,17.68,N,A*28\r\n$IIVWT,006,L,16.87,N,08.68,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114240,,,,00,*4A\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.167,N,02325.894,E,114241,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.37,N,06.88,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.89,N,01.64,K*57\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,222.70,T,222.70,M,0.70,N,,,D*63\r\n$IIMWV,358,T,12.24,N,A*2E\r\n$IIVWT,002,L,12.24,N,06.30,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114242,,,,00,*48\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.166,N,02325.893,E,114243,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.33,N,06.86,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.88,N,01.62,K*50\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,224.20,T,224.20,M,0.65,N,,,D*67\r\n$IIMWV,351,R,15.35,N,A*26\r\n$IIVWT,009,L,14.44,N,07.43,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114245,,,,00,*4F\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.166,N,02325.893,E,114245,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.26,N,07.34,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.88,N,01.62,K*50\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,228.08,T,228.08,M,0.69,N,,,D*6B\r\n$IIMWV,002,T,13.49,N,A*28\r\n$IIVWT,002,R,13.49,N,06.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114247,,,,00,*4D\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.166,N,02325.892,E,114247,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.86,N,01.59,K*56\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,232.74,T,232.74,M,0.70,N,,,D*63\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,011,L,14.24,N,07.33,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114249,,,,00,*43\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.166,N,02325.892,E,114249,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.87,N,01.61,K*5C\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,234.86,T,234.86,M,0.70,N,,,D*63\r\n$IIMWV,345,T,14.24,N,A*24\r\n$IIVWT,015,L,14.24,N,07.33,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114251,,,,00,*4A\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.166,N,02325.891,E,114251,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.12,N,07.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,235.02,T,235.02,M,0.70,N,,,D*63\r\n$IIMWV,350,R,15.16,N,A*26\r\n$IIVWT,010,L,14.11,N,07.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114253,,,,00,*48\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.165,N,02325.890,E,114253,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,232.95,T,232.95,M,0.70,N,,,D*63\r\n$IIMWV,349,T,11.99,N,A*2B\r\n$IIVWT,011,L,11.99,N,06.17,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114255,,,,00,*4E\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.165,N,02325.890,E,114255,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.04,N,01.92,K*5A\r\n$IIVPW,1.08,N,,*08\r\n$IIVTG,231.19,T,231.19,M,0.77,N,,,D*64\r\n$IIMWV,350,R,15.35,N,A*27\r\n$IIVWT,011,L,14.22,N,07.32,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114257,,,,00,*4C\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.165,N,02325.889,E,114257,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.43,N,07.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,229.67,T,229.67,M,0.79,N,,,D*6A\r\n$IIMWV,349,T,15.64,N,A*2D\r\n$IIVWT,011,L,15.64,N,08.05,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114259,,,,00,*42\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.164,N,02325.888,E,114259,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.76,N,07.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,228.97,T,228.97,M,0.80,N,,,D*6C\r\n$IIMWV,002,R,16.71,N,A*20\r\n$IIVWT,002,R,15.66,N,08.06,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114301,,,,00,*4E\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.164,N,02325.888,E,114301,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.74,N,08.10,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,0.95,N,,*0D\r\n$IIVTG,229.09,T,229.09,M,0.80,N,,,D*6C\r\n$IIMWV,009,T,14.75,N,A*2B\r\n$IIVWT,009,R,14.75,N,07.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114303,,,,00,*4C\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.164,N,02325.887,E,114303,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.41,N,06.90,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.00,N,01.85,K*58\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,229.10,T,229.10,M,0.72,N,,,D*61\r\n$IIMWV,005,R,14.19,N,A*2B\r\n$IIVWT,005,R,13.17,N,06.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114305,,,,00,*4A\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.163,N,02325.887,E,114305,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.22,N,07.83,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.98,N,01.81,K*5C\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,229.00,T,229.00,M,0.71,N,,,D*62\r\n$IIMWV,358,T,14.83,N,A*25\r\n$IIVWT,002,L,14.83,N,07.63,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114307,,,,00,*48\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.163,N,02325.886,E,114307,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.86,N,06.62,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.90,N,,*08\r\n$IIVTG,229.12,T,229.12,M,0.70,N,,,D*63\r\n$IIMWV,002,R,12.44,N,A*22\r\n$IIVWT,002,R,11.50,N,05.92,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114309,,,,00,*46\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.163,N,02325.885,E,114309,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.34,N,07.38,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.93,N,01.72,K*5B\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,229.41,T,229.41,M,0.70,N,,,D*63\r\n$IIMWV,359,T,14.90,N,A*26\r\n$IIVWT,001,L,14.90,N,07.67,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114311,,,,00,*4F\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.163,N,02325.885,E,114311,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.50,N,07.46,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.90,N,01.66,K*5D\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,227.50,T,227.50,M,0.63,N,,,D*61\r\n$IIMWV,001,R,16.13,N,A*27\r\n$IIVWT,001,R,15.27,N,07.86,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114313,,,,00,*4D\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.162,N,02325.885,E,114313,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.30,N,08.39,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.86,N,01.59,K*56\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,225.57,T,225.57,M,0.61,N,,,D*63\r\n$IIMWV,002,T,16.28,N,A*2A\r\n$IIVWT,002,R,16.28,N,08.38,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114315,,,,00,*4B\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.162,N,02325.884,E,114315,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.81,N,01.50,K*58\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,222.12,T,222.12,M,0.53,N,,,D*62\r\n$IIMWV,344,R,14.38,N,A*2E\r\n$IIVWT,017,L,13.62,N,07.01,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114317,,,,00,*49\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.162,N,02325.884,E,114318,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.61,N,07.52,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,218.61,T,218.61,M,0.51,N,,,D*60\r\n$IIMWV,347,T,16.25,N,A*25\r\n$IIVWT,013,L,16.25,N,08.36,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114319,,,,00,*47\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.161,N,02325.884,E,114320,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.34,N,09.44,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,217.02,T,217.02,M,0.50,N,,,D*61\r\n$IIMWV,353,R,20.02,N,A*26\r\n$IIVWT,007,L,19.30,N,09.93,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114321,,,,00,*4C\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.161,N,02325.884,E,114322,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.73,N,10.15,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,217.41,T,217.41,M,0.50,N,,,D*61\r\n$IIMWV,000,T,19.36,N,A*28\r\n$IIVWT,000,R,19.36,N,09.96,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114323,,,,00,*4E\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.161,N,02325.883,E,114324,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.30,N,09.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,220.13,T,220.13,M,0.43,N,,,D*63\r\n$IIMWV,358,R,20.79,N,A*21\r\n$IIVWT,002,L,20.06,N,10.32,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114325,,,,00,*48\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.161,N,02325.883,E,114326,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.74,N,10.16,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,223.88,T,223.88,M,0.41,N,,,D*61\r\n$IIMWV,358,T,18.00,N,A*22\r\n$IIVWT,002,L,18.00,N,09.26,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114328,,,,00,*45\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.161,N,02325.883,E,114328,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.54,N,10.57,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.60,N,01.11,K*52\r\n$IIVPW,0.43,N,,*06\r\n$IIVTG,227.02,T,227.02,M,0.33,N,,,D*64\r\n$IIMWV,360,R,20.79,N,A*2A\r\n$IIVWT,000,L,20.33,N,10.46,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114330,,,,00,*4C\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.161,N,02325.882,E,114330,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,20.41,N,10.50,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.51,N,00.94,K*5C\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,230.25,T,230.25,M,0.31,N,,,D*66\r\n$IIMWV,357,T,19.67,N,A*2D\r\n$IIVWT,003,L,19.67,N,10.12,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114332,,,,00,*4E\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.161,N,02325.882,E,114332,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.31,N,09.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.43,N,00.79,K*5C\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,232.06,T,232.06,M,0.23,N,,,D*65\r\n$IIMWV,003,R,18.46,N,A*2B\r\n$IIVWT,003,R,18.15,N,09.34,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114334,,,,00,*48\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.161,N,02325.882,E,114334,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.37,N,08.94,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.37,N,00.68,K*5F\r\n$IIVPW,0.27,N,,*04\r\n$IIVTG,229.81,T,229.81,M,0.19,N,,,D*6C\r\n$IIMWV,357,T,16.73,N,A*27\r\n$IIVWT,003,L,16.73,N,08.61,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114336,,,,00,*4A\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.161,N,02325.882,E,114336,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.75,N,07.59,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.36,N,00.66,K*50\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,226.51,T,226.51,M,0.20,N,,,D*66\r\n$IIMWV,001,R,14.77,N,A*27\r\n$IIVWT,001,R,14.36,N,07.39,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114338,,,,00,*44\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.160,N,02325.882,E,114338,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.37,N,00.68,K*5F\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,223.28,T,223.28,M,0.20,N,,,D*66\r\n$IIMWV,006,T,14.38,N,A*2D\r\n$IIVWT,006,R,14.38,N,07.40,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114340,,,,00,*4B\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.160,N,02325.882,E,114340,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.31,N,07.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.39,N,,*0B\r\n$IIVTG,219.72,T,219.72,M,0.20,N,,,D*66\r\n$IIMWV,016,R,14.77,N,A*21\r\n$IIVWT,016,R,14.38,N,07.40,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114342,,,,00,*49\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.160,N,02325.882,E,114342,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.38,N,00.70,K*59\r\n$IIVPW,0.39,N,,*0B\r\n$IIVTG,215.03,T,215.03,M,0.25,N,,,D*63\r\n$IIMWV,010,T,12.98,N,A*26\r\n$IIVWT,010,R,12.98,N,06.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114344,,,,00,*4F\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.160,N,02325.882,E,114344,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.42,N,00.77,K*53\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,209.91,T,209.91,M,0.29,N,,,D*6F\r\n$IIMWV,003,R,12.05,N,A*26\r\n$IIVWT,003,R,11.46,N,05.90,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114346,,,,00,*4D\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.160,N,02325.883,E,114346,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.17,N,05.75,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,202.68,T,202.68,M,0.55,N,,,D*64\r\n$IIMWV,011,T,11.56,N,A*26\r\n$IIVWT,011,R,11.56,N,05.95,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114348,,,,00,*43\r\n$IIDBT,019.65,f,005.99,M,003.23,F*2D\r\n$GPGLL,5959.159,N,02325.883,E,114348,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.24,N,06.30,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,195.69,T,195.69,M,0.66,N,,,D*64\r\n$IIMWV,003,R,13.41,N,A*27\r\n$IIVWT,004,R,12.44,N,06.40,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114350,,,,00,*4A\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.159,N,02325.883,E,114350,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.42,N,06.39,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.78,N,01.44,K*5B\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,193.55,T,193.55,M,0.62,N,,,D*60\r\n$IIMWV,006,T,12.46,N,A*22\r\n$IIVWT,006,R,12.46,N,06.41,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114352,,,,00,*48\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.159,N,02325.883,E,114352,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.35,N,06.87,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.84,N,01.55,K*58\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,191.68,T,191.68,M,0.68,N,,,D*6A\r\n$IIMWV,002,R,16.13,N,A*24\r\n$IIVWT,002,R,15.08,N,07.76,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114354,,,,00,*4E\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.158,N,02325.883,E,114354,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.77,N,07.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.88,N,01.62,K*50\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,192.10,T,192.10,M,0.67,N,,,D*65\r\n$IIMWV,007,T,15.16,N,A*21\r\n$IIVWT,007,R,15.16,N,07.80,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114356,,,,00,*4C\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.158,N,02325.883,E,114356,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.52,N,08.50,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,193.48,T,193.48,M,0.69,N,,,D*6B\r\n$IIMWV,359,R,18.07,N,A*22\r\n$IIVWT,001,L,17.08,N,08.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114358,,,,00,*42\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.158,N,02325.882,E,114358,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.12,N,08.81,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.92,N,01.70,K*58\r\n$IIVPW,0.90,N,,*08\r\n$IIVTG,196.12,T,196.12,M,0.65,N,,,D*67\r\n$IIMWV,359,T,17.53,N,A*2A\r\n$IIVWT,001,L,17.53,N,09.02,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114400,,,,00,*48\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.157,N,02325.882,E,114401,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.55,N,09.03,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,199.33,T,199.33,M,0.61,N,,,D*63\r\n$IIMWV,008,R,17.10,N,A*2C\r\n$IIVWT,009,R,16.19,N,08.33,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114402,,,,00,*4A\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.157,N,02325.882,E,114403,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.63,N,09.07,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.88,N,01.62,K*50\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,202.30,T,202.30,M,0.60,N,,,D*62\r\n$IIMWV,357,T,18.21,N,A*2E\r\n$IIVWT,003,L,18.21,N,09.37,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114404,,,,00,*4C\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.157,N,02325.881,E,114405,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.87,N,08.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.84,N,01.55,K*58\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,205.00,T,205.00,M,0.60,N,,,D*62\r\n$IIMWV,355,R,19.04,N,A*2C\r\n$IIVWT,005,L,18.29,N,09.41,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114406,,,,00,*4E\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.157,N,02325.881,E,114407,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.96,N,08.73,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,207.40,T,207.40,M,0.53,N,,,D*62\r\n$IIMWV,004,T,17.94,N,A*2A\r\n$IIVWT,004,R,17.94,N,09.23,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114408,,,,00,*40\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.156,N,02325.881,E,114409,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,19.74,N,10.16,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.74,N,01.37,K*53\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,209.30,T,209.30,M,0.51,N,,,D*60\r\n$IIMWV,003,R,19.43,N,A*2F\r\n$IIVWT,003,R,18.79,N,09.67,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114411,,,,00,*48\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.156,N,02325.880,E,114411,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.81,N,09.68,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.69,N,01.27,K*5E\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,211.32,T,211.32,M,0.50,N,,,D*61\r\n$IIMWV,001,T,18.83,N,A*26\r\n$IIVWT,001,R,18.83,N,09.69,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114413,,,,00,*4A\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.156,N,02325.880,E,114413,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.61,N,08.55,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.62,N,01.14,K*55\r\n$IIVPW,0.46,N,,*03\r\n$IIVTG,211.21,T,211.21,M,0.43,N,,,D*63\r\n$IIMWV,358,R,18.46,N,A*26\r\n$IIVWT,002,L,17.88,N,09.20,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114415,,,,00,*4C\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.156,N,02325.880,E,114415,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.48,N,09.51,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.59,N,01.09,K*51\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,209.43,T,209.43,M,0.36,N,,,D*61\r\n$IIMWV,356,T,18.46,N,A*2E\r\n$IIVWT,004,L,18.46,N,09.50,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114417,,,,00,*4E\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114417,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.02,N,08.76,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.54,N,01.00,K*55\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,207.79,T,207.79,M,0.24,N,,,D*62\r\n$IIMWV,354,R,15.16,N,A*22\r\n$IIVWT,006,L,14.67,N,07.55,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114419,,,,00,*40\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114419,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.23,N,07.84,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.51,N,00.94,K*5C\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,206.07,T,206.07,M,0.21,N,,,D*67\r\n$IIMWV,354,T,14.87,N,A*2D\r\n$IIVWT,006,L,14.87,N,07.65,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114421,,,,00,*4B\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114421,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.03,N,08.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.49,N,00.90,K*51\r\n$IIVPW,0.44,N,,*01\r\n$IIVTG,203.79,T,203.79,M,0.23,N,,,D*65\r\n$IIMWV,357,R,17.49,N,A*29\r\n$IIVWT,003,L,17.10,N,08.80,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114423,,,,00,*49\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114423,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.07,N,09.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.44,N,00.81,K*5C\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,202.75,T,202.75,M,0.13,N,,,D*66\r\n$IIMWV,353,T,18.27,N,A*2C\r\n$IIVWT,007,L,18.27,N,09.40,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114425,,,,00,*4F\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.155,N,02325.880,E,114425,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.09,N,09.31,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.40,N,00.74,K*52\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,201.76,T,201.76,M,0.11,N,,,D*64\r\n$IIMWV,353,R,18.66,N,A*2F\r\n$IIVWT,007,L,18.40,N,09.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114427,,,,00,*4D\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.155,N,02325.880,E,114427,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.40,N,09.47,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.33,N,00.61,K*52\r\n$IIVPW,0.20,N,,*03\r\n$IIVTG,201.49,T,201.49,M,0.05,N,,,D*61\r\n$IIMWV,351,T,17.82,N,A*2E\r\n$IIVWT,009,L,17.82,N,09.17,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114429,,,,00,*43\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114429,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.05,N,09.29,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.24,N,00.44,K*53\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,201.32,T,201.32,M,0.01,N,,,D*65\r\n$IIMWV,354,R,17.68,N,A*29\r\n$IIVWT,006,L,17.66,N,09.09,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114431,,,,00,*4A\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.155,N,02325.880,E,114431,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.50,N,08.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.15,N,00.27,K*54\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,201.91,T,201.91,M,0.05,N,,,D*61\r\n$IIMWV,349,T,16.11,N,A*2C\r\n$IIVWT,011,L,16.11,N,08.29,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114433,,,,00,*48\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.155,N,02325.880,E,114433,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.33,N,07.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.09,N,00.16,K*5B\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,210.30,T,210.30,M,0.19,N,,,D*6C\r\n$IIMWV,342,R,16.13,N,A*23\r\n$IIVWT,018,L,16.09,N,08.28,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114435,,,,00,*4E\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5959.155,N,02325.880,E,114435,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.33,N,07.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.05,N,00.09,K*59\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,221.47,T,221.47,M,0.27,N,,,D*61\r\n$IIMWV,355,T,15.33,N,A*22\r\n$IIVWT,005,L,15.33,N,07.89,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114437,,,,00,*4C\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.155,N,02325.880,E,114437,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.39,N,06.89,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.03,N,00.05,K*53\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.04,T,232.04,M,0.24,N,,,D*62\r\n$IIMWV,351,R,14.38,N,A*2A\r\n$IIVWT,009,L,14.36,N,07.39,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114439,,,,00,*42\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5959.155,N,02325.880,E,114439,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.65,N,07.54,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.05,N,00.09,K*59\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,242.13,T,242.13,M,0.29,N,,,D*6F\r\n$IIMWV,341,T,15.62,N,A*23\r\n$IIVWT,019,L,15.62,N,08.04,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114441,,,,00,*4D\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.155,N,02325.880,E,114442,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.17,N,07.29,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.33,N,00.61,K*52\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,249.91,T,249.91,M,0.52,N,,,D*63\r\n$IIMWV,349,R,15.16,N,A*2E\r\n$IIVWT,012,L,14.26,N,07.34,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114443,,,,00,*4F\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.156,N,02325.879,E,114444,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.21,N,08.34,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.57,N,01.05,K*53\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,258.50,T,258.50,M,0.86,N,,,D*6A\r\n$IIMWV,349,T,17.28,N,A*27\r\n$IIVWT,011,L,17.28,N,08.89,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114445,,,,00,*49\r\n$IIDBT,019.78,f,006.03,M,003.25,F*27\r\n$GPGLL,5959.156,N,02325.878,E,114446,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.95,N,09.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,262.35,T,262.35,M,0.76,N,,,D*65\r\n$IIMWV,346,R,19.43,N,A*2D\r\n$IIVWT,014,L,18.58,N,09.56,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114447,,,,00,*4B\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.156,N,02325.877,E,114448,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,18.66,N,09.60,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.74,N,01.37,K*53\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,264.51,T,264.51,M,0.79,N,,,D*6A\r\n$IIMWV,355,T,18.99,N,A*2F\r\n$IIVWT,005,L,18.99,N,09.77,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114449,,,,00,*45\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.156,N,02325.876,E,114450,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.24,N,08.87,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,265.28,T,265.28,M,0.67,N,,,D*65\r\n$IIMWV,355,R,17.68,N,A*28\r\n$IIVWT,005,L,16.95,N,08.72,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114451,,,,00,*4C\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.876,E,114452,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.97,N,08.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,265.07,T,265.07,M,0.57,N,,,D*66\r\n$IIMWV,357,T,15.37,N,A*24\r\n$IIVWT,003,L,15.37,N,07.91,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114454,,,,00,*49\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.155,N,02325.875,E,114454,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.43,N,07.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.72,N,01.33,K*51\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,264.44,T,264.44,M,0.52,N,,,D*63\r\n$IIMWV,350,R,17.10,N,A*22\r\n$IIVWT,010,L,16.36,N,08.42,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114456,,,,00,*4B\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.874,E,114456,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.10,N,07.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.70,N,01.29,K*58\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,264.53,T,264.53,M,0.45,N,,,D*65\r\n$IIMWV,355,T,15.43,N,A*25\r\n$IIVWT,005,L,15.43,N,07.94,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114458,,,,00,*45\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.874,E,114458,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,263.28,T,263.28,M,0.41,N,,,D*61\r\n$IIMWV,352,R,16.52,N,A*27\r\n$IIVWT,008,L,15.88,N,08.17,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114500,,,,00,*49\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.873,E,114500,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.03,N,08.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.66,N,01.22,K*54\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,261.73,T,261.73,M,0.40,N,,,D*60\r\n$IIMWV,348,T,16.36,N,A*28\r\n$IIVWT,012,L,16.36,N,08.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114502,,,,00,*4B\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.873,E,114502,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.75,N,08.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.69,N,01.27,K*5E\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,260.76,T,260.76,M,0.45,N,,,D*65\r\n$IIMWV,352,R,17.49,N,A*2C\r\n$IIVWT,009,L,16.81,N,08.65,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114504,,,,00,*4D\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.872,E,114504,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.08,N,07.76,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,259.59,T,259.59,M,0.41,N,,,D*61\r\n$IIMWV,350,T,16.05,N,A*21\r\n$IIVWT,010,L,16.05,N,08.26,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114506,,,,00,*4F\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.155,N,02325.872,E,114506,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.07,N,08.27,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.66,N,01.22,K*54\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,260.67,T,260.67,M,0.48,N,,,D*68\r\n$IIMWV,357,R,18.46,N,A*29\r\n$IIVWT,003,L,17.82,N,09.17,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114508,,,,00,*41\r\n$IIDBT,019.81,f,006.04,M,003.26,F*25\r\n$GPGLL,5959.155,N,02325.872,E,114508,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.69,N,07.56,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.64,N,01.18,K*5F\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,260.96,T,260.96,M,0.37,N,,,D*60\r\n$IIMWV,016,T,15.49,N,A*2B\r\n$IIVWT,016,R,15.49,N,07.97,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114510,,,,00,*48\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.871,E,114510,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.55,N,07.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.62,N,01.14,K*55\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,262.47,T,262.47,M,0.44,N,,,D*64\r\n$IIMWV,008,R,16.13,N,A*2E\r\n$IIVWT,008,R,15.53,N,07.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114512,,,,00,*4A\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.871,E,114512,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.57,N,07.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.59,N,01.09,K*51\r\n$IIVPW,0.52,N,,*06\r\n$IIVTG,264.79,T,264.79,M,0.44,N,,,D*64\r\n$IIMWV,356,T,14.57,N,A*22\r\n$IIVWT,004,L,14.57,N,07.50,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114514,,,,00,*4C\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.870,E,114514,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.23,N,06.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.57,N,01.05,K*53\r\n$IIVPW,0.54,N,,*00\r\n$IIVTG,265.05,T,265.05,M,0.36,N,,,D*61\r\n$IIMWV,005,R,13.21,N,A*27\r\n$IIVWT,005,R,12.65,N,06.51,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114516,,,,00,*4E\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.870,E,114516,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.53,N,,*07\r\n$IIVTG,263.18,T,263.18,M,0.34,N,,,D*63\r\n$IIMWV,011,T,12.69,N,A*29\r\n$IIVWT,011,R,12.69,N,06.53,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114518,,,,00,*40\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.155,N,02325.870,E,114518,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.46,N,05.90,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,259.92,T,259.92,M,0.36,N,,,D*61\r\n$IIMWV,002,R,12.05,N,A*27\r\n$IIVWT,002,R,11.44,N,05.89,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114520,,,,00,*4B\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5959.155,N,02325.869,E,114520,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.88,N,05.60,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.56,N,01.03,K*54\r\n$IIVPW,0.55,N,,*01\r\n$IIVTG,256.58,T,256.58,M,0.39,N,,,D*6E\r\n$IIMWV,018,T,11.42,N,A*2A\r\n$IIVWT,018,R,11.42,N,05.88,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114522,,,,00,*49\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.155,N,02325.869,E,114522,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.20,N,06.28,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.59,N,01.09,K*51\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,249.62,T,249.62,M,0.40,N,,,D*60\r\n$IIMWV,008,R,13.21,N,A*2A\r\n$IIVWT,009,R,12.51,N,06.44,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114524,,,,00,*4F\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.154,N,02325.869,E,114525,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.64,N,01.18,K*5F\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,239.85,T,239.85,M,0.45,N,,,D*65\r\n$IIMWV,357,T,11.64,N,A*26\r\n$IIVWT,003,L,11.64,N,05.99,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114526,,,,00,*4D\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.154,N,02325.869,E,114527,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.02,N,05.67,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.70,N,01.29,K*58\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,231.19,T,231.19,M,0.49,N,,,D*69\r\n$IIMWV,351,R,13.21,N,A*25\r\n$IIVWT,009,L,12.28,N,06.32,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114528,,,,00,*43\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.154,N,02325.869,E,114529,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.95,N,06.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,223.45,T,223.45,M,0.55,N,,,D*64\r\n$IIMWV,356,T,12.28,N,A*2C\r\n$IIVWT,004,L,12.28,N,06.32,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114530,,,,00,*4A\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.153,N,02325.869,E,114531,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.79,N,06.07,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.83,N,01.53,K*59\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,216.94,T,216.94,M,0.59,N,,,D*68\r\n$IIMWV,356,R,13.21,N,A*22\r\n$IIVWT,004,L,12.16,N,06.26,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114532,,,,00,*48\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.153,N,02325.868,E,114533,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.69,N,06.53,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,213.46,T,213.46,M,0.60,N,,,D*62\r\n$IIMWV,348,T,13.12,N,A*2B\r\n$IIVWT,012,L,13.12,N,06.75,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114534,,,,00,*4E\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.153,N,02325.868,E,114535,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,213.81,T,213.81,M,0.67,N,,,D*65\r\n$IIMWV,350,R,13.21,N,A*24\r\n$IIVWT,011,L,12.14,N,06.25,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114537,,,,00,*4D\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.152,N,02325.868,E,114537,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.00,N,01.85,K*58\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,215.30,T,215.30,M,0.69,N,,,D*6B\r\n$IIMWV,347,T,12.28,N,A*2C\r\n$IIVWT,013,L,12.28,N,06.32,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114539,,,,00,*43\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.152,N,02325.867,E,114539,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.77,N,06.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.00,N,01.85,K*58\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,216.75,T,216.75,M,0.70,N,,,D*63\r\n$IIMWV,010,R,12.44,N,A*21\r\n$IIVWT,011,R,11.41,N,05.87,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114541,,,,00,*4C\r\n$IIDBT,020.11,f,006.13,M,003.31,F*26\r\n$GPGLL,5959.152,N,02325.866,E,114541,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.72,N,06.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.02,N,01.88,K*57\r\n$IIVPW,1.08,N,,*08\r\n$IIVTG,218.44,T,218.44,M,0.75,N,,,D*66\r\n$IIMWV,350,T,11.77,N,A*23\r\n$IIVWT,010,L,11.77,N,06.06,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114543,,,,00,*4E\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.151,N,02325.866,E,114543,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.58,N,05.96,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.07,N,01.98,K*53\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,220.22,T,220.22,M,0.79,N,,,D*6A\r\n$IIMWV,354,R,12.05,N,A*27\r\n$IIVWT,006,L,10.96,N,05.64,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114545,,,,00,*48\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.151,N,02325.865,E,114545,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.70,N,06.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,221.03,T,221.03,M,0.87,N,,,D*6B\r\n$IIMWV,354,T,12.09,N,A*2D\r\n$IIVWT,006,L,12.09,N,06.22,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114547,,,,00,*4A\r\n$IIDBT,020.27,f,006.18,M,003.34,F*2D\r\n$GPGLL,5959.150,N,02325.865,E,114547,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.27,N,05.80,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,221.43,T,221.43,M,0.89,N,,,D*65\r\n$IIMWV,357,R,12.05,N,A*24\r\n$IIVWT,003,L,10.76,N,05.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114549,,,,00,*44\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.150,N,02325.864,E,114549,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.13,N,05.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,222.28,T,222.28,M,0.90,N,,,D*6D\r\n$IIMWV,348,T,11.11,N,A*2A\r\n$IIVWT,012,L,11.11,N,05.72,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114551,,,,00,*4D\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5959.150,N,02325.863,E,114551,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,223.40,T,223.40,M,0.95,N,,,D*68\r\n$IIMWV,354,R,12.05,N,A*27\r\n$IIVWT,007,L,10.80,N,05.56,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114553,,,,00,*4F\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5959.149,N,02325.862,E,114553,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.62,N,05.98,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,224.45,T,224.45,M,0.96,N,,,D*6B\r\n$IIMWV,358,T,11.58,N,A*26\r\n$IIVWT,002,L,11.58,N,05.96,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114555,,,,00,*49\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5959.149,N,02325.862,E,114555,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.19,N,05.76,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.20,N,02.22,K*54\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,225.91,T,225.91,M,0.99,N,,,D*64\r\n$IIMWV,351,R,12.05,N,A*22\r\n$IIVWT,010,L,10.73,N,05.52,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114557,,,,00,*4B\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.149,N,02325.861,E,114557,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.22,N,02.25,K*51\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,227.28,T,227.28,M,1.05,N,,,D*60\r\n$IIMWV,357,T,09.73,N,A*29\r\n$IIVWT,003,L,09.73,N,05.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114559,,,,00,*45\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.148,N,02325.860,E,114559,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.26,N,02.33,K*52\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,227.85,T,227.85,M,1.09,N,,,D*6C\r\n$IIMWV,354,R,11.07,N,A*26\r\n$IIVWT,007,L,09.75,N,05.02,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114601,,,,00,*4B\r\n$IIDBT,020.40,f,006.22,M,003.36,F*27\r\n$GPGLL,5959.148,N,02325.859,E,114601,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.31,N,02.42,K*52\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,227.61,T,227.61,M,1.10,N,,,D*64\r\n$IIMWV,000,T,10.73,N,A*20\r\n$IIVWT,000,R,10.73,N,05.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114603,,,,00,*49\r\n$IIDBT,020.40,f,006.22,M,003.36,F*27\r\n$GPGLL,5959.147,N,02325.858,E,114603,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.04,N,05.68,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,227.03,T,227.03,M,1.10,N,,,D*64\r\n$IIMWV,014,R,12.05,N,A*20\r\n$IIVWT,016,R,10.69,N,05.50,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114605,,,,00,*4F\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5959.147,N,02325.857,E,114605,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.19,N,05.76,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,226.65,T,226.65,M,1.10,N,,,D*64\r\n$IIMWV,003,T,10.51,N,A*23\r\n$IIVWT,003,R,10.51,N,05.41,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114607,,,,00,*4D\r\n$IIDBT,020.50,f,006.25,M,003.37,F*20\r\n$GPGLL,5959.146,N,02325.857,E,114608,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.67,N,05.49,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.32,N,02.44,K*57\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,226.41,T,226.41,M,1.10,N,,,D*64\r\n$IIMWV,001,R,12.05,N,A*24\r\n$IIVWT,001,R,10.65,N,05.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114609,,,,00,*43\r\n$IIDBT,020.53,f,006.26,M,003.38,F*2F\r\n$GPGLL,5959.146,N,02325.856,E,114610,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,226.43,T,226.43,M,1.10,N,,,D*64\r\n$IIMWV,012,T,10.73,N,A*23\r\n$IIVWT,012,R,10.73,N,05.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114611,,,,00,*4A\r\n$IIDBT,020.60,f,006.28,M,003.39,F*20\r\n$GPGLL,5959.146,N,02325.855,E,114612,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,224.56,T,224.56,M,1.10,N,,,D*64\r\n$IIMWV,015,R,11.46,N,A*25\r\n$IIVWT,017,R,10.14,N,05.22,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114613,,,,00,*48\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5959.145,N,02325.854,E,114614,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.16,N,05.23,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,223.09,T,223.09,M,1.10,N,,,D*64\r\n$IIMWV,347,T,10.78,N,A*2B\r\n$IIVWT,013,L,10.78,N,05.55,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114615,,,,00,*4E\r\n$IIDBT,020.73,f,006.32,M,003.41,F*26\r\n$GPGLL,5959.145,N,02325.853,E,114616,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.91,N,06.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,221.90,T,221.90,M,1.10,N,,,D*64\r\n$IIMWV,351,R,14.19,N,A*29\r\n$IIVWT,010,L,12.80,N,06.59,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114617,,,,00,*4C\r\n$IIDBT,020.73,f,006.32,M,003.41,F*26\r\n$GPGLL,5959.144,N,02325.853,E,114618,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.43,N,06.91,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.33,N,02.46,K*54\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,222.72,T,222.72,M,1.10,N,,,D*64\r\n$IIMWV,344,T,13.00,N,A*24\r\n$IIVWT,016,L,13.00,N,06.69,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114620,,,,00,*48\r\n$IIDBT,020.73,f,006.32,M,003.41,F*26\r\n$GPGLL,5959.144,N,02325.852,E,114620,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.87,N,06.11,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,223.46,T,223.46,M,1.10,N,,,D*64\r\n$IIMWV,344,R,11.85,N,A*2D\r\n$IIVWT,018,L,10.59,N,05.45,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114622,,,,00,*4A\r\n$IIDBT,020.80,f,006.34,M,003.42,F*2F\r\n$GPGLL,5959.143,N,02325.851,E,114622,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.62,N,04.95,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.34,N,02.48,K*5D\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,224.79,T,224.79,M,1.10,N,,,D*64\r\n$IIMWV,002,T,08.70,N,A*28\r\n$IIVWT,002,R,08.70,N,04.48,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114624,,,,00,*4C\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5959.143,N,02325.850,E,114624,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.36,N,02.51,K*57\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,226.60,T,226.60,M,1.10,N,,,D*64\r\n$IIMWV,014,R,10.88,N,A*27\r\n$IIVWT,016,R,09.50,N,04.89,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114626,,,,00,*4E\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5959.142,N,02325.848,E,114626,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,229.40,T,229.40,M,1.17,N,,,D*63\r\n$IIMWV,017,T,08.10,N,A*2A\r\n$IIVWT,017,R,08.10,N,04.17,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114628,,,,00,*40\r\n$IIDBT,020.93,f,006.38,M,003.44,F*27\r\n$GPGLL,5959.142,N,02325.847,E,114628,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,230.55,T,230.55,M,1.19,N,,,D*6D\r\n$IIMWV,008,R,09.71,N,A*24\r\n$IIVWT,010,R,08.14,N,04.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114630,,,,00,*49\r\n$IIDBT,020.96,f,006.39,M,003.45,F*22\r\n$GPGLL,5959.141,N,02325.846,E,114630,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.41,N,02.61,K*54\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,229.91,T,229.91,M,1.20,N,,,D*67\r\n$IIMWV,359,T,08.31,N,A*20\r\n$IIVWT,001,L,08.31,N,04.28,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114632,,,,00,*4B\r\n$IIDBT,020.99,f,006.40,M,003.45,F*23\r\n$GPGLL,5959.141,N,02325.845,E,114632,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.31,N,,*02\r\n$IIVTG,228.73,T,228.73,M,1.20,N,,,D*67\r\n$IIMWV,350,R,08.74,N,A*2E\r\n$IIVWT,012,L,07.32,N,03.77,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114634,,,,00,*4D\r\n$IIDBT,021.09,f,006.43,M,003.47,F*2A\r\n$GPGLL,5959.140,N,02325.844,E,114634,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,227.08,T,227.08,M,1.22,N,,,D*65\r\n$IIMWV,341,T,08.98,N,A*2A\r\n$IIVWT,019,L,08.98,N,04.62,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114636,,,,00,*4F\r\n$IIDBT,021.02,f,006.41,M,003.46,F*22\r\n$GPGLL,5959.140,N,02325.844,E,114636,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.86,N,04.56,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,225.69,T,225.69,M,1.26,N,,,D*61\r\n$IIMWV,002,R,11.85,N,A*2C\r\n$IIVWT,002,R,10.38,N,05.34,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114638,,,,00,*41\r\n$IIDBT,021.09,f,006.43,M,003.47,F*2A\r\n$GPGLL,5959.139,N,02325.843,E,114638,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.74,N,06.04,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,224.47,T,224.47,M,1.21,N,,,D*66\r\n$IIMWV,343,T,11.33,N,A*21\r\n$IIVWT,017,L,11.33,N,05.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114640,,,,00,*4E\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5959.139,N,02325.842,E,114640,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.66,N,06.00,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,223.95,T,223.95,M,1.28,N,,,D*6F\r\n$IIMWV,348,R,12.82,N,A*25\r\n$IIVWT,014,L,11.44,N,05.89,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114642,,,,00,*4C\r\n$IIDBT,021.19,f,006.46,M,003.49,F*20\r\n$GPGLL,5959.138,N,02325.841,E,114642,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.41,N,05.87,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,223.21,T,223.21,M,1.27,N,,,D*60\r\n$IIMWV,005,T,10.30,N,A*22\r\n$IIVWT,005,R,10.30,N,05.30,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114644,,,,00,*4A\r\n$IIDBT,021.29,f,006.49,M,003.50,F*24\r\n$GPGLL,5959.138,N,02325.840,E,114644,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.70,N,07.05,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,227.25,T,227.25,M,1.32,N,,,D*64\r\n$IIMWV,347,R,15.35,N,A*21\r\n$IIVWT,015,L,13.80,N,07.10,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114646,,,,00,*48\r\n$IIDBT,011.02,f,003.36,M,001.81,F*2D\r\n$GPGLL,5959.138,N,02325.839,E,114646,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.28,N,06.32,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,230.33,T,230.33,M,1.33,N,,,D*65\r\n$IIMWV,001,T,12.36,N,A*22\r\n$IIVWT,001,R,12.36,N,06.36,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114648,,,,00,*46\r\n$IIDBT,011.67,f,003.56,M,001.92,F*2A\r\n$GPGLL,5959.137,N,02325.837,E,114648,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,231.21,T,231.21,M,1.36,N,,,D*60\r\n$IIMWV,004,R,15.16,N,A*24\r\n$IIVWT,005,R,13.60,N,07.00,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114650,,,,00,*4F\r\n$IIDBT,021.42,f,006.53,M,003.52,F*20\r\n$GPGLL,5959.137,N,02325.836,E,114650,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.98,N,06.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,231.17,T,231.17,M,1.44,N,,,D*65\r\n$IIMWV,031,T,12.98,N,A*25\r\n$IIVWT,031,R,12.98,N,06.68,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114652,,,,00,*4D\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5959.136,N,02325.835,E,114653,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.44,N,07.43,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,228.87,T,228.87,M,1.48,N,,,D*69\r\n$IIMWV,031,R,15.16,N,A*22\r\n$IIVWT,034,R,13.84,N,07.12,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114654,,,,00,*4B\r\n$IIDBT,021.58,f,006.58,M,003.55,F*27\r\n$GPGLL,5959.135,N,02325.834,E,114655,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.79,N,06.58,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.45,N,02.68,K*59\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,222.82,T,222.82,M,1.50,N,,,D*60\r\n$IIMWV,060,T,13.56,N,A*22\r\n$IIVWT,060,R,13.56,N,06.98,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114656,,,,00,*49\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5959.135,N,02325.833,E,114657,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.72,N,07.06,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,213.13,T,213.13,M,1.57,N,,,D*67\r\n$IIMWV,058,R,17.49,N,A*25\r\n$IIVWT,062,R,16.65,N,08.57,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114658,,,,00,*47\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5959.134,N,02325.833,E,114659,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,16.21,N,08.34,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,200.51,T,200.51,M,1.77,N,,,D*65\r\n$IIMWV,072,T,15.10,N,A*25\r\n$IIVWT,072,R,15.10,N,07.77,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114700,,,,00,*4B\r\n$IIDBT,011.15,f,003.40,M,001.83,F*28\r\n$GPGLL,5959.133,N,02325.834,E,114701,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,-0.20,N,,*2E\r\n$IIVTG,182.80,T,182.80,M,1.84,N,,,D*69\r\n$IIMWV,088,R,12.82,N,A*2A\r\n$IIVWT,096,R,12.84,N,06.61,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114703,,,,00,*48\r\n$IIDBT,021.81,f,006.65,M,003.59,F*21\r\n$GPGLL,5959.132,N,02325.835,E,114703,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.95,N,06.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.66,N,03.07,K*50\r\n$IIVPW,-0.66,N,,*2C\r\n$IIVTG,163.50,T,163.50,M,2.01,N,,,D*67\r\n$IIMWV,113,T,13.02,N,A*26\r\n$IIVWT,113,R,13.02,N,06.70,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114705,,,,00,*4E\r\n$IIDBT,021.81,f,006.65,M,003.59,F*21\r\n$GPGLL,5959.131,N,02325.836,E,114705,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.97,N,07.19,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,144.95,T,144.95,M,2.13,N,,,D*64\r\n$IIMWV,100,R,13.41,N,A*25\r\n$IIVWT,108,R,13.84,N,07.12,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114707,,,,00,*4C\r\n$IIDBT,021.42,f,006.53,M,003.52,F*20\r\n$GPGLL,5959.130,N,02325.840,E,114707,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,-1.04,N,,*29\r\n$IIVTG,123.57,T,123.57,M,2.32,N,,,D*67\r\n$IIMWV,123,T,14.83,N,A*2B\r\n$IIVWT,123,R,14.83,N,07.63,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114709,,,,00,*42\r\n$IIDBT,021.45,f,006.54,M,003.53,F*21\r\n$GPGLL,5959.130,N,02325.842,E,114709,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.41,N,07.93,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.98,N,03.66,K*56\r\n$IIVPW,-1.73,N,,*29\r\n$IIVTG,112.32,T,112.32,M,2.50,N,,,D*63\r\n$IIMWV,136,R,14.19,N,A*2A\r\n$IIVWT,142,R,15.84,N,08.15,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114711,,,,00,*4B\r\n$IIDBT,021.35,f,006.51,M,003.51,F*21\r\n$GPGLL,5959.129,N,02325.845,E,114711,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,17.61,N,09.06,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.05,N,03.79,K*5F\r\n$IIVPW,-1.95,N,,*21\r\n$IIVTG,100.21,T,100.21,M,2.63,N,,,D*63\r\n$IIMWV,151,T,17.14,N,A*23\r\n$IIVWT,151,R,17.14,N,08.82,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114713,,,,00,*49\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5959.129,N,02325.848,E,114713,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.49,N,07.97,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.13,N,03.94,K*5B\r\n$IIVPW,-2.11,N,,*2E\r\n$IIVTG,087.75,T,087.75,M,2.68,N,,,D*68\r\n$IIMWV,168,R,12.82,N,A*25\r\n$IIVWT,170,R,15.00,N,07.72,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114715,,,,00,*4F\r\n$IIDBT,021.19,f,006.46,M,003.49,F*20\r\n$GPGLL,5959.130,N,02325.851,E,114715,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.06,N,06.72,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,074.74,T,074.74,M,2.62,N,,,D*62\r\n$IIMWV,181,T,12.65,N,A*2D\r\n$IIVWT,179,L,12.65,N,06.51,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114717,,,,00,*4D\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5959.131,N,02325.853,E,114717,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.80,N,07.10,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.19,N,04.05,K*5E\r\n$IIVPW,-2.33,N,,*2E\r\n$IIVTG,064.44,T,064.44,M,2.63,N,,,D*63\r\n$IIMWV,173,R,12.05,N,A*20\r\n$IIVWT,174,R,14.32,N,07.37,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114719,,,,00,*43\r\n$IIDBT,020.99,f,006.40,M,003.45,F*23\r\n$GPGLL,5959.132,N,02325.856,E,114719,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.98,N,07.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.22,N,04.11,K*53\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,054.71,T,054.71,M,2.61,N,,,D*61\r\n$IIMWV,176,T,15.06,N,A*27\r\n$IIVWT,176,R,15.06,N,07.75,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114721,,,,00,*48\r\n$IIDBT,020.89,f,006.37,M,003.44,F*23\r\n$GPGLL,5959.133,N,02325.858,E,114721,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.38,N,07.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.26,N,04.18,K*5E\r\n$IIVPW,-2.34,N,,*29\r\n$IIVTG,046.58,T,046.58,M,2.60,N,,,D*60\r\n$IIMWV,184,R,12.05,N,A*28\r\n$IIVWT,177,L,14.32,N,07.37,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114723,,,,00,*4A\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5959.134,N,02325.859,E,114723,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.25,N,06.82,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.27,N,04.20,K*54\r\n$IIVPW,-2.19,N,,*26\r\n$IIVTG,040.77,T,040.77,M,2.60,N,,,D*60\r\n$IIMWV,190,T,14.19,N,A*20\r\n$IIVWT,170,L,14.19,N,07.30,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114725,,,,00,*4C\r\n$IIDBT,020.83,f,006.35,M,003.43,F*2C\r\n$GPGLL,5959.135,N,02325.861,E,114725,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.15,N,06.77,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.30,N,04.25,K*57\r\n$IIVPW,-2.31,N,,*2C\r\n$IIVTG,037.04,T,037.04,M,2.60,N,,,D*60\r\n$IIMWV,189,R,11.85,N,A*2E\r\n$IIVWT,172,L,14.05,N,07.23,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114727,,,,00,*4E\r\n$IIDBT,020.76,f,006.33,M,003.42,F*21\r\n$GPGLL,5959.136,N,02325.863,E,114727,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.32,N,04.29,K*59\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,034.86,T,034.86,M,2.60,N,,,D*60\r\n$IIMWV,184,T,14.87,N,A*22\r\n$IIVWT,176,L,14.87,N,07.65,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114729,,,,00,*40\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5959.137,N,02325.864,E,114729,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.40,N,07.41,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.34,N,04.33,K*54\r\n$IIVPW,-2.36,N,,*2B\r\n$IIVTG,034.09,T,034.09,M,2.60,N,,,D*60\r\n$IIMWV,187,R,12.44,N,A*2E\r\n$IIVWT,174,L,14.90,N,07.67,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114731,,,,00,*49\r\n$IIDBT,020.57,f,006.27,M,003.38,F*2A\r\n$GPGLL,5959.138,N,02325.866,E,114731,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.10,N,06.74,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,032.67,T,032.67,M,2.68,N,,,D*68\r\n$IIMWV,198,T,12.38,N,A*2D\r\n$IIVWT,162,L,12.38,N,06.37,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114733,,,,00,*4B\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.140,N,02325.867,E,114733,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-2.43,N,,*29\r\n$IIVTG,031.74,T,031.74,M,2.69,N,,,D*69\r\n$IIMWV,203,R,10.88,N,A*23\r\n$IIVWT,161,L,13.14,N,06.76,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114735,,,,00,*4D\r\n$IIDBT,020.37,f,006.21,M,003.35,F*27\r\n$GPGLL,5959.141,N,02325.869,E,114736,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.41,N,05.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.40,N,04.44,K*57\r\n$IIVPW,-2.25,N,,*29\r\n$IIVTG,032.66,T,032.66,M,2.70,N,,,D*61\r\n$IIMWV,204,T,09.97,N,A*24\r\n$IIVWT,157,L,09.97,N,05.13,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114737,,,,00,*4F\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5959.142,N,02325.870,E,114738,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.41,N,05.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.42,N,04.48,K*59\r\n$IIVPW,-2.29,N,,*25\r\n$IIVTG,031.92,T,031.92,M,2.70,N,,,D*61\r\n$IIMWV,191,R,08.16,N,A*25\r\n$IIVWT,171,L,10.45,N,05.38,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114739,,,,00,*41\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.144,N,02325.872,E,114740,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-2.40,N,,*2A\r\n$IIVTG,031.05,T,031.05,M,2.70,N,,,D*61\r\n$IIMWV,186,T,12.09,N,A*20\r\n$IIVWT,174,L,12.09,N,06.22,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114741,,,,00,*4E\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5959.145,N,02325.873,E,114742,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.36,N,07.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,030.89,T,030.89,M,2.65,N,,,D*65\r\n$IIMWV,183,R,12.05,N,A*2F\r\n$IIVWT,177,L,14.44,N,07.43,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114743,,,,00,*4C\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.146,N,02325.874,E,114744,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.19,N,06.79,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,031.10,T,031.10,M,2.61,N,,,D*61\r\n$IIMWV,184,T,13.21,N,A*29\r\n$IIVWT,176,L,13.21,N,06.80,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114746,,,,00,*49\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.148,N,02325.876,E,114746,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,031.43,T,031.43,M,2.60,N,,,D*60\r\n$IIMWV,182,R,10.10,N,A*28\r\n$IIVWT,178,L,12.47,N,06.42,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114748,,,,00,*47\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.149,N,02325.877,E,114748,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.82,N,07.11,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,032.21,T,032.21,M,2.65,N,,,D*65\r\n$IIMWV,189,T,14.81,N,A*29\r\n$IIVWT,171,L,14.81,N,07.62,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114750,,,,00,*4E\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5959.151,N,02325.880,E,114750,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.22,N,07.32,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-2.40,N,,*2A\r\n$IIVTG,035.11,T,035.11,M,2.69,N,,,D*69\r\n$IIMWV,189,R,11.85,N,A*2E\r\n$IIVWT,173,L,14.17,N,07.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114752,,,,00,*4C\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.152,N,02325.882,E,114752,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.42,N,07.42,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.43,N,04.50,K*51\r\n$IIVPW,-2.56,N,,*2D\r\n$IIVTG,036.50,T,036.50,M,2.77,N,,,D*66\r\n$IIMWV,185,T,15.39,N,A*27\r\n$IIVWT,175,L,15.39,N,07.92,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114754,,,,00,*4A\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5959.153,N,02325.883,E,114754,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.68,N,08.07,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.46,N,,*2C\r\n$IIVTG,036.33,T,036.33,M,2.79,N,,,D*68\r\n$IIMWV,189,R,13.21,N,A*22\r\n$IIVWT,173,L,15.57,N,08.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114756,,,,00,*48\r\n$IIDBT,009.05,f,002.76,M,001.49,F*22\r\n$GPGLL,5959.155,N,02325.885,E,114756,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,15.23,N,07.84,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,035.13,T,035.13,M,2.80,N,,,D*6E\r\n$IIMWV,190,T,14.85,N,A*25\r\n$IIVWT,170,L,14.85,N,07.64,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114758,,,,00,*46\r\n$IIDBT,008.23,f,002.51,M,001.35,F*29\r\n$GPGLL,5959.156,N,02325.887,E,114758,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,14.46,N,07.44,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,032.61,T,032.61,M,2.72,N,,,D*63\r\n$IIMWV,195,R,11.46,N,A*2C\r\n$IIVWT,168,L,13.89,N,07.15,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114800,,,,00,*44\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5959.157,N,02325.888,E,114800,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.39,N,06.89,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.51,N,04.64,K*55\r\n$IIVPW,-2.52,N,,*29\r\n$IIVTG,031.38,T,031.38,M,2.78,N,,,D*69\r\n$IIMWV,190,T,13.49,N,A*22\r\n$IIVWT,170,L,13.49,N,06.94,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114802,,,,00,*46\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.159,N,02325.890,E,114802,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.52,N,04.66,K*54\r\n$IIVPW,-2.52,N,,*29\r\n$IIVTG,031.34,T,031.34,M,2.80,N,,,D*6E\r\n$IIMWV,172,R,09.52,N,A*29\r\n$IIVWT,174,R,11.97,N,06.16,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114804,,,,00,*40\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.160,N,02325.892,E,114804,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,032.04,T,032.04,M,2.75,N,,,D*64\r\n$IIMWV,184,T,11.29,N,A*23\r\n$IIVWT,176,L,11.29,N,05.81,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114806,,,,00,*42\r\n$IIDBT,009.35,f,002.85,M,001.54,F*21\r\n$GPGLL,5959.161,N,02325.893,E,114806,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.50,N,05.92,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,033.31,T,033.31,M,2.71,N,,,D*60\r\n$IIMWV,173,R,09.13,N,A*2D\r\n$IIVWT,174,R,11.50,N,05.92,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114808,,,,00,*4C\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.162,N,02325.895,E,114808,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,034.68,T,034.68,M,2.70,N,,,D*61\r\n$IIMWV,178,T,12.20,N,A*2A\r\n$IIVWT,178,R,12.20,N,06.28,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114810,,,,00,*45\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.164,N,02325.897,E,114810,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.09,N,05.71,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.39,N,,*24\r\n$IIVTG,036.42,T,036.42,M,2.70,N,,,D*61\r\n$IIMWV,168,R,09.13,N,A*27\r\n$IIVWT,171,R,11.56,N,05.95,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114812,,,,00,*47\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.165,N,02325.899,E,114812,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,039.03,T,039.03,M,2.70,N,,,D*61\r\n$IIMWV,179,T,11.95,N,A*26\r\n$IIVWT,179,R,11.95,N,06.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114814,,,,00,*41\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.166,N,02325.901,E,114814,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.63,N,06.50,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.49,N,04.61,K*59\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,042.51,T,042.51,M,2.70,N,,,D*61\r\n$IIMWV,179,R,10.49,N,A*20\r\n$IIVWT,179,R,13.04,N,06.71,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114816,,,,00,*43\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.167,N,02325.903,E,114817,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.25,N,06.82,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,041.87,T,041.87,M,2.70,N,,,D*61\r\n$IIMWV,173,T,13.47,N,A*21\r\n$IIVWT,173,R,13.47,N,06.93,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114818,,,,00,*4D\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.168,N,02325.905,E,114819,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.33,N,06.86,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.47,N,04.57,K*52\r\n$IIVPW,-2.48,N,,*22\r\n$IIVTG,041.77,T,041.77,M,2.70,N,,,D*61\r\n$IIMWV,181,R,10.49,N,A*27\r\n$IIVWT,179,L,12.90,N,06.64,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114820,,,,00,*46\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5959.169,N,02325.907,E,114821,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.49,N,06.94,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.48,N,04.59,K*53\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,042.74,T,042.74,M,2.78,N,,,D*69\r\n$IIMWV,172,T,13.76,N,A*22\r\n$IIVWT,172,R,13.76,N,07.08,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114822,,,,00,*44\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.170,N,02325.909,E,114823,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,13.17,N,06.78,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.31,N,,*2C\r\n$IIVTG,044.76,T,044.76,M,2.79,N,,,D*68\r\n$IIMWV,177,R,10.49,N,A*2E\r\n$IIVWT,177,R,12.88,N,06.63,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114824,,,,00,*42\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.171,N,02325.911,E,114825,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.55,N,06.46,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,045.37,T,045.37,M,2.80,N,,,D*6E\r\n$IIMWV,178,T,12.53,N,A*2E\r\n$IIVWT,178,R,12.53,N,06.45,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114826,,,,00,*40\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5959.172,N,02325.914,E,114827,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.42,N,04.48,K*59\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,044.97,T,044.97,M,2.80,N,,,D*6E\r\n$IIMWV,178,R,10.49,N,A*21\r\n$IIVWT,178,R,12.86,N,06.62,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114829,,,,00,*4F\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.174,N,02325.916,E,114829,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,043.39,T,043.39,M,2.77,N,,,D*66\r\n$IIMWV,179,T,11.89,N,A*2B\r\n$IIVWT,179,R,11.89,N,06.12,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114831,,,,00,*46\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.175,N,02325.918,E,114831,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.47,N,06.42,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.44,N,04.51,K*57\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,043.00,T,043.00,M,2.72,N,,,D*63\r\n$IIMWV,174,R,10.10,N,A*21\r\n$IIVWT,175,R,12.53,N,06.45,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114833,,,,00,*44\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.176,N,02325.921,E,114833,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.44,N,06.40,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.42,N,04.48,K*59\r\n$IIVPW,-2.37,N,,*2A\r\n$IIVTG,043.09,T,043.09,M,2.70,N,,,D*61\r\n$IIMWV,171,T,12.42,N,A*27\r\n$IIVWT,171,R,12.42,N,06.39,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114835,,,,00,*42\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.177,N,02325.923,E,114835,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.54,N,05.94,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.40,N,04.44,K*57\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,042.80,T,042.80,M,2.70,N,,,D*61\r\n$IIMWV,186,R,09.13,N,A*27\r\n$IIVWT,175,L,11.50,N,05.92,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114837,,,,00,*40\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.179,N,02325.925,E,114837,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.35,N,05.84,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,041.35,T,041.35,M,2.65,N,,,D*65\r\n$IIMWV,164,T,11.64,N,A*24\r\n$IIVWT,164,R,11.64,N,05.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114839,,,,00,*4E\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.180,N,02325.926,E,114839,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.70,N,06.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.30,N,04.25,K*57\r\n$IIVPW,-1.44,N,,*2D\r\n$IIVTG,032.16,T,032.16,M,2.79,N,,,D*68\r\n$IIMWV,127,R,10.10,N,A*27\r\n$IIVWT,135,R,11.35,N,05.84,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114841,,,,00,*41\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.181,N,02325.928,E,114841,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,-0.32,N,,*2D\r\n$IIVTG,029.27,T,029.27,M,3.07,N,,,D*60\r\n$IIMWV,095,T,12.03,N,A*29\r\n$IIVWT,095,R,12.03,N,06.19,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114843,,,,00,*43\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.183,N,02325.930,E,114843,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.85,N,06.10,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,0.42,N,,*07\r\n$IIVTG,042.39,T,042.39,M,3.09,N,,,D*6E\r\n$IIMWV,057,R,12.05,N,A*27\r\n$IIVWT,063,R,11.35,N,05.84,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114845,,,,00,*45\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.183,N,02325.933,E,114845,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.17,N,05.75,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,0.85,N,,*0C\r\n$IIVTG,062.52,T,062.52,M,2.77,N,,,D*66\r\n$IIMWV,039,T,11.09,N,A*26\r\n$IIVWT,039,R,11.09,N,05.71,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114847,,,,00,*47\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5959.183,N,02325.936,E,114847,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.15,N,05.74,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,082.21,T,082.21,M,2.32,N,,,D*67\r\n$IIMWV,024,R,12.05,N,A*23\r\n$IIVWT,026,R,11.13,N,05.73,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114849,,,,00,*49\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.183,N,02325.938,E,114849,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.06,N,05.69,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.19,N,02.20,K*5C\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,099.20,T,099.20,M,1.80,N,,,D*6D\r\n$IIMWV,004,T,11.23,N,A*20\r\n$IIVWT,004,R,11.23,N,05.78,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114851,,,,00,*40\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.182,N,02325.939,E,114851,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.17,N,05.75,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.06,N,01.96,K*5C\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,114.48,T,114.48,M,1.28,N,,,D*6F\r\n$IIMWV,002,R,11.46,N,A*23\r\n$IIVWT,002,R,10.59,N,05.45,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114853,,,,00,*42\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.182,N,02325.939,E,114853,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.34,N,05.32,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,128.64,T,128.64,M,0.87,N,,,D*6B\r\n$IIMWV,000,T,10.26,N,A*20\r\n$IIVWT,000,R,10.26,N,05.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114855,,,,00,*44\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.182,N,02325.939,E,114855,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.91,N,01.68,K*52\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,141.33,T,141.33,M,0.72,N,,,D*61\r\n$IIMWV,007,R,10.49,N,A*28\r\n$IIVWT,008,R,09.50,N,04.89,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114857,,,,00,*46\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.181,N,02325.939,E,114857,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.10,N,05.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.90,N,01.66,K*5D\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,152.26,T,152.26,M,0.70,N,,,D*63\r\n$IIMWV,003,T,10.86,N,A*29\r\n$IIVWT,003,R,10.86,N,05.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114859,,,,00,*48\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.181,N,02325.939,E,114900,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.38,N,06.37,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.93,N,01.72,K*5B\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,160.59,T,160.59,M,0.70,N,,,D*63\r\n$IIMWV,347,R,12.44,N,A*20\r\n$IIVWT,015,L,11.42,N,05.88,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114901,,,,00,*44\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.181,N,02325.939,E,114902,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.90,N,05.61,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.95,N,01.75,K*5A\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,167.20,T,167.20,M,0.78,N,,,D*6B\r\n$IIMWV,355,T,10.43,N,A*20\r\n$IIVWT,005,L,10.43,N,05.37,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114903,,,,00,*46\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.180,N,02325.939,E,114904,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.78,N,05.55,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.99,N,01.83,K*5F\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,175.20,T,175.20,M,0.84,N,,,D*68\r\n$IIMWV,001,R,11.85,N,A*2F\r\n$IIVWT,001,R,10.80,N,05.56,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114905,,,,00,*40\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.180,N,02325.938,E,114906,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.02,N,01.88,K*57\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,181.68,T,181.68,M,0.86,N,,,D*6A\r\n$IIMWV,358,T,12.03,N,A*2B\r\n$IIVWT,002,L,12.03,N,06.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114907,,,,00,*42\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.179,N,02325.938,E,114908,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.14,N,06.25,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.05,N,01.94,K*5D\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,187.54,T,187.54,M,0.89,N,,,D*65\r\n$IIMWV,355,R,13.21,N,A*21\r\n$IIVWT,005,L,12.05,N,06.20,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114909,,,,00,*4C\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.179,N,02325.937,E,114910,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.62,N,05.98,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.09,N,02.01,K*5E\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,193.51,T,193.51,M,0.97,N,,,D*6A\r\n$IIMWV,352,T,09.85,N,A*25\r\n$IIVWT,008,L,09.85,N,05.07,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114912,,,,00,*46\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5959.178,N,02325.937,E,114912,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.66,N,04.97,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.15,N,02.12,K*51\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,198.70,T,198.70,M,0.99,N,,,D*64\r\n$IIMWV,346,R,10.88,N,A*23\r\n$IIVWT,016,L,09.69,N,04.99,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114914,,,,00,*40\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5959.178,N,02325.936,E,114914,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.19,N,02.20,K*5C\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,202.93,T,202.93,M,1.05,N,,,D*60\r\n$IIMWV,001,T,08.39,N,A*26\r\n$IIVWT,001,R,08.39,N,04.32,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114916,,,,00,*42\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.177,N,02325.936,E,114916,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.78,N,04.52,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.24,N,02.29,K*5B\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,209.22,T,209.22,M,1.09,N,,,D*6C\r\n$IIMWV,358,R,10.88,N,A*2C\r\n$IIVWT,002,L,09.50,N,04.89,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114918,,,,00,*4C\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.177,N,02325.935,E,114918,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.29,N,02.38,K*56\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,213.16,T,213.16,M,1.17,N,,,D*63\r\n$IIMWV,357,T,09.44,N,A*2D\r\n$IIVWT,003,L,09.44,N,04.86,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114920,,,,00,*47\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.176,N,02325.934,E,114920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.94,N,04.60,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.35,N,02.50,K*55\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,215.69,T,215.69,M,1.19,N,,,D*6D\r\n$IIMWV,353,R,10.49,N,A*2A\r\n$IIVWT,008,L,09.09,N,04.68,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114922,,,,00,*45\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5959.176,N,02325.933,E,114922,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.52,N,04.90,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.39,N,02.57,K*5E\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,217.27,T,217.27,M,1.22,N,,,D*65\r\n$IIMWV,350,T,08.94,N,A*26\r\n$IIVWT,010,L,08.94,N,04.60,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114924,,,,00,*43\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.175,N,02325.932,E,114924,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.42,N,02.62,K*54\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,218.12,T,218.12,M,1.28,N,,,D*6F\r\n$IIMWV,351,R,10.88,N,A*25\r\n$IIVWT,011,L,09.42,N,04.85,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114926,,,,00,*41\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5959.175,N,02325.931,E,114926,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.44,N,02.66,K*56\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,218.50,T,218.50,M,1.30,N,,,D*66\r\n$IIMWV,333,T,09.21,N,A*2C\r\n$IIVWT,027,L,09.21,N,04.74,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114928,,,,00,*4F\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5959.174,N,02325.930,E,114928,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.66,N,04.97,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.46,N,02.70,K*53\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,220.30,T,220.30,M,1.30,N,,,D*66\r\n$IIMWV,352,R,11.85,N,A*2A\r\n$IIVWT,010,L,10.26,N,05.28,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114930,,,,00,*46\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.174,N,02325.929,E,114930,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.30,N,05.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.48,N,02.74,K*59\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,222.40,T,222.40,M,1.30,N,,,D*66\r\n$IIMWV,347,T,10.63,N,A*21\r\n$IIVWT,013,L,10.63,N,05.47,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114932,,,,00,*44\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5959.173,N,02325.928,E,114932,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.04,N,05.17,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,224.23,T,224.23,M,1.30,N,,,D*66\r\n$IIMWV,347,R,11.46,N,A*21\r\n$IIVWT,015,L,09.97,N,05.13,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114934,,,,00,*42\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5959.173,N,02325.927,E,114934,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.50,N,02.77,K*53\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,225.58,T,225.58,M,1.30,N,,,D*66\r\n$IIMWV,355,T,09.29,N,A*24\r\n$IIVWT,006,L,09.29,N,04.78,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114936,,,,00,*40\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5959.172,N,02325.926,E,114936,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,226.22,T,226.22,M,1.37,N,,,D*61\r\n$IIMWV,354,R,10.10,N,A*21\r\n$IIVWT,008,L,08.45,N,04.35,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114938,,,,00,*4E\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.172,N,02325.925,E,114938,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,226.51,T,226.51,M,1.39,N,,,D*6F\r\n$IIMWV,335,T,09.69,N,A*26\r\n$IIVWT,025,L,09.69,N,04.99,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114940,,,,00,*41\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.171,N,02325.924,E,114940,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,226.80,T,226.80,M,1.37,N,,,D*61\r\n$IIMWV,351,R,10.49,N,A*28\r\n$IIVWT,011,L,08.86,N,04.56,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114942,,,,00,*43\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.171,N,02325.923,E,114943,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,226.85,T,226.85,M,1.39,N,,,D*6F\r\n$IIMWV,002,T,09.27,N,A*2B\r\n$IIVWT,002,R,09.27,N,04.77,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114944,,,,00,*45\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5959.170,N,02325.922,E,114945,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.59,N,02.94,K*57\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,226.64,T,226.64,M,1.40,N,,,D*61\r\n$IIMWV,356,R,09.71,N,A*2C\r\n$IIVWT,005,L,08.12,N,04.18,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114946,,,,00,*47\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.170,N,02325.921,E,114947,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,226.33,T,226.33,M,1.40,N,,,D*61\r\n$IIMWV,356,T,08.39,N,A*27\r\n$IIVWT,004,L,08.39,N,04.32,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114948,,,,00,*49\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5959.169,N,02325.920,E,114949,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.61,N,02.98,K*50\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,225.83,T,225.83,M,1.40,N,,,D*61\r\n$IIMWV,340,R,10.10,N,A*24\r\n$IIVWT,024,L,08.57,N,04.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114950,,,,00,*40\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5959.168,N,02325.919,E,114951,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,225.66,T,225.66,M,1.40,N,,,D*61\r\n$IIMWV,000,T,10.14,N,A*21\r\n$IIVWT,000,R,10.14,N,05.22,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114952,,,,00,*42\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5959.168,N,02325.918,E,114953,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.64,N,03.03,K*56\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,225.39,T,225.39,M,1.40,N,,,D*61\r\n$IIMWV,356,R,11.85,N,A*2E\r\n$IIVWT,005,L,10.16,N,05.23,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114955,,,,00,*45\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.167,N,02325.916,E,114955,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.89,N,05.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,225.62,T,225.62,M,1.40,N,,,D*61\r\n$IIMWV,351,T,10.20,N,A*21\r\n$IIVWT,009,L,10.20,N,05.25,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114957,,,,00,*47\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.167,N,02325.915,E,114957,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,226.74,T,226.74,M,1.47,N,,,D*66\r\n$IIMWV,353,R,11.07,N,A*21\r\n$IIVWT,009,L,09.38,N,04.83,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,114959,,,,00,*49\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.166,N,02325.914,E,114959,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.86,N,04.56,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,227.21,T,227.21,M,1.49,N,,,D*68\r\n$IIMWV,348,T,09.25,N,A*24\r\n$IIVWT,012,L,09.25,N,04.76,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115001,,,,00,*4C\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.165,N,02325.913,E,115001,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.65,N,03.05,K*51\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,227.10,T,227.10,M,1.50,N,,,D*60\r\n$IIMWV,349,R,11.46,N,A*2F\r\n$IIVWT,013,L,09.81,N,05.05,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115003,,,,00,*4E\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.165,N,02325.911,E,115003,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,226.65,T,226.65,M,1.50,N,,,D*60\r\n$IIMWV,352,T,09.34,N,A*2F\r\n$IIVWT,008,L,09.34,N,04.81,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115005,,,,00,*48\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.164,N,02325.910,E,115005,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,226.38,T,226.38,M,1.45,N,,,D*64\r\n$IIMWV,354,R,10.10,N,A*21\r\n$IIVWT,008,L,08.31,N,04.28,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115007,,,,00,*4A\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.164,N,02325.909,E,115007,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.71,N,03.16,K*56\r\n$IIVPW,1.82,N,,*0A\r\n$IIVTG,226.52,T,226.52,M,1.49,N,,,D*68\r\n$IIMWV,347,T,08.84,N,A*21\r\n$IIVWT,013,L,08.84,N,04.55,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115009,,,,00,*44\r\n$IIDBT,019.38,f,005.91,M,003.19,F*24\r\n$GPGLL,5959.163,N,02325.908,E,115009,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.71,N,03.16,K*56\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,227.78,T,227.78,M,1.50,N,,,D*60\r\n$IIMWV,350,R,09.52,N,A*2B\r\n$IIVWT,012,L,07.83,N,04.03,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115011,,,,00,*4D\r\n$IIDBT,019.48,f,005.94,M,003.21,F*2D\r\n$GPGLL,5959.163,N,02325.907,E,115011,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,228.12,T,228.12,M,1.50,N,,,D*60\r\n$IIMWV,346,T,07.89,N,A*22\r\n$IIVWT,014,L,07.89,N,04.06,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115013,,,,00,*4F\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.162,N,02325.906,E,115013,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.71,N,03.16,K*56\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,228.41,T,228.41,M,1.50,N,,,D*60\r\n$IIMWV,342,R,09.13,N,A*2D\r\n$IIVWT,022,L,07.44,N,03.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115015,,,,00,*49\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5959.161,N,02325.904,E,115015,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,228.53,T,228.53,M,1.50,N,,,D*60\r\n$IIMWV,336,T,08.41,N,A*2E\r\n$IIVWT,025,L,08.41,N,04.33,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115017,,,,00,*4B\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.161,N,02325.903,E,115017,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,228.08,T,228.08,M,1.50,N,,,D*60\r\n$IIMWV,344,R,10.10,N,A*20\r\n$IIVWT,019,L,08.45,N,04.35,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115019,,,,00,*45\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5959.160,N,02325.902,E,115019,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,227.99,T,227.99,M,1.50,N,,,D*60\r\n$IIMWV,352,T,10.08,N,A*28\r\n$IIVWT,008,L,10.08,N,05.19,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115021,,,,00,*4E\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.160,N,02325.901,E,115021,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.03,N,05.16,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,228.70,T,228.70,M,1.50,N,,,D*60\r\n$IIMWV,352,R,11.85,N,A*2A\r\n$IIVWT,010,L,09.95,N,05.12,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115023,,,,00,*4C\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.159,N,02325.899,E,115023,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.58,N,04.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,2.26,N,,*07\r\n$IIVTG,229.72,T,229.72,M,1.67,N,,,D*64\r\n$IIMWV,355,T,10.28,N,A*2D\r\n$IIVWT,005,L,10.28,N,05.29,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115025,,,,00,*4A\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.159,N,02325.898,E,115026,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.62,N,04.95,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.19,N,04.05,K*5E\r\n$IIVPW,2.70,N,,*04\r\n$IIVTG,227.51,T,227.51,M,2.02,N,,,D*64\r\n$IIMWV,347,R,12.44,N,A*20\r\n$IIVWT,017,L,09.58,N,04.93,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115027,,,,00,*48\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5959.158,N,02325.896,E,115028,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.92,N,04.59,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.51,N,04.64,K*55\r\n$IIVPW,2.91,N,,*0B\r\n$IIVTG,226.47,T,226.47,M,2.35,N,,,D*60\r\n$IIMWV,343,T,07.79,N,A*28\r\n$IIVWT,017,L,07.79,N,04.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115029,,,,00,*46\r\n$IIDBT,019.75,f,006.02,M,003.25,F*2B\r\n$GPGLL,5959.157,N,02325.894,E,115030,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.80,N,05.18,K*53\r\n$IIVPW,3.39,N,,*08\r\n$IIVTG,224.40,T,224.40,M,2.66,N,,,D*66\r\n$IIMWV,354,R,10.49,N,A*2D\r\n$IIVWT,009,L,07.07,N,03.64,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115031,,,,00,*4F\r\n$IIDBT,019.75,f,006.02,M,003.25,F*2B\r\n$GPGLL,5959.156,N,02325.892,E,115032,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.10,N,05.74,K*51\r\n$IIVPW,3.68,N,,*0C\r\n$IIVTG,224.57,T,224.57,M,2.97,N,,,D*68\r\n$IIMWV,347,T,07.21,N,A*21\r\n$IIVWT,013,L,07.21,N,03.71,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115033,,,,00,*4D\r\n$IIDBT,019.78,f,006.03,M,003.25,F*27\r\n$GPGLL,5959.154,N,02325.890,E,115034,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.42,N,06.33,K*56\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,223.32,T,223.32,M,3.22,N,,,D*67\r\n$IIMWV,355,R,13.41,N,A*27\r\n$IIVWT,008,L,09.01,N,04.64,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115035,,,,00,*4B\r\n$IIDBT,019.91,f,006.07,M,003.28,F*29\r\n$GPGLL,5959.153,N,02325.887,E,115036,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.76,N,04.51,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.93,N,07.27,K*5E\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,223.80,T,223.80,M,3.70,N,,,D*60\r\n$IIMWV,359,T,08.49,N,A*2F\r\n$IIVWT,001,L,08.49,N,04.37,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115038,,,,00,*46\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5959.150,N,02325.882,E,115038,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.48,N,08.29,K*5E\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,224.30,T,224.30,M,4.60,N,,,D*66\r\n$IIMWV,356,R,12.82,N,A*2A\r\n$IIVWT,008,L,07.26,N,03.74,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115040,,,,00,*49\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5959.148,N,02325.878,E,115040,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,223.97,T,223.97,M,4.90,N,,,D*69\r\n$IIMWV,004,T,07.19,N,A*2E\r\n$IIVWT,004,R,07.19,N,03.70,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115042,,,,00,*4B\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5959.146,N,02325.874,E,115042,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.71,N,03.97,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.21,N,09.64,K*58\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,222.74,T,222.74,M,5.05,N,,,D*64\r\n$IIMWV,352,R,13.41,N,A*20\r\n$IIVWT,014,L,07.87,N,04.05,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115044,,,,00,*4D\r\n$IIDBT,009.77,f,002.98,M,001.61,F*2D\r\n$GPGLL,5959.144,N,02325.870,E,115044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.61,N,04.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.38,N,09.96,K*5D\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,222.89,T,222.89,M,5.16,N,,,D*66\r\n$IIMWV,349,T,07.81,N,A*25\r\n$IIVWT,011,L,07.81,N,04.02,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115046,,,,00,*4F\r\n$IIDBT,010.00,f,003.05,M,001.64,F*25\r\n$GPGLL,5959.142,N,02325.867,E,115046,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.47,N,10.13,K*50\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,224.54,T,224.54,M,5.19,N,,,D*69\r\n$IIMWV,353,R,13.41,N,A*21\r\n$IIVWT,011,L,08.24,N,04.24,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115048,,,,00,*41\r\n$IIDBT,020.66,f,006.30,M,003.40,F*21\r\n$GPGLL,5959.140,N,02325.863,E,115048,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.49,N,04.37,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.31,N,09.83,K*50\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,223.36,T,223.36,M,4.90,N,,,D*69\r\n$IIMWV,350,T,09.21,N,A*29\r\n$IIVWT,010,L,09.21,N,04.74,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115050,,,,00,*48\r\n$IIDBT,020.99,f,006.40,M,003.45,F*23\r\n$GPGLL,5959.138,N,02325.859,E,115050,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.83,N,05.06,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,221.49,T,221.49,M,4.42,N,,,D*66\r\n$IIMWV,353,R,13.80,N,A*2C\r\n$IIVWT,010,L,09.75,N,05.02,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115052,,,,00,*4A\r\n$IIDBT,021.22,f,006.47,M,003.49,F*29\r\n$GPGLL,5959.137,N,02325.856,E,115052,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.44,N,04.86,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.59,N,08.50,K*50\r\n$IIVPW,3.75,N,,*00\r\n$IIVTG,220.37,T,220.37,M,4.01,N,,,D*61\r\n$IIMWV,356,T,09.71,N,A*2A\r\n$IIVWT,004,L,09.71,N,05.00,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115054,,,,00,*4C\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5959.135,N,02325.854,E,115054,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.36,N,04.82,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.19,N,07.76,K*5F\r\n$IIVPW,3.38,N,,*09\r\n$IIVTG,220.89,T,220.89,M,3.60,N,,,D*61\r\n$IIMWV,352,R,12.05,N,A*21\r\n$IIVWT,012,L,08.66,N,04.46,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115056,,,,00,*4E\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5959.134,N,02325.851,E,115056,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.59,N,04.42,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.85,N,07.13,K*5E\r\n$IIVPW,3.43,N,,*05\r\n$IIVTG,220.38,T,220.38,M,3.28,N,,,D*6D\r\n$IIMWV,358,T,08.37,N,A*27\r\n$IIVWT,002,L,08.37,N,04.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115058,,,,00,*40\r\n$IIDBT,021.58,f,006.58,M,003.55,F*27\r\n$GPGLL,5959.132,N,02325.849,E,115058,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.77,N,06.98,K*51\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,219.92,T,219.92,M,3.37,N,,,D*63\r\n$IIMWV,356,R,12.05,N,A*25\r\n$IIVWT,006,L,08.00,N,04.12,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115100,,,,00,*4C\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5959.131,N,02325.847,E,115100,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.80,N,04.53,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.95,N,07.31,K*5F\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,217.45,T,217.45,M,3.72,N,,,D*62\r\n$IIMWV,359,T,08.80,N,A*2A\r\n$IIVWT,001,L,08.80,N,04.53,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115102,,,,00,*4E\r\n$IIDBT,021.88,f,006.67,M,003.60,F*20\r\n$GPGLL,5959.129,N,02325.844,E,115102,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.18,N,07.74,K*5C\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,215.72,T,215.72,M,4.05,N,,,D*65\r\n$IIMWV,004,R,12.82,N,A*2E\r\n$IIVWT,007,R,07.98,N,04.11,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115104,,,,00,*48\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5959.127,N,02325.841,E,115104,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.45,N,08.24,K*5E\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,217.78,T,217.78,M,4.36,N,,,D*65\r\n$IIMWV,343,T,08.04,N,A*2D\r\n$IIVWT,017,L,08.04,N,04.14,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115106,,,,00,*4A\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5959.125,N,02325.838,E,115106,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.67,N,08.64,K*5A\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,218.62,T,218.62,M,4.67,N,,,D*61\r\n$IIMWV,349,R,13.21,N,A*2C\r\n$IIVWT,018,L,08.26,N,04.25,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115108,,,,00,*44\r\n$IIDBT,009.74,f,002.97,M,001.60,F*20\r\n$GPGLL,5959.123,N,02325.835,E,115109,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.90,N,09.07,K*56\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,218.98,T,218.98,M,4.84,N,,,D*6C\r\n$IIMWV,338,T,06.70,N,A*2C\r\n$IIVWT,022,L,06.70,N,03.45,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115110,,,,00,*4D\r\n$IIDBT,022.83,f,006.96,M,003.76,F*21\r\n$GPGLL,5959.121,N,02325.831,E,115111,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.03,N,03.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.10,N,09.44,K*58\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,219.64,T,219.64,M,4.96,N,,,D*6F\r\n$IIMWV,360,R,11.85,N,A*2B\r\n$IIVWT,001,L,06.41,N,03.30,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115112,,,,00,*4F\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5959.119,N,02325.828,E,115113,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.27,N,09.76,K*5D\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,220.59,T,220.59,M,5.12,N,,,D*62\r\n$IIMWV,353,T,08.59,N,A*24\r\n$IIVWT,007,L,08.59,N,04.42,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115114,,,,00,*49\r\n$IIDBT,023.49,f,007.16,M,003.87,F*21\r\n$GPGLL,5959.116,N,02325.824,E,115115,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.57,N,04.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.40,N,10.00,K*55\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,221.00,T,221.00,M,5.18,N,,,D*68\r\n$IIMWV,355,R,14.38,N,A*2E\r\n$IIVWT,009,L,08.74,N,04.50,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115116,,,,00,*4B\r\n$IIDBT,023.65,f,007.21,M,003.89,F*25\r\n$GPGLL,5959.114,N,02325.820,E,115117,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.48,N,10.14,K*58\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,222.05,T,222.05,M,5.24,N,,,D*67\r\n$IIMWV,357,T,08.47,N,A*2F\r\n$IIVWT,003,L,08.47,N,04.36,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115119,,,,00,*44\r\n$IIDBT,024.11,f,007.35,M,003.97,F*2B\r\n$GPGLL,5959.112,N,02325.816,E,115119,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.61,N,10.39,K*5C\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,221.61,T,221.61,M,5.29,N,,,D*6A\r\n$IIMWV,358,R,12.82,N,A*24\r\n$IIVWT,004,L,06.74,N,03.47,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115121,,,,00,*4F\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5959.109,N,02325.810,E,115121,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,219.96,T,219.96,M,5.55,N,,,D*61\r\n$IIMWV,004,T,07.61,N,A*21\r\n$IIVWT,004,R,07.61,N,03.92,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115123,,,,00,*4D\r\n$IIDBT,024.67,f,007.52,M,004.06,F*24\r\n$GPGLL,5959.106,N,02325.806,E,115123,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,220.64,T,220.64,M,5.66,N,,,D*61\r\n$IIMWV,351,R,15.35,N,A*26\r\n$IIVWT,016,L,09.25,N,04.76,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115125,,,,00,*4B\r\n$IIDBT,024.93,f,007.60,M,004.10,F*29\r\n$GPGLL,5959.104,N,02325.802,E,115125,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,6.37,N,,*03\r\n$IIVTG,220.66,T,220.66,M,5.72,N,,,D*64\r\n$IIMWV,001,T,07.67,N,A*22\r\n$IIVWT,001,R,07.67,N,03.95,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115127,,,,00,*49\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5959.101,N,02325.798,E,115127,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.50,N,,*02\r\n$IIVTG,221.36,T,221.36,M,5.83,N,,,D*6A\r\n$IIMWV,002,R,14.19,N,A*2C\r\n$IIVWT,004,R,07.60,N,03.91,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115129,,,,00,*47\r\n$IIDBT,025.49,f,007.77,M,004.19,F*20\r\n$GPGLL,5959.099,N,02325.794,E,115129,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.87,N,04.05,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,6.49,N,,*0A\r\n$IIVTG,221.59,T,221.59,M,5.96,N,,,D*6E\r\n$IIMWV,359,T,06.76,N,A*2D\r\n$IIVWT,001,L,06.76,N,03.48,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115131,,,,00,*4E\r\n$IIDBT,025.58,f,007.80,M,004.21,F*23\r\n$GPGLL,5959.097,N,02325.789,E,115131,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.86,N,03.53,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.47,N,11.98,K*51\r\n$IIVPW,6.48,N,,*0B\r\n$IIVTG,220.83,T,220.83,M,5.99,N,,,D*61\r\n$IIMWV,009,R,13.41,N,A*2D\r\n$IIVWT,018,R,06.93,N,03.57,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115133,,,,00,*4C\r\n$IIDBT,025.81,f,007.87,M,004.25,F*24\r\n$GPGLL,5959.094,N,02325.785,E,115133,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.54,N,12.11,K*51\r\n$IIVPW,6.67,N,,*06\r\n$IIVTG,220.98,T,220.98,M,6.07,N,,,D*65\r\n$IIMWV,358,T,05.67,N,A*2F\r\n$IIVWT,003,L,05.67,N,02.92,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115135,,,,00,*4A\r\n$IIDBT,026.08,f,007.95,M,004.29,F*29\r\n$GPGLL,5959.091,N,02325.780,E,115135,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.60,N,12.22,K*56\r\n$IIVPW,6.63,N,,*02\r\n$IIVTG,221.00,T,221.00,M,6.09,N,,,D*6B\r\n$IIMWV,001,R,13.21,N,A*23\r\n$IIVWT,001,R,06.49,N,03.34,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115137,,,,00,*48\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5959.089,N,02325.776,E,115137,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.63,N,12.27,K*50\r\n$IIVPW,6.58,N,,*0A\r\n$IIVTG,220.47,T,220.47,M,6.10,N,,,D*63\r\n$IIMWV,012,T,06.49,N,A*2D\r\n$IIVWT,012,R,06.49,N,03.34,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115139,,,,00,*46\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5959.086,N,02325.772,E,115139,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.68,N,12.37,K*5A\r\n$IIVPW,6.77,N,,*07\r\n$IIVTG,220.29,T,220.29,M,6.10,N,,,D*63\r\n$IIMWV,003,R,12.44,N,A*23\r\n$IIVWT,006,R,05.65,N,02.91,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115141,,,,00,*49\r\n$IIDBT,026.34,f,008.03,M,004.34,F*2A\r\n$GPGLL,5959.084,N,02325.767,E,115141,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.09,N,03.65,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.73,N,12.46,K*56\r\n$IIVPW,6.47,N,,*04\r\n$IIVTG,219.87,T,219.87,M,6.10,N,,,D*63\r\n$IIMWV,360,T,06.51,N,A*22\r\n$IIVWT,000,L,06.51,N,03.35,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115143,,,,00,*4B\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.081,N,02325.763,E,115143,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,6.67,N,,*06\r\n$IIVTG,220.10,T,220.10,M,6.10,N,,,D*63\r\n$IIMWV,359,R,13.41,N,A*2B\r\n$IIVWT,003,L,06.58,N,03.39,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115145,,,,00,*4D\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5959.078,N,02325.759,E,115145,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.77,N,12.53,K*56\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,220.27,T,220.27,M,6.05,N,,,D*67\r\n$IIMWV,343,T,05.42,N,A*22\r\n$IIVWT,017,L,05.42,N,02.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115147,,,,00,*4F\r\n$IIDBT,026.47,f,008.07,M,004.36,F*28\r\n$GPGLL,5959.076,N,02325.754,E,115147,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.76,N,12.51,K*55\r\n$IIVPW,6.60,N,,*01\r\n$IIVTG,219.44,T,219.44,M,6.01,N,,,D*63\r\n$IIMWV,355,R,12.05,N,A*26\r\n$IIVWT,012,L,05.46,N,02.81,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115149,,,,00,*41\r\n$IIDBT,026.73,f,008.15,M,004.40,F*2D\r\n$GPGLL,5959.073,N,02325.750,E,115149,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,6.73,N,,*03\r\n$IIVTG,217.94,T,217.94,M,6.00,N,,,D*62\r\n$IIMWV,004,T,07.38,N,A*2D\r\n$IIVWT,004,R,07.38,N,03.80,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115151,,,,00,*48\r\n$IIDBT,026.96,f,008.22,M,004.44,F*26\r\n$GPGLL,5959.071,N,02325.746,E,115152,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,6.77,N,,*07\r\n$IIVTG,219.21,T,219.21,M,6.00,N,,,D*62\r\n$IIMWV,356,R,12.44,N,A*20\r\n$IIVWT,008,L,05.73,N,02.95,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115153,,,,00,*4A\r\n$IIDBT,027.36,f,008.34,M,004.50,F*2F\r\n$GPGLL,5959.068,N,02325.742,E,115154,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,220.10,T,220.10,M,6.00,N,,,D*62\r\n$IIMWV,356,T,06.06,N,A*25\r\n$IIVWT,004,L,06.06,N,03.12,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115155,,,,00,*4C\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5959.066,N,02325.738,E,115156,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.77,N,12.53,K*56\r\n$IIVPW,6.70,N,,*00\r\n$IIVTG,220.45,T,220.45,M,6.00,N,,,D*62\r\n$IIMWV,001,R,10.88,N,A*23\r\n$IIVWT,003,R,04.06,N,02.09,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115157,,,,00,*4E\r\n$IIDBT,027.95,f,008.52,M,004.60,F*25\r\n$GPGLL,5959.063,N,02325.734,E,115158,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,220.46,T,220.46,M,6.00,N,,,D*62\r\n$IIMWV,356,T,06.57,N,A*21\r\n$IIVWT,005,L,06.57,N,03.38,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115159,,,,00,*40\r\n$IIDBT,028.37,f,008.65,M,004.67,F*21\r\n$GPGLL,5959.061,N,02325.730,E,115200,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.69,N,12.39,K*55\r\n$IIVPW,6.39,N,,*0D\r\n$IIVTG,219.66,T,219.66,M,5.93,N,,,D*6B\r\n$IIMWV,002,R,11.46,N,A*23\r\n$IIVWT,003,R,04.93,N,02.54,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115201,,,,00,*4E\r\n$IIDBT,028.77,f,008.77,M,004.74,F*24\r\n$GPGLL,5959.058,N,02325.725,E,115202,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.67,N,12.35,K*57\r\n$IIVPW,6.61,N,,*00\r\n$IIVTG,218.82,T,218.82,M,5.91,N,,,D*69\r\n$IIMWV,356,T,07.07,N,A*25\r\n$IIVWT,004,L,07.07,N,03.64,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115204,,,,00,*4B\r\n$IIDBT,029.10,f,008.87,M,004.79,F*26\r\n$GPGLL,5959.054,N,02325.719,E,115204,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.60,N,04.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.68,N,12.37,K*5A\r\n$IIVPW,6.57,N,,*05\r\n$IIVTG,217.61,T,217.61,M,5.90,N,,,D*68\r\n$IIMWV,353,R,15.74,N,A*21\r\n$IIVWT,012,L,09.29,N,04.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115206,,,,00,*49\r\n$IIDBT,029.42,f,008.97,M,004.84,F*22\r\n$GPGLL,5959.052,N,02325.715,E,115206,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.77,N,12.53,K*56\r\n$IIVPW,6.41,N,,*02\r\n$IIVTG,218.08,T,218.08,M,5.90,N,,,D*68\r\n$IIMWV,346,T,08.08,N,A*24\r\n$IIVWT,014,L,08.08,N,04.16,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115208,,,,00,*47\r\n$IIDBT,029.69,f,009.05,M,004.89,F*2C\r\n$GPGLL,5959.049,N,02325.711,E,115208,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.70,N,12.40,K*53\r\n$IIVPW,6.44,N,,*07\r\n$IIVTG,217.99,T,217.99,M,5.90,N,,,D*68\r\n$IIMWV,358,R,15.35,N,A*2F\r\n$IIVWT,004,L,08.72,N,04.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115210,,,,00,*4E\r\n$IIDBT,029.65,f,009.04,M,004.88,F*20\r\n$GPGLL,5959.046,N,02325.708,E,115210,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.66,N,12.33,K*50\r\n$IIVPW,6.58,N,,*0A\r\n$IIVTG,216.75,T,216.75,M,5.90,N,,,D*68\r\n$IIMWV,358,T,08.72,N,A*26\r\n$IIVWT,002,L,08.72,N,04.49,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115212,,,,00,*4C\r\n$IIDBT,029.75,f,009.07,M,004.90,F*2B\r\n$GPGLL,5959.044,N,02325.704,E,115212,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.84,N,04.55,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.60,N,12.22,K*56\r\n$IIVPW,6.41,N,,*02\r\n$IIVTG,215.91,T,215.91,M,5.90,N,,,D*68\r\n$IIMWV,354,R,15.35,N,A*23\r\n$IIVWT,012,L,08.80,N,04.53,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115214,,,,00,*4A\r\n$IIDBT,029.49,f,008.99,M,004.85,F*26\r\n$GPGLL,5959.041,N,02325.700,E,115214,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.55,N,12.13,K*52\r\n$IIVPW,6.33,N,,*07\r\n$IIVTG,215.68,T,215.68,M,5.88,N,,,D*61\r\n$IIMWV,354,T,09.64,N,A*2C\r\n$IIVWT,006,L,09.64,N,04.96,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115216,,,,00,*48\r\n$IIDBT,028.93,f,008.82,M,004.76,F*26\r\n$GPGLL,5959.038,N,02325.696,E,115216,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.60,N,12.22,K*56\r\n$IIVPW,6.80,N,,*0F\r\n$IIVTG,216.87,T,216.87,M,5.89,N,,,D*60\r\n$IIMWV,354,R,15.35,N,A*23\r\n$IIVWT,010,L,08.59,N,04.42,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115218,,,,00,*46\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5959.036,N,02325.692,E,115218,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.69,N,12.39,K*55\r\n$IIVPW,6.51,N,,*03\r\n$IIVTG,216.72,T,216.72,M,5.90,N,,,D*68\r\n$IIMWV,348,T,08.78,N,A*2D\r\n$IIVWT,012,L,08.78,N,04.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115220,,,,00,*4D\r\n$IIDBT,025.98,f,007.92,M,004.28,F*25\r\n$GPGLL,5959.033,N,02325.688,E,115220,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.45,N,04.35,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.78,N,12.55,K*5F\r\n$IIVPW,6.74,N,,*04\r\n$IIVTG,216.30,T,216.30,M,5.87,N,,,D*6E\r\n$IIMWV,354,R,15.35,N,A*23\r\n$IIVWT,011,L,08.43,N,04.34,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115222,,,,00,*4F\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5959.031,N,02325.685,E,115222,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.79,N,12.57,K*5C\r\n$IIVPW,6.54,N,,*06\r\n$IIVTG,216.28,T,216.28,M,5.82,N,,,D*6B\r\n$IIMWV,357,T,07.79,N,A*2D\r\n$IIVWT,003,L,07.79,N,04.01,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115224,,,,00,*49\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5959.028,N,02325.681,E,115224,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.97,N,03.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.76,N,12.51,K*55\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,216.10,T,216.10,M,5.85,N,,,D*6C\r\n$IIMWV,353,R,13.41,N,A*21\r\n$IIVWT,014,L,07.15,N,03.68,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115226,,,,00,*4B\r\n$IIDBT,022.40,f,006.83,M,003.69,F*24\r\n$GPGLL,5959.025,N,02325.677,E,115226,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.67,N,12.35,K*57\r\n$IIVPW,6.64,N,,*05\r\n$IIVTG,215.15,T,215.15,M,5.81,N,,,D*68\r\n$IIMWV,354,T,07.91,N,A*28\r\n$IIVWT,006,L,07.91,N,04.07,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115228,,,,00,*45\r\n$IIDBT,021.29,f,006.49,M,003.50,F*24\r\n$GPGLL,5959.023,N,02325.673,E,115228,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.71,N,12.42,K*50\r\n$IIVPW,6.73,N,,*03\r\n$IIVTG,217.11,T,217.11,M,5.80,N,,,D*69\r\n$IIMWV,001,R,14.19,N,A*2F\r\n$IIVWT,002,R,07.46,N,03.84,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115230,,,,00,*4C\r\n$IIDBT,020.99,f,006.40,M,003.45,F*23\r\n$GPGLL,5959.020,N,02325.669,E,115230,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.70,N,12.40,K*53\r\n$IIVPW,6.64,N,,*05\r\n$IIVTG,216.90,T,216.90,M,5.80,N,,,D*69\r\n$IIMWV,353,T,07.91,N,A*2F\r\n$IIVWT,007,L,07.91,N,04.07,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115232,,,,00,*4E\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5959.017,N,02325.666,E,115232,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.69,N,12.39,K*55\r\n$IIVPW,6.77,N,,*07\r\n$IIVTG,215.27,T,215.27,M,5.80,N,,,D*69\r\n$IIMWV,358,R,14.77,N,A*28\r\n$IIVWT,005,L,08.02,N,04.13,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115234,,,,00,*48\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5959.015,N,02325.662,E,115234,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.73,N,12.46,K*56\r\n$IIVPW,6.56,N,,*04\r\n$IIVTG,215.57,T,215.57,M,5.80,N,,,D*69\r\n$IIMWV,353,T,09.13,N,A*2B\r\n$IIVWT,007,L,09.13,N,04.70,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115236,,,,00,*4A\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5959.012,N,02325.659,E,115237,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.67,N,12.35,K*57\r\n$IIVPW,6.46,N,,*05\r\n$IIVTG,213.51,T,213.51,M,5.73,N,,,D*65\r\n$IIMWV,356,R,15.35,N,A*21\r\n$IIVWT,007,L,08.78,N,04.52,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115238,,,,00,*44\r\n$IIDBT,022.53,f,006.87,M,003.71,F*2B\r\n$GPGLL,5959.009,N,02325.655,E,115239,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.63,N,12.27,K*50\r\n$IIVPW,6.49,N,,*0A\r\n$IIVTG,212.88,T,212.88,M,5.63,N,,,D*64\r\n$IIMWV,350,T,08.86,N,A*25\r\n$IIVWT,010,L,08.86,N,04.56,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115240,,,,00,*4B\r\n$IIDBT,022.86,f,006.97,M,003.76,F*25\r\n$GPGLL,5959.007,N,02325.652,E,115241,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.62,N,12.26,K*50\r\n$IIVPW,6.59,N,,*0B\r\n$IIVTG,212.47,T,212.47,M,5.56,N,,,D*62\r\n$IIMWV,351,R,16.13,N,A*21\r\n$IIVWT,014,L,09.68,N,04.98,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115242,,,,00,*49\r\n$IIDBT,022.24,f,006.78,M,003.66,F*2D\r\n$GPGLL,5959.005,N,02325.648,E,115243,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.62,N,12.26,K*50\r\n$IIVPW,6.60,N,,*01\r\n$IIVTG,211.22,T,211.22,M,5.56,N,,,D*62\r\n$IIMWV,360,T,09.13,N,A*2B\r\n$IIVWT,000,L,09.13,N,04.70,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115244,,,,00,*4F\r\n$IIDBT,023.42,f,007.14,M,003.85,F*2A\r\n$GPGLL,5959.002,N,02325.645,E,115245,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.60,N,12.22,K*56\r\n$IIVPW,6.48,N,,*0B\r\n$IIVTG,212.95,T,212.95,M,5.54,N,,,D*60\r\n$IIMWV,356,R,15.74,N,A*24\r\n$IIVWT,007,L,09.09,N,04.68,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115247,,,,00,*4C\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5958.999,N,02325.639,E,115247,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.56,N,04.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.58,N,12.18,K*54\r\n$IIVPW,6.55,N,,*07\r\n$IIVTG,212.66,T,212.66,M,5.51,N,,,D*65\r\n$IIMWV,359,T,08.55,N,A*22\r\n$IIVWT,001,L,08.55,N,04.40,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115249,,,,00,*42\r\n$IIDBT,023.12,f,007.05,M,003.81,F*2B\r\n$GPGLL,5958.996,N,02325.635,E,115249,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.57,N,12.16,K*55\r\n$IIVPW,6.29,N,,*0C\r\n$IIVTG,212.66,T,212.66,M,5.58,N,,,D*6C\r\n$IIMWV,353,R,15.16,N,A*25\r\n$IIVWT,013,L,08.68,N,04.47,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115251,,,,00,*4B\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5958.994,N,02325.632,E,115251,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.54,N,12.11,K*51\r\n$IIVPW,6.46,N,,*05\r\n$IIVTG,219.27,T,219.27,M,5.57,N,,,D*63\r\n$IIMWV,014,T,08.18,N,A*21\r\n$IIVWT,014,R,08.18,N,04.21,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115253,,,,00,*49\r\n$IIDBT,025.85,f,007.88,M,004.25,F*2F\r\n$GPGLL,5958.992,N,02325.627,E,115253,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.21,N,04.74,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.52,N,12.07,K*50\r\n$IIVPW,6.40,N,,*03\r\n$IIVTG,224.09,T,224.09,M,5.59,N,,,D*6D\r\n$IIMWV,352,R,15.35,N,A*25\r\n$IIVWT,013,L,09.03,N,04.65,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115255,,,,00,*4F\r\n$IIDBT,025.98,f,007.92,M,004.28,F*25\r\n$GPGLL,5958.990,N,02325.623,E,115255,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.26,N,04.25,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.52,N,12.07,K*50\r\n$IIVPW,6.48,N,,*0B\r\n$IIVTG,222.75,T,222.75,M,5.52,N,,,D*66\r\n$IIMWV,005,T,08.57,N,A*2A\r\n$IIVWT,005,R,08.57,N,04.41,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115257,,,,00,*4D\r\n$IIDBT,024.80,f,007.56,M,004.08,F*27\r\n$GPGLL,5958.988,N,02325.619,E,115257,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.56,N,12.14,K*56\r\n$IIVPW,6.60,N,,*01\r\n$IIVTG,222.19,T,222.19,M,5.63,N,,,D*64\r\n$IIMWV,004,R,14.77,N,A*22\r\n$IIVWT,007,R,08.16,N,04.20,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115259,,,,00,*43\r\n$IIDBT,026.27,f,008.01,M,004.32,F*2C\r\n$GPGLL,5958.986,N,02325.615,E,115259,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.56,N,12.14,K*56\r\n$IIVPW,6.56,N,,*04\r\n$IIVTG,217.22,T,217.22,M,5.63,N,,,D*64\r\n$IIMWV,000,T,07.67,N,A*23\r\n$IIVWT,000,R,07.67,N,03.95,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115301,,,,00,*4F\r\n$IIDBT,028.96,f,008.83,M,004.77,F*23\r\n$GPGLL,5958.982,N,02325.613,E,115301,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.56,N,12.14,K*56\r\n$IIVPW,6.50,N,,*02\r\n$IIVTG,215.48,T,215.48,M,5.61,N,,,D*66\r\n$IIMWV,358,R,14.19,N,A*20\r\n$IIVWT,004,L,07.56,N,03.89,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115303,,,,00,*4D\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5958.979,N,02325.610,E,115303,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.57,N,12.16,K*55\r\n$IIVPW,6.47,N,,*04\r\n$IIVTG,215.02,T,215.02,M,5.60,N,,,D*67\r\n$IIMWV,005,T,07.11,N,A*27\r\n$IIVWT,005,R,07.11,N,03.66,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115305,,,,00,*4B\r\n$IIDBT,026.11,f,007.96,M,004.30,F*2A\r\n$GPGLL,5958.976,N,02325.608,E,115305,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.28,N,03.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.58,N,12.18,K*54\r\n$IIVPW,6.49,N,,*0A\r\n$IIVTG,214.66,T,214.66,M,5.68,N,,,D*6F\r\n$IIMWV,001,R,13.41,N,A*25\r\n$IIVWT,001,R,06.72,N,03.46,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115307,,,,00,*49\r\n$IIDBT,029.06,f,008.86,M,004.78,F*21\r\n$GPGLL,5958.973,N,02325.605,E,115307,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.60,N,12.22,K*56\r\n$IIVPW,6.42,N,,*01\r\n$IIVTG,213.01,T,213.01,M,5.69,N,,,D*6E\r\n$IIMWV,010,T,07.21,N,A*20\r\n$IIVWT,010,R,07.21,N,03.71,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115309,,,,00,*47\r\n$IIDBT,029.36,f,008.95,M,004.83,F*24\r\n$GPGLL,5958.970,N,02325.602,E,115309,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.59,N,12.20,K*5E\r\n$IIVPW,6.41,N,,*02\r\n$IIVTG,214.05,T,214.05,M,5.70,N,,,D*66\r\n$IIMWV,352,R,13.80,N,A*2D\r\n$IIVWT,016,L,07.11,N,03.66,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115311,,,,00,*4E\r\n$IIDBT,028.73,f,008.76,M,004.73,F*26\r\n$GPGLL,5958.968,N,02325.599,E,115311,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.64,N,12.29,K*59\r\n$IIVPW,6.64,N,,*05\r\n$IIVTG,213.31,T,213.31,M,5.70,N,,,D*66\r\n$IIMWV,003,T,07.67,N,A*20\r\n$IIVWT,003,R,07.67,N,03.95,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115313,,,,00,*4C\r\n$IIDBT,024.14,f,007.36,M,003.97,F*2D\r\n$GPGLL,5958.965,N,02325.596,E,115313,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.67,N,12.35,K*57\r\n$IIVPW,6.62,N,,*03\r\n$IIVTG,215.76,T,215.76,M,5.77,N,,,D*61\r\n$IIMWV,001,R,14.38,N,A*2C\r\n$IIVWT,001,R,07.56,N,03.89,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115315,,,,00,*4A\r\n$IIDBT,025.49,f,007.77,M,004.19,F*20\r\n$GPGLL,5958.962,N,02325.592,E,115315,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.71,N,12.42,K*50\r\n$IIVPW,6.82,N,,*0D\r\n$IIVTG,216.46,T,216.46,M,5.79,N,,,D*6F\r\n$IIMWV,000,T,08.43,N,A*2A\r\n$IIVWT,000,R,08.43,N,04.34,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115317,,,,00,*48\r\n$IIDBT,026.41,f,008.05,M,004.35,F*2F\r\n$GPGLL,5958.959,N,02325.588,E,115318,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.70,N,12.40,K*53\r\n$IIVPW,6.58,N,,*0A\r\n$IIVTG,215.59,T,215.59,M,5.80,N,,,D*69\r\n$IIMWV,004,R,14.19,N,A*2A\r\n$IIVWT,007,R,07.44,N,03.83,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115319,,,,00,*46\r\n$IIDBT,028.73,f,008.76,M,004.73,F*26\r\n$GPGLL,5958.957,N,02325.584,E,115320,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.69,N,12.39,K*55\r\n$IIVPW,6.59,N,,*0B\r\n$IIVTG,213.37,T,213.37,M,5.75,N,,,D*63\r\n$IIMWV,002,T,07.60,N,A*26\r\n$IIVWT,002,R,07.60,N,03.91,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115321,,,,00,*4D\r\n$IIDBT,030.34,f,009.25,M,004.99,F*2F\r\n$GPGLL,5958.954,N,02325.580,E,115322,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.69,N,12.39,K*55\r\n$IIVPW,6.69,N,,*08\r\n$IIVTG,214.17,T,214.17,M,5.84,N,,,D*6D\r\n$IIMWV,360,R,15.16,N,A*25\r\n$IIVWT,001,L,08.41,N,04.33,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115323,,,,00,*4F\r\n$IIDBT,031.03,f,009.46,M,005.11,F*2E\r\n$GPGLL,5958.952,N,02325.576,E,115324,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.73,N,12.46,K*56\r\n$IIVPW,6.78,N,,*08\r\n$IIVTG,214.07,T,214.07,M,5.88,N,,,D*61\r\n$IIMWV,356,T,07.05,N,A*27\r\n$IIVWT,004,L,07.05,N,03.63,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115325,,,,00,*49\r\n$IIDBT,028.64,f,008.73,M,004.71,F*27\r\n$GPGLL,5958.949,N,02325.572,E,115326,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.75,N,12.50,K*57\r\n$IIVPW,6.72,N,,*02\r\n$IIVTG,214.87,T,214.87,M,5.95,N,,,D*6D\r\n$IIMWV,359,R,14.38,N,A*22\r\n$IIVWT,002,L,07.65,N,03.94,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115328,,,,00,*44\r\n$IIDBT,026.01,f,007.93,M,004.28,F*27\r\n$GPGLL,5958.944,N,02325.566,E,115328,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.77,N,12.53,K*56\r\n$IIVPW,6.82,N,,*0D\r\n$IIVTG,215.52,T,215.52,M,6.06,N,,,D*64\r\n$IIMWV,002,T,07.25,N,A*27\r\n$IIVWT,002,R,07.25,N,03.73,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115330,,,,00,*4D\r\n$IIDBT,024.24,f,007.39,M,003.99,F*2F\r\n$GPGLL,5958.941,N,02325.562,E,115330,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.81,N,12.61,K*5E\r\n$IIVPW,6.89,N,,*06\r\n$IIVTG,213.78,T,213.78,M,6.15,N,,,D*66\r\n$IIMWV,002,R,14.38,N,A*2F\r\n$IIVWT,003,R,07.48,N,03.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115332,,,,00,*4F\r\n$IIDBT,024.17,f,007.37,M,003.98,F*20\r\n$GPGLL,5958.939,N,02325.559,E,115332,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.84,N,12.66,K*5C\r\n$IIVPW,6.73,N,,*03\r\n$IIVTG,214.57,T,214.57,M,6.19,N,,,D*6A\r\n$IIMWV,006,T,07.77,N,A*24\r\n$IIVWT,006,R,07.77,N,04.00,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115334,,,,00,*49\r\n$IIDBT,021.35,f,006.51,M,003.51,F*21\r\n$GPGLL,5958.936,N,02325.555,E,115334,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.68,N,12.37,K*5A\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,212.44,T,212.44,M,6.02,N,,,D*60\r\n$IIMWV,003,R,13.41,N,A*27\r\n$IIVWT,005,R,06.97,N,03.59,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115336,,,,00,*4B\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5958.933,N,02325.552,E,115336,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.88,N,03.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.56,N,12.14,K*56\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,206.86,T,206.86,M,5.78,N,,,D*6E\r\n$IIMWV,018,T,06.66,N,A*2A\r\n$IIVWT,018,R,06.66,N,03.43,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115338,,,,00,*45\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.930,N,02325.550,E,115338,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.46,N,11.96,K*5E\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,208.81,T,208.81,M,5.67,N,,,D*60\r\n$IIMWV,004,R,13.21,N,A*26\r\n$IIVWT,008,R,07.03,N,03.62,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115340,,,,00,*4A\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.927,N,02325.547,E,115340,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,206.81,T,206.81,M,5.57,N,,,D*63\r\n$IIMWV,358,T,07.73,N,A*28\r\n$IIVWT,002,L,07.73,N,03.98,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115342,,,,00,*48\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.924,N,02325.545,E,115342,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.11,N,03.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,200.63,T,200.63,M,5.39,N,,,D*6B\r\n$IIMWV,001,R,13.21,N,A*23\r\n$IIVWT,003,R,07.23,N,03.72,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115344,,,,00,*4E\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.921,N,02325.542,E,115344,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,204.91,T,204.91,M,5.32,N,,,D*60\r\n$IIMWV,354,T,07.17,N,A*26\r\n$IIVWT,006,L,07.17,N,03.69,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115346,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.919,N,02325.540,E,115346,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,210.25,T,210.25,M,5.36,N,,,D*64\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,000,R,07.19,N,03.70,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115348,,,,00,*42\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5958.916,N,02325.536,E,115348,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,212.14,T,212.14,M,5.39,N,,,D*6B\r\n$IIMWV,008,T,07.15,N,A*2E\r\n$IIVWT,008,R,07.15,N,03.68,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115350,,,,00,*4B\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.914,N,02325.533,E,115350,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,6.06,N,,*01\r\n$IIVTG,210.36,T,210.36,M,5.40,N,,,D*65\r\n$IIMWV,358,R,13.41,N,A*2A\r\n$IIVWT,003,L,07.21,N,03.71,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115352,,,,00,*49\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5958.911,N,02325.531,E,115352,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,210.84,T,210.84,M,5.40,N,,,D*65\r\n$IIMWV,005,T,06.84,N,A*2A\r\n$IIVWT,005,R,06.84,N,03.52,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115354,,,,00,*4F\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5958.908,N,02325.527,E,115354,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,212.43,T,212.43,M,5.40,N,,,D*65\r\n$IIMWV,006,R,12.44,N,A*26\r\n$IIVWT,012,R,06.58,N,03.39,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115356,,,,00,*4D\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.906,N,02325.524,E,115356,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,210.56,T,210.56,M,5.35,N,,,D*67\r\n$IIMWV,350,T,06.23,N,A*24\r\n$IIVWT,010,L,06.23,N,03.21,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115358,,,,00,*43\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5958.903,N,02325.521,E,115358,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,208.71,T,208.71,M,5.24,N,,,D*67\r\n$IIMWV,001,R,12.82,N,A*2B\r\n$IIVWT,001,R,07.07,N,03.64,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115400,,,,00,*49\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.901,N,02325.519,E,115401,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,209.95,T,209.95,M,5.13,N,,,D*63\r\n$IIMWV,352,T,06.33,N,A*27\r\n$IIVWT,008,L,06.33,N,03.26,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115402,,,,00,*4B\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.898,N,02325.516,E,115403,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.78,N,10.70,K*59\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,209.94,T,209.94,M,5.11,N,,,D*61\r\n$IIMWV,355,R,12.44,N,A*23\r\n$IIVWT,009,L,06.70,N,03.45,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115404,,,,00,*4D\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.896,N,02325.513,E,115405,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.77,N,10.68,K*5F\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,211.23,T,211.23,M,5.10,N,,,D*60\r\n$IIMWV,350,T,07.44,N,A*24\r\n$IIVWT,010,L,07.44,N,03.83,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115406,,,,00,*4F\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.894,N,02325.510,E,115407,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,212.08,T,212.08,M,5.18,N,,,D*68\r\n$IIMWV,355,R,12.82,N,A*29\r\n$IIVWT,009,L,06.86,N,03.53,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115408,,,,00,*41\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.891,N,02325.507,E,115409,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.19,N,03.70,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.84,N,10.81,K*54\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,211.94,T,211.94,M,5.27,N,,,D*64\r\n$IIMWV,358,T,06.84,N,A*21\r\n$IIVWT,002,L,06.84,N,03.52,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115411,,,,00,*49\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.887,N,02325.502,E,115411,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,211.66,T,211.66,M,5.34,N,,,D*66\r\n$IIMWV,356,R,12.82,N,A*2A\r\n$IIVWT,008,L,06.60,N,03.40,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115413,,,,00,*4B\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5958.885,N,02325.499,E,115413,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.95,N,11.01,K*5D\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,211.02,T,211.02,M,5.39,N,,,D*6B\r\n$IIMWV,355,T,06.29,N,A*2B\r\n$IIVWT,005,L,06.29,N,03.24,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115415,,,,00,*4D\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.882,N,02325.496,E,115415,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,212.65,T,212.65,M,5.40,N,,,D*65\r\n$IIMWV,358,R,12.44,N,A*2E\r\n$IIVWT,005,L,06.31,N,03.25,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115417,,,,00,*4F\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5958.880,N,02325.493,E,115417,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.95,N,11.01,K*5D\r\n$IIVPW,5.38,N,,*0F\r\n$IIVTG,213.54,T,213.54,M,5.32,N,,,D*60\r\n$IIMWV,347,T,06.84,N,A*2F\r\n$IIVWT,013,L,06.84,N,03.52,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115419,,,,00,*41\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.877,N,02325.490,E,115419,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.83,N,10.79,K*54\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,211.98,T,211.98,M,5.31,N,,,D*63\r\n$IIMWV,357,R,12.44,N,A*21\r\n$IIVWT,007,L,06.62,N,03.41,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115421,,,,00,*4A\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.875,N,02325.487,E,115421,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.78,N,10.70,K*59\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,211.45,T,211.45,M,5.25,N,,,D*66\r\n$IIMWV,002,T,07.23,N,A*21\r\n$IIVWT,002,R,07.23,N,03.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115423,,,,00,*48\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.872,N,02325.484,E,115423,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.19,N,03.70,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,212.59,T,212.59,M,5.21,N,,,D*62\r\n$IIMWV,001,R,13.41,N,A*25\r\n$IIVWT,001,R,07.75,N,03.99,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115425,,,,00,*4E\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.870,N,02325.480,E,115425,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.72,N,10.59,K*58\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,214.02,T,214.02,M,5.20,N,,,D*63\r\n$IIMWV,360,T,08.16,N,A*2F\r\n$IIVWT,000,L,08.16,N,04.20,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115427,,,,00,*4C\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.868,N,02325.477,E,115427,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.86,N,10.85,K*52\r\n$IIVPW,6.22,N,,*07\r\n$IIVTG,215.56,T,215.56,M,5.33,N,,,D*61\r\n$IIMWV,001,R,13.41,N,A*25\r\n$IIVWT,001,R,07.36,N,03.79,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115429,,,,00,*42\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.865,N,02325.474,E,115429,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,213.96,T,213.96,M,5.38,N,,,D*6A\r\n$IIMWV,356,T,07.40,N,A*26\r\n$IIVWT,004,L,07.40,N,03.81,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115431,,,,00,*4B\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.863,N,02325.470,E,115431,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.96,N,11.03,K*5C\r\n$IIVPW,6.17,N,,*01\r\n$IIVTG,214.09,T,214.09,M,5.47,N,,,D*62\r\n$IIMWV,360,R,13.41,N,A*21\r\n$IIVWT,001,L,07.28,N,03.75,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115433,,,,00,*49\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.860,N,02325.467,E,115433,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.95,N,11.01,K*5D\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,214.84,T,214.84,M,5.49,N,,,D*6C\r\n$IIMWV,359,T,07.01,N,A*2C\r\n$IIVWT,001,L,07.01,N,03.61,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115435,,,,00,*4F\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.858,N,02325.463,E,115435,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,212.01,T,212.01,M,5.42,N,,,D*67\r\n$IIMWV,000,R,12.05,N,A*25\r\n$IIVWT,000,R,06.02,N,03.10,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115437,,,,00,*4D\r\n$IIDBT,016.73,f,005.10,M,002.75,F*26\r\n$GPGLL,5958.855,N,02325.460,E,115437,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,210.05,T,210.05,M,5.36,N,,,D*64\r\n$IIMWV,360,T,06.27,N,A*23\r\n$IIVWT,000,L,06.27,N,03.23,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115439,,,,00,*43\r\n$IIDBT,016.73,f,005.10,M,002.75,F*26\r\n$GPGLL,5958.853,N,02325.458,E,115439,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.86,N,10.85,K*52\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,211.19,T,211.19,M,5.31,N,,,D*63\r\n$IIMWV,355,R,11.85,N,A*2D\r\n$IIVWT,009,L,06.00,N,03.09,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115441,,,,00,*4C\r\n$IIDBT,016.50,f,005.03,M,002.71,F*21\r\n$GPGLL,5958.850,N,02325.454,E,115441,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.09,N,03.65,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.85,N,10.83,K*57\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,212.00,T,212.00,M,5.20,N,,,D*63\r\n$IIMWV,353,T,06.45,N,A*27\r\n$IIVWT,007,L,06.45,N,03.32,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115443,,,,00,*4E\r\n$IIDBT,016.53,f,005.04,M,002.72,F*26\r\n$GPGLL,5958.848,N,02325.451,E,115444,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,211.72,T,211.72,M,5.20,N,,,D*63\r\n$IIMWV,354,R,13.41,N,A*26\r\n$IIVWT,011,L,07.30,N,03.76,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115445,,,,00,*48\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.845,N,02325.448,E,115446,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,211.53,T,211.53,M,5.33,N,,,D*61\r\n$IIMWV,001,T,08.43,N,A*2B\r\n$IIVWT,001,R,08.43,N,04.34,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115447,,,,00,*4A\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5958.843,N,02325.445,E,115448,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,211.76,T,211.76,M,5.38,N,,,D*6A\r\n$IIMWV,003,R,14.19,N,A*2D\r\n$IIVWT,005,R,08.31,N,04.28,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115449,,,,00,*44\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.840,N,02325.442,E,115450,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,212.39,T,212.39,M,5.45,N,,,D*60\r\n$IIMWV,005,T,08.18,N,A*21\r\n$IIVWT,005,R,08.18,N,04.21,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115451,,,,00,*4D\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.838,N,02325.439,E,115452,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,212.07,T,212.07,M,5.49,N,,,D*6C\r\n$IIMWV,004,R,13.80,N,A*2D\r\n$IIVWT,007,R,07.91,N,04.07,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115454,,,,00,*48\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5958.834,N,02325.434,E,115454,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.85,N,10.83,K*57\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,210.75,T,210.75,M,5.45,N,,,D*60\r\n$IIMWV,014,T,07.15,N,A*23\r\n$IIVWT,014,R,07.15,N,03.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115456,,,,00,*4A\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.831,N,02325.431,E,115456,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.81,N,10.76,K*59\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,212.91,T,212.91,M,5.41,N,,,D*64\r\n$IIMWV,014,R,12.05,N,A*20\r\n$IIVWT,026,R,06.53,N,03.36,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115458,,,,00,*44\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.829,N,02325.428,E,115458,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.79,N,10.72,K*5A\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,210.00,T,210.00,M,5.40,N,,,D*65\r\n$IIMWV,007,T,07.25,N,A*22\r\n$IIVWT,007,R,07.25,N,03.73,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115500,,,,00,*48\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.826,N,02325.425,E,115500,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.81,N,10.76,K*59\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,207.25,T,207.25,M,5.33,N,,,D*61\r\n$IIMWV,013,R,13.80,N,A*2B\r\n$IIVWT,023,R,07.98,N,04.11,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115502,,,,00,*4A\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5958.823,N,02325.422,E,115502,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,204.94,T,204.94,M,5.38,N,,,D*6A\r\n$IIMWV,011,T,07.79,N,A*2C\r\n$IIVWT,011,R,07.79,N,04.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115504,,,,00,*4C\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.821,N,02325.420,E,115504,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.95,N,11.01,K*5D\r\n$IIVPW,5.69,N,,*0B\r\n$IIVTG,200.48,T,200.48,M,5.37,N,,,D*65\r\n$IIMWV,010,R,13.21,N,A*23\r\n$IIVWT,018,R,07.36,N,03.79,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115506,,,,00,*4E\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.818,N,02325.418,E,115506,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.93,N,10.98,K*5A\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,201.40,T,201.40,M,5.39,N,,,D*6B\r\n$IIMWV,005,T,07.91,N,A*2F\r\n$IIVWT,005,R,07.91,N,04.07,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115508,,,,00,*40\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.815,N,02325.416,E,115508,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,203.72,T,203.72,M,5.40,N,,,D*65\r\n$IIMWV,008,R,13.41,N,A*2C\r\n$IIVWT,014,R,07.61,N,03.92,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115510,,,,00,*49\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.813,N,02325.413,E,115510,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,205.36,T,205.36,M,5.47,N,,,D*62\r\n$IIMWV,012,T,07.46,N,A*23\r\n$IIVWT,012,R,07.46,N,03.84,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115512,,,,00,*4B\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.810,N,02325.411,E,115512,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.82,N,10.77,K*5B\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,202.59,T,202.59,M,5.44,N,,,D*61\r\n$IIMWV,004,R,13.80,N,A*2D\r\n$IIVWT,006,R,08.08,N,04.16,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115514,,,,00,*4D\r\n$IIDBT,016.76,f,005.11,M,002.76,F*21\r\n$GPGLL,5958.807,N,02325.409,E,115514,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.74,N,10.63,K*57\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,201.65,T,201.65,M,5.36,N,,,D*64\r\n$IIMWV,355,T,08.57,N,A*2C\r\n$IIVWT,005,L,08.57,N,04.41,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115516,,,,00,*4F\r\n$IIDBT,016.73,f,005.10,M,002.75,F*26\r\n$GPGLL,5958.804,N,02325.406,E,115516,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.69,N,10.53,K*58\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,204.58,T,204.58,M,5.32,N,,,D*60\r\n$IIMWV,357,R,13.41,N,A*25\r\n$IIVWT,006,L,07.71,N,03.97,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115518,,,,00,*41\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.802,N,02325.404,E,115518,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,209.99,T,209.99,M,5.28,N,,,D*6B\r\n$IIMWV,342,T,07.25,N,A*20\r\n$IIVWT,019,L,07.25,N,03.73,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115520,,,,00,*4A\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.799,N,02325.400,E,115520,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.73,N,10.61,K*52\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,213.30,T,213.30,M,5.29,N,,,D*6A\r\n$IIMWV,351,R,12.44,N,A*27\r\n$IIVWT,018,L,06.74,N,03.47,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115522,,,,00,*48\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5958.797,N,02325.397,E,115522,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.40,N,03.81,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.77,N,10.68,K*5F\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,216.30,T,216.30,M,5.42,N,,,D*67\r\n$IIMWV,338,T,07.67,N,A*2B\r\n$IIVWT,022,L,07.67,N,03.95,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115524,,,,00,*4E\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5958.794,N,02325.393,E,115524,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.20,N,04.22,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,216.22,T,216.22,M,5.48,N,,,D*6D\r\n$IIMWV,353,R,14.19,N,A*2B\r\n$IIVWT,013,L,08.26,N,04.25,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115526,,,,00,*4C\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5958.792,N,02325.390,E,115527,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,217.58,T,217.58,M,5.57,N,,,D*63\r\n$IIMWV,351,T,08.33,N,A*2A\r\n$IIVWT,009,L,08.33,N,04.29,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115528,,,,00,*42\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5958.790,N,02325.386,E,115529,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,217.57,T,217.57,M,5.54,N,,,D*60\r\n$IIMWV,352,R,14.38,N,A*29\r\n$IIVWT,013,L,08.47,N,04.36,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115530,,,,00,*4B\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.787,N,02325.382,E,115531,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,217.07,T,217.07,M,5.46,N,,,D*63\r\n$IIMWV,344,T,08.14,N,A*2B\r\n$IIVWT,016,L,08.14,N,04.19,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115532,,,,00,*49\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.785,N,02325.379,E,115533,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.83,N,10.79,K*54\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,216.41,T,216.41,M,5.42,N,,,D*67\r\n$IIMWV,352,R,14.19,N,A*2A\r\n$IIVWT,012,L,08.70,N,04.48,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115534,,,,00,*4F\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5958.782,N,02325.375,E,115535,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,215.35,T,215.35,M,5.33,N,,,D*61\r\n$IIMWV,358,T,06.93,N,A*27\r\n$IIVWT,003,L,06.93,N,03.57,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115537,,,,00,*4C\r\n$IIDBT,017.35,f,005.29,M,002.85,F*20\r\n$GPGLL,5958.779,N,02325.370,E,115537,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.78,N,10.70,K*59\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,218.06,T,218.06,M,5.29,N,,,D*6A\r\n$IIMWV,348,R,13.21,N,A*2D\r\n$IIVWT,022,L,07.54,N,03.88,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115539,,,,00,*42\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.777,N,02325.366,E,115539,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.11,N,03.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.84,N,10.81,K*54\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,218.82,T,218.82,M,5.37,N,,,D*65\r\n$IIMWV,341,T,07.52,N,A*23\r\n$IIVWT,019,L,07.52,N,03.87,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115541,,,,00,*4D\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.774,N,02325.363,E,115541,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,218.75,T,218.75,M,5.47,N,,,D*62\r\n$IIMWV,353,R,12.44,N,A*25\r\n$IIVWT,014,L,06.70,N,03.45,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115543,,,,00,*4F\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.772,N,02325.359,E,115543,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,218.99,T,218.99,M,5.54,N,,,D*60\r\n$IIMWV,348,T,06.95,N,A*20\r\n$IIVWT,012,L,06.95,N,03.58,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115545,,,,00,*49\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.769,N,02325.355,E,115545,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,218.32,T,218.32,M,5.59,N,,,D*6D\r\n$IIMWV,348,R,12.44,N,A*2F\r\n$IIVWT,023,L,06.74,N,03.47,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115547,,,,00,*4B\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.767,N,02325.351,E,115547,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.30,N,03.76,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,216.80,T,216.80,M,5.52,N,,,D*66\r\n$IIMWV,338,T,07.17,N,A*2C\r\n$IIVWT,022,L,07.17,N,03.69,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115549,,,,00,*45\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5958.765,N,02325.348,E,115549,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.85,N,10.83,K*57\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,219.13,T,219.13,M,5.46,N,,,D*63\r\n$IIMWV,350,R,12.44,N,A*26\r\n$IIVWT,019,L,06.74,N,03.47,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115551,,,,00,*4C\r\n$IIDBT,017.51,f,005.34,M,002.88,F*23\r\n$GPGLL,5958.762,N,02325.344,E,115551,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,221.75,T,221.75,M,5.41,N,,,D*64\r\n$IIMWV,334,T,07.54,N,A*27\r\n$IIVWT,026,L,07.54,N,03.88,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115553,,,,00,*4E\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.760,N,02325.340,E,115553,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.69,N,10.53,K*58\r\n$IIVPW,5.51,N,,*00\r\n$IIVTG,220.79,T,220.79,M,5.33,N,,,D*61\r\n$IIMWV,350,R,13.41,N,A*22\r\n$IIVWT,017,L,07.89,N,04.06,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115555,,,,00,*48\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.758,N,02325.336,E,115555,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.68,N,10.51,K*5B\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,220.67,T,220.67,M,5.31,N,,,D*63\r\n$IIMWV,350,T,08.59,N,A*27\r\n$IIVWT,010,L,08.59,N,04.42,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115557,,,,00,*4A\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.756,N,02325.332,E,115557,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.75,N,10.64,K*51\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,220.84,T,220.84,M,5.38,N,,,D*6A\r\n$IIMWV,001,R,14.77,N,A*27\r\n$IIVWT,001,R,08.82,N,04.54,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115559,,,,00,*44\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.753,N,02325.328,E,115559,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.82,N,10.77,K*5B\r\n$IIVPW,5.85,N,,*09\r\n$IIVTG,218.49,T,218.49,M,5.47,N,,,D*62\r\n$IIMWV,355,T,07.79,N,A*2F\r\n$IIVWT,005,L,07.79,N,04.01,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115601,,,,00,*4A\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.751,N,02325.324,E,115601,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.31,N,04.28,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,217.95,T,217.95,M,5.54,N,,,D*60\r\n$IIMWV,003,R,14.19,N,A*2D\r\n$IIVWT,005,R,08.10,N,04.17,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115603,,,,00,*48\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.749,N,02325.320,E,115603,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,217.21,T,217.21,M,5.59,N,,,D*6D\r\n$IIMWV,352,T,07.95,N,A*2A\r\n$IIVWT,008,L,07.95,N,04.09,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115605,,,,00,*4E\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5958.746,N,02325.317,E,115605,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,214.78,T,214.78,M,5.60,N,,,D*67\r\n$IIMWV,003,R,14.38,N,A*2E\r\n$IIVWT,005,R,08.49,N,04.37,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115607,,,,00,*4C\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5958.744,N,02325.313,E,115608,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.35,N,04.30,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,215.92,T,215.92,M,5.60,N,,,D*67\r\n$IIMWV,011,T,07.52,N,A*25\r\n$IIVWT,011,R,07.52,N,03.87,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115609,,,,00,*42\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.741,N,02325.310,E,115610,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,213.13,T,213.13,M,5.55,N,,,D*61\r\n$IIMWV,359,R,13.41,N,A*2B\r\n$IIVWT,002,L,07.54,N,03.88,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115611,,,,00,*4B\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5958.738,N,02325.307,E,115612,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.88,N,10.89,K*50\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,206.93,T,206.93,M,5.46,N,,,D*63\r\n$IIMWV,004,T,07.95,N,A*2A\r\n$IIVWT,004,R,07.95,N,04.09,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115613,,,,00,*49\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5958.736,N,02325.304,E,115614,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.81,N,10.76,K*59\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,200.41,T,200.41,M,5.34,N,,,D*66\r\n$IIMWV,008,R,15.16,N,A*28\r\n$IIVWT,012,R,09.52,N,04.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115615,,,,00,*4F\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.733,N,02325.303,E,115616,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.30,N,05.30,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,200.25,T,200.25,M,5.36,N,,,D*64\r\n$IIMWV,004,T,09.91,N,A*20\r\n$IIVWT,004,R,09.91,N,05.10,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115617,,,,00,*4D\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5958.730,N,02325.300,E,115618,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.85,N,05.07,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.79,N,10.72,K*5A\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,202.09,T,202.09,M,5.44,N,,,D*61\r\n$IIMWV,006,R,16.52,N,A*25\r\n$IIVWT,010,R,10.69,N,05.50,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115620,,,,00,*49\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5958.726,N,02325.297,E,115620,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.28,N,05.29,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.82,N,10.77,K*5B\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,199.37,T,199.37,M,5.49,N,,,D*6C\r\n$IIMWV,014,T,10.41,N,A*24\r\n$IIVWT,014,R,10.41,N,05.36,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115622,,,,00,*4B\r\n$IIDBT,004.92,f,001.50,M,000.81,F*23\r\n$GPGLL,5958.723,N,02325.295,E,115622,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.62,N,04.95,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.81,N,10.76,K*59\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,199.34,T,199.34,M,5.50,N,,,D*64\r\n$IIMWV,003,R,15.35,N,A*22\r\n$IIVWT,005,R,09.62,N,04.95,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115624,,,,00,*4D\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.720,N,02325.293,E,115624,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,199.84,T,199.84,M,5.45,N,,,D*60\r\n$IIMWV,006,T,08.66,N,A*2B\r\n$IIVWT,006,R,08.66,N,04.46,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115626,,,,00,*4F\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.717,N,02325.291,E,115626,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.72,N,10.59,K*58\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,199.51,T,199.51,M,5.36,N,,,D*64\r\n$IIMWV,000,R,15.35,N,A*21\r\n$IIVWT,000,R,09.73,N,05.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115628,,,,00,*41\r\n$IIDBT,016.76,f,005.11,M,002.76,F*21\r\n$GPGLL,5958.714,N,02325.289,E,115628,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.31,N,04.79,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.72,N,10.59,K*58\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,200.03,T,200.03,M,5.32,N,,,D*60\r\n$IIMWV,002,T,08.98,N,A*2E\r\n$IIVWT,002,R,08.98,N,04.62,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115630,,,,00,*48\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5958.712,N,02325.287,E,115630,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.77,N,10.68,K*5F\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,202.98,T,202.98,M,5.35,N,,,D*67\r\n$IIMWV,359,R,15.74,N,A*2B\r\n$IIVWT,002,L,09.91,N,05.10,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115632,,,,00,*4A\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.709,N,02325.284,E,115632,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,206.92,T,206.92,M,5.39,N,,,D*6B\r\n$IIMWV,001,T,09.38,N,A*26\r\n$IIVWT,001,R,09.38,N,04.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115634,,,,00,*4C\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5958.706,N,02325.281,E,115634,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.82,N,10.77,K*5B\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,210.76,T,210.76,M,5.40,N,,,D*65\r\n$IIMWV,001,R,15.74,N,A*25\r\n$IIVWT,002,R,09.71,N,05.00,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115636,,,,00,*4E\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5958.704,N,02325.278,E,115636,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.87,N,10.87,K*51\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,212.59,T,212.59,M,5.42,N,,,D*67\r\n$IIMWV,347,T,08.96,N,A*22\r\n$IIVWT,013,L,08.96,N,04.61,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115638,,,,00,*40\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5958.701,N,02325.275,E,115638,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.86,N,10.85,K*52\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,214.95,T,214.95,M,5.41,N,,,D*64\r\n$IIMWV,355,R,13.21,N,A*21\r\n$IIVWT,009,L,07.46,N,03.84,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115640,,,,00,*4F\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.699,N,02325.271,E,115640,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.82,N,10.77,K*5B\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,217.06,T,217.06,M,5.40,N,,,D*65\r\n$IIMWV,356,T,09.13,N,A*2E\r\n$IIVWT,004,L,09.13,N,04.70,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115642,,,,00,*4D\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5958.697,N,02325.268,E,115642,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.60,N,04.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,216.72,T,216.72,M,5.35,N,,,D*67\r\n$IIMWV,352,R,15.16,N,A*24\r\n$IIVWT,012,L,09.58,N,04.93,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115644,,,,00,*4B\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.694,N,02325.264,E,115644,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.19,N,04.73,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.72,N,10.59,K*58\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,218.43,T,218.43,M,5.31,N,,,D*63\r\n$IIMWV,344,T,08.76,N,A*2F\r\n$IIVWT,016,L,08.76,N,04.51,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115646,,,,00,*49\r\n$IIDBT,016.27,f,004.96,M,002.68,F*24\r\n$GPGLL,5958.692,N,02325.260,E,115646,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.39,N,04.32,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,221.75,T,221.75,M,5.30,N,,,D*62\r\n$IIMWV,344,R,13.80,N,A*2A\r\n$IIVWT,028,L,08.43,N,04.34,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115648,,,,00,*47\r\n$IIDBT,016.33,f,004.98,M,002.69,F*2E\r\n$GPGLL,5958.690,N,02325.256,E,115648,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,221.34,T,221.34,M,5.30,N,,,D*62\r\n$IIMWV,350,T,08.35,N,A*2D\r\n$IIVWT,010,L,08.35,N,04.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115650,,,,00,*4E\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.688,N,02325.252,E,115650,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.76,N,10.66,K*50\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,221.33,T,221.33,M,5.35,N,,,D*67\r\n$IIMWV,348,R,13.80,N,A*26\r\n$IIVWT,020,L,08.12,N,04.18,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115652,,,,00,*4C\r\n$IIDBT,016.50,f,005.03,M,002.71,F*21\r\n$GPGLL,5958.685,N,02325.248,E,115653,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.07,N,03.64,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.85,N,10.83,K*57\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,219.48,T,219.48,M,5.44,N,,,D*61\r\n$IIMWV,339,T,07.52,N,A*2C\r\n$IIVWT,021,L,07.52,N,03.87,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115654,,,,00,*4A\r\n$IIDBT,016.53,f,005.04,M,002.72,F*26\r\n$GPGLL,5958.683,N,02325.245,E,115655,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.89,N,10.90,K*59\r\n$IIVPW,5.34,N,,*03\r\n$IIVTG,219.89,T,219.89,M,5.48,N,,,D*6D\r\n$IIMWV,348,R,13.21,N,A*2D\r\n$IIVWT,022,L,07.61,N,03.92,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115656,,,,00,*48\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.681,N,02325.241,E,115657,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.86,N,10.85,K*52\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,222.30,T,222.30,M,5.50,N,,,D*64\r\n$IIMWV,339,T,06.53,N,A*2C\r\n$IIVWT,021,L,06.53,N,03.36,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115658,,,,00,*46\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.678,N,02325.236,E,115659,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.78,N,10.70,K*59\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,224.45,T,224.45,M,5.50,N,,,D*64\r\n$IIMWV,000,R,13.21,N,A*22\r\n$IIVWT,000,R,07.69,N,03.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115700,,,,00,*4A\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.676,N,02325.232,E,115701,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.63,N,10.42,K*52\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,223.08,T,223.08,M,5.50,N,,,D*64\r\n$IIMWV,018,T,07.28,N,A*21\r\n$IIVWT,018,R,07.28,N,03.75,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115703,,,,00,*49\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.673,N,02325.227,E,115703,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.44,N,10.07,K*56\r\n$IIVPW,4.15,N,,*01\r\n$IIVTG,203.18,T,203.18,M,5.41,N,,,D*64\r\n$IIMWV,027,R,11.85,N,A*2B\r\n$IIVWT,046,R,07.60,N,03.91,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115705,,,,00,*4F\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.670,N,02325.226,E,115705,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.26,N,04.25,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.31,N,09.83,K*50\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,182.17,T,182.17,M,5.48,N,,,D*6D\r\n$IIMWV,075,T,07.85,N,A*2D\r\n$IIVWT,075,R,07.85,N,04.04,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115707,,,,00,*4D\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5958.667,N,02325.228,E,115707,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.23,N,09.68,K*56\r\n$IIVPW,-0.56,N,,*2F\r\n$IIVTG,155.94,T,155.94,M,5.34,N,,,D*66\r\n$IIMWV,064,R,09.71,N,A*2E\r\n$IIVWT,095,R,08.72,N,04.49,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115709,,,,00,*43\r\n$IIDBT,016.20,f,004.94,M,002.67,F*2E\r\n$GPGLL,5958.665,N,02325.232,E,115709,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.18,N,09.59,K*5C\r\n$IIVPW,-1.11,N,,*2D\r\n$IIVTG,129.76,T,129.76,M,5.21,N,,,D*62\r\n$IIMWV,108,T,08.57,N,A*26\r\n$IIVWT,108,R,08.57,N,04.41,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115711,,,,00,*4A\r\n$IIDBT,016.14,f,004.92,M,002.65,F*2D\r\n$GPGLL,5958.664,N,02325.237,E,115711,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.05,N,04.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.13,N,09.50,K*5E\r\n$IIVPW,-1.79,N,,*23\r\n$IIVTG,109.17,T,109.17,M,5.03,N,,,D*62\r\n$IIMWV,075,R,08.55,N,A*29\r\n$IIVWT,110,R,08.76,N,04.51,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115713,,,,00,*48\r\n$IIDBT,006.46,f,001.97,M,001.06,F*2D\r\n$GPGLL,5958.663,N,02325.243,E,115713,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.20,N,09.63,K*5E\r\n$IIVPW,-0.99,N,,*2C\r\n$IIVTG,095.52,T,095.52,M,5.03,N,,,D*62\r\n$IIMWV,105,T,08.37,N,A*2D\r\n$IIVWT,105,R,08.37,N,04.31,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115715,,,,00,*4E\r\n$IIDBT,016.14,f,004.92,M,002.65,F*2D\r\n$GPGLL,5958.663,N,02325.248,E,115715,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.32,N,09.85,K*55\r\n$IIVPW,-0.95,N,,*20\r\n$IIVTG,095.93,T,095.93,M,5.21,N,,,D*62\r\n$IIMWV,073,R,11.46,N,A*25\r\n$IIVWT,102,R,11.15,N,05.74,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115717,,,,00,*4C\r\n$IIDBT,015.94,f,004.86,M,002.62,F*24\r\n$GPGLL,5958.663,N,02325.254,E,115717,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.44,N,10.07,K*56\r\n$IIVPW,-2.07,N,,*29\r\n$IIVTG,102.85,T,102.85,M,5.40,N,,,D*65\r\n$IIMWV,115,T,09.38,N,A*22\r\n$IIVWT,115,R,09.38,N,04.83,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115719,,,,00,*42\r\n$IIDBT,015.68,f,004.78,M,002.58,F*2F\r\n$GPGLL,5958.662,N,02325.260,E,115719,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.58,N,10.33,K*5C\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,098.09,T,098.09,M,5.55,N,,,D*61\r\n$IIMWV,076,R,09.13,N,A*29\r\n$IIVWT,113,R,09.62,N,04.95,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115721,,,,00,*49\r\n$IIDBT,007.90,f,002.41,M,001.30,F*2A\r\n$GPGLL,5958.662,N,02325.266,E,115721,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.38,N,04.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.70,N,10.55,K*56\r\n$IIVPW,-1.33,N,,*2D\r\n$IIVTG,093.87,T,093.87,M,5.71,N,,,D*67\r\n$IIMWV,110,T,07.91,N,A*2A\r\n$IIVWT,110,R,07.91,N,04.07,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115723,,,,00,*4B\r\n$IIDBT,015.51,f,004.73,M,002.55,F*23\r\n$GPGLL,5958.662,N,02325.273,E,115723,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.78,N,10.70,K*59\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,084.39,T,084.39,M,5.70,N,,,D*66\r\n$IIMWV,087,R,08.74,N,A*27\r\n$IIVWT,123,R,10.39,N,05.35,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115725,,,,00,*4D\r\n$IIDBT,015.35,f,004.68,M,002.52,F*2C\r\n$GPGLL,5958.662,N,02325.279,E,115725,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.86,N,10.85,K*52\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,085.50,T,085.50,M,5.80,N,,,D*69\r\n$IIMWV,122,T,09.54,N,A*2C\r\n$IIVWT,122,R,09.54,N,04.91,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115727,,,,00,*4F\r\n$IIDBT,015.51,f,004.73,M,002.55,F*23\r\n$GPGLL,5958.663,N,02325.285,E,115727,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.90,N,10.92,K*53\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,082.47,T,082.47,M,5.85,N,,,D*6C\r\n$IIMWV,087,R,08.55,N,A*24\r\n$IIVWT,123,R,10.18,N,05.24,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115729,,,,00,*41\r\n$IIDBT,015.51,f,004.73,M,002.55,F*23\r\n$GPGLL,5958.663,N,02325.292,E,115729,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.62,N,04.95,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.93,N,10.98,K*5A\r\n$IIVPW,-3.41,N,,*2A\r\n$IIVTG,079.24,T,079.24,M,5.89,N,,,D*60\r\n$IIMWV,120,T,08.84,N,A*22\r\n$IIVWT,120,R,08.84,N,04.55,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115731,,,,00,*48\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.664,N,02325.298,E,115731,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.40,N,04.84,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.98,N,11.07,K*56\r\n$IIVPW,-3.84,N,,*23\r\n$IIVTG,078.73,T,078.73,M,5.90,N,,,D*68\r\n$IIMWV,090,R,07.58,N,A*20\r\n$IIVWT,129,R,09.77,N,05.03,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115733,,,,00,*4A\r\n$IIDBT,006.20,f,001.89,M,001.02,F*26\r\n$GPGLL,5958.664,N,02325.304,E,115734,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.01,N,11.13,K*50\r\n$IIVPW,-3.31,N,,*2D\r\n$IIVTG,080.59,T,080.59,M,5.90,N,,,D*68\r\n$IIMWV,120,T,08.70,N,A*29\r\n$IIVWT,120,R,08.70,N,04.48,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115735,,,,00,*4C\r\n$IIDBT,006.20,f,001.89,M,001.02,F*26\r\n$GPGLL,5958.665,N,02325.311,E,115736,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.93,N,04.08,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,-3.23,N,,*2E\r\n$IIVTG,080.72,T,080.72,M,5.95,N,,,D*6D\r\n$IIMWV,086,R,07.19,N,A*22\r\n$IIVWT,128,R,09.01,N,04.64,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115737,,,,00,*4E\r\n$IIDBT,015.28,f,004.66,M,002.51,F*2D\r\n$GPGLL,5958.665,N,02325.317,E,115738,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.15,N,04.71,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-3.49,N,,*22\r\n$IIVTG,078.90,T,078.90,M,5.94,N,,,D*6C\r\n$IIMWV,120,T,08.57,N,A*2C\r\n$IIVWT,120,R,08.57,N,04.41,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115739,,,,00,*40\r\n$IIDBT,015.28,f,004.66,M,002.51,F*2D\r\n$GPGLL,5958.666,N,02325.324,E,115740,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.63,N,04.44,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,-3.48,N,,*23\r\n$IIVTG,078.85,T,078.85,M,5.93,N,,,D*6B\r\n$IIMWV,086,R,07.19,N,A*22\r\n$IIVWT,129,R,09.15,N,04.71,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115741,,,,00,*4F\r\n$IIDBT,015.25,f,004.65,M,002.51,F*23\r\n$GPGLL,5958.667,N,02325.330,E,115742,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.54,N,04.91,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,078.44,T,078.44,M,5.91,N,,,D*69\r\n$IIMWV,123,T,09.62,N,A*28\r\n$IIVWT,123,R,09.62,N,04.95,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115743,,,,00,*4D\r\n$IIDBT,015.28,f,004.66,M,002.51,F*2D\r\n$GPGLL,5958.668,N,02325.340,E,115744,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.51,N,05.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-3.46,N,,*2D\r\n$IIVTG,082.33,T,082.33,M,5.90,N,,,D*68\r\n$IIMWV,087,R,08.16,N,A*23\r\n$IIVWT,125,R,09.85,N,05.07,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115746,,,,00,*48\r\n$IIDBT,015.15,f,004.62,M,002.49,F*2E\r\n$GPGLL,5958.668,N,02325.347,E,115746,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.33,N,04.80,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-4.33,N,,*28\r\n$IIVTG,079.78,T,079.78,M,5.89,N,,,D*60\r\n$IIMWV,137,T,09.83,N,A*22\r\n$IIVWT,137,R,09.83,N,05.06,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115748,,,,00,*46\r\n$IIDBT,015.35,f,004.68,M,002.52,F*2C\r\n$GPGLL,5958.669,N,02325.353,E,115748,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.26,N,05.28,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-2.99,N,,*2E\r\n$IIVTG,079.44,T,079.44,M,5.90,N,,,D*68\r\n$IIMWV,087,R,08.74,N,A*27\r\n$IIVWT,122,R,10.28,N,05.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115750,,,,00,*4F\r\n$IIDBT,015.25,f,004.65,M,002.51,F*23\r\n$GPGLL,5958.669,N,02325.359,E,115750,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.17,N,04.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-3.63,N,,*2A\r\n$IIVTG,079.81,T,079.81,M,5.90,N,,,D*68\r\n$IIMWV,136,T,10.12,N,A*23\r\n$IIVWT,136,R,10.12,N,05.21,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115752,,,,00,*4D\r\n$IIDBT,015.32,f,004.67,M,002.52,F*24\r\n$GPGLL,5958.670,N,02325.366,E,115752,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.49,N,05.40,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-3.65,N,,*2C\r\n$IIVTG,077.80,T,077.80,M,5.97,N,,,D*6F\r\n$IIMWV,084,R,08.16,N,A*20\r\n$IIVWT,123,R,09.64,N,04.96,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115754,,,,00,*4B\r\n$IIDBT,015.32,f,004.67,M,002.52,F*24\r\n$GPGLL,5958.671,N,02325.372,E,115754,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.29,N,04.78,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-3.54,N,,*2E\r\n$IIVTG,077.35,T,077.35,M,5.92,N,,,D*6A\r\n$IIMWV,124,T,07.89,N,A*24\r\n$IIVWT,124,R,07.89,N,04.06,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115756,,,,00,*49\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.671,N,02325.379,E,115756,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.40,N,04.84,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-3.47,N,,*2C\r\n$IIVTG,077.61,T,077.61,M,5.88,N,,,D*61\r\n$IIMWV,081,R,08.55,N,A*22\r\n$IIVWT,120,R,09.69,N,04.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115758,,,,00,*47\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.672,N,02325.385,E,115758,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.24,N,05.27,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-4.08,N,,*20\r\n$IIVTG,083.18,T,083.18,M,5.94,N,,,D*6C\r\n$IIMWV,130,T,10.12,N,A*25\r\n$IIVWT,130,R,10.12,N,05.21,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115800,,,,00,*45\r\n$IIDBT,015.51,f,004.73,M,002.55,F*23\r\n$GPGLL,5958.672,N,02325.392,E,115800,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.08,N,05.19,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,-3.86,N,,*21\r\n$IIVTG,080.82,T,080.82,M,5.91,N,,,D*69\r\n$IIMWV,099,R,07.58,N,A*29\r\n$IIVWT,134,R,10.36,N,05.33,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115802,,,,00,*47\r\n$IIDBT,015.55,f,004.74,M,002.56,F*23\r\n$GPGLL,5958.673,N,02325.398,E,115802,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-4.00,N,,*28\r\n$IIVTG,080.18,T,080.18,M,5.90,N,,,D*68\r\n$IIMWV,130,T,09.91,N,A*26\r\n$IIVWT,130,R,09.91,N,05.10,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115804,,,,00,*41\r\n$IIDBT,015.55,f,004.74,M,002.56,F*23\r\n$GPGLL,5958.673,N,02325.404,E,115804,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.87,N,05.08,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,-3.60,N,,*29\r\n$IIVTG,081.19,T,081.19,M,5.95,N,,,D*6D\r\n$IIMWV,079,R,07.77,N,A*2A\r\n$IIVWT,120,R,08.82,N,04.54,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115806,,,,00,*43\r\n$IIDBT,015.61,f,004.76,M,002.57,F*27\r\n$GPGLL,5958.674,N,02325.411,E,115806,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.98,N,04.62,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-3.32,N,,*2E\r\n$IIVTG,078.05,T,078.05,M,5.96,N,,,D*6E\r\n$IIMWV,121,T,09.34,N,A*29\r\n$IIVWT,121,R,09.34,N,04.81,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115808,,,,00,*4D\r\n$IIDBT,015.61,f,004.76,M,002.57,F*27\r\n$GPGLL,5958.675,N,02325.417,E,115808,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-3.81,N,,*26\r\n$IIVTG,078.19,T,078.19,M,5.92,N,,,D*6A\r\n$IIMWV,080,R,08.16,N,A*24\r\n$IIVWT,119,R,09.17,N,04.72,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115810,,,,00,*44\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.675,N,02325.424,E,115810,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,079.97,T,079.97,M,5.90,N,,,D*68\r\n$IIMWV,117,T,10.03,N,A*20\r\n$IIVWT,117,R,10.03,N,05.16,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115812,,,,00,*46\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.676,N,02325.430,E,115812,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-3.27,N,,*2A\r\n$IIVTG,083.39,T,083.39,M,5.95,N,,,D*6D\r\n$IIMWV,094,R,08.16,N,A*21\r\n$IIVWT,130,R,10.55,N,05.43,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115814,,,,00,*40\r\n$IIDBT,015.71,f,004.79,M,002.58,F*26\r\n$GPGLL,5958.676,N,02325.437,E,115814,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,082.57,T,082.57,M,5.99,N,,,D*61\r\n$IIMWV,128,T,09.64,N,A*25\r\n$IIVWT,128,R,09.64,N,04.96,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115816,,,,00,*42\r\n$IIDBT,015.81,f,004.82,M,002.60,F*26\r\n$GPGLL,5958.677,N,02325.443,E,115817,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.08,N,05.19,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.19,N,,*27\r\n$IIVTG,079.42,T,079.42,M,5.95,N,,,D*6D\r\n$IIMWV,080,R,08.16,N,A*24\r\n$IIVWT,122,R,09.40,N,04.84,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115818,,,,00,*4C\r\n$IIDBT,015.87,f,004.84,M,002.61,F*27\r\n$GPGLL,5958.677,N,02325.450,E,115819,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-3.26,N,,*2B\r\n$IIVTG,076.13,T,076.13,M,5.96,N,,,D*6E\r\n$IIMWV,126,T,10.49,N,A*2C\r\n$IIVWT,126,R,10.49,N,05.40,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115820,,,,00,*47\r\n$IIDBT,016.01,f,004.88,M,002.63,F*24\r\n$GPGLL,5958.678,N,02325.456,E,115821,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.18,N,05.24,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,-3.37,N,,*2B\r\n$IIVTG,077.71,T,077.71,M,5.97,N,,,D*6F\r\n$IIMWV,090,R,08.55,N,A*22\r\n$IIVWT,125,R,10.45,N,05.38,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115822,,,,00,*45\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.679,N,02325.463,E,115823,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.89,N,05.09,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-3.00,N,,*2F\r\n$IIVTG,079.00,T,079.00,M,5.92,N,,,D*6A\r\n$IIMWV,117,T,10.08,N,A*2B\r\n$IIVWT,117,R,10.08,N,05.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115824,,,,00,*43\r\n$IIDBT,016.07,f,004.90,M,002.64,F*2C\r\n$GPGLL,5958.679,N,02325.469,E,115825,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.19,N,,*27\r\n$IIVTG,081.35,T,081.35,M,5.98,N,,,D*60\r\n$IIMWV,085,R,09.13,N,A*25\r\n$IIVWT,121,R,10.57,N,05.44,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115826,,,,00,*41\r\n$IIDBT,016.20,f,004.94,M,002.67,F*2E\r\n$GPGLL,5958.680,N,02325.479,E,115827,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.96,N,05.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,082.76,T,082.76,M,5.99,N,,,D*61\r\n$IIMWV,121,T,11.09,N,A*2E\r\n$IIVWT,121,R,11.09,N,05.71,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115829,,,,00,*4E\r\n$IIDBT,016.23,f,004.95,M,002.67,F*2C\r\n$GPGLL,5958.680,N,02325.485,E,115829,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.61,N,05.46,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.53,N,,*29\r\n$IIVTG,078.75,T,078.75,M,5.92,N,,,D*6A\r\n$IIMWV,092,R,08.74,N,A*23\r\n$IIVWT,127,R,10.86,N,05.59,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115831,,,,00,*47\r\n$IIDBT,016.30,f,004.97,M,002.68,F*23\r\n$GPGLL,5958.681,N,02325.492,E,115831,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.00,N,05.66,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.57,N,,*2D\r\n$IIVTG,078.36,T,078.36,M,5.96,N,,,D*6E\r\n$IIMWV,125,T,10.65,N,A*21\r\n$IIVWT,125,R,10.65,N,05.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115833,,,,00,*45\r\n$IIDBT,016.30,f,004.97,M,002.68,F*23\r\n$GPGLL,5958.682,N,02325.498,E,115833,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.90,N,05.61,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.54,N,,*2E\r\n$IIVTG,077.17,T,077.17,M,5.99,N,,,D*61\r\n$IIMWV,083,R,08.55,N,A*20\r\n$IIVWT,122,R,09.93,N,05.11,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115835,,,,00,*43\r\n$IIDBT,016.40,f,005.00,M,002.70,F*22\r\n$GPGLL,5958.682,N,02325.505,E,115835,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.95,N,05.12,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,076.37,T,076.37,M,5.92,N,,,D*6A\r\n$IIMWV,119,T,09.81,N,A*2C\r\n$IIVWT,119,R,09.81,N,05.05,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115837,,,,00,*41\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.683,N,02325.511,E,115837,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.66,N,04.97,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-2.99,N,,*2E\r\n$IIVTG,078.51,T,078.51,M,5.91,N,,,D*69\r\n$IIMWV,082,R,08.55,N,A*21\r\n$IIVWT,121,R,09.81,N,05.05,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115839,,,,00,*4F\r\n$IIDBT,016.14,f,004.92,M,002.65,F*2D\r\n$GPGLL,5958.684,N,02325.517,E,115839,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-3.21,N,,*2C\r\n$IIVTG,079.61,T,079.61,M,5.98,N,,,D*60\r\n$IIMWV,120,T,10.47,N,A*24\r\n$IIVWT,120,R,10.47,N,05.39,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115841,,,,00,*40\r\n$IIDBT,016.66,f,005.08,M,002.74,F*2A\r\n$GPGLL,5958.684,N,02325.524,E,115841,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,077.80,T,077.80,M,5.99,N,,,D*61\r\n$IIMWV,087,R,09.13,N,A*27\r\n$IIVWT,122,R,10.71,N,05.51,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115843,,,,00,*42\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5958.685,N,02325.530,E,115843,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.98,N,05.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-3.16,N,,*28\r\n$IIVTG,078.25,T,078.25,M,5.95,N,,,D*6D\r\n$IIMWV,126,T,11.23,N,A*21\r\n$IIVWT,126,R,11.23,N,05.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115845,,,,00,*44\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.686,N,02325.537,E,115845,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-3.30,N,,*2C\r\n$IIVTG,078.77,T,078.77,M,5.94,N,,,D*6C\r\n$IIMWV,089,R,09.13,N,A*29\r\n$IIVWT,124,R,10.92,N,05.62,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115847,,,,00,*46\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.686,N,02325.543,E,115847,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.43,N,05.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,-3.01,N,,*2E\r\n$IIVTG,079.16,T,079.16,M,5.93,N,,,D*6B\r\n$IIMWV,122,T,10.24,N,A*23\r\n$IIVWT,122,R,10.24,N,05.27,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115849,,,,00,*48\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.687,N,02325.550,E,115849,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.63,N,05.47,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-2.98,N,,*2F\r\n$IIVTG,077.51,T,077.51,M,5.91,N,,,D*69\r\n$IIMWV,085,R,10.49,N,A*22\r\n$IIVWT,117,R,11.66,N,06.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115851,,,,00,*41\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.688,N,02325.556,E,115851,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.68,N,06.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,-2.96,N,,*21\r\n$IIVTG,080.00,T,080.00,M,5.90,N,,,D*68\r\n$IIMWV,119,T,11.50,N,A*29\r\n$IIVWT,119,R,11.50,N,05.92,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115853,,,,00,*43\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.688,N,02325.562,E,115853,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.97,N,06.16,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,080.60,T,080.60,M,5.90,N,,,D*68\r\n$IIMWV,085,R,10.88,N,A*2F\r\n$IIVWT,116,R,12.01,N,06.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115855,,,,00,*45\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.689,N,02325.569,E,115855,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.60,N,05.97,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,080.93,T,080.93,M,5.90,N,,,D*68\r\n$IIMWV,115,T,12.20,N,A*21\r\n$IIVWT,115,R,12.20,N,06.28,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115857,,,,00,*47\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.689,N,02325.575,E,115857,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.39,N,05.86,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,-2.80,N,,*26\r\n$IIVTG,080.28,T,080.28,M,5.90,N,,,D*68\r\n$IIMWV,084,R,09.71,N,A*20\r\n$IIVWT,117,R,10.86,N,05.59,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115859,,,,00,*49\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.690,N,02325.582,E,115900,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.23,N,05.78,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-2.48,N,,*22\r\n$IIVTG,078.60,T,078.60,M,5.88,N,,,D*61\r\n$IIMWV,113,T,11.64,N,A*24\r\n$IIVWT,113,R,11.64,N,05.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115901,,,,00,*45\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.690,N,02325.588,E,115902,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.99,N,06.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-2.20,N,,*2C\r\n$IIVTG,081.50,T,081.50,M,5.89,N,,,D*60\r\n$IIMWV,081,R,10.88,N,A*2B\r\n$IIVWT,113,R,11.62,N,05.98,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115903,,,,00,*47\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.691,N,02325.595,E,115904,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.05,N,06.20,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,082.60,T,082.60,M,5.90,N,,,D*68\r\n$IIMWV,112,T,11.52,N,A*20\r\n$IIVWT,112,R,11.52,N,05.93,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115905,,,,00,*41\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.691,N,02325.601,E,115906,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.37,N,05.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,082.65,T,082.65,M,5.90,N,,,D*68\r\n$IIMWV,084,R,10.49,N,A*23\r\n$IIVWT,115,R,11.52,N,05.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115907,,,,00,*43\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.692,N,02325.608,E,115908,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.00,N,05.66,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-2.71,N,,*28\r\n$IIVTG,081.84,T,081.84,M,5.90,N,,,D*68\r\n$IIMWV,117,T,11.68,N,A*2C\r\n$IIVWT,117,R,11.68,N,06.01,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115910,,,,00,*45\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.692,N,02325.617,E,115910,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.07,N,11.24,K*52\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,081.38,T,081.38,M,5.97,N,,,D*6F\r\n$IIMWV,087,R,10.10,N,A*2C\r\n$IIVWT,119,R,11.44,N,05.89,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115912,,,,00,*47\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.693,N,02325.624,E,115912,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.48,N,05.91,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,080.11,T,080.11,M,5.91,N,,,D*69\r\n$IIMWV,114,T,11.85,N,A*2C\r\n$IIVWT,114,R,11.85,N,06.10,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115914,,,,00,*41\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.693,N,02325.630,E,115914,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.68,N,06.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.06,N,11.22,K*55\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,080.25,T,080.25,M,5.95,N,,,D*6D\r\n$IIMWV,083,R,10.49,N,A*24\r\n$IIVWT,115,R,11.44,N,05.89,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115916,,,,00,*43\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.694,N,02325.637,E,115916,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.95,N,06.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.05,N,11.20,K*54\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,080.51,T,080.51,M,5.99,N,,,D*61\r\n$IIMWV,115,T,11.52,N,A*27\r\n$IIVWT,115,R,11.52,N,05.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115918,,,,00,*4D\r\n$IIDBT,016.27,f,004.96,M,002.68,F*24\r\n$GPGLL,5958.694,N,02325.643,E,115918,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.98,N,05.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,-2.83,N,,*25\r\n$IIVTG,079.81,T,079.81,M,5.95,N,,,D*6D\r\n$IIMWV,081,R,10.10,N,A*2A\r\n$IIVWT,114,R,10.92,N,05.62,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115920,,,,00,*46\r\n$IIDBT,016.50,f,005.03,M,002.71,F*21\r\n$GPGLL,5958.695,N,02325.650,E,115920,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,-2.15,N,,*2A\r\n$IIVTG,079.65,T,079.65,M,5.91,N,,,D*69\r\n$IIMWV,111,T,11.68,N,A*2A\r\n$IIVWT,111,R,11.68,N,06.01,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115922,,,,00,*44\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.696,N,02325.656,E,115922,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.51,N,06.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,083.84,T,083.84,M,5.85,N,,,D*6C\r\n$IIMWV,082,R,11.07,N,A*2E\r\n$IIVWT,112,R,11.79,N,06.07,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115924,,,,00,*42\r\n$IIDBT,016.76,f,005.11,M,002.76,F*21\r\n$GPGLL,5958.696,N,02325.663,E,115924,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.64,N,05.99,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,-2.17,N,,*28\r\n$IIVTG,087.98,T,087.98,M,5.89,N,,,D*60\r\n$IIMWV,115,T,12.09,N,A*2A\r\n$IIVWT,115,R,12.09,N,06.22,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115926,,,,00,*40\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5958.696,N,02325.669,E,115926,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,-2.09,N,,*27\r\n$IIVTG,088.57,T,088.57,M,5.80,N,,,D*69\r\n$IIMWV,078,R,09.71,N,A*23\r\n$IIVWT,110,R,10.08,N,05.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115928,,,,00,*4E\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.696,N,02325.675,E,115928,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.31,N,05.82,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.80,N,10.74,K*5A\r\n$IIVPW,-2.07,N,,*29\r\n$IIVTG,090.77,T,090.77,M,5.52,N,,,D*66\r\n$IIMWV,111,T,10.28,N,A*2F\r\n$IIVWT,111,R,10.28,N,05.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115930,,,,00,*47\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5958.696,N,02325.681,E,115930,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.55,N,10.27,K*54\r\n$IIVPW,-2.03,N,,*2D\r\n$IIVTG,089.42,T,089.42,M,5.28,N,,,D*6B\r\n$IIMWV,082,R,10.88,N,A*28\r\n$IIVWT,108,R,11.29,N,05.81,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115932,,,,00,*45\r\n$IIDBT,017.12,f,005.22,M,002.82,F*29\r\n$GPGLL,5958.696,N,02325.687,E,115932,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.32,N,09.85,K*55\r\n$IIVPW,-1.98,N,,*2C\r\n$IIVTG,088.30,T,088.30,M,4.97,N,,,D*6E\r\n$IIMWV,111,T,11.21,N,A*27\r\n$IIVWT,111,R,11.21,N,05.77,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115934,,,,00,*43\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.696,N,02325.692,E,115934,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.94,N,05.63,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.12,N,09.48,K*56\r\n$IIVPW,-1.68,N,,*23\r\n$IIVTG,088.45,T,088.45,M,4.67,N,,,D*61\r\n$IIMWV,089,R,11.85,N,A*2F\r\n$IIVWT,111,R,12.67,N,06.52,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115936,,,,00,*41\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.696,N,02325.697,E,115936,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.51,N,06.44,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.95,N,09.16,K*53\r\n$IIVPW,-1.71,N,,*2B\r\n$IIVTG,090.24,T,090.24,M,4.49,N,,,D*6D\r\n$IIMWV,108,T,11.95,N,A*20\r\n$IIVWT,108,R,11.95,N,06.15,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115938,,,,00,*4F\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5958.696,N,02325.702,E,115938,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.11,N,05.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.81,N,08.90,K*59\r\n$IIVPW,-1.33,N,,*2D\r\n$IIVTG,090.46,T,090.46,M,4.37,N,,,D*64\r\n$IIMWV,085,R,11.46,N,A*2C\r\n$IIVWT,108,R,11.95,N,06.15,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115940,,,,00,*40\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5958.696,N,02325.707,E,115940,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.50,N,05.92,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.67,N,08.64,K*5A\r\n$IIVPW,-1.42,N,,*2B\r\n$IIVTG,090.84,T,090.84,M,4.24,N,,,D*66\r\n$IIMWV,108,T,11.56,N,A*2F\r\n$IIVWT,108,R,11.56,N,05.95,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115942,,,,00,*42\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5958.696,N,02325.711,E,115943,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.26,N,06.31,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.53,N,08.38,K*54\r\n$IIVPW,-1.59,N,,*21\r\n$IIVTG,090.76,T,090.76,M,4.16,N,,,D*67\r\n$IIMWV,089,R,10.49,N,A*2E\r\n$IIVWT,110,R,11.15,N,05.74,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115944,,,,00,*44\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.696,N,02325.716,E,115945,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.07,N,05.70,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.31,N,07.98,K*55\r\n$IIVPW,-2.46,N,,*2C\r\n$IIVTG,092.91,T,092.91,M,3.99,N,,,D*67\r\n$IIMWV,117,T,09.73,N,A*2F\r\n$IIVWT,117,R,09.73,N,05.01,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115946,,,,00,*46\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5958.696,N,02325.720,E,115947,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.46,N,04.87,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.05,N,07.50,K*56\r\n$IIVPW,-0.27,N,,*29\r\n$IIVTG,093.13,T,093.13,M,3.75,N,,,D*65\r\n$IIMWV,087,R,09.13,N,A*27\r\n$IIVWT,109,R,09.62,N,04.95,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115948,,,,00,*48\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5958.696,N,02325.724,E,115949,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.18,N,04.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.82,N,07.07,K*5C\r\n$IIVPW,-1.35,N,,*2B\r\n$IIVTG,091.81,T,091.81,M,3.54,N,,,D*66\r\n$IIMWV,111,T,09.71,N,A*2B\r\n$IIVWT,111,R,09.71,N,05.00,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115950,,,,00,*41\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.696,N,02325.728,E,115951,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.46,N,05.90,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.59,N,06.64,K*5E\r\n$IIVPW,-0.85,N,,*21\r\n$IIVTG,088.55,T,088.55,M,3.31,N,,,D*65\r\n$IIMWV,088,R,11.07,N,A*24\r\n$IIVWT,104,R,11.39,N,05.86,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115953,,,,00,*42\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5958.696,N,02325.733,E,115953,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.42,N,05.88,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.37,N,06.24,K*52\r\n$IIVPW,-0.89,N,,*2D\r\n$IIVTG,087.21,T,087.21,M,3.05,N,,,D*62\r\n$IIMWV,087,T,10.90,N,A*22\r\n$IIVWT,087,R,10.90,N,05.61,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115955,,,,00,*44\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5958.696,N,02325.736,E,115955,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.55,N,05.43,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.20,N,05.92,K*5A\r\n$IIVPW,-0.50,N,,*29\r\n$IIVTG,089.37,T,089.37,M,2.94,N,,,D*6B\r\n$IIMWV,081,R,10.88,N,A*2B\r\n$IIVWT,096,R,10.76,N,05.54,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115957,,,,00,*46\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5958.696,N,02325.740,E,115957,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.52,N,05.93,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.05,N,05.64,K*54\r\n$IIVPW,-0.51,N,,*28\r\n$IIVTG,091.70,T,091.70,M,2.83,N,,,D*6D\r\n$IIMWV,095,T,11.29,N,A*22\r\n$IIVWT,095,R,11.29,N,05.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,115959,,,,00,*48\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5958.696,N,02325.743,E,115959,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.62,N,05.98,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.95,N,05.46,K*5C\r\n$IIVPW,-0.29,N,,*27\r\n$IIVTG,093.18,T,093.18,M,2.73,N,,,D*62\r\n$IIMWV,083,R,11.07,N,A*2F\r\n$IIVWT,097,R,11.06,N,05.69,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120001,,,,00,*4A\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5958.696,N,02325.746,E,120001,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.58,N,05.96,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.86,N,05.29,K*57\r\n$IIVPW,-0.39,N,,*26\r\n$IIVTG,094.74,T,094.74,M,2.66,N,,,D*66\r\n$IIMWV,096,T,11.39,N,A*20\r\n$IIVWT,096,R,11.39,N,05.86,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120003,,,,00,*48\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5958.695,N,02325.749,E,120003,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.89,N,06.12,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.79,N,05.16,K*5B\r\n$IIVPW,-0.59,N,,*20\r\n$IIVTG,096.41,T,096.41,M,2.61,N,,,D*61\r\n$IIMWV,085,R,11.85,N,A*23\r\n$IIVWT,098,R,11.89,N,06.12,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120005,,,,00,*4E\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.695,N,02325.751,E,120005,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.27,N,05.80,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.72,N,05.03,K*54\r\n$IIVPW,-0.27,N,,*29\r\n$IIVTG,096.48,T,096.48,M,2.60,N,,,D*60\r\n$IIMWV,093,T,10.30,N,A*2D\r\n$IIVWT,093,R,10.30,N,05.30,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120007,,,,00,*4C\r\n$IIDBT,018.20,f,005.55,M,002.99,F*2D\r\n$GPGLL,5958.695,N,02325.754,E,120007,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.70,N,05.00,K*55\r\n$IIVPW,-0.97,N,,*22\r\n$IIVTG,095.65,T,095.65,M,2.53,N,,,D*60\r\n$IIMWV,097,R,09.52,N,A*23\r\n$IIVWT,113,R,10.20,N,05.25,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120009,,,,00,*42\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5958.695,N,02325.757,E,120009,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.84,N,05.58,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.74,N,05.07,K*56\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,094.51,T,094.51,M,2.63,N,,,D*63\r\n$IIMWV,098,T,10.86,N,A*2B\r\n$IIVWT,098,R,10.86,N,05.59,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120011,,,,00,*4B\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.695,N,02325.760,E,120011,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.58,N,05.96,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.85,N,05.27,K*5A\r\n$IIVPW,-0.55,N,,*2C\r\n$IIVTG,094.08,T,094.08,M,2.81,N,,,D*6F\r\n$IIMWV,083,R,11.07,N,A*2F\r\n$IIVWT,099,R,11.11,N,05.72,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120013,,,,00,*49\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.695,N,02325.763,E,120013,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.19,N,05.76,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.99,N,05.53,K*54\r\n$IIVPW,-0.58,N,,*21\r\n$IIVTG,094.65,T,094.65,M,2.95,N,,,D*6A\r\n$IIMWV,102,T,11.64,N,A*24\r\n$IIVWT,102,R,11.64,N,05.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120015,,,,00,*4F\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.695,N,02325.767,E,120015,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.29,N,05.81,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.14,N,05.81,K*5F\r\n$IIVPW,-0.68,N,,*22\r\n$IIVTG,094.74,T,094.74,M,3.06,N,,,D*61\r\n$IIMWV,084,R,11.07,N,A*28\r\n$IIVWT,102,R,11.23,N,05.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120017,,,,00,*4D\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.694,N,02325.770,E,120017,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.71,N,05.51,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.29,N,06.09,K*52\r\n$IIVPW,-0.31,N,,*2E\r\n$IIVTG,094.48,T,094.48,M,3.17,N,,,D*61\r\n$IIMWV,106,T,10.45,N,A*22\r\n$IIVWT,106,R,10.45,N,05.38,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120019,,,,00,*43\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5958.694,N,02325.774,E,120019,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.78,N,05.55,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.38,N,06.25,K*5C\r\n$IIVPW,-0.70,N,,*2B\r\n$IIVTG,095.37,T,095.37,M,3.24,N,,,D*61\r\n$IIMWV,082,R,11.46,N,A*2B\r\n$IIVWT,100,R,11.48,N,05.91,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120021,,,,00,*48\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.694,N,02325.777,E,120021,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.47,N,06.42,K*55\r\n$IIVPW,-0.82,N,,*26\r\n$IIVTG,096.29,T,096.29,M,3.29,N,,,D*6C\r\n$IIMWV,100,T,12.09,N,A*2E\r\n$IIVWT,100,R,12.09,N,06.22,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120023,,,,00,*4A\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.694,N,02325.781,E,120024,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.34,N,06.35,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.56,N,06.59,K*5F\r\n$IIVPW,-0.52,N,,*2B\r\n$IIVTG,097.32,T,097.32,M,3.30,N,,,D*64\r\n$IIMWV,082,R,12.44,N,A*2A\r\n$IIVWT,099,R,12.44,N,06.40,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120025,,,,00,*4C\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.694,N,02325.785,E,120026,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.01,N,06.18,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,-0.52,N,,*2B\r\n$IIVTG,099.58,T,099.58,M,3.30,N,,,D*64\r\n$IIMWV,100,T,11.89,N,A*25\r\n$IIVWT,100,R,11.89,N,06.12,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120027,,,,00,*4E\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.693,N,02325.788,E,120028,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.70,N,06.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.68,N,06.81,K*57\r\n$IIVPW,-0.46,N,,*2E\r\n$IIVTG,102.60,T,102.60,M,3.35,N,,,D*61\r\n$IIMWV,079,R,12.82,N,A*24\r\n$IIVWT,096,R,12.63,N,06.50,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120029,,,,00,*40\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.693,N,02325.792,E,120030,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.70,N,06.85,K*5A\r\n$IIVPW,-0.16,N,,*2B\r\n$IIVTG,104.82,T,104.82,M,3.39,N,,,D*6D\r\n$IIMWV,093,T,12.01,N,A*2D\r\n$IIVWT,093,R,12.01,N,06.18,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120031,,,,00,*49\r\n$IIDBT,016.40,f,005.00,M,002.70,F*22\r\n$GPGLL,5958.692,N,02325.796,E,120032,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.93,N,06.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,0.05,N,,*04\r\n$IIVTG,106.43,T,106.43,M,3.40,N,,,D*63\r\n$IIMWV,073,R,12.82,N,A*2E\r\n$IIVWT,089,R,12.28,N,06.32,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120033,,,,00,*4B\r\n$IIDBT,016.30,f,004.97,M,002.68,F*23\r\n$GPGLL,5958.691,N,02325.799,E,120034,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.46,N,06.41,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.66,N,06.77,K*50\r\n$IIVPW,-0.09,N,,*25\r\n$IIVTG,107.38,T,107.38,M,3.32,N,,,D*66\r\n$IIMWV,088,T,12.80,N,A*2E\r\n$IIVWT,088,R,12.80,N,06.59,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120036,,,,00,*4E\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.691,N,02325.804,E,120036,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.84,N,06.61,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.54,N,06.55,K*51\r\n$IIVPW,-0.19,N,,*24\r\n$IIVTG,110.24,T,110.24,M,3.00,N,,,D*67\r\n$IIMWV,079,R,13.21,N,A*2C\r\n$IIVWT,094,R,13.00,N,06.69,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120038,,,,00,*40\r\n$IIDBT,015.81,f,004.82,M,002.60,F*26\r\n$GPGLL,5958.690,N,02325.807,E,120038,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.90,N,06.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.40,N,06.29,K*5F\r\n$IIVPW,-0.06,N,,*2A\r\n$IIVTG,109.68,T,109.68,M,2.88,N,,,D*66\r\n$IIMWV,090,T,13.02,N,A*2C\r\n$IIVWT,090,R,13.02,N,06.70,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120040,,,,00,*4F\r\n$IIDBT,015.74,f,004.80,M,002.59,F*24\r\n$GPGLL,5958.690,N,02325.810,E,120040,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.94,N,06.66,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.26,N,06.03,K*57\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,109.55,T,109.55,M,2.69,N,,,D*69\r\n$IIMWV,075,R,13.21,N,A*20\r\n$IIVWT,088,R,12.73,N,06.55,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120042,,,,00,*4D\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.689,N,02325.812,E,120042,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.79,N,06.07,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.13,N,05.79,K*5F\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,110.69,T,110.69,M,2.62,N,,,D*62\r\n$IIMWV,084,T,12.16,N,A*2D\r\n$IIVWT,084,R,12.16,N,06.26,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120044,,,,00,*4B\r\n$IIDBT,015.35,f,004.68,M,002.52,F*2C\r\n$GPGLL,5958.689,N,02325.815,E,120044,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.77,N,06.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.01,N,05.57,K*50\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,112.12,T,112.12,M,2.53,N,,,D*60\r\n$IIMWV,068,R,12.82,N,A*24\r\n$IIVWT,079,R,12.05,N,06.20,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120046,,,,00,*49\r\n$IIDBT,015.02,f,004.58,M,002.47,F*2F\r\n$GPGLL,5958.688,N,02325.818,E,120046,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.18,N,06.27,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.89,N,05.35,K*55\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,112.96,T,112.96,M,2.46,N,,,D*64\r\n$IIMWV,086,T,12.69,N,A*27\r\n$IIVWT,086,R,12.69,N,06.53,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120048,,,,00,*47\r\n$IIDBT,014.82,f,004.52,M,002.44,F*2F\r\n$GPGLL,5958.687,N,02325.820,E,120048,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.76,N,06.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.78,N,05.14,K*58\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,115.81,T,115.81,M,2.34,N,,,D*61\r\n$IIMWV,064,R,12.44,N,A*22\r\n$IIVWT,076,R,11.50,N,05.92,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120050,,,,00,*4E\r\n$IIDBT,014.69,f,004.48,M,002.42,F*27\r\n$GPGLL,5958.687,N,02325.822,E,120050,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.70,N,05.00,K*55\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,118.43,T,118.43,M,2.23,N,,,D*67\r\n$IIMWV,069,T,09.85,N,A*2E\r\n$IIVWT,069,R,09.85,N,05.07,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120052,,,,00,*4C\r\n$IIDBT,014.56,f,004.44,M,002.39,F*2B\r\n$GPGLL,5958.686,N,02325.824,E,120052,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.63,N,04.87,K*59\r\n$IIVPW,0.12,N,,*02\r\n$IIVTG,120.11,T,120.11,M,2.21,N,,,D*65\r\n$IIMWV,065,R,10.88,N,A*21\r\n$IIVWT,078,R,10.04,N,05.17,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120054,,,,00,*4A\r\n$IIDBT,014.43,f,004.40,M,002.37,F*25\r\n$GPGLL,5958.685,N,02325.826,E,120054,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.58,N,04.77,K*5E\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,121.67,T,121.67,M,2.18,N,,,D*6F\r\n$IIMWV,068,T,11.64,N,A*29\r\n$IIVWT,068,R,11.64,N,05.99,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120056,,,,00,*48\r\n$IIDBT,014.33,f,004.37,M,002.36,F*23\r\n$GPGLL,5958.685,N,02325.828,E,120056,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.53,N,05.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.53,N,04.68,K*5B\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,124.34,T,124.34,M,2.19,N,,,D*6E\r\n$IIMWV,049,R,11.07,N,A*29\r\n$IIVWT,060,R,09.64,N,04.96,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120058,,,,00,*46\r\n$IIDBT,014.10,f,004.30,M,002.32,F*21\r\n$GPGLL,5958.684,N,02325.830,E,120058,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.50,N,04.63,K*53\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,127.58,T,127.58,M,2.12,N,,,D*65\r\n$IIMWV,065,T,08.82,N,A*24\r\n$IIVWT,065,R,08.82,N,04.54,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120100,,,,00,*4A\r\n$IIDBT,013.97,f,004.26,M,002.30,F*2C\r\n$GPGLL,5958.683,N,02325.832,E,120100,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.01,N,04.64,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.46,N,04.55,K*51\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,130.90,T,130.90,M,2.11,N,,,D*66\r\n$IIMWV,040,R,09.71,N,A*28\r\n$IIVWT,051,R,07.98,N,04.11,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120102,,,,00,*48\r\n$IIDBT,013.87,f,004.23,M,002.28,F*21\r\n$GPGLL,5958.682,N,02325.833,E,120102,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.03,N,04.65,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.43,N,04.50,K*51\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,133.45,T,133.45,M,2.10,N,,,D*67\r\n$IIMWV,055,T,09.87,N,A*23\r\n$IIVWT,055,R,09.87,N,05.08,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120104,,,,00,*4E\r\n$IIDBT,013.87,f,004.23,M,002.28,F*21\r\n$GPGLL,5958.681,N,02325.835,E,120104,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.65,N,05.48,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.43,N,04.50,K*51\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,135.96,T,135.96,M,2.10,N,,,D*67\r\n$IIMWV,054,R,10.88,N,A*23\r\n$IIVWT,065,R,09.66,N,04.97,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120106,,,,00,*4C\r\n$IIDBT,013.81,f,004.21,M,002.27,F*2A\r\n$GPGLL,5958.681,N,02325.836,E,120107,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.40,N,04.44,K*57\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,138.69,T,138.69,M,2.10,N,,,D*67\r\n$IIMWV,035,T,07.52,N,A*23\r\n$IIVWT,035,R,07.52,N,03.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120108,,,,00,*42\r\n$IIDBT,013.64,f,004.16,M,002.24,F*26\r\n$GPGLL,5958.680,N,02325.838,E,120109,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,141.52,T,141.52,M,2.10,N,,,D*67\r\n$IIMWV,043,R,09.13,N,A*2F\r\n$IIVWT,056,R,07.54,N,03.88,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120110,,,,00,*4B\r\n$IIDBT,013.45,f,004.10,M,002.21,F*26\r\n$GPGLL,5958.679,N,02325.839,E,120111,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.39,N,04.42,K*5F\r\n$IIVPW,-0.23,N,,*2D\r\n$IIVTG,144.40,T,144.40,M,2.10,N,,,D*67\r\n$IIMWV,086,T,05.79,N,A*20\r\n$IIVWT,086,R,05.79,N,02.98,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120112,,,,00,*49\r\n$IIDBT,013.31,f,004.06,M,002.19,F*29\r\n$GPGLL,5958.678,N,02325.840,E,120113,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.37,N,04.38,K*5C\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,145.68,T,145.68,M,2.10,N,,,D*67\r\n$IIMWV,048,R,09.13,N,A*24\r\n$IIVWT,062,R,07.71,N,03.97,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120114,,,,00,*4F\r\n$IIDBT,013.22,f,004.03,M,002.17,F*20\r\n$GPGLL,5958.677,N,02325.841,E,120115,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.74,N,04.50,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.35,N,04.35,K*53\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,146.39,T,146.39,M,2.13,N,,,D*64\r\n$IIMWV,064,T,08.86,N,A*21\r\n$IIVWT,064,R,08.86,N,04.56,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120116,,,,00,*4D\r\n$IIDBT,013.05,f,003.98,M,002.15,F*22\r\n$GPGLL,5958.676,N,02325.843,E,120117,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.61,N,05.46,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.33,N,04.31,K*51\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,146.80,T,146.80,M,2.18,N,,,D*6F\r\n$IIMWV,064,R,12.05,N,A*27\r\n$IIVWT,075,R,11.17,N,05.75,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120119,,,,00,*42\r\n$IIDBT,012.99,f,003.96,M,002.14,F*29\r\n$GPGLL,5958.674,N,02325.845,E,120119,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.38,N,05.34,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.31,N,04.27,K*54\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,145.01,T,145.01,M,2.11,N,,,D*66\r\n$IIMWV,065,T,10.65,N,A*24\r\n$IIVWT,065,R,10.65,N,05.48,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120121,,,,00,*49\r\n$IIDBT,012.82,f,003.91,M,002.11,F*21\r\n$GPGLL,5958.673,N,02325.846,E,120121,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.31,N,04.27,K*54\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,143.88,T,143.88,M,2.08,N,,,D*6E\r\n$IIMWV,044,R,08.74,N,A*28\r\n$IIVWT,056,R,07.26,N,03.74,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120123,,,,00,*4B\r\n$IIDBT,012.72,f,003.88,M,002.09,F*2F\r\n$GPGLL,5958.673,N,02325.847,E,120123,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.26,N,04.18,K*5E\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,143.70,T,143.70,M,2.07,N,,,D*61\r\n$IIMWV,044,T,10.26,N,A*20\r\n$IIVWT,044,R,10.26,N,05.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120125,,,,00,*4D\r\n$IIDBT,012.56,f,003.83,M,002.07,F*2C\r\n$GPGLL,5958.672,N,02325.848,E,120125,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.97,N,05.13,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.25,N,04.16,K*53\r\n$IIVPW,-0.18,N,,*25\r\n$IIVTG,143.22,T,143.22,M,2.09,N,,,D*6F\r\n$IIMWV,051,R,11.07,N,A*20\r\n$IIVWT,061,R,09.79,N,05.04,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120127,,,,00,*4F\r\n$IIDBT,012.49,f,003.81,M,002.05,F*22\r\n$GPGLL,5958.671,N,02325.849,E,120127,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.22,N,04.11,K*53\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,142.26,T,142.26,M,2.07,N,,,D*61\r\n$IIMWV,053,T,09.99,N,A*2A\r\n$IIVWT,053,R,09.99,N,05.14,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120129,,,,00,*41\r\n$IIDBT,012.40,f,003.78,M,002.04,F*2C\r\n$GPGLL,5958.670,N,02325.850,E,120129,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.20,N,04.07,K*56\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,142.26,T,142.26,M,2.04,N,,,D*62\r\n$IIMWV,031,R,08.74,N,A*2A\r\n$IIVWT,041,R,06.95,N,03.58,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120131,,,,00,*48\r\n$IIDBT,012.30,f,003.75,M,002.02,F*20\r\n$GPGLL,5958.669,N,02325.852,E,120131,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,0.71,N,,*07\r\n$IIVTG,143.19,T,143.19,M,2.06,N,,,D*60\r\n$IIMWV,058,T,08.33,N,A*20\r\n$IIVWT,058,R,08.33,N,04.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120133,,,,00,*4A\r\n$IIDBT,012.17,f,003.71,M,002.00,F*23\r\n$GPGLL,5958.669,N,02325.853,E,120133,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,144.67,T,144.67,M,2.04,N,,,D*62\r\n$IIMWV,022,R,09.52,N,A*2D\r\n$IIVWT,028,R,07.58,N,03.90,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120135,,,,00,*4C\r\n$IIDBT,012.04,f,003.67,M,001.98,F*24\r\n$GPGLL,5958.668,N,02325.854,E,120135,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,146.49,T,146.49,M,2.09,N,,,D*6F\r\n$IIMWV,042,T,05.52,N,A*21\r\n$IIVWT,042,R,05.52,N,02.84,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120137,,,,00,*4E\r\n$IIDBT,011.87,f,003.62,M,001.95,F*24\r\n$GPGLL,5958.667,N,02325.855,E,120137,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,146.82,T,146.82,M,2.10,N,,,D*67\r\n$IIMWV,051,R,08.16,N,A*28\r\n$IIVWT,065,R,06.93,N,03.57,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120139,,,,00,*40\r\n$IIDBT,011.71,f,003.57,M,001.92,F*2C\r\n$GPGLL,5958.666,N,02325.856,E,120139,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,1.87,N,,*0F\r\n$IIVTG,148.61,T,148.61,M,2.10,N,,,D*67\r\n$IIMWV,039,T,05.34,N,A*2D\r\n$IIVWT,039,R,05.34,N,02.75,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120141,,,,00,*4F\r\n$IIDBT,011.61,f,003.54,M,001.91,F*2D\r\n$GPGLL,5958.665,N,02325.858,E,120141,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,150.68,T,150.68,M,2.10,N,,,D*67\r\n$IIMWV,032,R,07.19,N,A*2D\r\n$IIVWT,044,R,05.44,N,02.80,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120143,,,,00,*4D\r\n$IIDBT,011.48,f,003.50,M,001.89,F*2B\r\n$GPGLL,5958.664,N,02325.859,E,120143,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,151.94,T,151.94,M,2.10,N,,,D*67\r\n$IIMWV,089,T,05.32,N,A*20\r\n$IIVWT,089,R,05.32,N,02.74,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120145,,,,00,*4B\r\n$IIDBT,011.44,f,003.49,M,001.88,F*2E\r\n$GPGLL,5958.663,N,02325.860,E,120145,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.19,N,04.05,K*5E\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,152.86,T,152.86,M,2.12,N,,,D*65\r\n$IIMWV,053,R,07.19,N,A*2A\r\n$IIVWT,070,R,06.12,N,03.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120147,,,,00,*49\r\n$IIDBT,011.38,f,003.47,M,001.87,F*24\r\n$GPGLL,5958.661,N,02325.861,E,120147,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,152.44,T,152.44,M,2.11,N,,,D*66\r\n$IIMWV,063,T,07.54,N,A*26\r\n$IIVWT,063,R,07.54,N,03.88,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120149,,,,00,*47\r\n$IIDBT,010.56,f,003.22,M,001.74,F*22\r\n$GPGLL,5958.660,N,02325.862,E,120149,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,150.71,T,150.71,M,2.10,N,,,D*67\r\n$IIMWV,061,R,09.71,N,A*2B\r\n$IIVWT,073,R,08.84,N,04.55,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120151,,,,00,*4E\r\n$IIDBT,008.79,f,002.68,M,001.44,F*2A\r\n$GPGLL,5958.659,N,02325.864,E,120152,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.17,N,04.01,K*54\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,148.68,T,148.68,M,2.10,N,,,D*67\r\n$IIMWV,074,T,07.89,N,A*20\r\n$IIVWT,074,R,07.89,N,04.06,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120153,,,,00,*4C\r\n$IIDBT,007.57,f,002.31,M,001.24,F*23\r\n$GPGLL,5958.658,N,02325.865,E,120154,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,147.42,T,147.42,M,2.10,N,,,D*67\r\n$IIMWV,036,R,08.16,N,A*29\r\n$IIVWT,047,R,06.55,N,03.37,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120155,,,,00,*4A\r\n$IIDBT,007.28,f,002.22,M,001.19,F*27\r\n$GPGLL,5958.657,N,02325.866,E,120156,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,0.45,N,,*00\r\n$IIVTG,146.00,T,146.00,M,2.10,N,,,D*67\r\n$IIMWV,058,T,05.73,N,A*29\r\n$IIVWT,058,R,05.73,N,02.95,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120157,,,,00,*48\r\n$IIDBT,007.57,f,002.31,M,001.24,F*23\r\n$GPGLL,5958.657,N,02325.868,E,120158,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.18,N,04.03,K*59\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,143.48,T,143.48,M,2.10,N,,,D*67\r\n$IIMWV,061,R,06.22,N,A*22\r\n$IIVWT,080,R,05.48,N,02.82,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120159,,,,00,*46\r\n$IIDBT,007.64,f,002.33,M,001.25,F*20\r\n$GPGLL,5958.656,N,02325.869,E,120200,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.16,N,04.00,K*54\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,142.57,T,142.57,M,2.10,N,,,D*67\r\n$IIMWV,077,T,04.89,N,A*20\r\n$IIVWT,077,R,04.89,N,02.52,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120202,,,,00,*4B\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.654,N,02325.871,E,120202,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,143.23,T,143.23,M,2.10,N,,,D*67\r\n$IIMWV,046,R,08.55,N,A*29\r\n$IIVWT,059,R,07.19,N,03.70,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120204,,,,00,*4D\r\n$IIDBT,008.00,f,002.44,M,001.31,F*28\r\n$GPGLL,5958.653,N,02325.873,E,120204,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.97,N,03.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.15,N,03.98,K*51\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,144.53,T,144.53,M,2.10,N,,,D*67\r\n$IIMWV,061,T,06.22,N,A*24\r\n$IIVWT,061,R,06.22,N,03.20,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120206,,,,00,*4F\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.652,N,02325.874,E,120206,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.14,N,03.96,K*5E\r\n$IIVPW,1.08,N,,*08\r\n$IIVTG,146.48,T,146.48,M,2.10,N,,,D*67\r\n$IIMWV,049,R,07.19,N,A*21\r\n$IIVWT,064,R,05.98,N,03.08,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120208,,,,00,*41\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.651,N,02325.875,E,120208,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.12,N,03.92,K*5C\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,147.79,T,147.79,M,2.10,N,,,D*67\r\n$IIMWV,059,T,07.40,N,A*2A\r\n$IIVWT,059,R,07.40,N,03.81,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120210,,,,00,*48\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.650,N,02325.876,E,120210,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.13,N,03.94,K*5B\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,148.05,T,148.05,M,2.10,N,,,D*67\r\n$IIMWV,041,R,09.52,N,A*28\r\n$IIVWT,051,R,08.02,N,04.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120212,,,,00,*4A\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.649,N,02325.878,E,120212,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.68,N,04.47,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.12,N,03.92,K*5C\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,148.21,T,148.21,M,2.10,N,,,D*67\r\n$IIMWV,055,T,09.69,N,A*23\r\n$IIVWT,055,R,09.69,N,04.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120214,,,,00,*4C\r\n$IIDBT,007.90,f,002.41,M,001.30,F*2A\r\n$GPGLL,5958.648,N,02325.879,E,120214,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.03,N,05.16,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.10,N,03.88,K*55\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,148.65,T,148.65,M,2.10,N,,,D*67\r\n$IIMWV,041,R,11.07,N,A*21\r\n$IIVWT,049,R,09.62,N,04.95,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120216,,,,00,*4E\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.647,N,02325.880,E,120216,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.07,N,03.83,K*58\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,150.84,T,150.84,M,2.10,N,,,D*67\r\n$IIMWV,058,T,09.62,N,A*25\r\n$IIVWT,058,R,09.62,N,04.95,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120218,,,,00,*40\r\n$IIDBT,008.00,f,002.44,M,001.31,F*28\r\n$GPGLL,5958.646,N,02325.881,E,120218,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.44,N,05.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.06,N,03.81,K*5B\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,149.99,T,149.99,M,2.03,N,,,D*65\r\n$IIMWV,053,R,11.85,N,A*28\r\n$IIVWT,061,R,10.74,N,05.53,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120220,,,,00,*4B\r\n$IIDBT,008.07,f,002.46,M,001.32,F*2E\r\n$GPGLL,5958.645,N,02325.883,E,120220,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.99,N,03.68,K*59\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,147.72,T,147.72,M,2.01,N,,,D*67\r\n$IIMWV,055,T,08.90,N,A*24\r\n$IIVWT,055,R,08.90,N,04.58,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120222,,,,00,*49\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.644,N,02325.884,E,120222,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,0.71,N,,*07\r\n$IIVTG,145.83,T,145.83,M,1.95,N,,,D*69\r\n$IIMWV,053,R,11.85,N,A*28\r\n$IIVWT,060,R,10.82,N,05.57,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120224,,,,00,*4F\r\n$IIDBT,007.80,f,002.38,M,001.28,F*2C\r\n$GPGLL,5958.644,N,02325.885,E,120224,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.48,N,05.91,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.86,N,03.44,K*59\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,144.51,T,144.51,M,1.86,N,,,D*6B\r\n$IIMWV,070,T,12.11,N,A*21\r\n$IIVWT,070,R,12.11,N,06.23,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120226,,,,00,*4D\r\n$IIDBT,007.90,f,002.41,M,001.30,F*2A\r\n$GPGLL,5958.643,N,02325.886,E,120226,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,11.11,N,05.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.79,N,03.31,K*5B\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,143.10,T,143.10,M,1.82,N,,,D*6F\r\n$IIMWV,058,R,10.88,N,A*2F\r\n$IIVWT,066,R,10.01,N,05.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120228,,,,00,*43\r\n$IIDBT,007.70,f,002.35,M,001.27,F*21\r\n$GPGLL,5958.642,N,02325.887,E,120228,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.74,N,03.22,K*54\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,140.27,T,140.27,M,1.73,N,,,D*61\r\n$IIMWV,059,T,08.08,N,A*29\r\n$IIVWT,059,R,08.08,N,04.16,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120230,,,,00,*4A\r\n$IIDBT,007.34,f,002.24,M,001.21,F*27\r\n$GPGLL,5958.642,N,02325.889,E,120230,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.72,N,03.18,K*5B\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,138.67,T,138.67,M,1.68,N,,,D*6B\r\n$IIMWV,060,R,07.58,N,A*2F\r\n$IIVWT,073,R,06.86,N,03.53,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120232,,,,00,*48\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.641,N,02325.890,E,120233,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,137.97,T,137.97,M,1.67,N,,,D*64\r\n$IIMWV,065,T,05.42,N,A*25\r\n$IIVWT,065,R,05.42,N,02.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120234,,,,00,*4E\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.640,N,02325.891,E,120235,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.73,N,03.20,K*51\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,137.29,T,137.29,M,1.69,N,,,D*6A\r\n$IIMWV,038,R,06.41,N,A*2B\r\n$IIVWT,051,R,05.05,N,02.60,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120236,,,,00,*4C\r\n$IIDBT,008.07,f,002.46,M,001.32,F*2E\r\n$GPGLL,5958.639,N,02325.893,E,120237,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.78,N,03.29,K*53\r\n$IIVPW,0.46,N,,*03\r\n$IIVTG,137.25,T,137.25,M,1.75,N,,,D*67\r\n$IIMWV,081,T,06.64,N,A*28\r\n$IIVWT,081,R,06.64,N,03.42,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120238,,,,00,*42\r\n$IIDBT,007.90,f,002.41,M,001.30,F*2A\r\n$GPGLL,5958.639,N,02325.894,E,120239,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.81,N,03.35,K*58\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,138.14,T,138.14,M,1.79,N,,,D*6B\r\n$IIMWV,038,R,07.58,N,A*22\r\n$IIVWT,049,R,06.22,N,03.20,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120240,,,,00,*4D\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.638,N,02325.895,E,120241,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.84,N,03.40,K*5F\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,139.58,T,139.58,M,1.87,N,,,D*6A\r\n$IIMWV,067,T,08.80,N,A*24\r\n$IIVWT,067,R,08.80,N,04.53,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120242,,,,00,*4F\r\n$IIDBT,007.70,f,002.35,M,001.27,F*21\r\n$GPGLL,5958.637,N,02325.897,E,120243,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.87,N,03.46,K*5A\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,140.32,T,140.32,M,1.89,N,,,D*64\r\n$IIMWV,064,R,07.77,N,A*26\r\n$IIVWT,078,R,07.11,N,03.66,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120245,,,,00,*48\r\n$IIDBT,007.57,f,002.31,M,001.24,F*23\r\n$GPGLL,5958.636,N,02325.898,E,120245,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.90,N,03.51,K*5A\r\n$IIVPW,1.05,N,,*05\r\n$IIVTG,142.09,T,142.09,M,1.90,N,,,D*6C\r\n$IIMWV,052,T,07.17,N,A*23\r\n$IIVWT,052,R,07.17,N,03.69,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120247,,,,00,*4A\r\n$IIDBT,007.54,f,002.30,M,001.24,F*21\r\n$GPGLL,5958.635,N,02325.900,E,120247,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,142.42,T,142.42,M,1.90,N,,,D*6C\r\n$IIMWV,053,R,08.55,N,A*2D\r\n$IIVWT,065,R,07.48,N,03.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120249,,,,00,*44\r\n$IIDBT,007.61,f,002.32,M,001.25,F*24\r\n$GPGLL,5958.634,N,02325.901,E,120249,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.27,N,04.77,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.94,N,03.59,K*56\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,142.60,T,142.60,M,1.90,N,,,D*6C\r\n$IIMWV,054,T,09.77,N,A*2D\r\n$IIVWT,054,R,09.77,N,05.03,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120251,,,,00,*4D\r\n$IIDBT,007.64,f,002.33,M,001.25,F*20\r\n$GPGLL,5958.633,N,02325.902,E,120251,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,143.93,T,143.93,M,1.90,N,,,D*6C\r\n$IIMWV,047,R,10.88,N,A*21\r\n$IIVWT,055,R,09.69,N,04.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120253,,,,00,*4F\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.632,N,02325.903,E,120253,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.39,N,05.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.88,N,03.48,K*5B\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,146.48,T,146.48,M,1.85,N,,,D*68\r\n$IIMWV,049,T,09.81,N,A*28\r\n$IIVWT,049,R,09.81,N,05.05,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120255,,,,00,*49\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.631,N,02325.904,E,120255,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.99,N,05.14,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.82,N,03.37,K*59\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,147.50,T,147.50,M,1.76,N,,,D*64\r\n$IIMWV,057,R,10.88,N,A*20\r\n$IIVWT,065,R,10.04,N,05.17,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120257,,,,00,*4B\r\n$IIDBT,007.80,f,002.38,M,001.28,F*2C\r\n$GPGLL,5958.631,N,02325.905,E,120257,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.75,N,03.24,K*53\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,147.10,T,147.10,M,1.67,N,,,D*64\r\n$IIMWV,041,T,09.60,N,A*2F\r\n$IIVWT,041,R,09.60,N,04.94,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120259,,,,00,*45\r\n$IIDBT,007.80,f,002.38,M,001.28,F*2C\r\n$GPGLL,5958.630,N,02325.906,E,120259,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.82,N,05.57,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.68,N,03.11,K*59\r\n$IIVPW,1.08,N,,*08\r\n$IIVTG,146.90,T,146.90,M,1.62,N,,,D*61\r\n$IIMWV,049,R,11.07,N,A*29\r\n$IIVWT,056,R,10.12,N,05.21,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120301,,,,00,*49\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.629,N,02325.907,E,120301,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.91,N,05.10,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,146.90,T,146.90,M,1.53,N,,,D*63\r\n$IIMWV,056,T,09.60,N,A*29\r\n$IIVWT,056,R,09.60,N,04.94,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120303,,,,00,*4B\r\n$IIDBT,008.07,f,002.46,M,001.32,F*2E\r\n$GPGLL,5958.629,N,02325.908,E,120303,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.01,N,05.15,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,147.35,T,147.35,M,1.46,N,,,D*67\r\n$IIMWV,050,R,11.46,N,A*24\r\n$IIVWT,056,R,10.59,N,05.45,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120305,,,,00,*4D\r\n$IIDBT,008.30,f,002.53,M,001.36,F*2A\r\n$GPGLL,5958.628,N,02325.909,E,120305,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.57,N,05.44,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,148.21,T,148.21,M,1.41,N,,,D*60\r\n$IIMWV,046,T,10.34,N,A*21\r\n$IIVWT,046,R,10.34,N,05.32,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120307,,,,00,*4F\r\n$IIDBT,008.26,f,002.52,M,001.36,F*2C\r\n$GPGLL,5958.627,N,02325.910,E,120307,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.36,N,05.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.49,N,02.75,K*59\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,149.60,T,149.60,M,1.45,N,,,D*64\r\n$IIMWV,043,R,11.46,N,A*26\r\n$IIVWT,049,R,10.36,N,05.33,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120309,,,,00,*41\r\n$IIDBT,008.26,f,002.52,M,001.36,F*2C\r\n$GPGLL,5958.626,N,02325.911,E,120309,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.46,N,04.87,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.51,N,02.79,K*5C\r\n$IIVPW,0.85,N,,*0C\r\n$IIVTG,149.75,T,149.75,M,1.49,N,,,D*68\r\n$IIMWV,057,T,09.52,N,A*29\r\n$IIVWT,057,R,09.52,N,04.90,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120311,,,,00,*48\r\n$IIDBT,008.23,f,002.51,M,001.35,F*29\r\n$GPGLL,5958.626,N,02325.912,E,120311,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.54,N,02.85,K*5A\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,148.49,T,148.49,M,1.50,N,,,D*60\r\n$IIMWV,033,R,11.07,N,A*24\r\n$IIVWT,038,R,09.73,N,05.01,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120313,,,,00,*4A\r\n$IIDBT,008.30,f,002.53,M,001.36,F*2A\r\n$GPGLL,5958.625,N,02325.912,E,120313,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.75,N,05.02,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,147.87,T,147.87,M,1.57,N,,,D*67\r\n$IIMWV,042,T,09.60,N,A*2C\r\n$IIVWT,042,R,09.60,N,04.94,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120315,,,,00,*4C\r\n$IIDBT,008.39,f,002.56,M,001.38,F*28\r\n$GPGLL,5958.624,N,02325.913,E,120316,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.90,N,05.61,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,149.02,T,149.02,M,1.59,N,,,D*69\r\n$IIMWV,036,R,12.82,N,A*2F\r\n$IIVWT,041,R,11.52,N,05.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120317,,,,00,*4E\r\n$IIDBT,008.46,f,002.58,M,001.39,F*2F\r\n$GPGLL,5958.623,N,02325.914,E,120318,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.81,N,05.05,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,149.10,T,149.10,M,1.60,N,,,D*63\r\n$IIMWV,062,T,10.63,N,A*25\r\n$IIVWT,062,R,10.63,N,05.47,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120319,,,,00,*40\r\n$IIDBT,008.33,f,002.54,M,001.37,F*2F\r\n$GPGLL,5958.623,N,02325.915,E,120320,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.04,N,05.17,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.56,N,02.88,K*55\r\n$IIVPW,0.96,N,,*0E\r\n$IIVTG,149.30,T,149.30,M,1.60,N,,,D*63\r\n$IIMWV,038,R,10.10,N,A*28\r\n$IIVWT,044,R,08.90,N,04.58,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120321,,,,00,*4B\r\n$IIDBT,007.93,f,002.42,M,001.30,F*2A\r\n$GPGLL,5958.622,N,02325.916,E,120322,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.12,N,05.21,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.52,N,02.81,K*58\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,150.65,T,150.65,M,1.55,N,,,D*65\r\n$IIMWV,053,T,09.93,N,A*20\r\n$IIVWT,053,R,09.93,N,05.11,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120323,,,,00,*49\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.621,N,02325.917,E,120324,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.47,N,02.72,K*50\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,150.94,T,150.94,M,1.51,N,,,D*61\r\n$IIMWV,025,R,10.10,N,A*24\r\n$IIVWT,029,R,08.90,N,04.58,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120325,,,,00,*4F\r\n$IIDBT,007.44,f,002.27,M,001.22,F*20\r\n$GPGLL,5958.620,N,02325.918,E,120326,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.56,N,04.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,150.49,T,150.49,M,1.38,N,,,D*6E\r\n$IIMWV,035,T,08.98,N,A*2A\r\n$IIVWT,035,R,08.98,N,04.62,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120328,,,,00,*42\r\n$IIDBT,006.72,f,002.05,M,001.10,F*25\r\n$GPGLL,5958.620,N,02325.919,E,120328,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.64,N,04.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,150.70,T,150.70,M,1.31,N,,,D*67\r\n$IIMWV,044,R,10.88,N,A*22\r\n$IIVWT,048,R,09.99,N,05.14,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120330,,,,00,*4B\r\n$IIDBT,006.69,f,002.04,M,001.10,F*2E\r\n$GPGLL,5958.619,N,02325.919,E,120330,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.00,N,04.63,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.30,N,02.40,K*51\r\n$IIVPW,0.52,N,,*06\r\n$IIVTG,151.30,T,151.30,M,1.25,N,,,D*62\r\n$IIMWV,053,T,08.70,N,A*2C\r\n$IIVWT,053,R,08.70,N,04.48,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120332,,,,00,*49\r\n$IIDBT,006.65,f,002.03,M,001.09,F*2D\r\n$GPGLL,5958.618,N,02325.920,E,120332,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.32,N,05.31,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.23,N,02.27,K*52\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,150.35,T,150.35,M,1.21,N,,,D*66\r\n$IIMWV,042,R,12.05,N,A*23\r\n$IIVWT,046,R,11.21,N,05.77,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120334,,,,00,*4F\r\n$IIDBT,007.08,f,002.16,M,001.16,F*2D\r\n$GPGLL,5958.618,N,02325.921,E,120334,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,12.36,N,06.36,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.17,N,02.16,K*57\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,151.01,T,151.01,M,1.13,N,,,D*67\r\n$IIMWV,054,T,12.55,N,A*27\r\n$IIVWT,054,R,12.55,N,06.46,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120336,,,,00,*4D\r\n$IIDBT,007.21,f,002.20,M,001.18,F*2D\r\n$GPGLL,5958.617,N,02325.921,E,120336,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.69,N,05.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.12,N,02.07,K*52\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,151.15,T,151.15,M,1.11,N,,,D*65\r\n$IIMWV,056,R,11.46,N,A*22\r\n$IIVWT,061,R,10.88,N,05.60,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120338,,,,00,*43\r\n$IIDBT,007.05,f,002.15,M,001.16,F*23\r\n$GPGLL,5958.617,N,02325.922,E,120338,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.96,N,04.61,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.10,N,02.03,K*54\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,150.34,T,150.34,M,1.10,N,,,D*64\r\n$IIMWV,053,T,09.05,N,A*2F\r\n$IIVWT,053,R,09.05,N,04.66,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120340,,,,00,*4C\r\n$IIDBT,006.49,f,001.98,M,001.07,F*2C\r\n$GPGLL,5958.616,N,02325.922,E,120340,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.07,N,01.98,K*53\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,151.63,T,151.63,M,1.03,N,,,D*66\r\n$IIMWV,031,R,08.55,N,A*29\r\n$IIVWT,035,R,07.77,N,04.00,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120342,,,,00,*4E\r\n$IIDBT,006.10,f,001.86,M,001.00,F*28\r\n$GPGLL,5958.616,N,02325.923,E,120342,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.16,N,04.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.00,N,01.85,K*58\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,153.16,T,153.16,M,1.01,N,,,D*64\r\n$IIMWV,059,T,07.98,N,A*2F\r\n$IIVWT,059,R,07.98,N,04.11,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120344,,,,00,*48\r\n$IIDBT,005.67,f,001.73,M,000.93,F*2A\r\n$GPGLL,5958.615,N,02325.923,E,120344,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.98,N,01.81,K*5C\r\n$IIVPW,0.57,N,,*03\r\n$IIVTG,154.46,T,154.46,M,1.00,N,,,D*65\r\n$IIMWV,057,R,07.77,N,A*26\r\n$IIVWT,063,R,07.25,N,03.73,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120346,,,,00,*4A\r\n$IIDBT,005.87,f,001.79,M,000.96,F*2B\r\n$GPGLL,5958.615,N,02325.924,E,120346,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.66,N,04.46,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,155.29,T,155.29,M,1.00,N,,,D*65\r\n$IIMWV,085,T,09.00,N,A*21\r\n$IIVWT,085,R,09.00,N,04.63,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120348,,,,00,*44\r\n$IIDBT,005.87,f,001.79,M,000.96,F*2B\r\n$GPGLL,5958.614,N,02325.924,E,120348,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.84,N,01.55,K*58\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,153.88,T,153.88,M,0.88,N,,,D*64\r\n$IIMWV,092,R,06.80,N,A*26\r\n$IIVWT,096,R,06.82,N,03.51,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120350,,,,00,*4D\r\n$IIDBT,005.83,f,001.78,M,000.96,F*2E\r\n$GPGLL,5958.614,N,02325.925,E,120350,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.70,N,01.29,K*58\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,152.67,T,152.67,M,0.74,N,,,D*67\r\n$IIMWV,096,T,06.22,N,A*2C\r\n$IIVWT,096,R,06.22,N,03.20,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120352,,,,00,*4F\r\n$IIDBT,005.80,f,001.77,M,000.95,F*21\r\n$GPGLL,5958.614,N,02325.925,E,120352,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.58,N,01.07,K*5E\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,152.99,T,152.99,M,0.54,N,,,D*65\r\n$IIMWV,083,R,08.55,N,A*20\r\n$IIVWT,083,R,08.53,N,04.39,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120354,,,,00,*49\r\n$IIDBT,005.74,f,001.75,M,000.94,F*29\r\n$GPGLL,5958.613,N,02325.925,E,120354,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.00,N,04.63,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.58,N,01.07,K*5E\r\n$IIVPW,0.27,N,,*04\r\n$IIVTG,154.72,T,154.72,M,0.26,N,,,D*60\r\n$IIMWV,082,T,09.31,N,A*24\r\n$IIVWT,082,R,09.31,N,04.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120356,,,,00,*4B\r\n$IIDBT,005.67,f,001.73,M,000.93,F*2A\r\n$GPGLL,5958.613,N,02325.925,E,120356,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.90,N,01.66,K*5D\r\n$IIVPW,0.29,N,,*0A\r\n$IIVTG,155.35,T,155.35,M,0.21,N,,,D*67\r\n$IIMWV,062,R,08.16,N,A*28\r\n$IIVWT,071,R,07.63,N,03.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120358,,,,00,*45\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.925,E,120359,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.21,N,03.71,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.92,N,01.70,K*58\r\n$IIVPW,0.23,N,,*00\r\n$IIVTG,156.04,T,156.04,M,0.20,N,,,D*66\r\n$IIMWV,064,T,06.86,N,A*2F\r\n$IIVWT,064,R,06.86,N,03.53,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120400,,,,00,*4F\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.613,N,02325.925,E,120401,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.79,N,01.46,K*58\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,154.84,T,154.84,M,0.13,N,,,D*66\r\n$IIMWV,076,R,07.58,N,A*28\r\n$IIVWT,080,R,07.42,N,03.82,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120402,,,,00,*4D\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.925,E,120403,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,152.41,T,152.41,M,0.11,N,,,D*64\r\n$IIMWV,054,T,08.51,N,A*28\r\n$IIVWT,054,R,08.51,N,04.38,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120404,,,,00,*4B\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.925,E,120405,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.33,N,00.61,K*52\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,150.68,T,150.68,M,0.18,N,,,D*6D\r\n$IIMWV,092,R,10.49,N,A*24\r\n$IIVWT,093,R,10.45,N,05.38,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120406,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.925,E,120407,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.19,N,00.35,K*5B\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,148.97,T,148.97,M,0.19,N,,,D*6C\r\n$IIMWV,063,T,08.14,N,A*2D\r\n$IIVWT,063,R,08.14,N,04.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120409,,,,00,*46\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.925,E,120409,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.12,N,00.22,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,147.78,T,147.78,M,0.12,N,,,D*67\r\n$IIMWV,078,R,06.22,N,A*2A\r\n$IIVWT,078,R,06.20,N,03.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120411,,,,00,*4F\r\n$IIDBT,005.28,f,001.61,M,000.87,F*27\r\n$GPGLL,5958.613,N,02325.925,E,120411,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.07,N,00.12,K*51\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,147.29,T,147.29,M,0.06,N,,,D*62\r\n$IIMWV,087,T,07.15,N,A*29\r\n$IIVWT,087,R,07.15,N,03.68,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120413,,,,00,*4D\r\n$IIDBT,005.24,f,001.60,M,000.86,F*2B\r\n$GPGLL,5958.613,N,02325.925,E,120413,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.04,N,00.07,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,145.03,T,145.03,M,0.09,N,,,D*6D\r\n$IIMWV,064,R,06.80,N,A*2F\r\n$IIVWT,064,R,06.76,N,03.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120415,,,,00,*4B\r\n$IIDBT,005.21,f,001.59,M,000.85,F*27\r\n$GPGLL,5958.614,N,02325.926,E,120415,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.02,N,00.03,K*54\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,144.00,T,144.00,M,0.10,N,,,D*65\r\n$IIMWV,082,T,08.51,N,A*23\r\n$IIVWT,082,R,08.51,N,04.38,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120417,,,,00,*49\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120417,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.06,N,05.18,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.01,N,00.01,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,142.50,T,142.50,M,0.17,N,,,D*62\r\n$IIMWV,078,R,08.74,N,A*27\r\n$IIVWT,078,R,08.72,N,04.49,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120419,,,,00,*47\r\n$IIDBT,005.21,f,001.59,M,000.85,F*27\r\n$GPGLL,5958.613,N,02325.926,E,120419,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.47,N,05.39,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.01,N,00.01,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,142.27,T,142.27,M,0.19,N,,,D*6C\r\n$IIMWV,097,T,10.06,N,A*2C\r\n$IIVWT,097,R,10.06,N,05.18,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120421,,,,00,*4C\r\n$IIDBT,004.95,f,001.51,M,000.81,F*25\r\n$GPGLL,5958.614,N,02325.926,E,120421,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,142.07,T,142.07,M,0.15,N,,,D*60\r\n$IIMWV,079,R,06.22,N,A*2B\r\n$IIVWT,079,R,06.20,N,03.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120423,,,,00,*4E\r\n$IIDBT,005.21,f,001.59,M,000.85,F*27\r\n$GPGLL,5958.614,N,02325.926,E,120423,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,144.12,T,144.12,M,0.14,N,,,D*61\r\n$IIMWV,069,T,05.42,N,A*29\r\n$IIVWT,069,R,05.42,N,02.79,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120425,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120425,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,147.28,T,147.28,M,0.11,N,,,D*64\r\n$IIMWV,067,R,04.27,N,A*23\r\n$IIVWT,067,R,04.25,N,02.19,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120427,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120427,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,144.02,T,144.02,M,0.10,N,,,D*65\r\n$IIMWV,068,T,04.84,N,A*23\r\n$IIVWT,068,R,04.84,N,02.49,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120429,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120429,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.38,T,137.38,M,0.10,N,,,D*65\r\n$IIMWV,062,R,05.44,N,A*22\r\n$IIVWT,062,R,05.42,N,02.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120431,,,,00,*4D\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.926,E,120431,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,131.05,T,131.05,M,0.10,N,,,D*65\r\n$IIMWV,079,T,06.18,N,A*24\r\n$IIVWT,079,R,06.18,N,03.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120433,,,,00,*4F\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.614,N,02325.926,E,120433,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,122.66,T,122.66,M,0.23,N,,,D*65\r\n$IIMWV,082,R,08.16,N,A*26\r\n$IIVWT,082,R,08.12,N,04.18,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120435,,,,00,*49\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.614,N,02325.927,E,120435,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.02,T,114.02,M,0.21,N,,,D*67\r\n$IIMWV,072,T,08.72,N,A*2D\r\n$IIVWT,072,R,08.72,N,04.49,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120437,,,,00,*4B\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.614,N,02325.927,E,120437,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.88,T,110.88,M,0.13,N,,,D*66\r\n$IIMWV,085,R,07.58,N,A*24\r\n$IIVWT,085,R,07.56,N,03.89,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120439,,,,00,*45\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.614,N,02325.927,E,120439,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.92,T,109.92,M,0.08,N,,,D*6C\r\n$IIMWV,078,T,05.22,N,A*2F\r\n$IIVWT,078,R,05.22,N,02.69,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120441,,,,00,*4A\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.614,N,02325.927,E,120442,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.18,T,111.18,M,0.10,N,,,D*65\r\n$IIMWV,084,R,04.47,N,A*28\r\n$IIVWT,084,R,04.45,N,02.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120443,,,,00,*48\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.615,N,02325.926,E,120444,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.97,T,109.97,M,0.10,N,,,D*65\r\n$IIMWV,049,T,05.22,N,A*2D\r\n$IIVWT,049,R,05.22,N,02.69,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120445,,,,00,*4E\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.615,N,02325.926,E,120446,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.79,T,110.79,M,0.07,N,,,D*63\r\n$IIMWV,065,R,04.47,N,A*27\r\n$IIVWT,065,R,04.45,N,02.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120447,,,,00,*4C\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.615,N,02325.926,E,120448,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.95,T,111.95,M,0.07,N,,,D*63\r\n$IIMWV,087,T,03.86,N,A*27\r\n$IIVWT,087,R,03.86,N,01.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120449,,,,00,*42\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.615,N,02325.926,E,120450,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,115.09,T,115.09,M,0.10,N,,,D*65\r\n$IIMWV,074,R,05.44,N,A*25\r\n$IIVWT,074,R,05.40,N,02.78,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120452,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120452,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,116.97,T,116.97,M,0.10,N,,,D*65\r\n$IIMWV,066,T,04.45,N,A*20\r\n$IIVWT,066,R,04.45,N,02.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120454,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120454,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,118.07,T,118.07,M,0.10,N,,,D*65\r\n$IIMWV,081,R,07.58,N,A*20\r\n$IIVWT,081,R,07.56,N,03.89,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120456,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120456,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,118.99,T,118.99,M,0.10,N,,,D*65\r\n$IIMWV,079,T,07.54,N,A*2D\r\n$IIVWT,079,R,07.54,N,03.88,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120458,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120458,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,120.27,T,120.27,M,0.10,N,,,D*65\r\n$IIMWV,074,R,07.58,N,A*2A\r\n$IIVWT,074,R,07.54,N,03.88,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120500,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120500,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,121.92,T,121.92,M,0.10,N,,,D*65\r\n$IIMWV,080,T,07.75,N,A*28\r\n$IIVWT,080,R,07.75,N,03.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120502,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120502,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,121.50,T,121.50,M,0.02,N,,,D*66\r\n$IIMWV,084,R,07.19,N,A*20\r\n$IIVWT,085,R,07.17,N,03.69,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120504,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.614,N,02325.926,E,120504,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,119.72,T,119.72,M,0.06,N,,,D*62\r\n$IIMWV,073,T,06.39,N,A*2D\r\n$IIVWT,073,R,06.39,N,03.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120506,,,,00,*48\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.614,N,02325.926,E,120506,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,118.68,T,118.68,M,0.09,N,,,D*6D\r\n$IIMWV,099,R,05.24,N,A*20\r\n$IIVWT,099,R,05.22,N,02.69,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120508,,,,00,*46\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.614,N,02325.926,E,120508,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,117.00,T,117.00,M,0.10,N,,,D*65\r\n$IIMWV,085,T,05.42,N,A*2B\r\n$IIVWT,085,R,05.42,N,02.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120510,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.614,N,02325.926,E,120510,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.42,T,114.42,M,0.05,N,,,D*61\r\n$IIMWV,060,R,05.44,N,A*20\r\n$IIVWT,060,R,05.40,N,02.78,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120512,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120512,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.06,T,114.06,M,0.09,N,,,D*6D\r\n$IIMWV,060,T,09.09,N,A*23\r\n$IIVWT,060,R,09.09,N,04.68,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120514,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120514,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,113.14,T,113.14,M,0.05,N,,,D*61\r\n$IIMWV,093,R,08.16,N,A*26\r\n$IIVWT,093,R,08.14,N,04.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120516,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120516,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,113.38,T,113.38,M,0.01,N,,,D*65\r\n$IIMWV,112,T,06.39,N,A*2B\r\n$IIVWT,112,R,06.39,N,03.29,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120518,,,,00,*47\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.926,E,120518,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.95,T,111.95,M,0.05,N,,,D*61\r\n$IIMWV,095,R,07.19,N,A*20\r\n$IIVWT,095,R,07.17,N,03.69,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120520,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120520,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.06,T,110.06,M,0.01,N,,,D*65\r\n$IIMWV,084,T,09.11,N,A*20\r\n$IIVWT,084,R,09.11,N,04.69,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120522,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.926,E,120523,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.04,T,108.04,M,0.00,N,,,D*64\r\n$IIMWV,090,R,07.77,N,A*2D\r\n$IIVWT,090,R,07.75,N,03.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120524,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120525,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.66,T,107.66,M,0.00,N,,,D*64\r\n$IIMWV,075,T,08.14,N,A*2A\r\n$IIVWT,075,R,08.14,N,04.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120526,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.926,E,120527,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.64,T,108.64,M,0.03,N,,,D*67\r\n$IIMWV,093,R,08.74,N,A*22\r\n$IIVWT,093,R,08.70,N,04.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120528,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120529,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.44,T,109.44,M,0.03,N,,,D*67\r\n$IIMWV,059,T,08.70,N,A*26\r\n$IIVWT,059,R,08.70,N,04.48,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120530,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120531,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.43,T,111.43,M,0.08,N,,,D*6C\r\n$IIMWV,071,R,09.71,N,A*2A\r\n$IIVWT,071,R,09.69,N,04.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120532,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120533,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,112.23,T,112.23,M,0.02,N,,,D*66\r\n$IIMWV,088,T,08.53,N,A*2B\r\n$IIVWT,088,R,08.53,N,04.39,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120535,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120535,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.16,T,114.16,M,0.03,N,,,D*67\r\n$IIMWV,070,R,08.74,N,A*2F\r\n$IIVWT,071,R,08.70,N,04.48,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120537,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120537,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.14,T,114.14,M,0.01,N,,,D*65\r\n$IIMWV,065,T,06.76,N,A*21\r\n$IIVWT,065,R,06.76,N,03.48,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120539,,,,00,*44\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120539,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,113.71,T,113.71,M,0.05,N,,,D*61\r\n$IIMWV,059,R,06.41,N,A*2C\r\n$IIVWT,059,R,06.39,N,03.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120541,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120541,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.80,T,111.80,M,0.09,N,,,D*6D\r\n$IIMWV,065,T,06.37,N,A*24\r\n$IIVWT,065,R,06.37,N,03.28,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120543,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120543,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.75,T,109.75,M,0.02,N,,,D*66\r\n$IIMWV,083,R,05.83,N,A*26\r\n$IIVWT,083,R,05.81,N,02.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120545,,,,00,*4F\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.927,E,120545,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.61,T,107.61,M,0.03,N,,,D*67\r\n$IIMWV,066,T,04.82,N,A*2B\r\n$IIVWT,066,R,04.82,N,02.48,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120547,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120547,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.00,T,109.00,M,0.06,N,,,D*62\r\n$IIMWV,086,R,04.27,N,A*2C\r\n$IIVWT,086,R,04.25,N,02.19,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120549,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120549,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.10,T,110.10,M,0.06,N,,,D*62\r\n$IIMWV,070,T,04.45,N,A*27\r\n$IIVWT,070,R,04.45,N,02.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120551,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120551,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.33,T,109.33,M,0.04,N,,,D*60\r\n$IIMWV,085,R,04.27,N,A*2F\r\n$IIVWT,086,R,04.25,N,02.19,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120553,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120553,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.33,T,108.33,M,0.01,N,,,D*65\r\n$IIMWV,075,T,05.79,N,A*2C\r\n$IIVWT,075,R,05.79,N,02.98,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120555,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120555,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.76,T,108.76,M,0.00,N,,,D*64\r\n$IIMWV,062,R,06.80,N,A*29\r\n$IIVWT,062,R,06.78,N,03.49,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120557,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120557,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.49,T,108.49,M,0.00,N,,,D*64\r\n$IIMWV,061,T,08.53,N,A*2C\r\n$IIVWT,061,R,08.53,N,04.39,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120559,,,,00,*42\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120559,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.60,T,109.60,M,0.05,N,,,D*61\r\n$IIMWV,057,R,07.77,N,A*26\r\n$IIVWT,057,R,07.75,N,03.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120601,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.927,E,120601,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.95,T,109.95,M,0.01,N,,,D*65\r\n$IIMWV,073,T,06.78,N,A*28\r\n$IIVWT,073,R,06.78,N,03.49,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120603,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.927,E,120603,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.56,T,110.56,M,0.03,N,,,D*67\r\n$IIMWV,049,R,04.85,N,A*27\r\n$IIVWT,049,R,04.84,N,02.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120605,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120606,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.26,T,111.26,M,0.06,N,,,D*62\r\n$IIMWV,074,T,03.47,N,A*26\r\n$IIVWT,074,R,03.47,N,01.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120607,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120608,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,112.54,T,112.54,M,0.04,N,,,D*60\r\n$IIMWV,076,R,04.47,N,A*25\r\n$IIVWT,076,R,04.45,N,02.29,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120609,,,,00,*44\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120610,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,113.43,T,113.43,M,0.01,N,,,D*65\r\n$IIMWV,077,T,05.22,N,A*20\r\n$IIVWT,077,R,05.22,N,02.69,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120611,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120612,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.79,T,114.79,M,0.08,N,,,D*6C\r\n$IIMWV,092,R,05.44,N,A*2D\r\n$IIVWT,092,R,05.42,N,02.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120613,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120614,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,115.85,T,115.85,M,0.07,N,,,D*63\r\n$IIMWV,085,T,07.17,N,A*29\r\n$IIVWT,085,R,07.17,N,03.69,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120615,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120616,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,117.49,T,117.49,M,0.02,N,,,D*66\r\n$IIMWV,057,R,06.22,N,A*27\r\n$IIVWT,057,R,06.20,N,03.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120618,,,,00,*44\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120618,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,119.00,T,119.00,M,0.08,N,,,D*6C\r\n$IIMWV,092,T,06.20,N,A*2A\r\n$IIVWT,092,R,06.20,N,03.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120620,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120620,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,120.30,T,120.30,M,0.02,N,,,D*66\r\n$IIMWV,055,R,05.44,N,A*26\r\n$IIVWT,055,R,05.40,N,02.78,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120622,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120622,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,121.75,T,121.75,M,0.01,N,,,D*65\r\n$IIMWV,082,T,05.40,N,A*2E\r\n$IIVWT,082,R,05.40,N,02.78,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120624,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120624,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,120.86,T,120.86,M,0.03,N,,,D*67\r\n$IIMWV,095,R,07.58,N,A*25\r\n$IIVWT,095,R,07.56,N,03.89,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120626,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120626,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,118.79,T,118.79,M,0.06,N,,,D*62\r\n$IIMWV,097,T,09.11,N,A*22\r\n$IIVWT,097,R,09.11,N,04.69,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120628,,,,00,*47\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120628,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,115.87,T,115.87,M,0.09,N,,,D*6D\r\n$IIMWV,087,R,08.74,N,A*27\r\n$IIVWT,087,R,08.70,N,04.48,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120630,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120630,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,112.69,T,112.69,M,0.07,N,,,D*63\r\n$IIMWV,064,T,06.76,N,A*20\r\n$IIVWT,064,R,06.76,N,03.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120632,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120632,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.35,T,109.35,M,0.09,N,,,D*6D\r\n$IIMWV,069,R,06.80,N,A*22\r\n$IIVWT,069,R,06.76,N,03.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120634,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120634,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.06,T,106.06,M,0.10,N,,,D*65\r\n$IIMWV,084,T,05.81,N,A*25\r\n$IIVWT,084,R,05.81,N,02.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120636,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.928,E,120636,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,102.79,T,102.79,M,0.10,N,,,D*65\r\n$IIMWV,066,R,04.85,N,A*2A\r\n$IIVWT,066,R,04.84,N,02.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120638,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.614,N,02325.928,E,120638,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,099.82,T,099.82,M,0.10,N,,,D*65\r\n$IIMWV,089,T,06.20,N,A*20\r\n$IIVWT,089,R,06.20,N,03.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120640,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.928,E,120640,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,097.11,T,097.11,M,0.10,N,,,D*65\r\n$IIMWV,092,R,06.41,N,A*2B\r\n$IIVWT,092,R,06.39,N,03.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120642,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.614,N,02325.928,E,120642,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,094.98,T,094.98,M,0.05,N,,,D*61\r\n$IIMWV,071,T,06.20,N,A*27\r\n$IIVWT,071,R,06.20,N,03.19,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120644,,,,00,*4D\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.928,E,120644,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,093.54,T,093.54,M,0.01,N,,,D*65\r\n$IIMWV,072,R,05.83,N,A*28\r\n$IIVWT,073,R,05.79,N,02.98,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120646,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.928,E,120646,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,093.21,T,093.21,M,0.05,N,,,D*61\r\n$IIMWV,088,T,08.14,N,A*28\r\n$IIVWT,088,R,08.14,N,04.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120648,,,,00,*41\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.928,E,120649,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,093.90,T,093.90,M,0.09,N,,,D*6D\r\n$IIMWV,067,R,08.74,N,A*29\r\n$IIVWT,067,R,08.70,N,04.48,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120650,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.928,E,120651,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,093.72,T,093.72,M,0.02,N,,,D*66\r\n$IIMWV,080,T,08.53,N,A*23\r\n$IIVWT,080,R,08.53,N,04.39,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120652,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.614,N,02325.927,E,120653,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,094.15,T,094.15,M,0.01,N,,,D*65\r\n$IIMWV,079,R,06.41,N,A*2E\r\n$IIVWT,080,R,06.39,N,03.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120654,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120655,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,095.09,T,095.09,M,0.05,N,,,D*61\r\n$IIMWV,060,T,05.81,N,A*2F\r\n$IIVWT,060,R,05.81,N,02.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120656,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120657,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,096.31,T,096.31,M,0.07,N,,,D*63\r\n$IIMWV,067,R,06.22,N,A*24\r\n$IIVWT,067,R,06.20,N,03.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120658,,,,00,*40\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120659,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,097.43,T,097.43,M,0.07,N,,,D*63\r\n$IIMWV,054,T,05.22,N,A*21\r\n$IIVWT,054,R,05.22,N,02.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120701,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120701,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.53,T,098.53,M,0.07,N,,,D*63\r\n$IIMWV,084,R,05.83,N,A*21\r\n$IIVWT,084,R,05.79,N,02.98,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120703,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120703,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,099.96,T,099.96,M,0.04,N,,,D*60\r\n$IIMWV,089,T,08.53,N,A*2A\r\n$IIVWT,089,R,08.53,N,04.39,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120705,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120705,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,101.46,T,101.46,M,0.04,N,,,D*60\r\n$IIMWV,086,R,06.22,N,A*2B\r\n$IIVWT,086,R,06.18,N,03.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120707,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120707,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,102.59,T,102.59,M,0.01,N,,,D*65\r\n$IIMWV,071,T,04.45,N,A*26\r\n$IIVWT,071,R,04.45,N,02.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120709,,,,00,*45\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120709,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,103.62,T,103.62,M,0.00,N,,,D*64\r\n$IIMWV,075,R,03.88,N,A*22\r\n$IIVWT,075,R,03.84,N,01.98,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120711,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120711,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,104.48,T,104.48,M,0.00,N,,,D*64\r\n$IIMWV,065,T,04.25,N,A*25\r\n$IIVWT,065,R,04.25,N,02.19,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120713,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120713,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,105.92,T,105.92,M,0.00,N,,,D*64\r\n$IIMWV,094,R,04.47,N,A*29\r\n$IIVWT,094,R,04.45,N,02.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120715,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.614,N,02325.928,E,120715,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.28,T,108.28,M,0.08,N,,,D*6C\r\n$IIMWV,085,T,05.20,N,A*2F\r\n$IIVWT,085,R,05.20,N,02.68,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120717,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120717,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.32,T,110.32,M,0.02,N,,,D*66\r\n$IIMWV,078,R,06.22,N,A*2A\r\n$IIVWT,078,R,06.20,N,03.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120719,,,,00,*44\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120719,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.35,T,110.35,M,0.00,N,,,D*64\r\n$IIMWV,100,T,06.78,N,A*2D\r\n$IIVWT,100,R,06.78,N,03.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120721,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120721,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.36,T,110.36,M,0.00,N,,,D*64\r\n$IIMWV,091,R,07.19,N,A*24\r\n$IIVWT,091,R,07.17,N,03.69,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120723,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120723,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.94,T,108.94,M,0.03,N,,,D*67\r\n$IIMWV,068,T,06.20,N,A*2F\r\n$IIVWT,068,R,06.20,N,03.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120725,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.928,E,120725,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.03,T,108.03,M,0.01,N,,,D*65\r\n$IIMWV,098,R,05.83,N,A*2C\r\n$IIVWT,098,R,05.79,N,02.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120727,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120727,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.18,T,107.18,M,0.00,N,,,D*64\r\n$IIMWV,064,T,04.43,N,A*24\r\n$IIVWT,064,R,04.43,N,02.28,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120729,,,,00,*47\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120729,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.62,T,106.62,M,0.00,N,,,D*64\r\n$IIMWV,093,R,05.83,N,A*27\r\n$IIVWT,093,R,05.81,N,02.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120731,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120732,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.23,T,106.23,M,0.00,N,,,D*64\r\n$IIMWV,074,T,06.20,N,A*22\r\n$IIVWT,074,R,06.20,N,03.19,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120733,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120734,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.13,T,106.13,M,0.00,N,,,D*64\r\n$IIMWV,066,R,04.85,N,A*2A\r\n$IIVWT,066,R,04.84,N,02.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120735,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120736,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.06,T,106.06,M,0.00,N,,,D*64\r\n$IIMWV,105,T,05.81,N,A*2D\r\n$IIVWT,105,R,05.81,N,02.99,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120737,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120738,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,106.72,T,106.72,M,0.00,N,,,D*64\r\n$IIMWV,079,R,07.19,N,A*22\r\n$IIVWT,079,R,07.17,N,03.69,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120739,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120740,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,103.30,T,103.30,M,0.06,N,,,D*62\r\n$IIMWV,061,T,06.78,N,A*2B\r\n$IIVWT,061,R,06.78,N,03.49,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120741,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120742,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,100.78,T,100.78,M,0.07,N,,,D*63\r\n$IIMWV,081,R,09.52,N,A*24\r\n$IIVWT,081,R,09.48,N,04.88,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120744,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120744,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.82,T,098.82,M,0.02,N,,,D*66\r\n$IIMWV,090,T,10.08,N,A*25\r\n$IIVWT,090,R,10.08,N,05.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120746,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120746,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.69,N,04.99,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,097.58,T,097.58,M,0.00,N,,,D*64\r\n$IIMWV,088,R,10.10,N,A*23\r\n$IIVWT,088,R,10.08,N,05.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120748,,,,00,*40\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120748,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.48,N,04.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,097.04,T,097.04,M,0.00,N,,,D*64\r\n$IIMWV,055,T,08.51,N,A*29\r\n$IIVWT,055,R,08.51,N,04.38,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120750,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120750,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,097.04,T,097.04,M,0.00,N,,,D*64\r\n$IIMWV,059,R,06.22,N,A*29\r\n$IIVWT,059,R,06.18,N,03.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120752,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120752,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.08,T,098.08,M,0.03,N,,,D*67\r\n$IIMWV,068,T,05.22,N,A*2E\r\n$IIVWT,068,R,05.22,N,02.69,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120754,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120754,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.55,T,098.55,M,0.06,N,,,D*62\r\n$IIMWV,058,R,05.44,N,A*2B\r\n$IIVWT,058,R,05.42,N,02.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120756,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120756,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,100.44,T,100.44,M,0.06,N,,,D*62\r\n$IIMWV,075,T,08.70,N,A*28\r\n$IIVWT,075,R,08.70,N,04.48,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120758,,,,00,*41\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120758,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,101.91,T,101.91,M,0.02,N,,,D*66\r\n$IIMWV,071,R,06.22,N,A*23\r\n$IIVWT,071,R,06.20,N,03.19,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120800,,,,00,*43\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120800,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,102.88,T,102.88,M,0.00,N,,,D*64\r\n$IIMWV,088,T,05.81,N,A*29\r\n$IIVWT,088,R,05.81,N,02.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120802,,,,00,*41\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120802,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,103.67,T,103.67,M,0.00,N,,,D*64\r\n$IIMWV,098,R,05.83,N,A*2C\r\n$IIVWT,098,R,05.81,N,02.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120804,,,,00,*47\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120804,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,104.19,T,104.19,M,0.00,N,,,D*64\r\n$IIMWV,090,T,05.42,N,A*2F\r\n$IIVWT,090,R,05.42,N,02.79,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120806,,,,00,*45\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120806,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,105.97,T,105.97,M,0.03,N,,,D*67\r\n$IIMWV,087,R,07.58,N,A*26\r\n$IIVWT,087,R,07.54,N,03.88,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120808,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120808,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.54,N,03.88,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.14,T,107.14,M,0.06,N,,,D*62\r\n$IIMWV,073,T,07.17,N,A*20\r\n$IIVWT,073,R,07.17,N,03.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120810,,,,00,*42\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120810,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.48,T,108.48,M,0.04,N,,,D*60\r\n$IIMWV,068,R,05.83,N,A*23\r\n$IIVWT,068,R,05.81,N,02.99,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120812,,,,00,*40\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120812,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,109.02,T,109.02,M,0.01,N,,,D*65\r\n$IIMWV,074,T,04.84,N,A*2E\r\n$IIVWT,074,R,04.84,N,02.49,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120814,,,,00,*46\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120815,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.11,T,110.11,M,0.00,N,,,D*64\r\n$IIMWV,072,R,05.44,N,A*23\r\n$IIVWT,072,R,05.42,N,02.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120816,,,,00,*44\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120817,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.95,T,111.95,M,0.03,N,,,D*67\r\n$IIMWV,100,T,06.20,N,A*20\r\n$IIVWT,100,R,06.20,N,03.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120818,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120819,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.50,N,04.89,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,112.64,T,112.64,M,0.01,N,,,D*65\r\n$IIMWV,096,R,09.71,N,A*23\r\n$IIVWT,096,R,09.69,N,04.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120820,,,,00,*41\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120821,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,110.96,T,110.96,M,0.03,N,,,D*67\r\n$IIMWV,085,T,08.14,N,A*25\r\n$IIVWT,085,R,08.14,N,04.19,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120822,,,,00,*43\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120823,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.01,T,107.01,M,0.08,N,,,D*6C\r\n$IIMWV,059,R,05.44,N,A*2A\r\n$IIVWT,059,R,05.40,N,02.78,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120824,,,,00,*45\r\n$IIDBT,005.24,f,001.60,M,000.86,F*2B\r\n$GPGLL,5958.613,N,02325.927,E,120825,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,104.60,T,104.60,M,0.04,N,,,D*60\r\n$IIMWV,062,T,05.42,N,A*22\r\n$IIVWT,062,R,05.42,N,02.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120827,,,,00,*46\r\n$IIDBT,005.28,f,001.61,M,000.87,F*27\r\n$GPGLL,5958.614,N,02325.927,E,120827,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,103.60,T,103.60,M,0.01,N,,,D*65\r\n$IIMWV,088,R,06.80,N,A*2D\r\n$IIVWT,088,R,06.78,N,03.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120829,,,,00,*48\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.614,N,02325.928,E,120829,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.11,N,04.69,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,101.62,T,101.62,M,0.08,N,,,D*6C\r\n$IIMWV,090,T,09.50,N,A*20\r\n$IIVWT,090,R,09.50,N,04.89,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120831,,,,00,*41\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.614,N,02325.928,E,120831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.53,N,04.39,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.21,T,098.21,M,0.09,N,,,D*6D\r\n$IIMWV,073,R,08.16,N,A*28\r\n$IIVWT,073,R,08.14,N,04.19,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120833,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.614,N,02325.928,E,120833,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,095.00,T,095.00,M,0.05,N,,,D*61\r\n$IIMWV,077,T,06.37,N,A*27\r\n$IIVWT,077,R,06.37,N,03.28,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120835,,,,00,*45\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.614,N,02325.928,E,120835,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,094.13,T,094.13,M,0.06,N,,,D*62\r\n$IIMWV,078,R,06.41,N,A*2F\r\n$IIVWT,078,R,06.39,N,03.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120837,,,,00,*47\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.614,N,02325.928,E,120837,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,094.13,T,094.13,M,0.07,N,,,D*63\r\n$IIMWV,076,T,07.54,N,A*22\r\n$IIVWT,076,R,07.54,N,03.88,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120839,,,,00,*49\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.614,N,02325.928,E,120839,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,095.48,T,095.48,M,0.04,N,,,D*60\r\n$IIMWV,090,R,07.19,N,A*25\r\n$IIVWT,090,R,07.17,N,03.69,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120841,,,,00,*46\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.614,N,02325.927,E,120841,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,095.75,T,095.75,M,0.09,N,,,D*6D\r\n$IIMWV,089,T,06.78,N,A*2D\r\n$IIVWT,089,R,06.78,N,03.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120843,,,,00,*44\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.614,N,02325.927,E,120843,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,096.91,T,096.91,M,0.05,N,,,D*61\r\n$IIMWV,080,R,07.58,N,A*21\r\n$IIVWT,080,R,07.54,N,03.88,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120845,,,,00,*42\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,120845,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.14,N,04.19,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,098.43,T,098.43,M,0.06,N,,,D*62\r\n$IIMWV,093,T,07.75,N,A*2A\r\n$IIVWT,093,R,07.75,N,03.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120847,,,,00,*40\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,120847,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,100.31,T,100.31,M,0.04,N,,,D*60\r\n$IIMWV,070,R,08.16,N,A*2B\r\n$IIVWT,070,R,08.12,N,04.18,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120849,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120849,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.15,N,03.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,102.88,T,102.88,M,0.09,N,,,D*6D\r\n$IIMWV,101,T,07.17,N,A*24\r\n$IIVWT,101,R,07.17,N,03.69,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120851,,,,00,*47\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120851,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,105.29,T,105.29,M,0.10,N,,,D*65\r\n$IIMWV,086,R,06.22,N,A*2B\r\n$IIVWT,086,R,06.18,N,03.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120853,,,,00,*45\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120853,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,107.52,T,107.52,M,0.10,N,,,D*65\r\n$IIMWV,050,T,06.78,N,A*29\r\n$IIVWT,050,R,06.78,N,03.49,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120855,,,,00,*43\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120855,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,108.48,T,108.48,M,0.07,N,,,D*63\r\n$IIMWV,102,R,05.44,N,A*25\r\n$IIVWT,102,R,05.42,N,02.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120857,,,,00,*41\r\n$IIDBT,005.28,f,001.61,M,000.87,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120858,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,111.52,T,111.52,M,0.09,N,,,D*6D\r\n$IIMWV,089,T,04.45,N,A*21\r\n$IIVWT,089,R,04.45,N,02.29,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120859,,,,00,*4F\r\n$IIDBT,005.28,f,001.61,M,000.87,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120900,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,112.43,T,112.43,M,0.10,N,,,D*65\r\n$IIMWV,086,R,06.22,N,A*2B\r\n$IIVWT,086,R,06.18,N,03.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120901,,,,00,*43\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120902,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,114.18,T,114.18,M,0.07,N,,,D*63\r\n$IIMWV,070,T,05.79,N,A*29\r\n$IIVWT,070,R,05.79,N,02.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120903,,,,00,*41\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120904,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,115.04,T,115.04,M,0.02,N,,,D*66\r\n$IIMWV,060,R,04.47,N,A*22\r\n$IIVWT,060,R,04.45,N,02.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120905,,,,00,*47\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120906,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,117.76,T,117.76,M,0.06,N,,,D*62\r\n$IIMWV,092,T,06.39,N,A*22\r\n$IIVWT,092,R,06.39,N,03.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120908,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,120908,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,120.19,T,120.19,M,0.07,N,,,D*63\r\n$IIMWV,065,R,05.44,N,A*25\r\n$IIVWT,065,R,05.42,N,02.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120910,,,,00,*43\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120910,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,124.37,T,124.37,M,0.09,N,,,D*6D\r\n$IIMWV,088,T,06.39,N,A*29\r\n$IIVWT,088,R,06.39,N,03.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120912,,,,00,*41\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120912,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,123.46,T,123.46,M,0.10,N,,,D*65\r\n$IIMWV,085,R,07.77,N,A*29\r\n$IIVWT,085,R,07.75,N,03.99,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120914,,,,00,*47\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,120914,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,121.87,T,121.87,M,0.05,N,,,D*61\r\n$IIMWV,045,T,06.78,N,A*2D\r\n$IIVWT,045,R,06.78,N,03.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120916,,,,00,*45\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,120916,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,120.66,T,120.66,M,0.01,N,,,D*65\r\n$IIMWV,079,R,05.44,N,A*28\r\n$IIVWT,079,R,05.40,N,02.78,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120918,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,120918,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,121.77,T,121.77,M,0.05,N,,,D*61\r\n$IIMWV,045,T,05.42,N,A*27\r\n$IIVWT,045,R,05.42,N,02.79,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120920,,,,00,*40\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,120920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,122.92,T,122.92,M,0.01,N,,,D*65\r\n$IIMWV,075,R,06.22,N,A*27\r\n$IIVWT,075,R,06.18,N,03.18,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120922,,,,00,*42\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,120922,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,122.68,T,122.68,M,0.00,N,,,D*64\r\n$IIMWV,068,T,06.20,N,A*2F\r\n$IIVWT,068,R,06.20,N,03.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120924,,,,00,*44\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,120924,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,122.20,T,122.20,M,0.05,N,,,D*61\r\n$IIMWV,080,R,05.44,N,A*2E\r\n$IIVWT,080,R,05.42,N,02.79,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120926,,,,00,*46\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,120926,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,122.12,T,122.12,M,0.06,N,,,D*62\r\n$IIMWV,054,T,05.22,N,A*21\r\n$IIVWT,054,R,05.22,N,02.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120928,,,,00,*48\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,120928,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,124.60,T,124.60,M,0.09,N,,,D*6D\r\n$IIMWV,087,R,05.83,N,A*22\r\n$IIVWT,087,R,05.81,N,02.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120930,,,,00,*41\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120930,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,126.23,T,126.23,M,0.02,N,,,D*66\r\n$IIMWV,099,T,06.18,N,A*2A\r\n$IIVWT,099,R,06.18,N,03.18,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120932,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120932,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,127.48,T,127.48,M,0.01,N,,,D*65\r\n$IIMWV,030,R,05.24,N,A*23\r\n$IIVWT,030,R,05.22,N,02.69,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120934,,,,00,*45\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120934,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,127.95,T,127.95,M,0.00,N,,,D*64\r\n$IIMWV,049,T,04.25,N,A*2B\r\n$IIVWT,049,R,04.25,N,02.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120936,,,,00,*47\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120936,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,128.16,T,128.16,M,0.00,N,,,D*64\r\n$IIMWV,068,R,05.24,N,A*2E\r\n$IIVWT,068,R,05.22,N,02.69,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120938,,,,00,*49\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,120938,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,129.69,T,129.69,M,0.08,N,,,D*6C\r\n$IIMWV,095,T,06.78,N,A*20\r\n$IIVWT,095,R,06.78,N,03.49,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120940,,,,00,*46\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120941,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,131.67,T,131.67,M,0.09,N,,,D*6D\r\n$IIMWV,076,R,06.41,N,A*21\r\n$IIVWT,077,R,06.39,N,03.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120942,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120943,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,132.92,T,132.92,M,0.02,N,,,D*66\r\n$IIMWV,094,T,06.18,N,A*27\r\n$IIVWT,094,R,06.18,N,03.18,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120944,,,,00,*42\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120945,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,134.15,T,134.15,M,0.06,N,,,D*62\r\n$IIMWV,091,R,04.85,N,A*22\r\n$IIVWT,091,R,04.84,N,02.49,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120946,,,,00,*40\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,120947,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,134.67,T,134.67,M,0.01,N,,,D*65\r\n$IIMWV,074,T,03.86,N,A*2B\r\n$IIVWT,074,R,03.86,N,01.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120948,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120949,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,135.03,T,135.03,M,0.00,N,,,D*64\r\n$IIMWV,072,R,03.49,N,A*28\r\n$IIVWT,073,R,03.47,N,01.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120951,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120951,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,135.84,T,135.84,M,0.00,N,,,D*64\r\n$IIMWV,069,T,03.09,N,A*20\r\n$IIVWT,069,R,03.09,N,01.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120953,,,,00,*44\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,120953,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,136.71,T,136.71,M,0.00,N,,,D*64\r\n$IIMWV,084,R,04.47,N,A*28\r\n$IIVWT,084,R,04.45,N,02.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120955,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120955,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.00,T,137.00,M,0.00,N,,,D*64\r\n$IIMWV,051,T,05.42,N,A*22\r\n$IIVWT,051,R,05.42,N,02.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120957,,,,00,*40\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120957,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,136.98,T,136.98,M,0.00,N,,,D*64\r\n$IIMWV,091,R,05.83,N,A*25\r\n$IIVWT,091,R,05.81,N,02.99,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,120959,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,120959,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.07,T,137.07,M,0.00,N,,,D*64\r\n$IIMWV,080,T,05.22,N,A*28\r\n$IIVWT,080,R,05.22,N,02.69,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121001,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121001,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.59,T,137.59,M,0.00,N,,,D*64\r\n$IIMWV,067,R,04.85,N,A*2B\r\n$IIVWT,067,R,04.84,N,02.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121003,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121003,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,138.37,T,138.37,M,0.00,N,,,D*64\r\n$IIMWV,077,T,04.23,N,A*20\r\n$IIVWT,077,R,04.23,N,02.18,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121005,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121005,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,139.40,T,139.40,M,0.00,N,,,D*64\r\n$IIMWV,079,R,03.88,N,A*2E\r\n$IIVWT,080,R,03.86,N,01.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121007,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121007,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,139.20,T,139.20,M,0.03,N,,,D*67\r\n$IIMWV,075,T,04.25,N,A*24\r\n$IIVWT,075,R,04.25,N,02.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121009,,,,00,*43\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121009,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.97,T,137.97,M,0.03,N,,,D*67\r\n$IIMWV,082,R,04.27,N,A*28\r\n$IIVWT,082,R,04.25,N,02.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121011,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121011,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.82,T,137.82,M,0.01,N,,,D*65\r\n$IIMWV,059,T,04.82,N,A*27\r\n$IIVWT,059,R,04.82,N,02.48,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121013,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121013,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.80,T,137.80,M,0.00,N,,,D*64\r\n$IIMWV,044,R,05.44,N,A*26\r\n$IIVWT,044,R,05.42,N,02.79,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121015,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121015,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,138.95,T,138.95,M,0.00,N,,,D*64\r\n$IIMWV,051,T,05.22,N,A*24\r\n$IIVWT,051,R,05.22,N,02.69,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121017,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121017,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,140.64,T,140.64,M,0.00,N,,,D*64\r\n$IIMWV,045,R,03.88,N,A*21\r\n$IIVWT,045,R,03.86,N,01.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121019,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121019,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,142.11,T,142.11,M,0.00,N,,,D*64\r\n$IIMWV,079,T,03.47,N,A*2B\r\n$IIVWT,079,R,03.47,N,01.79,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121021,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121022,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,143.38,T,143.38,M,0.00,N,,,D*64\r\n$IIMWV,076,R,03.11,N,A*21\r\n$IIVWT,077,R,03.09,N,01.59,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121023,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121024,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,144.59,T,144.59,M,0.00,N,,,D*64\r\n$IIMWV,089,T,04.45,N,A*21\r\n$IIVWT,089,R,04.45,N,02.29,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121025,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121026,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,145.70,T,145.70,M,0.00,N,,,D*64\r\n$IIMWV,079,R,04.27,N,A*2C\r\n$IIVWT,079,R,04.25,N,02.19,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121027,,,,00,*4F\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.928,E,121028,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,146.85,T,146.85,M,0.00,N,,,D*64\r\n$IIMWV,093,T,04.25,N,A*2C\r\n$IIVWT,093,R,04.25,N,02.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121029,,,,00,*41\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121030,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,148.01,T,148.01,M,0.00,N,,,D*64\r\n$IIMWV,077,R,03.88,N,A*20\r\n$IIVWT,077,R,03.84,N,01.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121031,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121032,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,149.22,T,149.22,M,0.00,N,,,D*64\r\n$IIMWV,074,T,03.86,N,A*2B\r\n$IIVWT,074,R,03.86,N,01.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121034,,,,00,*4D\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121034,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,150.83,T,150.83,M,0.08,N,,,D*6C\r\n$IIMWV,085,R,03.88,N,A*2D\r\n$IIVWT,085,R,03.86,N,01.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121036,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121036,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,152.78,T,152.78,M,0.09,N,,,D*6D\r\n$IIMWV,092,T,05.81,N,A*22\r\n$IIVWT,092,R,05.81,N,02.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121038,,,,00,*41\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121038,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,153.35,T,153.35,M,0.02,N,,,D*66\r\n$IIMWV,082,R,06.41,N,A*2A\r\n$IIVWT,082,R,06.39,N,03.29,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121040,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121040,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,153.53,T,153.53,M,0.01,N,,,D*65\r\n$IIMWV,088,T,06.78,N,A*2C\r\n$IIVWT,088,R,06.78,N,03.49,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121042,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121042,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,154.18,T,154.18,M,0.00,N,,,D*64\r\n$IIMWV,081,R,06.80,N,A*24\r\n$IIVWT,081,R,06.78,N,03.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121044,,,,00,*4A\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,155.32,T,155.32,M,0.00,N,,,D*64\r\n$IIMWV,107,T,06.39,N,A*2F\r\n$IIVWT,107,R,06.39,N,03.29,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121046,,,,00,*48\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121046,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,156.65,T,156.65,M,0.05,N,,,D*61\r\n$IIMWV,080,R,05.44,N,A*2E\r\n$IIVWT,080,R,05.42,N,02.79,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121048,,,,00,*46\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121048,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,157.76,T,157.76,M,0.01,N,,,D*65\r\n$IIMWV,070,T,04.84,N,A*2A\r\n$IIVWT,070,R,04.84,N,02.49,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121050,,,,00,*4F\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121050,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,158.76,T,158.76,M,0.03,N,,,D*67\r\n$IIMWV,080,R,04.27,N,A*2A\r\n$IIVWT,080,R,04.25,N,02.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121052,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121052,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,159.62,T,159.62,M,0.01,N,,,D*65\r\n$IIMWV,072,T,07.75,N,A*25\r\n$IIVWT,072,R,07.75,N,03.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121054,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121054,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,160.35,T,160.35,M,0.00,N,,,D*64\r\n$IIMWV,076,R,09.13,N,A*29\r\n$IIVWT,076,R,09.11,N,04.69,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121056,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121056,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.70,N,04.48,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,160.86,T,160.86,M,0.00,N,,,D*64\r\n$IIMWV,069,T,08.72,N,A*27\r\n$IIVWT,069,R,08.72,N,04.49,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121058,,,,00,*47\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121058,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.51,N,04.38,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,161.24,T,161.24,M,0.00,N,,,D*64\r\n$IIMWV,067,R,08.16,N,A*2D\r\n$IIVWT,067,R,08.14,N,04.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121100,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121100,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,161.64,T,161.64,M,0.00,N,,,D*64\r\n$IIMWV,071,T,07.73,N,A*20\r\n$IIVWT,071,R,07.73,N,03.98,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121102,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121102,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,162.29,T,162.29,M,0.00,N,,,D*64\r\n$IIMWV,070,R,06.80,N,A*2A\r\n$IIVWT,070,R,06.76,N,03.48,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121104,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121105,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.73,N,03.98,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,162.94,T,162.94,M,0.00,N,,,D*64\r\n$IIMWV,061,T,08.14,N,A*2F\r\n$IIVWT,061,R,08.14,N,04.19,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121106,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121107,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,163.71,T,163.71,M,0.00,N,,,D*64\r\n$IIMWV,062,R,07.19,N,A*28\r\n$IIVWT,062,R,07.17,N,03.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121108,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121109,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,164.70,T,164.70,M,0.00,N,,,D*64\r\n$IIMWV,053,T,06.37,N,A*21\r\n$IIVWT,053,R,06.37,N,03.28,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121110,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121111,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,165.73,T,165.73,M,0.00,N,,,D*64\r\n$IIMWV,060,R,05.83,N,A*2B\r\n$IIVWT,060,R,05.79,N,02.98,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121112,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121113,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,166.58,T,166.58,M,0.00,N,,,D*64\r\n$IIMWV,059,T,06.18,N,A*26\r\n$IIVWT,059,R,06.18,N,03.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121114,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,121115,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,167.96,T,167.96,M,0.00,N,,,D*64\r\n$IIMWV,065,R,06.22,N,A*26\r\n$IIVWT,065,R,06.18,N,03.18,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121117,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,121117,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,169.56,T,169.56,M,0.05,N,,,D*61\r\n$IIMWV,065,T,05.22,N,A*23\r\n$IIVWT,065,R,05.22,N,02.69,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121119,,,,00,*43\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,121119,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,169.39,T,169.39,M,0.06,N,,,D*62\r\n$IIMWV,072,R,06.41,N,A*25\r\n$IIVWT,072,R,06.39,N,03.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121121,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,121121,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,169.40,T,169.40,M,0.07,N,,,D*63\r\n$IIMWV,082,T,06.18,N,A*20\r\n$IIVWT,082,R,06.18,N,03.18,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121123,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,121123,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,169.50,T,169.50,M,0.04,N,,,D*60\r\n$IIMWV,062,R,07.19,N,A*28\r\n$IIVWT,062,R,07.17,N,03.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121125,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121125,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,169.62,T,169.62,M,0.06,N,,,D*62\r\n$IIMWV,056,T,05.81,N,A*2A\r\n$IIVWT,056,R,05.81,N,02.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121127,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,121127,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,171.21,T,171.21,M,0.04,N,,,D*60\r\n$IIMWV,093,R,05.83,N,A*27\r\n$IIVWT,093,R,05.81,N,02.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121129,,,,00,*40\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121129,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,172.70,T,172.70,M,0.06,N,,,D*62\r\n$IIMWV,098,T,05.40,N,A*25\r\n$IIVWT,098,R,05.40,N,02.78,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121131,,,,00,*49\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121131,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,174.17,T,174.17,M,0.04,N,,,D*60\r\n$IIMWV,101,R,06.41,N,A*20\r\n$IIVWT,101,R,06.39,N,03.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121133,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121133,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,175.77,T,175.77,M,0.06,N,,,D*62\r\n$IIMWV,055,T,05.22,N,A*20\r\n$IIVWT,055,R,05.22,N,02.69,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121135,,,,00,*4D\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121135,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,177.22,T,177.22,M,0.04,N,,,D*60\r\n$IIMWV,092,R,05.44,N,A*2D\r\n$IIVWT,092,R,05.42,N,02.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121137,,,,00,*4F\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,121137,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.33,T,178.33,M,0.09,N,,,D*6D\r\n$IIMWV,079,T,03.86,N,A*26\r\n$IIVWT,079,R,03.86,N,01.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121139,,,,00,*41\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.927,E,121139,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.03,T,179.03,M,0.05,N,,,D*61\r\n$IIMWV,084,R,06.22,N,A*29\r\n$IIVWT,085,R,06.20,N,03.19,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121141,,,,00,*4E\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.613,N,02325.927,E,121141,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.53,T,179.53,M,0.01,N,,,D*65\r\n$IIMWV,076,T,05.81,N,A*28\r\n$IIVWT,076,R,05.81,N,02.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121143,,,,00,*4C\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121143,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,180.01,T,180.01,M,0.03,N,,,D*67\r\n$IIMWV,031,R,07.19,N,A*2E\r\n$IIVWT,031,R,07.15,N,03.68,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121145,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121146,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.05,T,179.05,M,0.06,N,,,D*62\r\n$IIMWV,088,T,07.17,N,A*24\r\n$IIVWT,088,R,07.17,N,03.69,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121147,,,,00,*48\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.927,E,121148,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.09,T,179.09,M,0.01,N,,,D*65\r\n$IIMWV,088,R,07.58,N,A*29\r\n$IIVWT,088,R,07.56,N,03.89,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121149,,,,00,*46\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.928,E,121150,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.78,N,03.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.28,T,179.28,M,0.05,N,,,D*61\r\n$IIMWV,104,T,06.20,N,A*24\r\n$IIVWT,104,R,06.20,N,03.19,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121151,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.928,E,121152,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,177.02,T,177.02,M,0.09,N,,,D*6D\r\n$IIMWV,072,R,05.44,N,A*23\r\n$IIVWT,072,R,05.42,N,02.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121153,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121154,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,175.30,T,175.30,M,0.05,N,,,D*61\r\n$IIMWV,104,T,05.79,N,A*2B\r\n$IIVWT,104,R,05.79,N,02.98,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121155,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121156,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,176.87,T,176.87,M,0.09,N,,,D*6D\r\n$IIMWV,108,R,04.85,N,A*23\r\n$IIVWT,108,R,04.84,N,02.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121158,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121158,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,177.69,T,177.69,M,0.10,N,,,D*65\r\n$IIMWV,094,T,04.45,N,A*2D\r\n$IIVWT,094,R,04.45,N,02.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121200,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121200,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.02,T,178.02,M,0.10,N,,,D*65\r\n$IIMWV,072,R,05.24,N,A*25\r\n$IIVWT,072,R,05.22,N,02.69,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121202,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.928,E,121202,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.31,T,178.31,M,0.10,N,,,D*65\r\n$IIMWV,066,T,03.86,N,A*28\r\n$IIVWT,066,R,03.86,N,01.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121204,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,121204,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.55,T,178.55,M,0.02,N,,,D*66\r\n$IIMWV,070,R,03.49,N,A*2A\r\n$IIVWT,070,R,03.46,N,01.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121206,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,121206,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.66,T,178.66,M,0.01,N,,,D*65\r\n$IIMWV,102,T,04.45,N,A*23\r\n$IIVWT,102,R,04.45,N,02.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121208,,,,00,*40\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121208,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.72,T,178.72,M,0.00,N,,,D*64\r\n$IIMWV,090,R,05.24,N,A*29\r\n$IIVWT,090,R,05.22,N,02.69,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121210,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121210,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,178.93,T,178.93,M,0.00,N,,,D*64\r\n$IIMWV,077,T,05.20,N,A*22\r\n$IIVWT,077,R,05.20,N,02.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121212,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121212,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.41,T,179.41,M,0.00,N,,,D*64\r\n$IIMWV,040,R,05.24,N,A*24\r\n$IIVWT,040,R,05.22,N,02.69,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121214,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121214,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,179.92,T,179.92,M,0.00,N,,,D*64\r\n$IIMWV,056,T,04.43,N,A*25\r\n$IIVWT,056,R,04.43,N,02.28,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121216,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121216,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,180.80,T,180.80,M,0.00,N,,,D*64\r\n$IIMWV,088,R,05.83,N,A*2D\r\n$IIVWT,088,R,05.81,N,02.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121218,,,,00,*41\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.927,E,121218,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,182.30,T,182.30,M,0.05,N,,,D*61\r\n$IIMWV,060,T,05.20,N,A*24\r\n$IIVWT,060,R,05.20,N,02.68,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121220,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.927,E,121220,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,184.05,T,184.05,M,0.01,N,,,D*65\r\n$IIMWV,061,R,04.27,N,A*25\r\n$IIVWT,061,R,04.23,N,02.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121222,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121222,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,186.96,T,186.96,M,0.08,N,,,D*6C\r\n$IIMWV,058,T,04.45,N,A*2D\r\n$IIVWT,058,R,04.45,N,02.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121224,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121224,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,190.61,T,190.61,M,0.09,N,,,D*6D\r\n$IIMWV,070,R,04.47,N,A*23\r\n$IIVWT,070,R,04.45,N,02.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121226,,,,00,*4C\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121226,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,193.21,T,193.21,M,0.02,N,,,D*66\r\n$IIMWV,066,T,03.86,N,A*28\r\n$IIVWT,066,R,03.86,N,01.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121228,,,,00,*42\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121228,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,194.83,T,194.83,M,0.01,N,,,D*65\r\n$IIMWV,075,R,03.49,N,A*2F\r\n$IIVWT,075,R,03.47,N,01.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121230,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121231,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,196.08,T,196.08,M,0.00,N,,,D*64\r\n$IIMWV,070,T,04.45,N,A*27\r\n$IIVWT,070,R,04.45,N,02.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121232,,,,00,*49\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121233,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,197.17,T,197.17,M,0.00,N,,,D*64\r\n$IIMWV,065,R,04.85,N,A*29\r\n$IIVWT,065,R,04.84,N,02.49,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121234,,,,00,*4F\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121235,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,197.91,T,197.91,M,0.00,N,,,D*64\r\n$IIMWV,060,T,05.81,N,A*2F\r\n$IIVWT,060,R,05.81,N,02.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121236,,,,00,*4D\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121237,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.45,T,198.45,M,0.00,N,,,D*64\r\n$IIMWV,054,R,06.22,N,A*24\r\n$IIVWT,054,R,06.20,N,03.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121238,,,,00,*43\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121239,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.80,T,198.80,M,0.00,N,,,D*64\r\n$IIMWV,057,T,06.37,N,A*25\r\n$IIVWT,057,R,06.37,N,03.28,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121241,,,,00,*4D\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121241,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.83,T,198.83,M,0.05,N,,,D*61\r\n$IIMWV,082,R,07.58,N,A*23\r\n$IIVWT,082,R,07.54,N,03.88,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121243,,,,00,*4F\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121243,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.68,T,198.68,M,0.06,N,,,D*62\r\n$IIMWV,042,T,06.76,N,A*24\r\n$IIVWT,042,R,06.76,N,03.48,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121245,,,,00,*49\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121245,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.50,T,198.50,M,0.09,N,,,D*6D\r\n$IIMWV,076,R,05.44,N,A*27\r\n$IIVWT,076,R,05.42,N,02.79,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121247,,,,00,*4B\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121247,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,198.09,T,198.09,M,0.10,N,,,D*65\r\n$IIMWV,109,T,04.45,N,A*28\r\n$IIVWT,109,R,04.45,N,02.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121249,,,,00,*45\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121249,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,197.73,T,197.73,M,0.10,N,,,D*65\r\n$IIMWV,106,R,03.88,N,A*27\r\n$IIVWT,106,R,03.86,N,01.99,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121251,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121251,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,197.25,T,197.25,M,0.10,N,,,D*65\r\n$IIMWV,075,T,03.86,N,A*2A\r\n$IIVWT,075,R,03.86,N,01.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121253,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121253,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,196.86,T,196.86,M,0.10,N,,,D*65\r\n$IIMWV,082,R,04.27,N,A*28\r\n$IIVWT,082,R,04.25,N,02.19,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121255,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121255,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,196.39,T,196.39,M,0.10,N,,,D*65\r\n$IIMWV,077,T,04.25,N,A*26\r\n$IIVWT,077,R,04.25,N,02.19,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121257,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121257,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,195.92,T,195.92,M,0.10,N,,,D*65\r\n$IIMWV,064,R,04.27,N,A*20\r\n$IIVWT,064,R,04.25,N,02.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121259,,,,00,*44\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121259,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,195.75,T,195.75,M,0.05,N,,,D*61\r\n$IIMWV,062,T,03.86,N,A*2C\r\n$IIVWT,062,R,03.86,N,01.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121301,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121301,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,195.84,T,195.84,M,0.01,N,,,D*65\r\n$IIMWV,052,R,03.88,N,A*27\r\n$IIVWT,053,R,03.86,N,01.99,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121303,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121303,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,196.36,T,196.36,M,0.00,N,,,D*64\r\n$IIMWV,044,T,03.46,N,A*24\r\n$IIVWT,044,R,03.46,N,01.78,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121305,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121305,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,197.72,T,197.72,M,0.05,N,,,D*61\r\n$IIMWV,052,R,04.47,N,A*23\r\n$IIVWT,052,R,04.43,N,02.28,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121307,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121307,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,200.11,T,200.11,M,0.09,N,,,D*6D\r\n$IIMWV,039,T,03.47,N,A*2F\r\n$IIVWT,039,R,03.47,N,01.79,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121309,,,,00,*40\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121309,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,202.47,T,202.47,M,0.10,N,,,D*65\r\n$IIMWV,037,R,03.11,N,A*24\r\n$IIVWT,037,R,03.09,N,01.59,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121311,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121312,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.02,T,204.02,M,0.10,N,,,D*65\r\n$IIMWV,052,T,02.87,N,A*2F\r\n$IIVWT,052,R,02.87,N,01.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121313,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121314,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,205.51,T,205.51,M,0.02,N,,,D*66\r\n$IIMWV,055,R,02.91,N,A*29\r\n$IIVWT,055,R,02.89,N,01.49,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121315,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121316,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.75,T,206.75,M,0.01,N,,,D*65\r\n$IIMWV,057,T,02.50,N,A*20\r\n$IIVWT,057,R,02.50,N,01.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121317,,,,00,*4F\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121318,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,207.86,T,207.86,M,0.00,N,,,D*64\r\n$IIMWV,057,R,02.52,N,A*24\r\n$IIVWT,057,R,02.50,N,01.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121319,,,,00,*41\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121320,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,209.11,T,209.11,M,0.00,N,,,D*64\r\n$IIMWV,058,T,02.50,N,A*2F\r\n$IIVWT,058,R,02.50,N,01.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121321,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121322,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,210.30,T,210.30,M,0.00,N,,,D*64\r\n$IIMWV,063,R,02.52,N,A*23\r\n$IIVWT,063,R,02.50,N,01.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121324,,,,00,*4F\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121324,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,211.03,T,211.03,M,0.00,N,,,D*64\r\n$IIMWV,059,T,03.47,N,A*29\r\n$IIVWT,059,R,03.47,N,01.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121326,,,,00,*4D\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121326,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,211.73,T,211.73,M,0.00,N,,,D*64\r\n$IIMWV,056,R,04.27,N,A*21\r\n$IIVWT,056,R,04.23,N,02.18,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121328,,,,00,*43\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121328,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,212.41,T,212.41,M,0.00,N,,,D*64\r\n$IIMWV,075,T,03.46,N,A*26\r\n$IIVWT,075,R,03.46,N,01.78,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121330,,,,00,*4A\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.926,E,121330,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,213.10,T,213.10,M,0.00,N,,,D*64\r\n$IIMWV,060,R,03.88,N,A*26\r\n$IIVWT,060,R,03.84,N,01.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121332,,,,00,*48\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121332,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,213.75,T,213.75,M,0.05,N,,,D*61\r\n$IIMWV,058,T,03.84,N,A*27\r\n$IIVWT,058,R,03.84,N,01.98,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121334,,,,00,*4E\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121334,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.44,T,214.44,M,0.01,N,,,D*65\r\n$IIMWV,051,R,04.47,N,A*20\r\n$IIVWT,051,R,04.43,N,02.28,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121336,,,,00,*4C\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121336,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.99,T,214.99,M,0.00,N,,,D*64\r\n$IIMWV,046,T,04.82,N,A*29\r\n$IIVWT,046,R,04.82,N,02.48,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121338,,,,00,*42\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121338,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.62,T,215.62,M,0.00,N,,,D*64\r\n$IIMWV,040,R,04.27,N,A*26\r\n$IIVWT,040,R,04.25,N,02.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121340,,,,00,*4D\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121340,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.88,T,215.88,M,0.00,N,,,D*64\r\n$IIMWV,042,T,03.47,N,A*23\r\n$IIVWT,042,R,03.47,N,01.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121342,,,,00,*4F\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121342,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.17,T,215.17,M,0.08,N,,,D*6C\r\n$IIMWV,050,R,03.49,N,A*28\r\n$IIVWT,050,R,03.47,N,01.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121344,,,,00,*49\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121344,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.04,T,214.04,M,0.07,N,,,D*63\r\n$IIMWV,074,T,02.89,N,A*25\r\n$IIVWT,074,R,02.89,N,01.49,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121346,,,,00,*4B\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121346,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.14,T,214.14,M,0.02,N,,,D*66\r\n$IIMWV,092,R,02.52,N,A*2D\r\n$IIVWT,092,R,02.50,N,01.29,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121348,,,,00,*45\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121348,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.88,T,214.88,M,0.00,N,,,D*64\r\n$IIMWV,094,T,02.11,N,A*2A\r\n$IIVWT,094,R,02.11,N,01.09,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121350,,,,00,*4C\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121350,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.29,T,215.29,M,0.00,N,,,D*64\r\n$IIMWV,092,R,01.94,N,A*24\r\n$IIVWT,092,R,01.92,N,00.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121352,,,,00,*4E\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121352,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.70,T,215.70,M,0.00,N,,,D*64\r\n$IIMWV,094,T,01.53,N,A*2F\r\n$IIVWT,094,R,01.53,N,00.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121354,,,,00,*48\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121355,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,216.82,T,216.82,M,0.00,N,,,D*64\r\n$IIMWV,095,R,01.55,N,A*2E\r\n$IIVWT,095,R,01.53,N,00.79,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121356,,,,00,*4A\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121357,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,217.88,T,217.88,M,0.05,N,,,D*61\r\n$IIMWV,097,T,01.53,N,A*2C\r\n$IIVWT,097,R,01.53,N,00.79,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121358,,,,00,*44\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121359,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,218.45,T,218.45,M,0.01,N,,,D*65\r\n$IIMWV,085,R,01.94,N,A*22\r\n$IIVWT,085,R,01.92,N,00.99,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121400,,,,00,*4E\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121401,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,218.16,T,218.16,M,0.03,N,,,D*67\r\n$IIMWV,088,T,01.92,N,A*2F\r\n$IIVWT,088,R,01.92,N,00.99,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121402,,,,00,*4C\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121403,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,215.09,T,215.09,M,0.03,N,,,D*67\r\n$IIMWV,080,R,01.94,N,A*27\r\n$IIVWT,080,R,01.92,N,00.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121404,,,,00,*4A\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121405,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,212.81,T,212.81,M,0.07,N,,,D*63\r\n$IIMWV,079,T,01.92,N,A*21\r\n$IIVWT,079,R,01.92,N,00.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121407,,,,00,*49\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121407,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,211.75,T,211.75,M,0.07,N,,,D*63\r\n$IIMWV,074,R,01.94,N,A*2C\r\n$IIVWT,075,R,01.92,N,00.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121409,,,,00,*47\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.612,N,02325.926,E,121409,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,210.46,T,210.46,M,0.07,N,,,D*63\r\n$IIMWV,084,T,01.92,N,A*23\r\n$IIVWT,084,R,01.92,N,00.99,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121411,,,,00,*4E\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121411,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,209.59,T,209.59,M,0.07,N,,,D*63\r\n$IIMWV,079,R,02.13,N,A*2D\r\n$IIVWT,079,R,02.11,N,01.09,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121413,,,,00,*4C\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121413,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,208.72,T,208.72,M,0.04,N,,,D*60\r\n$IIMWV,084,T,02.11,N,A*2B\r\n$IIVWT,084,R,02.11,N,01.09,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121415,,,,00,*4A\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121415,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,208.30,T,208.30,M,0.06,N,,,D*62\r\n$IIMWV,082,R,01.94,N,A*25\r\n$IIVWT,082,R,01.92,N,00.99,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121417,,,,00,*48\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121417,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,207.42,T,207.42,M,0.02,N,,,D*66\r\n$IIMWV,089,T,01.92,N,A*2E\r\n$IIVWT,089,R,01.92,N,00.99,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121419,,,,00,*46\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.927,E,121419,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.81,T,206.81,M,0.08,N,,,D*6C\r\n$IIMWV,084,R,01.94,N,A*23\r\n$IIVWT,084,R,01.92,N,00.99,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121421,,,,00,*4D\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.927,E,121421,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.35,T,206.35,M,0.02,N,,,D*66\r\n$IIMWV,081,T,02.11,N,A*2E\r\n$IIVWT,081,R,02.11,N,01.09,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121423,,,,00,*4F\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.927,E,121423,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,205.81,T,205.81,M,0.05,N,,,D*61\r\n$IIMWV,051,R,02.52,N,A*22\r\n$IIVWT,051,R,02.48,N,01.28,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121425,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121425,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.37,T,204.37,M,0.09,N,,,D*6D\r\n$IIMWV,058,T,02.89,N,A*2B\r\n$IIVWT,058,R,02.89,N,01.49,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121427,,,,00,*4B\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.927,E,121427,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,203.57,T,203.57,M,0.10,N,,,D*65\r\n$IIMWV,062,R,03.49,N,A*29\r\n$IIVWT,062,R,03.47,N,01.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121429,,,,00,*45\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.927,E,121429,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,202.76,T,202.76,M,0.02,N,,,D*66\r\n$IIMWV,073,T,03.84,N,A*2E\r\n$IIVWT,073,R,03.84,N,01.98,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121431,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.927,E,121431,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,202.24,T,202.24,M,0.06,N,,,D*62\r\n$IIMWV,071,R,04.27,N,A*24\r\n$IIVWT,071,R,04.25,N,02.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121433,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121433,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,201.76,T,201.76,M,0.01,N,,,D*65\r\n$IIMWV,067,T,04.45,N,A*21\r\n$IIVWT,067,R,04.45,N,02.29,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121435,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121435,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,202.07,T,202.07,M,0.08,N,,,D*6C\r\n$IIMWV,077,R,04.47,N,A*24\r\n$IIVWT,077,R,04.45,N,02.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121437,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121438,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,202.64,T,202.64,M,0.07,N,,,D*63\r\n$IIMWV,088,T,04.45,N,A*20\r\n$IIVWT,088,R,04.45,N,02.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121439,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121440,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,203.34,T,203.34,M,0.04,N,,,D*60\r\n$IIMWV,090,R,04.47,N,A*2D\r\n$IIVWT,091,R,04.45,N,02.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121441,,,,00,*4B\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.927,E,121442,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,207.23,T,207.23,M,0.09,N,,,D*6D\r\n$IIMWV,086,T,05.22,N,A*2E\r\n$IIVWT,086,R,05.22,N,02.69,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121443,,,,00,*49\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.927,E,121444,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,210.16,T,210.16,M,0.10,N,,,D*65\r\n$IIMWV,095,R,05.24,N,A*2C\r\n$IIVWT,095,R,05.22,N,02.69,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121445,,,,00,*4F\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.927,E,121446,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,214.14,T,214.14,M,0.10,N,,,D*65\r\n$IIMWV,103,T,04.45,N,A*22\r\n$IIVWT,103,R,04.45,N,02.29,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121447,,,,00,*4D\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.927,E,121448,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,216.98,T,216.98,M,0.05,N,,,D*61\r\n$IIMWV,095,R,04.27,N,A*2E\r\n$IIVWT,095,R,04.25,N,02.19,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121450,,,,00,*4B\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121450,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,220.42,T,220.42,M,0.09,N,,,D*6D\r\n$IIMWV,094,T,04.25,N,A*2B\r\n$IIVWT,094,R,04.25,N,02.19,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121452,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121452,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,223.13,T,223.13,M,0.10,N,,,D*65\r\n$IIMWV,096,R,03.88,N,A*2F\r\n$IIVWT,096,R,03.86,N,01.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121454,,,,00,*4F\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121454,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.03,T,225.03,M,0.02,N,,,D*66\r\n$IIMWV,087,T,03.47,N,A*2A\r\n$IIVWT,087,R,03.47,N,01.79,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121456,,,,00,*4D\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121456,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,226.41,T,226.41,M,0.01,N,,,D*65\r\n$IIMWV,081,R,03.88,N,A*29\r\n$IIVWT,081,R,03.86,N,01.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121458,,,,00,*43\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.927,E,121458,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.83,T,227.83,M,0.05,N,,,D*61\r\n$IIMWV,089,T,03.86,N,A*29\r\n$IIVWT,089,R,03.86,N,01.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121500,,,,00,*4F\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.927,E,121500,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,228.11,T,228.11,M,0.01,N,,,D*65\r\n$IIMWV,085,R,03.88,N,A*2D\r\n$IIVWT,085,R,03.86,N,01.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121502,,,,00,*4D\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.927,E,121502,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.30,T,227.30,M,0.03,N,,,D*67\r\n$IIMWV,096,T,04.45,N,A*2F\r\n$IIVWT,096,R,04.45,N,02.29,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121504,,,,00,*4B\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.927,E,121504,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,226.32,T,226.32,M,0.08,N,,,D*6C\r\n$IIMWV,080,R,04.27,N,A*2A\r\n$IIVWT,080,R,04.25,N,02.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121506,,,,00,*49\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.927,E,121506,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.53,T,225.53,M,0.05,N,,,D*61\r\n$IIMWV,082,T,04.45,N,A*2A\r\n$IIVWT,082,R,04.45,N,02.29,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121508,,,,00,*47\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.927,E,121508,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,224.93,T,224.93,M,0.09,N,,,D*6D\r\n$IIMWV,090,R,05.24,N,A*29\r\n$IIVWT,090,R,05.22,N,02.69,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121510,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121510,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.01,T,225.01,M,0.05,N,,,D*61\r\n$IIMWV,083,T,04.43,N,A*2D\r\n$IIVWT,083,R,04.43,N,02.28,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121512,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121512,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.25,T,225.25,M,0.06,N,,,D*62\r\n$IIMWV,073,R,04.47,N,A*20\r\n$IIVWT,073,R,04.45,N,02.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121514,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.927,E,121514,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,223.56,T,223.56,M,0.04,N,,,D*60\r\n$IIMWV,061,T,04.23,N,A*27\r\n$IIVWT,061,R,04.23,N,02.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121516,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.927,E,121516,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.76,T,222.76,M,0.06,N,,,D*62\r\n$IIMWV,076,R,03.88,N,A*21\r\n$IIVWT,076,R,03.84,N,01.98,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121518,,,,00,*46\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121518,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.97,T,222.97,M,0.07,N,,,D*63\r\n$IIMWV,073,T,03.09,N,A*2B\r\n$IIVWT,073,R,03.09,N,01.59,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121520,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121521,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.91,T,222.91,M,0.04,N,,,D*60\r\n$IIMWV,074,R,03.49,N,A*2E\r\n$IIVWT,075,R,03.47,N,01.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121522,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121523,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.58,T,222.58,M,0.06,N,,,D*62\r\n$IIMWV,078,T,03.47,N,A*2A\r\n$IIVWT,078,R,03.47,N,01.79,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121524,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121525,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.14,T,222.14,M,0.04,N,,,D*60\r\n$IIMWV,084,R,05.44,N,A*2A\r\n$IIVWT,084,R,05.42,N,02.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121526,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121527,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,221.39,T,221.39,M,0.06,N,,,D*62\r\n$IIMWV,096,T,06.20,N,A*2E\r\n$IIVWT,096,R,06.20,N,03.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121528,,,,00,*45\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121529,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,220.47,T,220.47,M,0.04,N,,,D*60\r\n$IIMWV,102,R,05.44,N,A*25\r\n$IIVWT,102,R,05.42,N,02.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121530,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121531,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,219.40,T,219.40,M,0.04,N,,,D*60\r\n$IIMWV,086,T,04.45,N,A*2E\r\n$IIVWT,086,R,04.45,N,02.29,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121533,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121533,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,219.15,T,219.15,M,0.09,N,,,D*6D\r\n$IIMWV,054,R,04.27,N,A*23\r\n$IIVWT,054,R,04.23,N,02.18,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121535,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121535,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,219.79,T,219.79,M,0.05,N,,,D*61\r\n$IIMWV,065,T,05.22,N,A*23\r\n$IIVWT,065,R,05.22,N,02.69,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121537,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121537,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.30,T,222.30,M,0.09,N,,,D*6D\r\n$IIMWV,062,R,04.27,N,A*26\r\n$IIVWT,062,R,04.25,N,02.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121539,,,,00,*45\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121539,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,223.72,T,223.72,M,0.02,N,,,D*66\r\n$IIMWV,080,T,04.25,N,A*2E\r\n$IIVWT,080,R,04.25,N,02.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121541,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121541,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,224.63,T,224.63,M,0.01,N,,,D*65\r\n$IIMWV,073,R,03.88,N,A*24\r\n$IIVWT,073,R,03.84,N,01.98,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121543,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121543,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.01,T,225.01,M,0.00,N,,,D*64\r\n$IIMWV,083,T,04.45,N,A*2B\r\n$IIVWT,083,R,04.45,N,02.29,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121545,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121545,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.97,T,225.97,M,0.08,N,,,D*6C\r\n$IIMWV,091,R,03.88,N,A*28\r\n$IIVWT,091,R,03.86,N,01.99,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121547,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121547,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.02,T,227.02,M,0.09,N,,,D*6D\r\n$IIMWV,081,T,04.45,N,A*29\r\n$IIVWT,081,R,04.45,N,02.29,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121549,,,,00,*42\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121549,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.55,T,227.55,M,0.10,N,,,D*65\r\n$IIMWV,080,R,04.27,N,A*2A\r\n$IIVWT,080,R,04.25,N,02.19,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121551,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121551,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.46,T,229.46,M,0.07,N,,,D*63\r\n$IIMWV,068,T,05.22,N,A*2E\r\n$IIVWT,068,R,05.22,N,02.69,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121553,,,,00,*49\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121553,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.92,T,230.92,M,0.07,N,,,D*63\r\n$IIMWV,060,R,04.85,N,A*2C\r\n$IIVWT,060,R,04.84,N,02.49,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121555,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121555,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.48,T,231.48,M,0.02,N,,,D*66\r\n$IIMWV,065,T,05.40,N,A*27\r\n$IIVWT,065,R,05.40,N,02.78,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121557,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121557,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.61,T,231.61,M,0.03,N,,,D*67\r\n$IIMWV,057,R,05.24,N,A*22\r\n$IIVWT,057,R,05.22,N,02.69,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121559,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121559,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.53,T,231.53,M,0.03,N,,,D*67\r\n$IIMWV,057,T,05.22,N,A*22\r\n$IIVWT,057,R,05.22,N,02.69,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121601,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121601,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.66,T,231.66,M,0.01,N,,,D*65\r\n$IIMWV,062,R,05.24,N,A*24\r\n$IIVWT,062,R,05.22,N,02.69,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121603,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121604,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.16,T,232.16,M,0.00,N,,,D*64\r\n$IIMWV,057,T,04.84,N,A*2F\r\n$IIVWT,057,R,04.84,N,02.49,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121605,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121606,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.54,T,232.54,M,0.03,N,,,D*67\r\n$IIMWV,076,R,04.47,N,A*25\r\n$IIVWT,076,R,04.43,N,02.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121607,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121608,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.98,T,232.98,M,0.01,N,,,D*65\r\n$IIMWV,064,T,04.82,N,A*29\r\n$IIVWT,064,R,04.82,N,02.48,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121609,,,,00,*45\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121610,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.30,T,233.30,M,0.00,N,,,D*64\r\n$IIMWV,037,R,04.85,N,A*2E\r\n$IIVWT,037,R,04.82,N,02.48,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121611,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121612,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.70,T,233.70,M,0.04,N,,,D*60\r\n$IIMWV,046,T,04.25,N,A*24\r\n$IIVWT,046,R,04.25,N,02.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121614,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121614,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.35,T,234.35,M,0.06,N,,,D*62\r\n$IIMWV,057,R,04.27,N,A*20\r\n$IIVWT,057,R,04.25,N,02.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121616,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121616,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.29,T,234.29,M,0.04,N,,,D*60\r\n$IIMWV,058,T,03.46,N,A*29\r\n$IIVWT,058,R,03.46,N,01.78,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121618,,,,00,*45\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121618,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.37,T,234.37,M,0.06,N,,,D*62\r\n$IIMWV,071,R,03.88,N,A*26\r\n$IIVWT,071,R,03.84,N,01.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121620,,,,00,*4E\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121620,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.92,T,233.92,M,0.09,N,,,D*6D\r\n$IIMWV,068,T,03.84,N,A*24\r\n$IIVWT,068,R,03.84,N,01.98,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121622,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121622,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.68,T,232.68,M,0.12,N,,,D*67\r\n$IIMWV,050,R,03.49,N,A*28\r\n$IIVWT,050,R,03.47,N,01.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121624,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121624,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.39,T,231.39,M,0.06,N,,,D*62\r\n$IIMWV,070,T,03.86,N,A*2F\r\n$IIVWT,070,R,03.86,N,01.99,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121626,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121626,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.00,T,230.00,M,0.06,N,,,D*62\r\n$IIMWV,041,R,03.11,N,A*25\r\n$IIVWT,041,R,03.09,N,01.59,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121628,,,,00,*46\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121628,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.17,T,231.17,M,0.09,N,,,D*6D\r\n$IIMWV,063,T,03.47,N,A*20\r\n$IIVWT,063,R,03.47,N,01.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121630,,,,00,*4F\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121630,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.64,T,231.64,M,0.10,N,,,D*65\r\n$IIMWV,040,R,03.49,N,A*29\r\n$IIVWT,040,R,03.47,N,01.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121632,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121632,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.36,T,230.36,M,0.10,N,,,D*65\r\n$IIMWV,050,T,03.46,N,A*21\r\n$IIVWT,050,R,03.46,N,01.78,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121634,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121634,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.02,T,229.02,M,0.05,N,,,D*61\r\n$IIMWV,047,R,03.11,N,A*23\r\n$IIVWT,047,R,03.09,N,01.59,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121636,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121636,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.85,T,227.85,M,0.04,N,,,D*60\r\n$IIMWV,056,T,03.09,N,A*2C\r\n$IIVWT,056,R,03.09,N,01.59,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121638,,,,00,*47\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121638,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.31,T,227.31,M,0.06,N,,,D*62\r\n$IIMWV,063,R,02.91,N,A*2C\r\n$IIVWT,063,R,02.89,N,01.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121640,,,,00,*48\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121640,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.30,T,227.30,M,0.09,N,,,D*6D\r\n$IIMWV,066,T,02.89,N,A*26\r\n$IIVWT,066,R,02.89,N,01.49,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121642,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121642,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.32,T,229.32,M,0.07,N,,,D*63\r\n$IIMWV,071,R,03.11,N,A*26\r\n$IIVWT,071,R,03.09,N,01.59,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121644,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121644,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.50,T,232.50,M,0.09,N,,,D*6D\r\n$IIMWV,072,T,03.09,N,A*2A\r\n$IIVWT,072,R,03.09,N,01.59,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121646,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121647,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.53,T,234.53,M,0.10,N,,,D*65\r\n$IIMWV,070,R,03.49,N,A*2A\r\n$IIVWT,070,R,03.47,N,01.79,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121648,,,,00,*40\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121649,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.61,T,236.61,M,0.10,N,,,D*65\r\n$IIMWV,052,T,03.84,N,A*2D\r\n$IIVWT,052,R,03.84,N,01.98,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121650,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121651,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.73,T,237.73,M,0.10,N,,,D*65\r\n$IIMWV,070,R,04.27,N,A*25\r\n$IIVWT,070,R,04.25,N,02.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121652,,,,00,*4B\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121653,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.26,T,239.26,M,0.05,N,,,D*61\r\n$IIMWV,071,T,04.25,N,A*20\r\n$IIVWT,071,R,04.25,N,02.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121654,,,,00,*4D\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121655,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.22,T,241.22,M,0.09,N,,,D*6D\r\n$IIMWV,076,R,04.85,N,A*2B\r\n$IIVWT,076,R,04.84,N,02.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121657,,,,00,*4E\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121657,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.56,T,242.56,M,0.10,N,,,D*65\r\n$IIMWV,066,T,04.25,N,A*26\r\n$IIVWT,066,R,04.25,N,02.19,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121659,,,,00,*40\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121659,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.79,T,243.79,M,0.02,N,,,D*66\r\n$IIMWV,065,R,04.27,N,A*21\r\n$IIVWT,065,R,04.25,N,02.19,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121701,,,,00,*4C\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121701,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,245.12,T,245.12,M,0.06,N,,,D*62\r\n$IIMWV,051,T,04.25,N,A*22\r\n$IIVWT,051,R,04.25,N,02.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121703,,,,00,*4E\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.612,N,02325.926,E,121703,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,247.25,T,247.25,M,0.04,N,,,D*60\r\n$IIMWV,041,R,04.27,N,A*27\r\n$IIVWT,041,R,04.25,N,02.19,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121705,,,,00,*48\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121705,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,247.53,T,247.53,M,0.06,N,,,D*62\r\n$IIMWV,033,T,03.47,N,A*25\r\n$IIVWT,033,R,03.47,N,01.79,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121707,,,,00,*4A\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.612,N,02325.926,E,121707,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,245.91,T,245.91,M,0.09,N,,,D*6D\r\n$IIMWV,054,R,03.49,N,A*2C\r\n$IIVWT,054,R,03.46,N,01.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121709,,,,00,*44\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.612,N,02325.926,E,121709,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,244.03,T,244.03,M,0.10,N,,,D*65\r\n$IIMWV,049,T,03.47,N,A*28\r\n$IIVWT,049,R,03.47,N,01.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121711,,,,00,*4D\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121711,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.61,T,242.61,M,0.05,N,,,D*61\r\n$IIMWV,052,R,04.47,N,A*23\r\n$IIVWT,052,R,04.43,N,02.28,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121713,,,,00,*4F\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121713,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.20,T,241.20,M,0.09,N,,,D*6D\r\n$IIMWV,061,T,04.25,N,A*21\r\n$IIVWT,061,R,04.25,N,02.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121715,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121715,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.57,T,239.57,M,0.05,N,,,D*61\r\n$IIMWV,060,R,04.47,N,A*22\r\n$IIVWT,060,R,04.43,N,02.28,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121717,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.612,N,02325.926,E,121717,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.17,T,238.17,M,0.04,N,,,D*60\r\n$IIMWV,066,T,04.82,N,A*2B\r\n$IIVWT,066,R,04.82,N,02.48,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121719,,,,00,*45\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121719,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.14,T,238.14,M,0.01,N,,,D*65\r\n$IIMWV,076,R,04.85,N,A*2B\r\n$IIVWT,076,R,04.84,N,02.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121721,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.612,N,02325.926,E,121721,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.41,T,238.41,M,0.05,N,,,D*61\r\n$IIMWV,102,T,04.85,N,A*2F\r\n$IIVWT,102,R,04.85,N,02.50,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121723,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121723,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.55,T,237.55,M,0.09,N,,,D*6D\r\n$IIMWV,064,R,04.27,N,A*20\r\n$IIVWT,064,R,04.25,N,02.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121725,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121725,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.39,T,236.39,M,0.10,N,,,D*65\r\n$IIMWV,047,T,03.09,N,A*2C\r\n$IIVWT,047,R,03.09,N,01.59,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121727,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121728,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.60,T,235.60,M,0.02,N,,,D*66\r\n$IIMWV,049,R,02.91,N,A*24\r\n$IIVWT,049,R,02.87,N,01.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121729,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121730,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.95,T,234.95,M,0.06,N,,,D*62\r\n$IIMWV,052,T,02.50,N,A*25\r\n$IIVWT,052,R,02.50,N,01.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121731,,,,00,*4F\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121732,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.56,T,233.56,M,0.06,N,,,D*62\r\n$IIMWV,056,R,02.52,N,A*25\r\n$IIVWT,056,R,02.48,N,01.28,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121733,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121734,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.21,T,232.21,M,0.09,N,,,D*6D\r\n$IIMWV,080,T,02.11,N,A*2F\r\n$IIVWT,080,R,02.11,N,01.09,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121735,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121736,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.10,T,231.10,M,0.07,N,,,D*63\r\n$IIMWV,083,R,02.91,N,A*22\r\n$IIVWT,083,R,02.89,N,01.49,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121737,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121738,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.09,T,230.09,M,0.10,N,,,D*65\r\n$IIMWV,085,T,03.47,N,A*28\r\n$IIVWT,085,R,03.47,N,01.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121740,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121740,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.82,T,229.82,M,0.07,N,,,D*63\r\n$IIMWV,077,R,03.11,N,A*20\r\n$IIVWT,077,R,03.07,N,01.58,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121742,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121742,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.25,T,230.25,M,0.02,N,,,D*66\r\n$IIMWV,075,T,03.09,N,A*2D\r\n$IIVWT,075,R,03.09,N,01.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121744,,,,00,*4D\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121744,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.11,T,231.11,M,0.00,N,,,D*64\r\n$IIMWV,064,R,03.49,N,A*2F\r\n$IIVWT,064,R,03.47,N,01.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121746,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121746,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.48,T,231.48,M,0.00,N,,,D*64\r\n$IIMWV,051,T,04.23,N,A*24\r\n$IIVWT,051,R,04.23,N,02.18,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121748,,,,00,*41\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.926,E,121748,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.67,T,231.67,M,0.00,N,,,D*64\r\n$IIMWV,074,R,04.27,N,A*21\r\n$IIVWT,075,R,04.23,N,02.18,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121750,,,,00,*48\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121750,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.04,T,232.04,M,0.00,N,,,D*64\r\n$IIMWV,081,T,04.43,N,A*2F\r\n$IIVWT,081,R,04.43,N,02.28,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121752,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.926,E,121752,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.56,T,232.56,M,0.00,N,,,D*64\r\n$IIMWV,084,R,04.47,N,A*28\r\n$IIVWT,085,R,04.45,N,02.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121754,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121754,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.44,T,233.44,M,0.00,N,,,D*64\r\n$IIMWV,089,T,04.25,N,A*27\r\n$IIVWT,089,R,04.25,N,02.19,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121756,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121756,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.88,T,234.88,M,0.03,N,,,D*67\r\n$IIMWV,071,R,03.88,N,A*26\r\n$IIVWT,071,R,03.84,N,01.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121758,,,,00,*40\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121758,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.84,T,235.84,M,0.01,N,,,D*65\r\n$IIMWV,068,T,03.86,N,A*26\r\n$IIVWT,068,R,03.86,N,01.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121800,,,,00,*42\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.926,E,121800,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.64,T,236.64,M,0.00,N,,,D*64\r\n$IIMWV,075,R,03.49,N,A*2F\r\n$IIVWT,075,R,03.46,N,01.78,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121802,,,,00,*40\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.612,N,02325.926,E,121802,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.33,T,237.33,M,0.00,N,,,D*64\r\n$IIMWV,058,T,03.86,N,A*25\r\n$IIVWT,058,R,03.86,N,01.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121804,,,,00,*46\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.926,E,121804,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.06,T,238.06,M,0.00,N,,,D*64\r\n$IIMWV,054,R,03.88,N,A*21\r\n$IIVWT,054,R,03.86,N,01.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121806,,,,00,*44\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.612,N,02325.926,E,121806,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.54,T,238.54,M,0.00,N,,,D*64\r\n$IIMWV,062,T,03.86,N,A*2C\r\n$IIVWT,062,R,03.86,N,01.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121808,,,,00,*4A\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.925,E,121808,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.94,T,238.94,M,0.00,N,,,D*64\r\n$IIMWV,099,R,04.47,N,A*24\r\n$IIVWT,099,R,04.45,N,02.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121810,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.612,N,02325.925,E,121811,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.41,T,239.41,M,0.08,N,,,D*6C\r\n$IIMWV,084,T,04.45,N,A*2C\r\n$IIVWT,084,R,04.45,N,02.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121812,,,,00,*41\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121813,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.02,T,240.02,M,0.09,N,,,D*6D\r\n$IIMWV,064,R,04.27,N,A*20\r\n$IIVWT,064,R,04.23,N,02.18,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121814,,,,00,*47\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121815,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.78,T,239.78,M,0.02,N,,,D*66\r\n$IIMWV,067,T,03.47,N,A*24\r\n$IIVWT,067,R,03.47,N,01.79,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121816,,,,00,*45\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121817,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.22,T,239.22,M,0.06,N,,,D*62\r\n$IIMWV,077,R,03.88,N,A*20\r\n$IIVWT,078,R,03.86,N,01.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121818,,,,00,*4B\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121819,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.55,T,239.55,M,0.09,N,,,D*6D\r\n$IIMWV,097,T,03.47,N,A*2B\r\n$IIVWT,097,R,03.47,N,01.79,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121820,,,,00,*40\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.611,N,02325.925,E,121821,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.60,T,240.60,M,0.02,N,,,D*66\r\n$IIMWV,089,R,02.91,N,A*28\r\n$IIVWT,090,R,02.89,N,01.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121823,,,,00,*43\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121823,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.87,T,240.87,M,0.01,N,,,D*65\r\n$IIMWV,054,T,02.89,N,A*27\r\n$IIVWT,054,R,02.89,N,01.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121825,,,,00,*45\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.611,N,02325.925,E,121825,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.94,T,240.94,M,0.00,N,,,D*64\r\n$IIMWV,061,R,02.91,N,A*2E\r\n$IIVWT,061,R,02.87,N,01.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121827,,,,00,*47\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.611,N,02325.925,E,121827,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.13,T,241.13,M,0.00,N,,,D*64\r\n$IIMWV,059,T,03.07,N,A*2D\r\n$IIVWT,059,R,03.07,N,01.58,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121829,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.611,N,02325.925,E,121829,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.91,T,240.91,M,0.00,N,,,D*64\r\n$IIMWV,057,R,03.11,N,A*22\r\n$IIVWT,057,R,03.09,N,01.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121831,,,,00,*40\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.611,N,02325.925,E,121831,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.85,T,239.85,M,0.00,N,,,D*64\r\n$IIMWV,072,T,02.89,N,A*23\r\n$IIVWT,072,R,02.89,N,01.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121833,,,,00,*42\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.925,E,121833,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.64,T,238.64,M,0.00,N,,,D*64\r\n$IIMWV,062,R,02.52,N,A*22\r\n$IIVWT,062,R,02.50,N,01.29,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121835,,,,00,*44\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.611,N,02325.925,E,121835,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.26,T,238.26,M,0.05,N,,,D*61\r\n$IIMWV,070,T,03.47,N,A*22\r\n$IIVWT,070,R,03.47,N,01.79,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121837,,,,00,*46\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.611,N,02325.925,E,121837,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.46,N,01.78,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.96,T,237.96,M,0.04,N,,,D*60\r\n$IIMWV,073,R,03.49,N,A*29\r\n$IIVWT,073,R,03.47,N,01.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121839,,,,00,*48\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.611,N,02325.925,E,121839,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.59,T,236.59,M,0.01,N,,,D*65\r\n$IIMWV,085,T,03.86,N,A*25\r\n$IIVWT,085,R,03.86,N,01.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121841,,,,00,*47\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.611,N,02325.925,E,121841,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.22,T,235.22,M,0.00,N,,,D*64\r\n$IIMWV,083,R,03.88,N,A*2B\r\n$IIVWT,083,R,03.86,N,01.99,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121843,,,,00,*45\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.611,N,02325.925,E,121843,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.53,T,234.53,M,0.00,N,,,D*64\r\n$IIMWV,092,T,03.47,N,A*2E\r\n$IIVWT,092,R,03.47,N,01.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121845,,,,00,*43\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121845,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.16,T,234.16,M,0.03,N,,,D*67\r\n$IIMWV,069,R,03.11,N,A*2F\r\n$IIVWT,069,R,03.09,N,01.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121847,,,,00,*41\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121847,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.44,T,232.44,M,0.03,N,,,D*67\r\n$IIMWV,052,T,03.09,N,A*28\r\n$IIVWT,052,R,03.09,N,01.59,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121849,,,,00,*4F\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121849,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.33,T,230.33,M,0.08,N,,,D*6C\r\n$IIMWV,077,R,03.49,N,A*2D\r\n$IIVWT,077,R,03.47,N,01.79,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121851,,,,00,*46\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121851,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.18,T,229.18,M,0.10,N,,,D*65\r\n$IIMWV,097,T,03.09,N,A*21\r\n$IIVWT,097,R,03.09,N,01.59,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121853,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121853,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,228.40,T,228.40,M,0.10,N,,,D*65\r\n$IIMWV,071,R,03.49,N,A*2B\r\n$IIVWT,071,R,03.47,N,01.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121855,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121856,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.47,T,227.47,M,0.10,N,,,D*65\r\n$IIMWV,081,T,03.86,N,A*21\r\n$IIVWT,081,R,03.86,N,01.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121857,,,,00,*40\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121858,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,226.59,T,226.59,M,0.10,N,,,D*65\r\n$IIMWV,099,R,04.47,N,A*24\r\n$IIVWT,099,R,04.45,N,02.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121859,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121900,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.90,T,225.90,M,0.10,N,,,D*65\r\n$IIMWV,101,T,04.25,N,A*26\r\n$IIVWT,101,R,04.25,N,02.19,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121901,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121902,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,224.70,T,224.70,M,0.09,N,,,D*6D\r\n$IIMWV,085,R,03.49,N,A*20\r\n$IIVWT,086,R,03.47,N,01.79,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121903,,,,00,*40\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.925,E,121904,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,223.77,T,223.77,M,0.10,N,,,D*65\r\n$IIMWV,076,T,02.89,N,A*27\r\n$IIVWT,076,R,02.89,N,01.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121905,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121906,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.97,T,222.97,M,0.10,N,,,D*65\r\n$IIMWV,075,R,02.91,N,A*2B\r\n$IIVWT,075,R,02.89,N,01.49,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121908,,,,00,*4B\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.611,N,02325.925,E,121908,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.24,T,222.24,M,0.10,N,,,D*65\r\n$IIMWV,073,T,02.50,N,A*26\r\n$IIVWT,073,R,02.50,N,01.29,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121910,,,,00,*42\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121910,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,221.91,T,221.91,M,0.07,N,,,D*63\r\n$IIMWV,075,R,02.52,N,A*24\r\n$IIVWT,075,R,02.50,N,01.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121912,,,,00,*40\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121912,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,222.63,T,222.63,M,0.09,N,,,D*6D\r\n$IIMWV,075,T,02.50,N,A*20\r\n$IIVWT,075,R,02.50,N,01.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121914,,,,00,*46\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121914,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,223.36,T,223.36,M,0.02,N,,,D*66\r\n$IIMWV,062,R,02.13,N,A*27\r\n$IIVWT,062,R,02.11,N,01.09,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121916,,,,00,*44\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121916,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,224.39,T,224.39,M,0.01,N,,,D*65\r\n$IIMWV,067,T,02.09,N,A*2F\r\n$IIVWT,067,R,02.09,N,01.08,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121918,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.611,N,02325.925,E,121918,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.02,T,225.02,M,0.08,N,,,D*6C\r\n$IIMWV,067,R,02.13,N,A*22\r\n$IIVWT,067,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121920,,,,00,*41\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121920,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,225.73,T,225.73,M,0.02,N,,,D*66\r\n$IIMWV,063,T,02.11,N,A*22\r\n$IIVWT,063,R,02.11,N,01.09,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121922,,,,00,*43\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121922,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,226.10,T,226.10,M,0.00,N,,,D*64\r\n$IIMWV,076,R,02.13,N,A*22\r\n$IIVWT,076,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121924,,,,00,*45\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121924,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,227.55,T,227.55,M,0.03,N,,,D*67\r\n$IIMWV,076,T,02.11,N,A*26\r\n$IIVWT,076,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121926,,,,00,*47\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121926,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,228.51,T,228.51,M,0.03,N,,,D*67\r\n$IIMWV,076,R,02.13,N,A*22\r\n$IIVWT,076,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121928,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.611,N,02325.925,E,121928,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,229.36,T,229.36,M,0.03,N,,,D*67\r\n$IIMWV,059,T,02.09,N,A*22\r\n$IIVWT,059,R,02.09,N,01.08,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121930,,,,00,*40\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121930,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,230.21,T,230.21,M,0.01,N,,,D*65\r\n$IIMWV,062,R,01.94,N,A*2B\r\n$IIVWT,062,R,01.92,N,00.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121932,,,,00,*42\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.611,N,02325.925,E,121932,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,231.30,T,231.30,M,0.00,N,,,D*64\r\n$IIMWV,079,T,02.11,N,A*29\r\n$IIVWT,079,R,02.11,N,01.09,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121934,,,,00,*44\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121934,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.48,T,232.48,M,0.00,N,,,D*64\r\n$IIMWV,081,R,02.52,N,A*2F\r\n$IIVWT,081,R,02.50,N,01.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121936,,,,00,*46\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.611,N,02325.925,E,121936,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.56,T,233.56,M,0.03,N,,,D*67\r\n$IIMWV,070,T,02.50,N,A*25\r\n$IIVWT,070,R,02.50,N,01.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121938,,,,00,*48\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.611,N,02325.925,E,121939,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.59,T,234.59,M,0.01,N,,,D*65\r\n$IIMWV,072,R,02.52,N,A*23\r\n$IIVWT,072,R,02.50,N,01.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121940,,,,00,*47\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.612,N,02325.925,E,121941,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.67,T,235.67,M,0.00,N,,,D*64\r\n$IIMWV,070,T,02.09,N,A*29\r\n$IIVWT,070,R,02.09,N,01.08,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121942,,,,00,*45\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121943,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.51,T,236.51,M,0.00,N,,,D*64\r\n$IIMWV,059,R,02.52,N,A*2A\r\n$IIVWT,059,R,02.48,N,01.28,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121944,,,,00,*43\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.612,N,02325.926,E,121945,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.60,T,237.60,M,0.00,N,,,D*64\r\n$IIMWV,072,T,02.11,N,A*22\r\n$IIVWT,072,R,02.11,N,01.09,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121946,,,,00,*41\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121947,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.12,T,238.12,M,0.00,N,,,D*64\r\n$IIMWV,072,R,02.13,N,A*26\r\n$IIVWT,072,R,02.11,N,01.09,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121949,,,,00,*4E\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.612,N,02325.926,E,121949,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.40,T,238.40,M,0.00,N,,,D*64\r\n$IIMWV,089,T,02.11,N,A*26\r\n$IIVWT,089,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121951,,,,00,*47\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,121951,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.43,T,238.43,M,0.00,N,,,D*64\r\n$IIMWV,076,R,01.94,N,A*2E\r\n$IIVWT,076,R,01.90,N,00.98,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121953,,,,00,*45\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,121953,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.30,T,238.30,M,0.05,N,,,D*61\r\n$IIMWV,073,T,01.92,N,A*2B\r\n$IIVWT,073,R,01.92,N,00.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121955,,,,00,*43\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,121955,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.18,T,238.18,M,0.09,N,,,D*6D\r\n$IIMWV,083,R,01.94,N,A*24\r\n$IIVWT,083,R,01.92,N,00.99,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121957,,,,00,*41\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,121957,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.07,T,238.07,M,0.05,N,,,D*61\r\n$IIMWV,080,T,01.92,N,A*27\r\n$IIVWT,080,R,01.92,N,00.99,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,121959,,,,00,*4F\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,121959,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.17,T,238.17,M,0.01,N,,,D*65\r\n$IIMWV,067,R,02.13,N,A*22\r\n$IIVWT,067,R,02.11,N,01.09,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122001,,,,00,*48\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122001,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.64,T,238.64,M,0.05,N,,,D*61\r\n$IIMWV,060,T,01.90,N,A*2B\r\n$IIVWT,060,R,01.90,N,00.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122003,,,,00,*4A\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122003,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.36,T,239.36,M,0.01,N,,,D*65\r\n$IIMWV,061,R,01.94,N,A*28\r\n$IIVWT,061,R,01.92,N,00.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122005,,,,00,*4C\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.613,N,02325.926,E,122005,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.14,T,240.14,M,0.08,N,,,D*6C\r\n$IIMWV,061,T,01.53,N,A*25\r\n$IIVWT,061,R,01.53,N,00.79,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122007,,,,00,*4E\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,122007,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.56,T,242.56,M,0.14,N,,,D*61\r\n$IIMWV,080,R,01.94,N,A*27\r\n$IIVWT,081,R,01.92,N,00.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122009,,,,00,*40\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,122009,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.11,T,242.11,M,0.11,N,,,D*64\r\n$IIMWV,097,T,01.53,N,A*2C\r\n$IIVWT,097,R,01.53,N,00.79,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122011,,,,00,*49\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,122011,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.66,T,242.66,M,0.08,N,,,D*6C\r\n$IIMWV,104,R,01.55,N,A*27\r\n$IIVWT,104,R,01.53,N,00.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122013,,,,00,*4B\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122013,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.44,T,243.44,M,0.09,N,,,D*6D\r\n$IIMWV,105,T,01.14,N,A*25\r\n$IIVWT,105,R,01.14,N,00.59,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122015,,,,00,*4D\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122015,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.88,T,243.88,M,0.07,N,,,D*63\r\n$IIMWV,085,R,01.16,N,A*28\r\n$IIVWT,085,R,01.14,N,00.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122017,,,,00,*4F\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122017,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,244.52,T,244.52,M,0.09,N,,,D*6D\r\n$IIMWV,085,T,01.14,N,A*2C\r\n$IIVWT,085,R,01.14,N,00.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122019,,,,00,*41\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122019,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,244.30,T,244.30,M,0.07,N,,,D*63\r\n$IIMWV,085,R,01.16,N,A*28\r\n$IIVWT,085,R,01.14,N,00.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122021,,,,00,*4A\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122022,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.67,T,242.67,M,0.07,N,,,D*63\r\n$IIMWV,085,T,01.14,N,A*2C\r\n$IIVWT,085,R,01.14,N,00.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122023,,,,00,*48\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.926,E,122024,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.52,T,240.52,M,0.14,N,,,D*61\r\n$IIMWV,077,R,01.16,N,A*25\r\n$IIVWT,077,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122025,,,,00,*4E\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122026,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.98,T,237.98,M,0.08,N,,,D*6C\r\n$IIMWV,074,T,01.14,N,A*22\r\n$IIVWT,074,R,01.14,N,00.59,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122027,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122028,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.57,T,236.57,M,0.05,N,,,D*61\r\n$IIMWV,063,R,01.55,N,A*27\r\n$IIVWT,063,R,01.53,N,00.79,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122029,,,,00,*42\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122030,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.51,T,235.51,M,0.06,N,,,D*62\r\n$IIMWV,064,T,01.53,N,A*20\r\n$IIVWT,064,R,01.53,N,00.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122032,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122032,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.40,T,234.40,M,0.02,N,,,D*66\r\n$IIMWV,076,R,01.16,N,A*24\r\n$IIVWT,076,R,01.14,N,00.59,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122034,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122034,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.25,T,233.25,M,0.08,N,,,D*6C\r\n$IIMWV,082,T,01.53,N,A*28\r\n$IIVWT,082,R,01.53,N,00.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122036,,,,00,*4C\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.926,E,122036,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,232.14,T,232.14,M,0.09,N,,,D*6D\r\n$IIMWV,066,R,01.16,N,A*25\r\n$IIVWT,066,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122038,,,,00,*42\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.926,E,122038,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,233.51,T,233.51,M,0.07,N,,,D*63\r\n$IIMWV,066,T,01.14,N,A*21\r\n$IIVWT,066,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122040,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.926,E,122040,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,234.58,T,234.58,M,0.12,N,,,D*67\r\n$IIMWV,074,R,01.16,N,A*26\r\n$IIVWT,074,R,01.14,N,00.59,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122042,,,,00,*4F\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.926,E,122042,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.77,T,235.77,M,0.08,N,,,D*6C\r\n$IIMWV,074,T,01.14,N,A*22\r\n$IIVWT,074,R,01.14,N,00.59,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122044,,,,00,*49\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.613,N,02325.926,E,122044,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.11,T,236.11,M,0.09,N,,,D*6D\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122046,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122046,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.93,T,237.93,M,0.10,N,,,D*65\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122048,,,,00,*45\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122048,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.16,T,239.16,M,0.07,N,,,D*63\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122050,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122050,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.19,T,240.19,M,0.02,N,,,D*66\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122052,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122052,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.45,T,240.45,M,0.03,N,,,D*67\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122054,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122054,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.41,T,241.41,M,0.01,N,,,D*65\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122056,,,,00,*4A\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122056,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.18,T,241.18,M,0.08,N,,,D*6C\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122058,,,,00,*44\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122058,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.02,T,241.02,M,0.02,N,,,D*66\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122100,,,,00,*48\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122100,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.40,T,240.40,M,0.03,N,,,D*67\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122102,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122103,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,241.73,T,241.73,M,0.08,N,,,D*6C\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122104,,,,00,*4C\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122105,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.73,T,242.73,M,0.02,N,,,D*66\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122106,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122107,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.28,T,243.28,M,0.01,N,,,D*65\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122108,,,,00,*40\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122109,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.44,T,243.44,M,0.00,N,,,D*64\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122110,,,,00,*49\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122111,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.73,T,243.73,M,0.00,N,,,D*64\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122112,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122113,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.63,T,243.63,M,0.00,N,,,D*64\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122115,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122115,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.46,T,243.46,M,0.00,N,,,D*64\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122117,,,,00,*4E\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122117,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,243.06,T,243.06,M,0.00,N,,,D*64\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122119,,,,00,*40\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122119,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.62,T,242.62,M,0.05,N,,,D*61\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122121,,,,00,*4B\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,122121,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,242.08,T,242.08,M,0.04,N,,,D*60\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122123,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122123,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,240.99,T,240.99,M,0.06,N,,,D*62\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122125,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122125,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.97,T,239.97,M,0.09,N,,,D*6D\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122127,,,,00,*4D\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122127,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.64,T,239.64,M,0.02,N,,,D*66\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122129,,,,00,*43\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122129,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.26,T,239.26,M,0.08,N,,,D*6C\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122131,,,,00,*4A\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122131,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.09,T,239.09,M,0.07,N,,,D*63\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122133,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,122133,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,238.57,T,238.57,M,0.04,N,,,D*60\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122135,,,,00,*4E\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,122135,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.94,T,236.94,M,0.01,N,,,D*65\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122137,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,122137,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.83,T,235.83,M,0.00,N,,,D*64\r\n$IIMWV,074,R,00.00,N,A*20\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122139,,,,00,*42\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,122139,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,235.71,T,235.71,M,0.00,N,,,D*64\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122141,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.613,N,02325.927,E,122141,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.05,T,236.05,M,0.03,N,,,D*67\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122143,,,,00,*4F\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122143,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,236.54,T,236.54,M,0.06,N,,,D*62\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122145,,,,00,*49\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122145,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,237.41,T,237.41,M,0.09,N,,,D*6D\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122147,,,,00,*4B\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122148,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,238.83,T,238.83,M,0.02,N,,,D*66\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122149,,,,00,*45\r\n$IIDBT,005.38,f,001.64,M,000.88,F*2C\r\n$GPGLL,5958.613,N,02325.927,E,122150,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,239.68,T,239.68,M,0.01,N,,,D*65\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122151,,,,00,*4C\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.927,E,122152,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,240.73,T,240.73,M,0.00,N,,,D*64\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122153,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.927,E,122154,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,240.99,T,240.99,M,0.03,N,,,D*67\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122155,,,,00,*48\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122156,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,241.17,T,241.17,M,0.06,N,,,D*62\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122158,,,,00,*45\r\n$IIDBT,005.41,f,001.65,M,000.89,F*22\r\n$GPGLL,5958.613,N,02325.926,E,122158,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,241.27,T,241.27,M,0.09,N,,,D*6D\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122200,,,,00,*4B\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122200,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,241.44,T,241.44,M,0.10,N,,,D*65\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122202,,,,00,*49\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.613,N,02325.926,E,122202,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,241.26,T,241.26,M,0.05,N,,,D*61\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122204,,,,00,*4F\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122204,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,241.74,T,241.74,M,0.01,N,,,D*65\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122206,,,,00,*4D\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122206,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,242.08,T,242.08,M,0.03,N,,,D*67\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122208,,,,00,*43\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.926,E,122208,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,243.64,T,243.64,M,0.08,N,,,D*6C\r\n$IIMWV,,T,,N,V*2C\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122210,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122210,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,,N,,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,,N,,*1F\r\n$IIVTG,244.36,T,244.36,M,0.02,N,,,D*66\r\n$IIMWV,,R,,N,V*2A\r\n$IIVWT,,L,,N,,M,,*1A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122212,,,,00,*48\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122212,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,245.22,T,245.22,M,0.01,N,,,D*65\r\n$IIMWV,106,T,01.14,N,A*26\r\n$IIVWT,106,R,01.14,N,00.59,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122214,,,,00,*4E\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.613,N,02325.926,E,122214,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,246.35,T,246.35,M,0.05,N,,,D*61\r\n$IIMWV,105,R,01.16,N,A*21\r\n$IIVWT,106,R,01.14,N,00.59,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122216,,,,00,*4C\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.613,N,02325.926,E,122216,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,249.09,T,249.09,M,0.09,N,,,D*6D\r\n$IIMWV,108,T,01.14,N,A*28\r\n$IIVWT,108,R,01.14,N,00.59,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122218,,,,00,*42\r\n$IIDBT,005.57,f,001.70,M,000.91,F*28\r\n$GPGLL,5958.613,N,02325.926,E,122218,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.00,N,00.00,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,251.32,T,251.32,M,0.10,N,,,D*65\r\n$IIMWV,109,R,01.16,N,A*2D\r\n$IIVWT,110,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122220,,,,00,*49\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.613,N,02325.926,E,122220,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.14,N,00.25,K*57\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,255.00,T,255.00,M,0.22,N,,,D*64\r\n$IIMWV,110,T,01.14,N,A*21\r\n$IIVWT,110,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122222,,,,00,*4B\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.926,E,122222,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.55,N,01.01,K*55\r\n$IIVPW,-1.05,N,,*28\r\n$IIVTG,260.57,T,260.57,M,0.33,N,,,D*64\r\n$IIMWV,112,R,01.55,N,A*20\r\n$IIVWT,143,R,02.37,N,01.22,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122224,,,,00,*4D\r\n$IIDBT,005.61,f,001.71,M,000.92,F*2F\r\n$GPGLL,5958.613,N,02325.925,E,122224,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.93,N,01.72,K*5B\r\n$IIVPW,-1.46,N,,*2F\r\n$IIVTG,267.27,T,267.27,M,0.46,N,,,D*66\r\n$IIMWV,152,T,02.31,N,A*23\r\n$IIVWT,152,R,02.31,N,01.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122226,,,,00,*4F\r\n$IIDBT,005.70,f,001.74,M,000.94,F*2C\r\n$GPGLL,5958.613,N,02325.925,E,122226,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.19,N,02.20,K*5C\r\n$IIVPW,-1.50,N,,*28\r\n$IIVTG,275.84,T,275.84,M,0.56,N,,,D*67\r\n$IIMWV,120,R,01.55,N,A*21\r\n$IIVWT,152,R,02.81,N,01.45,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122228,,,,00,*41\r\n$IIDBT,005.74,f,001.75,M,000.94,F*29\r\n$GPGLL,5958.614,N,02325.925,E,122229,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.43,N,02.64,K*53\r\n$IIVPW,-1.62,N,,*29\r\n$IIVTG,284.11,T,284.11,M,0.64,N,,,D*66\r\n$IIMWV,144,T,02.89,N,A*27\r\n$IIVWT,144,R,02.89,N,01.49,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122230,,,,00,*48\r\n$IIDBT,005.67,f,001.73,M,000.93,F*2A\r\n$GPGLL,5958.614,N,02325.924,E,122231,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.55,N,02.87,K*59\r\n$IIVPW,-1.55,N,,*2D\r\n$IIVTG,290.92,T,290.92,M,0.69,N,,,D*6B\r\n$IIMWV,120,R,01.94,N,A*2C\r\n$IIVWT,149,R,03.22,N,01.66,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122232,,,,00,*4A\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.614,N,02325.924,E,122233,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.60,N,02.96,K*5F\r\n$IIVPW,-1.50,N,,*28\r\n$IIVTG,296.58,T,296.58,M,0.77,N,,,D*64\r\n$IIMWV,153,T,02.81,N,A*29\r\n$IIVWT,153,R,02.81,N,01.45,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122234,,,,00,*4C\r\n$IIDBT,005.97,f,001.82,M,000.98,F*20\r\n$GPGLL,5958.615,N,02325.923,E,122235,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.70,N,03.14,K*55\r\n$IIVPW,-1.68,N,,*23\r\n$IIVTG,304.12,T,304.12,M,0.87,N,,,D*6B\r\n$IIMWV,130,R,01.55,N,A*20\r\n$IIVWT,157,R,03.07,N,01.58,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122236,,,,00,*4E\r\n$IIDBT,006.23,f,001.90,M,001.02,F*2D\r\n$GPGLL,5958.615,N,02325.922,E,122237,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.76,N,03.25,K*51\r\n$IIVPW,-1.44,N,,*2D\r\n$IIVTG,309.16,T,309.16,M,0.97,N,,,D*6A\r\n$IIMWV,156,T,02.83,N,A*2E\r\n$IIVWT,156,R,02.83,N,01.46,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122238,,,,00,*40\r\n$IIDBT,006.85,f,002.09,M,001.12,F*23\r\n$GPGLL,5958.616,N,02325.921,E,122239,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.77,N,03.27,K*52\r\n$IIVPW,-1.71,N,,*2B\r\n$IIVTG,313.19,T,313.19,M,0.99,N,,,D*64\r\n$IIMWV,133,R,01.55,N,A*23\r\n$IIVWT,159,R,03.11,N,01.60,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122241,,,,00,*4E\r\n$IIDBT,007.15,f,002.18,M,001.17,F*2E\r\n$GPGLL,5958.616,N,02325.921,E,122241,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,-2.06,N,,*28\r\n$IIVTG,317.67,T,317.67,M,1.07,N,,,D*62\r\n$IIMWV,161,T,03.44,N,A*20\r\n$IIVWT,161,R,03.44,N,01.77,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122243,,,,00,*4C\r\n$IIDBT,007.15,f,002.18,M,001.17,F*2E\r\n$GPGLL,5958.617,N,02325.920,E,122243,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.93,N,03.57,K*5F\r\n$IIVPW,-2.13,N,,*2C\r\n$IIVTG,320.79,T,320.79,M,1.09,N,,,D*6C\r\n$IIMWV,134,R,01.55,N,A*24\r\n$IIVWT,162,R,03.51,N,01.81,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122245,,,,00,*4A\r\n$IIDBT,006.72,f,002.05,M,001.10,F*25\r\n$GPGLL,5958.618,N,02325.920,E,122245,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.83,N,03.38,K*57\r\n$IIVPW,-1.50,N,,*28\r\n$IIVTG,325.53,T,325.53,M,1.17,N,,,D*63\r\n$IIMWV,158,T,02.91,N,A*23\r\n$IIVWT,158,R,02.91,N,01.50,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122247,,,,00,*48\r\n$IIDBT,006.75,f,002.06,M,001.11,F*20\r\n$GPGLL,5958.618,N,02325.919,E,122247,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.57,N,02.90,K*5D\r\n$IIVPW,-0.91,N,,*24\r\n$IIVTG,331.80,T,331.80,M,1.19,N,,,D*6D\r\n$IIMWV,135,R,01.55,N,A*25\r\n$IIVWT,153,R,02.39,N,01.23,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122249,,,,00,*46\r\n$IIDBT,006.82,f,002.08,M,001.12,F*25\r\n$GPGLL,5958.619,N,02325.919,E,122249,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.27,N,02.35,K*55\r\n$IIVPW,-0.66,N,,*2C\r\n$IIVTG,339.10,T,339.10,M,1.15,N,,,D*61\r\n$IIMWV,151,T,02.15,N,A*26\r\n$IIVWT,151,R,02.15,N,01.11,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122251,,,,00,*4F\r\n$IIDBT,006.79,f,002.07,M,001.11,F*2D\r\n$GPGLL,5958.620,N,02325.919,E,122251,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.03,N,01.90,K*5F\r\n$IIVPW,-0.61,N,,*2B\r\n$IIVTG,346.20,T,346.20,M,1.11,N,,,D*65\r\n$IIMWV,137,R,01.55,N,A*27\r\n$IIVWT,150,R,02.11,N,01.09,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122253,,,,00,*4D\r\n$IIDBT,007.05,f,002.15,M,001.16,F*23\r\n$GPGLL,5958.620,N,02325.920,E,122253,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.89,N,01.64,K*57\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,353.32,T,353.32,M,1.10,N,,,D*64\r\n$IIMWV,154,T,01.73,N,A*20\r\n$IIVWT,154,R,01.73,N,00.89,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122255,,,,00,*4B\r\n$IIDBT,007.38,f,002.25,M,001.21,F*2A\r\n$GPGLL,5958.621,N,02325.920,E,122255,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.81,N,01.50,K*58\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,359.28,T,359.28,M,1.05,N,,,D*60\r\n$IIMWV,139,R,01.16,N,A*2E\r\n$IIVWT,154,R,01.73,N,00.89,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122257,,,,00,*49\r\n$IIDBT,007.57,f,002.31,M,001.24,F*23\r\n$GPGLL,5958.621,N,02325.920,E,122257,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.75,N,01.38,K*5D\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,004.85,T,004.85,M,1.04,N,,,D*61\r\n$IIMWV,180,T,00.73,N,A*28\r\n$IIVWT,180,L,00.73,N,00.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122259,,,,00,*47\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.622,N,02325.921,E,122259,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.73,N,01.35,K*56\r\n$IIVPW,-0.72,N,,*29\r\n$IIVTG,010.99,T,010.99,M,1.01,N,,,D*64\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,180,L,00.73,N,00.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122301,,,,00,*4B\r\n$IIDBT,007.84,f,002.39,M,001.29,F*28\r\n$GPGLL,5958.622,N,02325.921,E,122301,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.68,N,01.25,K*5D\r\n$IIVPW,-0.72,N,,*29\r\n$IIVTG,017.60,T,017.60,M,0.98,N,,,D*65\r\n$IIMWV,180,T,00.73,N,A*28\r\n$IIVWT,180,L,00.73,N,00.38,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122303,,,,00,*49\r\n$IIDBT,008.26,f,002.52,M,001.36,F*2C\r\n$GPGLL,5958.623,N,02325.922,E,122303,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.65,N,01.20,K*55\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,023.63,T,023.63,M,0.92,N,,,D*6F\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,180,L,00.54,N,00.28,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122305,,,,00,*4F\r\n$IIDBT,008.26,f,002.52,M,001.36,F*2C\r\n$GPGLL,5958.623,N,02325.923,E,122305,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.60,N,01.11,K*52\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,028.83,T,028.83,M,0.85,N,,,D*69\r\n$IIMWV,180,T,00.54,N,A*2D\r\n$IIVWT,180,L,00.54,N,00.28,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122307,,,,00,*4D\r\n$IIDBT,008.20,f,002.50,M,001.35,F*2B\r\n$GPGLL,5958.624,N,02325.923,E,122307,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.53,N,00.98,K*52\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,033.53,T,033.53,M,0.71,N,,,D*62\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,180,L,00.54,N,00.28,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122309,,,,00,*43\r\n$IIDBT,008.13,f,002.48,M,001.34,F*23\r\n$GPGLL,5958.624,N,02325.924,E,122309,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.32,N,00.59,K*58\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,038.04,T,038.04,M,0.45,N,,,D*65\r\n$IIMWV,045,T,00.00,N,A*24\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122311,,,,00,*4A\r\n$IIDBT,008.20,f,002.50,M,001.35,F*2B\r\n$GPGLL,5958.624,N,02325.924,E,122312,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.19,N,00.35,K*5B\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,046.21,T,046.21,M,0.39,N,,,D*6E\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,045,R,00.00,N,00.00,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122313,,,,00,*48\r\n$IIDBT,008.30,f,002.53,M,001.36,F*2A\r\n$GPGLL,5958.624,N,02325.924,E,122314,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.00,N,00.00,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.33,N,00.61,K*52\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,063.13,T,063.13,M,0.52,N,,,D*63\r\n$IIMWV,180,T,00.85,N,A*21\r\n$IIVWT,180,L,00.85,N,00.44,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122315,,,,00,*4E\r\n$IIDBT,008.36,f,002.55,M,001.37,F*2B\r\n$GPGLL,5958.623,N,02325.924,E,122316,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.58,N,01.07,K*5E\r\n$IIVPW,-0.85,N,,*21\r\n$IIVTG,088.88,T,088.88,M,0.71,N,,,D*62\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,180,L,00.85,N,00.44,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122317,,,,00,*4C\r\n$IIDBT,008.46,f,002.58,M,001.39,F*2F\r\n$GPGLL,5958.623,N,02325.923,E,122318,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.77,N,01.42,K*52\r\n$IIVPW,-0.85,N,,*21\r\n$IIVTG,137.97,T,137.97,M,1.08,N,,,D*6D\r\n$IIMWV,180,T,00.85,N,A*21\r\n$IIVWT,180,L,00.85,N,00.44,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122319,,,,00,*42\r\n$IIDBT,008.43,f,002.57,M,001.38,F*24\r\n$GPGLL,5958.622,N,02325.922,E,122320,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,00.97,N,01.79,K*54\r\n$IIVPW,-1.32,N,,*2C\r\n$IIVTG,169.22,T,169.22,M,1.42,N,,,D*63\r\n$IIMWV,139,R,00.00,N,A*28\r\n$IIVWT,180,L,01.32,N,00.68,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122321,,,,00,*49\r\n$IIDBT,008.39,f,002.56,M,001.38,F*28\r\n$GPGLL,5958.621,N,02325.921,E,122322,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.18,N,02.18,K*56\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,196.21,T,196.21,M,1.55,N,,,D*65\r\n$IIMWV,328,T,01.06,N,A*2B\r\n$IIVWT,032,L,01.06,N,00.55,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122324,,,,00,*4C\r\n$IIDBT,008.30,f,002.53,M,001.36,F*2A\r\n$GPGLL,5958.621,N,02325.919,E,122324,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.37,N,02.53,K*54\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,221.13,T,221.13,M,1.74,N,,,D*66\r\n$IIMWV,320,R,03.49,N,A*2C\r\n$IIVWT,067,L,02.44,N,01.26,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122326,,,,00,*4E\r\n$IIDBT,008.16,f,002.49,M,001.34,F*27\r\n$GPGLL,5958.621,N,02325.917,E,122326,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.53,N,02.83,K*5B\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,244.66,T,244.66,M,1.86,N,,,D*6B\r\n$IIMWV,280,T,03.12,N,A*2F\r\n$IIVWT,080,L,03.12,N,01.61,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122328,,,,00,*40\r\n$IIDBT,007.90,f,002.41,M,001.30,F*2A\r\n$GPGLL,5958.622,N,02325.915,E,122328,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.67,N,03.09,K*5F\r\n$IIVPW,-0.22,N,,*2C\r\n$IIVTG,268.26,T,268.26,M,1.96,N,,,D*6A\r\n$IIMWV,296,R,03.49,N,A*20\r\n$IIVWT,097,L,03.16,N,01.63,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122330,,,,00,*49\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.623,N,02325.914,E,122330,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,01.85,N,03.42,K*5C\r\n$IIVPW,-0.39,N,,*26\r\n$IIVTG,297.89,T,297.89,M,1.97,N,,,D*6B\r\n$IIMWV,260,T,02.19,N,A*2B\r\n$IIVWT,100,L,02.19,N,01.13,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122332,,,,00,*4B\r\n$IIDBT,008.00,f,002.44,M,001.31,F*28\r\n$GPGLL,5958.624,N,02325.914,E,122332,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.04,N,03.77,K*50\r\n$IIVPW,-0.07,N,,*2B\r\n$IIVTG,327.90,T,327.90,M,2.19,N,,,D*6E\r\n$IIMWV,319,R,03.11,N,A*2B\r\n$IIVWT,092,L,02.04,N,01.05,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122334,,,,00,*4D\r\n$IIDBT,007.77,f,002.37,M,001.28,F*2B\r\n$GPGLL,5958.625,N,02325.914,E,122334,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.23,N,04.13,K*50\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,343.07,T,343.07,M,2.40,N,,,D*62\r\n$IIMWV,305,T,00.77,N,A*23\r\n$IIVWT,055,L,00.77,N,00.40,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122336,,,,00,*4F\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.627,N,02325.914,E,122336,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.38,N,04.40,K*5C\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,347.79,T,347.79,M,2.52,N,,,D*61\r\n$IIMWV,325,R,03.88,N,A*24\r\n$IIVWT,076,L,02.27,N,01.17,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122338,,,,00,*41\r\n$IIDBT,008.03,f,002.45,M,001.32,F*29\r\n$GPGLL,5958.628,N,02325.913,E,122338,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.52,N,04.66,K*54\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,344.12,T,344.12,M,2.58,N,,,D*6B\r\n$IIMWV,309,T,01.90,N,A*27\r\n$IIVWT,051,L,01.90,N,00.98,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122340,,,,00,*4E\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.629,N,02325.911,E,122340,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.64,N,04.88,K*51\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,338.73,T,338.73,M,2.67,N,,,D*67\r\n$IIMWV,328,R,05.44,N,A*2F\r\n$IIVWT,060,L,03.36,N,01.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122342,,,,00,*4C\r\n$IIDBT,007.70,f,002.35,M,001.27,F*21\r\n$GPGLL,5958.631,N,02325.910,E,122342,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.76,N,05.11,K*53\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,334.58,T,334.58,M,2.77,N,,,D*66\r\n$IIMWV,310,T,03.47,N,A*27\r\n$IIVWT,050,L,03.47,N,01.79,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122344,,,,00,*4A\r\n$IIDBT,007.64,f,002.33,M,001.25,F*20\r\n$GPGLL,5958.632,N,02325.908,E,122344,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.85,N,05.27,K*5A\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,331.74,T,331.74,M,2.84,N,,,D*6A\r\n$IIMWV,334,R,06.22,N,A*21\r\n$IIVWT,047,L,03.71,N,01.91,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122346,,,,00,*48\r\n$IIDBT,007.74,f,002.36,M,001.27,F*26\r\n$GPGLL,5958.633,N,02325.907,E,122346,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.94,N,05.44,K*5F\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,329.61,T,329.61,M,2.81,N,,,D*6F\r\n$IIMWV,320,T,04.17,N,A*26\r\n$IIVWT,040,L,04.17,N,02.15,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122348,,,,00,*46\r\n$IIDBT,007.77,f,002.37,M,001.28,F*2B\r\n$GPGLL,5958.635,N,02325.905,E,122348,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,02.99,N,05.53,K*54\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,327.75,T,327.75,M,2.88,N,,,D*66\r\n$IIMWV,324,R,06.22,N,A*20\r\n$IIVWT,062,L,04.12,N,02.12,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122350,,,,00,*4F\r\n$IIDBT,008.13,f,002.48,M,001.34,F*23\r\n$GPGLL,5958.636,N,02325.903,E,122350,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.03,N,05.61,K*57\r\n$IIVPW,2.30,N,,*00\r\n$IIVTG,325.84,T,325.84,M,2.97,N,,,D*68\r\n$IIMWV,307,T,03.75,N,A*20\r\n$IIVWT,053,L,03.75,N,01.93,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122352,,,,00,*4D\r\n$IIDBT,007.67,f,002.34,M,001.26,F*27\r\n$GPGLL,5958.637,N,02325.901,E,122352,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.10,N,05.74,K*51\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,325.96,T,325.96,M,3.07,N,,,D*60\r\n$IIMWV,339,R,06.22,N,A*2C\r\n$IIVWT,042,L,03.44,N,01.77,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122354,,,,00,*4B\r\n$IIDBT,007.67,f,002.34,M,001.26,F*27\r\n$GPGLL,5958.639,N,02325.899,E,122355,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.67,N,01.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.14,N,05.81,K*5F\r\n$IIVPW,2.45,N,,*02\r\n$IIVTG,326.01,T,326.01,M,3.09,N,,,D*6E\r\n$IIMWV,321,T,03.47,N,A*25\r\n$IIVWT,039,L,03.47,N,01.79,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122356,,,,00,*49\r\n$IIDBT,007.97,f,002.43,M,001.31,F*2E\r\n$GPGLL,5958.640,N,02325.897,E,122357,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.19,N,05.90,K*52\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,325.43,T,325.43,M,3.15,N,,,D*63\r\n$IIMWV,336,R,06.41,N,A*26\r\n$IIVWT,045,L,03.73,N,01.92,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122358,,,,00,*47\r\n$IIDBT,008.26,f,002.52,M,001.36,F*2C\r\n$GPGLL,5958.642,N,02325.894,E,122359,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.21,N,05.94,K*5D\r\n$IIVPW,1.48,N,,*0C\r\n$IIVTG,321.53,T,321.53,M,3.11,N,,,D*67\r\n$IIMWV,301,T,04.43,N,A*24\r\n$IIVWT,059,L,04.43,N,02.28,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122400,,,,00,*4D\r\n$IIDBT,008.20,f,002.50,M,001.35,F*2B\r\n$GPGLL,5958.643,N,02325.892,E,122401,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.25,N,06.01,K*56\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,320.81,T,320.81,M,3.10,N,,,D*66\r\n$IIMWV,332,R,06.22,N,A*27\r\n$IIVWT,054,L,03.61,N,01.86,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122402,,,,00,*4F\r\n$IIDBT,008.03,f,002.45,M,001.32,F*29\r\n$GPGLL,5958.645,N,02325.890,E,122403,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.29,N,06.09,K*52\r\n$IIVPW,2.33,N,,*03\r\n$IIVTG,325.23,T,325.23,M,3.15,N,,,D*63\r\n$IIMWV,309,T,03.07,N,A*2B\r\n$IIVWT,051,L,03.07,N,01.58,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122404,,,,00,*49\r\n$IIDBT,007.93,f,002.42,M,001.30,F*2A\r\n$GPGLL,5958.646,N,02325.888,E,122405,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.31,N,06.13,K*50\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,324.76,T,324.76,M,3.19,N,,,D*6F\r\n$IIMWV,327,R,06.80,N,A*2B\r\n$IIVWT,059,L,04.41,N,02.27,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122407,,,,00,*4A\r\n$IIDBT,007.87,f,002.40,M,001.29,F*25\r\n$GPGLL,5958.647,N,02325.886,E,122407,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.36,N,06.22,K*55\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,322.61,T,322.61,M,3.20,N,,,D*65\r\n$IIMWV,293,T,04.41,N,A*2C\r\n$IIVWT,067,L,04.41,N,02.27,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122409,,,,00,*44\r\n$IIDBT,007.93,f,002.42,M,001.30,F*2A\r\n$GPGLL,5958.649,N,02325.883,E,122409,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.44,N,06.37,K*54\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,320.23,T,320.23,M,3.25,N,,,D*60\r\n$IIMWV,323,R,06.80,N,A*2F\r\n$IIVWT,065,L,04.50,N,02.32,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122411,,,,00,*4D\r\n$IIDBT,007.67,f,002.34,M,001.26,F*27\r\n$GPGLL,5958.650,N,02325.881,E,122411,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.51,N,06.50,K*51\r\n$IIVPW,1.50,N,,*05\r\n$IIVTG,318.53,T,318.53,M,3.29,N,,,D*6C\r\n$IIMWV,293,T,03.32,N,A*2F\r\n$IIVWT,067,L,03.32,N,01.71,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122413,,,,00,*4F\r\n$IIDBT,007.48,f,002.28,M,001.23,F*22\r\n$GPGLL,5958.651,N,02325.879,E,122413,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.57,N,06.61,K*55\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,321.10,T,321.10,M,3.37,N,,,D*63\r\n$IIMWV,326,R,06.22,N,A*22\r\n$IIVWT,069,L,03.75,N,01.93,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122415,,,,00,*49\r\n$IIDBT,007.21,f,002.20,M,001.18,F*2D\r\n$GPGLL,5958.653,N,02325.877,E,122415,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.64,N,06.74,K*51\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,322.38,T,322.38,M,3.39,N,,,D*6D\r\n$IIMWV,298,T,04.19,N,A*2A\r\n$IIVWT,062,L,04.19,N,02.16,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122417,,,,00,*4B\r\n$IIDBT,008.23,f,002.51,M,001.35,F*29\r\n$GPGLL,5958.654,N,02325.874,E,122417,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,322.32,T,322.32,M,3.45,N,,,D*66\r\n$IIMWV,324,R,06.80,N,A*28\r\n$IIVWT,067,L,04.37,N,02.25,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122419,,,,00,*45\r\n$IIDBT,010.66,f,003.25,M,001.75,F*27\r\n$GPGLL,5958.656,N,02325.872,E,122419,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.68,N,06.81,K*57\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,323.08,T,323.08,M,3.49,N,,,D*6A\r\n$IIMWV,293,T,03.92,N,A*25\r\n$IIVWT,067,L,03.92,N,02.02,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122421,,,,00,*4E\r\n$IIDBT,011.41,f,003.48,M,001.88,F*2A\r\n$GPGLL,5958.658,N,02325.870,E,122421,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.72,N,06.88,K*55\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,323.84,T,323.84,M,3.50,N,,,D*62\r\n$IIMWV,320,R,06.41,N,A*21\r\n$IIVWT,075,L,04.25,N,02.19,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122423,,,,00,*4C\r\n$IIDBT,011.48,f,003.50,M,001.89,F*2B\r\n$GPGLL,5958.659,N,02325.867,E,122423,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,0.94,N,,*0C\r\n$IIVTG,324.33,T,324.33,M,3.50,N,,,D*62\r\n$IIMWV,283,T,05.34,N,A*2E\r\n$IIVWT,077,L,05.34,N,02.75,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122425,,,,00,*4A\r\n$IIDBT,011.64,f,003.55,M,001.91,F*29\r\n$GPGLL,5958.661,N,02325.865,E,122425,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.75,N,06.94,K*5F\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,325.26,T,325.26,M,3.50,N,,,D*62\r\n$IIMWV,312,R,06.80,N,A*2D\r\n$IIVWT,081,L,05.11,N,02.63,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122427,,,,00,*48\r\n$IIDBT,011.97,f,003.65,M,001.97,F*20\r\n$GPGLL,5958.662,N,02325.863,E,122427,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.74,N,06.92,K*58\r\n$IIVPW,0.84,N,,*0D\r\n$IIVTG,325.84,T,325.84,M,3.52,N,,,D*60\r\n$IIMWV,283,T,04.91,N,A*20\r\n$IIVWT,077,L,04.91,N,02.53,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122429,,,,00,*46\r\n$IIDBT,012.10,f,003.69,M,001.99,F*2E\r\n$GPGLL,5958.664,N,02325.861,E,122429,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.74,N,06.92,K*58\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,328.16,T,328.16,M,3.51,N,,,D*63\r\n$IIMWV,321,R,06.80,N,A*2D\r\n$IIVWT,070,L,04.58,N,02.36,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122431,,,,00,*4F\r\n$IIDBT,012.27,f,003.74,M,002.02,F*27\r\n$GPGLL,5958.666,N,02325.859,E,122431,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.74,N,06.92,K*58\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,328.11,T,328.11,M,3.58,N,,,D*6A\r\n$IIMWV,288,T,04.64,N,A*21\r\n$IIVWT,072,L,04.64,N,02.39,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122433,,,,00,*4D\r\n$IIDBT,012.49,f,003.81,M,002.05,F*22\r\n$GPGLL,5958.667,N,02325.857,E,122433,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,327.70,T,327.70,M,3.59,N,,,D*6B\r\n$IIMWV,315,R,07.19,N,A*2B\r\n$IIVWT,075,L,05.26,N,02.71,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122435,,,,00,*4B\r\n$IIDBT,012.82,f,003.91,M,002.11,F*21\r\n$GPGLL,5958.669,N,02325.855,E,122435,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.74,N,06.92,K*58\r\n$IIVPW,0.68,N,,*0F\r\n$IIVTG,328.00,T,328.00,M,3.60,N,,,D*61\r\n$IIMWV,282,T,05.38,N,A*23\r\n$IIVWT,078,L,05.38,N,02.77,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122437,,,,00,*49\r\n$IIDBT,013.02,f,003.97,M,002.14,F*2B\r\n$GPGLL,5958.671,N,02325.853,E,122438,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.72,N,06.88,K*55\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,327.72,T,327.72,M,3.60,N,,,D*61\r\n$IIMWV,311,R,07.19,N,A*2F\r\n$IIVWT,079,L,05.52,N,02.84,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122439,,,,00,*47\r\n$IIDBT,013.18,f,004.02,M,002.17,F*28\r\n$GPGLL,5958.673,N,02325.851,E,122440,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,327.93,T,327.93,M,3.60,N,,,D*61\r\n$IIMWV,287,T,05.15,N,A*29\r\n$IIVWT,073,L,05.15,N,02.65,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122441,,,,00,*48\r\n$IIDBT,013.48,f,004.11,M,002.22,F*29\r\n$GPGLL,5958.675,N,02325.848,E,122442,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.72,N,06.88,K*55\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,330.00,T,330.00,M,3.67,N,,,D*66\r\n$IIMWV,317,R,07.77,N,A*21\r\n$IIVWT,069,L,05.69,N,02.93,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122443,,,,00,*4A\r\n$IIDBT,013.74,f,004.19,M,002.26,F*2A\r\n$GPGLL,5958.677,N,02325.846,E,122444,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,330.43,T,330.43,M,3.74,N,,,D*64\r\n$IIMWV,298,T,05.20,N,A*21\r\n$IIVWT,062,L,05.20,N,02.68,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122445,,,,00,*4C\r\n$IIDBT,013.77,f,004.20,M,002.27,F*22\r\n$GPGLL,5958.679,N,02325.844,E,122446,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,2.54,N,,*02\r\n$IIVTG,328.26,T,328.26,M,3.79,N,,,D*69\r\n$IIMWV,330,R,08.16,N,A*2C\r\n$IIVWT,052,L,05.26,N,02.71,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122448,,,,00,*41\r\n$IIDBT,013.91,f,004.24,M,002.29,F*20\r\n$GPGLL,5958.681,N,02325.841,E,122448,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,2.56,N,,*00\r\n$IIVTG,324.34,T,324.34,M,3.80,N,,,D*6F\r\n$IIMWV,312,T,05.13,N,A*22\r\n$IIVWT,048,L,05.13,N,02.64,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122450,,,,00,*48\r\n$IIDBT,014.20,f,004.33,M,002.34,F*27\r\n$GPGLL,5958.682,N,02325.838,E,122450,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.71,N,06.87,K*59\r\n$IIVPW,2.89,N,,*02\r\n$IIVTG,319.29,T,319.29,M,3.80,N,,,D*6F\r\n$IIMWV,336,R,08.74,N,A*2E\r\n$IIVWT,040,L,05.53,N,02.85,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122452,,,,00,*4A\r\n$IIDBT,014.36,f,004.38,M,002.36,F*29\r\n$GPGLL,5958.684,N,02325.835,E,122452,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.70,N,06.85,K*5A\r\n$IIVPW,2.89,N,,*02\r\n$IIVTG,314.09,T,314.09,M,3.82,N,,,D*6D\r\n$IIMWV,326,T,05.44,N,A*27\r\n$IIVWT,034,L,05.44,N,02.80,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122454,,,,00,*4C\r\n$IIDBT,014.63,f,004.46,M,002.41,F*20\r\n$GPGLL,5958.685,N,02325.832,E,122454,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.70,N,06.85,K*5A\r\n$IIVPW,3.36,N,,*07\r\n$IIVTG,308.95,T,308.95,M,3.86,N,,,D*69\r\n$IIMWV,347,R,09.13,N,A*28\r\n$IIVWT,021,L,05.59,N,02.88,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122456,,,,00,*4E\r\n$IIDBT,014.92,f,004.55,M,002.45,F*28\r\n$GPGLL,5958.686,N,02325.828,E,122456,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.69,N,06.83,K*54\r\n$IIVPW,3.39,N,,*08\r\n$IIVTG,305.46,T,305.46,M,3.89,N,,,D*66\r\n$IIMWV,332,T,05.22,N,A*22\r\n$IIVWT,028,L,05.22,N,02.69,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122458,,,,00,*40\r\n$IIDBT,015.35,f,004.68,M,002.52,F*2C\r\n$GPGLL,5958.687,N,02325.824,E,122458,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,299.31,T,299.31,M,3.90,N,,,D*6E\r\n$IIMWV,347,R,08.74,N,A*28\r\n$IIVWT,024,L,05.09,N,02.62,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122500,,,,00,*4C\r\n$IIDBT,015.48,f,004.72,M,002.55,F*2A\r\n$GPGLL,5958.688,N,02325.820,E,122500,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.74,N,06.92,K*58\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,292.98,T,292.98,M,3.90,N,,,D*6E\r\n$IIMWV,339,T,05.17,N,A*2F\r\n$IIVWT,021,L,05.17,N,02.66,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122502,,,,00,*4E\r\n$IIDBT,015.64,f,004.77,M,002.57,F*23\r\n$GPGLL,5958.689,N,02325.816,E,122502,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.73,N,06.90,K*5D\r\n$IIVPW,3.32,N,,*03\r\n$IIVTG,291.04,T,291.04,M,3.87,N,,,D*68\r\n$IIMWV,345,R,08.55,N,A*29\r\n$IIVWT,026,L,05.09,N,02.62,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122504,,,,00,*48\r\n$IIDBT,015.84,f,004.83,M,002.61,F*23\r\n$GPGLL,5958.689,N,02325.812,E,122504,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.71,N,06.87,K*59\r\n$IIVPW,3.28,N,,*08\r\n$IIVTG,287.71,T,287.71,M,3.82,N,,,D*6D\r\n$IIMWV,333,T,05.09,N,A*2A\r\n$IIVWT,027,L,05.09,N,02.62,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122506,,,,00,*4A\r\n$IIDBT,015.91,f,004.85,M,002.62,F*22\r\n$GPGLL,5958.690,N,02325.808,E,122506,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.71,N,06.87,K*59\r\n$IIVPW,3.41,N,,*07\r\n$IIVTG,285.43,T,285.43,M,3.88,N,,,D*67\r\n$IIMWV,347,R,08.74,N,A*28\r\n$IIVWT,023,L,05.20,N,02.68,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122508,,,,00,*44\r\n$IIDBT,016.20,f,004.94,M,002.67,F*2E\r\n$GPGLL,5958.690,N,02325.804,E,122508,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.72,N,06.88,K*55\r\n$IIVPW,3.48,N,,*0E\r\n$IIVTG,284.11,T,284.11,M,3.89,N,,,D*66\r\n$IIMWV,343,T,05.22,N,A*24\r\n$IIVWT,017,L,05.22,N,02.69,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122510,,,,00,*4D\r\n$IIDBT,016.37,f,004.99,M,002.69,F*2B\r\n$GPGLL,5958.691,N,02325.800,E,122510,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.68,N,06.81,K*57\r\n$IIVPW,3.44,N,,*02\r\n$IIVTG,283.12,T,283.12,M,3.82,N,,,D*6D\r\n$IIMWV,349,R,08.16,N,A*22\r\n$IIVWT,019,L,04.58,N,02.36,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122512,,,,00,*4F\r\n$IIDBT,016.63,f,005.07,M,002.74,F*20\r\n$GPGLL,5958.691,N,02325.796,E,122512,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.68,N,06.81,K*57\r\n$IIVPW,3.46,N,,*00\r\n$IIVTG,282.40,T,282.40,M,3.81,N,,,D*6E\r\n$IIMWV,345,T,04.54,N,A*22\r\n$IIVWT,015,L,04.54,N,02.34,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122514,,,,00,*49\r\n$IIDBT,016.79,f,005.12,M,002.76,F*2D\r\n$GPGLL,5958.692,N,02325.792,E,122514,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.68,N,06.81,K*57\r\n$IIVPW,3.44,N,,*02\r\n$IIVTG,281.53,T,281.53,M,3.80,N,,,D*6F\r\n$IIMWV,350,R,08.16,N,A*2A\r\n$IIVWT,018,L,04.60,N,02.37,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122516,,,,00,*4B\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.692,N,02325.788,E,122516,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.52,N,,*05\r\n$IIVTG,281.08,T,281.08,M,3.85,N,,,D*6A\r\n$IIMWV,345,T,04.56,N,A*20\r\n$IIVWT,015,L,04.56,N,02.35,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122518,,,,00,*45\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5958.692,N,02325.784,E,122518,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.22,N,,*02\r\n$IIVTG,280.17,T,280.17,M,3.84,N,,,D*6B\r\n$IIMWV,348,R,07.77,N,A*2B\r\n$IIVWT,022,L,04.23,N,02.18,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122520,,,,00,*4E\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5958.693,N,02325.779,E,122521,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.64,N,,*00\r\n$IIVTG,279.59,T,279.59,M,3.81,N,,,D*6E\r\n$IIMWV,348,T,03.98,N,A*28\r\n$IIVWT,012,L,03.98,N,02.05,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122522,,,,00,*4C\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5958.693,N,02325.775,E,122523,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.66,N,06.77,K*50\r\n$IIVPW,3.60,N,,*04\r\n$IIVTG,279.57,T,279.57,M,3.88,N,,,D*67\r\n$IIMWV,355,R,07.58,N,A*2A\r\n$IIVWT,009,L,03.86,N,01.99,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122524,,,,00,*4A\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5958.694,N,02325.769,E,122525,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,279.32,T,279.32,M,3.90,N,,,D*6E\r\n$IIMWV,351,T,03.49,N,A*2C\r\n$IIVWT,010,L,03.49,N,01.80,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122526,,,,00,*48\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.694,N,02325.765,E,122527,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.48,N,,*0E\r\n$IIVTG,278.83,T,278.83,M,3.90,N,,,D*6E\r\n$IIMWV,352,R,07.58,N,A*2D\r\n$IIVWT,017,L,03.92,N,02.02,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122528,,,,00,*46\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.694,N,02325.760,E,122529,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.67,N,06.79,K*5F\r\n$IIVPW,3.46,N,,*00\r\n$IIVTG,277.86,T,277.86,M,3.90,N,,,D*6E\r\n$IIMWV,344,T,04.58,N,A*2F\r\n$IIVWT,016,L,04.58,N,02.36,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122531,,,,00,*4E\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.695,N,02325.756,E,122531,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.64,N,06.74,K*51\r\n$IIVPW,3.54,N,,*03\r\n$IIVTG,276.94,T,276.94,M,3.90,N,,,D*6E\r\n$IIMWV,354,R,08.16,N,A*2E\r\n$IIVWT,010,L,04.54,N,02.34,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122533,,,,00,*4C\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.695,N,02325.752,E,122533,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.64,N,06.74,K*51\r\n$IIVPW,3.67,N,,*03\r\n$IIVTG,277.06,T,277.06,M,3.90,N,,,D*6E\r\n$IIMWV,349,T,04.17,N,A*29\r\n$IIVWT,012,L,04.17,N,02.15,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122535,,,,00,*4A\r\n$IIDBT,018.53,f,005.65,M,003.05,F*2E\r\n$GPGLL,5958.695,N,02325.747,E,122535,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.62,N,06.70,K*53\r\n$IIVPW,3.44,N,,*02\r\n$IIVTG,277.16,T,277.16,M,3.97,N,,,D*69\r\n$IIMWV,357,R,08.16,N,A*2D\r\n$IIVWT,006,L,04.52,N,02.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122537,,,,00,*48\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5958.695,N,02325.743,E,122537,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.40,N,,*06\r\n$IIVTG,276.77,T,276.77,M,3.99,N,,,D*67\r\n$IIMWV,335,T,05.28,N,A*2F\r\n$IIVWT,025,L,05.28,N,02.72,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122539,,,,00,*46\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5958.696,N,02325.739,E,122539,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.26,N,,*06\r\n$IIVTG,277.82,T,277.82,M,4.00,N,,,D*60\r\n$IIMWV,349,R,08.55,N,A*25\r\n$IIVWT,020,L,05.03,N,02.59,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122541,,,,00,*49\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5958.696,N,02325.734,E,122541,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.61,N,,*05\r\n$IIVTG,277.81,T,277.81,M,4.00,N,,,D*60\r\n$IIMWV,348,T,05.17,N,A*29\r\n$IIVWT,013,L,05.17,N,02.66,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122543,,,,00,*4B\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5958.696,N,02325.730,E,122543,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,277.60,T,277.60,M,4.07,N,,,D*67\r\n$IIMWV,358,R,08.74,N,A*26\r\n$IIVWT,003,L,05.09,N,02.62,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122545,,,,00,*4D\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5958.697,N,02325.725,E,122545,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.64,N,06.74,K*51\r\n$IIVPW,3.58,N,,*0F\r\n$IIVTG,276.50,T,276.50,M,4.09,N,,,D*69\r\n$IIMWV,354,T,05.48,N,A*2E\r\n$IIVWT,006,L,05.48,N,02.82,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122547,,,,00,*4F\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5958.697,N,02325.721,E,122547,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.53,N,,*04\r\n$IIVTG,274.85,T,274.85,M,4.10,N,,,D*61\r\n$IIMWV,350,R,09.13,N,A*2E\r\n$IIVWT,017,L,05.59,N,02.88,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122549,,,,00,*41\r\n$IIDBT,018.50,f,005.64,M,003.04,F*2D\r\n$GPGLL,5958.697,N,02325.717,E,122549,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.59,N,,*0E\r\n$IIVTG,272.49,T,272.49,M,4.10,N,,,D*61\r\n$IIMWV,349,T,05.96,N,A*21\r\n$IIVWT,011,L,05.96,N,03.07,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122551,,,,00,*48\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5958.697,N,02325.712,E,122551,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.62,N,06.70,K*53\r\n$IIVPW,3.56,N,,*01\r\n$IIVTG,270.67,T,270.67,M,4.10,N,,,D*61\r\n$IIMWV,359,R,09.71,N,A*23\r\n$IIVWT,001,L,06.06,N,03.12,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122553,,,,00,*4A\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5958.697,N,02325.708,E,122553,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.63,N,06.72,K*50\r\n$IIVPW,3.69,N,,*0D\r\n$IIVTG,270.57,T,270.57,M,4.10,N,,,D*61\r\n$IIMWV,004,T,05.40,N,A*20\r\n$IIVWT,004,R,05.40,N,02.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122555,,,,00,*4C\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.697,N,02325.703,E,122555,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.64,N,06.74,K*51\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,270.89,T,270.89,M,4.10,N,,,D*61\r\n$IIMWV,002,R,09.52,N,A*2F\r\n$IIVWT,003,R,05.77,N,02.97,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122557,,,,00,*4E\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.697,N,02325.698,E,122557,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.65,N,06.75,K*51\r\n$IIVPW,3.62,N,,*06\r\n$IIVTG,271.32,T,271.32,M,4.10,N,,,D*61\r\n$IIMWV,355,T,05.36,N,A*26\r\n$IIVWT,005,L,05.36,N,02.76,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122559,,,,00,*40\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.697,N,02325.694,E,122559,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.66,N,06.77,K*50\r\n$IIVPW,3.59,N,,*0E\r\n$IIVTG,271.53,T,271.53,M,4.10,N,,,D*61\r\n$IIMWV,001,R,08.55,N,A*2A\r\n$IIVWT,002,R,04.87,N,02.51,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122601,,,,00,*4E\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.697,N,02325.689,E,122602,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.65,N,06.75,K*51\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,271.86,T,271.86,M,4.10,N,,,D*61\r\n$IIMWV,005,T,04.89,N,A*25\r\n$IIVWT,005,R,04.89,N,02.52,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122603,,,,00,*4C\r\n$IIDBT,017.25,f,005.26,M,002.84,F*2F\r\n$GPGLL,5958.697,N,02325.685,E,122604,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.69,N,06.83,K*54\r\n$IIVPW,3.81,N,,*0B\r\n$IIVTG,272.04,T,272.04,M,4.10,N,,,D*61\r\n$IIMWV,006,R,08.55,N,A*2D\r\n$IIVWT,011,R,04.68,N,02.41,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122605,,,,00,*4A\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.697,N,02325.680,E,122606,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.81,N,07.05,K*5D\r\n$IIVPW,4.12,N,,*06\r\n$IIVTG,270.01,T,270.01,M,4.25,N,,,D*67\r\n$IIMWV,359,T,04.52,N,A*29\r\n$IIVWT,001,L,04.52,N,02.33,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122607,,,,00,*48\r\n$IIDBT,016.76,f,005.11,M,002.76,F*21\r\n$GPGLL,5958.697,N,02325.673,E,122608,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,03.96,N,07.33,K*5E\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,266.19,T,266.19,M,4.46,N,,,D*62\r\n$IIMWV,007,R,08.74,N,A*2F\r\n$IIVWT,014,R,04.52,N,02.33,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122609,,,,00,*46\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.697,N,02325.668,E,122610,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.11,N,07.61,K*51\r\n$IIVPW,4.46,N,,*07\r\n$IIVTG,266.92,T,266.92,M,4.61,N,,,D*67\r\n$IIMWV,012,T,04.33,N,A*22\r\n$IIVWT,012,R,04.33,N,02.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122611,,,,00,*4F\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.697,N,02325.662,E,122612,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.25,N,07.87,K*5E\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,266.20,T,266.20,M,4.75,N,,,D*62\r\n$IIMWV,007,R,08.74,N,A*2F\r\n$IIVWT,014,R,04.21,N,02.17,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122614,,,,00,*4A\r\n$IIDBT,016.66,f,005.08,M,002.74,F*2A\r\n$GPGLL,5958.697,N,02325.657,E,122614,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.37,N,08.09,K*54\r\n$IIVPW,4.45,N,,*04\r\n$IIVTG,265.35,T,265.35,M,4.91,N,,,D*68\r\n$IIMWV,009,T,04.12,N,A*2B\r\n$IIVWT,009,R,04.12,N,02.12,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122616,,,,00,*48\r\n$IIDBT,016.17,f,004.93,M,002.66,F*2C\r\n$GPGLL,5958.696,N,02325.652,E,122616,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.47,N,08.27,K*5F\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,265.31,T,265.31,M,4.98,N,,,D*61\r\n$IIMWV,003,R,09.13,N,A*2B\r\n$IIVWT,006,R,04.35,N,02.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122618,,,,00,*46\r\n$IIDBT,016.33,f,004.98,M,002.69,F*2E\r\n$GPGLL,5958.696,N,02325.646,E,122618,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.57,N,08.46,K*59\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,264.35,T,264.35,M,5.07,N,,,D*66\r\n$IIMWV,009,T,04.29,N,A*23\r\n$IIVWT,009,R,04.29,N,02.21,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122620,,,,00,*4D\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.696,N,02325.640,E,122620,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.68,N,08.66,K*57\r\n$IIVPW,4.31,N,,*07\r\n$IIVTG,263.59,T,263.59,M,5.09,N,,,D*68\r\n$IIMWV,013,R,08.74,N,A*2A\r\n$IIVWT,028,R,04.21,N,02.17,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122622,,,,00,*4F\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.695,N,02325.635,E,122622,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.73,N,08.76,K*5C\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,263.24,T,263.24,M,5.15,N,,,D*65\r\n$IIMWV,015,T,03.82,N,A*28\r\n$IIVWT,015,R,03.82,N,01.97,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122624,,,,00,*49\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.695,N,02325.629,E,122624,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.77,N,08.83,K*52\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,263.16,T,263.16,M,5.19,N,,,D*69\r\n$IIMWV,002,R,08.55,N,A*29\r\n$IIVWT,005,R,03.65,N,01.88,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122626,,,,00,*4B\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.695,N,02325.623,E,122626,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.82,N,08.92,K*58\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,262.06,T,262.06,M,5.20,N,,,D*63\r\n$IIMWV,003,T,03.59,N,A*29\r\n$IIVWT,003,R,03.59,N,01.85,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122628,,,,00,*45\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.694,N,02325.618,E,122628,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.87,N,09.01,K*56\r\n$IIVPW,4.76,N,,*04\r\n$IIVTG,260.91,T,260.91,M,5.20,N,,,D*63\r\n$IIMWV,002,R,08.55,N,A*29\r\n$IIVWT,006,R,03.55,N,01.83,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122630,,,,00,*4C\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.694,N,02325.612,E,122630,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.88,N,,*05\r\n$IIVTG,260.53,T,260.53,M,5.20,N,,,D*63\r\n$IIMWV,006,T,03.79,N,A*2E\r\n$IIVWT,006,R,03.79,N,01.95,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122632,,,,00,*4E\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.693,N,02325.606,E,122632,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.92,N,09.11,K*53\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,260.33,T,260.33,M,5.20,N,,,D*63\r\n$IIMWV,007,R,08.74,N,A*2F\r\n$IIVWT,015,R,03.92,N,02.02,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122634,,,,00,*48\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.693,N,02325.601,E,122634,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.71,N,01.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.92,N,09.11,K*53\r\n$IIVPW,4.64,N,,*07\r\n$IIVTG,259.68,T,259.68,M,5.20,N,,,D*63\r\n$IIMWV,021,T,03.75,N,A*27\r\n$IIVWT,021,R,03.75,N,01.93,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122636,,,,00,*4A\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.692,N,02325.595,E,122636,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.96,N,09.18,K*5E\r\n$IIVPW,4.76,N,,*04\r\n$IIVTG,259.24,T,259.24,M,5.20,N,,,D*63\r\n$IIMWV,009,R,08.55,N,A*22\r\n$IIVWT,021,R,03.65,N,01.88,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122638,,,,00,*44\r\n$IIDBT,016.89,f,005.15,M,002.78,F*2B\r\n$GPGLL,5958.692,N,02325.589,E,122638,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,259.21,T,259.21,M,5.20,N,,,D*63\r\n$IIMWV,016,T,03.73,N,A*25\r\n$IIVWT,016,R,03.73,N,01.92,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122640,,,,00,*4B\r\n$IIDBT,016.92,f,005.16,M,002.78,F*22\r\n$GPGLL,5958.691,N,02325.584,E,122640,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.79,N,01.95,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,259.28,T,259.28,M,5.15,N,,,D*65\r\n$IIMWV,008,R,08.74,N,A*20\r\n$IIVWT,018,R,03.84,N,01.98,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122642,,,,00,*49\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.691,N,02325.578,E,122642,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.71,N,01.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.52,N,,*02\r\n$IIVTG,260.44,T,260.44,M,5.19,N,,,D*69\r\n$IIMWV,024,T,03.24,N,A*26\r\n$IIVWT,024,R,03.24,N,01.67,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122644,,,,00,*4F\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.690,N,02325.573,E,122645,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,259.78,T,259.78,M,5.15,N,,,D*65\r\n$IIMWV,012,R,08.74,N,A*2B\r\n$IIVWT,027,R,03.90,N,02.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122646,,,,00,*4D\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.690,N,02325.567,E,122647,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.86,N,,*0B\r\n$IIVTG,258.84,T,258.84,M,5.11,N,,,D*61\r\n$IIMWV,014,T,04.54,N,A*25\r\n$IIVWT,014,R,04.54,N,02.34,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122648,,,,00,*43\r\n$IIDBT,016.96,f,005.17,M,002.79,F*26\r\n$GPGLL,5958.689,N,02325.562,E,122649,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.50,N,,*00\r\n$IIVTG,258.68,T,258.68,M,5.10,N,,,D*60\r\n$IIMWV,012,R,09.13,N,A*2B\r\n$IIVWT,026,R,04.21,N,02.17,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122650,,,,00,*4A\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.688,N,02325.554,E,122651,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,257.76,T,257.76,M,5.05,N,,,D*64\r\n$IIMWV,033,T,04.06,N,A*27\r\n$IIVWT,033,R,04.06,N,02.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122652,,,,00,*48\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.688,N,02325.548,E,122653,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.67,N,,*04\r\n$IIVTG,257.99,T,257.99,M,5.01,N,,,D*60\r\n$IIMWV,010,R,09.13,N,A*29\r\n$IIVWT,022,R,04.29,N,02.21,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122654,,,,00,*4E\r\n$IIDBT,016.86,f,005.14,M,002.77,F*2A\r\n$GPGLL,5958.687,N,02325.543,E,122655,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.04,N,09.33,K*5D\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,258.17,T,258.17,M,5.00,N,,,D*61\r\n$IIMWV,024,T,04.72,N,A*22\r\n$IIVWT,024,R,04.72,N,02.43,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122657,,,,00,*4D\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5958.687,N,02325.537,E,122657,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.01,N,09.27,K*5D\r\n$IIVPW,4.58,N,,*08\r\n$IIVTG,258.27,T,258.27,M,5.00,N,,,D*61\r\n$IIMWV,011,R,09.13,N,A*28\r\n$IIVWT,024,R,04.35,N,02.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122659,,,,00,*43\r\n$IIDBT,016.56,f,005.05,M,002.72,F*22\r\n$GPGLL,5958.686,N,02325.532,E,122659,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.00,N,09.26,K*5D\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,257.77,T,257.77,M,5.00,N,,,D*61\r\n$IIMWV,035,T,04.12,N,A*24\r\n$IIVWT,035,R,04.12,N,02.12,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122701,,,,00,*4F\r\n$IIDBT,016.01,f,004.88,M,002.63,F*24\r\n$GPGLL,5958.685,N,02325.527,E,122701,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,257.44,T,257.44,M,5.00,N,,,D*61\r\n$IIMWV,014,R,08.74,N,A*2D\r\n$IIVWT,030,R,04.04,N,02.08,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122703,,,,00,*4D\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.685,N,02325.521,E,122703,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.99,N,09.24,K*5E\r\n$IIVPW,4.07,N,,*02\r\n$IIVTG,256.94,T,256.94,M,5.00,N,,,D*61\r\n$IIMWV,039,T,04.10,N,A*2A\r\n$IIVWT,039,R,04.10,N,02.11,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122705,,,,00,*4B\r\n$IIDBT,016.40,f,005.00,M,002.70,F*22\r\n$GPGLL,5958.684,N,02325.516,E,122705,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,256.43,T,256.43,M,5.00,N,,,D*61\r\n$IIMWV,017,R,08.74,N,A*2E\r\n$IIVWT,037,R,04.23,N,02.18,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122707,,,,00,*49\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.683,N,02325.511,E,122707,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.98,N,09.22,K*59\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,256.06,T,256.06,M,5.00,N,,,D*61\r\n$IIMWV,033,T,03.94,N,A*2B\r\n$IIVWT,033,R,03.94,N,02.03,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122709,,,,00,*47\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.683,N,02325.506,E,122709,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.96,N,09.18,K*5E\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,255.59,T,255.59,M,4.95,N,,,D*6C\r\n$IIMWV,014,R,08.55,N,A*2E\r\n$IIVWT,032,R,03.96,N,02.04,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122711,,,,00,*4E\r\n$IIDBT,016.40,f,005.00,M,002.70,F*22\r\n$GPGLL,5958.682,N,02325.500,E,122711,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.95,N,09.16,K*53\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,256.02,T,256.02,M,4.91,N,,,D*68\r\n$IIMWV,036,T,04.17,N,A*22\r\n$IIVWT,036,R,04.17,N,02.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122713,,,,00,*4C\r\n$IIDBT,016.40,f,005.00,M,002.70,F*22\r\n$GPGLL,5958.681,N,02325.495,E,122713,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.95,N,09.16,K*53\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,256.40,T,256.40,M,4.93,N,,,D*6A\r\n$IIMWV,017,R,08.74,N,A*2E\r\n$IIVWT,036,R,04.23,N,02.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122715,,,,00,*4A\r\n$IIDBT,016.27,f,004.96,M,002.68,F*24\r\n$GPGLL,5958.681,N,02325.490,E,122715,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.94,N,09.14,K*50\r\n$IIVPW,3.71,N,,*04\r\n$IIVTG,256.48,T,256.48,M,4.91,N,,,D*68\r\n$IIMWV,041,T,04.39,N,A*2E\r\n$IIVWT,041,R,04.39,N,02.26,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122717,,,,00,*48\r\n$IIDBT,016.23,f,004.95,M,002.67,F*2C\r\n$GPGLL,5958.680,N,02325.484,E,122717,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.93,N,09.13,K*50\r\n$IIVPW,3.67,N,,*03\r\n$IIVTG,256.74,T,256.74,M,4.90,N,,,D*69\r\n$IIMWV,020,R,08.74,N,A*2A\r\n$IIVWT,042,R,04.41,N,02.27,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122719,,,,00,*46\r\n$IIDBT,016.20,f,004.94,M,002.67,F*2E\r\n$GPGLL,5958.680,N,02325.479,E,122719,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.91,N,09.09,K*59\r\n$IIVPW,4.06,N,,*03\r\n$IIVTG,256.86,T,256.86,M,4.90,N,,,D*69\r\n$IIMWV,036,T,04.66,N,A*24\r\n$IIVWT,036,R,04.66,N,02.40,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122721,,,,00,*4D\r\n$IIDBT,016.17,f,004.93,M,002.66,F*2C\r\n$GPGLL,5958.679,N,02325.474,E,122721,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.92,N,09.11,K*53\r\n$IIVPW,4.11,N,,*05\r\n$IIVTG,256.89,T,256.89,M,4.90,N,,,D*69\r\n$IIMWV,018,R,09.52,N,A*24\r\n$IIVWT,036,R,05.03,N,02.59,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122723,,,,00,*4F\r\n$IIDBT,016.14,f,004.92,M,002.65,F*2D\r\n$GPGLL,5958.678,N,02325.469,E,122723,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.93,N,09.13,K*50\r\n$IIVPW,4.56,N,,*06\r\n$IIVTG,256.85,T,256.85,M,4.90,N,,,D*69\r\n$IIMWV,029,T,04.85,N,A*27\r\n$IIVWT,029,R,04.85,N,02.50,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122725,,,,00,*49\r\n$IIDBT,016.33,f,004.98,M,002.69,F*2E\r\n$GPGLL,5958.678,N,02325.463,E,122725,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.93,N,09.13,K*50\r\n$IIVPW,4.20,N,,*07\r\n$IIVTG,257.11,T,257.11,M,4.90,N,,,D*69\r\n$IIMWV,013,R,09.13,N,A*2A\r\n$IIVWT,027,R,04.47,N,02.30,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122727,,,,00,*4B\r\n$IIDBT,016.14,f,004.92,M,002.65,F*2D\r\n$GPGLL,5958.677,N,02325.458,E,122727,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.94,N,09.14,K*50\r\n$IIVPW,4.49,N,,*08\r\n$IIVTG,257.50,T,257.50,M,4.98,N,,,D*61\r\n$IIMWV,019,T,04.82,N,A*23\r\n$IIVWT,019,R,04.82,N,02.48,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122729,,,,00,*45\r\n$IIDBT,016.01,f,004.88,M,002.63,F*24\r\n$GPGLL,5958.677,N,02325.453,E,122730,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.95,N,09.16,K*53\r\n$IIVPW,4.45,N,,*04\r\n$IIVTG,258.17,T,258.17,M,4.94,N,,,D*6D\r\n$IIMWV,013,R,09.52,N,A*2F\r\n$IIVWT,026,R,04.89,N,02.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122731,,,,00,*4C\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.676,N,02325.445,E,122732,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,04.95,N,09.16,K*53\r\n$IIVPW,4.66,N,,*05\r\n$IIVTG,258.69,T,258.69,M,4.91,N,,,D*68\r\n$IIMWV,033,T,04.99,N,A*21\r\n$IIVWT,033,R,04.99,N,02.57,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122733,,,,00,*4E\r\n$IIDBT,015.97,f,004.87,M,002.63,F*27\r\n$GPGLL,5958.676,N,02325.439,E,122734,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.06,N,09.37,K*5B\r\n$IIVPW,4.13,N,,*07\r\n$IIVTG,260.27,T,260.27,M,5.00,N,,,D*61\r\n$IIMWV,019,R,09.52,N,A*25\r\n$IIVWT,042,R,04.62,N,02.38,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122735,,,,00,*48\r\n$IIDBT,016.01,f,004.88,M,002.63,F*24\r\n$GPGLL,5958.675,N,02325.433,E,122736,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.26,N,09.74,K*5E\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,259.02,T,259.02,M,5.33,N,,,D*61\r\n$IIMWV,032,T,04.17,N,A*26\r\n$IIVWT,032,R,04.17,N,02.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122737,,,,00,*4A\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.674,N,02325.428,E,122738,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.44,N,10.07,K*56\r\n$IIVPW,4.52,N,,*02\r\n$IIVTG,251.80,T,251.80,M,5.53,N,,,D*67\r\n$IIMWV,018,R,10.10,N,A*2A\r\n$IIVWT,040,R,04.85,N,02.50,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122740,,,,00,*4A\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.673,N,02325.422,E,122740,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.63,N,10.42,K*52\r\n$IIVPW,4.17,N,,*03\r\n$IIVTG,252.03,T,252.03,M,5.71,N,,,D*67\r\n$IIMWV,041,T,05.57,N,A*27\r\n$IIVWT,041,R,05.57,N,02.87,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122742,,,,00,*48\r\n$IIDBT,015.94,f,004.86,M,002.62,F*24\r\n$GPGLL,5958.672,N,02325.415,E,122742,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.79,N,10.72,K*5A\r\n$IIVPW,4.29,N,,*0E\r\n$IIVTG,255.78,T,255.78,M,5.83,N,,,D*6A\r\n$IIMWV,023,R,10.49,N,A*2E\r\n$IIVWT,048,R,05.44,N,02.80,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122744,,,,00,*4E\r\n$IIDBT,015.87,f,004.84,M,002.61,F*27\r\n$GPGLL,5958.672,N,02325.409,E,122744,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,258.97,T,258.97,M,5.96,N,,,D*6E\r\n$IIMWV,047,T,05.28,N,A*29\r\n$IIVWT,047,R,05.28,N,02.72,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122746,,,,00,*4C\r\n$IIDBT,015.81,f,004.82,M,002.60,F*26\r\n$GPGLL,5958.671,N,02325.402,E,122746,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,3.14,N,,*07\r\n$IIVTG,260.41,T,260.41,M,6.06,N,,,D*64\r\n$IIMWV,029,R,11.07,N,A*2F\r\n$IIVWT,057,R,06.29,N,03.24,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122748,,,,00,*42\r\n$IIDBT,015.78,f,004.81,M,002.59,F*29\r\n$GPGLL,5958.670,N,02325.396,E,122748,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,260.95,T,260.95,M,6.09,N,,,D*6B\r\n$IIMWV,056,T,05.57,N,A*21\r\n$IIVWT,056,R,05.57,N,02.87,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122750,,,,00,*4B\r\n$IIDBT,015.68,f,004.78,M,002.58,F*2F\r\n$GPGLL,5958.670,N,02325.389,E,122750,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,261.34,T,261.34,M,6.17,N,,,D*64\r\n$IIMWV,025,R,10.49,N,A*28\r\n$IIVWT,054,R,05.53,N,02.85,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122752,,,,00,*49\r\n$IIDBT,015.64,f,004.77,M,002.57,F*23\r\n$GPGLL,5958.669,N,02325.382,E,122752,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.43,N,,*05\r\n$IIVTG,261.39,T,261.39,M,6.19,N,,,D*6A\r\n$IIMWV,057,T,05.24,N,A*24\r\n$IIVWT,057,R,05.24,N,02.70,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122754,,,,00,*4F\r\n$IIDBT,015.61,f,004.76,M,002.57,F*27\r\n$GPGLL,5958.669,N,02325.375,E,122754,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.99,N,,*02\r\n$IIVTG,261.10,T,261.10,M,6.20,N,,,D*60\r\n$IIMWV,022,R,10.10,N,A*23\r\n$IIVWT,051,R,04.78,N,02.46,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122756,,,,00,*4D\r\n$IIDBT,015.58,f,004.75,M,002.56,F*2F\r\n$GPGLL,5958.669,N,02325.368,E,122756,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,262.12,T,262.12,M,6.25,N,,,D*65\r\n$IIMWV,063,T,05.01,N,A*24\r\n$IIVWT,063,R,05.01,N,02.58,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122758,,,,00,*43\r\n$IIDBT,015.55,f,004.74,M,002.56,F*23\r\n$GPGLL,5958.668,N,02325.362,E,122758,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.81,N,,*0B\r\n$IIVTG,261.76,T,261.76,M,6.29,N,,,D*69\r\n$IIMWV,023,R,10.88,N,A*23\r\n$IIVWT,050,R,05.57,N,02.87,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122800,,,,00,*41\r\n$IIDBT,015.55,f,004.74,M,002.56,F*23\r\n$GPGLL,5958.668,N,02325.355,E,122800,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,261.46,T,261.46,M,6.30,N,,,D*61\r\n$IIMWV,033,T,06.04,N,A*27\r\n$IIVWT,033,R,06.04,N,03.11,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122802,,,,00,*43\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.667,N,02325.348,E,122802,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,260.94,T,260.94,M,6.30,N,,,D*61\r\n$IIMWV,012,R,10.88,N,A*21\r\n$IIVWT,027,R,04.78,N,02.46,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122804,,,,00,*45\r\n$IIDBT,015.48,f,004.72,M,002.55,F*2A\r\n$GPGLL,5958.666,N,02325.341,E,122804,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,260.96,T,260.96,M,6.30,N,,,D*61\r\n$IIMWV,035,T,06.14,N,A*20\r\n$IIVWT,035,R,06.14,N,03.16,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122806,,,,00,*47\r\n$IIDBT,015.45,f,004.71,M,002.54,F*25\r\n$GPGLL,5958.666,N,02325.334,E,122806,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,261.34,T,261.34,M,6.30,N,,,D*61\r\n$IIMWV,008,R,11.07,N,A*2C\r\n$IIVWT,019,R,04.72,N,02.43,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122808,,,,00,*49\r\n$IIDBT,015.51,f,004.73,M,002.55,F*23\r\n$GPGLL,5958.665,N,02325.327,E,122808,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,261.39,T,261.39,M,6.30,N,,,D*61\r\n$IIMWV,033,T,04.12,N,A*22\r\n$IIVWT,033,R,04.12,N,02.12,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122810,,,,00,*40\r\n$IIDBT,015.48,f,004.72,M,002.55,F*2A\r\n$GPGLL,5958.665,N,02325.320,E,122811,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,261.62,T,261.62,M,6.30,N,,,D*61\r\n$IIMWV,015,R,10.10,N,A*27\r\n$IIVWT,037,R,04.23,N,02.18,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122812,,,,00,*42\r\n$IIDBT,015.58,f,004.75,M,002.56,F*2F\r\n$GPGLL,5958.664,N,02325.314,E,122813,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,5.01,N,,*05\r\n$IIVTG,261.11,T,261.11,M,6.30,N,,,D*61\r\n$IIMWV,043,T,04.87,N,A*29\r\n$IIVWT,043,R,04.87,N,02.51,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122814,,,,00,*44\r\n$IIDBT,015.58,f,004.75,M,002.56,F*2F\r\n$GPGLL,5958.664,N,02325.303,E,122815,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,260.22,T,260.22,M,6.30,N,,,D*61\r\n$IIMWV,017,R,11.07,N,A*22\r\n$IIVWT,038,R,05.32,N,02.74,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122816,,,,00,*46\r\n$IIDBT,015.64,f,004.77,M,002.57,F*23\r\n$GPGLL,5958.663,N,02325.296,E,122817,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,4.31,N,,*07\r\n$IIVTG,259.12,T,259.12,M,6.30,N,,,D*61\r\n$IIMWV,048,T,05.75,N,A*2E\r\n$IIVWT,048,R,05.75,N,02.96,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122818,,,,00,*48\r\n$IIDBT,015.78,f,004.81,M,002.59,F*29\r\n$GPGLL,5958.662,N,02325.290,E,122819,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,3.50,N,,*07\r\n$IIVTG,258.10,T,258.10,M,6.30,N,,,D*61\r\n$IIMWV,029,R,10.88,N,A*29\r\n$IIVWT,059,R,06.04,N,03.11,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122820,,,,00,*43\r\n$IIDBT,015.84,f,004.83,M,002.61,F*23\r\n$GPGLL,5958.661,N,02325.283,E,122821,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,257.62,T,257.62,M,6.30,N,,,D*61\r\n$IIMWV,067,T,05.67,N,A*20\r\n$IIVWT,067,R,05.67,N,02.92,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122823,,,,00,*40\r\n$IIDBT,016.04,f,004.89,M,002.64,F*27\r\n$GPGLL,5958.661,N,02325.276,E,122823,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,2.69,N,,*0C\r\n$IIVTG,255.55,T,255.55,M,6.30,N,,,D*61\r\n$IIMWV,032,R,10.49,N,A*2E\r\n$IIVWT,065,R,06.08,N,03.13,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122825,,,,00,*46\r\n$IIDBT,016.17,f,004.93,M,002.66,F*2C\r\n$GPGLL,5958.660,N,02325.270,E,122825,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,4.22,N,,*05\r\n$IIVTG,253.87,T,253.87,M,6.30,N,,,D*61\r\n$IIMWV,047,T,05.67,N,A*22\r\n$IIVWT,047,R,05.67,N,02.92,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122827,,,,00,*44\r\n$IIDBT,016.27,f,004.96,M,002.68,F*24\r\n$GPGLL,5958.659,N,02325.263,E,122827,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,3.96,N,,*0D\r\n$IIVTG,253.11,T,253.11,M,6.30,N,,,D*61\r\n$IIMWV,023,R,10.49,N,A*2E\r\n$IIVWT,052,R,05.24,N,02.70,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122829,,,,00,*4A\r\n$IIDBT,016.37,f,004.99,M,002.69,F*2B\r\n$GPGLL,5958.657,N,02325.256,E,122829,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,252.75,T,252.75,M,6.30,N,,,D*61\r\n$IIMWV,059,T,05.69,N,A*23\r\n$IIVWT,059,R,05.69,N,02.93,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122831,,,,00,*43\r\n$IIDBT,016.43,f,005.01,M,002.70,F*20\r\n$GPGLL,5958.656,N,02325.250,E,122831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,252.04,T,252.04,M,6.30,N,,,D*61\r\n$IIMWV,029,R,10.10,N,A*28\r\n$IIVWT,062,R,05.46,N,02.81,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122833,,,,00,*41\r\n$IIDBT,016.56,f,005.05,M,002.72,F*22\r\n$GPGLL,5958.655,N,02325.243,E,122833,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,2.69,N,,*0C\r\n$IIVTG,250.13,T,250.13,M,6.30,N,,,D*61\r\n$IIMWV,061,T,04.56,N,A*25\r\n$IIVWT,061,R,04.56,N,02.35,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122835,,,,00,*47\r\n$IIDBT,016.66,f,005.08,M,002.74,F*2A\r\n$GPGLL,5958.654,N,02325.236,E,122835,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,2.73,N,,*07\r\n$IIVTG,248.98,T,248.98,M,6.37,N,,,D*66\r\n$IIMWV,028,R,09.52,N,A*27\r\n$IIVWT,064,R,04.85,N,02.50,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122837,,,,00,*45\r\n$IIDBT,016.69,f,005.09,M,002.75,F*25\r\n$GPGLL,5958.653,N,02325.230,E,122837,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,3.38,N,,*09\r\n$IIVTG,248.45,T,248.45,M,6.39,N,,,D*68\r\n$IIMWV,050,T,04.23,N,A*25\r\n$IIVWT,050,R,04.23,N,02.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122839,,,,00,*4B\r\n$IIDBT,016.83,f,005.13,M,002.77,F*28\r\n$GPGLL,5958.651,N,02325.223,E,122839,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,2.68,N,,*0D\r\n$IIVTG,246.61,T,246.61,M,6.40,N,,,D*66\r\n$IIMWV,024,R,08.74,N,A*2E\r\n$IIVWT,067,R,03.84,N,01.98,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122841,,,,00,*44\r\n$IIDBT,016.99,f,005.18,M,002.79,F*26\r\n$GPGLL,5958.650,N,02325.217,E,122841,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.98,N,,*02\r\n$IIVTG,243.93,T,243.93,M,6.32,N,,,D*63\r\n$IIMWV,061,T,04.12,N,A*25\r\n$IIVWT,061,R,04.12,N,02.12,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122843,,,,00,*46\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.648,N,02325.211,E,122843,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,2.35,N,,*05\r\n$IIVTG,242.58,T,242.58,M,6.31,N,,,D*60\r\n$IIMWV,028,R,09.13,N,A*22\r\n$IIVWT,069,R,04.60,N,02.37,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122845,,,,00,*40\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.646,N,02325.205,E,122845,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,4.49,N,,*08\r\n$IIVTG,241.52,T,241.52,M,6.38,N,,,D*69\r\n$IIMWV,039,T,05.13,N,A*28\r\n$IIVWT,039,R,05.13,N,02.64,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122847,,,,00,*42\r\n$IIDBT,017.05,f,005.20,M,002.81,F*2E\r\n$GPGLL,5958.644,N,02325.199,E,122847,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,2.70,N,,*04\r\n$IIVTG,240.26,T,240.26,M,6.39,N,,,D*68\r\n$IIMWV,026,R,10.49,N,A*2B\r\n$IIVWT,056,R,05.53,N,02.85,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122849,,,,00,*4C\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.643,N,02325.193,E,122849,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,3.71,N,,*04\r\n$IIVTG,240.01,T,240.01,M,6.40,N,,,D*66\r\n$IIMWV,054,T,04.97,N,A*2E\r\n$IIVWT,054,R,04.97,N,02.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122851,,,,00,*45\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.641,N,02325.187,E,122851,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.76,N,,*00\r\n$IIVTG,239.88,T,239.88,M,6.25,N,,,D*65\r\n$IIMWV,037,R,09.52,N,A*29\r\n$IIVWT,077,R,05.85,N,03.01,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122853,,,,00,*47\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.639,N,02325.181,E,122854,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.82,N,,*0B\r\n$IIVTG,237.02,T,237.02,M,6.26,N,,,D*66\r\n$IIMWV,086,T,06.72,N,A*28\r\n$IIVWT,086,R,06.72,N,03.46,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122855,,,,00,*41\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.637,N,02325.175,E,122856,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.37,N,,*28\r\n$IIVTG,234.60,T,234.60,M,6.29,N,,,D*69\r\n$IIMWV,039,R,08.55,N,A*21\r\n$IIVWT,087,R,05.38,N,02.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122857,,,,00,*43\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.634,N,02325.168,E,122858,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.06,N,,*2A\r\n$IIVTG,227.69,T,227.69,M,6.29,N,,,D*69\r\n$IIMWV,092,T,04.68,N,A*24\r\n$IIVWT,092,R,04.68,N,02.41,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122859,,,,00,*4D\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5958.631,N,02325.163,E,122900,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,224.12,T,224.12,M,6.22,N,,,D*62\r\n$IIMWV,039,R,08.55,N,A*21\r\n$IIVWT,087,R,05.38,N,02.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122901,,,,00,*41\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.629,N,02325.158,E,122902,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,225.33,T,225.33,M,6.28,N,,,D*68\r\n$IIMWV,084,T,04.93,N,A*27\r\n$IIVWT,084,R,04.93,N,02.54,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122903,,,,00,*43\r\n$IIDBT,017.32,f,005.28,M,002.85,F*26\r\n$GPGLL,5958.626,N,02325.153,E,122904,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,226.29,T,226.29,M,6.30,N,,,D*61\r\n$IIMWV,039,R,08.74,N,A*22\r\n$IIVWT,086,R,05.48,N,02.82,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122906,,,,00,*46\r\n$IIDBT,017.02,f,005.19,M,002.80,F*22\r\n$GPGLL,5958.624,N,02325.148,E,122906,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,227.85,T,227.85,M,6.30,N,,,D*61\r\n$IIMWV,083,T,04.97,N,A*24\r\n$IIVWT,083,R,04.97,N,02.56,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122908,,,,00,*48\r\n$IIDBT,017.15,f,005.23,M,002.82,F*2F\r\n$GPGLL,5958.622,N,02325.143,E,122908,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.43,N,02.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,228.59,T,228.59,M,6.30,N,,,D*61\r\n$IIMWV,024,R,08.55,N,A*2D\r\n$IIVWT,068,R,03.77,N,01.94,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122910,,,,00,*41\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.619,N,02325.137,E,122910,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,228.99,T,228.99,M,6.37,N,,,D*66\r\n$IIMWV,079,T,04.64,N,A*2D\r\n$IIVWT,079,R,04.64,N,02.39,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122912,,,,00,*43\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5958.617,N,02325.132,E,122912,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,2.61,N,,*04\r\n$IIVTG,229.48,T,229.48,M,6.34,N,,,D*65\r\n$IIMWV,032,R,09.71,N,A*2D\r\n$IIVWT,070,R,05.44,N,02.80,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122914,,,,00,*45\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5958.615,N,02325.127,E,122914,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,3.34,N,,*05\r\n$IIVTG,230.57,T,230.57,M,6.31,N,,,D*60\r\n$IIMWV,057,T,04.64,N,A*21\r\n$IIVWT,057,R,04.64,N,02.39,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122916,,,,00,*47\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5958.613,N,02325.121,E,122916,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,231.22,T,231.22,M,6.30,N,,,D*61\r\n$IIMWV,029,R,09.13,N,A*23\r\n$IIVWT,070,R,04.76,N,02.45,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122918,,,,00,*49\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.611,N,02325.116,E,122918,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,3.48,N,,*0E\r\n$IIVTG,231.85,T,231.85,M,6.30,N,,,D*61\r\n$IIMWV,060,T,06.14,N,A*20\r\n$IIVWT,060,R,06.14,N,03.16,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122920,,,,00,*42\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.608,N,02325.110,E,122920,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,3.10,N,,*03\r\n$IIVTG,233.31,T,233.31,M,6.30,N,,,D*61\r\n$IIMWV,022,R,10.49,N,A*2F\r\n$IIVWT,049,R,05.20,N,02.68,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122922,,,,00,*40\r\n$IIDBT,017.38,f,005.30,M,002.86,F*26\r\n$GPGLL,5958.606,N,02325.104,E,122922,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,3.36,N,,*07\r\n$IIVTG,233.63,T,233.63,M,6.30,N,,,D*61\r\n$IIMWV,063,T,05.36,N,A*20\r\n$IIVWT,063,R,05.36,N,02.76,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122924,,,,00,*46\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.604,N,02325.099,E,122924,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,3.23,N,,*03\r\n$IIVTG,232.03,T,232.03,M,6.30,N,,,D*61\r\n$IIMWV,033,R,10.88,N,A*22\r\n$IIVWT,065,R,06.53,N,03.36,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122926,,,,00,*44\r\n$IIDBT,017.19,f,005.24,M,002.83,F*25\r\n$GPGLL,5958.602,N,02325.093,E,122926,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,2.89,N,,*02\r\n$IIVTG,231.88,T,231.88,M,6.35,N,,,D*64\r\n$IIMWV,060,T,06.18,N,A*2C\r\n$IIVWT,060,R,06.18,N,03.18,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122928,,,,00,*4A\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.600,N,02325.088,E,122928,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,3.12,N,,*01\r\n$IIVTG,229.70,T,229.70,M,6.31,N,,,D*60\r\n$IIMWV,027,R,10.49,N,A*2A\r\n$IIVWT,057,R,05.67,N,02.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122930,,,,00,*43\r\n$IIDBT,017.09,f,005.21,M,002.81,F*23\r\n$GPGLL,5958.598,N,02325.083,E,122930,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.66,N,,*02\r\n$IIVTG,228.85,T,228.85,M,6.30,N,,,D*61\r\n$IIMWV,053,T,05.36,N,A*23\r\n$IIVWT,053,R,05.36,N,02.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122932,,,,00,*41\r\n$IIDBT,017.22,f,005.25,M,002.83,F*2C\r\n$GPGLL,5958.595,N,02325.078,E,122932,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.10,N,,*03\r\n$IIVTG,230.31,T,230.31,M,6.30,N,,,D*61\r\n$IIMWV,028,R,11.07,N,A*2E\r\n$IIVWT,056,R,06.22,N,03.20,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122934,,,,00,*47\r\n$IIDBT,017.28,f,005.27,M,002.84,F*23\r\n$GPGLL,5958.593,N,02325.072,E,122934,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.58,N,,*0F\r\n$IIVTG,231.78,T,231.78,M,6.25,N,,,D*65\r\n$IIMWV,049,T,06.70,N,A*29\r\n$IIVWT,049,R,06.70,N,03.45,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122936,,,,00,*45\r\n$IIDBT,017.48,f,005.33,M,002.88,F*2C\r\n$GPGLL,5958.591,N,02325.067,E,122937,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.56,N,,*06\r\n$IIVTG,234.15,T,234.15,M,6.26,N,,,D*66\r\n$IIMWV,021,R,12.44,N,A*23\r\n$IIVWT,041,R,06.86,N,03.53,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122938,,,,00,*4B\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5958.589,N,02325.061,E,122939,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.81,N,,*0C\r\n$IIVTG,234.43,T,234.43,M,6.22,N,,,D*62\r\n$IIMWV,046,T,06.53,N,A*27\r\n$IIVWT,046,R,06.53,N,03.36,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122940,,,,00,*44\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.586,N,02325.053,E,122941,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,233.28,T,233.28,M,6.21,N,,,D*61\r\n$IIMWV,032,R,11.85,N,A*2F\r\n$IIVWT,058,R,07.36,N,03.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122942,,,,00,*46\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5958.584,N,02325.047,E,122943,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.44,N,03.83,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.80,N,,*0B\r\n$IIVTG,232.62,T,232.62,M,6.20,N,,,D*60\r\n$IIMWV,063,T,06.76,N,A*27\r\n$IIVWT,063,R,06.76,N,03.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122944,,,,00,*40\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5958.582,N,02325.042,E,122945,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,231.78,T,231.78,M,6.20,N,,,D*60\r\n$IIMWV,039,R,10.49,N,A*25\r\n$IIVWT,074,R,06.84,N,03.52,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122946,,,,00,*42\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5958.580,N,02325.037,E,122947,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.82,N,,*09\r\n$IIVTG,231.32,T,231.32,M,6.20,N,,,D*60\r\n$IIMWV,070,T,05.59,N,A*2B\r\n$IIVWT,070,R,05.59,N,02.88,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122949,,,,00,*4D\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5958.578,N,02325.031,E,122949,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,231.28,T,231.28,M,6.20,N,,,D*60\r\n$IIMWV,030,R,11.07,N,A*27\r\n$IIVWT,059,R,06.47,N,03.33,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122951,,,,00,*44\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.575,N,02325.026,E,122951,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.30,N,,*01\r\n$IIVTG,231.12,T,231.12,M,6.20,N,,,D*60\r\n$IIMWV,050,T,05.85,N,A*28\r\n$IIVWT,050,R,05.85,N,03.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122953,,,,00,*46\r\n$IIDBT,017.45,f,005.32,M,002.87,F*2F\r\n$GPGLL,5958.573,N,02325.021,E,122953,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.86,N,03.53,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,230.50,T,230.50,M,6.20,N,,,D*60\r\n$IIMWV,034,R,10.49,N,A*28\r\n$IIVWT,067,R,06.37,N,03.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122955,,,,00,*40\r\n$IIDBT,017.42,f,005.31,M,002.87,F*2B\r\n$GPGLL,5958.571,N,02325.015,E,122955,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.03,N,03.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.37,N,,*07\r\n$IIVTG,230.42,T,230.42,M,6.28,N,,,D*68\r\n$IIMWV,058,T,05.67,N,A*2C\r\n$IIVWT,058,R,05.67,N,02.92,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122957,,,,00,*42\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5958.569,N,02325.010,E,122957,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,229.43,T,229.43,M,6.29,N,,,D*69\r\n$IIMWV,040,R,10.88,N,A*26\r\n$IIVWT,073,R,07.23,N,03.72,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,122959,,,,00,*4C\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.566,N,02325.005,E,122959,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,228.73,T,228.73,M,6.30,N,,,D*61\r\n$IIMWV,060,T,06.27,N,A*20\r\n$IIVWT,060,R,06.27,N,03.23,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123001,,,,00,*49\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5958.564,N,02325.000,E,123001,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.31,N,,*00\r\n$IIVTG,228.76,T,228.76,M,6.22,N,,,D*62\r\n$IIMWV,029,R,10.88,N,A*29\r\n$IIVWT,058,R,06.18,N,03.18,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123003,,,,00,*4B\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.562,N,02324.995,E,123003,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.61,N,,*04\r\n$IIVTG,229.07,T,229.07,M,6.21,N,,,D*61\r\n$IIMWV,069,T,07.13,N,A*2F\r\n$IIVWT,069,R,07.13,N,03.67,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123005,,,,00,*4D\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5958.560,N,02324.990,E,123005,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.66,N,,*03\r\n$IIVTG,228.81,T,228.81,M,6.20,N,,,D*60\r\n$IIMWV,038,R,11.07,N,A*2F\r\n$IIVWT,071,R,07.25,N,03.73,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123007,,,,00,*4F\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.557,N,02324.985,E,123007,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.61,N,03.92,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.03,N,,*00\r\n$IIVTG,228.75,T,228.75,M,6.20,N,,,D*60\r\n$IIMWV,069,T,06.95,N,A*20\r\n$IIVWT,069,R,06.95,N,03.58,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123009,,,,00,*41\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5958.555,N,02324.979,E,123009,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.17,N,03.69,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,228.81,T,228.81,M,6.20,N,,,D*60\r\n$IIMWV,034,R,10.49,N,A*28\r\n$IIVWT,067,R,06.31,N,03.25,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123011,,,,00,*48\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5958.553,N,02324.974,E,123011,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.79,N,,*0D\r\n$IIVTG,228.63,T,228.63,M,6.20,N,,,D*60\r\n$IIMWV,069,T,06.39,N,A*26\r\n$IIVWT,069,R,06.39,N,03.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123013,,,,00,*4A\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5958.551,N,02324.969,E,123013,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.39,N,,*09\r\n$IIVTG,228.86,T,228.86,M,6.20,N,,,D*60\r\n$IIMWV,034,R,10.10,N,A*24\r\n$IIVWT,069,R,06.06,N,03.12,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123015,,,,00,*4C\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.549,N,02324.964,E,123015,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.35,N,,*05\r\n$IIVTG,229.16,T,229.16,M,6.20,N,,,D*60\r\n$IIMWV,068,T,05.81,N,A*27\r\n$IIVWT,068,R,05.81,N,02.99,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123017,,,,00,*4E\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5958.546,N,02324.959,E,123018,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,229.40,T,229.40,M,6.20,N,,,D*60\r\n$IIMWV,031,R,11.07,N,A*26\r\n$IIVWT,060,R,06.47,N,03.33,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123019,,,,00,*40\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5958.544,N,02324.954,E,123020,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.44,N,,*02\r\n$IIVTG,228.97,T,228.97,M,6.20,N,,,D*60\r\n$IIMWV,052,T,05.81,N,A*2E\r\n$IIVWT,052,R,05.81,N,02.99,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123021,,,,00,*4B\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5958.542,N,02324.949,E,123022,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.93,N,,*09\r\n$IIVTG,229.07,T,229.07,M,6.15,N,,,D*66\r\n$IIMWV,023,R,10.88,N,A*23\r\n$IIVWT,048,R,05.65,N,02.91,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123023,,,,00,*49\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5958.539,N,02324.941,E,123024,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,229.70,T,229.70,M,6.11,N,,,D*62\r\n$IIMWV,044,T,05.52,N,A*27\r\n$IIVWT,044,R,05.52,N,02.84,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123025,,,,00,*4F\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5958.536,N,02324.936,E,123026,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.86,N,,*0D\r\n$IIVTG,228.17,T,228.17,M,6.18,N,,,D*6B\r\n$IIMWV,033,R,09.71,N,A*2C\r\n$IIVWT,071,R,05.57,N,02.87,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123027,,,,00,*4D\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.534,N,02324.931,E,123028,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,227.82,T,227.82,M,6.19,N,,,D*6A\r\n$IIMWV,047,T,05.65,N,A*20\r\n$IIVWT,047,R,05.65,N,02.91,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123030,,,,00,*4B\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.532,N,02324.926,E,123030,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.39,N,,*08\r\n$IIVTG,227.88,T,227.88,M,6.20,N,,,D*60\r\n$IIMWV,031,R,10.49,N,A*2D\r\n$IIVWT,062,R,06.04,N,03.11,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123032,,,,00,*49\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.529,N,02324.920,E,123032,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.55,N,03.37,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.40,N,,*07\r\n$IIVTG,228.22,T,228.22,M,6.20,N,,,D*60\r\n$IIMWV,066,T,06.22,N,A*23\r\n$IIVWT,066,R,06.22,N,03.20,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123034,,,,00,*4F\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.527,N,02324.915,E,123034,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.39,N,,*09\r\n$IIVTG,228.53,T,228.53,M,6.20,N,,,D*60\r\n$IIMWV,037,R,10.88,N,A*26\r\n$IIVWT,069,R,06.92,N,03.56,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123036,,,,00,*4D\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.525,N,02324.910,E,123036,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.12,N,,*06\r\n$IIVTG,228.13,T,228.13,M,6.20,N,,,D*60\r\n$IIMWV,051,T,06.00,N,A*27\r\n$IIVWT,051,R,06.00,N,03.09,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123038,,,,00,*43\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.522,N,02324.905,E,123038,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.24,N,,*04\r\n$IIVTG,228.03,T,228.03,M,6.20,N,,,D*60\r\n$IIMWV,028,R,10.88,N,A*28\r\n$IIVWT,056,R,06.12,N,03.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123040,,,,00,*4C\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.520,N,02324.900,E,123040,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.75,N,,*00\r\n$IIVTG,228.21,T,228.21,M,6.20,N,,,D*60\r\n$IIMWV,048,T,06.88,N,A*2F\r\n$IIVWT,048,R,06.88,N,03.54,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123042,,,,00,*4E\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.518,N,02324.895,E,123042,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,228.15,T,228.15,M,6.20,N,,,D*60\r\n$IIMWV,029,R,11.85,N,A*25\r\n$IIVWT,053,R,07.03,N,03.62,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123044,,,,00,*48\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.515,N,02324.890,E,123044,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.23,N,03.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.75,N,,*00\r\n$IIVTG,227.69,T,227.69,M,6.20,N,,,D*60\r\n$IIMWV,058,T,06.31,N,A*2C\r\n$IIVWT,058,R,06.31,N,03.25,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123046,,,,00,*4A\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.513,N,02324.885,E,123046,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.86,N,,*0D\r\n$IIVTG,227.85,T,227.85,M,6.17,N,,,D*64\r\n$IIMWV,024,R,10.49,N,A*29\r\n$IIVWT,052,R,05.30,N,02.73,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123048,,,,00,*44\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.511,N,02324.880,E,123048,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.14,N,03.16,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.95,N,,*0F\r\n$IIVTG,228.11,T,228.11,M,6.14,N,,,D*67\r\n$IIMWV,064,T,07.56,N,A*23\r\n$IIVWT,064,R,07.56,N,03.89,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123050,,,,00,*4D\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.509,N,02324.874,E,123050,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.89,N,,*03\r\n$IIVTG,228.35,T,228.35,M,6.19,N,,,D*6A\r\n$IIMWV,030,R,12.44,N,A*23\r\n$IIVWT,054,R,07.65,N,03.94,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123052,,,,00,*4F\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.506,N,02324.869,E,123052,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.22,N,,*02\r\n$IIVTG,228.07,T,228.07,M,6.20,N,,,D*60\r\n$IIMWV,059,T,07.98,N,A*2F\r\n$IIVWT,059,R,07.98,N,04.11,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123054,,,,00,*49\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.504,N,02324.864,E,123054,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.56,N,,*00\r\n$IIVTG,226.29,T,226.29,M,6.20,N,,,D*60\r\n$IIMWV,032,R,11.85,N,A*2F\r\n$IIVWT,059,R,07.36,N,03.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123056,,,,00,*4B\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.501,N,02324.860,E,123056,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.52,N,03.87,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.72,N,,*06\r\n$IIVTG,222.50,T,222.50,M,6.20,N,,,D*60\r\n$IIMWV,060,T,08.55,N,A*2B\r\n$IIVWT,060,R,08.55,N,04.40,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123058,,,,00,*45\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5958.499,N,02324.856,E,123058,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,220.92,T,220.92,M,6.17,N,,,D*64\r\n$IIMWV,028,R,12.05,N,A*2F\r\n$IIVWT,052,R,07.23,N,03.72,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123100,,,,00,*49\r\n$IIDBT,017.71,f,005.40,M,002.91,F*2A\r\n$GPGLL,5958.496,N,02324.851,E,123101,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,218.75,T,218.75,M,6.12,N,,,D*61\r\n$IIMWV,042,T,08.00,N,A*2B\r\n$IIVWT,042,R,08.00,N,04.12,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123102,,,,00,*4B\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5958.493,N,02324.847,E,123103,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.82,N,04.54,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.27,N,,*00\r\n$IIVTG,221.99,T,221.99,M,6.10,N,,,D*63\r\n$IIMWV,025,R,13.21,N,A*25\r\n$IIVWT,043,R,07.96,N,04.10,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123104,,,,00,*4D\r\n$IIDBT,017.55,f,005.35,M,002.89,F*27\r\n$GPGLL,5958.491,N,02324.842,E,123105,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,225.90,T,225.90,M,6.10,N,,,D*63\r\n$IIMWV,049,T,07.83,N,A*24\r\n$IIVWT,049,R,07.83,N,04.03,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123106,,,,00,*4F\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.488,N,02324.835,E,123107,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,227.13,T,227.13,M,6.10,N,,,D*63\r\n$IIMWV,019,R,11.46,N,A*29\r\n$IIVWT,038,R,05.92,N,03.05,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123108,,,,00,*41\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5958.485,N,02324.830,E,123109,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.42,N,,*03\r\n$IIVTG,228.01,T,228.01,M,6.10,N,,,D*63\r\n$IIMWV,050,T,06.82,N,A*2C\r\n$IIVWT,050,R,06.82,N,03.51,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123110,,,,00,*48\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.483,N,02324.824,E,123111,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.06,N,,*03\r\n$IIVTG,229.03,T,229.03,M,6.13,N,,,D*60\r\n$IIMWV,022,R,12.05,N,A*25\r\n$IIVWT,042,R,06.62,N,03.41,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123113,,,,00,*4B\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5958.481,N,02324.819,E,123113,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.02,N,,*07\r\n$IIVTG,231.83,T,231.83,M,6.18,N,,,D*6B\r\n$IIMWV,049,T,06.95,N,A*22\r\n$IIVWT,049,R,06.95,N,03.58,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123115,,,,00,*4D\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.479,N,02324.814,E,123115,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.02,N,,*00\r\n$IIVTG,231.66,T,231.66,M,6.20,N,,,D*60\r\n$IIMWV,029,R,10.88,N,A*29\r\n$IIVWT,059,R,06.18,N,03.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123117,,,,00,*4F\r\n$IIDBT,017.74,f,005.41,M,002.92,F*2D\r\n$GPGLL,5958.477,N,02324.808,E,123117,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.23,N,,*03\r\n$IIVTG,229.69,T,229.69,M,6.17,N,,,D*64\r\n$IIMWV,058,T,05.85,N,A*20\r\n$IIVWT,058,R,05.85,N,03.01,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123119,,,,00,*41\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5958.474,N,02324.803,E,123119,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.13,N,,*00\r\n$IIVTG,229.02,T,229.02,M,6.19,N,,,D*6A\r\n$IIMWV,024,R,10.10,N,A*25\r\n$IIVWT,053,R,05.07,N,02.61,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123121,,,,00,*4A\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.472,N,02324.798,E,123121,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,228.60,T,228.60,M,6.20,N,,,D*60\r\n$IIMWV,038,T,04.85,N,A*27\r\n$IIVWT,038,R,04.85,N,02.50,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123123,,,,00,*48\r\n$IIDBT,017.65,f,005.38,M,002.90,F*21\r\n$GPGLL,5958.470,N,02324.793,E,123123,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,228.45,T,228.45,M,6.20,N,,,D*60\r\n$IIMWV,027,R,11.07,N,A*21\r\n$IIVWT,054,R,06.23,N,03.21,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123125,,,,00,*4E\r\n$IIDBT,017.58,f,005.36,M,002.89,F*29\r\n$GPGLL,5958.468,N,02324.788,E,123125,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.46,N,,*07\r\n$IIVTG,227.96,T,227.96,M,6.20,N,,,D*60\r\n$IIMWV,049,T,06.92,N,A*25\r\n$IIVWT,049,R,06.92,N,03.56,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123127,,,,00,*4C\r\n$IIDBT,017.61,f,005.37,M,002.90,F*2A\r\n$GPGLL,5958.465,N,02324.783,E,123127,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.09,N,,*0C\r\n$IIVTG,227.66,T,227.66,M,6.20,N,,,D*60\r\n$IIMWV,029,R,12.82,N,A*21\r\n$IIVWT,051,R,07.89,N,04.06,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123129,,,,00,*42\r\n$IIDBT,017.68,f,005.39,M,002.91,F*2C\r\n$GPGLL,5958.463,N,02324.778,E,123129,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.20,N,,*07\r\n$IIVTG,228.19,T,228.19,M,6.20,N,,,D*60\r\n$IIMWV,043,T,07.95,N,A*29\r\n$IIVWT,043,R,07.95,N,04.09,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123131,,,,00,*4B\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5958.461,N,02324.773,E,123131,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.50,N,03.86,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.63,N,,*00\r\n$IIVTG,228.52,T,228.52,M,6.20,N,,,D*60\r\n$IIMWV,026,R,12.44,N,A*24\r\n$IIVWT,047,R,07.32,N,03.77,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123133,,,,00,*49\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.459,N,02324.768,E,123133,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.73,N,,*01\r\n$IIVTG,228.86,T,228.86,M,6.20,N,,,D*60\r\n$IIMWV,045,T,07.21,N,A*20\r\n$IIVWT,045,R,07.21,N,03.71,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123135,,,,00,*4F\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5958.456,N,02324.763,E,123135,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.89,N,04.06,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.06,N,,*03\r\n$IIVTG,228.91,T,228.91,M,6.20,N,,,D*60\r\n$IIMWV,026,R,12.44,N,A*24\r\n$IIVWT,047,R,07.38,N,03.80,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123137,,,,00,*4D\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.454,N,02324.758,E,123137,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,229.15,T,229.15,M,6.17,N,,,D*64\r\n$IIMWV,037,T,06.84,N,A*2B\r\n$IIVWT,037,R,06.84,N,03.52,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123139,,,,00,*43\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.452,N,02324.752,E,123139,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,229.24,T,229.24,M,6.19,N,,,D*6A\r\n$IIMWV,012,R,11.07,N,A*27\r\n$IIVWT,026,R,05.19,N,02.67,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123141,,,,00,*4C\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.450,N,02324.747,E,123141,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.91,N,,*0D\r\n$IIVTG,228.79,T,228.79,M,6.20,N,,,D*60\r\n$IIMWV,042,T,04.54,N,A*26\r\n$IIVWT,042,R,04.54,N,02.34,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123143,,,,00,*4E\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.447,N,02324.742,E,123144,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,228.25,T,228.25,M,6.20,N,,,D*60\r\n$IIMWV,014,R,10.49,N,A*2A\r\n$IIVWT,032,R,04.68,N,02.41,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123145,,,,00,*48\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.445,N,02324.737,E,123146,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,228.11,T,228.11,M,6.20,N,,,D*60\r\n$IIMWV,056,T,05.15,N,A*27\r\n$IIVWT,056,R,05.15,N,02.65,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123147,,,,00,*4A\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.442,N,02324.730,E,123148,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,227.90,T,227.90,M,6.20,N,,,D*60\r\n$IIMWV,024,R,10.49,N,A*29\r\n$IIVWT,052,R,05.44,N,02.80,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123149,,,,00,*44\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.439,N,02324.724,E,123150,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,227.60,T,227.60,M,6.20,N,,,D*60\r\n$IIMWV,042,T,05.63,N,A*23\r\n$IIVWT,042,R,05.63,N,02.90,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123151,,,,00,*4D\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.437,N,02324.719,E,123152,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,227.73,T,227.73,M,6.20,N,,,D*60\r\n$IIMWV,018,R,11.07,N,A*2D\r\n$IIVWT,039,R,05.50,N,02.83,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123153,,,,00,*4F\r\n$IIDBT,017.81,f,005.43,M,002.93,F*24\r\n$GPGLL,5958.435,N,02324.714,E,123154,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,228.13,T,228.13,M,6.20,N,,,D*60\r\n$IIMWV,044,T,05.44,N,A*20\r\n$IIVWT,044,R,05.44,N,02.80,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123156,,,,00,*4A\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.432,N,02324.709,E,123156,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,228.08,T,228.08,M,6.20,N,,,D*60\r\n$IIMWV,012,R,10.10,N,A*20\r\n$IIVWT,029,R,04.21,N,02.17,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123158,,,,00,*44\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.430,N,02324.704,E,123158,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.86,N,,*0C\r\n$IIVTG,228.35,T,228.35,M,6.20,N,,,D*60\r\n$IIMWV,046,T,05.67,N,A*23\r\n$IIVWT,046,R,05.67,N,02.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123200,,,,00,*4A\r\n$IIDBT,017.84,f,005.44,M,002.94,F*21\r\n$GPGLL,5958.428,N,02324.699,E,123200,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,228.03,T,228.03,M,6.22,N,,,D*62\r\n$IIMWV,021,R,10.49,N,A*2C\r\n$IIVWT,046,R,05.15,N,02.65,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123202,,,,00,*48\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.425,N,02324.694,E,123202,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,227.83,T,227.83,M,6.28,N,,,D*68\r\n$IIMWV,041,T,04.62,N,A*20\r\n$IIVWT,041,R,04.62,N,02.38,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123204,,,,00,*4E\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.423,N,02324.689,E,123204,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.38,N,,*0E\r\n$IIVTG,227.88,T,227.88,M,6.30,N,,,D*61\r\n$IIMWV,020,R,10.49,N,A*2D\r\n$IIVWT,044,R,05.07,N,02.61,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123206,,,,00,*4C\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.421,N,02324.683,E,123206,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,227.74,T,227.74,M,6.30,N,,,D*61\r\n$IIMWV,024,T,05.01,N,A*27\r\n$IIVWT,024,R,05.01,N,02.58,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123208,,,,00,*42\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5958.418,N,02324.678,E,123208,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,227.46,T,227.46,M,6.30,N,,,D*61\r\n$IIMWV,010,R,11.46,N,A*20\r\n$IIVWT,022,R,05.48,N,02.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123210,,,,00,*4B\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.416,N,02324.673,E,123210,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.47,N,,*06\r\n$IIVTG,227.41,T,227.41,M,6.27,N,,,D*67\r\n$IIMWV,046,T,05.07,N,A*25\r\n$IIVWT,046,R,05.07,N,02.61,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123212,,,,00,*49\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.414,N,02324.668,E,123212,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.17,N,02.66,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.16,N,,*02\r\n$IIVTG,227.60,T,227.60,M,6.22,N,,,D*62\r\n$IIMWV,019,R,10.10,N,A*2B\r\n$IIVWT,045,R,04.52,N,02.33,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123214,,,,00,*4F\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.411,N,02324.663,E,123214,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,227.77,T,227.77,M,6.20,N,,,D*60\r\n$IIMWV,055,T,04.35,N,A*27\r\n$IIVWT,055,R,04.35,N,02.24,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123216,,,,00,*4D\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.409,N,02324.658,E,123216,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,227.40,T,227.40,M,6.20,N,,,D*60\r\n$IIMWV,011,R,09.71,N,A*2C\r\n$IIVWT,031,R,03.73,N,01.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123218,,,,00,*43\r\n$IIDBT,017.94,f,005.47,M,002.95,F*22\r\n$GPGLL,5958.407,N,02324.653,E,123218,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,227.07,T,227.07,M,6.20,N,,,D*60\r\n$IIMWV,030,T,03.73,N,A*21\r\n$IIVWT,030,R,03.73,N,01.92,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123220,,,,00,*48\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.404,N,02324.648,E,123220,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,226.92,T,226.92,M,6.20,N,,,D*60\r\n$IIMWV,022,R,12.05,N,A*25\r\n$IIVWT,043,R,06.68,N,03.44,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123222,,,,00,*4A\r\n$IIDBT,017.88,f,005.45,M,002.94,F*2C\r\n$GPGLL,5958.402,N,02324.643,E,123222,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,226.73,T,226.73,M,6.20,N,,,D*60\r\n$IIMWV,022,T,06.16,N,A*24\r\n$IIVWT,022,R,06.16,N,03.17,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123224,,,,00,*4C\r\n$IIDBT,017.78,f,005.42,M,002.92,F*22\r\n$GPGLL,5958.400,N,02324.638,E,123224,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.36,N,,*01\r\n$IIVTG,226.43,T,226.43,M,6.20,N,,,D*60\r\n$IIMWV,008,R,11.46,N,A*29\r\n$IIVWT,016,R,05.46,N,02.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123226,,,,00,*4E\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.397,N,02324.633,E,123227,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.04,N,03.11,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.52,N,,*03\r\n$IIVTG,226.13,T,226.13,M,6.20,N,,,D*60\r\n$IIMWV,010,T,06.64,N,A*20\r\n$IIVWT,010,R,06.64,N,03.42,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123228,,,,00,*40\r\n$IIDBT,005.44,f,001.66,M,000.89,F*24\r\n$GPGLL,5958.395,N,02324.628,E,123229,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.32,N,03.77,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,225.88,T,225.88,M,6.20,N,,,D*60\r\n$IIMWV,013,R,13.21,N,A*20\r\n$IIVWT,024,R,07.30,N,03.76,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123230,,,,00,*49\r\n$IIDBT,018.14,f,005.53,M,002.98,F*2D\r\n$GPGLL,5958.391,N,02324.621,E,123231,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,226.91,T,226.91,M,6.19,N,,,D*6A\r\n$IIMWV,018,T,06.02,N,A*28\r\n$IIVWT,018,R,06.02,N,03.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123232,,,,00,*4B\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5958.389,N,02324.616,E,123233,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.88,N,03.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,226.70,T,226.70,M,6.20,N,,,D*60\r\n$IIMWV,014,R,13.21,N,A*27\r\n$IIVWT,026,R,07.40,N,03.81,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123234,,,,00,*4D\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5958.387,N,02324.611,E,123235,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.93,N,03.57,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,226.15,T,226.15,M,6.20,N,,,D*60\r\n$IIMWV,033,T,07.15,N,A*26\r\n$IIVWT,033,R,07.15,N,03.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123236,,,,00,*4F\r\n$IIDBT,005.08,f,001.55,M,000.83,F*26\r\n$GPGLL,5958.384,N,02324.606,E,123237,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.51,N,03.35,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,225.91,T,225.91,M,6.20,N,,,D*60\r\n$IIMWV,020,R,11.46,N,A*23\r\n$IIVWT,039,R,06.00,N,03.09,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123239,,,,00,*40\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5958.382,N,02324.601,E,123239,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,225.96,T,225.96,M,6.20,N,,,D*60\r\n$IIMWV,019,T,05.81,N,A*21\r\n$IIVWT,019,R,05.81,N,02.99,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123241,,,,00,*4F\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5958.379,N,02324.596,E,123241,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,225.91,T,225.91,M,6.20,N,,,D*60\r\n$IIMWV,015,R,12.05,N,A*21\r\n$IIVWT,030,R,06.23,N,03.21,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123243,,,,00,*4D\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5958.377,N,02324.591,E,123243,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,226.13,T,226.13,M,6.20,N,,,D*60\r\n$IIMWV,026,T,06.00,N,A*27\r\n$IIVWT,026,R,06.00,N,03.09,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123245,,,,00,*4B\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.375,N,02324.586,E,123245,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,226.31,T,226.31,M,6.22,N,,,D*62\r\n$IIMWV,018,R,11.07,N,A*2D\r\n$IIVWT,038,R,05.48,N,02.82,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123247,,,,00,*49\r\n$IIDBT,017.91,f,005.46,M,002.95,F*26\r\n$GPGLL,5958.372,N,02324.581,E,123247,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.00,N,03.09,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,226.13,T,226.13,M,6.21,N,,,D*61\r\n$IIMWV,042,T,05.67,N,A*27\r\n$IIVWT,042,R,05.67,N,02.92,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123249,,,,00,*47\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.370,N,02324.577,E,123249,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.08,N,,*0D\r\n$IIVTG,226.13,T,226.13,M,6.20,N,,,D*60\r\n$IIMWV,028,R,11.85,N,A*24\r\n$IIVWT,052,R,07.07,N,03.64,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123251,,,,00,*4E\r\n$IIDBT,018.07,f,005.51,M,002.97,F*22\r\n$GPGLL,5958.368,N,02324.572,E,123251,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,225.98,T,225.98,M,6.20,N,,,D*60\r\n$IIMWV,049,T,04.52,N,A*2B\r\n$IIVWT,049,R,04.52,N,02.33,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123253,,,,00,*4C\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5958.365,N,02324.567,E,123253,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,2.91,N,,*0B\r\n$IIVTG,225.95,T,225.95,M,6.20,N,,,D*60\r\n$IIMWV,029,R,09.52,N,A*26\r\n$IIVWT,066,R,05.05,N,02.60,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123255,,,,00,*4A\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.363,N,02324.562,E,123255,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,225.66,T,225.66,M,6.20,N,,,D*60\r\n$IIMWV,066,T,03.79,N,A*28\r\n$IIVWT,066,R,03.79,N,01.95,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123257,,,,00,*48\r\n$IIDBT,018.10,f,005.52,M,002.98,F*28\r\n$GPGLL,5958.360,N,02324.557,E,123257,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,2.03,N,,*00\r\n$IIVTG,225.12,T,225.12,M,6.25,N,,,D*65\r\n$IIMWV,022,R,08.55,N,A*2B\r\n$IIVWT,061,R,03.59,N,01.85,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123259,,,,00,*46\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.358,N,02324.552,E,123259,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,3.97,N,,*0C\r\n$IIVTG,225.08,T,225.08,M,6.29,N,,,D*69\r\n$IIMWV,050,T,04.31,N,A*26\r\n$IIVWT,050,R,04.31,N,02.22,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123301,,,,00,*4A\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.356,N,02324.547,E,123301,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,226.24,T,226.24,M,6.30,N,,,D*61\r\n$IIMWV,015,R,09.71,N,A*28\r\n$IIVWT,040,R,03.98,N,02.05,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123303,,,,00,*48\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.353,N,02324.542,E,123303,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.48,N,,*09\r\n$IIVTG,226.61,T,226.61,M,6.30,N,,,D*61\r\n$IIMWV,046,T,04.15,N,A*27\r\n$IIVWT,046,R,04.15,N,02.14,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123305,,,,00,*4E\r\n$IIDBT,004.98,f,001.52,M,000.82,F*28\r\n$GPGLL,5958.351,N,02324.537,E,123305,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.33,N,,*04\r\n$IIVTG,226.53,T,226.53,M,6.30,N,,,D*61\r\n$IIMWV,015,R,10.10,N,A*27\r\n$IIVWT,037,R,04.27,N,02.20,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123307,,,,00,*4C\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.348,N,02324.532,E,123307,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,226.30,T,226.30,M,6.30,N,,,D*61\r\n$IIMWV,039,T,03.38,N,A*27\r\n$IIVWT,039,R,03.38,N,01.74,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123309,,,,00,*42\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5958.346,N,02324.527,E,123310,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,225.97,T,225.97,M,6.30,N,,,D*61\r\n$IIMWV,019,R,11.85,N,A*26\r\n$IIVWT,037,R,06.23,N,03.21,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123311,,,,00,*4B\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5958.344,N,02324.522,E,123312,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,226.04,T,226.04,M,6.30,N,,,D*61\r\n$IIMWV,047,T,06.27,N,A*25\r\n$IIVWT,047,R,06.27,N,03.23,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123313,,,,00,*49\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5958.340,N,02324.515,E,123314,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,226.23,T,226.23,M,6.30,N,,,D*61\r\n$IIMWV,015,R,10.88,N,A*26\r\n$IIVWT,033,R,05.09,N,02.62,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123315,,,,00,*4F\r\n$IIDBT,005.08,f,001.55,M,000.83,F*26\r\n$GPGLL,5958.338,N,02324.510,E,123316,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,226.03,T,226.03,M,6.30,N,,,D*61\r\n$IIMWV,037,T,04.66,N,A*25\r\n$IIVWT,037,R,04.66,N,02.40,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123317,,,,00,*4D\r\n$IIDBT,005.08,f,001.55,M,000.83,F*26\r\n$GPGLL,5958.335,N,02324.505,E,123318,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,225.63,T,225.63,M,6.30,N,,,D*61\r\n$IIMWV,025,R,10.10,N,A*24\r\n$IIVWT,057,R,05.11,N,02.63,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123319,,,,00,*43\r\n$IIDBT,017.97,f,005.48,M,002.96,F*2D\r\n$GPGLL,5958.333,N,02324.500,E,123320,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.80,N,02.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,225.76,T,225.76,M,6.30,N,,,D*61\r\n$IIMWV,049,T,05.15,N,A*29\r\n$IIVWT,049,R,05.15,N,02.65,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123322,,,,00,*4B\r\n$IIDBT,018.01,f,005.49,M,002.96,F*2C\r\n$GPGLL,5958.330,N,02324.495,E,123322,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,226.52,T,226.52,M,6.30,N,,,D*61\r\n$IIMWV,024,R,10.49,N,A*29\r\n$IIVWT,052,R,05.40,N,02.78,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123324,,,,00,*4D\r\n$IIDBT,005.24,f,001.60,M,000.86,F*2B\r\n$GPGLL,5958.328,N,02324.490,E,123324,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.83,N,,*08\r\n$IIVTG,227.23,T,227.23,M,6.30,N,,,D*61\r\n$IIMWV,053,T,05.36,N,A*23\r\n$IIVWT,053,R,05.36,N,02.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123326,,,,00,*4F\r\n$IIDBT,018.04,f,005.50,M,002.97,F*20\r\n$GPGLL,5958.326,N,02324.485,E,123326,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.13,N,,*00\r\n$IIVTG,227.48,T,227.48,M,6.30,N,,,D*61\r\n$IIMWV,020,R,10.10,N,A*21\r\n$IIVWT,047,R,04.66,N,02.40,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123328,,,,00,*41\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5958.323,N,02324.479,E,123328,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.09,N,,*0B\r\n$IIVTG,227.32,T,227.32,M,6.30,N,,,D*61\r\n$IIMWV,052,T,05.38,N,A*2C\r\n$IIVWT,052,R,05.38,N,02.77,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123330,,,,00,*48\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5958.321,N,02324.474,E,123330,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.89,N,,*04\r\n$IIVTG,227.53,T,227.53,M,6.30,N,,,D*61\r\n$IIMWV,018,R,10.49,N,A*26\r\n$IIVWT,041,R,04.95,N,02.55,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123332,,,,00,*4A\r\n$IIDBT,004.85,f,001.48,M,000.79,F*2B\r\n$GPGLL,5958.319,N,02324.469,E,123332,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.30,N,,*07\r\n$IIVTG,227.63,T,227.63,M,6.30,N,,,D*61\r\n$IIMWV,041,T,03.90,N,A*2A\r\n$IIVWT,041,R,03.90,N,02.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123334,,,,00,*4C\r\n$IIDBT,004.69,f,001.43,M,000.77,F*2C\r\n$GPGLL,5958.316,N,02324.464,E,123334,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,227.88,T,227.88,M,6.30,N,,,D*61\r\n$IIMWV,020,R,09.52,N,A*2F\r\n$IIVWT,051,R,04.19,N,02.16,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123336,,,,00,*4E\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5958.314,N,02324.459,E,123336,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,227.82,T,227.82,M,6.30,N,,,D*61\r\n$IIMWV,066,T,03.94,N,A*2B\r\n$IIVWT,066,R,03.94,N,02.03,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123338,,,,00,*40\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5958.312,N,02324.454,E,123338,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.63,N,01.87,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,227.63,T,227.63,M,6.30,N,,,D*61\r\n$IIMWV,016,R,09.52,N,A*2A\r\n$IIVWT,042,R,03.84,N,01.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123340,,,,00,*4F\r\n$IIDBT,005.05,f,001.54,M,000.83,F*2A\r\n$GPGLL,5958.309,N,02324.449,E,123340,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.50,N,,*00\r\n$IIVTG,228.16,T,228.16,M,6.30,N,,,D*61\r\n$IIMWV,019,T,02.62,N,A*2B\r\n$IIVWT,019,R,02.62,N,01.35,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123342,,,,00,*4D\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5958.307,N,02324.443,E,123342,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,228.84,T,228.84,M,6.27,N,,,D*67\r\n$IIMWV,006,R,09.13,N,A*2E\r\n$IIVWT,019,R,03.03,N,01.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123344,,,,00,*4B\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5958.305,N,02324.438,E,123344,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,229.14,T,229.14,M,6.29,N,,,D*69\r\n$IIMWV,012,T,03.22,N,A*25\r\n$IIVWT,012,R,03.22,N,01.66,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123346,,,,00,*49\r\n$IIDBT,005.05,f,001.54,M,000.83,F*2A\r\n$GPGLL,5958.302,N,02324.433,E,123346,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.46,N,,*07\r\n$IIVTG,229.24,T,229.24,M,6.30,N,,,D*61\r\n$IIMWV,018,R,09.13,N,A*21\r\n$IIVWT,049,R,03.69,N,01.90,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123348,,,,00,*47\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5958.300,N,02324.428,E,123348,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,229.38,T,229.38,M,6.30,N,,,D*61\r\n$IIMWV,032,T,02.50,N,A*23\r\n$IIVWT,032,R,02.50,N,01.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123350,,,,00,*4E\r\n$IIDBT,020.30,f,006.19,M,003.34,F*2A\r\n$GPGLL,5958.298,N,02324.422,E,123350,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,229.70,T,229.70,M,6.30,N,,,D*61\r\n$IIMWV,008,R,09.13,N,A*20\r\n$IIVWT,024,R,03.05,N,01.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123352,,,,00,*4C\r\n$IIDBT,020.24,f,006.17,M,003.33,F*26\r\n$GPGLL,5958.296,N,02324.417,E,123353,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.31,N,,*06\r\n$IIVTG,229.92,T,229.92,M,6.30,N,,,D*61\r\n$IIMWV,037,T,04.78,N,A*2A\r\n$IIVWT,037,R,04.78,N,02.46,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123354,,,,00,*4A\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5958.292,N,02324.409,E,123355,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.94,N,,*08\r\n$IIVTG,230.67,T,230.67,M,6.30,N,,,D*61\r\n$IIMWV,015,R,10.10,N,A*27\r\n$IIVWT,037,R,04.39,N,02.26,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123356,,,,00,*48\r\n$IIDBT,019.29,f,005.88,M,003.17,F*22\r\n$GPGLL,5958.290,N,02324.404,E,123357,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.10,N,02.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.07,N,,*03\r\n$IIVTG,231.04,T,231.04,M,6.30,N,,,D*61\r\n$IIMWV,022,T,03.61,N,A*21\r\n$IIVWT,022,R,03.61,N,01.86,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123358,,,,00,*46\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5958.288,N,02324.398,E,123359,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,231.19,T,231.19,M,6.30,N,,,D*61\r\n$IIMWV,013,R,09.71,N,A*2E\r\n$IIVWT,033,R,03.86,N,01.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123400,,,,00,*4C\r\n$IIDBT,019.61,f,005.98,M,003.23,F*28\r\n$GPGLL,5958.286,N,02324.393,E,123401,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.53,N,,*02\r\n$IIVTG,231.04,T,231.04,M,6.30,N,,,D*61\r\n$IIMWV,039,T,04.41,N,A*2E\r\n$IIVWT,039,R,04.41,N,02.27,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123403,,,,00,*4F\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5958.283,N,02324.387,E,123403,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.72,N,,*00\r\n$IIVTG,230.56,T,230.56,M,6.30,N,,,D*61\r\n$IIMWV,017,R,09.71,N,A*2A\r\n$IIVWT,042,R,04.14,N,02.13,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123405,,,,00,*49\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5958.281,N,02324.382,E,123405,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,230.52,T,230.52,M,6.30,N,,,D*61\r\n$IIMWV,041,T,04.12,N,A*27\r\n$IIVWT,041,R,04.12,N,02.12,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123407,,,,00,*4B\r\n$IIDBT,020.66,f,006.30,M,003.40,F*21\r\n$GPGLL,5958.279,N,02324.377,E,123407,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,230.25,T,230.25,M,6.30,N,,,D*61\r\n$IIMWV,011,R,09.71,N,A*2C\r\n$IIVWT,028,R,03.73,N,01.92,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123409,,,,00,*45\r\n$IIDBT,020.70,f,006.31,M,003.41,F*26\r\n$GPGLL,5958.277,N,02324.372,E,123409,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,229.71,T,229.71,M,6.30,N,,,D*61\r\n$IIMWV,037,T,04.39,N,A*2F\r\n$IIVWT,037,R,04.39,N,02.26,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123411,,,,00,*4C\r\n$IIDBT,020.89,f,006.37,M,003.44,F*23\r\n$GPGLL,5958.274,N,02324.366,E,123411,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.79,N,,*0A\r\n$IIVTG,228.98,T,228.98,M,6.30,N,,,D*61\r\n$IIMWV,012,R,10.49,N,A*2C\r\n$IIVWT,028,R,04.49,N,02.31,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123413,,,,00,*4E\r\n$IIDBT,021.02,f,006.41,M,003.46,F*22\r\n$GPGLL,5958.272,N,02324.361,E,123413,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,228.19,T,228.19,M,6.27,N,,,D*67\r\n$IIMWV,053,T,04.35,N,A*21\r\n$IIVWT,053,R,04.35,N,02.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123415,,,,00,*48\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5958.270,N,02324.356,E,123415,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.79,N,,*0D\r\n$IIVTG,227.70,T,227.70,M,6.29,N,,,D*69\r\n$IIMWV,026,R,09.71,N,A*28\r\n$IIVWT,061,R,04.89,N,02.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123417,,,,00,*4A\r\n$IIDBT,021.42,f,006.53,M,003.52,F*20\r\n$GPGLL,5958.267,N,02324.351,E,123417,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,227.35,T,227.35,M,6.30,N,,,D*61\r\n$IIMWV,052,T,03.09,N,A*28\r\n$IIVWT,052,R,03.09,N,01.59,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123419,,,,00,*44\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5958.265,N,02324.346,E,123419,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.18,N,,*0C\r\n$IIVTG,226.24,T,226.24,M,6.30,N,,,D*61\r\n$IIMWV,013,R,09.13,N,A*2A\r\n$IIVWT,037,R,03.28,N,01.69,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123421,,,,00,*4F\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5958.263,N,02324.341,E,123421,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.12,N,01.61,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,225.58,T,225.58,M,6.30,N,,,D*61\r\n$IIMWV,045,T,03.05,N,A*22\r\n$IIVWT,045,R,03.05,N,01.57,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123423,,,,00,*4D\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5958.260,N,02324.336,E,123423,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,225.27,T,225.27,M,6.30,N,,,D*61\r\n$IIMWV,012,R,09.71,N,A*2F\r\n$IIVWT,031,R,03.84,N,01.98,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123425,,,,00,*4B\r\n$IIDBT,021.71,f,006.62,M,003.57,F*27\r\n$GPGLL,5958.258,N,02324.331,E,123425,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,224.81,T,224.81,M,6.30,N,,,D*61\r\n$IIMWV,057,T,04.41,N,A*26\r\n$IIVWT,057,R,04.41,N,02.27,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123427,,,,00,*49\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.255,N,02324.327,E,123427,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.31,N,,*00\r\n$IIVTG,224.38,T,224.38,M,6.30,N,,,D*61\r\n$IIMWV,025,R,08.74,N,A*2F\r\n$IIVWT,066,R,03.96,N,02.04,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123429,,,,00,*47\r\n$IIDBT,005.31,f,001.62,M,000.87,F*2C\r\n$GPGLL,5958.253,N,02324.322,E,123429,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.92,N,,*09\r\n$IIVTG,224.04,T,224.04,M,6.27,N,,,D*67\r\n$IIMWV,050,T,04.23,N,A*25\r\n$IIVWT,050,R,04.23,N,02.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123431,,,,00,*4E\r\n$IIDBT,005.11,f,001.56,M,000.84,F*2A\r\n$GPGLL,5958.250,N,02324.317,E,123431,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,223.36,T,223.36,M,6.29,N,,,D*69\r\n$IIMWV,016,R,10.10,N,A*24\r\n$IIVWT,038,R,04.49,N,02.31,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123433,,,,00,*4C\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5958.248,N,02324.312,E,123433,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.85,N,,*08\r\n$IIVTG,222.79,T,222.79,M,6.30,N,,,D*61\r\n$IIMWV,036,T,05.75,N,A*27\r\n$IIVWT,036,R,05.75,N,02.96,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123435,,,,00,*4A\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5958.245,N,02324.308,E,123436,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,222.09,T,222.09,M,6.27,N,,,D*67\r\n$IIMWV,023,R,10.88,N,A*23\r\n$IIVWT,048,R,05.61,N,02.89,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123437,,,,00,*48\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5958.241,N,02324.301,E,123438,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.16,N,03.17,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.78,N,,*0D\r\n$IIVTG,220.91,T,220.91,M,6.21,N,,,D*61\r\n$IIMWV,045,T,05.53,N,A*27\r\n$IIVWT,045,R,05.53,N,02.85,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123439,,,,00,*46\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5958.239,N,02324.297,E,123440,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.80,N,,*0A\r\n$IIVTG,220.28,T,220.28,M,6.20,N,,,D*60\r\n$IIMWV,023,R,10.49,N,A*2E\r\n$IIVWT,050,R,05.32,N,02.74,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123441,,,,00,*49\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5958.236,N,02324.292,E,123442,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.80,N,,*0D\r\n$IIVTG,219.34,T,219.34,M,6.25,N,,,D*65\r\n$IIMWV,041,T,05.55,N,A*25\r\n$IIVWT,041,R,05.55,N,02.86,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123443,,,,00,*4B\r\n$IIDBT,021.81,f,006.65,M,003.59,F*21\r\n$GPGLL,5958.233,N,02324.288,E,123444,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.81,N,,*0B\r\n$IIVTG,218.94,T,218.94,M,6.29,N,,,D*69\r\n$IIMWV,027,R,10.49,N,A*2A\r\n$IIVWT,057,R,05.67,N,02.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123446,,,,00,*4E\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5958.230,N,02324.284,E,123446,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,218.36,T,218.36,M,6.22,N,,,D*62\r\n$IIMWV,064,T,05.67,N,A*23\r\n$IIVWT,064,R,05.67,N,02.92,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123448,,,,00,*40\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5958.228,N,02324.280,E,123448,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.06,N,03.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.21,N,,*01\r\n$IIVTG,218.51,T,218.51,M,6.21,N,,,D*61\r\n$IIMWV,024,R,10.49,N,A*29\r\n$IIVWT,052,R,05.38,N,02.77,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123450,,,,00,*49\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5958.225,N,02324.275,E,123450,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.06,N,03.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,218.80,T,218.80,M,6.28,N,,,D*68\r\n$IIMWV,054,T,05.94,N,A*2C\r\n$IIVWT,054,R,05.94,N,03.06,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123452,,,,00,*4B\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.222,N,02324.271,E,123452,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,219.28,T,219.28,M,6.29,N,,,D*69\r\n$IIMWV,021,R,10.49,N,A*2C\r\n$IIVWT,048,R,05.13,N,02.64,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123454,,,,00,*4D\r\n$IIDBT,021.55,f,006.57,M,003.55,F*25\r\n$GPGLL,5958.220,N,02324.266,E,123454,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,219.67,T,219.67,M,6.25,N,,,D*65\r\n$IIMWV,037,T,04.80,N,A*2D\r\n$IIVWT,037,R,04.80,N,02.47,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123456,,,,00,*4F\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5958.217,N,02324.262,E,123456,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.43,N,,*02\r\n$IIVTG,219.62,T,219.62,M,6.24,N,,,D*64\r\n$IIMWV,025,R,10.10,N,A*24\r\n$IIVWT,056,R,05.11,N,02.63,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123458,,,,00,*41\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.214,N,02324.258,E,123458,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.58,N,,*08\r\n$IIVTG,219.25,T,219.25,M,6.23,N,,,D*63\r\n$IIMWV,036,T,05.20,N,A*27\r\n$IIVWT,036,R,05.20,N,02.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123500,,,,00,*4D\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.212,N,02324.253,E,123500,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,218.99,T,218.99,M,6.21,N,,,D*61\r\n$IIMWV,023,R,10.10,N,A*22\r\n$IIVWT,052,R,04.89,N,02.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123502,,,,00,*4F\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.209,N,02324.249,E,123502,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.63,N,02.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.02,N,,*07\r\n$IIVTG,217.95,T,217.95,M,6.28,N,,,D*68\r\n$IIMWV,050,T,05.73,N,A*21\r\n$IIVWT,050,R,05.73,N,02.95,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123504,,,,00,*49\r\n$IIDBT,021.75,f,006.63,M,003.58,F*2D\r\n$GPGLL,5958.206,N,02324.245,E,123504,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.95,N,,*0F\r\n$IIVTG,215.78,T,215.78,M,6.22,N,,,D*62\r\n$IIMWV,035,R,10.49,N,A*29\r\n$IIVWT,069,R,06.39,N,03.29,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123506,,,,00,*4B\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5958.203,N,02324.241,E,123506,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.05,N,,*07\r\n$IIVTG,216.12,T,216.12,M,6.20,N,,,D*60\r\n$IIMWV,035,T,05.24,N,A*20\r\n$IIVWT,035,R,05.24,N,02.70,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123508,,,,00,*45\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5958.201,N,02324.237,E,123508,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,216.53,T,216.53,M,6.20,N,,,D*60\r\n$IIMWV,011,R,11.46,N,A*21\r\n$IIVWT,023,R,05.44,N,02.80,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123510,,,,00,*4C\r\n$IIDBT,021.55,f,006.57,M,003.55,F*25\r\n$GPGLL,5958.198,N,02324.233,E,123510,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.47,N,,*07\r\n$IIVTG,216.98,T,216.98,M,6.20,N,,,D*60\r\n$IIMWV,033,T,05.24,N,A*26\r\n$IIVWT,033,R,05.24,N,02.70,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123512,,,,00,*4E\r\n$IIDBT,021.55,f,006.57,M,003.55,F*25\r\n$GPGLL,5958.195,N,02324.229,E,123512,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,217.82,T,217.82,M,6.20,N,,,D*60\r\n$IIMWV,013,R,11.07,N,A*26\r\n$IIVWT,029,R,05.24,N,02.70,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123514,,,,00,*48\r\n$IIDBT,021.45,f,006.54,M,003.53,F*21\r\n$GPGLL,5958.192,N,02324.225,E,123514,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.29,N,,*0E\r\n$IIVTG,217.76,T,217.76,M,6.20,N,,,D*60\r\n$IIMWV,044,T,05.57,N,A*22\r\n$IIVWT,044,R,05.57,N,02.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123516,,,,00,*4A\r\n$IIDBT,021.42,f,006.53,M,003.52,F*20\r\n$GPGLL,5958.190,N,02324.220,E,123517,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,2.87,N,,*0C\r\n$IIVTG,217.46,T,217.46,M,6.20,N,,,D*60\r\n$IIMWV,017,R,10.49,N,A*29\r\n$IIVWT,040,R,04.84,N,02.49,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123518,,,,00,*44\r\n$IIDBT,021.39,f,006.52,M,003.52,F*2D\r\n$GPGLL,5958.187,N,02324.216,E,123519,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,217.89,T,217.89,M,6.20,N,,,D*60\r\n$IIMWV,046,T,05.65,N,A*21\r\n$IIVWT,046,R,05.65,N,02.91,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123520,,,,00,*4F\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5958.183,N,02324.210,E,123521,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,217.36,T,217.36,M,6.20,N,,,D*60\r\n$IIMWV,018,R,10.10,N,A*2A\r\n$IIVWT,042,R,04.70,N,02.42,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123522,,,,00,*4D\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5958.180,N,02324.206,E,123523,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,217.36,T,217.36,M,6.20,N,,,D*60\r\n$IIMWV,056,T,04.60,N,A*24\r\n$IIVWT,056,R,04.60,N,02.37,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123524,,,,00,*4B\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5958.177,N,02324.202,E,123525,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.12,N,,*06\r\n$IIVTG,217.34,T,217.34,M,6.20,N,,,D*60\r\n$IIMWV,027,R,11.07,N,A*21\r\n$IIVWT,054,R,06.29,N,03.24,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123526,,,,00,*49\r\n$IIDBT,021.29,f,006.49,M,003.50,F*24\r\n$GPGLL,5958.175,N,02324.197,E,123527,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,2.86,N,,*0D\r\n$IIVTG,217.54,T,217.54,M,6.20,N,,,D*60\r\n$IIMWV,059,T,05.40,N,A*28\r\n$IIVWT,059,R,05.40,N,02.78,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123529,,,,00,*46\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5958.172,N,02324.193,E,123529,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.77,N,02.97,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,216.73,T,216.73,M,6.20,N,,,D*60\r\n$IIMWV,037,R,09.52,N,A*29\r\n$IIVWT,075,R,05.87,N,03.02,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123531,,,,00,*4F\r\n$IIDBT,021.29,f,006.49,M,003.50,F*24\r\n$GPGLL,5958.169,N,02324.189,E,123531,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,215.38,T,215.38,M,6.25,N,,,D*65\r\n$IIMWV,086,T,04.85,N,A*22\r\n$IIVWT,086,R,04.85,N,02.50,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123533,,,,00,*4D\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5958.166,N,02324.186,E,123533,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,213.97,T,213.97,M,6.29,N,,,D*69\r\n$IIMWV,032,R,07.77,N,A*25\r\n$IIVWT,085,R,04.06,N,02.09,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123535,,,,00,*4B\r\n$IIDBT,021.25,f,006.48,M,003.50,F*29\r\n$GPGLL,5958.163,N,02324.182,E,123535,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.35,N,,*2A\r\n$IIVTG,212.09,T,212.09,M,6.30,N,,,D*61\r\n$IIMWV,094,T,03.98,N,A*2A\r\n$IIVWT,094,R,03.98,N,02.05,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123537,,,,00,*49\r\n$IIDBT,021.32,f,006.50,M,003.51,F*27\r\n$GPGLL,5958.160,N,02324.178,E,123537,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.94,N,,*0C\r\n$IIVTG,211.52,T,211.52,M,6.37,N,,,D*66\r\n$IIMWV,033,R,08.16,N,A*2C\r\n$IIVWT,082,R,04.43,N,02.28,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123539,,,,00,*47\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5958.157,N,02324.175,E,123539,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.98,N,,*01\r\n$IIVTG,208.26,T,208.26,M,6.39,N,,,D*68\r\n$IIMWV,073,T,04.31,N,A*27\r\n$IIVWT,073,R,04.31,N,02.22,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123541,,,,00,*48\r\n$IIDBT,021.09,f,006.43,M,003.47,F*2A\r\n$GPGLL,5958.154,N,02324.172,E,123541,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.17,N,,*07\r\n$IIVTG,204.54,T,204.54,M,6.32,N,,,D*63\r\n$IIMWV,038,R,07.77,N,A*2F\r\n$IIVWT,093,R,04.80,N,02.47,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123543,,,,00,*4A\r\n$IIDBT,021.02,f,006.41,M,003.46,F*22\r\n$GPGLL,5958.151,N,02324.170,E,123543,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,203.31,T,203.31,M,6.31,N,,,D*60\r\n$IIMWV,070,T,04.02,N,A*24\r\n$IIVWT,070,R,04.02,N,02.07,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123545,,,,00,*4C\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5958.147,N,02324.167,E,123545,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.18,N,,*0A\r\n$IIVTG,202.85,T,202.85,M,6.30,N,,,D*61\r\n$IIMWV,032,R,09.52,N,A*2C\r\n$IIVWT,071,R,05.32,N,02.74,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123547,,,,00,*4E\r\n$IIDBT,020.76,f,006.33,M,003.42,F*21\r\n$GPGLL,5958.144,N,02324.165,E,123547,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.26,N,,*06\r\n$IIVTG,201.64,T,201.64,M,6.30,N,,,D*61\r\n$IIMWV,063,T,05.52,N,A*22\r\n$IIVWT,063,R,05.52,N,02.84,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123549,,,,00,*40\r\n$IIDBT,020.70,f,006.31,M,003.41,F*26\r\n$GPGLL,5958.141,N,02324.162,E,123549,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.83,N,,*08\r\n$IIVTG,201.31,T,201.31,M,6.30,N,,,D*61\r\n$IIMWV,030,R,09.71,N,A*2F\r\n$IIVWT,066,R,05.26,N,02.71,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123551,,,,00,*49\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5958.138,N,02324.160,E,123551,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,201.35,T,201.35,M,6.30,N,,,D*61\r\n$IIMWV,073,T,04.45,N,A*24\r\n$IIVWT,073,R,04.45,N,02.29,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123553,,,,00,*4B\r\n$IIDBT,020.50,f,006.25,M,003.37,F*20\r\n$GPGLL,5958.134,N,02324.157,E,123553,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.02,N,,*01\r\n$IIVTG,201.06,T,201.06,M,6.30,N,,,D*61\r\n$IIMWV,030,R,08.55,N,A*28\r\n$IIVWT,076,R,04.41,N,02.27,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123555,,,,00,*4D\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5958.131,N,02324.155,E,123555,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.97,N,,*0D\r\n$IIVTG,200.76,T,200.76,M,6.23,N,,,D*63\r\n$IIMWV,060,T,05.50,N,A*23\r\n$IIVWT,060,R,05.50,N,02.83,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123557,,,,00,*4F\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5958.128,N,02324.152,E,123557,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.52,N,02.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,200.57,T,200.57,M,6.21,N,,,D*61\r\n$IIMWV,035,R,09.71,N,A*2A\r\n$IIVWT,073,R,05.85,N,03.01,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123559,,,,00,*41\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5958.125,N,02324.150,E,123600,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,200.99,T,200.99,M,6.25,N,,,D*65\r\n$IIMWV,077,T,04.52,N,A*26\r\n$IIVWT,077,R,04.52,N,02.33,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123601,,,,00,*4F\r\n$IIDBT,020.20,f,006.16,M,003.32,F*22\r\n$GPGLL,5958.122,N,02324.147,E,123602,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.72,N,,*04\r\n$IIVTG,200.87,T,200.87,M,6.29,N,,,D*69\r\n$IIMWV,040,R,08.74,N,A*2C\r\n$IIVWT,086,R,05.65,N,02.91,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123603,,,,00,*4D\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5958.117,N,02324.144,E,123604,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.11,N,,*2C\r\n$IIVTG,199.51,T,199.51,M,6.30,N,,,D*61\r\n$IIMWV,095,T,05.75,N,A*2E\r\n$IIVWT,095,R,05.75,N,02.96,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123605,,,,00,*4B\r\n$IIDBT,020.17,f,006.15,M,003.32,F*25\r\n$GPGLL,5958.113,N,02324.142,E,123606,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,199.28,T,199.28,M,6.30,N,,,D*61\r\n$IIMWV,035,R,08.16,N,A*2A\r\n$IIVWT,085,R,04.68,N,02.41,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123607,,,,00,*49\r\n$IIDBT,020.01,f,006.10,M,003.29,F*2D\r\n$GPGLL,5958.110,N,02324.139,E,123608,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,199.24,T,199.24,M,6.30,N,,,D*61\r\n$IIMWV,086,T,04.19,N,A*27\r\n$IIVWT,086,R,04.19,N,02.16,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123609,,,,00,*47\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5958.107,N,02324.137,E,123610,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,199.68,T,199.68,M,6.30,N,,,D*61\r\n$IIMWV,015,R,06.80,N,A*29\r\n$IIVWT,078,R,01.76,N,00.91,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123612,,,,00,*4D\r\n$IIDBT,019.94,f,006.08,M,003.28,F*23\r\n$GPGLL,5958.104,N,02324.135,E,123612,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.09,N,,*08\r\n$IIVTG,199.67,T,199.67,M,6.30,N,,,D*61\r\n$IIMWV,088,T,05.01,N,A*21\r\n$IIVWT,088,R,05.01,N,02.58,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123614,,,,00,*4B\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5958.100,N,02324.132,E,123614,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.13,N,,*02\r\n$IIVTG,199.46,T,199.46,M,6.30,N,,,D*61\r\n$IIMWV,031,R,08.55,N,A*29\r\n$IIVWT,077,R,04.54,N,02.34,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123616,,,,00,*49\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5958.097,N,02324.130,E,123616,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.38,N,02.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.21,N,,*00\r\n$IIVTG,199.24,T,199.24,M,6.30,N,,,D*61\r\n$IIMWV,073,T,05.05,N,A*21\r\n$IIVWT,073,R,05.05,N,02.60,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123618,,,,00,*47\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5958.094,N,02324.128,E,123618,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,198.81,T,198.81,M,6.30,N,,,D*61\r\n$IIMWV,033,R,08.74,N,A*28\r\n$IIVWT,077,R,04.87,N,02.51,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123620,,,,00,*4C\r\n$IIDBT,019.58,f,005.97,M,003.22,F*2C\r\n$GPGLL,5958.091,N,02324.126,E,123620,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,198.35,T,198.35,M,6.30,N,,,D*61\r\n$IIMWV,085,T,06.04,N,A*2A\r\n$IIVWT,085,R,06.04,N,03.11,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123622,,,,00,*4E\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5958.087,N,02324.124,E,123622,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.33,N,,*03\r\n$IIVTG,197.41,T,197.41,M,6.30,N,,,D*61\r\n$IIMWV,035,R,08.74,N,A*2E\r\n$IIVWT,079,R,05.03,N,02.59,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123624,,,,00,*48\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5958.084,N,02324.122,E,123624,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.02,N,,*02\r\n$IIVTG,196.50,T,196.50,M,6.22,N,,,D*62\r\n$IIMWV,067,T,04.49,N,A*2D\r\n$IIVWT,067,R,04.49,N,02.31,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123626,,,,00,*4A\r\n$IIDBT,005.01,f,001.53,M,000.82,F*28\r\n$GPGLL,5958.081,N,02324.120,E,123626,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,196.28,T,196.28,M,6.23,N,,,D*63\r\n$IIMWV,033,R,07.77,N,A*24\r\n$IIVWT,088,R,04.21,N,02.17,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123628,,,,00,*44\r\n$IIDBT,005.64,f,001.72,M,000.92,F*29\r\n$GPGLL,5958.077,N,02324.118,E,123628,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,196.24,T,196.24,M,6.21,N,,,D*61\r\n$IIMWV,073,T,03.55,N,A*22\r\n$IIVWT,073,R,03.55,N,01.83,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123630,,,,00,*4D\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5958.074,N,02324.116,E,123630,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,196.74,T,196.74,M,6.20,N,,,D*60\r\n$IIMWV,026,R,08.74,N,A*2C\r\n$IIVWT,066,R,04.14,N,02.13,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123632,,,,00,*4F\r\n$IIDBT,019.25,f,005.87,M,003.17,F*21\r\n$GPGLL,5958.071,N,02324.114,E,123632,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,197.46,T,197.46,M,6.20,N,,,D*60\r\n$IIMWV,052,T,03.75,N,A*23\r\n$IIVWT,052,R,03.75,N,01.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123634,,,,00,*49\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5958.068,N,02324.112,E,123634,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.74,N,,*01\r\n$IIVTG,197.59,T,197.59,M,6.20,N,,,D*60\r\n$IIMWV,020,R,09.52,N,A*2F\r\n$IIVWT,052,R,04.19,N,02.16,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123636,,,,00,*4B\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5958.064,N,02324.110,E,123636,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,197.78,T,197.78,M,6.20,N,,,D*60\r\n$IIMWV,046,T,04.60,N,A*25\r\n$IIVWT,046,R,04.60,N,02.37,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123638,,,,00,*45\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5958.061,N,02324.108,E,123638,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,198.07,T,198.07,M,6.20,N,,,D*60\r\n$IIMWV,017,R,10.49,N,A*29\r\n$IIVWT,040,R,04.89,N,02.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123640,,,,00,*4A\r\n$IIDBT,005.47,f,001.67,M,000.90,F*2E\r\n$GPGLL,5958.058,N,02324.106,E,123640,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.33,N,,*03\r\n$IIVTG,197.84,T,197.84,M,6.20,N,,,D*60\r\n$IIMWV,064,T,04.82,N,A*29\r\n$IIVWT,064,R,04.82,N,02.48,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123642,,,,00,*48\r\n$IIDBT,005.51,f,001.68,M,000.90,F*26\r\n$GPGLL,5958.054,N,02324.104,E,123643,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.97,N,,*0D\r\n$IIVTG,197.73,T,197.73,M,6.15,N,,,D*66\r\n$IIMWV,020,R,09.13,N,A*2A\r\n$IIVWT,054,R,03.90,N,02.01,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123644,,,,00,*4E\r\n$IIDBT,005.54,f,001.69,M,000.91,F*23\r\n$GPGLL,5958.051,N,02324.102,E,123645,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,196.91,T,196.91,M,6.11,N,,,D*62\r\n$IIMWV,049,T,05.75,N,A*2F\r\n$IIVWT,049,R,05.75,N,02.96,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123646,,,,00,*4C\r\n$IIDBT,006.00,f,001.83,M,000.98,F*2C\r\n$GPGLL,5958.046,N,02324.099,E,123647,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.24,N,,*04\r\n$IIVTG,196.64,T,196.64,M,6.10,N,,,D*63\r\n$IIMWV,024,R,11.46,N,A*27\r\n$IIVWT,047,R,06.33,N,03.26,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123648,,,,00,*42\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5958.043,N,02324.097,E,123649,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,195.99,T,195.99,M,6.10,N,,,D*63\r\n$IIMWV,073,T,06.23,N,A*26\r\n$IIVWT,073,R,06.23,N,03.21,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123650,,,,00,*4B\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5958.040,N,02324.095,E,123651,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,196.29,T,196.29,M,6.10,N,,,D*63\r\n$IIMWV,037,R,09.52,N,A*29\r\n$IIVWT,077,R,05.83,N,03.00,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123652,,,,00,*49\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.037,N,02324.093,E,123653,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.52,N,,*05\r\n$IIVTG,197.05,T,197.05,M,6.10,N,,,D*63\r\n$IIMWV,063,T,05.13,N,A*27\r\n$IIVWT,063,R,05.13,N,02.64,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123655,,,,00,*4E\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5958.033,N,02324.091,E,123655,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.53,N,,*05\r\n$IIVTG,196.53,T,196.53,M,6.13,N,,,D*60\r\n$IIMWV,033,R,10.10,N,A*23\r\n$IIVWT,068,R,05.90,N,03.04,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123657,,,,00,*4C\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.030,N,02324.089,E,123657,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.77,N,,*02\r\n$IIVTG,196.58,T,196.58,M,6.18,N,,,D*6B\r\n$IIMWV,054,T,04.97,N,A*2E\r\n$IIVWT,054,R,04.97,N,02.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123659,,,,00,*42\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5958.027,N,02324.087,E,123659,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,197.17,T,197.17,M,6.12,N,,,D*61\r\n$IIMWV,016,R,10.49,N,A*28\r\n$IIVWT,037,R,04.72,N,02.43,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123701,,,,00,*4E\r\n$IIDBT,018.79,f,005.73,M,003.09,F*2D\r\n$GPGLL,5958.024,N,02324.085,E,123701,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.52,N,,*04\r\n$IIVTG,197.72,T,197.72,M,6.13,N,,,D*60\r\n$IIMWV,073,T,05.81,N,A*2D\r\n$IIVWT,073,R,05.81,N,02.99,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123703,,,,00,*4C\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5958.020,N,02324.083,E,123703,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,198.50,T,198.50,M,6.16,N,,,D*65\r\n$IIMWV,017,R,10.10,N,A*25\r\n$IIVWT,042,R,04.49,N,02.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123705,,,,00,*4A\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5958.017,N,02324.081,E,123705,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.30,N,03.76,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.53,N,,*03\r\n$IIVTG,198.83,T,198.83,M,6.16,N,,,D*65\r\n$IIMWV,038,T,06.33,N,A*28\r\n$IIVWT,038,R,06.33,N,03.26,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123707,,,,00,*48\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5958.014,N,02324.079,E,123707,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,199.18,T,199.18,M,6.12,N,,,D*61\r\n$IIMWV,020,R,11.85,N,A*2C\r\n$IIVWT,039,R,06.35,N,03.27,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123709,,,,00,*46\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.011,N,02324.076,E,123709,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.70,N,03.45,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.66,N,,*02\r\n$IIVTG,199.50,T,199.50,M,6.10,N,,,D*63\r\n$IIMWV,054,T,06.66,N,A*22\r\n$IIVWT,054,R,06.66,N,03.43,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123711,,,,00,*4F\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5958.008,N,02324.074,E,123711,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.00,N,03.09,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.47,N,,*00\r\n$IIVTG,199.42,T,199.42,M,6.10,N,,,D*63\r\n$IIMWV,035,R,10.88,N,A*24\r\n$IIVWT,066,R,06.72,N,03.46,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123713,,,,00,*4D\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5958.005,N,02324.072,E,123713,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.54,N,,*02\r\n$IIVTG,198.90,T,198.90,M,6.10,N,,,D*63\r\n$IIMWV,070,T,06.53,N,A*22\r\n$IIVWT,070,R,06.53,N,03.36,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123715,,,,00,*4B\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5958.001,N,02324.070,E,123715,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,198.70,T,198.70,M,6.10,N,,,D*63\r\n$IIMWV,031,R,09.13,N,A*2A\r\n$IIVWT,072,R,04.93,N,02.54,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123717,,,,00,*49\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5957.998,N,02324.068,E,123717,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.06,N,,*04\r\n$IIVTG,198.75,T,198.75,M,6.10,N,,,D*63\r\n$IIMWV,070,T,06.49,N,A*29\r\n$IIVWT,070,R,06.49,N,03.34,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123719,,,,00,*47\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5957.995,N,02324.065,E,123719,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,198.94,T,198.94,M,6.10,N,,,D*63\r\n$IIMWV,021,R,09.52,N,A*2E\r\n$IIVWT,051,R,04.33,N,02.23,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123721,,,,00,*4C\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.992,N,02324.063,E,123721,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.08,N,,*0A\r\n$IIVTG,199.31,T,199.31,M,6.10,N,,,D*63\r\n$IIMWV,058,T,04.58,N,A*21\r\n$IIVWT,058,R,04.58,N,02.36,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123723,,,,00,*4E\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5957.989,N,02324.061,E,123723,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.50,N,,*07\r\n$IIVTG,199.63,T,199.63,M,6.10,N,,,D*63\r\n$IIMWV,017,R,08.74,N,A*2E\r\n$IIVWT,051,R,03.28,N,01.69,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123725,,,,00,*48\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5957.985,N,02324.059,E,123726,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.53,N,01.82,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,199.80,T,199.80,M,6.10,N,,,D*63\r\n$IIMWV,065,T,03.98,N,A*24\r\n$IIVWT,065,R,03.98,N,02.05,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123727,,,,00,*4A\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.981,N,02324.055,E,123728,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.61,N,,*04\r\n$IIVTG,200.08,T,200.08,M,6.13,N,,,D*60\r\n$IIMWV,023,R,08.74,N,A*29\r\n$IIVWT,061,R,03.84,N,01.98,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123729,,,,00,*44\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.977,N,02324.053,E,123730,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.43,N,,*04\r\n$IIVTG,201.12,T,201.12,M,6.13,N,,,D*60\r\n$IIMWV,073,T,03.69,N,A*2D\r\n$IIVWT,073,R,03.69,N,01.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123731,,,,00,*4D\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.974,N,02324.050,E,123732,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,201.65,T,201.65,M,6.11,N,,,D*62\r\n$IIMWV,028,R,07.58,N,A*23\r\n$IIVWT,083,R,03.51,N,01.81,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123733,,,,00,*4F\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5957.971,N,02324.048,E,123734,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.30,N,01.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.90,N,,*08\r\n$IIVTG,201.39,T,201.39,M,6.15,N,,,D*66\r\n$IIMWV,084,T,03.59,N,A*26\r\n$IIVWT,084,R,03.59,N,01.85,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123736,,,,00,*4A\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5957.968,N,02324.045,E,123736,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.65,N,,*00\r\n$IIVTG,201.45,T,201.45,M,6.19,N,,,D*6A\r\n$IIMWV,019,R,08.55,N,A*23\r\n$IIVWT,059,R,03.22,N,01.66,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123738,,,,00,*44\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5957.965,N,02324.043,E,123738,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.84,N,,*0C\r\n$IIVTG,201.96,T,201.96,M,6.20,N,,,D*60\r\n$IIMWV,073,T,03.05,N,A*27\r\n$IIVWT,073,R,03.05,N,01.57,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123740,,,,00,*4B\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5957.962,N,02324.040,E,123740,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,202.49,T,202.49,M,6.20,N,,,D*60\r\n$IIMWV,016,R,08.55,N,A*2C\r\n$IIVWT,051,R,02.95,N,01.52,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123742,,,,00,*49\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5957.959,N,02324.038,E,123742,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.25,N,,*04\r\n$IIVTG,202.75,T,202.75,M,6.20,N,,,D*60\r\n$IIMWV,062,T,03.09,N,A*2B\r\n$IIVWT,062,R,03.09,N,01.59,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123744,,,,00,*4F\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5957.955,N,02324.035,E,123744,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,202.49,T,202.49,M,6.20,N,,,D*60\r\n$IIMWV,014,R,09.71,N,A*29\r\n$IIVWT,036,R,03.90,N,02.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123746,,,,00,*4D\r\n$IIDBT,005.74,f,001.75,M,000.94,F*29\r\n$GPGLL,5957.952,N,02324.032,E,123746,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.84,N,,*09\r\n$IIVTG,202.70,T,202.70,M,6.20,N,,,D*60\r\n$IIMWV,043,T,06.47,N,A*27\r\n$IIVWT,043,R,06.47,N,03.33,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123748,,,,00,*43\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5957.949,N,02324.030,E,123748,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.84,N,,*0E\r\n$IIVTG,202.28,T,202.28,M,6.20,N,,,D*60\r\n$IIMWV,027,R,11.85,N,A*2B\r\n$IIVWT,051,R,06.78,N,03.49,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123750,,,,00,*4A\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5957.946,N,02324.027,E,123750,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.20,N,03.19,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.91,N,,*0A\r\n$IIVTG,201.24,T,201.24,M,6.20,N,,,D*60\r\n$IIMWV,047,T,06.23,N,A*21\r\n$IIVWT,047,R,06.23,N,03.21,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123752,,,,00,*48\r\n$IIDBT,019.12,f,005.83,M,003.15,F*23\r\n$GPGLL,5957.943,N,02324.025,E,123752,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.25,N,,*05\r\n$IIVTG,199.14,T,199.14,M,6.20,N,,,D*60\r\n$IIMWV,030,R,10.88,N,A*21\r\n$IIVWT,060,R,06.31,N,03.25,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123754,,,,00,*4E\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5957.939,N,02324.024,E,123754,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.22,N,,*02\r\n$IIVTG,196.63,T,196.63,M,6.15,N,,,D*66\r\n$IIMWV,057,T,06.14,N,A*24\r\n$IIVWT,057,R,06.14,N,03.16,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123756,,,,00,*4C\r\n$IIDBT,005.34,f,001.63,M,000.88,F*27\r\n$GPGLL,5957.936,N,02324.022,E,123756,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.55,N,03.37,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,195.63,T,195.63,M,6.11,N,,,D*62\r\n$IIMWV,029,R,10.88,N,A*29\r\n$IIVWT,058,R,06.22,N,03.20,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123758,,,,00,*42\r\n$IIDBT,019.06,f,005.81,M,003.14,F*25\r\n$GPGLL,5957.933,N,02324.020,E,123758,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,197.11,T,197.11,M,6.18,N,,,D*6B\r\n$IIMWV,053,T,07.05,N,A*21\r\n$IIVWT,053,R,07.05,N,03.63,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123800,,,,00,*40\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.930,N,02324.018,E,123800,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.38,N,,*09\r\n$IIVTG,196.95,T,196.95,M,6.12,N,,,D*61\r\n$IIMWV,030,R,11.85,N,A*2D\r\n$IIVWT,056,R,07.17,N,03.69,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123802,,,,00,*42\r\n$IIDBT,018.92,f,005.77,M,003.11,F*25\r\n$GPGLL,5957.926,N,02324.016,E,123802,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.94,N,03.06,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.54,N,,*04\r\n$IIVTG,197.81,T,197.81,M,6.10,N,,,D*63\r\n$IIMWV,051,T,06.88,N,A*27\r\n$IIVWT,051,R,06.88,N,03.54,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123804,,,,00,*44\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.923,N,02324.013,E,123804,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.60,N,03.91,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.02,N,,*00\r\n$IIVTG,198.78,T,198.78,M,6.10,N,,,D*63\r\n$IIMWV,035,R,11.85,N,A*28\r\n$IIVWT,062,R,07.61,N,03.92,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123806,,,,00,*46\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.920,N,02324.011,E,123806,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,199.82,T,199.82,M,6.15,N,,,D*66\r\n$IIMWV,056,T,06.16,N,A*27\r\n$IIVWT,056,R,06.16,N,03.17,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123808,,,,00,*48\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.917,N,02324.009,E,123809,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.66,N,,*02\r\n$IIVTG,200.18,T,200.18,M,6.19,N,,,D*6A\r\n$IIMWV,032,R,12.05,N,A*24\r\n$IIVWT,058,R,07.44,N,03.83,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123810,,,,00,*41\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.912,N,02324.005,E,123811,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.25,N,,*05\r\n$IIVTG,199.81,T,199.81,M,6.20,N,,,D*60\r\n$IIMWV,066,T,06.97,N,A*2D\r\n$IIVWT,066,R,06.97,N,03.59,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123812,,,,00,*43\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5957.909,N,02324.003,E,123813,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,2.51,N,,*07\r\n$IIVTG,199.75,T,199.75,M,6.20,N,,,D*60\r\n$IIMWV,034,R,10.49,N,A*28\r\n$IIVWT,067,R,06.29,N,03.24,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123814,,,,00,*45\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.906,N,02324.001,E,123815,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.95,N,03.58,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.89,N,,*02\r\n$IIVTG,199.91,T,199.91,M,6.20,N,,,D*60\r\n$IIMWV,057,T,06.41,N,A*24\r\n$IIVWT,057,R,06.41,N,03.30,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123816,,,,00,*47\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5957.902,N,02323.998,E,123817,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,200.25,T,200.25,M,6.20,N,,,D*60\r\n$IIMWV,013,R,10.49,N,A*2D\r\n$IIVWT,030,R,04.68,N,02.41,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123819,,,,00,*48\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.899,N,02323.996,E,123819,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.75,N,,*01\r\n$IIVTG,200.34,T,200.34,M,6.20,N,,,D*60\r\n$IIMWV,079,T,04.76,N,A*2E\r\n$IIVWT,079,R,04.76,N,02.45,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123821,,,,00,*43\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.896,N,02323.994,E,123821,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,200.34,T,200.34,M,6.20,N,,,D*60\r\n$IIMWV,012,R,07.77,N,A*27\r\n$IIVWT,049,R,02.04,N,01.05,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123823,,,,00,*41\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.893,N,02323.991,E,123823,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.70,N,01.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.98,N,,*02\r\n$IIVTG,200.16,T,200.16,M,6.27,N,,,D*67\r\n$IIMWV,072,T,03.59,N,A*2F\r\n$IIVWT,072,R,03.59,N,01.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123825,,,,00,*47\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5957.889,N,02323.989,E,123825,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.91,N,,*0B\r\n$IIVTG,199.69,T,199.69,M,6.29,N,,,D*69\r\n$IIMWV,034,R,09.13,N,A*2F\r\n$IIVWT,075,R,05.20,N,02.68,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123827,,,,00,*45\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5957.886,N,02323.987,E,123827,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,199.84,T,199.84,M,6.22,N,,,D*62\r\n$IIMWV,082,T,05.15,N,A*2E\r\n$IIVWT,082,R,05.15,N,02.65,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123829,,,,00,*4B\r\n$IIDBT,018.89,f,005.76,M,003.11,F*2E\r\n$GPGLL,5957.883,N,02323.984,E,123829,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,199.79,T,199.79,M,6.26,N,,,D*66\r\n$IIMWV,031,R,07.77,N,A*26\r\n$IIVWT,086,R,03.98,N,02.05,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123831,,,,00,*42\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5957.880,N,02323.982,E,123831,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.60,N,,*05\r\n$IIVTG,199.12,T,199.12,M,6.21,N,,,D*61\r\n$IIMWV,061,T,03.46,N,A*23\r\n$IIVWT,061,R,03.46,N,01.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123833,,,,00,*40\r\n$IIDBT,018.86,f,005.75,M,003.10,F*23\r\n$GPGLL,5957.876,N,02323.980,E,123833,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.26,N,,*06\r\n$IIVTG,199.20,T,199.20,M,6.20,N,,,D*60\r\n$IIMWV,018,R,08.16,N,A*25\r\n$IIVWT,060,R,02.95,N,01.52,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123835,,,,00,*46\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5957.873,N,02323.977,E,123835,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,199.75,T,199.75,M,6.25,N,,,D*65\r\n$IIMWV,077,T,03.09,N,A*2F\r\n$IIVWT,077,R,03.09,N,01.59,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123837,,,,00,*44\r\n$IIDBT,005.90,f,001.80,M,000.97,F*2A\r\n$GPGLL,5957.870,N,02323.975,E,123837,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.24,N,,*05\r\n$IIVTG,200.51,T,200.51,M,6.29,N,,,D*69\r\n$IIMWV,022,R,08.74,N,A*28\r\n$IIVWT,062,R,03.69,N,01.90,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123839,,,,00,*4A\r\n$IIDBT,004.72,f,001.44,M,000.77,F*21\r\n$GPGLL,5957.867,N,02323.972,E,123839,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,3.52,N,,*05\r\n$IIVTG,202.28,T,202.28,M,6.30,N,,,D*61\r\n$IIMWV,068,T,03.79,N,A*26\r\n$IIVWT,068,R,03.79,N,01.95,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123841,,,,00,*45\r\n$IIDBT,004.69,f,001.43,M,000.77,F*2C\r\n$GPGLL,5957.863,N,02323.970,E,123841,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,200.52,T,200.52,M,6.30,N,,,D*61\r\n$IIMWV,031,R,07.77,N,A*26\r\n$IIVWT,086,R,03.96,N,02.04,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123843,,,,00,*47\r\n$IIDBT,004.72,f,001.44,M,000.77,F*21\r\n$GPGLL,5957.860,N,02323.968,E,123843,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,3.20,N,,*00\r\n$IIVTG,197.93,T,197.93,M,6.22,N,,,D*62\r\n$IIMWV,076,T,04.70,N,A*27\r\n$IIVWT,076,R,04.70,N,02.42,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123845,,,,00,*41\r\n$IIDBT,006.06,f,001.85,M,000.99,F*2D\r\n$GPGLL,5957.857,N,02323.966,E,123845,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,196.18,T,196.18,M,6.21,N,,,D*61\r\n$IIMWV,036,R,09.52,N,A*28\r\n$IIVWT,076,R,05.75,N,02.96,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123847,,,,00,*43\r\n$IIDBT,018.70,f,005.70,M,003.08,F*26\r\n$GPGLL,5957.853,N,02323.964,E,123847,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.29,N,,*08\r\n$IIVTG,196.02,T,196.02,M,6.28,N,,,D*68\r\n$IIMWV,073,T,03.59,N,A*2E\r\n$IIVWT,073,R,03.59,N,01.85,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123849,,,,00,*4D\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5957.850,N,02323.962,E,123849,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,197.78,T,197.78,M,6.29,N,,,D*69\r\n$IIMWV,030,R,08.16,N,A*2F\r\n$IIVWT,078,R,04.12,N,02.12,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123851,,,,00,*44\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5957.847,N,02323.960,E,123852,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,197.64,T,197.64,M,6.22,N,,,D*62\r\n$IIMWV,064,T,04.35,N,A*25\r\n$IIVWT,064,R,04.35,N,02.24,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123853,,,,00,*46\r\n$IIDBT,018.63,f,005.68,M,003.07,F*22\r\n$GPGLL,5957.842,N,02323.956,E,123854,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,199.48,T,199.48,M,6.15,N,,,D*66\r\n$IIMWV,032,R,08.16,N,A*2D\r\n$IIVWT,081,R,04.35,N,02.24,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123855,,,,00,*40\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5957.839,N,02323.954,E,123856,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.89,N,01.49,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,201.07,T,201.07,M,6.19,N,,,D*6A\r\n$IIMWV,068,T,04.56,N,A*2C\r\n$IIVWT,068,R,04.56,N,02.35,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123857,,,,00,*42\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5957.835,N,02323.952,E,123858,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.05,N,,*01\r\n$IIVTG,200.92,T,200.92,M,6.20,N,,,D*60\r\n$IIMWV,020,R,10.49,N,A*2D\r\n$IIVWT,045,R,05.05,N,02.60,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123859,,,,00,*4C\r\n$IIDBT,018.56,f,005.66,M,003.05,F*28\r\n$GPGLL,5957.832,N,02323.949,E,123900,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,200.30,T,200.30,M,6.20,N,,,D*60\r\n$IIMWV,054,T,05.46,N,A*23\r\n$IIVWT,054,R,05.46,N,02.81,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123902,,,,00,*43\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5957.829,N,02323.947,E,123902,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.60,N,,*04\r\n$IIVTG,200.87,T,200.87,M,6.20,N,,,D*60\r\n$IIMWV,021,R,10.10,N,A*20\r\n$IIVWT,050,R,04.82,N,02.48,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123904,,,,00,*45\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5957.826,N,02323.945,E,123904,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.97,N,,*0D\r\n$IIVTG,199.42,T,199.42,M,6.20,N,,,D*60\r\n$IIMWV,067,T,05.30,N,A*22\r\n$IIVWT,067,R,05.30,N,02.73,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123906,,,,00,*47\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5957.822,N,02323.942,E,123906,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,198.43,T,198.43,M,6.20,N,,,D*60\r\n$IIMWV,033,R,09.71,N,A*2C\r\n$IIVWT,070,R,05.65,N,02.91,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123908,,,,00,*49\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5957.819,N,02323.940,E,123908,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,198.61,T,198.61,M,6.20,N,,,D*60\r\n$IIMWV,081,T,06.22,N,A*2A\r\n$IIVWT,081,R,06.22,N,03.20,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123910,,,,00,*40\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5957.816,N,02323.938,E,123910,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,198.65,T,198.65,M,6.20,N,,,D*60\r\n$IIMWV,028,R,09.13,N,A*22\r\n$IIVWT,067,R,04.60,N,02.37,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123912,,,,00,*42\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5957.813,N,02323.936,E,123912,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.00,N,,*03\r\n$IIVTG,198.19,T,198.19,M,6.20,N,,,D*60\r\n$IIMWV,066,T,03.79,N,A*28\r\n$IIVWT,066,R,03.79,N,01.95,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123914,,,,00,*44\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5957.809,N,02323.934,E,123914,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.11,N,,*02\r\n$IIVTG,198.17,T,198.17,M,6.20,N,,,D*60\r\n$IIMWV,021,R,08.55,N,A*28\r\n$IIVWT,060,R,03.47,N,01.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123916,,,,00,*46\r\n$IIDBT,018.27,f,005.57,M,003.01,F*28\r\n$GPGLL,5957.806,N,02323.932,E,123916,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.68,N,,*0E\r\n$IIVTG,198.17,T,198.17,M,6.20,N,,,D*60\r\n$IIMWV,072,T,03.67,N,A*22\r\n$IIVWT,072,R,03.67,N,01.89,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123918,,,,00,*48\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5957.803,N,02323.929,E,123918,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,198.52,T,198.52,M,6.22,N,,,D*62\r\n$IIMWV,023,R,08.16,N,A*2D\r\n$IIVWT,069,R,03.46,N,01.78,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123920,,,,00,*43\r\n$IIDBT,018.33,f,005.59,M,003.02,F*20\r\n$GPGLL,5957.800,N,02323.927,E,123920,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.00,N,,*02\r\n$IIVTG,198.58,T,198.58,M,6.21,N,,,D*61\r\n$IIMWV,065,T,05.07,N,A*24\r\n$IIVWT,065,R,05.07,N,02.61,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123922,,,,00,*41\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5957.796,N,02323.925,E,123922,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.62,N,,*06\r\n$IIVTG,198.87,T,198.87,M,6.20,N,,,D*60\r\n$IIMWV,027,R,10.88,N,A*27\r\n$IIVWT,055,R,06.00,N,03.09,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123924,,,,00,*47\r\n$IIDBT,018.24,f,005.56,M,003.00,F*2B\r\n$GPGLL,5957.793,N,02323.923,E,123924,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.70,N,,*04\r\n$IIVTG,199.14,T,199.14,M,6.20,N,,,D*60\r\n$IIMWV,069,T,04.80,N,A*26\r\n$IIVWT,069,R,04.80,N,02.47,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123926,,,,00,*45\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5957.790,N,02323.921,E,123926,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.48,N,03.85,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.45,N,,*00\r\n$IIVTG,198.96,T,198.96,M,6.20,N,,,D*60\r\n$IIMWV,045,R,10.88,N,A*23\r\n$IIVWT,080,R,07.83,N,04.03,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123928,,,,00,*4B\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5957.787,N,02323.918,E,123928,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.33,N,04.29,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.02,N,,*2E\r\n$IIVTG,198.99,T,198.99,M,6.20,N,,,D*60\r\n$IIMWV,079,T,07.30,N,A*2F\r\n$IIVWT,079,R,07.30,N,03.76,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123930,,,,00,*42\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5957.783,N,02323.916,E,123930,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.26,N,,*28\r\n$IIVTG,198.47,T,198.47,M,6.20,N,,,D*60\r\n$IIMWV,051,R,09.71,N,A*28\r\n$IIVWT,092,R,07.58,N,03.90,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123932,,,,00,*40\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5957.780,N,02323.914,E,123933,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.04,N,,*28\r\n$IIVTG,198.39,T,198.39,M,6.20,N,,,D*60\r\n$IIMWV,086,T,06.92,N,A*26\r\n$IIVWT,086,R,06.92,N,03.56,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123934,,,,00,*46\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5957.777,N,02323.912,E,123935,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,198.92,T,198.92,M,6.20,N,,,D*60\r\n$IIMWV,044,R,10.88,N,A*22\r\n$IIVWT,080,R,07.71,N,03.97,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123936,,,,00,*44\r\n$IIDBT,018.37,f,005.60,M,003.02,F*2E\r\n$GPGLL,5957.772,N,02323.908,E,123937,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,198.47,T,198.47,M,6.29,N,,,D*69\r\n$IIMWV,076,T,05.98,N,A*20\r\n$IIVWT,076,R,05.98,N,03.08,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123938,,,,00,*4A\r\n$IIDBT,018.40,f,005.61,M,003.03,F*2E\r\n$GPGLL,5957.769,N,02323.906,E,123939,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.66,N,,*02\r\n$IIVTG,198.32,T,198.32,M,6.30,N,,,D*61\r\n$IIMWV,025,R,10.10,N,A*24\r\n$IIVWT,057,R,05.15,N,02.65,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123940,,,,00,*45\r\n$IIDBT,011.74,f,003.58,M,001.93,F*27\r\n$GPGLL,5957.765,N,02323.904,E,123941,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,197.83,T,197.83,M,6.25,N,,,D*65\r\n$IIMWV,043,T,03.71,N,A*27\r\n$IIVWT,043,R,03.71,N,01.91,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123942,,,,00,*47\r\n$IIDBT,018.47,f,005.63,M,003.04,F*2C\r\n$GPGLL,5957.762,N,02323.902,E,123943,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.59,N,,*09\r\n$IIVTG,198.51,T,198.51,M,6.21,N,,,D*61\r\n$IIMWV,013,R,09.71,N,A*2E\r\n$IIVWT,034,R,03.94,N,02.03,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123945,,,,00,*40\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5957.759,N,02323.900,E,123945,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,198.45,T,198.45,M,6.20,N,,,D*60\r\n$IIMWV,041,T,04.08,N,A*2C\r\n$IIVWT,041,R,04.08,N,02.10,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123947,,,,00,*42\r\n$IIDBT,018.66,f,005.69,M,003.07,F*26\r\n$GPGLL,5957.756,N,02323.898,E,123947,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,197.51,T,197.51,M,6.20,N,,,D*60\r\n$IIMWV,025,R,09.52,N,A*2A\r\n$IIVWT,061,R,04.66,N,02.40,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123949,,,,00,*4C\r\n$IIDBT,018.76,f,005.72,M,003.09,F*23\r\n$GPGLL,5957.752,N,02323.896,E,123949,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.46,N,,*00\r\n$IIVTG,197.75,T,197.75,M,6.20,N,,,D*60\r\n$IIMWV,051,T,03.38,N,A*29\r\n$IIVWT,051,R,03.38,N,01.74,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123951,,,,00,*45\r\n$IIDBT,018.83,f,005.74,M,003.10,F*27\r\n$GPGLL,5957.749,N,02323.894,E,123951,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.42,N,,*05\r\n$IIVTG,198.29,T,198.29,M,6.15,N,,,D*66\r\n$IIMWV,031,R,09.52,N,A*2F\r\n$IIVWT,068,R,05.24,N,02.70,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123953,,,,00,*47\r\n$IIDBT,019.02,f,005.80,M,003.13,F*27\r\n$GPGLL,5957.746,N,02323.891,E,123953,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.47,N,,*01\r\n$IIVTG,199.27,T,199.27,M,6.16,N,,,D*65\r\n$IIMWV,043,T,04.97,N,A*28\r\n$IIVWT,043,R,04.97,N,02.56,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123955,,,,00,*41\r\n$IIDBT,019.09,f,005.82,M,003.14,F*29\r\n$GPGLL,5957.743,N,02323.889,E,123955,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.22,N,,*05\r\n$IIVTG,199.72,T,199.72,M,6.19,N,,,D*6A\r\n$IIMWV,026,R,11.07,N,A*20\r\n$IIVWT,052,R,06.02,N,03.10,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123957,,,,00,*43\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5957.739,N,02323.887,E,123957,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.18,N,03.18,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.26,N,,*01\r\n$IIVTG,199.50,T,199.50,M,6.20,N,,,D*60\r\n$IIMWV,044,T,05.46,N,A*22\r\n$IIVWT,044,R,05.46,N,02.81,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,123959,,,,00,*4D\r\n$IIDBT,019.15,f,005.84,M,003.15,F*23\r\n$GPGLL,5957.736,N,02323.885,E,123959,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.51,N,03.35,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,199.05,T,199.05,M,6.20,N,,,D*60\r\n$IIMWV,025,R,11.85,N,A*29\r\n$IIVWT,049,R,06.74,N,03.47,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124001,,,,00,*4E\r\n$IIDBT,019.32,f,005.89,M,003.18,F*26\r\n$GPGLL,5957.733,N,02323.882,E,124001,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.41,N,,*07\r\n$IIVTG,199.44,T,199.44,M,6.17,N,,,D*64\r\n$IIMWV,045,T,05.67,N,A*20\r\n$IIVWT,045,R,05.67,N,02.92,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124003,,,,00,*4C\r\n$IIDBT,019.35,f,005.90,M,003.18,F*29\r\n$GPGLL,5957.730,N,02323.880,E,124003,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,199.94,T,199.94,M,6.19,N,,,D*6A\r\n$IIMWV,018,R,10.88,N,A*2B\r\n$IIVWT,038,R,05.24,N,02.70,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124005,,,,00,*4A\r\n$IIDBT,019.45,f,005.93,M,003.20,F*26\r\n$GPGLL,5957.726,N,02323.878,E,124005,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,199.23,T,199.23,M,6.20,N,,,D*60\r\n$IIMWV,044,T,05.75,N,A*22\r\n$IIVWT,044,R,05.75,N,02.96,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124007,,,,00,*48\r\n$IIDBT,019.52,f,005.95,M,003.21,F*27\r\n$GPGLL,5957.723,N,02323.875,E,124007,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.61,N,,*05\r\n$IIVTG,200.18,T,200.18,M,6.20,N,,,D*60\r\n$IIMWV,023,R,10.49,N,A*2E\r\n$IIVWT,050,R,05.26,N,02.71,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124009,,,,00,*46\r\n$IIDBT,019.68,f,006.00,M,003.24,F*24\r\n$GPGLL,5957.720,N,02323.873,E,124009,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.10,N,,*04\r\n$IIVTG,202.45,T,202.45,M,6.20,N,,,D*60\r\n$IIMWV,057,T,05.22,N,A*22\r\n$IIVWT,057,R,05.22,N,02.69,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124011,,,,00,*4F\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5957.717,N,02323.870,E,124011,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.59,N,,*0F\r\n$IIVTG,202.29,T,202.29,M,6.20,N,,,D*60\r\n$IIMWV,033,R,10.10,N,A*23\r\n$IIVWT,068,R,05.90,N,03.04,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124013,,,,00,*4D\r\n$IIDBT,019.88,f,006.06,M,003.27,F*2F\r\n$GPGLL,5957.714,N,02323.868,E,124013,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.15,N,,*06\r\n$IIVTG,202.17,T,202.17,M,6.20,N,,,D*60\r\n$IIMWV,061,T,04.72,N,A*23\r\n$IIVWT,061,R,04.72,N,02.43,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124015,,,,00,*4B\r\n$IIDBT,020.04,f,006.11,M,003.30,F*21\r\n$GPGLL,5957.710,N,02323.865,E,124016,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.71,N,,*06\r\n$IIVTG,202.09,T,202.09,M,6.20,N,,,D*60\r\n$IIMWV,038,R,09.52,N,A*26\r\n$IIVWT,078,R,05.98,N,03.08,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124017,,,,00,*49\r\n$IIDBT,020.14,f,006.14,M,003.31,F*24\r\n$GPGLL,5957.706,N,02323.861,E,124018,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.45,N,,*02\r\n$IIVTG,201.75,T,201.75,M,6.20,N,,,D*60\r\n$IIMWV,066,T,04.60,N,A*27\r\n$IIVWT,066,R,04.60,N,02.37,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124019,,,,00,*47\r\n$IIDBT,020.27,f,006.18,M,003.34,F*2D\r\n$GPGLL,5957.703,N,02323.859,E,124020,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.65,N,,*00\r\n$IIVTG,200.79,T,200.79,M,6.20,N,,,D*60\r\n$IIMWV,026,R,08.55,N,A*2F\r\n$IIVWT,070,R,03.92,N,02.02,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124021,,,,00,*4C\r\n$IIDBT,020.34,f,006.20,M,003.35,F*25\r\n$GPGLL,5957.699,N,02323.856,E,124022,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,200.70,T,200.70,M,6.20,N,,,D*60\r\n$IIMWV,059,T,04.10,N,A*2C\r\n$IIVWT,059,R,04.10,N,02.11,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124023,,,,00,*4E\r\n$IIDBT,020.47,f,006.24,M,003.37,F*27\r\n$GPGLL,5957.696,N,02323.854,E,124024,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.82,N,,*09\r\n$IIVTG,200.67,T,200.67,M,6.20,N,,,D*60\r\n$IIMWV,032,R,09.13,N,A*29\r\n$IIVWT,073,R,04.99,N,02.57,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124025,,,,00,*48\r\n$IIDBT,020.63,f,006.29,M,003.39,F*22\r\n$GPGLL,5957.693,N,02323.852,E,124026,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.81,N,,*0A\r\n$IIVTG,200.09,T,200.09,M,6.25,N,,,D*65\r\n$IIMWV,059,T,03.46,N,A*28\r\n$IIVWT,059,R,03.46,N,01.78,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124027,,,,00,*4A\r\n$IIDBT,020.73,f,006.32,M,003.41,F*26\r\n$GPGLL,5957.690,N,02323.850,E,124028,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,198.75,T,198.75,M,6.29,N,,,D*69\r\n$IIMWV,023,R,08.16,N,A*2D\r\n$IIVWT,067,R,03.38,N,01.74,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124030,,,,00,*4C\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5957.686,N,02323.848,E,124030,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,197.03,T,197.03,M,6.30,N,,,D*61\r\n$IIMWV,057,T,04.10,N,A*22\r\n$IIVWT,057,R,04.10,N,02.11,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124032,,,,00,*4E\r\n$IIDBT,020.86,f,006.36,M,003.43,F*2A\r\n$GPGLL,5957.683,N,02323.846,E,124032,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.36,N,,*06\r\n$IIVTG,195.63,T,195.63,M,6.30,N,,,D*61\r\n$IIMWV,028,R,09.13,N,A*22\r\n$IIVWT,067,R,04.64,N,02.39,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124034,,,,00,*48\r\n$IIDBT,020.93,f,006.38,M,003.44,F*27\r\n$GPGLL,5957.680,N,02323.844,E,124034,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.21,N,,*00\r\n$IIVTG,193.93,T,193.93,M,6.30,N,,,D*61\r\n$IIMWV,065,T,03.96,N,A*2A\r\n$IIVWT,065,R,03.96,N,02.04,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124036,,,,00,*4A\r\n$IIDBT,021.02,f,006.41,M,003.46,F*22\r\n$GPGLL,5957.676,N,02323.843,E,124036,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,192.23,T,192.23,M,6.30,N,,,D*61\r\n$IIMWV,036,R,09.71,N,A*29\r\n$IIVWT,075,R,05.90,N,03.04,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124038,,,,00,*44\r\n$IIDBT,021.12,f,006.44,M,003.48,F*28\r\n$GPGLL,5957.673,N,02323.841,E,124038,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.74,N,,*00\r\n$IIVTG,190.78,T,190.78,M,6.25,N,,,D*65\r\n$IIMWV,062,T,05.55,N,A*24\r\n$IIVWT,062,R,05.55,N,02.86,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124040,,,,00,*4B\r\n$IIDBT,021.19,f,006.46,M,003.49,F*20\r\n$GPGLL,5957.669,N,02323.840,E,124040,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.07,N,03.64,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.42,N,,*05\r\n$IIVTG,191.15,T,191.15,M,6.21,N,,,D*61\r\n$IIMWV,036,R,10.88,N,A*27\r\n$IIVWT,068,R,06.80,N,03.50,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124042,,,,00,*49\r\n$IIDBT,021.29,f,006.49,M,003.50,F*24\r\n$GPGLL,5957.666,N,02323.838,E,124042,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.44,N,,*03\r\n$IIVTG,195.08,T,195.08,M,6.25,N,,,D*65\r\n$IIMWV,064,T,05.17,N,A*24\r\n$IIVWT,064,R,05.17,N,02.66,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124044,,,,00,*4F\r\n$IIDBT,021.52,f,006.56,M,003.54,F*22\r\n$GPGLL,5957.663,N,02323.836,E,124044,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.38,N,,*08\r\n$IIVTG,196.07,T,196.07,M,6.29,N,,,D*69\r\n$IIMWV,035,R,10.10,N,A*25\r\n$IIVWT,070,R,06.08,N,03.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124046,,,,00,*4D\r\n$IIDBT,021.52,f,006.56,M,003.54,F*22\r\n$GPGLL,5957.659,N,02323.834,E,124046,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.37,N,,*07\r\n$IIVTG,196.19,T,196.19,M,6.22,N,,,D*62\r\n$IIMWV,067,T,06.84,N,A*2E\r\n$IIVWT,067,R,06.84,N,03.52,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124048,,,,00,*43\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5957.656,N,02323.832,E,124048,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.43,N,,*05\r\n$IIVTG,196.07,T,196.07,M,6.21,N,,,D*61\r\n$IIMWV,031,R,11.46,N,A*23\r\n$IIVWT,059,R,06.93,N,03.57,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124050,,,,00,*4A\r\n$IIDBT,021.68,f,006.61,M,003.57,F*2C\r\n$GPGLL,5957.653,N,02323.831,E,124050,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.57,N,03.38,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.87,N,,*0C\r\n$IIVTG,196.05,T,196.05,M,6.20,N,,,D*60\r\n$IIMWV,063,T,06.76,N,A*27\r\n$IIVWT,063,R,06.76,N,03.48,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124052,,,,00,*48\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5957.649,N,02323.829,E,124052,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.38,N,03.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,196.64,T,196.64,M,6.20,N,,,D*60\r\n$IIMWV,035,R,11.07,N,A*22\r\n$IIVWT,066,R,06.99,N,03.60,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124054,,,,00,*4E\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.646,N,02323.827,E,124054,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.24,N,,*05\r\n$IIVTG,197.36,T,197.36,M,6.20,N,,,D*60\r\n$IIMWV,062,T,07.03,N,A*25\r\n$IIVWT,062,R,07.03,N,03.62,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124056,,,,00,*4C\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.643,N,02323.824,E,124056,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.04,N,04.14,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,197.54,T,197.54,M,6.25,N,,,D*65\r\n$IIMWV,038,R,11.85,N,A*25\r\n$IIVWT,067,R,07.89,N,04.06,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124058,,,,00,*42\r\n$IIDBT,022.04,f,006.72,M,003.63,F*20\r\n$GPGLL,5957.640,N,02323.822,E,124058,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.53,N,,*06\r\n$IIVTG,197.44,T,197.44,M,6.29,N,,,D*69\r\n$IIMWV,073,T,07.30,N,A*25\r\n$IIVWT,073,R,07.30,N,03.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124100,,,,00,*4E\r\n$IIDBT,022.07,f,006.73,M,003.63,F*22\r\n$GPGLL,5957.635,N,02323.819,E,124101,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,197.76,T,197.76,M,6.22,N,,,D*62\r\n$IIMWV,042,R,09.71,N,A*2A\r\n$IIVWT,082,R,06.55,N,03.37,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124102,,,,00,*4C\r\n$IIDBT,022.14,f,006.75,M,003.64,F*21\r\n$GPGLL,5957.631,N,02323.817,E,124103,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.88,N,03.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.32,N,,*01\r\n$IIVTG,198.12,T,198.12,M,6.20,N,,,D*60\r\n$IIMWV,077,T,07.17,N,A*24\r\n$IIVWT,077,R,07.17,N,03.69,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124104,,,,00,*4A\r\n$IIDBT,022.24,f,006.78,M,003.66,F*2D\r\n$GPGLL,5957.628,N,02323.815,E,124105,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.88,N,03.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,198.11,T,198.11,M,6.25,N,,,D*65\r\n$IIMWV,042,R,10.88,N,A*24\r\n$IIVWT,076,R,07.50,N,03.86,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124106,,,,00,*48\r\n$IIDBT,022.24,f,006.78,M,003.66,F*2D\r\n$GPGLL,5957.625,N,02323.813,E,124107,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,197.88,T,197.88,M,6.24,N,,,D*64\r\n$IIMWV,073,T,06.25,N,A*20\r\n$IIVWT,073,R,06.25,N,03.22,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124108,,,,00,*46\r\n$IIDBT,022.40,f,006.83,M,003.69,F*24\r\n$GPGLL,5957.621,N,02323.811,E,124109,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.22,N,03.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.98,N,,*00\r\n$IIVTG,197.45,T,197.45,M,6.28,N,,,D*68\r\n$IIMWV,042,R,09.71,N,A*2A\r\n$IIVWT,082,R,06.60,N,03.40,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124110,,,,00,*4F\r\n$IIDBT,022.44,f,006.84,M,003.69,F*27\r\n$GPGLL,5957.618,N,02323.809,E,124111,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,197.03,T,197.03,M,6.30,N,,,D*61\r\n$IIMWV,070,T,06.57,N,A*26\r\n$IIVWT,070,R,06.57,N,03.38,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124113,,,,00,*4C\r\n$IIDBT,022.57,f,006.88,M,003.71,F*20\r\n$GPGLL,5957.615,N,02323.807,E,124113,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.68,N,03.44,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,196.39,T,196.39,M,6.25,N,,,D*65\r\n$IIMWV,040,R,10.10,N,A*27\r\n$IIVWT,078,R,06.66,N,03.43,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124115,,,,00,*4A\r\n$IIDBT,022.60,f,006.89,M,003.72,F*26\r\n$GPGLL,5957.611,N,02323.805,E,124115,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.96,N,,*0F\r\n$IIVTG,196.75,T,196.75,M,6.24,N,,,D*64\r\n$IIMWV,068,T,06.86,N,A*23\r\n$IIVWT,068,R,06.86,N,03.53,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124117,,,,00,*48\r\n$IIDBT,022.57,f,006.88,M,003.71,F*20\r\n$GPGLL,5957.608,N,02323.803,E,124117,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.69,N,03.96,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.17,N,,*05\r\n$IIVTG,196.81,T,196.81,M,6.23,N,,,D*63\r\n$IIMWV,037,R,11.85,N,A*2A\r\n$IIVWT,066,R,07.79,N,04.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124119,,,,00,*46\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5957.605,N,02323.801,E,124119,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.92,N,04.59,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.83,N,,*08\r\n$IIVTG,196.53,T,196.53,M,6.21,N,,,D*61\r\n$IIMWV,064,T,09.19,N,A*26\r\n$IIVWT,064,R,09.19,N,04.73,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124121,,,,00,*4D\r\n$IIDBT,022.80,f,006.95,M,003.75,F*22\r\n$GPGLL,5957.601,N,02323.799,E,124121,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.72,N,04.49,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.73,N,,*07\r\n$IIVTG,195.98,T,195.98,M,6.20,N,,,D*60\r\n$IIMWV,039,R,12.82,N,A*20\r\n$IIVWT,065,R,08.84,N,04.55,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124123,,,,00,*4F\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5957.598,N,02323.797,E,124123,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.30,N,04.27,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.50,N,,*06\r\n$IIVTG,196.14,T,196.14,M,6.20,N,,,D*60\r\n$IIMWV,064,T,08.31,N,A*2D\r\n$IIVWT,064,R,08.31,N,04.28,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124125,,,,00,*49\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5957.595,N,02323.795,E,124125,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.37,N,04.31,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,196.44,T,196.44,M,6.20,N,,,D*60\r\n$IIMWV,034,R,13.21,N,A*25\r\n$IIVWT,058,R,08.70,N,04.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124127,,,,00,*4B\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5957.592,N,02323.793,E,124127,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.93,N,,*09\r\n$IIVTG,196.66,T,196.66,M,6.20,N,,,D*60\r\n$IIMWV,060,T,08.12,N,A*28\r\n$IIVWT,060,R,08.12,N,04.18,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124129,,,,00,*45\r\n$IIDBT,023.12,f,007.05,M,003.81,F*2B\r\n$GPGLL,5957.588,N,02323.791,E,124129,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.56,N,,*00\r\n$IIVTG,197.01,T,197.01,M,6.20,N,,,D*60\r\n$IIMWV,035,R,11.85,N,A*28\r\n$IIVWT,063,R,07.61,N,03.92,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124131,,,,00,*4C\r\n$IIDBT,023.12,f,007.05,M,003.81,F*2B\r\n$GPGLL,5957.585,N,02323.789,E,124131,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.75,N,03.99,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,197.65,T,197.65,M,6.20,N,,,D*60\r\n$IIMWV,069,T,08.14,N,A*27\r\n$IIVWT,069,R,08.14,N,04.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124133,,,,00,*4E\r\n$IIDBT,023.42,f,007.14,M,003.85,F*2A\r\n$GPGLL,5957.582,N,02323.787,E,124133,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.95,N,04.09,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,197.89,T,197.89,M,6.20,N,,,D*60\r\n$IIMWV,042,R,11.46,N,A*27\r\n$IIVWT,073,R,07.95,N,04.09,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124135,,,,00,*48\r\n$IIDBT,023.52,f,007.17,M,003.87,F*2A\r\n$GPGLL,5957.579,N,02323.785,E,124135,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.92,N,04.59,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.57,N,,*03\r\n$IIVTG,198.50,T,198.50,M,6.20,N,,,D*60\r\n$IIMWV,086,T,08.80,N,A*2B\r\n$IIVWT,086,R,08.80,N,04.53,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124137,,,,00,*4A\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5957.575,N,02323.782,E,124137,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.86,N,04.56,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.43,N,,*06\r\n$IIVTG,199.05,T,199.05,M,6.20,N,,,D*60\r\n$IIMWV,053,R,10.49,N,A*29\r\n$IIVWT,089,R,08.37,N,04.31,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124139,,,,00,*44\r\n$IIDBT,023.19,f,007.07,M,003.82,F*21\r\n$GPGLL,5957.572,N,02323.780,E,124139,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.85,N,04.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.25,N,,*2B\r\n$IIVTG,199.29,T,199.29,M,6.20,N,,,D*60\r\n$IIMWV,090,T,07.23,N,A*2A\r\n$IIVWT,090,R,07.23,N,03.72,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124141,,,,00,*4B\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5957.569,N,02323.778,E,124141,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,0.82,N,,*0B\r\n$IIVTG,199.29,T,199.29,M,6.15,N,,,D*66\r\n$IIMWV,053,R,09.52,N,A*2B\r\n$IIVWT,094,R,07.61,N,03.92,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124143,,,,00,*49\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5957.566,N,02323.776,E,124144,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.94,N,,*0C\r\n$IIVTG,199.45,T,199.45,M,6.11,N,,,D*62\r\n$IIMWV,075,T,05.75,N,A*20\r\n$IIVWT,075,R,05.75,N,02.96,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124145,,,,00,*4F\r\n$IIDBT,023.16,f,007.06,M,003.81,F*2C\r\n$GPGLL,5957.561,N,02323.772,E,124146,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.10,N,,*02\r\n$IIVTG,200.34,T,200.34,M,6.19,N,,,D*6A\r\n$IIMWV,035,R,09.71,N,A*2A\r\n$IIVWT,073,R,05.79,N,02.98,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124147,,,,00,*4D\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,5957.558,N,02323.770,E,124148,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,201.06,T,201.06,M,6.20,N,,,D*60\r\n$IIMWV,073,T,06.25,N,A*20\r\n$IIVWT,073,R,06.25,N,03.22,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124149,,,,00,*43\r\n$IIDBT,023.55,f,007.18,M,003.88,F*2D\r\n$GPGLL,5957.555,N,02323.767,E,124150,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,201.67,T,201.67,M,6.20,N,,,D*60\r\n$IIMWV,038,R,10.10,N,A*28\r\n$IIVWT,075,R,06.47,N,03.33,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124151,,,,00,*4A\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5957.551,N,02323.765,E,124152,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,201.32,T,201.32,M,6.20,N,,,D*60\r\n$IIMWV,076,T,07.71,N,A*25\r\n$IIVWT,076,R,07.71,N,03.97,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124153,,,,00,*48\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5957.548,N,02323.762,E,124154,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.91,N,04.07,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.86,N,,*0F\r\n$IIVTG,200.83,T,200.83,M,6.20,N,,,D*60\r\n$IIMWV,046,R,10.49,N,A*2D\r\n$IIVWT,081,R,07.60,N,03.91,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124156,,,,00,*4D\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5957.545,N,02323.760,E,124156,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.72,N,,*06\r\n$IIVTG,201.23,T,201.23,M,6.20,N,,,D*60\r\n$IIMWV,070,T,06.45,N,A*25\r\n$IIVWT,070,R,06.45,N,03.32,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124158,,,,00,*43\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5957.542,N,02323.757,E,124158,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,201.53,T,201.53,M,6.20,N,,,D*60\r\n$IIMWV,037,R,10.10,N,A*27\r\n$IIVWT,073,R,06.31,N,03.25,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124200,,,,00,*4D\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5957.539,N,02323.755,E,124200,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,202.41,T,202.41,M,6.20,N,,,D*60\r\n$IIMWV,075,T,06.55,N,A*21\r\n$IIVWT,075,R,06.55,N,03.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124202,,,,00,*4F\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5957.535,N,02323.752,E,124202,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.55,N,03.37,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.39,N,,*09\r\n$IIVTG,203.90,T,203.90,M,6.20,N,,,D*60\r\n$IIMWV,038,R,10.49,N,A*24\r\n$IIVWT,072,R,06.68,N,03.44,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124204,,,,00,*49\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5957.532,N,02323.749,E,124204,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,202.48,T,202.48,M,6.20,N,,,D*60\r\n$IIMWV,062,T,06.41,N,A*22\r\n$IIVWT,062,R,06.41,N,03.30,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124206,,,,00,*4B\r\n$IIDBT,023.42,f,007.14,M,003.85,F*2A\r\n$GPGLL,5957.529,N,02323.747,E,124206,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.85,N,03.01,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.84,N,,*0F\r\n$IIVTG,200.87,T,200.87,M,6.20,N,,,D*60\r\n$IIMWV,029,R,11.07,N,A*2F\r\n$IIVWT,058,R,06.37,N,03.28,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124208,,,,00,*45\r\n$IIDBT,023.49,f,007.16,M,003.87,F*21\r\n$GPGLL,5957.526,N,02323.744,E,124208,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.92,N,03.56,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,200.17,T,200.17,M,6.20,N,,,D*60\r\n$IIMWV,070,T,06.95,N,A*28\r\n$IIVWT,070,R,06.95,N,03.58,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124210,,,,00,*4C\r\n$IIDBT,023.45,f,007.15,M,003.86,F*2F\r\n$GPGLL,5957.523,N,02323.742,E,124210,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.56,N,03.89,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.92,N,,*08\r\n$IIVTG,198.91,T,198.91,M,6.20,N,,,D*60\r\n$IIMWV,041,R,11.85,N,A*2B\r\n$IIVWT,071,R,08.16,N,04.20,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124212,,,,00,*4E\r\n$IIDBT,023.35,f,007.12,M,003.84,F*2D\r\n$GPGLL,5957.519,N,02323.740,E,124212,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.80,N,,*08\r\n$IIVTG,198.18,T,198.18,M,6.20,N,,,D*60\r\n$IIMWV,057,T,07.15,N,A*24\r\n$IIVWT,057,R,07.15,N,03.68,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124214,,,,00,*48\r\n$IIDBT,023.45,f,007.15,M,003.86,F*2F\r\n$GPGLL,5957.516,N,02323.738,E,124214,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.84,N,,*0F\r\n$IIVTG,197.82,T,197.82,M,6.20,N,,,D*60\r\n$IIMWV,035,R,10.88,N,A*24\r\n$IIVWT,066,R,06.80,N,03.50,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124216,,,,00,*4A\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,5957.513,N,02323.736,E,124216,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.47,N,03.33,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.93,N,,*09\r\n$IIVTG,197.63,T,197.63,M,6.15,N,,,D*66\r\n$IIMWV,069,T,06.95,N,A*20\r\n$IIVWT,069,R,06.95,N,03.58,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124218,,,,00,*44\r\n$IIDBT,023.22,f,007.08,M,003.82,F*26\r\n$GPGLL,5957.510,N,02323.734,E,124218,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.88,N,,*00\r\n$IIVTG,197.48,T,197.48,M,6.11,N,,,D*62\r\n$IIMWV,039,R,11.85,N,A*24\r\n$IIVWT,068,R,08.00,N,04.12,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124220,,,,00,*4F\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5957.506,N,02323.732,E,124220,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.13,N,04.70,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.56,N,,*03\r\n$IIVTG,197.05,T,197.05,M,6.10,N,,,D*63\r\n$IIMWV,077,T,08.66,N,A*2D\r\n$IIVWT,077,R,08.66,N,04.46,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124222,,,,00,*4D\r\n$IIDBT,023.19,f,007.07,M,003.82,F*21\r\n$GPGLL,5957.503,N,02323.730,E,124222,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.36,N,,*29\r\n$IIVTG,197.23,T,197.23,M,6.10,N,,,D*63\r\n$IIMWV,054,R,10.10,N,A*22\r\n$IIVWT,093,R,08.18,N,04.21,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124224,,,,00,*4B\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,5957.500,N,02323.728,E,124224,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.67,N,03.95,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.12,N,,*02\r\n$IIVTG,196.86,T,196.86,M,6.10,N,,,D*63\r\n$IIMWV,080,T,07.28,N,A*20\r\n$IIVWT,080,R,07.28,N,03.75,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124226,,,,00,*49\r\n$IIDBT,023.03,f,007.02,M,003.79,F*2B\r\n$GPGLL,5957.497,N,02323.727,E,124227,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.67,N,03.95,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,195.89,T,195.89,M,6.10,N,,,D*63\r\n$IIMWV,040,R,11.85,N,A*2A\r\n$IIVWT,070,R,08.14,N,04.19,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124228,,,,00,*47\r\n$IIDBT,023.03,f,007.02,M,003.79,F*2B\r\n$GPGLL,5957.492,N,02323.724,E,124229,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.63,N,03.93,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,195.90,T,195.90,M,6.10,N,,,D*63\r\n$IIMWV,074,T,07.91,N,A*29\r\n$IIVWT,074,R,07.91,N,04.07,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124230,,,,00,*4E\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5957.488,N,02323.722,E,124231,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.24,N,04.24,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,195.80,T,195.80,M,6.10,N,,,D*63\r\n$IIMWV,040,R,10.88,N,A*26\r\n$IIVWT,074,R,07.26,N,03.74,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124232,,,,00,*4C\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5957.485,N,02323.720,E,124233,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.07,N,,*05\r\n$IIVTG,196.17,T,196.17,M,6.10,N,,,D*63\r\n$IIMWV,053,T,06.92,N,A*2E\r\n$IIVWT,053,R,06.92,N,03.56,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124234,,,,00,*4A\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5957.482,N,02323.718,E,124235,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.34,N,03.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.51,N,,*07\r\n$IIVTG,196.77,T,196.77,M,6.10,N,,,D*63\r\n$IIMWV,037,R,11.85,N,A*2A\r\n$IIVWT,066,R,07.73,N,03.98,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124236,,,,00,*48\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5957.479,N,02323.716,E,124237,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.09,N,04.68,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,196.67,T,196.67,M,6.10,N,,,D*63\r\n$IIMWV,068,T,08.24,N,A*25\r\n$IIVWT,068,R,08.24,N,04.24,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124239,,,,00,*47\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5957.475,N,02323.714,E,124239,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.98,N,04.11,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.74,N,,*00\r\n$IIVTG,196.82,T,196.82,M,6.10,N,,,D*63\r\n$IIMWV,035,R,12.05,N,A*23\r\n$IIVWT,063,R,07.75,N,03.99,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124241,,,,00,*48\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5957.472,N,02323.712,E,124241,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.15,N,,*07\r\n$IIVTG,197.06,T,197.06,M,6.13,N,,,D*60\r\n$IIMWV,070,T,08.33,N,A*2A\r\n$IIVWT,070,R,08.33,N,04.29,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124243,,,,00,*4A\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5957.469,N,02323.710,E,124243,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.43,N,04.34,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.30,N,,*00\r\n$IIVTG,196.89,T,196.89,M,6.13,N,,,D*60\r\n$IIMWV,041,R,12.05,N,A*20\r\n$IIVWT,071,R,08.41,N,04.33,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124245,,,,00,*4C\r\n$IIDBT,022.60,f,006.89,M,003.72,F*26\r\n$GPGLL,5957.466,N,02323.708,E,124245,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.05,N,03.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,196.60,T,196.60,M,6.11,N,,,D*62\r\n$IIMWV,078,T,06.64,N,A*2E\r\n$IIVWT,078,R,06.64,N,03.42,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124247,,,,00,*4E\r\n$IIDBT,022.60,f,006.89,M,003.72,F*26\r\n$GPGLL,5957.462,N,02323.707,E,124247,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.02,N,04.13,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,196.02,T,196.02,M,6.10,N,,,D*63\r\n$IIMWV,051,R,11.07,N,A*20\r\n$IIVWT,085,R,08.61,N,04.43,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124249,,,,00,*40\r\n$IIDBT,022.50,f,006.86,M,003.70,F*28\r\n$GPGLL,5957.459,N,02323.705,E,124249,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.23,N,04.75,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.16,N,,*07\r\n$IIVTG,196.01,T,196.01,M,6.10,N,,,D*63\r\n$IIMWV,086,T,09.13,N,A*20\r\n$IIVWT,086,R,09.13,N,04.70,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124251,,,,00,*49\r\n$IIDBT,022.50,f,006.86,M,003.70,F*28\r\n$GPGLL,5957.456,N,02323.703,E,124251,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.12,N,04.18,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.97,N,,*0F\r\n$IIVTG,196.65,T,196.65,M,6.10,N,,,D*63\r\n$IIMWV,050,R,11.07,N,A*21\r\n$IIVWT,085,R,08.49,N,04.37,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124253,,,,00,*4B\r\n$IIDBT,022.47,f,006.85,M,003.70,F*2D\r\n$GPGLL,5957.453,N,02323.701,E,124253,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,196.84,T,196.84,M,6.10,N,,,D*63\r\n$IIMWV,084,T,06.78,N,A*20\r\n$IIVWT,084,R,06.78,N,03.49,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124255,,,,00,*4D\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5957.450,N,02323.699,E,124255,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.72,N,03.46,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.33,N,,*2C\r\n$IIVTG,196.51,T,196.51,M,6.10,N,,,D*63\r\n$IIMWV,050,R,09.52,N,A*28\r\n$IIVWT,091,R,07.26,N,03.74,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124257,,,,00,*4F\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5957.446,N,02323.697,E,124257,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.46,N,03.84,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,196.45,T,196.45,M,6.10,N,,,D*63\r\n$IIMWV,081,T,07.48,N,A*27\r\n$IIVWT,081,R,07.48,N,03.85,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124259,,,,00,*41\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5957.443,N,02323.695,E,124259,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.90,N,03.55,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,196.64,T,196.64,M,6.10,N,,,D*63\r\n$IIMWV,045,R,10.10,N,A*22\r\n$IIVWT,084,R,07.23,N,03.72,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124301,,,,00,*4D\r\n$IIDBT,022.17,f,006.76,M,003.65,F*20\r\n$GPGLL,5957.440,N,02323.693,E,124301,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.13,N,03.67,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,197.18,T,197.18,M,6.10,N,,,D*63\r\n$IIMWV,086,T,07.95,N,A*20\r\n$IIVWT,086,R,07.95,N,04.09,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124303,,,,00,*4F\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.437,N,02323.691,E,124303,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.97,N,03.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.11,N,,*01\r\n$IIVTG,196.97,T,196.97,M,6.10,N,,,D*63\r\n$IIMWV,052,R,09.71,N,A*2B\r\n$IIVWT,092,R,07.63,N,03.93,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124305,,,,00,*49\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5957.433,N,02323.689,E,124305,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.99,N,03.60,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,196.59,T,196.59,M,6.15,N,,,D*66\r\n$IIMWV,096,T,08.14,N,A*27\r\n$IIVWT,096,R,08.14,N,04.19,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124307,,,,00,*4B\r\n$IIDBT,021.88,f,006.67,M,003.60,F*20\r\n$GPGLL,5957.430,N,02323.687,E,124307,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,197.00,T,197.00,M,6.19,N,,,D*6A\r\n$IIMWV,054,R,09.71,N,A*2D\r\n$IIVWT,094,R,07.79,N,04.01,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124309,,,,00,*45\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.427,N,02323.685,E,124310,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,197.50,T,197.50,M,6.17,N,,,D*64\r\n$IIMWV,087,T,07.56,N,A*2E\r\n$IIVWT,087,R,07.56,N,03.89,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124311,,,,00,*4C\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.422,N,02323.682,E,124312,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,197.66,T,197.66,M,6.18,N,,,D*6B\r\n$IIMWV,046,R,10.49,N,A*2D\r\n$IIVWT,083,R,07.60,N,03.91,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124313,,,,00,*4E\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.419,N,02323.680,E,124314,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.47,N,04.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.38,N,,*0A\r\n$IIVTG,197.49,T,197.49,M,6.20,N,,,D*60\r\n$IIMWV,082,T,09.15,N,A*22\r\n$IIVWT,082,R,09.15,N,04.71,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124315,,,,00,*48\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.415,N,02323.678,E,124316,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.95,N,05.12,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,197.25,T,197.25,M,6.20,N,,,D*60\r\n$IIMWV,060,R,12.05,N,A*23\r\n$IIVWT,092,R,10.38,N,05.34,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124317,,,,00,*4A\r\n$IIDBT,022.04,f,006.72,M,003.63,F*20\r\n$GPGLL,5957.412,N,02323.676,E,124318,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.97,N,05.13,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.89,N,,*00\r\n$IIVTG,197.16,T,197.16,M,6.20,N,,,D*60\r\n$IIMWV,088,T,11.35,N,A*23\r\n$IIVWT,088,R,11.35,N,05.84,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124320,,,,00,*4E\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.409,N,02323.674,E,124320,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.44,N,,*01\r\n$IIVTG,197.24,T,197.24,M,6.20,N,,,D*60\r\n$IIMWV,054,R,11.85,N,A*2F\r\n$IIVWT,085,R,09.54,N,04.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124322,,,,00,*4C\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.406,N,02323.672,E,124322,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.71,N,05.00,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.30,N,,*2F\r\n$IIVTG,196.41,T,196.41,M,6.15,N,,,D*66\r\n$IIMWV,093,T,10.34,N,A*29\r\n$IIVWT,093,R,10.34,N,05.32,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124324,,,,00,*4A\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.402,N,02323.670,E,124324,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.59,N,05.45,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.94,N,,*21\r\n$IIVTG,196.33,T,196.33,M,6.16,N,,,D*65\r\n$IIMWV,056,R,10.49,N,A*2C\r\n$IIVWT,093,R,08.66,N,04.46,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124326,,,,00,*48\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.399,N,02323.668,E,124326,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.06,N,04.15,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.99,N,,*2C\r\n$IIVTG,197.25,T,197.25,M,6.14,N,,,D*67\r\n$IIMWV,096,T,06.74,N,A*2F\r\n$IIVWT,096,R,06.74,N,03.47,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124328,,,,00,*46\r\n$IIDBT,021.88,f,006.67,M,003.60,F*20\r\n$GPGLL,5957.396,N,02323.666,E,124328,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,10.03,N,05.16,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.95,N,,*21\r\n$IIVTG,197.79,T,197.79,M,6.19,N,,,D*6A\r\n$IIMWV,074,R,10.10,N,A*20\r\n$IIVWT,110,R,10.28,N,05.29,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124330,,,,00,*4F\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5957.393,N,02323.664,E,124330,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.77,N,05.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.25,N,,*2A\r\n$IIVTG,199.35,T,199.35,M,6.20,N,,,D*60\r\n$IIMWV,098,T,09.83,N,A*26\r\n$IIVWT,098,R,09.83,N,05.06,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124332,,,,00,*4D\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.389,N,02323.661,E,124332,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,09.42,N,04.85,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.95,N,,*20\r\n$IIVTG,200.46,T,200.46,M,6.20,N,,,D*60\r\n$IIMWV,054,R,10.49,N,A*2E\r\n$IIVWT,091,R,08.49,N,04.37,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124334,,,,00,*4B\r\n$IIDBT,021.81,f,006.65,M,003.59,F*21\r\n$GPGLL,5957.386,N,02323.659,E,124334,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.79,N,04.01,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.28,N,,*27\r\n$IIVTG,201.67,T,201.67,M,6.20,N,,,D*60\r\n$IIMWV,103,T,08.12,N,A*2C\r\n$IIVWT,103,R,08.12,N,04.18,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124336,,,,00,*49\r\n$IIDBT,021.84,f,006.66,M,003.59,F*27\r\n$GPGLL,5957.383,N,02323.656,E,124336,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.93,N,,*26\r\n$IIVTG,202.69,T,202.69,M,6.20,N,,,D*60\r\n$IIMWV,051,R,07.77,N,A*20\r\n$IIVWT,104,R,06.23,N,03.21,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124338,,,,00,*47\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.380,N,02323.654,E,124338,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.22,N,04.23,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-1.72,N,,*28\r\n$IIVTG,203.17,T,203.17,M,6.20,N,,,D*60\r\n$IIMWV,103,T,07.23,N,A*21\r\n$IIVWT,103,R,07.23,N,03.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124340,,,,00,*48\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.377,N,02323.651,E,124340,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.20,N,02.68,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-0.24,N,,*2A\r\n$IIVTG,203.22,T,203.22,M,6.20,N,,,D*60\r\n$IIMWV,030,R,07.77,N,A*27\r\n$IIVWT,085,R,03.82,N,01.97,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124342,,,,00,*4A\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5957.373,N,02323.648,E,124342,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.38,N,01.74,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-0.38,N,,*27\r\n$IIVTG,202.46,T,202.46,M,6.20,N,,,D*60\r\n$IIMWV,097,T,03.42,N,A*2E\r\n$IIVWT,097,R,03.42,N,01.76,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124344,,,,00,*4C\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.370,N,02323.646,E,124344,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-1.09,N,,*24\r\n$IIVTG,202.01,T,202.01,M,6.20,N,,,D*60\r\n$IIMWV,039,R,06.80,N,A*27\r\n$IIVWT,104,R,04.35,N,02.24,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124346,,,,00,*4E\r\n$IIDBT,021.88,f,006.67,M,003.60,F*20\r\n$GPGLL,5957.367,N,02323.643,E,124346,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-2.04,N,,*2A\r\n$IIVTG,201.68,T,201.68,M,6.20,N,,,D*60\r\n$IIMWV,105,T,04.56,N,A*26\r\n$IIVWT,105,R,04.56,N,02.35,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124348,,,,00,*40\r\n$IIDBT,021.94,f,006.69,M,003.61,F*22\r\n$GPGLL,5957.364,N,02323.641,E,124348,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-2.04,N,,*2A\r\n$IIVTG,202.00,T,202.00,M,6.20,N,,,D*60\r\n$IIMWV,041,R,06.41,N,A*25\r\n$IIVWT,110,R,04.41,N,02.27,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124350,,,,00,*49\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5957.361,N,02323.638,E,124350,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.79,N,02.98,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.29,N,,*25\r\n$IIVTG,202.00,T,202.00,M,6.20,N,,,D*60\r\n$IIMWV,101,T,04.74,N,A*22\r\n$IIVWT,101,R,04.74,N,02.44,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124352,,,,00,*4B\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.356,N,02323.634,E,124353,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,201.68,T,201.68,M,6.25,N,,,D*65\r\n$IIMWV,044,R,08.55,N,A*2B\r\n$IIVWT,092,R,05.90,N,03.04,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124354,,,,00,*4D\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5957.353,N,02323.632,E,124355,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.78,N,02.46,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-0.48,N,,*20\r\n$IIVTG,201.16,T,201.16,M,6.22,N,,,D*62\r\n$IIMWV,081,T,04.21,N,A*2B\r\n$IIVWT,081,R,04.21,N,02.17,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124356,,,,00,*4F\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.349,N,02323.629,E,124357,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-1.39,N,,*27\r\n$IIVTG,201.46,T,201.46,M,6.20,N,,,D*60\r\n$IIMWV,040,R,07.58,N,A*2D\r\n$IIVWT,096,R,04.87,N,02.51,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124358,,,,00,*41\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5957.346,N,02323.627,E,124359,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.19,N,02.67,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,201.57,T,201.57,M,6.20,N,,,D*60\r\n$IIMWV,088,T,05.57,N,A*22\r\n$IIVWT,088,R,05.57,N,02.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124400,,,,00,*4B\r\n$IIDBT,022.01,f,006.71,M,003.62,F*27\r\n$GPGLL,5957.343,N,02323.624,E,124401,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.60,N,,*07\r\n$IIVTG,201.26,T,201.26,M,6.20,N,,,D*60\r\n$IIMWV,039,R,08.55,N,A*21\r\n$IIVWT,086,R,05.42,N,02.79,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124403,,,,00,*48\r\n$IIDBT,022.07,f,006.73,M,003.63,F*22\r\n$GPGLL,5957.340,N,02323.622,E,124403,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.29,N,,*26\r\n$IIVTG,201.12,T,201.12,M,6.20,N,,,D*60\r\n$IIMWV,104,T,04.52,N,A*23\r\n$IIVWT,104,R,04.52,N,02.33,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124405,,,,00,*4E\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5957.337,N,02323.619,E,124405,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,201.43,T,201.43,M,6.20,N,,,D*60\r\n$IIMWV,047,R,06.22,N,A*26\r\n$IIVWT,114,R,04.95,N,02.55,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124407,,,,00,*4C\r\n$IIDBT,022.40,f,006.83,M,003.69,F*24\r\n$GPGLL,5957.334,N,02323.617,E,124407,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.71,N,01.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.02,N,,*2C\r\n$IIVTG,201.38,T,201.38,M,6.28,N,,,D*68\r\n$IIMWV,104,T,04.29,N,A*2F\r\n$IIVWT,104,R,04.29,N,02.21,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124409,,,,00,*42\r\n$IIDBT,022.37,f,006.82,M,003.68,F*24\r\n$GPGLL,5957.330,N,02323.615,E,124409,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-1.86,N,,*23\r\n$IIVTG,200.77,T,200.77,M,6.22,N,,,D*62\r\n$IIMWV,033,R,06.80,N,A*2D\r\n$IIVWT,100,R,03.71,N,01.91,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124411,,,,00,*4B\r\n$IIDBT,022.40,f,006.83,M,003.69,F*24\r\n$GPGLL,5957.327,N,02323.612,E,124411,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,0.11,N,,*01\r\n$IIVTG,200.17,T,200.17,M,6.20,N,,,D*60\r\n$IIMWV,092,T,05.36,N,A*2E\r\n$IIVWT,092,R,05.36,N,02.76,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124413,,,,00,*49\r\n$IIDBT,022.34,f,006.81,M,003.68,F*24\r\n$GPGLL,5957.324,N,02323.610,E,124413,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-0.03,N,,*2F\r\n$IIVTG,200.37,T,200.37,M,6.20,N,,,D*60\r\n$IIMWV,035,R,08.55,N,A*2D\r\n$IIVWT,082,R,04.89,N,02.52,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124415,,,,00,*4F\r\n$IIDBT,022.37,f,006.82,M,003.68,F*24\r\n$GPGLL,5957.321,N,02323.607,E,124415,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,0.28,N,,*0B\r\n$IIVTG,200.94,T,200.94,M,6.20,N,,,D*60\r\n$IIMWV,089,T,04.17,N,A*26\r\n$IIVWT,089,R,04.17,N,02.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124417,,,,00,*4D\r\n$IIDBT,022.44,f,006.84,M,003.69,F*27\r\n$GPGLL,5957.318,N,02323.605,E,124417,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,201.24,T,201.24,M,6.20,N,,,D*60\r\n$IIMWV,028,R,06.80,N,A*27\r\n$IIVWT,094,R,03.18,N,01.64,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124419,,,,00,*43\r\n$IIDBT,022.63,f,006.90,M,003.72,F*2D\r\n$GPGLL,5957.314,N,02323.602,E,124419,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,201.43,T,201.43,M,6.20,N,,,D*60\r\n$IIMWV,110,T,06.18,N,A*2A\r\n$IIVWT,110,R,06.18,N,03.18,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124421,,,,00,*48\r\n$IIDBT,022.60,f,006.89,M,003.72,F*26\r\n$GPGLL,5957.311,N,02323.600,E,124421,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.45,N,,*2E\r\n$IIVTG,201.36,T,201.36,M,6.20,N,,,D*60\r\n$IIMWV,078,R,05.83,N,A*22\r\n$IIVWT,132,R,07.63,N,03.93,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124423,,,,00,*4A\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5957.308,N,02323.598,E,124423,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.36,N,03.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.23,N,,*29\r\n$IIVTG,201.24,T,201.24,M,6.20,N,,,D*60\r\n$IIMWV,128,T,06.16,N,A*2F\r\n$IIVWT,128,R,06.16,N,03.17,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124425,,,,00,*4C\r\n$IIDBT,022.63,f,006.90,M,003.72,F*2D\r\n$GPGLL,5957.305,N,02323.595,E,124425,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,201.16,T,201.16,M,6.20,N,,,D*60\r\n$IIMWV,033,R,04.47,N,A*24\r\n$IIVWT,137,R,03.55,N,01.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124427,,,,00,*4E\r\n$IIDBT,022.67,f,006.91,M,003.73,F*29\r\n$GPGLL,5957.302,N,02323.593,E,124427,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,201.19,T,201.19,M,6.15,N,,,D*66\r\n$IIMWV,089,T,03.44,N,A*27\r\n$IIVWT,089,R,03.44,N,01.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124429,,,,00,*40\r\n$IIDBT,022.80,f,006.95,M,003.75,F*22\r\n$GPGLL,5957.299,N,02323.590,E,124429,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.80,N,01.96,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.37,N,,*29\r\n$IIVTG,200.90,T,200.90,M,6.11,N,,,D*62\r\n$IIMWV,025,R,07.19,N,A*2B\r\n$IIVWT,085,R,03.07,N,01.58,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124431,,,,00,*49\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5957.295,N,02323.588,E,124431,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.80,N,,*24\r\n$IIVTG,200.68,T,200.68,M,6.10,N,,,D*63\r\n$IIMWV,092,T,03.73,N,A*29\r\n$IIVWT,092,R,03.73,N,01.92,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124433,,,,00,*4B\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5957.292,N,02323.586,E,124434,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.78,N,,*0F\r\n$IIVTG,200.12,T,200.12,M,6.10,N,,,D*63\r\n$IIMWV,033,R,08.74,N,A*28\r\n$IIVWT,077,R,04.82,N,02.48,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124435,,,,00,*4D\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5957.287,N,02323.582,E,124436,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.51,N,01.81,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.23,N,,*06\r\n$IIVTG,199.84,T,199.84,M,6.16,N,,,D*65\r\n$IIMWV,080,T,03.55,N,A*2E\r\n$IIVWT,080,R,03.55,N,01.83,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124437,,,,00,*4F\r\n$IIDBT,022.96,f,007.00,M,003.78,F*25\r\n$GPGLL,5957.284,N,02323.580,E,124438,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.59,N,,*0F\r\n$IIVTG,200.08,T,200.08,M,6.12,N,,,D*61\r\n$IIMWV,024,R,07.19,N,A*2A\r\n$IIVWT,084,R,02.95,N,01.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124439,,,,00,*41\r\n$IIDBT,022.99,f,007.01,M,003.78,F*2B\r\n$GPGLL,5957.281,N,02323.578,E,124440,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.41,N,,*28\r\n$IIVTG,200.52,T,200.52,M,6.10,N,,,D*63\r\n$IIMWV,101,T,02.85,N,A*2A\r\n$IIVWT,101,R,02.85,N,01.47,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124441,,,,00,*4E\r\n$IIDBT,023.09,f,007.04,M,003.80,F*21\r\n$GPGLL,5957.278,N,02323.575,E,124442,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.76,N,,*2D\r\n$IIVTG,200.73,T,200.73,M,6.18,N,,,D*6B\r\n$IIMWV,049,R,08.16,N,A*21\r\n$IIVWT,099,R,06.20,N,03.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124443,,,,00,*4C\r\n$IIDBT,023.12,f,007.05,M,003.81,F*2B\r\n$GPGLL,5957.275,N,02323.573,E,124444,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,200.61,T,200.61,M,6.19,N,,,D*6A\r\n$IIMWV,084,T,05.98,N,A*2D\r\n$IIVWT,084,R,05.98,N,03.08,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124446,,,,00,*49\r\n$IIDBT,023.16,f,007.06,M,003.81,F*2C\r\n$GPGLL,5957.272,N,02323.570,E,124446,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,200.68,T,200.68,M,6.20,N,,,D*60\r\n$IIMWV,021,R,08.55,N,A*28\r\n$IIVWT,061,R,03.42,N,01.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124448,,,,00,*47\r\n$IIDBT,023.22,f,007.08,M,003.82,F*26\r\n$GPGLL,5957.268,N,02323.568,E,124448,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,201.12,T,201.12,M,6.20,N,,,D*60\r\n$IIMWV,079,T,03.49,N,A*25\r\n$IIVWT,079,R,03.49,N,01.80,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124450,,,,00,*4E\r\n$IIDBT,023.26,f,007.09,M,003.83,F*22\r\n$GPGLL,5957.265,N,02323.565,E,124450,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.93,N,,*26\r\n$IIVTG,201.23,T,201.23,M,6.20,N,,,D*60\r\n$IIMWV,040,R,07.19,N,A*28\r\n$IIVWT,100,R,04.70,N,02.42,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124452,,,,00,*4C\r\n$IIDBT,023.32,f,007.11,M,003.84,F*29\r\n$GPGLL,5957.262,N,02323.563,E,124452,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.34,N,02.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.69,N,,*22\r\n$IIVTG,201.06,T,201.06,M,6.20,N,,,D*60\r\n$IIMWV,111,T,04.82,N,A*2A\r\n$IIVWT,111,R,04.82,N,02.48,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124454,,,,00,*4A\r\n$IIDBT,023.45,f,007.15,M,003.86,F*2F\r\n$GPGLL,5957.259,N,02323.561,E,124454,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.77,N,,*2E\r\n$IIVTG,200.89,T,200.89,M,6.20,N,,,D*60\r\n$IIMWV,046,R,06.22,N,A*27\r\n$IIVWT,114,R,04.85,N,02.50,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124456,,,,00,*48\r\n$IIDBT,023.55,f,007.18,M,003.88,F*2D\r\n$GPGLL,5957.256,N,02323.558,E,124456,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.99,N,02.57,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.42,N,,*28\r\n$IIVTG,200.95,T,200.95,M,6.20,N,,,D*60\r\n$IIMWV,118,T,04.45,N,A*28\r\n$IIVWT,118,R,04.45,N,02.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124458,,,,00,*46\r\n$IIDBT,023.55,f,007.18,M,003.88,F*2D\r\n$GPGLL,5957.252,N,02323.556,E,124458,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,200.56,T,200.56,M,6.20,N,,,D*60\r\n$IIMWV,038,R,05.44,N,A*2D\r\n$IIVWT,121,R,03.86,N,01.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124500,,,,00,*4A\r\n$IIDBT,023.71,f,007.23,M,003.90,F*2A\r\n$GPGLL,5957.249,N,02323.553,E,124500,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,200.14,T,200.14,M,6.20,N,,,D*60\r\n$IIMWV,120,T,03.05,N,A*20\r\n$IIVWT,120,R,03.05,N,01.57,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124502,,,,00,*48\r\n$IIDBT,023.81,f,007.26,M,003.92,F*22\r\n$GPGLL,5957.246,N,02323.551,E,124502,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.71,N,,*29\r\n$IIVTG,200.16,T,200.16,M,6.20,N,,,D*60\r\n$IIMWV,022,R,05.24,N,A*20\r\n$IIVWT,125,R,02.35,N,01.21,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124504,,,,00,*4E\r\n$IIDBT,023.91,f,007.29,M,003.94,F*2A\r\n$GPGLL,5957.243,N,02323.549,E,124504,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.19,N,,*27\r\n$IIVTG,200.29,T,200.29,M,6.20,N,,,D*60\r\n$IIMWV,104,T,02.64,N,A*20\r\n$IIVWT,104,R,02.64,N,01.36,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124506,,,,00,*4C\r\n$IIDBT,024.08,f,007.34,M,003.96,F*23\r\n$GPGLL,5957.239,N,02323.546,E,124506,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.15,N,,*05\r\n$IIVTG,200.42,T,200.42,M,6.20,N,,,D*60\r\n$IIMWV,025,R,07.19,N,A*2B\r\n$IIVWT,087,R,02.99,N,01.54,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124508,,,,00,*42\r\n$IIDBT,023.98,f,007.31,M,003.95,F*2B\r\n$GPGLL,5957.236,N,02323.544,E,124508,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.32,N,,*2C\r\n$IIVTG,200.46,T,200.46,M,6.20,N,,,D*60\r\n$IIMWV,111,T,02.17,N,A*20\r\n$IIVWT,111,R,02.17,N,01.12,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124510,,,,00,*4B\r\n$IIDBT,024.14,f,007.36,M,003.97,F*2D\r\n$GPGLL,5957.233,N,02323.542,E,124510,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.79,N,,*22\r\n$IIVTG,200.71,T,200.71,M,6.20,N,,,D*60\r\n$IIMWV,027,R,06.80,N,A*28\r\n$IIVWT,095,R,03.03,N,01.56,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124512,,,,00,*49\r\n$IIDBT,024.31,f,007.41,M,004.00,F*23\r\n$GPGLL,5957.230,N,02323.539,E,124512,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.95,N,,*0D\r\n$IIVTG,201.00,T,201.00,M,6.20,N,,,D*60\r\n$IIMWV,077,T,02.44,N,A*27\r\n$IIVWT,077,R,02.44,N,01.26,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124514,,,,00,*4F\r\n$IIDBT,024.50,f,007.47,M,004.03,F*21\r\n$GPGLL,5957.227,N,02323.537,E,124514,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.46,N,,*01\r\n$IIVTG,202.00,T,202.00,M,6.20,N,,,D*60\r\n$IIMWV,013,R,07.77,N,A*26\r\n$IIVWT,056,R,02.11,N,01.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124516,,,,00,*4D\r\n$IIDBT,024.60,f,007.50,M,004.05,F*22\r\n$GPGLL,5957.224,N,02323.534,E,124517,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,202.55,T,202.55,M,6.20,N,,,D*60\r\n$IIMWV,078,T,03.88,N,A*29\r\n$IIVWT,078,R,03.88,N,02.00,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124518,,,,00,*43\r\n$IIDBT,024.37,f,007.43,M,004.01,F*26\r\n$GPGLL,5957.219,N,02323.530,E,124519,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.14,N,,*04\r\n$IIVTG,202.41,T,202.41,M,6.20,N,,,D*60\r\n$IIMWV,041,R,08.55,N,A*2E\r\n$IIVWT,089,R,05.61,N,02.89,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124520,,,,00,*48\r\n$IIDBT,024.54,f,007.48,M,004.04,F*2D\r\n$GPGLL,5957.216,N,02323.528,E,124521,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,202.40,T,202.40,M,6.20,N,,,D*60\r\n$IIMWV,085,T,05.26,N,A*29\r\n$IIVWT,085,R,05.26,N,02.71,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124522,,,,00,*4A\r\n$IIDBT,024.54,f,007.48,M,004.04,F*2D\r\n$GPGLL,5957.212,N,02323.525,E,124523,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.05,N,,*04\r\n$IIVTG,202.32,T,202.32,M,6.20,N,,,D*60\r\n$IIMWV,024,R,07.77,N,A*22\r\n$IIVWT,075,R,03.18,N,01.64,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124524,,,,00,*4C\r\n$IIDBT,024.67,f,007.52,M,004.06,F*24\r\n$GPGLL,5957.209,N,02323.523,E,124525,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.08,N,,*09\r\n$IIVTG,201.56,T,201.56,M,6.20,N,,,D*60\r\n$IIMWV,080,T,04.14,N,A*2C\r\n$IIVWT,080,R,04.14,N,02.13,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124526,,,,00,*4E\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5957.206,N,02323.520,E,124527,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.91,N,,*08\r\n$IIVTG,201.07,T,201.07,M,6.12,N,,,D*61\r\n$IIMWV,025,R,08.74,N,A*2F\r\n$IIVWT,066,R,04.08,N,02.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124529,,,,00,*41\r\n$IIDBT,024.73,f,007.54,M,004.07,F*26\r\n$GPGLL,5957.203,N,02323.518,E,124529,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,200.76,T,200.76,M,6.18,N,,,D*6B\r\n$IIMWV,083,T,04.82,N,A*20\r\n$IIVWT,083,R,04.82,N,02.48,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124531,,,,00,*48\r\n$IIDBT,024.80,f,007.56,M,004.08,F*27\r\n$GPGLL,5957.200,N,02323.515,E,124531,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.04,N,03.11,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,200.67,T,200.67,M,6.20,N,,,D*60\r\n$IIMWV,033,R,08.16,N,A*2C\r\n$IIVWT,083,R,04.39,N,02.26,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124533,,,,00,*4A\r\n$IIDBT,025.03,f,007.63,M,004.12,F*20\r\n$GPGLL,5957.196,N,02323.513,E,124533,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.65,N,,*06\r\n$IIVTG,200.89,T,200.89,M,6.20,N,,,D*60\r\n$IIMWV,024,T,01.63,N,A*27\r\n$IIVWT,024,R,01.63,N,00.84,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124535,,,,00,*4C\r\n$IIDBT,025.06,f,007.64,M,004.12,F*22\r\n$GPGLL,5957.193,N,02323.510,E,124535,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.06,N,,*2A\r\n$IIVTG,201.17,T,201.17,M,6.20,N,,,D*60\r\n$IIMWV,036,R,07.58,N,A*2C\r\n$IIVWT,092,R,04.39,N,02.26,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124537,,,,00,*4E\r\n$IIDBT,024.93,f,007.60,M,004.10,F*29\r\n$GPGLL,5957.190,N,02323.508,E,124537,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.83,N,,*27\r\n$IIVTG,200.97,T,200.97,M,6.20,N,,,D*60\r\n$IIMWV,094,T,04.62,N,A*28\r\n$IIVWT,094,R,04.62,N,02.38,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124539,,,,00,*40\r\n$IIDBT,025.19,f,007.68,M,004.15,F*27\r\n$GPGLL,5957.187,N,02323.506,E,124539,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,200.46,T,200.46,M,6.20,N,,,D*60\r\n$IIMWV,046,R,08.74,N,A*2A\r\n$IIVWT,092,R,06.29,N,03.24,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124541,,,,00,*4F\r\n$IIDBT,025.03,f,007.63,M,004.12,F*20\r\n$GPGLL,5957.184,N,02323.503,E,124541,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.83,N,04.03,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.21,N,,*02\r\n$IIVTG,200.47,T,200.47,M,6.20,N,,,D*60\r\n$IIMWV,091,T,07.56,N,A*29\r\n$IIVWT,091,R,07.56,N,03.89,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124543,,,,00,*4D\r\n$IIDBT,025.06,f,007.64,M,004.12,F*22\r\n$GPGLL,5957.180,N,02323.501,E,124543,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.22,N,03.20,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.06,N,,*2A\r\n$IIVTG,200.54,T,200.54,M,6.20,N,,,D*60\r\n$IIMWV,047,R,09.13,N,A*2B\r\n$IIVWT,092,R,06.66,N,03.43,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124545,,,,00,*4B\r\n$IIDBT,025.16,f,007.67,M,004.14,F*26\r\n$GPGLL,5957.177,N,02323.498,E,124545,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.51,N,03.35,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.01,N,,*00\r\n$IIVTG,200.26,T,200.26,M,6.25,N,,,D*65\r\n$IIMWV,085,T,05.83,N,A*26\r\n$IIVWT,085,R,05.83,N,03.00,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124547,,,,00,*49\r\n$IIDBT,025.13,f,007.66,M,004.14,F*22\r\n$GPGLL,5957.174,N,02323.496,E,124547,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,2.16,N,,*04\r\n$IIVTG,199.89,T,199.89,M,6.21,N,,,D*61\r\n$IIMWV,031,R,08.55,N,A*29\r\n$IIVWT,078,R,04.47,N,02.30,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124549,,,,00,*47\r\n$IIDBT,025.26,f,007.70,M,004.16,F*21\r\n$GPGLL,5957.171,N,02323.494,E,124549,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.92,N,03.05,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.07,N,,*2B\r\n$IIVTG,199.52,T,199.52,M,6.23,N,,,D*63\r\n$IIMWV,091,T,05.85,N,A*25\r\n$IIVWT,091,R,05.85,N,03.01,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124551,,,,00,*4E\r\n$IIDBT,025.32,f,007.72,M,004.17,F*27\r\n$GPGLL,5957.167,N,02323.492,E,124551,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.11,N,03.66,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.91,N,,*24\r\n$IIVTG,199.43,T,199.43,M,6.21,N,,,D*61\r\n$IIMWV,049,R,08.74,N,A*25\r\n$IIVWT,095,R,06.57,N,03.38,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124553,,,,00,*4C\r\n$IIDBT,025.32,f,007.72,M,004.17,F*27\r\n$GPGLL,5957.164,N,02323.489,E,124553,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.82,N,03.51,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.49,N,,*23\r\n$IIVTG,199.20,T,199.20,M,6.20,N,,,D*60\r\n$IIMWV,094,T,04.62,N,A*28\r\n$IIVWT,094,R,04.62,N,02.38,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124555,,,,00,*4A\r\n$IIDBT,025.39,f,007.74,M,004.18,F*25\r\n$GPGLL,5957.161,N,02323.487,E,124555,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.30,N,,*02\r\n$IIVTG,199.37,T,199.37,M,6.20,N,,,D*60\r\n$IIMWV,031,R,07.19,N,A*2E\r\n$IIVWT,092,R,03.65,N,01.88,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124557,,,,00,*48\r\n$IIDBT,025.49,f,007.77,M,004.19,F*20\r\n$GPGLL,5957.158,N,02323.485,E,124557,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.49,N,,*21\r\n$IIVTG,199.42,T,199.42,M,6.20,N,,,D*60\r\n$IIMWV,094,T,01.59,N,A*25\r\n$IIVWT,094,R,01.59,N,00.82,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124559,,,,00,*46\r\n$IIDBT,025.49,f,007.77,M,004.19,F*20\r\n$GPGLL,5957.155,N,02323.483,E,124600,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.39,N,,*27\r\n$IIVTG,199.40,T,199.40,M,6.20,N,,,D*60\r\n$IIMWV,026,R,06.22,N,A*21\r\n$IIVWT,104,R,02.76,N,01.42,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124601,,,,00,*48\r\n$IIDBT,025.58,f,007.80,M,004.21,F*23\r\n$GPGLL,5957.150,N,02323.479,E,124602,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.30,N,,*2C\r\n$IIVTG,199.76,T,199.76,M,6.20,N,,,D*60\r\n$IIMWV,119,T,02.81,N,A*27\r\n$IIVWT,119,R,02.81,N,01.45,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124603,,,,00,*4A\r\n$IIDBT,025.52,f,007.78,M,004.20,F*2F\r\n$GPGLL,5957.146,N,02323.477,E,124604,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.45,N,,*2E\r\n$IIVTG,199.74,T,199.74,M,6.20,N,,,D*60\r\n$IIMWV,017,R,05.24,N,A*26\r\n$IIVWT,132,R,02.02,N,01.04,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124605,,,,00,*4C\r\n$IIDBT,025.55,f,007.79,M,004.21,F*28\r\n$GPGLL,5957.143,N,02323.475,E,124606,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.02,N,,*2D\r\n$IIVTG,199.84,T,199.84,M,6.20,N,,,D*60\r\n$IIMWV,106,T,03.11,N,A*21\r\n$IIVWT,106,R,03.11,N,01.60,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124607,,,,00,*4E\r\n$IIDBT,025.65,f,007.82,M,004.22,F*2C\r\n$GPGLL,5957.140,N,02323.472,E,124608,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.63,N,,*29\r\n$IIVTG,199.96,T,199.96,M,6.20,N,,,D*60\r\n$IIMWV,030,R,07.58,N,A*2A\r\n$IIVWT,086,R,03.73,N,01.92,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124609,,,,00,*40\r\n$IIDBT,025.78,f,007.86,M,004.24,F*22\r\n$GPGLL,5957.137,N,02323.470,E,124610,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-0.17,N,,*2A\r\n$IIVTG,199.19,T,199.19,M,6.20,N,,,D*60\r\n$IIMWV,087,T,04.21,N,A*2D\r\n$IIVWT,087,R,04.21,N,02.17,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124612,,,,00,*4A\r\n$IIDBT,025.88,f,007.89,M,004.26,F*20\r\n$GPGLL,5957.133,N,02323.468,E,124612,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.28,N,04.26,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.75,N,,*2F\r\n$IIVTG,198.22,T,198.22,M,6.20,N,,,D*60\r\n$IIMWV,054,R,08.55,N,A*2A\r\n$IIVWT,101,R,07.01,N,03.61,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124614,,,,00,*4C\r\n$IIDBT,025.88,f,007.89,M,004.26,F*20\r\n$GPGLL,5957.130,N,02323.466,E,124614,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.42,N,03.82,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,198.75,T,198.75,M,6.20,N,,,D*60\r\n$IIMWV,113,T,05.94,N,A*2E\r\n$IIVWT,113,R,05.94,N,03.06,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124616,,,,00,*4E\r\n$IIDBT,025.88,f,007.89,M,004.26,F*20\r\n$GPGLL,5957.127,N,02323.464,E,124616,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.65,N,03.94,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.28,N,,*22\r\n$IIVTG,199.04,T,199.04,M,6.20,N,,,D*60\r\n$IIMWV,074,R,05.44,N,A*25\r\n$IIVWT,133,R,07.07,N,03.64,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124618,,,,00,*40\r\n$IIDBT,025.91,f,007.90,M,004.27,F*21\r\n$GPGLL,5957.124,N,02323.462,E,124618,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,198.86,T,198.86,M,6.20,N,,,D*60\r\n$IIMWV,126,T,05.65,N,A*26\r\n$IIVWT,126,R,05.65,N,02.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124620,,,,00,*4B\r\n$IIDBT,026.24,f,008.00,M,004.32,F*2E\r\n$GPGLL,5957.120,N,02323.459,E,124620,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.86,N,,*21\r\n$IIVTG,198.57,T,198.57,M,6.20,N,,,D*60\r\n$IIMWV,061,R,05.24,N,A*27\r\n$IIVWT,130,R,05.96,N,03.07,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124622,,,,00,*49\r\n$IIDBT,026.11,f,007.96,M,004.30,F*2A\r\n$GPGLL,5957.117,N,02323.457,E,124622,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,198.46,T,198.46,M,6.20,N,,,D*60\r\n$IIMWV,128,T,06.04,N,A*2C\r\n$IIVWT,128,R,06.04,N,03.11,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124624,,,,00,*4F\r\n$IIDBT,026.11,f,007.96,M,004.30,F*2A\r\n$GPGLL,5957.114,N,02323.455,E,124624,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.61,N,01.86,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.10,N,,*29\r\n$IIVTG,198.36,T,198.36,M,6.20,N,,,D*60\r\n$IIMWV,033,R,05.24,N,A*20\r\n$IIVWT,125,R,03.44,N,01.77,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124626,,,,00,*4D\r\n$IIDBT,026.21,f,007.99,M,004.31,F*27\r\n$GPGLL,5957.111,N,02323.453,E,124626,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.36,N,,*2D\r\n$IIVTG,198.22,T,198.22,M,6.20,N,,,D*60\r\n$IIMWV,134,T,02.68,N,A*2F\r\n$IIVWT,134,R,02.68,N,01.38,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124628,,,,00,*43\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5957.107,N,02323.451,E,124628,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.10,N,,*29\r\n$IIVTG,198.13,T,198.13,M,6.20,N,,,D*60\r\n$IIMWV,033,R,05.24,N,A*20\r\n$IIVWT,124,R,03.46,N,01.78,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124630,,,,00,*4A\r\n$IIDBT,026.41,f,008.05,M,004.35,F*2F\r\n$GPGLL,5957.104,N,02323.449,E,124630,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-3.00,N,,*2F\r\n$IIVTG,197.83,T,197.83,M,6.20,N,,,D*60\r\n$IIMWV,119,T,04.72,N,A*2D\r\n$IIVWT,119,R,04.72,N,02.43,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124632,,,,00,*48\r\n$IIDBT,026.44,f,008.06,M,004.35,F*29\r\n$GPGLL,5957.101,N,02323.447,E,124632,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.28,N,,*25\r\n$IIVTG,197.73,T,197.73,M,6.20,N,,,D*60\r\n$IIMWV,045,R,05.83,N,A*2C\r\n$IIVWT,117,R,04.62,N,02.38,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124634,,,,00,*4E\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5957.098,N,02323.445,E,124634,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.49,N,,*22\r\n$IIVTG,197.66,T,197.66,M,6.20,N,,,D*60\r\n$IIMWV,124,T,04.95,N,A*2A\r\n$IIVWT,124,R,04.95,N,02.55,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124636,,,,00,*4C\r\n$IIDBT,026.54,f,008.09,M,004.37,F*25\r\n$GPGLL,5957.094,N,02323.443,E,124636,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.18,N,,*21\r\n$IIVTG,198.06,T,198.06,M,6.20,N,,,D*60\r\n$IIMWV,051,R,04.85,N,A*2E\r\n$IIVWT,131,R,04.95,N,02.55,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124638,,,,00,*42\r\n$IIDBT,026.63,f,008.12,M,004.38,F*24\r\n$GPGLL,5957.091,N,02323.440,E,124638,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,198.44,T,198.44,M,6.20,N,,,D*60\r\n$IIMWV,125,T,04.50,N,A*22\r\n$IIVWT,125,R,04.50,N,02.32,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124640,,,,00,*4D\r\n$IIDBT,026.70,f,008.14,M,004.39,F*21\r\n$GPGLL,5957.088,N,02323.438,E,124640,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.99,N,,*2D\r\n$IIVTG,198.63,T,198.63,M,6.20,N,,,D*60\r\n$IIMWV,040,R,06.22,N,A*21\r\n$IIVWT,111,R,04.29,N,02.21,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124642,,,,00,*4F\r\n$IIDBT,026.70,f,008.14,M,004.39,F*21\r\n$GPGLL,5957.085,N,02323.436,E,124643,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,198.81,T,198.81,M,6.20,N,,,D*60\r\n$IIMWV,092,T,04.80,N,A*22\r\n$IIVWT,092,R,04.80,N,02.47,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124644,,,,00,*49\r\n$IIDBT,026.77,f,008.16,M,004.41,F*2B\r\n$GPGLL,5957.080,N,02323.433,E,124645,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.39,N,,*0B\r\n$IIVTG,199.11,T,199.11,M,6.20,N,,,D*60\r\n$IIMWV,036,R,07.58,N,A*2C\r\n$IIVWT,093,R,04.49,N,02.31,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124646,,,,00,*4B\r\n$IIDBT,026.93,f,008.21,M,004.43,F*27\r\n$GPGLL,5957.077,N,02323.431,E,124647,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.53,N,,*2B\r\n$IIVTG,199.18,T,199.18,M,6.20,N,,,D*60\r\n$IIMWV,104,T,04.41,N,A*21\r\n$IIVWT,104,R,04.41,N,02.27,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124648,,,,00,*45\r\n$IIDBT,026.93,f,008.21,M,004.43,F*27\r\n$GPGLL,5957.073,N,02323.428,E,124649,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.73,N,,*29\r\n$IIVTG,199.12,T,199.12,M,6.20,N,,,D*60\r\n$IIMWV,042,R,06.80,N,A*2B\r\n$IIVWT,105,R,04.72,N,02.43,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124650,,,,00,*4C\r\n$IIDBT,027.00,f,008.23,M,004.44,F*29\r\n$GPGLL,5957.070,N,02323.426,E,124651,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.23,N,03.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.13,N,,*2C\r\n$IIVTG,198.88,T,198.88,M,6.20,N,,,D*60\r\n$IIMWV,100,T,05.28,N,A*2B\r\n$IIVWT,100,R,05.28,N,02.72,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124652,,,,00,*4E\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5957.067,N,02323.424,E,124653,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.84,N,03.52,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.73,N,,*28\r\n$IIVTG,199.29,T,199.29,M,6.18,N,,,D*6B\r\n$IIMWV,050,R,08.55,N,A*2E\r\n$IIVWT,096,R,06.55,N,03.37,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124655,,,,00,*49\r\n$IIDBT,027.13,f,008.27,M,004.47,F*2C\r\n$GPGLL,5957.064,N,02323.422,E,124655,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.00,N,03.09,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.69,N,,*23\r\n$IIVTG,199.62,T,199.62,M,6.19,N,,,D*6A\r\n$IIMWV,095,T,05.79,N,A*22\r\n$IIVWT,095,R,05.79,N,02.98,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124657,,,,00,*4B\r\n$IIDBT,027.09,f,008.26,M,004.46,F*27\r\n$GPGLL,5957.060,N,02323.419,E,124657,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,199.53,T,199.53,M,6.20,N,,,D*60\r\n$IIMWV,044,R,08.55,N,A*2B\r\n$IIVWT,091,R,05.88,N,03.03,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124659,,,,00,*45\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5957.057,N,02323.417,E,124659,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.23,N,03.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.96,N,,*22\r\n$IIVTG,200.11,T,200.11,M,6.12,N,,,D*61\r\n$IIMWV,111,T,07.91,N,A*2B\r\n$IIVWT,111,R,07.91,N,04.07,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124701,,,,00,*49\r\n$IIDBT,027.19,f,008.29,M,004.48,F*27\r\n$GPGLL,5957.054,N,02323.415,E,124701,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.88,N,04.57,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,200.45,T,200.45,M,6.16,N,,,D*65\r\n$IIMWV,072,R,08.16,N,A*29\r\n$IIVWT,116,R,08.63,N,04.44,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124703,,,,00,*4B\r\n$IIDBT,027.23,f,008.30,M,004.48,F*26\r\n$GPGLL,5957.051,N,02323.412,E,124703,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.26,N,03.74,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.71,N,,*2B\r\n$IIVTG,200.64,T,200.64,M,6.14,N,,,D*67\r\n$IIMWV,106,T,07.13,N,A*27\r\n$IIVWT,106,R,07.13,N,03.67,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124705,,,,00,*4D\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5957.048,N,02323.410,E,124705,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.81,N,04.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,200.56,T,200.56,M,6.18,N,,,D*6B\r\n$IIMWV,063,R,08.55,N,A*2E\r\n$IIVWT,108,R,08.00,N,04.12,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124707,,,,00,*4F\r\n$IIDBT,027.32,f,008.33,M,004.50,F*2C\r\n$GPGLL,5957.044,N,02323.408,E,124707,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.77,N,04.00,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,200.79,T,200.79,M,6.20,N,,,D*60\r\n$IIMWV,119,T,08.22,N,A*24\r\n$IIVWT,119,R,08.22,N,04.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124709,,,,00,*41\r\n$IIDBT,027.32,f,008.33,M,004.50,F*2C\r\n$GPGLL,5957.041,N,02323.405,E,124709,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.55,N,04.40,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,200.57,T,200.57,M,6.15,N,,,D*66\r\n$IIMWV,065,R,07.58,N,A*2A\r\n$IIVWT,114,R,07.54,N,03.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124711,,,,00,*48\r\n$IIDBT,027.55,f,008.40,M,004.54,F*2D\r\n$GPGLL,5957.038,N,02323.403,E,124711,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.10,N,04.17,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.61,N,,*29\r\n$IIVTG,200.22,T,200.22,M,6.11,N,,,D*62\r\n$IIMWV,117,T,08.20,N,A*28\r\n$IIVWT,117,R,08.20,N,04.22,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124713,,,,00,*4A\r\n$IIDBT,027.45,f,008.37,M,004.52,F*2A\r\n$GPGLL,5957.035,N,02323.400,E,124713,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,08.00,N,04.12,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.41,N,,*2A\r\n$IIVTG,200.25,T,200.25,M,6.15,N,,,D*66\r\n$IIMWV,082,R,06.41,N,A*2A\r\n$IIVWT,130,R,08.26,N,04.25,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124715,,,,00,*4C\r\n$IIDBT,028.34,f,008.64,M,004.67,F*23\r\n$GPGLL,5957.032,N,02323.398,E,124715,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.62,N,03.41,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.74,N,,*2C\r\n$IIVTG,200.61,T,200.61,M,6.19,N,,,D*6A\r\n$IIMWV,123,T,05.87,N,A*2F\r\n$IIVWT,123,R,05.87,N,03.02,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124717,,,,00,*4E\r\n$IIDBT,028.08,f,008.56,M,004.62,F*28\r\n$GPGLL,5957.029,N,02323.396,E,124717,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.22,N,,*28\r\n$IIVTG,200.70,T,200.70,M,6.20,N,,,D*60\r\n$IIMWV,074,R,05.44,N,A*25\r\n$IIVWT,133,R,07.05,N,03.63,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124719,,,,00,*40\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5957.025,N,02323.393,E,124719,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.93,N,,*22\r\n$IIVTG,200.70,T,200.70,M,6.20,N,,,D*60\r\n$IIMWV,139,T,06.37,N,A*2C\r\n$IIVWT,139,R,06.37,N,03.28,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124721,,,,00,*4B\r\n$IIDBT,027.62,f,008.42,M,004.55,F*2A\r\n$GPGLL,5957.022,N,02323.391,E,124721,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.31,N,03.25,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.86,N,,*26\r\n$IIVTG,200.58,T,200.58,M,6.20,N,,,D*60\r\n$IIMWV,073,R,04.27,N,A*26\r\n$IIVWT,141,R,06.45,N,03.32,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124723,,,,00,*49\r\n$IIDBT,027.62,f,008.42,M,004.55,F*2A\r\n$GPGLL,5957.019,N,02323.389,E,124723,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.70,N,,*2F\r\n$IIVTG,200.24,T,200.24,M,6.20,N,,,D*60\r\n$IIMWV,138,T,06.04,N,A*2D\r\n$IIVWT,138,R,06.04,N,03.11,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124725,,,,00,*4F\r\n$IIDBT,028.11,f,008.57,M,004.63,F*20\r\n$GPGLL,5957.016,N,02323.386,E,124726,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.51,N,,*2C\r\n$IIVTG,200.16,T,200.16,M,6.20,N,,,D*60\r\n$IIMWV,033,R,04.27,N,A*22\r\n$IIVWT,140,R,03.59,N,01.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124727,,,,00,*4D\r\n$IIDBT,027.75,f,008.46,M,004.57,F*2A\r\n$GPGLL,5957.011,N,02323.383,E,124728,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.02,N,,*2B\r\n$IIVTG,200.37,T,200.37,M,6.20,N,,,D*60\r\n$IIMWV,151,T,03.98,N,A*22\r\n$IIVWT,151,R,03.98,N,02.05,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124729,,,,00,*43\r\n$IIDBT,027.75,f,008.46,M,004.57,F*2A\r\n$GPGLL,5957.008,N,02323.380,E,124730,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.41,N,,*2C\r\n$IIVTG,200.62,T,200.62,M,6.20,N,,,D*60\r\n$IIMWV,064,R,03.49,N,A*2F\r\n$IIVWT,147,R,05.69,N,02.93,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124731,,,,00,*4A\r\n$IIDBT,027.85,f,008.49,M,004.58,F*25\r\n$GPGLL,5957.004,N,02323.378,E,124732,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.45,N,,*28\r\n$IIVTG,200.63,T,200.63,M,6.20,N,,,D*60\r\n$IIMWV,146,T,04.84,N,A*2E\r\n$IIVWT,146,R,04.84,N,02.49,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124733,,,,00,*48\r\n$IIDBT,028.31,f,008.63,M,004.66,F*20\r\n$GPGLL,5957.001,N,02323.375,E,124734,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.99,N,,*28\r\n$IIVTG,200.33,T,200.33,M,6.20,N,,,D*60\r\n$IIMWV,039,R,04.27,N,A*28\r\n$IIVWT,139,R,04.06,N,02.09,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124736,,,,00,*4D\r\n$IIDBT,028.08,f,008.56,M,004.62,F*28\r\n$GPGLL,5956.998,N,02323.373,E,124736,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.15,N,,*2C\r\n$IIVTG,200.44,T,200.44,M,6.20,N,,,D*60\r\n$IIMWV,131,T,03.30,N,A*26\r\n$IIVWT,131,R,03.30,N,01.70,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124738,,,,00,*43\r\n$IIDBT,028.08,f,008.56,M,004.62,F*28\r\n$GPGLL,5956.995,N,02323.371,E,124738,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.63,N,,*2B\r\n$IIVTG,200.36,T,200.36,M,6.20,N,,,D*60\r\n$IIMWV,038,R,05.83,N,A*26\r\n$IIVWT,117,R,04.00,N,02.06,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124740,,,,00,*4C\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5956.992,N,02323.368,E,124740,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,200.31,T,200.31,M,6.20,N,,,D*60\r\n$IIMWV,110,T,04.10,N,A*20\r\n$IIVWT,110,R,04.10,N,02.11,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124742,,,,00,*4E\r\n$IIDBT,028.70,f,008.75,M,004.72,F*27\r\n$GPGLL,5956.988,N,02323.366,E,124742,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,200.03,T,200.03,M,6.20,N,,,D*60\r\n$IIMWV,033,R,05.83,N,A*2D\r\n$IIVWT,113,R,03.40,N,01.75,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124744,,,,00,*48\r\n$IIDBT,028.08,f,008.56,M,004.62,F*28\r\n$GPGLL,5956.985,N,02323.364,E,124744,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.25,N,,*29\r\n$IIVTG,199.38,T,199.38,M,6.20,N,,,D*60\r\n$IIMWV,113,T,04.49,N,A*2F\r\n$IIVWT,113,R,04.49,N,02.31,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124746,,,,00,*4A\r\n$IIDBT,028.18,f,008.59,M,004.64,F*20\r\n$GPGLL,5956.982,N,02323.361,E,124746,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.74,N,,*2D\r\n$IIVTG,198.92,T,198.92,M,6.17,N,,,D*64\r\n$IIMWV,049,R,06.41,N,A*2D\r\n$IIVWT,114,R,05.28,N,02.72,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124748,,,,00,*44\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.979,N,02323.359,E,124748,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.08,N,,*26\r\n$IIVTG,199.23,T,199.23,M,6.17,N,,,D*64\r\n$IIMWV,108,T,06.00,N,A*2A\r\n$IIVWT,108,R,06.00,N,03.09,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124750,,,,00,*4D\r\n$IIDBT,029.19,f,008.90,M,004.81,F*2E\r\n$GPGLL,5956.976,N,02323.357,E,124750,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.28,N,,*24\r\n$IIVTG,199.76,T,199.76,M,6.19,N,,,D*6A\r\n$IIMWV,063,R,07.58,N,A*2C\r\n$IIVWT,113,R,07.25,N,03.73,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124752,,,,00,*4F\r\n$IIDBT,028.57,f,008.71,M,004.70,F*24\r\n$GPGLL,5956.972,N,02323.354,E,124752,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.54,N,,*2F\r\n$IIVTG,200.06,T,200.06,M,6.20,N,,,D*60\r\n$IIMWV,113,T,05.92,N,A*28\r\n$IIVWT,113,R,05.92,N,03.05,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124754,,,,00,*49\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.969,N,02323.352,E,124754,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.33,N,03.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.87,N,,*22\r\n$IIVTG,200.52,T,200.52,M,6.20,N,,,D*60\r\n$IIMWV,061,R,07.58,N,A*2E\r\n$IIVWT,111,R,07.05,N,03.63,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124756,,,,00,*4B\r\n$IIDBT,028.67,f,008.74,M,004.72,F*20\r\n$GPGLL,5956.966,N,02323.350,E,124756,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,200.53,T,200.53,M,6.15,N,,,D*66\r\n$IIMWV,113,T,05.88,N,A*23\r\n$IIVWT,113,R,05.88,N,03.03,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124758,,,,00,*45\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.963,N,02323.347,E,124758,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.97,N,,*22\r\n$IIVTG,200.93,T,200.93,M,6.16,N,,,D*65\r\n$IIMWV,044,R,06.80,N,A*2D\r\n$IIVWT,106,R,04.89,N,02.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124800,,,,00,*47\r\n$IIDBT,028.64,f,008.73,M,004.71,F*27\r\n$GPGLL,5956.960,N,02323.345,E,124800,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.09,N,,*24\r\n$IIVTG,201.29,T,201.29,M,6.19,N,,,D*6A\r\n$IIMWV,104,T,04.29,N,A*2F\r\n$IIVWT,104,R,04.29,N,02.21,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124802,,,,00,*45\r\n$IIDBT,028.73,f,008.76,M,004.73,F*26\r\n$GPGLL,5956.956,N,02323.342,E,124802,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.88,N,,*2D\r\n$IIVTG,201.24,T,201.24,M,6.20,N,,,D*60\r\n$IIMWV,037,R,06.41,N,A*24\r\n$IIVWT,107,R,03.98,N,02.05,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124804,,,,00,*43\r\n$IIDBT,029.00,f,008.84,M,004.77,F*2A\r\n$GPGLL,5956.953,N,02323.340,E,124804,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.60,N,,*2B\r\n$IIVTG,201.58,T,201.58,M,6.15,N,,,D*66\r\n$IIMWV,104,T,03.14,N,A*26\r\n$IIVWT,104,R,03.14,N,01.62,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124806,,,,00,*41\r\n$IIDBT,028.60,f,008.72,M,004.71,F*22\r\n$GPGLL,5956.948,N,02323.336,E,124806,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.49,N,02.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-0.94,N,,*21\r\n$IIVTG,201.17,T,201.17,M,6.19,N,,,D*6A\r\n$IIMWV,042,R,07.58,N,A*2F\r\n$IIVWT,097,R,05.11,N,02.63,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124808,,,,00,*4F\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.945,N,02323.333,E,124809,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,200.84,T,200.84,M,6.20,N,,,D*60\r\n$IIMWV,079,T,04.84,N,A*23\r\n$IIVWT,079,R,04.84,N,02.49,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124810,,,,00,*46\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.942,N,02323.331,E,124811,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.27,N,,*28\r\n$IIVTG,200.46,T,200.46,M,6.20,N,,,D*60\r\n$IIMWV,048,R,07.58,N,A*25\r\n$IIVWT,103,R,05.79,N,02.98,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124812,,,,00,*44\r\n$IIDBT,028.47,f,008.68,M,004.69,F*25\r\n$GPGLL,5956.939,N,02323.329,E,124813,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.91,N,,*25\r\n$IIVTG,199.79,T,199.79,M,6.15,N,,,D*66\r\n$IIMWV,105,T,05.36,N,A*21\r\n$IIVWT,105,R,05.36,N,02.76,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124814,,,,00,*42\r\n$IIDBT,028.83,f,008.79,M,004.75,F*20\r\n$GPGLL,5956.936,N,02323.327,E,124815,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.49,N,02.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.50,N,,*28\r\n$IIVTG,199.05,T,199.05,M,6.11,N,,,D*62\r\n$IIMWV,049,R,08.16,N,A*21\r\n$IIVWT,100,R,06.23,N,03.21,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124816,,,,00,*40\r\n$IIDBT,028.87,f,008.80,M,004.75,F*22\r\n$GPGLL,5956.932,N,02323.324,E,124817,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.16,N,03.17,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.75,N,,*2F\r\n$IIVTG,200.14,T,200.14,M,6.10,N,,,D*63\r\n$IIMWV,094,T,03.77,N,A*2B\r\n$IIVWT,094,R,03.77,N,01.94,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124819,,,,00,*4F\r\n$IIDBT,028.70,f,008.75,M,004.72,F*27\r\n$GPGLL,5956.929,N,02323.322,E,124819,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.64,N,,*2E\r\n$IIVTG,201.28,T,201.28,M,6.13,N,,,D*60\r\n$IIMWV,046,R,07.77,N,A*26\r\n$IIVWT,098,R,05.59,N,02.88,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124821,,,,00,*44\r\n$IIDBT,028.67,f,008.74,M,004.72,F*20\r\n$GPGLL,5956.926,N,02323.319,E,124821,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,201.57,T,201.57,M,6.13,N,,,D*60\r\n$IIMWV,080,T,06.12,N,A*28\r\n$IIVWT,080,R,06.12,N,03.15,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124823,,,,00,*46\r\n$IIDBT,028.34,f,008.64,M,004.67,F*23\r\n$GPGLL,5956.923,N,02323.317,E,124823,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.45,N,,*00\r\n$IIVTG,201.59,T,201.59,M,6.18,N,,,D*6B\r\n$IIMWV,043,R,09.52,N,A*2A\r\n$IIVWT,084,R,06.55,N,03.37,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124825,,,,00,*40\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5956.920,N,02323.314,E,124825,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,201.57,T,201.57,M,6.20,N,,,D*60\r\n$IIMWV,084,T,06.45,N,A*2E\r\n$IIVWT,084,R,06.45,N,03.32,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124827,,,,00,*42\r\n$IIDBT,028.28,f,008.62,M,004.65,F*2A\r\n$GPGLL,5956.917,N,02323.312,E,124827,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.09,N,,*08\r\n$IIVTG,201.22,T,201.22,M,6.20,N,,,D*60\r\n$IIMWV,040,R,08.55,N,A*2F\r\n$IIVWT,087,R,05.48,N,02.82,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124829,,,,00,*4C\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5956.913,N,02323.309,E,124829,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.93,N,,*26\r\n$IIVTG,200.83,T,200.83,M,6.20,N,,,D*60\r\n$IIMWV,095,T,06.29,N,A*24\r\n$IIVWT,095,R,06.29,N,03.24,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124831,,,,00,*45\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5956.910,N,02323.307,E,124831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.25,N,03.22,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.60,N,,*2A\r\n$IIVTG,200.51,T,200.51,M,6.20,N,,,D*60\r\n$IIMWV,043,R,08.16,N,A*2B\r\n$IIVWT,094,R,05.52,N,02.84,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124833,,,,00,*47\r\n$IIDBT,028.54,f,008.70,M,004.70,F*26\r\n$GPGLL,5956.907,N,02323.305,E,124833,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.73,N,02.95,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.02,N,,*2F\r\n$IIVTG,200.65,T,200.65,M,6.20,N,,,D*60\r\n$IIMWV,103,T,06.22,N,A*21\r\n$IIVWT,103,R,06.22,N,03.20,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124835,,,,00,*41\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5956.904,N,02323.302,E,124835,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.61,N,,*2B\r\n$IIVTG,200.89,T,200.89,M,6.20,N,,,D*60\r\n$IIMWV,041,R,07.58,N,A*2C\r\n$IIVWT,096,R,05.01,N,02.58,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124837,,,,00,*43\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5956.901,N,02323.300,E,124837,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.33,N,,*2D\r\n$IIVTG,200.72,T,200.72,M,6.12,N,,,D*61\r\n$IIMWV,094,T,03.96,N,A*24\r\n$IIVWT,094,R,03.96,N,02.04,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124839,,,,00,*4D\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5956.897,N,02323.297,E,124839,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.78,N,,*23\r\n$IIVTG,200.28,T,200.28,M,6.11,N,,,D*62\r\n$IIMWV,039,R,07.19,N,A*26\r\n$IIVWT,099,R,04.54,N,02.34,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124841,,,,00,*42\r\n$IIDBT,027.85,f,008.49,M,004.58,F*25\r\n$GPGLL,5956.894,N,02323.295,E,124841,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.06,N,,*2B\r\n$IIVTG,199.90,T,199.90,M,6.18,N,,,D*6B\r\n$IIMWV,099,T,04.39,N,A*2B\r\n$IIVWT,099,R,04.39,N,02.26,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124843,,,,00,*40\r\n$IIDBT,027.55,f,008.40,M,004.54,F*2D\r\n$GPGLL,5956.891,N,02323.293,E,124843,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.87,N,,*23\r\n$IIVTG,199.27,T,199.27,M,6.19,N,,,D*6A\r\n$IIMWV,042,R,07.77,N,A*22\r\n$IIVWT,096,R,05.22,N,02.69,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124845,,,,00,*46\r\n$IIDBT,027.52,f,008.39,M,004.53,F*23\r\n$GPGLL,5956.888,N,02323.291,E,124845,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.65,N,,*2F\r\n$IIVTG,198.89,T,198.89,M,6.12,N,,,D*61\r\n$IIMWV,094,T,05.63,N,A*28\r\n$IIVWT,094,R,05.63,N,02.90,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124847,,,,00,*44\r\n$IIDBT,027.55,f,008.40,M,004.54,F*2D\r\n$GPGLL,5956.883,N,02323.287,E,124847,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.34,N,,*29\r\n$IIVTG,199.35,T,199.35,M,6.11,N,,,D*62\r\n$IIMWV,055,R,06.41,N,A*20\r\n$IIVWT,117,R,05.87,N,03.02,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124849,,,,00,*4A\r\n$IIDBT,027.65,f,008.43,M,004.55,F*2C\r\n$GPGLL,5956.880,N,02323.285,E,124849,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.22,N,,*2E\r\n$IIVTG,199.46,T,199.46,M,6.11,N,,,D*62\r\n$IIMWV,107,T,05.73,N,A*22\r\n$IIVWT,107,R,05.73,N,02.95,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124851,,,,00,*43\r\n$IIDBT,027.68,f,008.44,M,004.56,F*25\r\n$GPGLL,5956.877,N,02323.283,E,124852,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,199.59,T,199.59,M,6.10,N,,,D*63\r\n$IIMWV,067,R,07.19,N,A*2D\r\n$IIVWT,117,R,07.46,N,03.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124853,,,,00,*41\r\n$IIDBT,027.59,f,008.41,M,004.54,F*20\r\n$GPGLL,5956.873,N,02323.281,E,124854,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.58,N,03.90,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,199.90,T,199.90,M,6.15,N,,,D*66\r\n$IIMWV,102,T,05.71,N,A*25\r\n$IIVWT,102,R,05.71,N,02.94,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124855,,,,00,*47\r\n$IIDBT,027.65,f,008.43,M,004.55,F*2C\r\n$GPGLL,5956.870,N,02323.278,E,124856,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.27,N,,*2B\r\n$IIVTG,200.55,T,200.55,M,6.19,N,,,D*6A\r\n$IIMWV,053,R,06.80,N,A*2B\r\n$IIVWT,112,R,05.79,N,02.98,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124857,,,,00,*45\r\n$IIDBT,027.49,f,008.38,M,004.52,F*29\r\n$GPGLL,5956.867,N,02323.276,E,124858,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.63,N,,*28\r\n$IIVTG,200.72,T,200.72,M,6.20,N,,,D*60\r\n$IIMWV,109,T,06.06,N,A*2D\r\n$IIVWT,109,R,06.06,N,03.12,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124859,,,,00,*4B\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5956.864,N,02323.273,E,124900,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.71,N,,*2B\r\n$IIVTG,200.61,T,200.61,M,6.20,N,,,D*60\r\n$IIMWV,053,R,06.80,N,A*2B\r\n$IIVWT,112,R,05.79,N,02.98,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124902,,,,00,*44\r\n$IIDBT,027.49,f,008.38,M,004.52,F*29\r\n$GPGLL,5956.861,N,02323.271,E,124902,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.64,N,,*2F\r\n$IIVTG,200.63,T,200.63,M,6.20,N,,,D*60\r\n$IIMWV,105,T,05.42,N,A*22\r\n$IIVWT,105,R,05.42,N,02.79,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124904,,,,00,*42\r\n$IIDBT,027.59,f,008.41,M,004.54,F*20\r\n$GPGLL,5956.857,N,02323.269,E,124904,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.62,N,,*29\r\n$IIVTG,200.25,T,200.25,M,6.20,N,,,D*60\r\n$IIMWV,045,R,07.19,N,A*2D\r\n$IIVWT,104,R,05.22,N,02.69,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124906,,,,00,*40\r\n$IIDBT,027.39,f,008.35,M,004.51,F*20\r\n$GPGLL,5956.854,N,02323.266,E,124906,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.58,N,03.39,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.62,N,,*2A\r\n$IIVTG,200.64,T,200.64,M,6.20,N,,,D*60\r\n$IIMWV,113,T,05.87,N,A*2C\r\n$IIVWT,113,R,05.87,N,03.02,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124908,,,,00,*4E\r\n$IIDBT,027.36,f,008.34,M,004.50,F*2F\r\n$GPGLL,5956.851,N,02323.264,E,124908,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.28,N,03.75,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.37,N,,*2B\r\n$IIVTG,201.31,T,201.31,M,6.20,N,,,D*60\r\n$IIMWV,065,R,06.41,N,A*23\r\n$IIVWT,122,R,06.78,N,03.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124910,,,,00,*47\r\n$IIDBT,027.39,f,008.35,M,004.51,F*20\r\n$GPGLL,5956.848,N,02323.261,E,124910,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.66,N,03.43,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,201.43,T,201.43,M,6.20,N,,,D*60\r\n$IIMWV,116,T,06.47,N,A*26\r\n$IIVWT,116,R,06.47,N,03.33,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124912,,,,00,*45\r\n$IIDBT,027.45,f,008.37,M,004.52,F*2A\r\n$GPGLL,5956.845,N,02323.259,E,124912,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,201.65,T,201.65,M,6.20,N,,,D*60\r\n$IIMWV,063,R,06.22,N,A*20\r\n$IIVWT,122,R,06.53,N,03.36,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124914,,,,00,*43\r\n$IIDBT,027.45,f,008.37,M,004.52,F*2A\r\n$GPGLL,5956.841,N,02323.256,E,124914,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.37,N,03.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.32,N,,*2E\r\n$IIVTG,201.76,T,201.76,M,6.20,N,,,D*60\r\n$IIMWV,123,T,06.57,N,A*21\r\n$IIVWT,123,R,06.57,N,03.38,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124916,,,,00,*41\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5956.838,N,02323.253,E,124916,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.12,N,03.15,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.61,N,,*28\r\n$IIVTG,201.81,T,201.81,M,6.20,N,,,D*60\r\n$IIMWV,060,R,05.83,N,A*2B\r\n$IIVWT,124,R,06.08,N,03.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124918,,,,00,*4F\r\n$IIDBT,027.75,f,008.46,M,004.57,F*2A\r\n$GPGLL,5956.835,N,02323.251,E,124918,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.81,N,,*27\r\n$IIVTG,201.88,T,201.88,M,6.20,N,,,D*60\r\n$IIMWV,120,T,05.15,N,A*27\r\n$IIVWT,120,R,05.15,N,02.65,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124920,,,,00,*44\r\n$IIDBT,027.68,f,008.44,M,004.56,F*25\r\n$GPGLL,5956.832,N,02323.248,E,124920,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,201.92,T,201.92,M,6.25,N,,,D*65\r\n$IIMWV,046,R,05.44,N,A*24\r\n$IIVWT,123,R,04.64,N,02.39,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124922,,,,00,*46\r\n$IIDBT,027.62,f,008.42,M,004.55,F*2A\r\n$GPGLL,5956.829,N,02323.246,E,124922,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.94,N,02.03,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.84,N,,*22\r\n$IIVTG,201.70,T,201.70,M,6.21,N,,,D*61\r\n$IIMWV,121,T,05.11,N,A*22\r\n$IIVWT,121,R,05.11,N,02.63,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124924,,,,00,*40\r\n$IIDBT,027.72,f,008.45,M,004.56,F*2F\r\n$GPGLL,5956.825,N,02323.243,E,124924,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,201.37,T,201.37,M,6.20,N,,,D*60\r\n$IIMWV,051,R,05.83,N,A*29\r\n$IIVWT,120,R,05.20,N,02.68,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124926,,,,00,*42\r\n$IIDBT,027.78,f,008.47,M,004.57,F*26\r\n$GPGLL,5956.822,N,02323.241,E,124926,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,201.27,T,201.27,M,6.20,N,,,D*60\r\n$IIMWV,127,T,05.24,N,A*22\r\n$IIVWT,127,R,05.24,N,02.70,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124928,,,,00,*4C\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5956.819,N,02323.238,E,124928,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,201.17,T,201.17,M,6.20,N,,,D*60\r\n$IIMWV,042,R,05.24,N,A*26\r\n$IIVWT,125,R,04.23,N,02.18,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124930,,,,00,*45\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5956.814,N,02323.235,E,124930,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,201.09,T,201.09,M,6.20,N,,,D*60\r\n$IIMWV,124,T,04.82,N,A*2C\r\n$IIVWT,124,R,04.82,N,02.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124932,,,,00,*47\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5956.811,N,02323.232,E,124933,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.33,N,,*28\r\n$IIVTG,201.01,T,201.01,M,6.20,N,,,D*60\r\n$IIMWV,059,R,04.85,N,A*26\r\n$IIVWT,132,R,05.59,N,02.88,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124934,,,,00,*41\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5956.808,N,02323.230,E,124935,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.11,N,,*28\r\n$IIVTG,201.08,T,201.08,M,6.20,N,,,D*60\r\n$IIMWV,129,T,04.82,N,A*21\r\n$IIVWT,129,R,04.82,N,02.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124936,,,,00,*43\r\n$IIDBT,028.11,f,008.57,M,004.63,F*20\r\n$GPGLL,5956.805,N,02323.227,E,124937,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.90,N,,*26\r\n$IIVTG,201.40,T,201.40,M,6.20,N,,,D*60\r\n$IIMWV,054,R,04.85,N,A*2B\r\n$IIVWT,132,R,05.20,N,02.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124938,,,,00,*4D\r\n$IIDBT,028.11,f,008.57,M,004.63,F*20\r\n$GPGLL,5956.801,N,02323.224,E,124939,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.19,N,,*20\r\n$IIVTG,201.55,T,201.55,M,6.20,N,,,D*60\r\n$IIMWV,133,T,05.63,N,A*24\r\n$IIVWT,133,R,05.63,N,02.90,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124940,,,,00,*42\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5956.798,N,02323.222,E,124941,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.10,N,,*29\r\n$IIVTG,201.26,T,201.26,M,6.20,N,,,D*60\r\n$IIMWV,047,R,04.85,N,A*29\r\n$IIVWT,130,R,04.60,N,02.37,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124942,,,,00,*40\r\n$IIDBT,028.64,f,008.73,M,004.71,F*27\r\n$GPGLL,5956.795,N,02323.219,E,124943,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.77,N,,*2F\r\n$IIVTG,201.76,T,201.76,M,6.20,N,,,D*60\r\n$IIMWV,127,T,05.09,N,A*2D\r\n$IIVWT,127,R,05.09,N,02.62,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124945,,,,00,*47\r\n$IIDBT,028.60,f,008.72,M,004.71,F*22\r\n$GPGLL,5956.792,N,02323.217,E,124945,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.80,N,02.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,202.07,T,202.07,M,6.20,N,,,D*60\r\n$IIMWV,050,R,05.44,N,A*23\r\n$IIVWT,124,R,04.99,N,02.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124947,,,,00,*45\r\n$IIDBT,028.60,f,008.72,M,004.71,F*22\r\n$GPGLL,5956.788,N,02323.214,E,124947,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.54,N,,*2E\r\n$IIVTG,201.99,T,201.99,M,6.20,N,,,D*60\r\n$IIMWV,124,T,04.82,N,A*2C\r\n$IIVWT,124,R,04.82,N,02.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124949,,,,00,*4B\r\n$IIDBT,028.70,f,008.75,M,004.72,F*27\r\n$GPGLL,5956.785,N,02323.212,E,124949,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.84,N,,*23\r\n$IIVTG,201.45,T,201.45,M,6.20,N,,,D*60\r\n$IIMWV,049,R,05.24,N,A*2D\r\n$IIVWT,125,R,04.78,N,02.46,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124951,,,,00,*42\r\n$IIDBT,028.96,f,008.83,M,004.77,F*23\r\n$GPGLL,5956.782,N,02323.209,E,124951,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.59,N,,*23\r\n$IIVTG,200.41,T,200.41,M,6.20,N,,,D*60\r\n$IIMWV,127,T,05.24,N,A*22\r\n$IIVWT,127,R,05.24,N,02.70,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124953,,,,00,*40\r\n$IIDBT,029.16,f,008.89,M,004.80,F*28\r\n$GPGLL,5956.779,N,02323.207,E,124953,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.23,N,,*2E\r\n$IIVTG,199.28,T,199.28,M,6.20,N,,,D*60\r\n$IIMWV,066,R,06.41,N,A*20\r\n$IIVWT,122,R,06.86,N,03.53,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124955,,,,00,*46\r\n$IIDBT,029.36,f,008.95,M,004.83,F*24\r\n$GPGLL,5956.776,N,02323.205,E,124955,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.29,N,,*24\r\n$IIVTG,199.67,T,199.67,M,6.20,N,,,D*60\r\n$IIMWV,123,T,06.58,N,A*2E\r\n$IIVWT,123,R,06.58,N,03.39,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124957,,,,00,*44\r\n$IIDBT,029.52,f,009.00,M,004.86,F*2E\r\n$GPGLL,5956.772,N,02323.203,E,124957,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.61,N,,*29\r\n$IIVTG,199.91,T,199.91,M,6.20,N,,,D*60\r\n$IIMWV,068,R,05.83,N,A*23\r\n$IIVWT,128,R,06.82,N,03.51,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,124959,,,,00,*4A\r\n$IIDBT,029.65,f,009.04,M,004.88,F*20\r\n$GPGLL,5956.769,N,02323.200,E,124959,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.82,N,,*25\r\n$IIVTG,200.15,T,200.15,M,6.20,N,,,D*60\r\n$IIMWV,126,T,04.84,N,A*28\r\n$IIVWT,126,R,04.84,N,02.49,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125001,,,,00,*4F\r\n$IIDBT,029.78,f,009.08,M,004.90,F*29\r\n$GPGLL,5956.766,N,02323.198,E,125001,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,200.64,T,200.64,M,6.20,N,,,D*60\r\n$IIMWV,055,R,05.44,N,A*26\r\n$IIVWT,126,R,05.50,N,02.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125003,,,,00,*4D\r\n$IIDBT,029.92,f,009.12,M,004.92,F*24\r\n$GPGLL,5956.763,N,02323.195,E,125003,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,201.21,T,201.21,M,6.20,N,,,D*60\r\n$IIMWV,115,T,05.57,N,A*27\r\n$IIVWT,115,R,05.57,N,02.87,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125005,,,,00,*4B\r\n$IIDBT,030.08,f,009.17,M,004.95,F*2D\r\n$GPGLL,5956.759,N,02323.193,E,125005,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.15,N,,*2B\r\n$IIVTG,201.35,T,201.35,M,6.20,N,,,D*60\r\n$IIMWV,050,R,05.83,N,A*28\r\n$IIVWT,120,R,05.15,N,02.65,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125007,,,,00,*49\r\n$IIDBT,030.15,f,009.19,M,004.96,F*2C\r\n$GPGLL,5956.756,N,02323.190,E,125007,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,201.14,T,201.14,M,6.20,N,,,D*60\r\n$IIMWV,133,T,05.69,N,A*2E\r\n$IIVWT,133,R,05.69,N,02.93,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125009,,,,00,*47\r\n$IIDBT,030.57,f,009.32,M,005.03,F*2E\r\n$GPGLL,5956.753,N,02323.188,E,125009,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.42,N,,*2E\r\n$IIVTG,201.26,T,201.26,M,6.20,N,,,D*60\r\n$IIMWV,046,R,04.47,N,A*26\r\n$IIVWT,135,R,04.52,N,02.33,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125011,,,,00,*4E\r\n$IIDBT,030.51,f,009.30,M,005.02,F*2B\r\n$GPGLL,5956.750,N,02323.185,E,125011,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.61,N,,*2F\r\n$IIVTG,201.47,T,201.47,M,6.20,N,,,D*60\r\n$IIMWV,137,T,04.31,N,A*26\r\n$IIVWT,137,R,04.31,N,02.22,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125013,,,,00,*4C\r\n$IIDBT,030.57,f,009.32,M,005.03,F*2E\r\n$GPGLL,5956.745,N,02323.182,E,125013,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,201.31,T,201.31,M,6.20,N,,,D*60\r\n$IIMWV,046,R,03.88,N,A*22\r\n$IIVWT,142,R,04.58,N,02.36,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125015,,,,00,*4A\r\n$IIDBT,030.74,f,009.37,M,005.06,F*2F\r\n$GPGLL,5956.742,N,02323.179,E,125016,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.41,N,,*2D\r\n$IIVTG,200.91,T,200.91,M,6.20,N,,,D*60\r\n$IIMWV,136,T,04.64,N,A*27\r\n$IIVWT,136,R,04.64,N,02.39,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125017,,,,00,*48\r\n$IIDBT,030.77,f,009.38,M,005.07,F*22\r\n$GPGLL,5956.739,N,02323.177,E,125018,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.30,N,,*2C\r\n$IIVTG,201.15,T,201.15,M,6.20,N,,,D*60\r\n$IIMWV,045,R,05.44,N,A*27\r\n$IIVWT,122,R,04.47,N,02.30,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125019,,,,00,*46\r\n$IIDBT,031.10,f,009.48,M,005.12,F*21\r\n$GPGLL,5956.735,N,02323.174,E,125020,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,201.26,T,201.26,M,6.20,N,,,D*60\r\n$IIMWV,105,T,04.58,N,A*28\r\n$IIVWT,105,R,04.58,N,02.36,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125021,,,,00,*4D\r\n$IIDBT,031.16,f,009.50,M,005.13,F*2F\r\n$GPGLL,5956.732,N,02323.172,E,125022,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.15,N,,*28\r\n$IIVTG,201.62,T,201.62,M,6.20,N,,,D*60\r\n$IIMWV,025,R,07.58,N,A*2E\r\n$IIVWT,082,R,03.22,N,01.66,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125023,,,,00,*4F\r\n$IIDBT,031.23,f,009.52,M,005.14,F*2C\r\n$GPGLL,5956.729,N,02323.169,E,125024,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.33,N,,*2C\r\n$IIVTG,201.65,T,201.65,M,6.20,N,,,D*60\r\n$IIMWV,098,T,03.51,N,A*23\r\n$IIVWT,098,R,03.51,N,01.81,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125025,,,,00,*49\r\n$IIDBT,031.39,f,009.57,M,005.17,F*21\r\n$GPGLL,5956.726,N,02323.167,E,125026,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,201.51,T,201.51,M,6.20,N,,,D*60\r\n$IIMWV,038,R,06.22,N,A*2E\r\n$IIVWT,110,R,04.08,N,02.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125028,,,,00,*44\r\n$IIDBT,031.92,f,009.73,M,005.25,F*27\r\n$GPGLL,5956.723,N,02323.164,E,125028,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.75,N,,*2F\r\n$IIVTG,201.46,T,201.46,M,6.20,N,,,D*60\r\n$IIMWV,110,T,03.80,N,A*2E\r\n$IIVWT,110,R,03.80,N,01.96,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125030,,,,00,*4D\r\n$IIDBT,031.92,f,009.73,M,005.25,F*27\r\n$GPGLL,5956.719,N,02323.162,E,125030,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.22,N,01.66,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.90,N,,*24\r\n$IIVTG,201.44,T,201.44,M,6.20,N,,,D*60\r\n$IIMWV,033,R,06.22,N,A*25\r\n$IIVWT,107,R,03.47,N,01.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125032,,,,00,*4F\r\n$IIDBT,032.47,f,009.90,M,005.35,F*20\r\n$GPGLL,5956.716,N,02323.159,E,125032,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.10,N,,*2F\r\n$IIVTG,201.33,T,201.33,M,6.20,N,,,D*60\r\n$IIMWV,108,T,04.25,N,A*2F\r\n$IIVWT,108,R,04.25,N,02.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125034,,,,00,*49\r\n$IIDBT,032.24,f,009.83,M,005.31,F*23\r\n$GPGLL,5956.713,N,02323.157,E,125034,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,201.33,T,201.33,M,6.20,N,,,D*60\r\n$IIMWV,039,R,05.83,N,A*27\r\n$IIVWT,116,R,04.02,N,02.07,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125036,,,,00,*4B\r\n$IIDBT,032.67,f,009.96,M,005.38,F*29\r\n$GPGLL,5956.710,N,02323.154,E,125036,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.90,N,,*24\r\n$IIVTG,201.43,T,201.43,M,6.20,N,,,D*60\r\n$IIMWV,108,T,03.51,N,A*2B\r\n$IIVWT,108,R,03.51,N,01.81,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125038,,,,00,*45\r\n$IIDBT,032.84,f,010.01,M,005.41,F*2C\r\n$GPGLL,5956.707,N,02323.152,E,125038,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.90,N,,*27\r\n$IIVTG,201.98,T,201.98,M,6.20,N,,,D*60\r\n$IIMWV,046,R,05.83,N,A*2F\r\n$IIVWT,118,R,04.70,N,02.42,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125040,,,,00,*4A\r\n$IIDBT,033.10,f,010.09,M,005.45,F*2C\r\n$GPGLL,5956.703,N,02323.149,E,125040,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,202.40,T,202.40,M,6.20,N,,,D*60\r\n$IIMWV,111,T,04.41,N,A*25\r\n$IIVWT,111,R,04.41,N,02.27,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125042,,,,00,*48\r\n$IIDBT,033.36,f,010.17,M,005.49,F*2B\r\n$GPGLL,5956.700,N,02323.146,E,125042,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.80,N,02.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,202.52,T,202.52,M,6.20,N,,,D*60\r\n$IIMWV,043,R,06.22,N,A*22\r\n$IIVWT,112,R,04.58,N,02.36,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125044,,,,00,*4E\r\n$IIDBT,033.98,f,010.36,M,005.59,F*2D\r\n$GPGLL,5956.697,N,02323.144,E,125044,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.27,N,,*2A\r\n$IIVTG,202.70,T,202.70,M,6.20,N,,,D*60\r\n$IIMWV,118,T,04.85,N,A*24\r\n$IIVWT,118,R,04.85,N,02.50,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125046,,,,00,*4C\r\n$IIDBT,033.79,f,010.30,M,005.56,F*2B\r\n$GPGLL,5956.694,N,02323.141,E,125046,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.88,N,,*2E\r\n$IIVTG,202.60,T,202.60,M,6.20,N,,,D*60\r\n$IIMWV,045,R,05.44,N,A*27\r\n$IIVWT,122,R,04.54,N,02.34,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125048,,,,00,*42\r\n$IIDBT,033.85,f,010.32,M,005.57,F*2B\r\n$GPGLL,5956.691,N,02323.138,E,125048,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.58,N,02.36,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,202.58,T,202.58,M,6.20,N,,,D*60\r\n$IIMWV,119,T,05.11,N,A*29\r\n$IIVWT,119,R,05.11,N,02.63,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125050,,,,00,*4B\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5956.688,N,02323.136,E,125050,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.13,N,02.64,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.11,N,,*2F\r\n$IIVTG,202.99,T,202.99,M,6.20,N,,,D*60\r\n$IIMWV,055,R,05.83,N,A*2D\r\n$IIVWT,122,R,05.67,N,02.92,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125052,,,,00,*49\r\n$IIDBT,034.48,f,010.51,M,005.68,F*24\r\n$GPGLL,5956.684,N,02323.133,E,125052,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.45,N,02.29,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,203.22,T,203.22,M,6.20,N,,,D*60\r\n$IIMWV,124,T,04.78,N,A*29\r\n$IIVWT,124,R,04.78,N,02.46,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125054,,,,00,*4F\r\n$IIDBT,034.71,f,010.58,M,005.71,F*2F\r\n$GPGLL,5956.681,N,02323.130,E,125054,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.56,N,,*2D\r\n$IIVTG,203.38,T,203.38,M,6.28,N,,,D*68\r\n$IIMWV,053,R,06.80,N,A*2B\r\n$IIVWT,112,R,05.87,N,03.02,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125056,,,,00,*4D\r\n$IIDBT,034.90,f,010.64,M,005.75,F*2B\r\n$GPGLL,5956.676,N,02323.126,E,125056,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.59,N,02.88,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.48,N,,*22\r\n$IIVTG,203.95,T,203.95,M,6.25,N,,,D*65\r\n$IIMWV,106,T,05.52,N,A*20\r\n$IIVWT,106,R,05.52,N,02.84,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125058,,,,00,*43\r\n$IIDBT,035.03,f,010.68,M,005.77,F*2E\r\n$GPGLL,5956.673,N,02323.123,E,125059,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.72,N,,*28\r\n$IIVTG,204.01,T,204.01,M,6.21,N,,,D*61\r\n$IIMWV,032,R,06.80,N,A*2C\r\n$IIVWT,099,R,03.65,N,01.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125100,,,,00,*4F\r\n$IIDBT,035.56,f,010.84,M,005.85,F*21\r\n$GPGLL,5956.670,N,02323.120,E,125101,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.64,N,01.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.07,N,,*06\r\n$IIVTG,204.03,T,204.03,M,6.20,N,,,D*60\r\n$IIMWV,093,T,03.77,N,A*2C\r\n$IIVWT,093,R,03.77,N,01.94,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125102,,,,00,*4D\r\n$IIDBT,035.82,f,010.92,M,005.90,F*2B\r\n$GPGLL,5956.667,N,02323.118,E,125103,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,204.33,T,204.33,M,6.20,N,,,D*60\r\n$IIMWV,034,R,06.80,N,A*2A\r\n$IIVWT,101,R,03.84,N,01.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125104,,,,00,*4B\r\n$IIDBT,036.38,f,011.09,M,005.99,F*23\r\n$GPGLL,5956.664,N,02323.115,E,125105,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.48,N,,*22\r\n$IIVTG,204.60,T,204.60,M,6.25,N,,,D*65\r\n$IIMWV,108,T,03.63,N,A*2A\r\n$IIVWT,108,R,03.63,N,01.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125106,,,,00,*49\r\n$IIDBT,036.48,f,011.12,M,006.01,F*2C\r\n$GPGLL,5956.661,N,02323.112,E,125107,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.30,N,02.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.41,N,,*28\r\n$IIVTG,204.68,T,204.68,M,6.29,N,,,D*69\r\n$IIMWV,062,R,07.58,N,A*2D\r\n$IIVWT,112,R,07.21,N,03.71,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125108,,,,00,*47\r\n$IIDBT,036.81,f,011.22,M,006.06,F*2D\r\n$GPGLL,5956.658,N,02323.109,E,125109,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.35,N,03.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,204.94,T,204.94,M,6.25,N,,,D*65\r\n$IIMWV,114,T,06.14,N,A*22\r\n$IIVWT,114,R,06.14,N,03.16,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125111,,,,00,*4F\r\n$IIDBT,037.00,f,011.28,M,006.09,F*20\r\n$GPGLL,5956.654,N,02323.106,E,125111,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.90,N,,*26\r\n$IIVTG,205.51,T,205.51,M,6.21,N,,,D*61\r\n$IIMWV,057,R,05.44,N,A*24\r\n$IIVWT,130,R,05.92,N,03.05,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125113,,,,00,*4D\r\n$IIDBT,037.69,f,011.49,M,006.21,F*22\r\n$GPGLL,5956.651,N,02323.103,E,125113,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.15,N,02.14,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,205.68,T,205.68,M,6.20,N,,,D*60\r\n$IIMWV,130,T,04.17,N,A*25\r\n$IIVWT,130,R,04.17,N,02.15,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125115,,,,00,*4B\r\n$IIDBT,037.76,f,011.51,M,006.22,F*26\r\n$GPGLL,5956.648,N,02323.100,E,125115,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,205.90,T,205.90,M,6.25,N,,,D*65\r\n$IIMWV,033,R,04.47,N,A*24\r\n$IIVWT,136,R,03.46,N,01.78,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125117,,,,00,*49\r\n$IIDBT,038.18,f,011.64,M,006.29,F*2C\r\n$GPGLL,5956.645,N,02323.097,E,125117,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.51,N,,*2C\r\n$IIVTG,205.60,T,205.60,M,6.26,N,,,D*66\r\n$IIMWV,134,T,04.49,N,A*2A\r\n$IIVWT,134,R,04.49,N,02.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125119,,,,00,*47\r\n$IIDBT,038.61,f,011.77,M,006.36,F*2E\r\n$GPGLL,5956.642,N,02323.094,E,125119,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,205.77,T,205.77,M,6.29,N,,,D*69\r\n$IIMWV,046,R,04.47,N,A*26\r\n$IIVWT,135,R,04.54,N,02.34,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125121,,,,00,*4C\r\n$IIDBT,038.87,f,011.85,M,006.40,F*2A\r\n$GPGLL,5956.639,N,02323.091,E,125121,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.69,N,01.90,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.54,N,,*29\r\n$IIVTG,206.24,T,206.24,M,6.25,N,,,D*65\r\n$IIMWV,137,T,04.62,N,A*20\r\n$IIVWT,137,R,04.62,N,02.38,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125123,,,,00,*4E\r\n$IIDBT,039.53,f,012.05,M,006.51,F*29\r\n$GPGLL,5956.636,N,02323.088,E,125123,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.77,N,,*28\r\n$IIVTG,206.43,T,206.43,M,6.21,N,,,D*61\r\n$IIMWV,041,R,03.88,N,A*25\r\n$IIVWT,143,R,04.19,N,02.16,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125125,,,,00,*48\r\n$IIDBT,039.69,f,012.10,M,006.54,F*21\r\n$GPGLL,5956.633,N,02323.084,E,125125,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.90,N,02.01,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,206.51,T,206.51,M,6.25,N,,,D*65\r\n$IIMWV,157,T,03.26,N,A*21\r\n$IIVWT,157,R,03.26,N,01.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125127,,,,00,*4A\r\n$IIDBT,039.69,f,012.10,M,006.54,F*21\r\n$GPGLL,5956.629,N,02323.081,E,125127,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.15,N,,*2D\r\n$IIVTG,206.50,T,206.50,M,6.29,N,,,D*69\r\n$IIMWV,013,R,04.47,N,A*26\r\n$IIVWT,153,R,02.23,N,01.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125129,,,,00,*44\r\n$IIDBT,040.35,f,012.30,M,006.64,F*27\r\n$GPGLL,5956.626,N,02323.078,E,125129,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,206.00,T,206.00,M,6.30,N,,,D*61\r\n$IIMWV,165,T,02.19,N,A*2D\r\n$IIVWT,165,R,02.19,N,01.13,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125131,,,,00,*4D\r\n$IIDBT,040.35,f,012.30,M,006.64,F*27\r\n$GPGLL,5956.623,N,02323.075,E,125131,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.00,N,,*2A\r\n$IIVTG,205.60,T,205.60,M,6.30,N,,,D*61\r\n$IIMWV,012,R,03.88,N,A*23\r\n$IIVWT,163,R,02.66,N,01.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125133,,,,00,*4F\r\n$IIDBT,040.48,f,012.34,M,006.67,F*2A\r\n$GPGLL,5956.620,N,02323.072,E,125133,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,206.03,T,206.03,M,6.30,N,,,D*61\r\n$IIMWV,164,T,02.58,N,A*29\r\n$IIVWT,164,R,02.58,N,01.33,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125135,,,,00,*49\r\n$IIDBT,040.64,f,012.39,M,006.69,F*27\r\n$GPGLL,5956.617,N,02323.069,E,125135,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.02,N,,*28\r\n$IIVTG,206.13,T,206.13,M,6.30,N,,,D*61\r\n$IIMWV,011,R,03.88,N,A*20\r\n$IIVWT,164,R,02.54,N,01.31,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125137,,,,00,*4B\r\n$IIDBT,040.97,f,012.49,M,006.75,F*21\r\n$GPGLL,5956.614,N,02323.066,E,125137,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,205.91,T,205.91,M,6.30,N,,,D*61\r\n$IIMWV,166,T,02.54,N,A*27\r\n$IIVWT,166,R,02.54,N,01.31,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125139,,,,00,*45\r\n$IIDBT,041.10,f,012.53,M,006.77,F*26\r\n$GPGLL,5956.609,N,02323.062,E,125139,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,205.54,T,205.54,M,6.30,N,,,D*61\r\n$IIMWV,013,R,03.49,N,A*2F\r\n$IIVWT,165,R,02.99,N,01.54,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125141,,,,00,*4A\r\n$IIDBT,041.17,f,012.55,M,006.78,F*28\r\n$GPGLL,5956.606,N,02323.059,E,125142,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.94,N,,*24\r\n$IIVTG,205.31,T,205.31,M,6.35,N,,,D*64\r\n$IIMWV,161,T,03.11,N,A*20\r\n$IIVWT,161,R,03.11,N,01.60,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125143,,,,00,*48\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,5956.603,N,02323.056,E,125144,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.82,N,,*23\r\n$IIVTG,205.38,T,205.38,M,6.34,N,,,D*65\r\n$IIMWV,016,R,03.88,N,A*27\r\n$IIVWT,158,R,02.79,N,01.44,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125145,,,,00,*4E\r\n$IIDBT,041.40,f,012.62,M,006.82,F*2B\r\n$GPGLL,5956.599,N,02323.053,E,125146,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.85,N,,*24\r\n$IIVTG,205.30,T,205.30,M,6.38,N,,,D*69\r\n$IIMWV,154,T,02.95,N,A*2B\r\n$IIVWT,154,R,02.95,N,01.52,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125147,,,,00,*4C\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,5956.596,N,02323.050,E,125148,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.98,N,,*28\r\n$IIVTG,205.25,T,205.25,M,6.40,N,,,D*66\r\n$IIMWV,014,R,03.88,N,A*25\r\n$IIVWT,161,R,02.74,N,01.41,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125149,,,,00,*42\r\n$IIDBT,041.63,f,012.69,M,006.85,F*26\r\n$GPGLL,5956.593,N,02323.047,E,125150,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,205.24,T,205.24,M,6.40,N,,,D*66\r\n$IIMWV,165,T,01.82,N,A*2C\r\n$IIVWT,165,R,01.82,N,00.94,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125151,,,,00,*4B\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,5956.590,N,02323.044,E,125152,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.45,N,,*2E\r\n$IIVTG,205.21,T,205.21,M,6.32,N,,,D*63\r\n$IIMWV,028,R,05.44,N,A*2C\r\n$IIVWT,121,R,02.91,N,01.50,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125154,,,,00,*4E\r\n$IIDBT,041.86,f,012.76,M,006.89,F*2F\r\n$GPGLL,5956.587,N,02323.041,E,125154,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.42,N,01.25,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.47,N,,*2C\r\n$IIVTG,205.32,T,205.32,M,6.31,N,,,D*60\r\n$IIMWV,131,T,02.85,N,A*29\r\n$IIVWT,131,R,02.85,N,01.47,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125156,,,,00,*4C\r\n$IIDBT,042.02,f,012.81,M,006.92,F*22\r\n$GPGLL,5956.584,N,02323.038,E,125156,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.31,N,,*2B\r\n$IIVTG,205.05,T,205.05,M,6.30,N,,,D*61\r\n$IIMWV,020,R,04.85,N,A*28\r\n$IIVWT,136,R,02.42,N,01.25,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125158,,,,00,*42\r\n$IIDBT,041.96,f,012.79,M,006.91,F*28\r\n$GPGLL,5956.580,N,02323.035,E,125158,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.99,N,,*2F\r\n$IIVTG,205.59,T,205.59,M,6.30,N,,,D*61\r\n$IIMWV,151,T,01.16,N,A*26\r\n$IIVWT,151,R,01.16,N,00.60,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125200,,,,00,*4C\r\n$IIDBT,042.02,f,012.81,M,006.92,F*22\r\n$GPGLL,5956.577,N,02323.032,E,125200,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.18,N,,*20\r\n$IIVTG,205.87,T,205.87,M,6.30,N,,,D*61\r\n$IIMWV,004,R,05.44,N,A*22\r\n$IIVWT,156,R,00.83,N,00.43,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125202,,,,00,*4E\r\n$IIDBT,041.96,f,012.79,M,006.91,F*28\r\n$GPGLL,5956.574,N,02323.028,E,125202,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.32,N,,*29\r\n$IIVTG,205.99,T,205.99,M,6.30,N,,,D*61\r\n$IIMWV,130,T,01.61,N,A*21\r\n$IIVWT,130,R,01.61,N,00.83,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125204,,,,00,*48\r\n$IIDBT,041.92,f,012.78,M,006.90,F*2C\r\n$GPGLL,5956.571,N,02323.025,E,125204,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.49,N,,*22\r\n$IIVTG,206.42,T,206.42,M,6.30,N,,,D*61\r\n$IIMWV,022,R,05.24,N,A*20\r\n$IIVWT,127,R,02.42,N,01.25,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125206,,,,00,*4A\r\n$IIDBT,041.92,f,012.78,M,006.90,F*2C\r\n$GPGLL,5956.568,N,02323.022,E,125206,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.20,N,,*2C\r\n$IIVTG,206.91,T,206.91,M,6.28,N,,,D*68\r\n$IIMWV,111,T,04.14,N,A*25\r\n$IIVWT,111,R,04.14,N,02.13,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125208,,,,00,*44\r\n$IIDBT,042.58,f,012.98,M,007.01,F*2E\r\n$GPGLL,5956.565,N,02323.019,E,125208,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.03,N,,*2E\r\n$IIVTG,207.15,T,207.15,M,6.29,N,,,D*69\r\n$IIMWV,028,R,06.80,N,A*27\r\n$IIVWT,094,R,03.20,N,01.65,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125210,,,,00,*4D\r\n$IIDBT,042.84,f,013.06,M,007.05,F*2D\r\n$GPGLL,5956.562,N,02323.016,E,125210,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,207.21,T,207.21,M,6.30,N,,,D*61\r\n$IIMWV,100,T,02.35,N,A*20\r\n$IIVWT,100,R,02.35,N,01.21,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125212,,,,00,*4F\r\n$IIDBT,043.27,f,013.19,M,007.12,F*2D\r\n$GPGLL,5956.559,N,02323.013,E,125212,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.42,N,02.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.63,N,,*28\r\n$IIVTG,207.25,T,207.25,M,6.30,N,,,D*61\r\n$IIMWV,056,R,07.58,N,A*2A\r\n$IIVWT,109,R,06.58,N,03.39,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125214,,,,00,*49\r\n$IIDBT,042.09,f,012.83,M,006.93,F*2A\r\n$GPGLL,5956.555,N,02323.010,E,125214,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,207.24,T,207.24,M,6.30,N,,,D*61\r\n$IIMWV,082,T,02.64,N,A*2F\r\n$IIVWT,082,R,02.64,N,01.36,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125216,,,,00,*4B\r\n$IIDBT,039.23,f,011.96,M,006.46,F*21\r\n$GPGLL,5956.552,N,02323.006,E,125216,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,207.51,T,207.51,M,6.30,N,,,D*61\r\n$IIMWV,026,R,05.83,N,A*29\r\n$IIVWT,113,R,02.70,N,01.39,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125218,,,,00,*45\r\n$IIDBT,037.36,f,011.39,M,006.15,F*28\r\n$GPGLL,5956.549,N,02323.003,E,125218,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.30,N,,*2E\r\n$IIVTG,208.05,T,208.05,M,6.30,N,,,D*61\r\n$IIMWV,095,T,01.55,N,A*28\r\n$IIVWT,095,R,01.55,N,00.80,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125220,,,,00,*4E\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5956.546,N,02323.000,E,125220,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.16,N,,*2A\r\n$IIVTG,208.31,T,208.31,M,6.30,N,,,D*61\r\n$IIMWV,014,R,05.83,N,A*28\r\n$IIVWT,117,R,01.59,N,00.82,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125222,,,,00,*4C\r\n$IIDBT,034.57,f,010.54,M,005.69,F*2E\r\n$GPGLL,5956.542,N,02322.995,E,125222,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.70,N,,*2F\r\n$IIVTG,208.61,T,208.61,M,6.30,N,,,D*61\r\n$IIMWV,136,T,01.63,N,A*25\r\n$IIVWT,136,R,01.63,N,00.84,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125224,,,,00,*4A\r\n$IIDBT,034.90,f,010.64,M,005.75,F*2B\r\n$GPGLL,5956.539,N,02322.991,E,125225,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.68,N,,*26\r\n$IIVTG,208.46,T,208.46,M,6.30,N,,,D*61\r\n$IIMWV,019,R,04.85,N,A*22\r\n$IIVWT,138,R,02.35,N,01.21,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125226,,,,00,*48\r\n$IIDBT,037.56,f,011.45,M,006.18,F*28\r\n$GPGLL,5956.535,N,02322.988,E,125227,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.31,N,,*2A\r\n$IIVTG,208.19,T,208.19,M,6.30,N,,,D*61\r\n$IIMWV,135,T,02.64,N,A*22\r\n$IIVWT,135,R,02.64,N,01.36,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125228,,,,00,*46\r\n$IIDBT,035.59,f,010.85,M,005.86,F*2C\r\n$GPGLL,5956.532,N,02322.985,E,125229,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.22,N,,*29\r\n$IIVTG,208.10,T,208.10,M,6.30,N,,,D*61\r\n$IIMWV,020,R,04.85,N,A*28\r\n$IIVWT,137,R,02.44,N,01.26,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125230,,,,00,*4F\r\n$IIDBT,034.51,f,010.52,M,005.68,F*2F\r\n$GPGLL,5956.529,N,02322.982,E,125231,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,207.89,T,207.89,M,6.30,N,,,D*61\r\n$IIMWV,128,T,06.02,N,A*2A\r\n$IIVWT,128,R,06.02,N,03.10,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125232,,,,00,*4D\r\n$IIDBT,031.92,f,009.73,M,005.25,F*27\r\n$GPGLL,5956.526,N,02322.978,E,125233,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.50,N,02.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.48,N,,*23\r\n$IIVTG,208.13,T,208.13,M,6.25,N,,,D*65\r\n$IIMWV,053,R,05.44,N,A*20\r\n$IIVWT,126,R,05.30,N,02.73,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125234,,,,00,*4B\r\n$IIDBT,032.08,f,009.78,M,005.28,F*21\r\n$GPGLL,5956.523,N,02322.975,E,125235,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,208.73,T,208.73,M,6.21,N,,,D*61\r\n$IIMWV,132,T,05.40,N,A*24\r\n$IIVWT,132,R,05.40,N,02.78,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125237,,,,00,*48\r\n$IIDBT,032.90,f,010.03,M,005.42,F*28\r\n$GPGLL,5956.520,N,02322.972,E,125237,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.54,N,02.34,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.07,N,,*2F\r\n$IIVTG,209.03,T,209.03,M,6.20,N,,,D*60\r\n$IIMWV,047,R,04.85,N,A*29\r\n$IIVWT,130,R,04.68,N,02.41,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125239,,,,00,*46\r\n$IIDBT,033.46,f,010.20,M,005.51,F*21\r\n$GPGLL,5956.517,N,02322.968,E,125239,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,209.26,T,209.26,M,6.20,N,,,D*60\r\n$IIMWV,121,T,02.95,N,A*29\r\n$IIVWT,121,R,02.95,N,01.52,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125241,,,,00,*49\r\n$IIDBT,034.18,f,010.42,M,005.63,F*28\r\n$GPGLL,5956.514,N,02322.965,E,125241,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.36,N,,*2B\r\n$IIVTG,209.46,T,209.46,M,6.20,N,,,D*60\r\n$IIMWV,025,R,05.83,N,A*2A\r\n$IIVWT,113,R,02.62,N,01.35,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125243,,,,00,*4B\r\n$IIDBT,035.46,f,010.81,M,005.84,F*24\r\n$GPGLL,5956.511,N,02322.961,E,125243,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.07,N,,*2B\r\n$IIVTG,209.54,T,209.54,M,6.20,N,,,D*60\r\n$IIMWV,100,T,01.26,N,A*21\r\n$IIVWT,100,R,01.26,N,00.65,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125245,,,,00,*4D\r\n$IIDBT,036.28,f,011.06,M,005.97,F*23\r\n$GPGLL,5956.508,N,02322.958,E,125245,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,209.78,T,209.78,M,6.28,N,,,D*68\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,053,R,01.84,N,00.95,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125247,,,,00,*4F\r\n$IIDBT,035.95,f,010.96,M,005.92,F*2B\r\n$GPGLL,5956.505,N,02322.955,E,125247,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,209.89,T,209.89,M,6.24,N,,,D*64\r\n$IIMWV,048,T,00.73,N,A*2D\r\n$IIVWT,048,R,00.73,N,00.38,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125249,,,,00,*41\r\n$IIDBT,035.72,f,010.89,M,005.88,F*27\r\n$GPGLL,5956.502,N,02322.951,E,125249,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,209.52,T,209.52,M,6.21,N,,,D*61\r\n$IIMWV,018,R,06.41,N,A*29\r\n$IIVWT,096,R,01.98,N,01.02,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125251,,,,00,*48\r\n$IIDBT,036.90,f,011.25,M,006.08,F*24\r\n$GPGLL,5956.499,N,02322.948,E,125251,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.46,N,,*2A\r\n$IIVTG,209.53,T,209.53,M,6.20,N,,,D*60\r\n$IIMWV,141,T,01.53,N,A*26\r\n$IIVWT,141,R,01.53,N,00.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125253,,,,00,*4A\r\n$IIDBT,039.33,f,011.99,M,006.48,F*21\r\n$GPGLL,5956.496,N,02322.944,E,125253,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.59,N,,*23\r\n$IIVTG,209.98,T,209.98,M,6.23,N,,,D*63\r\n$IIMWV,018,R,05.24,N,A*29\r\n$IIVWT,128,R,02.09,N,01.08,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125255,,,,00,*4C\r\n$IIDBT,040.91,f,012.47,M,006.74,F*28\r\n$GPGLL,5956.493,N,02322.941,E,125255,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.88,N,,*28\r\n$IIVTG,210.57,T,210.57,M,6.21,N,,,D*61\r\n$IIMWV,141,T,02.13,N,A*21\r\n$IIVWT,141,R,02.13,N,01.10,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125257,,,,00,*4E\r\n$IIDBT,041.96,f,012.79,M,006.91,F*28\r\n$GPGLL,5956.490,N,02322.937,E,125257,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,211.14,T,211.14,M,6.20,N,,,D*60\r\n$IIMWV,041,R,04.47,N,A*21\r\n$IIVWT,135,R,04.08,N,02.10,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125259,,,,00,*40\r\n$IIDBT,042.42,f,012.93,M,006.98,F*2F\r\n$GPGLL,5956.487,N,02322.934,E,125259,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.77,N,,*28\r\n$IIVTG,211.51,T,211.51,M,6.20,N,,,D*60\r\n$IIMWV,140,T,02.97,N,A*2C\r\n$IIVWT,140,R,02.97,N,01.53,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125301,,,,00,*4C\r\n$IIDBT,042.55,f,012.97,M,007.01,F*2C\r\n$GPGLL,5956.484,N,02322.930,E,125301,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.53,N,,*2E\r\n$IIVTG,211.78,T,211.78,M,6.28,N,,,D*68\r\n$IIMWV,030,R,04.85,N,A*29\r\n$IIVWT,130,R,03.09,N,01.59,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125303,,,,00,*4E\r\n$IIDBT,042.51,f,012.96,M,007.00,F*28\r\n$GPGLL,5956.480,N,02322.925,E,125303,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,211.84,T,211.84,M,6.29,N,,,D*69\r\n$IIMWV,113,T,03.26,N,A*21\r\n$IIVWT,113,R,03.26,N,01.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125305,,,,00,*48\r\n$IIDBT,042.25,f,012.88,M,006.96,F*2A\r\n$GPGLL,5956.477,N,02322.921,E,125305,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.19,N,02.16,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.07,N,,*28\r\n$IIVTG,212.26,T,212.26,M,6.29,N,,,D*69\r\n$IIMWV,040,R,05.83,N,A*29\r\n$IIVWT,115,R,04.12,N,02.12,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125307,,,,00,*4A\r\n$IIDBT,042.09,f,012.83,M,006.93,F*2A\r\n$GPGLL,5956.474,N,02322.917,E,125308,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.08,N,,*27\r\n$IIVTG,212.59,T,212.59,M,6.30,N,,,D*61\r\n$IIMWV,119,T,02.60,N,A*28\r\n$IIVWT,119,R,02.60,N,01.34,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125309,,,,00,*44\r\n$IIDBT,041.46,f,012.64,M,006.83,F*2A\r\n$GPGLL,5956.471,N,02322.913,E,125310,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.86,N,,*21\r\n$IIVTG,213.32,T,213.32,M,6.30,N,,,D*61\r\n$IIMWV,050,R,04.85,N,A*2F\r\n$IIVWT,130,R,04.84,N,02.49,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125311,,,,00,*4D\r\n$IIDBT,040.74,f,012.42,M,006.71,F*23\r\n$GPGLL,5956.469,N,02322.909,E,125312,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.47,N,,*2C\r\n$IIVTG,214.65,T,214.65,M,6.30,N,,,D*61\r\n$IIMWV,123,T,03.38,N,A*2D\r\n$IIVWT,123,R,03.38,N,01.74,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125313,,,,00,*4F\r\n$IIDBT,040.45,f,012.33,M,006.66,F*21\r\n$GPGLL,5956.466,N,02322.905,E,125314,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,215.59,T,215.59,M,6.30,N,,,D*61\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,111,R,02.04,N,01.05,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125315,,,,00,*49\r\n$IIDBT,041.50,f,012.65,M,006.83,F*2C\r\n$GPGLL,5956.463,N,02322.901,E,125316,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.27,N,,*2F\r\n$IIVTG,216.02,T,216.02,M,6.30,N,,,D*61\r\n$IIMWV,111,T,01.69,N,A*2A\r\n$IIVWT,111,R,01.69,N,00.87,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125318,,,,00,*44\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,5956.460,N,02322.897,E,125318,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.88,N,,*2F\r\n$IIVTG,216.00,T,216.00,M,6.37,N,,,D*66\r\n$IIMWV,032,R,04.85,N,A*2B\r\n$IIVWT,130,R,03.28,N,01.69,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125320,,,,00,*4F\r\n$IIDBT,042.19,f,012.86,M,006.95,F*28\r\n$GPGLL,5956.457,N,02322.893,E,125320,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,215.78,T,215.78,M,6.39,N,,,D*68\r\n$IIMWV,163,T,02.00,N,A*23\r\n$IIVWT,163,R,02.00,N,01.03,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125322,,,,00,*4D\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,5956.454,N,02322.889,E,125322,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,215.79,T,215.79,M,6.32,N,,,D*63\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,114,R,01.69,N,00.87,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125324,,,,00,*4B\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,5956.451,N,02322.885,E,125324,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,216.15,T,216.15,M,6.31,N,,,D*60\r\n$IIMWV,213,T,01.26,N,A*20\r\n$IIVWT,148,L,01.26,N,00.65,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125326,,,,00,*49\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,5956.448,N,02322.880,E,125326,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.06,N,,*2F\r\n$IIVTG,216.66,T,216.66,M,6.38,N,,,D*69\r\n$IIMWV,012,R,05.24,N,A*23\r\n$IIVWT,137,R,01.59,N,00.82,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125328,,,,00,*47\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,5956.446,N,02322.876,E,125328,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,217.89,T,217.89,M,6.39,N,,,D*68\r\n$IIMWV,193,T,01.43,N,A*28\r\n$IIVWT,167,L,01.43,N,00.74,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125330,,,,00,*4E\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,5956.443,N,02322.872,E,125330,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.18,N,,*23\r\n$IIVTG,217.92,T,217.92,M,6.40,N,,,D*66\r\n$IIMWV,006,R,05.44,N,A*20\r\n$IIVWT,145,R,01.01,N,00.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125332,,,,00,*4C\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,5956.440,N,02322.867,E,125332,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.66,N,,*29\r\n$IIVTG,217.55,T,217.55,M,6.40,N,,,D*66\r\n$IIMWV,185,T,00.83,N,A*22\r\n$IIVWT,175,L,00.83,N,00.43,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125334,,,,00,*4A\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,5956.437,N,02322.863,E,125334,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.69,N,,*26\r\n$IIVTG,217.64,T,217.64,M,6.40,N,,,D*66\r\n$IIMWV,005,R,05.44,N,A*23\r\n$IIVWT,149,R,00.99,N,00.51,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125336,,,,00,*48\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,5956.434,N,02322.859,E,125336,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,217.61,T,217.61,M,6.40,N,,,D*66\r\n$IIMWV,188,T,01.03,N,A*26\r\n$IIVWT,173,L,01.03,N,00.53,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125338,,,,00,*46\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,5956.432,N,02322.854,E,125338,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,217.38,T,217.38,M,6.40,N,,,D*66\r\n$IIMWV,351,R,04.85,N,A*2D\r\n$IIVWT,151,L,01.61,N,00.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125340,,,,00,*49\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,5956.429,N,02322.850,E,125340,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,217.39,T,217.39,M,6.40,N,,,D*66\r\n$IIMWV,198,T,01.94,N,A*29\r\n$IIVWT,162,L,01.94,N,01.00,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125342,,,,00,*4B\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,5956.426,N,02322.846,E,125342,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.85,N,,*24\r\n$IIVTG,217.57,T,217.57,M,6.40,N,,,D*66\r\n$IIMWV,342,R,04.27,N,A*27\r\n$IIVWT,149,L,02.54,N,01.31,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125344,,,,00,*4D\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,5956.423,N,02322.841,E,125344,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.03,N,01.56,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.55,N,,*29\r\n$IIVTG,218.22,T,218.22,M,6.45,N,,,D*63\r\n$IIMWV,207,T,02.91,N,A*2A\r\n$IIVWT,153,L,02.91,N,01.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125346,,,,00,*4F\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5956.419,N,02322.835,E,125346,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.50,N,,*2C\r\n$IIVTG,218.83,T,218.83,M,6.49,N,,,D*6F\r\n$IIMWV,331,R,03.88,N,A*21\r\n$IIVWT,147,L,03.42,N,01.76,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125348,,,,00,*41\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,5956.416,N,02322.830,E,125348,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.70,N,,*2E\r\n$IIVTG,219.22,T,219.22,M,6.55,N,,,D*62\r\n$IIMWV,204,T,03.34,N,A*27\r\n$IIVWT,156,L,03.34,N,01.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125350,,,,00,*48\r\n$IIDBT,045.14,f,013.76,M,007.43,F*26\r\n$GPGLL,5956.413,N,02322.826,E,125351,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.53,N,,*2F\r\n$IIVTG,219.63,T,219.63,M,6.59,N,,,D*6E\r\n$IIMWV,338,R,04.27,N,A*2A\r\n$IIVWT,145,L,02.81,N,01.45,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125352,,,,00,*4A\r\n$IIDBT,045.79,f,013.96,M,007.54,F*25\r\n$GPGLL,5956.411,N,02322.821,E,125353,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.14,N,,*2C\r\n$IIVTG,219.73,T,219.73,M,6.55,N,,,D*62\r\n$IIMWV,211,T,01.14,N,A*23\r\n$IIVWT,149,L,01.14,N,00.59,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125354,,,,00,*4C\r\n$IIDBT,046.98,f,014.32,M,007.74,F*22\r\n$GPGLL,5956.408,N,02322.816,E,125355,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.96,N,,*20\r\n$IIVTG,219.88,T,219.88,M,6.59,N,,,D*6E\r\n$IIMWV,348,R,05.44,N,A*29\r\n$IIVWT,131,L,01.55,N,00.80,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125356,,,,00,*4E\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5956.405,N,02322.812,E,125357,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.25,N,,*29\r\n$IIVTG,220.22,T,220.22,M,6.57,N,,,D*60\r\n$IIMWV,224,T,00.64,N,A*23\r\n$IIVWT,136,L,00.64,N,00.33,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125358,,,,00,*40\r\n$IIDBT,046.98,f,014.32,M,007.74,F*22\r\n$GPGLL,5956.402,N,02322.807,E,125359,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.01,N,,*2C\r\n$IIVTG,220.25,T,220.25,M,6.59,N,,,D*6E\r\n$IIMWV,342,R,07.19,N,A*29\r\n$IIVWT,074,L,02.27,N,01.17,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125401,,,,00,*4B\r\n$IIDBT,047.04,f,014.34,M,007.75,F*21\r\n$GPGLL,5956.399,N,02322.802,E,125401,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,220.24,T,220.24,M,6.60,N,,,D*64\r\n$IIMWV,279,T,02.50,N,A*2E\r\n$IIVWT,081,L,02.50,N,01.29,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125403,,,,00,*49\r\n$IIDBT,046.78,f,014.26,M,007.70,F*2D\r\n$GPGLL,5956.397,N,02322.797,E,125403,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,220.23,T,220.23,M,6.60,N,,,D*64\r\n$IIMWV,342,R,07.19,N,A*29\r\n$IIVWT,077,L,02.27,N,01.17,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125405,,,,00,*4F\r\n$IIDBT,046.78,f,014.26,M,007.70,F*2D\r\n$GPGLL,5956.394,N,02322.793,E,125405,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,220.53,T,220.53,M,6.60,N,,,D*64\r\n$IIMWV,297,T,02.21,N,A*28\r\n$IIVWT,063,L,02.21,N,01.14,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125407,,,,00,*4D\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5956.391,N,02322.788,E,125407,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.24,N,,*04\r\n$IIVTG,220.43,T,220.43,M,6.55,N,,,D*62\r\n$IIMWV,359,R,07.77,N,A*2B\r\n$IIVWT,008,L,01.59,N,00.82,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125409,,,,00,*43\r\n$IIDBT,045.70,f,013.93,M,007.52,F*2F\r\n$GPGLL,5956.388,N,02322.783,E,125409,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.87,N,,*0A\r\n$IIVTG,220.16,T,220.16,M,6.51,N,,,D*66\r\n$IIMWV,318,T,01.73,N,A*2A\r\n$IIVWT,042,L,01.73,N,00.89,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125411,,,,00,*4A\r\n$IIDBT,045.01,f,013.72,M,007.41,F*24\r\n$GPGLL,5956.386,N,02322.779,E,125411,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,220.29,T,220.29,M,6.58,N,,,D*6F\r\n$IIMWV,354,R,07.58,N,A*2B\r\n$IIVWT,030,L,01.57,N,00.81,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125413,,,,00,*48\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,5956.383,N,02322.774,E,125413,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,220.50,T,220.50,M,6.59,N,,,D*6E\r\n$IIMWV,359,T,01.61,N,A*2C\r\n$IIVWT,001,L,01.61,N,00.83,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125415,,,,00,*4E\r\n$IIDBT,043.10,f,013.14,M,007.10,F*26\r\n$GPGLL,5956.380,N,02322.769,E,125415,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,3.33,N,,*02\r\n$IIVTG,220.70,T,220.70,M,6.60,N,,,D*64\r\n$IIMWV,350,R,07.19,N,A*2A\r\n$IIVWT,053,L,01.49,N,00.77,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125417,,,,00,*4C\r\n$IIDBT,042.48,f,012.95,M,006.99,F*22\r\n$GPGLL,5956.377,N,02322.765,E,125417,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.51,N,,*00\r\n$IIVTG,220.45,T,220.45,M,6.60,N,,,D*64\r\n$IIMWV,033,T,02.83,N,A*2C\r\n$IIVWT,033,R,02.83,N,01.46,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125419,,,,00,*42\r\n$IIDBT,041.27,f,012.58,M,006.79,F*27\r\n$GPGLL,5956.374,N,02322.760,E,125419,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.00,N,,*05\r\n$IIVTG,219.86,T,219.86,M,6.60,N,,,D*64\r\n$IIMWV,018,R,08.55,N,A*22\r\n$IIVWT,055,R,03.22,N,01.66,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125421,,,,00,*49\r\n$IIDBT,040.68,f,012.40,M,006.70,F*2D\r\n$GPGLL,5956.372,N,02322.755,E,125421,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.75,N,01.93,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.86,N,,*0D\r\n$IIVTG,219.74,T,219.74,M,6.60,N,,,D*64\r\n$IIMWV,066,T,03.36,N,A*23\r\n$IIVWT,066,R,03.36,N,01.73,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125423,,,,00,*4B\r\n$IIDBT,039.79,f,012.13,M,006.55,F*22\r\n$GPGLL,5956.369,N,02322.751,E,125423,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.88,N,,*01\r\n$IIVTG,219.73,T,219.73,M,6.60,N,,,D*64\r\n$IIMWV,019,R,06.80,N,A*25\r\n$IIVWT,088,R,02.21,N,01.14,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125425,,,,00,*4D\r\n$IIDBT,039.53,f,012.05,M,006.51,F*29\r\n$GPGLL,5956.366,N,02322.746,E,125425,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,219.78,T,219.78,M,6.60,N,,,D*64\r\n$IIMWV,008,T,01.30,N,A*2F\r\n$IIVWT,008,R,01.30,N,00.67,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125427,,,,00,*4F\r\n$IIDBT,039.23,f,011.96,M,006.46,F*21\r\n$GPGLL,5956.363,N,02322.741,E,125427,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,219.82,T,219.82,M,6.60,N,,,D*64\r\n$IIMWV,011,R,08.74,N,A*28\r\n$IIVWT,035,R,02.87,N,01.48,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125429,,,,00,*41\r\n$IIDBT,039.27,f,011.97,M,006.47,F*25\r\n$GPGLL,5956.359,N,02322.734,E,125429,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,219.78,T,219.78,M,6.60,N,,,D*64\r\n$IIMWV,050,T,03.12,N,A*20\r\n$IIVWT,050,R,03.12,N,01.61,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125431,,,,00,*48\r\n$IIDBT,039.10,f,011.92,M,006.44,F*27\r\n$GPGLL,5956.356,N,02322.730,E,125432,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.61,N,,*04\r\n$IIVTG,220.08,T,220.08,M,6.60,N,,,D*64\r\n$IIMWV,015,R,07.77,N,A*20\r\n$IIVWT,060,R,02.33,N,01.20,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125433,,,,00,*4A\r\n$IIDBT,038.97,f,011.88,M,006.42,F*24\r\n$GPGLL,5956.354,N,02322.725,E,125434,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.50,N,,*2D\r\n$IIVTG,220.00,T,220.00,M,6.55,N,,,D*62\r\n$IIMWV,267,T,01.73,N,A*23\r\n$IIVWT,093,L,01.73,N,00.89,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125435,,,,00,*4C\r\n$IIDBT,039.07,f,011.91,M,006.43,F*25\r\n$GPGLL,5956.351,N,02322.720,E,125436,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.48,N,,*0F\r\n$IIVTG,220.55,T,220.55,M,6.56,N,,,D*61\r\n$IIMWV,351,R,06.80,N,A*2A\r\n$IIVWT,064,L,01.14,N,00.59,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125437,,,,00,*4E\r\n$IIDBT,039.04,f,011.90,M,006.43,F*27\r\n$GPGLL,5956.348,N,02322.716,E,125438,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.00,N,,*02\r\n$IIVTG,221.01,T,221.01,M,6.52,N,,,D*65\r\n$IIMWV,023,T,01.34,N,A*22\r\n$IIVWT,023,R,01.34,N,00.69,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125439,,,,00,*40\r\n$IIDBT,039.00,f,011.89,M,006.42,F*2A\r\n$GPGLL,5956.345,N,02322.711,E,125440,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,220.97,T,220.97,M,6.50,N,,,D*67\r\n$IIMWV,352,R,06.41,N,A*24\r\n$IIVWT,088,L,00.95,N,00.49,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125441,,,,00,*4F\r\n$IIDBT,039.10,f,011.92,M,006.44,F*27\r\n$GPGLL,5956.343,N,02322.706,E,125442,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.25,N,00.13,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.44,N,,*29\r\n$IIVTG,220.64,T,220.64,M,6.50,N,,,D*67\r\n$IIMWV,193,T,00.52,N,A*29\r\n$IIVWT,168,L,00.52,N,00.27,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125444,,,,00,*4A\r\n$IIDBT,039.66,f,012.09,M,006.53,F*21\r\n$GPGLL,5956.340,N,02322.701,E,125444,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,220.59,T,220.59,M,6.50,N,,,D*67\r\n$IIMWV,360,R,05.24,N,A*25\r\n$IIVWT,179,L,01.12,N,00.58,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125446,,,,00,*48\r\n$IIDBT,040.02,f,012.20,M,006.59,F*2C\r\n$GPGLL,5956.337,N,02322.697,E,125446,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.81,N,,*27\r\n$IIVTG,220.35,T,220.35,M,6.50,N,,,D*67\r\n$IIMWV,248,T,01.82,N,A*20\r\n$IIVWT,112,L,01.82,N,00.94,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125448,,,,00,*46\r\n$IIDBT,040.61,f,012.38,M,006.69,F*23\r\n$GPGLL,5956.334,N,02322.692,E,125448,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.61,N,,*28\r\n$IIVTG,220.03,T,220.03,M,6.50,N,,,D*67\r\n$IIMWV,341,R,06.22,N,A*23\r\n$IIVWT,100,L,02.06,N,01.06,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125450,,,,00,*4F\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,5956.332,N,02322.688,E,125450,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.40,N,,*28\r\n$IIVTG,219.88,T,219.88,M,6.50,N,,,D*67\r\n$IIMWV,266,T,01.63,N,A*23\r\n$IIVWT,094,L,01.63,N,00.84,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125452,,,,00,*4D\r\n$IIDBT,041.86,f,012.76,M,006.89,F*2F\r\n$GPGLL,5956.329,N,02322.683,E,125452,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.79,N,,*22\r\n$IIVTG,219.97,T,219.97,M,6.50,N,,,D*67\r\n$IIMWV,346,R,06.22,N,A*24\r\n$IIVWT,097,L,01.51,N,00.78,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125454,,,,00,*4B\r\n$IIDBT,042.28,f,012.89,M,006.96,F*26\r\n$GPGLL,5956.326,N,02322.679,E,125454,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,220.29,T,220.29,M,6.50,N,,,D*67\r\n$IIMWV,278,T,01.86,N,A*27\r\n$IIVWT,082,L,01.86,N,00.96,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125456,,,,00,*49\r\n$IIDBT,042.55,f,012.97,M,007.01,F*2C\r\n$GPGLL,5956.323,N,02322.674,E,125456,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.85,N,01.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.24,N,,*2A\r\n$IIVTG,220.15,T,220.15,M,6.45,N,,,D*63\r\n$IIMWV,338,R,06.80,N,A*25\r\n$IIVWT,091,L,02.54,N,01.31,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125458,,,,00,*47\r\n$IIDBT,043.04,f,013.12,M,007.09,F*2D\r\n$GPGLL,5956.321,N,02322.670,E,125458,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.63,N,,*29\r\n$IIVTG,219.58,T,219.58,M,6.41,N,,,D*67\r\n$IIMWV,240,T,00.99,N,A*23\r\n$IIVWT,121,L,00.99,N,00.51,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125500,,,,00,*4B\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5956.318,N,02322.665,E,125500,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,219.17,T,219.17,M,6.45,N,,,D*63\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,095,L,01.06,N,00.55,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125502,,,,00,*49\r\n$IIDBT,043.96,f,013.40,M,007.24,F*2E\r\n$GPGLL,5956.315,N,02322.661,E,125502,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.43,N,,*2A\r\n$IIVTG,219.10,T,219.10,M,6.49,N,,,D*6F\r\n$IIMWV,261,T,02.76,N,A*23\r\n$IIVWT,099,L,02.76,N,01.42,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125504,,,,00,*4F\r\n$IIDBT,044.15,f,013.46,M,007.27,F*27\r\n$GPGLL,5956.312,N,02322.656,E,125504,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.85,N,,*21\r\n$IIVTG,219.25,T,219.25,M,6.50,N,,,D*67\r\n$IIMWV,347,R,06.22,N,A*25\r\n$IIVWT,100,L,01.39,N,00.72,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125506,,,,00,*4D\r\n$IIDBT,044.15,f,013.46,M,007.27,F*27\r\n$GPGLL,5956.309,N,02322.652,E,125506,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.14,N,,*28\r\n$IIVTG,219.09,T,219.09,M,6.50,N,,,D*67\r\n$IIMWV,259,T,00.81,N,A*22\r\n$IIVWT,101,L,00.81,N,00.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125508,,,,00,*43\r\n$IIDBT,044.48,f,013.56,M,007.32,F*2A\r\n$GPGLL,5956.307,N,02322.647,E,125508,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.31,N,,*2D\r\n$IIVTG,218.87,T,218.87,M,6.50,N,,,D*67\r\n$IIMWV,357,R,05.83,N,A*2C\r\n$IIVWT,144,L,00.54,N,00.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125510,,,,00,*4A\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,5956.304,N,02322.643,E,125510,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.72,N,,*2B\r\n$IIVTG,218.97,T,218.97,M,6.50,N,,,D*67\r\n$IIMWV,226,T,00.66,N,A*23\r\n$IIVWT,134,L,00.66,N,00.34,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125512,,,,00,*48\r\n$IIDBT,044.61,f,013.60,M,007.35,F*23\r\n$GPGLL,5956.300,N,02322.636,E,125512,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.15,N,00.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.80,N,,*25\r\n$IIVTG,219.24,T,219.24,M,6.50,N,,,D*67\r\n$IIMWV,357,R,06.22,N,A*24\r\n$IIVWT,094,L,00.31,N,00.16,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125514,,,,00,*4E\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,5956.297,N,02322.631,E,125515,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,219.26,T,219.26,M,6.50,N,,,D*67\r\n$IIMWV,000,T,00.52,N,A*22\r\n$IIVWT,000,R,00.52,N,00.27,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125516,,,,00,*4C\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5956.294,N,02322.627,E,125517,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,219.29,T,219.29,M,6.50,N,,,D*67\r\n$IIMWV,358,R,07.19,N,A*22\r\n$IIVWT,018,L,00.97,N,00.50,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125518,,,,00,*42\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,5956.291,N,02322.622,E,125519,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,219.37,T,219.37,M,6.50,N,,,D*67\r\n$IIMWV,052,T,01.38,N,A*28\r\n$IIVWT,052,R,01.38,N,00.71,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125520,,,,00,*49\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5956.289,N,02322.618,E,125521,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,219.60,T,219.60,M,6.50,N,,,D*67\r\n$IIMWV,006,R,06.80,N,A*2B\r\n$IIVWT,059,R,00.85,N,00.44,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125522,,,,00,*4B\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5956.286,N,02322.613,E,125523,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,219.62,T,219.62,M,6.50,N,,,D*67\r\n$IIMWV,040,T,02.74,N,A*20\r\n$IIVWT,040,R,02.74,N,01.41,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125524,,,,00,*4D\r\n$IIDBT,044.68,f,013.62,M,007.36,F*2B\r\n$GPGLL,5956.283,N,02322.608,E,125525,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,219.78,T,219.78,M,6.50,N,,,D*67\r\n$IIMWV,002,R,07.77,N,A*26\r\n$IIVWT,009,R,01.53,N,00.79,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125527,,,,00,*4E\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,5956.280,N,02322.604,E,125527,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.34,N,,*05\r\n$IIVTG,219.57,T,219.57,M,6.50,N,,,D*67\r\n$IIMWV,068,T,01.12,N,A*29\r\n$IIVWT,068,R,01.12,N,00.58,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125529,,,,00,*40\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,5956.278,N,02322.599,E,125529,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.16,N,,*06\r\n$IIVTG,219.27,T,219.27,M,6.50,N,,,D*67\r\n$IIMWV,014,R,06.41,N,A*25\r\n$IIVWT,084,R,01.53,N,00.79,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125531,,,,00,*49\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,5956.275,N,02322.595,E,125531,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,219.52,T,219.52,M,6.50,N,,,D*67\r\n$IIMWV,100,T,02.97,N,A*28\r\n$IIVWT,100,R,02.97,N,01.53,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125533,,,,00,*4B\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,5956.272,N,02322.590,E,125533,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.92,N,,*0A\r\n$IIVTG,219.21,T,219.21,M,6.50,N,,,D*67\r\n$IIMWV,023,R,06.80,N,A*2C\r\n$IIVWT,089,R,02.64,N,01.36,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125535,,,,00,*4D\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5956.269,N,02322.586,E,125535,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,219.90,T,219.90,M,6.50,N,,,D*67\r\n$IIMWV,098,T,01.61,N,A*22\r\n$IIVWT,098,R,01.61,N,00.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125537,,,,00,*4F\r\n$IIDBT,045.11,f,013.75,M,007.43,F*20\r\n$GPGLL,5956.266,N,02322.581,E,125537,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,220.78,T,220.78,M,6.55,N,,,D*62\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,111,R,02.04,N,01.05,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125539,,,,00,*41\r\n$IIDBT,045.53,f,013.88,M,007.50,F*26\r\n$GPGLL,5956.264,N,02322.576,E,125539,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-2.12,N,,*2D\r\n$IIVTG,220.77,T,220.77,M,6.59,N,,,D*6E\r\n$IIMWV,094,T,01.26,N,A*2D\r\n$IIVWT,094,R,01.26,N,00.65,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125541,,,,00,*4E\r\n$IIDBT,045.73,f,013.94,M,007.53,F*2A\r\n$GPGLL,5956.261,N,02322.571,E,125541,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.74,N,,*2F\r\n$IIVTG,220.79,T,220.79,M,6.60,N,,,D*64\r\n$IIMWV,011,R,05.83,N,A*2D\r\n$IIVWT,116,R,01.18,N,00.61,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125543,,,,00,*4C\r\n$IIDBT,045.89,f,013.99,M,007.56,F*27\r\n$GPGLL,5956.258,N,02322.567,E,125543,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.03,N,,*29\r\n$IIVTG,221.02,T,221.02,M,6.60,N,,,D*64\r\n$IIMWV,128,T,00.85,N,A*23\r\n$IIVWT,128,R,00.85,N,00.44,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125545,,,,00,*4A\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,5956.255,N,02322.562,E,125545,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,221.45,T,221.45,M,6.60,N,,,D*64\r\n$IIMWV,000,R,05.24,N,A*20\r\n$IIVWT,178,R,00.97,N,00.50,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125547,,,,00,*48\r\n$IIDBT,045.93,f,014.00,M,007.56,F*2B\r\n$GPGLL,5956.253,N,02322.557,E,125547,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,221.71,T,221.71,M,6.60,N,,,D*64\r\n$IIMWV,068,T,01.30,N,A*29\r\n$IIVWT,068,R,01.30,N,00.67,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125549,,,,00,*46\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,5956.250,N,02322.552,E,125549,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.73,N,,*05\r\n$IIVTG,221.90,T,221.90,M,6.60,N,,,D*64\r\n$IIMWV,026,R,07.58,N,A*2D\r\n$IIVWT,082,R,03.38,N,01.74,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125551,,,,00,*4F\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,5956.247,N,02322.547,E,125551,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.39,N,,*0A\r\n$IIVTG,221.95,T,221.95,M,6.60,N,,,D*64\r\n$IIMWV,067,T,02.79,N,A*28\r\n$IIVWT,067,R,02.79,N,01.44,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125553,,,,00,*4D\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5956.245,N,02322.542,E,125553,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.51,N,,*07\r\n$IIVTG,222.19,T,222.19,M,6.60,N,,,D*64\r\n$IIMWV,021,R,08.16,N,A*2F\r\n$IIVWT,064,R,03.20,N,01.65,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125555,,,,00,*4B\r\n$IIDBT,045.66,f,013.92,M,007.52,F*29\r\n$GPGLL,5956.240,N,02322.535,E,125555,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.14,N,01.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.45,N,,*2C\r\n$IIVTG,222.31,T,222.31,M,6.69,N,,,D*6D\r\n$IIMWV,104,T,02.89,N,A*23\r\n$IIVWT,104,R,02.89,N,01.49,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125557,,,,00,*49\r\n$IIDBT,045.40,f,013.84,M,007.48,F*21\r\n$GPGLL,5956.238,N,02322.530,E,125558,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.89,N,,*2E\r\n$IIVTG,221.98,T,221.98,M,6.70,N,,,D*65\r\n$IIMWV,012,R,05.44,N,A*25\r\n$IIVWT,132,R,01.45,N,00.75,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125559,,,,00,*47\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,5956.235,N,02322.525,E,125600,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.94,N,,*0D\r\n$IIVTG,221.59,T,221.59,M,6.65,N,,,D*61\r\n$IIMWV,063,T,01.63,N,A*24\r\n$IIVWT,063,R,01.63,N,00.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125601,,,,00,*49\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,5956.232,N,02322.520,E,125602,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,221.77,T,221.77,M,6.61,N,,,D*65\r\n$IIMWV,023,R,07.77,N,A*25\r\n$IIVWT,074,R,03.11,N,01.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125603,,,,00,*4B\r\n$IIDBT,044.25,f,013.49,M,007.29,F*25\r\n$GPGLL,5956.229,N,02322.515,E,125604,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.07,N,,*05\r\n$IIVTG,222.00,T,222.00,M,6.65,N,,,D*61\r\n$IIMWV,075,T,03.69,N,A*2B\r\n$IIVWT,075,R,03.69,N,01.90,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125605,,,,00,*4D\r\n$IIDBT,043.56,f,013.28,M,007.17,F*2C\r\n$GPGLL,5956.227,N,02322.510,E,125606,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.51,N,,*06\r\n$IIVTG,222.87,T,222.87,M,6.69,N,,,D*6D\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,051,R,01.86,N,00.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125607,,,,00,*4F\r\n$IIDBT,042.81,f,013.05,M,007.05,F*2B\r\n$GPGLL,5956.224,N,02322.505,E,125608,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.76,N,,*04\r\n$IIVTG,224.04,T,224.04,M,6.70,N,,,D*65\r\n$IIMWV,021,T,02.29,N,A*2F\r\n$IIVWT,021,R,02.29,N,01.18,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125610,,,,00,*49\r\n$IIDBT,042.94,f,013.09,M,007.07,F*21\r\n$GPGLL,5956.221,N,02322.500,E,125610,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.07,N,01.58,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.51,N,,*07\r\n$IIVTG,224.24,T,224.24,M,6.70,N,,,D*65\r\n$IIMWV,019,R,07.77,N,A*2C\r\n$IIVWT,068,R,02.72,N,01.40,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125612,,,,00,*4B\r\n$IIDBT,040.94,f,012.48,M,006.74,F*22\r\n$GPGLL,5956.219,N,02322.495,E,125612,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.60,N,,*2A\r\n$IIVTG,224.11,T,224.11,M,6.70,N,,,D*65\r\n$IIMWV,100,T,02.58,N,A*2B\r\n$IIVWT,100,R,02.58,N,01.33,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125614,,,,00,*4D\r\n$IIDBT,040.77,f,012.43,M,006.71,F*21\r\n$GPGLL,5956.216,N,02322.490,E,125614,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-1.78,N,,*22\r\n$IIVTG,223.78,T,223.78,M,6.65,N,,,D*61\r\n$IIMWV,025,R,05.83,N,A*2A\r\n$IIVWT,112,R,02.60,N,01.34,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125616,,,,00,*4F\r\n$IIDBT,039.36,f,012.00,M,006.48,F*27\r\n$GPGLL,5956.214,N,02322.485,E,125616,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,223.54,T,223.54,M,6.61,N,,,D*65\r\n$IIMWV,113,T,03.22,N,A*25\r\n$IIVWT,113,R,03.22,N,01.66,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125618,,,,00,*41\r\n$IIDBT,039.63,f,012.08,M,006.52,F*24\r\n$GPGLL,5956.211,N,02322.480,E,125618,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.26,N,,*2B\r\n$IIVTG,223.73,T,223.73,M,6.60,N,,,D*64\r\n$IIMWV,021,R,05.44,N,A*25\r\n$IIVWT,125,R,02.31,N,01.19,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125620,,,,00,*4A\r\n$IIDBT,039.40,f,012.01,M,006.49,F*26\r\n$GPGLL,5956.208,N,02322.474,E,125620,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,223.76,T,223.76,M,6.60,N,,,D*64\r\n$IIMWV,190,T,01.82,N,A*26\r\n$IIVWT,170,L,01.82,N,00.94,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125622,,,,00,*48\r\n$IIDBT,038.25,f,011.66,M,006.30,F*28\r\n$GPGLL,5956.206,N,02322.469,E,125622,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.08,N,,*22\r\n$IIVTG,223.79,T,223.79,M,6.60,N,,,D*64\r\n$IIMWV,354,R,04.47,N,A*26\r\n$IIVWT,165,L,01.94,N,01.00,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125624,,,,00,*4E\r\n$IIDBT,038.97,f,011.88,M,006.42,F*24\r\n$GPGLL,5956.203,N,02322.464,E,125624,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.01,N,,*28\r\n$IIVTG,222.65,T,222.65,M,6.60,N,,,D*64\r\n$IIMWV,219,T,02.21,N,A*2E\r\n$IIVWT,141,L,02.21,N,01.14,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125626,,,,00,*4C\r\n$IIDBT,037.99,f,011.58,M,006.25,F*29\r\n$GPGLL,5956.200,N,02322.460,E,125626,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.55,N,,*28\r\n$IIVTG,222.89,T,222.89,M,6.58,N,,,D*6F\r\n$IIMWV,341,R,04.85,N,A*2C\r\n$IIVWT,138,L,02.33,N,01.20,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125628,,,,00,*42\r\n$IIDBT,037.89,f,011.55,M,006.24,F*24\r\n$GPGLL,5956.198,N,02322.455,E,125628,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.95,N,,*25\r\n$IIVTG,223.80,T,223.80,M,6.57,N,,,D*60\r\n$IIMWV,199,T,01.57,N,A*27\r\n$IIVWT,161,L,01.57,N,00.81,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125630,,,,00,*4B\r\n$IIDBT,037.59,f,011.46,M,006.19,F*25\r\n$GPGLL,5956.195,N,02322.449,E,125630,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.28,N,,*23\r\n$IIVTG,224.62,T,224.62,M,6.52,N,,,D*65\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,174,L,01.84,N,00.95,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125632,,,,00,*49\r\n$IIDBT,037.26,f,011.36,M,006.14,F*27\r\n$GPGLL,5956.193,N,02322.444,E,125632,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.98,N,,*28\r\n$IIVTG,226.30,T,226.30,M,6.55,N,,,D*62\r\n$IIMWV,173,T,01.82,N,A*2B\r\n$IIVWT,173,R,01.82,N,00.94,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125634,,,,00,*4F\r\n$IIDBT,036.84,f,011.23,M,006.07,F*28\r\n$GPGLL,5956.190,N,02322.439,E,125634,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.61,N,,*2E\r\n$IIVTG,226.88,T,226.88,M,6.59,N,,,D*6E\r\n$IIMWV,351,R,04.85,N,A*2D\r\n$IIVWT,153,L,01.65,N,00.85,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125636,,,,00,*4D\r\n$IIDBT,037.10,f,011.31,M,006.11,F*20\r\n$GPGLL,5956.188,N,02322.434,E,125636,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.82,N,,*22\r\n$IIVTG,226.27,T,226.27,M,6.60,N,,,D*64\r\n$IIMWV,220,T,02.00,N,A*27\r\n$IIVWT,141,L,02.00,N,01.03,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125638,,,,00,*43\r\n$IIDBT,036.87,f,011.24,M,006.07,F*2C\r\n$GPGLL,5956.184,N,02322.426,E,125638,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,225.73,T,225.73,M,6.60,N,,,D*64\r\n$IIMWV,348,R,04.27,N,A*2D\r\n$IIVWT,156,L,02.31,N,01.19,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125640,,,,00,*4C\r\n$IIDBT,036.84,f,011.23,M,006.07,F*28\r\n$GPGLL,5956.181,N,02322.421,E,125641,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.65,N,,*2A\r\n$IIVTG,226.16,T,226.16,M,6.60,N,,,D*64\r\n$IIMWV,194,T,02.04,N,A*2F\r\n$IIVWT,166,L,02.04,N,01.05,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125642,,,,00,*4E\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5956.179,N,02322.415,E,125643,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.03,N,,*2A\r\n$IIVTG,226.64,T,226.64,M,6.60,N,,,D*64\r\n$IIMWV,023,R,04.27,N,A*23\r\n$IIVWT,144,R,02.85,N,01.47,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125644,,,,00,*48\r\n$IIDBT,036.84,f,011.23,M,006.07,F*28\r\n$GPGLL,5956.176,N,02322.410,E,125645,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,226.76,T,226.76,M,6.60,N,,,D*64\r\n$IIMWV,131,T,03.40,N,A*21\r\n$IIVWT,131,R,03.40,N,01.75,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125646,,,,00,*4A\r\n$IIDBT,036.97,f,011.27,M,006.09,F*20\r\n$GPGLL,5956.174,N,02322.405,E,125647,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,227.01,T,227.01,M,6.60,N,,,D*64\r\n$IIMWV,005,R,04.85,N,A*2F\r\n$IIVWT,164,R,01.53,N,00.79,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125648,,,,00,*44\r\n$IIDBT,037.10,f,011.31,M,006.11,F*20\r\n$GPGLL,5956.171,N,02322.399,E,125649,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-5.03,N,,*2A\r\n$IIVTG,227.30,T,227.30,M,6.60,N,,,D*64\r\n$IIMWV,225,T,02.76,N,A*23\r\n$IIVWT,135,L,02.76,N,01.42,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125650,,,,00,*4D\r\n$IIDBT,037.26,f,011.36,M,006.14,F*27\r\n$GPGLL,5956.169,N,02322.394,E,125651,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-4.69,N,,*27\r\n$IIVTG,226.87,T,226.87,M,6.52,N,,,D*65\r\n$IIMWV,340,R,04.85,N,A*2D\r\n$IIVWT,137,L,02.50,N,01.29,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125653,,,,00,*4E\r\n$IIDBT,037.43,f,011.41,M,006.16,F*26\r\n$GPGLL,5956.166,N,02322.389,E,125653,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-5.23,N,,*28\r\n$IIVTG,226.52,T,226.52,M,6.51,N,,,D*66\r\n$IIMWV,207,T,02.21,N,A*21\r\n$IIVWT,153,L,02.21,N,01.14,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125655,,,,00,*48\r\n$IIDBT,037.63,f,011.47,M,006.19,F*2D\r\n$GPGLL,5956.164,N,02322.384,E,125655,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.53,N,,*2F\r\n$IIVTG,226.58,T,226.58,M,6.50,N,,,D*67\r\n$IIMWV,341,R,04.27,N,A*24\r\n$IIVWT,148,L,02.60,N,01.34,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125657,,,,00,*4A\r\n$IIDBT,037.79,f,011.52,M,006.22,F*2A\r\n$GPGLL,5956.161,N,02322.379,E,125657,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.67,N,,*29\r\n$IIVTG,225.77,T,225.77,M,6.50,N,,,D*67\r\n$IIMWV,222,T,03.16,N,A*23\r\n$IIVWT,138,L,03.16,N,01.63,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125659,,,,00,*44\r\n$IIDBT,037.95,f,011.57,M,006.25,F*2A\r\n$GPGLL,5956.159,N,02322.373,E,125659,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.20,N,,*2B\r\n$IIVTG,226.07,T,226.07,M,6.50,N,,,D*67\r\n$IIMWV,337,R,04.27,N,A*25\r\n$IIVWT,143,L,02.83,N,01.46,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125701,,,,00,*48\r\n$IIDBT,037.99,f,011.58,M,006.25,F*29\r\n$GPGLL,5956.156,N,02322.368,E,125701,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.19,N,,*21\r\n$IIVTG,226.47,T,226.47,M,6.50,N,,,D*67\r\n$IIMWV,211,T,02.70,N,A*22\r\n$IIVWT,149,L,02.70,N,01.39,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125703,,,,00,*4A\r\n$IIDBT,037.99,f,011.58,M,006.25,F*29\r\n$GPGLL,5956.154,N,02322.363,E,125703,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.82,N,,*23\r\n$IIVTG,226.52,T,226.52,M,6.50,N,,,D*67\r\n$IIMWV,345,R,03.88,N,A*22\r\n$IIVWT,158,L,02.72,N,01.40,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125705,,,,00,*4C\r\n$IIDBT,038.18,f,011.64,M,006.29,F*2C\r\n$GPGLL,5956.151,N,02322.358,E,125705,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.87,N,01.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.72,N,,*2C\r\n$IIVTG,227.08,T,227.08,M,6.50,N,,,D*67\r\n$IIMWV,212,T,02.66,N,A*26\r\n$IIVWT,148,L,02.66,N,01.37,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125707,,,,00,*4E\r\n$IIDBT,038.31,f,011.68,M,006.31,F*22\r\n$GPGLL,5956.149,N,02322.352,E,125707,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.63,N,,*2C\r\n$IIVTG,227.49,T,227.49,M,6.50,N,,,D*67\r\n$IIMWV,350,R,04.27,N,A*24\r\n$IIVWT,159,L,02.17,N,01.12,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125709,,,,00,*40\r\n$IIDBT,038.38,f,011.70,M,006.32,F*21\r\n$GPGLL,5956.147,N,02322.347,E,125709,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.02,N,,*28\r\n$IIVTG,228.07,T,228.07,M,6.50,N,,,D*67\r\n$IIMWV,195,T,02.15,N,A*2E\r\n$IIVWT,165,L,02.15,N,01.11,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125711,,,,00,*49\r\n$IIDBT,038.31,f,011.68,M,006.31,F*22\r\n$GPGLL,5956.144,N,02322.342,E,125711,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,228.09,T,228.09,M,6.50,N,,,D*67\r\n$IIMWV,350,R,04.27,N,A*24\r\n$IIVWT,161,L,02.19,N,01.13,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125713,,,,00,*4B\r\n$IIDBT,038.25,f,011.66,M,006.30,F*28\r\n$GPGLL,5956.142,N,02322.336,E,125713,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.77,N,,*29\r\n$IIVTG,227.70,T,227.70,M,6.55,N,,,D*62\r\n$IIMWV,204,T,02.27,N,A*24\r\n$IIVWT,156,L,02.27,N,01.17,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125715,,,,00,*4D\r\n$IIDBT,038.41,f,011.71,M,006.32,F*2E\r\n$GPGLL,5956.139,N,02322.331,E,125715,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.44,N,,*29\r\n$IIVTG,227.02,T,227.02,M,6.51,N,,,D*66\r\n$IIMWV,348,R,04.27,N,A*2D\r\n$IIVWT,157,L,02.19,N,01.13,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125717,,,,00,*4F\r\n$IIDBT,038.25,f,011.66,M,006.30,F*28\r\n$GPGLL,5956.137,N,02322.326,E,125717,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.01,N,,*2B\r\n$IIVTG,226.43,T,226.43,M,6.50,N,,,D*67\r\n$IIMWV,198,T,02.17,N,A*21\r\n$IIVWT,162,L,02.17,N,01.12,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125719,,,,00,*41\r\n$IIDBT,038.02,f,011.59,M,006.26,F*26\r\n$GPGLL,5956.133,N,02322.318,E,125719,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,226.48,T,226.48,M,6.50,N,,,D*67\r\n$IIMWV,353,R,04.47,N,A*21\r\n$IIVWT,164,L,02.06,N,01.06,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125721,,,,00,*4A\r\n$IIDBT,038.02,f,011.59,M,006.26,F*26\r\n$GPGLL,5956.131,N,02322.313,E,125721,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.27,N,,*2C\r\n$IIVTG,227.16,T,227.16,M,6.53,N,,,D*64\r\n$IIMWV,204,T,02.27,N,A*24\r\n$IIVWT,156,L,02.27,N,01.17,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125723,,,,00,*48\r\n$IIDBT,037.82,f,011.53,M,006.23,F*2E\r\n$GPGLL,5956.128,N,02322.308,E,125724,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,227.12,T,227.12,M,6.58,N,,,D*6F\r\n$IIMWV,001,R,03.88,N,A*21\r\n$IIVWT,178,R,02.41,N,01.24,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125725,,,,00,*4E\r\n$IIDBT,037.72,f,011.50,M,006.21,F*20\r\n$GPGLL,5956.126,N,02322.302,E,125726,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,227.35,T,227.35,M,6.60,N,,,D*64\r\n$IIMWV,181,T,02.44,N,A*2F\r\n$IIVWT,179,L,02.44,N,01.26,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125727,,,,00,*4C\r\n$IIDBT,037.30,f,011.37,M,006.14,F*21\r\n$GPGLL,5956.123,N,02322.297,E,125728,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,227.79,T,227.79,M,6.60,N,,,D*64\r\n$IIMWV,352,R,04.85,N,A*2E\r\n$IIVWT,155,L,01.57,N,00.81,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125729,,,,00,*42\r\n$IIDBT,073.42,f,022.38,M,012.09,F*22\r\n$GPGLL,5956.121,N,02322.291,E,125730,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,228.09,T,228.09,M,6.60,N,,,D*64\r\n$IIMWV,182,T,01.41,N,A*2A\r\n$IIVWT,178,L,01.41,N,00.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125731,,,,00,*4B\r\n$IIDBT,072.11,f,021.98,M,011.88,F*26\r\n$GPGLL,5956.118,N,02322.286,E,125732,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,228.02,T,228.02,M,6.60,N,,,D*64\r\n$IIMWV,359,R,04.47,N,A*2B\r\n$IIVWT,177,L,01.92,N,00.99,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125733,,,,00,*49\r\n$IIDBT,034.71,f,010.58,M,005.71,F*2F\r\n$GPGLL,5956.116,N,02322.281,E,125734,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.97,N,,*27\r\n$IIVTG,227.88,T,227.88,M,6.60,N,,,D*64\r\n$IIMWV,211,T,01.14,N,A*23\r\n$IIVWT,149,L,01.14,N,00.59,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125736,,,,00,*4C\r\n$IIDBT,034.28,f,010.45,M,005.64,F*2B\r\n$GPGLL,5956.113,N,02322.275,E,125736,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.33,N,,*29\r\n$IIVTG,227.62,T,227.62,M,6.60,N,,,D*64\r\n$IIMWV,004,R,04.85,N,A*2E\r\n$IIVWT,166,R,01.34,N,00.69,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125738,,,,00,*42\r\n$IIDBT,036.54,f,011.14,M,006.02,F*24\r\n$GPGLL,5956.111,N,02322.270,E,125738,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.26,N,,*2D\r\n$IIVTG,227.68,T,227.68,M,6.67,N,,,D*63\r\n$IIMWV,161,T,01.92,N,A*29\r\n$IIVWT,161,R,01.92,N,00.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125740,,,,00,*4D\r\n$IIDBT,035.10,f,010.70,M,005.78,F*2A\r\n$GPGLL,5956.108,N,02322.264,E,125740,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,227.74,T,227.74,M,6.69,N,,,D*6D\r\n$IIMWV,008,R,04.85,N,A*22\r\n$IIVWT,155,R,01.57,N,00.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125742,,,,00,*4F\r\n$IIDBT,030.47,f,009.29,M,005.02,F*24\r\n$GPGLL,5956.106,N,02322.259,E,125742,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.85,N,,*24\r\n$IIVTG,228.46,T,228.46,M,6.70,N,,,D*65\r\n$IIMWV,155,T,01.47,N,A*26\r\n$IIVWT,155,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125744,,,,00,*49\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5956.104,N,02322.253,E,125744,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.79,N,,*27\r\n$IIVTG,229.54,T,229.54,M,6.70,N,,,D*65\r\n$IIMWV,009,R,04.47,N,A*2D\r\n$IIVWT,159,R,01.92,N,00.99,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125746,,,,00,*4B\r\n$IIDBT,025.13,f,007.66,M,004.14,F*22\r\n$GPGLL,5956.101,N,02322.247,E,125746,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.71,N,,*2F\r\n$IIVTG,230.41,T,230.41,M,6.77,N,,,D*62\r\n$IIMWV,164,T,02.56,N,A*27\r\n$IIVWT,164,R,02.56,N,01.32,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125748,,,,00,*45\r\n$IIDBT,022.44,f,006.84,M,003.69,F*27\r\n$GPGLL,5956.099,N,02322.241,E,125748,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,231.10,T,231.10,M,6.84,N,,,D*6E\r\n$IIMWV,002,R,03.88,N,A*22\r\n$IIVWT,178,R,02.29,N,01.18,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125750,,,,00,*4C\r\n$IIDBT,022.27,f,006.79,M,003.67,F*2E\r\n$GPGLL,5956.096,N,02322.235,E,125750,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,231.72,T,231.72,M,6.99,N,,,D*62\r\n$IIMWV,163,T,02.52,N,A*24\r\n$IIVWT,163,R,02.52,N,01.30,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125752,,,,00,*4E\r\n$IIDBT,023.03,f,007.02,M,003.79,F*2B\r\n$GPGLL,5956.094,N,02322.229,E,125752,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.64,N,01.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,232.43,T,232.43,M,7.07,N,,,D*64\r\n$IIMWV,001,R,04.27,N,A*23\r\n$IIVWT,177,R,01.96,N,01.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125754,,,,00,*48\r\n$IIDBT,022.24,f,006.78,M,003.66,F*2D\r\n$GPGLL,5956.092,N,02322.223,E,125754,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.08,N,,*21\r\n$IIVTG,233.46,T,233.46,M,6.99,N,,,D*62\r\n$IIMWV,144,T,02.64,N,A*24\r\n$IIVWT,144,R,02.64,N,01.36,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125756,,,,00,*4A\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5956.089,N,02322.217,E,125756,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.12,N,,*2A\r\n$IIVTG,234.31,T,234.31,M,6.92,N,,,D*69\r\n$IIMWV,018,R,04.47,N,A*2D\r\n$IIVWT,145,R,02.41,N,01.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125758,,,,00,*44\r\n$IIDBT,022.89,f,006.98,M,003.77,F*24\r\n$GPGLL,5956.087,N,02322.210,E,125758,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.56,N,,*2A\r\n$IIVTG,235.40,T,235.40,M,6.96,N,,,D*6D\r\n$IIMWV,149,T,02.44,N,A*2B\r\n$IIVWT,149,R,02.44,N,01.26,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125800,,,,00,*46\r\n$IIDBT,027.06,f,008.25,M,004.45,F*28\r\n$GPGLL,5956.085,N,02322.204,E,125800,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,236.33,T,236.33,M,7.04,N,,,D*67\r\n$IIMWV,006,R,04.47,N,A*22\r\n$IIVWT,166,R,02.02,N,01.04,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125802,,,,00,*44\r\n$IIDBT,031.06,f,009.47,M,005.11,F*2A\r\n$GPGLL,5956.082,N,02322.194,E,125802,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,237.78,T,237.78,M,7.08,N,,,D*6B\r\n$IIMWV,155,T,01.80,N,A*2D\r\n$IIVWT,155,R,01.80,N,00.93,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125804,,,,00,*42\r\n$IIDBT,035.23,f,010.74,M,005.80,F*29\r\n$GPGLL,5956.080,N,02322.187,E,125804,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,-5.59,N,,*25\r\n$IIVTG,239.18,T,239.18,M,7.02,N,,,D*61\r\n$IIMWV,015,R,04.47,N,A*20\r\n$IIVWT,151,R,02.33,N,01.20,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125806,,,,00,*40\r\n$IIDBT,038.08,f,011.61,M,006.27,F*26\r\n$GPGLL,5956.078,N,02322.180,E,125807,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,-5.42,N,,*2F\r\n$IIVTG,240.19,T,240.19,M,6.93,N,,,D*68\r\n$IIMWV,149,T,02.39,N,A*21\r\n$IIVWT,149,R,02.39,N,01.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125808,,,,00,*4E\r\n$IIDBT,040.58,f,012.37,M,006.68,F*27\r\n$GPGLL,5956.076,N,02322.174,E,125809,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,-5.09,N,,*20\r\n$IIVTG,241.85,T,241.85,M,6.91,N,,,D*6A\r\n$IIMWV,015,R,04.85,N,A*2E\r\n$IIVWT,144,R,02.02,N,01.04,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125810,,,,00,*47\r\n$IIDBT,042.91,f,013.08,M,007.07,F*25\r\n$GPGLL,5956.075,N,02322.167,E,125811,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,-5.53,N,,*2F\r\n$IIVTG,243.31,T,243.31,M,6.90,N,,,D*6B\r\n$IIMWV,158,T,02.07,N,A*2C\r\n$IIVWT,158,R,02.07,N,01.07,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125812,,,,00,*45\r\n$IIDBT,045.20,f,013.78,M,007.44,F*28\r\n$GPGLL,5956.073,N,02322.160,E,125813,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,243.68,T,243.68,M,6.90,N,,,D*6B\r\n$IIMWV,006,R,04.47,N,A*22\r\n$IIVWT,166,R,02.04,N,01.05,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125814,,,,00,*43\r\n$IIDBT,047.50,f,014.48,M,007.82,F*23\r\n$GPGLL,5956.071,N,02322.153,E,125815,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.39,N,11.83,K*52\r\n$IIVPW,-6.11,N,,*2A\r\n$IIVTG,243.44,T,243.44,M,6.85,N,,,D*6F\r\n$IIMWV,161,T,02.39,N,A*2B\r\n$IIVWT,161,R,02.39,N,01.23,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125816,,,,00,*41\r\n$IIDBT,049.34,f,015.04,M,008.12,F*20\r\n$GPGLL,5956.070,N,02322.146,E,125817,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.38,N,11.81,K*51\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,245.01,T,245.01,M,6.81,N,,,D*6B\r\n$IIMWV,006,R,04.47,N,A*22\r\n$IIVWT,166,R,01.78,N,00.92,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125819,,,,00,*4E\r\n$IIDBT,049.86,f,015.20,M,008.21,F*2F\r\n$GPGLL,5956.068,N,02322.140,E,125819,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,245.80,T,245.80,M,6.80,N,,,D*6A\r\n$IIMWV,185,T,02.04,N,A*2F\r\n$IIVWT,175,L,02.04,N,01.05,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125821,,,,00,*45\r\n$IIDBT,051.44,f,015.68,M,008.47,F*24\r\n$GPGLL,5956.067,N,02322.133,E,125821,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,244.87,T,244.87,M,6.75,N,,,D*60\r\n$IIMWV,001,R,04.27,N,A*23\r\n$IIVWT,179,R,02.09,N,01.08,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125823,,,,00,*47\r\n$IIDBT,051.50,f,015.70,M,008.48,F*27\r\n$GPGLL,5956.065,N,02322.126,E,125823,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,243.22,T,243.22,M,6.71,N,,,D*64\r\n$IIMWV,188,T,01.84,N,A*29\r\n$IIVWT,172,L,01.84,N,00.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125825,,,,00,*41\r\n$IIDBT,052.52,f,016.01,M,008.65,F*2C\r\n$GPGLL,5956.063,N,02322.120,E,125825,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,242.98,T,242.98,M,6.70,N,,,D*65\r\n$IIMWV,355,R,04.85,N,A*29\r\n$IIVWT,164,L,01.45,N,00.75,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125827,,,,00,*43\r\n$IIDBT,053.70,f,016.37,M,008.84,F*27\r\n$GPGLL,5956.062,N,02322.113,E,125827,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.96,N,,*26\r\n$IIVTG,243.64,T,243.64,M,6.70,N,,,D*65\r\n$IIMWV,194,T,01.73,N,A*2C\r\n$IIVWT,166,L,01.73,N,00.89,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125829,,,,00,*4D\r\n$IIDBT,053.77,f,016.39,M,008.85,F*2F\r\n$GPGLL,5956.060,N,02322.106,E,125829,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.04,N,,*2D\r\n$IIVTG,243.94,T,243.94,M,6.70,N,,,D*65\r\n$IIMWV,353,R,05.24,N,A*25\r\n$IIVWT,145,L,01.20,N,00.62,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125831,,,,00,*44\r\n$IIDBT,054.03,f,016.47,M,008.90,F*26\r\n$GPGLL,5956.058,N,02322.100,E,125831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.95,N,,*25\r\n$IIVTG,242.21,T,242.21,M,6.70,N,,,D*65\r\n$IIMWV,183,T,00.85,N,A*22\r\n$IIVWT,177,L,00.85,N,00.44,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125833,,,,00,*46\r\n$IIDBT,055.08,f,016.79,M,009.07,F*2E\r\n$GPGLL,5956.056,N,02322.093,E,125833,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,241.30,T,241.30,M,6.70,N,,,D*65\r\n$IIMWV,021,R,05.83,N,A*2E\r\n$IIVWT,113,R,02.21,N,01.14,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125835,,,,00,*40\r\n$IIDBT,055.80,f,017.01,M,009.19,F*2F\r\n$GPGLL,5956.055,N,02322.087,E,125835,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.16,N,01.63,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,244.02,T,244.02,M,6.70,N,,,D*65\r\n$IIMWV,088,T,02.42,N,A*21\r\n$IIVWT,088,R,02.42,N,01.25,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125837,,,,00,*42\r\n$IIDBT,058.10,f,017.71,M,009.57,F*26\r\n$GPGLL,5956.053,N,02322.080,E,125837,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.26,N,,*04\r\n$IIVTG,246.01,T,246.01,M,6.73,N,,,D*66\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,076,R,02.37,N,01.22,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125839,,,,00,*4C\r\n$IIDBT,060.03,f,018.30,M,009.89,F*26\r\n$GPGLL,5956.052,N,02322.073,E,125839,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,247.08,T,247.08,M,6.71,N,,,D*64\r\n$IIMWV,092,T,01.98,N,A*2E\r\n$IIVWT,092,R,01.98,N,01.02,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125841,,,,00,*43\r\n$IIDBT,060.00,f,018.29,M,009.88,F*2C\r\n$GPGLL,5956.050,N,02322.066,E,125841,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-2.23,N,,*2F\r\n$IIVTG,247.50,T,247.50,M,6.75,N,,,D*60\r\n$IIMWV,011,R,05.83,N,A*2D\r\n$IIVWT,113,R,01.22,N,00.63,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125843,,,,00,*41\r\n$IIDBT,060.69,f,018.50,M,009.99,F*2D\r\n$GPGLL,5956.049,N,02322.059,E,125843,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-1.33,N,,*2D\r\n$IIVTG,246.87,T,246.87,M,6.79,N,,,D*6C\r\n$IIMWV,111,T,02.37,N,A*22\r\n$IIVWT,111,R,02.37,N,01.22,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125845,,,,00,*47\r\n$IIDBT,062.76,f,019.13,M,010.34,F*28\r\n$GPGLL,5956.046,N,02322.049,E,125845,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-1.20,N,,*2F\r\n$IIVTG,243.98,T,243.98,M,6.85,N,,,D*6F\r\n$IIMWV,022,R,06.22,N,A*25\r\n$IIVWT,103,R,02.35,N,01.21,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125847,,,,00,*45\r\n$IIDBT,062.79,f,019.14,M,010.34,F*20\r\n$GPGLL,5956.045,N,02322.042,E,125847,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.50,N,,*2C\r\n$IIVTG,244.57,T,244.57,M,6.89,N,,,D*63\r\n$IIMWV,116,T,01.59,N,A*2E\r\n$IIVWT,116,R,01.59,N,00.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125849,,,,00,*4B\r\n$IIDBT,063.12,f,019.24,M,010.39,F*22\r\n$GPGLL,5956.043,N,02322.035,E,125850,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.77,N,,*2F\r\n$IIVTG,244.49,T,244.49,M,6.85,N,,,D*6F\r\n$IIMWV,004,R,05.83,N,A*29\r\n$IIVWT,139,R,00.66,N,00.34,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125851,,,,00,*42\r\n$IIDBT,064.30,f,019.60,M,010.59,F*23\r\n$GPGLL,5956.041,N,02322.028,E,125852,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.06,N,,*29\r\n$IIVTG,244.50,T,244.50,M,6.81,N,,,D*6B\r\n$IIMWV,136,T,00.56,N,A*22\r\n$IIVWT,136,R,00.56,N,00.29,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125853,,,,00,*40\r\n$IIDBT,065.74,f,020.04,M,010.83,F*2D\r\n$GPGLL,5956.040,N,02322.022,E,125854,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.72,N,,*28\r\n$IIVTG,245.30,T,245.30,M,6.80,N,,,D*6A\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,099,R,01.28,N,00.66,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125855,,,,00,*46\r\n$IIDBT,066.14,f,020.16,M,010.89,F*21\r\n$GPGLL,5956.038,N,02322.015,E,125856,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,245.55,T,245.55,M,6.80,N,,,D*6A\r\n$IIMWV,096,T,00.52,N,A*2D\r\n$IIVWT,096,R,00.52,N,00.27,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125857,,,,00,*44\r\n$IIDBT,064.33,f,019.61,M,010.59,F*21\r\n$GPGLL,5956.037,N,02322.008,E,125858,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.62,N,,*2A\r\n$IIVTG,246.46,T,246.46,M,6.85,N,,,D*6F\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,150,L,00.36,N,00.19,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125900,,,,00,*47\r\n$IIDBT,063.74,f,019.43,M,010.50,F*2C\r\n$GPGLL,5956.035,N,02322.001,E,125900,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.13,N,00.07,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,244.94,T,244.94,M,6.89,N,,,D*63\r\n$IIMWV,073,T,01.49,N,A*2D\r\n$IIVWT,073,R,01.49,N,00.77,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125902,,,,00,*45\r\n$IIDBT,065.02,f,019.82,M,010.71,F*25\r\n$GPGLL,5956.034,N,02321.994,E,125902,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.50,N,,*00\r\n$IIVTG,243.84,T,243.84,M,6.90,N,,,D*6B\r\n$IIMWV,018,R,08.16,N,A*25\r\n$IIVWT,059,R,02.95,N,01.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125904,,,,00,*43\r\n$IIDBT,064.17,f,019.56,M,010.57,F*2D\r\n$GPGLL,5956.032,N,02321.987,E,125904,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,1.75,N,,*02\r\n$IIVTG,244.61,T,244.61,M,6.90,N,,,D*6B\r\n$IIMWV,074,T,02.19,N,A*2C\r\n$IIVWT,074,R,02.19,N,01.13,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125906,,,,00,*41\r\n$IIDBT,063.64,f,019.40,M,010.48,F*27\r\n$GPGLL,5956.030,N,02321.980,E,125906,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,244.42,T,244.42,M,6.90,N,,,D*6B\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,080,R,02.39,N,01.23,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125908,,,,00,*4F\r\n$IIDBT,062.56,f,019.07,M,010.30,F*2B\r\n$GPGLL,5956.029,N,02321.974,E,125908,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.21,N,,*03\r\n$IIVTG,242.98,T,242.98,M,6.90,N,,,D*6B\r\n$IIMWV,076,T,02.13,N,A*24\r\n$IIVWT,076,R,02.13,N,01.10,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125910,,,,00,*46\r\n$IIDBT,059.02,f,017.99,M,009.72,F*25\r\n$GPGLL,5956.027,N,02321.967,E,125910,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.60,N,,*2A\r\n$IIVTG,243.79,T,243.79,M,6.82,N,,,D*68\r\n$IIMWV,001,R,06.41,N,A*21\r\n$IIVWT,039,R,00.11,N,00.06,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125912,,,,00,*44\r\n$IIDBT,058.16,f,017.73,M,009.58,F*2D\r\n$GPGLL,5956.025,N,02321.960,E,125912,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.06,N,,*07\r\n$IIVTG,242.47,T,242.47,M,6.81,N,,,D*6B\r\n$IIMWV,088,T,02.62,N,A*23\r\n$IIVWT,088,R,02.62,N,01.35,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125914,,,,00,*42\r\n$IIDBT,055.64,f,016.96,M,009.16,F*25\r\n$GPGLL,5956.023,N,02321.954,E,125914,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,239.94,T,239.94,M,6.78,N,,,D*6D\r\n$IIMWV,022,R,07.77,N,A*24\r\n$IIVWT,072,R,03.09,N,01.59,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125916,,,,00,*40\r\n$IIDBT,053.70,f,016.37,M,008.84,F*27\r\n$GPGLL,5956.021,N,02321.947,E,125916,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.93,N,,*09\r\n$IIVTG,241.68,T,241.68,M,6.79,N,,,D*6C\r\n$IIMWV,070,T,03.09,N,A*28\r\n$IIVWT,070,R,03.09,N,01.59,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125918,,,,00,*4E\r\n$IIDBT,051.54,f,015.71,M,008.49,F*23\r\n$GPGLL,5956.020,N,02321.940,E,125918,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.26,N,01.68,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,241.32,T,241.32,M,6.85,N,,,D*6F\r\n$IIMWV,022,R,07.77,N,A*24\r\n$IIVWT,071,R,03.09,N,01.59,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125920,,,,00,*45\r\n$IIDBT,050.49,f,015.39,M,008.31,F*2D\r\n$GPGLL,5956.018,N,02321.934,E,125920,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.60,N,,*06\r\n$IIVTG,242.30,T,242.30,M,6.84,N,,,D*6E\r\n$IIMWV,084,T,03.96,N,A*25\r\n$IIVWT,084,R,03.96,N,02.04,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125922,,,,00,*47\r\n$IIDBT,049.70,f,015.15,M,008.18,F*2A\r\n$GPGLL,5956.016,N,02321.927,E,125922,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.35,N,,*07\r\n$IIVTG,242.97,T,242.97,M,6.81,N,,,D*6B\r\n$IIMWV,042,R,07.77,N,A*22\r\n$IIVWT,097,R,05.24,N,02.70,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125924,,,,00,*41\r\n$IIDBT,049.63,f,015.13,M,008.17,F*21\r\n$GPGLL,5956.014,N,02321.920,E,125924,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.10,N,,*2C\r\n$IIVTG,242.87,T,242.87,M,6.83,N,,,D*69\r\n$IIMWV,109,T,04.31,N,A*2B\r\n$IIVWT,109,R,04.31,N,02.22,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125926,,,,00,*43\r\n$IIDBT,049.27,f,015.02,M,008.11,F*27\r\n$GPGLL,5956.013,N,02321.913,E,125926,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.24,N,01.67,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.78,N,,*22\r\n$IIVTG,243.04,T,243.04,M,6.83,N,,,D*69\r\n$IIMWV,031,R,06.22,N,A*27\r\n$IIVWT,105,R,03.24,N,01.67,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125928,,,,00,*4D\r\n$IIDBT,048.65,f,014.83,M,008.01,F*29\r\n$GPGLL,5956.010,N,02321.903,E,125928,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.07,N,,*28\r\n$IIVTG,242.88,T,242.88,M,6.80,N,,,D*6A\r\n$IIMWV,122,T,03.65,N,A*24\r\n$IIVWT,122,R,03.65,N,01.88,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125930,,,,00,*44\r\n$IIDBT,047.99,f,014.63,M,007.90,F*2C\r\n$GPGLL,5956.008,N,02321.897,E,125930,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,242.69,T,242.69,M,6.80,N,,,D*6A\r\n$IIMWV,028,R,05.24,N,A*2A\r\n$IIVWT,123,R,02.87,N,01.48,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125932,,,,00,*46\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5956.007,N,02321.890,E,125933,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.41,N,,*2A\r\n$IIVTG,242.17,T,242.17,M,6.80,N,,,D*6A\r\n$IIMWV,123,T,03.01,N,A*27\r\n$IIVWT,123,R,03.01,N,01.55,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125934,,,,00,*40\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5956.005,N,02321.884,E,125935,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.08,N,,*22\r\n$IIVTG,240.89,T,240.89,M,6.80,N,,,D*6A\r\n$IIMWV,006,R,04.85,N,A*2C\r\n$IIVWT,163,R,01.53,N,00.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125936,,,,00,*42\r\n$IIDBT,046.48,f,014.17,M,007.65,F*28\r\n$GPGLL,5956.003,N,02321.877,E,125937,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.13,N,,*2B\r\n$IIVTG,240.25,T,240.25,M,6.80,N,,,D*6A\r\n$IIMWV,146,T,01.78,N,A*28\r\n$IIVWT,146,R,01.78,N,00.92,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125938,,,,00,*4C\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5956.001,N,02321.871,E,125939,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.46,N,,*2B\r\n$IIVTG,240.19,T,240.19,M,6.80,N,,,D*6A\r\n$IIMWV,005,R,05.44,N,A*23\r\n$IIVWT,154,R,01.14,N,00.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125940,,,,00,*43\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5955.999,N,02321.864,E,125941,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.54,N,,*29\r\n$IIVTG,240.57,T,240.57,M,6.80,N,,,D*6A\r\n$IIMWV,124,T,00.95,N,A*2E\r\n$IIVWT,124,R,00.95,N,00.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125943,,,,00,*40\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.997,N,02321.857,E,125943,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.66,N,,*28\r\n$IIVTG,241.99,T,241.99,M,6.80,N,,,D*6A\r\n$IIMWV,011,R,05.24,N,A*20\r\n$IIVWT,143,R,01.59,N,00.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125945,,,,00,*46\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5955.996,N,02321.851,E,125945,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.54,N,,*2F\r\n$IIVTG,242.17,T,242.17,M,6.75,N,,,D*60\r\n$IIMWV,114,T,02.72,N,A*26\r\n$IIVWT,114,R,02.72,N,01.40,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125947,,,,00,*44\r\n$IIDBT,048.58,f,014.81,M,008.00,F*24\r\n$GPGLL,5955.994,N,02321.844,E,125947,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.18,N,01.64,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-1.82,N,,*27\r\n$IIVTG,241.27,T,241.27,M,6.71,N,,,D*64\r\n$IIMWV,025,R,06.22,N,A*22\r\n$IIVWT,106,R,02.74,N,01.41,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125949,,,,00,*4A\r\n$IIDBT,049.37,f,015.05,M,008.13,F*23\r\n$GPGLL,5955.992,N,02321.838,E,125949,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.55,N,01.83,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-1.62,N,,*29\r\n$IIVTG,240.94,T,240.94,M,6.70,N,,,D*65\r\n$IIMWV,108,T,03.36,N,A*2A\r\n$IIVWT,108,R,03.36,N,01.73,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125951,,,,00,*43\r\n$IIDBT,049.83,f,015.19,M,008.21,F*20\r\n$GPGLL,5955.990,N,02321.831,E,125951,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-2.56,N,,*2D\r\n$IIVTG,240.86,T,240.86,M,6.70,N,,,D*65\r\n$IIMWV,024,R,05.83,N,A*2B\r\n$IIVWT,112,R,02.56,N,01.32,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125953,,,,00,*41\r\n$IIDBT,050.22,f,015.31,M,008.27,F*2F\r\n$GPGLL,5955.988,N,02321.825,E,125953,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-3.53,N,,*29\r\n$IIVTG,239.59,T,239.59,M,6.70,N,,,D*65\r\n$IIMWV,125,T,02.04,N,A*25\r\n$IIVWT,125,R,02.04,N,01.05,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125955,,,,00,*47\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5955.986,N,02321.819,E,125955,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-3.62,N,,*2B\r\n$IIVTG,239.34,T,239.34,M,6.68,N,,,D*6C\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,112,R,01.69,N,00.87,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125957,,,,00,*45\r\n$IIDBT,050.06,f,015.26,M,008.24,F*2C\r\n$GPGLL,5955.984,N,02321.812,E,125957,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,239.63,T,239.63,M,6.62,N,,,D*66\r\n$IIMWV,100,T,01.61,N,A*22\r\n$IIVWT,100,R,01.61,N,00.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,125959,,,,00,*4B\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5955.983,N,02321.806,E,125959,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.87,N,,*0E\r\n$IIVTG,239.94,T,239.94,M,6.60,N,,,D*64\r\n$IIMWV,017,R,06.80,N,A*2B\r\n$IIVWT,080,R,01.96,N,01.01,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130001,,,,00,*4B\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5955.981,N,02321.800,E,130001,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,240.21,T,240.21,M,6.60,N,,,D*64\r\n$IIMWV,088,T,02.21,N,A*24\r\n$IIVWT,088,R,02.21,N,01.14,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130003,,,,00,*49\r\n$IIDBT,048.39,f,014.75,M,007.97,F*29\r\n$GPGLL,5955.979,N,02321.793,E,130003,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,239.75,T,239.75,M,6.68,N,,,D*6C\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,097,R,01.53,N,00.79,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130005,,,,00,*4F\r\n$IIDBT,047.93,f,014.61,M,007.89,F*2C\r\n$GPGLL,5955.977,N,02321.787,E,130005,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.25,N,,*2B\r\n$IIVTG,239.58,T,239.58,M,6.69,N,,,D*6D\r\n$IIMWV,096,T,01.92,N,A*20\r\n$IIVWT,096,R,01.92,N,00.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130007,,,,00,*4D\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5955.975,N,02321.781,E,130007,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.97,N,,*22\r\n$IIVTG,239.74,T,239.74,M,6.62,N,,,D*66\r\n$IIMWV,009,R,06.22,N,A*2C\r\n$IIVWT,105,R,01.03,N,00.53,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130009,,,,00,*43\r\n$IIDBT,047.01,f,014.33,M,007.74,F*22\r\n$GPGLL,5955.973,N,02321.774,E,130009,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.47,N,,*2F\r\n$IIVTG,239.79,T,239.79,M,6.61,N,,,D*65\r\n$IIMWV,104,T,01.38,N,A*2A\r\n$IIVWT,104,R,01.38,N,00.71,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130011,,,,00,*4A\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5955.971,N,02321.765,E,130011,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,239.54,T,239.54,M,6.60,N,,,D*64\r\n$IIMWV,360,R,06.22,N,A*20\r\n$IIVWT,108,L,00.05,N,00.03,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130013,,,,00,*48\r\n$IIDBT,046.22,f,014.09,M,007.61,F*2F\r\n$GPGLL,5955.969,N,02321.759,E,130013,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.05,N,00.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,238.76,T,238.76,M,6.68,N,,,D*6C\r\n$IIMWV,081,T,00.48,N,A*20\r\n$IIVWT,081,R,00.48,N,00.25,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130015,,,,00,*4E\r\n$IIDBT,046.06,f,014.04,M,007.58,F*2E\r\n$GPGLL,5955.967,N,02321.753,E,130016,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.08,N,,*25\r\n$IIVTG,237.34,T,237.34,M,6.64,N,,,D*60\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,099,R,01.32,N,00.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130017,,,,00,*4C\r\n$IIDBT,045.89,f,013.99,M,007.56,F*27\r\n$GPGLL,5955.965,N,02321.747,E,130018,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.52,N,,*28\r\n$IIVTG,235.73,T,235.73,M,6.61,N,,,D*65\r\n$IIMWV,144,T,00.58,N,A*29\r\n$IIVWT,144,R,00.58,N,00.30,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130019,,,,00,*42\r\n$IIDBT,045.63,f,013.91,M,007.51,F*2C\r\n$GPGLL,5955.963,N,02321.741,E,130020,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.44,N,,*2D\r\n$IIVTG,235.76,T,235.76,M,6.53,N,,,D*64\r\n$IIMWV,003,R,06.22,N,A*26\r\n$IIVWT,106,R,00.34,N,00.18,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130021,,,,00,*49\r\n$IIDBT,045.63,f,013.91,M,007.51,F*2C\r\n$GPGLL,5955.961,N,02321.735,E,130022,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.31,N,00.16,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.69,N,,*26\r\n$IIVTG,235.21,T,235.21,M,6.51,N,,,D*66\r\n$IIMWV,139,T,00.60,N,A*28\r\n$IIVWT,139,R,00.60,N,00.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130023,,,,00,*4B\r\n$IIDBT,045.56,f,013.89,M,007.50,F*22\r\n$GPGLL,5955.959,N,02321.729,E,130024,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.87,N,,*26\r\n$IIVTG,234.95,T,234.95,M,6.50,N,,,D*67\r\n$IIMWV,003,R,05.44,N,A*25\r\n$IIVWT,162,R,00.83,N,00.43,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130026,,,,00,*4E\r\n$IIDBT,045.40,f,013.84,M,007.48,F*21\r\n$GPGLL,5955.956,N,02321.723,E,130026,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.36,N,,*2F\r\n$IIVTG,234.64,T,234.64,M,6.50,N,,,D*67\r\n$IIMWV,188,T,00.93,N,A*2E\r\n$IIVWT,172,L,00.93,N,00.48,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130028,,,,00,*40\r\n$IIDBT,045.47,f,013.86,M,007.49,F*25\r\n$GPGLL,5955.954,N,02321.717,E,130028,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.73,N,,*2D\r\n$IIVTG,234.36,T,234.36,M,6.50,N,,,D*67\r\n$IIMWV,001,R,05.83,N,A*2C\r\n$IIVWT,173,R,00.48,N,00.25,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130030,,,,00,*49\r\n$IIDBT,045.99,f,014.02,M,007.57,F*22\r\n$GPGLL,5955.952,N,02321.711,E,130030,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.49,N,,*25\r\n$IIVTG,233.91,T,233.91,M,6.50,N,,,D*67\r\n$IIMWV,107,T,00.38,N,A*28\r\n$IIVWT,107,R,00.38,N,00.20,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130032,,,,00,*4B\r\n$IIDBT,045.83,f,013.97,M,007.55,F*20\r\n$GPGLL,5955.950,N,02321.706,E,130032,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.34,N,00.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.35,N,,*2C\r\n$IIVTG,233.41,T,233.41,M,6.50,N,,,D*67\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,111,L,00.25,N,00.13,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130034,,,,00,*4D\r\n$IIDBT,045.99,f,014.02,M,007.57,F*22\r\n$GPGLL,5955.948,N,02321.700,E,130034,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.17,N,00.09,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.72,N,,*2B\r\n$IIVTG,233.22,T,233.22,M,6.50,N,,,D*67\r\n$IIMWV,095,T,00.23,N,A*28\r\n$IIVWT,095,R,00.23,N,00.12,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130036,,,,00,*4F\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5955.946,N,02321.694,E,130036,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.23,N,00.12,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.55,N,,*2D\r\n$IIVTG,233.33,T,233.33,M,6.50,N,,,D*67\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,096,L,01.08,N,00.56,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130038,,,,00,*41\r\n$IIDBT,045.70,f,013.93,M,007.52,F*2F\r\n$GPGLL,5955.944,N,02321.689,E,130038,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,233.23,T,233.23,M,6.50,N,,,D*67\r\n$IIMWV,170,T,00.91,N,A*2B\r\n$IIVWT,170,R,00.91,N,00.47,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130040,,,,00,*4E\r\n$IIDBT,045.86,f,013.98,M,007.55,F*2A\r\n$GPGLL,5955.942,N,02321.683,E,130040,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,233.08,T,233.08,M,6.48,N,,,D*6E\r\n$IIMWV,006,R,05.44,N,A*20\r\n$IIVWT,150,R,01.03,N,00.53,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130042,,,,00,*4C\r\n$IIDBT,046.12,f,014.06,M,007.59,F*28\r\n$GPGLL,5955.939,N,02321.677,E,130042,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.17,N,,*2F\r\n$IIVTG,233.32,T,233.32,M,6.42,N,,,D*64\r\n$IIMWV,140,T,01.16,N,A*26\r\n$IIVWT,140,R,01.16,N,00.60,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130044,,,,00,*4A\r\n$IIDBT,046.22,f,014.09,M,007.61,F*2F\r\n$GPGLL,5955.937,N,02321.671,E,130044,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.77,N,,*2E\r\n$IIVTG,233.33,T,233.33,M,6.40,N,,,D*66\r\n$IIMWV,014,R,05.83,N,A*28\r\n$IIVWT,114,R,01.57,N,00.81,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130046,,,,00,*48\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,5955.935,N,02321.666,E,130046,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,233.71,T,233.71,M,6.40,N,,,D*66\r\n$IIMWV,259,T,01.84,N,A*26\r\n$IIVWT,101,L,01.84,N,00.95,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130048,,,,00,*46\r\n$IIDBT,046.29,f,014.11,M,007.62,F*2E\r\n$GPGLL,5955.933,N,02321.660,E,130048,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,233.83,T,233.83,M,6.40,N,,,D*66\r\n$IIMWV,001,R,06.22,N,A*24\r\n$IIVWT,127,R,00.19,N,00.10,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130050,,,,00,*4F\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,5955.931,N,02321.654,E,130050,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.06,N,,*05\r\n$IIVTG,234.65,T,234.65,M,6.40,N,,,D*66\r\n$IIMWV,042,T,02.29,N,A*2A\r\n$IIVWT,042,R,02.29,N,01.18,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130052,,,,00,*4D\r\n$IIDBT,046.38,f,014.14,M,007.64,F*2D\r\n$GPGLL,5955.929,N,02321.649,E,130052,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,234.89,T,234.89,M,6.40,N,,,D*66\r\n$IIMWV,360,R,06.80,N,A*28\r\n$IIVWT,007,L,00.46,N,00.24,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130054,,,,00,*4B\r\n$IIDBT,046.55,f,014.19,M,007.67,F*28\r\n$GPGLL,5955.926,N,02321.640,E,130054,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,235.64,T,235.64,M,6.40,N,,,D*66\r\n$IIMWV,327,T,00.66,N,A*23\r\n$IIVWT,033,L,00.66,N,00.34,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130056,,,,00,*49\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.924,N,02321.634,E,130056,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,6.26,N,,*03\r\n$IIVTG,235.59,T,235.59,M,6.40,N,,,D*66\r\n$IIMWV,002,R,06.22,N,A*27\r\n$IIVWT,113,R,00.25,N,00.13,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130058,,,,00,*47\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.922,N,02321.628,E,130059,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.67,N,,*29\r\n$IIVTG,235.20,T,235.20,M,6.40,N,,,D*66\r\n$IIMWV,201,T,00.60,N,A*20\r\n$IIVWT,159,L,00.60,N,00.31,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130100,,,,00,*4B\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.920,N,02321.622,E,130101,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-5.66,N,,*29\r\n$IIVTG,235.25,T,235.25,M,6.40,N,,,D*66\r\n$IIMWV,002,R,05.44,N,A*24\r\n$IIVWT,169,R,00.97,N,00.50,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130102,,,,00,*49\r\n$IIDBT,047.37,f,014.44,M,007.80,F*2C\r\n$GPGLL,5955.918,N,02321.617,E,130103,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-6.09,N,,*23\r\n$IIVTG,235.18,T,235.18,M,6.40,N,,,D*66\r\n$IIMWV,167,T,01.16,N,A*23\r\n$IIVWT,167,R,01.16,N,00.60,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130104,,,,00,*4F\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5955.916,N,02321.611,E,130105,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.99,N,,*28\r\n$IIVTG,235.07,T,235.07,M,6.40,N,,,D*66\r\n$IIMWV,015,R,04.85,N,A*2E\r\n$IIVWT,142,R,02.02,N,01.04,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130106,,,,00,*4D\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,5955.914,N,02321.605,E,130107,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,235.20,T,235.20,M,6.40,N,,,D*66\r\n$IIMWV,150,T,02.64,N,A*21\r\n$IIVWT,150,R,02.64,N,01.36,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130109,,,,00,*42\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.912,N,02321.599,E,130109,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-5.42,N,,*2F\r\n$IIVTG,235.25,T,235.25,M,6.35,N,,,D*64\r\n$IIMWV,015,R,04.47,N,A*20\r\n$IIVWT,150,R,02.21,N,01.14,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130111,,,,00,*4B\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5955.910,N,02321.594,E,130111,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-6.03,N,,*29\r\n$IIVTG,235.29,T,235.29,M,6.31,N,,,D*60\r\n$IIMWV,164,T,02.11,N,A*24\r\n$IIVWT,164,R,02.11,N,01.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130113,,,,00,*49\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5955.908,N,02321.588,E,130113,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.03,N,,*29\r\n$IIVTG,234.95,T,234.95,M,6.38,N,,,D*69\r\n$IIMWV,004,R,04.47,N,A*20\r\n$IIVWT,170,R,01.96,N,01.01,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130115,,,,00,*4F\r\n$IIDBT,047.01,f,014.33,M,007.74,F*22\r\n$GPGLL,5955.906,N,02321.582,E,130115,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.34,N,,*2D\r\n$IIVTG,234.33,T,234.33,M,6.39,N,,,D*68\r\n$IIMWV,187,T,01.82,N,A*20\r\n$IIVWT,173,L,01.82,N,00.94,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130117,,,,00,*4D\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5955.904,N,02321.576,E,130117,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.98,N,,*28\r\n$IIVTG,233.73,T,233.73,M,6.32,N,,,D*63\r\n$IIMWV,355,R,04.85,N,A*29\r\n$IIVWT,163,L,01.47,N,00.76,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130119,,,,00,*43\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,5955.902,N,02321.571,E,130119,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.96,N,,*26\r\n$IIVTG,233.61,T,233.61,M,6.31,N,,,D*60\r\n$IIMWV,199,T,01.55,N,A*25\r\n$IIVWT,161,L,01.55,N,00.80,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130121,,,,00,*48\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5955.899,N,02321.565,E,130121,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,233.48,T,233.48,M,6.30,N,,,D*61\r\n$IIMWV,354,R,04.85,N,A*28\r\n$IIVWT,160,L,01.41,N,00.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130123,,,,00,*4A\r\n$IIDBT,047.40,f,014.45,M,007.81,F*2C\r\n$GPGLL,5955.897,N,02321.560,E,130123,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,233.49,T,233.49,M,6.30,N,,,D*61\r\n$IIMWV,191,T,01.51,N,A*29\r\n$IIVWT,169,L,01.51,N,00.78,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130125,,,,00,*4C\r\n$IIDBT,047.73,f,014.55,M,007.86,F*2A\r\n$GPGLL,5955.895,N,02321.554,E,130125,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,233.67,T,233.67,M,6.38,N,,,D*69\r\n$IIMWV,002,R,04.85,N,A*28\r\n$IIVWT,174,R,01.41,N,00.73,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130127,,,,00,*4E\r\n$IIDBT,047.83,f,014.58,M,007.88,F*26\r\n$GPGLL,5955.893,N,02321.549,E,130127,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,233.12,T,233.12,M,6.39,N,,,D*68\r\n$IIMWV,188,T,01.03,N,A*26\r\n$IIVWT,173,L,01.03,N,00.53,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130129,,,,00,*40\r\n$IIDBT,047.96,f,014.62,M,007.90,F*22\r\n$GPGLL,5955.891,N,02321.543,E,130129,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.43,N,,*2E\r\n$IIVTG,232.98,T,232.98,M,6.32,N,,,D*63\r\n$IIMWV,008,R,04.85,N,A*22\r\n$IIVWT,156,R,01.55,N,00.80,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130131,,,,00,*49\r\n$IIDBT,048.03,f,014.64,M,007.91,F*26\r\n$GPGLL,5955.889,N,02321.537,E,130131,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.33,N,,*2E\r\n$IIVTG,232.72,T,232.72,M,6.38,N,,,D*69\r\n$IIMWV,112,T,01.84,N,A*2A\r\n$IIVWT,112,R,01.84,N,00.95,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130133,,,,00,*4B\r\n$IIDBT,048.26,f,014.71,M,007.95,F*21\r\n$GPGLL,5955.887,N,02321.532,E,130133,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.12,N,,*2E\r\n$IIVTG,232.48,T,232.48,M,6.40,N,,,D*66\r\n$IIMWV,029,R,06.22,N,A*2E\r\n$IIVWT,106,R,03.05,N,01.57,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130135,,,,00,*4D\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5955.883,N,02321.523,E,130135,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.76,N,,*2E\r\n$IIVTG,231.75,T,231.75,M,6.40,N,,,D*66\r\n$IIMWV,123,T,01.69,N,A*2B\r\n$IIVWT,123,R,01.69,N,00.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130137,,,,00,*4F\r\n$IIDBT,048.91,f,014.91,M,008.05,F*25\r\n$GPGLL,5955.881,N,02321.518,E,130137,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.70,N,,*2F\r\n$IIVTG,230.69,T,230.69,M,6.40,N,,,D*66\r\n$IIMWV,008,R,05.44,N,A*2E\r\n$IIVWT,142,R,01.14,N,00.59,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130139,,,,00,*41\r\n$IIDBT,049.01,f,014.94,M,008.07,F*2A\r\n$GPGLL,5955.879,N,02321.513,E,130140,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.15,N,,*2D\r\n$IIVTG,230.55,T,230.55,M,6.40,N,,,D*66\r\n$IIMWV,103,T,00.52,N,A*20\r\n$IIVWT,103,R,00.52,N,00.27,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130141,,,,00,*4E\r\n$IIDBT,049.01,f,014.94,M,008.07,F*2A\r\n$GPGLL,5955.877,N,02321.507,E,130142,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.02,N,,*2D\r\n$IIVTG,230.49,T,230.49,M,6.40,N,,,D*66\r\n$IIMWV,017,R,05.44,N,A*20\r\n$IIVWT,125,R,01.88,N,00.97,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130143,,,,00,*4C\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5955.874,N,02321.502,E,130144,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.98,N,,*2F\r\n$IIVTG,230.42,T,230.42,M,6.40,N,,,D*66\r\n$IIMWV,115,T,01.49,N,A*2C\r\n$IIVWT,115,R,01.49,N,00.77,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130145,,,,00,*4A\r\n$IIDBT,049.17,f,014.99,M,008.10,F*26\r\n$GPGLL,5955.872,N,02321.496,E,130146,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,230.48,T,230.48,M,6.40,N,,,D*66\r\n$IIMWV,008,R,06.41,N,A*28\r\n$IIVWT,097,R,00.83,N,00.43,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130147,,,,00,*48\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,5955.870,N,02321.491,E,130148,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,2.95,N,,*0F\r\n$IIVTG,230.67,T,230.67,M,6.40,N,,,D*66\r\n$IIMWV,095,T,01.22,N,A*28\r\n$IIVWT,095,R,01.22,N,00.63,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130149,,,,00,*46\r\n$IIDBT,049.17,f,014.99,M,008.10,F*26\r\n$GPGLL,5955.868,N,02321.486,E,130150,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,230.09,T,230.09,M,6.32,N,,,D*63\r\n$IIMWV,004,R,06.22,N,A*21\r\n$IIVWT,115,R,00.40,N,00.21,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130152,,,,00,*4C\r\n$IIDBT,048.98,f,014.93,M,008.07,F*2C\r\n$GPGLL,5955.865,N,02321.480,E,130152,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,-1.39,N,,*27\r\n$IIVTG,229.67,T,229.67,M,6.31,N,,,D*60\r\n$IIMWV,102,T,01.01,N,A*26\r\n$IIVWT,102,R,01.01,N,00.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130154,,,,00,*4A\r\n$IIDBT,048.65,f,014.83,M,008.01,F*29\r\n$GPGLL,5955.863,N,02321.475,E,130154,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.37,N,11.79,K*59\r\n$IIVPW,-3.51,N,,*2B\r\n$IIVTG,229.94,T,229.94,M,6.23,N,,,D*63\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,140,R,01.32,N,00.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130156,,,,00,*48\r\n$IIDBT,048.22,f,014.70,M,007.94,F*25\r\n$GPGLL,5955.861,N,02321.470,E,130156,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-3.61,N,,*28\r\n$IIVTG,230.41,T,230.41,M,6.16,N,,,D*65\r\n$IIMWV,126,T,02.68,N,A*2C\r\n$IIVWT,126,R,02.68,N,01.38,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130158,,,,00,*46\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5955.859,N,02321.465,E,130158,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,230.33,T,230.33,M,6.16,N,,,D*65\r\n$IIMWV,022,R,05.44,N,A*26\r\n$IIVWT,122,R,02.37,N,01.22,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130200,,,,00,*48\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5955.857,N,02321.459,E,130200,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.52,N,,*28\r\n$IIVTG,230.31,T,230.31,M,6.19,N,,,D*6A\r\n$IIMWV,122,T,01.88,N,A*25\r\n$IIVWT,122,R,01.88,N,00.97,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130202,,,,00,*4A\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5955.854,N,02321.454,E,130202,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.03,N,,*2D\r\n$IIVTG,230.95,T,230.95,M,6.20,N,,,D*60\r\n$IIMWV,023,R,05.44,N,A*27\r\n$IIVWT,120,R,02.42,N,01.25,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130204,,,,00,*4C\r\n$IIDBT,047.40,f,014.45,M,007.81,F*2C\r\n$GPGLL,5955.852,N,02321.449,E,130204,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,231.39,T,231.39,M,6.20,N,,,D*60\r\n$IIMWV,125,T,01.63,N,A*27\r\n$IIVWT,125,R,01.63,N,00.84,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130206,,,,00,*4E\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5955.850,N,02321.443,E,130206,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.74,N,,*2D\r\n$IIVTG,232.25,T,232.25,M,6.20,N,,,D*60\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,111,R,02.02,N,01.04,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130208,,,,00,*40\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.848,N,02321.438,E,130208,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.81,N,,*26\r\n$IIVTG,232.54,T,232.54,M,6.27,N,,,D*67\r\n$IIMWV,127,T,01.78,N,A*2F\r\n$IIVWT,127,R,01.78,N,00.92,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130210,,,,00,*49\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5955.846,N,02321.432,E,130210,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.39,N,,*23\r\n$IIVTG,231.81,T,231.81,M,6.29,N,,,D*69\r\n$IIMWV,012,R,04.85,N,A*29\r\n$IIVWT,149,R,01.92,N,00.99,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130212,,,,00,*4B\r\n$IIDBT,046.65,f,014.22,M,007.68,F*2C\r\n$GPGLL,5955.844,N,02321.427,E,130212,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.35,N,,*2F\r\n$IIVTG,230.25,T,230.25,M,6.30,N,,,D*61\r\n$IIMWV,143,T,02.15,N,A*25\r\n$IIVWT,143,R,02.15,N,01.11,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130214,,,,00,*4D\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.841,N,02321.422,E,130214,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.64,N,,*2C\r\n$IIVTG,228.33,T,228.33,M,6.30,N,,,D*61\r\n$IIMWV,025,R,05.83,N,A*2A\r\n$IIVWT,114,R,02.66,N,01.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130216,,,,00,*4F\r\n$IIDBT,046.94,f,014.31,M,007.73,F*2A\r\n$GPGLL,5955.839,N,02321.417,E,130216,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,-1.53,N,,*2B\r\n$IIVTG,226.28,T,226.28,M,6.22,N,,,D*62\r\n$IIMWV,100,T,01.92,N,A*2E\r\n$IIVWT,100,R,01.92,N,00.99,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130218,,,,00,*41\r\n$IIDBT,047.01,f,014.33,M,007.74,F*22\r\n$GPGLL,5955.835,N,02321.410,E,130218,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-1.60,N,,*2B\r\n$IIVTG,224.97,T,224.97,M,6.21,N,,,D*61\r\n$IIMWV,020,R,06.22,N,A*27\r\n$IIVWT,104,R,02.19,N,01.13,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130220,,,,00,*4A\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5955.833,N,02321.405,E,130220,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,222.62,T,222.62,M,6.15,N,,,D*66\r\n$IIMWV,117,T,00.89,N,A*23\r\n$IIVWT,117,R,00.89,N,00.46,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130222,,,,00,*48\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5955.830,N,02321.400,E,130223,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.40,N,,*2C\r\n$IIVTG,222.41,T,222.41,M,6.14,N,,,D*67\r\n$IIMWV,005,R,05.83,N,A*28\r\n$IIVWT,131,R,00.64,N,00.33,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130224,,,,00,*4E\r\n$IIDBT,046.55,f,014.19,M,007.67,F*28\r\n$GPGLL,5955.828,N,02321.396,E,130225,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,224.00,T,224.00,M,6.18,N,,,D*6B\r\n$IIMWV,196,T,00.87,N,A*24\r\n$IIVWT,164,L,00.87,N,00.45,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130226,,,,00,*4C\r\n$IIDBT,046.45,f,014.16,M,007.65,F*24\r\n$GPGLL,5955.825,N,02321.391,E,130227,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.71,N,,*2E\r\n$IIVTG,224.42,T,224.42,M,6.20,N,,,D*60\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,146,L,01.10,N,00.57,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130228,,,,00,*42\r\n$IIDBT,046.52,f,014.18,M,007.66,F*2F\r\n$GPGLL,5955.823,N,02321.386,E,130229,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.96,N,,*27\r\n$IIVTG,224.46,T,224.46,M,6.20,N,,,D*60\r\n$IIMWV,145,T,01.32,N,A*25\r\n$IIVWT,145,R,01.32,N,00.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130230,,,,00,*4B\r\n$IIDBT,046.65,f,014.22,M,007.68,F*2C\r\n$GPGLL,5955.821,N,02321.381,E,130231,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,224.94,T,224.94,M,6.20,N,,,D*60\r\n$IIMWV,005,R,04.85,N,A*2F\r\n$IIVWT,162,R,01.41,N,00.73,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130232,,,,00,*49\r\n$IIDBT,046.71,f,014.24,M,007.69,F*2E\r\n$GPGLL,5955.818,N,02321.376,E,130233,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.91,N,,*21\r\n$IIVTG,225.36,T,225.36,M,6.20,N,,,D*60\r\n$IIMWV,195,T,01.51,N,A*2D\r\n$IIVWT,165,L,01.51,N,00.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130235,,,,00,*4E\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.816,N,02321.372,E,130235,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,225.62,T,225.62,M,6.20,N,,,D*60\r\n$IIMWV,003,R,04.85,N,A*29\r\n$IIVWT,169,R,01.41,N,00.73,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130237,,,,00,*4C\r\n$IIDBT,047.30,f,014.42,M,007.79,F*2B\r\n$GPGLL,5955.813,N,02321.367,E,130237,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.80,N,,*21\r\n$IIVTG,226.13,T,226.13,M,6.20,N,,,D*60\r\n$IIMWV,155,T,01.71,N,A*23\r\n$IIVWT,155,R,01.71,N,00.88,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130239,,,,00,*42\r\n$IIDBT,047.57,f,014.50,M,007.83,F*2C\r\n$GPGLL,5955.811,N,02321.362,E,130239,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.39,N,,*23\r\n$IIVTG,226.10,T,226.10,M,6.20,N,,,D*60\r\n$IIMWV,013,R,04.47,N,A*26\r\n$IIVWT,154,R,02.17,N,01.12,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130241,,,,00,*4D\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5955.808,N,02321.357,E,130241,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,225.85,T,225.85,M,6.20,N,,,D*60\r\n$IIMWV,175,T,01.92,N,A*2C\r\n$IIVWT,175,R,01.92,N,00.99,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130243,,,,00,*4F\r\n$IIDBT,048.29,f,014.72,M,007.95,F*2D\r\n$GPGLL,5955.806,N,02321.352,E,130243,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,225.69,T,225.69,M,6.20,N,,,D*60\r\n$IIMWV,002,R,04.47,N,A*26\r\n$IIVWT,174,R,01.76,N,00.91,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130245,,,,00,*49\r\n$IIDBT,048.29,f,014.72,M,007.95,F*2D\r\n$GPGLL,5955.804,N,02321.347,E,130245,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,224.62,T,224.62,M,6.20,N,,,D*60\r\n$IIMWV,177,T,01.80,N,A*2D\r\n$IIVWT,177,R,01.80,N,00.93,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130247,,,,00,*4B\r\n$IIDBT,048.45,f,014.77,M,007.98,F*2F\r\n$GPGLL,5955.801,N,02321.342,E,130247,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,224.08,T,224.08,M,6.20,N,,,D*60\r\n$IIMWV,359,R,04.47,N,A*2B\r\n$IIVWT,176,L,01.76,N,00.91,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130249,,,,00,*45\r\n$IIDBT,048.19,f,014.69,M,007.94,F*25\r\n$GPGLL,5955.799,N,02321.338,E,130249,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,223.59,T,223.59,M,6.20,N,,,D*60\r\n$IIMWV,174,T,01.36,N,A*23\r\n$IIVWT,174,R,01.36,N,00.70,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130251,,,,00,*4C\r\n$IIDBT,048.19,f,014.69,M,007.94,F*25\r\n$GPGLL,5955.796,N,02321.333,E,130251,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.78,N,,*26\r\n$IIVTG,222.62,T,222.62,M,6.20,N,,,D*60\r\n$IIMWV,355,R,05.24,N,A*23\r\n$IIVWT,156,L,01.16,N,00.60,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130253,,,,00,*4E\r\n$IIDBT,047.76,f,014.56,M,007.87,F*2D\r\n$GPGLL,5955.793,N,02321.328,E,130253,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.18,N,,*23\r\n$IIVTG,221.88,T,221.88,M,6.20,N,,,D*60\r\n$IIMWV,182,T,00.99,N,A*2E\r\n$IIVWT,178,L,00.99,N,00.51,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130255,,,,00,*48\r\n$IIDBT,047.66,f,014.53,M,007.85,F*2B\r\n$GPGLL,5955.791,N,02321.324,E,130255,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.37,N,,*2D\r\n$IIVTG,220.84,T,220.84,M,6.20,N,,,D*60\r\n$IIMWV,360,R,05.24,N,A*25\r\n$IIVWT,178,L,00.89,N,00.46,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130257,,,,00,*4A\r\n$IIDBT,047.47,f,014.47,M,007.82,F*2A\r\n$GPGLL,5955.788,N,02321.320,E,130257,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-6.08,N,,*22\r\n$IIVTG,219.31,T,219.31,M,6.20,N,,,D*60\r\n$IIMWV,161,T,01.34,N,A*25\r\n$IIVWT,161,R,01.34,N,00.69,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130259,,,,00,*44\r\n$IIDBT,047.30,f,014.42,M,007.79,F*2B\r\n$GPGLL,5955.784,N,02321.313,E,130259,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,220.91,T,220.91,M,6.20,N,,,D*60\r\n$IIMWV,354,R,04.85,N,A*28\r\n$IIVWT,159,L,01.43,N,00.74,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130301,,,,00,*48\r\n$IIDBT,046.98,f,014.32,M,007.74,F*22\r\n$GPGLL,5955.782,N,02321.308,E,130301,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,222.73,T,222.73,M,6.20,N,,,D*60\r\n$IIMWV,183,T,00.73,N,A*2B\r\n$IIVWT,177,L,00.73,N,00.38,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130303,,,,00,*4A\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5955.779,N,02321.304,E,130303,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.70,N,,*2E\r\n$IIVTG,224.03,T,224.03,M,6.20,N,,,D*60\r\n$IIMWV,002,R,05.44,N,A*24\r\n$IIVWT,168,R,00.79,N,00.41,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130305,,,,00,*4C\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5955.777,N,02321.299,E,130306,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.98,N,,*2E\r\n$IIVTG,224.61,T,224.61,M,6.20,N,,,D*60\r\n$IIMWV,124,T,01.80,N,A*2B\r\n$IIVWT,124,R,01.80,N,00.93,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130307,,,,00,*4E\r\n$IIDBT,046.48,f,014.17,M,007.65,F*28\r\n$GPGLL,5955.775,N,02321.294,E,130308,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.65,N,,*2B\r\n$IIVTG,225.20,T,225.20,M,6.20,N,,,D*60\r\n$IIMWV,008,R,05.44,N,A*2E\r\n$IIVWT,142,R,01.12,N,00.58,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130309,,,,00,*40\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,5955.772,N,02321.289,E,130310,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.17,N,,*29\r\n$IIVTG,225.75,T,225.75,M,6.20,N,,,D*60\r\n$IIMWV,115,T,01.30,N,A*22\r\n$IIVWT,115,R,01.30,N,00.67,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130311,,,,00,*49\r\n$IIDBT,045.99,f,014.02,M,007.57,F*22\r\n$GPGLL,5955.770,N,02321.284,E,130312,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.46,N,,*2F\r\n$IIVTG,226.46,T,226.46,M,6.15,N,,,D*66\r\n$IIMWV,013,R,06.22,N,A*27\r\n$IIVWT,099,R,01.41,N,00.73,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130313,,,,00,*4B\r\n$IIDBT,045.99,f,014.02,M,007.57,F*22\r\n$GPGLL,5955.768,N,02321.279,E,130314,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.71,N,,*2E\r\n$IIVTG,227.09,T,227.09,M,6.11,N,,,D*62\r\n$IIMWV,156,T,00.40,N,A*23\r\n$IIVWT,156,R,00.40,N,00.21,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130315,,,,00,*4D\r\n$IIDBT,045.83,f,013.97,M,007.55,F*20\r\n$GPGLL,5955.765,N,02321.274,E,130316,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.91,N,,*27\r\n$IIVTG,227.07,T,227.07,M,6.10,N,,,D*63\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,139,R,01.32,N,00.68,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130318,,,,00,*40\r\n$IIDBT,045.63,f,013.91,M,007.51,F*2C\r\n$GPGLL,5955.763,N,02321.269,E,130318,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.42,N,,*2B\r\n$IIVTG,227.09,T,227.09,M,6.10,N,,,D*63\r\n$IIMWV,103,T,01.76,N,A*27\r\n$IIVWT,103,R,01.76,N,00.91,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130320,,,,00,*4B\r\n$IIDBT,045.17,f,013.77,M,007.44,F*23\r\n$GPGLL,5955.761,N,02321.264,E,130320,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,227.67,T,227.67,M,6.10,N,,,D*63\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,115,R,01.80,N,00.93,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130322,,,,00,*49\r\n$IIDBT,045.07,f,013.74,M,007.42,F*27\r\n$GPGLL,5955.758,N,02321.259,E,130322,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.54,N,,*2E\r\n$IIVTG,228.02,T,228.02,M,6.10,N,,,D*63\r\n$IIMWV,126,T,01.71,N,A*27\r\n$IIVWT,126,R,01.71,N,00.88,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130324,,,,00,*4F\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5955.756,N,02321.254,E,130324,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.44,N,,*28\r\n$IIVTG,227.85,T,227.85,M,6.10,N,,,D*63\r\n$IIMWV,020,R,05.44,N,A*24\r\n$IIVWT,124,R,02.15,N,01.11,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130326,,,,00,*4D\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5955.754,N,02321.249,E,130326,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,227.84,T,227.84,M,6.10,N,,,D*63\r\n$IIMWV,121,T,02.58,N,A*28\r\n$IIVWT,121,R,02.58,N,01.33,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130328,,,,00,*43\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5955.752,N,02321.244,E,130328,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,227.68,T,227.68,M,6.10,N,,,D*63\r\n$IIMWV,013,R,05.83,N,A*2F\r\n$IIVWT,117,R,01.45,N,00.75,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130330,,,,00,*4A\r\n$IIDBT,044.88,f,013.68,M,007.39,F*20\r\n$GPGLL,5955.749,N,02321.240,E,130330,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.46,N,,*2C\r\n$IIVTG,227.40,T,227.40,M,6.10,N,,,D*63\r\n$IIMWV,112,T,02.83,N,A*2E\r\n$IIVWT,112,R,02.83,N,01.46,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130332,,,,00,*48\r\n$IIDBT,044.25,f,013.49,M,007.29,F*25\r\n$GPGLL,5955.747,N,02321.235,E,130332,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.46,N,,*2C\r\n$IIVTG,227.22,T,227.22,M,6.10,N,,,D*63\r\n$IIMWV,017,R,05.83,N,A*2B\r\n$IIVWT,114,R,01.88,N,00.97,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130334,,,,00,*4E\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,5955.745,N,02321.230,E,130334,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,227.46,T,227.46,M,6.10,N,,,D*63\r\n$IIMWV,130,T,01.82,N,A*2C\r\n$IIVWT,130,R,01.82,N,00.94,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130336,,,,00,*4C\r\n$IIDBT,044.51,f,013.57,M,007.33,F*22\r\n$GPGLL,5955.743,N,02321.225,E,130336,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.73,N,,*2C\r\n$IIVTG,227.51,T,227.51,M,6.10,N,,,D*63\r\n$IIMWV,011,R,05.24,N,A*20\r\n$IIVWT,139,R,01.51,N,00.78,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130338,,,,00,*42\r\n$IIDBT,044.51,f,013.57,M,007.33,F*22\r\n$GPGLL,5955.740,N,02321.220,E,130338,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.42,N,,*29\r\n$IIVTG,227.25,T,227.25,M,6.10,N,,,D*63\r\n$IIMWV,131,T,03.11,N,A*25\r\n$IIVWT,131,R,03.11,N,01.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130340,,,,00,*4D\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,5955.738,N,02321.215,E,130340,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.29,N,,*23\r\n$IIVTG,227.14,T,227.14,M,6.10,N,,,D*63\r\n$IIMWV,024,R,04.47,N,A*22\r\n$IIVWT,140,R,02.76,N,01.42,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130342,,,,00,*4F\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5955.734,N,02321.207,E,130342,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.95,N,01.52,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.50,N,,*2A\r\n$IIVTG,227.07,T,227.07,M,6.10,N,,,D*63\r\n$IIMWV,124,T,02.33,N,A*20\r\n$IIVWT,124,R,02.33,N,01.20,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130344,,,,00,*49\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,5955.732,N,02321.203,E,130344,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,227.12,T,227.12,M,6.10,N,,,D*63\r\n$IIMWV,024,R,05.24,N,A*26\r\n$IIVWT,126,R,02.62,N,01.35,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130346,,,,00,*4B\r\n$IIDBT,045.24,f,013.79,M,007.45,F*2C\r\n$GPGLL,5955.730,N,02321.198,E,130346,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.59,N,,*23\r\n$IIVTG,227.15,T,227.15,M,6.10,N,,,D*63\r\n$IIMWV,123,T,02.97,N,A*29\r\n$IIVWT,123,R,02.97,N,01.53,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130348,,,,00,*45\r\n$IIDBT,045.07,f,013.74,M,007.42,F*27\r\n$GPGLL,5955.728,N,02321.193,E,130349,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.68,N,,*21\r\n$IIVTG,227.24,T,227.24,M,6.10,N,,,D*63\r\n$IIMWV,028,R,05.24,N,A*2A\r\n$IIVWT,125,R,03.01,N,01.55,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130350,,,,00,*4C\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,5955.725,N,02321.188,E,130351,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.66,N,,*2F\r\n$IIVTG,228.01,T,228.01,M,6.13,N,,,D*60\r\n$IIMWV,120,T,02.33,N,A*24\r\n$IIVWT,120,R,02.33,N,01.20,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130352,,,,00,*4E\r\n$IIDBT,045.01,f,013.72,M,007.41,F*24\r\n$GPGLL,5955.723,N,02321.183,E,130353,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,228.48,T,228.48,M,6.11,N,,,D*62\r\n$IIMWV,012,R,05.44,N,A*25\r\n$IIVWT,131,R,01.49,N,00.77,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130354,,,,00,*48\r\n$IIDBT,045.40,f,013.84,M,007.48,F*21\r\n$GPGLL,5955.721,N,02321.178,E,130355,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,228.94,T,228.94,M,6.10,N,,,D*63\r\n$IIMWV,133,T,01.96,N,A*2A\r\n$IIVWT,133,R,01.96,N,01.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130356,,,,00,*4A\r\n$IIDBT,045.11,f,013.75,M,007.43,F*20\r\n$GPGLL,5955.719,N,02321.172,E,130357,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.15,N,,*2D\r\n$IIVTG,229.54,T,229.54,M,6.10,N,,,D*63\r\n$IIMWV,009,R,05.24,N,A*29\r\n$IIVWT,145,R,01.38,N,00.71,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130359,,,,00,*45\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5955.717,N,02321.167,E,130359,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.98,N,,*29\r\n$IIVTG,229.71,T,229.71,M,6.10,N,,,D*63\r\n$IIMWV,153,T,01.16,N,A*24\r\n$IIVWT,153,R,01.16,N,00.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130401,,,,00,*4F\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5955.714,N,02321.162,E,130401,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,229.80,T,229.80,M,6.10,N,,,D*63\r\n$IIMWV,001,R,05.44,N,A*27\r\n$IIVWT,172,R,00.83,N,00.43,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130403,,,,00,*4D\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,5955.712,N,02321.157,E,130403,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.63,N,,*2C\r\n$IIVTG,229.60,T,229.60,M,6.10,N,,,D*63\r\n$IIMWV,155,T,01.57,N,A*27\r\n$IIVWT,155,R,01.57,N,00.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130405,,,,00,*4B\r\n$IIDBT,044.84,f,013.67,M,007.38,F*22\r\n$GPGLL,5955.710,N,02321.152,E,130405,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.60,N,,*2F\r\n$IIVTG,229.85,T,229.85,M,6.10,N,,,D*63\r\n$IIMWV,006,R,05.24,N,A*26\r\n$IIVWT,153,R,01.30,N,00.67,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130407,,,,00,*49\r\n$IIDBT,044.71,f,013.63,M,007.36,F*22\r\n$GPGLL,5955.708,N,02321.147,E,130407,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.12,N,,*2B\r\n$IIVTG,229.81,T,229.81,M,6.10,N,,,D*63\r\n$IIMWV,129,T,01.53,N,A*28\r\n$IIVWT,129,R,01.53,N,00.79,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130409,,,,00,*47\r\n$IIDBT,044.91,f,013.69,M,007.39,F*29\r\n$GPGLL,5955.706,N,02321.142,E,130409,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.77,N,,*2F\r\n$IIVTG,229.70,T,229.70,M,6.10,N,,,D*63\r\n$IIMWV,014,R,05.44,N,A*23\r\n$IIVWT,129,R,01.61,N,00.83,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130411,,,,00,*4E\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,5955.703,N,02321.137,E,130411,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,229.40,T,229.40,M,6.10,N,,,D*63\r\n$IIMWV,125,T,01.92,N,A*29\r\n$IIVWT,125,R,01.92,N,00.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130413,,,,00,*4C\r\n$IIDBT,044.78,f,013.65,M,007.37,F*2C\r\n$GPGLL,5955.701,N,02321.131,E,130413,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.79,N,,*21\r\n$IIVTG,229.15,T,229.15,M,6.10,N,,,D*63\r\n$IIMWV,015,R,05.44,N,A*22\r\n$IIVWT,126,R,01.74,N,00.90,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130415,,,,00,*4A\r\n$IIDBT,044.61,f,013.60,M,007.35,F*23\r\n$GPGLL,5955.699,N,02321.126,E,130415,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,229.16,T,229.16,M,6.10,N,,,D*63\r\n$IIMWV,132,T,01.30,N,A*27\r\n$IIVWT,132,R,01.30,N,00.67,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130417,,,,00,*48\r\n$IIDBT,044.94,f,013.70,M,007.40,F*2A\r\n$GPGLL,5955.697,N,02321.121,E,130417,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.54,N,,*2E\r\n$IIVTG,228.64,T,228.64,M,6.10,N,,,D*63\r\n$IIMWV,020,R,05.44,N,A*24\r\n$IIVWT,122,R,02.21,N,01.14,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130419,,,,00,*46\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5955.695,N,02321.116,E,130419,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,228.36,T,228.36,M,6.10,N,,,D*63\r\n$IIMWV,094,T,01.92,N,A*22\r\n$IIVWT,094,R,01.92,N,00.99,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130421,,,,00,*4D\r\n$IIDBT,045.01,f,013.72,M,007.41,F*24\r\n$GPGLL,5955.692,N,02321.111,E,130421,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.37,N,,*28\r\n$IIVTG,227.99,T,227.99,M,6.10,N,,,D*63\r\n$IIMWV,026,R,06.80,N,A*29\r\n$IIVWT,093,R,02.95,N,01.52,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130423,,,,00,*4F\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,5955.690,N,02321.106,E,130423,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.42,N,01.76,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,227.40,T,227.40,M,6.10,N,,,D*63\r\n$IIMWV,085,T,03.75,N,A*29\r\n$IIVWT,085,R,03.75,N,01.93,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130425,,,,00,*49\r\n$IIDBT,045.17,f,013.77,M,007.44,F*23\r\n$GPGLL,5955.687,N,02321.099,E,130425,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.79,N,01.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.05,N,,*29\r\n$IIVTG,227.21,T,227.21,M,6.10,N,,,D*63\r\n$IIMWV,023,R,07.19,N,A*2D\r\n$IIVWT,085,R,02.81,N,01.45,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130427,,,,00,*4B\r\n$IIDBT,045.11,f,013.75,M,007.43,F*20\r\n$GPGLL,5955.684,N,02321.094,E,130427,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.59,N,,*0D\r\n$IIVTG,227.65,T,227.65,M,6.10,N,,,D*63\r\n$IIMWV,086,T,03.05,N,A*2D\r\n$IIVWT,086,R,03.05,N,01.57,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130429,,,,00,*45\r\n$IIDBT,045.07,f,013.74,M,007.42,F*27\r\n$GPGLL,5955.682,N,02321.089,E,130429,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.10,N,,*2D\r\n$IIVTG,227.96,T,227.96,M,6.10,N,,,D*63\r\n$IIMWV,024,R,06.80,N,A*2B\r\n$IIVWT,090,R,02.74,N,01.41,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130431,,,,00,*4C\r\n$IIDBT,045.14,f,013.76,M,007.43,F*26\r\n$GPGLL,5955.680,N,02321.084,E,130432,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.13,N,,*2E\r\n$IIVTG,227.97,T,227.97,M,6.10,N,,,D*63\r\n$IIMWV,092,T,03.61,N,A*2A\r\n$IIVWT,092,R,03.61,N,01.86,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130433,,,,00,*4E\r\n$IIDBT,045.14,f,013.76,M,007.43,F*26\r\n$GPGLL,5955.677,N,02321.079,E,130434,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,227.86,T,227.86,M,6.10,N,,,D*63\r\n$IIMWV,027,R,07.58,N,A*2C\r\n$IIVWT,081,R,03.42,N,01.76,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130435,,,,00,*48\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,5955.675,N,02321.074,E,130436,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.36,N,01.73,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.78,N,,*0E\r\n$IIVTG,227.71,T,227.71,M,6.10,N,,,D*63\r\n$IIMWV,088,T,03.34,N,A*21\r\n$IIVWT,088,R,03.34,N,01.72,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130437,,,,00,*4A\r\n$IIDBT,045.24,f,013.79,M,007.45,F*2C\r\n$GPGLL,5955.673,N,02321.069,E,130438,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.66,N,,*01\r\n$IIVTG,227.83,T,227.83,M,6.10,N,,,D*63\r\n$IIMWV,024,R,07.19,N,A*2A\r\n$IIVWT,085,R,02.95,N,01.52,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130439,,,,00,*44\r\n$IIDBT,045.17,f,013.77,M,007.44,F*23\r\n$GPGLL,5955.671,N,02321.064,E,130440,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.32,N,01.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,228.26,T,228.26,M,6.05,N,,,D*67\r\n$IIMWV,086,T,03.84,N,A*24\r\n$IIVWT,086,R,03.84,N,01.98,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130442,,,,00,*48\r\n$IIDBT,045.37,f,013.83,M,007.47,F*29\r\n$GPGLL,5955.669,N,02321.059,E,130442,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.28,N,,*0B\r\n$IIVTG,228.74,T,228.74,M,6.01,N,,,D*63\r\n$IIMWV,031,R,07.19,N,A*2E\r\n$IIVWT,092,R,03.71,N,01.91,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130444,,,,00,*4E\r\n$IIDBT,045.43,f,013.85,M,007.48,F*23\r\n$GPGLL,5955.666,N,02321.054,E,130444,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.01,N,01.55,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,228.86,T,228.86,M,6.03,N,,,D*61\r\n$IIMWV,097,T,04.17,N,A*29\r\n$IIVWT,097,R,04.17,N,02.15,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130446,,,,00,*4C\r\n$IIDBT,045.43,f,013.85,M,007.48,F*23\r\n$GPGLL,5955.664,N,02321.049,E,130446,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.80,N,,*24\r\n$IIVTG,228.94,T,228.94,M,6.01,N,,,D*63\r\n$IIMWV,036,R,07.19,N,A*29\r\n$IIVWT,095,R,04.19,N,02.16,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130448,,,,00,*42\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5955.662,N,02321.044,E,130448,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.70,N,,*2B\r\n$IIVTG,229.56,T,229.56,M,6.00,N,,,D*62\r\n$IIMWV,102,T,04.14,N,A*27\r\n$IIVWT,102,R,04.14,N,02.13,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130450,,,,00,*4B\r\n$IIDBT,046.22,f,014.09,M,007.61,F*2F\r\n$GPGLL,5955.660,N,02321.039,E,130450,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.55,N,,*2D\r\n$IIVTG,229.52,T,229.52,M,6.00,N,,,D*62\r\n$IIMWV,041,R,06.80,N,A*28\r\n$IIVWT,105,R,04.56,N,02.35,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130452,,,,00,*49\r\n$IIDBT,046.12,f,014.06,M,007.59,F*28\r\n$GPGLL,5955.658,N,02321.034,E,130452,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.67,N,01.89,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.12,N,,*2D\r\n$IIVTG,229.41,T,229.41,M,6.00,N,,,D*62\r\n$IIMWV,111,T,04.29,N,A*2B\r\n$IIVWT,111,R,04.29,N,02.21,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130454,,,,00,*4F\r\n$IIDBT,046.22,f,014.09,M,007.61,F*2F\r\n$GPGLL,5955.655,N,02321.029,E,130454,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.37,N,,*2A\r\n$IIVTG,229.30,T,229.30,M,6.08,N,,,D*6A\r\n$IIMWV,043,R,06.22,N,A*22\r\n$IIVWT,113,R,04.60,N,02.37,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130456,,,,00,*4D\r\n$IIDBT,045.86,f,013.98,M,007.55,F*2A\r\n$GPGLL,5955.653,N,02321.024,E,130456,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.56,N,02.35,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.20,N,,*2C\r\n$IIVTG,229.15,T,229.15,M,6.02,N,,,D*60\r\n$IIMWV,111,T,04.17,N,A*26\r\n$IIVWT,111,R,04.17,N,02.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130458,,,,00,*43\r\n$IIDBT,045.93,f,014.00,M,007.56,F*2B\r\n$GPGLL,5955.651,N,02321.019,E,130458,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.39,N,,*27\r\n$IIVTG,229.39,T,229.39,M,6.05,N,,,D*67\r\n$IIMWV,038,R,06.22,N,A*2E\r\n$IIVWT,110,R,04.08,N,02.10,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130500,,,,00,*4F\r\n$IIDBT,046.09,f,014.05,M,007.59,F*21\r\n$GPGLL,5955.649,N,02321.014,E,130500,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,229.75,T,229.75,M,6.09,N,,,D*6B\r\n$IIMWV,114,T,04.78,N,A*2A\r\n$IIVWT,114,R,04.78,N,02.46,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130502,,,,00,*4D\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,5955.647,N,02321.008,E,130502,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.82,N,,*24\r\n$IIVTG,229.86,T,229.86,M,6.10,N,,,D*63\r\n$IIMWV,042,R,05.44,N,A*20\r\n$IIVWT,122,R,04.31,N,02.22,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130504,,,,00,*4B\r\n$IIDBT,046.25,f,014.10,M,007.62,F*23\r\n$GPGLL,5955.644,N,02321.003,E,130504,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.06,N,02.09,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.60,N,,*29\r\n$IIVTG,229.64,T,229.64,M,6.10,N,,,D*63\r\n$IIMWV,124,T,03.82,N,A*2B\r\n$IIVWT,124,R,03.82,N,01.97,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130506,,,,00,*49\r\n$IIDBT,046.65,f,014.22,M,007.68,F*2C\r\n$GPGLL,5955.642,N,02320.998,E,130506,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.05,N,01.57,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,229.38,T,229.38,M,6.10,N,,,D*63\r\n$IIMWV,029,R,05.24,N,A*2B\r\n$IIVWT,124,R,03.05,N,01.57,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130508,,,,00,*47\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,5955.639,N,02320.991,E,130508,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,229.04,T,229.04,M,6.01,N,,,D*63\r\n$IIMWV,111,T,02.19,N,A*2E\r\n$IIVWT,111,R,02.19,N,01.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130510,,,,00,*4E\r\n$IIDBT,046.42,f,014.15,M,007.64,F*21\r\n$GPGLL,5955.637,N,02320.986,E,130510,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.92,N,,*25\r\n$IIVTG,228.78,T,228.78,M,6.00,N,,,D*62\r\n$IIMWV,015,R,05.83,N,A*29\r\n$IIVWT,112,R,01.65,N,00.85,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130512,,,,00,*4C\r\n$IIDBT,046.35,f,014.13,M,007.63,F*20\r\n$GPGLL,5955.635,N,02320.981,E,130513,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,228.54,T,228.54,M,6.00,N,,,D*62\r\n$IIMWV,116,T,01.71,N,A*24\r\n$IIVWT,116,R,01.71,N,00.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130514,,,,00,*4A\r\n$IIDBT,046.65,f,014.22,M,007.68,F*2C\r\n$GPGLL,5955.632,N,02320.976,E,130515,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.01,N,,*2E\r\n$IIVTG,228.66,T,228.66,M,6.00,N,,,D*62\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,117,R,01.30,N,00.67,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130516,,,,00,*48\r\n$IIDBT,046.94,f,014.31,M,007.73,F*2A\r\n$GPGLL,5955.630,N,02320.971,E,130517,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,228.77,T,228.77,M,6.00,N,,,D*62\r\n$IIMWV,126,T,01.90,N,A*28\r\n$IIVWT,126,R,01.90,N,00.98,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130518,,,,00,*46\r\n$IIDBT,046.71,f,014.24,M,007.69,F*2E\r\n$GPGLL,5955.628,N,02320.966,E,130519,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.50,N,,*2A\r\n$IIVTG,228.42,T,228.42,M,6.05,N,,,D*67\r\n$IIMWV,017,R,05.44,N,A*20\r\n$IIVWT,126,R,01.92,N,00.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130520,,,,00,*4D\r\n$IIDBT,047.14,f,014.37,M,007.76,F*20\r\n$GPGLL,5955.626,N,02320.961,E,130521,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.69,N,,*20\r\n$IIVTG,228.60,T,228.60,M,6.09,N,,,D*6B\r\n$IIMWV,129,T,01.92,N,A*25\r\n$IIVWT,129,R,01.92,N,00.99,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130522,,,,00,*4F\r\n$IIDBT,046.98,f,014.32,M,007.74,F*22\r\n$GPGLL,5955.624,N,02320.956,E,130523,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,228.90,T,228.90,M,6.05,N,,,D*67\r\n$IIMWV,023,R,05.44,N,A*27\r\n$IIVWT,124,R,02.54,N,01.31,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130525,,,,00,*48\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5955.621,N,02320.951,E,130525,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,229.35,T,229.35,M,6.01,N,,,D*63\r\n$IIMWV,133,T,01.96,N,A*2A\r\n$IIVWT,133,R,01.96,N,01.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130527,,,,00,*4A\r\n$IIDBT,047.60,f,014.51,M,007.84,F*2E\r\n$GPGLL,5955.619,N,02320.946,E,130527,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.58,N,01.33,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,229.61,T,229.61,M,6.00,N,,,D*62\r\n$IIMWV,020,R,05.24,N,A*22\r\n$IIVWT,128,R,02.21,N,01.14,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130529,,,,00,*44\r\n$IIDBT,047.60,f,014.51,M,007.84,F*2E\r\n$GPGLL,5955.617,N,02320.941,E,130529,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.14,N,,*2D\r\n$IIVTG,229.78,T,229.78,M,6.00,N,,,D*62\r\n$IIMWV,138,T,02.29,N,A*26\r\n$IIVWT,138,R,02.29,N,01.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130531,,,,00,*4D\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5955.615,N,02320.936,E,130531,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.08,N,,*21\r\n$IIVTG,230.27,T,230.27,M,6.00,N,,,D*62\r\n$IIMWV,012,R,04.85,N,A*29\r\n$IIVWT,148,R,01.84,N,00.95,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130533,,,,00,*4F\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.613,N,02320.931,E,130533,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.28,N,,*22\r\n$IIVTG,230.54,T,230.54,M,6.00,N,,,D*62\r\n$IIMWV,132,T,02.02,N,A*25\r\n$IIVWT,132,R,02.02,N,01.04,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130535,,,,00,*49\r\n$IIDBT,047.53,f,014.49,M,007.83,F*20\r\n$GPGLL,5955.611,N,02320.926,E,130535,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.49,N,,*25\r\n$IIVTG,230.63,T,230.63,M,6.00,N,,,D*62\r\n$IIMWV,018,R,04.85,N,A*23\r\n$IIVWT,136,R,02.19,N,01.13,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130537,,,,00,*4B\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5955.609,N,02320.921,E,130537,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,230.51,T,230.51,M,6.00,N,,,D*62\r\n$IIMWV,135,T,02.46,N,A*22\r\n$IIVWT,135,R,02.46,N,01.27,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130539,,,,00,*45\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5955.607,N,02320.915,E,130539,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,230.20,T,230.20,M,6.00,N,,,D*62\r\n$IIMWV,016,R,05.44,N,A*21\r\n$IIVWT,124,R,01.80,N,00.93,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130541,,,,00,*4A\r\n$IIDBT,048.29,f,014.72,M,007.95,F*2D\r\n$GPGLL,5955.604,N,02320.910,E,130541,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.48,N,,*23\r\n$IIVTG,229.90,T,229.90,M,6.00,N,,,D*62\r\n$IIMWV,112,T,01.96,N,A*29\r\n$IIVWT,112,R,01.96,N,01.01,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130543,,,,00,*48\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.602,N,02320.905,E,130543,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.87,N,,*20\r\n$IIVTG,229.77,T,229.77,M,5.95,N,,,D*6D\r\n$IIMWV,017,R,05.44,N,A*20\r\n$IIVWT,125,R,01.88,N,00.97,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130545,,,,00,*4E\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.600,N,02320.900,E,130545,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.58,N,,*23\r\n$IIVTG,229.82,T,229.82,M,5.91,N,,,D*69\r\n$IIMWV,113,T,01.96,N,A*28\r\n$IIVWT,113,R,01.96,N,01.01,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130547,,,,00,*4C\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.598,N,02320.896,E,130547,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,229.81,T,229.81,M,5.95,N,,,D*6D\r\n$IIMWV,023,R,05.83,N,A*2C\r\n$IIVWT,112,R,02.39,N,01.23,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130549,,,,00,*42\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.595,N,02320.888,E,130549,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,229.90,T,229.90,M,5.99,N,,,D*61\r\n$IIMWV,122,T,01.98,N,A*24\r\n$IIVWT,122,R,01.98,N,01.02,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130551,,,,00,*4B\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,5955.593,N,02320.883,E,130551,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.25,N,,*28\r\n$IIVTG,230.30,T,230.30,M,6.00,N,,,D*62\r\n$IIMWV,022,R,05.44,N,A*26\r\n$IIVWT,120,R,02.33,N,01.20,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130553,,,,00,*49\r\n$IIDBT,047.50,f,014.48,M,007.82,F*23\r\n$GPGLL,5955.591,N,02320.878,E,130553,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.31,N,,*2C\r\n$IIVTG,230.50,T,230.50,M,5.92,N,,,D*6A\r\n$IIMWV,121,T,02.66,N,A*25\r\n$IIVWT,121,R,02.66,N,01.37,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130555,,,,00,*4F\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5955.589,N,02320.873,E,130556,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.70,N,01.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.47,N,,*2D\r\n$IIVTG,230.08,T,230.08,M,5.91,N,,,D*69\r\n$IIMWV,025,R,05.83,N,A*2A\r\n$IIVWT,114,R,02.66,N,01.37,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130557,,,,00,*4D\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.586,N,02320.868,E,130558,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.18,N,,*26\r\n$IIVTG,229.79,T,229.79,M,5.90,N,,,D*68\r\n$IIMWV,120,T,02.68,N,A*2A\r\n$IIVWT,120,R,02.68,N,01.38,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130559,,,,00,*43\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5955.584,N,02320.863,E,130600,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.10,N,,*2E\r\n$IIVTG,229.70,T,229.70,M,5.90,N,,,D*68\r\n$IIMWV,029,R,05.44,N,A*2D\r\n$IIVWT,120,R,02.97,N,01.53,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130601,,,,00,*4D\r\n$IIDBT,047.30,f,014.42,M,007.79,F*2B\r\n$GPGLL,5955.582,N,02320.858,E,130602,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.01,N,,*29\r\n$IIVTG,229.65,T,229.65,M,5.95,N,,,D*6D\r\n$IIMWV,126,T,02.48,N,A*2E\r\n$IIVWT,126,R,02.48,N,01.28,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130603,,,,00,*4F\r\n$IIDBT,047.30,f,014.42,M,007.79,F*2B\r\n$GPGLL,5955.580,N,02320.853,E,130604,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.76,N,,*2E\r\n$IIVTG,229.54,T,229.54,M,5.91,N,,,D*69\r\n$IIMWV,020,R,05.24,N,A*22\r\n$IIVWT,127,R,02.23,N,01.15,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130605,,,,00,*49\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5955.578,N,02320.848,E,130606,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.57,N,,*2A\r\n$IIVTG,229.66,T,229.66,M,5.95,N,,,D*6D\r\n$IIMWV,136,T,02.81,N,A*2A\r\n$IIVWT,136,R,02.81,N,01.45,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130608,,,,00,*44\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.576,N,02320.843,E,130608,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,229.71,T,229.71,M,5.91,N,,,D*69\r\n$IIMWV,027,R,05.83,N,A*28\r\n$IIVWT,113,R,02.83,N,01.46,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130610,,,,00,*4D\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.574,N,02320.838,E,130610,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,230.03,T,230.03,M,5.90,N,,,D*68\r\n$IIMWV,115,T,03.51,N,A*27\r\n$IIVWT,115,R,03.51,N,01.81,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130612,,,,00,*4F\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5955.572,N,02320.833,E,130612,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,230.33,T,230.33,M,5.95,N,,,D*6D\r\n$IIMWV,035,R,05.83,N,A*2B\r\n$IIVWT,114,R,03.61,N,01.86,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130614,,,,00,*49\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.570,N,02320.828,E,130614,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.49,N,01.80,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,230.41,T,230.41,M,5.96,N,,,D*6E\r\n$IIMWV,115,T,03.82,N,A*29\r\n$IIVWT,115,R,03.82,N,01.97,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130616,,,,00,*4B\r\n$IIDBT,046.91,f,014.30,M,007.72,F*2F\r\n$GPGLL,5955.567,N,02320.823,E,130616,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.95,N,,*21\r\n$IIVTG,229.93,T,229.93,M,5.94,N,,,D*6C\r\n$IIMWV,029,R,06.22,N,A*2E\r\n$IIVWT,107,R,03.12,N,01.61,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130618,,,,00,*45\r\n$IIDBT,047.01,f,014.33,M,007.74,F*22\r\n$GPGLL,5955.565,N,02320.818,E,130618,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.17,N,,*2B\r\n$IIVTG,229.83,T,229.83,M,5.99,N,,,D*61\r\n$IIMWV,100,T,02.58,N,A*2B\r\n$IIVWT,100,R,02.58,N,01.33,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130620,,,,00,*4E\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.563,N,02320.813,E,130620,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.48,N,,*21\r\n$IIVTG,229.71,T,229.71,M,5.97,N,,,D*6F\r\n$IIMWV,038,R,07.19,N,A*27\r\n$IIVWT,098,R,04.43,N,02.28,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130622,,,,00,*4C\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.561,N,02320.808,E,130622,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.49,N,02.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.81,N,,*24\r\n$IIVTG,229.98,T,229.98,M,5.92,N,,,D*6A\r\n$IIMWV,106,T,03.75,N,A*23\r\n$IIVWT,106,R,03.75,N,01.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130624,,,,00,*4A\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5955.559,N,02320.803,E,130624,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.36,N,,*2B\r\n$IIVTG,229.82,T,229.82,M,5.93,N,,,D*6B\r\n$IIMWV,041,R,06.22,N,A*20\r\n$IIVWT,112,R,04.37,N,02.25,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130626,,,,00,*48\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5955.557,N,02320.798,E,130626,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.47,N,01.79,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-1.81,N,,*24\r\n$IIVTG,229.53,T,229.53,M,5.91,N,,,D*69\r\n$IIMWV,107,T,03.30,N,A*23\r\n$IIVWT,107,R,03.30,N,01.70,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130628,,,,00,*46\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.555,N,02320.793,E,130628,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,229.36,T,229.36,M,5.90,N,,,D*68\r\n$IIMWV,026,R,05.44,N,A*22\r\n$IIVWT,122,R,02.81,N,01.45,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130630,,,,00,*4F\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.552,N,02320.788,E,130630,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.44,N,01.77,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,229.07,T,229.07,M,5.90,N,,,D*68\r\n$IIMWV,119,T,03.26,N,A*2B\r\n$IIVWT,119,R,03.26,N,01.68,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130632,,,,00,*4D\r\n$IIDBT,046.94,f,014.31,M,007.73,F*2A\r\n$GPGLL,5955.549,N,02320.780,E,130632,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.47,N,02.30,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.06,N,,*2E\r\n$IIVTG,228.79,T,228.79,M,5.90,N,,,D*68\r\n$IIMWV,046,R,04.85,N,A*28\r\n$IIVWT,130,R,04.54,N,02.34,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130634,,,,00,*4B\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.547,N,02320.776,E,130634,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.05,N,,*2D\r\n$IIVTG,228.36,T,228.36,M,5.90,N,,,D*68\r\n$IIMWV,131,T,04.80,N,A*2A\r\n$IIVWT,131,R,04.80,N,02.47,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130636,,,,00,*49\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.545,N,02320.771,E,130636,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.95,N,02.55,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.12,N,,*2B\r\n$IIVTG,228.12,T,228.12,M,5.90,N,,,D*68\r\n$IIMWV,047,R,04.85,N,A*29\r\n$IIVWT,130,R,04.60,N,02.37,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130638,,,,00,*47\r\n$IIDBT,046.71,f,014.24,M,007.69,F*2E\r\n$GPGLL,5955.543,N,02320.766,E,130639,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.33,N,,*28\r\n$IIVTG,227.63,T,227.63,M,5.90,N,,,D*68\r\n$IIMWV,134,T,04.19,N,A*2F\r\n$IIVWT,134,R,04.19,N,02.16,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130640,,,,00,*48\r\n$IIDBT,046.75,f,014.25,M,007.70,F*23\r\n$GPGLL,5955.540,N,02320.761,E,130641,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,227.98,T,227.98,M,5.90,N,,,D*68\r\n$IIMWV,032,R,05.44,N,A*27\r\n$IIVWT,120,R,03.26,N,01.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130642,,,,00,*4A\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.538,N,02320.756,E,130643,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.10,N,,*2F\r\n$IIVTG,228.97,T,228.97,M,5.90,N,,,D*68\r\n$IIMWV,106,T,03.75,N,A*23\r\n$IIVWT,106,R,03.75,N,01.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130644,,,,00,*4C\r\n$IIDBT,047.60,f,014.51,M,007.84,F*2E\r\n$GPGLL,5955.536,N,02320.751,E,130645,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.51,N,,*29\r\n$IIVTG,228.74,T,228.74,M,5.90,N,,,D*68\r\n$IIMWV,026,R,06.22,N,A*21\r\n$IIVWT,104,R,02.76,N,01.42,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130646,,,,00,*4E\r\n$IIDBT,046.71,f,014.24,M,007.69,F*2E\r\n$GPGLL,5955.534,N,02320.746,E,130647,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,229.56,T,229.56,M,5.90,N,,,D*68\r\n$IIMWV,125,T,04.33,N,A*27\r\n$IIVWT,125,R,04.33,N,02.23,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130648,,,,00,*40\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5955.532,N,02320.741,E,130649,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.62,N,,*2B\r\n$IIVTG,229.47,T,229.47,M,5.90,N,,,D*68\r\n$IIMWV,034,R,05.24,N,A*27\r\n$IIVWT,124,R,03.49,N,01.80,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130651,,,,00,*48\r\n$IIDBT,046.71,f,014.24,M,007.69,F*2E\r\n$GPGLL,5955.530,N,02320.737,E,130651,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.40,N,01.75,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,228.44,T,228.44,M,5.90,N,,,D*68\r\n$IIMWV,131,T,05.20,N,A*21\r\n$IIVWT,131,R,05.20,N,02.68,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130653,,,,00,*4A\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5955.527,N,02320.732,E,130653,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.20,N,,*2A\r\n$IIVTG,227.76,T,227.76,M,5.90,N,,,D*68\r\n$IIMWV,027,R,04.85,N,A*2F\r\n$IIVWT,132,R,02.99,N,01.54,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130655,,,,00,*4C\r\n$IIDBT,046.78,f,014.26,M,007.70,F*2D\r\n$GPGLL,5955.525,N,02320.727,E,130655,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.97,N,02.56,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.57,N,,*2A\r\n$IIVTG,228.26,T,228.26,M,5.90,N,,,D*68\r\n$IIMWV,135,T,04.87,N,A*29\r\n$IIVWT,135,R,04.87,N,02.51,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130657,,,,00,*4E\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.523,N,02320.722,E,130657,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,228.26,T,228.26,M,5.90,N,,,D*68\r\n$IIMWV,011,R,04.27,N,A*22\r\n$IIVWT,158,R,02.25,N,01.16,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130659,,,,00,*40\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.521,N,02320.717,E,130659,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.64,N,01.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.16,N,,*2E\r\n$IIVTG,227.36,T,227.36,M,5.90,N,,,D*68\r\n$IIMWV,136,T,02.35,N,A*25\r\n$IIVWT,136,R,02.35,N,01.21,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130701,,,,00,*4C\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5955.519,N,02320.712,E,130701,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,228.16,T,228.16,M,5.95,N,,,D*6D\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,169,L,01.96,N,01.01,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130703,,,,00,*4E\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5955.516,N,02320.707,E,130703,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.36,N,,*2F\r\n$IIVTG,228.66,T,228.66,M,5.94,N,,,D*6C\r\n$IIMWV,157,T,02.07,N,A*23\r\n$IIVWT,157,R,02.07,N,01.07,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130705,,,,00,*48\r\n$IIDBT,046.98,f,014.32,M,007.74,F*22\r\n$GPGLL,5955.514,N,02320.702,E,130705,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.24,N,,*2F\r\n$IIVTG,229.54,T,229.54,M,5.91,N,,,D*69\r\n$IIMWV,012,R,04.85,N,A*29\r\n$IIVWT,147,R,01.80,N,00.93,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130707,,,,00,*4A\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5955.512,N,02320.697,E,130707,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.69,N,,*27\r\n$IIVTG,230.69,T,230.69,M,5.90,N,,,D*68\r\n$IIMWV,133,T,01.86,N,A*2B\r\n$IIVWT,133,R,01.86,N,00.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130709,,,,00,*44\r\n$IIDBT,046.91,f,014.30,M,007.72,F*2F\r\n$GPGLL,5955.510,N,02320.693,E,130709,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,229.25,T,229.25,M,5.90,N,,,D*68\r\n$IIMWV,013,R,05.24,N,A*22\r\n$IIVWT,136,R,01.59,N,00.82,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130711,,,,00,*4D\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5955.508,N,02320.688,E,130711,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,228.43,T,228.43,M,5.90,N,,,D*68\r\n$IIMWV,124,T,01.84,N,A*2F\r\n$IIVWT,124,R,01.84,N,00.95,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130713,,,,00,*4F\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5955.506,N,02320.683,E,130713,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.77,N,,*2F\r\n$IIVTG,227.28,T,227.28,M,5.90,N,,,D*68\r\n$IIMWV,015,R,05.44,N,A*22\r\n$IIVWT,124,R,01.71,N,00.88,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130715,,,,00,*49\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5955.502,N,02320.676,E,130715,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.38,N,,*23\r\n$IIVTG,226.25,T,226.25,M,5.90,N,,,D*68\r\n$IIMWV,115,T,01.55,N,A*21\r\n$IIVWT,115,R,01.55,N,00.80,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130717,,,,00,*4B\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,5955.500,N,02320.671,E,130717,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.70,N,,*28\r\n$IIVTG,226.21,T,226.21,M,5.90,N,,,D*68\r\n$IIMWV,017,R,04.85,N,A*2C\r\n$IIVWT,139,R,02.11,N,01.09,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130719,,,,00,*45\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5955.498,N,02320.666,E,130719,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.87,N,,*27\r\n$IIVTG,226.27,T,226.27,M,5.90,N,,,D*68\r\n$IIMWV,143,T,02.00,N,A*21\r\n$IIVWT,143,R,02.00,N,01.03,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130721,,,,00,*4E\r\n$IIDBT,047.01,f,014.33,M,007.74,F*22\r\n$GPGLL,5955.496,N,02320.662,E,130722,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.88,N,,*28\r\n$IIVTG,226.72,T,226.72,M,5.90,N,,,D*68\r\n$IIMWV,016,R,04.85,N,A*2D\r\n$IIVWT,142,R,02.11,N,01.09,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130723,,,,00,*4C\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5955.493,N,02320.657,E,130724,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,227.33,T,227.33,M,5.90,N,,,D*68\r\n$IIMWV,133,T,02.76,N,A*27\r\n$IIVWT,133,R,02.76,N,01.42,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130725,,,,00,*4A\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5955.491,N,02320.652,E,130726,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.57,N,,*2A\r\n$IIVTG,227.76,T,227.76,M,5.90,N,,,D*68\r\n$IIMWV,020,R,04.85,N,A*28\r\n$IIVWT,137,R,02.37,N,01.22,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130727,,,,00,*48\r\n$IIDBT,047.24,f,014.40,M,007.78,F*2D\r\n$GPGLL,5955.489,N,02320.647,E,130728,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.92,N,,*23\r\n$IIVTG,227.91,T,227.91,M,5.90,N,,,D*68\r\n$IIMWV,142,T,01.38,N,A*28\r\n$IIVWT,142,R,01.38,N,00.71,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130729,,,,00,*46\r\n$IIDBT,047.57,f,014.50,M,007.83,F*2C\r\n$GPGLL,5955.487,N,02320.642,E,130730,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.27,N,,*2C\r\n$IIVTG,227.96,T,227.96,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.24,N,A*29\r\n$IIVWT,144,R,01.38,N,00.71,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130731,,,,00,*4F\r\n$IIDBT,047.37,f,014.44,M,007.80,F*2C\r\n$GPGLL,5955.485,N,02320.638,E,130732,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.90,N,,*20\r\n$IIVTG,228.29,T,228.29,M,5.90,N,,,D*68\r\n$IIMWV,165,T,01.22,N,A*26\r\n$IIVWT,165,R,01.22,N,00.63,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130734,,,,00,*4A\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5955.482,N,02320.633,E,130734,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,228.37,T,228.37,M,5.90,N,,,D*68\r\n$IIMWV,356,R,04.85,N,A*2A\r\n$IIVWT,167,L,01.49,N,00.77,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130736,,,,00,*48\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5955.480,N,02320.628,E,130736,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,228.22,T,228.22,M,5.90,N,,,D*68\r\n$IIMWV,189,T,01.51,N,A*20\r\n$IIVWT,171,L,01.51,N,00.78,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130738,,,,00,*46\r\n$IIDBT,047.37,f,014.44,M,007.80,F*2C\r\n$GPGLL,5955.478,N,02320.623,E,130738,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,228.23,T,228.23,M,5.98,N,,,D*60\r\n$IIMWV,006,R,04.85,N,A*2C\r\n$IIVWT,162,R,01.65,N,00.85,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130740,,,,00,*49\r\n$IIDBT,047.43,f,014.46,M,007.81,F*2C\r\n$GPGLL,5955.476,N,02320.618,E,130740,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.40,N,,*2D\r\n$IIVTG,227.91,T,227.91,M,5.99,N,,,D*61\r\n$IIMWV,151,T,01.80,N,A*29\r\n$IIVWT,151,R,01.80,N,00.93,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130742,,,,00,*4B\r\n$IIDBT,047.40,f,014.45,M,007.81,F*2C\r\n$GPGLL,5955.474,N,02320.613,E,130742,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,227.85,T,227.85,M,5.92,N,,,D*6A\r\n$IIMWV,005,R,04.47,N,A*21\r\n$IIVWT,169,R,01.84,N,00.95,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130744,,,,00,*4D\r\n$IIDBT,047.76,f,014.56,M,007.87,F*2D\r\n$GPGLL,5955.471,N,02320.608,E,130744,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.85,N,,*24\r\n$IIVTG,228.38,T,228.38,M,5.91,N,,,D*69\r\n$IIMWV,158,T,02.04,N,A*2F\r\n$IIVWT,158,R,02.04,N,01.05,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130746,,,,00,*4F\r\n$IIDBT,047.47,f,014.47,M,007.82,F*2A\r\n$GPGLL,5955.469,N,02320.603,E,130746,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,228.65,T,228.65,M,5.90,N,,,D*68\r\n$IIMWV,002,R,04.47,N,A*26\r\n$IIVWT,175,R,01.84,N,00.95,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130748,,,,00,*41\r\n$IIDBT,048.12,f,014.67,M,007.92,F*26\r\n$GPGLL,5955.467,N,02320.599,E,130748,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,228.76,T,228.76,M,5.90,N,,,D*68\r\n$IIMWV,169,T,01.63,N,A*2F\r\n$IIVWT,169,R,01.63,N,00.84,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130750,,,,00,*48\r\n$IIDBT,048.09,f,014.66,M,007.92,F*2D\r\n$GPGLL,5955.465,N,02320.594,E,130750,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,229.29,T,229.29,M,5.90,N,,,D*68\r\n$IIMWV,359,R,04.47,N,A*2B\r\n$IIVWT,176,L,01.76,N,00.91,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130752,,,,00,*4A\r\n$IIDBT,048.39,f,014.75,M,007.97,F*29\r\n$GPGLL,5955.463,N,02320.589,E,130752,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,230.65,T,230.65,M,5.90,N,,,D*68\r\n$IIMWV,181,T,01.84,N,A*20\r\n$IIVWT,179,L,01.84,N,00.95,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130754,,,,00,*4C\r\n$IIDBT,048.39,f,014.75,M,007.97,F*29\r\n$GPGLL,5955.461,N,02320.584,E,130754,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,231.03,T,231.03,M,5.90,N,,,D*68\r\n$IIMWV,004,R,04.85,N,A*2E\r\n$IIVWT,168,R,01.49,N,00.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130756,,,,00,*4E\r\n$IIDBT,048.22,f,014.70,M,007.94,F*25\r\n$GPGLL,5955.459,N,02320.579,E,130756,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,231.24,T,231.24,M,5.90,N,,,D*68\r\n$IIMWV,192,T,01.43,N,A*29\r\n$IIVWT,168,L,01.43,N,00.74,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130758,,,,00,*40\r\n$IIDBT,049.57,f,015.11,M,008.16,F*25\r\n$GPGLL,5955.456,N,02320.571,E,130758,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.94,N,,*24\r\n$IIVTG,231.13,T,231.13,M,5.90,N,,,D*68\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,170,L,01.45,N,00.75,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130800,,,,00,*42\r\n$IIDBT,048.12,f,014.67,M,007.92,F*26\r\n$GPGLL,5955.454,N,02320.566,E,130800,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.87,N,,*26\r\n$IIVTG,231.03,T,231.03,M,5.90,N,,,D*68\r\n$IIMWV,167,T,01.43,N,A*23\r\n$IIVWT,167,R,01.43,N,00.74,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130802,,,,00,*40\r\n$IIDBT,048.16,f,014.68,M,007.93,F*2C\r\n$GPGLL,5955.452,N,02320.561,E,130802,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,231.33,T,231.33,M,5.90,N,,,D*68\r\n$IIMWV,004,R,04.85,N,A*2E\r\n$IIVWT,167,R,01.49,N,00.77,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130804,,,,00,*46\r\n$IIDBT,048.45,f,014.77,M,007.98,F*2F\r\n$GPGLL,5955.450,N,02320.556,E,130805,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.34,N,,*2E\r\n$IIVTG,231.18,T,231.18,M,5.90,N,,,D*68\r\n$IIMWV,148,T,01.84,N,A*25\r\n$IIVWT,148,R,01.84,N,00.95,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130806,,,,00,*44\r\n$IIDBT,048.35,f,014.74,M,007.96,F*25\r\n$GPGLL,5955.448,N,02320.551,E,130807,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.58,N,,*25\r\n$IIVTG,232.25,T,232.25,M,5.90,N,,,D*68\r\n$IIMWV,021,R,04.85,N,A*29\r\n$IIVWT,137,R,02.48,N,01.28,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130808,,,,00,*4A\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5955.446,N,02320.545,E,130809,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.82,N,,*22\r\n$IIVTG,232.64,T,232.64,M,5.93,N,,,D*6B\r\n$IIMWV,137,T,02.33,N,A*22\r\n$IIVWT,137,R,02.33,N,01.20,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130810,,,,00,*43\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5955.444,N,02320.540,E,130811,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.35,N,,*2F\r\n$IIVTG,231.16,T,231.16,M,5.91,N,,,D*69\r\n$IIMWV,011,R,04.85,N,A*2A\r\n$IIVWT,148,R,01.78,N,00.92,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130812,,,,00,*41\r\n$IIDBT,048.48,f,014.78,M,007.98,F*2D\r\n$GPGLL,5955.441,N,02320.535,E,130813,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.18,N,,*20\r\n$IIVTG,230.57,T,230.57,M,5.90,N,,,D*68\r\n$IIMWV,141,T,02.07,N,A*24\r\n$IIVWT,141,R,02.07,N,01.07,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130814,,,,00,*47\r\n$IIDBT,048.75,f,014.86,M,008.03,F*2F\r\n$GPGLL,5955.439,N,02320.530,E,130815,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.24,N,,*2F\r\n$IIVTG,230.04,T,230.04,M,5.90,N,,,D*68\r\n$IIMWV,012,R,04.85,N,A*29\r\n$IIVWT,147,R,01.80,N,00.93,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130817,,,,00,*44\r\n$IIDBT,048.81,f,014.88,M,008.04,F*2D\r\n$GPGLL,5955.437,N,02320.525,E,130817,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.79,N,,*26\r\n$IIVTG,229.59,T,229.59,M,5.90,N,,,D*68\r\n$IIMWV,138,T,02.21,N,A*2E\r\n$IIVWT,138,R,02.21,N,01.14,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130819,,,,00,*4A\r\n$IIDBT,049.30,f,015.03,M,008.12,F*23\r\n$GPGLL,5955.435,N,02320.520,E,130819,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.73,N,,*2C\r\n$IIVTG,229.49,T,229.49,M,5.90,N,,,D*68\r\n$IIMWV,017,R,04.85,N,A*2C\r\n$IIVWT,139,R,02.17,N,01.12,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130821,,,,00,*41\r\n$IIDBT,048.88,f,014.90,M,008.05,F*2C\r\n$GPGLL,5955.433,N,02320.515,E,130821,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.35,N,,*2C\r\n$IIVTG,229.47,T,229.47,M,5.90,N,,,D*68\r\n$IIMWV,185,T,01.53,N,A*2E\r\n$IIVWT,175,L,01.53,N,00.79,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130823,,,,00,*43\r\n$IIDBT,048.88,f,014.90,M,008.05,F*2C\r\n$GPGLL,5955.431,N,02320.511,E,130823,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.25,N,,*2E\r\n$IIVTG,228.67,T,228.67,M,5.98,N,,,D*60\r\n$IIMWV,020,R,04.47,N,A*26\r\n$IIVWT,144,R,02.60,N,01.34,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130825,,,,00,*45\r\n$IIDBT,049.01,f,014.94,M,008.07,F*2A\r\n$GPGLL,5955.429,N,02320.506,E,130825,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.96,N,,*27\r\n$IIVTG,227.87,T,227.87,M,5.92,N,,,D*6A\r\n$IIMWV,142,T,02.87,N,A*2F\r\n$IIVWT,142,R,02.87,N,01.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130827,,,,00,*47\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,5955.426,N,02320.501,E,130827,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.45,N,,*2E\r\n$IIVTG,227.49,T,227.49,M,5.90,N,,,D*68\r\n$IIMWV,037,R,05.24,N,A*24\r\n$IIVWT,125,R,03.82,N,01.97,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130829,,,,00,*49\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5955.424,N,02320.496,E,130829,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.57,N,01.84,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.43,N,,*28\r\n$IIVTG,227.35,T,227.35,M,5.90,N,,,D*68\r\n$IIMWV,123,T,03.53,N,A*20\r\n$IIVWT,123,R,03.53,N,01.82,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130831,,,,00,*40\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5955.422,N,02320.491,E,130831,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.31,N,,*2D\r\n$IIVTG,228.01,T,228.01,M,5.90,N,,,D*68\r\n$IIMWV,040,R,05.44,N,A*22\r\n$IIVWT,123,R,04.12,N,02.12,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130833,,,,00,*42\r\n$IIDBT,049.04,f,014.95,M,008.08,F*21\r\n$GPGLL,5955.420,N,02320.486,E,130833,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.08,N,,*27\r\n$IIVTG,229.30,T,229.30,M,5.93,N,,,D*6B\r\n$IIMWV,121,T,02.66,N,A*25\r\n$IIVWT,121,R,02.66,N,01.37,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130835,,,,00,*44\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5955.418,N,02320.481,E,130835,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.34,N,01.72,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.63,N,,*2A\r\n$IIVTG,230.10,T,230.10,M,5.93,N,,,D*6B\r\n$IIMWV,023,R,05.24,N,A*21\r\n$IIVWT,126,R,02.52,N,01.30,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130837,,,,00,*46\r\n$IIDBT,049.57,f,015.11,M,008.16,F*25\r\n$GPGLL,5955.416,N,02320.476,E,130837,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.18,N,,*21\r\n$IIVTG,230.13,T,230.13,M,5.91,N,,,D*69\r\n$IIMWV,134,T,02.58,N,A*2C\r\n$IIVWT,134,R,02.58,N,01.33,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130839,,,,00,*48\r\n$IIDBT,049.93,f,015.22,M,008.22,F*2A\r\n$GPGLL,5955.413,N,02320.471,E,130839,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.93,N,,*22\r\n$IIVTG,230.55,T,230.55,M,5.90,N,,,D*68\r\n$IIMWV,023,R,04.47,N,A*25\r\n$IIVWT,141,R,02.81,N,01.45,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130841,,,,00,*47\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5955.410,N,02320.464,E,130841,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.66,N,01.37,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.32,N,,*28\r\n$IIVTG,228.53,T,228.53,M,5.93,N,,,D*6B\r\n$IIMWV,147,T,02.77,N,A*25\r\n$IIVWT,147,R,02.77,N,01.43,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130843,,,,00,*45\r\n$IIDBT,049.37,f,015.05,M,008.13,F*23\r\n$GPGLL,5955.408,N,02320.459,E,130843,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.59,N,01.85,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.82,N,,*22\r\n$IIVTG,227.41,T,227.41,M,5.93,N,,,D*6B\r\n$IIMWV,034,R,04.27,N,A*25\r\n$IIVWT,140,R,03.63,N,01.87,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130845,,,,00,*43\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5955.406,N,02320.454,E,130845,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.30,N,01.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.08,N,,*20\r\n$IIVTG,227.48,T,227.48,M,5.91,N,,,D*69\r\n$IIMWV,132,T,03.11,N,A*26\r\n$IIVWT,132,R,03.11,N,01.60,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130847,,,,00,*41\r\n$IIDBT,049.34,f,015.04,M,008.12,F*20\r\n$GPGLL,5955.404,N,02320.449,E,130848,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.85,N,,*22\r\n$IIVTG,228.97,T,228.97,M,5.90,N,,,D*68\r\n$IIMWV,025,R,05.24,N,A*27\r\n$IIVWT,125,R,02.68,N,01.38,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130849,,,,00,*4F\r\n$IIDBT,049.47,f,015.08,M,008.15,F*2F\r\n$GPGLL,5955.402,N,02320.444,E,130850,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.12,N,,*2B\r\n$IIVTG,229.54,T,229.54,M,5.98,N,,,D*60\r\n$IIMWV,131,T,02.07,N,A*23\r\n$IIVWT,131,R,02.07,N,01.07,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130851,,,,00,*46\r\n$IIDBT,049.76,f,015.17,M,008.19,F*2F\r\n$GPGLL,5955.399,N,02320.439,E,130852,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.99,N,,*2F\r\n$IIVTG,229.04,T,229.04,M,5.99,N,,,D*61\r\n$IIMWV,020,R,04.85,N,A*28\r\n$IIVWT,138,R,02.46,N,01.27,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130853,,,,00,*44\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,5955.397,N,02320.434,E,130854,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.93,N,,*25\r\n$IIVTG,229.26,T,229.26,M,5.97,N,,,D*6F\r\n$IIMWV,129,T,02.07,N,A*2A\r\n$IIVWT,129,R,02.07,N,01.07,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130855,,,,00,*42\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5955.395,N,02320.429,E,130856,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.91,N,,*27\r\n$IIVTG,229.52,T,229.52,M,5.99,N,,,D*61\r\n$IIMWV,018,R,05.24,N,A*29\r\n$IIVWT,129,R,02.09,N,01.08,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130858,,,,00,*4F\r\n$IIDBT,049.40,f,015.06,M,008.14,F*27\r\n$GPGLL,5955.393,N,02320.424,E,130858,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.06,N,,*2E\r\n$IIVTG,229.18,T,229.18,M,5.95,N,,,D*6D\r\n$IIMWV,127,T,02.31,N,A*21\r\n$IIVWT,127,R,02.31,N,01.19,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130900,,,,00,*43\r\n$IIDBT,049.63,f,015.13,M,008.17,F*21\r\n$GPGLL,5955.391,N,02320.419,E,130900,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-3.46,N,,*2D\r\n$IIVTG,228.77,T,228.77,M,5.91,N,,,D*69\r\n$IIMWV,022,R,05.44,N,A*26\r\n$IIVWT,120,R,02.29,N,01.18,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130902,,,,00,*41\r\n$IIDBT,049.24,f,015.01,M,008.11,F*27\r\n$GPGLL,5955.389,N,02320.414,E,130902,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.70,N,,*28\r\n$IIVTG,228.02,T,228.02,M,5.90,N,,,D*68\r\n$IIMWV,126,T,01.86,N,A*2F\r\n$IIVWT,126,R,01.86,N,00.96,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130904,,,,00,*47\r\n$IIDBT,049.44,f,015.07,M,008.14,F*22\r\n$GPGLL,5955.386,N,02320.410,E,130904,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.21,N,,*2E\r\n$IIVTG,227.51,T,227.51,M,5.90,N,,,D*68\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,099,R,01.53,N,00.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130906,,,,00,*45\r\n$IIDBT,049.96,f,015.23,M,008.23,F*2F\r\n$GPGLL,5955.384,N,02320.405,E,130906,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.02,N,,*2F\r\n$IIVTG,227.80,T,227.80,M,5.90,N,,,D*68\r\n$IIMWV,103,T,01.41,N,A*23\r\n$IIVWT,103,R,01.41,N,00.73,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130908,,,,00,*4B\r\n$IIDBT,049.96,f,015.23,M,008.23,F*2F\r\n$GPGLL,5955.382,N,02320.400,E,130908,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,228.00,T,228.00,M,5.90,N,,,D*68\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,114,R,01.69,N,00.87,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130910,,,,00,*42\r\n$IIDBT,049.47,f,015.08,M,008.15,F*2F\r\n$GPGLL,5955.380,N,02320.395,E,130910,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.54,N,,*2F\r\n$IIVTG,227.68,T,227.68,M,5.90,N,,,D*68\r\n$IIMWV,116,T,01.51,N,A*26\r\n$IIVWT,116,R,01.51,N,00.78,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130912,,,,00,*40\r\n$IIDBT,049.53,f,015.10,M,008.16,F*20\r\n$GPGLL,5955.377,N,02320.390,E,130912,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,227.07,T,227.07,M,5.95,N,,,D*6D\r\n$IIMWV,010,R,05.83,N,A*2C\r\n$IIVWT,117,R,01.08,N,00.56,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130914,,,,00,*46\r\n$IIDBT,049.57,f,015.11,M,008.16,F*25\r\n$GPGLL,5955.375,N,02320.386,E,130914,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.31,N,,*2C\r\n$IIVTG,225.52,T,225.52,M,5.99,N,,,D*61\r\n$IIMWV,119,T,01.24,N,A*2B\r\n$IIVWT,119,R,01.24,N,00.64,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130916,,,,00,*44\r\n$IIDBT,049.63,f,015.13,M,008.17,F*21\r\n$GPGLL,5955.373,N,02320.381,E,130916,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,223.35,T,223.35,M,5.97,N,,,D*6F\r\n$IIMWV,003,R,05.83,N,A*2E\r\n$IIVWT,146,R,00.58,N,00.30,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130918,,,,00,*4A\r\n$IIDBT,049.73,f,015.16,M,008.19,F*2B\r\n$GPGLL,5955.370,N,02320.377,E,130918,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.45,N,,*2D\r\n$IIVTG,221.41,T,221.41,M,5.94,N,,,D*6C\r\n$IIMWV,094,T,00.31,N,A*2A\r\n$IIVWT,094,R,00.31,N,00.16,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130920,,,,00,*41\r\n$IIDBT,049.53,f,015.10,M,008.16,F*20\r\n$GPGLL,5955.368,N,02320.373,E,130920,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,220.28,T,220.28,M,5.91,N,,,D*69\r\n$IIMWV,008,R,05.83,N,A*25\r\n$IIVWT,120,R,00.89,N,00.46,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130922,,,,00,*43\r\n$IIDBT,049.30,f,015.03,M,008.12,F*23\r\n$GPGLL,5955.365,N,02320.368,E,130922,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,220.50,T,220.50,M,5.90,N,,,D*68\r\n$IIMWV,126,T,00.83,N,A*2B\r\n$IIVWT,126,R,00.83,N,00.43,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130924,,,,00,*45\r\n$IIDBT,049.30,f,015.03,M,008.12,F*23\r\n$GPGLL,5955.362,N,02320.362,E,130924,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.54,N,,*29\r\n$IIVTG,222.18,T,222.18,M,5.90,N,,,D*68\r\n$IIMWV,004,R,05.83,N,A*29\r\n$IIVWT,142,R,00.71,N,00.37,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130926,,,,00,*47\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5955.359,N,02320.357,E,130926,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.88,N,,*2D\r\n$IIVTG,222.12,T,222.12,M,5.98,N,,,D*60\r\n$IIMWV,146,T,00.05,N,A*23\r\n$IIVWT,146,R,00.05,N,00.03,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130928,,,,00,*49\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5955.357,N,02320.353,E,130928,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.49,N,,*22\r\n$IIVTG,221.13,T,221.13,M,5.99,N,,,D*61\r\n$IIMWV,007,R,05.83,N,A*2A\r\n$IIVWT,128,R,00.83,N,00.43,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130930,,,,00,*40\r\n$IIDBT,049.76,f,015.17,M,008.19,F*2F\r\n$GPGLL,5955.354,N,02320.349,E,130931,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.78,N,,*26\r\n$IIVTG,220.76,T,220.76,M,5.92,N,,,D*6A\r\n$IIMWV,149,T,00.44,N,A*29\r\n$IIVWT,149,R,00.44,N,00.23,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130932,,,,00,*42\r\n$IIDBT,049.70,f,015.15,M,008.18,F*2A\r\n$GPGLL,5955.352,N,02320.345,E,130933,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.63,N,,*2C\r\n$IIVTG,220.11,T,220.11,M,5.98,N,,,D*60\r\n$IIMWV,001,R,06.22,N,A*24\r\n$IIVWT,135,R,00.13,N,00.07,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130934,,,,00,*44\r\n$IIDBT,049.86,f,015.20,M,008.21,F*2F\r\n$GPGLL,5955.349,N,02320.341,E,130935,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,219.75,T,219.75,M,5.97,N,,,D*6F\r\n$IIMWV,126,T,00.93,N,A*2A\r\n$IIVWT,126,R,00.93,N,00.48,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130936,,,,00,*46\r\n$IIDBT,049.37,f,015.05,M,008.13,F*23\r\n$GPGLL,5955.346,N,02320.336,E,130937,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.14,N,,*28\r\n$IIVTG,220.06,T,220.06,M,5.99,N,,,D*61\r\n$IIMWV,011,R,05.83,N,A*2D\r\n$IIVWT,117,R,01.16,N,00.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130938,,,,00,*48\r\n$IIDBT,049.44,f,015.07,M,008.14,F*22\r\n$GPGLL,5955.344,N,02320.332,E,130939,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.16,N,,*28\r\n$IIVTG,219.77,T,219.77,M,6.00,N,,,D*62\r\n$IIMWV,113,T,01.12,N,A*24\r\n$IIVWT,113,R,01.12,N,00.58,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130941,,,,00,*46\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5955.341,N,02320.328,E,130941,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.36,N,,*2D\r\n$IIVTG,220.17,T,220.17,M,5.95,N,,,D*6D\r\n$IIMWV,010,R,05.44,N,A*27\r\n$IIVWT,133,R,01.32,N,00.68,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130943,,,,00,*44\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,5955.339,N,02320.324,E,130943,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.58,N,,*25\r\n$IIVTG,220.64,T,220.64,M,5.91,N,,,D*69\r\n$IIMWV,138,T,01.24,N,A*28\r\n$IIVWT,138,R,01.24,N,00.64,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130945,,,,00,*42\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5955.336,N,02320.319,E,130945,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.24,N,,*2F\r\n$IIVTG,220.89,T,220.89,M,5.90,N,,,D*68\r\n$IIMWV,004,R,05.44,N,A*22\r\n$IIVWT,156,R,00.91,N,00.47,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130947,,,,00,*40\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5955.334,N,02320.315,E,130947,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.57,N,,*2B\r\n$IIVTG,220.79,T,220.79,M,5.93,N,,,D*6B\r\n$IIMWV,150,T,00.97,N,A*2F\r\n$IIVWT,150,R,00.97,N,00.50,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130949,,,,00,*4E\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5955.331,N,02320.311,E,130949,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,220.42,T,220.42,M,5.98,N,,,D*60\r\n$IIMWV,013,R,05.44,N,A*24\r\n$IIVWT,130,R,01.61,N,00.83,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130951,,,,00,*47\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5955.329,N,02320.307,E,130951,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.44,N,,*29\r\n$IIVTG,220.01,T,220.01,M,6.00,N,,,D*62\r\n$IIMWV,171,T,01.10,N,A*22\r\n$IIVWT,171,R,01.10,N,00.57,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130953,,,,00,*45\r\n$IIDBT,050.03,f,015.25,M,008.24,F*2A\r\n$GPGLL,5955.326,N,02320.303,E,130953,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.27,N,,*2F\r\n$IIVTG,219.65,T,219.65,M,6.00,N,,,D*62\r\n$IIMWV,003,R,05.44,N,A*25\r\n$IIVWT,163,R,00.99,N,00.51,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130955,,,,00,*43\r\n$IIDBT,049.93,f,015.22,M,008.22,F*2A\r\n$GPGLL,5955.324,N,02320.298,E,130955,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,218.94,T,218.94,M,6.00,N,,,D*62\r\n$IIMWV,183,T,01.06,N,A*28\r\n$IIVWT,177,L,01.06,N,00.55,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130957,,,,00,*41\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5955.321,N,02320.294,E,130957,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,218.31,T,218.31,M,5.95,N,,,D*6D\r\n$IIMWV,001,R,05.24,N,A*21\r\n$IIVWT,176,R,01.01,N,00.52,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,130959,,,,00,*4F\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5955.319,N,02320.290,E,130959,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,218.43,T,218.43,M,5.94,N,,,D*6C\r\n$IIMWV,177,T,01.10,N,A*24\r\n$IIVWT,177,R,01.10,N,00.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131001,,,,00,*4A\r\n$IIDBT,049.80,f,015.18,M,008.20,F*23\r\n$GPGLL,5955.316,N,02320.286,E,131001,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,218.61,T,218.61,M,5.91,N,,,D*69\r\n$IIMWV,359,R,05.44,N,A*29\r\n$IIVWT,170,L,00.85,N,00.44,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131003,,,,00,*48\r\n$IIDBT,049.83,f,015.19,M,008.21,F*20\r\n$GPGLL,5955.313,N,02320.282,E,131003,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.44,N,,*29\r\n$IIVTG,218.35,T,218.35,M,5.90,N,,,D*68\r\n$IIMWV,159,T,00.91,N,A*20\r\n$IIVWT,159,R,00.91,N,00.47,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131005,,,,00,*4E\r\n$IIDBT,049.76,f,015.17,M,008.19,F*2F\r\n$GPGLL,5955.310,N,02320.276,E,131005,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.55,N,,*29\r\n$IIVTG,218.01,T,218.01,M,5.90,N,,,D*68\r\n$IIMWV,360,R,06.22,N,A*20\r\n$IIVWT,135,L,00.07,N,00.04,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131007,,,,00,*4C\r\n$IIDBT,049.96,f,015.23,M,008.23,F*2F\r\n$GPGLL,5955.307,N,02320.272,E,131007,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.21,N,00.11,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.99,N,,*2D\r\n$IIVTG,217.73,T,217.73,M,5.90,N,,,D*68\r\n$IIMWV,090,T,00.31,N,A*2E\r\n$IIVWT,090,R,00.31,N,00.16,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131009,,,,00,*42\r\n$IIDBT,050.26,f,015.32,M,008.28,F*27\r\n$GPGLL,5955.304,N,02320.268,E,131009,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.01,N,,*2B\r\n$IIVTG,217.66,T,217.66,M,5.90,N,,,D*68\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,168,L,00.46,N,00.24,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131011,,,,00,*4B\r\n$IIDBT,050.09,f,015.27,M,008.25,F*23\r\n$GPGLL,5955.302,N,02320.264,E,131012,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.37,N,,*2B\r\n$IIVTG,216.94,T,216.94,M,5.90,N,,,D*68\r\n$IIMWV,233,T,00.97,N,A*29\r\n$IIVWT,127,L,00.97,N,00.50,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131013,,,,00,*49\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5955.299,N,02320.260,E,131014,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.58,N,,*22\r\n$IIVTG,216.81,T,216.81,M,5.90,N,,,D*68\r\n$IIMWV,354,R,05.83,N,A*2F\r\n$IIVWT,125,L,00.79,N,00.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131015,,,,00,*4F\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,5955.297,N,02320.257,E,131016,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.12,N,,*2B\r\n$IIVTG,216.95,T,216.95,M,5.90,N,,,D*68\r\n$IIMWV,229,T,01.32,N,A*2C\r\n$IIVWT,131,L,01.32,N,00.68,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131017,,,,00,*4D\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5955.294,N,02320.253,E,131018,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,216.84,T,216.84,M,5.90,N,,,D*68\r\n$IIMWV,002,R,05.44,N,A*24\r\n$IIVWT,166,R,00.89,N,00.46,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131019,,,,00,*43\r\n$IIDBT,050.39,f,015.36,M,008.30,F*24\r\n$GPGLL,5955.291,N,02320.249,E,131020,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.48,N,,*25\r\n$IIVTG,216.76,T,216.76,M,5.90,N,,,D*68\r\n$IIMWV,173,T,00.44,N,A*20\r\n$IIVWT,173,R,00.44,N,00.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131021,,,,00,*48\r\n$IIDBT,050.52,f,015.40,M,008.32,F*2A\r\n$GPGLL,5955.289,N,02320.245,E,131022,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,216.74,T,216.74,M,5.90,N,,,D*68\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,164,L,00.40,N,00.21,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131024,,,,00,*4D\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,5955.286,N,02320.241,E,131024,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.22,N,,*28\r\n$IIVTG,216.63,T,216.63,M,5.90,N,,,D*68\r\n$IIMWV,229,T,00.60,N,A*2A\r\n$IIVWT,131,L,00.60,N,00.31,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131026,,,,00,*4F\r\n$IIDBT,050.81,f,015.49,M,008.37,F*28\r\n$GPGLL,5955.283,N,02320.237,E,131026,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.61,N,,*2F\r\n$IIVTG,216.68,T,216.68,M,5.95,N,,,D*6D\r\n$IIMWV,356,R,05.83,N,A*2D\r\n$IIVWT,135,L,00.54,N,00.28,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131028,,,,00,*41\r\n$IIDBT,050.85,f,015.50,M,008.37,F*24\r\n$GPGLL,5955.281,N,02320.233,E,131028,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.15,N,,*07\r\n$IIVTG,216.72,T,216.72,M,5.91,N,,,D*69\r\n$IIMWV,262,T,00.54,N,A*22\r\n$IIVWT,098,L,00.54,N,00.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131030,,,,00,*48\r\n$IIDBT,050.98,f,015.54,M,008.39,F*22\r\n$GPGLL,5955.278,N,02320.229,E,131030,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.78,N,,*23\r\n$IIVTG,216.83,T,216.83,M,5.95,N,,,D*6D\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,132,L,00.69,N,00.36,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131032,,,,00,*4A\r\n$IIDBT,050.91,f,015.52,M,008.38,F*2C\r\n$GPGLL,5955.276,N,02320.225,E,131032,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.20,N,,*2A\r\n$IIVTG,216.56,T,216.56,M,5.99,N,,,D*61\r\n$IIMWV,235,T,00.77,N,A*21\r\n$IIVWT,125,L,00.77,N,00.40,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131034,,,,00,*4C\r\n$IIDBT,051.47,f,015.69,M,008.48,F*29\r\n$GPGLL,5955.273,N,02320.222,E,131034,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.42,N,,*2F\r\n$IIVTG,215.29,T,215.29,M,6.00,N,,,D*62\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,147,L,00.44,N,00.23,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131036,,,,00,*4E\r\n$IIDBT,051.47,f,015.69,M,008.48,F*29\r\n$GPGLL,5955.270,N,02320.218,E,131036,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.42,N,,*2F\r\n$IIVTG,214.62,T,214.62,M,6.00,N,,,D*62\r\n$IIMWV,230,T,00.60,N,A*22\r\n$IIVWT,130,L,00.60,N,00.31,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131038,,,,00,*40\r\n$IIDBT,051.31,f,015.64,M,008.45,F*28\r\n$GPGLL,5955.267,N,02320.214,E,131038,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.79,N,,*26\r\n$IIVTG,214.28,T,214.28,M,6.00,N,,,D*62\r\n$IIMWV,349,R,05.44,N,A*28\r\n$IIVWT,132,L,01.43,N,00.74,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131040,,,,00,*4F\r\n$IIDBT,051.54,f,015.71,M,008.49,F*23\r\n$GPGLL,5955.265,N,02320.210,E,131040,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.49,N,,*24\r\n$IIVTG,214.15,T,214.15,M,6.00,N,,,D*62\r\n$IIMWV,200,T,00.83,N,A*2C\r\n$IIVWT,160,L,00.83,N,00.43,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131042,,,,00,*4D\r\n$IIDBT,051.63,f,015.74,M,008.50,F*2A\r\n$GPGLL,5955.262,N,02320.207,E,131042,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,214.19,T,214.19,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,134,L,00.66,N,00.34,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131044,,,,00,*4B\r\n$IIDBT,051.83,f,015.80,M,008.54,F*2B\r\n$GPGLL,5955.259,N,02320.203,E,131044,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.97,N,,*21\r\n$IIVTG,214.12,T,214.12,M,6.00,N,,,D*62\r\n$IIMWV,237,T,00.95,N,A*2F\r\n$IIVWT,123,L,00.95,N,00.49,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131046,,,,00,*49\r\n$IIDBT,051.86,f,015.81,M,008.54,F*2F\r\n$GPGLL,5955.256,N,02320.199,E,131046,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.54,N,,*2F\r\n$IIVTG,214.11,T,214.11,M,6.00,N,,,D*62\r\n$IIMWV,349,R,05.83,N,A*23\r\n$IIVWT,117,L,01.24,N,00.64,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131048,,,,00,*47\r\n$IIDBT,052.22,f,015.92,M,008.60,F*27\r\n$GPGLL,5955.252,N,02320.194,E,131048,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.95,N,,*20\r\n$IIVTG,213.98,T,213.98,M,6.00,N,,,D*62\r\n$IIMWV,264,T,01.39,N,A*2E\r\n$IIVWT,096,L,01.39,N,00.72,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131050,,,,00,*4E\r\n$IIDBT,052.88,f,016.12,M,008.71,F*2C\r\n$GPGLL,5955.250,N,02320.190,E,131050,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.41,N,,*2B\r\n$IIVTG,213.83,T,213.83,M,6.00,N,,,D*62\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,100,L,00.21,N,00.11,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131052,,,,00,*4C\r\n$IIDBT,052.39,f,015.97,M,008.63,F*2B\r\n$GPGLL,5955.247,N,02320.187,E,131052,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.57,N,,*2E\r\n$IIVTG,213.76,T,213.76,M,6.00,N,,,A*67\r\n$IIMWV,242,T,00.27,N,A*24\r\n$IIVWT,118,L,00.27,N,00.14,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131054,,,,00,*4A\r\n$IIDBT,052.45,f,015.99,M,008.64,F*29\r\n$GPGLL,5955.244,N,02320.183,E,131055,A,A*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.25,N,,*06\r\n$IIVTG,213.77,T,213.77,M,6.00,N,,,A*67\r\n$IIMWV,353,R,06.41,N,A*25\r\n$IIVWT,079,L,00.77,N,00.40,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131056,,,,00,*48\r\n$IIDBT,052.72,f,016.07,M,008.68,F*25\r\n$GPGLL,5955.241,N,02320.180,E,131057,A,A*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,213.61,T,213.61,M,5.95,N,,,A*68\r\n$IIMWV,278,T,00.79,N,A*26\r\n$IIVWT,082,L,00.79,N,00.41,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131058,,,,00,*46\r\n$IIDBT,052.91,f,016.13,M,008.71,F*25\r\n$GPGLL,5955.239,N,02320.176,E,131059,A,A*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,214.03,T,214.03,M,5.91,N,,,A*6C\r\n$IIMWV,353,R,06.41,N,A*25\r\n$IIVWT,082,L,00.79,N,00.41,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131100,,,,00,*4A\r\n$IIDBT,053.11,f,016.19,M,008.75,F*22\r\n$GPGLL,5955.236,N,02320.173,E,131101,A,A*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.89,N,,*2D\r\n$IIVTG,214.18,T,214.18,M,5.98,N,,,A*65\r\n$IIMWV,258,T,00.54,N,A*2B\r\n$IIVWT,102,L,00.54,N,00.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131102,,,,00,*48\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,5955.233,N,02320.169,E,131103,A,A*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.67,N,,*2D\r\n$IIVTG,214.45,T,214.45,M,5.99,N,,,A*64\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,098,L,00.71,N,00.37,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,A*03\r\n$GPZDA,131104,,,,00,*4E\r\n$IIDBT,053.37,f,016.27,M,008.79,F*27\r\n$GPGLL,5955.230,N,02320.165,E,131105,A,A*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.17,N,,*2B\r\n$IIVTG,214.59,T,214.59,M,6.00,N,,,A*67\r\n$IIMWV,266,T,00.91,N,A*2F\r\n$IIVWT,094,L,00.91,N,00.47,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,A*5A\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131107,,,,00,*4D\r\n$IIDBT,053.31,f,016.25,M,008.78,F*22\r\n$GPGLL,5955.228,N,02320.162,E,131107,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.12,N,,*2F\r\n$IIVTG,213.94,T,213.94,M,6.00,N,,,D*62\r\n$IIMWV,352,R,06.41,N,A*24\r\n$IIVWT,089,L,00.95,N,00.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131109,,,,00,*43\r\n$IIDBT,053.57,f,016.33,M,008.82,F*20\r\n$GPGLL,5955.225,N,02320.158,E,131109,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.42,N,,*2A\r\n$IIVTG,213.49,T,213.49,M,5.95,N,,,D*6D\r\n$IIMWV,266,T,00.93,N,A*2D\r\n$IIVWT,094,L,00.93,N,00.48,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131111,,,,00,*4A\r\n$IIDBT,053.60,f,016.34,M,008.83,F*22\r\n$GPGLL,5955.222,N,02320.154,E,131111,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.18,N,,*24\r\n$IIVTG,213.07,T,213.07,M,5.99,N,,,D*61\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,097,L,00.66,N,00.34,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131113,,,,00,*48\r\n$IIDBT,053.87,f,016.42,M,008.87,F*2E\r\n$GPGLL,5955.220,N,02320.151,E,131113,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,212.72,T,212.72,M,6.00,N,,,D*62\r\n$IIMWV,234,T,00.81,N,A*29\r\n$IIVWT,126,L,00.81,N,00.42,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131115,,,,00,*4E\r\n$IIDBT,054.19,f,016.52,M,008.92,F*2B\r\n$GPGLL,5955.217,N,02320.147,E,131115,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,212.45,T,212.45,M,6.00,N,,,D*62\r\n$IIMWV,352,R,05.83,N,A*29\r\n$IIVWT,119,L,00.91,N,00.47,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131117,,,,00,*4C\r\n$IIDBT,054.55,f,016.63,M,008.98,F*2B\r\n$GPGLL,5955.214,N,02320.143,E,131117,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.13,N,,*2D\r\n$IIVTG,212.34,T,212.34,M,6.00,N,,,D*62\r\n$IIMWV,243,T,00.97,N,A*2E\r\n$IIVWT,117,L,00.97,N,00.50,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131119,,,,00,*42\r\n$IIDBT,054.46,f,016.60,M,008.97,F*25\r\n$GPGLL,5955.211,N,02320.140,E,131119,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.46,N,,*2D\r\n$IIVTG,212.31,T,212.31,M,6.00,N,,,D*62\r\n$IIMWV,353,R,05.83,N,A*28\r\n$IIVWT,126,L,00.87,N,00.45,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131121,,,,00,*49\r\n$IIDBT,054.26,f,016.54,M,008.94,F*27\r\n$GPGLL,5955.208,N,02320.136,E,131121,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.83,N,,*25\r\n$IIVTG,212.70,T,212.70,M,6.00,N,,,D*62\r\n$IIMWV,241,T,01.12,N,A*20\r\n$IIVWT,119,L,01.12,N,00.58,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131123,,,,00,*4B\r\n$IIDBT,054.69,f,016.67,M,009.01,F*21\r\n$GPGLL,5955.206,N,02320.133,E,131123,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.98,N,,*2F\r\n$IIVTG,212.60,T,212.60,M,6.00,N,,,D*62\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,117,L,01.18,N,00.61,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131125,,,,00,*4D\r\n$IIDBT,054.91,f,016.74,M,009.04,F*21\r\n$GPGLL,5955.203,N,02320.129,E,131125,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,212.30,T,212.30,M,6.00,N,,,D*62\r\n$IIMWV,239,T,01.16,N,A*2B\r\n$IIVWT,121,L,01.16,N,00.60,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131127,,,,00,*4F\r\n$IIDBT,054.98,f,016.76,M,009.05,F*2B\r\n$GPGLL,5955.200,N,02320.126,E,131127,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,212.25,T,212.25,M,6.00,N,,,D*62\r\n$IIMWV,348,R,05.83,N,A*22\r\n$IIVWT,115,L,01.34,N,00.69,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131129,,,,00,*41\r\n$IIDBT,055.31,f,016.86,M,009.11,F*23\r\n$GPGLL,5955.197,N,02320.122,E,131129,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,211.71,T,211.71,M,6.00,N,,,D*62\r\n$IIMWV,244,T,01.47,N,A*25\r\n$IIVWT,116,L,01.47,N,00.76,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131131,,,,00,*48\r\n$IIDBT,055.28,f,016.85,M,009.10,F*29\r\n$GPGLL,5955.193,N,02320.117,E,131131,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,211.10,T,211.10,M,6.00,N,,,D*62\r\n$IIMWV,346,R,06.22,N,A*24\r\n$IIVWT,099,L,01.57,N,00.81,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131133,,,,00,*4A\r\n$IIDBT,055.41,f,016.89,M,009.12,F*28\r\n$GPGLL,5955.190,N,02320.114,E,131133,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.26,N,,*2A\r\n$IIVTG,211.05,T,211.05,M,6.00,N,,,D*62\r\n$IIMWV,247,T,01.49,N,A*28\r\n$IIVWT,113,L,01.49,N,00.77,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131135,,,,00,*4C\r\n$IIDBT,055.70,f,016.98,M,009.17,F*2F\r\n$GPGLL,5955.187,N,02320.110,E,131135,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,211.11,T,211.11,M,6.00,N,,,D*62\r\n$IIMWV,347,R,05.83,N,A*2D\r\n$IIVWT,113,L,01.41,N,00.73,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131137,,,,00,*4E\r\n$IIDBT,055.80,f,017.01,M,009.19,F*2F\r\n$GPGLL,5955.184,N,02320.107,E,131138,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.10,N,,*2C\r\n$IIVTG,210.98,T,210.98,M,6.00,N,,,D*62\r\n$IIMWV,250,T,01.78,N,A*2C\r\n$IIVWT,110,L,01.78,N,00.92,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131139,,,,00,*40\r\n$IIDBT,056.10,f,017.10,M,009.24,F*2B\r\n$GPGLL,5955.181,N,02320.103,E,131140,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.68,N,,*20\r\n$IIVTG,210.49,T,210.49,M,6.00,N,,,D*62\r\n$IIMWV,346,R,05.83,N,A*2C\r\n$IIVWT,114,L,01.53,N,00.79,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131141,,,,00,*4F\r\n$IIDBT,056.10,f,017.10,M,009.24,F*2B\r\n$GPGLL,5955.179,N,02320.100,E,131142,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.43,N,,*2A\r\n$IIVTG,210.47,T,210.47,M,6.00,N,,,D*62\r\n$IIMWV,262,T,01.59,N,A*2E\r\n$IIVWT,098,L,01.59,N,00.82,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131143,,,,00,*4D\r\n$IIDBT,056.39,f,017.19,M,009.29,F*24\r\n$GPGLL,5955.176,N,02320.097,E,131144,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.09,N,,*24\r\n$IIVTG,210.56,T,210.56,M,6.00,N,,,D*62\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,102,L,01.12,N,00.58,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131145,,,,00,*4B\r\n$IIDBT,056.62,f,017.26,M,009.32,F*2C\r\n$GPGLL,5955.173,N,02320.093,E,131146,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.95,N,,*20\r\n$IIVTG,210.59,T,210.59,M,6.00,N,,,D*62\r\n$IIMWV,260,T,00.91,N,A*29\r\n$IIVWT,100,L,00.91,N,00.47,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131147,,,,00,*49\r\n$IIDBT,056.75,f,017.30,M,009.35,F*2A\r\n$GPGLL,5955.170,N,02320.090,E,131148,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.56,N,,*02\r\n$IIVTG,210.60,T,210.60,M,6.00,N,,,D*62\r\n$IIMWV,349,R,06.22,N,A*2B\r\n$IIVWT,095,L,01.14,N,00.59,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131150,,,,00,*4F\r\n$IIDBT,057.01,f,017.38,M,009.39,F*2C\r\n$GPGLL,5955.167,N,02320.087,E,131150,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.16,N,,*2A\r\n$IIVTG,210.45,T,210.45,M,6.00,N,,,D*62\r\n$IIMWV,267,T,00.77,N,A*26\r\n$IIVWT,093,L,00.77,N,00.40,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131152,,,,00,*4D\r\n$IIDBT,057.11,f,017.41,M,009.41,F*2C\r\n$GPGLL,5955.164,N,02320.083,E,131152,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.00,N,,*2D\r\n$IIVTG,211.01,T,211.01,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,096,L,00.58,N,00.30,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131154,,,,00,*4B\r\n$IIDBT,057.21,f,017.44,M,009.42,F*29\r\n$GPGLL,5955.161,N,02320.080,E,131154,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,211.75,T,211.75,M,6.00,N,,,D*62\r\n$IIMWV,245,T,01.55,N,A*27\r\n$IIVWT,115,L,01.55,N,00.80,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131156,,,,00,*49\r\n$IIDBT,057.57,f,017.55,M,009.48,F*22\r\n$GPGLL,5955.159,N,02320.076,E,131156,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,211.37,T,211.37,M,6.00,N,,,D*62\r\n$IIMWV,348,R,05.83,N,A*22\r\n$IIVWT,115,L,01.38,N,00.71,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131158,,,,00,*47\r\n$IIDBT,057.61,f,017.56,M,009.49,F*25\r\n$GPGLL,5955.156,N,02320.073,E,131158,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.87,N,,*23\r\n$IIVTG,211.29,T,211.29,M,6.00,N,,,D*62\r\n$IIMWV,243,T,01.12,N,A*22\r\n$IIVWT,117,L,01.12,N,00.58,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131200,,,,00,*49\r\n$IIDBT,058.56,f,017.85,M,009.64,F*2F\r\n$GPGLL,5955.153,N,02320.069,E,131200,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.70,N,,*29\r\n$IIVTG,211.55,T,211.55,M,6.00,N,,,D*62\r\n$IIMWV,348,R,05.83,N,A*22\r\n$IIVWT,117,L,01.32,N,00.68,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131202,,,,00,*4B\r\n$IIDBT,058.13,f,017.72,M,009.57,F*26\r\n$GPGLL,5955.150,N,02320.066,E,131202,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.36,N,,*28\r\n$IIVTG,211.79,T,211.79,M,6.00,N,,,D*62\r\n$IIMWV,262,T,01.41,N,A*27\r\n$IIVWT,099,L,01.41,N,00.73,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131204,,,,00,*4D\r\n$IIDBT,058.23,f,017.75,M,009.59,F*2C\r\n$GPGLL,5955.147,N,02320.062,E,131204,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.12,N,,*2E\r\n$IIVTG,211.52,T,211.52,M,6.00,N,,,D*62\r\n$IIMWV,349,R,06.22,N,A*2B\r\n$IIVWT,100,L,01.18,N,00.61,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131206,,,,00,*4F\r\n$IIDBT,058.72,f,017.90,M,009.67,F*2E\r\n$GPGLL,5955.144,N,02320.059,E,131206,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.77,N,,*2C\r\n$IIVTG,210.91,T,210.91,M,6.00,N,,,D*62\r\n$IIMWV,268,T,01.28,N,A*22\r\n$IIVWT,092,L,01.28,N,00.66,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131208,,,,00,*41\r\n$IIDBT,059.05,f,018.00,M,009.72,F*2D\r\n$GPGLL,5955.142,N,02320.056,E,131208,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.30,N,,*2F\r\n$IIVTG,210.17,T,210.17,M,6.00,N,,,D*62\r\n$IIMWV,351,R,06.22,N,A*22\r\n$IIVWT,098,L,00.97,N,00.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131210,,,,00,*48\r\n$IIDBT,059.61,f,018.17,M,009.82,F*26\r\n$GPGLL,5955.139,N,02320.052,E,131210,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.14,N,,*28\r\n$IIVTG,210.82,T,210.82,M,6.00,N,,,D*62\r\n$IIMWV,259,T,01.80,N,A*22\r\n$IIVWT,101,L,01.80,N,00.93,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131212,,,,00,*4A\r\n$IIDBT,059.38,f,018.10,M,009.78,F*28\r\n$GPGLL,5955.136,N,02320.049,E,131212,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.74,N,,*2F\r\n$IIVTG,211.58,T,211.58,M,6.00,N,,,D*62\r\n$IIMWV,345,R,06.22,N,A*27\r\n$IIVWT,099,L,01.67,N,00.86,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131214,,,,00,*4C\r\n$IIDBT,059.61,f,018.17,M,009.82,F*26\r\n$GPGLL,5955.132,N,02320.044,E,131214,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.38,N,,*0A\r\n$IIVTG,212.07,T,212.07,M,6.00,N,,,D*62\r\n$IIMWV,270,T,01.22,N,A*21\r\n$IIVWT,090,L,01.22,N,00.63,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131216,,,,00,*4E\r\n$IIDBT,060.13,f,018.33,M,009.90,F*2C\r\n$GPGLL,5955.129,N,02320.040,E,131216,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,212.64,T,212.64,M,6.00,N,,,D*62\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,085,L,01.16,N,00.60,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131218,,,,00,*40\r\n$IIDBT,060.56,f,018.46,M,009.97,F*28\r\n$GPGLL,5955.126,N,02320.037,E,131218,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.67,N,,*00\r\n$IIVTG,212.71,T,212.71,M,6.00,N,,,D*62\r\n$IIMWV,276,T,00.91,N,A*2E\r\n$IIVWT,084,L,00.91,N,00.47,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131220,,,,00,*4B\r\n$IIDBT,061.05,f,018.61,M,010.05,F*29\r\n$GPGLL,5955.123,N,02320.033,E,131221,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,212.88,T,212.88,M,6.00,N,,,D*62\r\n$IIMWV,353,R,06.41,N,A*25\r\n$IIVWT,086,L,00.83,N,00.43,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131222,,,,00,*49\r\n$IIDBT,061.28,f,018.68,M,010.09,F*23\r\n$GPGLL,5955.121,N,02320.029,E,131223,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,212.96,T,212.96,M,6.00,N,,,D*62\r\n$IIMWV,275,T,01.10,N,A*25\r\n$IIVWT,085,L,01.10,N,00.57,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131224,,,,00,*4F\r\n$IIDBT,061.67,f,018.80,M,010.16,F*20\r\n$GPGLL,5955.118,N,02320.026,E,131225,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,212.99,T,212.99,M,6.00,N,,,D*62\r\n$IIMWV,352,R,06.22,N,A*21\r\n$IIVWT,093,L,00.83,N,00.43,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131226,,,,00,*4D\r\n$IIDBT,062.10,f,018.93,M,010.23,F*27\r\n$GPGLL,5955.115,N,02320.022,E,131227,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,213.27,T,213.27,M,6.00,N,,,D*62\r\n$IIMWV,273,T,00.83,N,A*28\r\n$IIVWT,087,L,00.83,N,00.43,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131228,,,,00,*43\r\n$IIDBT,062.33,f,019.00,M,010.27,F*29\r\n$GPGLL,5955.112,N,02320.019,E,131229,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,213.44,T,213.44,M,6.00,N,,,D*62\r\n$IIMWV,351,R,06.41,N,A*27\r\n$IIVWT,087,L,01.03,N,00.53,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131230,,,,00,*4A\r\n$IIDBT,062.82,f,019.15,M,010.35,F*24\r\n$GPGLL,5955.110,N,02320.015,E,131231,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,213.53,T,213.53,M,6.00,N,,,D*62\r\n$IIMWV,271,T,01.18,N,A*29\r\n$IIVWT,089,L,01.18,N,00.61,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131233,,,,00,*49\r\n$IIDBT,063.25,f,019.28,M,010.42,F*26\r\n$GPGLL,5955.107,N,02320.011,E,131233,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,213.38,T,213.38,M,6.00,N,,,D*62\r\n$IIMWV,347,R,06.22,N,A*25\r\n$IIVWT,099,L,01.38,N,00.71,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131235,,,,00,*4F\r\n$IIDBT,064.07,f,019.53,M,010.55,F*2B\r\n$GPGLL,5955.104,N,02320.008,E,131235,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.12,N,,*2E\r\n$IIVTG,213.17,T,213.17,M,6.00,N,,,D*62\r\n$IIMWV,262,T,01.41,N,A*27\r\n$IIVWT,099,L,01.41,N,00.73,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131237,,,,00,*4D\r\n$IIDBT,064.27,f,019.59,M,010.58,F*2E\r\n$GPGLL,5955.101,N,02320.004,E,131237,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.16,N,,*2A\r\n$IIVTG,213.32,T,213.32,M,6.00,N,,,D*62\r\n$IIMWV,344,R,05.83,N,A*2E\r\n$IIVWT,112,L,01.73,N,00.89,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131239,,,,00,*43\r\n$IIDBT,064.43,f,019.64,M,010.61,F*28\r\n$GPGLL,5955.098,N,02320.001,E,131239,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.14,N,,*2B\r\n$IIVTG,213.48,T,213.48,M,6.00,N,,,D*62\r\n$IIMWV,245,T,01.49,N,A*2A\r\n$IIVWT,115,L,01.49,N,00.77,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131241,,,,00,*4C\r\n$IIDBT,065.12,f,019.85,M,010.72,F*20\r\n$GPGLL,5955.096,N,02319.997,E,131241,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.31,N,,*2F\r\n$IIVTG,213.59,T,213.59,M,5.95,N,,,D*6D\r\n$IIMWV,351,R,05.83,N,A*2A\r\n$IIVWT,123,L,01.06,N,00.55,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131243,,,,00,*4E\r\n$IIDBT,065.41,f,019.94,M,010.77,F*23\r\n$GPGLL,5955.093,N,02319.993,E,131243,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.87,N,,*23\r\n$IIVTG,213.75,T,213.75,M,5.91,N,,,D*69\r\n$IIMWV,260,T,01.22,N,A*20\r\n$IIVWT,100,L,01.22,N,00.63,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131245,,,,00,*48\r\n$IIDBT,065.61,f,020.00,M,010.81,F*2F\r\n$GPGLL,5955.090,N,02319.990,E,131245,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.16,N,,*06\r\n$IIVTG,213.89,T,213.89,M,5.98,N,,,D*60\r\n$IIMWV,355,R,06.41,N,A*23\r\n$IIVWT,083,L,00.62,N,00.32,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131247,,,,00,*4A\r\n$IIDBT,066.17,f,020.17,M,010.90,F*2B\r\n$GPGLL,5955.087,N,02319.986,E,131247,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.17,N,00.09,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.50,N,,*06\r\n$IIVTG,213.75,T,213.75,M,5.99,N,,,D*61\r\n$IIMWV,289,T,00.34,N,A*21\r\n$IIVWT,071,L,00.34,N,00.18,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131249,,,,00,*44\r\n$IIDBT,066.79,f,020.36,M,011.00,F*28\r\n$GPGLL,5955.085,N,02319.982,E,131249,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.23,N,00.12,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,213.16,T,213.16,M,5.97,N,,,D*6F\r\n$IIMWV,359,R,06.41,N,A*2F\r\n$IIVWT,036,L,00.15,N,00.08,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131251,,,,00,*4D\r\n$IIDBT,066.86,f,020.38,M,011.01,F*27\r\n$GPGLL,5955.082,N,02319.979,E,131251,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,213.27,T,213.27,M,5.97,N,,,D*6F\r\n$IIMWV,276,T,00.34,N,A*21\r\n$IIVWT,084,L,00.34,N,00.18,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131253,,,,00,*4F\r\n$IIDBT,067.35,f,020.53,M,011.09,F*2B\r\n$GPGLL,5955.079,N,02319.975,E,131253,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.17,N,00.09,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.98,N,,*2C\r\n$IIVTG,213.29,T,213.29,M,5.99,N,,,D*61\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,094,L,00.25,N,00.13,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131255,,,,00,*49\r\n$IIDBT,067.38,f,020.54,M,011.10,F*29\r\n$GPGLL,5955.076,N,02319.972,E,131255,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.90,N,,*24\r\n$IIVTG,212.95,T,212.95,M,6.00,N,,,D*62\r\n$IIMWV,270,T,00.52,N,A*27\r\n$IIVWT,090,L,00.52,N,00.27,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131257,,,,00,*4B\r\n$IIDBT,067.74,f,020.65,M,011.16,F*25\r\n$GPGLL,5955.072,N,02319.966,E,131257,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,212.39,T,212.39,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,092,L,00.52,N,00.27,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131259,,,,00,*45\r\n$IIDBT,068.30,f,020.82,M,011.25,F*23\r\n$GPGLL,5955.069,N,02319.963,E,131259,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.87,N,,*23\r\n$IIVTG,212.15,T,212.15,M,6.00,N,,,D*62\r\n$IIMWV,268,T,00.66,N,A*29\r\n$IIVWT,092,L,00.66,N,00.34,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131301,,,,00,*49\r\n$IIDBT,068.23,f,020.80,M,011.24,F*22\r\n$GPGLL,5955.066,N,02319.959,E,131301,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.60,N,,*2B\r\n$IIVTG,212.46,T,212.46,M,6.00,N,,,D*62\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,111,L,00.25,N,00.13,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131303,,,,00,*4B\r\n$IIDBT,068.63,f,020.92,M,011.30,F*20\r\n$GPGLL,5955.064,N,02319.956,E,131304,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.69,N,,*22\r\n$IIVTG,212.79,T,212.79,M,6.00,N,,,D*62\r\n$IIMWV,270,T,00.33,N,A*20\r\n$IIVWT,090,L,00.33,N,00.17,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131305,,,,00,*4D\r\n$IIDBT,068.73,f,020.95,M,011.32,F*24\r\n$GPGLL,5955.061,N,02319.952,E,131306,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.30,N,,*2A\r\n$IIVTG,213.05,T,213.05,M,6.00,N,,,D*62\r\n$IIMWV,357,R,05.83,N,A*2C\r\n$IIVWT,140,L,00.44,N,00.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131307,,,,00,*4F\r\n$IIDBT,068.69,f,020.94,M,011.31,F*2D\r\n$GPGLL,5955.058,N,02319.949,E,131308,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.31,N,,*2B\r\n$IIVTG,213.16,T,213.16,M,6.00,N,,,D*62\r\n$IIMWV,207,T,00.58,N,A*2D\r\n$IIVWT,153,L,00.58,N,00.30,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131309,,,,00,*41\r\n$IIDBT,069.22,f,021.10,M,011.40,F*28\r\n$GPGLL,5955.055,N,02319.945,E,131310,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.03,N,,*2A\r\n$IIVTG,212.69,T,212.69,M,6.00,N,,,D*62\r\n$IIMWV,357,R,05.83,N,A*2C\r\n$IIVWT,148,L,00.54,N,00.28,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131311,,,,00,*48\r\n$IIDBT,069.35,f,021.14,M,011.42,F*28\r\n$GPGLL,5955.052,N,02319.942,E,131312,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.86,N,,*27\r\n$IIVTG,211.82,T,211.82,M,6.00,N,,,D*62\r\n$IIMWV,096,T,00.60,N,A*2C\r\n$IIVWT,096,R,00.60,N,00.31,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131313,,,,00,*4A\r\n$IIDBT,069.48,f,021.18,M,011.44,F*28\r\n$GPGLL,5955.050,N,02319.938,E,131314,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.15,N,,*2A\r\n$IIVTG,211.05,T,211.05,M,6.00,N,,,D*62\r\n$IIMWV,004,R,06.22,N,A*21\r\n$IIVWT,082,R,00.42,N,00.22,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131316,,,,00,*4F\r\n$IIDBT,069.91,f,021.31,M,011.51,F*23\r\n$GPGLL,5955.047,N,02319.935,E,131316,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.99,N,,*28\r\n$IIVTG,210.79,T,210.79,M,5.95,N,,,D*6D\r\n$IIMWV,215,T,00.56,N,A*20\r\n$IIVWT,145,L,00.56,N,00.29,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131318,,,,00,*41\r\n$IIDBT,069.91,f,021.31,M,011.51,F*23\r\n$GPGLL,5955.044,N,02319.932,E,131318,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,210.20,T,210.20,M,5.91,N,,,D*69\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,168,L,00.44,N,00.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131320,,,,00,*4A\r\n$IIDBT,006.26,f,001.91,M,001.03,F*28\r\n$GPGLL,5955.041,N,02319.928,E,131320,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,210.17,T,210.17,M,5.98,N,,,D*60\r\n$IIMWV,169,T,00.38,N,A*20\r\n$IIVWT,169,R,00.38,N,00.20,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131322,,,,00,*48\r\n$IIDBT,006.72,f,002.05,M,001.10,F*25\r\n$GPGLL,5955.038,N,02319.925,E,131322,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.01,N,,*28\r\n$IIVTG,210.37,T,210.37,M,5.99,N,,,D*61\r\n$IIMWV,356,R,05.83,N,A*2D\r\n$IIVWT,140,L,00.60,N,00.31,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131324,,,,00,*4E\r\n$IIDBT,069.81,f,021.28,M,011.50,F*2B\r\n$GPGLL,5955.035,N,02319.922,E,131324,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.37,N,,*2D\r\n$IIVTG,210.37,T,210.37,M,6.00,N,,,D*62\r\n$IIMWV,231,T,00.81,N,A*2C\r\n$IIVWT,129,L,00.81,N,00.42,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131326,,,,00,*4C\r\n$IIDBT,070.01,f,021.34,M,011.53,F*25\r\n$GPGLL,5955.032,N,02319.918,E,131326,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.33,N,,*29\r\n$IIVTG,210.59,T,210.59,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,133,L,00.73,N,00.38,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131328,,,,00,*42\r\n$IIDBT,070.01,f,021.34,M,011.53,F*25\r\n$GPGLL,5955.030,N,02319.915,E,131328,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.48,N,,*23\r\n$IIVTG,210.65,T,210.65,M,6.00,N,,,D*62\r\n$IIMWV,230,T,00.71,N,A*22\r\n$IIVWT,130,L,00.71,N,00.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131330,,,,00,*4B\r\n$IIDBT,070.04,f,021.35,M,011.54,F*26\r\n$GPGLL,5955.027,N,02319.912,E,131330,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.07,N,,*2F\r\n$IIVTG,210.39,T,210.39,M,6.00,N,,,D*62\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,149,L,01.08,N,00.56,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131332,,,,00,*49\r\n$IIDBT,070.07,f,021.36,M,011.54,F*26\r\n$GPGLL,5955.024,N,02319.909,E,131332,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.37,N,,*2D\r\n$IIVTG,209.84,T,209.84,M,6.00,N,,,D*62\r\n$IIMWV,236,T,00.64,N,A*20\r\n$IIVWT,124,L,00.64,N,00.33,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131334,,,,00,*4F\r\n$IIDBT,070.17,f,021.39,M,011.56,F*2A\r\n$GPGLL,5955.021,N,02319.905,E,131334,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.85,N,,*22\r\n$IIVTG,209.59,T,209.59,M,6.00,N,,,D*62\r\n$IIMWV,353,R,05.83,N,A*28\r\n$IIVWT,127,L,00.83,N,00.43,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131336,,,,00,*4D\r\n$IIDBT,070.17,f,021.39,M,011.56,F*2A\r\n$GPGLL,5955.018,N,02319.902,E,131336,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.21,N,,*2A\r\n$IIVTG,208.22,T,208.22,M,6.00,N,,,D*62\r\n$IIMWV,208,T,00.60,N,A*29\r\n$IIVWT,152,L,00.60,N,00.31,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131338,,,,00,*43\r\n$IIDBT,070.50,f,021.49,M,011.61,F*2A\r\n$GPGLL,5955.015,N,02319.899,E,131338,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,206.41,T,206.41,M,6.02,N,,,D*60\r\n$IIMWV,352,R,05.83,N,A*29\r\n$IIVWT,119,L,00.95,N,00.49,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131340,,,,00,*4C\r\n$IIDBT,071.02,f,021.65,M,011.70,F*22\r\n$GPGLL,5955.011,N,02319.895,E,131340,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.57,N,,*2A\r\n$IIVTG,202.82,T,202.82,M,6.00,N,,,D*62\r\n$IIMWV,207,T,00.56,N,A*23\r\n$IIVWT,153,L,00.56,N,00.29,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131342,,,,00,*4E\r\n$IIDBT,071.12,f,021.68,M,011.71,F*2F\r\n$GPGLL,5955.008,N,02319.893,E,131342,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.35,N,,*2A\r\n$IIVTG,204.18,T,204.18,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,096,L,00.54,N,00.28,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131344,,,,00,*48\r\n$IIDBT,071.65,f,021.84,M,011.80,F*23\r\n$GPGLL,5955.005,N,02319.890,E,131344,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.19,N,,*09\r\n$IIVTG,205.99,T,205.99,M,6.00,N,,,D*62\r\n$IIMWV,258,T,00.54,N,A*2B\r\n$IIVWT,102,L,00.54,N,00.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131346,,,,00,*4A\r\n$IIDBT,071.78,f,021.88,M,011.82,F*21\r\n$GPGLL,5955.002,N,02319.887,E,131347,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.23,N,00.12,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.60,T,206.60,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,105,L,00.50,N,00.26,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131348,,,,00,*44\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,5954.999,N,02319.884,E,131349,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.29,N,,*27\r\n$IIVTG,206.95,T,206.95,M,6.00,N,,,D*62\r\n$IIMWV,270,T,00.33,N,A*20\r\n$IIVWT,090,L,00.33,N,00.17,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131350,,,,00,*4D\r\n$IIDBT,072.66,f,022.15,M,011.97,F*2E\r\n$GPGLL,5954.996,N,02319.881,E,131351,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.29,N,00.15,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.12,N,,*2D\r\n$IIVTG,207.11,T,207.11,M,6.00,N,,,D*62\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,090,L,00.21,N,00.11,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131352,,,,00,*4F\r\n$IIDBT,072.96,f,022.24,M,012.02,F*2C\r\n$GPGLL,5954.993,N,02319.878,E,131353,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,207.00,T,207.00,M,6.00,N,,,D*62\r\n$IIMWV,274,T,00.25,N,A*23\r\n$IIVWT,086,L,00.25,N,00.13,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131354,,,,00,*49\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,5954.990,N,02319.875,E,131355,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,207.55,T,207.55,M,6.00,N,,,D*62\r\n$IIMWV,001,R,05.83,N,A*2C\r\n$IIVWT,166,R,00.52,N,00.27,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131356,,,,00,*4B\r\n$IIDBT,073.19,f,022.31,M,012.05,F*29\r\n$GPGLL,5954.987,N,02319.872,E,131357,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.65,N,,*2A\r\n$IIVTG,206.94,T,206.94,M,6.00,N,,,D*62\r\n$IIMWV,173,T,00.44,N,A*20\r\n$IIVWT,173,R,00.44,N,00.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131359,,,,00,*44\r\n$IIDBT,073.32,f,022.35,M,012.08,F*29\r\n$GPGLL,5954.984,N,02319.869,E,131359,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.27,N,00.14,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.79,N,,*27\r\n$IIVTG,206.56,T,206.56,M,6.00,N,,,D*62\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,163,L,00.36,N,00.19,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131401,,,,00,*4E\r\n$IIDBT,073.58,f,022.43,M,012.12,F*2F\r\n$GPGLL,5954.981,N,02319.866,E,131401,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,208.44,T,208.44,M,6.00,N,,,D*62\r\n$IIMWV,162,T,00.50,N,A*25\r\n$IIVWT,162,R,00.50,N,00.26,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131403,,,,00,*4C\r\n$IIDBT,073.71,f,022.47,M,012.14,F*26\r\n$GPGLL,5954.978,N,02319.862,E,131403,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.31,N,,*2B\r\n$IIVTG,210.51,T,210.51,M,6.00,N,,,D*62\r\n$IIMWV,353,R,05.44,N,A*23\r\n$IIVWT,143,L,01.08,N,00.56,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131405,,,,00,*4A\r\n$IIDBT,073.75,f,022.48,M,012.15,F*2C\r\n$GPGLL,5954.975,N,02319.859,E,131405,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,211.15,T,211.15,M,6.00,N,,,D*62\r\n$IIMWV,177,T,00.77,N,A*24\r\n$IIVWT,177,R,00.77,N,00.40,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131407,,,,00,*48\r\n$IIDBT,074.37,f,022.67,M,012.25,F*23\r\n$GPGLL,5954.972,N,02319.855,E,131407,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.59,N,,*25\r\n$IIVTG,211.76,T,211.76,M,6.00,N,,,D*62\r\n$IIMWV,356,R,05.44,N,A*26\r\n$IIVWT,154,L,00.97,N,00.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131409,,,,00,*46\r\n$IIDBT,074.14,f,022.60,M,012.21,F*21\r\n$GPGLL,5954.970,N,02319.852,E,131409,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,212.01,T,212.01,M,6.00,N,,,D*62\r\n$IIMWV,189,T,00.50,N,A*20\r\n$IIVWT,171,L,00.50,N,00.26,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131411,,,,00,*4F\r\n$IIDBT,073.78,f,022.49,M,012.15,F*20\r\n$GPGLL,5954.967,N,02319.848,E,131411,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.22,N,,*29\r\n$IIVTG,211.88,T,211.88,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,136,L,00.77,N,00.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131413,,,,00,*4D\r\n$IIDBT,073.48,f,022.40,M,012.10,F*2F\r\n$GPGLL,5954.964,N,02319.845,E,131413,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.90,N,,*21\r\n$IIVTG,211.72,T,211.72,M,6.00,N,,,D*62\r\n$IIMWV,230,T,00.60,N,A*22\r\n$IIVWT,130,L,00.60,N,00.31,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131415,,,,00,*4B\r\n$IIDBT,072.96,f,022.24,M,012.02,F*2C\r\n$GPGLL,5954.961,N,02319.841,E,131415,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.27,N,,*2C\r\n$IIVTG,211.71,T,211.71,M,6.00,N,,,D*62\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,146,L,01.04,N,00.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131417,,,,00,*49\r\n$IIDBT,072.66,f,022.15,M,011.97,F*2E\r\n$GPGLL,5954.958,N,02319.838,E,131417,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.53,N,,*2F\r\n$IIVTG,211.58,T,211.58,M,6.00,N,,,D*62\r\n$IIMWV,211,T,01.08,N,A*2E\r\n$IIVWT,149,L,01.08,N,00.56,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131419,,,,00,*47\r\n$IIDBT,071.52,f,021.80,M,011.78,F*24\r\n$GPGLL,5954.955,N,02319.834,E,131419,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,211.39,T,211.39,M,6.00,N,,,D*62\r\n$IIMWV,357,R,05.83,N,A*2C\r\n$IIVWT,145,L,00.60,N,00.31,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131421,,,,00,*4C\r\n$IIDBT,070.96,f,021.63,M,011.69,F*20\r\n$GPGLL,5954.951,N,02319.829,E,131421,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.19,N,,*21\r\n$IIVTG,210.92,T,210.92,M,6.00,N,,,D*62\r\n$IIMWV,218,T,00.62,N,A*2A\r\n$IIVWT,142,L,00.62,N,00.32,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131423,,,,00,*4E\r\n$IIDBT,070.20,f,021.40,M,011.56,F*20\r\n$GPGLL,5954.948,N,02319.826,E,131423,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.72,N,,*2A\r\n$IIVTG,209.66,T,209.66,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,127,L,00.71,N,00.37,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131425,,,,00,*48\r\n$IIDBT,069.19,f,021.09,M,011.39,F*26\r\n$GPGLL,5954.945,N,02319.823,E,131425,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.51,N,,*2C\r\n$IIVTG,208.77,T,208.77,M,6.00,N,,,D*62\r\n$IIMWV,225,T,00.68,N,A*2E\r\n$IIVWT,135,L,00.68,N,00.35,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131427,,,,00,*4A\r\n$IIDBT,068.17,f,020.78,M,011.23,F*25\r\n$GPGLL,5954.942,N,02319.820,E,131427,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,209.66,T,209.66,M,6.00,N,,,D*62\r\n$IIMWV,351,R,05.83,N,A*2A\r\n$IIVWT,119,L,00.99,N,00.51,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131429,,,,00,*44\r\n$IIDBT,067.48,f,020.57,M,011.11,F*2C\r\n$GPGLL,5954.940,N,02319.816,E,131430,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,208.79,T,208.79,M,6.00,N,,,D*62\r\n$IIMWV,238,T,01.01,N,A*2C\r\n$IIVWT,122,L,01.01,N,00.52,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131431,,,,00,*4D\r\n$IIDBT,066.66,f,020.32,M,010.98,F*22\r\n$GPGLL,5954.937,N,02319.813,E,131432,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,207.37,T,207.37,M,6.00,N,,,D*62\r\n$IIMWV,353,R,05.83,N,A*28\r\n$IIVWT,122,L,00.79,N,00.41,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131433,,,,00,*4F\r\n$IIDBT,065.48,f,019.96,M,010.78,F*27\r\n$GPGLL,5954.934,N,02319.810,E,131434,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.05,N,00.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.65,N,,*2E\r\n$IIVTG,208.07,T,208.07,M,6.00,N,,,D*62\r\n$IIMWV,261,T,00.46,N,A*22\r\n$IIVWT,099,L,00.46,N,00.24,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131435,,,,00,*49\r\n$IIDBT,065.05,f,019.83,M,010.71,F*23\r\n$GPGLL,5954.931,N,02319.807,E,131436,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.21,N,,*02\r\n$IIVTG,207.42,T,207.42,M,6.00,N,,,D*62\r\n$IIMWV,353,R,06.41,N,A*25\r\n$IIVWT,085,L,00.83,N,00.43,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131437,,,,00,*4B\r\n$IIDBT,064.43,f,019.64,M,010.61,F*28\r\n$GPGLL,5954.928,N,02319.804,E,131438,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,206.28,T,206.28,M,6.00,N,,,D*62\r\n$IIMWV,291,T,00.15,N,A*2B\r\n$IIVWT,069,L,00.15,N,00.08,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131440,,,,00,*4B\r\n$IIDBT,063.71,f,019.42,M,010.49,F*20\r\n$GPGLL,5954.925,N,02319.801,E,131440,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.15,N,00.08,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,206.92,T,206.92,M,6.00,N,,,D*62\r\n$IIMWV,360,R,06.41,N,A*25\r\n$IIVWT,006,L,00.19,N,00.10,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131442,,,,00,*49\r\n$IIDBT,062.46,f,019.04,M,010.29,F*21\r\n$GPGLL,5954.922,N,02319.798,E,131442,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,6.05,N,,*02\r\n$IIVTG,207.68,T,207.68,M,6.00,N,,,D*62\r\n$IIMWV,066,T,00.33,N,A*25\r\n$IIVWT,066,R,00.33,N,00.17,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131444,,,,00,*4F\r\n$IIDBT,061.44,f,018.73,M,010.12,F*29\r\n$GPGLL,5954.919,N,02319.795,E,131444,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,208.07,T,208.07,M,6.00,N,,,D*62\r\n$IIMWV,009,R,06.41,N,A*29\r\n$IIVWT,089,R,01.01,N,00.52,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131446,,,,00,*4D\r\n$IIDBT,060.66,f,018.49,M,009.99,F*2A\r\n$GPGLL,5954.916,N,02319.792,E,131446,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,207.69,T,207.69,M,6.00,N,,,D*62\r\n$IIMWV,146,T,00.58,N,A*2B\r\n$IIVWT,146,R,00.58,N,00.30,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131448,,,,00,*43\r\n$IIDBT,059.74,f,018.21,M,009.84,F*21\r\n$GPGLL,5954.913,N,02319.789,E,131448,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.03,N,,*2C\r\n$IIVTG,206.50,T,206.50,M,5.95,N,,,D*6D\r\n$IIMWV,009,R,05.83,N,A*24\r\n$IIVWT,120,R,00.99,N,00.51,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131450,,,,00,*4A\r\n$IIDBT,059.08,f,018.01,M,009.73,F*20\r\n$GPGLL,5954.910,N,02319.786,E,131450,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,206.77,T,206.77,M,5.96,N,,,D*6E\r\n$IIMWV,191,T,00.91,N,A*24\r\n$IIVWT,169,L,00.91,N,00.47,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131452,,,,00,*48\r\n$IIDBT,058.03,f,017.69,M,009.56,F*2C\r\n$GPGLL,5954.907,N,02319.783,E,131452,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-4.91,N,,*20\r\n$IIVTG,206.47,T,206.47,M,5.99,N,,,D*61\r\n$IIMWV,351,R,05.44,N,A*21\r\n$IIVWT,136,L,01.20,N,00.62,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131454,,,,00,*4E\r\n$IIDBT,057.47,f,017.52,M,009.47,F*2B\r\n$GPGLL,5954.904,N,02319.781,E,131454,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.15,N,,*2C\r\n$IIVTG,205.19,T,205.19,M,6.00,N,,,D*62\r\n$IIMWV,228,T,01.26,N,A*28\r\n$IIVWT,133,L,01.26,N,00.65,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131456,,,,00,*4C\r\n$IIDBT,057.67,f,017.58,M,009.50,F*25\r\n$GPGLL,5954.901,N,02319.778,E,131456,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,204.40,T,204.40,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,123,L,00.66,N,00.34,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131458,,,,00,*42\r\n$IIDBT,056.72,f,017.29,M,009.34,F*24\r\n$GPGLL,5954.898,N,02319.775,E,131458,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.76,N,,*2F\r\n$IIVTG,204.42,T,204.42,M,6.00,N,,,D*62\r\n$IIMWV,241,T,01.06,N,A*25\r\n$IIVWT,119,L,01.06,N,00.55,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131500,,,,00,*4E\r\n$IIDBT,056.10,f,017.10,M,009.24,F*2B\r\n$GPGLL,5954.895,N,02319.772,E,131500,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.60,N,,*28\r\n$IIVTG,204.71,T,204.71,M,6.00,N,,,D*62\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,094,L,01.12,N,00.58,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131502,,,,00,*4C\r\n$IIDBT,055.54,f,016.93,M,009.15,F*20\r\n$GPGLL,5954.892,N,02319.770,E,131502,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.09,N,,*26\r\n$IIVTG,204.68,T,204.68,M,6.00,N,,,D*62\r\n$IIMWV,238,T,00.79,N,A*22\r\n$IIVWT,122,L,00.79,N,00.41,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131504,,,,00,*4A\r\n$IIDBT,055.34,f,016.87,M,009.11,F*27\r\n$GPGLL,5954.887,N,02319.766,E,131504,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.66,N,,*2C\r\n$IIVTG,204.22,T,204.22,M,6.00,N,,,D*62\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,090,L,00.77,N,00.40,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131506,,,,00,*48\r\n$IIDBT,055.21,f,016.83,M,009.09,F*2E\r\n$GPGLL,5954.884,N,02319.763,E,131506,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.00,N,,*28\r\n$IIVTG,205.20,T,205.20,M,6.00,N,,,D*62\r\n$IIMWV,236,T,00.83,N,A*29\r\n$IIVWT,124,L,00.83,N,00.43,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131508,,,,00,*46\r\n$IIDBT,054.62,f,016.65,M,008.99,F*28\r\n$GPGLL,5954.882,N,02319.760,E,131508,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.98,N,,*2D\r\n$IIVTG,205.23,T,205.23,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,098,L,00.54,N,00.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131510,,,,00,*4F\r\n$IIDBT,054.29,f,016.55,M,008.94,F*29\r\n$GPGLL,5954.879,N,02319.757,E,131510,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.15,N,,*29\r\n$IIVTG,205.41,T,205.41,M,6.00,N,,,D*62\r\n$IIMWV,268,T,00.68,N,A*27\r\n$IIVWT,092,L,00.68,N,00.35,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131512,,,,00,*4D\r\n$IIDBT,054.36,f,016.57,M,008.95,F*24\r\n$GPGLL,5954.876,N,02319.755,E,131513,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.31,N,,*2E\r\n$IIVTG,205.95,T,205.95,M,6.00,N,,,D*62\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,096,L,00.77,N,00.40,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131514,,,,00,*4B\r\n$IIDBT,054.09,f,016.49,M,008.91,F*23\r\n$GPGLL,5954.873,N,02319.752,E,131515,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.40,N,,*05\r\n$IIVTG,206.64,T,206.64,M,6.05,N,,,D*67\r\n$IIMWV,304,T,00.34,N,A*25\r\n$IIVWT,056,L,00.34,N,00.18,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131516,,,,00,*49\r\n$IIDBT,054.06,f,016.48,M,008.90,F*2C\r\n$GPGLL,5954.870,N,02319.749,E,131517,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.92,N,,*27\r\n$IIVTG,206.53,T,206.53,M,6.01,N,,,D*63\r\n$IIMWV,356,R,06.22,N,A*25\r\n$IIVWT,090,L,00.40,N,00.21,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131518,,,,00,*47\r\n$IIDBT,054.19,f,016.52,M,008.92,F*2B\r\n$GPGLL,5954.867,N,02319.746,E,131519,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.05,N,00.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.31,T,206.31,M,6.00,N,,,D*62\r\n$IIMWV,201,T,00.36,N,A*23\r\n$IIVWT,159,L,00.36,N,00.19,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131520,,,,00,*4C\r\n$IIDBT,054.13,f,016.50,M,008.91,F*20\r\n$GPGLL,5954.864,N,02319.743,E,131521,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,205.98,T,205.98,M,6.00,N,,,D*62\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,156,L,00.36,N,00.19,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131523,,,,00,*4F\r\n$IIDBT,053.90,f,016.43,M,008.88,F*26\r\n$GPGLL,5954.861,N,02319.740,E,131523,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,205.54,T,205.54,M,6.00,N,,,D*62\r\n$IIMWV,200,T,00.89,N,A*26\r\n$IIVWT,160,L,00.89,N,00.46,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131525,,,,00,*49\r\n$IIDBT,053.96,f,016.45,M,008.89,F*27\r\n$GPGLL,5954.858,N,02319.737,E,131525,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.08,N,,*22\r\n$IIVTG,205.24,T,205.24,M,6.00,N,,,D*62\r\n$IIMWV,360,R,05.44,N,A*23\r\n$IIVWT,177,L,00.85,N,00.44,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131527,,,,00,*4B\r\n$IIDBT,053.80,f,016.40,M,008.86,F*2A\r\n$GPGLL,5954.855,N,02319.735,E,131527,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.49,N,,*25\r\n$IIVTG,204.86,T,204.86,M,6.00,N,,,D*62\r\n$IIMWV,229,T,00.64,N,A*2E\r\n$IIVWT,131,L,00.64,N,00.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131529,,,,00,*45\r\n$IIDBT,053.80,f,016.40,M,008.86,F*2A\r\n$GPGLL,5954.852,N,02319.732,E,131529,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.73,N,,*28\r\n$IIVTG,204.71,T,204.71,M,6.00,N,,,D*62\r\n$IIMWV,359,R,06.22,N,A*2A\r\n$IIVWT,068,L,00.09,N,00.05,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131531,,,,00,*4C\r\n$IIDBT,053.77,f,016.39,M,008.85,F*2F\r\n$GPGLL,5954.849,N,02319.729,E,131531,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.21,N,00.11,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.40,T,204.40,M,6.00,N,,,D*62\r\n$IIMWV,275,T,00.42,N,A*23\r\n$IIVWT,085,L,00.42,N,00.22,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131533,,,,00,*4E\r\n$IIDBT,053.90,f,016.43,M,008.88,F*26\r\n$GPGLL,5954.846,N,02319.726,E,131533,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.34,N,00.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.58,T,204.58,M,6.00,N,,,D*62\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,153,L,00.42,N,00.22,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131535,,,,00,*48\r\n$IIDBT,054.00,f,016.46,M,008.89,F*2C\r\n$GPGLL,5954.843,N,02319.724,E,131535,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,204.62,T,204.62,M,6.00,N,,,D*62\r\n$IIMWV,270,T,00.38,N,A*2B\r\n$IIVWT,090,L,00.38,N,00.20,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131537,,,,00,*4A\r\n$IIDBT,054.39,f,016.58,M,008.96,F*27\r\n$GPGLL,5954.840,N,02319.721,E,131537,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.55,N,,*2C\r\n$IIVTG,204.45,T,204.45,M,6.00,N,,,D*62\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,101,L,00.68,N,00.35,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131539,,,,00,*44\r\n$IIDBT,054.19,f,016.52,M,008.92,F*2B\r\n$GPGLL,5954.837,N,02319.718,E,131539,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.33,N,,*2E\r\n$IIVTG,204.44,T,204.44,M,6.00,N,,,D*62\r\n$IIMWV,260,T,00.21,N,A*22\r\n$IIVWT,100,L,00.21,N,00.11,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131541,,,,00,*4B\r\n$IIDBT,054.23,f,016.53,M,008.93,F*22\r\n$GPGLL,5954.834,N,02319.715,E,131541,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,204.63,T,204.63,M,6.00,N,,,D*62\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,117,L,00.21,N,00.11,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131543,,,,00,*49\r\n$IIDBT,054.65,f,016.66,M,009.00,F*2D\r\n$GPGLL,5954.831,N,02319.712,E,131543,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,204.58,T,204.58,M,6.00,N,,,D*62\r\n$IIMWV,254,T,00.48,N,A*2A\r\n$IIVWT,106,L,00.48,N,00.25,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131545,,,,00,*4F\r\n$IIDBT,055.24,f,016.84,M,009.10,F*24\r\n$GPGLL,5954.828,N,02319.710,E,131545,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.40,T,204.40,M,6.08,N,,,D*6A\r\n$IIMWV,357,R,06.22,N,A*24\r\n$IIVWT,093,L,00.38,N,00.20,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131547,,,,00,*4D\r\n$IIDBT,055.08,f,016.79,M,009.07,F*2E\r\n$GPGLL,5954.823,N,02319.706,E,131547,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-1.23,N,,*2C\r\n$IIVTG,204.29,T,204.29,M,6.03,N,,,D*61\r\n$IIMWV,270,T,00.42,N,A*26\r\n$IIVWT,090,L,00.42,N,00.22,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131549,,,,00,*43\r\n$IIDBT,054.85,f,016.72,M,009.03,F*25\r\n$GPGLL,5954.820,N,02319.703,E,131549,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.72,N,,*29\r\n$IIVTG,204.65,T,204.65,M,6.08,N,,,D*6A\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,093,L,00.69,N,00.36,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131551,,,,00,*4A\r\n$IIDBT,054.91,f,016.74,M,009.04,F*21\r\n$GPGLL,5954.817,N,02319.700,E,131551,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-1.16,N,,*2A\r\n$IIVTG,204.56,T,204.56,M,6.10,N,,,D*63\r\n$IIMWV,262,T,00.93,N,A*29\r\n$IIVWT,098,L,00.93,N,00.48,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131553,,,,00,*48\r\n$IIDBT,056.23,f,017.14,M,009.26,F*2D\r\n$GPGLL,5954.814,N,02319.697,E,131554,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-1.21,N,,*2E\r\n$IIVTG,204.47,T,204.47,M,6.10,N,,,D*63\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,101,L,00.60,N,00.31,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131555,,,,00,*4E\r\n$IIDBT,055.14,f,016.81,M,009.08,F*2B\r\n$GPGLL,5954.811,N,02319.695,E,131556,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.17,N,00.09,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,204.82,T,204.82,M,6.10,N,,,D*63\r\n$IIMWV,259,T,00.38,N,A*20\r\n$IIVWT,101,L,00.38,N,00.20,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131557,,,,00,*4C\r\n$IIDBT,054.85,f,016.72,M,009.03,F*25\r\n$GPGLL,5954.808,N,02319.692,E,131558,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-1.11,N,,*2D\r\n$IIVTG,204.93,T,204.93,M,6.10,N,,,D*63\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,098,L,00.79,N,00.41,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131559,,,,00,*42\r\n$IIDBT,054.29,f,016.55,M,008.94,F*29\r\n$GPGLL,5954.805,N,02319.689,E,131600,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.35,N,,*2B\r\n$IIVTG,204.34,T,204.34,M,6.10,N,,,D*63\r\n$IIMWV,262,T,00.97,N,A*2D\r\n$IIVWT,098,L,00.97,N,00.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131601,,,,00,*4C\r\n$IIDBT,051.50,f,015.70,M,008.48,F*27\r\n$GPGLL,5954.802,N,02319.686,E,131602,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.82,N,,*24\r\n$IIVTG,203.18,T,203.18,M,6.02,N,,,D*60\r\n$IIMWV,358,R,06.41,N,A*2E\r\n$IIVWT,056,L,00.27,N,00.14,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131603,,,,00,*4E\r\n$IIDBT,044.65,f,013.61,M,007.35,F*26\r\n$GPGLL,5954.799,N,02319.683,E,131604,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.27,N,00.14,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,206.20,T,206.20,M,6.01,N,,,D*63\r\n$IIMWV,246,T,00.36,N,A*20\r\n$IIVWT,114,L,00.36,N,00.19,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131606,,,,00,*4B\r\n$IIDBT,044.19,f,013.47,M,007.28,F*25\r\n$GPGLL,5954.796,N,02319.680,E,131606,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,208.95,T,208.95,M,6.00,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,098,L,00.54,N,00.28,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131608,,,,00,*45\r\n$IIDBT,047.66,f,014.53,M,007.85,F*2B\r\n$GPGLL,5954.793,N,02319.677,E,131608,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.82,N,,*24\r\n$IIVTG,208.81,T,208.81,M,6.00,N,,,D*62\r\n$IIMWV,235,T,00.89,N,A*20\r\n$IIVWT,125,L,00.89,N,00.46,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131610,,,,00,*4C\r\n$IIDBT,046.55,f,014.19,M,007.67,F*28\r\n$GPGLL,5954.790,N,02319.674,E,131610,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,208.48,T,208.48,M,6.00,N,,,D*62\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,129,L,00.64,N,00.33,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131612,,,,00,*4E\r\n$IIDBT,045.30,f,013.81,M,007.46,F*2D\r\n$GPGLL,5954.787,N,02319.671,E,131612,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.28,N,,*22\r\n$IIVTG,207.09,T,207.09,M,6.08,N,,,D*6A\r\n$IIMWV,268,T,00.50,N,A*2C\r\n$IIVWT,092,L,00.50,N,00.26,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131614,,,,00,*48\r\n$IIDBT,044.06,f,013.43,M,007.25,F*22\r\n$GPGLL,5954.784,N,02319.668,E,131614,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.52,N,,*2B\r\n$IIVTG,205.75,T,205.75,M,6.09,N,,,D*6B\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,099,L,00.81,N,00.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131616,,,,00,*4A\r\n$IIDBT,041.04,f,012.51,M,006.76,F*20\r\n$GPGLL,5954.781,N,02319.665,E,131616,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.21,N,,*2F\r\n$IIVTG,204.91,T,204.91,M,6.10,N,,,D*63\r\n$IIMWV,234,T,00.81,N,A*29\r\n$IIVWT,126,L,00.81,N,00.42,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131618,,,,00,*44\r\n$IIDBT,039.04,f,011.90,M,006.43,F*27\r\n$GPGLL,5954.778,N,02319.662,E,131618,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.12,N,,*2C\r\n$IIVTG,203.91,T,203.91,M,6.10,N,,,D*63\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,123,L,00.66,N,00.34,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131620,,,,00,*4F\r\n$IIDBT,038.18,f,011.64,M,006.29,F*2C\r\n$GPGLL,5954.775,N,02319.660,E,131620,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,202.63,T,202.63,M,6.10,N,,,D*63\r\n$IIMWV,244,T,01.18,N,A*2F\r\n$IIVWT,116,L,01.18,N,00.61,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131622,,,,00,*4D\r\n$IIDBT,037.92,f,011.56,M,006.24,F*2D\r\n$GPGLL,5954.772,N,02319.658,E,131622,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.04,N,,*2C\r\n$IIVTG,201.38,T,201.38,M,6.10,N,,,D*63\r\n$IIMWV,356,R,05.83,N,A*2D\r\n$IIVWT,131,L,00.60,N,00.31,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131624,,,,00,*4B\r\n$IIDBT,037.72,f,011.50,M,006.21,F*20\r\n$GPGLL,5954.768,N,02319.655,E,131624,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,200.40,T,200.40,M,6.10,N,,,D*63\r\n$IIMWV,237,T,00.79,N,A*2D\r\n$IIVWT,123,L,00.79,N,00.41,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131626,,,,00,*49\r\n$IIDBT,037.63,f,011.47,M,006.19,F*2D\r\n$GPGLL,5954.765,N,02319.653,E,131626,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,199.95,T,199.95,M,6.17,N,,,D*64\r\n$IIMWV,352,R,05.83,N,A*29\r\n$IIVWT,122,L,01.01,N,00.52,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131628,,,,00,*47\r\n$IIDBT,037.46,f,011.42,M,006.17,F*21\r\n$GPGLL,5954.762,N,02319.651,E,131628,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.92,N,,*22\r\n$IIVTG,198.79,T,198.79,M,6.19,N,,,D*6A\r\n$IIMWV,203,T,00.54,N,A*25\r\n$IIVWT,157,L,00.54,N,00.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131630,,,,00,*4E\r\n$IIDBT,037.26,f,011.36,M,006.14,F*27\r\n$GPGLL,5954.757,N,02319.648,E,131630,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.95,N,,*20\r\n$IIVTG,196.38,T,196.38,M,6.11,N,,,D*62\r\n$IIMWV,355,R,06.22,N,A*26\r\n$IIVWT,099,L,00.60,N,00.31,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131632,,,,00,*4C\r\n$IIDBT,037.03,f,011.29,M,006.10,F*2A\r\n$GPGLL,5954.754,N,02319.646,E,131632,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.32,N,,*00\r\n$IIVTG,194.22,T,194.22,M,6.15,N,,,D*66\r\n$IIMWV,198,T,00.44,N,A*25\r\n$IIVWT,162,L,00.44,N,00.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131634,,,,00,*4A\r\n$IIDBT,036.87,f,011.24,M,006.07,F*2C\r\n$GPGLL,5954.750,N,02319.645,E,131634,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.11,N,,*28\r\n$IIVTG,191.40,T,191.40,M,6.19,N,,,D*6A\r\n$IIMWV,353,R,05.83,N,A*28\r\n$IIVWT,116,L,00.79,N,00.41,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131636,,,,00,*48\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5954.747,N,02319.644,E,131636,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,188.28,T,188.28,M,6.15,N,,,D*66\r\n$IIMWV,214,T,00.54,N,A*23\r\n$IIVWT,146,L,00.54,N,00.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131638,,,,00,*46\r\n$IIDBT,036.08,f,011.00,M,005.94,F*24\r\n$GPGLL,5954.744,N,02319.644,E,131639,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.25,N,,*28\r\n$IIVTG,186.69,T,186.69,M,6.11,N,,,D*62\r\n$IIMWV,354,R,05.83,N,A*2F\r\n$IIVWT,126,L,00.81,N,00.42,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131640,,,,00,*49\r\n$IIDBT,034.08,f,010.39,M,005.61,F*27\r\n$GPGLL,5954.740,N,02319.643,E,131641,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.83,N,,*23\r\n$IIVTG,185.45,T,185.45,M,6.10,N,,,D*63\r\n$IIMWV,214,T,00.50,N,A*27\r\n$IIVWT,146,L,00.50,N,00.26,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131642,,,,00,*4B\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5954.737,N,02319.642,E,131643,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.81,N,,*26\r\n$IIVTG,184.21,T,184.21,M,6.10,N,,,D*63\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,127,L,00.69,N,00.36,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131644,,,,00,*4D\r\n$IIDBT,034.21,f,010.43,M,005.63,F*23\r\n$GPGLL,5954.734,N,02319.642,E,131645,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.83,N,,*23\r\n$IIVTG,183.03,T,183.03,M,6.15,N,,,D*66\r\n$IIMWV,241,T,00.91,N,A*2A\r\n$IIVWT,119,L,00.91,N,00.47,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131646,,,,00,*4F\r\n$IIDBT,036.67,f,011.18,M,006.04,F*2E\r\n$GPGLL,5954.730,N,02319.642,E,131647,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,181.88,T,181.88,M,6.11,N,,,D*62\r\n$IIMWV,352,R,05.83,N,A*29\r\n$IIVWT,120,L,00.97,N,00.50,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131649,,,,00,*40\r\n$IIDBT,037.20,f,011.34,M,006.12,F*25\r\n$GPGLL,5954.727,N,02319.642,E,131649,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.10,N,,*2E\r\n$IIVTG,180.57,T,180.57,M,6.10,N,,,D*63\r\n$IIMWV,246,T,01.18,N,A*2D\r\n$IIVWT,114,L,01.18,N,00.61,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131651,,,,00,*49\r\n$IIDBT,037.10,f,011.31,M,006.11,F*20\r\n$GPGLL,5954.723,N,02319.642,E,131651,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.63,N,,*29\r\n$IIVTG,179.34,T,179.34,M,6.10,N,,,D*63\r\n$IIMWV,349,R,06.22,N,A*2B\r\n$IIVWT,092,L,01.20,N,00.62,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131653,,,,00,*4B\r\n$IIDBT,037.03,f,011.29,M,006.10,F*2A\r\n$GPGLL,5954.720,N,02319.642,E,131653,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,178.24,T,178.24,M,6.10,N,,,D*63\r\n$IIMWV,264,T,00.99,N,A*25\r\n$IIVWT,096,L,00.99,N,00.51,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131655,,,,00,*4D\r\n$IIDBT,036.81,f,011.22,M,006.06,F*2D\r\n$GPGLL,5954.717,N,02319.642,E,131655,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.65,N,,*2F\r\n$IIVTG,177.91,T,177.91,M,6.10,N,,,D*63\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,097,L,01.10,N,00.57,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131657,,,,00,*4F\r\n$IIDBT,036.51,f,011.13,M,006.01,F*25\r\n$GPGLL,5954.713,N,02319.643,E,131657,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.43,N,,*2B\r\n$IIVTG,177.50,T,177.50,M,6.10,N,,,D*63\r\n$IIMWV,267,T,00.79,N,A*28\r\n$IIVWT,093,L,00.79,N,00.41,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131659,,,,00,*41\r\n$IIDBT,036.38,f,011.09,M,005.99,F*23\r\n$GPGLL,5954.710,N,02319.643,E,131659,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.27,N,,*04\r\n$IIVTG,177.52,T,177.52,M,6.10,N,,,D*63\r\n$IIMWV,348,R,06.41,N,A*2F\r\n$IIVWT,091,L,01.39,N,00.72,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131701,,,,00,*4D\r\n$IIDBT,036.15,f,011.02,M,005.95,F*2B\r\n$GPGLL,5954.706,N,02319.643,E,131701,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.61,N,,*06\r\n$IIVTG,177.53,T,177.53,M,6.10,N,,,D*63\r\n$IIMWV,283,T,00.97,N,A*22\r\n$IIVWT,077,L,00.97,N,00.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131703,,,,00,*4F\r\n$IIDBT,035.92,f,010.95,M,005.91,F*2C\r\n$GPGLL,5954.703,N,02319.644,E,131703,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.22,N,,*01\r\n$IIVTG,177.31,T,177.31,M,6.10,N,,,D*63\r\n$IIMWV,351,R,06.41,N,A*27\r\n$IIVWT,088,L,01.04,N,00.54,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131705,,,,00,*49\r\n$IIDBT,035.69,f,010.88,M,005.88,F*2C\r\n$GPGLL,5954.700,N,02319.644,E,131705,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,177.20,T,177.20,M,6.10,N,,,D*63\r\n$IIMWV,277,T,00.77,N,A*27\r\n$IIVWT,083,L,00.77,N,00.40,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131707,,,,00,*4B\r\n$IIDBT,035.53,f,010.83,M,005.85,F*23\r\n$GPGLL,5954.696,N,02319.644,E,131707,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-1.09,N,,*24\r\n$IIVTG,176.73,T,176.73,M,6.10,N,,,D*63\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,098,L,00.81,N,00.42,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131709,,,,00,*45\r\n$IIDBT,035.49,f,010.82,M,005.84,F*28\r\n$GPGLL,5954.693,N,02319.645,E,131709,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.23,N,,*00\r\n$IIVTG,176.43,T,176.43,M,6.10,N,,,D*63\r\n$IIMWV,270,T,00.64,N,A*22\r\n$IIVWT,090,L,00.64,N,00.33,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131711,,,,00,*4C\r\n$IIDBT,035.46,f,010.81,M,005.84,F*24\r\n$GPGLL,5954.688,N,02319.646,E,131711,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.44,N,,*2C\r\n$IIVTG,175.55,T,175.55,M,6.10,N,,,D*63\r\n$IIMWV,352,R,06.41,N,A*24\r\n$IIVWT,084,L,00.87,N,00.45,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131713,,,,00,*4E\r\n$IIDBT,035.59,f,010.85,M,005.86,F*2C\r\n$GPGLL,5954.684,N,02319.646,E,131713,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,175.61,T,175.61,M,6.18,N,,,D*6B\r\n$IIMWV,268,T,00.69,N,A*26\r\n$IIVWT,092,L,00.69,N,00.36,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131715,,,,00,*48\r\n$IIDBT,035.92,f,010.95,M,005.91,F*2C\r\n$GPGLL,5954.681,N,02319.647,E,131715,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-0.15,N,,*28\r\n$IIVTG,176.15,T,176.15,M,6.19,N,,,D*6A\r\n$IIMWV,352,R,06.22,N,A*21\r\n$IIVWT,097,L,00.83,N,00.43,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131717,,,,00,*4A\r\n$IIDBT,036.02,f,010.98,M,005.93,F*29\r\n$GPGLL,5954.678,N,02319.647,E,131717,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-1.15,N,,*29\r\n$IIVTG,176.04,T,176.04,M,6.12,N,,,D*61\r\n$IIMWV,211,T,00.56,N,A*24\r\n$IIVWT,149,L,00.56,N,00.29,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131719,,,,00,*44\r\n$IIDBT,036.12,f,011.01,M,005.95,F*2F\r\n$GPGLL,5954.674,N,02319.648,E,131720,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.49,N,,*21\r\n$IIVTG,176.23,T,176.23,M,6.11,N,,,D*62\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,092,L,01.04,N,00.54,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131721,,,,00,*4F\r\n$IIDBT,036.38,f,011.09,M,005.99,F*23\r\n$GPGLL,5954.671,N,02319.648,E,131722,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.71,N,,*2A\r\n$IIVTG,177.26,T,177.26,M,6.10,N,,,D*63\r\n$IIMWV,268,T,00.58,N,A*24\r\n$IIVWT,092,L,00.58,N,00.30,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131723,,,,00,*4D\r\n$IIDBT,036.81,f,011.22,M,006.06,F*2D\r\n$GPGLL,5954.667,N,02319.648,E,131724,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-1.21,N,,*2E\r\n$IIVTG,178.64,T,178.64,M,6.10,N,,,D*63\r\n$IIMWV,353,R,06.22,N,A*20\r\n$IIVWT,100,L,00.79,N,00.41,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131725,,,,00,*4B\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,5954.664,N,02319.648,E,131726,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,178.03,T,178.03,M,6.10,N,,,D*63\r\n$IIMWV,279,T,00.75,N,A*2B\r\n$IIVWT,081,L,00.75,N,00.39,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131727,,,,00,*49\r\n$IIDBT,037.00,f,011.28,M,006.09,F*20\r\n$GPGLL,5954.661,N,02319.649,E,131728,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.45,N,,*2D\r\n$IIVTG,175.98,T,175.98,M,6.10,N,,,D*63\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,097,L,01.14,N,00.59,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131729,,,,00,*47\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,5954.657,N,02319.650,E,131730,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.63,N,,*2B\r\n$IIVTG,174.82,T,174.82,M,6.10,N,,,D*63\r\n$IIMWV,248,T,01.61,N,A*2D\r\n$IIVWT,112,L,01.61,N,00.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131732,,,,00,*4D\r\n$IIDBT,037.53,f,011.44,M,006.18,F*2C\r\n$GPGLL,5954.654,N,02319.650,E,131732,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.30,N,,*2D\r\n$IIVTG,175.63,T,175.63,M,6.10,N,,,D*63\r\n$IIMWV,347,R,05.83,N,A*2D\r\n$IIVWT,112,L,01.43,N,00.74,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131734,,,,00,*4B\r\n$IIDBT,037.76,f,011.51,M,006.22,F*26\r\n$GPGLL,5954.651,N,02319.650,E,131734,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.52,N,,*2B\r\n$IIVTG,175.88,T,175.88,M,6.10,N,,,D*63\r\n$IIMWV,270,T,01.24,N,A*27\r\n$IIVWT,090,L,01.24,N,00.64,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131736,,,,00,*49\r\n$IIDBT,037.95,f,011.57,M,006.25,F*2A\r\n$GPGLL,5954.647,N,02319.651,E,131736,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,176.45,T,176.45,M,6.10,N,,,D*63\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,085,L,01.18,N,00.61,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131738,,,,00,*47\r\n$IIDBT,038.45,f,011.72,M,006.33,F*28\r\n$GPGLL,5954.644,N,02319.651,E,131738,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.11,N,,*01\r\n$IIVTG,178.16,T,178.16,M,6.10,N,,,D*63\r\n$IIMWV,276,T,00.95,N,A*2A\r\n$IIVWT,084,L,00.95,N,00.49,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131740,,,,00,*48\r\n$IIDBT,038.77,f,011.82,M,006.38,F*2D\r\n$GPGLL,5954.640,N,02319.651,E,131740,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.28,N,,*26\r\n$IIVTG,180.01,T,180.01,M,6.10,N,,,D*63\r\n$IIMWV,348,R,06.41,N,A*2F\r\n$IIVWT,089,L,01.38,N,00.71,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131742,,,,00,*4A\r\n$IIDBT,039.50,f,012.04,M,006.50,F*2A\r\n$GPGLL,5954.637,N,02319.651,E,131742,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,179.90,T,179.90,M,6.10,N,,,D*63\r\n$IIMWV,273,T,00.85,N,A*2E\r\n$IIVWT,087,L,00.85,N,00.44,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131744,,,,00,*4C\r\n$IIDBT,039.69,f,012.10,M,006.54,F*21\r\n$GPGLL,5954.634,N,02319.651,E,131744,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.26,N,,*28\r\n$IIVTG,179.80,T,179.80,M,6.10,N,,,D*63\r\n$IIMWV,351,R,06.22,N,A*22\r\n$IIVWT,100,L,00.95,N,00.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131746,,,,00,*4E\r\n$IIDBT,040.32,f,012.29,M,006.64,F*28\r\n$GPGLL,5954.630,N,02319.651,E,131746,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-1.19,N,,*25\r\n$IIVTG,180.65,T,180.65,M,6.10,N,,,D*63\r\n$IIMWV,254,T,00.99,N,A*26\r\n$IIVWT,106,L,00.99,N,00.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131748,,,,00,*40\r\n$IIDBT,040.91,f,012.47,M,006.74,F*28\r\n$GPGLL,5954.627,N,02319.651,E,131748,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.98,N,,*2D\r\n$IIVTG,181.81,T,181.81,M,6.10,N,,,D*63\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,095,L,01.12,N,00.58,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131750,,,,00,*49\r\n$IIDBT,041.79,f,012.74,M,006.88,F*2C\r\n$GPGLL,5954.623,N,02319.651,E,131750,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.43,N,,*2B\r\n$IIVTG,181.91,T,181.91,M,6.10,N,,,D*63\r\n$IIMWV,259,T,00.81,N,A*22\r\n$IIVWT,101,L,00.81,N,00.42,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131752,,,,00,*4B\r\n$IIDBT,043.14,f,013.15,M,007.10,F*23\r\n$GPGLL,5954.618,N,02319.650,E,131752,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,182.05,T,182.05,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,118,L,01.18,N,00.61,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131754,,,,00,*4D\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,5954.615,N,02319.650,E,131754,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,182.43,T,182.43,M,6.10,N,,,D*63\r\n$IIMWV,239,T,01.24,N,A*2A\r\n$IIVWT,121,L,01.24,N,00.64,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131756,,,,00,*4F\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,5954.612,N,02319.650,E,131756,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.78,N,,*21\r\n$IIVTG,182.43,T,182.43,M,6.10,N,,,D*63\r\n$IIMWV,351,R,05.83,N,A*2A\r\n$IIVWT,119,L,01.01,N,00.52,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131758,,,,00,*41\r\n$IIDBT,046.02,f,014.03,M,007.58,F*2D\r\n$GPGLL,5954.608,N,02319.649,E,131758,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,182.41,T,182.41,M,6.10,N,,,D*63\r\n$IIMWV,235,T,01.03,N,A*23\r\n$IIVWT,125,L,01.03,N,00.53,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131800,,,,00,*43\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5954.605,N,02319.649,E,131800,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.57,N,,*2C\r\n$IIVTG,182.30,T,182.30,M,6.10,N,,,D*63\r\n$IIMWV,348,R,05.83,N,A*22\r\n$IIVWT,116,L,01.39,N,00.72,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131802,,,,00,*41\r\n$IIDBT,048.26,f,014.71,M,007.95,F*21\r\n$GPGLL,5954.601,N,02319.649,E,131803,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,182.27,T,182.27,M,6.10,N,,,D*63\r\n$IIMWV,243,T,00.99,N,A*20\r\n$IIVWT,117,L,00.99,N,00.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131804,,,,00,*47\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5954.598,N,02319.648,E,131805,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.76,N,,*2F\r\n$IIVTG,182.97,T,182.97,M,6.10,N,,,D*63\r\n$IIMWV,349,R,05.83,N,A*23\r\n$IIVWT,115,L,01.30,N,00.67,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131806,,,,00,*45\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5954.595,N,02319.648,E,131807,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,183.42,T,183.42,M,6.10,N,,,D*63\r\n$IIMWV,240,T,00.97,N,A*2D\r\n$IIVWT,120,L,00.97,N,00.50,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131808,,,,00,*4B\r\n$IIDBT,051.21,f,015.61,M,008.43,F*2A\r\n$GPGLL,5954.591,N,02319.647,E,131809,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.21,N,,*2C\r\n$IIVTG,184.01,T,184.01,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,115,L,01.08,N,00.56,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131810,,,,00,*42\r\n$IIDBT,052.52,f,016.01,M,008.65,F*2C\r\n$GPGLL,5954.588,N,02319.647,E,131811,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,184.37,T,184.37,M,6.10,N,,,D*63\r\n$IIMWV,241,T,01.06,N,A*25\r\n$IIVWT,119,L,01.06,N,00.55,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131812,,,,00,*40\r\n$IIDBT,053.24,f,016.23,M,008.77,F*2F\r\n$GPGLL,5954.585,N,02319.646,E,131813,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,184.42,T,184.42,M,6.10,N,,,D*63\r\n$IIMWV,348,R,05.83,N,A*22\r\n$IIVWT,115,L,01.30,N,00.67,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131815,,,,00,*47\r\n$IIDBT,054.42,f,016.59,M,008.96,F*2A\r\n$GPGLL,5954.581,N,02319.646,E,131815,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.07,N,,*28\r\n$IIVTG,184.50,T,184.50,M,6.10,N,,,D*63\r\n$IIMWV,241,T,01.06,N,A*25\r\n$IIVWT,119,L,01.06,N,00.55,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131817,,,,00,*45\r\n$IIDBT,055.54,f,016.93,M,009.15,F*20\r\n$GPGLL,5954.578,N,02319.645,E,131817,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.78,N,,*21\r\n$IIVTG,184.90,T,184.90,M,6.10,N,,,D*63\r\n$IIMWV,351,R,05.83,N,A*2A\r\n$IIVWT,118,L,01.03,N,00.53,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131819,,,,00,*4B\r\n$IIDBT,056.95,f,017.36,M,009.38,F*2F\r\n$GPGLL,5954.575,N,02319.645,E,131819,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.33,N,,*28\r\n$IIVTG,185.22,T,185.22,M,6.10,N,,,D*63\r\n$IIMWV,230,T,01.34,N,A*22\r\n$IIVWT,130,L,01.34,N,00.69,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131821,,,,00,*40\r\n$IIDBT,057.83,f,017.63,M,009.52,F*25\r\n$GPGLL,5954.571,N,02319.644,E,131821,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.77,N,,*28\r\n$IIVTG,185.48,T,185.48,M,6.15,N,,,D*66\r\n$IIMWV,352,R,05.44,N,A*22\r\n$IIVWT,138,L,01.12,N,00.58,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131823,,,,00,*42\r\n$IIDBT,058.20,f,017.74,M,009.58,F*2F\r\n$GPGLL,5954.568,N,02319.643,E,131823,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.95,N,,*24\r\n$IIVTG,186.19,T,186.19,M,6.14,N,,,D*67\r\n$IIMWV,216,T,01.03,N,A*22\r\n$IIVWT,144,L,01.03,N,00.53,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131825,,,,00,*44\r\n$IIDBT,059.54,f,018.15,M,009.81,F*21\r\n$GPGLL,5954.564,N,02319.642,E,131825,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.20,N,,*2A\r\n$IIVTG,187.27,T,187.27,M,6.13,N,,,D*60\r\n$IIMWV,349,R,05.44,N,A*28\r\n$IIVWT,131,L,01.41,N,00.73,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131827,,,,00,*46\r\n$IIDBT,060.16,f,018.34,M,009.91,F*2F\r\n$GPGLL,5954.561,N,02319.642,E,131827,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,185.94,T,185.94,M,6.11,N,,,D*62\r\n$IIMWV,231,T,01.28,N,A*2E\r\n$IIVWT,129,L,01.28,N,00.66,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131829,,,,00,*48\r\n$IIDBT,060.82,f,018.54,M,010.02,F*26\r\n$GPGLL,5954.558,N,02319.641,E,131829,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.55,N,,*2F\r\n$IIVTG,184.29,T,184.29,M,6.15,N,,,D*66\r\n$IIMWV,349,R,05.44,N,A*28\r\n$IIVWT,130,L,01.36,N,00.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131831,,,,00,*41\r\n$IIDBT,061.61,f,018.78,M,010.15,F*22\r\n$GPGLL,5954.554,N,02319.641,E,131831,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.97,N,,*21\r\n$IIVTG,183.17,T,183.17,M,6.14,N,,,D*67\r\n$IIMWV,227,T,01.39,N,A*29\r\n$IIVWT,133,L,01.39,N,00.72,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131833,,,,00,*43\r\n$IIDBT,062.10,f,018.93,M,010.23,F*27\r\n$GPGLL,5954.551,N,02319.641,E,131833,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.06,N,,*2E\r\n$IIVTG,182.37,T,182.37,M,6.13,N,,,D*60\r\n$IIMWV,350,R,05.44,N,A*20\r\n$IIVWT,132,L,01.26,N,00.65,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131835,,,,00,*45\r\n$IIDBT,062.76,f,019.13,M,010.34,F*28\r\n$GPGLL,5954.546,N,02319.641,E,131835,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.53,N,,*2E\r\n$IIVTG,181.27,T,181.27,M,6.16,N,,,D*65\r\n$IIMWV,222,T,01.22,N,A*26\r\n$IIVWT,138,L,01.22,N,00.63,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131837,,,,00,*47\r\n$IIDBT,063.48,f,019.35,M,010.45,F*26\r\n$GPGLL,5954.542,N,02319.641,E,131837,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.53,N,,*2E\r\n$IIVTG,179.78,T,179.78,M,6.19,N,,,D*6A\r\n$IIMWV,351,R,05.44,N,A*21\r\n$IIVWT,134,L,01.18,N,00.61,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131839,,,,00,*49\r\n$IIDBT,063.77,f,019.44,M,010.50,F*28\r\n$GPGLL,5954.539,N,02319.641,E,131839,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.28,N,,*22\r\n$IIVTG,178.95,T,178.95,M,6.20,N,,,D*60\r\n$IIMWV,223,T,01.28,N,A*2D\r\n$IIVWT,137,L,01.28,N,00.66,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131841,,,,00,*46\r\n$IIDBT,063.94,f,019.49,M,010.53,F*2B\r\n$GPGLL,5954.535,N,02319.641,E,131841,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,177.72,T,177.72,M,6.20,N,,,D*60\r\n$IIMWV,347,R,05.44,N,A*26\r\n$IIVWT,127,L,01.57,N,00.81,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131843,,,,00,*44\r\n$IIDBT,064.23,f,019.58,M,010.58,F*2B\r\n$GPGLL,5954.532,N,02319.642,E,131843,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,175.93,T,175.93,M,6.12,N,,,D*61\r\n$IIMWV,230,T,01.41,N,A*20\r\n$IIVWT,130,L,01.41,N,00.73,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131845,,,,00,*42\r\n$IIDBT,064.63,f,019.70,M,010.64,F*2A\r\n$GPGLL,5954.529,N,02319.642,E,131846,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.62,N,,*2B\r\n$IIVTG,176.18,T,176.18,M,6.11,N,,,D*62\r\n$IIMWV,346,R,05.44,N,A*27\r\n$IIVWT,125,L,01.61,N,00.83,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131847,,,,00,*40\r\n$IIDBT,065.38,f,019.93,M,010.77,F*2A\r\n$GPGLL,5954.525,N,02319.643,E,131848,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.98,N,,*2E\r\n$IIVTG,177.22,T,177.22,M,6.10,N,,,D*63\r\n$IIMWV,231,T,01.43,N,A*23\r\n$IIVWT,129,L,01.43,N,00.74,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131849,,,,00,*4E\r\n$IIDBT,066.30,f,020.21,M,010.92,F*29\r\n$GPGLL,5954.522,N,02319.643,E,131850,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,178.41,T,178.41,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.44,N,A*20\r\n$IIVWT,134,L,01.30,N,00.67,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131851,,,,00,*47\r\n$IIDBT,066.14,f,020.16,M,010.89,F*21\r\n$GPGLL,5954.519,N,02319.643,E,131852,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.27,N,,*2D\r\n$IIVTG,179.68,T,179.68,M,6.10,N,,,D*63\r\n$IIMWV,227,T,01.59,N,A*2F\r\n$IIVWT,133,L,01.59,N,00.82,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131853,,,,00,*45\r\n$IIDBT,065.94,f,020.10,M,010.86,F*23\r\n$GPGLL,5954.515,N,02319.643,E,131854,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-4.38,N,,*23\r\n$IIVTG,180.62,T,180.62,M,6.10,N,,,D*63\r\n$IIMWV,348,R,05.24,N,A*2F\r\n$IIVWT,133,L,01.49,N,00.77,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131855,,,,00,*43\r\n$IIDBT,066.27,f,020.20,M,010.91,F*2D\r\n$GPGLL,5954.512,N,02319.642,E,131856,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.01,N,,*28\r\n$IIVTG,181.51,T,181.51,M,6.10,N,,,D*63\r\n$IIMWV,214,T,01.67,N,A*22\r\n$IIVWT,146,L,01.67,N,00.86,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131858,,,,00,*4E\r\n$IIDBT,066.73,f,020.34,M,010.99,F*21\r\n$GPGLL,5954.509,N,02319.642,E,131858,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.26,N,,*2D\r\n$IIVTG,182.92,T,182.92,M,6.10,N,,,D*63\r\n$IIMWV,350,R,04.85,N,A*2C\r\n$IIVWT,149,L,01.63,N,00.84,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131900,,,,00,*42\r\n$IIDBT,066.76,f,020.35,M,010.99,F*25\r\n$GPGLL,5954.505,N,02319.641,E,131900,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,184.88,T,184.88,M,6.10,N,,,D*63\r\n$IIMWV,202,T,01.47,N,A*27\r\n$IIVWT,158,L,01.47,N,00.76,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131902,,,,00,*40\r\n$IIDBT,067.02,f,020.43,M,011.04,F*23\r\n$GPGLL,5954.502,N,02319.641,E,131902,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-4.72,N,,*2D\r\n$IIVTG,186.67,T,186.67,M,6.18,N,,,D*6B\r\n$IIMWV,345,R,04.85,N,A*28\r\n$IIVWT,141,L,01.98,N,01.02,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131904,,,,00,*46\r\n$IIDBT,067.74,f,020.65,M,011.16,F*25\r\n$GPGLL,5954.498,N,02319.640,E,131904,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.10,N,,*28\r\n$IIVTG,184.72,T,184.72,M,6.19,N,,,D*6A\r\n$IIMWV,215,T,01.71,N,A*24\r\n$IIVWT,145,L,01.71,N,00.88,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131906,,,,00,*44\r\n$IIDBT,067.61,f,020.61,M,011.14,F*27\r\n$GPGLL,5954.495,N,02319.640,E,131906,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-4.75,N,,*2A\r\n$IIVTG,182.85,T,182.85,M,6.12,N,,,D*61\r\n$IIMWV,344,R,04.85,N,A*29\r\n$IIVWT,139,L,02.06,N,01.06,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131908,,,,00,*4A\r\n$IIDBT,067.78,f,020.66,M,011.16,F*2A\r\n$GPGLL,5954.492,N,02319.640,E,131908,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-4.91,N,,*20\r\n$IIVTG,181.62,T,181.62,M,6.11,N,,,D*62\r\n$IIMWV,218,T,01.96,N,A*20\r\n$IIVWT,142,L,01.96,N,01.01,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131910,,,,00,*43\r\n$IIDBT,068.33,f,020.83,M,011.25,F*21\r\n$GPGLL,5954.488,N,02319.640,E,131910,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.81,N,,*21\r\n$IIVTG,180.37,T,180.37,M,6.10,N,,,D*63\r\n$IIMWV,346,R,04.85,N,A*2B\r\n$IIVWT,142,L,01.96,N,01.01,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131912,,,,00,*41\r\n$IIDBT,068.76,f,020.96,M,011.32,F*22\r\n$GPGLL,5954.485,N,02319.640,E,131912,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.73,N,,*2C\r\n$IIVTG,179.42,T,179.42,M,6.10,N,,,D*63\r\n$IIMWV,232,T,01.96,N,A*28\r\n$IIVWT,128,L,01.96,N,01.01,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131914,,,,00,*47\r\n$IIDBT,068.99,f,021.03,M,011.36,F*2A\r\n$GPGLL,5954.481,N,02319.640,E,131914,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,178.85,T,178.85,M,6.10,N,,,D*63\r\n$IIMWV,343,R,05.24,N,A*24\r\n$IIVWT,129,L,02.04,N,01.05,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131916,,,,00,*45\r\n$IIDBT,068.99,f,021.03,M,011.36,F*2A\r\n$GPGLL,5954.478,N,02319.640,E,131916,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,178.34,T,178.34,M,6.10,N,,,D*63\r\n$IIMWV,228,T,01.92,N,A*27\r\n$IIVWT,132,L,01.92,N,00.99,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131918,,,,00,*4B\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,5954.473,N,02319.641,E,131918,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.82,N,,*25\r\n$IIVTG,177.46,T,177.46,M,6.10,N,,,D*63\r\n$IIMWV,342,R,05.24,N,A*25\r\n$IIVWT,127,L,02.04,N,01.05,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131920,,,,00,*40\r\n$IIDBT,068.86,f,020.99,M,011.34,F*24\r\n$GPGLL,5954.470,N,02319.641,E,131920,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.67,N,,*29\r\n$IIVTG,176.13,T,176.13,M,6.10,N,,,D*63\r\n$IIMWV,220,T,02.06,N,A*21\r\n$IIVWT,140,L,02.06,N,01.06,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131922,,,,00,*42\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,5954.466,N,02319.642,E,131922,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.39,N,,*22\r\n$IIVTG,175.83,T,175.83,M,6.10,N,,,D*63\r\n$IIMWV,342,R,04.85,N,A*2F\r\n$IIVWT,135,L,02.19,N,01.13,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131924,,,,00,*44\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,5954.463,N,02319.642,E,131924,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.69,N,,*20\r\n$IIVTG,175.48,T,175.48,M,6.10,N,,,D*63\r\n$IIMWV,233,T,02.13,N,A*27\r\n$IIVWT,127,L,02.13,N,01.10,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131926,,,,00,*46\r\n$IIDBT,069.15,f,021.08,M,011.39,F*2B\r\n$GPGLL,5954.460,N,02319.643,E,131926,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-3.55,N,,*2F\r\n$IIVTG,174.97,T,174.97,M,6.10,N,,,D*63\r\n$IIMWV,342,R,05.24,N,A*25\r\n$IIVWT,126,L,02.04,N,01.05,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131928,,,,00,*48\r\n$IIDBT,069.58,f,021.21,M,011.46,F*21\r\n$GPGLL,5954.456,N,02319.644,E,131929,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,174.87,T,174.87,M,6.05,N,,,D*67\r\n$IIMWV,230,T,02.07,N,A*21\r\n$IIVWT,130,L,02.07,N,01.07,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131930,,,,00,*41\r\n$IIDBT,069.32,f,021.13,M,011.42,F*28\r\n$GPGLL,5954.453,N,02319.644,E,131931,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-4.16,N,,*2F\r\n$IIVTG,175.27,T,175.27,M,6.09,N,,,D*6B\r\n$IIMWV,345,R,05.24,N,A*22\r\n$IIVWT,130,L,01.76,N,00.91,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131932,,,,00,*43\r\n$IIDBT,068.86,f,020.99,M,011.34,F*24\r\n$GPGLL,5954.449,N,02319.645,E,131933,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,175.96,T,175.96,M,6.10,N,,,D*63\r\n$IIMWV,233,T,01.94,N,A*2B\r\n$IIVWT,127,L,01.94,N,01.00,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131934,,,,00,*45\r\n$IIDBT,068.96,f,021.02,M,011.36,F*24\r\n$GPGLL,5954.446,N,02319.645,E,131935,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.81,N,,*26\r\n$IIVTG,177.19,T,177.19,M,6.05,N,,,D*67\r\n$IIMWV,344,R,05.24,N,A*23\r\n$IIVWT,130,L,01.92,N,00.99,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131936,,,,00,*47\r\n$IIDBT,068.60,f,020.91,M,011.30,F*20\r\n$GPGLL,5954.443,N,02319.645,E,131937,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.36,N,,*2A\r\n$IIVTG,178.90,T,178.90,M,6.01,N,,,D*63\r\n$IIMWV,235,T,01.69,N,A*2F\r\n$IIVWT,125,L,01.69,N,00.87,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131938,,,,00,*49\r\n$IIDBT,068.83,f,020.98,M,011.34,F*20\r\n$GPGLL,5954.439,N,02319.645,E,131939,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.87,N,,*20\r\n$IIVTG,180.45,T,180.45,M,6.05,N,,,D*67\r\n$IIMWV,344,R,05.44,N,A*25\r\n$IIVWT,124,L,01.84,N,00.95,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131941,,,,00,*47\r\n$IIDBT,068.50,f,020.88,M,011.28,F*22\r\n$GPGLL,5954.436,N,02319.645,E,131941,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-3.69,N,,*20\r\n$IIVTG,179.34,T,179.34,M,6.09,N,,,D*6B\r\n$IIMWV,236,T,01.82,N,A*29\r\n$IIVWT,124,L,01.82,N,00.94,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131943,,,,00,*45\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,5954.433,N,02319.646,E,131943,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-2.46,N,,*2C\r\n$IIVTG,176.89,T,176.89,M,6.10,N,,,D*63\r\n$IIMWV,343,R,05.83,N,A*29\r\n$IIVWT,115,L,01.88,N,00.97,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131945,,,,00,*43\r\n$IIDBT,068.43,f,020.86,M,011.27,F*21\r\n$GPGLL,5954.429,N,02319.646,E,131945,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,174.27,T,174.27,M,6.10,N,,,D*63\r\n$IIMWV,247,T,01.88,N,A*25\r\n$IIVWT,113,L,01.88,N,00.97,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131947,,,,00,*41\r\n$IIDBT,068.60,f,020.91,M,011.30,F*20\r\n$GPGLL,5954.426,N,02319.647,E,131947,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.24,N,,*28\r\n$IIVTG,171.69,T,171.69,M,6.10,N,,,D*63\r\n$IIMWV,343,R,05.83,N,A*29\r\n$IIVWT,113,L,01.84,N,00.95,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131949,,,,00,*4F\r\n$IIDBT,068.01,f,020.73,M,011.20,F*2A\r\n$GPGLL,5954.423,N,02319.649,E,131949,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.92,N,,*26\r\n$IIVTG,169.87,T,169.87,M,6.10,N,,,D*63\r\n$IIMWV,248,T,01.88,N,A*2A\r\n$IIVWT,112,L,01.88,N,00.97,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131951,,,,00,*46\r\n$IIDBT,067.78,f,020.66,M,011.16,F*2A\r\n$GPGLL,5954.419,N,02319.650,E,131951,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.35,N,,*28\r\n$IIVTG,168.44,T,168.44,M,6.02,N,,,D*60\r\n$IIMWV,346,R,05.83,N,A*2C\r\n$IIVWT,113,L,01.57,N,00.81,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131953,,,,00,*44\r\n$IIDBT,067.58,f,020.60,M,011.13,F*2B\r\n$GPGLL,5954.416,N,02319.651,E,131953,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.33,N,,*2E\r\n$IIVTG,168.46,T,168.46,M,6.06,N,,,D*64\r\n$IIMWV,249,T,01.92,N,A*20\r\n$IIVWT,111,L,01.92,N,00.99,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131955,,,,00,*42\r\n$IIDBT,067.02,f,020.43,M,011.04,F*23\r\n$GPGLL,5954.413,N,02319.653,E,131955,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.52,N,,*29\r\n$IIVTG,168.14,T,168.14,M,6.01,N,,,D*63\r\n$IIMWV,344,R,05.83,N,A*2E\r\n$IIVWT,113,L,01.76,N,00.91,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131957,,,,00,*40\r\n$IIDBT,067.02,f,020.43,M,011.04,F*23\r\n$GPGLL,5954.410,N,02319.654,E,131957,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.36,N,,*2B\r\n$IIVTG,168.44,T,168.44,M,6.00,N,,,D*62\r\n$IIMWV,249,T,01.80,N,A*23\r\n$IIVWT,111,L,01.80,N,00.93,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,131959,,,,00,*4E\r\n$IIDBT,066.63,f,020.31,M,010.97,F*2B\r\n$GPGLL,5954.406,N,02319.655,E,131959,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.49,N,,*23\r\n$IIVTG,168.81,T,168.81,M,6.00,N,,,D*62\r\n$IIMWV,347,R,05.83,N,A*2D\r\n$IIVWT,112,L,01.43,N,00.74,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132001,,,,00,*49\r\n$IIDBT,066.59,f,020.30,M,010.97,F*23\r\n$GPGLL,5954.401,N,02319.657,E,132001,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.99,N,,*2D\r\n$IIVTG,169.18,T,169.18,M,6.06,N,,,D*64\r\n$IIMWV,249,T,01.88,N,A*2B\r\n$IIVWT,111,L,01.88,N,00.97,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132003,,,,00,*4B\r\n$IIDBT,066.04,f,020.13,M,010.88,F*24\r\n$GPGLL,5954.398,N,02319.659,E,132003,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,168.52,T,168.52,M,6.02,N,,,D*60\r\n$IIMWV,345,R,05.83,N,A*2F\r\n$IIVWT,114,L,01.69,N,00.87,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132005,,,,00,*4D\r\n$IIDBT,065.97,f,020.11,M,010.87,F*20\r\n$GPGLL,5954.395,N,02319.660,E,132005,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,168.50,T,168.50,M,6.00,N,,,D*62\r\n$IIMWV,246,T,01.76,N,A*25\r\n$IIVWT,114,L,01.76,N,00.91,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132007,,,,00,*4F\r\n$IIDBT,065.71,f,020.03,M,010.82,F*2E\r\n$GPGLL,5954.392,N,02319.661,E,132007,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.98,N,,*2F\r\n$IIVTG,168.35,T,168.35,M,6.00,N,,,D*62\r\n$IIMWV,347,R,05.83,N,A*2D\r\n$IIVWT,113,L,01.41,N,00.73,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132009,,,,00,*41\r\n$IIDBT,065.25,f,019.89,M,010.75,F*2F\r\n$GPGLL,5954.388,N,02319.662,E,132009,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.65,N,,*2D\r\n$IIVTG,168.82,T,168.82,M,6.00,N,,,D*62\r\n$IIMWV,244,T,01.61,N,A*21\r\n$IIVWT,116,L,01.61,N,00.83,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132011,,,,00,*48\r\n$IIDBT,064.89,f,019.78,M,010.69,F*2B\r\n$GPGLL,5954.385,N,02319.664,E,132012,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,169.15,T,169.15,M,5.98,N,,,D*60\r\n$IIMWV,344,R,05.44,N,A*25\r\n$IIVWT,127,L,01.84,N,00.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132013,,,,00,*4A\r\n$IIDBT,064.33,f,019.61,M,010.59,F*21\r\n$GPGLL,5954.382,N,02319.665,E,132014,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.72,N,,*2A\r\n$IIVTG,170.11,T,170.11,M,5.99,N,,,D*61\r\n$IIMWV,250,T,01.51,N,A*27\r\n$IIVWT,110,L,01.51,N,00.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132015,,,,00,*4C\r\n$IIDBT,064.00,f,019.51,M,010.54,F*2F\r\n$GPGLL,5954.379,N,02319.666,E,132016,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,170.43,T,170.43,M,6.02,N,,,D*60\r\n$IIMWV,346,R,05.44,N,A*27\r\n$IIVWT,128,L,01.73,N,00.89,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132017,,,,00,*4E\r\n$IIDBT,063.81,f,019.45,M,010.51,F*21\r\n$GPGLL,5954.375,N,02319.667,E,132018,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.85,N,,*22\r\n$IIVTG,170.66,T,170.66,M,6.01,N,,,D*63\r\n$IIMWV,232,T,01.82,N,A*2D\r\n$IIVWT,128,L,01.82,N,00.94,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132019,,,,00,*40\r\n$IIDBT,062.89,f,019.17,M,010.36,F*2E\r\n$GPGLL,5954.372,N,02319.668,E,132020,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.38,N,,*24\r\n$IIVTG,171.34,T,171.34,M,6.00,N,,,D*62\r\n$IIMWV,344,R,05.83,N,A*2E\r\n$IIVWT,113,L,01.80,N,00.93,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132022,,,,00,*48\r\n$IIDBT,062.59,f,019.08,M,010.31,F*2A\r\n$GPGLL,5954.369,N,02319.669,E,132022,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,171.56,T,171.56,M,6.00,N,,,D*62\r\n$IIMWV,234,T,01.65,N,A*22\r\n$IIVWT,126,L,01.65,N,00.85,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132024,,,,00,*4E\r\n$IIDBT,062.10,f,018.93,M,010.23,F*27\r\n$GPGLL,5954.365,N,02319.670,E,132024,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.92,N,,*24\r\n$IIVTG,171.67,T,171.67,M,6.00,N,,,D*62\r\n$IIMWV,345,R,05.44,N,A*24\r\n$IIVWT,126,L,01.71,N,00.88,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132026,,,,00,*4C\r\n$IIDBT,061.38,f,018.71,M,010.11,F*23\r\n$GPGLL,5954.362,N,02319.671,E,132026,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,171.22,T,171.22,M,6.00,N,,,D*62\r\n$IIMWV,235,T,01.67,N,A*21\r\n$IIVWT,125,L,01.67,N,00.86,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132028,,,,00,*42\r\n$IIDBT,061.15,f,018.64,M,010.07,F*2F\r\n$GPGLL,5954.359,N,02319.672,E,132028,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,170.43,T,170.43,M,6.08,N,,,D*6A\r\n$IIMWV,343,R,05.44,N,A*22\r\n$IIVWT,123,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132030,,,,00,*4B\r\n$IIDBT,060.72,f,018.51,M,010.00,F*2E\r\n$GPGLL,5954.355,N,02319.673,E,132030,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.36,N,,*2A\r\n$IIVTG,169.71,T,169.71,M,6.02,N,,,D*60\r\n$IIMWV,236,T,01.69,N,A*2C\r\n$IIVWT,124,L,01.69,N,00.87,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132032,,,,00,*49\r\n$IIDBT,060.36,f,018.40,M,009.94,F*2B\r\n$GPGLL,5954.352,N,02319.675,E,132032,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.33,N,,*2F\r\n$IIVTG,169.13,T,169.13,M,6.08,N,,,D*6A\r\n$IIMWV,343,R,05.44,N,A*22\r\n$IIVWT,124,L,01.94,N,01.00,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132034,,,,00,*4F\r\n$IIDBT,060.03,f,018.30,M,009.89,F*26\r\n$GPGLL,5954.349,N,02319.676,E,132034,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.66,N,,*2F\r\n$IIVTG,168.18,T,168.18,M,6.02,N,,,D*60\r\n$IIMWV,235,T,01.76,N,A*21\r\n$IIVWT,125,L,01.76,N,00.91,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132036,,,,00,*4D\r\n$IIDBT,059.84,f,018.24,M,009.85,F*2A\r\n$GPGLL,5954.346,N,02319.678,E,132036,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.62,N,,*2B\r\n$IIVTG,167.67,T,167.67,M,6.08,N,,,D*6A\r\n$IIMWV,344,R,05.44,N,A*25\r\n$IIVWT,124,L,01.86,N,00.96,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132038,,,,00,*43\r\n$IIDBT,059.34,f,018.09,M,009.77,F*23\r\n$GPGLL,5954.342,N,02319.679,E,132038,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.39,N,,*25\r\n$IIVTG,167.24,T,167.24,M,6.09,N,,,D*6B\r\n$IIMWV,235,T,01.88,N,A*20\r\n$IIVWT,125,L,01.88,N,00.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132040,,,,00,*4C\r\n$IIDBT,059.34,f,018.09,M,009.77,F*23\r\n$GPGLL,5954.339,N,02319.681,E,132040,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.44,N,,*2F\r\n$IIVTG,166.51,T,166.51,M,6.07,N,,,D*65\r\n$IIMWV,343,R,05.44,N,A*22\r\n$IIVWT,123,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132042,,,,00,*4E\r\n$IIDBT,059.80,f,018.23,M,009.85,F*29\r\n$GPGLL,5954.336,N,02319.682,E,132042,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.40,N,,*2B\r\n$IIVTG,165.93,T,165.93,M,6.09,N,,,D*6B\r\n$IIMWV,237,T,01.80,N,A*2A\r\n$IIVWT,123,L,01.80,N,00.93,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132044,,,,00,*48\r\n$IIDBT,058.79,f,017.92,M,009.68,F*28\r\n$GPGLL,5954.331,N,02319.685,E,132044,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,165.94,T,165.94,M,6.10,N,,,D*63\r\n$IIMWV,343,R,05.44,N,A*22\r\n$IIVWT,123,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132046,,,,00,*4A\r\n$IIDBT,058.43,f,017.81,M,009.62,F*29\r\n$GPGLL,5954.328,N,02319.686,E,132046,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.67,N,,*2E\r\n$IIVTG,165.54,T,165.54,M,6.10,N,,,D*63\r\n$IIMWV,236,T,01.88,N,A*23\r\n$IIVWT,124,L,01.88,N,00.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132048,,,,00,*44\r\n$IIDBT,058.72,f,017.90,M,009.67,F*2E\r\n$GPGLL,5954.325,N,02319.688,E,132048,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.41,N,,*2A\r\n$IIVTG,165.01,T,165.01,M,6.07,N,,,D*65\r\n$IIMWV,344,R,05.44,N,A*25\r\n$IIVWT,123,L,01.82,N,00.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132050,,,,00,*4D\r\n$IIDBT,057.90,f,017.65,M,009.54,F*27\r\n$GPGLL,5954.321,N,02319.690,E,132050,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.71,N,,*29\r\n$IIVTG,164.67,T,164.67,M,6.09,N,,,D*6B\r\n$IIMWV,237,T,01.82,N,A*28\r\n$IIVWT,123,L,01.82,N,00.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132052,,,,00,*4F\r\n$IIDBT,057.31,f,017.47,M,009.44,F*2D\r\n$GPGLL,5954.318,N,02319.692,E,132052,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.42,N,,*29\r\n$IIVTG,164.62,T,164.62,M,6.10,N,,,D*63\r\n$IIMWV,341,R,05.44,N,A*20\r\n$IIVWT,123,L,02.07,N,01.07,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132054,,,,00,*49\r\n$IIDBT,056.98,f,017.37,M,009.38,F*23\r\n$GPGLL,5954.315,N,02319.694,E,132055,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.51,N,,*2B\r\n$IIVTG,163.95,T,163.95,M,6.05,N,,,D*67\r\n$IIMWV,233,T,01.51,N,A*22\r\n$IIVWT,127,L,01.51,N,00.78,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132056,,,,00,*4B\r\n$IIDBT,056.88,f,017.34,M,009.37,F*2E\r\n$GPGLL,5954.312,N,02319.695,E,132057,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.70,N,,*28\r\n$IIVTG,167.06,T,167.06,M,6.04,N,,,D*66\r\n$IIMWV,345,R,05.24,N,A*22\r\n$IIVWT,128,L,01.76,N,00.91,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132058,,,,00,*45\r\n$IIDBT,056.59,f,017.25,M,009.32,F*27\r\n$GPGLL,5954.308,N,02319.696,E,132059,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-3.34,N,,*28\r\n$IIVTG,169.66,T,169.66,M,6.06,N,,,D*64\r\n$IIMWV,237,T,01.73,N,A*26\r\n$IIVWT,123,L,01.73,N,00.89,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132100,,,,00,*49\r\n$IIDBT,056.36,f,017.18,M,009.28,F*2B\r\n$GPGLL,5954.305,N,02319.697,E,132101,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,169.74,T,169.74,M,6.09,N,,,D*6B\r\n$IIMWV,346,R,05.24,N,A*21\r\n$IIVWT,131,L,01.74,N,00.90,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132102,,,,00,*4B\r\n$IIDBT,055.57,f,016.94,M,009.15,F*24\r\n$GPGLL,5954.302,N,02319.699,E,132103,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.24,N,,*2E\r\n$IIVTG,170.41,T,170.41,M,6.10,N,,,D*63\r\n$IIMWV,236,T,01.67,N,A*22\r\n$IIVWT,124,L,01.67,N,00.86,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132104,,,,00,*4D\r\n$IIDBT,055.51,f,016.92,M,009.14,F*25\r\n$GPGLL,5954.298,N,02319.700,E,132105,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.51,N,,*2B\r\n$IIVTG,171.30,T,171.30,M,6.10,N,,,D*63\r\n$IIMWV,345,R,05.44,N,A*24\r\n$IIVWT,126,L,01.73,N,00.89,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132107,,,,00,*4E\r\n$IIDBT,054.91,f,016.74,M,009.04,F*21\r\n$GPGLL,5954.295,N,02319.701,E,132107,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,171.70,T,171.70,M,6.10,N,,,D*63\r\n$IIMWV,231,T,01.74,N,A*27\r\n$IIVWT,129,L,01.74,N,00.90,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132109,,,,00,*40\r\n$IIDBT,054.69,f,016.67,M,009.01,F*21\r\n$GPGLL,5954.292,N,02319.702,E,132109,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.20,N,,*2D\r\n$IIVTG,171.52,T,171.52,M,6.10,N,,,D*63\r\n$IIMWV,346,R,05.44,N,A*27\r\n$IIVWT,129,L,01.71,N,00.88,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132111,,,,00,*49\r\n$IIDBT,054.03,f,016.47,M,008.90,F*26\r\n$GPGLL,5954.288,N,02319.703,E,132111,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.83,N,,*24\r\n$IIVTG,171.13,T,171.13,M,6.10,N,,,D*63\r\n$IIMWV,235,T,01.74,N,A*23\r\n$IIVWT,125,L,01.74,N,00.90,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132113,,,,00,*4B\r\n$IIDBT,053.64,f,016.35,M,008.83,F*27\r\n$GPGLL,5954.285,N,02319.704,E,132113,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,170.93,T,170.93,M,6.10,N,,,D*63\r\n$IIMWV,346,R,05.44,N,A*27\r\n$IIVWT,125,L,01.61,N,00.83,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132115,,,,00,*4D\r\n$IIDBT,053.41,f,016.28,M,008.79,F*29\r\n$GPGLL,5954.282,N,02319.705,E,132115,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.87,N,,*20\r\n$IIVTG,170.38,T,170.38,M,6.10,N,,,D*63\r\n$IIMWV,235,T,01.43,N,A*27\r\n$IIVWT,125,L,01.43,N,00.74,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132117,,,,00,*4F\r\n$IIDBT,053.04,f,016.17,M,008.74,F*29\r\n$GPGLL,5954.278,N,02319.706,E,132117,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.86,N,,*21\r\n$IIVTG,169.65,T,169.65,M,6.10,N,,,D*63\r\n$IIMWV,348,R,05.44,N,A*29\r\n$IIVWT,130,L,01.51,N,00.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132119,,,,00,*41\r\n$IIDBT,052.72,f,016.07,M,008.68,F*25\r\n$GPGLL,5954.275,N,02319.707,E,132119,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.85,N,,*22\r\n$IIVTG,169.18,T,169.18,M,6.10,N,,,D*63\r\n$IIMWV,232,T,01.45,N,A*26\r\n$IIVWT,129,L,01.45,N,00.75,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132121,,,,00,*4A\r\n$IIDBT,052.52,f,016.01,M,008.65,F*2C\r\n$GPGLL,5954.272,N,02319.709,E,132121,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.33,N,,*28\r\n$IIVTG,168.42,T,168.42,M,6.10,N,,,D*63\r\n$IIMWV,349,R,05.44,N,A*28\r\n$IIVWT,132,L,01.38,N,00.71,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132123,,,,00,*48\r\n$IIDBT,052.29,f,015.94,M,008.61,F*2B\r\n$GPGLL,5954.268,N,02319.710,E,132123,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.53,N,,*28\r\n$IIVTG,167.55,T,167.55,M,6.10,N,,,D*63\r\n$IIMWV,242,T,01.30,N,A*23\r\n$IIVWT,118,L,01.30,N,00.67,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132125,,,,00,*4E\r\n$IIDBT,052.16,f,015.90,M,008.59,F*28\r\n$GPGLL,5954.265,N,02319.712,E,132125,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,166.69,T,166.69,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,117,L,01.14,N,00.59,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132127,,,,00,*4C\r\n$IIDBT,051.70,f,015.76,M,008.51,F*2B\r\n$GPGLL,5954.260,N,02319.715,E,132127,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,164.86,T,164.86,M,6.10,N,,,D*63\r\n$IIMWV,243,T,01.10,N,A*20\r\n$IIVWT,117,L,01.10,N,00.57,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132129,,,,00,*42\r\n$IIDBT,051.44,f,015.68,M,008.47,F*24\r\n$GPGLL,5954.257,N,02319.717,E,132129,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.55,N,,*2E\r\n$IIVTG,163.16,T,163.16,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,119,L,01.12,N,00.58,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132131,,,,00,*4B\r\n$IIDBT,051.04,f,015.56,M,008.41,F*2B\r\n$GPGLL,5954.254,N,02319.719,E,132131,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.83,N,,*25\r\n$IIVTG,161.27,T,161.27,M,6.10,N,,,D*63\r\n$IIMWV,243,T,01.18,N,A*28\r\n$IIVWT,117,L,01.18,N,00.61,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132133,,,,00,*49\r\n$IIDBT,050.98,f,015.54,M,008.39,F*22\r\n$GPGLL,5954.251,N,02319.721,E,132133,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.04,N,,*2B\r\n$IIVTG,159.94,T,159.94,M,6.10,N,,,D*63\r\n$IIMWV,353,R,05.83,N,A*28\r\n$IIVWT,119,L,00.85,N,00.44,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132135,,,,00,*4F\r\n$IIDBT,051.93,f,015.83,M,008.55,F*28\r\n$GPGLL,5954.247,N,02319.724,E,132135,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,158.86,T,158.86,M,6.10,N,,,D*63\r\n$IIMWV,245,T,01.04,N,A*23\r\n$IIVWT,115,L,01.04,N,00.54,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132137,,,,00,*4D\r\n$IIDBT,051.01,f,015.55,M,008.40,F*2C\r\n$GPGLL,5954.244,N,02319.726,E,132138,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.12,N,,*2C\r\n$IIVTG,157.54,T,157.54,M,6.10,N,,,D*63\r\n$IIMWV,349,R,05.83,N,A*23\r\n$IIVWT,121,L,01.28,N,00.66,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132139,,,,00,*43\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,5954.241,N,02319.729,E,132140,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,155.98,T,155.98,M,6.10,N,,,D*63\r\n$IIMWV,234,T,00.95,N,A*2C\r\n$IIVWT,126,L,00.95,N,00.49,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132141,,,,00,*4C\r\n$IIDBT,051.11,f,015.58,M,008.42,F*22\r\n$GPGLL,5954.238,N,02319.732,E,132142,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.90,N,,*26\r\n$IIVTG,154.52,T,154.52,M,6.10,N,,,D*63\r\n$IIMWV,354,R,05.83,N,A*2F\r\n$IIVWT,127,L,00.77,N,00.40,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132143,,,,00,*4E\r\n$IIDBT,049.80,f,015.18,M,008.20,F*23\r\n$GPGLL,5954.235,N,02319.735,E,132144,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.97,N,,*21\r\n$IIVTG,153.20,T,153.20,M,6.10,N,,,D*63\r\n$IIMWV,238,T,00.75,N,A*2E\r\n$IIVWT,122,L,00.75,N,00.39,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132145,,,,00,*48\r\n$IIDBT,049.96,f,015.23,M,008.23,F*2F\r\n$GPGLL,5954.232,N,02319.739,E,132146,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.81,N,,*27\r\n$IIVTG,152.20,T,152.20,M,6.10,N,,,D*63\r\n$IIMWV,350,R,05.83,N,A*2B\r\n$IIVWT,122,L,01.20,N,00.62,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132148,,,,00,*45\r\n$IIDBT,049.60,f,015.12,M,008.17,F*23\r\n$GPGLL,5954.229,N,02319.742,E,132148,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.43,N,,*2F\r\n$IIVTG,150.88,T,150.88,M,6.10,N,,,D*63\r\n$IIMWV,219,T,01.08,N,A*26\r\n$IIVWT,141,L,01.08,N,00.56,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132150,,,,00,*4C\r\n$IIDBT,049.44,f,015.07,M,008.14,F*22\r\n$GPGLL,5954.226,N,02319.745,E,132150,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.16,N,,*28\r\n$IIVTG,149.69,T,149.69,M,6.10,N,,,D*63\r\n$IIMWV,351,R,05.83,N,A*2A\r\n$IIVWT,118,L,01.03,N,00.53,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132152,,,,00,*4E\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5954.224,N,02319.749,E,132152,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,148.67,T,148.67,M,6.10,N,,,D*63\r\n$IIMWV,232,T,00.71,N,A*20\r\n$IIVWT,128,L,00.71,N,00.37,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132154,,,,00,*48\r\n$IIDBT,048.62,f,014.82,M,008.01,F*2F\r\n$GPGLL,5954.221,N,02319.752,E,132154,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.56,N,,*2C\r\n$IIVTG,147.89,T,147.89,M,6.10,N,,,D*63\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,130,L,00.71,N,00.37,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132156,,,,00,*4A\r\n$IIDBT,048.62,f,014.82,M,008.01,F*2F\r\n$GPGLL,5954.218,N,02319.756,E,132156,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,147.24,T,147.24,M,6.10,N,,,D*63\r\n$IIMWV,233,T,00.83,N,A*2C\r\n$IIVWT,127,L,00.83,N,00.43,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132158,,,,00,*44\r\n$IIDBT,048.06,f,014.65,M,007.91,F*22\r\n$GPGLL,5954.215,N,02319.760,E,132158,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.07,N,,*2F\r\n$IIVTG,145.54,T,145.54,M,6.10,N,,,D*63\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,132,L,00.69,N,00.36,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132200,,,,00,*4A\r\n$IIDBT,047.66,f,014.53,M,007.85,F*2B\r\n$GPGLL,5954.212,N,02319.764,E,132200,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,144.23,T,144.23,M,6.10,N,,,D*63\r\n$IIMWV,232,T,00.66,N,A*26\r\n$IIVWT,128,L,00.66,N,00.34,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132202,,,,00,*48\r\n$IIDBT,048.68,f,014.84,M,008.02,F*20\r\n$GPGLL,5954.210,N,02319.768,E,132202,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.22,N,,*2F\r\n$IIVTG,143.86,T,143.86,M,6.10,N,,,D*63\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,133,L,00.69,N,00.36,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132204,,,,00,*4E\r\n$IIDBT,047.27,f,014.41,M,007.78,F*2F\r\n$GPGLL,5954.207,N,02319.772,E,132204,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.30,N,,*2A\r\n$IIVTG,143.71,T,143.71,M,6.10,N,,,D*63\r\n$IIMWV,218,T,01.01,N,A*2E\r\n$IIVWT,142,L,01.01,N,00.52,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132206,,,,00,*4C\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5954.204,N,02319.776,E,132206,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.13,N,,*2B\r\n$IIVTG,143.30,T,143.30,M,6.10,N,,,D*63\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,145,L,00.97,N,00.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132208,,,,00,*42\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5954.202,N,02319.780,E,132208,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,142.80,T,142.80,M,6.10,N,,,D*63\r\n$IIMWV,226,T,00.60,N,A*25\r\n$IIVWT,134,L,00.60,N,00.31,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132210,,,,00,*4B\r\n$IIDBT,046.19,f,014.08,M,007.61,F*26\r\n$GPGLL,5954.198,N,02319.786,E,132210,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.24,N,,*2F\r\n$IIVTG,143.56,T,143.56,M,6.09,N,,,D*6B\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,146,L,00.99,N,00.51,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132212,,,,00,*49\r\n$IIDBT,045.70,f,013.93,M,007.52,F*2F\r\n$GPGLL,5954.195,N,02319.790,E,132212,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,144.14,T,144.14,M,6.10,N,,,D*63\r\n$IIMWV,234,T,00.58,N,A*2D\r\n$IIVWT,126,L,00.58,N,00.30,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132214,,,,00,*4F\r\n$IIDBT,045.70,f,013.93,M,007.52,F*2F\r\n$GPGLL,5954.192,N,02319.794,E,132214,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.83,N,,*23\r\n$IIVTG,143.96,T,143.96,M,6.10,N,,,D*63\r\n$IIMWV,357,R,05.83,N,A*2C\r\n$IIVWT,137,L,00.46,N,00.24,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132216,,,,00,*4D\r\n$IIDBT,045.66,f,013.92,M,007.52,F*29\r\n$GPGLL,5954.189,N,02319.798,E,132216,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.50,N,00.26,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-3.59,N,,*23\r\n$IIVTG,143.51,T,143.51,M,6.10,N,,,D*63\r\n$IIMWV,233,T,00.50,N,A*22\r\n$IIVWT,127,L,00.50,N,00.26,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132218,,,,00,*43\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5954.187,N,02319.802,E,132218,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.03,N,,*2A\r\n$IIVTG,142.90,T,142.90,M,6.10,N,,,D*63\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,149,L,00.48,N,00.25,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132220,,,,00,*48\r\n$IIDBT,045.93,f,014.00,M,007.56,F*2B\r\n$GPGLL,5954.184,N,02319.806,E,132221,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.20,N,,*2B\r\n$IIVTG,142.82,T,142.82,M,6.10,N,,,D*63\r\n$IIMWV,216,T,00.48,N,A*2C\r\n$IIVWT,145,L,00.48,N,00.25,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132222,,,,00,*4A\r\n$IIDBT,045.43,f,013.85,M,007.48,F*23\r\n$GPGLL,5954.181,N,02319.810,E,132223,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-4.85,N,,*25\r\n$IIVTG,143.48,T,143.48,M,6.10,N,,,D*63\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,148,L,00.46,N,00.24,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132224,,,,00,*4C\r\n$IIDBT,045.50,f,013.87,M,007.49,F*22\r\n$GPGLL,5954.179,N,02319.814,E,132225,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.32,N,,*28\r\n$IIVTG,144.37,T,144.37,M,6.10,N,,,D*63\r\n$IIMWV,217,T,00.50,N,A*24\r\n$IIVWT,143,L,00.50,N,00.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132226,,,,00,*4E\r\n$IIDBT,045.11,f,013.75,M,007.43,F*20\r\n$GPGLL,5954.176,N,02319.818,E,132227,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-4.35,N,,*2E\r\n$IIVTG,144.47,T,144.47,M,6.15,N,,,D*66\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,149,L,00.48,N,00.25,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132228,,,,00,*40\r\n$IIDBT,045.34,f,013.82,M,007.47,F*2B\r\n$GPGLL,5954.173,N,02319.822,E,132229,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.19,N,,*21\r\n$IIVTG,144.56,T,144.56,M,6.19,N,,,D*6A\r\n$IIMWV,210,T,00.46,N,A*24\r\n$IIVWT,150,L,00.46,N,00.24,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132231,,,,00,*48\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5954.170,N,02319.826,E,132231,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.19,N,,*21\r\n$IIVTG,144.72,T,144.72,M,6.15,N,,,D*66\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,151,L,00.54,N,00.28,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132233,,,,00,*4A\r\n$IIDBT,044.97,f,013.71,M,007.41,F*29\r\n$GPGLL,5954.167,N,02319.830,E,132233,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.35,N,,*2F\r\n$IIVTG,144.68,T,144.68,M,6.11,N,,,D*62\r\n$IIMWV,211,T,00.50,N,A*22\r\n$IIVWT,149,L,00.50,N,00.26,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132235,,,,00,*4C\r\n$IIDBT,044.38,f,013.53,M,007.31,F*2B\r\n$GPGLL,5954.165,N,02319.834,E,132235,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,144.57,T,144.57,M,6.10,N,,,D*63\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,161,L,00.40,N,00.21,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132237,,,,00,*4E\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,5954.162,N,02319.838,E,132237,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.54,N,,*28\r\n$IIVTG,144.72,T,144.72,M,6.10,N,,,D*63\r\n$IIMWV,207,T,00.38,N,A*2B\r\n$IIVWT,153,L,00.38,N,00.20,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132239,,,,00,*40\r\n$IIDBT,044.61,f,013.60,M,007.35,F*23\r\n$GPGLL,5954.159,N,02319.842,E,132239,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.33,N,00.17,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.30,N,,*2F\r\n$IIVTG,144.12,T,144.12,M,6.10,N,,,D*63\r\n$IIMWV,356,R,06.22,N,A*25\r\n$IIVWT,097,L,00.44,N,00.23,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132241,,,,00,*4F\r\n$IIDBT,044.29,f,013.50,M,007.29,F*21\r\n$GPGLL,5954.157,N,02319.846,E,132241,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.03,N,00.02,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.79,N,,*20\r\n$IIVTG,143.21,T,143.21,M,6.15,N,,,D*66\r\n$IIMWV,129,T,00.11,N,A*2F\r\n$IIVWT,129,R,00.11,N,00.06,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132243,,,,00,*4D\r\n$IIDBT,044.35,f,013.52,M,007.30,F*26\r\n$GPGLL,5954.154,N,02319.850,E,132243,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.82,N,,*22\r\n$IIVTG,143.75,T,143.75,M,6.19,N,,,D*6A\r\n$IIMWV,356,R,05.83,N,A*2D\r\n$IIVWT,139,L,00.66,N,00.34,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132245,,,,00,*4B\r\n$IIDBT,044.12,f,013.45,M,007.27,F*23\r\n$GPGLL,5954.151,N,02319.854,E,132245,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,141.36,T,141.36,M,6.20,N,,,D*60\r\n$IIMWV,180,T,00.36,N,A*29\r\n$IIVWT,180,L,00.36,N,00.19,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132247,,,,00,*49\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5954.149,N,02319.859,E,132247,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,139.92,T,139.92,M,6.20,N,,,D*60\r\n$IIMWV,360,R,05.83,N,A*28\r\n$IIVWT,172,L,00.42,N,00.22,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132249,,,,00,*47\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,5954.146,N,02319.863,E,132249,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,139.38,T,139.38,M,6.20,N,,,D*60\r\n$IIMWV,187,T,00.44,N,A*2B\r\n$IIVWT,173,L,00.44,N,00.23,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132251,,,,00,*4E\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,5954.142,N,02319.870,E,132251,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,138.49,T,138.49,M,6.20,N,,,D*60\r\n$IIMWV,359,R,05.83,N,A*22\r\n$IIVWT,168,L,00.44,N,00.23,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132253,,,,00,*4C\r\n$IIDBT,043.69,f,013.32,M,007.19,F*25\r\n$GPGLL,5954.140,N,02319.875,E,132253,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,137.20,T,137.20,M,6.20,N,,,D*60\r\n$IIMWV,195,T,00.44,N,A*28\r\n$IIVWT,165,L,00.44,N,00.23,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132255,,,,00,*4A\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,5954.137,N,02319.880,E,132255,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,136.10,T,136.10,M,6.20,N,,,D*60\r\n$IIMWV,358,R,05.44,N,A*28\r\n$IIVWT,166,L,00.89,N,00.46,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132257,,,,00,*48\r\n$IIDBT,043.60,f,013.29,M,007.18,F*27\r\n$GPGLL,5954.135,N,02319.885,E,132257,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.87,N,,*26\r\n$IIVTG,135.45,T,135.45,M,6.20,N,,,D*60\r\n$IIMWV,205,T,00.77,N,A*22\r\n$IIVWT,155,L,00.77,N,00.40,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132259,,,,00,*46\r\n$IIDBT,043.86,f,013.37,M,007.22,F*29\r\n$GPGLL,5954.132,N,02319.889,E,132259,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.63,N,,*2C\r\n$IIVTG,135.24,T,135.24,M,6.20,N,,,D*60\r\n$IIMWV,356,R,05.44,N,A*26\r\n$IIVWT,155,L,00.89,N,00.46,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132301,,,,00,*4A\r\n$IIDBT,043.86,f,013.37,M,007.22,F*29\r\n$GPGLL,5954.130,N,02319.894,E,132302,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.51,N,,*2D\r\n$IIVTG,134.96,T,134.96,M,6.20,N,,,D*60\r\n$IIMWV,209,T,00.97,N,A*20\r\n$IIVWT,151,L,00.97,N,00.50,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132303,,,,00,*48\r\n$IIDBT,043.37,f,013.22,M,007.14,F*22\r\n$GPGLL,5954.127,N,02319.899,E,132304,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.40,N,,*2D\r\n$IIVTG,134.67,T,134.67,M,6.20,N,,,D*60\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,124,L,00.64,N,00.33,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132305,,,,00,*4E\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,5954.125,N,02319.904,E,132306,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.96,N,,*26\r\n$IIVTG,134.67,T,134.67,M,6.20,N,,,D*60\r\n$IIMWV,200,T,00.91,N,A*2F\r\n$IIVWT,160,L,00.91,N,00.47,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132307,,,,00,*4C\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5954.122,N,02319.909,E,132308,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.74,N,,*2A\r\n$IIVTG,134.76,T,134.76,M,6.20,N,,,D*60\r\n$IIMWV,356,R,05.44,N,A*26\r\n$IIVWT,157,L,00.97,N,00.50,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132309,,,,00,*42\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5954.120,N,02319.914,E,132310,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,134.67,T,134.67,M,6.20,N,,,D*60\r\n$IIMWV,201,T,00.85,N,A*2B\r\n$IIVWT,159,L,00.85,N,00.44,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132311,,,,00,*4B\r\n$IIDBT,044.15,f,013.46,M,007.27,F*27\r\n$GPGLL,5954.118,N,02319.919,E,132312,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.59,N,,*25\r\n$IIVTG,134.49,T,134.49,M,6.20,N,,,D*60\r\n$IIMWV,355,R,05.44,N,A*25\r\n$IIVWT,153,L,00.99,N,00.51,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132314,,,,00,*4E\r\n$IIDBT,043.37,f,013.22,M,007.14,F*22\r\n$GPGLL,5954.115,N,02319.924,E,132314,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.68,N,,*27\r\n$IIVTG,134.30,T,134.30,M,6.20,N,,,D*60\r\n$IIMWV,205,T,00.97,N,A*2C\r\n$IIVWT,156,L,00.97,N,00.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132316,,,,00,*4C\r\n$IIDBT,043.37,f,013.22,M,007.14,F*22\r\n$GPGLL,5954.113,N,02319.928,E,132316,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.07,N,,*2E\r\n$IIVTG,134.10,T,134.10,M,6.20,N,,,D*60\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,147,L,01.03,N,00.53,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132318,,,,00,*42\r\n$IIDBT,044.74,f,013.64,M,007.37,F*21\r\n$GPGLL,5954.110,N,02319.933,E,132318,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,134.05,T,134.05,M,6.20,N,,,D*60\r\n$IIMWV,181,T,00.77,N,A*2D\r\n$IIVWT,179,L,00.77,N,00.40,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132320,,,,00,*49\r\n$IIDBT,043.10,f,013.14,M,007.10,F*26\r\n$GPGLL,5954.108,N,02319.938,E,132320,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.40,N,,*2D\r\n$IIVTG,134.41,T,134.41,M,6.20,N,,,D*60\r\n$IIMWV,354,R,05.44,N,A*24\r\n$IIVWT,148,L,01.01,N,00.52,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132322,,,,00,*4B\r\n$IIDBT,042.71,f,013.02,M,007.03,F*25\r\n$GPGLL,5954.106,N,02319.943,E,132322,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.60,N,,*2F\r\n$IIVTG,134.50,T,134.50,M,6.20,N,,,D*60\r\n$IIMWV,211,T,00.93,N,A*2D\r\n$IIVWT,149,L,00.93,N,00.48,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132324,,,,00,*4D\r\n$IIDBT,042.84,f,013.06,M,007.05,F*2D\r\n$GPGLL,5954.103,N,02319.948,E,132324,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.67,N,,*28\r\n$IIVTG,133.82,T,133.82,M,6.20,N,,,D*60\r\n$IIMWV,354,R,05.24,N,A*22\r\n$IIVWT,150,L,01.06,N,00.55,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132326,,,,00,*4F\r\n$IIDBT,042.15,f,012.85,M,006.94,F*26\r\n$GPGLL,5954.101,N,02319.953,E,132326,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,133.36,T,133.36,M,6.20,N,,,D*60\r\n$IIMWV,206,T,01.14,N,A*25\r\n$IIVWT,154,L,01.14,N,00.59,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132328,,,,00,*41\r\n$IIDBT,041.73,f,012.72,M,006.87,F*2F\r\n$GPGLL,5954.099,N,02319.958,E,132328,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,133.09,T,133.09,M,6.20,N,,,D*60\r\n$IIMWV,358,R,05.24,N,A*2E\r\n$IIVWT,167,L,00.97,N,00.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132330,,,,00,*48\r\n$IIDBT,040.84,f,012.45,M,006.72,F*28\r\n$GPGLL,5954.096,N,02319.963,E,132330,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,133.40,T,133.40,M,6.20,N,,,D*60\r\n$IIMWV,195,T,01.01,N,A*28\r\n$IIVWT,165,L,01.01,N,00.52,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132332,,,,00,*4A\r\n$IIDBT,040.18,f,012.25,M,006.62,F*2A\r\n$GPGLL,5954.094,N,02319.968,E,132332,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,133.62,T,133.62,M,6.20,N,,,D*60\r\n$IIMWV,357,R,05.24,N,A*21\r\n$IIVWT,163,L,01.06,N,00.55,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132334,,,,00,*4C\r\n$IIDBT,039.04,f,011.90,M,006.43,F*27\r\n$GPGLL,5954.090,N,02319.975,E,132334,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,133.68,T,133.68,M,6.20,N,,,D*60\r\n$IIMWV,193,T,01.03,N,A*2C\r\n$IIVWT,167,L,01.03,N,00.53,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132336,,,,00,*4E\r\n$IIDBT,038.12,f,011.62,M,006.28,F*21\r\n$GPGLL,5954.088,N,02319.980,E,132336,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,133.53,T,133.53,M,6.20,N,,,D*60\r\n$IIMWV,358,R,05.24,N,A*2E\r\n$IIVWT,170,L,00.99,N,00.51,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132338,,,,00,*40\r\n$IIDBT,037.23,f,011.35,M,006.13,F*26\r\n$GPGLL,5954.086,N,02319.985,E,132338,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.98,N,,*28\r\n$IIVTG,133.46,T,133.46,M,6.20,N,,,D*60\r\n$IIMWV,196,T,01.04,N,A*2E\r\n$IIVWT,164,L,01.04,N,00.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132340,,,,00,*4F\r\n$IIDBT,036.67,f,011.18,M,006.04,F*2E\r\n$GPGLL,5954.083,N,02319.990,E,132340,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,133.19,T,133.19,M,6.20,N,,,D*60\r\n$IIMWV,358,R,05.24,N,A*2E\r\n$IIVWT,166,L,01.03,N,00.53,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132342,,,,00,*4D\r\n$IIDBT,035.36,f,010.78,M,005.82,F*23\r\n$GPGLL,5954.081,N,02319.995,E,132342,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,133.30,T,133.30,M,6.20,N,,,D*60\r\n$IIMWV,190,T,01.03,N,A*2F\r\n$IIVWT,170,L,01.03,N,00.53,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132344,,,,00,*4B\r\n$IIDBT,034.84,f,010.62,M,005.74,F*29\r\n$GPGLL,5954.079,N,02320.000,E,132345,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,133.28,T,133.28,M,6.20,N,,,D*60\r\n$IIMWV,356,R,05.24,N,A*20\r\n$IIVWT,157,L,01.04,N,00.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132346,,,,00,*49\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5954.076,N,02320.005,E,132347,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.61,N,,*2E\r\n$IIVTG,132.89,T,132.89,M,6.20,N,,,D*60\r\n$IIMWV,204,T,01.06,N,A*24\r\n$IIVWT,156,L,01.06,N,00.55,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132348,,,,00,*47\r\n$IIDBT,033.43,f,010.19,M,005.50,F*2F\r\n$GPGLL,5954.074,N,02320.010,E,132349,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.36,N,,*2F\r\n$IIVTG,132.70,T,132.70,M,6.20,N,,,D*60\r\n$IIMWV,359,R,05.24,N,A*2F\r\n$IIVWT,177,L,01.06,N,00.55,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132350,,,,00,*4E\r\n$IIDBT,032.54,f,009.92,M,005.36,F*23\r\n$GPGLL,5954.072,N,02320.015,E,132351,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,132.55,T,132.55,M,6.20,N,,,D*60\r\n$IIMWV,186,T,01.55,N,A*2B\r\n$IIVWT,174,L,01.55,N,00.80,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132352,,,,00,*4C\r\n$IIDBT,032.21,f,009.82,M,005.30,F*26\r\n$GPGLL,5954.069,N,02320.020,E,132353,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.03,N,,*29\r\n$IIVTG,132.99,T,132.99,M,6.20,N,,,D*60\r\n$IIMWV,358,R,04.85,N,A*24\r\n$IIVWT,174,L,01.36,N,00.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132354,,,,00,*4A\r\n$IIDBT,031.65,f,009.65,M,005.21,F*2C\r\n$GPGLL,5954.067,N,02320.025,E,132355,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,133.57,T,133.57,M,6.20,N,,,D*60\r\n$IIMWV,182,T,01.41,N,A*2A\r\n$IIVWT,178,L,01.41,N,00.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132357,,,,00,*49\r\n$IIDBT,031.20,f,009.51,M,005.14,F*2C\r\n$GPGLL,5954.065,N,02320.030,E,132357,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,133.72,T,133.72,M,6.20,N,,,D*60\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,169,L,01.45,N,00.75,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132359,,,,00,*47\r\n$IIDBT,031.06,f,009.47,M,005.11,F*2A\r\n$GPGLL,5954.062,N,02320.035,E,132359,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.32,N,,*2B\r\n$IIVTG,134.90,T,134.90,M,6.20,N,,,D*60\r\n$IIMWV,177,T,01.10,N,A*24\r\n$IIVWT,177,R,01.10,N,00.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132401,,,,00,*4D\r\n$IIDBT,030.70,f,009.36,M,005.05,F*29\r\n$GPGLL,5954.060,N,02320.040,E,132401,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.87,N,,*26\r\n$IIVTG,136.50,T,136.50,M,6.27,N,,,D*67\r\n$IIMWV,354,R,05.24,N,A*22\r\n$IIVWT,153,L,01.20,N,00.62,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132403,,,,00,*4F\r\n$IIDBT,030.47,f,009.29,M,005.02,F*24\r\n$GPGLL,5954.057,N,02320.045,E,132403,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,135.20,T,135.20,M,6.24,N,,,D*64\r\n$IIMWV,189,T,01.10,N,A*25\r\n$IIVWT,171,L,01.10,N,00.57,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132405,,,,00,*49\r\n$IIDBT,030.41,f,009.27,M,005.01,F*2F\r\n$GPGLL,5954.055,N,02320.050,E,132405,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,135.42,T,135.42,M,6.21,N,,,D*61\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,170,L,01.49,N,00.77,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132407,,,,00,*4B\r\n$IIDBT,030.08,f,009.17,M,004.95,F*2D\r\n$GPGLL,5954.052,N,02320.054,E,132407,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,135.46,T,135.46,M,6.20,N,,,D*60\r\n$IIMWV,179,T,01.45,N,A*2A\r\n$IIVWT,179,R,01.45,N,00.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132409,,,,00,*45\r\n$IIDBT,029.98,f,009.14,M,004.94,F*2E\r\n$GPGLL,5954.050,N,02320.059,E,132409,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,135.19,T,135.19,M,6.20,N,,,D*60\r\n$IIMWV,360,R,04.85,N,A*2F\r\n$IIVWT,179,L,01.45,N,00.75,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132411,,,,00,*4C\r\n$IIDBT,029.82,f,009.09,M,004.91,F*2C\r\n$GPGLL,5954.047,N,02320.064,E,132411,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,134.82,T,134.82,M,6.20,N,,,D*60\r\n$IIMWV,194,T,01.57,N,A*2A\r\n$IIVWT,167,L,01.57,N,00.81,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132413,,,,00,*4E\r\n$IIDBT,029.82,f,009.09,M,004.91,F*2C\r\n$GPGLL,5954.045,N,02320.069,E,132413,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,133.88,T,133.88,M,6.20,N,,,D*60\r\n$IIMWV,003,R,05.24,N,A*23\r\n$IIVWT,169,R,01.08,N,00.56,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132415,,,,00,*48\r\n$IIDBT,029.98,f,009.14,M,004.94,F*2E\r\n$GPGLL,5954.043,N,02320.074,E,132415,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,133.90,T,133.90,M,6.25,N,,,D*65\r\n$IIMWV,172,T,01.51,N,A*24\r\n$IIVWT,172,R,01.51,N,00.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132417,,,,00,*4A\r\n$IIDBT,029.78,f,009.08,M,004.90,F*29\r\n$GPGLL,5954.039,N,02320.082,E,132417,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.34,N,,*2D\r\n$IIVTG,132.99,T,132.99,M,6.29,N,,,D*69\r\n$IIMWV,360,R,04.85,N,A*2F\r\n$IIVWT,178,L,01.41,N,00.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132419,,,,00,*44\r\n$IIDBT,029.88,f,009.11,M,004.92,F*2C\r\n$GPGLL,5954.037,N,02320.087,E,132419,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,132.30,T,132.30,M,6.30,N,,,D*61\r\n$IIMWV,165,T,01.45,N,A*27\r\n$IIVWT,165,R,01.45,N,00.75,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132421,,,,00,*4F\r\n$IIDBT,029.95,f,009.13,M,004.93,F*23\r\n$GPGLL,5954.034,N,02320.092,E,132421,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,132.47,T,132.47,M,6.30,N,,,D*61\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,169,L,01.47,N,00.76,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132423,,,,00,*4D\r\n$IIDBT,030.18,f,009.20,M,004.97,F*2A\r\n$GPGLL,5954.032,N,02320.097,E,132423,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,132.34,T,132.34,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.43,N,A*2C\r\n$IIVWT,179,R,01.43,N,00.74,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132425,,,,00,*4B\r\n$IIDBT,030.34,f,009.25,M,004.99,F*2F\r\n$GPGLL,5954.030,N,02320.102,E,132425,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,131.77,T,131.77,M,6.30,N,,,D*61\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,169,L,01.45,N,00.75,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132427,,,,00,*49\r\n$IIDBT,030.54,f,009.31,M,005.03,F*2E\r\n$GPGLL,5954.027,N,02320.108,E,132428,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,130.89,T,130.89,M,6.30,N,,,D*61\r\n$IIMWV,177,T,01.47,N,A*26\r\n$IIVWT,177,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132429,,,,00,*47\r\n$IIDBT,030.74,f,009.37,M,005.06,F*2F\r\n$GPGLL,5954.025,N,02320.113,E,132430,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,131.25,T,131.25,M,6.30,N,,,D*61\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,168,L,01.45,N,00.75,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132431,,,,00,*4E\r\n$IIDBT,031.06,f,009.47,M,005.11,F*2A\r\n$GPGLL,5954.023,N,02320.118,E,132432,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,131.36,T,131.36,M,6.27,N,,,D*67\r\n$IIMWV,189,T,01.49,N,A*29\r\n$IIVWT,171,L,01.49,N,00.77,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132433,,,,00,*4C\r\n$IIDBT,031.49,f,009.60,M,005.18,F*2D\r\n$GPGLL,5954.021,N,02320.123,E,132434,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,131.12,T,131.12,M,6.22,N,,,D*62\r\n$IIMWV,359,R,04.85,N,A*25\r\n$IIVWT,176,L,01.43,N,00.74,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132435,,,,00,*4A\r\n$IIDBT,031.79,f,009.69,M,005.23,F*2F\r\n$GPGLL,5954.018,N,02320.128,E,132436,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,130.85,T,130.85,M,6.28,N,,,D*68\r\n$IIMWV,183,T,01.41,N,A*2B\r\n$IIVWT,177,L,01.41,N,00.73,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132437,,,,00,*48\r\n$IIDBT,031.98,f,009.75,M,005.27,F*29\r\n$GPGLL,5954.016,N,02320.134,E,132438,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.39,N,,*20\r\n$IIVTG,130.53,T,130.53,M,6.29,N,,,D*69\r\n$IIMWV,001,R,04.85,N,A*2B\r\n$IIVWT,178,R,01.49,N,00.77,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132440,,,,00,*48\r\n$IIDBT,032.21,f,009.82,M,005.30,F*26\r\n$GPGLL,5954.014,N,02320.139,E,132440,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.35,N,,*2C\r\n$IIVTG,129.89,T,129.89,M,6.30,N,,,D*61\r\n$IIMWV,182,T,01.43,N,A*28\r\n$IIVWT,179,L,01.43,N,00.74,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132442,,,,00,*4A\r\n$IIDBT,032.41,f,009.88,M,005.34,F*2E\r\n$GPGLL,5954.012,N,02320.145,E,132442,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.32,N,,*2B\r\n$IIVTG,128.95,T,128.95,M,6.30,N,,,D*61\r\n$IIMWV,001,R,04.85,N,A*2B\r\n$IIVWT,179,R,01.51,N,00.78,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132444,,,,00,*4C\r\n$IIDBT,033.07,f,010.08,M,005.44,F*2A\r\n$GPGLL,5954.010,N,02320.150,E,132444,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,128.49,T,128.49,M,6.25,N,,,D*65\r\n$IIMWV,187,T,01.41,N,A*2F\r\n$IIVWT,173,L,01.41,N,00.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132446,,,,00,*4E\r\n$IIDBT,033.07,f,010.08,M,005.44,F*2A\r\n$GPGLL,5954.007,N,02320.155,E,132446,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,127.97,T,127.97,M,6.21,N,,,D*61\r\n$IIMWV,001,R,04.85,N,A*2B\r\n$IIVWT,178,R,01.51,N,00.78,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132448,,,,00,*40\r\n$IIDBT,033.23,f,010.13,M,005.47,F*25\r\n$GPGLL,5954.005,N,02320.161,E,132448,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,128.44,T,128.44,M,6.20,N,,,D*60\r\n$IIMWV,179,T,01.45,N,A*2A\r\n$IIVWT,179,R,01.45,N,00.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132450,,,,00,*49\r\n$IIDBT,033.29,f,010.15,M,005.48,F*26\r\n$GPGLL,5954.003,N,02320.166,E,132450,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-6.34,N,,*2D\r\n$IIVTG,128.34,T,128.34,M,6.20,N,,,D*60\r\n$IIMWV,359,R,04.85,N,A*25\r\n$IIVWT,176,L,01.51,N,00.78,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132452,,,,00,*4B\r\n$IIDBT,034.21,f,010.43,M,005.63,F*23\r\n$GPGLL,5954.001,N,02320.172,E,132452,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,128.11,T,128.11,M,6.20,N,,,D*60\r\n$IIMWV,178,T,01.80,N,A*22\r\n$IIVWT,178,R,01.80,N,00.93,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132454,,,,00,*4D\r\n$IIDBT,033.72,f,010.28,M,005.55,F*2A\r\n$GPGLL,5953.999,N,02320.177,E,132454,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,128.35,T,128.35,M,6.20,N,,,D*60\r\n$IIMWV,360,R,04.47,N,A*21\r\n$IIVWT,179,L,01.84,N,00.95,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132456,,,,00,*4F\r\n$IIDBT,034.67,f,010.57,M,005.71,F*27\r\n$GPGLL,5953.997,N,02320.182,E,132456,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,128.39,T,128.39,M,6.20,N,,,D*60\r\n$IIMWV,180,T,01.76,N,A*2C\r\n$IIVWT,180,L,01.76,N,00.91,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132458,,,,00,*41\r\n$IIDBT,035.53,f,010.83,M,005.85,F*23\r\n$GPGLL,5953.995,N,02320.188,E,132458,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,128.40,T,128.40,M,6.20,N,,,D*60\r\n$IIMWV,000,R,04.85,N,A*2A\r\n$IIVWT,180,L,01.34,N,00.69,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132500,,,,00,*4D\r\n$IIDBT,034.51,f,010.52,M,005.68,F*2F\r\n$GPGLL,5953.991,N,02320.196,E,132500,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,128.59,T,128.59,M,6.28,N,,,D*68\r\n$IIMWV,184,T,01.76,N,A*28\r\n$IIVWT,176,L,01.76,N,00.91,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132502,,,,00,*4F\r\n$IIDBT,034.54,f,010.53,M,005.69,F*2A\r\n$GPGLL,5953.989,N,02320.201,E,132502,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,128.35,T,128.35,M,6.29,N,,,D*69\r\n$IIMWV,359,R,04.47,N,A*2B\r\n$IIVWT,176,L,01.69,N,00.87,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132504,,,,00,*49\r\n$IIDBT,034.51,f,010.52,M,005.68,F*2F\r\n$GPGLL,5953.987,N,02320.207,E,132504,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,128.14,T,128.14,M,6.30,N,,,D*61\r\n$IIMWV,185,T,01.39,N,A*22\r\n$IIVWT,175,L,01.39,N,00.72,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132506,,,,00,*4B\r\n$IIDBT,034.90,f,010.64,M,005.75,F*2B\r\n$GPGLL,5953.985,N,02320.212,E,132506,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,128.41,T,128.41,M,6.30,N,,,D*61\r\n$IIMWV,002,R,04.85,N,A*28\r\n$IIVWT,174,R,01.36,N,00.70,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132508,,,,00,*45\r\n$IIDBT,035.30,f,010.76,M,005.81,F*28\r\n$GPGLL,5953.983,N,02320.218,E,132508,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,127.90,T,127.90,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.39,N,A*21\r\n$IIVWT,179,R,01.39,N,00.72,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132510,,,,00,*4C\r\n$IIDBT,035.20,f,010.73,M,005.79,F*2B\r\n$GPGLL,5953.981,N,02320.223,E,132511,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,127.40,T,127.40,M,6.30,N,,,D*61\r\n$IIMWV,004,R,04.85,N,A*2E\r\n$IIVWT,165,R,01.34,N,00.69,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132512,,,,00,*4E\r\n$IIDBT,035.26,f,010.75,M,005.81,F*2C\r\n$GPGLL,5953.979,N,02320.229,E,132513,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,128.18,T,128.18,M,6.30,N,,,D*61\r\n$IIMWV,174,T,01.76,N,A*27\r\n$IIVWT,174,R,01.76,N,00.91,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132514,,,,00,*48\r\n$IIDBT,035.36,f,010.78,M,005.82,F*23\r\n$GPGLL,5953.976,N,02320.234,E,132515,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,128.29,T,128.29,M,6.30,N,,,D*61\r\n$IIMWV,000,R,04.47,N,A*24\r\n$IIVWT,180,L,01.82,N,00.94,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132516,,,,00,*4A\r\n$IIDBT,036.02,f,010.98,M,005.93,F*29\r\n$GPGLL,5953.974,N,02320.240,E,132517,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,128.82,T,128.82,M,6.30,N,,,D*61\r\n$IIMWV,172,T,01.82,N,A*2A\r\n$IIVWT,172,R,01.82,N,00.94,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132518,,,,00,*44\r\n$IIDBT,035.59,f,010.85,M,005.86,F*2C\r\n$GPGLL,5953.972,N,02320.245,E,132519,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.27,N,,*2F\r\n$IIVTG,129.23,T,129.23,M,6.30,N,,,D*61\r\n$IIMWV,004,R,04.47,N,A*20\r\n$IIVWT,172,R,01.90,N,00.98,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132520,,,,00,*4F\r\n$IIDBT,036.64,f,011.17,M,006.03,F*25\r\n$GPGLL,5953.970,N,02320.250,E,132521,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,129.21,T,129.21,M,6.30,N,,,D*61\r\n$IIMWV,173,T,01.82,N,A*2B\r\n$IIVWT,173,R,01.82,N,00.94,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132523,,,,00,*4C\r\n$IIDBT,035.66,f,010.87,M,005.87,F*23\r\n$GPGLL,5953.967,N,02320.256,E,132523,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,129.15,T,129.15,M,6.30,N,,,D*61\r\n$IIMWV,004,R,04.47,N,A*20\r\n$IIVWT,172,R,01.84,N,00.95,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132525,,,,00,*4A\r\n$IIDBT,036.12,f,011.01,M,005.95,F*2F\r\n$GPGLL,5953.965,N,02320.261,E,132525,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,128.86,T,128.86,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.76,N,A*2A\r\n$IIVWT,179,R,01.76,N,00.91,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132527,,,,00,*48\r\n$IIDBT,036.31,f,011.07,M,005.98,F*25\r\n$GPGLL,5953.963,N,02320.267,E,132527,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,128.41,T,128.41,M,6.30,N,,,D*61\r\n$IIMWV,360,R,04.47,N,A*21\r\n$IIVWT,179,L,01.84,N,00.95,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132529,,,,00,*46\r\n$IIDBT,036.15,f,011.02,M,005.95,F*2B\r\n$GPGLL,5953.961,N,02320.272,E,132529,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,128.61,T,128.61,M,6.30,N,,,D*61\r\n$IIMWV,181,T,01.84,N,A*20\r\n$IIVWT,179,L,01.84,N,00.95,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132531,,,,00,*4F\r\n$IIDBT,036.15,f,011.02,M,005.95,F*2B\r\n$GPGLL,5953.959,N,02320.278,E,132531,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,128.38,T,128.38,M,6.30,N,,,D*61\r\n$IIMWV,002,R,04.47,N,A*26\r\n$IIVWT,175,R,01.76,N,00.91,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132533,,,,00,*4D\r\n$IIDBT,036.08,f,011.00,M,005.94,F*24\r\n$GPGLL,5953.957,N,02320.283,E,132533,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.02,N,,*28\r\n$IIVTG,128.05,T,128.05,M,6.30,N,,,D*61\r\n$IIMWV,163,T,01.92,N,A*2B\r\n$IIVWT,163,R,01.92,N,00.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132535,,,,00,*4B\r\n$IIDBT,036.44,f,011.11,M,006.00,F*22\r\n$GPGLL,5953.954,N,02320.289,E,132535,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.92,N,,*22\r\n$IIVTG,128.06,T,128.06,M,6.30,N,,,D*61\r\n$IIMWV,007,R,04.27,N,A*25\r\n$IIVWT,166,R,02.06,N,01.06,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132537,,,,00,*49\r\n$IIDBT,036.44,f,011.11,M,006.00,F*22\r\n$GPGLL,5953.952,N,02320.294,E,132537,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,128.49,T,128.49,M,6.30,N,,,D*61\r\n$IIMWV,163,T,02.15,N,A*27\r\n$IIVWT,163,R,02.15,N,01.11,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132539,,,,00,*47\r\n$IIDBT,036.64,f,011.17,M,006.03,F*25\r\n$GPGLL,5953.950,N,02320.299,E,132539,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,128.90,T,128.90,M,6.30,N,,,D*61\r\n$IIMWV,007,R,04.27,N,A*25\r\n$IIVWT,165,R,02.09,N,01.08,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132541,,,,00,*48\r\n$IIDBT,036.44,f,011.11,M,006.00,F*22\r\n$GPGLL,5953.948,N,02320.305,E,132541,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.95,N,,*25\r\n$IIVTG,128.85,T,128.85,M,6.30,N,,,D*61\r\n$IIMWV,165,T,02.64,N,A*27\r\n$IIVWT,165,R,02.64,N,01.36,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132543,,,,00,*4A\r\n$IIDBT,036.08,f,011.00,M,005.94,F*24\r\n$GPGLL,5953.944,N,02320.313,E,132543,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,128.73,T,128.73,M,6.30,N,,,D*61\r\n$IIMWV,010,R,04.47,N,A*25\r\n$IIVWT,157,R,02.02,N,01.04,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132545,,,,00,*4C\r\n$IIDBT,032.24,f,009.83,M,005.31,F*23\r\n$GPGLL,5953.942,N,02320.319,E,132545,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.09,N,,*23\r\n$IIVTG,128.80,T,128.80,M,6.30,N,,,D*61\r\n$IIMWV,167,T,01.84,N,A*28\r\n$IIVWT,167,R,01.84,N,00.95,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132547,,,,00,*4E\r\n$IIDBT,029.92,f,009.12,M,004.92,F*24\r\n$GPGLL,5953.940,N,02320.324,E,132547,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.90,N,,*20\r\n$IIVTG,128.73,T,128.73,M,6.30,N,,,D*61\r\n$IIMWV,009,R,04.27,N,A*2B\r\n$IIVWT,162,R,02.07,N,01.07,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132549,,,,00,*40\r\n$IIDBT,029.95,f,009.13,M,004.93,F*23\r\n$GPGLL,5953.938,N,02320.329,E,132549,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.02,N,,*28\r\n$IIVTG,128.75,T,128.75,M,6.30,N,,,D*61\r\n$IIMWV,167,T,01.90,N,A*2D\r\n$IIVWT,167,R,01.90,N,00.98,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132551,,,,00,*49\r\n$IIDBT,030.51,f,009.30,M,005.02,F*2B\r\n$GPGLL,5953.936,N,02320.335,E,132551,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.91,N,,*21\r\n$IIVTG,128.77,T,128.77,M,6.35,N,,,D*64\r\n$IIMWV,009,R,04.27,N,A*2B\r\n$IIVWT,163,R,02.06,N,01.06,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132553,,,,00,*4B\r\n$IIDBT,030.64,f,009.34,M,005.04,F*2F\r\n$GPGLL,5953.933,N,02320.340,E,132554,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.89,N,,*28\r\n$IIVTG,128.94,T,128.94,M,6.39,N,,,D*68\r\n$IIMWV,164,T,01.94,N,A*2A\r\n$IIVWT,164,R,01.94,N,01.00,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132555,,,,00,*4D\r\n$IIDBT,030.83,f,009.40,M,005.08,F*29\r\n$GPGLL,5953.931,N,02320.346,E,132556,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.41,N,,*2C\r\n$IIVTG,129.16,T,129.16,M,6.32,N,,,D*63\r\n$IIMWV,009,R,04.85,N,A*23\r\n$IIVWT,153,R,01.63,N,00.84,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132557,,,,00,*4F\r\n$IIDBT,031.06,f,009.47,M,005.11,F*2A\r\n$GPGLL,5953.929,N,02320.351,E,132558,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.43,N,,*2E\r\n$IIVTG,129.44,T,129.44,M,6.36,N,,,D*67\r\n$IIMWV,149,T,01.76,N,A*29\r\n$IIVWT,149,R,01.76,N,00.91,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132559,,,,00,*41\r\n$IIDBT,031.00,f,009.45,M,005.10,F*2F\r\n$GPGLL,5953.927,N,02320.357,E,132600,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.21,N,,*2A\r\n$IIVTG,129.68,T,129.68,M,6.39,N,,,D*68\r\n$IIMWV,012,R,04.85,N,A*29\r\n$IIVWT,148,R,01.78,N,00.92,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132601,,,,00,*4F\r\n$IIDBT,008.20,f,002.50,M,001.35,F*2B\r\n$GPGLL,5953.925,N,02320.362,E,132602,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.57,N,,*2B\r\n$IIVTG,129.52,T,129.52,M,6.35,N,,,D*64\r\n$IIMWV,152,T,01.71,N,A*24\r\n$IIVWT,152,R,01.71,N,00.88,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132604,,,,00,*4A\r\n$IIDBT,019.84,f,006.05,M,003.27,F*20\r\n$GPGLL,5953.922,N,02320.367,E,132604,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,129.68,T,129.68,M,6.39,N,,,D*68\r\n$IIMWV,006,R,04.47,N,A*22\r\n$IIVWT,166,R,01.80,N,00.93,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132606,,,,00,*48\r\n$IIDBT,031.59,f,009.63,M,005.20,F*24\r\n$GPGLL,5953.920,N,02320.373,E,132606,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.18,N,,*23\r\n$IIVTG,129.95,T,129.95,M,6.40,N,,,D*66\r\n$IIMWV,172,T,02.09,N,A*2A\r\n$IIVWT,172,R,02.09,N,01.08,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132608,,,,00,*46\r\n$IIDBT,031.56,f,009.62,M,005.19,F*20\r\n$GPGLL,5953.918,N,02320.378,E,132608,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.08,N,,*22\r\n$IIVTG,129.69,T,129.69,M,6.37,N,,,D*66\r\n$IIMWV,008,R,04.27,N,A*2A\r\n$IIVWT,165,R,02.09,N,01.08,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132610,,,,00,*4F\r\n$IIDBT,031.29,f,009.54,M,005.15,F*21\r\n$GPGLL,5953.916,N,02320.384,E,132610,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.11,N,,*2A\r\n$IIVTG,128.97,T,128.97,M,6.32,N,,,D*63\r\n$IIMWV,166,T,01.73,N,A*21\r\n$IIVWT,166,R,01.73,N,00.89,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132612,,,,00,*4D\r\n$IIDBT,031.10,f,009.48,M,005.12,F*21\r\n$GPGLL,5953.913,N,02320.389,E,132612,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,128.52,T,128.52,M,6.30,N,,,D*61\r\n$IIMWV,005,R,04.47,N,A*21\r\n$IIVWT,167,R,01.86,N,00.96,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132614,,,,00,*4B\r\n$IIDBT,030.77,f,009.38,M,005.07,F*22\r\n$GPGLL,5953.911,N,02320.395,E,132614,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,128.75,T,128.75,M,6.30,N,,,D*61\r\n$IIMWV,166,T,01.86,N,A*2B\r\n$IIVWT,166,R,01.86,N,00.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132616,,,,00,*49\r\n$IIDBT,030.47,f,009.29,M,005.02,F*24\r\n$GPGLL,5953.909,N,02320.400,E,132616,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,129.27,T,129.27,M,6.30,N,,,D*61\r\n$IIMWV,004,R,04.47,N,A*20\r\n$IIVWT,172,R,01.86,N,00.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132618,,,,00,*47\r\n$IIDBT,030.31,f,009.24,M,004.99,F*2B\r\n$GPGLL,5953.907,N,02320.405,E,132618,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,129.41,T,129.41,M,6.30,N,,,D*61\r\n$IIMWV,164,T,01.45,N,A*26\r\n$IIVWT,164,R,01.45,N,00.75,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132620,,,,00,*4C\r\n$IIDBT,030.51,f,009.30,M,005.02,F*2B\r\n$GPGLL,5953.905,N,02320.411,E,132620,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.95,N,,*25\r\n$IIVTG,129.43,T,129.43,M,6.30,N,,,D*61\r\n$IIMWV,006,R,04.85,N,A*2C\r\n$IIVWT,161,R,01.57,N,00.81,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132622,,,,00,*4E\r\n$IIDBT,030.60,f,009.33,M,005.04,F*2C\r\n$GPGLL,5953.902,N,02320.416,E,132622,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,129.25,T,129.25,M,6.30,N,,,D*61\r\n$IIMWV,158,T,01.59,N,A*24\r\n$IIVWT,158,R,01.59,N,00.82,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132624,,,,00,*48\r\n$IIDBT,031.00,f,009.45,M,005.10,F*2F\r\n$GPGLL,5953.900,N,02320.422,E,132624,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.78,N,,*26\r\n$IIVTG,129.24,T,129.24,M,6.30,N,,,D*61\r\n$IIMWV,008,R,04.85,N,A*22\r\n$IIVWT,155,R,01.53,N,00.79,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132626,,,,00,*4A\r\n$IIDBT,031.33,f,009.55,M,005.16,F*28\r\n$GPGLL,5953.897,N,02320.430,E,132626,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.97,N,,*27\r\n$IIVTG,129.36,T,129.36,M,6.30,N,,,D*61\r\n$IIMWV,164,T,01.49,N,A*2A\r\n$IIVWT,164,R,01.49,N,00.77,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132628,,,,00,*44\r\n$IIDBT,031.75,f,009.68,M,005.23,F*22\r\n$GPGLL,5953.895,N,02320.435,E,132628,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,129.39,T,129.39,M,6.30,N,,,D*61\r\n$IIMWV,004,R,04.85,N,A*2E\r\n$IIVWT,167,R,01.39,N,00.72,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132630,,,,00,*4D\r\n$IIDBT,032.31,f,009.85,M,005.32,F*22\r\n$GPGLL,5953.892,N,02320.440,E,132630,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,129.57,T,129.57,M,6.30,N,,,D*61\r\n$IIMWV,170,T,01.47,N,A*21\r\n$IIVWT,170,R,01.47,N,00.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132632,,,,00,*4F\r\n$IIDBT,032.84,f,010.01,M,005.41,F*2C\r\n$GPGLL,5953.890,N,02320.446,E,132632,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,129.42,T,129.42,M,6.30,N,,,D*61\r\n$IIMWV,360,R,04.47,N,A*21\r\n$IIVWT,179,L,01.86,N,00.96,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132634,,,,00,*49\r\n$IIDBT,033.20,f,010.12,M,005.47,F*27\r\n$GPGLL,5953.888,N,02320.451,E,132634,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.95,N,,*25\r\n$IIVTG,129.43,T,129.43,M,6.30,N,,,D*61\r\n$IIMWV,161,T,01.47,N,A*21\r\n$IIVWT,161,R,01.47,N,00.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132636,,,,00,*4B\r\n$IIDBT,033.52,f,010.22,M,005.52,F*25\r\n$GPGLL,5953.886,N,02320.456,E,132637,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,129.41,T,129.41,M,6.30,N,,,D*61\r\n$IIMWV,001,R,04.85,N,A*2B\r\n$IIVWT,177,R,01.45,N,00.75,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132638,,,,00,*45\r\n$IIDBT,033.85,f,010.32,M,005.57,F*2B\r\n$GPGLL,5953.884,N,02320.462,E,132639,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,128.58,T,128.58,M,6.30,N,,,D*61\r\n$IIMWV,174,T,01.41,N,A*23\r\n$IIVWT,174,R,01.41,N,00.73,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132640,,,,00,*4A\r\n$IIDBT,034.21,f,010.43,M,005.63,F*23\r\n$GPGLL,5953.881,N,02320.467,E,132641,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,128.57,T,128.57,M,6.30,N,,,D*61\r\n$IIMWV,002,R,04.85,N,A*28\r\n$IIVWT,174,R,01.39,N,00.72,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132642,,,,00,*48\r\n$IIDBT,034.34,f,010.47,M,005.65,F*25\r\n$GPGLL,5953.879,N,02320.473,E,132643,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,128.67,T,128.67,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.45,N,A*2A\r\n$IIVWT,179,R,01.45,N,00.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132644,,,,00,*4E\r\n$IIDBT,034.67,f,010.57,M,005.71,F*27\r\n$GPGLL,5953.877,N,02320.478,E,132645,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,128.29,T,128.29,M,6.30,N,,,D*61\r\n$IIMWV,357,R,04.85,N,A*2B\r\n$IIVWT,169,L,01.41,N,00.73,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132646,,,,00,*4C\r\n$IIDBT,035.30,f,010.76,M,005.81,F*28\r\n$GPGLL,5953.875,N,02320.484,E,132647,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,127.55,T,127.55,M,6.30,N,,,D*61\r\n$IIMWV,183,T,01.36,N,A*2B\r\n$IIVWT,177,L,01.36,N,00.70,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132649,,,,00,*43\r\n$IIDBT,035.98,f,010.97,M,005.92,F*27\r\n$GPGLL,5953.873,N,02320.489,E,132649,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,127.54,T,127.54,M,6.30,N,,,D*61\r\n$IIMWV,001,R,04.47,N,A*25\r\n$IIVWT,178,R,01.78,N,00.92,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132651,,,,00,*4A\r\n$IIDBT,036.54,f,011.14,M,006.02,F*24\r\n$GPGLL,5953.871,N,02320.495,E,132651,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,127.73,T,127.73,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.45,N,A*2A\r\n$IIVWT,179,R,01.45,N,00.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132653,,,,00,*48\r\n$IIDBT,036.87,f,011.24,M,006.07,F*2C\r\n$GPGLL,5953.868,N,02320.500,E,132653,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.22,N,,*2A\r\n$IIVTG,128.81,T,128.81,M,6.30,N,,,D*61\r\n$IIMWV,002,R,04.85,N,A*28\r\n$IIVWT,172,R,01.39,N,00.72,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132655,,,,00,*4E\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,5953.866,N,02320.505,E,132655,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.09,N,,*23\r\n$IIVTG,129.53,T,129.53,M,6.30,N,,,D*61\r\n$IIMWV,189,T,01.49,N,A*29\r\n$IIVWT,171,L,01.49,N,00.77,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132657,,,,00,*4C\r\n$IIDBT,037.26,f,011.36,M,006.14,F*27\r\n$GPGLL,5953.864,N,02320.511,E,132657,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,129.13,T,129.13,M,6.30,N,,,D*61\r\n$IIMWV,358,R,04.85,N,A*24\r\n$IIVWT,173,L,01.47,N,00.76,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132659,,,,00,*42\r\n$IIDBT,037.36,f,011.39,M,006.15,F*28\r\n$GPGLL,5953.862,N,02320.516,E,132659,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,128.96,T,128.96,M,6.30,N,,,D*61\r\n$IIMWV,189,T,01.84,N,A*28\r\n$IIVWT,171,L,01.84,N,00.95,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132701,,,,00,*4E\r\n$IIDBT,037.43,f,011.41,M,006.16,F*26\r\n$GPGLL,5953.860,N,02320.522,E,132701,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,128.34,T,128.34,M,6.30,N,,,D*61\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,175,L,01.80,N,00.93,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132703,,,,00,*4C\r\n$IIDBT,037.56,f,011.45,M,006.18,F*28\r\n$GPGLL,5953.858,N,02320.527,E,132703,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,128.36,T,128.36,M,6.30,N,,,D*61\r\n$IIMWV,186,T,01.80,N,A*23\r\n$IIVWT,175,L,01.80,N,00.93,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132705,,,,00,*4A\r\n$IIDBT,037.63,f,011.47,M,006.19,F*2D\r\n$GPGLL,5953.855,N,02320.533,E,132705,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,128.59,T,128.59,M,6.30,N,,,D*61\r\n$IIMWV,356,R,04.85,N,A*2A\r\n$IIVWT,165,L,01.47,N,00.76,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132707,,,,00,*48\r\n$IIDBT,037.56,f,011.45,M,006.18,F*28\r\n$GPGLL,5953.852,N,02320.541,E,132707,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,128.74,T,128.74,M,6.30,N,,,D*61\r\n$IIMWV,196,T,01.47,N,A*29\r\n$IIVWT,164,L,01.47,N,00.76,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132709,,,,00,*46\r\n$IIDBT,037.43,f,011.41,M,006.16,F*26\r\n$GPGLL,5953.850,N,02320.546,E,132709,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,128.54,T,128.54,M,6.30,N,,,D*61\r\n$IIMWV,357,R,04.47,N,A*25\r\n$IIVWT,172,L,01.82,N,00.94,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132711,,,,00,*4F\r\n$IIDBT,037.46,f,011.42,M,006.17,F*21\r\n$GPGLL,5953.848,N,02320.552,E,132711,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.11,N,,*2A\r\n$IIVTG,128.91,T,128.91,M,6.30,N,,,D*61\r\n$IIMWV,193,T,01.86,N,A*21\r\n$IIVWT,167,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132713,,,,00,*4D\r\n$IIDBT,037.33,f,011.38,M,006.15,F*2C\r\n$GPGLL,5953.845,N,02320.557,E,132713,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.27,N,,*2F\r\n$IIVTG,129.33,T,129.33,M,6.30,N,,,D*61\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,175,L,01.80,N,00.93,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132715,,,,00,*4B\r\n$IIDBT,037.33,f,011.38,M,006.15,F*2C\r\n$GPGLL,5953.843,N,02320.562,E,132715,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,129.83,T,129.83,M,6.30,N,,,D*61\r\n$IIMWV,192,T,01.94,N,A*23\r\n$IIVWT,168,L,01.94,N,01.00,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132717,,,,00,*49\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,5953.841,N,02320.568,E,132717,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,129.73,T,129.73,M,6.30,N,,,D*61\r\n$IIMWV,356,R,04.47,N,A*24\r\n$IIVWT,170,L,01.90,N,00.98,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132719,,,,00,*47\r\n$IIDBT,036.94,f,011.26,M,006.08,F*23\r\n$GPGLL,5953.839,N,02320.573,E,132720,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,129.28,T,129.28,M,6.30,N,,,D*61\r\n$IIMWV,186,T,01.82,N,A*21\r\n$IIVWT,175,L,01.82,N,00.94,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132721,,,,00,*4C\r\n$IIDBT,036.90,f,011.25,M,006.08,F*24\r\n$GPGLL,5953.837,N,02320.578,E,132722,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,130.47,T,130.47,M,6.30,N,,,D*61\r\n$IIMWV,353,R,04.47,N,A*21\r\n$IIVWT,163,L,01.88,N,00.97,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132723,,,,00,*4E\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5953.834,N,02320.584,E,132724,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,130.81,T,130.81,M,6.30,N,,,D*61\r\n$IIMWV,193,T,01.78,N,A*20\r\n$IIVWT,168,L,01.78,N,00.92,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132725,,,,00,*48\r\n$IIDBT,036.64,f,011.17,M,006.03,F*25\r\n$GPGLL,5953.832,N,02320.589,E,132726,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,131.03,T,131.03,M,6.35,N,,,D*64\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,167,L,01.82,N,00.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132727,,,,00,*4A\r\n$IIDBT,036.54,f,011.14,M,006.02,F*24\r\n$GPGLL,5953.830,N,02320.594,E,132728,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,131.41,T,131.41,M,6.31,N,,,D*60\r\n$IIMWV,195,T,01.92,N,A*22\r\n$IIVWT,165,L,01.92,N,00.99,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132729,,,,00,*44\r\n$IIDBT,036.21,f,011.04,M,005.96,F*29\r\n$GPGLL,5953.827,N,02320.599,E,132730,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,131.83,T,131.83,M,6.33,N,,,D*62\r\n$IIMWV,356,R,04.47,N,A*24\r\n$IIVWT,171,L,01.88,N,00.97,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132732,,,,00,*4E\r\n$IIDBT,036.05,f,010.99,M,005.94,F*28\r\n$GPGLL,5953.825,N,02320.605,E,132732,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,132.43,T,132.43,M,6.38,N,,,D*69\r\n$IIMWV,194,T,01.90,N,A*21\r\n$IIVWT,167,L,01.90,N,00.98,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132734,,,,00,*48\r\n$IIDBT,035.62,f,010.86,M,005.87,F*26\r\n$GPGLL,5953.823,N,02320.610,E,132734,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,132.16,T,132.16,M,6.32,N,,,D*63\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,168,L,01.78,N,00.92,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132736,,,,00,*4A\r\n$IIDBT,035.23,f,010.74,M,005.80,F*29\r\n$GPGLL,5953.820,N,02320.615,E,132736,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,132.29,T,132.29,M,6.31,N,,,D*60\r\n$IIMWV,190,T,01.82,N,A*26\r\n$IIVWT,170,L,01.82,N,00.94,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132738,,,,00,*44\r\n$IIDBT,034.87,f,010.63,M,005.74,F*2B\r\n$GPGLL,5953.818,N,02320.620,E,132738,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.28,N,,*20\r\n$IIVTG,132.72,T,132.72,M,6.30,N,,,D*61\r\n$IIMWV,359,R,04.47,N,A*2B\r\n$IIVWT,176,L,01.82,N,00.94,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132740,,,,00,*4B\r\n$IIDBT,033.98,f,010.36,M,005.59,F*2D\r\n$GPGLL,5953.816,N,02320.625,E,132740,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,133.40,T,133.40,M,6.30,N,,,D*61\r\n$IIMWV,194,T,01.86,N,A*26\r\n$IIVWT,166,L,01.86,N,00.96,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132742,,,,00,*49\r\n$IIDBT,033.89,f,010.33,M,005.58,F*29\r\n$GPGLL,5953.813,N,02320.630,E,132742,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.18,N,,*23\r\n$IIVTG,134.40,T,134.40,M,6.35,N,,,D*64\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,175,L,01.82,N,00.94,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132744,,,,00,*4F\r\n$IIDBT,033.07,f,010.08,M,005.44,F*2A\r\n$GPGLL,5953.810,N,02320.635,E,132744,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,135.80,T,135.80,M,6.39,N,,,D*68\r\n$IIMWV,190,T,01.94,N,A*21\r\n$IIVWT,170,L,01.94,N,01.00,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132746,,,,00,*4D\r\n$IIDBT,032.31,f,009.85,M,005.32,F*22\r\n$GPGLL,5953.808,N,02320.640,E,132746,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,136.13,T,136.13,M,6.40,N,,,D*66\r\n$IIMWV,356,R,04.85,N,A*2A\r\n$IIVWT,165,L,01.51,N,00.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132748,,,,00,*43\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5953.805,N,02320.645,E,132748,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.85,N,,*24\r\n$IIVTG,134.91,T,134.91,M,6.40,N,,,D*66\r\n$IIMWV,202,T,01.57,N,A*26\r\n$IIVWT,159,L,01.57,N,00.81,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132750,,,,00,*4A\r\n$IIDBT,025.72,f,007.84,M,004.23,F*2D\r\n$GPGLL,5953.802,N,02320.653,E,132750,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-6.03,N,,*29\r\n$IIVTG,134.23,T,134.23,M,6.32,N,,,D*63\r\n$IIMWV,354,R,04.85,N,A*28\r\n$IIVWT,161,L,01.63,N,00.84,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132752,,,,00,*48\r\n$IIDBT,025.29,f,007.71,M,004.16,F*2F\r\n$GPGLL,5953.799,N,02320.657,E,132752,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,134.85,T,134.85,M,6.30,N,,,D*61\r\n$IIMWV,204,T,01.59,N,A*2E\r\n$IIVWT,156,L,01.59,N,00.82,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132754,,,,00,*4E\r\n$IIDBT,024.44,f,007.45,M,004.02,F*27\r\n$GPGLL,5953.797,N,02320.662,E,132754,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.71,N,,*2F\r\n$IIVTG,135.54,T,135.54,M,6.30,N,,,D*61\r\n$IIMWV,353,R,04.85,N,A*2F\r\n$IIVWT,157,L,01.51,N,00.78,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132756,,,,00,*4C\r\n$IIDBT,023.39,f,007.13,M,003.85,F*21\r\n$GPGLL,5953.794,N,02320.667,E,132756,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.73,N,,*2D\r\n$IIVTG,136.41,T,136.41,M,6.30,N,,,D*61\r\n$IIMWV,203,T,01.55,N,A*25\r\n$IIVWT,157,L,01.55,N,00.80,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132758,,,,00,*42\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5953.792,N,02320.672,E,132758,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,136.95,T,136.95,M,6.30,N,,,D*61\r\n$IIMWV,353,R,04.85,N,A*2F\r\n$IIVWT,157,L,01.65,N,00.85,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132800,,,,00,*40\r\n$IIDBT,021.19,f,006.46,M,003.49,F*20\r\n$GPGLL,5953.789,N,02320.677,E,132800,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.86,N,,*27\r\n$IIVTG,136.99,T,136.99,M,6.30,N,,,D*61\r\n$IIMWV,199,T,01.88,N,A*25\r\n$IIVWT,161,L,01.88,N,00.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132802,,,,00,*42\r\n$IIDBT,020.60,f,006.28,M,003.39,F*20\r\n$GPGLL,5953.787,N,02320.682,E,132803,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.97,N,,*27\r\n$IIVTG,137.04,T,137.04,M,6.30,N,,,D*61\r\n$IIMWV,353,R,04.47,N,A*21\r\n$IIVWT,163,L,01.96,N,01.01,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132804,,,,00,*44\r\n$IIDBT,019.97,f,006.09,M,003.29,F*20\r\n$GPGLL,5953.784,N,02320.686,E,132805,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,138.21,T,138.21,M,6.30,N,,,D*61\r\n$IIMWV,179,T,01.80,N,A*23\r\n$IIVWT,179,R,01.80,N,00.93,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132806,,,,00,*46\r\n$IIDBT,019.71,f,006.01,M,003.24,F*2D\r\n$GPGLL,5953.781,N,02320.691,E,132807,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.09,N,,*23\r\n$IIVTG,137.80,T,137.80,M,6.35,N,,,D*64\r\n$IIMWV,354,R,04.47,N,A*26\r\n$IIVWT,165,L,01.92,N,00.99,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132808,,,,00,*48\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5953.779,N,02320.696,E,132809,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.98,N,,*28\r\n$IIVTG,135.60,T,135.60,M,6.39,N,,,D*68\r\n$IIMWV,199,T,02.04,N,A*22\r\n$IIVWT,161,L,02.04,N,01.05,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132810,,,,00,*41\r\n$IIDBT,019.19,f,005.85,M,003.16,F*2D\r\n$GPGLL,5953.776,N,02320.701,E,132811,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.63,N,,*2C\r\n$IIVTG,133.90,T,133.90,M,6.40,N,,,D*66\r\n$IIMWV,350,R,04.85,N,A*2C\r\n$IIVWT,151,L,01.73,N,00.89,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132813,,,,00,*42\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5953.774,N,02320.706,E,132813,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.61,N,,*2E\r\n$IIVTG,131.97,T,131.97,M,6.40,N,,,D*66\r\n$IIMWV,209,T,01.84,N,A*23\r\n$IIVWT,151,L,01.84,N,00.95,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132815,,,,00,*44\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5953.772,N,02320.712,E,132815,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.31,N,,*2B\r\n$IIVTG,129.24,T,129.24,M,6.35,N,,,D*64\r\n$IIMWV,348,R,04.85,N,A*25\r\n$IIVWT,148,L,01.82,N,00.94,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132817,,,,00,*46\r\n$IIDBT,018.17,f,005.54,M,002.99,F*28\r\n$GPGLL,5953.770,N,02320.717,E,132817,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.38,N,,*22\r\n$IIVTG,128.49,T,128.49,M,6.31,N,,,D*60\r\n$IIMWV,215,T,01.88,N,A*22\r\n$IIVWT,146,L,01.88,N,00.97,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132819,,,,00,*48\r\n$IIDBT,018.30,f,005.58,M,003.01,F*21\r\n$GPGLL,5953.768,N,02320.723,E,132819,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,128.52,T,128.52,M,6.30,N,,,D*61\r\n$IIMWV,355,R,04.85,N,A*29\r\n$IIVWT,165,L,01.51,N,00.78,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132821,,,,00,*43\r\n$IIDBT,018.43,f,005.62,M,003.03,F*2E\r\n$GPGLL,5953.765,N,02320.728,E,132821,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.42,N,,*2F\r\n$IIVTG,130.01,T,130.01,M,6.30,N,,,D*61\r\n$IIMWV,211,T,01.82,N,A*2C\r\n$IIVWT,149,L,01.82,N,00.94,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132823,,,,00,*41\r\n$IIDBT,018.60,f,005.67,M,003.06,F*2F\r\n$GPGLL,5953.763,N,02320.733,E,132823,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.44,N,,*29\r\n$IIVTG,132.37,T,132.37,M,6.25,N,,,D*65\r\n$IIMWV,351,R,04.85,N,A*2D\r\n$IIVWT,151,L,01.61,N,00.83,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132825,,,,00,*47\r\n$IIDBT,018.99,f,005.79,M,003.12,F*23\r\n$GPGLL,5953.760,N,02320.738,E,132825,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,136.77,T,136.77,M,6.21,N,,,D*61\r\n$IIMWV,198,T,01.55,N,A*24\r\n$IIVWT,162,L,01.55,N,00.80,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132827,,,,00,*45\r\n$IIDBT,019.22,f,005.86,M,003.16,F*26\r\n$GPGLL,5953.758,N,02320.742,E,132827,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,142.71,T,142.71,M,6.20,N,,,D*60\r\n$IIMWV,351,R,04.85,N,A*2D\r\n$IIVWT,151,L,01.57,N,00.81,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132829,,,,00,*4B\r\n$IIDBT,019.55,f,005.96,M,003.22,F*20\r\n$GPGLL,5953.755,N,02320.746,E,132829,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,145.15,T,145.15,M,6.23,N,,,D*63\r\n$IIMWV,145,T,01.10,N,A*25\r\n$IIVWT,145,R,01.10,N,00.57,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132831,,,,00,*42\r\n$IIDBT,020.07,f,006.12,M,003.30,F*21\r\n$GPGLL,5953.752,N,02320.749,E,132831,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-3.35,N,,*29\r\n$IIVTG,150.16,T,150.16,M,6.13,N,,,D*60\r\n$IIMWV,018,R,05.24,N,A*29\r\n$IIVWT,123,R,01.94,N,01.00,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132833,,,,00,*40\r\n$IIDBT,021.22,f,006.47,M,003.49,F*29\r\n$GPGLL,5953.747,N,02320.752,E,132833,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,161.40,T,161.40,M,6.18,N,,,D*6B\r\n$IIMWV,163,T,00.38,N,A*2A\r\n$IIVWT,163,R,00.38,N,00.20,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132835,,,,00,*46\r\n$IIDBT,021.48,f,006.55,M,003.54,F*2A\r\n$GPGLL,5953.743,N,02320.754,E,132835,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.29,N,00.15,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,164.05,T,164.05,M,6.27,N,,,D*67\r\n$IIMWV,357,R,06.22,N,A*24\r\n$IIVWT,090,L,00.29,N,00.15,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132837,,,,00,*44\r\n$IIDBT,021.55,f,006.57,M,003.55,F*25\r\n$GPGLL,5953.740,N,02320.756,E,132837,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,164.36,T,164.36,M,6.22,N,,,D*62\r\n$IIMWV,168,T,00.75,N,A*28\r\n$IIVWT,168,R,00.75,N,00.39,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132839,,,,00,*4A\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5953.737,N,02320.757,E,132839,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-4.34,N,,*2F\r\n$IIVTG,167.07,T,167.07,M,6.25,N,,,D*65\r\n$IIMWV,009,R,05.24,N,A*29\r\n$IIVWT,141,R,01.28,N,00.66,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132841,,,,00,*45\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5953.733,N,02320.758,E,132841,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-6.14,N,,*2F\r\n$IIVTG,170.09,T,170.09,M,6.29,N,,,D*69\r\n$IIMWV,169,T,01.01,N,A*2B\r\n$IIVWT,169,R,01.01,N,00.52,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132843,,,,00,*47\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5953.730,N,02320.759,E,132843,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-2.67,N,,*2F\r\n$IIVTG,171.32,T,171.32,M,6.30,N,,,D*61\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,100,R,01.32,N,00.68,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132845,,,,00,*41\r\n$IIDBT,021.62,f,006.59,M,003.56,F*2C\r\n$GPGLL,5953.726,N,02320.760,E,132846,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.75,N,,*2E\r\n$IIVTG,174.35,T,174.35,M,6.30,N,,,D*61\r\n$IIMWV,113,T,01.34,N,A*20\r\n$IIVWT,113,R,01.34,N,00.69,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132847,,,,00,*43\r\n$IIDBT,021.65,f,006.60,M,003.56,F*21\r\n$GPGLL,5953.723,N,02320.761,E,132848,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,174.86,T,174.86,M,6.30,N,,,D*61\r\n$IIMWV,017,R,05.83,N,A*2B\r\n$IIVWT,115,R,01.80,N,00.93,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132849,,,,00,*4D\r\n$IIDBT,021.71,f,006.62,M,003.57,F*27\r\n$GPGLL,5953.719,N,02320.761,E,132850,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.44,N,,*28\r\n$IIVTG,175.64,T,175.64,M,6.32,N,,,D*63\r\n$IIMWV,148,T,01.04,N,A*2D\r\n$IIVWT,148,R,01.04,N,00.54,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132851,,,,00,*44\r\n$IIDBT,021.78,f,006.64,M,003.58,F*27\r\n$GPGLL,5953.716,N,02320.762,E,132852,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.58,N,,*25\r\n$IIVTG,175.46,T,175.46,M,6.31,N,,,D*60\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,136,R,01.26,N,00.65,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132853,,,,00,*46\r\n$IIDBT,021.91,f,006.68,M,003.61,F*26\r\n$GPGLL,5953.712,N,02320.762,E,132854,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.40,N,,*2A\r\n$IIVTG,176.01,T,176.01,M,6.30,N,,,D*61\r\n$IIMWV,129,T,01.69,N,A*21\r\n$IIVWT,129,R,01.69,N,00.87,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132856,,,,00,*43\r\n$IIDBT,021.98,f,006.70,M,003.62,F*25\r\n$GPGLL,5953.709,N,02320.763,E,132856,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,176.50,T,176.50,M,6.30,N,,,D*61\r\n$IIMWV,001,R,05.24,N,A*21\r\n$IIVWT,174,R,01.06,N,00.55,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132858,,,,00,*4D\r\n$IIDBT,022.07,f,006.73,M,003.63,F*22\r\n$GPGLL,5953.705,N,02320.763,E,132858,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,176.23,T,176.23,M,6.30,N,,,D*61\r\n$IIMWV,198,T,01.08,N,A*2C\r\n$IIVWT,162,L,01.08,N,00.56,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132900,,,,00,*41\r\n$IIDBT,022.17,f,006.76,M,003.65,F*20\r\n$GPGLL,5953.702,N,02320.764,E,132900,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.24,N,,*2E\r\n$IIVTG,175.06,T,175.06,M,6.30,N,,,D*61\r\n$IIMWV,347,R,05.44,N,A*26\r\n$IIVWT,129,L,01.53,N,00.79,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132902,,,,00,*43\r\n$IIDBT,022.17,f,006.76,M,003.65,F*20\r\n$GPGLL,5953.699,N,02320.764,E,132902,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.00,N,,*2A\r\n$IIVTG,175.36,T,175.36,M,6.23,N,,,D*63\r\n$IIMWV,187,T,00.81,N,A*22\r\n$IIVWT,173,L,00.81,N,00.42,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132904,,,,00,*45\r\n$IIDBT,022.47,f,006.85,M,003.70,F*2D\r\n$GPGLL,5953.695,N,02320.765,E,132904,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.75,N,,*2C\r\n$IIVTG,176.59,T,176.59,M,6.23,N,,,D*63\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,139,R,01.30,N,00.67,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132906,,,,00,*47\r\n$IIDBT,022.93,f,006.99,M,003.77,F*2E\r\n$GPGLL,5953.692,N,02320.765,E,132906,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.70,N,,*2F\r\n$IIVTG,176.57,T,176.57,M,6.28,N,,,D*68\r\n$IIMWV,233,T,01.45,N,A*27\r\n$IIVWT,127,L,01.45,N,00.75,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132908,,,,00,*49\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5953.688,N,02320.766,E,132908,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.56,N,,*2A\r\n$IIVTG,174.64,T,174.64,M,6.22,N,,,D*62\r\n$IIMWV,356,R,05.24,N,A*20\r\n$IIVWT,157,L,01.04,N,00.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132910,,,,00,*40\r\n$IIDBT,023.29,f,007.10,M,003.83,F*25\r\n$GPGLL,5953.685,N,02320.767,E,132910,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.96,N,,*23\r\n$IIVTG,174.61,T,174.61,M,6.21,N,,,D*61\r\n$IIMWV,257,T,01.41,N,A*21\r\n$IIVWT,103,L,01.41,N,00.73,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132912,,,,00,*42\r\n$IIDBT,023.65,f,007.21,M,003.89,F*25\r\n$GPGLL,5953.681,N,02320.767,E,132912,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.25,N,,*2B\r\n$IIVTG,175.83,T,175.83,M,6.20,N,,,D*60\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,095,L,01.12,N,00.58,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132914,,,,00,*44\r\n$IIDBT,024.08,f,007.34,M,003.96,F*23\r\n$GPGLL,5953.678,N,02320.768,E,132914,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,175.81,T,175.81,M,6.20,N,,,D*60\r\n$IIMWV,262,T,00.27,N,A*26\r\n$IIVWT,098,L,00.27,N,00.14,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132916,,,,00,*46\r\n$IIDBT,024.34,f,007.42,M,004.01,F*24\r\n$GPGLL,5953.673,N,02320.768,E,132916,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.23,N,00.12,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.34,N,11.74,K*57\r\n$IIVPW,1.30,N,,*03\r\n$IIVTG,176.84,T,176.84,M,6.20,N,,,D*60\r\n$IIMWV,355,R,06.41,N,A*23\r\n$IIVWT,072,L,00.56,N,00.29,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132918,,,,00,*48\r\n$IIDBT,024.47,f,007.46,M,004.03,F*26\r\n$GPGLL,5953.670,N,02320.768,E,132918,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,4.79,N,,*0B\r\n$IIVTG,177.56,T,177.56,M,6.20,N,,,D*60\r\n$IIMWV,041,T,00.52,N,A*27\r\n$IIVWT,041,R,00.52,N,00.27,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132920,,,,00,*43\r\n$IIDBT,024.76,f,007.55,M,004.08,F*2D\r\n$GPGLL,5953.666,N,02320.769,E,132920,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,177.47,T,177.47,M,6.20,N,,,D*60\r\n$IIMWV,357,R,06.41,N,A*21\r\n$IIVWT,069,L,00.33,N,00.17,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132922,,,,00,*41\r\n$IIDBT,025.22,f,007.69,M,004.15,F*2E\r\n$GPGLL,5953.663,N,02320.769,E,132922,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,177.31,T,177.31,M,6.20,N,,,D*60\r\n$IIMWV,004,T,00.91,N,A*29\r\n$IIVWT,004,R,00.91,N,00.47,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132924,,,,00,*47\r\n$IIDBT,025.42,f,007.75,M,004.18,F*28\r\n$GPGLL,5953.659,N,02320.769,E,132924,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.14,N,,*01\r\n$IIVTG,177.25,T,177.25,M,6.20,N,,,D*60\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,043,L,01.20,N,00.62,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132926,,,,00,*45\r\n$IIDBT,025.55,f,007.79,M,004.21,F*28\r\n$GPGLL,5953.656,N,02320.770,E,132927,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,177.24,T,177.24,M,6.20,N,,,D*60\r\n$IIMWV,046,T,01.22,N,A*26\r\n$IIVWT,046,R,01.22,N,00.63,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132928,,,,00,*4B\r\n$IIDBT,025.78,f,007.86,M,004.24,F*22\r\n$GPGLL,5953.652,N,02320.770,E,132929,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,177.86,T,177.86,M,6.20,N,,,D*60\r\n$IIMWV,005,R,07.19,N,A*29\r\n$IIVWT,034,R,01.08,N,00.56,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132930,,,,00,*42\r\n$IIDBT,025.88,f,007.89,M,004.26,F*20\r\n$GPGLL,5953.649,N,02320.770,E,132931,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,178.74,T,178.74,M,6.20,N,,,D*60\r\n$IIMWV,015,T,01.53,N,A*26\r\n$IIVWT,015,R,01.53,N,00.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132932,,,,00,*40\r\n$IIDBT,026.18,f,007.98,M,004.31,F*2C\r\n$GPGLL,5953.645,N,02320.770,E,132933,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,178.68,T,178.68,M,6.23,N,,,D*63\r\n$IIMWV,004,R,07.77,N,A*20\r\n$IIVWT,019,R,01.57,N,00.81,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132934,,,,00,*46\r\n$IIDBT,026.27,f,008.01,M,004.32,F*2C\r\n$GPGLL,5953.642,N,02320.770,E,132935,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,180.59,T,180.59,M,6.21,N,,,D*61\r\n$IIMWV,031,T,01.65,N,A*25\r\n$IIVWT,031,R,01.65,N,00.85,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132936,,,,00,*44\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5953.639,N,02320.770,E,132937,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,181.18,T,181.18,M,6.25,N,,,D*65\r\n$IIMWV,007,R,07.77,N,A*23\r\n$IIVWT,031,R,01.69,N,00.87,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132939,,,,00,*4B\r\n$IIDBT,026.80,f,008.17,M,004.41,F*22\r\n$GPGLL,5953.635,N,02320.770,E,132939,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,180.32,T,180.32,M,6.26,N,,,D*66\r\n$IIMWV,028,T,01.47,N,A*2D\r\n$IIVWT,028,R,01.47,N,00.76,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132941,,,,00,*44\r\n$IIDBT,027.09,f,008.26,M,004.46,F*27\r\n$GPGLL,5953.632,N,02320.770,E,132941,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.04,N,,*01\r\n$IIVTG,180.38,T,180.38,M,6.27,N,,,D*67\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,049,R,01.86,N,00.96,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132943,,,,00,*46\r\n$IIDBT,027.32,f,008.33,M,004.50,F*2C\r\n$GPGLL,5953.628,N,02320.770,E,132943,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,180.75,T,180.75,M,6.29,N,,,D*69\r\n$IIMWV,027,T,01.08,N,A*29\r\n$IIVWT,027,R,01.08,N,00.56,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132945,,,,00,*40\r\n$IIDBT,027.65,f,008.43,M,004.55,F*2C\r\n$GPGLL,5953.625,N,02320.770,E,132945,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.35,N,,*04\r\n$IIVTG,177.98,T,177.98,M,6.25,N,,,D*65\r\n$IIMWV,012,R,07.19,N,A*2F\r\n$IIVWT,057,R,01.73,N,00.89,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132947,,,,00,*42\r\n$IIDBT,027.95,f,008.52,M,004.60,F*25\r\n$GPGLL,5953.621,N,02320.771,E,132947,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.07,N,,*02\r\n$IIVTG,177.47,T,177.47,M,6.26,N,,,D*66\r\n$IIMWV,043,T,01.36,N,A*26\r\n$IIVWT,043,R,01.36,N,00.70,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132949,,,,00,*4C\r\n$IIDBT,028.24,f,008.61,M,004.65,F*25\r\n$GPGLL,5953.618,N,02320.771,E,132949,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.15,N,,*01\r\n$IIVTG,177.29,T,177.29,M,6.29,N,,,D*69\r\n$IIMWV,009,R,07.19,N,A*25\r\n$IIVWT,051,R,01.38,N,00.71,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132951,,,,00,*45\r\n$IIDBT,028.50,f,008.69,M,004.69,F*22\r\n$GPGLL,5953.614,N,02320.772,E,132951,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.25,N,,*05\r\n$IIVTG,176.42,T,176.42,M,6.30,N,,,D*61\r\n$IIMWV,067,T,01.16,N,A*22\r\n$IIVWT,067,R,01.16,N,00.60,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132953,,,,00,*47\r\n$IIDBT,028.83,f,008.79,M,004.75,F*20\r\n$GPGLL,5953.611,N,02320.772,E,132953,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,2.49,N,,*0E\r\n$IIVTG,176.30,T,176.30,M,6.35,N,,,D*64\r\n$IIMWV,010,R,06.80,N,A*2C\r\n$IIVWT,066,R,01.26,N,00.65,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132955,,,,00,*41\r\n$IIDBT,029.16,f,008.89,M,004.80,F*28\r\n$GPGLL,5953.607,N,02320.772,E,132955,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,2.30,N,,*00\r\n$IIVTG,176.60,T,176.60,M,6.31,N,,,D*60\r\n$IIMWV,073,T,01.14,N,A*25\r\n$IIVWT,073,R,01.14,N,00.59,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132957,,,,00,*43\r\n$IIDBT,029.62,f,009.03,M,004.88,F*20\r\n$GPGLL,5953.604,N,02320.773,E,132957,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.55,N,,*01\r\n$IIVTG,176.23,T,176.23,M,6.30,N,,,D*61\r\n$IIMWV,010,R,06.41,N,A*21\r\n$IIVWT,088,R,01.06,N,00.55,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,132959,,,,00,*4D\r\n$IIDBT,030.18,f,009.20,M,004.97,F*2A\r\n$GPGLL,5953.599,N,02320.774,E,132959,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.19,N,,*09\r\n$IIVTG,175.59,T,175.59,M,6.38,N,,,D*69\r\n$IIMWV,090,T,01.22,N,A*2D\r\n$IIVWT,090,R,01.22,N,00.63,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133001,,,,00,*48\r\n$IIDBT,030.74,f,009.37,M,005.06,F*2F\r\n$GPGLL,5953.595,N,02320.774,E,133001,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,175.38,T,175.38,M,6.39,N,,,D*68\r\n$IIMWV,009,R,06.41,N,A*29\r\n$IIVWT,091,R,00.97,N,00.50,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133003,,,,00,*4A\r\n$IIDBT,031.23,f,009.52,M,005.14,F*2C\r\n$GPGLL,5953.592,N,02320.775,E,133003,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.85,N,00.44,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.34,N,,*2B\r\n$IIVTG,174.19,T,174.19,M,6.32,N,,,D*63\r\n$IIMWV,091,T,01.14,N,A*29\r\n$IIVWT,091,R,01.14,N,00.59,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133005,,,,00,*4C\r\n$IIDBT,032.08,f,009.78,M,005.28,F*21\r\n$GPGLL,5953.588,N,02320.776,E,133005,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,173.40,T,173.40,M,6.31,N,,,D*60\r\n$IIMWV,011,R,06.41,N,A*20\r\n$IIVWT,085,R,01.22,N,00.63,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133007,,,,00,*4E\r\n$IIDBT,032.87,f,010.02,M,005.41,F*2C\r\n$GPGLL,5953.585,N,02320.777,E,133007,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.07,N,,*2A\r\n$IIVTG,172.33,T,172.33,M,6.38,N,,,D*69\r\n$IIMWV,098,T,01.14,N,A*20\r\n$IIVWT,098,R,01.14,N,00.59,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133009,,,,00,*40\r\n$IIDBT,033.66,f,010.26,M,005.54,F*20\r\n$GPGLL,5953.581,N,02320.778,E,133010,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.68,N,,*22\r\n$IIVTG,170.06,T,170.06,M,6.39,N,,,D*68\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,097,R,01.26,N,00.65,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133011,,,,00,*49\r\n$IIDBT,034.44,f,010.50,M,005.67,F*26\r\n$GPGLL,5953.578,N,02320.780,E,133012,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.69,N,,*22\r\n$IIVTG,168.79,T,168.79,M,6.37,N,,,D*66\r\n$IIMWV,102,T,00.71,N,A*20\r\n$IIVWT,102,R,00.71,N,00.37,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133013,,,,00,*4B\r\n$IIDBT,035.16,f,010.72,M,005.79,F*2F\r\n$GPGLL,5953.574,N,02320.781,E,133014,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.87,N,,*23\r\n$IIVTG,167.87,T,167.87,M,6.32,N,,,D*63\r\n$IIMWV,010,R,06.41,N,A*21\r\n$IIVWT,090,R,01.08,N,00.56,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133015,,,,00,*4D\r\n$IIDBT,036.02,f,010.98,M,005.93,F*29\r\n$GPGLL,5953.571,N,02320.783,E,133016,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-1.04,N,,*29\r\n$IIVTG,166.94,T,166.94,M,6.35,N,,,D*64\r\n$IIMWV,102,T,01.10,N,A*26\r\n$IIVWT,102,R,01.10,N,00.57,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133017,,,,00,*4F\r\n$IIDBT,036.51,f,011.13,M,006.01,F*25\r\n$GPGLL,5953.567,N,02320.785,E,133018,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.66,N,,*2C\r\n$IIVTG,166.06,T,166.06,M,6.31,N,,,D*60\r\n$IIMWV,008,R,06.22,N,A*2D\r\n$IIVWT,098,R,00.81,N,00.42,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133019,,,,00,*41\r\n$IIDBT,037.20,f,011.34,M,006.12,F*25\r\n$GPGLL,5953.564,N,02320.787,E,133020,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.11,N,,*2D\r\n$IIVTG,164.64,T,164.64,M,6.38,N,,,D*69\r\n$IIMWV,093,T,00.69,N,A*20\r\n$IIVWT,093,R,00.69,N,00.36,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133022,,,,00,*49\r\n$IIDBT,037.85,f,011.54,M,006.23,F*2E\r\n$GPGLL,5953.561,N,02320.789,E,133022,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.27,N,,*28\r\n$IIVTG,162.91,T,162.91,M,6.34,N,,,D*65\r\n$IIMWV,006,R,06.22,N,A*23\r\n$IIVWT,100,R,00.68,N,00.35,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133024,,,,00,*4F\r\n$IIDBT,038.35,f,011.69,M,006.31,F*27\r\n$GPGLL,5953.557,N,02320.791,E,133024,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.27,N,,*2A\r\n$IIVTG,161.48,T,161.48,M,6.31,N,,,D*60\r\n$IIMWV,123,T,00.95,N,A*29\r\n$IIVWT,123,R,00.95,N,00.49,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133026,,,,00,*4D\r\n$IIDBT,038.68,f,011.79,M,006.37,F*28\r\n$GPGLL,5953.554,N,02320.793,E,133026,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,160.72,T,160.72,M,6.30,N,,,D*61\r\n$IIMWV,007,R,05.83,N,A*2A\r\n$IIVWT,124,R,00.79,N,00.41,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133028,,,,00,*43\r\n$IIDBT,038.90,f,011.86,M,006.41,F*2E\r\n$GPGLL,5953.551,N,02320.796,E,133028,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,159.86,T,159.86,M,6.30,N,,,D*61\r\n$IIMWV,126,T,00.68,N,A*2E\r\n$IIVWT,126,R,00.68,N,00.35,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133030,,,,00,*4A\r\n$IIDBT,039.50,f,012.04,M,006.50,F*2A\r\n$GPGLL,5953.548,N,02320.798,E,133030,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.60,N,,*29\r\n$IIVTG,158.91,T,158.91,M,6.30,N,,,D*61\r\n$IIMWV,007,R,05.83,N,A*2A\r\n$IIVWT,126,R,00.81,N,00.42,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133032,,,,00,*48\r\n$IIDBT,039.92,f,012.17,M,006.57,F*21\r\n$GPGLL,5953.544,N,02320.801,E,133032,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.57,N,,*2D\r\n$IIVTG,158.38,T,158.38,M,6.30,N,,,D*61\r\n$IIMWV,131,T,00.81,N,A*2F\r\n$IIVWT,131,R,00.81,N,00.42,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133034,,,,00,*4E\r\n$IIDBT,040.22,f,012.26,M,006.62,F*20\r\n$GPGLL,5953.541,N,02320.804,E,133034,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-4.20,N,,*2A\r\n$IIVTG,157.62,T,157.62,M,6.30,N,,,D*61\r\n$IIMWV,005,R,05.83,N,A*28\r\n$IIVWT,120,R,00.62,N,00.32,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133036,,,,00,*4C\r\n$IIDBT,040.58,f,012.37,M,006.68,F*27\r\n$GPGLL,5953.538,N,02320.806,E,133036,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-5.81,N,,*20\r\n$IIVTG,156.80,T,156.80,M,6.30,N,,,D*61\r\n$IIMWV,133,T,00.68,N,A*2A\r\n$IIVWT,133,R,00.68,N,00.35,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133038,,,,00,*42\r\n$IIDBT,040.84,f,012.45,M,006.72,F*28\r\n$GPGLL,5953.535,N,02320.809,E,133038,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-5.60,N,,*2F\r\n$IIVTG,156.30,T,156.30,M,6.30,N,,,D*61\r\n$IIMWV,004,R,05.83,N,A*29\r\n$IIVWT,139,R,00.60,N,00.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133040,,,,00,*4D\r\n$IIDBT,041.07,f,012.52,M,006.76,F*20\r\n$GPGLL,5953.532,N,02320.812,E,133040,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.89,N,,*28\r\n$IIVTG,155.60,T,155.60,M,6.30,N,,,D*61\r\n$IIMWV,162,T,00.91,N,A*28\r\n$IIVWT,162,R,00.91,N,00.47,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133042,,,,00,*4F\r\n$IIDBT,041.30,f,012.59,M,006.80,F*26\r\n$GPGLL,5953.527,N,02320.816,E,133042,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.62,N,,*2D\r\n$IIVTG,154.57,T,154.57,M,6.30,N,,,D*61\r\n$IIMWV,004,R,05.44,N,A*22\r\n$IIVWT,160,R,00.95,N,00.49,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133044,,,,00,*49\r\n$IIDBT,041.46,f,012.64,M,006.83,F*2A\r\n$GPGLL,5953.524,N,02320.819,E,133044,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.02,N,,*28\r\n$IIVTG,154.12,T,154.12,M,6.30,N,,,D*61\r\n$IIMWV,170,T,00.89,N,A*22\r\n$IIVWT,170,R,00.89,N,00.46,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133046,,,,00,*4B\r\n$IIDBT,041.73,f,012.72,M,006.87,F*2F\r\n$GPGLL,5953.521,N,02320.823,E,133046,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,153.63,T,153.63,M,6.28,N,,,D*68\r\n$IIMWV,003,R,05.44,N,A*25\r\n$IIVWT,160,R,00.87,N,00.45,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133048,,,,00,*45\r\n$IIDBT,041.89,f,012.77,M,006.90,F*29\r\n$GPGLL,5953.518,N,02320.826,E,133048,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.32,N,,*28\r\n$IIVTG,153.66,T,153.66,M,6.27,N,,,D*67\r\n$IIMWV,152,T,01.10,N,A*23\r\n$IIVWT,152,R,01.10,N,00.57,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133050,,,,00,*4C\r\n$IIDBT,042.09,f,012.83,M,006.93,F*2A\r\n$GPGLL,5953.515,N,02320.829,E,133050,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.70,N,,*2E\r\n$IIVTG,153.69,T,153.69,M,6.24,N,,,D*64\r\n$IIMWV,005,R,05.24,N,A*25\r\n$IIVWT,157,R,01.12,N,00.58,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133052,,,,00,*4E\r\n$IIDBT,042.32,f,012.90,M,006.97,F*24\r\n$GPGLL,5953.512,N,02320.832,E,133053,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.70,N,,*2E\r\n$IIVTG,152.55,T,152.55,M,6.24,N,,,D*64\r\n$IIMWV,148,T,01.06,N,A*2F\r\n$IIVWT,148,R,01.06,N,00.55,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133054,,,,00,*48\r\n$IIDBT,042.45,f,012.94,M,006.99,F*2E\r\n$GPGLL,5953.508,N,02320.835,E,133055,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.99,N,,*29\r\n$IIVTG,152.26,T,152.26,M,6.21,N,,,D*61\r\n$IIMWV,004,R,05.44,N,A*22\r\n$IIVWT,157,R,00.97,N,00.50,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133056,,,,00,*4A\r\n$IIDBT,042.61,f,012.99,M,007.02,F*26\r\n$GPGLL,5953.505,N,02320.838,E,133057,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.07,N,,*2D\r\n$IIVTG,152.19,T,152.19,M,6.20,N,,,D*60\r\n$IIMWV,165,T,01.10,N,A*27\r\n$IIVWT,165,R,01.10,N,00.57,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133058,,,,00,*44\r\n$IIDBT,042.81,f,013.05,M,007.05,F*2B\r\n$GPGLL,5953.502,N,02320.842,E,133059,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.69,N,,*26\r\n$IIVTG,152.25,T,152.25,M,6.20,N,,,D*60\r\n$IIMWV,005,R,05.24,N,A*25\r\n$IIVWT,158,R,01.12,N,00.58,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133100,,,,00,*48\r\n$IIDBT,042.87,f,013.07,M,007.06,F*2C\r\n$GPGLL,5953.499,N,02320.845,E,133101,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,152.84,T,152.84,M,6.28,N,,,D*68\r\n$IIMWV,165,T,01.12,N,A*25\r\n$IIVWT,165,R,01.12,N,00.58,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133103,,,,00,*4B\r\n$IIDBT,043.01,f,013.11,M,007.08,F*2A\r\n$GPGLL,5953.496,N,02320.848,E,133103,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.15,N,,*2E\r\n$IIVTG,153.01,T,153.01,M,6.29,N,,,D*69\r\n$IIMWV,002,R,05.24,N,A*22\r\n$IIVWT,170,R,01.01,N,00.52,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133105,,,,00,*4D\r\n$IIDBT,043.17,f,013.16,M,007.11,F*22\r\n$GPGLL,5953.493,N,02320.851,E,133105,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,153.13,T,153.13,M,6.30,N,,,D*61\r\n$IIMWV,173,T,01.03,N,A*22\r\n$IIVWT,173,R,01.03,N,00.53,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133107,,,,00,*4F\r\n$IIDBT,043.20,f,013.17,M,007.11,F*27\r\n$GPGLL,5953.490,N,02320.854,E,133107,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.13,N,,*28\r\n$IIVTG,153.88,T,153.88,M,6.30,N,,,D*61\r\n$IIMWV,001,R,05.24,N,A*21\r\n$IIVWT,176,R,01.08,N,00.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133109,,,,00,*41\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,5953.487,N,02320.857,E,133109,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,154.17,T,154.17,M,6.30,N,,,D*61\r\n$IIMWV,170,T,01.06,N,A*24\r\n$IIVWT,170,R,01.06,N,00.55,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133111,,,,00,*48\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,5953.484,N,02320.860,E,133111,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.30,N,,*29\r\n$IIVTG,154.24,T,154.24,M,6.30,N,,,D*61\r\n$IIMWV,000,R,05.24,N,A*20\r\n$IIVWT,180,L,01.16,N,00.60,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133113,,,,00,*4A\r\n$IIDBT,043.37,f,013.22,M,007.14,F*22\r\n$GPGLL,5953.480,N,02320.863,E,133113,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,153.89,T,153.89,M,6.30,N,,,D*61\r\n$IIMWV,177,T,01.03,N,A*26\r\n$IIVWT,177,R,01.03,N,00.53,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133115,,,,00,*4C\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,5953.477,N,02320.866,E,133115,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,153.82,T,153.82,M,6.30,N,,,D*61\r\n$IIMWV,360,R,05.24,N,A*25\r\n$IIVWT,177,L,01.10,N,00.57,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133117,,,,00,*4E\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,5953.474,N,02320.869,E,133117,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.31,N,,*28\r\n$IIVTG,153.45,T,153.45,M,6.30,N,,,D*61\r\n$IIMWV,176,T,01.06,N,A*22\r\n$IIVWT,176,R,01.06,N,00.55,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133119,,,,00,*40\r\n$IIDBT,043.14,f,013.15,M,007.10,F*23\r\n$GPGLL,5953.471,N,02320.873,E,133119,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,153.66,T,153.66,M,6.32,N,,,D*63\r\n$IIMWV,000,R,04.85,N,A*2A\r\n$IIVWT,180,L,01.51,N,00.78,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133121,,,,00,*4B\r\n$IIDBT,043.01,f,013.11,M,007.08,F*2A\r\n$GPGLL,5953.468,N,02320.876,E,133121,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.39,N,,*20\r\n$IIVTG,154.12,T,154.12,M,6.38,N,,,D*69\r\n$IIMWV,182,T,01.45,N,A*2E\r\n$IIVWT,179,L,01.45,N,00.75,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133123,,,,00,*49\r\n$IIDBT,042.74,f,013.03,M,007.04,F*26\r\n$GPGLL,5953.463,N,02320.880,E,133123,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-6.29,N,,*21\r\n$IIVTG,154.05,T,154.05,M,6.37,N,,,D*66\r\n$IIMWV,002,R,04.85,N,A*28\r\n$IIVWT,175,R,01.45,N,00.75,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133125,,,,00,*4F\r\n$IIDBT,042.09,f,012.83,M,006.93,F*2A\r\n$GPGLL,5953.460,N,02320.883,E,133125,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.18,N,,*23\r\n$IIVTG,153.75,T,153.75,M,6.40,N,,,D*66\r\n$IIMWV,184,T,01.36,N,A*2C\r\n$IIVWT,176,L,01.36,N,00.70,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133127,,,,00,*4D\r\n$IIDBT,041.37,f,012.61,M,006.81,F*2B\r\n$GPGLL,5953.457,N,02320.886,E,133127,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,153.61,T,153.61,M,6.35,N,,,D*64\r\n$IIMWV,358,R,04.85,N,A*24\r\n$IIVWT,173,L,01.41,N,00.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133129,,,,00,*43\r\n$IIDBT,040.87,f,012.46,M,006.73,F*29\r\n$GPGLL,5953.454,N,02320.890,E,133129,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.11,N,,*2A\r\n$IIVTG,153.98,T,153.98,M,6.34,N,,,D*65\r\n$IIMWV,193,T,01.45,N,A*2E\r\n$IIVWT,167,L,01.45,N,00.75,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133131,,,,00,*4A\r\n$IIDBT,040.35,f,012.30,M,006.64,F*27\r\n$GPGLL,5953.451,N,02320.893,E,133131,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,154.17,T,154.17,M,6.33,N,,,D*62\r\n$IIMWV,356,R,04.47,N,A*24\r\n$IIVWT,169,L,01.76,N,00.91,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133133,,,,00,*48\r\n$IIDBT,039.73,f,012.11,M,006.54,F*2B\r\n$GPGLL,5953.447,N,02320.896,E,133134,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-6.36,N,,*2F\r\n$IIVTG,155.04,T,155.04,M,6.33,N,,,D*62\r\n$IIMWV,180,T,01.90,N,A*24\r\n$IIVWT,180,L,01.90,N,00.98,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133135,,,,00,*4E\r\n$IIDBT,039.07,f,011.91,M,006.43,F*25\r\n$GPGLL,5953.444,N,02320.898,E,133136,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,156.39,T,156.39,M,6.38,N,,,D*69\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,175,L,01.82,N,00.94,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133137,,,,00,*4C\r\n$IIDBT,037.99,f,011.58,M,006.25,F*29\r\n$GPGLL,5953.441,N,02320.901,E,133138,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.19,N,,*22\r\n$IIVTG,156.92,T,156.92,M,6.40,N,,,D*66\r\n$IIMWV,185,T,01.36,N,A*2D\r\n$IIVWT,175,L,01.36,N,00.70,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133139,,,,00,*42\r\n$IIDBT,036.84,f,011.23,M,006.07,F*28\r\n$GPGLL,5953.438,N,02320.904,E,133140,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-6.33,N,,*2A\r\n$IIVTG,157.25,T,157.25,M,6.40,N,,,D*66\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,176,L,01.80,N,00.93,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133141,,,,00,*4D\r\n$IIDBT,035.76,f,010.90,M,005.89,F*2A\r\n$GPGLL,5953.434,N,02320.906,E,133142,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.32,N,,*2B\r\n$IIVTG,157.24,T,157.24,M,6.40,N,,,D*66\r\n$IIMWV,189,T,01.80,N,A*2C\r\n$IIVWT,171,L,01.80,N,00.93,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133143,,,,00,*4F\r\n$IIDBT,035.07,f,010.69,M,005.77,F*2B\r\n$GPGLL,5953.431,N,02320.909,E,133144,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,157.34,T,157.34,M,6.40,N,,,D*66\r\n$IIMWV,356,R,04.85,N,A*2A\r\n$IIVWT,166,L,01.43,N,00.74,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133146,,,,00,*4A\r\n$IIDBT,033.82,f,010.31,M,005.57,F*2F\r\n$GPGLL,5953.428,N,02320.912,E,133146,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.09,N,,*23\r\n$IIVTG,158.18,T,158.18,M,6.40,N,,,D*66\r\n$IIMWV,189,T,01.74,N,A*27\r\n$IIVWT,171,L,01.74,N,00.90,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133148,,,,00,*44\r\n$IIDBT,032.90,f,010.03,M,005.42,F*28\r\n$GPGLL,5953.424,N,02320.914,E,133148,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,158.72,T,158.72,M,6.45,N,,,D*63\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,167,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133150,,,,00,*4D\r\n$IIDBT,031.26,f,009.53,M,005.15,F*29\r\n$GPGLL,5953.421,N,02320.917,E,133150,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,158.53,T,158.53,M,6.44,N,,,D*62\r\n$IIMWV,193,T,01.88,N,A*2F\r\n$IIVWT,167,L,01.88,N,00.97,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133152,,,,00,*4F\r\n$IIDBT,030.51,f,009.30,M,005.02,F*2B\r\n$GPGLL,5953.418,N,02320.920,E,133152,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-6.05,N,,*2F\r\n$IIVTG,157.98,T,157.98,M,6.43,N,,,D*65\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,167,L,01.80,N,00.93,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133154,,,,00,*49\r\n$IIDBT,029.78,f,009.08,M,004.90,F*29\r\n$GPGLL,5953.414,N,02320.922,E,133154,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.06,N,,*2C\r\n$IIVTG,157.57,T,157.57,M,6.46,N,,,D*60\r\n$IIMWV,198,T,01.90,N,A*2D\r\n$IIVWT,162,L,01.90,N,00.98,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133156,,,,00,*4B\r\n$IIDBT,029.49,f,008.99,M,004.85,F*26\r\n$GPGLL,5953.411,N,02320.925,E,133156,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,157.07,T,157.07,M,6.44,N,,,D*62\r\n$IIMWV,356,R,04.27,N,A*22\r\n$IIVWT,171,L,02.06,N,01.06,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133158,,,,00,*45\r\n$IIDBT,029.46,f,008.98,M,004.85,F*28\r\n$GPGLL,5953.408,N,02320.928,E,133158,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-6.21,N,,*29\r\n$IIVTG,157.94,T,157.94,M,6.41,N,,,D*67\r\n$IIMWV,190,T,01.96,N,A*23\r\n$IIVWT,170,L,01.96,N,01.01,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133200,,,,00,*4B\r\n$IIDBT,029.26,f,008.92,M,004.82,F*23\r\n$GPGLL,5953.405,N,02320.930,E,133200,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,159.03,T,159.03,M,6.40,N,,,D*66\r\n$IIMWV,352,R,04.47,N,A*20\r\n$IIVWT,161,L,01.92,N,00.99,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133202,,,,00,*49\r\n$IIDBT,029.29,f,008.93,M,004.82,F*2D\r\n$GPGLL,5953.401,N,02320.933,E,133202,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.81,N,,*20\r\n$IIVTG,158.51,T,158.51,M,6.40,N,,,D*66\r\n$IIMWV,194,T,01.76,N,A*29\r\n$IIVWT,166,L,01.76,N,00.91,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133204,,,,00,*4F\r\n$IIDBT,029.52,f,009.00,M,004.86,F*2E\r\n$GPGLL,5953.396,N,02320.937,E,133204,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,159.06,T,159.06,M,6.40,N,,,D*66\r\n$IIMWV,355,R,04.47,N,A*27\r\n$IIVWT,166,L,01.71,N,00.88,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133206,,,,00,*4D\r\n$IIDBT,029.85,f,009.10,M,004.91,F*23\r\n$GPGLL,5953.393,N,02320.939,E,133206,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-6.17,N,,*2C\r\n$IIVTG,161.31,T,161.31,M,6.43,N,,,D*65\r\n$IIMWV,188,T,02.04,N,A*22\r\n$IIVWT,172,L,02.04,N,01.05,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133208,,,,00,*43\r\n$IIDBT,030.18,f,009.20,M,004.97,F*2A\r\n$GPGLL,5953.389,N,02320.941,E,133208,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.04,N,,*2E\r\n$IIVTG,162.48,T,162.48,M,6.41,N,,,D*67\r\n$IIMWV,352,R,04.27,N,A*26\r\n$IIVWT,163,L,02.15,N,01.11,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133210,,,,00,*4A\r\n$IIDBT,030.64,f,009.34,M,005.04,F*2F\r\n$GPGLL,5953.386,N,02320.943,E,133210,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-6.01,N,,*2B\r\n$IIVTG,162.87,T,162.87,M,6.45,N,,,D*63\r\n$IIMWV,194,T,01.78,N,A*27\r\n$IIVWT,166,L,01.78,N,00.92,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133212,,,,00,*48\r\n$IIDBT,031.29,f,009.54,M,005.15,F*21\r\n$GPGLL,5953.383,N,02320.945,E,133212,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.88,N,,*29\r\n$IIVTG,162.62,T,162.62,M,6.41,N,,,D*67\r\n$IIMWV,354,R,04.27,N,A*20\r\n$IIVWT,167,L,02.11,N,01.09,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133214,,,,00,*4E\r\n$IIDBT,031.88,f,009.72,M,005.25,F*2D\r\n$GPGLL,5953.379,N,02320.947,E,133214,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.12,N,,*29\r\n$IIVTG,162.73,T,162.73,M,6.43,N,,,D*65\r\n$IIMWV,197,T,02.06,N,A*2E\r\n$IIVWT,163,L,02.06,N,01.06,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133216,,,,00,*4C\r\n$IIDBT,032.44,f,009.89,M,005.34,F*2A\r\n$GPGLL,5953.376,N,02320.949,E,133217,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.42,N,01.25,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,162.46,T,162.46,M,6.46,N,,,D*60\r\n$IIMWV,353,R,04.47,N,A*21\r\n$IIVWT,163,L,01.84,N,00.95,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133218,,,,00,*42\r\n$IIDBT,032.93,f,010.04,M,005.42,F*2C\r\n$GPGLL,5953.372,N,02320.952,E,133219,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.86,N,,*27\r\n$IIVTG,162.51,T,162.51,M,6.46,N,,,D*60\r\n$IIMWV,198,T,02.15,N,A*23\r\n$IIVWT,162,L,02.15,N,01.11,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133220,,,,00,*49\r\n$IIDBT,033.52,f,010.22,M,005.52,F*25\r\n$GPGLL,5953.369,N,02320.954,E,133221,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.10,N,,*2B\r\n$IIVTG,162.20,T,162.20,M,6.47,N,,,D*61\r\n$IIMWV,002,R,04.27,N,A*20\r\n$IIVWT,176,R,02.11,N,01.09,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133222,,,,00,*4B\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5953.366,N,02320.956,E,133223,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-6.34,N,,*2D\r\n$IIVTG,162.03,T,162.03,M,6.44,N,,,D*62\r\n$IIMWV,183,T,01.86,N,A*20\r\n$IIVWT,177,L,01.86,N,00.96,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133224,,,,00,*4D\r\n$IIDBT,035.43,f,010.80,M,005.83,F*27\r\n$GPGLL,5953.362,N,02320.958,E,133225,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,162.18,T,162.18,M,6.44,N,,,D*62\r\n$IIMWV,357,R,04.27,N,A*23\r\n$IIVWT,174,L,01.94,N,01.00,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133226,,,,00,*4F\r\n$IIDBT,036.48,f,011.12,M,006.01,F*2C\r\n$GPGLL,5953.359,N,02320.960,E,133227,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,162.22,T,162.22,M,6.46,N,,,D*60\r\n$IIMWV,188,T,02.39,N,A*2C\r\n$IIVWT,172,L,02.39,N,01.23,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133229,,,,00,*40\r\n$IIDBT,037.26,f,011.36,M,006.14,F*27\r\n$GPGLL,5953.355,N,02320.963,E,133229,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-6.20,N,,*28\r\n$IIVTG,162.00,T,162.00,M,6.49,N,,,D*6F\r\n$IIMWV,004,R,04.27,N,A*26\r\n$IIVWT,172,R,02.00,N,01.03,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133231,,,,00,*49\r\n$IIDBT,037.99,f,011.58,M,006.25,F*29\r\n$GPGLL,5953.352,N,02320.965,E,133231,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,161.43,T,161.43,M,6.50,N,,,D*67\r\n$IIMWV,187,T,02.02,N,A*2B\r\n$IIVWT,173,L,02.02,N,01.04,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133233,,,,00,*4B\r\n$IIDBT,039.04,f,011.90,M,006.43,F*27\r\n$GPGLL,5953.349,N,02320.967,E,133233,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.26,N,,*2E\r\n$IIVTG,161.21,T,161.21,M,6.42,N,,,D*64\r\n$IIMWV,354,R,04.47,N,A*26\r\n$IIVWT,164,L,01.73,N,00.89,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133235,,,,00,*4D\r\n$IIDBT,039.76,f,012.12,M,006.55,F*2C\r\n$GPGLL,5953.345,N,02320.969,E,133235,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.24,N,,*2C\r\n$IIVTG,162.25,T,162.25,M,6.43,N,,,D*65\r\n$IIMWV,192,T,02.00,N,A*2D\r\n$IIVWT,168,L,02.00,N,01.03,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133237,,,,00,*4F\r\n$IIDBT,040.05,f,012.21,M,006.59,F*2A\r\n$GPGLL,5953.342,N,02320.972,E,133237,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.25,N,,*2D\r\n$IIVTG,162.81,T,162.81,M,6.48,N,,,D*6E\r\n$IIMWV,358,R,04.47,N,A*2A\r\n$IIVWT,176,L,01.80,N,00.93,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133239,,,,00,*41\r\n$IIDBT,040.15,f,012.24,M,006.61,F*25\r\n$GPGLL,5953.338,N,02320.974,E,133239,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-3.97,N,,*21\r\n$IIVTG,162.60,T,162.60,M,6.45,N,,,D*63\r\n$IIMWV,131,T,02.15,N,A*20\r\n$IIVWT,131,R,02.15,N,01.11,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133241,,,,00,*4E\r\n$IIDBT,040.05,f,012.21,M,006.59,F*2A\r\n$GPGLL,5953.335,N,02320.976,E,133241,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-3.66,N,,*2F\r\n$IIVTG,162.32,T,162.32,M,6.46,N,,,D*60\r\n$IIMWV,023,R,04.85,N,A*2B\r\n$IIVWT,134,R,02.56,N,01.32,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133243,,,,00,*4C\r\n$IIDBT,039.59,f,012.07,M,006.52,F*22\r\n$GPGLL,5953.331,N,02320.978,E,133243,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-5.47,N,,*2A\r\n$IIVTG,162.33,T,162.33,M,6.47,N,,,D*61\r\n$IIMWV,151,T,01.65,N,A*22\r\n$IIVWT,151,R,01.65,N,00.85,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133245,,,,00,*4A\r\n$IIDBT,039.17,f,011.94,M,006.45,F*27\r\n$GPGLL,5953.328,N,02320.980,E,133245,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,162.51,T,162.51,M,6.44,N,,,D*62\r\n$IIMWV,359,R,05.24,N,A*2F\r\n$IIVWT,172,L,00.87,N,00.45,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133247,,,,00,*48\r\n$IIDBT,036.87,f,011.24,M,006.07,F*2C\r\n$GPGLL,5953.323,N,02320.983,E,133247,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.40,N,00.21,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-5.73,N,,*2D\r\n$IIVTG,162.45,T,162.45,M,6.42,N,,,D*64\r\n$IIMWV,161,T,00.46,N,A*21\r\n$IIVWT,161,R,00.46,N,00.24,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133249,,,,00,*46\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,5953.320,N,02320.985,E,133249,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,165.69,T,165.69,M,6.35,N,,,D*64\r\n$IIMWV,002,R,06.80,N,A*2F\r\n$IIVWT,021,R,00.64,N,00.33,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133251,,,,00,*4F\r\n$IIDBT,035.16,f,010.72,M,005.79,F*2F\r\n$GPGLL,5953.316,N,02320.986,E,133251,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,169.00,T,169.00,M,6.34,N,,,D*65\r\n$IIMWV,010,T,01.57,N,A*27\r\n$IIVWT,010,R,01.57,N,00.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133253,,,,00,*4D\r\n$IIDBT,069.19,f,021.09,M,011.39,F*26\r\n$GPGLL,5953.313,N,02320.987,E,133253,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.19,N,,*0C\r\n$IIVTG,171.70,T,171.70,M,6.33,N,,,D*62\r\n$IIMWV,354,R,07.58,N,A*2B\r\n$IIVWT,029,L,01.61,N,00.83,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133255,,,,00,*4B\r\n$IIDBT,033.13,f,010.10,M,005.45,F*27\r\n$GPGLL,5953.309,N,02320.988,E,133255,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,173.25,T,173.25,M,6.38,N,,,D*69\r\n$IIMWV,352,T,01.10,N,A*21\r\n$IIVWT,008,L,01.10,N,00.57,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133257,,,,00,*49\r\n$IIDBT,034.34,f,010.47,M,005.65,F*25\r\n$GPGLL,5953.306,N,02320.988,E,133257,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,4.55,N,,*05\r\n$IIVTG,175.39,T,175.39,M,6.37,N,,,D*66\r\n$IIMWV,353,R,06.80,N,A*28\r\n$IIVWT,061,L,00.97,N,00.50,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133259,,,,00,*47\r\n$IIDBT,034.38,f,010.48,M,005.66,F*25\r\n$GPGLL,5953.302,N,02320.989,E,133300,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,177.17,T,177.17,M,6.34,N,,,D*65\r\n$IIMWV,011,T,01.57,N,A*26\r\n$IIVWT,011,R,01.57,N,00.81,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133301,,,,00,*4B\r\n$IIDBT,034.15,f,010.41,M,005.62,F*27\r\n$GPGLL,5953.299,N,02320.989,E,133302,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,178.57,T,178.57,M,6.34,N,,,D*65\r\n$IIMWV,004,R,08.16,N,A*28\r\n$IIVWT,017,R,02.02,N,01.04,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133303,,,,00,*49\r\n$IIDBT,033.75,f,010.29,M,005.56,F*2F\r\n$GPGLL,5953.295,N,02320.989,E,133304,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.19,N,,*0F\r\n$IIVTG,179.86,T,179.86,M,6.38,N,,,D*69\r\n$IIMWV,009,T,02.41,N,A*2B\r\n$IIVWT,009,R,02.41,N,01.24,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133305,,,,00,*4F\r\n$IIDBT,035.16,f,010.72,M,005.79,F*2F\r\n$GPGLL,5953.291,N,02320.989,E,133306,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,181.52,T,181.52,M,6.35,N,,,D*64\r\n$IIMWV,003,R,08.74,N,A*2B\r\n$IIVWT,008,R,02.60,N,01.34,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133307,,,,00,*4D\r\n$IIDBT,033.75,f,010.29,M,005.56,F*2F\r\n$GPGLL,5953.288,N,02320.988,E,133308,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,183.20,T,183.20,M,6.36,N,,,D*67\r\n$IIMWV,007,T,02.97,N,A*2E\r\n$IIVWT,007,R,02.97,N,01.53,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133309,,,,00,*43\r\n$IIDBT,031.82,f,009.70,M,005.24,F*24\r\n$GPGLL,5953.284,N,02320.988,E,133310,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,185.05,T,185.05,M,6.32,N,,,D*63\r\n$IIMWV,001,R,09.13,N,A*29\r\n$IIVWT,003,R,02.95,N,01.52,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133312,,,,00,*49\r\n$IIDBT,029.78,f,009.08,M,004.90,F*29\r\n$GPGLL,5953.281,N,02320.987,E,133312,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,186.19,T,186.19,M,6.30,N,,,D*61\r\n$IIMWV,011,T,02.58,N,A*2A\r\n$IIVWT,011,R,02.58,N,01.33,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133314,,,,00,*4F\r\n$IIDBT,023.06,f,007.03,M,003.79,F*2F\r\n$GPGLL,5953.277,N,02320.986,E,133314,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,187.10,T,187.10,M,6.30,N,,,D*61\r\n$IIMWV,355,R,08.55,N,A*28\r\n$IIVWT,018,L,02.37,N,01.22,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133316,,,,00,*4D\r\n$IIDBT,039.69,f,012.10,M,006.54,F*21\r\n$GPGLL,5953.274,N,02320.985,E,133316,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.24,N,,*01\r\n$IIVTG,187.32,T,187.32,M,6.30,N,,,D*61\r\n$IIMWV,353,T,02.33,N,A*22\r\n$IIVWT,007,L,02.33,N,01.20,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133318,,,,00,*43\r\n$IIDBT,019.42,f,005.92,M,003.19,F*2A\r\n$GPGLL,5953.270,N,02320.984,E,133318,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.18,N,,*0E\r\n$IIVTG,186.86,T,186.86,M,6.33,N,,,D*62\r\n$IIMWV,001,R,08.55,N,A*2A\r\n$IIVWT,002,R,02.31,N,01.19,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133320,,,,00,*48\r\n$IIDBT,022.83,f,006.96,M,003.76,F*21\r\n$GPGLL,5953.267,N,02320.983,E,133320,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.70,N,01.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,186.84,T,186.84,M,6.38,N,,,D*69\r\n$IIMWV,001,T,02.56,N,A*25\r\n$IIVWT,001,R,02.56,N,01.32,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133322,,,,00,*4A\r\n$IIDBT,025.42,f,007.75,M,004.18,F*28\r\n$GPGLL,5953.264,N,02320.983,E,133322,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,187.31,T,187.31,M,6.32,N,,,D*63\r\n$IIMWV,000,R,09.13,N,A*28\r\n$IIVWT,000,R,03.05,N,01.57,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133324,,,,00,*4C\r\n$IIDBT,024.11,f,007.35,M,003.97,F*2B\r\n$GPGLL,5953.260,N,02320.982,E,133324,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,188.12,T,188.12,M,6.28,N,,,D*68\r\n$IIMWV,350,T,02.56,N,A*22\r\n$IIVWT,010,L,02.56,N,01.32,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133326,,,,00,*4E\r\n$IIDBT,026.50,f,008.08,M,004.36,F*21\r\n$GPGLL,5953.257,N,02320.981,E,133326,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,189.21,T,189.21,M,6.30,N,,,D*61\r\n$IIMWV,357,R,08.55,N,A*2A\r\n$IIVWT,011,L,02.37,N,01.22,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133328,,,,00,*40\r\n$IIDBT,030.31,f,009.24,M,004.99,F*2B\r\n$GPGLL,5953.253,N,02320.979,E,133328,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,190.20,T,190.20,M,6.30,N,,,D*61\r\n$IIMWV,360,T,02.44,N,A*22\r\n$IIVWT,000,L,02.44,N,01.26,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133330,,,,00,*49\r\n$IIDBT,030.77,f,009.38,M,005.07,F*22\r\n$GPGLL,5953.248,N,02320.977,E,133330,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,193.40,T,193.40,M,6.30,N,,,D*61\r\n$IIMWV,000,R,08.74,N,A*28\r\n$IIVWT,001,R,02.70,N,01.39,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133332,,,,00,*4B\r\n$IIDBT,024.31,f,007.41,M,004.00,F*23\r\n$GPGLL,5953.245,N,02320.975,E,133332,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,4.48,N,,*09\r\n$IIVTG,197.45,T,197.45,M,6.35,N,,,D*64\r\n$IIMWV,045,T,02.83,N,A*2D\r\n$IIVWT,045,R,02.83,N,01.46,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133334,,,,00,*4D\r\n$IIDBT,022.34,f,006.81,M,003.68,F*24\r\n$GPGLL,5953.241,N,02320.972,E,133334,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,197.91,T,197.91,M,6.46,N,,,D*60\r\n$IIMWV,000,R,07.77,N,A*24\r\n$IIVWT,001,R,01.55,N,00.80,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133336,,,,00,*4F\r\n$IIDBT,025.06,f,007.64,M,004.12,F*22\r\n$GPGLL,5953.238,N,02320.971,E,133336,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,190.78,T,190.78,M,6.39,N,,,D*68\r\n$IIMWV,052,T,01.82,N,A*29\r\n$IIVWT,052,R,01.82,N,00.94,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133338,,,,00,*41\r\n$IIDBT,028.24,f,008.61,M,004.65,F*25\r\n$GPGLL,5953.234,N,02320.971,E,133338,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,186.25,T,186.25,M,6.32,N,,,D*63\r\n$IIMWV,352,R,07.19,N,A*28\r\n$IIVWT,048,L,01.38,N,00.71,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133340,,,,00,*4E\r\n$IIDBT,034.71,f,010.58,M,005.71,F*2F\r\n$GPGLL,5953.231,N,02320.970,E,133340,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,3.58,N,,*0F\r\n$IIVTG,184.69,T,184.69,M,6.28,N,,,D*68\r\n$IIMWV,050,T,02.04,N,A*26\r\n$IIVWT,050,R,02.04,N,01.05,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133342,,,,00,*4C\r\n$IIDBT,037.36,f,011.39,M,006.15,F*28\r\n$GPGLL,5953.227,N,02320.969,E,133343,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.41,N,,*01\r\n$IIVTG,189.44,T,189.44,M,6.25,N,,,D*65\r\n$IIMWV,003,R,07.77,N,A*27\r\n$IIVWT,011,R,01.76,N,00.91,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133344,,,,00,*4A\r\n$IIDBT,040.15,f,012.24,M,006.61,F*25\r\n$GPGLL,5953.224,N,02320.968,E,133345,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,190.73,T,190.73,M,6.29,N,,,D*69\r\n$IIMWV,011,T,01.67,N,A*25\r\n$IIVWT,011,R,01.67,N,00.86,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133346,,,,00,*48\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,5953.221,N,02320.966,E,133347,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,191.43,T,191.43,M,6.30,N,,,D*61\r\n$IIMWV,359,R,07.58,N,A*26\r\n$IIVWT,009,L,01.41,N,00.73,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133348,,,,00,*46\r\n$IIDBT,049.34,f,015.04,M,008.12,F*20\r\n$GPGLL,5953.217,N,02320.965,E,133349,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,6.02,N,,*05\r\n$IIVTG,193.18,T,193.18,M,6.30,N,,,D*61\r\n$IIMWV,018,T,00.97,N,A*22\r\n$IIVWT,018,R,00.97,N,00.50,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133350,,,,00,*4F\r\n$IIDBT,054.62,f,016.65,M,008.99,F*28\r\n$GPGLL,5953.214,N,02320.963,E,133351,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,3.99,N,,*02\r\n$IIVTG,194.87,T,194.87,M,6.27,N,,,D*67\r\n$IIMWV,004,R,07.58,N,A*2D\r\n$IIVWT,021,R,01.65,N,00.85,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133352,,,,00,*4D\r\n$IIDBT,059.31,f,018.08,M,009.77,F*27\r\n$GPGLL,5953.210,N,02320.961,E,133353,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.45,N,,*05\r\n$IIVTG,195.74,T,195.74,M,6.32,N,,,D*63\r\n$IIMWV,029,T,01.47,N,A*2C\r\n$IIVWT,029,R,01.47,N,00.76,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133355,,,,00,*4A\r\n$IIDBT,062.00,f,018.90,M,010.21,F*27\r\n$GPGLL,5953.207,N,02320.959,E,133355,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,195.81,T,195.81,M,6.30,N,,,D*61\r\n$IIMWV,360,R,07.58,N,A*2C\r\n$IIVWT,001,L,01.41,N,00.73,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133357,,,,00,*48\r\n$IIDBT,064.72,f,019.73,M,010.66,F*2B\r\n$GPGLL,5953.204,N,02320.957,E,133357,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,195.83,T,195.83,M,6.30,N,,,D*61\r\n$IIMWV,011,T,01.45,N,A*25\r\n$IIVWT,011,R,01.45,N,00.75,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133359,,,,00,*46\r\n$IIDBT,067.09,f,020.45,M,011.05,F*2F\r\n$GPGLL,5953.200,N,02320.955,E,133359,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,6.15,N,,*03\r\n$IIVTG,195.51,T,195.51,M,6.35,N,,,D*64\r\n$IIMWV,359,R,07.77,N,A*2B\r\n$IIVWT,004,L,01.51,N,00.78,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133401,,,,00,*4C\r\n$IIDBT,067.48,f,020.57,M,011.11,F*2C\r\n$GPGLL,5953.197,N,02320.954,E,133401,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,6.20,N,,*05\r\n$IIVTG,194.90,T,194.90,M,6.31,N,,,D*60\r\n$IIMWV,000,T,02.62,N,A*23\r\n$IIVWT,000,R,02.62,N,01.35,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133403,,,,00,*4E\r\n$IIDBT,069.02,f,021.04,M,011.37,F*2F\r\n$GPGLL,5953.194,N,02320.952,E,133403,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,194.32,T,194.32,M,6.33,N,,,D*62\r\n$IIMWV,002,R,08.55,N,A*29\r\n$IIVWT,008,R,02.52,N,01.30,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133405,,,,00,*48\r\n$IIDBT,069.91,f,021.31,M,011.51,F*23\r\n$GPGLL,5953.190,N,02320.950,E,133405,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,195.61,T,195.61,M,6.31,N,,,D*60\r\n$IIMWV,357,T,02.42,N,A*20\r\n$IIVWT,003,L,02.42,N,01.25,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133407,,,,00,*4A\r\n$IIDBT,070.66,f,021.54,M,011.64,F*26\r\n$GPGLL,5953.187,N,02320.948,E,133407,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,196.13,T,196.13,M,6.33,N,,,D*62\r\n$IIMWV,002,R,07.77,N,A*26\r\n$IIVWT,009,R,01.47,N,00.76,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133409,,,,00,*44\r\n$IIDBT,071.12,f,021.68,M,011.71,F*2F\r\n$GPGLL,5953.184,N,02320.946,E,133409,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,196.31,T,196.31,M,6.33,N,,,D*62\r\n$IIMWV,007,T,01.67,N,A*22\r\n$IIVWT,007,R,01.67,N,00.86,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133411,,,,00,*4D\r\n$IIDBT,071.45,f,021.78,M,011.77,F*2A\r\n$GPGLL,5953.180,N,02320.944,E,133411,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,197.23,T,197.23,M,6.31,N,,,D*60\r\n$IIMWV,003,R,08.16,N,A*2F\r\n$IIVWT,009,R,02.25,N,01.16,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133413,,,,00,*4F\r\n$IIDBT,072.47,f,022.09,M,011.94,F*23\r\n$GPGLL,5953.175,N,02320.941,E,133413,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,197.84,T,197.84,M,6.28,N,,,D*68\r\n$IIMWV,007,T,02.06,N,A*26\r\n$IIVWT,007,R,02.06,N,01.06,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133415,,,,00,*49\r\n$IIDBT,072.43,f,022.08,M,011.93,F*21\r\n$GPGLL,5953.172,N,02320.939,E,133415,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.97,N,01.53,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,198.29,T,198.29,M,6.24,N,,,D*64\r\n$IIMWV,000,R,07.77,N,A*24\r\n$IIVWT,001,R,01.39,N,00.72,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133417,,,,00,*4B\r\n$IIDBT,072.70,f,022.16,M,011.97,F*2A\r\n$GPGLL,5953.169,N,02320.937,E,133417,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,198.09,T,198.09,M,6.19,N,,,D*6A\r\n$IIMWV,008,T,01.49,N,A*21\r\n$IIVWT,008,R,01.49,N,00.77,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133419,,,,00,*45\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,5953.165,N,02320.934,E,133419,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,198.33,T,198.33,M,6.17,N,,,D*64\r\n$IIMWV,358,R,07.58,N,A*27\r\n$IIVWT,012,L,01.38,N,00.71,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133421,,,,00,*4E\r\n$IIDBT,073.29,f,022.34,M,012.07,F*2D\r\n$GPGLL,5953.162,N,02320.932,E,133421,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,5.98,N,,*05\r\n$IIVTG,198.75,T,198.75,M,6.22,N,,,D*62\r\n$IIMWV,014,T,01.74,N,A*22\r\n$IIVWT,014,R,01.74,N,00.90,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133423,,,,00,*4C\r\n$IIDBT,073.29,f,022.34,M,012.07,F*2D\r\n$GPGLL,5953.159,N,02320.930,E,133423,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.08,N,11.26,K*5F\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,199.09,T,199.09,M,6.20,N,,,D*60\r\n$IIMWV,360,R,07.58,N,A*2C\r\n$IIVWT,003,L,01.36,N,00.70,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133425,,,,00,*4A\r\n$IIDBT,073.58,f,022.43,M,012.12,F*2F\r\n$GPGLL,5953.156,N,02320.928,E,133426,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,6.11,N,,*07\r\n$IIVTG,199.59,T,199.59,M,6.20,N,,,D*60\r\n$IIMWV,353,T,01.69,N,A*2E\r\n$IIVWT,007,L,01.69,N,00.87,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133427,,,,00,*48\r\n$IIDBT,074.63,f,022.75,M,012.29,F*2D\r\n$GPGLL,5953.152,N,02320.925,E,133428,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,200.07,T,200.07,M,6.20,N,,,D*60\r\n$IIMWV,357,R,07.58,N,A*28\r\n$IIVWT,014,L,01.78,N,00.92,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133429,,,,00,*46\r\n$IIDBT,073.81,f,022.50,M,012.16,F*2D\r\n$GPGLL,5953.149,N,02320.923,E,133430,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,5.63,N,,*01\r\n$IIVTG,200.37,T,200.37,M,6.25,N,,,D*65\r\n$IIMWV,317,T,01.18,N,A*28\r\n$IIVWT,043,L,01.18,N,00.61,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133431,,,,00,*4F\r\n$IIDBT,074.40,f,022.68,M,012.25,F*2C\r\n$GPGLL,5953.146,N,02320.920,E,133432,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.10,N,11.29,K*59\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,201.37,T,201.37,M,6.21,N,,,D*61\r\n$IIMWV,356,R,07.19,N,A*2C\r\n$IIVWT,026,L,01.10,N,00.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133433,,,,00,*4D\r\n$IIDBT,074.40,f,022.68,M,012.25,F*2C\r\n$GPGLL,5953.143,N,02320.918,E,133434,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,4.30,N,,*06\r\n$IIVTG,202.26,T,202.26,M,6.20,N,,,D*60\r\n$IIMWV,311,T,00.89,N,A*27\r\n$IIVWT,049,L,00.89,N,00.46,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133435,,,,00,*4B\r\n$IIDBT,074.37,f,022.67,M,012.25,F*23\r\n$GPGLL,5953.140,N,02320.915,E,133436,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,0.52,N,,*06\r\n$IIVTG,202.92,T,202.92,M,6.20,N,,,D*60\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,031,L,01.38,N,00.71,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133438,,,,00,*46\r\n$IIDBT,074.37,f,022.67,M,012.25,F*23\r\n$GPGLL,5953.136,N,02320.912,E,133438,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.49,N,,*09\r\n$IIVTG,203.08,T,203.08,M,6.20,N,,,D*60\r\n$IIMWV,338,T,01.69,N,A*23\r\n$IIVWT,022,L,01.69,N,00.87,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133440,,,,00,*49\r\n$IIDBT,074.73,f,022.78,M,012.31,F*28\r\n$GPGLL,5953.133,N,02320.910,E,133440,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.24,N,,*02\r\n$IIVTG,203.57,T,203.57,M,6.25,N,,,D*65\r\n$IIMWV,355,R,07.19,N,A*2F\r\n$IIVWT,033,L,01.14,N,00.59,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133442,,,,00,*4B\r\n$IIDBT,074.73,f,022.78,M,012.31,F*28\r\n$GPGLL,5953.130,N,02320.907,E,133442,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,203.99,T,203.99,M,6.24,N,,,D*64\r\n$IIMWV,320,T,01.34,N,A*22\r\n$IIVWT,040,L,01.34,N,00.69,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133444,,,,00,*4D\r\n$IIDBT,075.06,f,022.88,M,012.36,F*23\r\n$GPGLL,5953.127,N,02320.904,E,133444,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,4.48,N,,*09\r\n$IIVTG,204.45,T,204.45,M,6.21,N,,,D*61\r\n$IIMWV,353,R,07.19,N,A*29\r\n$IIVWT,040,L,01.38,N,00.71,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133446,,,,00,*4F\r\n$IIDBT,075.26,f,022.94,M,012.39,F*23\r\n$GPGLL,5953.124,N,02320.901,E,133446,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,204.84,T,204.84,M,6.20,N,,,D*60\r\n$IIMWV,287,T,01.41,N,A*2C\r\n$IIVWT,073,L,01.41,N,00.73,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133448,,,,00,*41\r\n$IIDBT,074.96,f,022.85,M,012.35,F*25\r\n$GPGLL,5953.121,N,02320.898,E,133448,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,3.46,N,,*00\r\n$IIVTG,206.08,T,206.08,M,6.25,N,,,D*65\r\n$IIMWV,349,R,06.80,N,A*23\r\n$IIVWT,067,L,01.38,N,00.71,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133450,,,,00,*48\r\n$IIDBT,075.42,f,022.99,M,012.42,F*20\r\n$GPGLL,5953.118,N,02320.895,E,133450,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,205.12,T,205.12,M,6.21,N,,,D*61\r\n$IIMWV,343,T,01.16,N,A*27\r\n$IIVWT,017,L,01.16,N,00.60,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133452,,,,00,*4A\r\n$IIDBT,075.16,f,022.91,M,012.38,F*24\r\n$GPGLL,5953.115,N,02320.892,E,133452,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,2.96,N,,*0C\r\n$IIVTG,204.73,T,204.73,M,6.20,N,,,D*60\r\n$IIMWV,347,R,07.58,N,A*29\r\n$IIVWT,056,L,02.02,N,01.04,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133454,,,,00,*4C\r\n$IIDBT,075.42,f,022.99,M,012.42,F*20\r\n$GPGLL,5953.111,N,02320.890,E,133454,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.22,N,,*00\r\n$IIVTG,202.98,T,202.98,M,6.20,N,,,D*60\r\n$IIMWV,305,T,01.53,N,A*24\r\n$IIVWT,055,L,01.53,N,00.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133456,,,,00,*4E\r\n$IIDBT,075.49,f,023.01,M,012.43,F*2A\r\n$GPGLL,5953.107,N,02320.886,E,133456,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.54,N,,*02\r\n$IIVTG,200.74,T,200.74,M,6.18,N,,,D*6B\r\n$IIMWV,351,R,07.19,N,A*2B\r\n$IIVWT,052,L,01.47,N,00.76,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133458,,,,00,*40\r\n$IIDBT,075.45,f,023.00,M,012.43,F*27\r\n$GPGLL,5953.103,N,02320.884,E,133458,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,200.58,T,200.58,M,6.17,N,,,D*64\r\n$IIMWV,298,T,01.08,N,A*2F\r\n$IIVWT,063,L,01.08,N,00.56,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133500,,,,00,*4C\r\n$IIDBT,075.45,f,023.00,M,012.43,F*27\r\n$GPGLL,5953.100,N,02320.881,E,133500,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,199.62,T,199.62,M,6.17,N,,,D*64\r\n$IIMWV,350,R,06.80,N,A*2B\r\n$IIVWT,065,L,01.30,N,00.67,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133502,,,,00,*4E\r\n$IIDBT,075.81,f,023.11,M,012.49,F*25\r\n$GPGLL,5953.097,N,02320.879,E,133502,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.07,N,,*04\r\n$IIVTG,198.25,T,198.25,M,6.17,N,,,D*64\r\n$IIMWV,311,T,01.45,N,A*26\r\n$IIVWT,049,L,01.45,N,00.75,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133504,,,,00,*48\r\n$IIDBT,075.35,f,022.97,M,012.41,F*2D\r\n$GPGLL,5953.094,N,02320.877,E,133504,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.48,N,,*0F\r\n$IIVTG,196.69,T,196.69,M,6.09,N,,,D*6B\r\n$IIMWV,349,R,06.80,N,A*23\r\n$IIVWT,070,L,01.34,N,00.69,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133506,,,,00,*4A\r\n$IIDBT,075.49,f,023.01,M,012.43,F*2A\r\n$GPGLL,5953.091,N,02320.875,E,133506,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,197.55,T,197.55,M,6.10,N,,,D*63\r\n$IIMWV,317,T,00.81,N,A*29\r\n$IIVWT,043,L,00.81,N,00.42,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133508,,,,00,*44\r\n$IIDBT,075.32,f,022.96,M,012.41,F*2B\r\n$GPGLL,5953.087,N,02320.873,E,133509,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-0.30,N,,*2F\r\n$IIVTG,197.91,T,197.91,M,6.10,N,,,D*63\r\n$IIMWV,348,R,06.80,N,A*22\r\n$IIVWT,071,L,01.51,N,00.78,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133510,,,,00,*4D\r\n$IIDBT,075.26,f,022.94,M,012.39,F*23\r\n$GPGLL,5953.084,N,02320.871,E,133511,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,197.11,T,197.11,M,6.10,N,,,D*63\r\n$IIMWV,300,T,01.71,N,A*21\r\n$IIVWT,060,L,01.71,N,00.88,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133512,,,,00,*4F\r\n$IIDBT,075.22,f,022.93,M,012.39,F*20\r\n$GPGLL,5953.081,N,02320.869,E,133513,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,2.85,N,,*0E\r\n$IIVTG,196.83,T,196.83,M,6.10,N,,,D*63\r\n$IIMWV,349,R,07.58,N,A*27\r\n$IIVWT,049,L,01.96,N,01.01,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133514,,,,00,*49\r\n$IIDBT,075.12,f,022.90,M,012.37,F*2E\r\n$GPGLL,5953.078,N,02320.867,E,133515,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.82,N,,*0F\r\n$IIVTG,197.48,T,197.48,M,6.07,N,,,D*65\r\n$IIMWV,323,T,01.74,N,A*25\r\n$IIVWT,037,L,01.74,N,00.90,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133516,,,,00,*4B\r\n$IIDBT,074.93,f,022.84,M,012.34,F*20\r\n$GPGLL,5953.074,N,02320.865,E,133517,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,2.27,N,,*06\r\n$IIVTG,198.05,T,198.05,M,6.07,N,,,D*65\r\n$IIMWV,350,R,07.19,N,A*2A\r\n$IIVWT,056,L,01.57,N,00.81,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133518,,,,00,*45\r\n$IIDBT,074.86,f,022.82,M,012.33,F*25\r\n$GPGLL,5953.071,N,02320.863,E,133519,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,2.22,N,,*03\r\n$IIVTG,198.58,T,198.58,M,6.07,N,,,D*65\r\n$IIMWV,294,T,01.22,N,A*2B\r\n$IIVWT,066,L,01.22,N,00.63,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133521,,,,00,*4F\r\n$IIDBT,074.63,f,022.75,M,012.29,F*2D\r\n$GPGLL,5953.068,N,02320.861,E,133521,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,3.50,N,,*07\r\n$IIVTG,198.57,T,198.57,M,6.09,N,,,D*6B\r\n$IIMWV,352,R,06.80,N,A*29\r\n$IIVWT,063,L,01.12,N,00.58,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133523,,,,00,*4D\r\n$IIDBT,074.76,f,022.79,M,012.31,F*2C\r\n$GPGLL,5953.065,N,02320.859,E,133523,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,2.35,N,,*05\r\n$IIVTG,198.24,T,198.24,M,6.10,N,,,D*63\r\n$IIMWV,272,T,01.10,N,A*22\r\n$IIVWT,088,L,01.10,N,00.57,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133525,,,,00,*4B\r\n$IIDBT,074.63,f,022.75,M,012.29,F*2D\r\n$GPGLL,5953.062,N,02320.857,E,133525,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-0.40,N,,*28\r\n$IIVTG,197.61,T,197.61,M,6.10,N,,,D*63\r\n$IIMWV,346,R,06.41,N,A*21\r\n$IIVWT,087,L,01.61,N,00.83,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133527,,,,00,*49\r\n$IIDBT,074.50,f,022.71,M,012.27,F*27\r\n$GPGLL,5953.058,N,02320.855,E,133527,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,197.18,T,197.18,M,6.05,N,,,D*67\r\n$IIMWV,275,T,01.43,N,A*23\r\n$IIVWT,085,L,01.43,N,00.74,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133529,,,,00,*47\r\n$IIDBT,074.11,f,022.59,M,012.21,F*2E\r\n$GPGLL,5953.055,N,02320.853,E,133529,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,196.44,T,196.44,M,6.04,N,,,D*66\r\n$IIMWV,350,R,06.80,N,A*2B\r\n$IIVWT,071,L,01.20,N,00.62,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133531,,,,00,*4E\r\n$IIDBT,073.84,f,022.51,M,012.16,F*29\r\n$GPGLL,5953.052,N,02320.851,E,133531,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,0.72,N,,*04\r\n$IIVTG,196.58,T,196.58,M,6.08,N,,,D*6A\r\n$IIMWV,298,T,01.43,N,A*20\r\n$IIVWT,062,L,01.43,N,00.74,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133533,,,,00,*4C\r\n$IIDBT,074.24,f,022.63,M,012.23,F*23\r\n$GPGLL,5953.049,N,02320.849,E,133533,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,195.95,T,195.95,M,6.10,N,,,D*63\r\n$IIMWV,351,R,06.80,N,A*2A\r\n$IIVWT,057,L,01.22,N,00.63,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133535,,,,00,*4A\r\n$IIDBT,073.68,f,022.46,M,012.14,F*2F\r\n$GPGLL,5953.045,N,02320.848,E,133535,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,2.98,N,,*02\r\n$IIVTG,194.69,T,194.69,M,6.05,N,,,D*67\r\n$IIMWV,305,T,01.03,N,A*21\r\n$IIVWT,055,L,01.03,N,00.53,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133537,,,,00,*48\r\n$IIDBT,073.68,f,022.46,M,012.14,F*2F\r\n$GPGLL,5953.041,N,02320.845,E,133537,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,0.08,N,,*09\r\n$IIVTG,194.45,T,194.45,M,6.09,N,,,D*6B\r\n$IIMWV,349,R,06.80,N,A*23\r\n$IIVWT,067,L,01.39,N,00.72,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133539,,,,00,*46\r\n$IIDBT,073.22,f,022.32,M,012.06,F*21\r\n$GPGLL,5953.037,N,02320.844,E,133539,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,194.84,T,194.84,M,6.10,N,,,D*63\r\n$IIMWV,307,T,01.65,N,A*23\r\n$IIVWT,054,L,01.65,N,00.85,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133541,,,,00,*49\r\n$IIDBT,073.55,f,022.42,M,012.11,F*20\r\n$GPGLL,5953.034,N,02320.842,E,133541,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,2.13,N,,*01\r\n$IIVTG,194.81,T,194.81,M,6.07,N,,,D*65\r\n$IIMWV,345,R,06.41,N,A*22\r\n$IIVWT,098,L,01.69,N,00.87,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133543,,,,00,*4B\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,5953.031,N,02320.840,E,133543,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,194.25,T,194.25,M,6.09,N,,,D*6B\r\n$IIMWV,322,T,01.57,N,A*25\r\n$IIVWT,038,L,01.57,N,00.81,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133545,,,,00,*4D\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5953.027,N,02320.839,E,133545,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,193.91,T,193.91,M,6.15,N,,,D*66\r\n$IIMWV,348,R,07.19,N,A*23\r\n$IIVWT,061,L,01.67,N,00.86,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133547,,,,00,*4F\r\n$IIDBT,073.02,f,022.26,M,012.03,F*23\r\n$GPGLL,5953.024,N,02320.837,E,133547,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,1.61,N,,*07\r\n$IIVTG,193.30,T,193.30,M,6.11,N,,,D*62\r\n$IIMWV,308,T,01.88,N,A*2F\r\n$IIVWT,053,L,01.88,N,00.97,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133549,,,,00,*41\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5953.021,N,02320.836,E,133549,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,192.05,T,192.05,M,6.08,N,,,D*6A\r\n$IIMWV,344,R,06.41,N,A*23\r\n$IIVWT,094,L,01.80,N,00.93,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133551,,,,00,*48\r\n$IIDBT,073.35,f,022.36,M,012.08,F*2D\r\n$GPGLL,5953.018,N,02320.834,E,133552,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-0.15,N,,*28\r\n$IIVTG,192.06,T,192.06,M,6.04,N,,,D*66\r\n$IIMWV,273,T,01.53,N,A*24\r\n$IIVWT,087,L,01.53,N,00.79,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133553,,,,00,*4A\r\n$IIDBT,072.47,f,022.09,M,011.94,F*23\r\n$GPGLL,5953.014,N,02320.833,E,133554,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,0.17,N,,*07\r\n$IIVTG,192.61,T,192.61,M,6.04,N,,,D*66\r\n$IIMWV,350,R,06.80,N,A*2B\r\n$IIVWT,063,L,01.39,N,00.72,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133555,,,,00,*4C\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,5953.011,N,02320.831,E,133556,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,193.68,T,193.68,M,6.06,N,,,D*64\r\n$IIMWV,314,T,01.12,N,A*21\r\n$IIVWT,046,L,01.12,N,00.58,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133557,,,,00,*4E\r\n$IIDBT,072.43,f,022.08,M,011.93,F*21\r\n$GPGLL,5953.008,N,02320.830,E,133558,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,4.34,N,,*02\r\n$IIVTG,195.09,T,195.09,M,6.06,N,,,D*64\r\n$IIMWV,349,R,06.41,N,A*2E\r\n$IIVWT,086,L,01.22,N,00.63,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133559,,,,00,*40\r\n$IIDBT,072.17,f,022.00,M,011.89,F*23\r\n$GPGLL,5953.005,N,02320.828,E,133600,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,196.07,T,196.07,M,6.07,N,,,D*65\r\n$IIMWV,278,T,01.14,N,A*2C\r\n$IIVWT,082,L,01.14,N,00.59,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133602,,,,00,*4D\r\n$IIDBT,072.11,f,021.98,M,011.88,F*26\r\n$GPGLL,5953.001,N,02320.826,E,133602,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-0.83,N,,*27\r\n$IIVTG,196.97,T,196.97,M,6.02,N,,,D*60\r\n$IIMWV,351,R,06.41,N,A*27\r\n$IIVWT,074,L,01.08,N,00.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133604,,,,00,*4B\r\n$IIDBT,071.84,f,021.90,M,011.83,F*2A\r\n$GPGLL,5952.998,N,02320.824,E,133604,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,198.17,T,198.17,M,6.03,N,,,D*61\r\n$IIMWV,295,T,00.93,N,A*21\r\n$IIVWT,066,L,00.93,N,00.48,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133606,,,,00,*49\r\n$IIDBT,072.20,f,022.01,M,011.89,F*26\r\n$GPGLL,5952.995,N,02320.821,E,133606,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,198.44,T,198.44,M,6.08,N,,,D*6A\r\n$IIMWV,347,R,06.41,N,A*20\r\n$IIVWT,092,L,01.43,N,00.74,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133608,,,,00,*47\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,5952.992,N,02320.819,E,133608,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-0.20,N,,*2E\r\n$IIVTG,197.31,T,197.31,M,6.07,N,,,D*65\r\n$IIMWV,260,T,01.41,N,A*25\r\n$IIVWT,100,L,01.41,N,00.73,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133610,,,,00,*4E\r\n$IIDBT,071.78,f,021.88,M,011.82,F*21\r\n$GPGLL,5952.989,N,02320.817,E,133610,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-1.55,N,,*2D\r\n$IIVTG,197.33,T,197.33,M,6.02,N,,,D*60\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,071,L,01.14,N,00.59,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133612,,,,00,*4C\r\n$IIDBT,071.84,f,021.90,M,011.83,F*2A\r\n$GPGLL,5952.985,N,02320.815,E,133612,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-0.17,N,,*2A\r\n$IIVTG,198.23,T,198.23,M,6.03,N,,,D*61\r\n$IIMWV,263,T,01.61,N,A*24\r\n$IIVWT,098,L,01.61,N,00.83,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133614,,,,00,*4A\r\n$IIDBT,072.01,f,021.95,M,011.86,F*24\r\n$GPGLL,5952.982,N,02320.813,E,133614,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,198.01,T,198.01,M,6.03,N,,,D*61\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,076,L,01.10,N,00.57,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133616,,,,00,*48\r\n$IIDBT,071.97,f,021.94,M,011.85,F*2A\r\n$GPGLL,5952.979,N,02320.811,E,133616,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,197.88,T,197.88,M,5.98,N,,,D*60\r\n$IIMWV,302,T,00.79,N,A*2A\r\n$IIVWT,058,L,00.79,N,00.41,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133618,,,,00,*46\r\n$IIDBT,072.17,f,022.00,M,011.89,F*23\r\n$GPGLL,5952.976,N,02320.809,E,133618,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,2.69,N,,*0C\r\n$IIVTG,198.57,T,198.57,M,6.02,N,,,D*60\r\n$IIMWV,353,R,06.41,N,A*25\r\n$IIVWT,065,L,00.93,N,00.48,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133620,,,,00,*4D\r\n$IIDBT,072.24,f,022.02,M,011.90,F*29\r\n$GPGLL,5952.971,N,02320.806,E,133620,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,198.07,T,198.07,M,6.06,N,,,D*64\r\n$IIMWV,259,T,01.53,N,A*2C\r\n$IIVWT,101,L,01.53,N,00.79,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133622,,,,00,*4F\r\n$IIDBT,072.17,f,022.00,M,011.89,F*23\r\n$GPGLL,5952.968,N,02320.804,E,133622,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-0.17,N,,*2A\r\n$IIVTG,196.83,T,196.83,M,6.03,N,,,D*61\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,082,L,00.68,N,00.35,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133624,,,,00,*49\r\n$IIDBT,072.53,f,022.11,M,011.95,F*2E\r\n$GPGLL,5952.965,N,02320.802,E,133624,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,0.92,N,,*0A\r\n$IIVTG,197.21,T,197.21,M,6.08,N,,,D*6A\r\n$IIMWV,281,T,00.97,N,A*20\r\n$IIVWT,079,L,00.97,N,00.50,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133626,,,,00,*4B\r\n$IIDBT,072.30,f,022.04,M,011.91,F*2B\r\n$GPGLL,5952.961,N,02320.800,E,133626,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,196.80,T,196.80,M,6.05,N,,,D*67\r\n$IIMWV,351,R,06.22,N,A*22\r\n$IIVWT,099,L,00.97,N,00.50,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133628,,,,00,*45\r\n$IIDBT,072.30,f,022.04,M,011.91,F*2B\r\n$GPGLL,5952.958,N,02320.798,E,133628,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,-0.86,N,,*22\r\n$IIVTG,196.70,T,196.70,M,6.04,N,,,D*66\r\n$IIMWV,265,T,01.39,N,A*2F\r\n$IIVWT,095,L,01.39,N,00.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133630,,,,00,*4C\r\n$IIDBT,072.07,f,021.97,M,011.87,F*21\r\n$GPGLL,5952.955,N,02320.797,E,133630,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-2.73,N,,*2A\r\n$IIVTG,196.97,T,196.97,M,6.03,N,,,D*61\r\n$IIMWV,356,R,06.41,N,A*20\r\n$IIVWT,049,L,00.58,N,00.30,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133632,,,,00,*4E\r\n$IIDBT,072.14,f,021.99,M,011.88,F*22\r\n$GPGLL,5952.952,N,02320.794,E,133632,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,0.79,N,,*0F\r\n$IIVTG,200.52,T,200.52,M,6.06,N,,,D*64\r\n$IIMWV,265,T,01.03,N,A*26\r\n$IIVWT,095,L,01.03,N,00.53,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133634,,,,00,*48\r\n$IIDBT,072.27,f,022.03,M,011.90,F*2B\r\n$GPGLL,5952.949,N,02320.791,E,133635,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-2.95,N,,*22\r\n$IIVTG,203.96,T,203.96,M,6.06,N,,,D*64\r\n$IIMWV,349,R,06.22,N,A*2B\r\n$IIVWT,086,L,01.16,N,00.60,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133636,,,,00,*4A\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,5952.946,N,02320.789,E,133637,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-0.92,N,,*27\r\n$IIVTG,203.21,T,203.21,M,6.09,N,,,D*6B\r\n$IIMWV,274,T,01.22,N,A*25\r\n$IIVWT,086,L,01.22,N,00.63,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133638,,,,00,*44\r\n$IIDBT,072.43,f,022.08,M,011.93,F*21\r\n$GPGLL,5952.943,N,02320.786,E,133639,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,0.91,N,,*09\r\n$IIVTG,202.23,T,202.23,M,6.10,N,,,D*63\r\n$IIMWV,352,R,06.41,N,A*24\r\n$IIVWT,064,L,00.97,N,00.50,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133640,,,,00,*4B\r\n$IIDBT,072.30,f,022.04,M,011.91,F*2B\r\n$GPGLL,5952.939,N,02320.784,E,133641,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-0.53,N,,*2A\r\n$IIVTG,202.83,T,202.83,M,6.10,N,,,D*63\r\n$IIMWV,257,T,01.84,N,A*28\r\n$IIVWT,103,L,01.84,N,00.95,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133642,,,,00,*49\r\n$IIDBT,072.40,f,022.07,M,011.92,F*2C\r\n$GPGLL,5952.936,N,02320.781,E,133643,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-0.91,N,,*24\r\n$IIVTG,201.43,T,201.43,M,6.05,N,,,D*67\r\n$IIMWV,349,R,06.22,N,A*2B\r\n$IIVWT,096,L,01.18,N,00.61,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133644,,,,00,*4F\r\n$IIDBT,072.40,f,022.07,M,011.92,F*2C\r\n$GPGLL,5952.933,N,02320.779,E,133645,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,0.42,N,,*07\r\n$IIVTG,201.31,T,201.31,M,6.09,N,,,D*6B\r\n$IIMWV,271,T,01.18,N,A*29\r\n$IIVWT,089,L,01.18,N,00.61,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133647,,,,00,*4C\r\n$IIDBT,072.47,f,022.09,M,011.94,F*23\r\n$GPGLL,5952.930,N,02320.776,E,133647,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,200.23,T,200.23,M,6.12,N,,,D*61\r\n$IIMWV,350,R,06.41,N,A*26\r\n$IIVWT,090,L,01.08,N,00.56,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133649,,,,00,*42\r\n$IIDBT,072.76,f,022.18,M,011.98,F*2D\r\n$GPGLL,5952.927,N,02320.774,E,133649,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-1.32,N,,*2C\r\n$IIVTG,196.91,T,196.91,M,6.11,N,,,D*62\r\n$IIMWV,263,T,01.63,N,A*26\r\n$IIVWT,097,L,01.63,N,00.84,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133651,,,,00,*4B\r\n$IIDBT,072.53,f,022.11,M,011.95,F*2E\r\n$GPGLL,5952.923,N,02320.773,E,133651,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-0.96,N,,*23\r\n$IIVTG,192.55,T,192.55,M,6.05,N,,,D*67\r\n$IIMWV,354,R,06.22,N,A*27\r\n$IIVWT,102,L,00.64,N,00.33,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133653,,,,00,*49\r\n$IIDBT,072.53,f,022.11,M,011.95,F*2E\r\n$GPGLL,5952.920,N,02320.772,E,133653,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-0.63,N,,*29\r\n$IIVTG,192.16,T,192.16,M,6.09,N,,,D*6B\r\n$IIMWV,295,T,00.81,N,A*22\r\n$IIVWT,065,L,00.81,N,00.42,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133655,,,,00,*4F\r\n$IIDBT,073.09,f,022.28,M,012.04,F*21\r\n$GPGLL,5952.917,N,02320.770,E,133655,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-0.64,N,,*2E\r\n$IIVTG,192.51,T,192.51,M,6.07,N,,,D*65\r\n$IIMWV,351,R,06.22,N,A*22\r\n$IIVWT,087,L,01.04,N,00.54,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133657,,,,00,*4D\r\n$IIDBT,072.63,f,022.14,M,011.96,F*2B\r\n$GPGLL,5952.914,N,02320.769,E,133657,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,191.88,T,191.88,M,6.02,N,,,D*60\r\n$IIMWV,239,T,00.73,N,A*29\r\n$IIVWT,121,L,00.73,N,00.38,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133659,,,,00,*43\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,5952.910,N,02320.767,E,133659,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-2.05,N,,*2B\r\n$IIVTG,193.00,T,193.00,M,6.08,N,,,D*6A\r\n$IIMWV,345,R,05.44,N,A*24\r\n$IIVWT,126,L,01.80,N,00.93,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133701,,,,00,*4F\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5952.907,N,02320.766,E,133701,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-4.75,N,,*2A\r\n$IIVTG,193.83,T,193.83,M,6.07,N,,,D*65\r\n$IIMWV,257,T,01.18,N,A*2D\r\n$IIVWT,103,L,01.18,N,00.61,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133703,,,,00,*4D\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5952.902,N,02320.763,E,133703,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-0.35,N,,*2A\r\n$IIVTG,193.68,T,193.68,M,6.12,N,,,D*61\r\n$IIMWV,350,R,06.22,N,A*23\r\n$IIVWT,089,L,01.10,N,00.57,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133705,,,,00,*4B\r\n$IIDBT,073.22,f,022.32,M,012.06,F*21\r\n$GPGLL,5952.899,N,02320.762,E,133705,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,0.24,N,,*07\r\n$IIVTG,191.52,T,191.52,M,6.08,N,,,D*6A\r\n$IIMWV,246,T,01.67,N,A*25\r\n$IIVWT,114,L,01.67,N,00.86,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133707,,,,00,*49\r\n$IIDBT,072.83,f,022.20,M,011.99,F*2D\r\n$GPGLL,5952.896,N,02320.761,E,133707,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-2.16,N,,*29\r\n$IIVTG,192.20,T,192.20,M,6.05,N,,,D*67\r\n$IIMWV,347,R,05.83,N,A*2D\r\n$IIVWT,112,L,01.38,N,00.71,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133709,,,,00,*47\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,5952.892,N,02320.759,E,133709,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,-2.29,N,,*25\r\n$IIVTG,193.48,T,193.48,M,6.04,N,,,D*66\r\n$IIMWV,249,T,01.51,N,A*2F\r\n$IIVWT,111,L,01.51,N,00.78,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133711,,,,00,*4E\r\n$IIDBT,072.83,f,022.20,M,011.99,F*2D\r\n$GPGLL,5952.889,N,02320.758,E,133711,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-3.77,N,,*2F\r\n$IIVTG,194.07,T,194.07,M,6.08,N,,,D*6A\r\n$IIMWV,349,R,05.83,N,A*23\r\n$IIVWT,110,L,01.16,N,00.60,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133713,,,,00,*4C\r\n$IIDBT,072.99,f,022.25,M,012.02,F*22\r\n$GPGLL,5952.886,N,02320.756,E,133713,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-1.99,N,,*2D\r\n$IIVTG,194.96,T,194.96,M,6.15,N,,,D*66\r\n$IIMWV,254,T,01.03,N,A*24\r\n$IIVWT,106,L,01.03,N,00.53,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133715,,,,00,*4A\r\n$IIDBT,072.99,f,022.25,M,012.02,F*22\r\n$GPGLL,5952.882,N,02320.754,E,133715,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,-3.85,N,,*22\r\n$IIVTG,195.74,T,195.74,M,6.16,N,,,D*65\r\n$IIMWV,347,R,05.44,N,A*26\r\n$IIVWT,130,L,01.61,N,00.83,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133717,,,,00,*48\r\n$IIDBT,072.93,f,022.23,M,012.01,F*2D\r\n$GPGLL,5952.879,N,02320.752,E,133718,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-3.05,N,,*2A\r\n$IIVTG,196.28,T,196.28,M,6.12,N,,,D*61\r\n$IIMWV,222,T,01.36,N,A*23\r\n$IIVWT,138,L,01.36,N,00.70,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133719,,,,00,*46\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,5952.876,N,02320.750,E,133720,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.30,N,,*2D\r\n$IIVTG,196.52,T,196.52,M,6.15,N,,,D*66\r\n$IIMWV,345,R,05.83,N,A*2F\r\n$IIVWT,113,L,01.69,N,00.87,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133721,,,,00,*4D\r\n$IIDBT,072.86,f,022.21,M,012.00,F*2A\r\n$GPGLL,5952.872,N,02320.748,E,133722,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,195.08,T,195.08,M,6.21,N,,,D*61\r\n$IIMWV,234,T,00.91,N,A*28\r\n$IIVWT,126,L,00.91,N,00.47,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133723,,,,00,*4F\r\n$IIDBT,072.96,f,022.24,M,012.02,F*2C\r\n$GPGLL,5952.869,N,02320.747,E,133724,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-2.61,N,,*29\r\n$IIVTG,194.39,T,194.39,M,6.18,N,,,D*6B\r\n$IIMWV,343,R,05.83,N,A*29\r\n$IIVWT,113,L,01.92,N,00.99,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133725,,,,00,*49\r\n$IIDBT,072.83,f,022.20,M,011.99,F*2D\r\n$GPGLL,5952.866,N,02320.745,E,133726,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-3.11,N,,*2F\r\n$IIVTG,193.93,T,193.93,M,6.14,N,,,D*67\r\n$IIMWV,243,T,00.89,N,A*21\r\n$IIVWT,117,L,00.89,N,00.46,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133728,,,,00,*44\r\n$IIDBT,073.29,f,022.34,M,012.07,F*2D\r\n$GPGLL,5952.863,N,02320.744,E,133728,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,192.98,T,192.98,M,6.14,N,,,D*67\r\n$IIMWV,355,R,05.83,N,A*2E\r\n$IIVWT,129,L,00.66,N,00.34,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133730,,,,00,*4D\r\n$IIDBT,073.12,f,022.29,M,012.04,F*2A\r\n$GPGLL,5952.859,N,02320.742,E,133730,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-3.24,N,,*29\r\n$IIVTG,194.00,T,194.00,M,6.13,N,,,D*60\r\n$IIMWV,241,T,00.95,N,A*2E\r\n$IIVWT,119,L,00.95,N,00.49,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133732,,,,00,*4F\r\n$IIDBT,073.29,f,022.34,M,012.07,F*2D\r\n$GPGLL,5952.856,N,02320.740,E,133732,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-4.13,N,,*2A\r\n$IIVTG,194.27,T,194.27,M,6.18,N,,,D*6B\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,156,L,00.52,N,00.27,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133734,,,,00,*49\r\n$IIDBT,072.99,f,022.25,M,012.02,F*22\r\n$GPGLL,5952.853,N,02320.739,E,133734,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-3.64,N,,*2D\r\n$IIVTG,194.32,T,194.32,M,6.20,N,,,D*60\r\n$IIMWV,274,T,00.58,N,A*29\r\n$IIVWT,086,L,00.58,N,00.30,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133736,,,,00,*4B\r\n$IIDBT,073.22,f,022.32,M,012.06,F*21\r\n$GPGLL,5952.849,N,02320.737,E,133736,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,194.15,T,194.15,M,6.20,N,,,D*60\r\n$IIMWV,358,R,06.22,N,A*2B\r\n$IIVWT,073,L,00.19,N,00.10,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133738,,,,00,*45\r\n$IIDBT,072.73,f,022.17,M,011.98,F*27\r\n$GPGLL,5952.846,N,02320.735,E,133738,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,-3.02,N,,*2D\r\n$IIVTG,193.74,T,193.74,M,6.25,N,,,D*65\r\n$IIMWV,239,T,00.93,N,A*27\r\n$IIVWT,121,L,00.93,N,00.48,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133740,,,,00,*4A\r\n$IIDBT,072.66,f,022.15,M,011.97,F*2E\r\n$GPGLL,5952.843,N,02320.734,E,133740,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-3.90,N,,*26\r\n$IIVTG,193.13,T,193.13,M,6.24,N,,,D*64\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,146,L,00.40,N,00.21,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133742,,,,00,*48\r\n$IIDBT,073.02,f,022.26,M,012.03,F*23\r\n$GPGLL,5952.839,N,02320.732,E,133742,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.55,N,,*29\r\n$IIVTG,192.18,T,192.18,M,6.21,N,,,D*61\r\n$IIMWV,284,T,00.31,N,A*29\r\n$IIVWT,076,L,00.31,N,00.16,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133744,,,,00,*4E\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,5952.836,N,02320.731,E,133744,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-5.39,N,,*23\r\n$IIVTG,192.02,T,192.02,M,6.20,N,,,D*60\r\n$IIMWV,358,R,05.83,N,A*23\r\n$IIVWT,146,L,00.40,N,00.21,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133746,,,,00,*4C\r\n$IIDBT,072.43,f,022.08,M,011.93,F*21\r\n$GPGLL,5952.831,N,02320.729,E,133746,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-4.77,N,,*28\r\n$IIVTG,192.59,T,192.59,M,6.20,N,,,D*60\r\n$IIMWV,247,T,00.48,N,A*28\r\n$IIVWT,114,L,00.48,N,00.25,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133748,,,,00,*42\r\n$IIDBT,072.76,f,022.18,M,011.98,F*2D\r\n$GPGLL,5952.827,N,02320.727,E,133748,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,-5.51,N,,*2D\r\n$IIVTG,191.98,T,191.98,M,6.23,N,,,D*63\r\n$IIMWV,356,R,05.83,N,A*2D\r\n$IIVWT,135,L,00.56,N,00.29,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133750,,,,00,*4B\r\n$IIDBT,072.86,f,022.21,M,012.00,F*2A\r\n$GPGLL,5952.824,N,02320.726,E,133750,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-3.73,N,,*2B\r\n$IIVTG,191.60,T,191.60,M,6.18,N,,,D*6B\r\n$IIMWV,214,T,00.48,N,A*2E\r\n$IIVWT,146,L,00.48,N,00.25,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133752,,,,00,*49\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,5952.821,N,02320.724,E,133752,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.42,N,00.22,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,192.93,T,192.93,M,6.20,N,,,D*60\r\n$IIMWV,360,R,06.22,N,A*20\r\n$IIVWT,011,L,00.09,N,00.05,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133754,,,,00,*4F\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5952.817,N,02320.723,E,133754,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.37,N,,*00\r\n$IIVTG,193.38,T,193.38,M,6.20,N,,,D*60\r\n$IIMWV,180,T,00.50,N,A*29\r\n$IIVWT,180,L,00.50,N,00.26,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133756,,,,00,*4D\r\n$IIDBT,072.60,f,022.13,M,011.96,F*2F\r\n$GPGLL,5952.814,N,02320.721,E,133756,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.44,N,00.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,192.82,T,192.82,M,6.15,N,,,D*66\r\n$IIMWV,003,R,05.83,N,A*2E\r\n$IIVWT,153,R,00.56,N,00.29,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133758,,,,00,*43\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,5952.811,N,02320.720,E,133759,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.05,N,00.03,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,192.85,T,192.85,M,6.16,N,,,D*65\r\n$IIMWV,160,T,00.38,N,A*29\r\n$IIVWT,160,R,00.38,N,00.20,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133800,,,,00,*41\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,5952.807,N,02320.718,E,133801,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.31,N,00.16,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-2.14,N,,*2B\r\n$IIVTG,192.89,T,192.89,M,6.22,N,,,D*62\r\n$IIMWV,004,R,06.22,N,A*21\r\n$IIVWT,090,R,00.38,N,00.20,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133802,,,,00,*43\r\n$IIDBT,072.47,f,022.09,M,011.94,F*23\r\n$GPGLL,5952.804,N,02320.717,E,133803,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,3.89,N,,*03\r\n$IIVTG,193.02,T,193.02,M,6.23,N,,,D*63\r\n$IIMWV,294,T,00.48,N,A*26\r\n$IIVWT,067,L,00.48,N,00.25,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133804,,,,00,*45\r\n$IIDBT,072.24,f,022.02,M,011.90,F*29\r\n$GPGLL,5952.801,N,02320.715,E,133805,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,192.61,T,192.61,M,6.26,N,,,D*66\r\n$IIMWV,002,R,06.80,N,A*2F\r\n$IIVWT,019,R,00.69,N,00.36,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133806,,,,00,*47\r\n$IIDBT,072.50,f,022.10,M,011.94,F*2D\r\n$GPGLL,5952.797,N,02320.713,E,133807,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.27,N,00.14,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,193.57,T,193.57,M,6.24,N,,,D*64\r\n$IIMWV,357,T,00.75,N,A*26\r\n$IIVWT,003,L,00.75,N,00.39,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133808,,,,00,*49\r\n$IIDBT,072.40,f,022.07,M,011.92,F*2C\r\n$GPGLL,5952.794,N,02320.712,E,133809,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.44,N,,*04\r\n$IIVTG,194.12,T,194.12,M,6.28,N,,,D*68\r\n$IIMWV,358,R,06.41,N,A*2E\r\n$IIVWT,077,L,00.25,N,00.13,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133811,,,,00,*41\r\n$IIDBT,071.81,f,021.89,M,011.83,F*27\r\n$GPGLL,5952.791,N,02320.710,E,133811,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.16,N,,*00\r\n$IIVTG,194.16,T,194.16,M,6.22,N,,,D*62\r\n$IIMWV,000,T,00.54,N,A*24\r\n$IIVWT,000,R,00.54,N,00.28,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133813,,,,00,*43\r\n$IIDBT,071.91,f,021.92,M,011.84,F*2B\r\n$GPGLL,5952.787,N,02320.708,E,133813,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,195.24,T,195.24,M,6.23,N,,,D*63\r\n$IIMWV,358,R,06.80,N,A*23\r\n$IIVWT,020,L,00.60,N,00.31,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133815,,,,00,*45\r\n$IIDBT,071.71,f,021.86,M,011.81,F*25\r\n$GPGLL,5952.784,N,02320.706,E,133815,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,6.03,N,,*04\r\n$IIVTG,195.61,T,195.61,M,6.28,N,,,D*68\r\n$IIMWV,354,T,01.03,N,A*25\r\n$IIVWT,006,L,01.03,N,00.53,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133817,,,,00,*47\r\n$IIDBT,071.52,f,021.80,M,011.78,F*24\r\n$GPGLL,5952.780,N,02320.705,E,133817,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,195.05,T,195.05,M,6.30,N,,,D*61\r\n$IIMWV,356,R,06.80,N,A*2D\r\n$IIVWT,047,L,00.73,N,00.38,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133819,,,,00,*49\r\n$IIDBT,071.38,f,021.76,M,011.76,F*2F\r\n$GPGLL,5952.777,N,02320.703,E,133819,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,194.79,T,194.79,M,6.25,N,,,D*65\r\n$IIMWV,355,T,00.69,N,A*29\r\n$IIVWT,005,L,00.69,N,00.36,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133821,,,,00,*42\r\n$IIDBT,070.86,f,021.60,M,011.67,F*2C\r\n$GPGLL,5952.774,N,02320.701,E,133821,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,194.42,T,194.42,M,6.24,N,,,D*64\r\n$IIMWV,359,R,06.80,N,A*22\r\n$IIVWT,011,L,00.50,N,00.26,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133823,,,,00,*40\r\n$IIDBT,070.63,f,021.53,M,011.63,F*23\r\n$GPGLL,5952.770,N,02320.699,E,133823,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,2.81,N,,*0A\r\n$IIVTG,195.03,T,195.03,M,6.26,N,,,D*66\r\n$IIMWV,014,T,00.73,N,A*24\r\n$IIVWT,014,R,00.73,N,00.38,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133825,,,,00,*46\r\n$IIDBT,070.24,f,021.41,M,011.57,F*24\r\n$GPGLL,5952.767,N,02320.697,E,133825,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.54,N,,*05\r\n$IIVTG,196.63,T,196.63,M,6.24,N,,,D*64\r\n$IIMWV,360,R,06.80,N,A*28\r\n$IIVWT,006,L,00.69,N,00.36,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133827,,,,00,*44\r\n$IIDBT,070.01,f,021.34,M,011.53,F*25\r\n$GPGLL,5952.764,N,02320.695,E,133827,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.39,N,,*0F\r\n$IIVTG,196.61,T,196.61,M,6.23,N,,,D*63\r\n$IIMWV,315,T,00.83,N,A*29\r\n$IIVWT,045,L,00.83,N,00.43,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133829,,,,00,*4A\r\n$IIDBT,069.65,f,021.23,M,011.47,F*2C\r\n$GPGLL,5952.759,N,02320.693,E,133829,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.25,N,00.13,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,195.99,T,195.99,M,6.27,N,,,D*67\r\n$IIMWV,356,R,06.41,N,A*20\r\n$IIVWT,066,L,00.46,N,00.24,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133831,,,,00,*43\r\n$IIDBT,068.89,f,021.00,M,011.35,F*2B\r\n$GPGLL,5952.755,N,02320.691,E,133831,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.21,N,00.11,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.00,N,,*04\r\n$IIVTG,196.24,T,196.24,M,6.27,N,,,D*67\r\n$IIMWV,351,T,00.71,N,A*24\r\n$IIVWT,009,L,00.71,N,00.37,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133833,,,,00,*41\r\n$IIDBT,068.37,f,020.84,M,011.26,F*21\r\n$GPGLL,5952.752,N,02320.689,E,133833,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,196.66,T,196.66,M,6.27,N,,,D*67\r\n$IIMWV,002,R,07.19,N,A*2E\r\n$IIVWT,015,R,01.20,N,00.62,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133835,,,,00,*47\r\n$IIDBT,067.74,f,020.65,M,011.16,F*25\r\n$GPGLL,5952.749,N,02320.687,E,133835,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.71,N,00.37,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,198.49,T,198.49,M,6.22,N,,,D*62\r\n$IIMWV,306,T,00.95,N,A*2C\r\n$IIVWT,054,L,00.95,N,00.49,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133837,,,,00,*45\r\n$IIDBT,066.69,f,020.33,M,010.98,F*2C\r\n$GPGLL,5952.746,N,02320.684,E,133837,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,199.77,T,199.77,M,6.20,N,,,D*60\r\n$IIMWV,359,R,06.80,N,A*22\r\n$IIVWT,017,L,00.58,N,00.30,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133839,,,,00,*4B\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,5952.742,N,02320.682,E,133839,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,3.92,N,,*09\r\n$IIVTG,200.54,T,200.54,M,6.23,N,,,D*63\r\n$IIMWV,315,T,00.97,N,A*2C\r\n$IIVWT,045,L,00.97,N,00.50,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133841,,,,00,*44\r\n$IIDBT,051.34,f,015.65,M,008.45,F*2C\r\n$GPGLL,5952.739,N,02320.679,E,133842,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,200.01,T,200.01,M,6.23,N,,,D*63\r\n$IIMWV,005,R,06.80,N,A*28\r\n$IIVWT,039,R,00.85,N,00.44,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133843,,,,00,*46\r\n$IIDBT,049.63,f,015.13,M,008.17,F*21\r\n$GPGLL,5952.736,N,02320.677,E,133844,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,201.13,T,201.13,M,6.26,N,,,D*66\r\n$IIMWV,346,T,00.64,N,A*26\r\n$IIVWT,014,L,00.64,N,00.33,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133845,,,,00,*40\r\n$IIDBT,050.72,f,015.46,M,008.35,F*29\r\n$GPGLL,5952.733,N,02320.674,E,133846,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.33,N,00.17,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,200.71,T,200.71,M,6.31,N,,,D*60\r\n$IIMWV,357,R,06.80,N,A*2C\r\n$IIVWT,030,L,00.83,N,00.43,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133847,,,,00,*42\r\n$IIDBT,052.06,f,015.87,M,008.57,F*21\r\n$GPGLL,5952.729,N,02320.672,E,133848,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,197.33,T,197.33,M,6.30,N,,,D*61\r\n$IIMWV,331,T,00.58,N,A*29\r\n$IIVWT,029,L,00.58,N,00.30,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133849,,,,00,*4C\r\n$IIDBT,056.46,f,017.21,M,009.30,F*2F\r\n$GPGLL,5952.726,N,02320.671,E,133850,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.29,N,00.15,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,196.68,T,196.68,M,6.23,N,,,D*63\r\n$IIMWV,359,R,07.19,N,A*23\r\n$IIVWT,009,L,01.26,N,00.65,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133851,,,,00,*45\r\n$IIDBT,056.56,f,017.24,M,009.31,F*2A\r\n$GPGLL,5952.723,N,02320.668,E,133852,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,3.43,N,,*05\r\n$IIVTG,197.67,T,197.67,M,6.26,N,,,D*66\r\n$IIMWV,263,T,00.79,N,A*2C\r\n$IIVWT,097,L,00.79,N,00.41,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133854,,,,00,*40\r\n$IIDBT,059.67,f,018.19,M,009.83,F*2F\r\n$GPGLL,5952.719,N,02320.666,E,133854,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.75,N,00.39,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,2.34,N,,*04\r\n$IIVTG,197.39,T,197.39,M,6.21,N,,,D*61\r\n$IIMWV,357,R,06.41,N,A*21\r\n$IIVWT,051,L,00.48,N,00.25,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133856,,,,00,*42\r\n$IIDBT,062.10,f,018.93,M,010.23,F*27\r\n$GPGLL,5952.716,N,02320.664,E,133856,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.98,N,,*04\r\n$IIVTG,196.70,T,196.70,M,6.23,N,,,D*63\r\n$IIMWV,331,T,00.73,N,A*20\r\n$IIVWT,029,L,00.73,N,00.38,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133858,,,,00,*4C\r\n$IIDBT,064.56,f,019.68,M,010.63,F*22\r\n$GPGLL,5952.713,N,02320.662,E,133858,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,196.25,T,196.25,M,6.23,N,,,D*63\r\n$IIMWV,357,R,06.80,N,A*2C\r\n$IIVWT,039,L,00.64,N,00.33,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133900,,,,00,*40\r\n$IIDBT,066.10,f,020.15,M,010.89,F*26\r\n$GPGLL,5952.709,N,02320.661,E,133900,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.79,N,00.41,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,195.79,T,195.79,M,6.26,N,,,D*66\r\n$IIMWV,335,T,01.18,N,A*28\r\n$IIVWT,025,L,01.18,N,00.61,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133902,,,,00,*42\r\n$IIDBT,067.25,f,020.50,M,011.08,F*28\r\n$GPGLL,5952.706,N,02320.659,E,133902,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,195.00,T,195.00,M,6.21,N,,,D*61\r\n$IIMWV,358,R,07.19,N,A*22\r\n$IIVWT,015,L,00.95,N,00.49,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133904,,,,00,*44\r\n$IIDBT,068.83,f,020.98,M,011.34,F*20\r\n$GPGLL,5952.703,N,02320.657,E,133904,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,193.97,T,193.97,M,6.25,N,,,D*65\r\n$IIMWV,336,T,00.69,N,A*2C\r\n$IIVWT,024,L,00.69,N,00.36,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133906,,,,00,*46\r\n$IIDBT,069.28,f,021.12,M,011.41,F*21\r\n$GPGLL,5952.699,N,02320.656,E,133906,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.77,N,00.40,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,193.57,T,193.57,M,6.26,N,,,D*66\r\n$IIMWV,359,R,06.80,N,A*22\r\n$IIVWT,021,L,00.42,N,00.22,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133908,,,,00,*48\r\n$IIDBT,069.71,f,021.25,M,011.48,F*20\r\n$GPGLL,5952.696,N,02320.654,E,133908,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.13,N,,*07\r\n$IIVTG,193.19,T,193.19,M,6.27,N,,,D*67\r\n$IIMWV,280,T,00.42,N,A*29\r\n$IIVWT,080,L,00.42,N,00.22,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133910,,,,00,*41\r\n$IIDBT,070.63,f,021.53,M,011.63,F*23\r\n$GPGLL,5952.691,N,02320.652,E,133910,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,192.82,T,192.82,M,6.27,N,,,D*67\r\n$IIMWV,357,R,06.41,N,A*21\r\n$IIVWT,054,L,00.48,N,00.25,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133912,,,,00,*43\r\n$IIDBT,071.29,f,021.73,M,011.74,F*28\r\n$GPGLL,5952.687,N,02320.650,E,133912,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.56,N,00.29,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,192.98,T,192.98,M,6.18,N,,,D*6B\r\n$IIMWV,286,T,00.34,N,A*2E\r\n$IIVWT,075,L,00.34,N,00.18,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133914,,,,00,*45\r\n$IIDBT,072.27,f,022.03,M,011.90,F*2B\r\n$GPGLL,5952.684,N,02320.649,E,133914,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,193.69,T,193.69,M,6.12,N,,,D*61\r\n$IIMWV,358,R,06.41,N,A*2E\r\n$IIVWT,054,L,00.25,N,00.13,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133916,,,,00,*47\r\n$IIDBT,072.20,f,022.01,M,011.89,F*26\r\n$GPGLL,5952.681,N,02320.647,E,133916,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.34,N,,*05\r\n$IIVTG,193.90,T,193.90,M,6.11,N,,,D*62\r\n$IIMWV,281,T,00.48,N,A*22\r\n$IIVWT,079,L,00.48,N,00.25,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133918,,,,00,*49\r\n$IIDBT,072.37,f,022.06,M,011.92,F*2D\r\n$GPGLL,5952.678,N,02320.645,E,133918,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.79,N,,*0C\r\n$IIVTG,194.22,T,194.22,M,6.18,N,,,D*6B\r\n$IIMWV,355,R,06.80,N,A*2E\r\n$IIVWT,040,L,00.99,N,00.51,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133920,,,,00,*42\r\n$IIDBT,073.02,f,022.26,M,012.03,F*23\r\n$GPGLL,5952.674,N,02320.644,E,133920,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,193.63,T,193.63,M,6.17,N,,,D*64\r\n$IIMWV,320,T,00.71,N,A*22\r\n$IIVWT,040,L,00.71,N,00.37,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133922,,,,00,*40\r\n$IIDBT,073.19,f,022.31,M,012.05,F*29\r\n$GPGLL,5952.671,N,02320.642,E,133922,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,4.77,N,,*05\r\n$IIVTG,193.18,T,193.18,M,6.12,N,,,D*61\r\n$IIMWV,352,R,06.80,N,A*29\r\n$IIVWT,065,L,01.06,N,00.55,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133924,,,,00,*46\r\n$IIDBT,073.19,f,022.31,M,012.05,F*29\r\n$GPGLL,5952.668,N,02320.641,E,133925,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.02,N,,*06\r\n$IIVTG,193.05,T,193.05,M,6.13,N,,,D*60\r\n$IIMWV,344,T,00.75,N,A*24\r\n$IIVWT,016,L,00.75,N,00.39,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133926,,,,00,*44\r\n$IIDBT,073.62,f,022.44,M,012.12,F*21\r\n$GPGLL,5952.664,N,02320.639,E,133927,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,193.09,T,193.09,M,6.18,N,,,D*6B\r\n$IIMWV,359,R,07.58,N,A*26\r\n$IIVWT,005,L,01.49,N,00.77,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133928,,,,00,*4A\r\n$IIDBT,073.75,f,022.48,M,012.15,F*2C\r\n$GPGLL,5952.661,N,02320.638,E,133929,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,192.45,T,192.45,M,6.22,N,,,D*62\r\n$IIMWV,327,T,01.67,N,A*23\r\n$IIVWT,033,L,01.67,N,00.86,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133930,,,,00,*43\r\n$IIDBT,073.98,f,022.55,M,012.18,F*2E\r\n$GPGLL,5952.658,N,02320.637,E,133931,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.62,N,,*00\r\n$IIVTG,189.71,T,189.71,M,6.23,N,,,D*63\r\n$IIMWV,355,R,07.19,N,A*2F\r\n$IIVWT,034,L,01.14,N,00.59,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133932,,,,00,*41\r\n$IIDBT,074.63,f,022.75,M,012.29,F*2D\r\n$GPGLL,5952.654,N,02320.636,E,133933,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,187.58,T,187.58,M,6.18,N,,,D*6B\r\n$IIMWV,343,T,01.16,N,A*27\r\n$IIVWT,017,L,01.16,N,00.60,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133934,,,,00,*47\r\n$IIDBT,074.63,f,022.75,M,012.29,F*2D\r\n$GPGLL,5952.651,N,02320.635,E,133935,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,188.19,T,188.19,M,6.20,N,,,D*60\r\n$IIMWV,000,R,07.77,N,A*24\r\n$IIVWT,000,R,01.94,N,01.00,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133937,,,,00,*44\r\n$IIDBT,075.19,f,022.92,M,012.38,F*28\r\n$GPGLL,5952.647,N,02320.634,E,133937,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,189.45,T,189.45,M,6.17,N,,,D*64\r\n$IIMWV,343,T,01.04,N,A*24\r\n$IIVWT,017,L,01.04,N,00.54,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133939,,,,00,*4A\r\n$IIDBT,075.22,f,022.93,M,012.39,F*20\r\n$GPGLL,5952.644,N,02320.633,E,133939,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.27,N,,*01\r\n$IIVTG,190.46,T,190.46,M,6.17,N,,,D*64\r\n$IIMWV,349,R,07.19,N,A*22\r\n$IIVWT,061,L,01.51,N,00.78,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133941,,,,00,*45\r\n$IIDBT,075.39,f,022.98,M,012.42,F*2D\r\n$GPGLL,5952.641,N,02320.631,E,133941,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.61,N,,*03\r\n$IIVTG,190.66,T,190.66,M,6.17,N,,,D*64\r\n$IIMWV,314,T,01.26,N,A*26\r\n$IIVWT,046,L,01.26,N,00.65,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133943,,,,00,*47\r\n$IIDBT,076.01,f,023.17,M,012.52,F*22\r\n$GPGLL,5952.637,N,02320.630,E,133943,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,190.12,T,190.12,M,6.19,N,,,D*6A\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,037,L,01.32,N,00.68,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133945,,,,00,*41\r\n$IIDBT,076.17,f,023.22,M,012.55,F*24\r\n$GPGLL,5952.634,N,02320.629,E,133945,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,189.55,T,189.55,M,6.15,N,,,D*66\r\n$IIMWV,316,T,01.73,N,A*24\r\n$IIVWT,045,L,01.73,N,00.89,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133947,,,,00,*43\r\n$IIDBT,076.70,f,023.38,M,012.63,F*2B\r\n$GPGLL,5952.631,N,02320.628,E,133947,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.95,N,,*09\r\n$IIVTG,190.01,T,190.01,M,6.19,N,,,D*6A\r\n$IIMWV,352,R,07.77,N,A*20\r\n$IIVWT,035,L,01.84,N,00.95,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133949,,,,00,*4D\r\n$IIDBT,077.29,f,023.56,M,012.73,F*2F\r\n$GPGLL,5952.627,N,02320.627,E,133949,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.32,N,,*05\r\n$IIVTG,190.43,T,190.43,M,6.20,N,,,D*60\r\n$IIMWV,323,T,01.57,N,A*24\r\n$IIVWT,037,L,01.57,N,00.81,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133951,,,,00,*44\r\n$IIDBT,077.39,f,023.59,M,012.75,F*27\r\n$GPGLL,5952.624,N,02320.625,E,133951,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.83,N,,*0E\r\n$IIVTG,190.33,T,190.33,M,6.20,N,,,D*60\r\n$IIMWV,349,R,07.58,N,A*27\r\n$IIVWT,050,L,01.88,N,00.97,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133953,,,,00,*46\r\n$IIDBT,077.85,f,023.73,M,012.82,F*20\r\n$GPGLL,5952.619,N,02320.624,E,133953,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,190.08,T,190.08,M,6.12,N,,,D*61\r\n$IIMWV,305,T,01.59,N,A*2E\r\n$IIVWT,055,L,01.59,N,00.82,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133955,,,,00,*40\r\n$IIDBT,078.21,f,023.84,M,012.88,F*23\r\n$GPGLL,5952.616,N,02320.622,E,133955,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.01,N,,*04\r\n$IIVTG,190.82,T,190.82,M,6.15,N,,,D*66\r\n$IIMWV,351,R,07.58,N,A*2E\r\n$IIVWT,043,L,01.80,N,00.93,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133957,,,,00,*42\r\n$IIDBT,078.80,f,024.02,M,012.98,F*20\r\n$GPGLL,5952.612,N,02320.621,E,133957,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,190.93,T,190.93,M,6.19,N,,,D*6A\r\n$IIMWV,318,T,01.92,N,A*25\r\n$IIVWT,042,L,01.92,N,00.99,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,133959,,,,00,*4C\r\n$IIDBT,078.83,f,024.03,M,012.98,F*22\r\n$GPGLL,5952.609,N,02320.620,E,133959,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.20,N,,*07\r\n$IIVTG,190.76,T,190.76,M,6.20,N,,,D*60\r\n$IIMWV,348,R,07.77,N,A*2B\r\n$IIVWT,050,L,02.09,N,01.08,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134001,,,,00,*4F\r\n$IIDBT,079.68,f,024.29,M,013.12,F*2D\r\n$GPGLL,5952.606,N,02320.619,E,134001,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.41,N,,*00\r\n$IIVTG,190.19,T,190.19,M,6.20,N,,,D*60\r\n$IIMWV,313,T,01.88,N,A*25\r\n$IIVWT,047,L,01.88,N,00.97,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134003,,,,00,*4D\r\n$IIDBT,080.08,f,024.41,M,013.19,F*28\r\n$GPGLL,5952.602,N,02320.618,E,134003,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.67,N,,*03\r\n$IIVTG,188.87,T,188.87,M,6.17,N,,,D*64\r\n$IIMWV,350,R,07.58,N,A*2F\r\n$IIVWT,043,L,01.92,N,00.99,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134005,,,,00,*4B\r\n$IIDBT,080.31,f,024.48,M,013.23,F*22\r\n$GPGLL,5952.599,N,02320.617,E,134005,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.64,N,,*06\r\n$IIVTG,188.02,T,188.02,M,6.17,N,,,D*64\r\n$IIMWV,323,T,01.12,N,A*25\r\n$IIVWT,037,L,01.12,N,00.58,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134007,,,,00,*49\r\n$IIDBT,081.10,f,024.72,M,013.36,F*2D\r\n$GPGLL,5952.595,N,02320.616,E,134008,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,188.10,T,188.10,M,6.12,N,,,D*61\r\n$IIMWV,353,R,07.77,N,A*21\r\n$IIVWT,032,L,01.88,N,00.97,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134009,,,,00,*47\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5952.592,N,02320.615,E,134010,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.46,N,,*06\r\n$IIVTG,187.58,T,187.58,M,6.10,N,,,D*63\r\n$IIMWV,334,T,01.73,N,A*24\r\n$IIVWT,027,L,01.73,N,00.89,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134011,,,,00,*4E\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5952.589,N,02320.614,E,134012,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.17,N,,*02\r\n$IIVTG,187.22,T,187.22,M,6.10,N,,,D*63\r\n$IIMWV,353,R,07.77,N,A*21\r\n$IIVWT,034,L,01.80,N,00.93,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134013,,,,00,*4C\r\n$IIDBT,081.39,f,024.81,M,013.41,F*2A\r\n$GPGLL,5952.585,N,02320.613,E,134014,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,187.15,T,187.15,M,6.10,N,,,D*63\r\n$IIMWV,323,T,01.14,N,A*23\r\n$IIVWT,037,L,01.14,N,00.59,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134015,,,,00,*4A\r\n$IIDBT,081.98,f,024.99,M,013.50,F*28\r\n$GPGLL,5952.582,N,02320.612,E,134016,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,187.76,T,187.76,M,6.10,N,,,D*63\r\n$IIMWV,351,R,07.58,N,A*2E\r\n$IIVWT,040,L,01.78,N,00.92,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134017,,,,00,*48\r\n$IIDBT,082.37,f,025.11,M,013.57,F*28\r\n$GPGLL,5952.579,N,02320.611,E,134018,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,189.82,T,189.82,M,6.10,N,,,D*63\r\n$IIMWV,331,T,01.73,N,A*21\r\n$IIVWT,029,L,01.73,N,00.89,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134020,,,,00,*4C\r\n$IIDBT,082.44,f,025.13,M,013.58,F*21\r\n$GPGLL,5952.575,N,02320.609,E,134020,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.68,N,,*0B\r\n$IIVTG,192.70,T,192.70,M,6.15,N,,,D*66\r\n$IIMWV,354,R,08.16,N,A*2E\r\n$IIVWT,025,L,02.13,N,01.10,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134022,,,,00,*4E\r\n$IIDBT,082.64,f,025.19,M,013.61,F*23\r\n$GPGLL,5952.572,N,02320.608,E,134022,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.35,N,,*02\r\n$IIVTG,191.15,T,191.15,M,6.19,N,,,D*6A\r\n$IIMWV,335,T,01.41,N,A*24\r\n$IIVWT,025,L,01.41,N,00.73,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134024,,,,00,*48\r\n$IIDBT,083.06,f,025.32,M,013.68,F*26\r\n$GPGLL,5952.569,N,02320.607,E,134024,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,189.01,T,189.01,M,6.12,N,,,D*61\r\n$IIMWV,354,R,07.58,N,A*2B\r\n$IIVWT,032,L,01.55,N,00.80,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134026,,,,00,*4A\r\n$IIDBT,083.16,f,025.35,M,013.70,F*29\r\n$GPGLL,5952.565,N,02320.606,E,134026,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,189.13,T,189.13,M,6.13,N,,,D*60\r\n$IIMWV,349,T,01.86,N,A*24\r\n$IIVWT,011,L,01.86,N,00.96,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134028,,,,00,*44\r\n$IIDBT,083.06,f,025.32,M,013.68,F*26\r\n$GPGLL,5952.562,N,02320.605,E,134028,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.68,N,,*0A\r\n$IIVTG,189.26,T,189.26,M,6.13,N,,,D*60\r\n$IIMWV,355,R,07.77,N,A*27\r\n$IIVWT,022,L,01.78,N,00.92,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134030,,,,00,*4D\r\n$IIDBT,083.03,f,025.31,M,013.68,F*20\r\n$GPGLL,5952.559,N,02320.604,E,134030,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.13,N,,*06\r\n$IIVTG,188.94,T,188.94,M,6.13,N,,,D*60\r\n$IIMWV,325,T,01.76,N,A*21\r\n$IIVWT,035,L,01.76,N,00.91,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134032,,,,00,*4F\r\n$IIDBT,083.10,f,025.33,M,013.69,F*21\r\n$GPGLL,5952.555,N,02320.603,E,134032,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.48,N,,*08\r\n$IIVTG,189.96,T,189.96,M,6.16,N,,,D*65\r\n$IIMWV,354,R,08.16,N,A*2E\r\n$IIVWT,023,L,02.19,N,01.13,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134034,,,,00,*49\r\n$IIDBT,083.36,f,025.41,M,013.73,F*2B\r\n$GPGLL,5952.552,N,02320.602,E,134034,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.40,N,,*00\r\n$IIVTG,189.94,T,189.94,M,6.19,N,,,D*6A\r\n$IIMWV,333,T,01.78,N,A*28\r\n$IIVWT,027,L,01.78,N,00.92,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134036,,,,00,*4B\r\n$IIDBT,083.36,f,025.41,M,013.73,F*2B\r\n$GPGLL,5952.547,N,02320.600,E,134036,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.18,N,,*0D\r\n$IIVTG,188.93,T,188.93,M,6.17,N,,,D*64\r\n$IIMWV,352,R,07.77,N,A*20\r\n$IIVWT,038,L,01.74,N,00.90,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134038,,,,00,*45\r\n$IIDBT,083.13,f,025.34,M,013.69,F*25\r\n$GPGLL,5952.543,N,02320.600,E,134038,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.05,N,,*00\r\n$IIVTG,185.68,T,185.68,M,6.20,N,,,D*60\r\n$IIMWV,318,T,01.92,N,A*25\r\n$IIVWT,042,L,01.92,N,00.99,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134040,,,,00,*4A\r\n$IIDBT,083.06,f,025.32,M,013.68,F*26\r\n$GPGLL,5952.540,N,02320.599,E,134040,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.79,N,,*0B\r\n$IIVTG,184.09,T,184.09,M,6.20,N,,,D*60\r\n$IIMWV,351,R,07.58,N,A*2E\r\n$IIVWT,046,L,01.74,N,00.90,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134042,,,,00,*48\r\n$IIDBT,082.97,f,025.29,M,013.66,F*2B\r\n$GPGLL,5952.536,N,02320.599,E,134042,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.21,N,,*07\r\n$IIVTG,183.30,T,183.30,M,6.20,N,,,D*60\r\n$IIMWV,328,T,01.59,N,A*21\r\n$IIVWT,032,L,01.59,N,00.82,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134044,,,,00,*4E\r\n$IIDBT,082.93,f,025.28,M,013.66,F*2E\r\n$GPGLL,5952.533,N,02320.599,E,134044,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.40,N,,*01\r\n$IIVTG,183.08,T,183.08,M,6.20,N,,,D*60\r\n$IIMWV,351,R,07.58,N,A*2E\r\n$IIVWT,044,L,01.78,N,00.92,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134046,,,,00,*4C\r\n$IIDBT,082.54,f,025.16,M,013.59,F*24\r\n$GPGLL,5952.530,N,02320.598,E,134046,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,182.87,T,182.87,M,6.20,N,,,D*60\r\n$IIMWV,316,T,01.71,N,A*26\r\n$IIVWT,045,L,01.71,N,00.88,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134048,,,,00,*42\r\n$IIDBT,082.67,f,025.20,M,013.62,F*29\r\n$GPGLL,5952.526,N,02320.598,E,134048,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,182.69,T,182.69,M,6.20,N,,,D*60\r\n$IIMWV,356,R,07.58,N,A*29\r\n$IIVWT,024,L,01.45,N,00.75,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134050,,,,00,*4B\r\n$IIDBT,082.31,f,025.09,M,013.56,F*26\r\n$GPGLL,5952.523,N,02320.598,E,134051,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,181.20,T,181.20,M,6.20,N,,,D*60\r\n$IIMWV,329,T,01.49,N,A*21\r\n$IIVWT,031,L,01.49,N,00.77,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134052,,,,00,*49\r\n$IIDBT,082.24,f,025.07,M,013.55,F*2F\r\n$GPGLL,5952.519,N,02320.598,E,134053,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,180.23,T,180.23,M,6.20,N,,,D*60\r\n$IIMWV,358,R,07.58,N,A*27\r\n$IIVWT,013,L,01.36,N,00.70,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134054,,,,00,*4F\r\n$IIDBT,082.47,f,025.14,M,013.58,F*25\r\n$GPGLL,5952.516,N,02320.598,E,134055,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.92,N,,*0E\r\n$IIVTG,179.91,T,179.91,M,6.20,N,,,D*60\r\n$IIMWV,312,T,01.74,N,A*27\r\n$IIVWT,048,L,01.74,N,00.90,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134056,,,,00,*4D\r\n$IIDBT,082.44,f,025.13,M,013.58,F*21\r\n$GPGLL,5952.512,N,02320.598,E,134057,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.66,N,,*04\r\n$IIVTG,179.40,T,179.40,M,6.20,N,,,D*60\r\n$IIMWV,359,R,07.77,N,A*2B\r\n$IIVWT,007,L,01.59,N,00.82,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134058,,,,00,*43\r\n$IIDBT,082.05,f,025.01,M,013.51,F*2E\r\n$GPGLL,5952.509,N,02320.598,E,134059,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.42,N,,*02\r\n$IIVTG,178.17,T,178.17,M,6.20,N,,,D*60\r\n$IIMWV,329,T,01.59,N,A*20\r\n$IIVWT,032,L,01.59,N,00.82,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134100,,,,00,*4F\r\n$IIDBT,082.24,f,025.07,M,013.55,F*2F\r\n$GPGLL,5952.506,N,02320.599,E,134101,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.81,N,,*0D\r\n$IIVTG,177.42,T,177.42,M,6.20,N,,,D*60\r\n$IIMWV,358,R,07.58,N,A*27\r\n$IIVWT,014,L,01.45,N,00.75,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134103,,,,00,*4C\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5952.502,N,02320.599,E,134103,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.52,N,,*02\r\n$IIVTG,177.06,T,177.06,M,6.17,N,,,D*64\r\n$IIMWV,324,T,01.67,N,A*20\r\n$IIVWT,036,L,01.67,N,00.86,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134105,,,,00,*4A\r\n$IIDBT,081.65,f,024.89,M,013.45,F*2F\r\n$GPGLL,5952.499,N,02320.599,E,134105,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.15,N,,*00\r\n$IIVTG,177.22,T,177.22,M,6.19,N,,,D*6A\r\n$IIMWV,356,R,07.58,N,A*29\r\n$IIVWT,021,L,01.59,N,00.82,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134107,,,,00,*48\r\n$IIDBT,081.65,f,024.89,M,013.45,F*2F\r\n$GPGLL,5952.495,N,02320.600,E,134107,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.43,N,,*03\r\n$IIVTG,176.58,T,176.58,M,6.22,N,,,D*62\r\n$IIMWV,329,T,01.10,N,A*2D\r\n$IIVWT,031,L,01.10,N,00.57,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134109,,,,00,*46\r\n$IIDBT,081.52,f,024.85,M,013.43,F*21\r\n$GPGLL,5952.492,N,02320.600,E,134109,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.10,N,,*04\r\n$IIVTG,175.82,T,175.82,M,6.21,N,,,D*61\r\n$IIMWV,355,R,07.58,N,A*2A\r\n$IIVWT,024,L,01.65,N,00.85,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134111,,,,00,*4F\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,5952.489,N,02320.601,E,134111,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.71,N,,*02\r\n$IIVTG,174.88,T,174.88,M,6.23,N,,,D*63\r\n$IIMWV,343,T,01.51,N,A*24\r\n$IIVWT,017,L,01.51,N,00.78,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134113,,,,00,*4D\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,5952.485,N,02320.602,E,134113,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.59,N,,*08\r\n$IIVTG,174.27,T,174.27,M,6.21,N,,,D*61\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,041,L,01.10,N,00.57,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134115,,,,00,*4B\r\n$IIDBT,081.33,f,024.79,M,013.39,F*28\r\n$GPGLL,5952.482,N,02320.602,E,134115,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,174.86,T,174.86,M,6.20,N,,,D*60\r\n$IIMWV,319,T,01.63,N,A*2A\r\n$IIVWT,041,L,01.63,N,00.84,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134117,,,,00,*49\r\n$IIDBT,081.16,f,024.74,M,013.37,F*2C\r\n$GPGLL,5952.478,N,02320.603,E,134117,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.04,N,,*00\r\n$IIVTG,175.34,T,175.34,M,6.20,N,,,D*60\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,039,L,01.24,N,00.64,M,,*25\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134119,,,,00,*47\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5952.473,N,02320.604,E,134119,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,3.57,N,,*00\r\n$IIVTG,175.43,T,175.43,M,6.25,N,,,D*65\r\n$IIMWV,312,T,01.49,N,A*29\r\n$IIVWT,048,L,01.49,N,00.77,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134121,,,,00,*4C\r\n$IIDBT,081.16,f,024.74,M,013.37,F*2C\r\n$GPGLL,5952.470,N,02320.604,E,134121,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.57,N,,*07\r\n$IIVTG,174.21,T,174.21,M,6.26,N,,,D*66\r\n$IIMWV,354,R,07.58,N,A*2B\r\n$IIVWT,030,L,01.69,N,00.87,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134123,,,,00,*4E\r\n$IIDBT,081.29,f,024.78,M,013.39,F*22\r\n$GPGLL,5952.466,N,02320.605,E,134123,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,173.20,T,173.20,M,6.22,N,,,D*62\r\n$IIMWV,323,T,01.14,N,A*23\r\n$IIVWT,037,L,01.14,N,00.59,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134125,,,,00,*48\r\n$IIDBT,081.03,f,024.70,M,013.35,F*2E\r\n$GPGLL,5952.463,N,02320.606,E,134125,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.37,N,,*01\r\n$IIVTG,172.90,T,172.90,M,6.20,N,,,D*60\r\n$IIMWV,353,R,07.19,N,A*29\r\n$IIVWT,047,L,01.24,N,00.64,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134127,,,,00,*4A\r\n$IIDBT,081.03,f,024.70,M,013.35,F*2E\r\n$GPGLL,5952.459,N,02320.607,E,134127,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.36,N,,*00\r\n$IIVTG,171.07,T,171.07,M,6.23,N,,,D*63\r\n$IIMWV,312,T,01.45,N,A*25\r\n$IIVWT,048,L,01.45,N,00.75,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134129,,,,00,*44\r\n$IIDBT,081.06,f,024.71,M,013.35,F*2A\r\n$GPGLL,5952.456,N,02320.608,E,134129,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.93,N,,*0F\r\n$IIVTG,170.17,T,170.17,M,6.21,N,,,D*61\r\n$IIMWV,355,R,07.19,N,A*2F\r\n$IIVWT,033,L,01.26,N,00.65,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134131,,,,00,*4D\r\n$IIDBT,081.23,f,024.76,M,013.38,F*27\r\n$GPGLL,5952.453,N,02320.610,E,134131,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,170.70,T,170.70,M,6.20,N,,,D*60\r\n$IIMWV,314,T,01.30,N,A*21\r\n$IIVWT,046,L,01.30,N,00.67,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134133,,,,00,*4F\r\n$IIDBT,081.10,f,024.72,M,013.36,F*2D\r\n$GPGLL,5952.449,N,02320.611,E,134134,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.14,N,,*02\r\n$IIVTG,171.87,T,171.87,M,6.20,N,,,D*60\r\n$IIMWV,358,R,07.19,N,A*22\r\n$IIVWT,018,L,00.95,N,00.49,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134135,,,,00,*49\r\n$IIDBT,081.13,f,024.73,M,013.36,F*2F\r\n$GPGLL,5952.446,N,02320.611,E,134136,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.71,N,,*03\r\n$IIVTG,173.44,T,173.44,M,6.23,N,,,D*63\r\n$IIMWV,313,T,01.20,N,A*27\r\n$IIVWT,047,L,01.20,N,00.62,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134137,,,,00,*4B\r\n$IIDBT,081.03,f,024.70,M,013.35,F*2E\r\n$GPGLL,5952.442,N,02320.612,E,134138,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.81,N,00.42,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,2.43,N,,*04\r\n$IIVTG,173.31,T,173.31,M,6.23,N,,,D*63\r\n$IIMWV,354,R,07.19,N,A*2E\r\n$IIVWT,038,L,01.30,N,00.67,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134139,,,,00,*45\r\n$IIDBT,081.06,f,024.71,M,013.35,F*2A\r\n$GPGLL,5952.439,N,02320.613,E,134140,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.75,N,,*00\r\n$IIVTG,172.65,T,172.65,M,6.21,N,,,D*61\r\n$IIMWV,314,T,00.87,N,A*2C\r\n$IIVWT,046,L,00.87,N,00.45,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134141,,,,00,*4A\r\n$IIDBT,081.06,f,024.71,M,013.35,F*2A\r\n$GPGLL,5952.436,N,02320.614,E,134142,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,173.16,T,173.16,M,6.25,N,,,D*65\r\n$IIMWV,352,R,07.19,N,A*28\r\n$IIVWT,044,L,01.49,N,00.77,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134143,,,,00,*48\r\n$IIDBT,081.52,f,024.85,M,013.43,F*21\r\n$GPGLL,5952.432,N,02320.615,E,134144,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,173.01,T,173.01,M,6.26,N,,,D*66\r\n$IIMWV,352,T,00.91,N,A*29\r\n$IIVWT,008,L,00.91,N,00.47,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134146,,,,00,*4D\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,5952.429,N,02320.616,E,134146,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.55,N,,*05\r\n$IIVTG,172.26,T,172.26,M,6.27,N,,,D*67\r\n$IIMWV,353,R,07.19,N,A*29\r\n$IIVWT,040,L,01.32,N,00.68,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134148,,,,00,*43\r\n$IIDBT,081.26,f,024.77,M,013.38,F*23\r\n$GPGLL,5952.425,N,02320.617,E,134148,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.91,N,00.47,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,171.24,T,171.24,M,6.27,N,,,D*67\r\n$IIMWV,004,T,00.50,N,A*24\r\n$IIVWT,004,R,00.50,N,00.26,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134150,,,,00,*4A\r\n$IIDBT,081.19,f,024.75,M,013.37,F*22\r\n$GPGLL,5952.422,N,02320.618,E,134150,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,4.08,N,,*0D\r\n$IIVTG,170.48,T,170.48,M,6.22,N,,,D*62\r\n$IIMWV,352,R,06.80,N,A*29\r\n$IIVWT,065,L,01.08,N,00.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134152,,,,00,*48\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,5952.419,N,02320.619,E,134152,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,5.65,N,,*07\r\n$IIVTG,170.05,T,170.05,M,6.20,N,,,D*60\r\n$IIMWV,357,T,01.04,N,A*21\r\n$IIVWT,003,L,01.04,N,00.54,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134154,,,,00,*4E\r\n$IIDBT,081.42,f,024.82,M,013.41,F*25\r\n$GPGLL,5952.415,N,02320.620,E,134154,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,170.34,T,170.34,M,6.20,N,,,D*60\r\n$IIMWV,355,R,07.19,N,A*2F\r\n$IIVWT,039,L,01.06,N,00.55,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134156,,,,00,*4C\r\n$IIDBT,081.69,f,024.90,M,013.45,F*2B\r\n$GPGLL,5952.412,N,02320.621,E,134156,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,173.13,T,173.13,M,6.25,N,,,D*65\r\n$IIMWV,348,T,00.54,N,A*2B\r\n$IIVWT,012,L,00.54,N,00.28,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134158,,,,00,*42\r\n$IIDBT,081.98,f,024.99,M,013.50,F*28\r\n$GPGLL,5952.408,N,02320.622,E,134158,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,173.91,T,173.91,M,6.29,N,,,D*69\r\n$IIMWV,357,R,06.80,N,A*2C\r\n$IIVWT,031,L,00.73,N,00.38,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134200,,,,00,*4C\r\n$IIDBT,081.29,f,024.78,M,013.39,F*22\r\n$GPGLL,5952.405,N,02320.623,E,134200,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.91,N,,*0C\r\n$IIVTG,171.85,T,171.85,M,6.30,N,,,D*61\r\n$IIMWV,337,T,00.62,N,A*26\r\n$IIVWT,023,L,00.62,N,00.32,M,,*2E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134202,,,,00,*4E\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5952.400,N,02320.625,E,134202,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,169.79,T,169.79,M,6.25,N,,,D*65\r\n$IIMWV,357,R,06.80,N,A*2C\r\n$IIVWT,032,L,00.66,N,00.34,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134204,,,,00,*48\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5952.396,N,02320.626,E,134204,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.46,N,00.24,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,170.02,T,170.02,M,6.29,N,,,D*69\r\n$IIMWV,344,T,01.57,N,A*25\r\n$IIVWT,016,L,01.57,N,00.81,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134206,,,,00,*4A\r\n$IIDBT,081.65,f,024.89,M,013.45,F*2F\r\n$GPGLL,5952.393,N,02320.627,E,134206,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.25,N,,*03\r\n$IIVTG,168.66,T,168.66,M,6.32,N,,,D*63\r\n$IIMWV,357,R,07.19,N,A*2D\r\n$IIVWT,021,L,01.08,N,00.56,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134208,,,,00,*44\r\n$IIDBT,081.78,f,024.93,M,013.47,F*2A\r\n$GPGLL,5952.390,N,02320.629,E,134208,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,166.51,T,166.51,M,6.28,N,,,D*68\r\n$IIMWV,349,T,00.58,N,A*26\r\n$IIVWT,011,L,00.58,N,00.30,M,,*24\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134210,,,,00,*4D\r\n$IIDBT,081.52,f,024.85,M,013.43,F*21\r\n$GPGLL,5952.386,N,02320.631,E,134210,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.89,N,,*05\r\n$IIVTG,164.53,T,164.53,M,6.22,N,,,D*62\r\n$IIMWV,360,R,07.19,N,A*29\r\n$IIVWT,003,L,01.14,N,00.59,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134212,,,,00,*4F\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5952.383,N,02320.633,E,134212,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,163.08,T,163.08,M,6.21,N,,,D*61\r\n$IIMWV,313,T,00.79,N,A*2A\r\n$IIVWT,047,L,00.79,N,00.41,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134214,,,,00,*49\r\n$IIDBT,081.62,f,024.88,M,013.44,F*28\r\n$GPGLL,5952.380,N,02320.635,E,134214,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.21,N,,*04\r\n$IIVTG,162.35,T,162.35,M,6.23,N,,,D*63\r\n$IIMWV,358,R,06.80,N,A*23\r\n$IIVWT,031,L,00.56,N,00.29,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134216,,,,00,*4B\r\n$IIDBT,081.92,f,024.97,M,013.49,F*24\r\n$GPGLL,5952.376,N,02320.637,E,134217,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,4.96,N,,*0A\r\n$IIVTG,161.74,T,161.74,M,6.23,N,,,D*63\r\n$IIMWV,318,T,00.77,N,A*2F\r\n$IIVWT,042,L,00.77,N,00.40,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134218,,,,00,*45\r\n$IIDBT,081.42,f,024.82,M,013.41,F*25\r\n$GPGLL,5952.373,N,02320.639,E,134219,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,161.28,T,161.28,M,6.23,N,,,D*63\r\n$IIMWV,355,R,06.80,N,A*2E\r\n$IIVWT,039,L,00.95,N,00.49,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134220,,,,00,*4E\r\n$IIDBT,081.39,f,024.81,M,013.41,F*2A\r\n$GPGLL,5952.370,N,02320.642,E,134221,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.60,N,00.31,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.58,N,,*09\r\n$IIVTG,160.52,T,160.52,M,6.23,N,,,D*63\r\n$IIMWV,345,T,01.10,N,A*27\r\n$IIVWT,015,L,01.10,N,00.57,M,,*2C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134222,,,,00,*4C\r\n$IIDBT,081.13,f,024.73,M,013.36,F*2F\r\n$GPGLL,5952.367,N,02320.644,E,134223,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.68,N,00.35,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,3.61,N,,*05\r\n$IIVTG,159.91,T,159.91,M,6.21,N,,,D*61\r\n$IIMWV,353,R,06.80,N,A*28\r\n$IIVWT,055,L,01.01,N,00.52,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134224,,,,00,*4A\r\n$IIDBT,081.29,f,024.78,M,013.39,F*22\r\n$GPGLL,5952.363,N,02320.646,E,134225,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.54,N,00.28,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,2.53,N,,*05\r\n$IIVTG,159.70,T,159.70,M,6.28,N,,,D*68\r\n$IIMWV,312,T,01.39,N,A*2E\r\n$IIVWT,048,L,01.39,N,00.72,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134227,,,,00,*49\r\n$IIDBT,080.67,f,024.59,M,013.29,F*2B\r\n$GPGLL,5952.360,N,02320.649,E,134227,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,159.10,T,159.10,M,6.24,N,,,D*64\r\n$IIMWV,356,R,07.19,N,A*2C\r\n$IIVWT,023,L,01.16,N,00.60,M,,*2B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134229,,,,00,*47\r\n$IIDBT,080.60,f,024.57,M,013.28,F*23\r\n$GPGLL,5952.357,N,02320.652,E,134229,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,157.23,T,157.23,M,6.24,N,,,D*64\r\n$IIMWV,005,T,01.01,N,A*20\r\n$IIVWT,005,R,01.01,N,00.52,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134231,,,,00,*4E\r\n$IIDBT,080.31,f,024.48,M,013.23,F*22\r\n$GPGLL,5952.354,N,02320.655,E,134231,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.19,N,11.46,K*59\r\n$IIVPW,4.61,N,,*02\r\n$IIVTG,154.48,T,154.48,M,6.21,N,,,D*61\r\n$IIMWV,355,R,07.19,N,A*2F\r\n$IIVWT,034,L,01.24,N,00.64,M,,*28\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134233,,,,00,*4C\r\n$IIDBT,079.62,f,024.27,M,013.11,F*2A\r\n$GPGLL,5952.351,N,02320.658,E,134233,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,152.22,T,152.22,M,6.20,N,,,D*60\r\n$IIMWV,348,T,01.03,N,A*28\r\n$IIVWT,012,L,01.03,N,00.53,M,,*2D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134235,,,,00,*4A\r\n$IIDBT,079.29,f,024.17,M,013.06,F*20\r\n$GPGLL,5952.348,N,02320.661,E,134235,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,154.20,T,154.20,M,6.18,N,,,D*6B\r\n$IIMWV,000,R,07.58,N,A*29\r\n$IIVWT,002,R,01.45,N,00.75,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134237,,,,00,*48\r\n$IIDBT,078.44,f,023.91,M,012.92,F*2F\r\n$GPGLL,5952.345,N,02320.664,E,134237,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,155.73,T,155.73,M,6.19,N,,,D*6A\r\n$IIMWV,351,T,01.30,N,A*20\r\n$IIVWT,009,L,01.30,N,00.67,M,,*20\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134239,,,,00,*46\r\n$IIDBT,076.99,f,023.47,M,012.68,F*2F\r\n$GPGLL,5952.342,N,02320.666,E,134239,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,6.00,N,,*07\r\n$IIVTG,155.65,T,155.65,M,6.17,N,,,D*64\r\n$IIMWV,357,R,07.19,N,A*2D\r\n$IIVWT,024,L,01.12,N,00.58,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134241,,,,00,*49\r\n$IIDBT,076.50,f,023.32,M,012.60,F*20\r\n$GPGLL,5952.338,N,02320.669,E,134241,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,155.52,T,155.52,M,6.24,N,,,D*64\r\n$IIMWV,352,T,01.03,N,A*23\r\n$IIVWT,009,L,01.03,N,00.53,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134243,,,,00,*4B\r\n$IIDBT,075.62,f,023.05,M,012.45,F*21\r\n$GPGLL,5952.335,N,02320.672,E,134243,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.39,N,,*0E\r\n$IIVTG,153.23,T,153.23,M,6.21,N,,,D*61\r\n$IIMWV,002,R,07.77,N,A*26\r\n$IIVWT,007,R,01.69,N,00.87,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134245,,,,00,*4D\r\n$IIDBT,074.93,f,022.84,M,012.34,F*20\r\n$GPGLL,5952.331,N,02320.677,E,134245,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,151.89,T,151.89,M,6.20,N,,,D*60\r\n$IIMWV,342,T,01.51,N,A*25\r\n$IIVWT,018,L,01.51,N,00.78,M,,*29\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134247,,,,00,*4F\r\n$IIDBT,074.86,f,022.82,M,012.33,F*25\r\n$GPGLL,5952.328,N,02320.680,E,134247,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,152.00,T,152.00,M,6.20,N,,,D*60\r\n$IIMWV,357,R,07.58,N,A*28\r\n$IIVWT,014,L,01.41,N,00.73,M,,*2F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134249,,,,00,*41\r\n$IIDBT,073.88,f,022.52,M,012.17,F*27\r\n$GPGLL,5952.325,N,02320.684,E,134249,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,152.95,T,152.95,M,6.20,N,,,D*60\r\n$IIMWV,001,T,01.51,N,A*21\r\n$IIVWT,001,R,01.51,N,00.78,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134251,,,,00,*48\r\n$IIDBT,073.81,f,022.50,M,012.16,F*2D\r\n$GPGLL,5952.322,N,02320.687,E,134251,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,153.61,T,153.61,M,6.20,N,,,D*60\r\n$IIMWV,355,R,07.58,N,A*2A\r\n$IIVWT,028,L,01.45,N,00.75,M,,*22\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134253,,,,00,*4A\r\n$IIDBT,072.99,f,022.25,M,012.02,F*22\r\n$GPGLL,5952.318,N,02320.690,E,134253,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,153.00,T,153.00,M,6.20,N,,,D*60\r\n$IIMWV,357,T,01.63,N,A*20\r\n$IIVWT,003,L,01.63,N,00.84,M,,*21\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134255,,,,00,*4C\r\n$IIDBT,073.12,f,022.29,M,012.04,F*2A\r\n$GPGLL,5952.315,N,02320.693,E,134255,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,153.45,T,153.45,M,6.20,N,,,D*60\r\n$IIMWV,360,R,07.58,N,A*2C\r\n$IIVWT,003,L,01.32,N,00.68,M,,*27\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134257,,,,00,*4E\r\n$IIDBT,072.53,f,022.11,M,011.95,F*2E\r\n$GPGLL,5952.312,N,02320.696,E,134257,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,4.07,N,,*02\r\n$IIVTG,152.51,T,152.51,M,6.23,N,,,D*63\r\n$IIMWV,334,T,01.73,N,A*24\r\n$IIVWT,026,L,01.73,N,00.89,M,,*2A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134259,,,,00,*40\r\n$IIDBT,072.37,f,022.06,M,011.92,F*2D\r\n$GPGLL,5952.309,N,02320.700,E,134300,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,149.78,T,149.78,M,6.21,N,,,D*61\r\n$IIMWV,002,R,07.58,N,A*2B\r\n$IIVWT,011,R,01.41,N,00.73,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134301,,,,00,*4C\r\n$IIDBT,072.04,f,021.96,M,011.86,F*22\r\n$GPGLL,5952.306,N,02320.703,E,134302,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,6.08,N,,*0F\r\n$IIVTG,149.87,T,149.87,M,6.20,N,,,D*60\r\n$IIMWV,350,T,01.63,N,A*27\r\n$IIVWT,010,L,01.63,N,00.84,M,,*23\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134303,,,,00,*4E\r\n$IIDBT,071.52,f,021.80,M,011.78,F*24\r\n$GPGLL,5952.304,N,02320.707,E,134304,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.18,N,11.44,K*5A\r\n$IIVPW,5.70,N,,*03\r\n$IIVTG,146.82,T,146.82,M,6.20,N,,,D*60\r\n$IIMWV,005,R,07.77,N,A*21\r\n$IIVWT,024,R,01.69,N,00.87,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134305,,,,00,*48\r\n$IIDBT,071.19,f,021.70,M,011.72,F*2E\r\n$GPGLL,5952.301,N,02320.711,E,134306,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,144.98,T,144.98,M,6.20,N,,,D*60\r\n$IIMWV,009,T,01.63,N,A*28\r\n$IIVWT,009,R,01.63,N,00.84,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134307,,,,00,*4A\r\n$IIDBT,070.86,f,021.60,M,011.67,F*2C\r\n$GPGLL,5952.298,N,02320.715,E,134308,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,144.02,T,144.02,M,6.20,N,,,D*60\r\n$IIMWV,001,R,07.77,N,A*25\r\n$IIVWT,006,R,01.59,N,00.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134310,,,,00,*4C\r\n$IIDBT,070.40,f,021.46,M,011.59,F*2F\r\n$GPGLL,5952.295,N,02320.719,E,134310,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,142.93,T,142.93,M,6.20,N,,,D*60\r\n$IIMWV,015,T,01.61,N,A*27\r\n$IIVWT,015,R,01.61,N,00.83,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134312,,,,00,*4E\r\n$IIDBT,069.97,f,021.33,M,011.52,F*24\r\n$GPGLL,5952.293,N,02320.723,E,134312,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.13,N,,*05\r\n$IIVTG,142.66,T,142.66,M,6.20,N,,,D*60\r\n$IIMWV,003,R,07.77,N,A*27\r\n$IIVWT,012,R,01.63,N,00.84,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134314,,,,00,*48\r\n$IIDBT,069.28,f,021.12,M,011.41,F*21\r\n$GPGLL,5952.290,N,02320.728,E,134314,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,141.42,T,141.42,M,6.20,N,,,D*60\r\n$IIMWV,010,T,01.57,N,A*27\r\n$IIVWT,010,R,01.57,N,00.81,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134316,,,,00,*4A\r\n$IIDBT,069.09,f,021.06,M,011.38,F*29\r\n$GPGLL,5952.287,N,02320.732,E,134316,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.86,N,,*0A\r\n$IIVTG,139.95,T,139.95,M,6.20,N,,,D*60\r\n$IIMWV,004,R,07.77,N,A*20\r\n$IIVWT,016,R,01.67,N,00.86,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134318,,,,00,*44\r\n$IIDBT,068.50,f,020.88,M,011.28,F*22\r\n$GPGLL,5952.285,N,02320.736,E,134318,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.82,N,,*0E\r\n$IIVTG,139.41,T,139.41,M,6.20,N,,,D*60\r\n$IIMWV,014,T,01.39,N,A*2B\r\n$IIVWT,014,R,01.39,N,00.72,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134320,,,,00,*4F\r\n$IIDBT,067.81,f,020.67,M,011.17,F*2C\r\n$GPGLL,5952.282,N,02320.741,E,134320,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.99,N,,*04\r\n$IIVTG,138.78,T,138.78,M,6.20,N,,,D*60\r\n$IIMWV,003,R,07.58,N,A*2A\r\n$IIVWT,015,R,01.38,N,00.71,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134322,,,,00,*4D\r\n$IIDBT,067.48,f,020.57,M,011.11,F*2C\r\n$GPGLL,5952.280,N,02320.745,E,134322,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,138.49,T,138.49,M,6.15,N,,,D*66\r\n$IIMWV,026,T,01.47,N,A*23\r\n$IIVWT,026,R,01.47,N,00.76,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134324,,,,00,*4B\r\n$IIDBT,066.17,f,020.17,M,010.90,F*2B\r\n$GPGLL,5952.277,N,02320.750,E,134324,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,138.45,T,138.45,M,6.19,N,,,D*6A\r\n$IIMWV,005,R,07.58,N,A*2C\r\n$IIVWT,023,R,01.55,N,00.80,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134326,,,,00,*49\r\n$IIDBT,065.38,f,019.93,M,010.77,F*2A\r\n$GPGLL,5952.274,N,02320.755,E,134326,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.72,N,,*01\r\n$IIVTG,138.29,T,138.29,M,6.20,N,,,D*60\r\n$IIMWV,024,T,01.59,N,A*2E\r\n$IIVWT,024,R,01.59,N,00.82,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134328,,,,00,*47\r\n$IIDBT,065.22,f,019.88,M,010.74,F*28\r\n$GPGLL,5952.271,N,02320.761,E,134328,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.56,N,,*07\r\n$IIVTG,137.92,T,137.92,M,6.14,N,,,D*67\r\n$IIMWV,004,R,07.58,N,A*2D\r\n$IIVWT,023,R,01.49,N,00.77,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134330,,,,00,*4E\r\n$IIDBT,064.76,f,019.74,M,010.67,F*29\r\n$GPGLL,5952.268,N,02320.766,E,134330,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.83,N,,*0F\r\n$IIVTG,138.31,T,138.31,M,6.13,N,,,D*60\r\n$IIMWV,026,T,01.49,N,A*2D\r\n$IIVWT,026,R,01.49,N,00.77,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134332,,,,00,*4C\r\n$IIDBT,063.71,f,019.42,M,010.49,F*20\r\n$GPGLL,5952.265,N,02320.770,E,134332,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.20,N,,*06\r\n$IIVTG,139.00,T,139.00,M,6.11,N,,,D*62\r\n$IIMWV,006,R,07.58,N,A*2F\r\n$IIVWT,031,R,01.57,N,00.81,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134334,,,,00,*4A\r\n$IIDBT,062.76,f,019.13,M,010.34,F*28\r\n$GPGLL,5952.263,N,02320.775,E,134334,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.87,N,,*0B\r\n$IIVTG,139.22,T,139.22,M,6.10,N,,,D*63\r\n$IIMWV,017,T,01.49,N,A*2F\r\n$IIVWT,017,R,01.49,N,00.77,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134336,,,,00,*48\r\n$IIDBT,061.74,f,018.82,M,010.17,F*21\r\n$GPGLL,5952.260,N,02320.779,E,134336,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,138.23,T,138.23,M,6.10,N,,,D*63\r\n$IIMWV,003,R,07.58,N,A*2A\r\n$IIVWT,017,R,01.55,N,00.80,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134338,,,,00,*46\r\n$IIDBT,060.26,f,018.37,M,009.92,F*2C\r\n$GPGLL,5952.258,N,02320.784,E,134338,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.80,N,,*0C\r\n$IIVTG,138.03,T,138.03,M,6.10,N,,,D*63\r\n$IIMWV,017,T,01.51,N,A*26\r\n$IIVWT,017,R,01.51,N,00.78,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134340,,,,00,*49\r\n$IIDBT,058.88,f,017.95,M,009.70,F*28\r\n$GPGLL,5952.255,N,02320.788,E,134341,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,138.18,T,138.18,M,6.15,N,,,D*66\r\n$IIMWV,006,R,07.58,N,A*2F\r\n$IIVWT,029,R,01.71,N,00.88,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134342,,,,00,*4B\r\n$IIDBT,058.56,f,017.85,M,009.64,F*2F\r\n$GPGLL,5952.253,N,02320.793,E,134343,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.95,N,,*08\r\n$IIVTG,137.77,T,137.77,M,6.14,N,,,D*67\r\n$IIMWV,010,T,01.73,N,A*21\r\n$IIVWT,010,R,01.73,N,00.89,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134344,,,,00,*4D\r\n$IIDBT,058.39,f,017.80,M,009.62,F*25\r\n$GPGLL,5952.250,N,02320.797,E,134345,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.88,N,,*04\r\n$IIVTG,137.42,T,137.42,M,6.11,N,,,D*62\r\n$IIMWV,002,R,07.58,N,A*2B\r\n$IIVWT,011,R,01.38,N,00.71,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134346,,,,00,*4F\r\n$IIDBT,058.13,f,017.72,M,009.57,F*26\r\n$GPGLL,5952.248,N,02320.802,E,134347,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.96,N,,*0B\r\n$IIVTG,137.33,T,137.33,M,6.15,N,,,D*66\r\n$IIMWV,009,T,01.39,N,A*27\r\n$IIVWT,009,R,01.39,N,00.72,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134348,,,,00,*41\r\n$IIDBT,057.64,f,017.57,M,009.49,F*21\r\n$GPGLL,5952.245,N,02320.806,E,134349,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,6.10,N,,*06\r\n$IIVTG,137.63,T,137.63,M,6.19,N,,,D*6A\r\n$IIMWV,003,R,07.58,N,A*2A\r\n$IIVWT,015,R,01.45,N,00.75,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134350,,,,00,*48\r\n$IIDBT,056.92,f,017.35,M,009.37,F*24\r\n$GPGLL,5952.243,N,02320.811,E,134351,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,138.51,T,138.51,M,6.15,N,,,D*66\r\n$IIMWV,012,T,01.43,N,A*20\r\n$IIVWT,012,R,01.43,N,00.74,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134353,,,,00,*4B\r\n$IIDBT,056.16,f,017.12,M,009.25,F*2E\r\n$GPGLL,5952.240,N,02320.815,E,134353,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,6.01,N,,*06\r\n$IIVTG,139.90,T,139.90,M,6.11,N,,,D*62\r\n$IIMWV,003,R,07.58,N,A*2A\r\n$IIVWT,016,R,01.39,N,00.72,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134355,,,,00,*4D\r\n$IIDBT,055.34,f,016.87,M,009.11,F*27\r\n$GPGLL,5952.237,N,02320.820,E,134355,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,6.12,N,,*04\r\n$IIVTG,140.22,T,140.22,M,6.15,N,,,D*66\r\n$IIMWV,001,T,01.67,N,A*24\r\n$IIVWT,001,R,01.67,N,00.86,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134357,,,,00,*4F\r\n$IIDBT,054.55,f,016.63,M,008.98,F*2B\r\n$GPGLL,5952.235,N,02320.824,E,134357,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.74,N,,*07\r\n$IIVTG,139.23,T,139.23,M,6.19,N,,,D*6A\r\n$IIMWV,004,R,08.16,N,A*28\r\n$IIVWT,016,R,02.09,N,01.08,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134359,,,,00,*41\r\n$IIDBT,053.96,f,016.45,M,008.89,F*27\r\n$GPGLL,5952.232,N,02320.829,E,134359,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,6.04,N,,*03\r\n$IIVTG,138.03,T,138.03,M,6.20,N,,,D*60\r\n$IIMWV,018,T,01.96,N,A*22\r\n$IIVWT,018,R,01.96,N,01.01,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134401,,,,00,*4B\r\n$IIDBT,053.21,f,016.22,M,008.76,F*2A\r\n$GPGLL,5952.230,N,02320.833,E,134401,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.84,N,,*08\r\n$IIVTG,136.03,T,136.03,M,6.20,N,,,D*60\r\n$IIMWV,004,R,08.16,N,A*28\r\n$IIVWT,017,R,02.00,N,01.03,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134403,,,,00,*49\r\n$IIDBT,052.85,f,016.11,M,008.70,F*23\r\n$GPGLL,5952.227,N,02320.838,E,134403,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.73,N,,*00\r\n$IIVTG,134.46,T,134.46,M,6.15,N,,,D*66\r\n$IIMWV,018,T,02.13,N,A*2C\r\n$IIVWT,018,R,02.13,N,01.10,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134405,,,,00,*4F\r\n$IIDBT,052.59,f,016.03,M,008.66,F*26\r\n$GPGLL,5952.225,N,02320.843,E,134405,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,6.07,N,,*00\r\n$IIVTG,133.62,T,133.62,M,6.11,N,,,D*62\r\n$IIMWV,003,R,08.55,N,A*28\r\n$IIVWT,012,R,02.35,N,01.21,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134407,,,,00,*4D\r\n$IIDBT,052.09,f,015.88,M,008.58,F*2E\r\n$GPGLL,5952.223,N,02320.848,E,134407,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.78,N,,*0B\r\n$IIVTG,132.68,T,132.68,M,6.10,N,,,D*63\r\n$IIMWV,021,T,02.44,N,A*24\r\n$IIVWT,021,R,02.44,N,01.26,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134409,,,,00,*43\r\n$IIDBT,051.93,f,015.83,M,008.55,F*28\r\n$GPGLL,5952.219,N,02320.856,E,134409,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.92,N,,*0F\r\n$IIVTG,132.14,T,132.14,M,6.10,N,,,D*63\r\n$IIMWV,003,R,08.16,N,A*2F\r\n$IIVWT,012,R,02.11,N,01.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134411,,,,00,*4A\r\n$IIDBT,051.54,f,015.71,M,008.49,F*23\r\n$GPGLL,5952.217,N,02320.861,E,134411,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,131.19,T,131.19,M,6.18,N,,,D*6B\r\n$IIMWV,009,T,02.00,N,A*2E\r\n$IIVWT,009,R,02.00,N,01.03,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134413,,,,00,*48\r\n$IIDBT,051.11,f,015.58,M,008.42,F*22\r\n$GPGLL,5952.215,N,02320.866,E,134413,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,131.25,T,131.25,M,6.12,N,,,D*61\r\n$IIMWV,005,R,08.16,N,A*29\r\n$IIVWT,018,R,02.11,N,01.09,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134415,,,,00,*4E\r\n$IIDBT,050.91,f,015.52,M,008.38,F*2C\r\n$GPGLL,5952.213,N,02320.871,E,134415,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.94,N,,*09\r\n$IIVTG,132.19,T,132.19,M,6.10,N,,,D*63\r\n$IIMWV,014,T,02.11,N,A*22\r\n$IIVWT,014,R,02.11,N,01.09,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134417,,,,00,*4C\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,5952.210,N,02320.876,E,134417,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.12,N,11.33,K*50\r\n$IIVPW,5.90,N,,*0D\r\n$IIVTG,132.72,T,132.72,M,6.10,N,,,D*63\r\n$IIMWV,004,R,08.16,N,A*28\r\n$IIVWT,017,R,02.09,N,01.08,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134419,,,,00,*42\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5952.208,N,02320.881,E,134419,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.76,N,,*05\r\n$IIVTG,132.80,T,132.80,M,6.10,N,,,D*63\r\n$IIMWV,021,T,02.11,N,A*24\r\n$IIVWT,021,R,02.11,N,01.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134421,,,,00,*49\r\n$IIDBT,049.93,f,015.22,M,008.22,F*2A\r\n$GPGLL,5952.206,N,02320.886,E,134421,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.77,N,,*04\r\n$IIVTG,133.10,T,133.10,M,6.18,N,,,D*6B\r\n$IIMWV,005,R,08.16,N,A*29\r\n$IIVWT,020,R,02.11,N,01.09,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134423,,,,00,*4B\r\n$IIDBT,049.63,f,015.13,M,008.17,F*21\r\n$GPGLL,5952.203,N,02320.891,E,134424,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.97,N,,*0A\r\n$IIVTG,132.80,T,132.80,M,6.19,N,,,D*6A\r\n$IIMWV,016,T,01.98,N,A*22\r\n$IIVWT,016,R,01.98,N,01.02,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134425,,,,00,*4D\r\n$IIDBT,049.40,f,015.06,M,008.14,F*27\r\n$GPGLL,5952.201,N,02320.896,E,134426,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.22,N,,*04\r\n$IIVTG,132.45,T,132.45,M,6.20,N,,,D*60\r\n$IIMWV,008,R,08.16,N,A*24\r\n$IIVWT,032,R,02.19,N,01.13,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134427,,,,00,*4F\r\n$IIDBT,049.24,f,015.01,M,008.11,F*27\r\n$GPGLL,5952.199,N,02320.901,E,134428,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,6.09,N,,*0E\r\n$IIVTG,132.64,T,132.64,M,6.20,N,,,D*60\r\n$IIMWV,356,T,01.63,N,A*21\r\n$IIVWT,004,L,01.63,N,00.84,M,,*26\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134429,,,,00,*41\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5952.196,N,02320.906,E,134430,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.15,N,11.39,K*5D\r\n$IIVPW,5.09,N,,*0D\r\n$IIVTG,132.31,T,132.31,M,6.12,N,,,D*61\r\n$IIMWV,008,R,07.77,N,A*2C\r\n$IIVWT,037,R,01.84,N,00.95,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134431,,,,00,*48\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,5952.194,N,02320.911,E,134432,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.55,N,,*04\r\n$IIVTG,134.53,T,134.53,M,6.16,N,,,D*65\r\n$IIMWV,018,T,01.71,N,A*2B\r\n$IIVWT,018,R,01.71,N,00.88,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134433,,,,00,*4A\r\n$IIDBT,048.65,f,014.83,M,008.01,F*29\r\n$GPGLL,5952.192,N,02320.916,E,134434,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.57,N,,*06\r\n$IIVTG,133.15,T,133.15,M,6.14,N,,,D*67\r\n$IIMWV,005,R,07.77,N,A*21\r\n$IIVWT,023,R,01.78,N,00.92,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134436,,,,00,*4F\r\n$IIDBT,048.55,f,014.80,M,007.99,F*27\r\n$GPGLL,5952.189,N,02320.921,E,134436,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,132.17,T,132.17,M,6.11,N,,,D*62\r\n$IIMWV,025,T,01.76,N,A*22\r\n$IIVWT,025,R,01.76,N,00.91,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134438,,,,00,*41\r\n$IIDBT,048.48,f,014.78,M,007.98,F*2D\r\n$GPGLL,5952.187,N,02320.926,E,134438,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.11,N,11.31,K*51\r\n$IIVPW,5.93,N,,*0E\r\n$IIVTG,134.07,T,134.07,M,6.10,N,,,D*63\r\n$IIMWV,003,R,07.77,N,A*27\r\n$IIVWT,014,R,01.65,N,00.85,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134440,,,,00,*4E\r\n$IIDBT,048.45,f,014.77,M,007.98,F*2F\r\n$GPGLL,5952.184,N,02320.930,E,134440,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.13,N,11.35,K*57\r\n$IIVPW,5.60,N,,*02\r\n$IIVTG,135.97,T,135.97,M,6.18,N,,,D*6B\r\n$IIMWV,015,T,01.67,N,A*21\r\n$IIVWT,015,R,01.67,N,00.86,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134442,,,,00,*4C\r\n$IIDBT,048.52,f,014.79,M,007.99,F*26\r\n$GPGLL,5952.182,N,02320.935,E,134442,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,5.67,N,,*05\r\n$IIVTG,135.02,T,135.02,M,6.19,N,,,D*6A\r\n$IIMWV,007,R,07.77,N,A*23\r\n$IIVWT,030,R,01.80,N,00.93,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134444,,,,00,*4A\r\n$IIDBT,048.45,f,014.77,M,007.98,F*2F\r\n$GPGLL,5952.180,N,02320.940,E,134444,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.16,N,11.40,K*50\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,134.75,T,134.75,M,6.20,N,,,D*60\r\n$IIMWV,032,T,01.73,N,A*21\r\n$IIVWT,032,R,01.73,N,00.89,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134446,,,,00,*48\r\n$IIDBT,048.48,f,014.78,M,007.98,F*2D\r\n$GPGLL,5952.177,N,02320.945,E,134446,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,5.11,N,,*04\r\n$IIVTG,135.36,T,135.36,M,6.20,N,,,D*60\r\n$IIMWV,008,R,07.77,N,A*2C\r\n$IIVWT,037,R,01.74,N,00.90,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134448,,,,00,*46\r\n$IIDBT,048.65,f,014.83,M,008.01,F*29\r\n$GPGLL,5952.175,N,02320.950,E,134448,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.24,N,,*03\r\n$IIVTG,134.39,T,134.39,M,6.20,N,,,D*60\r\n$IIMWV,045,T,01.76,N,A*24\r\n$IIVWT,045,R,01.76,N,00.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134450,,,,00,*4F\r\n$IIDBT,048.68,f,014.84,M,008.02,F*20\r\n$GPGLL,5952.172,N,02320.955,E,134450,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.75,N,,*07\r\n$IIVTG,133.02,T,133.02,M,6.20,N,,,D*60\r\n$IIMWV,008,R,07.58,N,A*21\r\n$IIVWT,038,R,01.71,N,00.88,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134452,,,,00,*4D\r\n$IIDBT,048.94,f,014.92,M,008.06,F*20\r\n$GPGLL,5952.169,N,02320.962,E,134452,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.32,N,,*04\r\n$IIVTG,131.43,T,131.43,M,6.20,N,,,D*60\r\n$IIMWV,049,T,01.78,N,A*26\r\n$IIVWT,049,R,01.78,N,00.92,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134454,,,,00,*4B\r\n$IIDBT,049.14,f,014.98,M,008.09,F*2C\r\n$GPGLL,5952.167,N,02320.968,E,134454,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.16,N,,*02\r\n$IIVTG,131.57,T,131.57,M,6.20,N,,,D*60\r\n$IIMWV,012,R,07.58,N,A*2A\r\n$IIVWT,052,R,01.92,N,00.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134456,,,,00,*49\r\n$IIDBT,048.94,f,014.92,M,008.06,F*20\r\n$GPGLL,5952.164,N,02320.973,E,134456,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,5.23,N,,*05\r\n$IIVTG,131.36,T,131.36,M,6.20,N,,,D*60\r\n$IIMWV,034,T,01.51,N,A*27\r\n$IIVWT,034,R,01.51,N,00.78,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134458,,,,00,*47\r\n$IIDBT,049.27,f,015.02,M,008.11,F*27\r\n$GPGLL,5952.162,N,02320.978,E,134458,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,131.05,T,131.05,M,6.20,N,,,D*60\r\n$IIMWV,016,R,07.58,N,A*2E\r\n$IIVWT,063,R,02.27,N,01.17,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134500,,,,00,*4B\r\n$IIDBT,049.40,f,015.06,M,008.14,F*27\r\n$GPGLL,5952.160,N,02320.983,E,134500,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.03,N,,*07\r\n$IIVTG,130.94,T,130.94,M,6.22,N,,,D*62\r\n$IIMWV,041,T,01.61,N,A*26\r\n$IIVWT,041,R,01.61,N,00.83,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134502,,,,00,*49\r\n$IIDBT,049.04,f,014.95,M,008.08,F*21\r\n$GPGLL,5952.158,N,02320.988,E,134502,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.99,N,,*03\r\n$IIVTG,129.99,T,129.99,M,6.21,N,,,D*61\r\n$IIMWV,014,R,07.58,N,A*2C\r\n$IIVWT,058,R,02.19,N,01.13,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134504,,,,00,*4F\r\n$IIDBT,049.01,f,014.94,M,008.07,F*2A\r\n$GPGLL,5952.155,N,02320.994,E,134504,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.94,N,,*0F\r\n$IIVTG,130.35,T,130.35,M,6.20,N,,,D*60\r\n$IIMWV,050,T,01.92,N,A*2A\r\n$IIVWT,050,R,01.92,N,00.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134506,,,,00,*4D\r\n$IIDBT,048.81,f,014.88,M,008.04,F*2D\r\n$GPGLL,5952.153,N,02320.999,E,134507,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.51,N,,*06\r\n$IIVTG,129.24,T,129.24,M,6.20,N,,,D*60\r\n$IIMWV,015,R,07.58,N,A*2D\r\n$IIVWT,061,R,02.21,N,01.14,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134508,,,,00,*43\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5952.151,N,02321.004,E,134509,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.76,N,,*02\r\n$IIVTG,128.83,T,128.83,M,6.20,N,,,D*60\r\n$IIMWV,061,T,01.55,N,A*23\r\n$IIVWT,061,R,01.55,N,00.80,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134510,,,,00,*4A\r\n$IIDBT,047.76,f,014.56,M,007.87,F*2D\r\n$GPGLL,5952.149,N,02321.010,E,134511,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,127.58,T,127.58,M,6.20,N,,,D*60\r\n$IIMWV,015,R,07.58,N,A*2D\r\n$IIVWT,063,R,02.15,N,01.11,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134512,,,,00,*48\r\n$IIDBT,047.17,f,014.38,M,007.77,F*2D\r\n$GPGLL,5952.147,N,02321.015,E,134513,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.49,N,,*0F\r\n$IIVTG,127.57,T,127.57,M,6.20,N,,,D*60\r\n$IIMWV,052,T,02.02,N,A*22\r\n$IIVWT,052,R,02.02,N,01.04,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134514,,,,00,*4E\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,5952.145,N,02321.021,E,134515,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.28,N,,*08\r\n$IIVTG,128.05,T,128.05,M,6.20,N,,,D*60\r\n$IIMWV,014,R,07.58,N,A*2C\r\n$IIVWT,061,R,02.07,N,01.07,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134516,,,,00,*4C\r\n$IIDBT,045.04,f,013.73,M,007.42,F*23\r\n$GPGLL,5952.143,N,02321.026,E,134517,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.39,N,,*08\r\n$IIVTG,127.79,T,127.79,M,6.23,N,,,D*63\r\n$IIMWV,058,T,02.15,N,A*2E\r\n$IIVWT,058,R,02.15,N,01.11,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134519,,,,00,*43\r\n$IIDBT,044.55,f,013.58,M,007.34,F*2E\r\n$GPGLL,5952.141,N,02321.032,E,134519,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.21,N,,*01\r\n$IIVTG,127.37,T,127.37,M,6.21,N,,,D*61\r\n$IIMWV,013,R,07.58,N,A*2B\r\n$IIVWT,062,R,01.86,N,00.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134521,,,,00,*48\r\n$IIDBT,043.60,f,013.29,M,007.18,F*27\r\n$GPGLL,5952.138,N,02321.037,E,134521,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.81,N,,*0A\r\n$IIVTG,128.54,T,128.54,M,6.28,N,,,D*68\r\n$IIMWV,061,T,02.44,N,A*20\r\n$IIVWT,061,R,02.44,N,01.26,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134523,,,,00,*4A\r\n$IIDBT,043.20,f,013.17,M,007.11,F*27\r\n$GPGLL,5952.136,N,02321.042,E,134523,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.87,N,,*0D\r\n$IIVTG,128.94,T,128.94,M,6.27,N,,,D*67\r\n$IIMWV,013,R,07.77,N,A*26\r\n$IIVWT,054,R,02.09,N,01.08,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134525,,,,00,*4C\r\n$IIDBT,042.71,f,013.02,M,007.03,F*25\r\n$GPGLL,5952.134,N,02321.048,E,134525,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.72,N,,*07\r\n$IIVTG,129.36,T,129.36,M,6.22,N,,,D*62\r\n$IIMWV,051,T,02.19,N,A*2B\r\n$IIVWT,051,R,02.19,N,01.13,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134527,,,,00,*4E\r\n$IIDBT,042.28,f,012.89,M,006.96,F*26\r\n$GPGLL,5952.132,N,02321.053,E,134527,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.03,N,,*01\r\n$IIVTG,129.29,T,129.29,M,6.20,N,,,D*60\r\n$IIMWV,016,R,07.77,N,A*23\r\n$IIVWT,058,R,02.42,N,01.25,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134529,,,,00,*40\r\n$IIDBT,041.76,f,012.73,M,006.88,F*24\r\n$GPGLL,5952.130,N,02321.058,E,134529,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,5.08,N,,*0C\r\n$IIVTG,129.55,T,129.55,M,6.20,N,,,D*60\r\n$IIMWV,042,T,01.90,N,A*2B\r\n$IIVWT,042,R,01.90,N,00.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134531,,,,00,*49\r\n$IIDBT,041.76,f,012.73,M,006.88,F*24\r\n$GPGLL,5952.127,N,02321.064,E,134531,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.53,N,,*04\r\n$IIVTG,129.49,T,129.49,M,6.20,N,,,D*60\r\n$IIMWV,012,R,07.77,N,A*27\r\n$IIVWT,050,R,02.07,N,01.07,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134533,,,,00,*4B\r\n$IIDBT,041.27,f,012.58,M,006.79,F*27\r\n$GPGLL,5952.125,N,02321.069,E,134533,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,130.27,T,130.27,M,6.20,N,,,D*60\r\n$IIMWV,052,T,02.11,N,A*20\r\n$IIVWT,052,R,02.11,N,01.09,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134535,,,,00,*4D\r\n$IIDBT,040.77,f,012.43,M,006.71,F*21\r\n$GPGLL,5952.122,N,02321.077,E,134535,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.67,N,,*03\r\n$IIVTG,130.24,T,130.24,M,6.20,N,,,D*60\r\n$IIMWV,014,R,07.77,N,A*21\r\n$IIVWT,056,R,02.19,N,01.13,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134537,,,,00,*4F\r\n$IIDBT,040.55,f,012.36,M,006.68,F*2B\r\n$GPGLL,5952.120,N,02321.082,E,134537,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,130.26,T,130.26,M,6.20,N,,,D*60\r\n$IIMWV,043,T,01.88,N,A*23\r\n$IIVWT,043,R,01.88,N,00.97,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134539,,,,00,*41\r\n$IIDBT,039.07,f,011.91,M,006.43,F*25\r\n$GPGLL,5952.117,N,02321.087,E,134539,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.62,N,01.35,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.90,N,,*0B\r\n$IIVTG,129.99,T,129.99,M,6.20,N,,,D*60\r\n$IIMWV,014,R,08.16,N,A*29\r\n$IIVWT,050,R,02.62,N,01.35,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134541,,,,00,*4E\r\n$IIDBT,037.59,f,011.46,M,006.19,F*25\r\n$GPGLL,5952.115,N,02321.093,E,134541,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.70,N,,*02\r\n$IIVTG,130.95,T,130.95,M,6.20,N,,,D*60\r\n$IIMWV,049,T,02.06,N,A*2C\r\n$IIVWT,049,R,02.06,N,01.06,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134543,,,,00,*4C\r\n$IIDBT,035.62,f,010.86,M,005.87,F*26\r\n$GPGLL,5952.113,N,02321.098,E,134543,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.64,N,01.36,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.47,N,,*01\r\n$IIVTG,130.01,T,130.01,M,6.20,N,,,D*60\r\n$IIMWV,016,R,08.16,N,A*2B\r\n$IIVWT,055,R,02.72,N,01.40,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134545,,,,00,*4A\r\n$IIDBT,033.89,f,010.33,M,005.58,F*29\r\n$GPGLL,5952.111,N,02321.103,E,134545,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.45,N,,*04\r\n$IIVTG,128.83,T,128.83,M,6.28,N,,,D*68\r\n$IIMWV,050,T,02.00,N,A*22\r\n$IIVWT,050,R,02.00,N,01.03,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134547,,,,00,*48\r\n$IIDBT,031.33,f,009.55,M,005.16,F*28\r\n$GPGLL,5952.109,N,02321.109,E,134547,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.35,N,01.21,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.64,N,,*00\r\n$IIVTG,126.23,T,126.23,M,6.27,N,,,D*67\r\n$IIMWV,012,R,07.77,N,A*27\r\n$IIVWT,050,R,02.02,N,01.04,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134549,,,,00,*46\r\n$IIDBT,030.05,f,009.16,M,004.95,F*21\r\n$GPGLL,5952.107,N,02321.114,E,134550,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.79,N,,*0C\r\n$IIVTG,125.13,T,125.13,M,6.22,N,,,D*62\r\n$IIMWV,056,T,02.13,N,A*26\r\n$IIVWT,056,R,02.13,N,01.10,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134551,,,,00,*4F\r\n$IIDBT,029.13,f,008.88,M,004.79,F*2A\r\n$GPGLL,5952.105,N,02321.120,E,134552,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.42,N,01.25,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,126.78,T,126.78,M,6.20,N,,,D*60\r\n$IIMWV,018,R,07.58,N,A*20\r\n$IIVWT,070,R,02.50,N,01.29,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134553,,,,00,*4D\r\n$IIDBT,027.49,f,008.38,M,004.52,F*29\r\n$GPGLL,5952.102,N,02321.125,E,134554,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.26,N,,*06\r\n$IIVTG,127.82,T,127.82,M,6.20,N,,,D*60\r\n$IIMWV,058,T,02.29,N,A*21\r\n$IIVWT,058,R,02.29,N,01.18,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134555,,,,00,*4B\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5952.100,N,02321.130,E,134556,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.42,N,,*04\r\n$IIVTG,127.73,T,127.73,M,6.20,N,,,D*60\r\n$IIMWV,014,R,07.77,N,A*21\r\n$IIVWT,058,R,02.23,N,01.15,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134557,,,,00,*49\r\n$IIDBT,026.73,f,008.15,M,004.40,F*2D\r\n$GPGLL,5952.098,N,02321.136,E,134558,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.78,N,,*0A\r\n$IIVTG,127.91,T,127.91,M,6.20,N,,,D*60\r\n$IIMWV,035,T,01.47,N,A*21\r\n$IIVWT,035,R,01.47,N,00.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134559,,,,00,*47\r\n$IIDBT,027.00,f,008.23,M,004.44,F*29\r\n$GPGLL,5952.096,N,02321.141,E,134600,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,3.18,N,,*0B\r\n$IIVTG,127.83,T,127.83,M,6.20,N,,,D*60\r\n$IIMWV,015,R,07.58,N,A*2D\r\n$IIVWT,061,R,02.25,N,01.16,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134602,,,,00,*4A\r\n$IIDBT,027.26,f,008.31,M,004.49,F*23\r\n$GPGLL,5952.094,N,02321.146,E,134602,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.50,N,,*00\r\n$IIVTG,129.01,T,129.01,M,6.20,N,,,D*60\r\n$IIMWV,043,T,01.67,N,A*22\r\n$IIVWT,043,R,01.67,N,00.86,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134604,,,,00,*4C\r\n$IIDBT,027.68,f,008.44,M,004.56,F*25\r\n$GPGLL,5952.092,N,02321.151,E,134604,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.42,N,,*04\r\n$IIVTG,130.03,T,130.03,M,6.18,N,,,D*6B\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,053,R,01.84,N,00.95,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134606,,,,00,*4E\r\n$IIDBT,028.11,f,008.57,M,004.63,F*20\r\n$GPGLL,5952.089,N,02321.156,E,134606,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.55,N,,*02\r\n$IIVTG,131.28,T,131.28,M,6.19,N,,,D*6A\r\n$IIMWV,053,T,01.90,N,A*2B\r\n$IIVWT,053,R,01.90,N,00.98,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134608,,,,00,*40\r\n$IIDBT,028.80,f,008.78,M,004.74,F*23\r\n$GPGLL,5952.087,N,02321.161,E,134608,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,132.05,T,132.05,M,6.12,N,,,D*61\r\n$IIMWV,012,R,07.77,N,A*27\r\n$IIVWT,050,R,02.04,N,01.05,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134610,,,,00,*49\r\n$IIDBT,029.82,f,009.09,M,004.91,F*2C\r\n$GPGLL,5952.085,N,02321.166,E,134610,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.45,N,,*03\r\n$IIVTG,133.01,T,133.01,M,6.11,N,,,D*62\r\n$IIMWV,056,T,01.94,N,A*2A\r\n$IIVWT,056,R,01.94,N,01.00,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134612,,,,00,*4B\r\n$IIDBT,030.83,f,009.40,M,005.08,F*29\r\n$GPGLL,5952.082,N,02321.171,E,134612,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.44,N,,*03\r\n$IIVTG,133.68,T,133.68,M,6.10,N,,,D*63\r\n$IIMWV,012,R,07.19,N,A*2F\r\n$IIVWT,061,R,01.65,N,00.85,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134614,,,,00,*4D\r\n$IIDBT,031.85,f,009.71,M,005.24,F*22\r\n$GPGLL,5952.080,N,02321.176,E,134614,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.35,N,,*03\r\n$IIVTG,134.35,T,134.35,M,6.10,N,,,D*63\r\n$IIMWV,052,T,01.78,N,A*2C\r\n$IIVWT,052,R,01.78,N,00.92,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134616,,,,00,*4F\r\n$IIDBT,032.38,f,009.87,M,005.33,F*28\r\n$GPGLL,5952.077,N,02321.183,E,134616,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.13,N,,*07\r\n$IIVTG,134.59,T,134.59,M,6.10,N,,,D*63\r\n$IIMWV,006,R,07.19,N,A*2A\r\n$IIVWT,041,R,01.12,N,00.58,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134618,,,,00,*41\r\n$IIDBT,033.03,f,010.07,M,005.44,F*21\r\n$GPGLL,5952.074,N,02321.188,E,134618,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.85,N,,*0F\r\n$IIVTG,135.42,T,135.42,M,6.10,N,,,D*63\r\n$IIMWV,053,T,01.82,N,A*28\r\n$IIVWT,053,R,01.82,N,00.94,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134620,,,,00,*4A\r\n$IIDBT,034.05,f,010.38,M,005.61,F*2B\r\n$GPGLL,5952.072,N,02321.193,E,134620,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,4.62,N,,*01\r\n$IIVTG,136.51,T,136.51,M,6.10,N,,,D*63\r\n$IIMWV,007,R,07.58,N,A*2E\r\n$IIVWT,038,R,01.53,N,00.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134622,,,,00,*48\r\n$IIDBT,034.80,f,010.61,M,005.73,F*29\r\n$GPGLL,5952.069,N,02321.197,E,134622,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,4.10,N,,*04\r\n$IIVTG,136.35,T,136.35,M,6.10,N,,,D*63\r\n$IIMWV,056,T,01.88,N,A*27\r\n$IIVWT,056,R,01.88,N,00.97,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134624,,,,00,*4E\r\n$IIDBT,035.59,f,010.85,M,005.86,F*2C\r\n$GPGLL,5952.067,N,02321.202,E,134624,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,5.26,N,,*00\r\n$IIVTG,136.51,T,136.51,M,6.10,N,,,D*63\r\n$IIMWV,007,R,07.58,N,A*2E\r\n$IIVWT,034,R,01.55,N,00.80,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134626,,,,00,*4C\r\n$IIDBT,036.71,f,011.19,M,006.04,F*28\r\n$GPGLL,5952.064,N,02321.207,E,134626,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.23,N,,*04\r\n$IIVTG,136.30,T,136.30,M,6.10,N,,,D*63\r\n$IIMWV,045,T,01.80,N,A*2D\r\n$IIVWT,045,R,01.80,N,00.93,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134628,,,,00,*42\r\n$IIDBT,037.95,f,011.57,M,006.25,F*2A\r\n$GPGLL,5952.062,N,02321.211,E,134628,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.76,N,,*03\r\n$IIVTG,136.55,T,136.55,M,6.10,N,,,D*63\r\n$IIMWV,009,R,07.19,N,A*25\r\n$IIVWT,055,R,01.38,N,00.71,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134630,,,,00,*4B\r\n$IIDBT,038.38,f,011.70,M,006.32,F*21\r\n$GPGLL,5952.059,N,02321.216,E,134630,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.16,N,,*04\r\n$IIVTG,136.96,T,136.96,M,6.10,N,,,D*63\r\n$IIMWV,076,T,01.39,N,A*2F\r\n$IIVWT,076,R,01.39,N,00.72,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134632,,,,00,*49\r\n$IIDBT,039.56,f,012.06,M,006.51,F*2F\r\n$GPGLL,5952.057,N,02321.220,E,134633,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.45,N,,*00\r\n$IIVTG,137.29,T,137.29,M,6.10,N,,,D*63\r\n$IIMWV,010,R,06.41,N,A*21\r\n$IIVWT,084,R,01.04,N,00.54,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134634,,,,00,*4F\r\n$IIDBT,040.84,f,012.45,M,006.72,F*28\r\n$GPGLL,5952.055,N,02321.225,E,134635,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.53,N,,*05\r\n$IIVTG,137.47,T,137.47,M,6.10,N,,,D*63\r\n$IIMWV,066,T,01.20,N,A*26\r\n$IIVWT,066,R,01.20,N,00.62,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134636,,,,00,*4D\r\n$IIDBT,041.17,f,012.55,M,006.78,F*28\r\n$GPGLL,5952.052,N,02321.229,E,134637,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.04,N,00.54,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.23,N,,*01\r\n$IIVTG,137.67,T,137.67,M,6.10,N,,,D*63\r\n$IIMWV,009,R,06.80,N,A*24\r\n$IIVWT,070,R,01.16,N,00.60,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134638,,,,00,*43\r\n$IIDBT,041.50,f,012.65,M,006.83,F*2C\r\n$GPGLL,5952.050,N,02321.234,E,134639,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,137.44,T,137.44,M,6.10,N,,,D*63\r\n$IIMWV,088,T,00.97,N,A*2B\r\n$IIVWT,088,R,00.97,N,00.50,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134640,,,,00,*4C\r\n$IIDBT,042.25,f,012.88,M,006.96,F*2A\r\n$GPGLL,5952.047,N,02321.239,E,134641,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,137.34,T,137.34,M,6.10,N,,,D*63\r\n$IIMWV,008,R,06.41,N,A*28\r\n$IIVWT,086,R,00.83,N,00.43,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134642,,,,00,*4E\r\n$IIDBT,042.51,f,012.96,M,007.00,F*28\r\n$GPGLL,5952.045,N,02321.243,E,134643,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.92,N,,*0A\r\n$IIVTG,137.18,T,137.18,M,6.10,N,,,D*63\r\n$IIMWV,081,T,00.75,N,A*2E\r\n$IIVWT,081,R,00.75,N,00.39,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134645,,,,00,*49\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5952.042,N,02321.248,E,134645,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.24,N,,*07\r\n$IIVTG,136.40,T,136.40,M,6.10,N,,,D*63\r\n$IIMWV,008,R,06.41,N,A*28\r\n$IIVWT,086,R,00.87,N,00.45,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134647,,,,00,*4B\r\n$IIDBT,043.86,f,013.37,M,007.22,F*29\r\n$GPGLL,5952.040,N,02321.253,E,134647,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.10,N,,*2C\r\n$IIVTG,135.73,T,135.73,M,6.10,N,,,D*63\r\n$IIMWV,096,T,01.10,N,A*2A\r\n$IIVWT,096,R,01.10,N,00.57,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134649,,,,00,*45\r\n$IIDBT,042.87,f,013.07,M,007.06,F*2C\r\n$GPGLL,5952.037,N,02321.257,E,134649,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.64,N,00.33,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-1.70,N,,*2A\r\n$IIVTG,135.33,T,135.33,M,6.10,N,,,D*63\r\n$IIMWV,009,R,06.22,N,A*2C\r\n$IIVWT,104,R,00.97,N,00.50,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134651,,,,00,*4C\r\n$IIDBT,044.09,f,013.44,M,007.26,F*29\r\n$GPGLL,5952.035,N,02321.262,E,134651,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.07,N,,*2A\r\n$IIVTG,135.10,T,135.10,M,6.10,N,,,D*63\r\n$IIMWV,100,T,00.77,N,A*24\r\n$IIVWT,100,R,00.77,N,00.40,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134653,,,,00,*4E\r\n$IIDBT,046.06,f,014.04,M,007.58,F*2E\r\n$GPGLL,5952.033,N,02321.267,E,134653,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.89,N,00.46,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.68,N,,*22\r\n$IIVTG,134.48,T,134.48,M,6.10,N,,,D*63\r\n$IIMWV,009,R,06.22,N,A*2C\r\n$IIVWT,096,R,00.93,N,00.48,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134655,,,,00,*48\r\n$IIDBT,046.45,f,014.16,M,007.65,F*24\r\n$GPGLL,5952.030,N,02321.272,E,134655,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.62,N,00.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.21,N,,*2F\r\n$IIVTG,134.82,T,134.82,M,6.10,N,,,D*63\r\n$IIMWV,108,T,00.56,N,A*2F\r\n$IIVWT,108,R,00.56,N,00.29,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134657,,,,00,*4A\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5952.028,N,02321.277,E,134657,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.47,N,,*2E\r\n$IIVTG,134.68,T,134.68,M,6.10,N,,,D*63\r\n$IIMWV,010,R,06.22,N,A*24\r\n$IIVWT,099,R,01.04,N,00.54,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134659,,,,00,*44\r\n$IIDBT,047.99,f,014.63,M,007.90,F*2C\r\n$GPGLL,5952.024,N,02321.284,E,134659,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.58,N,,*20\r\n$IIVTG,133.80,T,133.80,M,6.10,N,,,D*63\r\n$IIMWV,121,T,01.12,N,A*25\r\n$IIVWT,121,R,01.12,N,00.58,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134701,,,,00,*48\r\n$IIDBT,047.73,f,014.55,M,007.86,F*2A\r\n$GPGLL,5952.022,N,02321.289,E,134701,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.94,N,,*21\r\n$IIVTG,134.25,T,134.25,M,6.10,N,,,D*63\r\n$IIMWV,011,R,06.22,N,A*25\r\n$IIVWT,102,R,01.16,N,00.60,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134703,,,,00,*4A\r\n$IIDBT,047.40,f,014.45,M,007.81,F*2C\r\n$GPGLL,5952.020,N,02321.294,E,134703,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.08,N,,*25\r\n$IIVTG,134.39,T,134.39,M,6.10,N,,,D*63\r\n$IIMWV,095,T,00.93,N,A*23\r\n$IIVWT,095,R,00.93,N,00.48,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134705,,,,00,*4C\r\n$IIDBT,048.32,f,014.73,M,007.96,F*25\r\n$GPGLL,5952.017,N,02321.298,E,134705,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.08,N,,*25\r\n$IIVTG,133.90,T,133.90,M,6.10,N,,,D*63\r\n$IIMWV,008,R,06.22,N,A*2D\r\n$IIVWT,106,R,00.89,N,00.46,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134707,,,,00,*4E\r\n$IIDBT,047.60,f,014.51,M,007.84,F*2E\r\n$GPGLL,5952.015,N,02321.303,E,134707,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-3.29,N,,*24\r\n$IIVTG,133.07,T,133.07,M,6.10,N,,,D*63\r\n$IIMWV,123,T,01.04,N,A*20\r\n$IIVWT,123,R,01.04,N,00.54,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134709,,,,00,*40\r\n$IIDBT,045.96,f,014.01,M,007.57,F*2E\r\n$GPGLL,5952.013,N,02321.308,E,134709,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.18,N,,*24\r\n$IIVTG,132.39,T,132.39,M,6.05,N,,,D*67\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,101,R,01.51,N,00.78,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134711,,,,00,*49\r\n$IIDBT,044.81,f,013.66,M,007.38,F*26\r\n$GPGLL,5952.010,N,02321.313,E,134711,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.89,N,,*2F\r\n$IIVTG,132.83,T,132.83,M,6.04,N,,,D*66\r\n$IIMWV,117,T,01.47,N,A*20\r\n$IIVWT,117,R,01.47,N,00.76,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134713,,,,00,*4B\r\n$IIDBT,043.27,f,013.19,M,007.12,F*2D\r\n$GPGLL,5952.008,N,02321.318,E,134713,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.17,N,,*2B\r\n$IIVTG,132.68,T,132.68,M,6.08,N,,,D*6A\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,097,R,01.45,N,00.75,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134715,,,,00,*4D\r\n$IIDBT,042.28,f,012.89,M,006.96,F*26\r\n$GPGLL,5952.006,N,02321.323,E,134716,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.48,N,,*22\r\n$IIVTG,132.52,T,132.52,M,6.10,N,,,D*63\r\n$IIMWV,113,T,01.43,N,A*20\r\n$IIVWT,113,R,01.43,N,00.74,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134717,,,,00,*4F\r\n$IIDBT,041.37,f,012.61,M,006.81,F*2B\r\n$GPGLL,5952.004,N,02321.328,E,134718,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.31,N,,*2F\r\n$IIVTG,132.41,T,132.41,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.22,N,A*27\r\n$IIVWT,102,R,01.38,N,00.71,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134719,,,,00,*41\r\n$IIDBT,038.12,f,011.62,M,006.28,F*21\r\n$GPGLL,5952.001,N,02321.333,E,134720,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-1.16,N,,*2A\r\n$IIVTG,131.90,T,131.90,M,6.10,N,,,D*63\r\n$IIMWV,099,T,01.36,N,A*21\r\n$IIVWT,099,R,01.36,N,00.70,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134721,,,,00,*4A\r\n$IIDBT,034.02,f,010.37,M,005.60,F*22\r\n$GPGLL,5951.999,N,02321.338,E,134722,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.04,N,,*29\r\n$IIVTG,131.35,T,131.35,M,6.10,N,,,D*63\r\n$IIMWV,009,R,06.22,N,A*2C\r\n$IIVWT,100,R,00.99,N,00.51,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134723,,,,00,*48\r\n$IIDBT,032.31,f,009.85,M,005.32,F*22\r\n$GPGLL,5951.997,N,02321.343,E,134724,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.62,N,,*2A\r\n$IIVTG,130.81,T,130.81,M,6.10,N,,,D*63\r\n$IIMWV,114,T,01.32,N,A*21\r\n$IIVWT,114,R,01.32,N,00.68,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134725,,,,00,*4E\r\n$IIDBT,032.38,f,009.87,M,005.33,F*28\r\n$GPGLL,5951.995,N,02321.348,E,134726,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.82,N,,*24\r\n$IIVTG,130.70,T,130.70,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,111,R,01.26,N,00.65,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134728,,,,00,*43\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5951.993,N,02321.353,E,134728,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.02,N,,*2A\r\n$IIVTG,130.58,T,130.58,M,6.05,N,,,D*67\r\n$IIMWV,117,T,01.49,N,A*2E\r\n$IIVWT,117,R,01.49,N,00.77,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134730,,,,00,*4A\r\n$IIDBT,042.87,f,013.07,M,007.06,F*2C\r\n$GPGLL,5951.990,N,02321.358,E,134730,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.62,N,,*2A\r\n$IIVTG,132.12,T,132.12,M,6.09,N,,,D*6B\r\n$IIMWV,010,R,05.83,N,A*2C\r\n$IIVWT,117,R,01.10,N,00.57,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134732,,,,00,*48\r\n$IIDBT,043.17,f,013.16,M,007.11,F*22\r\n$GPGLL,5951.988,N,02321.363,E,134732,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,132.80,T,132.80,M,6.10,N,,,D*63\r\n$IIMWV,101,T,00.83,N,A*2E\r\n$IIVWT,101,R,00.83,N,00.43,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134734,,,,00,*4E\r\n$IIDBT,043.14,f,013.15,M,007.10,F*23\r\n$GPGLL,5951.986,N,02321.368,E,134734,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.81,N,,*25\r\n$IIVTG,132.47,T,132.47,M,6.10,N,,,D*63\r\n$IIMWV,005,R,06.22,N,A*20\r\n$IIVWT,105,R,00.60,N,00.31,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134736,,,,00,*4C\r\n$IIDBT,042.81,f,013.05,M,007.05,F*2B\r\n$GPGLL,5951.984,N,02321.373,E,134736,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.81,N,,*21\r\n$IIVTG,132.47,T,132.47,M,6.10,N,,,D*63\r\n$IIMWV,139,T,00.60,N,A*28\r\n$IIVWT,139,R,00.60,N,00.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134738,,,,00,*42\r\n$IIDBT,042.78,f,013.04,M,007.04,F*2D\r\n$GPGLL,5951.981,N,02321.378,E,134738,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.66,N,00.34,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.14,N,,*2A\r\n$IIVTG,132.62,T,132.62,M,6.10,N,,,D*63\r\n$IIMWV,001,R,05.83,N,A*2C\r\n$IIVWT,164,R,00.48,N,00.25,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134740,,,,00,*4D\r\n$IIDBT,042.45,f,012.94,M,006.99,F*2E\r\n$GPGLL,5951.979,N,02321.383,E,134740,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.58,N,00.30,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.94,N,,*24\r\n$IIVTG,133.01,T,133.01,M,6.10,N,,,D*63\r\n$IIMWV,137,T,00.69,N,A*2F\r\n$IIVWT,137,R,00.69,N,00.36,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134742,,,,00,*4F\r\n$IIDBT,041.56,f,012.67,M,006.84,F*2F\r\n$GPGLL,5951.976,N,02321.390,E,134742,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.69,N,00.36,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.89,N,,*2D\r\n$IIVTG,131.75,T,131.75,M,6.10,N,,,D*63\r\n$IIMWV,017,R,05.83,N,A*2B\r\n$IIVWT,114,R,01.82,N,00.94,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134744,,,,00,*49\r\n$IIDBT,040.87,f,012.46,M,006.73,F*29\r\n$GPGLL,5951.973,N,02321.395,E,134744,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-3.58,N,,*22\r\n$IIVTG,130.69,T,130.69,M,6.10,N,,,D*63\r\n$IIMWV,122,T,01.10,N,A*24\r\n$IIVWT,122,R,01.10,N,00.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134746,,,,00,*4B\r\n$IIDBT,040.51,f,012.35,M,006.67,F*23\r\n$GPGLL,5951.971,N,02321.401,E,134746,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.46,N,,*2A\r\n$IIVTG,128.75,T,128.75,M,6.10,N,,,D*63\r\n$IIMWV,010,R,05.44,N,A*27\r\n$IIVWT,134,R,01.34,N,00.69,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134748,,,,00,*45\r\n$IIDBT,040.81,f,012.44,M,006.72,F*2C\r\n$GPGLL,5951.969,N,02321.406,E,134748,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.36,N,00.19,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-6.16,N,,*2D\r\n$IIVTG,124.49,T,124.49,M,6.05,N,,,D*67\r\n$IIMWV,175,T,00.42,N,A*20\r\n$IIVWT,175,R,00.42,N,00.22,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134750,,,,00,*4C\r\n$IIDBT,041.20,f,012.56,M,006.78,F*2F\r\n$GPGLL,5951.968,N,02321.412,E,134750,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.72,N,,*2B\r\n$IIVTG,124.87,T,124.87,M,6.01,N,,,D*63\r\n$IIMWV,010,R,05.83,N,A*2C\r\n$IIVWT,116,R,01.06,N,00.55,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134752,,,,00,*4E\r\n$IIDBT,043.47,f,013.25,M,007.16,F*20\r\n$GPGLL,5951.965,N,02321.417,E,134752,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.52,N,00.27,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.65,N,,*2E\r\n$IIVTG,128.84,T,128.84,M,6.00,N,,,D*62\r\n$IIMWV,090,T,00.33,N,A*2C\r\n$IIVWT,090,R,00.33,N,00.17,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134754,,,,00,*48\r\n$IIDBT,045.83,f,013.97,M,007.55,F*20\r\n$GPGLL,5951.963,N,02321.422,E,134754,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.19,N,00.10,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.69,N,,*22\r\n$IIVTG,131.79,T,131.79,M,6.00,N,,,D*62\r\n$IIMWV,006,R,06.22,N,A*23\r\n$IIVWT,092,R,00.60,N,00.31,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134756,,,,00,*4A\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5951.961,N,02321.427,E,134756,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.73,N,00.38,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.39,N,,*26\r\n$IIVTG,133.50,T,133.50,M,6.08,N,,,D*6A\r\n$IIMWV,130,T,00.62,N,A*23\r\n$IIVWT,130,R,00.62,N,00.32,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134758,,,,00,*44\r\n$IIDBT,047.70,f,014.54,M,007.85,F*2B\r\n$GPGLL,5951.959,N,02321.431,E,134759,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,134.09,T,134.09,M,6.09,N,,,D*6B\r\n$IIMWV,013,R,05.44,N,A*24\r\n$IIVWT,130,R,01.59,N,00.82,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134800,,,,00,*46\r\n$IIDBT,047.70,f,014.54,M,007.85,F*2B\r\n$GPGLL,5951.956,N,02321.436,E,134801,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.89,N,,*29\r\n$IIVTG,133.82,T,133.82,M,6.10,N,,,D*63\r\n$IIMWV,137,T,01.12,N,A*22\r\n$IIVWT,137,R,01.12,N,00.58,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134802,,,,00,*44\r\n$IIDBT,047.37,f,014.44,M,007.80,F*2C\r\n$GPGLL,5951.954,N,02321.441,E,134803,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.25,N,,*2F\r\n$IIVTG,133.65,T,133.65,M,6.10,N,,,D*63\r\n$IIMWV,011,R,05.44,N,A*26\r\n$IIVWT,135,R,01.39,N,00.72,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134804,,,,00,*42\r\n$IIDBT,047.89,f,014.60,M,007.89,F*26\r\n$GPGLL,5951.951,N,02321.446,E,134805,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,134.09,T,134.09,M,6.10,N,,,D*63\r\n$IIMWV,120,T,01.22,N,A*27\r\n$IIVWT,120,R,01.22,N,00.63,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134806,,,,00,*40\r\n$IIDBT,047.96,f,014.62,M,007.90,F*22\r\n$GPGLL,5951.949,N,02321.451,E,134807,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.51,N,,*2A\r\n$IIVTG,134.42,T,134.42,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,114,R,01.26,N,00.65,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134809,,,,00,*4F\r\n$IIDBT,048.55,f,014.80,M,007.99,F*27\r\n$GPGLL,5951.947,N,02321.456,E,134809,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,134.13,T,134.13,M,6.10,N,,,D*63\r\n$IIMWV,089,T,01.47,N,A*26\r\n$IIVWT,089,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134811,,,,00,*46\r\n$IIDBT,048.22,f,014.70,M,007.94,F*25\r\n$GPGLL,5951.944,N,02321.460,E,134811,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.10,N,,*2D\r\n$IIVTG,134.18,T,134.18,M,6.10,N,,,D*63\r\n$IIMWV,012,R,06.41,N,A*23\r\n$IIVWT,091,R,01.28,N,00.66,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134813,,,,00,*44\r\n$IIDBT,048.81,f,014.88,M,008.04,F*2D\r\n$GPGLL,5951.942,N,02321.465,E,134813,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,134.22,T,134.22,M,6.10,N,,,D*63\r\n$IIMWV,096,T,01.20,N,A*29\r\n$IIVWT,096,R,01.20,N,00.62,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134815,,,,00,*42\r\n$IIDBT,048.98,f,014.93,M,008.07,F*2C\r\n$GPGLL,5951.940,N,02321.470,E,134815,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.09,N,,*08\r\n$IIVTG,134.28,T,134.28,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.41,N,A*22\r\n$IIVWT,090,R,01.47,N,00.76,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134817,,,,00,*40\r\n$IIDBT,049.01,f,014.94,M,008.07,F*2A\r\n$GPGLL,5951.937,N,02321.475,E,134817,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,134.09,T,134.09,M,6.10,N,,,D*63\r\n$IIMWV,097,T,01.63,N,A*2F\r\n$IIVWT,097,R,01.63,N,00.84,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134819,,,,00,*4E\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,5951.935,N,02321.480,E,134819,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.08,N,,*09\r\n$IIVTG,133.80,T,133.80,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.41,N,A*22\r\n$IIVWT,089,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134821,,,,00,*45\r\n$IIDBT,048.85,f,014.89,M,008.04,F*28\r\n$GPGLL,5951.933,N,02321.485,E,134821,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.44,N,,*2C\r\n$IIVTG,133.50,T,133.50,M,6.10,N,,,D*63\r\n$IIMWV,093,T,01.96,N,A*21\r\n$IIVWT,093,R,01.96,N,01.01,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134823,,,,00,*47\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,5951.929,N,02321.492,E,134823,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.65,N,,*2F\r\n$IIVTG,133.73,T,133.73,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.41,N,A*24\r\n$IIVWT,093,R,01.69,N,00.87,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134825,,,,00,*41\r\n$IIDBT,048.94,f,014.92,M,008.06,F*20\r\n$GPGLL,5951.927,N,02321.497,E,134825,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.28,N,,*26\r\n$IIVTG,133.98,T,133.98,M,6.10,N,,,D*63\r\n$IIMWV,099,T,01.28,N,A*2E\r\n$IIVWT,099,R,01.28,N,00.66,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134827,,,,00,*43\r\n$IIDBT,049.21,f,015.00,M,008.10,F*22\r\n$GPGLL,5951.925,N,02321.502,E,134827,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.45,N,00.75,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,133.95,T,133.95,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.41,N,A*22\r\n$IIVWT,096,R,01.38,N,00.71,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134829,,,,00,*4D\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5951.922,N,02321.507,E,134829,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.33,N,,*2C\r\n$IIVTG,134.19,T,134.19,M,6.10,N,,,D*63\r\n$IIMWV,081,T,02.11,N,A*2E\r\n$IIVWT,081,R,02.11,N,01.09,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134831,,,,00,*44\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5951.919,N,02321.511,E,134831,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,134.62,T,134.62,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.41,N,A*22\r\n$IIVWT,089,R,01.41,N,00.73,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134833,,,,00,*46\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5951.917,N,02321.516,E,134833,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.99,N,,*2C\r\n$IIVTG,134.93,T,134.93,M,6.10,N,,,D*63\r\n$IIMWV,100,T,01.71,N,A*23\r\n$IIVWT,100,R,01.71,N,00.88,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134835,,,,00,*40\r\n$IIDBT,047.11,f,014.36,M,007.76,F*24\r\n$GPGLL,5951.915,N,02321.521,E,134835,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.15,N,,*05\r\n$IIVTG,136.28,T,136.28,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.41,N,A*24\r\n$IIVWT,095,R,01.61,N,00.83,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134837,,,,00,*42\r\n$IIDBT,046.58,f,014.20,M,007.67,F*2F\r\n$GPGLL,5951.912,N,02321.525,E,134837,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.00,N,,*01\r\n$IIVTG,137.54,T,137.54,M,6.10,N,,,D*63\r\n$IIMWV,088,T,01.74,N,A*27\r\n$IIVWT,088,R,01.74,N,00.90,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134839,,,,00,*4C\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5951.910,N,02321.530,E,134839,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.77,N,,*2C\r\n$IIVTG,138.64,T,138.64,M,6.10,N,,,D*63\r\n$IIMWV,023,R,06.41,N,A*21\r\n$IIVWT,097,R,02.54,N,01.31,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134841,,,,00,*43\r\n$IIDBT,045.34,f,013.82,M,007.47,F*2B\r\n$GPGLL,5951.907,N,02321.534,E,134842,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.12,N,,*02\r\n$IIVTG,140.51,T,140.51,M,6.17,N,,,D*64\r\n$IIMWV,079,T,00.60,N,A*2D\r\n$IIVWT,079,R,00.60,N,00.31,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134843,,,,00,*41\r\n$IIDBT,044.81,f,013.66,M,007.38,F*26\r\n$GPGLL,5951.904,N,02321.538,E,134844,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,140.35,T,140.35,M,6.12,N,,,D*61\r\n$IIMWV,009,R,06.41,N,A*29\r\n$IIVWT,084,R,00.95,N,00.49,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134845,,,,00,*47\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,5951.902,N,02321.543,E,134846,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.21,N,00.11,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,140.76,T,140.76,M,6.10,N,,,D*63\r\n$IIMWV,062,T,00.52,N,A*26\r\n$IIVWT,062,R,00.52,N,00.27,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134847,,,,00,*45\r\n$IIDBT,042.97,f,013.10,M,007.08,F*25\r\n$GPGLL,5951.899,N,02321.547,E,134848,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.47,N,,*2F\r\n$IIVTG,142.52,T,142.52,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.41,N,A*24\r\n$IIVWT,093,R,01.61,N,00.83,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134849,,,,00,*4B\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5951.896,N,02321.551,E,134850,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.38,N,00.20,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.77,N,,*02\r\n$IIVTG,144.45,T,144.45,M,6.10,N,,,D*63\r\n$IIMWV,079,T,00.83,N,A*20\r\n$IIVWT,079,R,00.83,N,00.43,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134852,,,,00,*41\r\n$IIDBT,027.98,f,008.53,M,004.61,F*28\r\n$GPGLL,5951.893,N,02321.554,E,134852,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.07,N,,*06\r\n$IIVTG,145.01,T,145.01,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.41,N,A*24\r\n$IIVWT,092,R,01.69,N,00.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134854,,,,00,*47\r\n$IIDBT,022.04,f,006.72,M,003.63,F*20\r\n$GPGLL,5951.891,N,02321.558,E,134854,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.26,N,,*05\r\n$IIVTG,147.31,T,147.31,M,6.10,N,,,D*63\r\n$IIMWV,097,T,01.51,N,A*2E\r\n$IIVWT,097,R,01.51,N,00.78,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134856,,,,00,*45\r\n$IIDBT,018.96,f,005.78,M,003.12,F*2D\r\n$GPGLL,5951.888,N,02321.561,E,134856,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,-0.98,N,,*2D\r\n$IIVTG,147.12,T,147.12,M,6.10,N,,,D*63\r\n$IIMWV,019,R,06.41,N,A*28\r\n$IIVWT,094,R,02.07,N,01.07,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134858,,,,00,*4B\r\n$IIDBT,018.73,f,005.71,M,003.08,F*24\r\n$GPGLL,5951.885,N,02321.565,E,134858,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.41,N,,*04\r\n$IIVTG,147.95,T,147.95,M,6.10,N,,,D*63\r\n$IIMWV,088,T,01.43,N,A*23\r\n$IIVWT,088,R,01.43,N,00.74,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134900,,,,00,*47\r\n$IIDBT,021.39,f,006.52,M,003.52,F*2D\r\n$GPGLL,5951.882,N,02321.568,E,134900,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,149.39,T,149.39,M,6.10,N,,,D*63\r\n$IIMWV,017,R,06.80,N,A*2B\r\n$IIVWT,081,R,01.96,N,01.01,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134902,,,,00,*45\r\n$IIDBT,026.04,f,007.94,M,004.29,F*24\r\n$GPGLL,5951.879,N,02321.572,E,134902,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,150.52,T,150.52,M,6.10,N,,,D*63\r\n$IIMWV,075,T,02.42,N,A*23\r\n$IIVWT,075,R,02.42,N,01.25,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134904,,,,00,*43\r\n$IIDBT,029.92,f,009.12,M,004.92,F*24\r\n$GPGLL,5951.876,N,02321.575,E,134904,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.79,N,,*0E\r\n$IIVTG,152.88,T,152.88,M,6.15,N,,,D*66\r\n$IIMWV,010,R,06.80,N,A*2C\r\n$IIVWT,071,R,01.26,N,00.65,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134906,,,,00,*41\r\n$IIDBT,029.95,f,009.13,M,004.93,F*23\r\n$GPGLL,5951.872,N,02321.580,E,134906,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-0.78,N,,*23\r\n$IIVTG,152.47,T,152.47,M,6.19,N,,,D*6A\r\n$IIMWV,096,T,02.31,N,A*2A\r\n$IIVWT,096,R,02.31,N,01.19,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134908,,,,00,*4F\r\n$IIDBT,031.52,f,009.61,M,005.19,F*27\r\n$GPGLL,5951.868,N,02321.583,E,134908,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,0.08,N,,*09\r\n$IIVTG,151.64,T,151.64,M,6.20,N,,,D*60\r\n$IIMWV,009,R,06.22,N,A*2C\r\n$IIVWT,097,R,00.97,N,00.50,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134910,,,,00,*46\r\n$IIDBT,032.74,f,009.98,M,005.39,F*24\r\n$GPGLL,5951.865,N,02321.586,E,134910,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.31,N,,*2E\r\n$IIVTG,151.46,T,151.46,M,6.20,N,,,D*60\r\n$IIMWV,082,T,01.84,N,A*22\r\n$IIVWT,082,R,01.84,N,00.95,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134912,,,,00,*44\r\n$IIDBT,034.05,f,010.38,M,005.61,F*2B\r\n$GPGLL,5951.862,N,02321.589,E,134912,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,151.99,T,151.99,M,6.12,N,,,D*61\r\n$IIMWV,016,R,07.19,N,A*2B\r\n$IIVWT,072,R,02.11,N,01.09,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134914,,,,00,*42\r\n$IIDBT,033.85,f,010.32,M,005.57,F*2B\r\n$GPGLL,5951.859,N,02321.592,E,134914,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.56,N,,*00\r\n$IIVTG,151.95,T,151.95,M,6.11,N,,,D*62\r\n$IIMWV,071,T,02.09,N,A*28\r\n$IIVWT,071,R,02.09,N,01.08,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134916,,,,00,*40\r\n$IIDBT,033.79,f,010.30,M,005.56,F*2B\r\n$GPGLL,5951.856,N,02321.596,E,134916,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,151.81,T,151.81,M,6.18,N,,,D*6B\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,076,R,02.39,N,01.23,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134918,,,,00,*4E\r\n$IIDBT,033.95,f,010.35,M,005.59,F*23\r\n$GPGLL,5951.853,N,02321.599,E,134918,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,151.95,T,151.95,M,6.19,N,,,D*6A\r\n$IIMWV,073,T,02.09,N,A*2A\r\n$IIVWT,073,R,02.09,N,01.08,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134920,,,,00,*45\r\n$IIDBT,033.92,f,010.34,M,005.58,F*24\r\n$GPGLL,5951.850,N,02321.602,E,134920,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.83,N,,*0B\r\n$IIVTG,151.82,T,151.82,M,6.20,N,,,D*60\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,076,R,02.21,N,01.14,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134922,,,,00,*47\r\n$IIDBT,033.92,f,010.34,M,005.58,F*24\r\n$GPGLL,5951.847,N,02321.605,E,134922,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,151.85,T,151.85,M,6.17,N,,,D*64\r\n$IIMWV,073,T,02.23,N,A*22\r\n$IIVWT,073,R,02.23,N,01.15,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134924,,,,00,*41\r\n$IIDBT,034.11,f,010.40,M,005.62,F*22\r\n$GPGLL,5951.844,N,02321.609,E,134925,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,152.01,T,152.01,M,6.17,N,,,D*64\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,073,R,02.29,N,01.18,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134926,,,,00,*43\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5951.841,N,02321.612,E,134927,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,152.06,T,152.06,M,6.19,N,,,D*6A\r\n$IIMWV,077,T,02.29,N,A*2C\r\n$IIVWT,077,R,02.29,N,01.18,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134928,,,,00,*4D\r\n$IIDBT,034.48,f,010.51,M,005.68,F*24\r\n$GPGLL,5951.838,N,02321.615,E,134929,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,151.91,T,151.91,M,6.20,N,,,D*60\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,077,R,02.42,N,01.25,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134930,,,,00,*44\r\n$IIDBT,034.48,f,010.51,M,005.68,F*24\r\n$GPGLL,5951.835,N,02321.618,E,134931,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.33,N,,*00\r\n$IIVTG,151.68,T,151.68,M,6.20,N,,,D*60\r\n$IIMWV,077,T,02.41,N,A*22\r\n$IIVWT,077,R,02.41,N,01.24,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134932,,,,00,*46\r\n$IIDBT,035.03,f,010.68,M,005.77,F*2E\r\n$GPGLL,5951.833,N,02321.621,E,134933,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,151.55,T,151.55,M,6.12,N,,,D*61\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,078,R,02.33,N,01.20,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134935,,,,00,*41\r\n$IIDBT,035.13,f,010.71,M,005.78,F*28\r\n$GPGLL,5951.830,N,02321.625,E,134935,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.49,N,,*0D\r\n$IIVTG,151.41,T,151.41,M,6.16,N,,,D*65\r\n$IIMWV,077,T,02.33,N,A*27\r\n$IIVWT,077,R,02.33,N,01.20,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134937,,,,00,*43\r\n$IIDBT,035.66,f,010.87,M,005.87,F*23\r\n$GPGLL,5951.827,N,02321.628,E,134937,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.78,N,,*0F\r\n$IIVTG,150.97,T,150.97,M,6.11,N,,,D*62\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,072,R,02.27,N,01.17,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134939,,,,00,*4D\r\n$IIDBT,036.21,f,011.04,M,005.96,F*29\r\n$GPGLL,5951.824,N,02321.631,E,134939,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,150.62,T,150.62,M,6.10,N,,,D*63\r\n$IIMWV,071,T,02.23,N,A*20\r\n$IIVWT,071,R,02.23,N,01.15,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134941,,,,00,*42\r\n$IIDBT,036.64,f,011.17,M,006.03,F*25\r\n$GPGLL,5951.821,N,02321.635,E,134941,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.44,N,01.26,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.42,N,,*06\r\n$IIVTG,150.80,T,150.80,M,6.10,N,,,D*63\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,074,R,02.23,N,01.15,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134943,,,,00,*40\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5951.818,N,02321.638,E,134943,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,1.48,N,,*0C\r\n$IIVTG,151.25,T,151.25,M,6.10,N,,,D*63\r\n$IIMWV,075,T,02.37,N,A*21\r\n$IIVWT,075,R,02.37,N,01.22,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134945,,,,00,*46\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5951.815,N,02321.641,E,134945,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,151.56,T,151.56,M,6.10,N,,,D*63\r\n$IIMWV,017,R,07.19,N,A*2A\r\n$IIVWT,074,R,02.15,N,01.11,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134947,,,,00,*44\r\n$IIDBT,037.20,f,011.34,M,006.12,F*25\r\n$GPGLL,5951.812,N,02321.644,E,134947,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,151.94,T,151.94,M,6.10,N,,,D*63\r\n$IIMWV,076,T,02.25,N,A*21\r\n$IIVWT,076,R,02.25,N,01.16,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134949,,,,00,*4A\r\n$IIDBT,038.51,f,011.74,M,006.34,F*2C\r\n$GPGLL,5951.807,N,02321.649,E,134949,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.72,N,,*05\r\n$IIVTG,152.13,T,152.13,M,6.16,N,,,D*65\r\n$IIMWV,017,R,07.19,N,A*2A\r\n$IIVWT,075,R,02.09,N,01.08,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134951,,,,00,*43\r\n$IIDBT,039.30,f,011.98,M,006.47,F*2C\r\n$GPGLL,5951.804,N,02321.652,E,134951,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,151.91,T,151.91,M,6.19,N,,,D*6A\r\n$IIMWV,071,T,02.06,N,A*27\r\n$IIVWT,071,R,02.06,N,01.06,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134953,,,,00,*41\r\n$IIDBT,040.41,f,012.32,M,006.65,F*27\r\n$GPGLL,5951.801,N,02321.656,E,134953,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,151.47,T,151.47,M,6.17,N,,,D*64\r\n$IIMWV,016,R,07.19,N,A*2B\r\n$IIVWT,069,R,02.06,N,01.06,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134955,,,,00,*47\r\n$IIDBT,041.63,f,012.69,M,006.85,F*26\r\n$GPGLL,5951.798,N,02321.659,E,134955,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.96,N,01.01,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,151.29,T,151.29,M,6.12,N,,,D*61\r\n$IIMWV,073,T,02.19,N,A*2B\r\n$IIVWT,073,R,02.19,N,01.13,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134957,,,,00,*45\r\n$IIDBT,043.04,f,013.12,M,007.09,F*2D\r\n$GPGLL,5951.795,N,02321.662,E,134957,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,1.81,N,,*09\r\n$IIVTG,152.17,T,152.17,M,6.10,N,,,D*63\r\n$IIMWV,015,R,07.19,N,A*28\r\n$IIVWT,070,R,02.00,N,01.03,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,134959,,,,00,*4B\r\n$IIDBT,044.45,f,013.55,M,007.32,F*24\r\n$GPGLL,5951.792,N,02321.665,E,134959,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.70,N,,*07\r\n$IIVTG,152.67,T,152.67,M,6.15,N,,,D*66\r\n$IIMWV,070,T,02.02,N,A*22\r\n$IIVWT,070,R,02.02,N,01.04,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135001,,,,00,*4E\r\n$IIDBT,045.56,f,013.89,M,007.50,F*22\r\n$GPGLL,5951.789,N,02321.668,E,135001,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.08,N,,*0B\r\n$IIVTG,152.62,T,152.62,M,6.11,N,,,D*62\r\n$IIMWV,015,R,07.19,N,A*28\r\n$IIVWT,070,R,01.94,N,01.00,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135003,,,,00,*4C\r\n$IIDBT,046.45,f,014.16,M,007.65,F*24\r\n$GPGLL,5951.786,N,02321.672,E,135003,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.94,N,01.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.36,N,,*06\r\n$IIVTG,152.56,T,152.56,M,6.10,N,,,D*63\r\n$IIMWV,065,T,01.78,N,A*28\r\n$IIVWT,065,R,01.78,N,00.92,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135005,,,,00,*4A\r\n$IIDBT,047.21,f,014.39,M,007.77,F*29\r\n$GPGLL,5951.783,N,02321.675,E,135006,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,152.56,T,152.56,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.80,N,A*29\r\n$IIVWT,079,R,01.76,N,00.91,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135007,,,,00,*48\r\n$IIDBT,047.99,f,014.63,M,007.90,F*2C\r\n$GPGLL,5951.780,N,02321.678,E,135008,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.18,N,,*0A\r\n$IIVTG,154.09,T,154.09,M,6.10,N,,,D*63\r\n$IIMWV,069,T,01.92,N,A*20\r\n$IIVWT,069,R,01.92,N,00.99,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135009,,,,00,*46\r\n$IIDBT,048.81,f,014.88,M,008.04,F*2D\r\n$GPGLL,5951.777,N,02321.680,E,135010,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,155.87,T,155.87,M,6.10,N,,,D*63\r\n$IIMWV,013,R,06.80,N,A*2F\r\n$IIVWT,076,R,01.59,N,00.82,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135011,,,,00,*4F\r\n$IIDBT,049.50,f,015.09,M,008.15,F*28\r\n$GPGLL,5951.774,N,02321.683,E,135012,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.04,N,,*04\r\n$IIVTG,156.22,T,156.22,M,6.10,N,,,D*63\r\n$IIMWV,079,T,01.67,N,A*2B\r\n$IIVWT,079,R,01.67,N,00.86,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135013,,,,00,*4D\r\n$IIDBT,050.09,f,015.27,M,008.25,F*23\r\n$GPGLL,5951.771,N,02321.686,E,135014,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,155.78,T,155.78,M,6.15,N,,,D*66\r\n$IIMWV,015,R,06.80,N,A*29\r\n$IIVWT,080,R,01.73,N,00.89,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135015,,,,00,*4B\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,5951.768,N,02321.689,E,135016,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,155.00,T,155.00,M,6.19,N,,,D*6A\r\n$IIMWV,079,T,01.78,N,A*25\r\n$IIVWT,079,R,01.78,N,00.92,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135018,,,,00,*46\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,5951.765,N,02321.692,E,135018,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.69,N,,*0F\r\n$IIVTG,154.25,T,154.25,M,6.15,N,,,D*66\r\n$IIMWV,014,R,06.80,N,A*28\r\n$IIVWT,076,R,01.65,N,00.85,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135020,,,,00,*4D\r\n$IIDBT,049.90,f,015.21,M,008.22,F*2A\r\n$GPGLL,5951.762,N,02321.695,E,135020,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.28,N,,*0A\r\n$IIVTG,153.53,T,153.53,M,6.11,N,,,D*62\r\n$IIMWV,081,T,01.74,N,A*2E\r\n$IIVWT,081,R,01.74,N,00.90,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135022,,,,00,*4F\r\n$IIDBT,049.30,f,015.03,M,008.12,F*23\r\n$GPGLL,5951.758,N,02321.698,E,135022,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.93,N,,*0B\r\n$IIVTG,153.51,T,153.51,M,6.10,N,,,D*63\r\n$IIMWV,015,R,06.80,N,A*29\r\n$IIVWT,082,R,01.74,N,00.90,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135024,,,,00,*49\r\n$IIDBT,048.42,f,014.76,M,007.97,F*26\r\n$GPGLL,5951.755,N,02321.701,E,135024,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,153.63,T,153.63,M,6.10,N,,,D*63\r\n$IIMWV,093,T,01.67,N,A*2F\r\n$IIVWT,093,R,01.67,N,00.86,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135026,,,,00,*4B\r\n$IIDBT,047.66,f,014.53,M,007.85,F*2B\r\n$GPGLL,5951.752,N,02321.704,E,135026,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.46,N,,*2E\r\n$IIVTG,153.40,T,153.40,M,6.15,N,,,D*66\r\n$IIMWV,014,R,06.41,N,A*25\r\n$IIVWT,092,R,01.53,N,00.79,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135028,,,,00,*45\r\n$IIDBT,047.37,f,014.44,M,007.80,F*2C\r\n$GPGLL,5951.749,N,02321.707,E,135028,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,152.92,T,152.92,M,6.11,N,,,D*62\r\n$IIMWV,092,T,01.63,N,A*2A\r\n$IIVWT,092,R,01.63,N,00.84,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135030,,,,00,*4C\r\n$IIDBT,047.14,f,014.37,M,007.76,F*20\r\n$GPGLL,5951.746,N,02321.710,E,135030,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.07,N,,*06\r\n$IIVTG,152.33,T,152.33,M,6.13,N,,,D*60\r\n$IIMWV,013,R,06.41,N,A*22\r\n$IIVWT,089,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135032,,,,00,*4E\r\n$IIDBT,047.47,f,014.47,M,007.82,F*2A\r\n$GPGLL,5951.742,N,02321.715,E,135032,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.58,N,,*21\r\n$IIVTG,151.83,T,151.83,M,6.17,N,,,D*64\r\n$IIMWV,088,T,01.43,N,A*23\r\n$IIVWT,088,R,01.43,N,00.74,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135034,,,,00,*48\r\n$IIDBT,046.58,f,014.20,M,007.67,F*2F\r\n$GPGLL,5951.739,N,02321.718,E,135034,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.51,N,00.78,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.06,N,,*2B\r\n$IIVTG,151.33,T,151.33,M,6.12,N,,,D*61\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,101,R,01.51,N,00.78,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135036,,,,00,*4A\r\n$IIDBT,046.55,f,014.19,M,007.67,F*28\r\n$GPGLL,5951.736,N,02321.722,E,135036,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.77,N,,*2C\r\n$IIVTG,150.91,T,150.91,M,6.18,N,,,D*6B\r\n$IIMWV,095,T,01.22,N,A*28\r\n$IIVWT,095,R,01.22,N,00.63,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135038,,,,00,*44\r\n$IIDBT,046.91,f,014.30,M,007.72,F*2F\r\n$GPGLL,5951.733,N,02321.725,E,135038,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.49,N,,*21\r\n$IIVTG,150.13,T,150.13,M,6.19,N,,,D*6A\r\n$IIMWV,013,R,06.22,N,A*27\r\n$IIVWT,100,R,01.39,N,00.72,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135040,,,,00,*4B\r\n$IIDBT,046.68,f,014.23,M,007.69,F*21\r\n$GPGLL,5951.730,N,02321.728,E,135040,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.31,N,,*2F\r\n$IIVTG,149.38,T,149.38,M,6.12,N,,,D*61\r\n$IIMWV,103,T,01.41,N,A*23\r\n$IIVWT,103,R,01.41,N,00.73,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135042,,,,00,*49\r\n$IIDBT,046.61,f,014.21,M,007.68,F*2B\r\n$GPGLL,5951.727,N,02321.732,E,135042,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.65,N,,*2F\r\n$IIVTG,149.07,T,149.07,M,6.11,N,,,D*62\r\n$IIMWV,013,R,06.22,N,A*27\r\n$IIVWT,096,R,01.38,N,00.71,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135044,,,,00,*4F\r\n$IIDBT,046.84,f,014.28,M,007.71,F*21\r\n$GPGLL,5951.724,N,02321.735,E,135044,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.90,N,,*25\r\n$IIVTG,149.32,T,149.32,M,6.10,N,,,D*63\r\n$IIMWV,094,T,01.04,N,A*2D\r\n$IIVWT,094,R,01.04,N,00.54,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135046,,,,00,*4D\r\n$IIDBT,047.50,f,014.48,M,007.82,F*23\r\n$GPGLL,5951.721,N,02321.739,E,135046,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.74,N,,*2F\r\n$IIVTG,150.08,T,150.08,M,6.10,N,,,D*63\r\n$IIMWV,014,R,06.22,N,A*20\r\n$IIVWT,097,R,01.49,N,00.77,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135048,,,,00,*43\r\n$IIDBT,046.88,f,014.29,M,007.72,F*2F\r\n$GPGLL,5951.718,N,02321.742,E,135049,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-1.42,N,,*2B\r\n$IIVTG,150.62,T,150.62,M,6.10,N,,,D*63\r\n$IIMWV,091,T,01.10,N,A*2D\r\n$IIVWT,091,R,01.10,N,00.57,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135050,,,,00,*4A\r\n$IIDBT,047.96,f,014.62,M,007.90,F*22\r\n$GPGLL,5951.715,N,02321.745,E,135051,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.83,N,,*27\r\n$IIVTG,150.18,T,150.18,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,115,R,01.34,N,00.69,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135052,,,,00,*48\r\n$IIDBT,047.86,f,014.59,M,007.88,F*22\r\n$GPGLL,5951.712,N,02321.749,E,135053,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.94,N,,*23\r\n$IIVTG,150.10,T,150.10,M,6.10,N,,,D*63\r\n$IIMWV,115,T,01.24,N,A*27\r\n$IIVWT,115,R,01.24,N,00.64,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135054,,,,00,*4E\r\n$IIDBT,048.09,f,014.66,M,007.92,F*2D\r\n$GPGLL,5951.709,N,02321.752,E,135055,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-2.90,N,,*27\r\n$IIVTG,150.15,T,150.15,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,116,R,01.28,N,00.66,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135056,,,,00,*4C\r\n$IIDBT,048.48,f,014.78,M,007.98,F*2D\r\n$GPGLL,5951.706,N,02321.755,E,135057,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.09,N,,*26\r\n$IIVTG,150.29,T,150.29,M,6.10,N,,,D*63\r\n$IIMWV,117,T,01.39,N,A*29\r\n$IIVWT,117,R,01.39,N,00.72,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135058,,,,00,*42\r\n$IIDBT,048.19,f,014.69,M,007.94,F*25\r\n$GPGLL,5951.703,N,02321.759,E,135059,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,150.57,T,150.57,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,114,R,01.32,N,00.68,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135101,,,,00,*4F\r\n$IIDBT,049.11,f,014.97,M,008.09,F*26\r\n$GPGLL,5951.700,N,02321.762,E,135101,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,150.52,T,150.52,M,6.10,N,,,D*63\r\n$IIMWV,114,T,01.51,N,A*24\r\n$IIVWT,114,R,01.51,N,00.78,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135103,,,,00,*4D\r\n$IIDBT,048.58,f,014.81,M,008.00,F*24\r\n$GPGLL,5951.697,N,02321.765,E,135103,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.50,N,,*2B\r\n$IIVTG,150.66,T,150.66,M,6.10,N,,,D*63\r\n$IIMWV,014,R,05.83,N,A*28\r\n$IIVWT,114,R,01.49,N,00.77,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135105,,,,00,*4B\r\n$IIDBT,047.76,f,014.56,M,007.87,F*2D\r\n$GPGLL,5951.695,N,02321.769,E,135105,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,151.19,T,151.19,M,6.10,N,,,D*63\r\n$IIMWV,116,T,01.49,N,A*2F\r\n$IIVWT,116,R,01.49,N,00.77,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135107,,,,00,*49\r\n$IIDBT,047.04,f,014.34,M,007.75,F*21\r\n$GPGLL,5951.692,N,02321.772,E,135107,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.72,N,,*2A\r\n$IIVTG,151.10,T,151.10,M,6.10,N,,,D*63\r\n$IIMWV,016,R,05.44,N,A*21\r\n$IIVWT,125,R,01.82,N,00.94,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135109,,,,00,*47\r\n$IIDBT,042.02,f,012.81,M,006.92,F*22\r\n$GPGLL,5951.689,N,02321.775,E,135109,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-3.94,N,,*22\r\n$IIVTG,150.85,T,150.85,M,6.10,N,,,D*63\r\n$IIMWV,128,T,01.43,N,A*28\r\n$IIVWT,128,R,01.43,N,00.74,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135111,,,,00,*4E\r\n$IIDBT,033.03,f,010.07,M,005.44,F*21\r\n$GPGLL,5951.686,N,02321.779,E,135111,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.89,N,,*2E\r\n$IIVTG,149.77,T,149.77,M,6.10,N,,,D*63\r\n$IIMWV,012,R,05.44,N,A*25\r\n$IIVWT,132,R,01.53,N,00.79,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135113,,,,00,*4C\r\n$IIDBT,029.06,f,008.86,M,004.78,F*21\r\n$GPGLL,5951.683,N,02321.782,E,135113,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-3.79,N,,*21\r\n$IIVTG,148.87,T,148.87,M,6.10,N,,,D*63\r\n$IIMWV,131,T,01.74,N,A*24\r\n$IIVWT,131,R,01.74,N,00.90,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135115,,,,00,*4A\r\n$IIDBT,029.72,f,009.06,M,004.89,F*25\r\n$GPGLL,5951.678,N,02321.787,E,135115,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.41,N,,*2D\r\n$IIVTG,148.82,T,148.82,M,6.10,N,,,D*63\r\n$IIMWV,011,R,05.44,N,A*26\r\n$IIVWT,137,R,01.49,N,00.77,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135117,,,,00,*48\r\n$IIDBT,032.31,f,009.85,M,005.32,F*22\r\n$GPGLL,5951.676,N,02321.791,E,135117,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.36,N,11.77,K*56\r\n$IIVPW,-4.81,N,,*21\r\n$IIVTG,148.05,T,148.05,M,6.05,N,,,D*67\r\n$IIMWV,135,T,01.61,N,A*24\r\n$IIVWT,135,R,01.61,N,00.83,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135119,,,,00,*46\r\n$IIDBT,031.69,f,009.66,M,005.22,F*20\r\n$GPGLL,5951.673,N,02321.795,E,135119,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.35,N,11.76,K*54\r\n$IIVPW,-5.19,N,,*21\r\n$IIVTG,146.71,T,146.71,M,5.96,N,,,D*6E\r\n$IIMWV,007,R,05.24,N,A*27\r\n$IIVWT,151,R,01.20,N,00.62,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135121,,,,00,*4D\r\n$IIDBT,030.74,f,009.37,M,005.06,F*2F\r\n$GPGLL,5951.670,N,02321.798,E,135121,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-4.09,N,,*21\r\n$IIVTG,146.10,T,146.10,M,5.92,N,,,D*6A\r\n$IIMWV,133,T,01.86,N,A*2B\r\n$IIVWT,133,R,01.86,N,00.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135123,,,,00,*4F\r\n$IIDBT,025.81,f,007.87,M,004.25,F*24\r\n$GPGLL,5951.667,N,02321.802,E,135123,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.83,N,,*23\r\n$IIVTG,146.90,T,146.90,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.24,N,A*29\r\n$IIVWT,146,R,01.43,N,00.74,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135125,,,,00,*49\r\n$IIDBT,028.01,f,008.54,M,004.61,F*20\r\n$GPGLL,5951.665,N,02321.805,E,135125,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.61,N,,*2F\r\n$IIVTG,146.30,T,146.30,M,5.90,N,,,D*68\r\n$IIMWV,134,T,01.74,N,A*21\r\n$IIVWT,134,R,01.74,N,00.90,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135127,,,,00,*4B\r\n$IIDBT,030.90,f,009.42,M,005.09,F*28\r\n$GPGLL,5951.662,N,02321.809,E,135127,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-4.41,N,,*2D\r\n$IIVTG,146.05,T,146.05,M,5.90,N,,,D*68\r\n$IIMWV,012,R,05.24,N,A*23\r\n$IIVWT,137,R,01.63,N,00.84,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135129,,,,00,*45\r\n$IIDBT,033.52,f,010.22,M,005.52,F*25\r\n$GPGLL,5951.659,N,02321.813,E,135129,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.71,N,00.88,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-5.51,N,,*2D\r\n$IIVTG,145.21,T,145.21,M,5.90,N,,,D*68\r\n$IIMWV,152,T,01.78,N,A*2D\r\n$IIVWT,152,R,01.78,N,00.92,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135131,,,,00,*4C\r\n$IIDBT,036.25,f,011.05,M,005.97,F*2D\r\n$GPGLL,5951.657,N,02321.817,E,135132,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-5.50,N,,*2C\r\n$IIVTG,143.00,T,143.00,M,5.90,N,,,D*68\r\n$IIMWV,011,R,04.85,N,A*2A\r\n$IIVWT,150,R,01.80,N,00.93,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135133,,,,00,*4E\r\n$IIDBT,037.56,f,011.45,M,006.18,F*28\r\n$GPGLL,5951.654,N,02321.821,E,135134,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.20,N,,*2B\r\n$IIVTG,141.30,T,141.30,M,5.90,N,,,D*68\r\n$IIMWV,150,T,01.86,N,A*2E\r\n$IIVWT,150,R,01.86,N,00.96,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135135,,,,00,*48\r\n$IIDBT,039.36,f,012.00,M,006.48,F*27\r\n$GPGLL,5951.652,N,02321.825,E,135136,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-5.43,N,,*2E\r\n$IIVTG,140.27,T,140.27,M,5.90,N,,,D*68\r\n$IIMWV,009,R,04.85,N,A*23\r\n$IIVWT,155,R,01.76,N,00.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135137,,,,00,*4A\r\n$IIDBT,040.77,f,012.43,M,006.71,F*21\r\n$GPGLL,5951.649,N,02321.829,E,135138,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.79,N,,*27\r\n$IIVTG,138.99,T,138.99,M,5.90,N,,,D*68\r\n$IIMWV,153,T,01.49,N,A*2E\r\n$IIVWT,153,R,01.49,N,00.77,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135139,,,,00,*44\r\n$IIDBT,040.97,f,012.49,M,006.75,F*21\r\n$GPGLL,5951.647,N,02321.834,E,135140,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.65,N,00.85,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.61,N,,*2E\r\n$IIVTG,138.05,T,138.05,M,5.90,N,,,D*68\r\n$IIMWV,008,R,04.85,N,A*22\r\n$IIVWT,155,R,01.61,N,00.83,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135141,,,,00,*4B\r\n$IIDBT,041.33,f,012.60,M,006.81,F*2E\r\n$GPGLL,5951.644,N,02321.838,E,135142,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.28,N,,*23\r\n$IIVTG,137.41,T,137.41,M,5.90,N,,,D*68\r\n$IIMWV,147,T,01.36,N,A*23\r\n$IIVWT,147,R,01.36,N,00.70,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135144,,,,00,*4E\r\n$IIDBT,041.69,f,012.71,M,006.87,F*27\r\n$GPGLL,5951.642,N,02321.843,E,135144,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.01,N,,*28\r\n$IIVTG,136.88,T,136.88,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.24,N,A*29\r\n$IIVWT,145,R,01.32,N,00.68,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135146,,,,00,*4C\r\n$IIDBT,041.89,f,012.77,M,006.90,F*29\r\n$GPGLL,5951.640,N,02321.847,E,135146,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.24,N,,*2F\r\n$IIVTG,136.47,T,136.47,M,5.90,N,,,D*68\r\n$IIMWV,147,T,01.20,N,A*24\r\n$IIVWT,147,R,01.20,N,00.62,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135148,,,,00,*42\r\n$IIDBT,042.12,f,012.84,M,006.94,F*20\r\n$GPGLL,5951.637,N,02321.852,E,135148,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,136.17,T,136.17,M,5.90,N,,,D*68\r\n$IIMWV,007,R,04.85,N,A*2D\r\n$IIVWT,158,R,01.57,N,00.81,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135150,,,,00,*4B\r\n$IIDBT,042.68,f,013.01,M,007.03,F*2E\r\n$GPGLL,5951.635,N,02321.856,E,135150,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-5.76,N,,*28\r\n$IIVTG,135.77,T,135.77,M,5.90,N,,,D*68\r\n$IIMWV,158,T,01.49,N,A*25\r\n$IIVWT,158,R,01.49,N,00.77,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135152,,,,00,*49\r\n$IIDBT,043.24,f,013.18,M,007.12,F*2F\r\n$GPGLL,5951.633,N,02321.861,E,135152,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-5.31,N,,*2B\r\n$IIVTG,134.76,T,134.76,M,5.90,N,,,D*68\r\n$IIMWV,002,R,05.83,N,A*2F\r\n$IIVWT,157,R,00.54,N,00.28,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135154,,,,00,*4F\r\n$IIDBT,043.89,f,013.38,M,007.23,F*28\r\n$GPGLL,5951.630,N,02321.866,E,135154,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.94,N,,*23\r\n$IIVTG,134.26,T,134.26,M,5.90,N,,,D*68\r\n$IIMWV,116,T,01.28,N,A*28\r\n$IIVWT,116,R,01.28,N,00.66,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135156,,,,00,*4D\r\n$IIDBT,044.91,f,013.69,M,007.39,F*29\r\n$GPGLL,5951.628,N,02321.870,E,135156,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.83,N,00.43,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-3.78,N,,*20\r\n$IIVTG,133.57,T,133.57,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.83,N,A*24\r\n$IIVWT,127,R,01.08,N,00.56,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135158,,,,00,*43\r\n$IIDBT,045.93,f,014.00,M,007.56,F*2B\r\n$GPGLL,5951.625,N,02321.878,E,135158,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.03,N,00.53,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.02,N,,*2F\r\n$IIVTG,131.90,T,131.90,M,5.90,N,,,D*68\r\n$IIMWV,097,T,01.14,N,A*2F\r\n$IIVWT,097,R,01.14,N,00.59,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135200,,,,00,*4D\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5951.622,N,02321.882,E,135200,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.08,N,00.56,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.70,N,,*2B\r\n$IIVTG,131.22,T,131.22,M,5.90,N,,,D*68\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,099,R,01.28,N,00.66,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135202,,,,00,*4F\r\n$IIDBT,047.07,f,014.35,M,007.75,F*23\r\n$GPGLL,5951.620,N,02321.887,E,135202,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-3.25,N,,*28\r\n$IIVTG,130.63,T,130.63,M,5.90,N,,,D*68\r\n$IIMWV,143,T,00.58,N,A*2E\r\n$IIVWT,143,R,00.58,N,00.30,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135204,,,,00,*49\r\n$IIDBT,050.09,f,015.27,M,008.25,F*23\r\n$GPGLL,5951.618,N,02321.893,E,135204,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.48,N,00.25,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-6.23,N,,*2B\r\n$IIVTG,127.88,T,127.88,M,5.90,N,,,D*68\r\n$IIMWV,002,R,05.44,N,A*24\r\n$IIVWT,168,R,00.89,N,00.46,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135206,,,,00,*4B\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,5951.616,N,02321.898,E,135206,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.58,N,,*25\r\n$IIVTG,125.60,T,125.60,M,5.90,N,,,D*68\r\n$IIMWV,141,T,01.08,N,A*28\r\n$IIVWT,141,R,01.08,N,00.56,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135208,,,,00,*45\r\n$IIDBT,051.21,f,015.61,M,008.43,F*2A\r\n$GPGLL,5951.615,N,02321.903,E,135208,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.95,N,00.49,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-5.14,N,,*2C\r\n$IIVTG,125.45,T,125.45,M,5.90,N,,,D*68\r\n$IIMWV,006,R,05.44,N,A*20\r\n$IIVWT,146,R,01.04,N,00.54,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135210,,,,00,*4C\r\n$IIDBT,052.82,f,016.10,M,008.70,F*25\r\n$GPGLL,5951.613,N,02321.908,E,135210,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.38,N,00.71,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,125.54,T,125.54,M,5.90,N,,,D*68\r\n$IIMWV,141,T,01.47,N,A*23\r\n$IIVWT,141,R,01.47,N,00.76,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135212,,,,00,*4E\r\n$IIDBT,054.06,f,016.48,M,008.90,F*2C\r\n$GPGLL,5951.611,N,02321.914,E,135212,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.36,N,,*2C\r\n$IIVTG,125.33,T,125.33,M,5.90,N,,,D*68\r\n$IIMWV,007,R,05.24,N,A*27\r\n$IIVWT,150,R,01.32,N,00.68,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135214,,,,00,*48\r\n$IIDBT,055.77,f,017.00,M,009.18,F*27\r\n$GPGLL,5951.609,N,02321.919,E,135215,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-5.41,N,,*2C\r\n$IIVTG,125.26,T,125.26,M,5.88,N,,,D*61\r\n$IIMWV,147,T,01.14,N,A*23\r\n$IIVWT,147,R,01.14,N,00.59,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135216,,,,00,*4A\r\n$IIDBT,056.19,f,017.13,M,009.25,F*20\r\n$GPGLL,5951.607,N,02321.924,E,135217,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-4.89,N,,*29\r\n$IIVTG,125.09,T,125.09,M,5.89,N,,,D*60\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,140,R,01.32,N,00.68,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135218,,,,00,*44\r\n$IIDBT,056.42,f,017.20,M,009.29,F*22\r\n$GPGLL,5951.605,N,02321.930,E,135219,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-4.81,N,,*21\r\n$IIVTG,125.00,T,125.00,M,5.90,N,,,D*68\r\n$IIMWV,141,T,01.06,N,A*26\r\n$IIVWT,141,R,01.06,N,00.55,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135220,,,,00,*4F\r\n$IIDBT,058.52,f,017.84,M,009.64,F*2A\r\n$GPGLL,5951.603,N,02321.935,E,135221,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.52,N,,*2F\r\n$IIVTG,124.15,T,124.15,M,5.90,N,,,D*68\r\n$IIMWV,008,R,05.44,N,A*2E\r\n$IIVWT,140,R,01.20,N,00.62,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135222,,,,00,*4D\r\n$IIDBT,058.00,f,017.68,M,009.55,F*2D\r\n$GPGLL,5951.602,N,02321.940,E,135223,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-4.51,N,,*2C\r\n$IIVTG,122.64,T,122.64,M,5.82,N,,,D*6B\r\n$IIMWV,139,T,01.26,N,A*2B\r\n$IIVWT,139,R,01.26,N,00.65,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135224,,,,00,*4B\r\n$IIDBT,058.16,f,017.73,M,009.58,F*2D\r\n$GPGLL,5951.600,N,02321.946,E,135225,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-4.36,N,,*2D\r\n$IIVTG,121.99,T,121.99,M,5.81,N,,,D*68\r\n$IIMWV,010,R,05.44,N,A*27\r\n$IIVWT,132,R,01.22,N,00.63,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135227,,,,00,*48\r\n$IIDBT,059.05,f,018.00,M,009.72,F*2D\r\n$GPGLL,5951.598,N,02321.951,E,135227,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.37,N,,*2C\r\n$IIVTG,121.67,T,121.67,M,5.88,N,,,D*61\r\n$IIMWV,131,T,01.30,N,A*24\r\n$IIVWT,131,R,01.30,N,00.67,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135229,,,,00,*46\r\n$IIDBT,060.49,f,018.44,M,009.96,F*25\r\n$GPGLL,5951.597,N,02321.957,E,135229,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.30,N,00.67,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.26,N,,*2C\r\n$IIVTG,121.54,T,121.54,M,5.84,N,,,D*6D\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,134,R,01.20,N,00.62,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135231,,,,00,*4F\r\n$IIDBT,059.87,f,018.25,M,009.86,F*2B\r\n$GPGLL,5951.595,N,02321.962,E,135231,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.24,N,00.64,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.42,N,,*28\r\n$IIVTG,121.43,T,121.43,M,5.86,N,,,D*6F\r\n$IIMWV,132,T,01.39,N,A*2E\r\n$IIVWT,132,R,01.39,N,00.72,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135233,,,,00,*4D\r\n$IIDBT,060.26,f,018.37,M,009.92,F*2C\r\n$GPGLL,5951.593,N,02321.968,E,135233,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.34,N,00.69,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.11,N,,*28\r\n$IIVTG,121.16,T,121.16,M,5.89,N,,,D*60\r\n$IIMWV,010,R,05.44,N,A*27\r\n$IIVWT,135,R,01.28,N,00.66,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135235,,,,00,*4B\r\n$IIDBT,060.30,f,018.38,M,009.93,F*25\r\n$GPGLL,5951.592,N,02321.973,E,135235,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.57,N,,*2A\r\n$IIVTG,120.69,T,120.69,M,5.85,N,,,D*6C\r\n$IIMWV,136,T,01.20,N,A*22\r\n$IIVWT,136,R,01.20,N,00.62,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135237,,,,00,*49\r\n$IIDBT,060.46,f,018.43,M,009.96,F*2D\r\n$GPGLL,5951.590,N,02321.979,E,135237,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.54,N,,*29\r\n$IIVTG,120.35,T,120.35,M,5.81,N,,,D*68\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,136,R,01.20,N,00.62,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135239,,,,00,*47\r\n$IIDBT,061.61,f,018.78,M,010.15,F*22\r\n$GPGLL,5951.587,N,02321.987,E,135239,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-4.89,N,,*29\r\n$IIVTG,120.11,T,120.11,M,5.89,N,,,D*60\r\n$IIMWV,141,T,01.18,N,A*29\r\n$IIVWT,141,R,01.18,N,00.61,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135241,,,,00,*48\r\n$IIDBT,062.13,f,018.94,M,010.23,F*23\r\n$GPGLL,5951.586,N,02321.993,E,135241,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.16,N,00.60,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.74,N,,*2B\r\n$IIVTG,119.44,T,119.44,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,138,R,01.22,N,00.63,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135243,,,,00,*4A\r\n$IIDBT,062.26,f,018.98,M,010.25,F*2F\r\n$GPGLL,5951.584,N,02321.999,E,135243,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.11,N,,*28\r\n$IIVTG,119.38,T,119.38,M,5.90,N,,,D*68\r\n$IIMWV,134,T,01.20,N,A*20\r\n$IIVWT,134,R,01.20,N,00.62,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135245,,,,00,*4C\r\n$IIDBT,062.62,f,019.09,M,010.31,F*23\r\n$GPGLL,5951.583,N,02322.004,E,135245,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.97,N,00.50,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.93,N,,*23\r\n$IIVTG,118.47,T,118.47,M,5.90,N,,,D*68\r\n$IIMWV,005,R,05.44,N,A*23\r\n$IIVWT,148,R,00.87,N,00.45,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135247,,,,00,*4E\r\n$IIDBT,063.51,f,019.36,M,010.46,F*2E\r\n$GPGLL,5951.581,N,02322.010,E,135247,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.64,N,,*2B\r\n$IIVTG,118.15,T,118.15,M,5.90,N,,,D*68\r\n$IIMWV,148,T,00.95,N,A*24\r\n$IIVWT,148,R,00.95,N,00.49,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135249,,,,00,*40\r\n$IIDBT,063.84,f,019.46,M,010.51,F*27\r\n$GPGLL,5951.580,N,02322.016,E,135249,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.79,N,,*26\r\n$IIVTG,118.54,T,118.54,M,5.90,N,,,D*68\r\n$IIMWV,009,R,05.44,N,A*2F\r\n$IIVWT,138,R,01.22,N,00.63,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135251,,,,00,*49\r\n$IIDBT,064.10,f,019.54,M,010.56,F*29\r\n$GPGLL,5951.578,N,02322.022,E,135251,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.58,N,,*25\r\n$IIVTG,118.91,T,118.91,M,5.90,N,,,D*68\r\n$IIMWV,142,T,01.08,N,A*2B\r\n$IIVWT,142,R,01.08,N,00.56,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135253,,,,00,*4B\r\n$IIDBT,064.89,f,019.78,M,010.69,F*2B\r\n$GPGLL,5951.576,N,02322.027,E,135253,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.01,N,00.52,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.94,N,,*25\r\n$IIVTG,117.18,T,117.18,M,5.90,N,,,D*68\r\n$IIMWV,008,R,05.44,N,A*2E\r\n$IIVWT,141,R,01.08,N,00.56,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135255,,,,00,*4D\r\n$IIDBT,065.18,f,019.87,M,010.74,F*2E\r\n$GPGLL,5951.575,N,02322.033,E,135255,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.18,N,00.61,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-4.72,N,,*2D\r\n$IIVTG,116.27,T,116.27,M,5.90,N,,,D*68\r\n$IIMWV,144,T,01.10,N,A*24\r\n$IIVWT,144,R,01.10,N,00.57,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135257,,,,00,*4F\r\n$IIDBT,066.04,f,020.13,M,010.88,F*24\r\n$GPGLL,5951.574,N,02322.039,E,135258,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.87,N,00.45,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-5.83,N,,*22\r\n$IIVTG,115.94,T,115.94,M,5.90,N,,,D*68\r\n$IIMWV,005,R,05.44,N,A*23\r\n$IIVWT,152,R,00.89,N,00.46,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135259,,,,00,*41\r\n$IIDBT,066.30,f,020.21,M,010.92,F*29\r\n$GPGLL,5951.572,N,02322.045,E,135300,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-4.55,N,,*28\r\n$IIVTG,116.09,T,116.09,M,5.90,N,,,D*68\r\n$IIMWV,136,T,01.14,N,A*25\r\n$IIVWT,136,R,01.14,N,00.59,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135301,,,,00,*4D\r\n$IIDBT,066.99,f,020.42,M,011.03,F*26\r\n$GPGLL,5951.571,N,02322.051,E,135302,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-3.87,N,,*20\r\n$IIVTG,116.44,T,116.44,M,5.90,N,,,D*68\r\n$IIMWV,013,R,05.44,N,A*24\r\n$IIVWT,129,R,01.59,N,00.82,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135303,,,,00,*4F\r\n$IIDBT,067.35,f,020.53,M,011.09,F*2B\r\n$GPGLL,5951.569,N,02322.057,E,135304,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.59,N,,*24\r\n$IIVTG,116.61,T,116.61,M,5.90,N,,,D*68\r\n$IIMWV,140,T,01.45,N,A*20\r\n$IIVWT,140,R,01.45,N,00.75,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135305,,,,00,*49\r\n$IIDBT,067.87,f,020.69,M,011.18,F*2B\r\n$GPGLL,5951.568,N,02322.062,E,135306,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-4.56,N,,*2B\r\n$IIVTG,116.58,T,116.58,M,5.90,N,,,D*68\r\n$IIMWV,007,R,05.44,N,A*21\r\n$IIVWT,145,R,01.08,N,00.56,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135307,,,,00,*4B\r\n$IIDBT,068.27,f,020.81,M,011.24,F*27\r\n$GPGLL,5951.566,N,02322.068,E,135308,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.34,N,,*29\r\n$IIVTG,115.87,T,115.87,M,5.90,N,,,D*68\r\n$IIMWV,112,T,01.47,N,A*25\r\n$IIVWT,112,R,01.47,N,00.76,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135310,,,,00,*4D\r\n$IIDBT,068.99,f,021.03,M,011.36,F*2A\r\n$GPGLL,5951.565,N,02322.074,E,135310,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.31,N,,*2C\r\n$IIVTG,115.79,T,115.79,M,5.90,N,,,D*68\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,112,R,01.30,N,00.67,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135312,,,,00,*4F\r\n$IIDBT,069.19,f,021.09,M,011.39,F*26\r\n$GPGLL,5951.563,N,02322.080,E,135312,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.28,N,,*24\r\n$IIVTG,116.02,T,116.02,M,5.90,N,,,D*68\r\n$IIMWV,116,T,01.39,N,A*28\r\n$IIVWT,116,R,01.39,N,00.72,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135314,,,,00,*49\r\n$IIDBT,069.84,f,021.29,M,011.50,F*2F\r\n$GPGLL,5951.562,N,02322.086,E,135314,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,115.55,T,115.55,M,5.90,N,,,D*68\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,112,R,01.73,N,00.89,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135316,,,,00,*4B\r\n$IIDBT,070.27,f,021.42,M,011.57,F*24\r\n$GPGLL,5951.561,N,02322.092,E,135316,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.67,N,00.86,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.63,N,,*2B\r\n$IIVTG,115.66,T,115.66,M,5.90,N,,,D*68\r\n$IIMWV,110,T,01.43,N,A*23\r\n$IIVWT,110,R,01.43,N,00.74,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135318,,,,00,*45\r\n$IIDBT,070.66,f,021.54,M,011.64,F*26\r\n$GPGLL,5951.559,N,02322.097,E,135318,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-2.69,N,,*21\r\n$IIVTG,115.24,T,115.24,M,5.90,N,,,D*68\r\n$IIMWV,012,R,05.83,N,A*2E\r\n$IIVWT,112,R,01.34,N,00.69,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135320,,,,00,*4E\r\n$IIDBT,070.86,f,021.60,M,011.67,F*2C\r\n$GPGLL,5951.558,N,02322.103,E,135320,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,114.26,T,114.26,M,5.90,N,,,D*68\r\n$IIMWV,112,T,01.47,N,A*25\r\n$IIVWT,112,R,01.47,N,00.76,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135322,,,,00,*4C\r\n$IIDBT,071.48,f,021.79,M,011.77,F*26\r\n$GPGLL,5951.556,N,02322.112,E,135322,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.32,N,00.68,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.43,N,,*29\r\n$IIVTG,114.12,T,114.12,M,5.90,N,,,D*68\r\n$IIMWV,016,R,05.83,N,A*2A\r\n$IIVWT,109,R,01.67,N,00.86,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135324,,,,00,*4A\r\n$IIDBT,071.65,f,021.84,M,011.80,F*23\r\n$GPGLL,5951.555,N,02322.118,E,135324,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,-2.34,N,,*29\r\n$IIVTG,114.07,T,114.07,M,5.90,N,,,D*68\r\n$IIMWV,114,T,01.53,N,A*26\r\n$IIVWT,114,R,01.53,N,00.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135326,,,,00,*48\r\n$IIDBT,071.94,f,021.93,M,011.85,F*2E\r\n$GPGLL,5951.553,N,02322.124,E,135326,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,115.52,T,115.52,M,5.87,N,,,D*6E\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,110,R,01.96,N,01.01,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135328,,,,00,*46\r\n$IIDBT,072.47,f,022.09,M,011.94,F*23\r\n$GPGLL,5951.552,N,02322.130,E,135328,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.22,N,00.63,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-1.43,N,,*2A\r\n$IIVTG,116.13,T,116.13,M,5.84,N,,,D*6D\r\n$IIMWV,121,T,01.59,N,A*2A\r\n$IIVWT,121,R,01.59,N,00.82,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135330,,,,00,*4F\r\n$IIDBT,072.96,f,022.24,M,012.02,F*2C\r\n$GPGLL,5951.550,N,02322.135,E,135330,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,-2.32,N,,*2F\r\n$IIVTG,118.08,T,118.08,M,5.69,N,,,D*6E\r\n$IIMWV,024,R,05.44,N,A*20\r\n$IIVWT,113,R,02.35,N,01.21,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135332,,,,00,*4D\r\n$IIDBT,073.16,f,022.30,M,012.05,F*27\r\n$GPGLL,5951.549,N,02322.141,E,135332,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.49,N,00.77,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.02,N,11.14,K*54\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,118.60,T,118.60,M,5.62,N,,,D*65\r\n$IIMWV,118,T,01.55,N,A*2C\r\n$IIVWT,118,R,01.55,N,00.80,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135334,,,,00,*4B\r\n$IIDBT,073.45,f,022.39,M,012.10,F*2C\r\n$GPGLL,5951.547,N,02322.146,E,135334,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.94,N,11.00,K*5D\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,115.92,T,115.92,M,5.56,N,,,D*62\r\n$IIMWV,023,R,05.24,N,A*21\r\n$IIVWT,116,R,02.27,N,01.17,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135336,,,,00,*49\r\n$IIDBT,073.71,f,022.47,M,012.14,F*26\r\n$GPGLL,5951.546,N,02322.152,E,135336,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.93,N,10.98,K*5A\r\n$IIVPW,-2.94,N,,*23\r\n$IIVTG,113.84,T,113.84,M,5.56,N,,,D*62\r\n$IIMWV,123,T,01.82,N,A*2E\r\n$IIVWT,123,R,01.82,N,00.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135338,,,,00,*47\r\n$IIDBT,074.01,f,022.56,M,012.19,F*2B\r\n$GPGLL,5951.545,N,02322.158,E,135338,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.91,N,10.94,K*54\r\n$IIVPW,-2.38,N,,*25\r\n$IIVTG,112.51,T,112.51,M,5.59,N,,,D*6D\r\n$IIMWV,025,R,05.44,N,A*21\r\n$IIVWT,117,R,02.54,N,01.31,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135340,,,,00,*48\r\n$IIDBT,074.30,f,022.65,M,012.24,F*27\r\n$GPGLL,5951.544,N,02322.163,E,135341,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,05.96,N,11.03,K*5C\r\n$IIVPW,-2.66,N,,*2E\r\n$IIVTG,115.75,T,115.75,M,5.65,N,,,D*62\r\n$IIMWV,118,T,02.21,N,A*2C\r\n$IIVWT,118,R,02.21,N,01.14,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135342,,,,00,*4A\r\n$IIDBT,074.57,f,022.73,M,012.28,F*2D\r\n$GPGLL,5951.542,N,02322.169,E,135343,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.00,N,11.11,K*53\r\n$IIVPW,-2.78,N,,*21\r\n$IIVTG,117.07,T,117.07,M,5.69,N,,,D*6E\r\n$IIMWV,021,R,05.83,N,A*2E\r\n$IIVWT,108,R,02.15,N,01.11,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135344,,,,00,*4C\r\n$IIDBT,074.83,f,022.81,M,012.32,F*22\r\n$GPGLL,5951.541,N,02322.174,E,135345,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.04,N,11.18,K*5E\r\n$IIVPW,-1.81,N,,*24\r\n$IIVTG,116.71,T,116.71,M,5.75,N,,,D*63\r\n$IIMWV,111,T,02.07,N,A*21\r\n$IIVWT,111,R,02.07,N,01.07,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135346,,,,00,*4E\r\n$IIDBT,075.09,f,022.89,M,012.37,F*2C\r\n$GPGLL,5951.539,N,02322.180,E,135347,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.09,N,11.27,K*5F\r\n$IIVPW,-2.13,N,,*2C\r\n$IIVTG,117.28,T,117.28,M,5.79,N,,,D*6F\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,111,R,01.96,N,01.01,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135348,,,,00,*40\r\n$IIDBT,075.29,f,022.95,M,012.40,F*23\r\n$GPGLL,5951.538,N,02322.186,E,135349,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.78,N,00.92,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.14,N,11.37,K*52\r\n$IIVPW,-1.98,N,,*2C\r\n$IIVTG,115.85,T,115.85,M,5.80,N,,,D*69\r\n$IIMWV,111,T,01.98,N,A*24\r\n$IIVWT,111,R,01.98,N,01.02,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135350,,,,00,*49\r\n$IIDBT,075.58,f,023.04,M,012.45,F*29\r\n$GPGLL,5951.537,N,02322.192,E,135351,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.17,N,11.42,K*53\r\n$IIVPW,-2.18,N,,*27\r\n$IIVTG,114.16,T,114.16,M,5.87,N,,,D*6E\r\n$IIMWV,018,R,05.83,N,A*24\r\n$IIVWT,111,R,01.86,N,00.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135353,,,,00,*4A\r\n$IIDBT,075.68,f,023.07,M,012.46,F*2A\r\n$GPGLL,5951.535,N,02322.198,E,135353,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,-2.52,N,,*29\r\n$IIVTG,114.09,T,114.09,M,5.89,N,,,D*60\r\n$IIMWV,114,T,01.73,N,A*24\r\n$IIVWT,114,R,01.73,N,00.89,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135355,,,,00,*4C\r\n$IIDBT,075.88,f,023.13,M,012.50,F*26\r\n$GPGLL,5951.534,N,02322.204,E,135355,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,-2.12,N,,*2D\r\n$IIVTG,114.45,T,114.45,M,5.90,N,,,D*68\r\n$IIMWV,018,R,05.83,N,A*24\r\n$IIVWT,111,R,01.94,N,01.00,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135357,,,,00,*4E\r\n$IIDBT,076.01,f,023.17,M,012.52,F*22\r\n$GPGLL,5951.532,N,02322.210,E,135357,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-1.01,N,,*2C\r\n$IIVTG,114.56,T,114.56,M,5.90,N,,,D*68\r\n$IIMWV,103,T,01.92,N,A*2D\r\n$IIVWT,103,R,01.92,N,00.99,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135359,,,,00,*40\r\n$IIDBT,076.11,f,023.20,M,012.54,F*21\r\n$GPGLL,5951.531,N,02322.216,E,135359,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-1.05,N,,*28\r\n$IIVTG,114.89,T,114.89,M,5.90,N,,,D*68\r\n$IIMWV,012,R,06.22,N,A*26\r\n$IIVWT,099,R,01.30,N,00.67,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135401,,,,00,*4A\r\n$IIDBT,076.31,f,023.26,M,012.57,F*26\r\n$GPGLL,5951.530,N,02322.221,E,135401,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-1.28,N,,*27\r\n$IIVTG,114.90,T,114.90,M,5.90,N,,,D*68\r\n$IIMWV,100,T,01.67,N,A*24\r\n$IIVWT,100,R,01.67,N,00.86,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135403,,,,00,*48\r\n$IIDBT,076.40,f,023.29,M,012.58,F*20\r\n$GPGLL,5951.528,N,02322.227,E,135403,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.63,N,00.84,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.28,N,,*24\r\n$IIVTG,114.37,T,114.37,M,5.90,N,,,D*68\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,113,R,02.04,N,01.05,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135405,,,,00,*4E\r\n$IIDBT,076.57,f,023.34,M,012.61,F*20\r\n$GPGLL,5951.526,N,02322.236,E,135405,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.92,N,00.99,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-2.37,N,,*2A\r\n$IIVTG,116.33,T,116.33,M,5.90,N,,,D*68\r\n$IIMWV,113,T,01.94,N,A*2A\r\n$IIVWT,113,R,01.94,N,01.00,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135407,,,,00,*4C\r\n$IIDBT,076.67,f,023.37,M,012.63,F*22\r\n$GPGLL,5951.525,N,02322.242,E,135407,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.74,N,,*2D\r\n$IIVTG,117.00,T,117.00,M,5.90,N,,,D*68\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,112,R,02.02,N,01.04,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135409,,,,00,*42\r\n$IIDBT,076.76,f,023.40,M,012.64,F*25\r\n$GPGLL,5951.523,N,02322.248,E,135409,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.26,N,,*29\r\n$IIVTG,116.38,T,116.38,M,5.90,N,,,D*68\r\n$IIMWV,101,T,01.98,N,A*25\r\n$IIVWT,101,R,01.98,N,01.02,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135411,,,,00,*4B\r\n$IIDBT,076.80,f,023.41,M,012.65,F*2C\r\n$GPGLL,5951.522,N,02322.254,E,135411,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,114.99,T,114.99,M,5.90,N,,,D*68\r\n$IIMWV,017,R,05.83,N,A*2B\r\n$IIVWT,115,R,01.92,N,00.99,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135413,,,,00,*49\r\n$IIDBT,076.96,f,023.46,M,012.68,F*21\r\n$GPGLL,5951.521,N,02322.260,E,135413,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.27,N,01.17,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.45,N,,*2F\r\n$IIVTG,113.92,T,113.92,M,5.90,N,,,D*68\r\n$IIMWV,110,T,02.06,N,A*21\r\n$IIVWT,110,R,02.06,N,01.06,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135415,,,,00,*4F\r\n$IIDBT,077.09,f,023.50,M,012.70,F*28\r\n$GPGLL,5951.519,N,02322.265,E,135415,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.19,N,01.13,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-1.24,N,,*2B\r\n$IIVTG,113.56,T,113.56,M,5.90,N,,,D*68\r\n$IIMWV,017,R,06.22,N,A*23\r\n$IIVWT,105,R,01.84,N,00.95,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135417,,,,00,*4D\r\n$IIDBT,077.19,f,023.53,M,012.71,F*2B\r\n$GPGLL,5951.518,N,02322.271,E,135417,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-1.58,N,,*20\r\n$IIVTG,112.91,T,112.91,M,5.90,N,,,D*68\r\n$IIMWV,102,T,01.92,N,A*2C\r\n$IIVWT,102,R,01.92,N,00.99,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135419,,,,00,*43\r\n$IIDBT,077.26,f,023.55,M,012.72,F*22\r\n$GPGLL,5951.517,N,02322.277,E,135419,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.33,N,11.72,K*56\r\n$IIVPW,-2.93,N,,*24\r\n$IIVTG,112.83,T,112.83,M,5.82,N,,,D*6B\r\n$IIMWV,019,R,05.83,N,A*25\r\n$IIVWT,112,R,02.04,N,01.05,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135421,,,,00,*48\r\n$IIDBT,077.32,f,023.57,M,012.74,F*23\r\n$GPGLL,5951.516,N,02322.283,E,135421,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-2.44,N,,*2E\r\n$IIVTG,112.58,T,112.58,M,5.81,N,,,D*68\r\n$IIMWV,113,T,02.00,N,A*24\r\n$IIVWT,113,R,02.00,N,01.03,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135423,,,,00,*4A\r\n$IIDBT,077.42,f,023.60,M,012.75,F*21\r\n$GPGLL,5951.514,N,02322.289,E,135424,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-2.27,N,,*2B\r\n$IIVTG,112.25,T,112.25,M,5.80,N,,,D*69\r\n$IIMWV,023,R,05.83,N,A*2C\r\n$IIVWT,111,R,02.42,N,01.25,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135425,,,,00,*4C\r\n$IIDBT,077.49,f,023.62,M,012.76,F*2B\r\n$GPGLL,5951.513,N,02322.295,E,135426,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-2.28,N,,*24\r\n$IIVTG,115.74,T,115.74,M,5.80,N,,,D*69\r\n$IIMWV,114,T,01.92,N,A*2B\r\n$IIVWT,114,R,01.92,N,00.99,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135427,,,,00,*4E\r\n$IIDBT,077.62,f,023.66,M,012.78,F*28\r\n$GPGLL,5951.512,N,02322.300,E,135428,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.69,N,,*23\r\n$IIVTG,117.36,T,117.36,M,5.80,N,,,D*69\r\n$IIMWV,020,R,06.41,N,A*22\r\n$IIVWT,098,R,02.15,N,01.11,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135429,,,,00,*40\r\n$IIDBT,077.62,f,023.66,M,012.78,F*28\r\n$GPGLL,5951.510,N,02322.306,E,135430,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.91,N,,*24\r\n$IIVTG,118.79,T,118.79,M,5.80,N,,,D*69\r\n$IIMWV,101,T,02.11,N,A*27\r\n$IIVWT,101,R,02.11,N,01.09,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135431,,,,00,*49\r\n$IIDBT,077.68,f,023.68,M,012.79,F*2D\r\n$GPGLL,5951.508,N,02322.312,E,135432,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,-2.59,N,,*22\r\n$IIVTG,119.63,T,119.63,M,5.80,N,,,D*69\r\n$IIMWV,018,R,05.83,N,A*24\r\n$IIVWT,112,R,01.86,N,00.96,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135434,,,,00,*4C\r\n$IIDBT,077.68,f,023.68,M,012.79,F*2D\r\n$GPGLL,5951.507,N,02322.317,E,135434,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.07,N,01.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-1.23,N,,*2C\r\n$IIVTG,118.26,T,118.26,M,5.80,N,,,D*69\r\n$IIMWV,097,T,02.27,N,A*2C\r\n$IIVWT,097,R,02.27,N,01.17,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135436,,,,00,*4E\r\n$IIDBT,077.75,f,023.70,M,012.81,F*2F\r\n$GPGLL,5951.505,N,02322.323,E,135436,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.72,N,01.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.89,N,,*2D\r\n$IIVTG,118.34,T,118.34,M,5.80,N,,,D*69\r\n$IIMWV,022,R,06.41,N,A*20\r\n$IIVWT,097,R,02.42,N,01.25,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135438,,,,00,*40\r\n$IIDBT,077.78,f,023.71,M,012.81,F*23\r\n$GPGLL,5951.504,N,02322.328,E,135438,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.55,N,,*2C\r\n$IIVTG,118.93,T,118.93,M,5.80,N,,,D*69\r\n$IIMWV,096,T,02.21,N,A*2B\r\n$IIVWT,096,R,02.21,N,01.14,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135440,,,,00,*4F\r\n$IIDBT,077.85,f,023.73,M,012.82,F*20\r\n$GPGLL,5951.502,N,02322.334,E,135440,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.41,N,,*29\r\n$IIVTG,118.11,T,118.11,M,5.80,N,,,D*69\r\n$IIMWV,006,R,06.41,N,A*26\r\n$IIVWT,085,R,00.69,N,00.36,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135442,,,,00,*4D\r\n$IIDBT,077.88,f,023.74,M,012.83,F*2B\r\n$GPGLL,5951.501,N,02322.340,E,135442,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.72,N,,*29\r\n$IIVTG,116.22,T,116.22,M,5.75,N,,,D*63\r\n$IIMWV,101,T,00.89,N,A*24\r\n$IIVWT,101,R,00.89,N,00.46,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135444,,,,00,*4B\r\n$IIDBT,077.91,f,023.75,M,012.83,F*22\r\n$GPGLL,5951.500,N,02322.345,E,135444,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,-0.65,N,,*2F\r\n$IIVTG,115.88,T,115.88,M,5.66,N,,,D*61\r\n$IIMWV,018,R,06.41,N,A*29\r\n$IIVWT,096,R,02.00,N,01.03,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135446,,,,00,*49\r\n$IIDBT,078.01,f,023.78,M,012.85,F*2F\r\n$GPGLL,5951.498,N,02322.351,E,135446,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.53,N,00.79,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.23,N,,*03\r\n$IIVTG,121.30,T,121.30,M,5.69,N,,,D*6E\r\n$IIMWV,062,T,01.53,N,A*26\r\n$IIVWT,062,R,01.53,N,00.79,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135448,,,,00,*47\r\n$IIDBT,077.95,f,023.76,M,012.84,F*22\r\n$GPGLL,5951.495,N,02322.359,E,135448,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.62,N,,*06\r\n$IIVTG,124.43,T,124.43,M,5.79,N,,,D*6F\r\n$IIMWV,011,R,07.19,N,A*2C\r\n$IIVWT,061,R,01.49,N,00.77,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135450,,,,00,*4E\r\n$IIDBT,077.98,f,023.77,M,012.84,F*2E\r\n$GPGLL,5951.493,N,02322.364,E,135450,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,123.46,T,123.46,M,5.77,N,,,D*61\r\n$IIMWV,069,T,02.00,N,A*28\r\n$IIVWT,069,R,02.00,N,01.03,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135452,,,,00,*4C\r\n$IIDBT,078.04,f,023.79,M,012.85,F*2B\r\n$GPGLL,5951.492,N,02322.369,E,135452,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.14,N,,*05\r\n$IIVTG,122.86,T,122.86,M,5.79,N,,,D*6F\r\n$IIMWV,020,R,07.19,N,A*2E\r\n$IIVWT,081,R,02.50,N,01.29,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135454,,,,00,*4A\r\n$IIDBT,078.08,f,023.80,M,012.86,F*22\r\n$GPGLL,5951.490,N,02322.375,E,135454,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.11,N,,*01\r\n$IIVTG,120.79,T,120.79,M,5.80,N,,,D*69\r\n$IIMWV,077,T,02.44,N,A*27\r\n$IIVWT,077,R,02.44,N,01.26,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135456,,,,00,*48\r\n$IIDBT,078.14,f,023.82,M,012.87,F*2C\r\n$GPGLL,5951.489,N,02322.380,E,135456,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,117.40,T,117.40,M,5.72,N,,,D*64\r\n$IIMWV,022,R,06.80,N,A*2D\r\n$IIVWT,088,R,02.48,N,01.28,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135458,,,,00,*46\r\n$IIDBT,078.24,f,023.85,M,012.89,F*26\r\n$GPGLL,5951.487,N,02322.386,E,135458,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.48,N,01.28,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.15,N,,*28\r\n$IIVTG,117.58,T,117.58,M,5.71,N,,,D*67\r\n$IIMWV,091,T,02.50,N,A*2A\r\n$IIVWT,091,R,02.50,N,01.29,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135500,,,,00,*4A\r\n$IIDBT,078.31,f,023.87,M,012.90,F*28\r\n$GPGLL,5951.486,N,02322.392,E,135500,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.25,N,01.16,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.10,N,,*00\r\n$IIVTG,117.17,T,117.17,M,5.70,N,,,D*66\r\n$IIMWV,019,R,06.80,N,A*25\r\n$IIVWT,087,R,02.21,N,01.14,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135502,,,,00,*48\r\n$IIDBT,078.44,f,023.91,M,012.92,F*2F\r\n$GPGLL,5951.484,N,02322.397,E,135502,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,116.24,T,116.24,M,5.70,N,,,D*66\r\n$IIMWV,082,T,01.90,N,A*27\r\n$IIVWT,082,R,01.90,N,00.98,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135504,,,,00,*4E\r\n$IIDBT,078.54,f,023.94,M,012.94,F*2D\r\n$GPGLL,5951.483,N,02322.403,E,135504,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.52,N,01.30,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.47,N,,*03\r\n$IIVTG,116.19,T,116.19,M,5.70,N,,,D*66\r\n$IIMWV,021,R,07.19,N,A*2F\r\n$IIVWT,083,R,02.62,N,01.35,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135506,,,,00,*4C\r\n$IIDBT,078.67,f,023.98,M,012.96,F*23\r\n$GPGLL,5951.482,N,02322.408,E,135507,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.54,N,01.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.52,N,,*07\r\n$IIVTG,117.57,T,117.57,M,5.70,N,,,D*66\r\n$IIMWV,065,T,02.35,N,A*22\r\n$IIVWT,065,R,02.35,N,01.21,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135508,,,,00,*42\r\n$IIDBT,078.73,f,024.00,M,012.97,F*21\r\n$GPGLL,5951.480,N,02322.414,E,135509,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.91,N,01.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.41,N,,*05\r\n$IIVTG,117.34,T,117.34,M,5.70,N,,,D*66\r\n$IIMWV,023,R,07.58,N,A*28\r\n$IIVWT,076,R,03.07,N,01.58,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135510,,,,00,*4B\r\n$IIDBT,078.90,f,024.05,M,012.99,F*27\r\n$GPGLL,5951.479,N,02322.420,E,135511,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.51,N,,*04\r\n$IIVTG,119.01,T,119.01,M,5.75,N,,,D*63\r\n$IIMWV,075,T,02.19,N,A*2D\r\n$IIVWT,075,R,02.19,N,01.13,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135512,,,,00,*49\r\n$IIDBT,079.03,f,024.09,M,013.02,F*23\r\n$GPGLL,5951.477,N,02322.425,E,135513,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.62,N,,*05\r\n$IIVTG,117.45,T,117.45,M,5.79,N,,,D*6F\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,075,R,02.21,N,01.14,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135514,,,,00,*4F\r\n$IIDBT,079.23,f,024.15,M,013.05,F*2B\r\n$GPGLL,5951.476,N,02322.431,E,135515,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,114.74,T,114.74,M,5.75,N,,,D*63\r\n$IIMWV,088,T,02.23,N,A*26\r\n$IIVWT,088,R,02.23,N,01.15,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135517,,,,00,*4C\r\n$IIDBT,079.42,f,024.21,M,013.08,F*26\r\n$GPGLL,5951.475,N,02322.437,E,135517,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.28,N,,*26\r\n$IIVTG,113.76,T,113.76,M,5.76,N,,,D*60\r\n$IIMWV,015,R,06.41,N,A*24\r\n$IIVWT,093,R,01.63,N,00.84,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135519,,,,00,*42\r\n$IIDBT,079.68,f,024.29,M,013.12,F*2D\r\n$GPGLL,5951.473,N,02322.443,E,135519,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.37,N,,*28\r\n$IIVTG,112.34,T,112.34,M,5.72,N,,,D*64\r\n$IIMWV,096,T,02.02,N,A*2A\r\n$IIVWT,096,R,02.02,N,01.04,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135521,,,,00,*49\r\n$IIDBT,079.82,f,024.33,M,013.15,F*25\r\n$GPGLL,5951.472,N,02322.449,E,135521,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,-0.94,N,,*21\r\n$IIVTG,110.86,T,110.86,M,5.70,N,,,D*66\r\n$IIMWV,016,R,06.22,N,A*22\r\n$IIVWT,099,R,01.69,N,00.87,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135523,,,,00,*4B\r\n$IIDBT,080.01,f,024.39,M,013.18,F*2F\r\n$GPGLL,5951.471,N,02322.455,E,135523,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,-0.46,N,,*2E\r\n$IIVTG,110.04,T,110.04,M,5.70,N,,,D*66\r\n$IIMWV,084,T,02.00,N,A*2B\r\n$IIVWT,084,R,02.00,N,01.03,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135525,,,,00,*4D\r\n$IIDBT,080.18,f,024.44,M,013.21,F*27\r\n$GPGLL,5951.470,N,02322.460,E,135525,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,109.48,T,109.48,M,5.70,N,,,D*66\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,077,R,02.27,N,01.17,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135527,,,,00,*4F\r\n$IIDBT,080.34,f,024.49,M,013.23,F*26\r\n$GPGLL,5951.469,N,02322.466,E,135527,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,109.69,T,109.69,M,5.70,N,,,D*66\r\n$IIMWV,075,T,02.17,N,A*23\r\n$IIVWT,075,R,02.17,N,01.12,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135529,,,,00,*41\r\n$IIDBT,080.60,f,024.57,M,013.28,F*23\r\n$GPGLL,5951.468,N,02322.472,E,135529,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.17,N,01.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,108.90,T,108.90,M,5.70,N,,,D*66\r\n$IIMWV,017,R,07.19,N,A*2A\r\n$IIVWT,077,R,02.13,N,01.10,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135531,,,,00,*48\r\n$IIDBT,080.70,f,024.60,M,013.29,F*27\r\n$GPGLL,5951.467,N,02322.481,E,135531,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.15,N,01.11,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.62,N,,*04\r\n$IIVTG,108.07,T,108.07,M,5.73,N,,,D*65\r\n$IIMWV,075,T,02.21,N,A*26\r\n$IIVWT,075,R,02.21,N,01.14,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135533,,,,00,*4A\r\n$IIDBT,080.90,f,024.66,M,013.32,F*25\r\n$GPGLL,5951.466,N,02322.487,E,135533,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.85,N,,*0D\r\n$IIVTG,107.29,T,107.29,M,5.71,N,,,D*67\r\n$IIMWV,017,R,07.19,N,A*2A\r\n$IIVWT,073,R,02.15,N,01.11,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135535,,,,00,*4C\r\n$IIDBT,081.00,f,024.69,M,013.34,F*24\r\n$GPGLL,5951.465,N,02322.493,E,135535,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,106.72,T,106.72,M,5.70,N,,,D*66\r\n$IIMWV,075,T,02.33,N,A*25\r\n$IIVWT,075,R,02.33,N,01.20,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135537,,,,00,*4E\r\n$IIDBT,081.13,f,024.73,M,013.36,F*2F\r\n$GPGLL,5951.464,N,02322.500,E,135537,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,1.97,N,,*0E\r\n$IIVTG,107.03,T,107.03,M,5.75,N,,,D*63\r\n$IIMWV,018,R,07.19,N,A*25\r\n$IIVWT,072,R,02.27,N,01.17,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135539,,,,00,*40\r\n$IIDBT,081.26,f,024.77,M,013.38,F*23\r\n$GPGLL,5951.463,N,02322.506,E,135539,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.74,N,00.90,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,106.01,T,106.01,M,5.74,N,,,D*62\r\n$IIMWV,080,T,01.80,N,A*24\r\n$IIVWT,080,R,01.80,N,00.93,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135541,,,,00,*4F\r\n$IIDBT,081.29,f,024.78,M,013.39,F*22\r\n$GPGLL,5951.462,N,02322.512,E,135541,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,104.45,T,104.45,M,5.78,N,,,D*6E\r\n$IIMWV,019,R,06.80,N,A*25\r\n$IIVWT,084,R,02.15,N,01.11,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135543,,,,00,*4D\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5951.461,N,02322.518,E,135543,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,0.74,N,,*02\r\n$IIVTG,104.14,T,104.14,M,5.80,N,,,D*69\r\n$IIMWV,080,T,01.84,N,A*20\r\n$IIVWT,080,R,01.84,N,00.95,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135545,,,,00,*4B\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5951.460,N,02322.524,E,135545,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.82,N,00.94,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.64,N,,*03\r\n$IIVTG,103.36,T,103.36,M,5.80,N,,,D*69\r\n$IIMWV,018,R,06.80,N,A*24\r\n$IIVWT,085,R,02.04,N,01.05,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135547,,,,00,*49\r\n$IIDBT,081.52,f,024.85,M,013.43,F*21\r\n$GPGLL,5951.460,N,02322.530,E,135548,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,102.66,T,102.66,M,5.80,N,,,D*69\r\n$IIMWV,088,T,02.23,N,A*26\r\n$IIVWT,088,R,02.23,N,01.15,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135549,,,,00,*47\r\n$IIDBT,081.55,f,024.86,M,013.43,F*25\r\n$GPGLL,5951.459,N,02322.536,E,135550,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.84,N,00.95,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.44,N,,*01\r\n$IIVTG,102.87,T,102.87,M,5.80,N,,,D*69\r\n$IIMWV,019,R,06.80,N,A*25\r\n$IIVWT,085,R,02.15,N,01.11,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135551,,,,00,*4E\r\n$IIDBT,081.59,f,024.87,M,013.44,F*2F\r\n$GPGLL,5951.458,N,02322.543,E,135552,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,100.82,T,100.82,M,5.80,N,,,D*69\r\n$IIMWV,082,T,01.90,N,A*27\r\n$IIVWT,082,R,01.90,N,00.98,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135553,,,,00,*4C\r\n$IIDBT,081.52,f,024.85,M,013.43,F*21\r\n$GPGLL,5951.458,N,02322.549,E,135554,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,099.38,T,099.38,M,5.80,N,,,D*69\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,078,R,02.41,N,01.24,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135555,,,,00,*4A\r\n$IIDBT,081.49,f,024.84,M,013.42,F*2B\r\n$GPGLL,5951.457,N,02322.555,E,135556,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.46,N,,*02\r\n$IIVTG,099.49,T,099.49,M,5.80,N,,,D*69\r\n$IIMWV,076,T,02.09,N,A*2F\r\n$IIVWT,076,R,02.09,N,01.08,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135557,,,,00,*48\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5951.457,N,02322.561,E,135558,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,098.40,T,098.40,M,5.80,N,,,D*69\r\n$IIMWV,016,R,06.80,N,A*2A\r\n$IIVWT,081,R,01.94,N,01.00,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135600,,,,00,*49\r\n$IIDBT,081.46,f,024.83,M,013.42,F*23\r\n$GPGLL,5951.456,N,02322.568,E,135600,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.37,N,01.22,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,095.95,T,095.95,M,5.80,N,,,D*69\r\n$IIMWV,078,T,02.50,N,A*2D\r\n$IIVWT,078,R,02.50,N,01.29,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135602,,,,00,*4B\r\n$IIDBT,081.36,f,024.80,M,013.40,F*25\r\n$GPGLL,5951.456,N,02322.574,E,135602,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.04,N,,*07\r\n$IIVTG,097.06,T,097.06,M,5.80,N,,,D*69\r\n$IIMWV,016,R,07.19,N,A*2B\r\n$IIVWT,075,R,02.04,N,01.05,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135604,,,,00,*4D\r\n$IIDBT,081.26,f,024.77,M,013.38,F*23\r\n$GPGLL,5951.456,N,02322.580,E,135604,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,097.87,T,097.87,M,5.80,N,,,D*69\r\n$IIMWV,076,T,02.27,N,A*23\r\n$IIVWT,076,R,02.27,N,01.17,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135606,,,,00,*4F\r\n$IIDBT,081.16,f,024.74,M,013.37,F*2C\r\n$GPGLL,5951.455,N,02322.587,E,135606,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.04,N,01.05,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.80,N,,*0A\r\n$IIVTG,097.97,T,097.97,M,5.80,N,,,D*69\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,049,R,01.86,N,00.96,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135608,,,,00,*41\r\n$IIDBT,081.06,f,024.71,M,013.35,F*2A\r\n$GPGLL,5951.455,N,02322.593,E,135608,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.23,N,01.15,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.85,N,,*0E\r\n$IIVTG,098.77,T,098.77,M,5.80,N,,,D*69\r\n$IIMWV,068,T,01.94,N,A*27\r\n$IIVWT,068,R,01.94,N,01.00,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135610,,,,00,*48\r\n$IIDBT,080.87,f,024.65,M,013.32,F*20\r\n$GPGLL,5951.454,N,02322.599,E,135610,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.00,N,01.03,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.18,N,,*0A\r\n$IIVTG,098.56,T,098.56,M,5.80,N,,,D*69\r\n$IIMWV,014,R,07.19,N,A*29\r\n$IIVWT,069,R,01.86,N,00.96,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135612,,,,00,*4A\r\n$IIDBT,080.73,f,024.61,M,013.30,F*2D\r\n$GPGLL,5951.454,N,02322.606,E,135612,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.02,N,01.04,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.27,N,,*04\r\n$IIVTG,098.47,T,098.47,M,5.80,N,,,D*69\r\n$IIMWV,082,T,01.90,N,A*27\r\n$IIVWT,082,R,01.90,N,00.98,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135614,,,,00,*4C\r\n$IIDBT,080.57,f,024.56,M,013.27,F*29\r\n$GPGLL,5951.453,N,02322.615,E,135614,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.73,N,00.89,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.58,N,,*0C\r\n$IIVTG,098.16,T,098.16,M,5.80,N,,,D*69\r\n$IIMWV,017,R,07.19,N,A*2A\r\n$IIVWT,073,R,02.17,N,01.12,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135616,,,,00,*4E\r\n$IIDBT,080.50,f,024.54,M,013.26,F*2D\r\n$GPGLL,5951.452,N,02322.621,E,135616,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.89,N,,*01\r\n$IIVTG,097.24,T,097.24,M,5.80,N,,,D*69\r\n$IIMWV,075,T,01.43,N,A*21\r\n$IIVWT,075,R,01.43,N,00.74,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135618,,,,00,*40\r\n$IIDBT,080.28,f,024.47,M,013.22,F*24\r\n$GPGLL,5951.452,N,02322.628,E,135618,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.24,N,,*06\r\n$IIVTG,097.53,T,097.53,M,5.80,N,,,D*69\r\n$IIMWV,014,R,06.80,N,A*28\r\n$IIVWT,078,R,01.61,N,00.83,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135620,,,,00,*4B\r\n$IIDBT,080.14,f,024.43,M,013.20,F*2D\r\n$GPGLL,5951.451,N,02322.634,E,135620,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.12,N,00.58,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,2.77,N,,*03\r\n$IIVTG,098.03,T,098.03,M,5.80,N,,,D*69\r\n$IIMWV,068,T,01.08,N,A*22\r\n$IIVWT,068,R,01.08,N,00.56,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135622,,,,00,*49\r\n$IIDBT,079.95,f,024.37,M,013.17,F*25\r\n$GPGLL,5951.451,N,02322.640,E,135622,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.43,N,00.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.41,N,,*07\r\n$IIVTG,098.28,T,098.28,M,5.80,N,,,D*69\r\n$IIMWV,010,R,07.19,N,A*2D\r\n$IIVWT,058,R,01.47,N,00.76,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135624,,,,00,*4F\r\n$IIDBT,079.75,f,024.31,M,013.14,F*2E\r\n$GPGLL,5951.450,N,02322.647,E,135624,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.58,N,,*0F\r\n$IIVTG,098.49,T,098.49,M,5.80,N,,,D*69\r\n$IIMWV,059,T,01.39,N,A*22\r\n$IIVWT,059,R,01.39,N,00.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135626,,,,00,*4D\r\n$IIDBT,079.52,f,024.24,M,013.10,F*2B\r\n$GPGLL,5951.450,N,02322.653,E,135626,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.10,N,00.57,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.90,N,,*0A\r\n$IIVTG,099.10,T,099.10,M,5.80,N,,,D*69\r\n$IIMWV,009,R,06.80,N,A*24\r\n$IIVWT,067,R,01.14,N,00.59,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135628,,,,00,*43\r\n$IIDBT,079.36,f,024.19,M,013.07,F*21\r\n$GPGLL,5951.449,N,02322.659,E,135628,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.36,N,00.70,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.47,N,,*01\r\n$IIVTG,098.98,T,098.98,M,5.80,N,,,D*69\r\n$IIMWV,059,T,01.51,N,A*2C\r\n$IIVWT,059,R,01.51,N,00.78,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135630,,,,00,*4A\r\n$IIDBT,079.13,f,024.12,M,013.03,F*29\r\n$GPGLL,5951.449,N,02322.666,E,135631,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.55,N,00.80,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.28,N,,*0E\r\n$IIVTG,098.99,T,098.99,M,5.80,N,,,D*69\r\n$IIMWV,008,R,07.58,N,A*21\r\n$IIVWT,040,R,01.57,N,00.81,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135632,,,,00,*48\r\n$IIDBT,078.90,f,024.05,M,012.99,F*27\r\n$GPGLL,5951.448,N,02322.672,E,135633,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,099.48,T,099.48,M,5.80,N,,,D*69\r\n$IIMWV,044,T,01.38,N,A*2F\r\n$IIVWT,044,R,01.38,N,00.71,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135634,,,,00,*4E\r\n$IIDBT,078.70,f,023.99,M,012.96,F*24\r\n$GPGLL,5951.448,N,02322.678,E,135635,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,4.14,N,,*00\r\n$IIVTG,100.34,T,100.34,M,5.80,N,,,D*69\r\n$IIMWV,010,R,07.19,N,A*2D\r\n$IIVWT,059,R,01.39,N,00.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135636,,,,00,*4C\r\n$IIDBT,078.44,f,023.91,M,012.92,F*2F\r\n$GPGLL,5951.447,N,02322.685,E,135637,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.99,N,00.51,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.58,N,,*0F\r\n$IIVTG,100.06,T,100.06,M,5.80,N,,,D*69\r\n$IIMWV,055,T,00.91,N,A*2D\r\n$IIVWT,055,R,00.91,N,00.47,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135638,,,,00,*42\r\n$IIDBT,078.21,f,023.84,M,012.88,F*23\r\n$GPGLL,5951.447,N,02322.691,E,135639,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.14,N,00.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.31,N,,*01\r\n$IIVTG,100.46,T,100.46,M,5.80,N,,,D*69\r\n$IIMWV,011,R,07.19,N,A*2C\r\n$IIVWT,058,R,01.53,N,00.79,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135640,,,,00,*4D\r\n$IIDBT,077.88,f,023.74,M,012.83,F*2B\r\n$GPGLL,5951.446,N,02322.697,E,135641,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.98,N,01.02,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.71,N,,*05\r\n$IIVTG,101.84,T,101.84,M,5.80,N,,,D*69\r\n$IIMWV,054,T,01.49,N,A*28\r\n$IIVWT,054,R,01.49,N,00.77,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135643,,,,00,*4E\r\n$IIDBT,077.55,f,023.64,M,012.77,F*21\r\n$GPGLL,5951.445,N,02322.703,E,135643,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,00.93,N,00.48,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.60,N,,*05\r\n$IIVTG,102.41,T,102.41,M,5.80,N,,,D*69\r\n$IIMWV,010,R,07.19,N,A*2D\r\n$IIVWT,054,R,01.55,N,00.80,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135645,,,,00,*48\r\n$IIDBT,077.26,f,023.55,M,012.72,F*22\r\n$GPGLL,5951.445,N,02322.710,E,135645,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.19,N,,*0A\r\n$IIVTG,102.62,T,102.62,M,5.80,N,,,D*69\r\n$IIMWV,071,T,01.94,N,A*2F\r\n$IIVWT,071,R,01.94,N,01.00,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135647,,,,00,*4A\r\n$IIDBT,076.96,f,023.46,M,012.68,F*21\r\n$GPGLL,5951.444,N,02322.716,E,135647,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,5.75,N,,*06\r\n$IIVTG,103.11,T,103.11,M,5.87,N,,,D*6E\r\n$IIMWV,005,R,07.19,N,A*29\r\n$IIVWT,036,R,00.99,N,00.51,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135649,,,,00,*44\r\n$IIDBT,076.63,f,023.36,M,012.62,F*26\r\n$GPGLL,5951.443,N,02322.722,E,135649,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.64,N,,*01\r\n$IIVTG,099.93,T,099.93,M,5.82,N,,,D*6B\r\n$IIMWV,066,T,01.82,N,A*2E\r\n$IIVWT,066,R,01.82,N,00.94,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135651,,,,00,*4D\r\n$IIDBT,076.24,f,023.24,M,012.56,F*21\r\n$GPGLL,5951.443,N,02322.729,E,135651,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.39,N,00.72,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.81,N,,*0A\r\n$IIVTG,098.90,T,098.90,M,5.80,N,,,D*69\r\n$IIMWV,015,R,07.19,N,A*28\r\n$IIVWT,071,R,01.92,N,00.99,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135653,,,,00,*4F\r\n$IIDBT,075.88,f,023.13,M,012.50,F*26\r\n$GPGLL,5951.442,N,02322.735,E,135653,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.20,N,00.62,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,098.67,T,098.67,M,5.80,N,,,D*69\r\n$IIMWV,061,T,01.41,N,A*26\r\n$IIVWT,061,R,01.41,N,00.73,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135655,,,,00,*49\r\n$IIDBT,075.52,f,023.02,M,012.44,F*24\r\n$GPGLL,5951.442,N,02322.744,E,135655,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.09,N,01.08,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,3.18,N,,*0B\r\n$IIVTG,098.09,T,098.09,M,5.80,N,,,D*69\r\n$IIMWV,011,R,07.58,N,A*29\r\n$IIVWT,050,R,01.84,N,00.95,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135657,,,,00,*4B\r\n$IIDBT,075.06,f,022.88,M,012.36,F*23\r\n$GPGLL,5951.441,N,02322.751,E,135657,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.59,N,00.82,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.15,N,,*07\r\n$IIVTG,097.96,T,097.96,M,5.80,N,,,D*69\r\n$IIMWV,076,T,01.39,N,A*2F\r\n$IIVWT,076,R,01.39,N,00.72,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135659,,,,00,*45\r\n$IIDBT,074.53,f,022.72,M,012.28,F*28\r\n$GPGLL,5951.441,N,02322.757,E,135659,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.26,N,00.65,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,097.71,T,097.71,M,5.80,N,,,D*69\r\n$IIMWV,011,R,06.80,N,A*2D\r\n$IIVWT,068,R,01.36,N,00.70,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135701,,,,00,*49\r\n$IIDBT,073.98,f,022.55,M,012.18,F*2E\r\n$GPGLL,5951.440,N,02322.763,E,135701,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.28,N,,*09\r\n$IIVTG,097.23,T,097.23,M,5.80,N,,,D*69\r\n$IIMWV,069,T,01.82,N,A*21\r\n$IIVWT,069,R,01.82,N,00.94,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135703,,,,00,*4B\r\n$IIDBT,073.55,f,022.42,M,012.11,F*20\r\n$GPGLL,5951.440,N,02322.769,E,135703,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,097.43,T,097.43,M,5.80,N,,,D*69\r\n$IIMWV,012,R,06.80,N,A*2E\r\n$IIVWT,076,R,01.47,N,00.76,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135705,,,,00,*4D\r\n$IIDBT,072.80,f,022.19,M,011.99,F*24\r\n$GPGLL,5951.440,N,02322.776,E,135705,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.41,N,00.73,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.63,N,,*05\r\n$IIVTG,096.93,T,096.93,M,5.73,N,,,D*65\r\n$IIMWV,077,T,01.59,N,A*28\r\n$IIVWT,077,R,01.59,N,00.82,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135707,,,,00,*4F\r\n$IIDBT,072.34,f,022.05,M,011.91,F*2E\r\n$GPGLL,5951.439,N,02322.782,E,135707,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.86,N,00.96,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,098.28,T,098.28,M,5.76,N,,,D*60\r\n$IIMWV,012,R,07.19,N,A*2F\r\n$IIVWT,064,R,01.65,N,00.85,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135709,,,,00,*41\r\n$IIDBT,071.55,f,021.81,M,011.78,F*22\r\n$GPGLL,5951.439,N,02322.788,E,135709,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.57,N,00.81,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.58,N,,*0E\r\n$IIVTG,099.12,T,099.12,M,5.79,N,,,D*6F\r\n$IIMWV,064,T,01.63,N,A*23\r\n$IIVWT,064,R,01.63,N,00.84,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135711,,,,00,*48\r\n$IIDBT,071.22,f,021.71,M,011.73,F*26\r\n$GPGLL,5951.438,N,02322.794,E,135711,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.80,N,00.93,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,098.16,T,098.16,M,5.75,N,,,D*63\r\n$IIMWV,016,R,06.80,N,A*2A\r\n$IIVWT,085,R,01.82,N,00.94,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135713,,,,00,*4A\r\n$IIDBT,070.37,f,021.45,M,011.59,F*2C\r\n$GPGLL,5951.437,N,02322.801,E,135714,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.28,N,00.66,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.22,N,,*03\r\n$IIVTG,098.21,T,098.21,M,5.71,N,,,D*67\r\n$IIMWV,070,T,01.14,N,A*26\r\n$IIVWT,070,R,01.14,N,00.59,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135715,,,,00,*4C\r\n$IIDBT,069.78,f,021.27,M,011.49,F*2A\r\n$GPGLL,5951.437,N,02322.807,E,135716,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.06,N,00.55,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,097.28,T,097.28,M,5.70,N,,,D*66\r\n$IIMWV,012,R,06.80,N,A*2E\r\n$IIVWT,077,R,01.41,N,00.73,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135717,,,,00,*4E\r\n$IIDBT,069.22,f,021.10,M,011.40,F*28\r\n$GPGLL,5951.437,N,02322.813,E,135718,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.76,N,00.91,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.32,N,11.70,K*55\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,098.77,T,098.77,M,5.70,N,,,D*66\r\n$IIMWV,075,T,01.55,N,A*26\r\n$IIVWT,075,R,01.55,N,00.80,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135719,,,,00,*40\r\n$IIDBT,068.56,f,020.90,M,011.29,F*2C\r\n$GPGLL,5951.436,N,02322.819,E,135720,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.88,N,00.97,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,100.20,T,100.20,M,5.70,N,,,D*66\r\n$IIMWV,016,R,06.80,N,A*2A\r\n$IIVWT,082,R,01.84,N,00.95,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135721,,,,00,*4B\r\n$IIDBT,067.97,f,020.72,M,011.19,F*21\r\n$GPGLL,5951.435,N,02322.825,E,135722,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.17,N,,*05\r\n$IIVTG,099.80,T,099.80,M,5.70,N,,,D*66\r\n$IIMWV,062,T,01.61,N,A*27\r\n$IIVWT,062,R,01.61,N,00.83,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135723,,,,00,*49\r\n$IIDBT,067.32,f,020.52,M,011.09,F*2D\r\n$GPGLL,5951.435,N,02322.832,E,135724,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.69,N,00.87,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.31,N,,*01\r\n$IIVTG,098.25,T,098.25,M,5.70,N,,,D*66\r\n$IIMWV,014,R,07.19,N,A*29\r\n$IIVWT,067,R,01.86,N,00.96,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135726,,,,00,*4C\r\n$IIDBT,066.50,f,020.27,M,010.95,F*2E\r\n$GPGLL,5951.435,N,02322.838,E,135726,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.39,N,01.23,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,098.11,T,098.11,M,5.70,N,,,D*66\r\n$IIMWV,069,T,01.80,N,A*23\r\n$IIVWT,069,R,01.80,N,00.93,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135728,,,,00,*42\r\n$IIDBT,065.97,f,020.11,M,010.87,F*20\r\n$GPGLL,5951.434,N,02322.844,E,135728,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.90,N,00.98,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.05,N,,*06\r\n$IIVTG,099.23,T,099.23,M,5.70,N,,,D*66\r\n$IIMWV,014,R,07.19,N,A*29\r\n$IIVWT,069,R,01.88,N,00.97,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135730,,,,00,*4B\r\n$IIDBT,065.28,f,019.90,M,010.75,F*2A\r\n$GPGLL,5951.434,N,02322.850,E,135730,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.06,N,01.06,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.37,N,,*06\r\n$IIVTG,099.01,T,099.01,M,5.70,N,,,D*66\r\n$IIMWV,055,T,02.04,N,A*23\r\n$IIVWT,055,R,02.04,N,01.05,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135732,,,,00,*49\r\n$IIDBT,064.69,f,019.72,M,010.65,F*23\r\n$GPGLL,5951.433,N,02322.857,E,135732,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.19,N,,*0B\r\n$IIVTG,099.15,T,099.15,M,5.70,N,,,D*66\r\n$IIMWV,016,R,07.19,N,A*2B\r\n$IIVWT,071,R,02.06,N,01.06,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135734,,,,00,*4F\r\n$IIDBT,064.27,f,019.59,M,010.58,F*2E\r\n$GPGLL,5951.433,N,02322.863,E,135734,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.61,N,00.83,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.97,N,,*0D\r\n$IIVTG,098.61,T,098.61,M,5.70,N,,,D*66\r\n$IIMWV,067,T,01.78,N,A*2A\r\n$IIVWT,067,R,01.78,N,00.92,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135736,,,,00,*4D\r\n$IIDBT,063.87,f,019.47,M,010.52,F*26\r\n$GPGLL,5951.433,N,02322.869,E,135736,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.17,N,,*05\r\n$IIVTG,097.83,T,097.83,M,5.63,N,,,D*64\r\n$IIMWV,019,R,07.58,N,A*21\r\n$IIVWT,071,R,02.52,N,01.30,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135738,,,,00,*43\r\n$IIDBT,063.44,f,019.34,M,010.45,F*2B\r\n$GPGLL,5951.432,N,02322.878,E,135738,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.13,N,01.10,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,3.22,N,,*02\r\n$IIVTG,099.66,T,099.66,M,5.68,N,,,D*6F\r\n$IIMWV,058,T,02.02,N,A*28\r\n$IIVWT,058,R,02.02,N,01.04,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135740,,,,00,*4C\r\n$IIDBT,063.15,f,019.25,M,010.40,F*2A\r\n$GPGLL,5951.431,N,02322.884,E,135740,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.83,N,01.46,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,100.23,T,100.23,M,5.70,N,,,D*66\r\n$IIMWV,017,R,07.58,N,A*2F\r\n$IIVWT,066,R,02.42,N,01.25,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135742,,,,00,*4E\r\n$IIDBT,062.92,f,019.18,M,010.36,F*2B\r\n$GPGLL,5951.431,N,02322.891,E,135742,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.56,N,01.32,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.66,N,,*03\r\n$IIVTG,099.61,T,099.61,M,5.70,N,,,D*66\r\n$IIMWV,067,T,02.58,N,A*2B\r\n$IIVWT,067,R,02.58,N,01.33,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135744,,,,00,*48\r\n$IIDBT,062.49,f,019.05,M,010.29,F*2F\r\n$GPGLL,5951.430,N,02322.897,E,135744,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.50,N,01.29,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.79,N,,*0D\r\n$IIVTG,099.83,T,099.83,M,5.70,N,,,D*66\r\n$IIMWV,018,R,07.77,N,A*2D\r\n$IIVWT,065,R,02.58,N,01.33,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135746,,,,00,*4A\r\n$IIDBT,061.74,f,018.82,M,010.17,F*21\r\n$GPGLL,5951.429,N,02322.903,E,135746,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.60,N,01.34,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.58,N,,*0E\r\n$IIVTG,099.76,T,099.76,M,5.70,N,,,D*66\r\n$IIMWV,069,T,02.39,N,A*22\r\n$IIVWT,069,R,02.39,N,01.23,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135748,,,,00,*44\r\n$IIDBT,060.95,f,018.58,M,010.04,F*2A\r\n$GPGLL,5951.429,N,02322.909,E,135748,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.12,N,,*00\r\n$IIVTG,099.04,T,099.04,M,5.70,N,,,D*66\r\n$IIMWV,020,R,07.77,N,A*26\r\n$IIVWT,070,R,02.87,N,01.48,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135750,,,,00,*4D\r\n$IIDBT,059.61,f,018.17,M,009.82,F*26\r\n$GPGLL,5951.428,N,02322.915,E,135750,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.74,N,01.41,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.51,N,,*07\r\n$IIVTG,098.33,T,098.33,M,5.70,N,,,D*66\r\n$IIMWV,069,T,02.72,N,A*2D\r\n$IIVWT,069,R,02.72,N,01.40,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135752,,,,00,*4F\r\n$IIDBT,058.26,f,017.76,M,009.59,F*2A\r\n$GPGLL,5951.428,N,02322.922,E,135752,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.81,N,01.45,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.59,N,,*0F\r\n$IIVTG,098.73,T,098.73,M,5.70,N,,,D*66\r\n$IIMWV,021,R,07.77,N,A*27\r\n$IIVWT,070,R,02.91,N,01.50,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135754,,,,00,*49\r\n$IIDBT,057.05,f,017.39,M,009.39,F*29\r\n$GPGLL,5951.428,N,02322.928,E,135754,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.76,N,01.42,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.84,N,,*0F\r\n$IIVTG,098.45,T,098.45,M,5.70,N,,,D*66\r\n$IIMWV,068,T,02.72,N,A*2C\r\n$IIVWT,068,R,02.72,N,01.40,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135756,,,,00,*4B\r\n$IIDBT,055.54,f,016.93,M,009.15,F*20\r\n$GPGLL,5951.427,N,02322.934,E,135757,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.09,N,01.59,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.11,N,,*02\r\n$IIVTG,097.02,T,097.02,M,5.70,N,,,D*66\r\n$IIMWV,018,R,08.16,N,A*25\r\n$IIVWT,059,R,02.95,N,01.52,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135758,,,,00,*45\r\n$IIDBT,054.19,f,016.52,M,008.92,F*2B\r\n$GPGLL,5951.427,N,02322.940,E,135759,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.93,N,01.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,3.81,N,,*0B\r\n$IIVTG,095.70,T,095.70,M,5.65,N,,,D*62\r\n$IIMWV,057,T,03.22,N,A*24\r\n$IIVWT,057,R,03.22,N,01.66,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135800,,,,00,*47\r\n$IIDBT,053.57,f,016.33,M,008.82,F*20\r\n$GPGLL,5951.427,N,02322.946,E,135801,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.73,N,01.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.14,N,,*00\r\n$IIVTG,096.20,T,096.20,M,5.61,N,,,D*66\r\n$IIMWV,018,R,09.13,N,A*21\r\n$IIVWT,050,R,03.71,N,01.91,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135802,,,,00,*45\r\n$IIDBT,050.52,f,015.40,M,008.32,F*2A\r\n$GPGLL,5951.426,N,02322.953,E,135803,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.86,N,01.99,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,4.08,N,,*0D\r\n$IIVTG,099.03,T,099.03,M,5.60,N,,,D*67\r\n$IIMWV,049,T,03.73,N,A*2F\r\n$IIVWT,049,R,03.73,N,01.92,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135804,,,,00,*43\r\n$IIDBT,043.17,f,013.16,M,007.11,F*22\r\n$GPGLL,5951.425,N,02322.959,E,135805,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.93,N,,*08\r\n$IIVTG,101.28,T,101.28,M,5.65,N,,,D*62\r\n$IIMWV,021,R,09.52,N,A*2E\r\n$IIVWT,052,R,04.35,N,02.24,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135806,,,,00,*41\r\n$IIDBT,042.22,f,012.87,M,006.95,F*21\r\n$GPGLL,5951.425,N,02322.965,E,135807,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,4.19,N,,*0D\r\n$IIVTG,101.40,T,101.40,M,5.61,N,,,D*66\r\n$IIMWV,048,T,04.12,N,A*2E\r\n$IIVWT,048,R,04.12,N,02.12,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135809,,,,00,*4E\r\n$IIDBT,042.97,f,013.10,M,007.08,F*25\r\n$GPGLL,5951.424,N,02322.971,E,135809,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.96,N,02.04,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.56,N,,*06\r\n$IIVTG,100.57,T,100.57,M,5.60,N,,,D*67\r\n$IIMWV,019,R,09.71,N,A*24\r\n$IIVWT,048,R,04.21,N,02.17,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135811,,,,00,*47\r\n$IIDBT,037.13,f,011.32,M,006.11,F*20\r\n$GPGLL,5951.424,N,02322.977,E,135811,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.02,N,02.07,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.99,N,,*02\r\n$IIVTG,099.62,T,099.62,M,5.65,N,,,D*62\r\n$IIMWV,042,T,03.80,N,A*28\r\n$IIVWT,042,R,03.80,N,01.96,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135813,,,,00,*45\r\n$IIDBT,035.39,f,010.79,M,005.83,F*2C\r\n$GPGLL,5951.423,N,02322.983,E,135813,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.66,N,,*02\r\n$IIVTG,098.95,T,098.95,M,5.69,N,,,D*6E\r\n$IIMWV,022,R,10.49,N,A*2F\r\n$IIVWT,048,R,05.28,N,02.72,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135815,,,,00,*43\r\n$IIDBT,033.66,f,010.26,M,005.54,F*20\r\n$GPGLL,5951.423,N,02322.989,E,135815,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.89,N,02.52,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.83,N,,*09\r\n$IIVTG,099.39,T,099.39,M,5.70,N,,,D*66\r\n$IIMWV,051,T,04.91,N,A*2D\r\n$IIVWT,051,R,04.91,N,02.53,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135817,,,,00,*41\r\n$IIDBT,035.79,f,010.91,M,005.89,F*24\r\n$GPGLL,5951.422,N,02322.996,E,135817,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.21,N,,*01\r\n$IIVTG,099.45,T,099.45,M,5.62,N,,,D*65\r\n$IIMWV,022,R,09.13,N,A*28\r\n$IIVWT,057,R,04.08,N,02.10,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135819,,,,00,*4F\r\n$IIDBT,036.38,f,011.09,M,005.99,F*23\r\n$GPGLL,5951.422,N,02323.002,E,135819,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.99,N,,*05\r\n$IIVTG,099.56,T,099.56,M,5.66,N,,,D*61\r\n$IIMWV,041,T,03.40,N,A*27\r\n$IIVWT,041,R,03.40,N,01.75,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135821,,,,00,*44\r\n$IIDBT,042.19,f,012.86,M,006.95,F*28\r\n$GPGLL,5951.421,N,02323.011,E,135821,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,2.19,N,,*0B\r\n$IIVTG,100.40,T,100.40,M,5.69,N,,,D*6E\r\n$IIMWV,025,R,08.16,N,A*2B\r\n$IIVWT,072,R,03.59,N,01.85,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135823,,,,00,*46\r\n$IIDBT,043.33,f,013.21,M,007.14,F*25\r\n$GPGLL,5951.420,N,02323.017,E,135823,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.29,N,02.21,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.52,N,,*05\r\n$IIVTG,100.30,T,100.30,M,5.70,N,,,D*66\r\n$IIMWV,052,T,04.58,N,A*2B\r\n$IIVWT,052,R,04.58,N,02.36,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135825,,,,00,*40\r\n$IIDBT,044.42,f,013.54,M,007.31,F*21\r\n$GPGLL,5951.420,N,02323.023,E,135825,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.69,N,,*0A\r\n$IIVTG,100.00,T,100.00,M,5.67,N,,,D*60\r\n$IIMWV,018,R,10.10,N,A*2A\r\n$IIVWT,042,R,04.58,N,02.36,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135827,,,,00,*42\r\n$IIDBT,043.99,f,013.41,M,007.24,F*20\r\n$GPGLL,5951.419,N,02323.030,E,135827,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,4.58,N,,*08\r\n$IIVTG,099.67,T,099.67,M,5.69,N,,,D*6E\r\n$IIMWV,046,T,04.33,N,A*23\r\n$IIVWT,046,R,04.33,N,02.23,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135829,,,,00,*4C\r\n$IIDBT,047.30,f,014.42,M,007.79,F*2B\r\n$GPGLL,5951.419,N,02323.036,E,135829,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.82,N,01.97,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.44,N,,*05\r\n$IIVTG,098.97,T,098.97,M,5.70,N,,,D*66\r\n$IIMWV,024,R,10.10,N,A*25\r\n$IIVWT,053,R,05.07,N,02.61,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135831,,,,00,*45\r\n$IIDBT,051.24,f,015.62,M,008.44,F*2B\r\n$GPGLL,5951.418,N,02323.042,E,135831,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.68,N,,*0C\r\n$IIVTG,100.19,T,100.19,M,5.70,N,,,D*66\r\n$IIMWV,052,T,05.42,N,A*21\r\n$IIVWT,052,R,05.42,N,02.79,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135833,,,,00,*47\r\n$IIDBT,051.08,f,015.57,M,008.41,F*26\r\n$GPGLL,5951.418,N,02323.048,E,135833,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.96,N,03.07,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.20,N,11.48,K*5D\r\n$IIVPW,3.88,N,,*02\r\n$IIVTG,099.87,T,099.87,M,5.70,N,,,D*66\r\n$IIMWV,017,R,10.88,N,A*24\r\n$IIVWT,039,R,05.22,N,02.69,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135835,,,,00,*41\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,5951.417,N,02323.054,E,135835,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.21,N,11.50,K*55\r\n$IIVPW,4.90,N,,*0C\r\n$IIVTG,100.89,T,100.89,M,5.62,N,,,D*65\r\n$IIMWV,044,T,04.99,N,A*21\r\n$IIVWT,044,R,04.99,N,02.57,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135837,,,,00,*43\r\n$IIDBT,050.39,f,015.36,M,008.30,F*24\r\n$GPGLL,5951.416,N,02323.060,E,135837,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.15,N,,*06\r\n$IIVTG,102.42,T,102.42,M,5.68,N,,,D*6F\r\n$IIMWV,029,R,10.49,N,A*24\r\n$IIVWT,061,R,05.90,N,03.04,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135839,,,,00,*4D\r\n$IIDBT,050.42,f,015.37,M,008.30,F*29\r\n$GPGLL,5951.416,N,02323.066,E,135840,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,102.38,T,102.38,M,5.65,N,,,D*62\r\n$IIMWV,057,T,06.45,N,A*20\r\n$IIVWT,057,R,06.45,N,03.32,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135841,,,,00,*42\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,5951.415,N,02323.072,E,135842,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.94,N,,*0E\r\n$IIVTG,102.12,T,102.12,M,5.66,N,,,D*61\r\n$IIMWV,028,R,11.07,N,A*2E\r\n$IIVWT,056,R,06.31,N,03.25,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135843,,,,00,*40\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,5951.414,N,02323.078,E,135844,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,3.98,N,,*03\r\n$IIVTG,102.50,T,102.50,M,5.69,N,,,D*6E\r\n$IIMWV,041,T,06.00,N,A*26\r\n$IIVWT,041,R,06.00,N,03.09,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135845,,,,00,*46\r\n$IIDBT,050.88,f,015.51,M,008.38,F*27\r\n$GPGLL,5951.414,N,02323.085,E,135846,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.10,N,03.14,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,4.21,N,,*06\r\n$IIVTG,102.22,T,102.22,M,5.70,N,,,D*66\r\n$IIMWV,021,R,11.46,N,A*22\r\n$IIVWT,043,R,06.04,N,03.11,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135847,,,,00,*44\r\n$IIDBT,051.77,f,015.78,M,008.52,F*21\r\n$GPGLL,5951.413,N,02323.091,E,135848,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.45,N,03.32,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,3.56,N,,*01\r\n$IIVTG,102.90,T,102.90,M,5.70,N,,,D*66\r\n$IIMWV,040,T,04.93,N,A*2F\r\n$IIVWT,040,R,04.93,N,02.54,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135850,,,,00,*42\r\n$IIDBT,051.80,f,015.79,M,008.53,F*29\r\n$GPGLL,5951.412,N,02323.097,E,135850,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.01,N,02.58,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.68,N,,*0D\r\n$IIVTG,103.98,T,103.98,M,5.70,N,,,D*66\r\n$IIMWV,025,R,09.71,N,A*2B\r\n$IIVWT,059,R,04.82,N,02.48,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135852,,,,00,*40\r\n$IIDBT,051.57,f,015.72,M,008.49,F*23\r\n$GPGLL,5951.412,N,02323.103,E,135852,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.80,N,02.47,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,3.29,N,,*09\r\n$IIVTG,103.49,T,103.49,M,5.70,N,,,D*66\r\n$IIMWV,055,T,04.31,N,A*23\r\n$IIVWT,055,R,04.31,N,02.22,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135854,,,,00,*46\r\n$IIDBT,051.60,f,015.73,M,008.50,F*2E\r\n$GPGLL,5951.411,N,02323.109,E,135854,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.75,N,,*01\r\n$IIVTG,101.70,T,101.70,M,5.70,N,,,D*66\r\n$IIMWV,031,R,10.10,N,A*21\r\n$IIVWT,065,R,05.65,N,02.91,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135856,,,,00,*44\r\n$IIDBT,051.37,f,015.66,M,008.46,F*2F\r\n$GPGLL,5951.410,N,02323.116,E,135856,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.46,N,02.81,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,2.29,N,,*08\r\n$IIVTG,100.50,T,100.50,M,5.70,N,,,D*66\r\n$IIMWV,069,T,05.40,N,A*2B\r\n$IIVWT,069,R,05.40,N,02.78,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135858,,,,00,*4A\r\n$IIDBT,051.31,f,015.64,M,008.45,F*28\r\n$GPGLL,5951.410,N,02323.122,E,135858,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,2.10,N,,*02\r\n$IIVTG,100.00,T,100.00,M,5.70,N,,,D*66\r\n$IIMWV,033,R,09.71,N,A*2C\r\n$IIVWT,070,R,05.59,N,02.88,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135900,,,,00,*46\r\n$IIDBT,051.27,f,015.63,M,008.44,F*29\r\n$GPGLL,5951.409,N,02323.128,E,135900,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.00,N,03.09,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.92,N,,*0B\r\n$IIVTG,099.77,T,099.77,M,5.70,N,,,D*66\r\n$IIMWV,067,T,05.85,N,A*2C\r\n$IIVWT,067,R,05.85,N,03.01,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135902,,,,00,*44\r\n$IIDBT,051.24,f,015.62,M,008.44,F*2B\r\n$GPGLL,5951.409,N,02323.134,E,135902,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.81,N,02.99,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.74,N,,*00\r\n$IIVTG,099.02,T,099.02,M,5.72,N,,,D*64\r\n$IIMWV,032,R,10.10,N,A*22\r\n$IIVWT,067,R,05.85,N,03.01,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135904,,,,00,*42\r\n$IIDBT,051.17,f,015.60,M,008.43,F*2E\r\n$GPGLL,5951.408,N,02323.144,E,135904,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.22,N,11.51,K*57\r\n$IIVPW,2.36,N,,*06\r\n$IIVTG,100.20,T,100.20,M,5.70,N,,,D*66\r\n$IIMWV,066,T,05.03,N,A*23\r\n$IIVWT,066,R,05.03,N,02.59,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135906,,,,00,*40\r\n$IIDBT,051.08,f,015.57,M,008.41,F*26\r\n$GPGLL,5951.407,N,02323.150,E,135906,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.23,N,11.53,K*54\r\n$IIVPW,1.77,N,,*00\r\n$IIVTG,100.17,T,100.17,M,5.70,N,,,D*66\r\n$IIMWV,031,R,10.10,N,A*21\r\n$IIVWT,065,R,05.71,N,02.94,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135908,,,,00,*4E\r\n$IIDBT,050.98,f,015.54,M,008.39,F*22\r\n$GPGLL,5951.407,N,02323.156,E,135908,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,099.62,T,099.62,M,5.70,N,,,D*66\r\n$IIMWV,071,T,06.10,N,A*24\r\n$IIVWT,071,R,06.10,N,03.14,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135910,,,,00,*47\r\n$IIDBT,050.88,f,015.51,M,008.38,F*27\r\n$GPGLL,5951.406,N,02323.162,E,135910,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,3.65,N,,*01\r\n$IIVTG,099.15,T,099.15,M,5.70,N,,,D*66\r\n$IIMWV,026,R,10.49,N,A*2B\r\n$IIVWT,056,R,05.53,N,02.85,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135912,,,,00,*45\r\n$IIDBT,050.78,f,015.48,M,008.36,F*2E\r\n$GPGLL,5951.406,N,02323.168,E,135912,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.76,N,03.48,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,098.34,T,098.34,M,5.70,N,,,D*66\r\n$IIMWV,078,T,07.63,N,A*28\r\n$IIVWT,078,R,07.63,N,03.93,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135914,,,,00,*43\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,5951.406,N,02323.175,E,135914,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.64,N,03.42,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.67,N,,*01\r\n$IIVTG,097.66,T,097.66,M,5.70,N,,,D*66\r\n$IIMWV,040,R,10.10,N,A*27\r\n$IIVWT,076,R,06.62,N,03.41,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135916,,,,00,*41\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,5951.405,N,02323.181,E,135916,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.80,N,03.50,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.65,N,,*03\r\n$IIVTG,098.74,T,098.74,M,5.70,N,,,D*66\r\n$IIMWV,072,T,06.12,N,A*25\r\n$IIVWT,072,R,06.12,N,03.15,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135918,,,,00,*4F\r\n$IIDBT,050.49,f,015.39,M,008.31,F*2D\r\n$GPGLL,5951.404,N,02323.187,E,135918,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,101.04,T,101.04,M,5.70,N,,,D*66\r\n$IIMWV,038,R,09.52,N,A*26\r\n$IIVWT,078,R,05.90,N,03.04,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135920,,,,00,*44\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,5951.404,N,02323.193,E,135921,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.01,N,03.61,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,101.16,T,101.16,M,5.70,N,,,D*66\r\n$IIMWV,061,T,04.66,N,A*26\r\n$IIVWT,061,R,04.66,N,02.40,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135922,,,,00,*46\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,5951.403,N,02323.200,E,135923,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.98,N,02.05,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.47,N,,*02\r\n$IIVTG,100.77,T,100.77,M,5.70,N,,,D*66\r\n$IIMWV,034,R,08.16,N,A*2B\r\n$IIVWT,085,R,04.60,N,02.37,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135924,,,,00,*40\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,5951.403,N,02323.206,E,135925,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.74,N,02.44,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.19,N,,*08\r\n$IIVTG,101.37,T,101.37,M,5.65,N,,,D*62\r\n$IIMWV,081,T,06.16,N,A*2D\r\n$IIVWT,081,R,06.16,N,03.17,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135926,,,,00,*42\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,5951.402,N,02323.212,E,135927,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.40,N,02.78,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.09,N,,*09\r\n$IIVTG,102.62,T,102.62,M,5.69,N,,,D*6E\r\n$IIMWV,033,R,09.52,N,A*2D\r\n$IIVWT,072,R,05.40,N,02.78,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135928,,,,00,*4C\r\n$IIDBT,050.75,f,015.47,M,008.36,F*2C\r\n$GPGLL,5951.401,N,02323.218,E,135929,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.02,N,03.10,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,101.50,T,101.50,M,5.70,N,,,D*66\r\n$IIMWV,071,T,05.65,N,A*25\r\n$IIVWT,071,R,05.65,N,02.91,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135930,,,,00,*45\r\n$IIDBT,050.65,f,015.44,M,008.34,F*2C\r\n$GPGLL,5951.401,N,02323.224,E,135931,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.83,N,03.00,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.86,N,,*0E\r\n$IIVTG,100.78,T,100.78,M,5.62,N,,,D*65\r\n$IIMWV,024,R,09.13,N,A*2E\r\n$IIVWT,061,R,04.27,N,02.20,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135933,,,,00,*46\r\n$IIDBT,050.68,f,015.45,M,008.35,F*21\r\n$GPGLL,5951.400,N,02323.230,E,135933,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,099.79,T,099.79,M,5.66,N,,,D*61\r\n$IIMWV,078,T,06.14,N,A*29\r\n$IIVWT,078,R,06.14,N,03.16,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135935,,,,00,*40\r\n$IIDBT,050.62,f,015.43,M,008.34,F*2C\r\n$GPGLL,5951.400,N,02323.236,E,135935,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.88,N,03.03,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.32,N,,*02\r\n$IIVTG,098.53,T,098.53,M,5.61,N,,,D*66\r\n$IIMWV,035,R,10.49,N,A*29\r\n$IIVWT,069,R,06.45,N,03.32,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135937,,,,00,*42\r\n$IIDBT,050.55,f,015.41,M,008.32,F*2C\r\n$GPGLL,5951.399,N,02323.242,E,135937,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.48,N,02.82,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.88,N,,*01\r\n$IIVTG,099.31,T,099.31,M,5.65,N,,,D*62\r\n$IIMWV,073,T,05.03,N,A*27\r\n$IIVWT,073,R,05.03,N,02.59,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135939,,,,00,*4C\r\n$IIDBT,050.42,f,015.37,M,008.30,F*29\r\n$GPGLL,5951.399,N,02323.248,E,135939,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.07,N,02.61,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.29,N,,*0B\r\n$IIVTG,098.65,T,098.65,M,5.69,N,,,D*6E\r\n$IIMWV,035,R,09.13,N,A*2E\r\n$IIVWT,078,R,05.38,N,02.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135941,,,,00,*43\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,5951.398,N,02323.254,E,135941,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.61,N,02.89,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.55,N,,*00\r\n$IIVTG,098.94,T,098.94,M,5.70,N,,,D*66\r\n$IIMWV,075,T,05.63,N,A*27\r\n$IIVWT,075,R,05.63,N,02.90,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135943,,,,00,*41\r\n$IIDBT,050.35,f,015.35,M,008.29,F*23\r\n$GPGLL,5951.398,N,02323.261,E,135943,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.16,N,03.17,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,099.14,T,099.14,M,5.70,N,,,D*66\r\n$IIMWV,039,R,09.71,N,A*26\r\n$IIVWT,078,R,06.20,N,03.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135945,,,,00,*47\r\n$IIDBT,050.32,f,015.34,M,008.29,F*25\r\n$GPGLL,5951.397,N,02323.267,E,135945,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.27,N,03.23,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.20,N,,*02\r\n$IIVTG,099.14,T,099.14,M,5.70,N,,,D*66\r\n$IIMWV,078,T,06.20,N,A*2E\r\n$IIVWT,078,R,06.20,N,03.19,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135947,,,,00,*45\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5951.397,N,02323.276,E,135947,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.27,N,,*05\r\n$IIVTG,098.65,T,098.65,M,5.61,N,,,D*66\r\n$IIMWV,037,R,09.52,N,A*29\r\n$IIVWT,078,R,05.87,N,03.02,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135949,,,,00,*4B\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5951.396,N,02323.282,E,135949,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.66,N,,*00\r\n$IIVTG,098.36,T,098.36,M,5.60,N,,,D*67\r\n$IIMWV,076,T,05.22,N,A*21\r\n$IIVWT,076,R,05.22,N,02.69,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135951,,,,00,*42\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5951.396,N,02323.288,E,135951,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.57,N,02.87,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.80,N,,*09\r\n$IIVTG,097.69,T,097.69,M,5.60,N,,,D*67\r\n$IIMWV,037,R,09.13,N,A*2C\r\n$IIVWT,081,R,05.59,N,02.88,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135953,,,,00,*40\r\n$IIDBT,050.29,f,015.33,M,008.28,F*29\r\n$GPGLL,5951.395,N,02323.295,E,135953,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.15,N,02.65,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.37,N,,*05\r\n$IIVTG,097.95,T,097.95,M,5.60,N,,,D*67\r\n$IIMWV,076,T,04.74,N,A*23\r\n$IIVWT,076,R,04.74,N,02.44,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135955,,,,00,*46\r\n$IIDBT,050.19,f,015.30,M,008.27,F*26\r\n$GPGLL,5951.395,N,02323.301,E,135955,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.71,N,02.94,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,097.84,T,097.84,M,5.68,N,,,D*6F\r\n$IIMWV,039,R,09.71,N,A*26\r\n$IIVWT,079,R,06.27,N,03.23,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135957,,,,00,*44\r\n$IIDBT,049.99,f,015.24,M,008.23,F*27\r\n$GPGLL,5951.394,N,02323.307,E,135957,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.69,N,02.93,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.34,N,,*06\r\n$IIVTG,097.93,T,097.93,M,5.69,N,,,D*6E\r\n$IIMWV,098,T,06.74,N,A*21\r\n$IIVWT,098,R,06.74,N,03.47,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,135959,,,,00,*4A\r\n$IIDBT,049.57,f,015.11,M,008.16,F*25\r\n$GPGLL,5951.394,N,02323.313,E,135959,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.21,N,,*2F\r\n$IIVTG,097.31,T,097.31,M,5.62,N,,,D*65\r\n$IIMWV,028,R,08.16,N,A*26\r\n$IIVWT,076,R,03.94,N,02.03,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140001,,,,00,*4C\r\n$IIDBT,049.08,f,014.96,M,008.08,F*2E\r\n$GPGLL,5951.394,N,02323.319,E,140001,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.87,N,03.02,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.59,N,,*0D\r\n$IIVTG,096.70,T,096.70,M,5.61,N,,,D*66\r\n$IIMWV,084,T,05.98,N,A*2D\r\n$IIVWT,084,R,05.98,N,03.08,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140003,,,,00,*4E\r\n$IIDBT,048.55,f,014.80,M,007.99,F*27\r\n$GPGLL,5951.393,N,02323.325,E,140004,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.93,N,,*0A\r\n$IIVTG,099.92,T,099.92,M,5.60,N,,,D*67\r\n$IIMWV,031,R,09.13,N,A*2A\r\n$IIVWT,072,R,04.93,N,02.54,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140005,,,,00,*48\r\n$IIDBT,048.03,f,014.64,M,007.91,F*26\r\n$GPGLL,5951.392,N,02323.332,E,140006,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.12,N,,*03\r\n$IIVTG,101.43,T,101.43,M,5.63,N,,,D*64\r\n$IIMWV,086,T,04.17,N,A*29\r\n$IIVWT,086,R,04.17,N,02.15,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140007,,,,00,*4A\r\n$IIDBT,047.63,f,014.52,M,007.84,F*2E\r\n$GPGLL,5951.392,N,02323.338,E,140008,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.33,N,,*01\r\n$IIVTG,101.43,T,101.43,M,5.68,N,,,D*6F\r\n$IIMWV,034,R,07.77,N,A*23\r\n$IIVWT,087,R,04.37,N,02.25,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140009,,,,00,*44\r\n$IIDBT,047.34,f,014.43,M,007.79,F*2E\r\n$GPGLL,5951.391,N,02323.344,E,140010,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.54,N,,*2D\r\n$IIVTG,100.64,T,100.64,M,5.70,N,,,D*66\r\n$IIMWV,097,T,03.47,N,A*2B\r\n$IIVWT,097,R,03.47,N,01.79,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140011,,,,00,*4D\r\n$IIDBT,046.81,f,014.27,M,007.71,F*2B\r\n$GPGLL,5951.391,N,02323.350,E,140012,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.19,N,,*09\r\n$IIVTG,100.91,T,100.91,M,5.67,N,,,D*60\r\n$IIMWV,038,R,08.55,N,A*20\r\n$IIVWT,086,R,05.26,N,02.71,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140013,,,,00,*4F\r\n$IIDBT,045.99,f,014.02,M,007.57,F*22\r\n$GPGLL,5951.390,N,02323.356,E,140014,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.57,N,,*02\r\n$IIVTG,099.73,T,099.73,M,5.62,N,,,D*65\r\n$IIMWV,074,T,05.75,N,A*21\r\n$IIVWT,074,R,05.75,N,02.96,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140016,,,,00,*4A\r\n$IIDBT,045.76,f,013.95,M,007.54,F*29\r\n$GPGLL,5951.390,N,02323.362,E,140016,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.74,N,,*03\r\n$IIVTG,098.96,T,098.96,M,5.60,N,,,D*67\r\n$IIMWV,037,R,09.71,N,A*28\r\n$IIVWT,076,R,05.96,N,03.07,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140018,,,,00,*44\r\n$IIDBT,043.83,f,013.36,M,007.22,F*2D\r\n$GPGLL,5951.389,N,02323.368,E,140018,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.75,N,02.96,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.35,N,,*06\r\n$IIVTG,100.26,T,100.26,M,5.68,N,,,D*6F\r\n$IIMWV,078,T,05.94,N,A*22\r\n$IIVWT,078,R,05.94,N,03.06,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140020,,,,00,*4F\r\n$IIDBT,044.58,f,013.59,M,007.34,F*22\r\n$GPGLL,5951.389,N,02323.375,E,140020,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.29,N,03.24,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.38,N,,*0B\r\n$IIVTG,100.89,T,100.89,M,5.69,N,,,D*6E\r\n$IIMWV,038,R,09.52,N,A*26\r\n$IIVWT,078,R,05.88,N,03.03,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140022,,,,00,*4D\r\n$IIDBT,044.02,f,013.42,M,007.25,F*27\r\n$GPGLL,5951.388,N,02323.381,E,140022,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.70,N,02.42,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,3.63,N,,*07\r\n$IIVTG,101.95,T,101.95,M,5.70,N,,,D*66\r\n$IIMWV,058,T,04.04,N,A*28\r\n$IIVWT,058,R,04.04,N,02.08,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140024,,,,00,*4B\r\n$IIDBT,043.63,f,013.30,M,007.18,F*2C\r\n$GPGLL,5951.387,N,02323.387,E,140024,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.67,N,02.92,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,100.81,T,100.81,M,5.70,N,,,D*66\r\n$IIMWV,037,R,09.13,N,A*2C\r\n$IIVWT,080,R,05.59,N,02.88,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140026,,,,00,*49\r\n$IIDBT,042.51,f,012.96,M,007.00,F*28\r\n$GPGLL,5951.387,N,02323.393,E,140026,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.22,N,02.69,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.71,N,,*07\r\n$IIVTG,101.03,T,101.03,M,5.62,N,,,D*65\r\n$IIMWV,081,T,04.89,N,A*29\r\n$IIVWT,081,R,04.89,N,02.52,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140028,,,,00,*47\r\n$IIDBT,042.05,f,012.82,M,006.92,F*26\r\n$GPGLL,5951.386,N,02323.399,E,140028,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.85,N,02.50,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,101.93,T,101.93,M,5.68,N,,,D*6F\r\n$IIMWV,036,R,08.16,N,A*29\r\n$IIVWT,086,R,04.74,N,02.44,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140030,,,,00,*4E\r\n$IIDBT,041.63,f,012.69,M,006.85,F*26\r\n$GPGLL,5951.385,N,02323.408,E,140030,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.28,N,02.72,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.04,N,,*05\r\n$IIVTG,100.88,T,100.88,M,5.61,N,,,D*66\r\n$IIMWV,090,T,05.17,N,A*2F\r\n$IIVWT,090,R,05.17,N,02.66,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140032,,,,00,*4C\r\n$IIDBT,040.87,f,012.46,M,006.73,F*29\r\n$GPGLL,5951.385,N,02323.414,E,140032,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.66,N,,*2C\r\n$IIVTG,100.34,T,100.34,M,5.60,N,,,D*67\r\n$IIMWV,026,R,07.58,N,A*2D\r\n$IIVWT,083,R,03.36,N,01.73,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140034,,,,00,*4A\r\n$IIDBT,037.10,f,011.31,M,006.11,F*20\r\n$GPGLL,5951.384,N,02323.421,E,140034,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.37,N,02.25,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.69,N,,*0E\r\n$IIVTG,099.66,T,099.66,M,5.60,N,,,D*67\r\n$IIMWV,077,T,03.26,N,A*22\r\n$IIVWT,077,R,03.26,N,01.68,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140036,,,,00,*48\r\n$IIDBT,035.13,f,010.71,M,005.78,F*28\r\n$GPGLL,5951.384,N,02323.427,E,140036,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.66,N,02.40,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,100.14,T,100.14,M,5.60,N,,,D*67\r\n$IIMWV,038,R,08.55,N,A*20\r\n$IIVWT,085,R,05.24,N,02.70,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140038,,,,00,*46\r\n$IIDBT,036.25,f,011.05,M,005.97,F*2D\r\n$GPGLL,5951.383,N,02323.433,E,140038,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.59,N,,*0C\r\n$IIVTG,100.59,T,100.59,M,5.60,N,,,D*67\r\n$IIMWV,077,T,04.68,N,A*2F\r\n$IIVWT,077,R,04.68,N,02.41,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140040,,,,00,*49\r\n$IIDBT,039.82,f,012.14,M,006.56,F*22\r\n$GPGLL,5951.382,N,02323.439,E,140040,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.91,N,02.53,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,101.12,T,101.12,M,5.65,N,,,D*62\r\n$IIMWV,037,R,08.74,N,A*2C\r\n$IIVWT,082,R,05.28,N,02.72,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140042,,,,00,*4B\r\n$IIDBT,040.41,f,012.32,M,006.65,F*27\r\n$GPGLL,5951.382,N,02323.445,E,140042,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.72,N,02.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.18,N,,*09\r\n$IIVTG,101.16,T,101.16,M,5.69,N,,,D*6E\r\n$IIMWV,079,T,04.70,N,A*28\r\n$IIVWT,079,R,04.70,N,02.42,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140044,,,,00,*4D\r\n$IIDBT,040.18,f,012.25,M,006.62,F*2A\r\n$GPGLL,5951.381,N,02323.451,E,140044,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.62,N,02.38,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,100.31,T,100.31,M,5.70,N,,,D*66\r\n$IIMWV,036,R,08.16,N,A*29\r\n$IIVWT,085,R,04.74,N,02.44,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140046,,,,00,*4F\r\n$IIDBT,039.76,f,012.12,M,006.55,F*2C\r\n$GPGLL,5951.381,N,02323.457,E,140047,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.32,N,02.74,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.72,N,,*04\r\n$IIVTG,099.10,T,099.10,M,5.70,N,,,D*66\r\n$IIMWV,083,T,05.07,N,A*2C\r\n$IIVWT,083,R,05.07,N,02.61,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140048,,,,00,*41\r\n$IIDBT,039.36,f,012.00,M,006.48,F*27\r\n$GPGLL,5951.380,N,02323.463,E,140049,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.44,N,,*00\r\n$IIVTG,100.05,T,100.05,M,5.70,N,,,D*66\r\n$IIMWV,033,R,08.55,N,A*2B\r\n$IIVWT,079,R,04.70,N,02.42,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140050,,,,00,*48\r\n$IIDBT,039.07,f,011.91,M,006.43,F*25\r\n$GPGLL,5951.379,N,02323.470,E,140051,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.15,N,,*04\r\n$IIVTG,101.11,T,101.11,M,5.70,N,,,D*66\r\n$IIMWV,074,T,04.41,N,A*27\r\n$IIVWT,074,R,04.41,N,02.27,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140052,,,,00,*4A\r\n$IIDBT,038.77,f,011.82,M,006.38,F*2D\r\n$GPGLL,5951.379,N,02323.476,E,140053,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.31,N,02.22,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,101.30,T,101.30,M,5.70,N,,,D*66\r\n$IIMWV,030,R,08.55,N,A*28\r\n$IIVWT,074,R,04.35,N,02.24,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140054,,,,00,*4C\r\n$IIDBT,038.58,f,011.76,M,006.35,F*26\r\n$GPGLL,5951.378,N,02323.482,E,140055,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.39,N,02.26,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.54,N,,*01\r\n$IIVTG,100.98,T,100.98,M,5.70,N,,,D*66\r\n$IIMWV,074,T,04.33,N,A*22\r\n$IIVWT,074,R,04.33,N,02.23,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140056,,,,00,*4E\r\n$IIDBT,038.54,f,011.75,M,006.35,F*29\r\n$GPGLL,5951.378,N,02323.488,E,140057,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.60,N,02.37,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,100.50,T,100.50,M,5.70,N,,,D*66\r\n$IIMWV,030,R,08.74,N,A*2B\r\n$IIVWT,075,R,04.50,N,02.32,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140059,,,,00,*41\r\n$IIDBT,037.85,f,011.54,M,006.23,F*2E\r\n$GPGLL,5951.377,N,02323.495,E,140059,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.01,N,,*02\r\n$IIVTG,100.22,T,100.22,M,5.70,N,,,D*66\r\n$IIMWV,072,T,04.23,N,A*25\r\n$IIVWT,072,R,04.23,N,02.18,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140101,,,,00,*4D\r\n$IIDBT,037.92,f,011.56,M,006.24,F*2D\r\n$GPGLL,5951.376,N,02323.501,E,140101,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.23,N,02.18,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,100.53,T,100.53,M,5.70,N,,,D*66\r\n$IIMWV,028,R,08.55,N,A*21\r\n$IIVWT,072,R,04.17,N,02.15,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140103,,,,00,*4F\r\n$IIDBT,037.92,f,011.56,M,006.24,F*2D\r\n$GPGLL,5951.376,N,02323.507,E,140103,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.92,N,02.02,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.19,N,,*0B\r\n$IIVTG,099.59,T,099.59,M,5.70,N,,,D*66\r\n$IIMWV,073,T,04.19,N,A*2D\r\n$IIVWT,073,R,04.19,N,02.16,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140105,,,,00,*49\r\n$IIDBT,037.95,f,011.57,M,006.25,F*2A\r\n$GPGLL,5951.375,N,02323.513,E,140105,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.90,N,,*08\r\n$IIVTG,099.25,T,099.25,M,5.70,N,,,D*66\r\n$IIMWV,038,R,08.16,N,A*27\r\n$IIVWT,088,R,04.97,N,02.56,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140107,,,,00,*4B\r\n$IIDBT,037.76,f,011.51,M,006.22,F*26\r\n$GPGLL,5951.375,N,02323.519,E,140107,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.28,N,01.69,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.40,N,,*04\r\n$IIVTG,099.66,T,099.66,M,5.70,N,,,D*66\r\n$IIMWV,080,T,03.44,N,A*2E\r\n$IIVWT,080,R,03.44,N,01.77,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140109,,,,00,*45\r\n$IIDBT,037.79,f,011.52,M,006.22,F*2A\r\n$GPGLL,5951.374,N,02323.529,E,140109,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.21,N,02.17,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.99,N,,*01\r\n$IIVTG,098.19,T,098.19,M,5.70,N,,,D*66\r\n$IIMWV,032,R,08.55,N,A*2A\r\n$IIVWT,079,R,04.62,N,02.38,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140111,,,,00,*4C\r\n$IIDBT,037.76,f,011.51,M,006.22,F*26\r\n$GPGLL,5951.374,N,02323.535,E,140111,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.65,N,01.88,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.25,N,,*07\r\n$IIVTG,098.23,T,098.23,M,5.70,N,,,D*66\r\n$IIMWV,081,T,03.53,N,A*29\r\n$IIVWT,081,R,03.53,N,01.82,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140113,,,,00,*4E\r\n$IIDBT,037.63,f,011.47,M,006.19,F*2D\r\n$GPGLL,5951.373,N,02323.541,E,140113,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.84,N,01.98,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,097.66,T,097.66,M,5.65,N,,,D*62\r\n$IIMWV,031,R,07.77,N,A*26\r\n$IIVWT,085,R,04.00,N,02.06,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140115,,,,00,*48\r\n$IIDBT,037.66,f,011.48,M,006.20,F*2D\r\n$GPGLL,5951.373,N,02323.547,E,140115,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.35,N,02.24,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.83,N,,*0A\r\n$IIVTG,098.56,T,098.56,M,5.69,N,,,D*6E\r\n$IIMWV,080,T,04.15,N,A*2D\r\n$IIVWT,080,R,04.15,N,02.14,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140117,,,,00,*4A\r\n$IIDBT,037.56,f,011.45,M,006.18,F*28\r\n$GPGLL,5951.372,N,02323.553,E,140117,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.08,N,02.10,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,098.49,T,098.49,M,5.70,N,,,D*66\r\n$IIMWV,031,R,08.16,N,A*2E\r\n$IIVWT,081,R,04.21,N,02.17,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140119,,,,00,*44\r\n$IIDBT,037.43,f,011.41,M,006.16,F*26\r\n$GPGLL,5951.372,N,02323.559,E,140119,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.64,N,,*02\r\n$IIVTG,097.97,T,097.97,M,5.67,N,,,D*60\r\n$IIMWV,074,T,03.82,N,A*2F\r\n$IIVWT,074,R,03.82,N,01.97,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140121,,,,00,*4F\r\n$IIDBT,037.23,f,011.35,M,006.13,F*26\r\n$GPGLL,5951.372,N,02323.566,E,140121,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.88,N,02.00,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.70,N,,*06\r\n$IIVTG,098.07,T,098.07,M,5.69,N,,,D*6E\r\n$IIMWV,028,R,08.16,N,A*26\r\n$IIVWT,077,R,03.90,N,02.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140123,,,,00,*4D\r\n$IIDBT,037.00,f,011.28,M,006.09,F*20\r\n$GPGLL,5951.371,N,02323.572,E,140123,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.82,N,02.48,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,-0.16,N,,*2B\r\n$IIVTG,099.17,T,099.17,M,5.70,N,,,D*66\r\n$IIMWV,090,T,04.56,N,A*2B\r\n$IIVWT,090,R,04.56,N,02.35,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140125,,,,00,*4B\r\n$IIDBT,036.71,f,011.19,M,006.04,F*28\r\n$GPGLL,5951.370,N,02323.578,E,140125,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.17,N,02.15,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.08,N,,*24\r\n$IIVTG,099.49,T,099.49,M,5.70,N,,,D*66\r\n$IIMWV,029,R,07.77,N,A*2F\r\n$IIVWT,082,R,03.73,N,01.92,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140127,,,,00,*49\r\n$IIDBT,036.51,f,011.13,M,006.01,F*25\r\n$GPGLL,5951.370,N,02323.584,E,140127,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.61,N,01.86,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.00,N,,*00\r\n$IIVTG,098.62,T,098.62,M,5.70,N,,,D*66\r\n$IIMWV,078,T,03.42,N,A*2F\r\n$IIVWT,078,R,03.42,N,01.76,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140129,,,,00,*47\r\n$IIDBT,036.31,f,011.07,M,005.98,F*25\r\n$GPGLL,5951.370,N,02323.590,E,140130,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.77,N,01.94,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.27,N,,*04\r\n$IIVTG,098.31,T,098.31,M,5.70,N,,,D*66\r\n$IIMWV,030,R,07.58,N,A*2A\r\n$IIVWT,087,R,03.79,N,01.95,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140131,,,,00,*4E\r\n$IIDBT,036.18,f,011.03,M,005.96,F*24\r\n$GPGLL,5951.369,N,02323.596,E,140132,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.77,N,01.43,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,098.60,T,098.60,M,5.67,N,,,D*60\r\n$IIMWV,084,T,03.44,N,A*2A\r\n$IIVWT,084,R,03.44,N,01.77,M,,*3A\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140133,,,,00,*4C\r\n$IIDBT,035.79,f,010.91,M,005.89,F*24\r\n$GPGLL,5951.369,N,02323.602,E,140134,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.33,N,01.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,1.73,N,,*04\r\n$IIVTG,099.12,T,099.12,M,5.62,N,,,D*65\r\n$IIMWV,019,R,07.19,N,A*24\r\n$IIVWT,077,R,02.39,N,01.23,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140135,,,,00,*4A\r\n$IIDBT,035.89,f,010.94,M,005.91,F*27\r\n$GPGLL,5951.368,N,02323.609,E,140136,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.31,N,01.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,0.50,N,,*04\r\n$IIVTG,100.23,T,100.23,M,5.68,N,,,D*6F\r\n$IIMWV,070,T,01.88,N,A*23\r\n$IIVWT,070,R,01.88,N,00.97,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140137,,,,00,*48\r\n$IIDBT,035.62,f,010.86,M,005.87,F*26\r\n$GPGLL,5951.367,N,02323.615,E,140138,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.28,N,,*09\r\n$IIVTG,099.73,T,099.73,M,5.69,N,,,D*6E\r\n$IIMWV,016,R,07.58,N,A*2E\r\n$IIVWT,062,R,02.27,N,01.17,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140139,,,,00,*46\r\n$IIDBT,035.43,f,010.80,M,005.83,F*27\r\n$GPGLL,5951.367,N,02323.621,E,140140,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.46,N,01.27,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.52,N,,*04\r\n$IIVTG,099.36,T,099.36,M,5.62,N,,,D*65\r\n$IIMWV,070,T,02.68,N,A*2E\r\n$IIVWT,070,R,02.68,N,01.38,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140142,,,,00,*4A\r\n$IIDBT,035.23,f,010.74,M,005.80,F*29\r\n$GPGLL,5951.366,N,02323.627,E,140142,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.11,N,01.09,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.54,N,,*02\r\n$IIVTG,101.14,T,101.14,M,5.66,N,,,D*61\r\n$IIMWV,028,R,07.77,N,A*2E\r\n$IIVWT,081,R,03.67,N,01.89,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140144,,,,00,*4C\r\n$IIDBT,035.03,f,010.68,M,005.77,F*2E\r\n$GPGLL,5951.366,N,02323.633,E,140144,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.49,N,02.31,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.82,N,,*0B\r\n$IIVTG,101.68,T,101.68,M,5.69,N,,,D*6E\r\n$IIMWV,083,T,05.03,N,A*28\r\n$IIVWT,083,R,05.03,N,02.59,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140146,,,,00,*4E\r\n$IIDBT,034.87,f,010.63,M,005.74,F*2B\r\n$GPGLL,5951.365,N,02323.639,E,140146,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.27,N,02.20,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.36,N,,*05\r\n$IIVTG,101.77,T,101.77,M,5.70,N,,,D*66\r\n$IIMWV,026,R,07.58,N,A*2D\r\n$IIVWT,081,R,03.30,N,01.70,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140148,,,,00,*40\r\n$IIDBT,034.38,f,010.48,M,005.66,F*25\r\n$GPGLL,5951.364,N,02323.645,E,140148,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.41,N,01.24,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.97,N,,*22\r\n$IIVTG,101.99,T,101.99,M,5.70,N,,,D*66\r\n$IIMWV,100,T,02.52,N,A*21\r\n$IIVWT,100,R,02.52,N,01.30,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140150,,,,00,*49\r\n$IIDBT,034.18,f,010.42,M,005.63,F*28\r\n$GPGLL,5951.364,N,02323.652,E,140150,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.29,N,01.18,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,-0.62,N,,*28\r\n$IIVTG,100.65,T,100.65,M,5.70,N,,,D*66\r\n$IIMWV,019,R,06.22,N,A*2D\r\n$IIVWT,101,R,02.00,N,01.03,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140152,,,,00,*4B\r\n$IIDBT,033.95,f,010.35,M,005.59,F*23\r\n$GPGLL,5951.363,N,02323.661,E,140152,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,01.47,N,00.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.17,N,,*2A\r\n$IIVTG,100.44,T,100.44,M,5.70,N,,,D*66\r\n$IIMWV,098,T,01.90,N,A*2C\r\n$IIVWT,098,R,01.90,N,00.98,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140154,,,,00,*4D\r\n$IIDBT,033.72,f,010.28,M,005.55,F*2A\r\n$GPGLL,5951.362,N,02323.667,E,140154,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.21,N,01.14,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,2.25,N,,*04\r\n$IIVTG,100.50,T,100.50,M,5.62,N,,,D*65\r\n$IIMWV,017,R,07.77,N,A*22\r\n$IIVWT,063,R,02.58,N,01.33,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140156,,,,00,*4F\r\n$IIDBT,033.62,f,010.25,M,005.54,F*27\r\n$GPGLL,5951.362,N,02323.673,E,140156,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.11,N,01.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.76,N,,*01\r\n$IIVTG,100.38,T,100.38,M,5.61,N,,,D*66\r\n$IIMWV,074,T,03.09,N,A*2C\r\n$IIVWT,074,R,03.09,N,01.59,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140158,,,,00,*41\r\n$IIDBT,033.33,f,010.16,M,005.49,F*2F\r\n$GPGLL,5951.361,N,02323.679,E,140158,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.00,N,02.06,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,0.43,N,,*06\r\n$IIVTG,100.60,T,100.60,M,5.60,N,,,D*67\r\n$IIMWV,029,R,07.58,N,A*22\r\n$IIVWT,086,R,03.63,N,01.87,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140200,,,,00,*4F\r\n$IIDBT,032.97,f,010.05,M,005.43,F*28\r\n$GPGLL,5951.361,N,02323.685,E,140200,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.68,N,01.38,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,2.26,N,,*07\r\n$IIVTG,100.47,T,100.47,M,5.60,N,,,D*67\r\n$IIMWV,070,T,02.52,N,A*27\r\n$IIVWT,070,R,02.52,N,01.30,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140202,,,,00,*4D\r\n$IIDBT,032.11,f,009.79,M,005.29,F*29\r\n$GPGLL,5951.360,N,02323.691,E,140202,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,1.99,N,,*00\r\n$IIVTG,100.22,T,100.22,M,5.60,N,,,D*67\r\n$IIMWV,023,R,07.77,N,A*25\r\n$IIVWT,075,R,03.12,N,01.61,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140204,,,,00,*4B\r\n$IIDBT,032.11,f,009.79,M,005.29,F*29\r\n$GPGLL,5951.360,N,02323.697,E,140204,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,03.20,N,01.65,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,2.45,N,,*02\r\n$IIVTG,101.23,T,101.23,M,5.60,N,,,D*67\r\n$IIMWV,067,T,03.40,N,A*23\r\n$IIVWT,067,R,03.40,N,01.75,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140206,,,,00,*49\r\n$IIDBT,032.11,f,009.79,M,005.29,F*29\r\n$GPGLL,5951.359,N,02323.703,E,140206,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,02.99,N,01.54,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,1.11,N,,*00\r\n$IIVTG,101.64,T,101.64,M,5.60,N,,,D*67\r\n$IIMWV,027,R,07.77,N,A*21\r\n$IIVWT,079,R,03.57,N,01.84,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140208,,,,00,*47\r\n$IIDBT,030.97,f,009.44,M,005.10,F*21\r\n$GPGLL,5951.358,N,02323.709,E,140208,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.14,N,02.13,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.07,N,,*07\r\n$IIVTG,101.51,T,101.51,M,5.55,N,,,D*61\r\n$IIMWV,076,T,03.86,N,A*29\r\n$IIVWT,076,R,03.86,N,01.99,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140210,,,,00,*4E\r\n$IIDBT,031.00,f,009.45,M,005.10,F*2F\r\n$GPGLL,5951.358,N,02323.715,E,140210,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.41,N,02.27,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.34,N,,*07\r\n$IIVTG,101.78,T,101.78,M,5.59,N,,,D*6D\r\n$IIMWV,029,R,08.16,N,A*27\r\n$IIVWT,077,R,03.98,N,02.05,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140212,,,,00,*4C\r\n$IIDBT,030.70,f,009.36,M,005.05,F*29\r\n$GPGLL,5951.357,N,02323.721,E,140213,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.12,N,02.12,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.23,N,,*02\r\n$IIVTG,101.17,T,101.17,M,5.55,N,,,D*61\r\n$IIMWV,077,T,04.87,N,A*2E\r\n$IIVWT,077,R,04.87,N,02.51,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140214,,,,00,*4A\r\n$IIDBT,030.44,f,009.28,M,005.01,F*25\r\n$GPGLL,5951.357,N,02323.727,E,140215,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.04,N,02.08,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.95,N,,*0C\r\n$IIVTG,100.82,T,100.82,M,5.51,N,,,D*65\r\n$IIMWV,029,R,08.55,N,A*20\r\n$IIVWT,074,R,04.25,N,02.19,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140216,,,,00,*48\r\n$IIDBT,029.75,f,009.07,M,004.90,F*2B\r\n$GPGLL,5951.356,N,02323.733,E,140217,A,D*4C\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.87,N,02.51,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.03,N,,*03\r\n$IIVTG,100.83,T,100.83,M,5.55,N,,,D*61\r\n$IIMWV,078,T,05.01,N,A*2E\r\n$IIVWT,078,R,05.01,N,02.58,M,,*30\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140218,,,,00,*46\r\n$IIDBT,029.39,f,008.96,M,004.84,F*2F\r\n$GPGLL,5951.355,N,02323.739,E,140219,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.64,N,02.39,M*53\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.65,N,,*02\r\n$IIVTG,100.56,T,100.56,M,5.51,N,,,D*65\r\n$IIMWV,037,R,08.16,N,A*28\r\n$IIVWT,088,R,04.87,N,02.51,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140220,,,,00,*4D\r\n$IIDBT,029.06,f,008.86,M,004.78,F*21\r\n$GPGLL,5951.355,N,02323.745,E,140221,A,D*4B\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,100.66,T,100.66,M,5.50,N,,,D*64\r\n$IIMWV,083,T,05.03,N,A*28\r\n$IIVWT,083,R,05.03,N,02.59,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140222,,,,00,*4F\r\n$IIDBT,029.03,f,008.85,M,004.78,F*27\r\n$GPGLL,5951.354,N,02323.751,E,140223,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.09,N,02.62,M*57\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.59,N,,*0D\r\n$IIVTG,101.39,T,101.39,M,5.55,N,,,D*61\r\n$IIMWV,038,R,08.55,N,A*20\r\n$IIVWT,085,R,05.30,N,02.73,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140225,,,,00,*48\r\n$IIDBT,028.34,f,008.64,M,004.67,F*23\r\n$GPGLL,5951.354,N,02323.757,E,140225,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.84,N,02.49,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.01,N,,*01\r\n$IIVTG,101.87,T,101.87,M,5.59,N,,,D*6D\r\n$IIMWV,081,T,05.09,N,A*20\r\n$IIVWT,081,R,05.09,N,02.62,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140227,,,,00,*4A\r\n$IIDBT,028.18,f,008.59,M,004.64,F*20\r\n$GPGLL,5951.353,N,02323.763,E,140227,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.55,N,02.86,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.63,N,,*04\r\n$IIVTG,100.34,T,100.34,M,5.52,N,,,D*66\r\n$IIMWV,041,R,09.13,N,A*2D\r\n$IIVWT,084,R,05.96,N,03.07,M,,*36\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140229,,,,00,*44\r\n$IIDBT,027.95,f,008.52,M,004.60,F*25\r\n$GPGLL,5951.352,N,02323.769,E,140229,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.44,N,02.80,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.31,N,,*03\r\n$IIVTG,099.31,T,099.31,M,5.51,N,,,D*65\r\n$IIMWV,088,T,05.57,N,A*22\r\n$IIVWT,088,R,05.57,N,02.87,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140231,,,,00,*4D\r\n$IIDBT,027.82,f,008.48,M,004.58,F*23\r\n$GPGLL,5951.352,N,02323.775,E,140231,A,D*4E\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.90,N,03.04,M*56\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.25,N,,*06\r\n$IIVTG,098.63,T,098.63,M,5.58,N,,,D*6C\r\n$IIMWV,040,R,09.13,N,A*2C\r\n$IIVWT,083,R,05.90,N,03.04,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140233,,,,00,*4F\r\n$IIDBT,027.91,f,008.51,M,004.59,F*28\r\n$GPGLL,5951.352,N,02323.781,E,140233,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.77,N,,*01\r\n$IIVTG,098.26,T,098.26,M,5.59,N,,,D*6D\r\n$IIMWV,080,T,06.22,N,A*2B\r\n$IIVWT,080,R,06.22,N,03.20,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140235,,,,00,*49\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5951.351,N,02323.790,E,140235,A,D*42\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.04,N,03.11,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.49,N,,*0C\r\n$IIVTG,097.42,T,097.42,M,5.59,N,,,D*6D\r\n$IIMWV,043,R,09.52,N,A*2A\r\n$IIVWT,085,R,06.55,N,03.37,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140237,,,,00,*4B\r\n$IIDBT,028.21,f,008.60,M,004.64,F*20\r\n$GPGLL,5951.351,N,02323.797,E,140237,A,D*47\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,07.03,N,03.62,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.51,N,,*05\r\n$IIVTG,097.23,T,097.23,M,5.60,N,,,D*67\r\n$IIMWV,083,T,06.58,N,A*25\r\n$IIVWT,083,R,06.58,N,03.39,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140239,,,,00,*45\r\n$IIDBT,028.05,f,008.55,M,004.62,F*26\r\n$GPGLL,5951.350,N,02323.803,E,140239,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.43,N,03.31,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,0.66,N,,*01\r\n$IIVTG,097.03,T,097.03,M,5.60,N,,,D*67\r\n$IIMWV,041,R,09.71,N,A*29\r\n$IIVWT,081,R,06.45,N,03.32,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140241,,,,00,*4A\r\n$IIDBT,028.57,f,008.71,M,004.70,F*24\r\n$GPGLL,5951.350,N,02323.809,E,140241,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.49,N,03.34,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.10,N,,*01\r\n$IIVTG,096.66,T,096.66,M,5.60,N,,,D*67\r\n$IIMWV,071,T,05.36,N,A*23\r\n$IIVWT,071,R,05.36,N,02.76,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140243,,,,00,*48\r\n$IIDBT,028.96,f,008.83,M,004.77,F*23\r\n$GPGLL,5951.350,N,02323.815,E,140243,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.11,N,02.63,M*5F\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.52,N,,*06\r\n$IIVTG,096.22,T,096.22,M,5.60,N,,,D*67\r\n$IIMWV,047,R,08.55,N,A*28\r\n$IIVWT,094,R,06.22,N,03.20,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140245,,,,00,*4E\r\n$IIDBT,029.23,f,008.91,M,004.81,F*26\r\n$GPGLL,5951.349,N,02323.821,E,140245,A,D*49\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.03,N,02.59,M*55\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,-0.28,N,,*26\r\n$IIVTG,096.23,T,096.23,M,5.60,N,,,D*67\r\n$IIMWV,092,T,05.34,N,A*2C\r\n$IIVWT,092,R,05.34,N,02.75,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140247,,,,00,*4C\r\n$IIDBT,029.26,f,008.92,M,004.82,F*23\r\n$GPGLL,5951.349,N,02323.827,E,140247,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.05,N,02.60,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.48,N,,*0D\r\n$IIVTG,096.13,T,096.13,M,5.60,N,,,D*67\r\n$IIMWV,037,R,08.55,N,A*2F\r\n$IIVWT,083,R,05.09,N,02.62,M,,*35\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140249,,,,00,*42\r\n$IIDBT,029.19,f,008.90,M,004.81,F*2E\r\n$GPGLL,5951.349,N,02323.833,E,140249,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.76,N,02.45,M*5B\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.95,N,,*0D\r\n$IIVTG,096.26,T,096.26,M,5.60,N,,,D*67\r\n$IIMWV,083,T,04.52,N,A*2D\r\n$IIVWT,083,R,04.52,N,02.33,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140251,,,,00,*4B\r\n$IIDBT,029.39,f,008.96,M,004.84,F*2F\r\n$GPGLL,5951.348,N,02323.839,E,140251,A,D*44\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.98,N,03.08,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.31,N,11.68,K*5F\r\n$IIVPW,0.24,N,,*07\r\n$IIVTG,096.44,T,096.44,M,5.60,N,,,D*67\r\n$IIMWV,039,R,08.55,N,A*21\r\n$IIVWT,087,R,05.38,N,02.77,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140253,,,,00,*49\r\n$IIDBT,029.72,f,009.06,M,004.89,F*25\r\n$GPGLL,5951.348,N,02323.845,E,140253,A,D*4D\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.30,N,11.66,K*50\r\n$IIVPW,-0.38,N,,*27\r\n$IIVTG,095.96,T,095.96,M,5.60,N,,,D*67\r\n$IIMWV,095,T,05.75,N,A*2E\r\n$IIVWT,095,R,05.75,N,02.96,M,,*32\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140255,,,,00,*4F\r\n$IIDBT,030.31,f,009.24,M,004.99,F*2B\r\n$GPGLL,5951.347,N,02323.852,E,140256,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.68,N,02.41,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.29,N,11.64,K*5A\r\n$IIVPW,-0.13,N,,*2E\r\n$IIVTG,095.67,T,095.67,M,5.60,N,,,D*67\r\n$IIMWV,037,R,08.16,N,A*28\r\n$IIVWT,088,R,04.91,N,02.53,M,,*3C\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140257,,,,00,*4D\r\n$IIDBT,030.64,f,009.34,M,005.04,F*2F\r\n$GPGLL,5951.347,N,02323.858,E,140258,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.65,N,02.91,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,0.95,N,,*0D\r\n$IIVTG,096.02,T,096.02,M,5.60,N,,,D*67\r\n$IIMWV,087,T,05.44,N,A*2F\r\n$IIVWT,087,R,05.44,N,02.80,M,,*34\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140259,,,,00,*43\r\n$IIDBT,031.10,f,009.48,M,005.12,F*21\r\n$GPGLL,5951.347,N,02323.864,E,140300,A,D*46\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.33,N,02.23,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,0.36,N,,*04\r\n$IIVTG,096.50,T,096.50,M,5.60,N,,,D*67\r\n$IIMWV,030,R,08.16,N,A*2F\r\n$IIVWT,080,R,04.17,N,02.15,M,,*38\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140301,,,,00,*4F\r\n$IIDBT,031.85,f,009.71,M,005.24,F*22\r\n$GPGLL,5951.346,N,02323.870,E,140302,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.25,N,02.19,M*54\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,0.81,N,,*08\r\n$IIVTG,097.28,T,097.28,M,5.60,N,,,D*67\r\n$IIMWV,077,T,04.02,N,A*23\r\n$IIVWT,077,R,04.02,N,02.07,M,,*37\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140303,,,,00,*4D\r\n$IIDBT,032.28,f,009.84,M,005.31,F*28\r\n$GPGLL,5951.346,N,02323.876,E,140304,A,D*40\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.24,N,11.55,K*55\r\n$IIVPW,0.42,N,,*07\r\n$IIVTG,098.84,T,098.84,M,5.67,N,,,D*60\r\n$IIMWV,045,R,08.74,N,A*29\r\n$IIVWT,091,R,06.14,N,03.16,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140305,,,,00,*4B\r\n$IIDBT,032.93,f,010.04,M,005.42,F*2C\r\n$GPGLL,5951.345,N,02323.882,E,140306,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.06,N,03.12,M*5D\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.17,N,,*06\r\n$IIVTG,099.09,T,099.09,M,5.69,N,,,D*6E\r\n$IIMWV,074,T,05.85,N,A*2E\r\n$IIVWT,074,R,05.85,N,03.01,M,,*3D\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140308,,,,00,*46\r\n$IIDBT,033.79,f,010.30,M,005.56,F*2B\r\n$GPGLL,5951.345,N,02323.889,E,140308,A,D*4F\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.39,N,03.29,M*59\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.45,N,,*01\r\n$IIVTG,099.40,T,099.40,M,5.70,N,,,D*66\r\n$IIMWV,032,R,09.52,N,A*2C\r\n$IIVWT,069,R,05.34,N,02.75,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140310,,,,00,*4F\r\n$IIDBT,034.25,f,010.44,M,005.64,F*27\r\n$GPGLL,5951.344,N,02323.895,E,140310,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.53,N,02.85,M*51\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.25,N,11.57,K*56\r\n$IIVPW,1.37,N,,*04\r\n$IIVTG,099.45,T,099.45,M,5.70,N,,,D*66\r\n$IIMWV,076,T,05.24,N,A*27\r\n$IIVWT,076,R,05.24,N,02.70,M,,*33\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140312,,,,00,*4D\r\n$IIDBT,034.94,f,010.65,M,005.75,F*2E\r\n$GPGLL,5951.343,N,02323.901,E,140312,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.26,N,02.71,M*58\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,1.90,N,,*09\r\n$IIVTG,100.89,T,100.89,M,5.70,N,,,D*66\r\n$IIMWV,035,R,09.13,N,A*2E\r\n$IIVWT,077,R,05.32,N,02.74,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140314,,,,00,*4B\r\n$IIDBT,035.53,f,010.83,M,005.85,F*23\r\n$GPGLL,5951.343,N,02323.907,E,140314,A,D*43\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.52,N,02.33,M*5C\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,2.41,N,,*06\r\n$IIVTG,100.17,T,100.17,M,5.70,N,,,D*66\r\n$IIMWV,072,T,04.89,N,A*25\r\n$IIVWT,072,R,04.89,N,02.52,M,,*31\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140316,,,,00,*49\r\n$IIDBT,036.02,f,010.98,M,005.93,F*29\r\n$GPGLL,5951.342,N,02323.913,E,140316,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,04.93,N,02.54,M*50\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.26,N,11.59,K*5B\r\n$IIVPW,2.14,N,,*06\r\n$IIVTG,099.52,T,099.52,M,5.70,N,,,D*66\r\n$IIMWV,032,R,09.13,N,A*29\r\n$IIVWT,074,R,05.03,N,02.59,M,,*3F\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140318,,,,00,*47\r\n$IIDBT,036.21,f,011.04,M,005.96,F*29\r\n$GPGLL,5951.342,N,02323.923,E,140318,A,D*48\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.36,N,02.76,M*5E\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.58,N,,*0D\r\n$IIVTG,099.39,T,099.39,M,5.70,N,,,D*66\r\n$IIMWV,079,T,05.36,N,A*2B\r\n$IIVWT,079,R,05.36,N,02.76,M,,*39\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140320,,,,00,*4C\r\n$IIDBT,036.38,f,011.09,M,005.99,F*23\r\n$GPGLL,5951.341,N,02323.929,E,140320,A,D*4A\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.60,N,03.40,M*5A\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.28,N,11.63,K*5C\r\n$IIVPW,1.43,N,,*07\r\n$IIVTG,098.80,T,098.80,M,5.70,N,,,D*66\r\n$IIMWV,042,R,09.71,N,A*2A\r\n$IIVWT,081,R,06.53,N,03.36,M,,*3B\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140322,,,,00,*4E\r\n$IIDBT,036.74,f,011.20,M,006.05,F*26\r\n$GPGLL,5951.341,N,02323.935,E,140322,A,D*45\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,06.08,N,03.13,M*52\r\n$IIVDR,,,,,,N*0E\r\n$IIVHW,,T,,M,06.27,N,11.61,K*51\r\n$IIVPW,1.06,N,,*06\r\n$IIVTG,099.10,T,099.10,M,5.70,N,,,D*66\r\n$IIMWV,083,T,06.64,N,A*2A\r\n$IIVWT,083,R,06.64,N,03.42,M,,*3E\r\n$IIHDT,,T*0C\r\n$GPWCV,,N,,D*5F\r\n$GPXTE,A,A,,R,N,D*06\r\n$GPZDA,140324,,,,00,*48\r\n$IIDBT,036.90,f,011.25,M,006.08,F*24\r\n$GPGLL,5951.340,N,02323.941,E,140324,A,D*41\r\n$GPGSV,,,,,,,,,,,,,,,,,,,*79\r\n$IIHDM,,M*0C\r\n$IIHDT,,T*0C\r\n$IIMWD,,,,,05.24,N,02.70,M*5B\r\n$IIVDR,,,,,,N*0E"
  },
  {
    "path": "settings/actisense-serial-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"your boat name\",\n    \"uuid\": \"000000000\"\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"actisense\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/execute\",\n          \"options\": {\n            \"command\": \"actisense-serial /dev/tty.usbserial-1FD34\"\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/canboatjs\"\n        },\n        {\n          \"type\": \"providers/n2k-signalk\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/commandline-provider-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Commander\",\n    \"uuid\": \"345678912\"\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"commandline-sample\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/execute\",\n          \"options\": {\n            \"command\": \"while true; do echo '{\\\"updates\\\": [{\\\"source\\\": {\\\"label\\\": \\\"dummy data\\\",\\\"timestamp\\\":\\\"'`date +'%Y-%m-%dT%H:%M:%S'`'\\\"},\\\"values\\\": [{\\\"path\\\": \\\"environment.airPressure\\\",\\\"value\\\": 1013}]}]}'; sleep 1; done\"\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/from_json\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/defaults.json-sample",
    "content": "{\n  \"vessels\": {\n    \"self\": {\n      \"propulsion\": {\n        \"port\": {\n          \"alternatorVoltage\": {\n            \"meta\": {\n              \"zones\": [{\n                \"upper\": 10.5,\n                \"state\": \"alarm\",\n                \"message\": \"Fault: very low voltage\"\n              }, {\n                \"lower\": 10.5,\n                \"upper\": 11.5,\n                \"state\": \"warn\",\n                \"message\": \"Low voltage, battery near empty\"\n              }, {\n                \"lower\": 11.5,\n                \"upper\": 12,\n                \"state\": \"alert\",\n                \"message\": \"Low voltage, battery charge low\"\n              }, {\n                \"lower\": 12.8,\n                \"upper\": 14.5,\n                \"state\": \"alert\",\n                \"message\": \"Charging\"\n              }, {\n                \"lower\": 14.5,\n                \"upper\": 15,\n                \"state\": \"alarm\",\n                \"message\": \"Voltage too high\"\n              }, {\n                \"lower\": 15,\n                \"state\": \"alarm\",\n                \"message\": \"Voltage too high, out of range\"\n              }]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "settings/multiple-sources.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Multiple Sources\",\n    \"brand\": \"\",\n    \"type\": \"\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\",\n\n    \"dimensions\": {\n      \"length\": 7,\n      \"width\": 2.5,\n      \"mast\": 10,\n      \"depthTransducer\": 0.5,\n      \"keel\": 1.5\n    }\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmea1\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/plaka.log\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.nmeafilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 500\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"id\": \"nmea2\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/plaka.log\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.nmeafilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 600\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"id\": \"n2k1\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/aava-n2k.data\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.n2kfilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 500\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/canboatjs\"\n        },\n        {\n          \"type\": \"providers/n2k-signalk\"\n        }\n      ]\n    },\n    {\n      \"id\": \"n2k2\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/aava-n2k.data\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.n2kfilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 500\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/canboatjs\"\n        },\n        {\n          \"type\": \"providers/n2k-signalk\"\n        }\n      ]\n    }\n  ],\n  \"interfaces\": {},\n  \"sourcePreferences\": {\n    \"navigation.speedOverGround\": [\n      {\n        \"sourceRef\": \"n2k1.160\",\n        \"timeout\": \"\"\n      },\n      {\n        \"sourceRef\": \"nmea2.II\",\n        \"timeout\": \"\"\n      }\n    ],\n    \"performance.velocityMadeGood\": [\n      {\n        \"sourceRef\": \"nmea1.II\",\n        \"timeout\": \"\"\n      },\n      {\n        \"sourceRef\": \"nmea2.II\",\n        \"timeout\": \"123\"\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "settings/multiplexed.json",
    "content": "{\n  \"vessel\": {\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\"\n  },\n  \"pipedProviders\": [\n    {\n      \"id\": \"multiplexedFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"\",\n            \"keepRunning\": true\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.filename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/multiplexedlog\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/n2k-from-file-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Aava\",\n    \"brand\": \"Arcona\",\n    \"type\": \"Arcona 34\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\"\n  },\n  \"pipedProviders\": [\n    {\n      \"id\": \"n2kFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/aava-n2k.data\",\n            \"providerId\": \"n2kFromFile\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.n2kfilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/canboatjs\"\n        },\n        {\n          \"type\": \"providers/timestamp-throttle\"\n        },\n        {\n          \"type\": \"providers/n2k-signalk\"\n        }\n      ]\n    }\n  ],\n  \"interfaces\": {},\n  \"security\": {\n    \"strategy\": \"./tokensecurity\"\n  },\n  \"resourcesApi\": {\n    \"defaultProviders\": {\n      \"routes\": \"resources-provider\",\n      \"waypoints\": \"resources-provider\",\n      \"regions\": \"resources-provider\",\n      \"notes\": \"resources-provider\",\n      \"charts\": \"resources-provider\",\n      \"tracks\": \"resources-provider\",\n      \"infolayers\": \"resources-provider\",\n      \"groups\": \"resources-provider\"\n    }\n  },\n  \"courseApi\": {\n    \"apiOnly\": false\n  }\n}\n"
  },
  {
    "path": "settings/signalk-ws-settings.json",
    "content": "{\n  \"vessel\": {\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021e\"\n  },\n\n  \"mdns\": false,\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"signalk-ws\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/mdns-ws\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.host\",\n              \"toOption\": \"host\"\n            },\n            {\n              \"fromAppProperty\": \"argv.port\",\n              \"toOption\": \"port\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/simulator.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"s/y Simulator\",\n    \"brand\": \"Node\",\n    \"type\": \"Server 34\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8441f\"\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"simulator\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/nullprovider\"\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-file-settings-filtered.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\"\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmeaFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/plaka.log\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.nmeafilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 1000\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"options\": {\n            \"sentenceEvent\": \"nmea0183-B\"\n          }\n        },\n        {\n          \"type\": \"providers/keys-filter\",\n          \"options\": {\n            \"excludeMatchingPaths\": [\n              \"navigation.courseOverGroundMagnetic\",\n              \"performance.velocityMadeGood\"\n            ]\n          }\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-file-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\"\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmeaFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/filestream\",\n          \"options\": {\n            \"filename\": \"samples/plaka.log\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.nmeafilename\",\n              \"toOption\": \"filename\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/throttle\",\n          \"options\": {\n            \"rate\": 1000\n          }\n        },\n        {\n          \"type\": \"providers/liner\"\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"options\": {\n            \"sentenceEvent\": \"nmea0183-B\"\n          }\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-gpsd-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\",\n\n    \"dimensions\": {\n      \"length\": 7,\n      \"width\": 2.5,\n      \"mast\": 10,\n      \"depthTransducer\": 0.5,\n      \"keel\": 1.5\n    }\n  },\n\n  \"mdns\": false,\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"gpsdProvider\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/gpsd\",\n          \"options\": {\n            \"hostname\": \"127.0.0.1\",\n            \"port\": 2947\n          }\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-serial-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"10101010\",\n\n    \"dimensions\": {\n      \"length\": 7,\n      \"width\": 2.5,\n      \"mast\": 10,\n      \"depthTransducer\": 0.5,\n      \"keel\": 1.5\n    }\n  },\n\n  \"interfaces\": {},\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmeaFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/serialport\",\n          \"options\": {\n            \"device\": \"/dev/ttyUSB0\",\n            \"baudrate\": 4800,\n            \"toStdout\": [\"nmea0183out1\", \"nmea0183out2\"]\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.nmeadevice\",\n              \"toOption\": \"device\"\n            },\n\n            {\n              \"fromAppProperty\": \"argv.nmeabaudrate\",\n              \"toOption\": \"baudrate\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"options\": {\n            \"sentenceEvent\": \"nmea0183in1\"\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-tcp-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\",\n\n    \"dimensions\": {\n      \"length\": 7,\n      \"width\": 2.5,\n      \"mast\": 10,\n      \"depthTransducer\": 0.5,\n      \"keel\": 1.5\n    }\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmeaFromFile\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/tcp\",\n          \"options\": {\n            \"host\": \"192.168.1.106\",\n            \"port\": \"2947\"\n          }\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "settings/volare-udp-settings.json",
    "content": "{\n  \"vessel\": {\n    \"name\": \"Volare\",\n    \"brand\": \"Friendship\",\n    \"type\": \"22\",\n    \"uuid\": \"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d\",\n\n    \"dimensions\": {\n      \"length\": 7,\n      \"width\": 2.5,\n      \"mast\": 10,\n      \"depthTransducer\": 0.5,\n      \"keel\": 1.5\n    }\n  },\n\n  \"pipedProviders\": [\n    {\n      \"id\": \"nmeaFromUdp\",\n      \"pipeElements\": [\n        {\n          \"type\": \"providers/udp\",\n          \"options\": {\n            \"port\": 7777\n          },\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"argv.udpport\",\n              \"toOption\": \"port\"\n            }\n          ]\n        },\n        {\n          \"type\": \"providers/nmea0183-signalk\",\n          \"optionMappings\": [\n            {\n              \"fromAppProperty\": \"selfId\",\n              \"toOption\": \"selfId\"\n            },\n            {\n              \"fromAppProperty\": \"selfType\",\n              \"toOption\": \"selfType\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n"
  },
  {
    "path": "src/@types/api-schema-builder.d.ts",
    "content": "declare module 'api-schema-builder'\n"
  },
  {
    "path": "src/@types/primus.d.ts",
    "content": "declare module 'primus' {\n  import { Server } from 'http'\n\n  interface PrimusOptions {\n    pathname?: string\n    transformer?: string\n    parser?: string\n    compression?: boolean\n    transport?: Record<string, unknown>\n    pingInterval?: boolean | number\n    [key: string]: unknown\n  }\n\n  class Primus {\n    constructor(server: Server, options?: PrimusOptions)\n    authorize(\n      fn: (req: unknown, authorized: (err?: Error) => void) => void\n    ): void\n    on(\n      event: 'connection' | 'disconnection',\n      handler: (spark: unknown) => void\n    ): void\n    once(event: string, handler: (...args: unknown[]) => void): void\n    forEach(fn: (spark: unknown) => void): void\n    destroy(\n      options: { close: boolean; timeout: number; reconnect?: boolean },\n      fn?: () => void\n    ): void\n  }\n\n  export = Primus\n}\n"
  },
  {
    "path": "src/@types/signalk_signalk-schema.d.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\ndeclare module '@signalk/signalk-schema' {\n  import { EventEmitter } from 'events'\n\n  export function getSourceId(\n    source: any\n  ): import('@signalk/server-api').SourceRef\n  export class FullSignalK extends EventEmitter {\n    constructor(selfId: string, selfType: string, defaults?: any)\n    addDelta: (_: any) => void\n    retrieve: () => any\n    pruneContexts: (seconds: number) => void\n    self: Record<string, unknown>\n  }\n  export function getMetadata(path: string): any\n  export function getAISShipTypeName(shipType: number): string\n}\n"
  },
  {
    "path": "src/BackpressureManager.ts",
    "content": "import {\n  AccumulatedItem,\n  accumulateLatestValue,\n  buildFlushDeltas\n} from './LatestValuesAccumulator'\nimport { Delta } from '@signalk/server-api'\nimport { createDebug } from './debug'\n\nconst debug = createDebug('signalk-server:backpressure')\n\nconst DEFAULT_ENTER_THRESHOLD = 512 * 1024\nconst DEFAULT_EXIT_THRESHOLD = 1024\nconst DEFAULT_MAX_BUFFER_SIZE = 4 * 512 * 1024\nconst DEFAULT_MAX_BUFFER_CHECK_TIME = 30 * 1000\n\nexport interface BackpressureTransport {\n  readonly id: string\n  getBufferLength(): number\n  write(delta: Delta): void\n  destroy(): void\n}\n\nexport interface BackpressureOptions {\n  enterThreshold: number\n  exitThreshold: number\n  maxBufferSize: number\n  maxBufferCheckTime: number\n  beforeWrite?: (delta: Delta) => void\n}\n\nexport interface BackpressureThresholds {\n  enterThreshold: number\n  exitThreshold: number\n  maxBufferSize: number\n  maxBufferCheckTime: number\n}\n\nexport function parseBackpressureThresholds(configFallbacks?: {\n  maxSendBufferSize?: number\n  maxSendBufferCheckTime?: number\n}): BackpressureThresholds {\n  return {\n    enterThreshold: process.env.BACKPRESSURE_ENTER\n      ? parseInt(process.env.BACKPRESSURE_ENTER, 10)\n      : DEFAULT_ENTER_THRESHOLD,\n    exitThreshold: process.env.BACKPRESSURE_EXIT\n      ? parseInt(process.env.BACKPRESSURE_EXIT, 10)\n      : DEFAULT_EXIT_THRESHOLD,\n    maxBufferSize: process.env.MAXSENDBUFFERSIZE\n      ? parseInt(process.env.MAXSENDBUFFERSIZE, 10)\n      : (configFallbacks?.maxSendBufferSize ?? DEFAULT_MAX_BUFFER_SIZE),\n    maxBufferCheckTime: process.env.MAXSENDBUFFERCHECKTIME\n      ? parseInt(process.env.MAXSENDBUFFERCHECKTIME, 10)\n      : (configFallbacks?.maxSendBufferCheckTime ??\n        DEFAULT_MAX_BUFFER_CHECK_TIME)\n  }\n}\n\nexport class BackpressureManager {\n  private active = false\n  private readonly accumulator: Map<string, AccumulatedItem> = new Map()\n  private since: number | null = null\n  private bufferSizeExceeded: number | undefined = undefined\n  private readonly transport: BackpressureTransport\n  private readonly options: BackpressureOptions\n\n  constructor(transport: BackpressureTransport, options: BackpressureOptions) {\n    this.transport = transport\n    this.options = options\n  }\n\n  onDrain(): void {\n    if (this.active && this.accumulator.size > 0) {\n      if (this.transport.getBufferLength() <= this.options.exitThreshold) {\n        this.flush()\n      }\n    }\n  }\n\n  send(delta: Delta): void {\n    const bufferLength = this.transport.getBufferLength()\n    if (bufferLength > this.options.enterThreshold) {\n      if (!this.active) {\n        this.active = true\n        this.since = Date.now()\n        debug(\n          'Entering backpressure for %s (buffer: %d)',\n          this.transport.id,\n          bufferLength\n        )\n      }\n      accumulateLatestValue(this.accumulator, delta)\n    } else {\n      this.options.beforeWrite?.(delta)\n      this.transport.write(delta)\n    }\n    this.assertBufferSize(bufferLength)\n  }\n\n  flush(): void {\n    if (this.accumulator.size === 0) return\n    const countBefore = this.accumulator.size\n    const duration = this.since ? Date.now() - this.since : 0\n    const deltas = buildFlushDeltas(this.accumulator, duration)\n    for (const delta of deltas) {\n      this.options.beforeWrite?.(delta as Delta)\n      this.transport.write(delta as Delta)\n    }\n    this.accumulator.clear()\n    this.active = false\n    this.since = null\n    debug(\n      'Flushed %d accumulated values for %s',\n      countBefore,\n      this.transport.id\n    )\n  }\n\n  assertBufferSize(knownBufferLength?: number): void {\n    if (this.options.maxBufferSize === 0) return\n    const bufferLength = knownBufferLength ?? this.transport.getBufferLength()\n    if (bufferLength > this.options.maxBufferSize) {\n      if (!this.bufferSizeExceeded) {\n        console.warn(\n          `${this.transport.id} outgoing buffer > max:${bufferLength}`\n        )\n        this.bufferSizeExceeded = Date.now()\n      }\n      if (\n        Date.now() - this.bufferSizeExceeded >\n        this.options.maxBufferCheckTime\n      ) {\n        console.error(\n          'Send buffer overflow, terminating connection ' + this.transport.id\n        )\n        this.transport.destroy()\n      }\n    } else {\n      this.bufferSizeExceeded = undefined\n    }\n  }\n\n  clear(): void {\n    this.accumulator.clear()\n    this.active = false\n    this.since = null\n    this.bufferSizeExceeded = undefined\n  }\n\n  get isActive(): boolean {\n    return this.active\n  }\n\n  get accumulatorSize(): number {\n    return this.accumulator.size\n  }\n}\n"
  },
  {
    "path": "src/LatestValuesAccumulator.ts",
    "content": "/**\n * LatestValuesAccumulator - Accumulates Signal K delta values during backpressure,\n * keeping only the latest value for each unique context:path:$source combination.\n */\n\nimport {\n  Context,\n  Delta,\n  hasValues,\n  Path,\n  SourceRef,\n  Timestamp,\n  Update\n} from '@signalk/server-api'\n\nexport interface AccumulatedItem {\n  context: Context\n  path: Path\n  value: unknown\n  $source: SourceRef | undefined\n  timestamp: Timestamp | undefined\n}\n\nexport interface BackpressureDelta extends Delta {\n  $backpressure: {\n    accumulated: number\n    duration: number\n  }\n}\n\n/**\n * Accumulate latest value per context:path:$source during backpressure.\n * Only keeps the most recent value for each unique combination, dropping intermediate updates.\n *\n * @param accumulator - Map to store accumulated values, keyed by context:path:$source\n * @param delta - Signal K delta to accumulate\n */\nexport function accumulateLatestValue(\n  accumulator: Map<string, AccumulatedItem>,\n  delta: Delta\n): void {\n  if (!delta.updates) return\n  for (const update of delta.updates) {\n    if (!hasValues(update)) continue\n    for (const pv of update.values) {\n      const key = `${delta.context}:${pv.path}:${update.$source || 'unknown'}`\n      accumulator.set(key, {\n        context: delta.context as Context,\n        path: pv.path,\n        value: pv.value,\n        $source: update.$source,\n        timestamp: update.timestamp\n      })\n    }\n  }\n}\n\n/**\n * Convert accumulated values to spec-compliant deltas.\n * Groups values by context and $source for proper delta structure.\n *\n * @param accumulator - Map of accumulated values\n * @param duration - How long backpressure was active in milliseconds\n * @returns Array of deltas, one per context, with $backpressure indicator\n */\nexport function buildFlushDeltas(\n  accumulator: Map<string, AccumulatedItem>,\n  duration: number\n): BackpressureDelta[] {\n  if (accumulator.size === 0) return []\n\n  const countBefore = accumulator.size\n\n  // Group by context\n  const byContext = new Map<Context, Map<string, Update>>()\n  for (const [, item] of accumulator) {\n    if (!byContext.has(item.context)) {\n      byContext.set(item.context, new Map())\n    }\n    // Group by $source within context\n    const bySource = byContext.get(item.context)!\n    const sourceKey = item.$source || 'unknown'\n    if (!bySource.has(sourceKey)) {\n      bySource.set(sourceKey, {\n        $source: item.$source as SourceRef,\n        timestamp: item.timestamp as Timestamp,\n        values: []\n      })\n    }\n    const update = bySource.get(sourceKey)!\n    if (hasValues(update)) {\n      update.values.push({\n        path: item.path as Path,\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        value: item.value as any\n      })\n      // Use the most recent timestamp for this source\n      if (\n        item.timestamp &&\n        (!update.timestamp || item.timestamp > update.timestamp)\n      ) {\n        update.timestamp = item.timestamp as Timestamp\n      }\n    }\n  }\n\n  // Build one delta per context with backpressure indicator\n  const deltas: BackpressureDelta[] = []\n  for (const [context, bySourceTime] of byContext) {\n    deltas.push({\n      context,\n      updates: Array.from(bySourceTime.values()),\n      $backpressure: {\n        accumulated: countBefore,\n        duration\n      }\n    })\n  }\n\n  return deltas\n}\n"
  },
  {
    "path": "src/api/apps/openApi.json",
    "content": "{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"version\": \"1.0.0\",\n    \"title\": \"Signal K Apps API\",\n    \"termsOfService\": \"http://signalk.org/terms/\",\n    \"license\": {\n      \"name\": \"Apache 2.0\",\n      \"url\": \"http://www.apache.org/licenses/LICENSE-2.0.html\"\n    }\n  },\n  \"externalDocs\": {\n    \"url\": \"http://signalk.org/specification/\",\n    \"description\": \"Signal K specification.\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"/\"\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"apps\",\n      \"description\": \"WebApps Information\"\n    },\n    {\n      \"name\": \"plugins\",\n      \"description\": \"Plugin Management\"\n    }\n  ],\n  \"components\": {\n    \"schemas\": {\n      \"WebAppInformation\": {\n        \"type\": \"object\",\n        \"required\": [\"name\", \"version\", \"location\"],\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"example\": \"@signalk/instrumentpanel\"\n          },\n          \"version\": {\n            \"type\": \"string\",\n            \"example\": \"1.3.1\"\n          },\n          \"description\": {\n            \"type\": \"string\",\n            \"example\": \"Signal K Instrument Panel\"\n          },\n          \"location\": {\n            \"type\": \"string\",\n            \"description\": \"Path where WebApp is mounted\",\n            \"example\": \"/@signalk/instrumentpanel\"\n          },\n          \"license\": {\n            \"type\": \"string\",\n            \"example\": \"Apache-2.0\"\n          },\n          \"author\": {\n            \"type\": \"string\",\n            \"description\": \"WebApp author(s)\",\n            \"example\": \"author1@hotmail.com, author2@hotmail.com\"\n          }\n        }\n      },\n      \"PluginInformation\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"id\",\n          \"name\",\n          \"packageName\",\n          \"keywords\",\n          \"version\",\n          \"description\",\n          \"schema\",\n          \"data\"\n        ],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"string\"\n          },\n          \"name\": {\n            \"type\": \"string\"\n          },\n          \"packageName\": {\n            \"type\": \"string\"\n          },\n          \"keywords\": {\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"version\": {\n            \"type\": \"string\"\n          },\n          \"description\": {\n            \"type\": \"string\"\n          },\n          \"schema\": {\n            \"type\": \"object\",\n            \"properties\": {}\n          },\n          \"statusMessage\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"configuration\",\n              \"enabled\",\n              \"enableDebug\",\n              \"enableLogging\"\n            ],\n            \"properties\": {\n              \"configuration\": {\n                \"type\": \"object\",\n                \"properties\": {}\n              },\n              \"enabled\": {\n                \"type\": \"boolean\"\n              },\n              \"enableLogging\": {\n                \"type\": \"boolean\"\n              },\n              \"enableDebug\": {\n                \"type\": \"boolean\"\n              }\n            }\n          }\n        }\n      }\n    },\n    \"responses\": {\n      \"200Ok\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"COMPLETED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [200]\n                }\n              },\n              \"required\": [\"state\", \"statusCode\"]\n            }\n          }\n        }\n      },\n      \"AppsListResponse\": {\n        \"description\": \"Application list response.\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"description\": \"Application list.\",\n              \"type\": \"array\",\n              \"items\": {\n                \"$ref\": \"#/components/schemas/WebAppInformation\"\n              }\n            }\n          }\n        }\n      },\n      \"PluginDetailResponse\": {\n        \"description\": \"Plugin detail response.\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"description\": \"Plugin detail.\",\n              \"type\": \"object\",\n              \"required\": [\n                \"enabled\",\n                \"enabledByDefault\",\n                \"id\",\n                \"name\",\n                \"version\"\n              ],\n              \"properties\": {\n                \"enabled\": {\n                  \"type\": \"boolean\"\n                },\n                \"enabledByDefault\": {\n                  \"type\": \"boolean\"\n                },\n                \"id\": {\n                  \"type\": \"string\",\n                  \"example\": \"sksim\"\n                },\n                \"name\": {\n                  \"type\": \"string\",\n                  \"example\": \"Data stream generator\"\n                },\n                \"version\": {\n                  \"type\": \"string\",\n                  \"example\": \"1.5.4\"\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"bearerAuth\": {\n        \"type\": \"http\",\n        \"scheme\": \"bearer\",\n        \"bearerFormat\": \"JWT\"\n      },\n      \"cookieAuth\": {\n        \"type\": \"apiKey\",\n        \"in\": \"cookie\",\n        \"name\": \"JAUTHENTICATION\"\n      }\n    }\n  },\n\n  \"paths\": {\n    \"/signalk/v1/apps/list\": {\n      \"get\": {\n        \"tags\": [\"apps\"],\n        \"summary\": \"List of installed Webapps\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AppsListResponse\"\n          }\n        }\n      }\n    },\n    \"/plugins\": {\n      \"get\": {\n        \"tags\": [\"plugins\"],\n        \"summary\": \"List of installed plugins with detailed data\",\n        \"description\": \"This provides comprehensive data about all installed plugin, including their versions, configuration schemas and configuration data as well as enabled statuses.\",\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Array of detailed data for installed plugins\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"array\",\n                  \"items\": {\n                    \"$ref\": \"#/components/schemas/PluginInformation\"\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/plugins/{id}\": {\n      \"parameters\": [\n        {\n          \"name\": \"id\",\n          \"in\": \"path\",\n          \"description\": \"Plugin identifier\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ],\n      \"get\": {\n        \"tags\": [\"plugins\"],\n        \"summary\": \"Status information for a plugin\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/PluginDetailResponse\"\n          }\n        }\n      }\n    },\n    \"/plugins/{id}/config\": {\n      \"parameters\": [\n        {\n          \"name\": \"id\",\n          \"in\": \"path\",\n          \"description\": \"Plugin identifier\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ],\n      \"post\": {\n        \"tags\": [\"plugins\"],\n        \"summary\": \"Save configuration for a plugin\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\"enabled\", \"configuration\"],\n                \"properties\": {\n                  \"configuration\": {\n                    \"type\": \"object\",\n                    \"properties\": {}\n                  },\n                  \"enabled\": {\n                    \"type\": \"boolean\"\n                  },\n                  \"enableLogging\": {\n                    \"type\": \"boolean\"\n                  },\n                  \"enableDebug\": {\n                    \"type\": \"boolean\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Plugin saved successfully\"\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/apps/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport appsApiDoc from './openApi.json'\n\nexport const appsApiRecord = {\n  name: 'apps',\n  path: '/',\n  apiDoc: appsApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/autopilot/asyncApi.ts",
    "content": "import { AutopilotInfoSchema } from '@signalk/server-api/typebox'\nimport { Type } from '@sinclair/typebox'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst serverVersion: string = require('../../../' + 'package.json').version\n\nexport const autopilotAsyncApiDoc = {\n  asyncapi: '3.0.0',\n  info: {\n    title: 'Signal K Autopilot API - WebSocket Deltas',\n    version: serverVersion,\n    description: `\nWebSocket delta channels for the Signal K Autopilot API.\n\n## Overview\nThe Autopilot API emits deltas under \\`steering.autopilot.*\\` when autopilot\nstate changes (mode, target, engaged, actions) and under\n\\`notifications.steering.autopilot.*\\` for alarms.\n\n## Delta Paths\n- \\`steering.autopilot.mode\\` — current autopilot mode\n- \\`steering.autopilot.state\\` — current autopilot state\n- \\`steering.autopilot.target\\` — current target heading (radians)\n- \\`steering.autopilot.engaged\\` — whether the autopilot is engaged\n- \\`steering.autopilot.availableActions\\` — list of available action IDs\n- \\`steering.autopilot.defaultPilot\\` — default device ID\n- \\`notifications.steering.autopilot.*\\` — autopilot alarms\n\n## REST API\nFor the REST API documentation, see OpenAPI at \\`/admin/openapi/\\`.\n    `.trim(),\n    license: {\n      name: 'Apache 2.0',\n      url: 'https://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: {\n    signalk: {\n      host: 'localhost:3000',\n      protocol: 'ws',\n      description: 'Signal K server WebSocket endpoint',\n      pathname: '/signalk/v2/stream'\n    }\n  },\n  channels: {\n    'steering.autopilot': {\n      address: 'steering.autopilot',\n      description:\n        'Autopilot delta channel. Emits when autopilot state changes via provider updates.',\n      messages: {\n        mode: {\n          name: 'steering.autopilot.mode',\n          title: 'Autopilot Mode',\n          summary: 'Current autopilot mode (e.g. standby, auto, wind, route)',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        state: {\n          name: 'steering.autopilot.state',\n          title: 'Autopilot State',\n          summary: 'Current autopilot operational state',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        target: {\n          name: 'steering.autopilot.target',\n          title: 'Autopilot Target',\n          summary: 'Current target heading in radians',\n          contentType: 'application/json',\n          payload: Type.Union([Type.Number(), Type.Null()])\n        },\n        engaged: {\n          name: 'steering.autopilot.engaged',\n          title: 'Autopilot Engaged',\n          summary: 'Whether the autopilot is currently engaged',\n          contentType: 'application/json',\n          payload: Type.Boolean()\n        },\n        availableActions: {\n          name: 'steering.autopilot.availableActions',\n          title: 'Available Actions',\n          summary: 'List of currently available autopilot action IDs',\n          contentType: 'application/json',\n          payload: Type.Array(Type.String())\n        },\n        defaultPilot: {\n          name: 'steering.autopilot.defaultPilot',\n          title: 'Default Pilot',\n          summary: 'Device ID of the default autopilot',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        }\n      }\n    },\n    'notifications.steering.autopilot': {\n      address: 'notifications.steering.autopilot',\n      description:\n        'Autopilot alarm notifications. Emitted for waypoint advance/arrival, route complete, cross-track error, heading, and wind alarms.',\n      messages: {\n        alarm: {\n          name: 'notifications.steering.autopilot.*',\n          title: 'Autopilot Alarm',\n          summary:\n            'Alarm notification (waypointAdvance, waypointArrival, routeComplete, xte, heading, wind)',\n          contentType: 'application/json',\n          payload: Type.Object({\n            state: Type.String({ description: 'Alarm state' }),\n            method: Type.Array(Type.String()),\n            message: Type.String()\n          })\n        }\n      }\n    }\n  },\n  operations: {\n    receiveAutopilot: {\n      action: 'receive',\n      channel: { $ref: '#/channels/steering.autopilot' },\n      summary: 'Receive autopilot state updates'\n    },\n    receiveAutopilotAlarms: {\n      action: 'receive',\n      channel: { $ref: '#/channels/notifications.steering.autopilot' },\n      summary: 'Receive autopilot alarm notifications'\n    }\n  },\n  components: {\n    schemas: {\n      AutopilotInfo: AutopilotInfoSchema\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/autopilot/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:autopilot')\n\nimport { IRouter, NextFunction, Request, Response } from 'express'\nimport { WithSecurityStrategy } from '../../security'\n\nimport { Responses } from '../'\nimport { SignalKMessageHub } from '../../app'\n\nimport {\n  AutopilotProvider,\n  AutopilotInfo,\n  SKVersion,\n  Path,\n  Value,\n  Delta,\n  isAutopilotProvider,\n  isAutopilotUpdateAttrib,\n  isAutopilotAlarm,\n  PathValue,\n  SourceRef,\n  AutopilotActionDef\n} from '@signalk/server-api'\n\nconst AUTOPILOT_API_PATH = `/signalk/v2/api/vessels/self/autopilots`\nconst DEFAULTIDPATH = '_default'\n\ninterface AutopilotApplication\n  extends WithSecurityStrategy, SignalKMessageHub, IRouter {}\n\ninterface AutopilotList {\n  [id: string]: { provider: string; isDefault: boolean }\n}\n\ninterface AutopilotApiSettings {\n  maxTurn: number // maximum course adjust / steer angle value (degrees)\n}\n\nexport class AutopilotApi {\n  private autopilotProviders: Map<string, AutopilotProvider> = new Map()\n\n  private defaultProviderId?: string\n  private defaultDeviceId?: string\n  private deviceToProvider: Map<string, string> = new Map()\n\n  private settings: AutopilotApiSettings = {\n    maxTurn: 20 * (Math.PI / 180)\n  }\n\n  constructor(private server: AutopilotApplication) {}\n\n  async start() {\n    this.initApiEndpoints()\n    return Promise.resolve()\n  }\n\n  // ***** Plugin Interface methods *****\n\n  // Register plugin as provider.\n  register(pluginId: string, provider: AutopilotProvider, devices: string[]) {\n    debug(`** Registering provider(s)....${pluginId}`)\n\n    if (!provider) {\n      throw new Error(`Error registering provider ${pluginId}!`)\n    }\n    if (!devices) {\n      throw new Error(`${pluginId} has not supplied a device list!`)\n    }\n    if (!isAutopilotProvider(provider)) {\n      throw new Error(\n        `${pluginId} is missing AutopilotProvider properties/methods!`\n      )\n    } else {\n      if (!this.autopilotProviders.has(pluginId)) {\n        this.autopilotProviders.set(pluginId, provider)\n      }\n      devices.forEach((id: string) => {\n        if (!this.deviceToProvider.has(id)) {\n          this.deviceToProvider.set(id, pluginId)\n        }\n      })\n    }\n    debug(\n      `No. of AutoPilotProviders registered =`,\n      this.autopilotProviders.size\n    )\n  }\n\n  // Unregister plugin as provider.\n  unRegister(pluginId: string) {\n    if (!pluginId) {\n      return\n    }\n    debug(`** Request to un-register plugin.....${pluginId}`)\n\n    if (!this.autopilotProviders.has(pluginId)) {\n      debug(`** NOT FOUND....${pluginId}... cannot un-register!`)\n      return\n    }\n\n    debug(`** Un-registering autopilot provider....${pluginId}`)\n    this.autopilotProviders.delete(pluginId)\n\n    debug(`** Update deviceToProvider Map .....${pluginId}`)\n    this.deviceToProvider.forEach((v: string, k: string) => {\n      debug('k', k, 'v', v)\n      if (v === pluginId) {\n        this.deviceToProvider.delete(k)\n      }\n    })\n\n    // update default if required\n    if (pluginId === this.defaultProviderId) {\n      debug(`** Resetting defaults .....`)\n      this.defaultDeviceId = undefined\n      this.defaultProviderId = undefined\n      this.initDefaults()\n      /*this.emitUpdates(\n        [\n          this.buildPathValue(\n            'defaultPilot' as Path,\n            this.defaultDeviceId ?? null\n          )\n        ],\n        'autopilotApi' as SourceRef\n      )*/\n    }\n\n    debug(\n      `Remaining number of AutoPilot Providers registered =`,\n      this.autopilotProviders.size,\n      'defaultProvider =',\n      this.defaultProviderId\n    )\n  }\n\n  /** Emit updates from autopilot device as `steering.autopilot.*` deltas.\n   *  This should be used by provider plugins to:\n   *   - Ensure API state is consistant\n   *   - trigger the sending of deltas.\n   */\n  apUpdate(\n    pluginId: string,\n    deviceId: SourceRef = pluginId as SourceRef,\n    apInfo: { [path: string]: Value }\n  ) {\n    try {\n      if (deviceId && !this.deviceToProvider.has(deviceId)) {\n        this.deviceToProvider.set(deviceId, pluginId)\n      }\n      if (!this.defaultDeviceId) {\n        this.initDefaults(deviceId)\n      }\n    } catch (err) {\n      debug(`ERROR apUpdate(): ${pluginId}->${deviceId}`, err)\n      return\n    }\n\n    const values: any[] = []\n    Object.keys(apInfo).forEach((attrib: string) => {\n      if (isAutopilotUpdateAttrib(attrib) && attrib !== 'options') {\n        if (attrib === 'alarm') {\n          const alarm: PathValue = apInfo[attrib] as PathValue\n          if (isAutopilotAlarm(alarm.path)) {\n            values.push({\n              path: `notifications.steering.autopilot.${alarm.path}` as Path,\n              value: alarm.value\n            })\n          }\n        } else if (attrib === 'actions') {\n          const actions = apInfo[attrib] as AutopilotActionDef\n          if (Array.isArray(actions)) {\n            const av = actions.filter((i) => i?.available).map((i) => i?.id)\n            values.push({\n              path: `steering.autopilot.availableActions` as Path,\n              value: av\n            })\n          }\n        } else {\n          values.push({\n            path: `steering.autopilot.${attrib}`,\n            value: apInfo[attrib]\n          })\n        }\n      }\n    })\n    if (values.length !== 0) {\n      this.emitUpdates(values, deviceId)\n    }\n  }\n\n  // ***** /Plugin Interface methods *****\n\n  private updateAllowed(request: Request): boolean {\n    return this.server.securityStrategy.shouldAllowPut(\n      request,\n      'vessels.self',\n      null,\n      'autopilot'\n    )\n  }\n\n  private initApiEndpoints() {\n    debug(`** Initialise ${AUTOPILOT_API_PATH} endpoints. **`)\n\n    this.server.use(\n      `${AUTOPILOT_API_PATH}/*`,\n      (req: Request, res: Response, next: NextFunction) => {\n        debug(`Autopilot path`, req.method, req.params)\n        try {\n          if (['PUT', 'POST'].includes(req.method)) {\n            debug(`Autopilot`, req.method, req.path, req.body)\n            if (!this.updateAllowed(req)) {\n              res.status(403).json(Responses.unauthorised)\n            } else {\n              next()\n            }\n          } else {\n            debug(`Autopilot`, req.method, req.path, req.query, req.body)\n            next()\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            state: 'FAILED',\n            statusCode: 500,\n            message: err.message ?? 'No autopilots available!'\n          })\n        }\n      }\n    )\n\n    // get autopilot provider information\n    this.server.get(`${AUTOPILOT_API_PATH}`, (req: Request, res: Response) => {\n      res.status(200).json(this.getDevices())\n    })\n\n    // get default autopilot device\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/_providers/_default`,\n      (req: Request, res: Response) => {\n        debug(`params:`, req.params)\n        res.status(Responses.ok.statusCode).json({ id: this.defaultDeviceId })\n      }\n    )\n\n    // set default autopilot device\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/_providers/_default/:id`,\n      (req: Request, res: Response) => {\n        debug(`params:`, req.params)\n        if (!this.deviceToProvider.has(req.params.id)) {\n          debug('** Invalid device id supplied...')\n          res.status(Responses.invalid.statusCode).json(Responses.invalid)\n          return\n        }\n        this.initDefaults(req.params.id)\n        res.status(Responses.ok.statusCode).json(Responses.ok)\n      }\n    )\n\n    // get default autopilot status & options\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/:id`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .getData(req.params.id)\n          .then((data: AutopilotInfo) => {\n            res.json(data)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // get autopilot options\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/:id/options`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .getData(req.params.id)\n          .then((r: AutopilotInfo) => {\n            res.json(r.options)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // engage / enable the autopilot\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/engage`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .engage(req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // disengage / disable the autopilot\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/disengage`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .disengage(req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // get state\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/:id/state`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .getState(req.params.id)\n          .then((r: string | null) => {\n            res.json({ value: r })\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // set state\n    this.server.put(\n      `${AUTOPILOT_API_PATH}/:id/state`,\n      (req: Request, res: Response) => {\n        if (typeof req.body.value === 'undefined') {\n          res.status(Responses.invalid.statusCode).json(Responses.invalid)\n          return\n        }\n        this.useProvider(req)\n          .setState(req.body.value, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // get mode\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/:id/mode`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .getMode(req.params.id)\n          .then((r: string | null) => {\n            res.json({ value: r })\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // set mode\n    this.server.put(\n      `${AUTOPILOT_API_PATH}/:id/mode`,\n      (req: Request, res: Response) => {\n        if (typeof req.body.value === 'undefined') {\n          res.status(400).json(Responses.invalid)\n          return\n        }\n        this.useProvider(req)\n          .setMode(req.body.value, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // get target\n    this.server.get(\n      `${AUTOPILOT_API_PATH}/:id/target`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .getTarget(req.params.id)\n          .then((r: number | null) => {\n            res.json({ value: r })\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // set target\n    this.server.put(\n      `${AUTOPILOT_API_PATH}/:id/target`,\n      (req: Request, res: Response) => {\n        if (typeof req.body.value !== 'number') {\n          res.status(Responses.invalid.statusCode).json(Responses.invalid)\n          return\n        }\n\n        const u: string = req.body.units ?? 'rad'\n        let v =\n          typeof u === 'string' && u.toLocaleLowerCase() === 'deg'\n            ? req.body.value * (Math.PI / 180)\n            : req.body.value\n\n        v =\n          v < 0 - Math.PI\n            ? Math.max(...[0 - Math.PI, v])\n            : Math.min(...[2 * Math.PI, v])\n\n        debug('target = ', v)\n        this.useProvider(req)\n          .setTarget(v, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // adjust target\n    this.server.put(\n      `${AUTOPILOT_API_PATH}/:id/target/adjust`,\n      (req: Request, res: Response) => {\n        if (typeof req.body.value !== 'number') {\n          res.status(Responses.invalid.statusCode).json(Responses.invalid)\n          return\n        }\n        const u: string = req.body.units ?? 'rad'\n        const v =\n          typeof u === 'string' && u.toLocaleLowerCase() === 'deg'\n            ? req.body.value * (Math.PI / 180)\n            : req.body.value\n\n        debug('target = ', v)\n        this.useProvider(req)\n          .adjustTarget(v, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // steer to current destination point\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/courseCurrentPoint`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .courseCurrentPoint(req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // advance to next point\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/courseNextPoint`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .courseNextPoint(req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // port tack\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/tack/port`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .tack('port', req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // starboard tack\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/tack/starboard`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .tack('starboard', req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // port gybe\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/gybe/port`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .gybe('port', req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // starboard gybe\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/gybe/starboard`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .gybe('starboard', req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // dodge mode ON\n    this.server.post(\n      `${AUTOPILOT_API_PATH}/:id/dodge`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .dodge(0, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // dodge mode OFF\n    this.server.delete(\n      `${AUTOPILOT_API_PATH}/:id/dodge`,\n      (req: Request, res: Response) => {\n        this.useProvider(req)\n          .dodge(null, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    /** dodge port (-ive) / starboard (+ive) degrees */\n    this.server.put(\n      `${AUTOPILOT_API_PATH}/:id/dodge`,\n      (req: Request, res: Response) => {\n        if (typeof req.body.value !== 'number') {\n          res.status(Responses.invalid.statusCode).json(Responses.invalid)\n          return\n        }\n\n        const u: string = req.body.units ?? 'rad'\n        let v =\n          typeof u === 'string' && u.toLocaleLowerCase() === 'deg'\n            ? req.body.value * (Math.PI / 180)\n            : req.body.value\n\n        debug('dodge pre-normalisation) = ', v)\n        v =\n          v < 0\n            ? Math.max(...[0 - this.settings.maxTurn, v])\n            : Math.min(...[this.settings.maxTurn, v])\n\n        debug('dodge = ', v)\n        this.useProvider(req)\n          .dodge(v, req.params.id)\n          .then(() => {\n            res.status(Responses.ok.statusCode).json(Responses.ok)\n          })\n          .catch((err) => {\n            res.status(err.statusCode ?? 500).json({\n              state: err.state ?? 'FAILED',\n              statusCode: err.statusCode ?? 500,\n              message: err.message ?? 'No autopilots available!'\n            })\n          })\n      }\n    )\n\n    // error response\n    this.server.use(\n      `${AUTOPILOT_API_PATH}/*`,\n      (err: any, req: Request, res: Response, next: NextFunction) => {\n        const msg = {\n          state: err.state ?? 'FAILED',\n          statusCode: err.statusCode ?? 500,\n          message: err.message ?? 'No autopilots available!'\n        }\n        if (res.headersSent) {\n          console.log('EXCEPTION: headersSent')\n          return next(msg)\n        }\n        res.status(500).json(msg)\n      }\n    )\n  }\n\n  // returns provider to use.\n  private useProvider(req: Request): AutopilotProvider {\n    debug(`useProvider(${req.params.id})`)\n\n    if (req.params.id === DEFAULTIDPATH) {\n      if (!this.defaultDeviceId) {\n        this.initDefaults()\n      }\n      if (\n        this.defaultProviderId &&\n        this.autopilotProviders.has(this.defaultProviderId)\n      ) {\n        debug(`Using default device provider...`)\n        return this.autopilotProviders.get(\n          this.defaultProviderId\n        ) as AutopilotProvider\n      } else {\n        debug(`No default device provider...`)\n        throw Responses.invalid\n      }\n    } else {\n      const pid = this.deviceToProvider.get(req.params.id) as string\n      if (this.autopilotProviders.has(pid)) {\n        debug(`Found provider...using ${pid}`)\n        return this.autopilotProviders.get(pid) as AutopilotProvider\n      } else {\n        debug('Cannot get Provider!')\n        throw Responses.invalid\n      }\n    }\n  }\n\n  // Returns an array of provider info\n  private getDevices(): AutopilotList {\n    const pilots: AutopilotList = {}\n    this.deviceToProvider.forEach((providerId: string, deviceId: string) => {\n      pilots[deviceId] = {\n        provider: providerId,\n        isDefault: deviceId === this.defaultDeviceId\n      }\n    })\n    return pilots\n  }\n\n  /** Initialises the value of default device / provider.\n   * If id is not supplied sets first registered device as the default.\n   **/\n  private initDefaults(deviceId?: string) {\n    debug(`initDefaults()...${deviceId}`)\n\n    // set to supplied deviceId\n    if (deviceId && this.deviceToProvider.has(deviceId)) {\n      this.defaultDeviceId = deviceId\n      this.defaultProviderId = this.deviceToProvider.get(\n        this.defaultDeviceId\n      ) as string\n    }\n    // else set to first AP device registered\n    else if (this.deviceToProvider.size !== 0) {\n      const k = this.deviceToProvider.keys()\n      this.defaultDeviceId = k.next().value as string\n      this.defaultProviderId = this.deviceToProvider.get(\n        this.defaultDeviceId\n      ) as string\n    } else {\n      this.defaultDeviceId = undefined\n      this.defaultProviderId = undefined\n    }\n    this.emitUpdates(\n      [\n        this.buildPathValue(\n          'defaultPilot' as Path,\n          this.defaultDeviceId ?? null\n        )\n      ],\n      'autopilotApi' as SourceRef\n    )\n    debug(`Default Device = ${this.defaultDeviceId}`)\n    debug(`Default Provider = ${this.defaultProviderId}`)\n  }\n\n  // build autopilot delta PathValue\n  private buildPathValue(path: Path, value: Value): PathValue {\n    return {\n      path: `steering.autopilot${path ? '.' + path : ''}` as Path,\n      value: value\n    }\n  }\n\n  // emit delta updates on operation success\n  private emitUpdates(values: PathValue[], source: SourceRef) {\n    const msg: Delta = {\n      updates: [\n        {\n          values: values\n        }\n      ]\n    }\n    debug(`delta -> ${source}:`, msg.updates[0])\n    this.server.handleMessage(source, msg, SKVersion.v2)\n    this.server.handleMessage(source, msg, SKVersion.v1)\n  }\n}\n"
  },
  {
    "path": "src/api/autopilot/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  AutopilotStateDefSchema,\n  AutopilotActionDefSchema,\n  AutopilotOptionsSchema,\n  AngleInputSchema\n} from '@signalk/server-api/typebox'\n\nconst autopilotApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    version: '2.0.0',\n    title: 'Signal K Autopilot API',\n    termsOfService: 'http://signalk.org/terms/',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [{ url: '/signalk/v2/api/vessels/self/autopilots' }],\n  tags: [{ name: 'autopilot', description: 'Signal K Autopilot API' }],\n  components: {\n    schemas: typeboxToOpenApiSchemas([\n      AutopilotStateDefSchema,\n      AutopilotActionDefSchema,\n      AutopilotOptionsSchema,\n      AngleInputSchema\n    ]),\n    responses: {\n      '200ActionResponse': {\n        description: 'PUT OK response',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              properties: {\n                state: { type: 'string', enum: ['COMPLETED'] },\n                statusCode: { type: 'number', enum: [200] }\n              },\n              required: ['statusCode', 'state']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number', enum: [400, 404] },\n                message: { type: 'string' }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      }\n    },\n    parameters: {\n      AutopilotIdParam: {\n        name: 'id',\n        in: 'path',\n        description: 'autopilot id',\n        required: true,\n        schema: { type: 'string' }\n      }\n    },\n    securitySchemes: {\n      bearerAuth: {\n        type: 'http',\n        scheme: 'bearer',\n        bearerFormat: 'JWT'\n      },\n      cookieAuth: {\n        type: 'apiKey',\n        in: 'cookie',\n        name: 'JAUTHENTICATION'\n      }\n    }\n  },\n  security: [{ cookieAuth: [] }, { bearerAuth: [] }],\n  paths: {\n    '/': {\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve list of autopilots.',\n        description:\n          'Returns a list of autopilots indexed by their identifier.',\n        responses: {\n          default: {\n            description: 'Autopilot device list response.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    type: 'object',\n                    required: ['provider', 'isDefault'],\n                    properties: {\n                      provider: {\n                        type: 'string',\n                        description:\n                          'Provider plugin managing the autopilot device.',\n                        example: 'my-pilot-provider'\n                      },\n                      isDefault: {\n                        type: 'boolean',\n                        description:\n                          'Set to true when the autopilot is currently set as the default.',\n                        example: 'false'\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/_providers/_default': {\n      get: {\n        tags: ['autopilot'],\n        summary: 'Get the default autopilot device id.',\n        description:\n          'Returns the device id of the autopilot assigned as the default.',\n        responses: {\n          default: {\n            description: 'Autopilot configuration response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['id'],\n                  properties: { id: { type: 'string' } }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/_providers/_default/{id}': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Set the default autopilot device.',\n        description:\n          'Sets the autopilot with the supplied `id` as the default.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve autopilot information.',\n        description:\n          'Returns the current state autopilot information including the available options for `state` and `mode`.',\n        responses: {\n          default: {\n            description: 'Autopilot configuration response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['state', 'mode', 'target', 'engaged'],\n                  properties: {\n                    engaged: {\n                      type: 'boolean',\n                      description:\n                        'Autopilot is engaged and actively steering the vessel',\n                      example: 'true'\n                    },\n                    state: {\n                      type: 'string',\n                      description: 'Autopilot state',\n                      example: 'auto'\n                    },\n                    mode: {\n                      type: 'string',\n                      description: 'Autopilot operational mode',\n                      example: 'compass'\n                    },\n                    target: {\n                      description: 'Current target value (radians)',\n                      type: 'number',\n                      example: 2.8762\n                    },\n                    options: {\n                      $ref: '#/components/schemas/AutopilotOptions'\n                    }\n                  }\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/options': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve autopilot options.',\n        description:\n          'Returns the selectable options and the values that can be applied (e.g. for`state` and `mode`).',\n        responses: {\n          default: {\n            description: 'Autopilot configuration response',\n            content: {\n              'application/json': {\n                schema: {\n                  $ref: '#/components/schemas/AutopilotOptions'\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/engage': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Engage autopilot to steer vessel',\n        description:\n          'Provider plugin will set the autopilot to a `state` where it is actively steering the vessel. `state` selected is determined by the provider plugin.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/disengage': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Disengage autopilot from steering vessel.',\n        description:\n          'Provider plugin will set the autopilot to a `state` where it is NOT actively steering the vessel. `state` selected is determined by the provider plugin.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/state': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve the current state.',\n        description: 'Returns the current `state` value from the autopilot.',\n        responses: {\n          default: {\n            description: 'Autopilot value response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['value'],\n                  properties: {\n                    value: { type: 'string', example: 'standby' }\n                  }\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      put: {\n        tags: ['autopilot'],\n        summary: 'Set autopilot state.',\n        description: 'Set the autopilot to the supplied valid `state` value.',\n        requestBody: {\n          description:\n            'Supply valid `state` value (as per response from autopilot information request).',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                properties: {\n                  value: {\n                    type: 'string',\n                    description:\n                      'Value representing the `state` the autopilot is to enter.',\n                    example: 'enabled'\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/mode': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve the current mode.',\n        description: 'Returns the current `mode` value from the autopilot.',\n        responses: {\n          default: {\n            description: 'Autopilot value response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['value'],\n                  properties: {\n                    value: { type: 'string', example: 'compass' }\n                  }\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      put: {\n        tags: ['autopilot'],\n        summary: 'Set autopilot mode',\n        description: 'Set the autopilot to the supplied valid `mode` value.',\n        requestBody: {\n          description:\n            'Supply valid `mode` value (as per response from autopilot information request).',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                properties: {\n                  value: {\n                    type: 'string',\n                    description:\n                      'Value representing the `mode` the autopilot is to enter.',\n                    example: 'compass'\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/target': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      get: {\n        tags: ['autopilot'],\n        summary: 'Retrieve the current target value.',\n        description: 'The current target value in radians.',\n        responses: {\n          default: {\n            description: 'Autopilot value response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['value'],\n                  properties: {\n                    value: {\n                      type: 'number',\n                      description: 'Value in radians',\n                      example: 2.456\n                    }\n                  }\n                }\n              }\n            }\n          },\n          error: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      put: {\n        tags: ['autopilot'],\n        summary: 'Set autopilot `target` value.',\n        description:\n          'Value supplied must fall within the valid range (-180 & 360 degrees / PI & 2 * PI radians).',\n        requestBody: {\n          description: 'Value within the valid range.',\n          required: true,\n          content: {\n            'application/json': {\n              schema: { $ref: '#/components/schemas/AngleInput' }\n            }\n          }\n        },\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/target/adjust': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      put: {\n        tags: ['autopilot'],\n        summary: 'Adjust autopilot target value by +/- degrees / radians.',\n        description:\n          'Value supplied will be added to the current target. The result must fall within the valid range (-180 & 360 degrees / PI & 2 * PI radians).',\n        requestBody: {\n          description: 'Value to add to the current `target`.',\n          required: true,\n          content: {\n            'application/json': {\n              schema: { $ref: '#/components/schemas/AngleInput' }\n            }\n          }\n        },\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/tack/port': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Tack to port.',\n        description: 'Execute a port tack.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/tack/starboard': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Tack to starboard.',\n        description: 'Execute a starboard tack.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/gybe/port': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Gybe to port.',\n        description: 'Execute a gybe to port.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/gybe/starboard': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Gybe to starboard.',\n        description: 'Execute a gybe to starboard.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/dodge': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Turn on dodge mode.',\n        description: 'Enter dodge mode at the current course setting.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      delete: {\n        tags: ['autopilot'],\n        summary: 'Turn Off dodge mode.',\n        description: 'Resume steering original course.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      put: {\n        tags: ['autopilot'],\n        summary: 'Steer port / starboard to dodge obstacles.',\n        description:\n          'Override the current course to change direction the supplied number of degrees / radians.',\n        requestBody: {\n          description: '+/- value to change direction (-ive = port).',\n          required: true,\n          content: {\n            'application/json': {\n              schema: { $ref: '#/components/schemas/AngleInput' }\n            }\n          }\n        },\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/courseCurrentPoint': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Steer to the currently set destination position',\n        description:\n          'Provider plugin will instruct the autopilot to steer to the destination position.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/courseNextPoint': {\n      parameters: [{ $ref: '#/components/parameters/AutopilotIdParam' }],\n      post: {\n        tags: ['autopilot'],\n        summary: 'Advance to next waypoint in route',\n        description:\n          'Provider plugin will instruct the autopilot to advance to the next waypoint along the route.',\n        responses: {\n          '200ActionResponse': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    }\n  }\n}\n\nexport const autopilotApiRecord = {\n  name: 'autopilot',\n  path: '/signalk/v2/api/vessels/self/autopilots',\n  apiDoc: autopilotApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/course/asyncApi.ts",
    "content": "import {\n  ActiveRouteSchema,\n  NextPreviousPointSchema,\n  PositionSchema,\n  IsoTimeSchema,\n  ArrivalCircleSchema,\n  CoursePointTypeSchema\n} from '@signalk/server-api/typebox'\nimport { Type } from '@sinclair/typebox'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst serverVersion: string = require('../../../' + 'package.json').version\n\nexport const courseAsyncApiDoc = {\n  asyncapi: '3.0.0',\n  info: {\n    title: 'Signal K Course API - WebSocket Deltas',\n    version: serverVersion,\n    description: `\nWebSocket delta channels for the Signal K Course API.\n\n## Protocol Versions\n- **v2** (recommended): Deltas under \\`navigation.course.*\\`\n- **v1** (legacy): Deltas under \\`navigation.courseGreatCircle.*\\` and\n  \\`navigation.courseRhumbline.*\\` (duplicated for both calculation methods)\n\n## Subscribing\n\\`\\`\\`json\n{\n  \"context\": \"vessels.self\",\n  \"subscribe\": [\n    { \"path\": \"navigation.course.*\", \"period\": 1000 }\n  ]\n}\n\\`\\`\\`\n\n## REST API\nFor the REST API documentation, see OpenAPI at \\`/admin/openapi/\\`.\n    `.trim(),\n    license: {\n      name: 'Apache 2.0',\n      url: 'https://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: {\n    signalk: {\n      host: 'localhost:3000',\n      protocol: 'ws',\n      description: 'Signal K server WebSocket endpoint',\n      pathname: '/signalk/v2/stream'\n    }\n  },\n  channels: {\n    'navigation.course': {\n      address: 'navigation.course',\n      description:\n        'v2 course delta channel. Emits when course state changes (destination set/cleared, route operations, arrival circle changes).',\n      messages: {\n        startTime: {\n          name: 'navigation.course.startTime',\n          title: 'Course Start Time',\n          summary:\n            'Time at which navigation to the current destination commenced',\n          contentType: 'application/json',\n          payload: Type.Union([IsoTimeSchema, Type.Null()])\n        },\n        targetArrivalTime: {\n          name: 'navigation.course.targetArrivalTime',\n          title: 'Target Arrival Time',\n          summary: 'The desired time at which to arrive at the destination',\n          contentType: 'application/json',\n          payload: Type.Union([IsoTimeSchema, Type.Null()])\n        },\n        activeRoute: {\n          name: 'navigation.course.activeRoute',\n          title: 'Active Route',\n          summary: 'Currently active route information',\n          contentType: 'application/json',\n          payload: Type.Union([ActiveRouteSchema, Type.Null()])\n        },\n        arrivalCircle: {\n          name: 'navigation.course.arrivalCircle',\n          title: 'Arrival Circle',\n          summary: 'Radius of the arrival zone in meters',\n          contentType: 'application/json',\n          payload: ArrivalCircleSchema\n        },\n        previousPoint: {\n          name: 'navigation.course.previousPoint',\n          title: 'Previous Point',\n          summary: 'The point the vessel is navigating from',\n          contentType: 'application/json',\n          payload: Type.Union([NextPreviousPointSchema, Type.Null()])\n        },\n        nextPoint: {\n          name: 'navigation.course.nextPoint',\n          title: 'Next Point',\n          summary: 'The point the vessel is navigating towards',\n          contentType: 'application/json',\n          payload: Type.Union([NextPreviousPointSchema, Type.Null()])\n        }\n      }\n    },\n    'navigation.courseGreatCircle': {\n      address: 'navigation.courseGreatCircle',\n      description:\n        'v1 course delta channel (Great Circle calculations). Mirrors courseRhumbline.',\n      messages: {\n        activeRouteHref: {\n          name: 'navigation.courseGreatCircle.activeRoute.href',\n          title: 'Active Route Href',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        activeRouteStartTime: {\n          name: 'navigation.courseGreatCircle.activeRoute.startTime',\n          title: 'Active Route Start Time',\n          contentType: 'application/json',\n          payload: Type.Union([IsoTimeSchema, Type.Null()])\n        },\n        nextPointHref: {\n          name: 'navigation.courseGreatCircle.nextPoint.value.href',\n          title: 'Next Point Href',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        nextPointType: {\n          name: 'navigation.courseGreatCircle.nextPoint.value.type',\n          title: 'Next Point Type',\n          contentType: 'application/json',\n          payload: Type.Union([CoursePointTypeSchema, Type.Null()])\n        },\n        nextPointPosition: {\n          name: 'navigation.courseGreatCircle.nextPoint.position',\n          title: 'Next Point Position',\n          contentType: 'application/json',\n          payload: Type.Union([PositionSchema, Type.Null()])\n        },\n        nextPointArrivalCircle: {\n          name: 'navigation.courseGreatCircle.nextPoint.arrivalCircle',\n          title: 'Arrival Circle',\n          contentType: 'application/json',\n          payload: ArrivalCircleSchema\n        },\n        previousPointPosition: {\n          name: 'navigation.courseGreatCircle.previousPoint.position',\n          title: 'Previous Point Position',\n          contentType: 'application/json',\n          payload: Type.Union([PositionSchema, Type.Null()])\n        },\n        previousPointType: {\n          name: 'navigation.courseGreatCircle.previousPoint.value.type',\n          title: 'Previous Point Type',\n          contentType: 'application/json',\n          payload: Type.Union([CoursePointTypeSchema, Type.Null()])\n        }\n      }\n    },\n    'navigation.courseRhumbline': {\n      address: 'navigation.courseRhumbline',\n      description:\n        'v1 course delta channel (Rhumbline calculations). Mirrors courseGreatCircle.',\n      messages: {\n        activeRouteHref: {\n          name: 'navigation.courseRhumbline.activeRoute.href',\n          title: 'Active Route Href',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        activeRouteStartTime: {\n          name: 'navigation.courseRhumbline.activeRoute.startTime',\n          title: 'Active Route Start Time',\n          contentType: 'application/json',\n          payload: Type.Union([IsoTimeSchema, Type.Null()])\n        },\n        nextPointHref: {\n          name: 'navigation.courseRhumbline.nextPoint.value.href',\n          title: 'Next Point Href',\n          contentType: 'application/json',\n          payload: Type.Union([Type.String(), Type.Null()])\n        },\n        nextPointType: {\n          name: 'navigation.courseRhumbline.nextPoint.value.type',\n          title: 'Next Point Type',\n          contentType: 'application/json',\n          payload: Type.Union([CoursePointTypeSchema, Type.Null()])\n        },\n        nextPointPosition: {\n          name: 'navigation.courseRhumbline.nextPoint.position',\n          title: 'Next Point Position',\n          contentType: 'application/json',\n          payload: Type.Union([PositionSchema, Type.Null()])\n        },\n        nextPointArrivalCircle: {\n          name: 'navigation.courseRhumbline.nextPoint.arrivalCircle',\n          title: 'Arrival Circle',\n          contentType: 'application/json',\n          payload: ArrivalCircleSchema\n        },\n        previousPointPosition: {\n          name: 'navigation.courseRhumbline.previousPoint.position',\n          title: 'Previous Point Position',\n          contentType: 'application/json',\n          payload: Type.Union([PositionSchema, Type.Null()])\n        },\n        previousPointType: {\n          name: 'navigation.courseRhumbline.previousPoint.value.type',\n          title: 'Previous Point Type',\n          contentType: 'application/json',\n          payload: Type.Union([CoursePointTypeSchema, Type.Null()])\n        }\n      }\n    }\n  },\n  operations: {\n    receiveCourseV2: {\n      action: 'receive',\n      channel: { $ref: '#/channels/navigation.course' },\n      summary: 'Receive v2 course delta updates',\n      description:\n        'Emitted when course state changes. Contains path values under navigation.course.*'\n    },\n    receiveCourseGreatCircle: {\n      action: 'receive',\n      channel: { $ref: '#/channels/navigation.courseGreatCircle' },\n      summary: 'Receive v1 course delta updates (Great Circle)'\n    },\n    receiveCourseRhumbline: {\n      action: 'receive',\n      channel: { $ref: '#/channels/navigation.courseRhumbline' },\n      summary: 'Receive v1 course delta updates (Rhumbline)'\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/course/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:course')\n\nimport { IRouter, Request, Response } from 'express'\nimport _ from 'lodash'\n\nimport { SignalKMessageHub, WithConfig } from '../../app'\nimport { Context, Path } from '@signalk/server-api'\nimport { WithSecurityStrategy } from '../../security'\nimport { getSourceId } from '@signalk/signalk-schema'\n\nimport {\n  GeoJsonPoint,\n  PathValue,\n  Position,\n  Route,\n  SignalKResourceType,\n  SKVersion,\n  PointDestination,\n  ActiveRoute,\n  RouteDestination,\n  CourseInfo,\n  COURSE_POINT_TYPES,\n  Update,\n  Delta,\n  hasValues,\n  SourceRef,\n  Waypoint,\n  NextPreviousPoint,\n  CoursePointType,\n  Unsubscribes\n} from '@signalk/server-api'\n\nconst { Location, RoutePoint, VesselPosition } = COURSE_POINT_TYPES\nimport { isValidCoordinate } from 'geolib'\nimport { Responses } from '../'\nimport { Store } from '../../serverstate/store'\n\nimport { buildSchemaSync } from 'api-schema-builder'\nimport { courseApiDoc } from './openApi'\nimport { ResourcesApi } from '../resources'\nimport { ConfigApp, writeSettingsFile } from '../../config/config'\n\nconst COURSE_API_SCHEMA = buildSchemaSync(courseApiDoc)\n\nconst SIGNALK_API_PATH = `/signalk/v2/api`\nconst COURSE_API_PATH = `${SIGNALK_API_PATH}/vessels/self/navigation/course`\n\nconst API_CMD_SRC: CommandSource = {\n  $source: 'courseApi' as SourceRef,\n  type: 'API'\n}\n\nexport const COURSE_API_V2_DELTA_COUNT = 13\nexport const COURSE_API_V1_DELTA_COUNT = 8\nexport const COURSE_API_INITIAL_DELTA_COUNT =\n  COURSE_API_V1_DELTA_COUNT * 2 + COURSE_API_V2_DELTA_COUNT\n\nexport interface CourseApplication\n  extends\n    IRouter,\n    ConfigApp,\n    WithConfig,\n    WithSecurityStrategy,\n    SignalKMessageHub {}\n\ninterface CommandSource {\n  type: string\n  $source: SourceRef\n  msg?: string\n  path?: string\n}\nconst NO_COURSE_INFO: CourseInfo = {\n  startTime: null,\n  targetArrivalTime: null,\n  arrivalCircle: 0,\n  activeRoute: null,\n  nextPoint: null,\n  previousPoint: null\n}\n\nexport class CourseApi {\n  private courseInfo = NO_COURSE_INFO\n\n  private store: Store\n  private cmdSource: CommandSource | null = null // source which set the destination\n  private unsubscribes: Unsubscribes = []\n\n  constructor(\n    private app: CourseApplication,\n    private resourcesApi: ResourcesApi\n  ) {\n    this.store = new Store(app, 'course')\n    this.parseSettings()\n  }\n\n  async start() {\n    return new Promise<void>(async (resolve) => {\n      this.initCourseRoutes()\n\n      let storeData\n      try {\n        storeData = await this.store.read()\n        debug('Found persisted course data')\n        this.courseInfo = await this.validateCourseInfo(storeData)\n        this.cmdSource = this.courseInfo.nextPoint ? API_CMD_SRC : null\n      } catch (_error) {\n        debug('No persisted course data (using default)')\n      }\n      debug(\n        '** courseInfo **',\n        this.courseInfo,\n        '** cmdSource **',\n        this.cmdSource\n      )\n      if (this.courseInfo.nextPoint) {\n        this.emitCourseInfo(true)\n      }\n\n      this.app.subscriptionmanager?.subscribe(\n        {\n          context: 'vessels.self' as Context,\n          subscribe: [\n            {\n              path: 'navigation.courseRhumbline.nextPoint.position' as Path,\n              period: 500\n            },\n            {\n              path: 'navigation.courseGreatCircle.nextPoint.position' as Path,\n              period: 500\n            }\n          ]\n        },\n        this.unsubscribes,\n        (err) => {\n          console.log(`Course API: Subscribe failed: ${err}`)\n        },\n        (msg: Delta) => {\n          this.processV1DestinationDeltas(msg)\n        }\n      )\n      this.app.subscriptionmanager?.subscribe(\n        {\n          context: 'vessels.self' as Context,\n          subscribe: [\n            {\n              path: 'resources.routes.*' as Path,\n              period: 500\n            },\n            {\n              path: 'resources.waypoints.*' as Path,\n              period: 500\n            }\n          ]\n        },\n        this.unsubscribes,\n        (err) => {\n          console.log(`Course API: Subscribe failed: ${err}`)\n        },\n        (msg: Delta) => {\n          this.processResourceDeltas(msg)\n        }\n      )\n      resolve()\n    })\n  }\n\n  /**\n   * Resource delta message processing to ensure update made to\n   * 1. waypoint referenced as the current destination OR\n   * 2. active route\n   * are reflected in course deltas.\n   */\n  private async processResourceDeltas(delta: Delta) {\n    let h: string[]\n    if (this.courseInfo.activeRoute?.href) {\n      h = this.courseInfo.activeRoute?.href.split('/').slice(-3)\n    } else if (this.courseInfo.nextPoint?.href) {\n      h = this.courseInfo.nextPoint?.href.split('/').slice(-3)\n    } else {\n      return\n    }\n    const ref = h ? h.join('.') : undefined\n    const refType = h ? h[1] : undefined\n\n    for (const update of delta.updates) {\n      if (hasValues(update)) {\n        for (const pathValue of update.values) {\n          if (ref === pathValue.path) {\n            if (refType === 'routes') {\n              if (this.courseInfo.activeRoute) {\n                const rte = await this.getRoute(\n                  this.courseInfo.activeRoute.href\n                )\n                if (rte) {\n                  this.courseInfo.activeRoute.name = rte.name as string\n                  this.courseInfo.activeRoute.pointTotal =\n                    rte.feature.geometry.coordinates.length\n\n                  const pointIndex = this.parsePointIndex(\n                    this.courseInfo.activeRoute.pointIndex as number,\n                    rte\n                  )\n                  this.courseInfo.nextPoint = {\n                    type: RoutePoint,\n                    position: this.getRoutePoint(\n                      rte,\n                      pointIndex,\n                      !!this.courseInfo.activeRoute.reverse\n                    )\n                  }\n                  if (this.courseInfo.previousPoint?.type === RoutePoint) {\n                    const prevIndex =\n                      (this.courseInfo.activeRoute.pointIndex as number) - 1\n                    if (prevIndex >= 0) {\n                      this.courseInfo.previousPoint = {\n                        type: RoutePoint,\n                        position: this.getRoutePoint(\n                          rte,\n                          prevIndex,\n                          !!this.courseInfo.activeRoute.reverse\n                        )\n                      }\n                    }\n                  }\n                  this.emitCourseInfo()\n                }\n              }\n            } else {\n              const r: any = await this.resourcesApi.getResource(\n                refType as SignalKResourceType,\n                h[2]\n              )\n              if (r && isValidCoordinate(r.feature.geometry.coordinates)) {\n                ;(this.courseInfo.nextPoint as NextPreviousPoint).position = {\n                  latitude: r.feature.geometry.coordinates[1],\n                  longitude: r.feature.geometry.coordinates[0]\n                }\n                this.emitCourseInfo()\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n\n  // parse server settings\n  private parseSettings() {\n    const defaultSettings = {\n      apiOnly: false\n    }\n    if (!('courseApi' in this.app.config.settings)) {\n      debug('***** Applying Default Settings ********')\n      this.app.config.settings.courseApi = defaultSettings\n    }\n    if (\n      this.app.config.settings.courseApi &&\n      typeof this.app.config.settings.courseApi.apiOnly === 'undefined'\n    ) {\n      debug('***** Applying missing apiOnly attribute to Settings ********')\n      this.app.config.settings.courseApi.apiOnly = false\n    }\n    debug('** Parsed App Settings ***', this.app.config.settings)\n    debug('** Applied cmdSource ***', this.cmdSource)\n  }\n\n  // write to server settings file\n  private saveSettings() {\n    writeSettingsFile(this.app, this.app.config.settings, () =>\n      debug('***SETTINGS SAVED***')\n    )\n  }\n\n  /** Process deltas for <destination>.nextPoint data\n   * Note: Delta source cannot override destination isAPIset by API!\n   * Destination is set when:\n   * 1. There is no current destination\n   * 2. msg source matches current Destination source\n   * 3. Destination Position is changed.\n   */\n  private async processV1DestinationDeltas(delta: Delta) {\n    if (\n      !Array.isArray(delta.updates) ||\n      this.isAPICmdSource() ||\n      (!this.cmdSource && this.app.config.settings.courseApi?.apiOnly)\n    ) {\n      return\n    }\n    delta.updates.forEach((update: Update) => {\n      if (hasValues(update)) {\n        update.values.forEach((pathValue: PathValue) => {\n          if (\n            update.source &&\n            update.source.type &&\n            ['NMEA0183', 'NMEA2000'].includes(update.source.type)\n          ) {\n            this.parseStreamValue(\n              {\n                type: update.source.type,\n                $source: update.$source || getSourceId(update.source),\n                msg:\n                  update.source.type === 'NMEA0183'\n                    ? `${update.source.sentence}`\n                    : `${update.source.pgn}`,\n                path: pathValue.path\n              },\n              pathValue.value as Position\n            )\n          }\n        })\n      }\n    })\n  }\n\n  /** Test for valid Signal K position */\n  private isValidPosition(position: Position): boolean {\n    return (\n      typeof position?.latitude === 'number' &&\n      typeof position?.latitude === 'number' &&\n      position?.latitude >= -90 &&\n      position?.latitude <= 90 &&\n      position?.longitude >= -180 &&\n      position?.longitude <= 180\n    )\n  }\n\n  /** Process stream value and take action\n   * @param cmdSource Object describing the source of the update\n   * @param pos Destination location value in the update\n   */\n  private async parseStreamValue(cmdSource: CommandSource, pos: Position) {\n    if (!this.cmdSource) {\n      // New source\n      if (!this.isValidPosition(pos)) {\n        return\n      }\n      debug('parseStreamValue:', 'Setting Destination...')\n      const result = await this.setDestination({ position: pos }, cmdSource)\n      debug('parseStreamValue: Source set...', this.cmdSource)\n      if (result) {\n        this.emitCourseInfo()\n        return\n      }\n    }\n\n    if (this.isCurrentCmdSource(cmdSource)) {\n      if (!this.isValidPosition(pos)) {\n        debug(\n          'parseStreamValue:',\n          'No or invalid position... Clear Destination...'\n        )\n        this.clearDestination()\n        return\n      }\n\n      if (\n        this.courseInfo.nextPoint?.position?.latitude !== pos.latitude ||\n        this.courseInfo.nextPoint?.position?.longitude !== pos.longitude\n      ) {\n        debug(\n          'parseStreamValue:',\n          'Position changed... Updating Destination...'\n        )\n        const result = await this.setDestination({ position: pos }, cmdSource)\n        if (result) {\n          this.emitCourseInfo()\n        }\n      }\n    }\n  }\n\n  /** Get course (exposed to plugins) */\n  async getCourse(): Promise<CourseInfo> {\n    debug(`** getCourse()`)\n    return this.courseInfo\n  }\n\n  /** Clear destination / route (exposed to plugins) */\n  async clearDestination(persistState?: boolean): Promise<void> {\n    this.courseInfo = {\n      ...NO_COURSE_INFO,\n      arrivalCircle: this.courseInfo.arrivalCircle\n    }\n    this.cmdSource = null\n    this.emitCourseInfo(!persistState)\n  }\n\n  /** Set course (exposed to plugins)\n   * @param dest Setting to null clears the current destination\n   */\n  async destination(\n    dest: (PointDestination & { arrivalCircle?: number }) | null\n  ) {\n    debug(`** destination(${dest})`)\n\n    if (!dest) {\n      throw new Error('No destination information supplied!')\n    }\n\n    const result = await this.setDestination(dest)\n    if (result) {\n      this.emitCourseInfo()\n    }\n  }\n\n  /** Set / clear route (exposed to plugins)\n   * @param dest Setting to null clears the current destination\n   */\n  async activeRoute(dest: RouteDestination | null) {\n    debug(`** activeRoute(${dest})`)\n\n    if (!dest) {\n      throw new Error('No route information supplied!')\n    }\n\n    const result = await this.activateRoute(dest)\n    if (result) {\n      this.emitCourseInfo()\n    }\n  }\n\n  private getVesselPosition() {\n    return _.get((this.app.signalk as any).self, 'navigation.position')\n  }\n\n  private async validateCourseInfo(info: CourseInfo) {\n    if (\n      !hasAllProperties(info, ['activeRoute', 'nextPoint', 'previousPoint'])\n    ) {\n      debug(`** Error: Loaded course data is invalid!! **`)\n      return NO_COURSE_INFO\n    }\n\n    if (\n      (await this.isValidRouteCourse(info)) ||\n      (await this.isValidWaypointCourse(info))\n    ) {\n      return info\n    }\n    return NO_COURSE_INFO\n  }\n\n  private async isValidRouteCourse(info: CourseInfo): Promise<boolean> {\n    if (!info?.activeRoute?.href) {\n      return false\n    }\n    const activeRoute = info.activeRoute\n    const route = await this.getRoute(activeRoute.href)\n    return (\n      route?.feature !== undefined &&\n      activeRoute.pointIndex >= 0 &&\n      activeRoute.pointIndex < route.feature.geometry.coordinates.length\n    )\n  }\n\n  private async isValidWaypointCourse(info: CourseInfo): Promise<boolean> {\n    if (!info?.nextPoint?.href) {\n      return false\n    }\n    const parsedHref = this.parseHref(info.nextPoint.href)\n    if (!parsedHref) {\n      return false\n    }\n    const wpt = (await this.resourcesApi.getResource(\n      parsedHref.type,\n      parsedHref.id\n    )) as Waypoint\n    return wpt?.feature !== undefined\n  }\n\n  private updateAllowed(request: Request): boolean {\n    return this.app.securityStrategy.shouldAllowPut(\n      request,\n      'vessels.self',\n      null,\n      'navigation.course'\n    )\n  }\n\n  private initCourseRoutes() {\n    debug(`** Initialise ${COURSE_API_PATH} path handlers **`)\n\n    // Return current course information\n    this.app.get(`${COURSE_API_PATH}`, async (req: Request, res: Response) => {\n      debug(`** ${req.method} ${req.path}`)\n      res.json(this.courseInfo)\n    })\n\n    // Return course api config\n    this.app.get(\n      `${COURSE_API_PATH}/_config`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        res.json(this.app.config.settings.courseApi)\n      }\n    )\n\n    // Set apiOnly mode\n    this.app.post(\n      `${COURSE_API_PATH}/_config/apiOnly`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          if (this.app.config.settings.courseApi) {\n            this.app.config.settings.courseApi.apiOnly = true\n          } else {\n            this.app.config.settings.courseApi = { apiOnly: true }\n          }\n          if (!this.isAPICmdSource()) {\n            this.clearDestination(true)\n          }\n          this.saveSettings()\n          res.status(200).json(Responses.ok)\n        } catch {\n          res.status(400).json(Responses.invalid)\n        }\n      }\n    )\n\n    // Clear apiOnly mode\n    this.app.delete(\n      `${COURSE_API_PATH}/_config/apiOnly`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          if (this.app.config.settings.courseApi) {\n            this.app.config.settings.courseApi.apiOnly = false\n          } else {\n            this.app.config.settings.courseApi = { apiOnly: false }\n          }\n          this.saveSettings()\n          res.status(200).json(Responses.ok)\n        } catch {\n          res.status(400).json(Responses.invalid)\n        }\n      }\n    )\n\n    // course metadata\n    this.app.get(\n      `${COURSE_API_PATH}/arrivalCircle/meta`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        res.json({\n          arrivalCircle: {\n            description:\n              'The circle which indicates arrival when vessel position is within its radius.',\n            units: 'm'\n          }\n        })\n      }\n    )\n\n    this.app.put(\n      `${COURSE_API_PATH}/arrivalCircle`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        if (this.isValidArrivalCircle(req.body.value)) {\n          this.courseInfo.arrivalCircle = req.body.value\n          this.emitCourseInfo(false, 'arrivalCircle')\n          res.status(200).json(Responses.ok)\n        } else {\n          res.status(400).json(Responses.invalid)\n        }\n      }\n    )\n\n    this.app.put(\n      `${COURSE_API_PATH}/restart`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        if (!this.courseInfo.nextPoint) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `No active destination!`\n          })\n          return\n        }\n        // set previousPoint to vessel position\n        try {\n          const position: any = this.getVesselPosition()\n          if (position && position.value) {\n            this.courseInfo.previousPoint = {\n              position: position.value,\n              type: VesselPosition\n            }\n            this.emitCourseInfo(false, 'previousPoint')\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              state: 'FAILED',\n              statusCode: 400,\n              message: `Vessel position unavailable!`\n            })\n          }\n        } catch (_err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `Vessel position unavailable!`\n          })\n        }\n      }\n    )\n\n    this.app.put(\n      `${COURSE_API_PATH}/targetArrivalTime`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        if (req.body.value === null || this.isValidIsoTime(req.body.value)) {\n          this.courseInfo.targetArrivalTime = req.body.value\n          this.emitCourseInfo(false, 'targetArrivalTime')\n          res.status(200).json(Responses.ok)\n        } else {\n          res.status(400).json(Responses.invalid)\n        }\n      }\n    )\n\n    // clear / cancel course\n    this.app.delete(\n      `${COURSE_API_PATH}`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        this.clearDestination(true)\n        res.status(200).json(Responses.ok)\n      }\n    )\n\n    // set destination\n    this.app.put(\n      `${COURSE_API_PATH}/destination`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n\n        const endpoint = COURSE_API_SCHEMA[`${COURSE_API_PATH}/destination`].put\n        if (!endpoint.body.validate(req.body)) {\n          res.status(400).json(endpoint.body.errors)\n          return\n        }\n\n        try {\n          const result = await this.setDestination(req.body)\n          if (result) {\n            this.emitCourseInfo()\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json(Responses.invalid)\n          }\n        } catch (error) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (error as Error).message\n          })\n        }\n      }\n    )\n\n    // set activeRoute\n    this.app.put(\n      `${COURSE_API_PATH}/activeRoute`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const result = await this.activateRoute(req.body)\n          debug(this.courseInfo)\n          if (result) {\n            this.emitCourseInfo()\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json(Responses.invalid)\n          }\n        } catch (error) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (error as Error).message\n          })\n        }\n      }\n    )\n\n    this.app.put(\n      `${COURSE_API_PATH}/activeRoute/:action`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}, ${req.params.action}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        // fetch active route data\n        if (!this.courseInfo.activeRoute) {\n          res.status(400).json(Responses.invalid)\n          return\n        }\n        const rte = await this.getRoute(this.courseInfo.activeRoute.href)\n        if (!rte) {\n          res.status(400).json(Responses.invalid)\n          return\n        }\n\n        if (req.params.action === 'nextPoint') {\n          if (typeof this.courseInfo.activeRoute.pointIndex === 'number') {\n            if (!req.body.value || typeof req.body.value !== 'number') {\n              req.body.value = 1\n            }\n            this.courseInfo.activeRoute.pointIndex = this.parsePointIndex(\n              this.courseInfo.activeRoute.pointIndex + req.body.value,\n              rte\n            )\n          } else {\n            res.status(400).json(Responses.invalid)\n            return\n          }\n        }\n\n        if (req.params.action === 'pointIndex') {\n          if (typeof req.body.value === 'number') {\n            this.courseInfo.activeRoute.pointIndex = this.parsePointIndex(\n              req.body.value,\n              rte\n            )\n          } else {\n            res.status(400).json(Responses.invalid)\n            return\n          }\n        }\n        // reverse direction from current point\n        if (req.params.action === 'reverse') {\n          if (typeof req.body.pointIndex === 'number') {\n            this.courseInfo.activeRoute.pointIndex = req.body.pointIndex\n          } else {\n            this.courseInfo.activeRoute.pointIndex = this.calcReversedIndex(\n              this.courseInfo.activeRoute\n            )\n          }\n          this.courseInfo.activeRoute.reverse =\n            !this.courseInfo.activeRoute.reverse\n        }\n\n        if (req.params.action === 'refresh') {\n          this.courseInfo.activeRoute.pointTotal =\n            rte.feature.geometry.coordinates.length\n          let idx = -1\n          for (let i = 0; i < rte.feature.geometry.coordinates.length; i++) {\n            if (\n              rte.feature.geometry.coordinates[i][0] ===\n                this.courseInfo.nextPoint?.position?.longitude &&\n              rte.feature.geometry.coordinates[i][1] ===\n                this.courseInfo.nextPoint.position?.latitude\n            ) {\n              idx = i\n            }\n          }\n          if (idx !== -1) {\n            this.courseInfo.activeRoute.pointIndex = idx\n          }\n          this.emitCourseInfo()\n          res.status(200).json(Responses.ok)\n          return\n        }\n\n        // set new destination\n        this.courseInfo.nextPoint = {\n          position: this.getRoutePoint(\n            rte,\n            this.courseInfo.activeRoute.pointIndex as number,\n            this.courseInfo.activeRoute.reverse\n          ),\n          type: RoutePoint\n        }\n\n        // set previousPoint\n        if (this.courseInfo.activeRoute.pointIndex === 0) {\n          try {\n            const position: any = this.getVesselPosition()\n            if (position && position.value) {\n              this.courseInfo.previousPoint = {\n                position: position.value,\n                type: VesselPosition\n              }\n            } else {\n              res.status(400).json(Responses.invalid)\n              return false\n            }\n          } catch (_err) {\n            console.log(`** Course API: Unable to retrieve vessel position!`)\n            res.status(400).json(Responses.invalid)\n            return false\n          }\n        } else {\n          this.courseInfo.previousPoint = {\n            position: this.getRoutePoint(\n              rte,\n              (this.courseInfo.activeRoute.pointIndex as number) - 1,\n              this.courseInfo.activeRoute.reverse\n            ),\n            type: RoutePoint\n          }\n        }\n        this.emitCourseInfo()\n        res.status(200).json(Responses.ok)\n      }\n    )\n  }\n\n  private calcReversedIndex(activeRoute: ActiveRoute): number {\n    return (\n      (activeRoute.pointTotal as number) -\n      1 -\n      (activeRoute.pointIndex as number)\n    )\n  }\n\n  private async activateRoute(\n    route: RouteDestination,\n    src: CommandSource = API_CMD_SRC\n  ): Promise<boolean> {\n    const { href, reverse } = route\n    let rte: any\n\n    if (href) {\n      rte = await this.getRoute(href)\n      if (!rte) {\n        throw new Error(\n          `** Could not retrieve route information for ${route.href}`\n        )\n      }\n      if (!Array.isArray(rte.feature?.geometry?.coordinates)) {\n        throw new Error(`Invalid route coordinate data! (${route.href})`)\n      }\n    } else {\n      throw new Error('Route information not supplied!')\n    }\n\n    const newCourse: CourseInfo = { ...this.courseInfo }\n    const pointIndex = this.parsePointIndex(route.pointIndex as number, rte)\n    const activeRoute = {\n      href,\n      name: rte.name,\n      reverse: !!reverse,\n      pointIndex,\n      pointTotal: rte.feature.geometry.coordinates.length\n    }\n    newCourse.activeRoute = activeRoute\n    newCourse.nextPoint = {\n      type: RoutePoint,\n      position: this.getRoutePoint(rte, pointIndex, !!reverse)\n    }\n    newCourse.startTime = new Date().toISOString()\n\n    if (this.isValidArrivalCircle(route.arrivalCircle as number)) {\n      newCourse.arrivalCircle = route.arrivalCircle as number\n    }\n\n    // set previousPoint\n    if (activeRoute.pointIndex === 0) {\n      try {\n        const position: any = this.getVesselPosition()\n        if (position && position.value) {\n          newCourse.previousPoint = {\n            position: position.value,\n            type: VesselPosition\n          }\n        } else {\n          throw new Error(`Error: Unable to retrieve vessel position!`)\n        }\n      } catch (_err) {\n        throw new Error(`Error: Unable to retrieve vessel position!`)\n      }\n    } else {\n      newCourse.previousPoint = {\n        position: this.getRoutePoint(\n          rte,\n          activeRoute.pointIndex - 1,\n          activeRoute.reverse\n        ),\n        type: RoutePoint\n      }\n    }\n\n    if (this.isSourceChange(src)) {\n      this.clearDestination(true)\n    }\n    this.courseInfo = newCourse\n    this.cmdSource = src\n    return true\n  }\n\n  private async setDestination(\n    dest: PointDestination & { arrivalCircle?: number },\n    src: CommandSource = API_CMD_SRC\n  ): Promise<boolean> {\n    const newCourse: CourseInfo = { ...this.courseInfo }\n\n    newCourse.startTime = new Date().toISOString()\n\n    if (this.isValidArrivalCircle(dest.arrivalCircle)) {\n      newCourse.arrivalCircle = dest.arrivalCircle as number\n    }\n\n    if ('href' in dest) {\n      const typedHref = this.parseHref(dest.href)\n      if (typedHref) {\n        debug.enabled && debug(`fetching ${JSON.stringify(typedHref)}`)\n        // fetch waypoint resource details\n        try {\n          const r = (await this.resourcesApi.getResource(\n            typedHref.type,\n            typedHref.id\n          )) as Waypoint\n          if (isValidCoordinate(r.feature.geometry.coordinates)) {\n            newCourse.nextPoint = {\n              position: {\n                latitude: r.feature.geometry.coordinates[1],\n                longitude: r.feature.geometry.coordinates[0]\n              },\n              href: dest.href,\n              type: (r.type as CoursePointType) ?? 'Waypoint'\n            }\n            newCourse.activeRoute = null\n          } else {\n            throw new Error(`Invalid waypoint coordinate data! (${dest.href})`)\n          }\n        } catch (_err) {\n          throw new Error(`Error retrieving and validating ${dest.href}`)\n        }\n      } else {\n        throw new Error(`Invalid href! (${dest.href})`)\n      }\n    } else if ('position' in dest) {\n      if (this.isValidPosition(dest.position)) {\n        newCourse.nextPoint = {\n          position: dest.position,\n          type: Location\n        }\n      } else {\n        throw new Error(`Error: position is not valid`)\n      }\n    } else {\n      throw new Error(`Destination not provided!`)\n    }\n\n    // clear activeRoute\n    newCourse.activeRoute = null\n\n    // set previousPoint\n    try {\n      const position: any = this.getVesselPosition()\n      if (position && position.value) {\n        newCourse.previousPoint = {\n          position: position.value,\n          type: VesselPosition\n        }\n      } else {\n        throw new Error(\n          `Error: navigation.position.value is undefined! (${position})`\n        )\n      }\n    } catch (_err) {\n      throw new Error(`Error: Unable to retrieve vessel position!`)\n    }\n\n    if (this.isSourceChange(src)) {\n      this.clearDestination(true)\n    }\n    this.courseInfo = newCourse\n    this.cmdSource = src\n    return true\n  }\n\n  private isValidArrivalCircle(value: number | undefined): boolean {\n    return typeof value === 'number' && value >= 0\n  }\n\n  private isValidIsoTime(value: string | undefined): boolean {\n    return !value\n      ? false\n      : /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)((-(\\d{2}):(\\d{2})|Z))$/.test(\n          value\n        )\n  }\n\n  private parsePointIndex(index: number, rte: any): number {\n    if (typeof index !== 'number' || !rte) {\n      return 0\n    }\n    if (!rte.feature?.geometry?.coordinates) {\n      return 0\n    }\n    if (!Array.isArray(rte.feature?.geometry?.coordinates)) {\n      return 0\n    }\n    if (index < 0) {\n      return 0\n    }\n    if (index > rte.feature?.geometry?.coordinates.length - 1) {\n      return rte.feature?.geometry?.coordinates.length - 1\n    }\n    return index\n  }\n\n  private parseHref(\n    href: string\n  ): { type: SignalKResourceType; id: string } | undefined {\n    if (!href) {\n      return undefined\n    }\n\n    const ref: string[] = href.split('/').slice(-3)\n    if (ref.length < 3) {\n      return undefined\n    }\n    if (ref[0] !== 'resources') {\n      return undefined\n    }\n    return {\n      type: ref[1] as SignalKResourceType,\n      id: ref[2]\n    }\n  }\n\n  private getRoutePoint(rte: any, index: number, reverse: boolean | null) {\n    const pos = reverse\n      ? rte.feature.geometry.coordinates[\n          rte.feature.geometry.coordinates.length - (index + 1)\n        ]\n      : rte.feature.geometry.coordinates[index]\n    const result: Position = {\n      latitude: pos[1],\n      longitude: pos[0]\n    }\n    if (pos.length === 3) {\n      result.altitude = pos[2]\n    }\n    return result\n  }\n\n  private getRoutePoints(rte: any) {\n    const pts = rte.feature.geometry.coordinates.map((pt: GeoJsonPoint) => {\n      return {\n        position: {\n          latitude: pt[1],\n          longitude: pt[0]\n        }\n      }\n    })\n    return pts\n  }\n\n  private async getRoute(href: string): Promise<Route | undefined> {\n    const h = this.parseHref(href)\n    if (h) {\n      try {\n        return (await this.resourcesApi.getResource(h.type, h.id)) as\n          | Route\n          | undefined\n      } catch (_err) {\n        debug(`** Unable to fetch resource: ${h.type}, ${h.id}`)\n        return undefined\n      }\n    } else {\n      debug(`** Unable to parse href: ${href}`)\n      return undefined\n    }\n  }\n\n  private buildDeltaMsg(paths: string[]): any {\n    const values: Array<{ path: string; value: any }> = []\n    const navPath = 'navigation.course'\n\n    if (\n      paths.length === 0 ||\n      (paths && (paths.includes('activeRoute') || paths.includes('nextPoint')))\n    ) {\n      values.push({\n        path: `${navPath}.startTime`,\n        value: this.courseInfo.startTime\n      })\n    }\n\n    if (paths.length === 0 || (paths && paths.includes('targetArrivalTime'))) {\n      values.push({\n        path: `${navPath}.targetArrivalTime`,\n        value: this.courseInfo.targetArrivalTime\n      })\n    }\n\n    if (paths.length === 0 || (paths && paths.includes('activeRoute'))) {\n      values.push({\n        path: `${navPath}.activeRoute`,\n        value: this.courseInfo.activeRoute\n      })\n    }\n\n    if (paths.length === 0 || (paths && paths.includes('arrivalCircle'))) {\n      values.push({\n        path: `${navPath}.arrivalCircle`,\n        value: this.courseInfo.arrivalCircle\n      })\n    }\n\n    if (paths.length === 0 || (paths && paths.includes('previousPoint'))) {\n      values.push({\n        path: `${navPath}.previousPoint`,\n        value: this.courseInfo.previousPoint\n      })\n    }\n\n    return {\n      updates: [\n        {\n          values\n        }\n      ]\n    }\n  }\n\n  private buildV1DeltaMsg(paths: string[]): Delta {\n    const values: Array<{ path: string; value: any }> = []\n    const navGC = 'navigation.courseGreatCircle'\n    const navRL = 'navigation.courseRhumbline'\n\n    if (paths.length === 0 || (paths && paths.includes('activeRoute'))) {\n      values.push({\n        path: `${navGC}.activeRoute.href`,\n        value: this.courseInfo.activeRoute?.href ?? null\n      })\n      values.push({\n        path: `${navRL}.activeRoute.href`,\n        value: this.courseInfo.activeRoute?.href ?? null\n      })\n\n      values.push({\n        path: `${navGC}.activeRoute.startTime`,\n        value: this.courseInfo.startTime\n      })\n      values.push({\n        path: `${navRL}.activeRoute.startTime`,\n        value: this.courseInfo.startTime\n      })\n    }\n    if (paths.length === 0 || (paths && paths.includes('nextPoint'))) {\n      values.push({\n        path: `${navGC}.nextPoint.value.href`,\n        value: this.courseInfo.nextPoint?.href ?? null\n      })\n      values.push({\n        path: `${navRL}.nextPoint.value.href`,\n        value: this.courseInfo.nextPoint?.href ?? null\n      })\n\n      values.push({\n        path: `${navGC}.nextPoint.value.type`,\n        value: this.courseInfo.nextPoint?.type ?? null\n      })\n      values.push({\n        path: `${navRL}.nextPoint.value.type`,\n        value: this.courseInfo.nextPoint?.type ?? null\n      })\n\n      values.push({\n        path: `${navGC}.nextPoint.position`,\n        value: this.courseInfo.nextPoint?.position ?? null\n      })\n      values.push({\n        path: `${navRL}.nextPoint.position`,\n        value: this.courseInfo.nextPoint?.position ?? null\n      })\n    }\n    if (paths.length === 0 || (paths && paths.includes('arrivalCircle'))) {\n      values.push({\n        path: `${navGC}.nextPoint.arrivalCircle`,\n        value: this.courseInfo.arrivalCircle\n      })\n      values.push({\n        path: `${navRL}.nextPoint.arrivalCircle`,\n        value: this.courseInfo.arrivalCircle\n      })\n    }\n    if (paths.length === 0 || (paths && paths.includes('previousPoint'))) {\n      values.push({\n        path: `${navGC}.previousPoint.position`,\n        value: this.courseInfo.previousPoint?.position ?? null\n      })\n      values.push({\n        path: `${navRL}.previousPoint.position`,\n        value: this.courseInfo.previousPoint?.position ?? null\n      })\n\n      values.push({\n        path: `${navGC}.previousPoint.value.type`,\n        value: this.courseInfo.previousPoint?.type ?? null\n      })\n      values.push({\n        path: `${navRL}.previousPoint.value.type`,\n        value: this.courseInfo.previousPoint?.type ?? null\n      })\n    }\n\n    return {\n      updates: [\n        {\n          values: values as PathValue[]\n        }\n      ]\n    }\n  }\n\n  private emitCourseInfo(noSave?: boolean, ...paths: string[]) {\n    this.app.handleMessage(\n      API_CMD_SRC.$source,\n      this.buildV1DeltaMsg(paths),\n      SKVersion.v1\n    )\n\n    const v2Delta = this.buildDeltaMsg(paths)\n    v2Delta.updates[0].$source = API_CMD_SRC.$source\n    v2Delta.updates.push({\n      $source: this.cmdSource ? this.cmdSource.$source : API_CMD_SRC.$source,\n      values: [\n        {\n          path: `navigation.course.nextPoint`,\n          value: this.courseInfo.nextPoint\n        }\n      ]\n    })\n    this.app.handleMessage(API_CMD_SRC.$source, v2Delta, SKVersion.v2)\n\n    const p = typeof noSave === 'undefined' ? this.isAPICmdSource() : !noSave\n    if (p) {\n      debug('*** persisting state **')\n      this.store.write(this.courseInfo).catch((error) => {\n        console.log('Course API: Unable to persist destination details!')\n        debug(error)\n      })\n    }\n  }\n\n  private isAPICmdSource = () => this.cmdSource?.type === API_CMD_SRC.type\n\n  private isSourceChange = (newSource: CommandSource): boolean =>\n    this.cmdSource !== null &&\n    (this.cmdSource.type !== newSource.type ||\n      this.cmdSource.$source !== newSource.$source)\n\n  private isCurrentCmdSource = (cmdSource: CommandSource) =>\n    this.cmdSource?.type === cmdSource.type &&\n    this.cmdSource?.$source === cmdSource.$source &&\n    this.cmdSource?.path === cmdSource.path &&\n    this.cmdSource?.msg === cmdSource.msg\n}\n\nconst hasAllProperties = (info: CourseInfo, propNames: string[]) => {\n  return !propNames.find((propName) => !(propName in info))\n}\n"
  },
  {
    "path": "src/api/course/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  IsoTimeSchema,\n  PositionSchema,\n  SignalKHrefRouteSchema,\n  ArrivalCircleSchema,\n  HrefDestinationSchema,\n  PositionDestinationSchema,\n  ActiveRouteSchema,\n  NextPreviousPointSchema,\n  CourseCalculationsSchema,\n  CoursePointTypeSchema\n} from '@signalk/server-api/typebox'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const courseApiDoc: any = {\n  openapi: '3.0.0',\n  info: {\n    version: '2.0.0',\n    title: 'Signal K Course API',\n    termsOfService: 'http://signalk.org/terms/',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [{ url: '/signalk/v2/api/vessels/self/navigation' }],\n  tags: [\n    { name: 'course', description: 'Course operations' },\n    { name: 'destination', description: 'Destination operations' },\n    { name: 'activeRoute', description: 'Route operations' },\n    { name: 'calculations', description: 'Calculated course data' },\n    { name: 'configuration', description: 'Course API settings.' }\n  ],\n  components: {\n    schemas: {\n      ...typeboxToOpenApiSchemas([\n        IsoTimeSchema,\n        SignalKHrefRouteSchema,\n        PositionSchema,\n        ArrivalCircleSchema,\n        HrefDestinationSchema,\n        PositionDestinationSchema,\n        ActiveRouteSchema,\n        NextPreviousPointSchema,\n        CoursePointTypeSchema,\n        CourseCalculationsSchema\n      ]),\n      ArrivalCircleAttribute: {\n        type: 'object',\n        properties: {\n          arrivalCircle: { $ref: '#/components/schemas/ArrivalCircle' }\n        }\n      }\n    },\n    responses: {\n      '200Ok': {\n        description: 'OK',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              properties: {\n                state: { type: 'string', enum: ['COMPLETED'] },\n                statusCode: { type: 'number', enum: [200] }\n              },\n              required: ['state', 'statusCode']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number', enum: [404] },\n                message: { type: 'string' }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      },\n      CourseResponse: {\n        description: 'Course details',\n        content: {\n          'application/json': {\n            schema: {\n              description: 'Course response',\n              type: 'object',\n              required: ['activeRoute', 'nextPoint', 'previousPoint'],\n              properties: {\n                activeRoute: {\n                  anyOf: [{ $ref: '#/components/schemas/ActiveRoute' }]\n                },\n                nextPoint: {\n                  anyOf: [{ $ref: '#/components/schemas/NextPreviousPoint' }]\n                },\n                previousPoint: {\n                  anyOf: [{ $ref: '#/components/schemas/NextPreviousPoint' }]\n                },\n                startTime: {\n                  $ref: '#/components/schemas/IsoTime',\n                  example: '2022-04-22T05:02:56.484Z',\n                  description:\n                    'Time at which navigation to destination commenced.'\n                },\n                targetArrivalTime: {\n                  $ref: '#/components/schemas/IsoTime',\n                  example: '2022-04-22T05:02:56.484Z',\n                  description:\n                    'The desired time at which to arrive at the destination.'\n                },\n                arrivalCircle: {\n                  $ref: '#/components/schemas/ArrivalCircle'\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    securitySchemes: {\n      bearerAuth: {\n        type: 'http',\n        scheme: 'bearer',\n        bearerFormat: 'JWT'\n      },\n      cookieAuth: {\n        type: 'apiKey',\n        in: 'cookie',\n        name: 'JAUTHENTICATION'\n      }\n    }\n  },\n  security: [{ cookieAuth: [] }, { bearerAuth: [] }],\n  paths: {\n    '/course': {\n      get: {\n        tags: ['course'],\n        summary: 'Retrieve current course details.',\n        description: 'Returns the current course status.',\n        responses: {\n          '200': { $ref: '#/components/responses/CourseResponse' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      delete: {\n        tags: ['course'],\n        summary: 'Cancel / clear course.',\n        description: 'Clear all course information.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/arrivalCircle': {\n      put: {\n        tags: ['course'],\n        summary: 'Set arrival zone size.',\n        description:\n          'Sets the radius of a circle in meters centered at the current destination.',\n        requestBody: {\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['value'],\n                properties: {\n                  value: { $ref: '#/components/schemas/ArrivalCircle' }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/restart': {\n      put: {\n        tags: ['course'],\n        summary: 'Restart course calculations.',\n        description:\n          'Sets previousPoint value to current vessel position and bases calculations on update.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/targetArrivalTime': {\n      put: {\n        tags: ['course'],\n        summary: 'Set target arrival time.',\n        description:\n          'Sets the desired time to arrive at the destination. Used to calculate targetSpeed.',\n        requestBody: {\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['value'],\n                properties: {\n                  value: { $ref: '#/components/schemas/IsoTime' }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/destination': {\n      put: {\n        tags: ['destination'],\n        summary: 'Set destination.',\n        description: 'Sets nextPoint path with supplied details.',\n        requestBody: {\n          description: 'Destination details.',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                oneOf: [\n                  { $ref: '#/components/schemas/HrefDestination' },\n                  { $ref: '#/components/schemas/PositionDestination' }\n                ],\n                allOf: [{ $ref: '#/components/schemas/ArrivalCircleAttribute' }]\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/activeRoute': {\n      put: {\n        tags: ['activeRoute'],\n        summary: 'Set active route.',\n        description:\n          'Sets activeRoute path and sets nextPoint to first point in the route.',\n        requestBody: {\n          description: 'Route to activate.',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['href'],\n                properties: {\n                  href: { $ref: '#/components/schemas/SignalKHrefRoute' },\n                  pointIndex: {\n                    type: 'number',\n                    default: 0,\n                    minimum: 0,\n                    description:\n                      '0 based index of the point in the route to set as the destination'\n                  },\n                  reverse: {\n                    type: 'boolean',\n                    default: false,\n                    description:\n                      'Set to true to navigate the route points in reverse order.'\n                  },\n                  arrivalCircle: {\n                    $ref: '#/components/schemas/ArrivalCircle'\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/activeRoute/nextPoint': {\n      put: {\n        tags: ['activeRoute'],\n        summary: 'Set next point in route.',\n        description: 'Sets nextPoint / previousPoint.',\n        requestBody: {\n          description: 'Destination details.',\n          required: false,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['value'],\n                properties: {\n                  value: {\n                    type: 'number',\n                    description: 'Index of point in route (-ive = previous)',\n                    default: 1\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/activeRoute/pointIndex': {\n      put: {\n        tags: ['activeRoute'],\n        summary: 'Set point in route as destination.',\n        description: 'Sets destination to the point with the provided index.',\n        requestBody: {\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['value'],\n                properties: {\n                  value: {\n                    type: 'number',\n                    minimum: 0,\n                    description:\n                      'Index of point in route to set as destination.',\n                    example: 2\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/activeRoute/reverse': {\n      put: {\n        tags: ['activeRoute'],\n        summary: 'Reverse route direction.',\n        description: 'Reverse the direction the active route is navigated.',\n        requestBody: {\n          required: false,\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                properties: {\n                  pointIndex: {\n                    type: 'number',\n                    minimum: 0,\n                    description:\n                      'Index of point in route to set as destination.',\n                    example: 2\n                  }\n                }\n              }\n            }\n          }\n        },\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/activeRoute/refresh': {\n      put: {\n        tags: ['activeRoute'],\n        summary: 'Refresh course information.',\n        description: 'Refresh course values after a change has been made.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/calcValues': {\n      get: {\n        tags: ['calculations'],\n        summary: 'Course calculated values.',\n        description: 'Returns the current course status.',\n        responses: {\n          '200': {\n            description: 'Course data.',\n            content: {\n              'application/json': {\n                schema: {\n                  $ref: '#/components/schemas/CourseCalculations'\n                }\n              }\n            }\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/_config': {\n      get: {\n        tags: ['configuration'],\n        summary: 'Retrieve Course API configuration.',\n        description: 'Returns the current Course API configuration settings.',\n        responses: {\n          '200': {\n            description: 'Course data.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  properties: { apiOnly: { type: 'boolean' } },\n                  required: ['apiOnly']\n                }\n              }\n            }\n          },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/course/_config/apiOnly': {\n      post: {\n        tags: ['configuration'],\n        summary: 'Set API Only mode.',\n        description: 'Accept REST API requests only. Ignores NMEA sources.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      },\n      delete: {\n        tags: ['configuration'],\n        summary: 'Clear API Only mode.',\n        description: 'Accept both REST API requests and NMEA source data.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    }\n  }\n}\n\nexport const courseApiRecord = {\n  name: 'course',\n  path: '/signalk/v2/api/vessels/self/navigation',\n  apiDoc: courseApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/discovery/index.ts",
    "content": "import { WithFeatures } from '@signalk/server-api'\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:features')\n\nimport { IRouter, Request, Response } from 'express'\n\nconst FEATURES_API_PATH = `/signalk/v2/features`\n\ninterface FeaturesApplication extends IRouter, WithFeatures {}\n\nexport class FeaturesApi {\n  constructor(private app: FeaturesApplication) {}\n\n  async start() {\n    return new Promise<void>((resolve) => {\n      this.initApiRoutes()\n      resolve()\n    })\n  }\n\n  private initApiRoutes() {\n    debug(`** Initialise ${FEATURES_API_PATH} path handlers **`)\n    // return Feature information\n    this.app.get(\n      `${FEATURES_API_PATH}`,\n      async (req: Request, res: Response) => {\n        debug(`** GET ${req.path}`)\n\n        const enabled = ['true', '1'].includes(req.query.enabled as string)\n          ? true\n          : ['false', '0'].includes(req.query.enabled as string)\n            ? false\n            : undefined\n\n        res.json(await this.app.getFeatures(enabled))\n      }\n    )\n  }\n}\n"
  },
  {
    "path": "src/api/discovery/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  DiscoveryDataSchema,\n  PluginMetaDataSchema,\n  FeaturesModelSchema\n} from '@signalk/server-api/typebox'\n\nconst discoveryApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    version: '1.0.0',\n    title: 'Signal K discovery API',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [{ url: '/signalk' }],\n  tags: [\n    { name: 'server', description: 'Signal K Server.' },\n    { name: 'features', description: 'Signal K Server features.' }\n  ],\n  components: {\n    schemas: typeboxToOpenApiSchemas([\n      DiscoveryDataSchema,\n      PluginMetaDataSchema,\n      FeaturesModelSchema\n    ]),\n    responses: {\n      DiscoveryResponse: {\n        description: 'Discovery response.',\n        content: {\n          'application/json': {\n            schema: { $ref: '#/components/schemas/DiscoveryData' }\n          }\n        }\n      },\n      '200Ok': {\n        description: 'OK',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              properties: {\n                state: { type: 'string', enum: ['COMPLETED'] },\n                statusCode: { type: 'number', enum: [200] }\n              },\n              required: ['state', 'statusCode']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number', enum: [404] },\n                message: { type: 'string' }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      },\n      FeaturesResponse: {\n        description: 'Server features response.',\n        content: {\n          'application/json': {\n            schema: {\n              description: 'Features response.',\n              $ref: '#/components/schemas/FeaturesModel'\n            }\n          }\n        }\n      }\n    }\n  },\n  paths: {\n    '/': {\n      get: {\n        tags: ['server'],\n        summary: 'Retrieve server version and service endpoints.',\n        description: \"Returns data about server's endpoints and versions.\",\n        responses: {\n          '200': { $ref: '#/components/responses/DiscoveryResponse' }\n        }\n      }\n    },\n    '/v2/features': {\n      get: {\n        tags: ['features'],\n        parameters: [\n          {\n            name: 'enabled',\n            in: 'query',\n            description: 'Limit results to enabled features.',\n            required: false,\n            explode: false,\n            schema: {\n              type: 'string',\n              enum: ['enabled', '1', 'false', '0']\n            }\n          }\n        ],\n        summary: 'Retrieve available server features.',\n        description: 'Returns object detailing the available server features.',\n        responses: {\n          '200': { $ref: '#/components/responses/FeaturesResponse' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    }\n  }\n}\n\nexport const discoveryApiRecord = {\n  name: 'discovery',\n  path: '',\n  apiDoc: discoveryApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/history/index.ts",
    "content": "import {\n  AggregateMethod,\n  ContextsRequest,\n  ContextsResponse,\n  HistoryApi,\n  HistoryProvider,\n  HistoryProviders,\n  isHistoryProvider,\n  PathSpec,\n  PathsRequest,\n  PathsResponse,\n  TimeRangeParams,\n  ValuesRequest,\n  ValuesResponse,\n  WithHistoryApi\n} from '@signalk/server-api/history'\nimport { IRouter } from 'express'\nimport { Temporal } from '@js-temporal/polyfill'\nimport { Context, Path } from '@signalk/server-api'\nimport { createDebug } from '../../debug'\nimport { Request, Response } from 'express'\nimport { WithSecurityStrategy } from '../../security'\n\nimport { Responses } from '../'\n\nconst debug = createDebug('signalk-server:api:history')\n\nconst HISTORY_API_PATH = `/signalk/v2/api/history`\n\ninterface HistoryApplication extends WithSecurityStrategy, IRouter {}\n\nexport class HistoryApiHttpRegistry {\n  private historyProviders: Map<string, HistoryProvider> = new Map()\n  private defaultProviderId?: string\n  proxy: HistoryApi\n\n  constructor(private app: HistoryApplication & WithHistoryApi) {\n    this.proxy = {\n      getValues: (query: ValuesRequest): Promise<ValuesResponse> => {\n        return this.defaultProvider().getValues(query)\n      },\n      getContexts: (query: ContextsRequest): Promise<ContextsResponse> => {\n        return this.defaultProvider().getContexts(query)\n      },\n      getPaths: (query: PathsRequest): Promise<PathsResponse> => {\n        return this.defaultProvider().getPaths(query)\n      }\n    }\n    app.getHistoryApi = (providerId?: string) => {\n      if (providerId !== undefined) {\n        const provider = this.historyProviders.get(providerId)\n        return provider\n          ? Promise.resolve(provider)\n          : Promise.reject(\n              new Error(`History api provider '${providerId}' not found`)\n            )\n      }\n      return this.defaultProviderId &&\n        this.historyProviders.has(this.defaultProviderId)\n        ? Promise.resolve(this.proxy)\n        : Promise.reject(new Error('No history api provider configured'))\n    }\n  }\n\n  registerHistoryApiProvider(\n    pluginId: string,\n    provider: HistoryProvider\n  ): void {\n    if (!isHistoryProvider(provider)) {\n      throw new Error('Invalid history api provider')\n    }\n    if (!this.historyProviders.has(pluginId)) {\n      this.historyProviders.set(pluginId, provider)\n    }\n    if (this.historyProviders.size === 1) {\n      this.defaultProviderId = pluginId\n    }\n    debug(\n      `Registered history api provider ${pluginId},`,\n      `total=${this.historyProviders.size},`,\n      `default=${this.defaultProviderId}`\n    )\n  }\n\n  unregisterHistoryApiProvider(pluginId: string): void {\n    if (!pluginId || !this.historyProviders.has(pluginId)) {\n      return\n    }\n    this.historyProviders.delete(pluginId)\n    if (pluginId === this.defaultProviderId) {\n      this.defaultProviderId = this.historyProviders.keys().next().value\n    }\n    debug(\n      `Unregistered history api provider ${pluginId},`,\n      `total=${this.historyProviders.size},`,\n      `default=${this.defaultProviderId}`\n    )\n  }\n\n  start() {\n    // return list of history providers\n    this.app.get(\n      `${HISTORY_API_PATH}/_providers`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          const r: HistoryProviders = {}\n          this.historyProviders.forEach((_v: HistoryProvider, k: string) => {\n            r[k] = {\n              isDefault: k === this.defaultProviderId\n            }\n          })\n          res.status(200).json(r)\n        } catch (err: unknown) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err instanceof Error ? err.message : 'Unknown error'\n          })\n        }\n      }\n    )\n\n    // return default history provider identifier\n    this.app.get(\n      `${HISTORY_API_PATH}/_providers/_default`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          res.status(200).json({\n            id: this.defaultProviderId\n          })\n        } catch (err: unknown) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err instanceof Error ? err.message : 'Unknown error'\n          })\n        }\n      }\n    )\n\n    // change default history provider\n    this.app.post(\n      `${HISTORY_API_PATH}/_providers/_default/:id`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          if (\n            !this.app.securityStrategy.shouldAllowPut(\n              req,\n              'vessels.self',\n              null,\n              'history'\n            )\n          ) {\n            res.status(403).json(Responses.unauthorised)\n            return\n          }\n          if (!req.params.id) {\n            throw new Error('Provider id not supplied!')\n          }\n          if (this.historyProviders.has(req.params.id)) {\n            this.defaultProviderId = req.params.id\n            res.status(200).json({\n              statusCode: 200,\n              state: 'COMPLETED',\n              message: `Default provider set to ${req.params.id}.`\n            })\n          } else {\n            throw new Error(`Provider ${req.params.id} not found!`)\n          }\n        } catch (err: unknown) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err instanceof Error ? err.message : 'Unknown error'\n          })\n        }\n      }\n    )\n\n    this.app.get(`${HISTORY_API_PATH}/values`, (req, res) =>\n      respondWith(\n        () => this.useProvider(req),\n        (provider) => {\n          return provider.getValues(parseValuesQuery(req.query))\n        },\n        res\n      )\n    )\n\n    this.app.get(`${HISTORY_API_PATH}/contexts`, (req, res) =>\n      respondWith(\n        () => this.useProvider(req),\n        (provider) => {\n          const { timeRangeParams, errors } = parseTimeRangeParams(req.query)\n          if (errors.length > 0) {\n            throw new Error(`Validation errors: ${errors.join(', ')}`)\n          }\n          debug.enabled && debug(JSON.stringify(timeRangeParams, null, 2))\n          return provider.getContexts(timeRangeParams)\n        },\n        res\n      )\n    )\n\n    this.app.get(`${HISTORY_API_PATH}/paths`, (req, res) =>\n      respondWith(\n        () => this.useProvider(req),\n        (provider) => {\n          const { timeRangeParams, errors } = parseTimeRangeParams(req.query)\n          if (errors.length > 0) {\n            throw new Error(`Validation errors: ${errors.join(', ')}`)\n          }\n          debug.enabled && debug(JSON.stringify(timeRangeParams, null, 2))\n          return provider.getPaths(timeRangeParams)\n        },\n        res\n      )\n    )\n  }\n\n  private defaultProvider(): HistoryProvider {\n    if (\n      this.defaultProviderId &&\n      this.historyProviders.has(this.defaultProviderId)\n    ) {\n      return this.historyProviders.get(this.defaultProviderId)!\n    }\n    throw new Error('No history api provider configured')\n  }\n\n  private useProvider(req: Request): HistoryProvider | undefined {\n    if (req.query.provider) {\n      const provider = this.historyProviders.get(req.query.provider as string)\n      if (!provider) {\n        throw new Error(`Requested provider not found! (${req.query.provider})`)\n      }\n      return provider\n    }\n    return this.defaultProviderId\n      ? this.historyProviders.get(this.defaultProviderId)\n      : undefined\n  }\n}\n\nasync function respondWith<T>(\n  getProvider: () => HistoryProvider | undefined,\n  handler: (provider: HistoryProvider) => Promise<T> | undefined,\n  res: Response\n) {\n  try {\n    const provider = getProvider()\n    if (!provider) {\n      return res\n        .status(501)\n        .json({ error: 'No history api provider configured' })\n    }\n    res.json(await handler(provider))\n  } catch (error) {\n    res.status(400).json({\n      error: error instanceof Error ? error.message : 'Invalid request'\n    })\n  }\n}\n\nconst parseValuesQuery = (query: Record<string, unknown>): ValuesRequest => {\n  const { timeRangeParams, errors } = parseTimeRangeParams(query)\n\n  const context = query.context as Context | undefined\n  const resolution = getMaybeNumber(query.resolution)\n\n  const paths = query.paths as string\n  if (!paths) {\n    errors.push('paths parameter is required and must be a string')\n  }\n\n  if (errors.length > 0) {\n    throw new Error(`Validation errors: ${errors.join(', ')}`)\n  }\n\n  const pathExpressions = ((query.paths as string) || '')\n    .replace(/[^0-9a-z.,:]/gi, '')\n    .split(',')\n  const pathSpecs: PathSpec[] = pathExpressions.map(splitPathExpression)\n\n  const parsed = {\n    ...timeRangeParams,\n    context,\n    resolution,\n    pathSpecs\n  }\n  debug.enabled && debug(JSON.stringify(parsed, null, 2))\n  return parsed\n}\n\nconst getMaybeNumber = (value: unknown): number | undefined => {\n  if (typeof value === 'string') return Number(value)\n  if (typeof value === 'number') return value\n  return undefined\n}\n\nconst splitPathExpression = (pathExpression: string): PathSpec => {\n  const parts = pathExpression.split(':')\n  let aggregateMethod = (parts[1] || 'average') as AggregateMethod\n  if (parts[0] === 'navigation.position') {\n    aggregateMethod = 'first' as AggregateMethod\n  }\n\n  // Extract all parameters from parts[2] onwards\n  const parameters: string[] = parts.slice(2).filter((p) => p.length > 0)\n\n  const pathSpec: PathSpec = {\n    path: parts[0] as Path,\n    aggregate: aggregateMethod,\n    parameter: parameters\n  }\n\n  return pathSpec\n}\n\nconst parseTimeRangeParams = (query: Record<string, unknown>) => {\n  const errors: string[] = []\n\n  const fromStr = query.from as string | undefined\n  let from: Temporal.Instant | undefined\n  if (fromStr) {\n    try {\n      from = Temporal.Instant.from(fromStr)\n    } catch (error) {\n      errors.push(\n        `from parameter must be a valid ISO 8601 timestamp: ${error instanceof Error ? error.message : 'Invalid format'}`\n      )\n    }\n  }\n\n  const durationStr = query.duration as string | undefined\n  const durationNum = getMaybeNumber(query.duration)\n  let duration: Temporal.Duration | undefined\n  if (durationStr) {\n    try {\n      duration = Temporal.Duration.from(durationStr)\n    } catch (error) {\n      errors.push(\n        `duration parameter must be a valid ISO 8601 duration string: ${error instanceof Error ? error.message : 'Invalid format'}`\n      )\n    }\n  } else if (durationNum !== undefined) {\n    duration = Temporal.Duration.from({ milliseconds: durationNum })\n  }\n\n  if (!from && !duration) {\n    errors.push('Either from or duration parameter is required at minimum')\n  }\n\n  const toStr = query.to as string | undefined\n  let to: Temporal.Instant | undefined\n  if (toStr) {\n    try {\n      to = Temporal.Instant.from(toStr)\n    } catch (error) {\n      errors.push(\n        `to parameter must be a valid ISO 8601 timestamp: ${error instanceof Error ? error.message : 'Invalid format'}`\n      )\n    }\n  }\n\n  if (from && to && duration) {\n    errors.push(\n      'Cannot specify all of from, to, and duration together; choose either from+to or from+duration or to+duration'\n    )\n  }\n\n  if (from && to && Temporal.Instant.compare(from, to) >= 0) {\n    errors.push('from parameter must be before to parameter')\n  }\n\n  if (errors.length > 0) {\n    throw new Error(`Validation errors: ${errors.join(', ')}`)\n  }\n\n  return { timeRangeParams: { from, to, duration } as TimeRangeParams, errors }\n}\n"
  },
  {
    "path": "src/api/history/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\n\nconst historyApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    version: '0.0.1',\n    title: 'Signal K History API',\n    description:\n      'API for querying historical data, typically stored in a database. The actual storage backend is not defined by this API and can be implemented in various ways, typically as a plugin like [signalk-parquet](https://www.npmjs.com/package/signalk-parquet) and [signalk-to-influxdb2](https://www.npmjs.com/package/signalk-to-influxdb2). The most common use case for the API is to show graphs of past values.\\n\\n The time range can be defined as a combination of **from**, **to** and **duration** parameters. Omitted from and to parameters default to current moment in time, so that for example specifying just **duration** refers to the length of duration up to this moment.',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: [{ url: '/signalk/v2/api/history' }],\n  components: {\n    parameters: {\n      TimeRangeFrom: {\n        name: 'from',\n        in: 'query',\n        description: 'Start of the time range, inclusive as ISO 8601 timestamp',\n        schema: {\n          type: 'string',\n          format: 'date-time',\n          example: '2018-03-20T09:13:28Z'\n        }\n      },\n      TimeRangeDuration: {\n        name: 'duration',\n        in: 'query',\n        description:\n          \"Duration of the time range in seconds (integer) or as an ISO8601 Duration string. Can be specified with either 'from' or 'to'. If they are both omitted is relative to 'now'. See https://datatracker.ietf.org/doc/html/rfc3339#appendix-A\",\n        schema: {\n          oneOf: [\n            { type: 'integer', description: 'Duration in seconds' },\n            {\n              type: 'string',\n              format: 'duration',\n              description: 'ISO8601 Duration string',\n              example: 'PT15M'\n            }\n          ]\n        }\n      },\n      TimeRangeTo: {\n        name: 'to',\n        in: 'query',\n        description: \"End of the time range, inclusive. 'Now' if omitted\",\n        schema: {\n          type: 'string',\n          format: 'date-time',\n          example: '2018-03-20T09:13:28Z'\n        }\n      },\n      ProviderIdParam: {\n        in: 'path',\n        name: 'id',\n        required: true,\n        description: 'Plugin id of the history provider.',\n        schema: { type: 'string', example: 'signalk-to-influxdb2' }\n      },\n      ProviderIdQuery: {\n        in: 'query',\n        name: 'provider',\n        description:\n          'Plugin id of the history provider the request will be directed to.',\n        schema: { type: 'string', example: 'signalk-to-influxdb2' }\n      }\n    },\n    responses: {\n      '200OKResponse': {\n        description: 'OK',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              required: ['state', 'statusCode', 'message'],\n              properties: {\n                state: { type: 'string', enum: ['COMPLETED'] },\n                statusCode: { type: 'number', enum: [200] },\n                message: { type: 'string' }\n              }\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              required: ['state', 'statusCode', 'message'],\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number' },\n                message: { type: 'string' }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  paths: {} as Record<string, any>\n}\n\n// Dynamic example timestamps\nconst yesterday = new Date()\nyesterday.setDate(yesterday.getDate() - 1)\nhistoryApiDoc.paths = {\n  '/values': {\n    get: {\n      summary: 'Retrieve historical data',\n      description:\n        'Returns historical data series for the paths and time range specified in query parameters',\n      parameters: [\n        {\n          $ref: '#/components/parameters/TimeRangeFrom',\n          example: yesterday.toISOString()\n        },\n        { $ref: '#/components/parameters/TimeRangeDuration' },\n        {\n          $ref: '#/components/parameters/TimeRangeTo',\n          example: new Date().toISOString()\n        },\n        {\n          name: 'paths',\n          in: 'query',\n          description:\n            \"Comma separated list of Signal K paths whose data should be retrieved, optional aggregation methods for each path as postfix separated by a colon. Aggregation methods: 'average' | 'min' | 'max' | 'first' | 'last' | 'mid' | 'middle_index' | 'sma' | 'ema'. The 'sma' (simple moving average) and 'ema' (exponential moving average) methods accept an optional numeric parameter separated by colon: for sma it is the number of samples, for ema it is the alpha value (0-1). If not provided, implementations should use sensible defaults.\",\n          example:\n            'navigation.speedOverGround:sma:5,navigation.speedThroughWater:max',\n          schema: { type: 'string' },\n          required: true\n        },\n        {\n          name: 'context',\n          in: 'query',\n          description:\n            \"Signal K context that the data is about, defaults to 'vessels.self'\",\n          example: 'vessels.urn:mrn:imo:mmsi:123456789',\n          schema: { type: 'string' }\n        },\n        {\n          name: 'resolution',\n          in: 'query',\n          description:\n            \"Length of data sample time window in seconds or as a time expression ('1s', '1m', '1h', '1d'). If resolution is not specified the server should provide data in a reasonable time resolution, depending on the time range in the request.\",\n          schema: { type: 'number', format: 'integer' }\n        },\n        { $ref: '#/components/parameters/ProviderIdQuery' }\n      ],\n      responses: {\n        '200': {\n          description: 'Series data with header',\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['context', '', 'target'],\n                properties: {\n                  context: {\n                    type: 'string',\n                    description: 'Signal K context that the data is about',\n                    example: 'vessels.urn:mrn:imo:mmsi:123456789'\n                  },\n                  range: {\n                    type: 'object',\n                    properties: {\n                      from: {\n                        type: 'string',\n                        format: 'date-time',\n                        description:\n                          'Start of the time range, inclusive, as UTC timestamp',\n                        example: '2018-03-20T09:12:28Z'\n                      },\n                      to: {\n                        type: 'string',\n                        format: 'date-time',\n                        description:\n                          'End of the time range, inclusive, as UTC timestamp',\n                        example: '2018-03-20T09:13:28Z'\n                      }\n                    }\n                  },\n                  values: {\n                    type: 'array',\n                    items: {\n                      type: 'object',\n                      properties: {\n                        path: {\n                          type: 'string',\n                          description: 'Signal K path'\n                        },\n                        method: {\n                          type: 'string',\n                          description: 'Aggregation method'\n                        }\n                      }\n                    }\n                  },\n                  data: {\n                    type: 'array',\n                    items: {\n                      type: 'array',\n                      items: {\n                        description:\n                          'Data for a point in time. The first array element is the timestamp in ISO 8601 format. Missing data for a path is returned as null',\n                        oneOf: [\n                          { type: 'string' },\n                          { type: 'number' },\n                          { type: 'null' },\n                          {\n                            type: 'array',\n                            items: { type: 'number' }\n                          }\n                        ]\n                      }\n                    },\n                    example: [\n                      ['2023-11-09T02:45:38.160Z', 13.2, null, [-120.5, 59.2]]\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  '/contexts': {\n    get: {\n      summary: 'Get contexts that have some historical data',\n      description:\n        'Returns an array of contexts that have some historical data to query with /values for the specified time range',\n      parameters: [\n        { $ref: '#/components/parameters/TimeRangeFrom' },\n        { $ref: '#/components/parameters/TimeRangeDuration' },\n        { $ref: '#/components/parameters/TimeRangeTo' },\n        { $ref: '#/components/parameters/ProviderIdQuery' }\n      ],\n      responses: {\n        '200': {\n          description: 'Array of contexts',\n          content: {\n            'application/json': {\n              schema: {\n                type: 'array',\n                items: {\n                  type: 'string',\n                  description: 'Signal K Context',\n                  example: 'vessels.urn:mrn:imo:mmsi:123456789'\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  '/paths': {\n    get: {\n      summary: 'Get paths that have some historical data',\n      description:\n        'Returns an array of path that have some historical data to query with /values for the specified time range',\n      parameters: [\n        { $ref: '#/components/parameters/TimeRangeFrom' },\n        { $ref: '#/components/parameters/TimeRangeDuration' },\n        { $ref: '#/components/parameters/TimeRangeTo' },\n        { $ref: '#/components/parameters/ProviderIdQuery' }\n      ],\n      responses: {\n        '200': {\n          description: 'Array of paths',\n          content: {\n            'application/json': {\n              schema: {\n                type: 'array',\n                items: {\n                  type: 'string',\n                  description: 'Signal K Path',\n                  example: 'navigation.speedOverGround'\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  '/_providers': {\n    get: {\n      tags: ['Provider'],\n      summary: 'Retrieve list of registered history providers.',\n      responses: {\n        default: {\n          description:\n            'Return information about the registered history providers.',\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                additionalProperties: {\n                  type: 'object',\n                  description: 'Provider status',\n                  required: ['isDefault'],\n                  properties: {\n                    isDefault: {\n                      type: 'boolean',\n                      description:\n                        '`true` if this provider is set as the default.'\n                    }\n                  },\n                  example: { isDefault: true }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  '/_providers/_default': {\n    get: {\n      tags: ['Provider'],\n      summary: 'Get the default history provider id.',\n      responses: {\n        default: {\n          description:\n            'Returns the id of the provider that is the target of requests (if provider is not specified).',\n          content: {\n            'application/json': {\n              schema: {\n                type: 'object',\n                required: ['id'],\n                properties: {\n                  id: {\n                    type: 'string',\n                    description: 'Provider identifier.'\n                  }\n                },\n                example: { id: 'signalk-to-influxdb2' }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  '/_providers/_default/{id}': {\n    parameters: [{ $ref: '#/components/parameters/ProviderIdParam' }],\n    post: {\n      tags: ['Provider'],\n      summary: 'Sets the default history provider.',\n      description: 'Sets the provider with the supplied `id` as the default.',\n      responses: {\n        default: { $ref: '#/components/responses/ErrorResponse' },\n        '200': { $ref: '#/components/responses/200OKResponse' }\n      }\n    }\n  }\n}\n\nexport const historyApiRecord = {\n  name: 'history',\n  path: '/signalk/v2/api/history',\n  apiDoc: historyApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/index.ts",
    "content": "import { IRouter } from 'express'\nimport { SignalKMessageHub, WithConfig } from '../app'\nimport { WithSecurityStrategy } from '../security'\nimport { CourseApi, CourseApplication } from './course'\nimport { FeaturesApi } from './discovery'\nimport { ResourcesApi } from './resources'\nimport { WeatherApi } from './weather'\nimport { AutopilotApi } from './autopilot'\nimport { RadarApi } from './radar'\nimport { HistoryApiHttpRegistry } from './history'\nimport { SignalKApiId, WithFeatures } from '@signalk/server-api'\nimport { NotificationApi, NotificationApplication } from './notifications'\nimport { binaryStreamManager, initializeBinaryStreams } from './streams'\n\nexport interface ApiResponse {\n  state: 'FAILED' | 'COMPLETED' | 'PENDING'\n  statusCode: number\n  message: string\n  requestId?: string\n  href?: string\n  token?: string\n}\n\nexport const Responses = {\n  ok: {\n    state: 'COMPLETED',\n    statusCode: 200,\n    message: 'OK'\n  },\n  invalid: {\n    state: 'FAILED',\n    statusCode: 400,\n    message: `Invalid Data supplied.`\n  },\n  unauthorised: {\n    state: 'FAILED',\n    statusCode: 403,\n    message: 'Unauthorised'\n  },\n  notFound: {\n    state: 'FAILED',\n    statusCode: 404,\n    message: 'Resource not found.'\n  },\n  notImplemented: {\n    state: 'FAILED',\n    statusCode: 500,\n    message: 'Not implemented.'\n  }\n}\n\nexport const startApis = (\n  app: SignalKMessageHub &\n    WithSecurityStrategy &\n    IRouter &\n    WithConfig &\n    WithFeatures\n) => {\n  const apiList: Array<SignalKApiId> = []\n\n  // Initialize binary stream manager for WASM plugin streaming\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).binaryStreamManager = binaryStreamManager\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  initializeBinaryStreams(app as any)\n\n  const resourcesApi = new ResourcesApi(app)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).resourcesApi = resourcesApi\n  apiList.push('resources')\n\n  const courseApi = new CourseApi(app as CourseApplication, resourcesApi)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).courseApi = courseApi\n  apiList.push('course')\n\n  const weatherApi = new WeatherApi(app)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).weatherApi = weatherApi\n  apiList.push('weather')\n\n  const autopilotApi = new AutopilotApi(app)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).autopilotApi = autopilotApi\n  apiList.push('autopilot')\n\n  const radarApi = new RadarApi(app)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).radarApi = radarApi\n  apiList.push('radar')\n\n  const featuresApi = new FeaturesApi(app)\n\n  const historyApiHttpRegistry = new HistoryApiHttpRegistry(app)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).historyApiHttpRegistry = historyApiHttpRegistry\n  apiList.push('history')\n\n  const notificationApi = new NotificationApi(app as NotificationApplication)\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(app as any).notificationApi = notificationApi\n  apiList.push('notifications')\n\n  Promise.all([\n    resourcesApi.start(),\n    courseApi.start(),\n    weatherApi.start(),\n    featuresApi.start(),\n    autopilotApi.start(),\n    radarApi.start(),\n    historyApiHttpRegistry.start(),\n    notificationApi.start()\n  ])\n  return apiList\n}\n"
  },
  {
    "path": "src/api/notifications/alarm.ts",
    "content": "import {\n  ALARM_METHOD,\n  ALARM_STATE,\n  AlarmStatus,\n  Context,\n  Delta,\n  hasValues,\n  Notification,\n  NotificationId,\n  Path,\n  SourceRef,\n  Timestamp,\n  Update,\n  Value\n} from '@signalk/server-api'\nimport { buildKey } from './notificationManager'\n\nexport interface AlarmProperties {\n  context: Context\n  path: Path\n  value: Value\n}\n\nexport class Alarm {\n  private external = false // true when alarm was created from delta\n  status: AlarmStatus = {\n    silenced: false,\n    acknowledged: false,\n    canSilence: true,\n    canAcknowledge: true,\n    canClear: false\n  }\n  private context: Context = '' as Context\n  private update: Update = {\n    values: [],\n    $source: 'notificationsApi' as SourceRef,\n    timestamp: undefined,\n    notificationId: undefined\n  }\n  private path: Path = '' as Path\n  public value: Notification = {\n    state: ALARM_STATE.normal,\n    method: [ALARM_METHOD.visual, ALARM_METHOD.sound],\n    message: '',\n    status: this.status\n  }\n\n  /**\n   * Alarm Object\n   * @param notificationId Notification identifier\n   */\n  constructor(notificationId?: NotificationId) {\n    if (notificationId) {\n      this.timeStamp()\n      this.status.canClear = true\n      this.update.notificationId = notificationId\n      this.path = `notifications.${notificationId}` as Path\n    }\n  }\n\n  /**\n   * Extract and populate attributes from update and context\n   * @param update Update object\n   * @param context Context value\n   */\n  private parseDelta(update: Update, context: Context) {\n    this.context = context\n    this.update = update\n    if (hasValues(this.update)) {\n      this.path = this.update.values[0].path\n      // ensure value is not empty\n      if (this.update.values[0].value) {\n        this.value = this.update.values[0].value as Notification\n      } else {\n        this.value.message = ''\n        this.value.method = []\n        this.value.state = ALARM_STATE.normal\n      }\n    }\n  }\n\n  /**\n   * Align notification alarm method with state and recorded user action\n   */\n  private alignAlarmMethod() {\n    if (this.status.acknowledged) {\n      if (this.value.state === 'emergency') {\n        this.value.method = [ALARM_METHOD.visual]\n      } else {\n        this.value.method = []\n      }\n    } else if (this.status.silenced) {\n      if (this.value.state !== 'emergency') {\n        this.value.method = this.value.method.filter((i) => i !== 'sound')\n      }\n    }\n  }\n\n  /** Update the timestamp to the current date / time */\n  private timeStamp() {\n    this.update.timestamp = new Date().toISOString() as Timestamp\n  }\n\n  /**\n   * Create / update alarm from incoming update and context\n   * @param update Update object\n   * @param context Context value\n   */\n  public syncFromNotificationUpdate(update: Update, context: Context) {\n    this.external = true\n    this.status.canClear = false\n\n    this.parseDelta(update, context)\n\n    if (\n      !this.status.acknowledged &&\n      this.value &&\n      'acknowledgeStatus' in this.value\n    ) {\n      this.status.acknowledged =\n        this.value.acknowledgeStatus === 'Yes' ? true : false\n    }\n    if (\n      !this.status.silenced &&\n      this.value &&\n      'temporarySilenceStatus' in this.value\n    ) {\n      this.status.silenced =\n        this.value.temporarySilenceStatus === 'Yes' ? true : false\n    }\n\n    if (this.value && 'temporarySilenceSupport' in this.value) {\n      this.status.canSilence =\n        this.value.temporarySilenceSupport === 'Yes' ? true : false\n    }\n    if (this.value && 'acknowledgeSupport' in this.value) {\n      this.status.canAcknowledge =\n        this.value.acknowledgeSupport === 'Yes' ? true : false\n    }\n    this.alignAlarmMethod()\n  }\n\n  /**\n   * Returns true if Alarm is external (generated from incoming Delta message)\n   */\n  get isExternal(): boolean {\n    return this.external\n  }\n\n  /**\n   * Generates and returns the delta payload for use with `handleMessage()`\n   * @returns Delta message payload\n   */\n  get delta(): Delta {\n    if (hasValues(this.update)) {\n      this.update.values = [\n        {\n          path: this.path,\n          value: this.value\n            ? Object.assign(\n                this.value,\n                { id: this.update.notificationId },\n                { status: this.status }\n              )\n            : this.value\n        }\n      ]\n    }\n    const d: Delta = { updates: [this.update] }\n    if (this.external) {\n      d.context = this.context\n    }\n    return d\n  }\n\n  /** Return Alarm properties */\n  get properties(): AlarmProperties {\n    return {\n      context: this.context,\n      path: this.path,\n      value: this.value\n    }\n  }\n\n  /**\n   * Return the external key (context/path/$source) of an alarm generated from incoming Delta.\n   */\n  get extKey(): string {\n    return buildKey(this.context, this.path, this.update.$source as SourceRef)\n  }\n\n  /**\n   * Sets the path associated with the alarm.\n   * @param id If supplied, the identifier will be appended to the notification path.\n   */\n  public setPath(path: Path, id?: string) {\n    if (path) {\n      path = path.startsWith('notifications.')\n        ? path\n        : (`notifications.${path}` as Path)\n      this.path = id ? (`${path}.${id}` as Path) : path\n    }\n  }\n\n  /** Silence Alarm */\n  public silence() {\n    if (!this.status.canSilence) {\n      throw new Error('Alarm cannot be silenced!')\n    }\n    if (this.status.silenced || this.status.acknowledged) {\n      throw new Error('Alarm already silenced or acknowledged!')\n    }\n    if (this.value.state === 'emergency') {\n      throw new Error('Cannot silence Emergency Alarm!')\n    }\n    this.status.silenced = true\n    this.alignAlarmMethod()\n    this.timeStamp()\n  }\n\n  /** Acknowledge Alarm */\n  public acknowledge() {\n    if (!this.status.canAcknowledge) {\n      throw new Error('Alarm cannot be acknowledged!')\n    }\n    if (this.status.acknowledged) {\n      throw new Error('Alarm already acknowledged!')\n    }\n    this.status.acknowledged = true\n    this.alignAlarmMethod()\n    this.timeStamp()\n  }\n\n  /**\n   * Clears the Alarm by setting state = normal and resetting status.\n   */\n  public clear() {\n    if (!this.status.canClear) {\n      throw new Error('Alarm cannot be cleared!')\n    }\n    this.value.state = ALARM_STATE.normal\n    this.status.silenced = false\n    this.status.acknowledged = false\n    this.timeStamp()\n  }\n}\n"
  },
  {
    "path": "src/api/notifications/asyncApi.ts",
    "content": "import { AlarmSchema } from '@signalk/server-api/typebox'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst serverVersion: string = require('../../../' + 'package.json').version\n\nexport const notificationsAsyncApiDoc = {\n  asyncapi: '3.0.0',\n  info: {\n    title: 'Signal K Notifications API - WebSocket Deltas',\n    version: serverVersion,\n    description: `\nWebSocket delta channels for Signal K notifications.\n\n## Overview\nNotifications are emitted as deltas under \\`notifications.*\\` paths when\nalarms are raised, updated, or cleared by the server or plugins.\n\n## Subscribing\n\\`\\`\\`json\n{\n  \"context\": \"vessels.self\",\n  \"subscribe\": [\n    { \"path\": \"notifications.*\", \"period\": 1000 }\n  ]\n}\n\\`\\`\\`\n\n## REST API\nFor the REST API documentation, see OpenAPI at \\`/admin/openapi/\\`.\n    `.trim(),\n    license: {\n      name: 'Apache 2.0',\n      url: 'https://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: {\n    signalk: {\n      host: 'localhost:3000',\n      protocol: 'ws',\n      description: 'Signal K server WebSocket endpoint',\n      pathname: '/signalk/v2/stream'\n    }\n  },\n  channels: {\n    notifications: {\n      address: 'notifications.*',\n      description:\n        'Notification delta channel. Emits when alarms are raised, updated, or cleared.',\n      messages: {\n        notification: {\n          name: 'notifications.*',\n          title: 'Notification',\n          summary: 'An alarm or notification state change',\n          contentType: 'application/json',\n          payload: AlarmSchema\n        }\n      }\n    }\n  },\n  operations: {\n    receiveNotification: {\n      action: 'receive',\n      channel: { $ref: '#/channels/notifications' },\n      summary: 'Receive notification deltas'\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/notifications/index.ts",
    "content": "import { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:notification')\n\nimport * as uuid from 'uuid'\nimport { SignalKMessageHub, WithConfig } from '../../app'\nimport {\n  Context,\n  Delta,\n  hasValues,\n  SKVersion,\n  SourceRef,\n  Update,\n  AlarmOptions,\n  NotificationId\n} from '@signalk/server-api'\nimport { IRouter, Request, Response } from 'express'\nimport { ConfigApp } from '../../config/config'\nimport { WithSecurityStrategy } from '../../security'\nimport { Responses } from '..'\nimport {\n  buildKey,\n  NotificationManager,\n  NotificationKey\n} from './notificationManager'\n\nexport interface NotificationApplication\n  extends\n    IRouter,\n    ConfigApp,\n    WithConfig,\n    WithSecurityStrategy,\n    SignalKMessageHub {}\n\nconst SIGNALK_API_PATH = `/signalk/v2/api`\nconst NOTI_API_PATH = `${SIGNALK_API_PATH}/notifications`\n\nexport const deltaVersion: SKVersion = SKVersion.v1\n\nexport class NotificationApi {\n  private app: NotificationApplication\n  private notiKeys: Map<NotificationKey, NotificationId> = new Map()\n  private notificationManager: NotificationManager\n\n  constructor(private server: NotificationApplication) {\n    this.app = server\n    this.notificationManager = new NotificationManager(server)\n  }\n\n  async start() {\n    return new Promise<void>(async (resolve) => {\n      this.initNotificationRoutes()\n      this.app.registerDeltaInputHandler(\n        (delta: Delta, next: (delta: Delta) => void) => {\n          next(this.filterNotifications(delta))\n        }\n      )\n      resolve()\n    })\n  }\n\n  /** Filter out notifications.* paths and push onto notiUpdate */\n  private filterNotifications(delta: Delta): Delta {\n    const notiUpdates: Update[] = [] // notification updates\n\n    delta.updates =\n      delta.updates?.filter((update) => {\n        if (hasValues(update)) {\n          // ignore messages from NotificationManager\n          if ('notificationId' in update) {\n            return true\n          }\n          // filter out values containing notification paths\n          const filteredValues = update.values.filter((u) => {\n            if (u.path.startsWith('notifications')) {\n              const nu = Object.assign({}, update, { values: [u] })\n              notiUpdates.push(nu)\n              return false\n            } else {\n              return true\n            }\n          })\n          if (filteredValues.length) {\n            update.values = filteredValues\n            return true\n          } else {\n            return false\n          }\n        }\n        return true\n      }) ?? []\n\n    notiUpdates.forEach((update) => {\n      this.handleNotificationUpdate(update, delta.context as Context)\n    })\n    return delta\n  }\n\n  /**\n   * Handle incoming notification update and assign a notification identifier\n   * @param update Update object\n   * @param context Context value\n   */\n  private handleNotificationUpdate(update: Update, context: Context) {\n    if (hasValues(update) && update.values.length) {\n      const path = update.values[0].path\n      const src = update['$source'] as SourceRef\n      const key = buildKey(context, path, src)\n      if (this.notiKeys.has(key)) {\n        update.notificationId = this.notiKeys.get(key)\n      } else {\n        update.notificationId = uuid.v4() as NotificationId\n        this.notiKeys.set(key, update.notificationId)\n      }\n      // register with manager\n      this.notificationManager.processNotificationUpdate(update, context)\n    }\n  }\n\n  /** Initialise API endpoints */\n  private initNotificationRoutes() {\n    // Return list of notifications\n    this.app.get(`${NOTI_API_PATH}`, async (req: Request, res: Response) => {\n      debug(`** ${req.method} ${req.path}`)\n      res.status(200).json(this.listNotifications())\n    })\n\n    // fetch\n    this.app.get(\n      `${NOTI_API_PATH}/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        const n = this.getNotification(req.params.id)\n        if (n) {\n          res.status(200).json(n)\n        } else {\n          res.status(200).json(Responses.notFound)\n        }\n      }\n    )\n\n    // Silence All\n    this.app.post(\n      `${NOTI_API_PATH}/silenceAll`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          this.silenceAll()\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // Silence\n    this.app.post(\n      `${NOTI_API_PATH}/:id/silence`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          this.silenceNotification(req.params.id)\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // Acknowledge All\n    this.app.post(\n      `${NOTI_API_PATH}/acknowledgeAll`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          this.acknowledgeAll()\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // Acknowledge\n    this.app.post(\n      `${NOTI_API_PATH}/:id/acknowledge`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          this.acknowledgeNotification(req.params.id)\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // Clear\n    this.app.delete(\n      `${NOTI_API_PATH}/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          this.clearNotification(req.params.id)\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // raise\n    this.app.post(`${NOTI_API_PATH}`, async (req: Request, res: Response) => {\n      debug(`** ${req.method} ${req.path} ${req.body}`)\n      try {\n        const id = this.notificationManager.raise(req.body)\n        res.status(200).json(Object.assign({}, Responses.ok, { id: id }))\n      } catch (err) {\n        res.status(400).json({\n          state: 'FAILED',\n          statusCode: 400,\n          message: (err as Error).message\n        })\n      }\n    })\n\n    // update\n    this.app.put(\n      `${NOTI_API_PATH}/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path} ${req.body}`)\n        try {\n          this.updateNotification(req.params.id, req.body)\n          res.status(200).json(Responses.ok)\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n\n    // MOB notification\n    this.app.post(\n      `${NOTI_API_PATH}/mob`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path} ${req.body}`)\n        try {\n          const id = this.notificationManager.mob(req.body)\n          res.status(200).json(Object.assign({}, Responses.ok, { id: id }))\n        } catch (err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: (err as Error).message\n          })\n        }\n      }\n    )\n  }\n\n  //** Plugin Interface Methods */\n\n  listNotifications() {\n    return this.notificationManager.list\n  }\n\n  getNotification(id: string) {\n    return this.notificationManager.get(id as NotificationId)\n  }\n\n  silenceNotification(id: string) {\n    this.notificationManager.silence(id as NotificationId)\n  }\n\n  silenceAll() {\n    this.notificationManager.silenceAll()\n  }\n\n  acknowledgeNotification(id: string) {\n    this.notificationManager.acknowledge(id as NotificationId)\n  }\n\n  acknowledgeAll() {\n    this.notificationManager.acknowledgeAll()\n  }\n\n  clearNotification(id: string) {\n    this.notificationManager.clear(id as NotificationId)\n  }\n\n  raiseNotification(options: AlarmOptions) {\n    return this.notificationManager.raise(options)\n  }\n\n  updateNotification(id: string, options: AlarmOptions) {\n    this.notificationManager.update(id as NotificationId, options)\n  }\n\n  mob(message: string) {\n    return this.notificationManager.mob({ message: message })\n  }\n}\n"
  },
  {
    "path": "src/api/notifications/notificationManager.ts",
    "content": "import {\n  ALARM_STATE,\n  Delta,\n  hasValues,\n  SKVersion,\n  Timestamp,\n  Update,\n  Context,\n  Path,\n  AlarmOptions,\n  SourceRef,\n  NotificationId,\n  Brand\n} from '@signalk/server-api'\n\nimport { NotificationApplication } from './index'\nimport { Alarm, AlarmProperties } from './alarm'\nimport * as uuid from 'uuid'\nimport * as _ from 'lodash'\n\nconst CLEAN_INTERVAL = 60000\n\nexport type NotificationKey = Brand<string, 'notificationKey'>\n\n/**\n *\n * @param context Signal K Context\n * @param path Signal K Path\n * @param source Delta sourceRef\n * @returns String representing a key associating notification deltas to their notificationId\n */\nexport const buildKey = (\n  context: Context,\n  path: Path,\n  source: SourceRef\n): NotificationKey => {\n  return `${context}/${path}/${source}` as NotificationKey\n}\n\n/**\n * Class to manage the lifecycle of alarms\n */\nexport class NotificationManager {\n  private app: NotificationApplication\n  private alarms: Map<NotificationId, Alarm> = new Map()\n  private readonly deltaVersion = SKVersion.v1\n\n  private cleanTimer?: NodeJS.Timeout\n  private forCleaning: NotificationId[] = []\n\n  constructor(private server: NotificationApplication) {\n    this.app = server\n    // start cleanup timer\n    this.cleanTimer = setInterval(() => this.clean(), CLEAN_INTERVAL)\n  }\n\n  /**\n   * Emit notification for the supplied alarm object\n   * @param alarm Alarm object\n   */\n  private emitNotification(alarm: Alarm) {\n    this.app.handleMessage(\n      'notificationApi',\n      alarm?.delta as Delta,\n      this.deltaVersion\n    )\n  }\n\n  /** Return a list of Alarms keyed by their id */\n  get list(): Record<string, AlarmProperties> {\n    const l: Record<string, AlarmProperties> = {}\n    this.alarms.forEach((v: Alarm, k: string) => {\n      l[k] = v.properties\n    })\n    return l\n  }\n\n  /**\n   * Return alarm with specified identifier\n   * @param id alarm identifier\n   * @returns alarm properties\n   */\n  get(id: NotificationId): AlarmProperties | undefined {\n    return this.alarms.get(id)?.properties\n  }\n\n  /**\n   * Raise alarm and return identifier\n   * @param options Object to initialise the Alarm\n   * @returns alarm id\n   */\n  raise(options: AlarmOptions): NotificationId {\n    const id = uuid.v4() as NotificationId\n    const alarm = new Alarm(id)\n\n    alarm.value.state = options.state\n    alarm.status.canSilence =\n      options.state === ALARM_STATE.emergency ? false : true\n\n    if (options.path) {\n      alarm.setPath(options.path, options.appendId ? id : undefined)\n    }\n    if (options.message) {\n      alarm.value.message = options.message\n    }\n    if (options.position || options.state === ALARM_STATE.emergency) {\n      alarm.value.position =\n        /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n        _.get((this.app.signalk as any).self, 'navigation.position')?.value ??\n        null\n    }\n    if (options.createdAt || options.state === ALARM_STATE.emergency) {\n      alarm.value.createdAt = new Date().toISOString() as Timestamp\n    }\n    /*if (options.meta) {\n      (alarm.value as any).meta = options.meta\n    }*/\n    this.alarms.set(id, alarm)\n    this.emitNotification(alarm)\n    return id\n  }\n\n  /**\n   * Update alarm properties\n   * @param id Alarm identifier\n   * @param options Key / values to update\n   */\n  update(id: NotificationId, options: AlarmOptions) {\n    const alarm = this.alarms.get(id)\n    if (!alarm) {\n      throw new Error('Notification not found!')\n    }\n\n    if (options.state) {\n      alarm.value.state = options.state\n      alarm.status.canSilence =\n        options.state === ALARM_STATE.emergency ? false : true\n    }\n    if (options.message) {\n      alarm.value.message = options.message\n    }\n    /*if (options.meta) {\n      (alarm.value as any).meta = options.meta\n    }*/\n    this.alarms.set(id, alarm)\n    this.emitNotification(alarm)\n  }\n\n  /**\n   * Raise MOB alarm and return identifier\n   * @param options  Object to initialise the alarm. default= 'Person Overboard!'\n   * @returns alarm id\n   */\n  mob(options?: { message: string }): NotificationId {\n    return this.raise({\n      state: ALARM_STATE.emergency,\n      message: options?.message ?? 'Person Overboard!',\n      path: 'mob' as Path,\n      appendId: true,\n      position: true,\n      createdAt: true\n    })\n  }\n\n  /**\n   * Silence All alarms\n   */\n  silenceAll() {\n    this.alarms.forEach((alarm: Alarm) => {\n      try {\n        alarm?.silence()\n        this.emitNotification(alarm)\n      } catch {\n        // already silenced\n      }\n    })\n  }\n\n  /**\n   * Silence alarm by removing the 'sound' method from the notification\n   * @param id Notification identifier\n   */\n  silence(id: NotificationId) {\n    if (!this.alarms.has(id)) {\n      throw new Error('Alarm not found!')\n    }\n    const alarm = this.alarms.get(id) as Alarm\n    alarm?.silence()\n    this.emitNotification(alarm)\n  }\n\n  /**\n   * Acknowledge All alarms\n   */\n  acknowledgeAll() {\n    this.alarms.forEach((alarm: Alarm) => {\n      alarm?.acknowledge()\n      this.emitNotification(alarm)\n    })\n  }\n\n  /**\n   * Acknowledge alarm by removing the 'sound' method from the notification\n   * @param id Notification identifier\n   */\n  acknowledge(id: NotificationId) {\n    if (!this.alarms.has(id)) {\n      throw new Error('Alarm not found!')\n    }\n    const alarm = this.alarms.get(id) as Alarm\n    alarm?.acknowledge()\n    this.emitNotification(alarm)\n  }\n\n  /**\n   * Clear alarm by setting notification state to `normal`\n   * @param id Notification identifier\n   */\n  clear(id: NotificationId) {\n    if (!this.alarms.has(id)) {\n      throw new Error('Alarm not found!')\n    }\n    const alarm = this.alarms.get(id) as Alarm\n    alarm?.clear()\n    this.emitNotification(alarm)\n  }\n\n  /**\n   * Process alarm from notification delta\n   * @param u Update object of incoming Delta message\n   * @param context Incoming Delta message context value\n   */\n  processNotificationUpdate(u: Update, context: Context) {\n    if (hasValues(u) && u.values.length) {\n      const id = u.notificationId as NotificationId\n      let alarm: Alarm\n      if (this.alarms.has(id)) {\n        alarm = this.alarms.get(id) as Alarm\n        alarm.syncFromNotificationUpdate(u, context)\n        this.alarms.set(id, alarm)\n      } else {\n        alarm = new Alarm()\n        alarm.syncFromNotificationUpdate(u, context)\n        this.alarms.set(id, alarm)\n      }\n      this.emitNotification(alarm)\n    }\n  }\n\n  /**\n   * Clean out alarms that have returned to and remained in NORMAL state\n   * for the duration of CLEAN_INTERVAL\n   */\n  private clean() {\n    const idsToDelete: NotificationId[] = []\n    const nextClean: NotificationId[] = []\n    this.alarms.forEach((v: Alarm, k: NotificationId) => {\n      if (\n        this.forCleaning.includes(k) &&\n        v.value?.state === ALARM_STATE.normal\n      ) {\n        idsToDelete.push(k)\n      } else {\n        nextClean.push(k)\n      }\n    })\n    this.forCleaning = nextClean\n\n    idsToDelete.forEach((id) => {\n      this.alarms.delete(id)\n    })\n  }\n}\n"
  },
  {
    "path": "src/api/notifications/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  AlarmStateSchema,\n  AlarmMethodArraySchema,\n  AlarmStatusSchema,\n  AlarmSchema,\n  NotificationResponseSchema,\n  NotificationIdParamSchema\n} from '@signalk/server-api/typebox'\n\nconst notificationsApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    version: '2.0.0',\n    title: 'Signal K Notifications API',\n    termsOfService: 'http://signalk.org/terms/',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [{ url: '/signalk/v2/api/notifications' }],\n  tags: [{ name: 'Alerts', description: 'Alerts & Alarms' }],\n  components: {\n    schemas: typeboxToOpenApiSchemas([\n      NotificationIdParamSchema,\n      AlarmStateSchema,\n      AlarmMethodArraySchema,\n      AlarmStatusSchema,\n      AlarmSchema,\n      NotificationResponseSchema\n    ]),\n    responses: {\n      Notification: {\n        description: 'OK',\n        content: {\n          'application/json': {\n            schema: { $ref: '#/components/schemas/NotificationResponse' }\n          }\n        }\n      },\n      '200Ok': {\n        description: 'Successful operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: '200 OK response',\n              properties: {\n                state: { type: 'string', enum: ['COMPLETE'] },\n                statusCode: { type: 'number', enum: [200] }\n              },\n              required: ['state', 'statusCode']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number', enum: [404] },\n                message: { type: 'string' }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      }\n    },\n    parameters: {\n      id: {\n        name: 'id',\n        in: 'path',\n        description: 'Notification identifier',\n        required: true,\n        schema: { $ref: '#/components/schemas/NotificationIdParam' }\n      }\n    }\n  },\n  paths: {\n    '/{id}/silence': {\n      parameters: [{ $ref: '#/components/parameters/id' }],\n      post: {\n        tags: ['Alerts'],\n        summary: 'Silence alert notification.',\n        description:\n          'Removes `sound` from the ALARM METHOD of the notification and sets `status.silenced = true`.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    },\n    '/{id}/acknowledge': {\n      parameters: [{ $ref: '#/components/parameters/id' }],\n      post: {\n        tags: ['Alerts'],\n        summary: 'Acknowledge alert notification.',\n        description:\n          'Removes both `visual` and `sound` from the ALARM METHOD of the notification and sets `status.acknowledged = true`.',\n        responses: {\n          '200': { $ref: '#/components/responses/200Ok' },\n          default: { $ref: '#/components/responses/ErrorResponse' }\n        }\n      }\n    }\n  }\n}\n\nexport const notificationsApiRecord = {\n  name: 'notifications',\n  path: '/signalk/v1/api/vessels/self/notifications',\n  apiDoc: notificationsApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/openApiSchemas.ts",
    "content": "/**\n * Converts TypeBox schemas into an OpenAPI 3.0 `components.schemas` object.\n *\n * Each schema's `$id` becomes the key in the output map.  Bare `$ref`\n * values produced by TypeBox's `Type.Ref()` are rewritten to the\n * OpenAPI `#/components/schemas/<name>` form.  Embedded schemas that\n * have their own `$id` are replaced with a `$ref` link.  Non-standard\n * properties like `units` are stripped for OpenAPI 3.0 compliance.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ntype SchemaObject = Record<string, any>\n\n/** Properties not part of OpenAPI 3.0 Schema Object spec */\nconst NON_STANDARD_PROPS = new Set(['units', 'additionalItems'])\n\nfunction sanitize(obj: any): any {\n  if (obj === null || typeof obj !== 'object') return obj\n  if (Array.isArray(obj)) {\n    for (let i = 0; i < obj.length; i++) {\n      obj[i] = sanitize(obj[i])\n    }\n    return obj\n  }\n  // Bare $ref from Type.Ref() → rewrite to OpenAPI path\n  if (typeof obj.$ref === 'string' && !obj.$ref.startsWith('#')) {\n    obj.$ref = `#/components/schemas/${obj.$ref}`\n    return obj\n  }\n  // Embedded schema with $id → replace with a $ref\n  if (typeof obj.$id === 'string') {\n    return { $ref: `#/components/schemas/${obj.$id}` }\n  }\n  for (const key of Object.keys(obj)) {\n    if (NON_STANDARD_PROPS.has(key)) {\n      delete obj[key]\n    } else if (key === 'examples' && Array.isArray(obj[key])) {\n      // OpenAPI 3.0 uses singular 'example', not 'examples'\n      obj.example = obj[key][0]\n      delete obj[key]\n    } else if (key === 'const') {\n      // OpenAPI 3.0 doesn't support 'const'; use 'enum' with single value\n      obj.enum = [obj[key]]\n      delete obj[key]\n    } else if (key === 'items' && Array.isArray(obj[key])) {\n      // OpenAPI 3.0 doesn't support tuple validation (items as array).\n      // Use first item schema as the single items schema.\n      obj[key] = sanitize(obj[key][0])\n    } else if (typeof obj[key] === 'object' && obj[key] !== null) {\n      obj[key] = sanitize(obj[key])\n    }\n  }\n  return obj\n}\n\nexport function typeboxToOpenApiSchemas(\n  schemas: SchemaObject[]\n): Record<string, SchemaObject> {\n  const result: Record<string, SchemaObject> = {}\n  for (const schema of schemas) {\n    const id = schema.$id as string | undefined\n    if (!id) {\n      throw new Error(\n        'TypeBox schema must have $id for OpenAPI component generation'\n      )\n    }\n    const copy = structuredClone(schema)\n    delete copy.$id\n    sanitize(copy)\n    result[id] = copy\n  }\n  return result\n}\n"
  },
  {
    "path": "src/api/radar/asyncApi.ts",
    "content": "import { RadarInfoSchema, RadarStatusSchema } from '@signalk/server-api/typebox'\nimport { Type } from '@sinclair/typebox'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst serverVersion: string = require('../../../' + 'package.json').version\n\nexport const radarAsyncApiDoc = {\n  asyncapi: '3.0.0',\n  info: {\n    title: 'Signal K Radar API - WebSocket Streams',\n    version: serverVersion,\n    description: `\nWebSocket streams for the Signal K Radar API.\n\n## Spoke Stream\nRadar providers stream spoke data over a dedicated WebSocket endpoint.\nClients connect to receive raw radar returns for rendering.\n\n## REST API\nFor the REST API documentation, see OpenAPI at \\`/admin/openapi/\\`.\n    `.trim(),\n    license: {\n      name: 'Apache 2.0',\n      url: 'https://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: {\n    signalk: {\n      host: 'localhost:3000',\n      protocol: 'ws',\n      description: 'Signal K server WebSocket endpoint',\n      pathname: '/signalk/v2/api/vessels/self/radars/{radarId}/stream'\n    }\n  },\n  channels: {\n    'radars.stream': {\n      address: 'radars/{radarId}/stream',\n      description: 'Radar spoke data stream. Binary spoke data for rendering.',\n      parameters: {\n        radarId: {\n          description: 'The radar identifier'\n        }\n      },\n      messages: {\n        spokeData: {\n          name: 'spokeData',\n          title: 'Spoke Data',\n          summary: 'Raw radar spoke data for display rendering',\n          contentType: 'application/octet-stream',\n          payload: Type.Object({\n            angle: Type.Number({ description: 'Spoke angle in degrees' }),\n            data: Type.String({\n              description: 'Base64-encoded spoke sample data'\n            })\n          })\n        }\n      }\n    }\n  },\n  operations: {\n    receiveSpokeData: {\n      action: 'receive',\n      channel: { $ref: '#/channels/radars.stream' },\n      summary: 'Receive radar spoke data'\n    }\n  },\n  components: {\n    schemas: {\n      RadarInfo: RadarInfoSchema,\n      RadarStatus: RadarStatusSchema\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/radar/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:radar')\n\nimport { IRouter, Request, Response } from 'express'\nimport { WithSecurityStrategy } from '../../security'\n\nimport { Responses } from '../'\nimport { SignalKMessageHub } from '../../app'\n\nimport { radar } from '@signalk/server-api'\n\nconst RADAR_API_PATH = `/signalk/v2/api/vessels/self/radars`\nconst TWO_PI = 2 * Math.PI\n\ninterface RadarApplication\n  extends WithSecurityStrategy, SignalKMessageHub, IRouter {}\n\nexport class RadarApi {\n  private radarProviders: Map<string, radar.RadarProvider> = new Map()\n  private defaultProviderId?: string\n\n  constructor(private app: RadarApplication) {}\n\n  async start() {\n    this.initApiEndpoints()\n    return Promise.resolve()\n  }\n\n  // ***** Plugin Interface methods *****\n\n  /**\n   * Register plugin as radar provider.\n   */\n  register(pluginId: string, provider: radar.RadarProvider) {\n    debug(`** Registering radar provider... ${pluginId}`)\n\n    if (!pluginId || !provider) {\n      throw new Error(`Error registering radar provider ${pluginId}!`)\n    }\n    if (!radar.isRadarProvider(provider)) {\n      throw new Error(\n        `${pluginId} is missing RadarProvider properties/methods!`\n      )\n    } else {\n      if (!this.radarProviders.has(pluginId)) {\n        this.radarProviders.set(pluginId, provider)\n      }\n      if (this.radarProviders.size === 1) {\n        this.defaultProviderId = pluginId\n      }\n    }\n    debug(`No. of RadarProviders registered =`, this.radarProviders.size)\n  }\n\n  /**\n   * Unregister plugin as radar provider.\n   */\n  unRegister(pluginId: string) {\n    if (!pluginId) {\n      return\n    }\n    debug(`** Request to un-register radar provider... ${pluginId}`)\n\n    if (!this.radarProviders.has(pluginId)) {\n      debug(`** NOT FOUND... ${pluginId}... cannot un-register!`)\n      return\n    }\n\n    debug(`** Un-registering radar provider... ${pluginId}`)\n    this.radarProviders.delete(pluginId)\n    if (pluginId === this.defaultProviderId) {\n      this.defaultProviderId = undefined\n    }\n    // update defaultProviderId if required\n    if (this.radarProviders.size !== 0 && !this.defaultProviderId) {\n      this.defaultProviderId = this.radarProviders.keys().next().value\n    }\n    debug(\n      `Remaining number of Radar Providers registered =`,\n      this.radarProviders.size,\n      'defaultProvider =',\n      this.defaultProviderId\n    )\n  }\n\n  // ***** Server API methods *****\n\n  /**\n   * Get list of all radars from all providers.\n   */\n  async getRadars(): Promise<radar.RadarInfo[]> {\n    const radars: radar.RadarInfo[] = []\n    for (const [pluginId, provider] of this.radarProviders) {\n      try {\n        const radarIds = await provider.methods.getRadars()\n        for (const radarId of radarIds) {\n          const info = await provider.methods.getRadarInfo(radarId)\n          if (info) {\n            radars.push(info)\n          }\n        }\n      } catch (err: any) {\n        debug(`Error getting radars from ${pluginId}: ${err.message}`)\n      }\n    }\n    return radars\n  }\n\n  /**\n   * Get info for a specific radar by ID.\n   */\n  async getRadarInfo(radarId: string): Promise<radar.RadarInfo | null> {\n    // Search all providers for this radar\n    for (const [pluginId, provider] of this.radarProviders) {\n      try {\n        const radarIds = await provider.methods.getRadars()\n        if (radarIds.includes(radarId)) {\n          return await provider.methods.getRadarInfo(radarId)\n        }\n      } catch (err: any) {\n        debug(`Error checking radar ${radarId} in ${pluginId}: ${err.message}`)\n      }\n    }\n    return null\n  }\n\n  // ***** Private methods *****\n\n  private updateAllowed(request: Request): boolean {\n    return this.app.securityStrategy.shouldAllowPut(\n      request,\n      'vessels.self',\n      null,\n      'radar'\n    )\n  }\n\n  /**\n   * Find the provider that owns a specific radar.\n   */\n  private async findProviderForRadar(\n    radarId: string\n  ): Promise<radar.RadarProviderMethods | null> {\n    for (const [pluginId, provider] of this.radarProviders) {\n      try {\n        const radarIds = await provider.methods.getRadars()\n        if (radarIds.includes(radarId)) {\n          return provider.methods\n        }\n      } catch (err: any) {\n        debug(`Error checking radar ${radarId} in ${pluginId}: ${err.message}`)\n      }\n    }\n    return null\n  }\n\n  private initApiEndpoints() {\n    debug(`** Initialise ${RADAR_API_PATH} endpoints. **`)\n\n    // Disable caching for all radar API endpoints\n    // Radar data can change at any time (model identification, status, controls)\n    this.app.use(`${RADAR_API_PATH}`, (_req: Request, res: Response, next) => {\n      res.setHeader('Cache-Control', 'no-cache')\n      next()\n    })\n\n    // GET /radars - List all radars\n    this.app.get(`${RADAR_API_PATH}`, async (req: Request, res: Response) => {\n      debug(`** ${req.method} ${req.path}`)\n      try {\n        const radars = await this.getRadars()\n        res.status(200).json(radars)\n      } catch (err: any) {\n        res.status(500).json({\n          statusCode: 500,\n          state: 'FAILED',\n          message: err.message\n        })\n      }\n    })\n\n    // GET /radars/_providers - List registered providers\n    this.app.get(\n      `${RADAR_API_PATH}/_providers`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const r: radar.RadarProviders = {}\n          this.radarProviders.forEach((v: radar.RadarProvider, k: string) => {\n            r[k] = {\n              name: v.name,\n              isDefault: k === this.defaultProviderId\n            }\n          })\n          res.status(200).json(r)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/_providers/_default - Get default provider\n    this.app.get(\n      `${RADAR_API_PATH}/_providers/_default`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          res.status(200).json({\n            id: this.defaultProviderId\n          })\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // POST /radars/_providers/_default/:id - Set default provider\n    this.app.post(\n      `${RADAR_API_PATH}/_providers/_default/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          if (!req.params.id) {\n            throw new Error('Provider id not supplied!')\n          }\n          if (this.radarProviders.has(req.params.id)) {\n            this.defaultProviderId = req.params.id\n            res.status(200).json({\n              statusCode: 200,\n              state: 'COMPLETED',\n              message: `Default provider set to ${req.params.id}.`\n            })\n          } else {\n            throw new Error(`Provider ${req.params.id} not found!`)\n          }\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/:id - Get specific radar info\n    this.app.get(\n      `${RADAR_API_PATH}/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const radarInfo = await this.getRadarInfo(req.params.id)\n          if (radarInfo) {\n            res.status(200).json(radarInfo)\n          } else {\n            res.status(404).json(Responses.notFound)\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id - Update radar controls\n    this.app.put(\n      `${RADAR_API_PATH}/:id`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setControls) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setControls'\n            })\n            return\n          }\n          const controls: Partial<radar.RadarControls> =\n            req.body.value ?? req.body\n          const success = await provider.setControls(req.params.id, controls)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to update radar controls'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/power - Set radar power state\n    this.app.put(\n      `${RADAR_API_PATH}/:id/power`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setPower) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setPower'\n            })\n            return\n          }\n          const state: radar.RadarStatus = req.body.value\n          if (!['off', 'standby', 'transmit', 'warming'].includes(state)) {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message:\n                'Invalid power state. Must be: off, standby, transmit, or warming'\n            })\n            return\n          }\n          const success = await provider.setPower(req.params.id, state)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to set radar power state'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/range - Set radar range\n    this.app.put(\n      `${RADAR_API_PATH}/:id/range`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setRange) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setRange'\n            })\n            return\n          }\n          const range: number = req.body.value\n          if (typeof range !== 'number' || range <= 0) {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Invalid range value. Must be a positive number (meters)'\n            })\n            return\n          }\n          const success = await provider.setRange(req.params.id, range)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to set radar range'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/gain - Set radar gain\n    this.app.put(\n      `${RADAR_API_PATH}/:id/gain`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setGain) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setGain'\n            })\n            return\n          }\n          const gain: { auto: boolean; value?: number } =\n            typeof req.body.value === 'object' ? req.body.value : req.body\n          if (typeof gain.auto !== 'boolean') {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Invalid gain value. Must have \"auto\" boolean property'\n            })\n            return\n          }\n          const success = await provider.setGain(req.params.id, gain)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to set radar gain'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/sea - Set radar sea clutter\n    this.app.put(\n      `${RADAR_API_PATH}/:id/sea`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setSea) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setSea'\n            })\n            return\n          }\n          const sea: { auto: boolean; value?: number } =\n            typeof req.body.value === 'object' ? req.body.value : req.body\n          if (typeof sea.auto !== 'boolean') {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Invalid sea value. Must have \"auto\" boolean property'\n            })\n            return\n          }\n          const success = await provider.setSea(req.params.id, sea)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to set radar sea clutter'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/rain - Set radar rain clutter\n    this.app.put(\n      `${RADAR_API_PATH}/:id/rain`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json(Responses.notFound)\n            return\n          }\n          if (!provider.setRain) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setRain'\n            })\n            return\n          }\n          const rain: { auto: boolean; value?: number } =\n            typeof req.body.value === 'object' ? req.body.value : req.body\n          if (typeof rain.auto !== 'boolean') {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Invalid rain value. Must have \"auto\" boolean property'\n            })\n            return\n          }\n          const success = await provider.setRain(req.params.id, rain)\n          if (success) {\n            res.status(200).json(Responses.ok)\n          } else {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Failed to set radar rain clutter'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // ============================================\n    // Capability and State Endpoints\n    // ============================================\n\n    // GET /radars/:id/capabilities - Get radar capability manifest (cacheable)\n    this.app.get(\n      `${RADAR_API_PATH}/:id/capabilities`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getCapabilities) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support getCapabilities'\n            })\n            return\n          }\n          const capabilities = await provider.getCapabilities(req.params.id)\n          if (capabilities) {\n            res.status(200).json(capabilities)\n          } else {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/:id/state - Get current radar state\n    this.app.get(\n      `${RADAR_API_PATH}/:id/state`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getState) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support getState'\n            })\n            return\n          }\n          const state = await provider.getState(req.params.id)\n          if (state) {\n            res.status(200).json(state)\n          } else {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/:id/controls - List all controls with current values\n    this.app.get(\n      `${RADAR_API_PATH}/:id/controls`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getState) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support getState'\n            })\n            return\n          }\n          const state = await provider.getState(req.params.id)\n          if (state && state.controls) {\n            res.status(200).json(state.controls)\n          } else {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/:id/controls/:controlId - Get single control value\n    this.app.get(\n      `${RADAR_API_PATH}/:id/controls/:controlId`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getControl) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support getControl'\n            })\n            return\n          }\n          const value = await provider.getControl(\n            req.params.id,\n            req.params.controlId\n          )\n          if (value !== null && value !== undefined) {\n            res.status(200).json({ value })\n          } else {\n            res.status(404).json({\n              error: 'Control not found',\n              controlId: req.params.controlId\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/controls/:controlId - Set single control value\n    this.app.put(\n      `${RADAR_API_PATH}/:id/controls/:controlId`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.setControl) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support setControl'\n            })\n            return\n          }\n          const value = req.body.value !== undefined ? req.body.value : req.body\n          const result = await provider.setControl(\n            req.params.id,\n            req.params.controlId,\n            value\n          )\n          if (result.success) {\n            res.status(200).json({ success: true })\n          } else {\n            res.status(400).json({\n              success: false,\n              error: result.error || 'Failed to set control',\n              controlId: req.params.controlId\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // Note: WebSocket stream endpoint (/radars/:id/stream) would require\n    // additional WebSocket handling infrastructure. For now, providers\n    // should expose their own streamUrl for direct client connection.\n\n    // ============================================\n    // ARPA Target Endpoints\n    // ============================================\n\n    // GET /radars/:id/targets - Get all tracked ARPA targets\n    this.app.get(\n      `${RADAR_API_PATH}/:id/targets`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getTargets) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support ARPA targets'\n            })\n            return\n          }\n          const targets = await provider.getTargets(req.params.id)\n          if (targets) {\n            res.status(200).json(targets)\n          } else {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // POST /radars/:id/targets - Manually acquire a target\n    this.app.post(\n      `${RADAR_API_PATH}/:id/targets`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.acquireTarget) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support target acquisition'\n            })\n            return\n          }\n          const { bearing, distance } = req.body\n          if (typeof bearing !== 'number' || typeof distance !== 'number') {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message:\n                'Invalid request. Must provide bearing (radians) and distance (meters)'\n            })\n            return\n          }\n          if (bearing < 0 || bearing >= TWO_PI) {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Bearing must be in radians [0, 2π)'\n            })\n            return\n          }\n          if (distance <= 0) {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Distance must be a positive number (meters)'\n            })\n            return\n          }\n          const result = await provider.acquireTarget(\n            req.params.id,\n            bearing,\n            distance\n          )\n          if (result.success) {\n            res.status(201).json({\n              success: true,\n              targetId: result.targetId\n            })\n          } else {\n            res.status(400).json({\n              success: false,\n              error: result.error || 'Failed to acquire target'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // DELETE /radars/:id/targets/:targetId - Cancel tracking of a target\n    this.app.delete(\n      `${RADAR_API_PATH}/:id/targets/:targetId`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.cancelTarget) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support target cancellation'\n            })\n            return\n          }\n          const targetId = parseInt(req.params.targetId, 10)\n          if (isNaN(targetId)) {\n            res.status(400).json({\n              statusCode: 400,\n              state: 'FAILED',\n              message: 'Invalid target ID. Must be a number'\n            })\n            return\n          }\n          const success = await provider.cancelTarget(req.params.id, targetId)\n          if (success) {\n            res.status(200).json({ success: true })\n          } else {\n            res.status(404).json({\n              success: false,\n              error: 'Target not found or already cancelled'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // GET /radars/:id/arpa/settings - Get ARPA settings\n    this.app.get(\n      `${RADAR_API_PATH}/:id/arpa/settings`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.getArpaSettings) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support ARPA settings'\n            })\n            return\n          }\n          const settings = await provider.getArpaSettings(req.params.id)\n          if (settings) {\n            res.status(200).json(settings)\n          } else {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // PUT /radars/:id/arpa/settings - Update ARPA settings\n    this.app.put(\n      `${RADAR_API_PATH}/:id/arpa/settings`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        try {\n          const provider = await this.findProviderForRadar(req.params.id)\n          if (!provider) {\n            res.status(404).json({\n              error: 'Radar not found',\n              id: req.params.id\n            })\n            return\n          }\n          if (!provider.setArpaSettings) {\n            res.status(501).json({\n              statusCode: 501,\n              state: 'FAILED',\n              message: 'Provider does not support ARPA settings'\n            })\n            return\n          }\n          const settings: Partial<radar.ArpaSettings> =\n            req.body.value !== undefined ? req.body.value : req.body\n          const result = await provider.setArpaSettings(req.params.id, settings)\n          if (result.success) {\n            res.status(200).json({ success: true })\n          } else {\n            res.status(400).json({\n              success: false,\n              error: result.error || 'Failed to update ARPA settings'\n            })\n          }\n        } catch (err: any) {\n          res.status(500).json({\n            statusCode: 500,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // Note: WebSocket target stream endpoint (/radars/:id/targets/stream)\n    // would require additional WebSocket handling infrastructure.\n    // For real-time target updates, clients should subscribe to the\n    // main radar stream which includes target data.\n  }\n}\n"
  },
  {
    "path": "src/api/radar/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\n\nconst radarIdParam = {\n  name: 'radar_id',\n  in: 'path',\n  required: true,\n  schema: { type: 'string' },\n  description: \"Radar identifier (e.g., 'nav1034A')\",\n  example: 'nav1034A'\n}\n\nconst radarApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    title: 'Signal K Radar API',\n    version: '3.1.0',\n    description:\n      'REST API for controlling marine radars. Supports Navico (Simrad, B&G, Lowrance), ' +\n      'Furuno, Raymarine, and Garmin radar systems. Provides endpoints for discovering radars, ' +\n      'reading and setting control values, and accessing radar data via WebSocket streams.'\n  },\n  tags: [\n    { name: 'Radars', description: 'Radar discovery and capabilities' },\n    { name: 'Controls', description: 'Read and modify radar control settings' },\n    { name: 'Targets', description: 'ARPA target acquisition and tracking' },\n    {\n      name: 'Configuration',\n      description: 'Server and network configuration'\n    },\n    {\n      name: 'Stream',\n      description: 'Real-time WebSocket stream for control updates'\n    }\n  ],\n  components: {\n    schemas: {\n      RadarInfo: {\n        type: 'object',\n        properties: {\n          name: {\n            type: 'string',\n            description: 'User-defined name or auto-detected model name'\n          },\n          brand: {\n            type: 'string',\n            description:\n              'Radar manufacturer brand (Navico, Furuno, Raymarine, Garmin, Emulator)'\n          },\n          model: {\n            type: 'string',\n            description: 'Radar model name if detected'\n          },\n          spokeDataUrl: {\n            type: 'string',\n            description:\n              'WebSocket URL for receiving raw radar spoke data (binary)'\n          },\n          streamUrl: {\n            type: 'string',\n            description: 'WebSocket URL for Signal K control stream (JSON)'\n          },\n          radarIpAddress: {\n            type: 'string',\n            description: 'IP address of the radar unit on the network'\n          }\n        },\n        required: [\n          'name',\n          'brand',\n          'spokeDataUrl',\n          'streamUrl',\n          'radarIpAddress'\n        ]\n      },\n      Capabilities: {\n        type: 'object',\n        properties: {\n          maxRange: {\n            type: 'integer',\n            description: 'Maximum supported range in meters'\n          },\n          minRange: {\n            type: 'integer',\n            description: 'Minimum supported range in meters'\n          },\n          supportedRanges: {\n            type: 'array',\n            items: { type: 'integer' },\n            description: 'All supported range values in meters'\n          },\n          spokesPerRevolution: {\n            type: 'integer',\n            description: 'Number of spokes per full rotation'\n          },\n          maxSpokeLength: {\n            type: 'integer',\n            description: 'Maximum number of samples per spoke'\n          },\n          pixelValues: {\n            type: 'integer',\n            description: 'Number of distinct pixel intensity values'\n          },\n          legend: {\n            type: 'object',\n            description: 'Color mapping for interpreting spoke data'\n          },\n          hasDoppler: { type: 'boolean' },\n          hasDualRange: { type: 'boolean' },\n          hasDualRadar: { type: 'boolean' },\n          hasSparseSpokes: { type: 'boolean' },\n          noTransmitSectors: {\n            type: 'integer',\n            description: 'Number of configurable no-transmit sectors'\n          },\n          stationary: {\n            type: 'boolean',\n            description:\n              'Whether radar is configured as stationary (shore-based)'\n          },\n          controls: {\n            type: 'object',\n            description: 'Map of control IDs to their definitions',\n            additionalProperties: {\n              $ref: '#/components/schemas/ControlDefinition'\n            }\n          }\n        },\n        required: [\n          'maxRange',\n          'minRange',\n          'supportedRanges',\n          'spokesPerRevolution',\n          'maxSpokeLength',\n          'pixelValues',\n          'legend',\n          'hasDoppler',\n          'hasDualRange',\n          'hasDualRadar',\n          'hasSparseSpokes',\n          'noTransmitSectors',\n          'stationary',\n          'controls'\n        ]\n      },\n      ControlDefinition: {\n        type: 'object',\n        properties: {\n          id: { type: 'integer', description: 'Numeric control identifier' },\n          name: { type: 'string', description: 'Human-readable control name' },\n          dataType: {\n            type: 'string',\n            enum: [\n              'number',\n              'enum',\n              'string',\n              'button',\n              'sector',\n              'zone',\n              'rect'\n            ],\n            description: 'Control data type'\n          },\n          category: {\n            type: 'string',\n            description:\n              'Control category (e.g., display, installation, targets)'\n          },\n          minValue: { type: 'number' },\n          maxValue: { type: 'number' },\n          stepValue: { type: 'number' },\n          units: {\n            type: 'string',\n            description: 'SI unit (m, rad, s, m/s, rad/s)'\n          },\n          description: { type: 'string' },\n          descriptions: {\n            type: 'object',\n            description: 'Value descriptions for enum types',\n            additionalProperties: { type: 'string' }\n          },\n          hasAuto: { type: 'boolean' },\n          hasAutoAdjustable: { type: 'boolean' },\n          hasEnabled: {\n            type: 'boolean',\n            description:\n              'Whether the control has an enabled/disabled toggle (sector, zone, rect)'\n          },\n          isReadOnly: {\n            type: 'boolean',\n            description: 'Whether the control is read-only'\n          },\n          maxDistance: {\n            type: 'number',\n            description: 'Maximum distance for zone controls (meters)'\n          },\n          validValues: {\n            type: 'array',\n            items: { type: 'integer' },\n            description:\n              'Subset of values that can be set by clients (enum controls)'\n          }\n        },\n        required: ['id', 'name', 'dataType', 'category']\n      },\n      ControlValue: {\n        type: 'object',\n        description:\n          'Control value. Fields present depend on the control dataType.',\n        properties: {\n          value: {\n            description: 'The control value (numeric or string)'\n          },\n          auto: {\n            type: 'boolean',\n            description: 'Whether automatic mode is enabled'\n          },\n          autoValue: {\n            type: 'number',\n            description: 'Adjustment when auto=true'\n          },\n          timestamp: {\n            type: 'string',\n            format: 'date-time',\n            description: 'ISO 8601 timestamp when value was last changed'\n          },\n          enabled: {\n            type: 'boolean',\n            description: 'Whether the control is enabled (sector, zone, rect)'\n          },\n          endValue: {\n            type: 'number',\n            description: 'End angle in radians (sector, zone)'\n          },\n          startDistance: {\n            type: 'number',\n            description: 'Inner radius in meters (zone)'\n          },\n          endDistance: {\n            type: 'number',\n            description: 'Outer radius in meters (zone)'\n          },\n          x1: {\n            type: 'number',\n            description: 'First corner X in meters (rect)'\n          },\n          y1: {\n            type: 'number',\n            description: 'First corner Y in meters (rect)'\n          },\n          x2: {\n            type: 'number',\n            description: 'Second corner X in meters (rect)'\n          },\n          y2: {\n            type: 'number',\n            description: 'Second corner Y in meters (rect)'\n          },\n          width: {\n            type: 'number',\n            description: 'Perpendicular width in meters (rect)'\n          },\n          allowed: {\n            type: 'boolean',\n            description:\n              'Whether changing this control is currently allowed (read-only)'\n          },\n          error: {\n            type: 'string',\n            description:\n              'Error message if the control change failed (read-only)'\n          }\n        }\n      },\n      ArpaTarget: {\n        type: 'object',\n        properties: {\n          id: {\n            type: 'integer',\n            description: 'Target ID (unique within radar)'\n          },\n          status: {\n            type: 'string',\n            enum: ['tracking', 'acquiring', 'lost'],\n            description: 'Current tracking status'\n          },\n          position: {\n            type: 'object',\n            properties: {\n              bearing: {\n                type: 'number',\n                description: 'Bearing from radar in radians [0, 2π)'\n              },\n              distance: {\n                type: 'number',\n                description: 'Distance from radar in meters'\n              },\n              latitude: { type: 'number' },\n              longitude: { type: 'number' }\n            },\n            required: ['bearing', 'distance']\n          },\n          motion: {\n            type: 'object',\n            description:\n              'Target motion. Omitted if not yet known; present with speed=0 for stationary targets.',\n            properties: {\n              course: {\n                type: 'number',\n                description: 'Course over ground in radians [0, 2π)'\n              },\n              speed: { type: 'number', description: 'Speed in m/s' }\n            },\n            required: ['course', 'speed']\n          },\n          danger: {\n            type: 'object',\n            description:\n              'Collision danger assessment. Omitted when vessels are diverging.',\n            properties: {\n              cpa: {\n                type: 'number',\n                description: 'Closest Point of Approach in meters'\n              },\n              tcpa: {\n                type: 'number',\n                description: 'Time to CPA in seconds'\n              }\n            },\n            required: ['cpa', 'tcpa']\n          },\n          acquisition: {\n            type: 'string',\n            enum: ['auto', 'manual'],\n            description: 'How target was acquired'\n          },\n          sourceZone: {\n            type: 'integer',\n            description:\n              'Guard zone that acquired this target (1 or 2). Omitted for manual acquisition.'\n          },\n          firstSeen: {\n            type: 'string',\n            format: 'date-time',\n            description: 'ISO 8601 timestamp when target was first seen'\n          },\n          lastSeen: {\n            type: 'string',\n            format: 'date-time',\n            description: 'ISO 8601 timestamp when target was last updated'\n          }\n        },\n        required: [\n          'id',\n          'status',\n          'position',\n          'acquisition',\n          'firstSeen',\n          'lastSeen'\n        ]\n      },\n      AcquireTargetRequest: {\n        type: 'object',\n        properties: {\n          bearing: {\n            type: 'number',\n            description: 'Target bearing in radians [0, 2π)'\n          },\n          distance: {\n            type: 'number',\n            description: 'Target distance in meters'\n          }\n        },\n        required: ['bearing', 'distance']\n      },\n      AcquireTargetResponse: {\n        type: 'object',\n        properties: {\n          targetId: {\n            type: 'integer',\n            description: 'Assigned target ID (0 until confirmed by tracker)'\n          },\n          radarId: {\n            type: 'string',\n            description: 'Radar tracking this target'\n          }\n        },\n        required: ['targetId', 'radarId']\n      }\n    }\n  },\n  paths: {\n    '/signalk/v2/api/vessels/self/radars': {\n      get: {\n        tags: ['Radars'],\n        summary: 'List all active radars',\n        description:\n          'Returns all radars detected on the network. Each entry includes WebSocket URLs for spoke data and control streams.',\n        responses: {\n          '200': {\n            description: 'Map of radar IDs to radar information',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    $ref: '#/components/schemas/RadarInfo'\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/interfaces': {\n      get: {\n        tags: ['Configuration'],\n        summary: 'List network interfaces',\n        description:\n          'Returns network interfaces and which radar brands are listening on each.',\n        responses: {\n          '200': {\n            description: 'Network interfaces with radar brands',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  properties: {\n                    brands: {\n                      type: 'array',\n                      items: { type: 'string' },\n                      description: 'Radar brands compiled into this server'\n                    },\n                    interfaces: {\n                      type: 'object',\n                      additionalProperties: {\n                        type: 'object',\n                        properties: {\n                          status: { type: 'string' },\n                          ip: { type: 'string' },\n                          netmask: { type: 'string' },\n                          listeners: {\n                            type: 'object',\n                            additionalProperties: { type: 'string' }\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/{radar_id}/capabilities': {\n      get: {\n        tags: ['Radars'],\n        summary: 'Get radar capabilities',\n        description:\n          'Returns static information about a radar including supported ranges, spoke resolution, Doppler support, and available controls.',\n        parameters: [radarIdParam],\n        responses: {\n          '200': {\n            description: 'Radar capabilities and control definitions',\n            content: {\n              'application/json': {\n                schema: { $ref: '#/components/schemas/Capabilities' }\n              }\n            }\n          },\n          '404': { description: 'Radar not found' }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/{radar_id}/controls': {\n      get: {\n        tags: ['Controls'],\n        summary: 'Get all control values',\n        description:\n          'Returns current values for all controls of the specified radar.',\n        parameters: [radarIdParam],\n        responses: {\n          '200': {\n            description: 'All control values keyed by control name',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    $ref: '#/components/schemas/ControlValue'\n                  }\n                }\n              }\n            }\n          },\n          '404': { description: 'Radar not found' }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/{radar_id}/controls/{control_id}': {\n      get: {\n        tags: ['Controls'],\n        summary: 'Get a single control value',\n        description: 'Returns the current value of a specific radar control.',\n        parameters: [\n          radarIdParam,\n          {\n            name: 'control_id',\n            in: 'path',\n            required: true,\n            schema: { type: 'string' },\n            description: \"Control identifier (e.g., 'gain', 'range', 'sea')\",\n            example: 'gain'\n          }\n        ],\n        responses: {\n          '200': {\n            description: 'Control value',\n            content: {\n              'application/json': {\n                schema: { $ref: '#/components/schemas/ControlValue' }\n              }\n            }\n          },\n          '404': { description: 'Control or radar not found' }\n        }\n      },\n      put: {\n        tags: ['Controls'],\n        summary: 'Set a control value',\n        description:\n          'Sets the value of a specific radar control. Request body varies by control type.',\n        parameters: [\n          radarIdParam,\n          {\n            name: 'control_id',\n            in: 'path',\n            required: true,\n            schema: { type: 'string' },\n            example: 'gain'\n          }\n        ],\n        requestBody: {\n          content: {\n            'application/json': {\n              schema: { $ref: '#/components/schemas/ControlValue' }\n            }\n          }\n        },\n        responses: {\n          '200': { description: 'Control updated' },\n          '400': { description: 'Invalid value' },\n          '404': { description: 'Control or radar not found' }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/{radar_id}/targets': {\n      get: {\n        tags: ['Targets'],\n        summary: 'Get tracked targets',\n        description:\n          'Returns all currently tracked ARPA/MARPA targets for this radar.',\n        parameters: [radarIdParam],\n        responses: {\n          '200': {\n            description: 'Array of tracked targets',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: { $ref: '#/components/schemas/ArpaTarget' }\n                }\n              }\n            }\n          },\n          '404': { description: 'Radar not found' },\n          '501': {\n            description: 'Provider does not support (M)ARPA target tracking'\n          }\n        }\n      },\n      post: {\n        tags: ['Targets'],\n        summary: 'Acquire target manually',\n        description:\n          'Manually acquire a target at the specified bearing and distance.',\n        parameters: [radarIdParam],\n        requestBody: {\n          content: {\n            'application/json': {\n              schema: { $ref: '#/components/schemas/AcquireTargetRequest' }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            description: 'Target acquired',\n            content: {\n              'application/json': {\n                schema: { $ref: '#/components/schemas/AcquireTargetResponse' }\n              }\n            }\n          },\n          '400': { description: 'Invalid position' },\n          '404': { description: 'Radar not found' },\n          '501': {\n            description: 'Provider does not support (M)ARPA target tracking'\n          }\n        }\n      }\n    },\n    '/signalk/v2/api/vessels/self/radars/{radar_id}/targets/{target_id}': {\n      delete: {\n        tags: ['Targets'],\n        summary: 'Cancel target tracking',\n        description: 'Stop tracking the specified target.',\n        parameters: [\n          radarIdParam,\n          {\n            name: 'target_id',\n            in: 'path',\n            required: true,\n            schema: { type: 'integer' },\n            description: 'Target identifier',\n            example: 1\n          }\n        ],\n        responses: {\n          '200': { description: 'Target tracking cancelled' },\n          '400': { description: 'Invalid target ID' },\n          '404': { description: 'Radar or target not found' },\n          '501': {\n            description: 'Provider does not support (M)ARPA target tracking'\n          }\n        }\n      }\n    }\n  }\n}\n\nexport const radarApiRecord = {\n  name: 'radar',\n  path: '/signalk/v2/api/vessels/self/radars',\n  apiDoc: radarApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/resources/asyncApi.ts",
    "content": "import { Type } from '@sinclair/typebox'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst serverVersion: string = require('../../../' + 'package.json').version\n\nexport const resourcesAsyncApiDoc = {\n  asyncapi: '3.0.0',\n  info: {\n    title: 'Signal K Resources API - WebSocket Deltas',\n    version: serverVersion,\n    description: `\nWebSocket delta channels for Signal K resource changes.\n\n## Overview\nThe Resources API emits deltas under \\`resources.{type}.{id}\\` when\nresources are created, updated, or deleted. Resource types include\nroutes, waypoints, notes, regions, and charts.\n\n## Subscribing\n\\`\\`\\`json\n{\n  \"context\": \"vessels.self\",\n  \"subscribe\": [\n    { \"path\": \"resources.*\", \"period\": 1000 }\n  ]\n}\n\\`\\`\\`\n\n## REST API\nFor the REST API documentation, see OpenAPI at \\`/admin/openapi/\\`.\n    `.trim(),\n    license: {\n      name: 'Apache 2.0',\n      url: 'https://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  servers: {\n    signalk: {\n      host: 'localhost:3000',\n      protocol: 'ws',\n      description: 'Signal K server WebSocket endpoint',\n      pathname: '/signalk/v2/stream'\n    }\n  },\n  channels: {\n    'resources.routes': {\n      address: 'resources.routes.*',\n      description: 'Route resource changes (created, updated, or deleted).',\n      messages: {\n        route: {\n          name: 'resources.routes.*',\n          title: 'Route Change',\n          summary: 'A route resource was created, updated, or deleted',\n          contentType: 'application/json',\n          payload: Type.Union([\n            Type.Object({\n              name: Type.Optional(Type.String()),\n              description: Type.Optional(Type.String()),\n              feature: Type.Object({\n                type: Type.Literal('Feature'),\n                geometry: Type.Object({\n                  type: Type.Literal('LineString'),\n                  coordinates: Type.Array(\n                    Type.Array(Type.Number(), { minItems: 2, maxItems: 3 })\n                  )\n                })\n              })\n            }),\n            Type.Null()\n          ])\n        }\n      }\n    },\n    'resources.waypoints': {\n      address: 'resources.waypoints.*',\n      description: 'Waypoint resource changes (created, updated, or deleted).',\n      messages: {\n        waypoint: {\n          name: 'resources.waypoints.*',\n          title: 'Waypoint Change',\n          summary: 'A waypoint resource was created, updated, or deleted',\n          contentType: 'application/json',\n          payload: Type.Union([\n            Type.Object({\n              name: Type.Optional(Type.String()),\n              description: Type.Optional(Type.String()),\n              feature: Type.Object({\n                type: Type.Literal('Feature'),\n                geometry: Type.Object({\n                  type: Type.Literal('Point'),\n                  coordinates: Type.Array(Type.Number(), {\n                    minItems: 2,\n                    maxItems: 3\n                  })\n                })\n              })\n            }),\n            Type.Null()\n          ])\n        }\n      }\n    },\n    'resources.notes': {\n      address: 'resources.notes.*',\n      description: 'Note resource changes.',\n      messages: {\n        note: {\n          name: 'resources.notes.*',\n          title: 'Note Change',\n          contentType: 'application/json',\n          payload: Type.Union([\n            Type.Object({\n              title: Type.Optional(Type.String()),\n              description: Type.Optional(Type.String()),\n              url: Type.Optional(Type.String()),\n              mimeType: Type.Optional(Type.String())\n            }),\n            Type.Null()\n          ])\n        }\n      }\n    },\n    'resources.regions': {\n      address: 'resources.regions.*',\n      description: 'Region resource changes.',\n      messages: {\n        region: {\n          name: 'resources.regions.*',\n          title: 'Region Change',\n          contentType: 'application/json',\n          payload: Type.Union([\n            Type.Object({\n              feature: Type.Object({\n                type: Type.Literal('Feature'),\n                geometry: Type.Object({\n                  type: Type.Union([\n                    Type.Literal('Polygon'),\n                    Type.Literal('MultiPolygon')\n                  ])\n                })\n              })\n            }),\n            Type.Null()\n          ])\n        }\n      }\n    }\n  },\n  operations: {\n    receiveRouteChange: {\n      action: 'receive',\n      channel: { $ref: '#/channels/resources.routes' },\n      summary: 'Receive route resource changes'\n    },\n    receiveWaypointChange: {\n      action: 'receive',\n      channel: { $ref: '#/channels/resources.waypoints' },\n      summary: 'Receive waypoint resource changes'\n    },\n    receiveNoteChange: {\n      action: 'receive',\n      channel: { $ref: '#/channels/resources.notes' },\n      summary: 'Receive note resource changes'\n    },\n    receiveRegionChange: {\n      action: 'receive',\n      channel: { $ref: '#/channels/resources.regions' },\n      summary: 'Receive region resource changes'\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/resources/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:resources')\n\nimport {\n  Delta,\n  isSignalKResourceType,\n  Path,\n  ResourceProvider,\n  ResourceProviderMethods,\n  SignalKResourceType,\n  SKVersion\n} from '@signalk/server-api'\n\nimport { IRouter, NextFunction, Request, Response } from 'express'\nimport { v4 as uuidv4 } from 'uuid'\nimport { WithSecurityStrategy } from '../../security'\n\nimport { Responses } from '../'\nimport { validate } from './validate'\nimport { SignalKMessageHub, WithConfig } from '../../app'\nimport { writeSettingsFile } from '../../config/config'\n\nexport const RESOURCES_API_PATH = `/signalk/v2/api/resources`\n\nexport const CHART_TILE_REGEX = /\\/charts\\/[^?]+\\/\\d+\\/\\d+\\/\\d+$/\n\nexport const skUuid = () => `${uuidv4()}`\n\ninterface DefaultProviders {\n  [index: string]: string\n}\n\ninterface ResourceApplication\n  extends IRouter, WithConfig, WithSecurityStrategy, SignalKMessageHub {}\n\ninterface ResourceSettings {\n  defaultProviders: DefaultProviders\n}\n\nexport class ResourcesApi {\n  private resProvider: { [key: string]: Map<string, ResourceProviderMethods> } =\n    {}\n  private app: ResourceApplication\n  private settings!: ResourceSettings\n\n  constructor(app: ResourceApplication) {\n    this.app = app\n    this.initResourceRoutes(app)\n    this.parseSettings()\n  }\n\n  async start() {\n    return new Promise<void>(async (resolve) => {\n      resolve()\n    })\n  }\n\n  async parseSettings() {\n    const defaultSettings: ResourceSettings = {\n      defaultProviders: {\n        routes: 'resources-provider',\n        waypoints: 'resources-provider',\n        regions: 'resources-provider',\n        notes: 'resources-provider',\n        charts: 'resources-provider'\n      }\n    }\n\n    if (!('resourcesApi' in this.app.config.settings)) {\n      debug('***** Applying Default Settings ********')\n      ;(this.app.config.settings as any)['resourcesApi'] = defaultSettings\n    } else {\n      const s = (this.app.config.settings as any)['resourcesApi']\n      Object.entries(defaultSettings.defaultProviders).forEach((k) => {\n        if (!(k[0] in s.defaultProviders)) {\n          s.defaultProviders[k[0]] = k[1]\n        }\n      })\n    }\n    this.settings = (this.app.config.settings as any)['resourcesApi']\n    debug('** Parsed Settings ***', this.app.config.settings)\n  }\n\n  saveSettings() {\n    if (this.settings) {\n      writeSettingsFile(this.app as any, this.app.config.settings, () =>\n        debug('***SETTINGS SAVED***')\n      )\n    }\n  }\n\n  register(pluginId: string, provider: ResourceProvider) {\n    debug(`** Registering ${provider.type} provider => ${pluginId} `)\n\n    if (!provider) {\n      throw new Error(`Error registering provider ${pluginId}!`)\n    }\n    if (!provider.type) {\n      throw new Error(`Invalid ResourceProvider.type value!`)\n    }\n\n    if (this.isResourceProvider(provider)) {\n      if (!this.resProvider[provider.type]) {\n        this.resProvider[provider.type] = new Map()\n      }\n      this.resProvider[provider.type].set(pluginId, provider.methods)\n      if (this.settings?.defaultProviders) {\n        if (!(provider.type in this.settings.defaultProviders)) {\n          this.settings.defaultProviders[provider.type] = pluginId\n          debug(`Added default provider for ${provider.type}`)\n          this.saveSettings()\n        }\n      }\n    } else {\n      throw new Error(`Error missing ResourceProvider.methods!`)\n    }\n    debug(`Type = ${provider.type}`, this.resProvider[provider.type])\n  }\n\n  unRegister(pluginId: string) {\n    if (!pluginId) {\n      return\n    }\n    debug(`** Un-registering ${pluginId} plugin as a resource provider....`)\n    for (const resourceType in this.resProvider) {\n      if (this.resProvider[resourceType].has(pluginId)) {\n        debug(`** Un-registering ${pluginId} as ${resourceType} provider....`)\n        this.resProvider[resourceType].delete(pluginId)\n        // update default provider\n        if (\n          this.settings.defaultProviders[resourceType] &&\n          this.settings.defaultProviders[resourceType] === pluginId\n        ) {\n          const p = this.checkForProvider(resourceType as SignalKResourceType)\n          if (p) {\n            this.settings.defaultProviders[resourceType] = p\n            debug(\n              `Assigned ${pluginId} as default provider for ${resourceType}.`\n            )\n          } else {\n            delete this.settings.defaultProviders[resourceType]\n            debug(\n              `Removed ${pluginId} as default provider for ${resourceType}.`\n            )\n          }\n        }\n      }\n    }\n    this.saveSettings()\n    debug(this.resProvider)\n  }\n\n  isResourceProvider(provider: ResourceProvider) {\n    return !provider.methods.listResources ||\n      !provider.methods.getResource ||\n      !provider.methods.setResource ||\n      !provider.methods.deleteResource ||\n      typeof provider.methods.listResources !== 'function' ||\n      typeof provider.methods.getResource !== 'function' ||\n      typeof provider.methods.setResource !== 'function' ||\n      typeof provider.methods.deleteResource !== 'function'\n      ? false\n      : true\n  }\n\n  async getResource(\n    resType: SignalKResourceType,\n    resId: string,\n    providerId?: string\n  ) {\n    debug(`** getResource(${resType}, ${resId})`)\n\n    const provider = this.checkForProvider(resType, providerId)\n    if (!provider) {\n      return Promise.reject(new Error(`No provider for ${resType}`))\n    }\n    return this.getFromAll(resType, resId)\n  }\n\n  async listResources(\n    resType: SignalKResourceType,\n    params: { [key: string]: any },\n    providerId?: string\n  ) {\n    debug.enabled &&\n      debug(`** listResources(${resType}, ${JSON.stringify(params)})`)\n\n    const provider = this.checkForProvider(resType, providerId)\n    debug(`** provider = ${provider}`)\n    if (!provider) {\n      return Promise.reject(new Error(`No provider for ${resType}`))\n    }\n    return this.listFromAll(resType, params)\n  }\n\n  async setResource(\n    resType: SignalKResourceType,\n    resId: string,\n    data: { [key: string]: any },\n    providerId?: string\n  ) {\n    debug.enabled &&\n      debug(`** setResource(${resType}, ${resId}, ${JSON.stringify(data)})`)\n\n    if (isSignalKResourceType(resType)) {\n      let isValidId: boolean\n      if (resType === 'charts') {\n        isValidId = validate.chartId(resId)\n      } else {\n        isValidId = validate.uuid(resId)\n      }\n      if (!isValidId) {\n        return Promise.reject(\n          new Error(`Invalid resource id provided (${resId})`)\n        )\n      }\n      validate.resource(resType as SignalKResourceType, resId, 'PUT', data)\n    } else {\n      if (!resId) {\n        return Promise.reject(new Error(`No resource id provided!`))\n      }\n    }\n\n    const provider = await this.getProviderForWrite(resType, resId, providerId)\n    if (provider) {\n      this.resProvider[resType]\n        ?.get(provider)\n        ?.setResource(resId, data)\n        .then((r) => {\n          this.app.handleMessage(\n            provider as string,\n            this.buildDeltaMsg(resType, resId, data),\n            SKVersion.v2\n          )\n          return r\n        })\n        .catch((e: Error) => {\n          debug(e)\n          return Promise.reject(new Error(`Error writing ${resType} ${resId}`))\n        })\n    } else {\n      return Promise.reject(new Error(`No provider for ${resType}`))\n    }\n  }\n\n  async deleteResource(\n    resType: SignalKResourceType,\n    resId: string,\n    providerId?: string\n  ) {\n    debug(`** deleteResource(${resType}, ${resId})`)\n\n    let provider: string | undefined = undefined\n    if (providerId) {\n      provider = this.checkForProvider(resType, providerId)\n    } else {\n      provider = await this.getProviderForResourceId(resType, resId)\n    }\n    if (provider) {\n      this.resProvider[resType]\n        ?.get(provider)\n        ?.deleteResource(resId)\n        .then((r) => {\n          this.app.handleMessage(\n            provider as string,\n            this.buildDeltaMsg(resType, resId, null),\n            SKVersion.v2\n          )\n          return r\n        })\n        .catch((e: Error) => {\n          debug(e)\n          return Promise.reject(new Error(`Error deleting ${resType} ${resId}`))\n        })\n    } else {\n      return Promise.reject(new Error(`No provider for ${resType}`))\n    }\n  }\n\n  /** Returns true if there is a registered provider for the resource type */\n  private hasRegisteredProvider(resType: string): boolean {\n    const result =\n      this.resProvider[resType] && this.resProvider[resType].size !== 0\n        ? true\n        : false\n    debug(`hasRegisteredProvider(${resType}).result = ${result}`)\n    return result\n  }\n\n  /** Returns the provider id to use to write a resource entry */\n  async getProviderForWrite(\n    resType: SignalKResourceType,\n    resId: string,\n    providerId?: string\n  ) {\n    debug('***** getProviderForWrite()', resType, resId, providerId)\n\n    let pv4resid: string | undefined\n    if (resId) {\n      pv4resid = await this.getProviderForResourceId(resType, resId)\n    }\n\n    if (resId && pv4resid) {\n      if (providerId && pv4resid !== providerId) {\n        debug(\n          `Detected provider for resource does not match supplied provider!`\n        )\n      }\n      debug('***** Using provider ->', pv4resid)\n      return pv4resid\n    }\n\n    if (providerId) {\n      debug(`***** Checking if provider ${providerId} is valid for ${resType}.`)\n      const pv4restype = this.checkForProvider(resType, providerId)\n      if (pv4restype) {\n        debug('***** Using provider ->', pv4restype)\n        return pv4restype\n      } else {\n        debug(`***** ProviderId supplied is INVALID for ${resType}!`)\n        return undefined\n      }\n    }\n    // use default provider for resType\n    debug(\n      `***** No providerId supplied...getting the default provider for ${resType}.`\n    )\n    if (this.settings.defaultProviders[resType]) {\n      const pv = this.checkForProvider(\n        resType,\n        this.settings.defaultProviders[resType]\n      )\n      debug('***** Using default provider ->', pv)\n      return pv\n    } else {\n      return undefined\n    }\n  }\n\n  /** Validates providerId for a given resourceType */\n  private checkForProvider(\n    resType: SignalKResourceType,\n    providerId?: string\n  ): string | undefined {\n    debug(`** checkForProvider(${resType}, ${providerId})`)\n    let result: string | undefined = undefined\n    if (!this.resProvider[resType]) {\n      debug(`${resType} not found!`)\n      return result\n    }\n    if (providerId) {\n      result = this.resProvider[resType].has(providerId)\n        ? providerId\n        : undefined\n    } else {\n      result = this.resProvider[resType].keys().next().value\n    }\n    debug(`** checkForProvider().result = ${result}`)\n    return result\n  }\n\n  /** Retrieve matching resources from ALL providers */\n  private async listFromAll(resType: string, params: { [key: string]: any }) {\n    debug.enabled && debug(`listFromAll(${resType}, ${JSON.stringify(params)})`)\n\n    const result = {}\n    if (!this.resProvider[resType]) {\n      return result\n    }\n\n    const req: Promise<any>[] = []\n    this.resProvider[resType].forEach((v) => {\n      try {\n        req.push(v.listResources(params))\n      } catch (err) {\n        debug(err)\n      }\n    })\n\n    const resp = await Promise.allSettled(req)\n    resp.forEach((r) => {\n      if (r.status === 'fulfilled') {\n        Object.assign(result, r.value)\n      }\n    })\n    return result\n  }\n\n  /** Query ALL providers for supplied resource id */\n  private async getFromAll(resType: string, resId: string, property?: string) {\n    debug(`getFromAll(${resType}, ${resId})`)\n\n    const result = {}\n    if (!this.resProvider[resType]) {\n      return result\n    }\n    const req: Promise<any>[] = []\n    this.resProvider[resType].forEach((id) => {\n      try {\n        req.push(id.getResource(resId, property))\n      } catch (err) {\n        debug(err)\n      }\n    })\n\n    const resp = await Promise.allSettled(req)\n    resp.forEach((r) => {\n      if (r.status === 'fulfilled') {\n        Object.assign(result, r.value)\n      }\n    })\n    if (Object.keys(result).length === 0) {\n      throw new Error(`Resource not found! (${resId})`)\n    }\n    return result\n  }\n\n  /** Return providerId for supplied resource id */\n  private async getProviderForResourceId(\n    resType: string,\n    resId: string,\n    fallbackToDefault?: boolean\n  ): Promise<string | undefined> {\n    debug(\n      `getProviderForResourceId(${resType}, ${resId}, ${fallbackToDefault})`\n    )\n\n    let result: string | undefined = undefined\n\n    if (!this.resProvider[resType]) {\n      return result\n    }\n\n    const req: Promise<any>[] = []\n    const idList: string[] = []\n    this.resProvider[resType].forEach((v, k) => {\n      try {\n        req.push(v.getResource(resId))\n        idList.push(k)\n      } catch (err) {\n        debug(err)\n      }\n    })\n\n    const resp = await Promise.allSettled(req)\n    let idx = 0\n    resp.forEach((r) => {\n      if (r.status === 'fulfilled') {\n        result = !result ? idList[idx] : result\n      }\n      idx++\n    })\n\n    if (!result && fallbackToDefault) {\n      result = this.resProvider[resType].keys().next().value\n    }\n    debug(`getProviderForResourceId().result = ${result}`)\n    return result\n  }\n\n  /** Return array of provider ids for supplied resource type */\n  private getProvidersForResourceType(resType: string): Array<string> {\n    const result: string[] = this.resProvider[resType]\n      ? Array.from(this.resProvider[resType].keys())\n      : []\n    debug(`getProvidersForResourceType().result = ${result}`)\n    return result\n  }\n\n  private initResourceRoutes(server: ResourceApplication) {\n    const updateAllowed = (req: Request): boolean => {\n      return server.securityStrategy.shouldAllowPut(\n        req,\n        'vessels.self',\n        null,\n        'resources'\n      )\n    }\n\n    // list all serviced paths under resources\n    server.get(`${RESOURCES_API_PATH}`, (req: Request, res: Response) => {\n      res.json(this.getResourcePaths())\n    })\n\n    // Providers: Return list of providers\n    server.get(\n      `${RESOURCES_API_PATH}/:resourceType/_providers`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        res.json(this.getProvidersForResourceType(req.params.resourceType))\n      }\n    )\n\n    // Providers: Return the default provider for the supplied resource type\n    server.get(\n      `${RESOURCES_API_PATH}/:resourceType/_providers/_default`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        if (!this.settings.defaultProviders[req.params.resourceType]) {\n          res.status(404).json({\n            state: 'FAILED',\n            statusCode: 404,\n            message: `Resource type not found! (${req.params.resourceType})`\n          })\n        } else {\n          res.json(this.settings.defaultProviders[req.params.resourceType])\n        }\n      }\n    )\n\n    // Providers: Set the default write provider for a resource type\n    server.post(\n      `${RESOURCES_API_PATH}/:resourceType/_providers/_default/:providerId`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n\n        if (!updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `Invalid resource type (${req.params.resourceType}) supplied!`\n          })\n          return\n        }\n\n        if (\n          !this.checkForProvider(\n            req.params.resourceType as SignalKResourceType,\n            req.params.providerId\n          )\n        ) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `Resource provider not found for ${req.params.resourceType}!`\n          })\n          return\n        }\n\n        this.settings.defaultProviders[req.params.resourceType] =\n          req.params.providerId\n        this.saveSettings()\n        res.status(201).json({\n          state: 'COMPLETED',\n          statusCode: 201,\n          message: `${req.params.providerId}`\n        })\n      }\n    )\n\n    // facilitate retrieval of a specific resource\n    server.get(\n      `${RESOURCES_API_PATH}/:resourceType/:resourceId`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** GET ${RESOURCES_API_PATH}/:resourceType/:resourceId`)\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        try {\n          if (req.query.provider) {\n            const provider = this.checkForProvider(\n              req.params.resourceType as SignalKResourceType,\n              req.query.provider ? (req.query.provider as string) : undefined\n            )\n            if (!provider) {\n              debug('** No provider found... calling next()...')\n              next()\n              return\n            }\n            const retVal = await this.resProvider[req.params.resourceType]\n              ?.get(provider)\n              ?.getResource(req.params.resourceId)\n            res.json(retVal)\n          } else {\n            const retVal = await this.getFromAll(\n              req.params.resourceType,\n              req.params.resourceId\n            )\n            res.json(retVal)\n          }\n        } catch (_err) {\n          res.status(404).json({\n            state: 'FAILED',\n            statusCode: 404,\n            message: `Resource not found! (${req.params.resourceId})`\n          })\n        }\n      }\n    )\n\n    // facilitate retrieval of a specific resource property\n    server.get(\n      `${RESOURCES_API_PATH}/:resourceType/:resourceId/*`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** GET ${RESOURCES_API_PATH}/:resourceType/:resourceId/*`)\n\n        if (req.path.match(CHART_TILE_REGEX)) {\n          debug('*** CHART TILE request -> next()')\n          next()\n          return\n        }\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        try {\n          const property = req.params['0']\n            ? req.params['0'].split('/').join('.')\n            : undefined\n\n          if (req.query.provider) {\n            const provider = this.checkForProvider(\n              req.params.resourceType as SignalKResourceType,\n              req.query.provider ? (req.query.provider as string) : undefined\n            )\n            if (!provider) {\n              debug('** No provider found... calling next()...')\n              next()\n              return\n            }\n            const retVal = await this.resProvider[req.params.resourceType]\n              ?.get(provider)\n              ?.getResource(req.params.resourceId, property)\n            res.json(retVal)\n          } else {\n            const retVal = await this.getFromAll(\n              req.params.resourceType,\n              req.params.resourceId,\n              property\n            )\n            res.json(retVal)\n          }\n        } catch (_err) {\n          res.status(404).json({\n            state: 'FAILED',\n            statusCode: 404,\n            message: `Resource not found! (${req.params.resourceId})`\n          })\n        }\n      }\n    )\n\n    // facilitate retrieval of a collection of resource entries\n    server.get(\n      `${RESOURCES_API_PATH}/:resourceType`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** GET ${RESOURCES_API_PATH}/:resourceType`)\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        const parsedQuery = Object.entries(req.query).reduce(\n          (acc: any, [name, value]) => {\n            try {\n              acc[name] = JSON.parse(value as string)\n              return acc\n            } catch (_error) {\n              acc[name] = value\n              return acc\n            }\n          },\n          {}\n        )\n\n        if (isSignalKResourceType(req.params.resourceType)) {\n          try {\n            validate.query(\n              req.params.resourceType as SignalKResourceType,\n              undefined,\n              req.method,\n              parsedQuery\n            )\n          } catch (e) {\n            res.status(400).json({\n              state: 'FAILED',\n              statusCode: 400,\n              message: (e as Error).message\n            })\n            return\n          }\n        }\n\n        try {\n          if (req.query.provider) {\n            const provider = this.checkForProvider(\n              req.params.resourceType as SignalKResourceType,\n              req.query.provider ? (req.query.provider as string) : undefined\n            )\n            if (!provider) {\n              debug('** No provider found... calling next()...')\n              next()\n              return\n            }\n            const retVal = await this.resProvider[req.params.resourceType]\n              ?.get(provider)\n              ?.listResources(parsedQuery)\n            res.json(retVal)\n          } else {\n            const retVal = await this.listFromAll(\n              req.params.resourceType,\n              parsedQuery\n            )\n            res.json(retVal)\n          }\n        } catch (err) {\n          console.error(err)\n          res.status(404).json({\n            state: 'FAILED',\n            statusCode: 404,\n            message: `Error retrieving resources!`\n          })\n        }\n      }\n    )\n\n    // facilitate creation of new resource entry of supplied type\n    server.post(\n      `${RESOURCES_API_PATH}/:resourceType`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** POST ${req.path}`)\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        const provider = await this.getProviderForWrite(\n          req.params.resourceType as SignalKResourceType,\n          '',\n          req.query.provider ? (req.query.provider as string) : undefined\n        )\n        if (!provider) {\n          debug('** No provider found... calling next()...')\n          next()\n          return\n        }\n\n        if (!updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n        if (isSignalKResourceType(req.params.resourceType)) {\n          try {\n            validate.resource(\n              req.params.resourceType as SignalKResourceType,\n              undefined,\n              req.method,\n              req.body\n            )\n          } catch (e) {\n            res.status(400).json({\n              state: 'FAILED',\n              statusCode: 400,\n              message: (e as Error).message\n            })\n            return\n          }\n        }\n\n        let id: string\n        if (req.params.resourceType === 'charts') {\n          id = req.body.identifier ?? skUuid()\n        } else {\n          id = skUuid()\n        }\n\n        try {\n          await this.resProvider[req.params.resourceType]\n            ?.get(provider)\n            ?.setResource(id, req.body)\n\n          server.handleMessage(\n            provider as string,\n            this.buildDeltaMsg(\n              req.params.resourceType as SignalKResourceType,\n              id,\n              req.body\n            ),\n            SKVersion.v2\n          )\n          res.status(201).json({\n            state: 'COMPLETED',\n            statusCode: 201,\n            id\n          })\n        } catch (_err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `Error saving ${req.params.resourceType} resource (${id})!`\n          })\n        }\n      }\n    )\n\n    // facilitate creation / update of resource entry at supplied id\n    server.put(\n      `${RESOURCES_API_PATH}/:resourceType/:resourceId`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** PUT ${RESOURCES_API_PATH}/:resourceType/:resourceId`)\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        if (!updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n\n        if (isSignalKResourceType(req.params.resourceType)) {\n          let isValidId: boolean\n          if (req.params.resourceType === 'charts') {\n            isValidId = validate.chartId(req.params.resourceId)\n          } else {\n            isValidId = validate.uuid(req.params.resourceId)\n          }\n          if (!isValidId) {\n            res.status(400).json({\n              state: 'FAILED',\n              statusCode: 400,\n              message: `Invalid resource id provided (${req.params.resourceId})`\n            })\n            return\n          }\n\n          debug(req.body)\n          try {\n            validate.resource(\n              req.params.resourceType as SignalKResourceType,\n              req.params.resourceId,\n              req.method,\n              req.body\n            )\n          } catch (e) {\n            res.status(400).json({\n              state: 'FAILED',\n              statusCode: 400,\n              message: (e as Error).message\n            })\n            return\n          }\n        }\n\n        try {\n          const provider = await this.getProviderForWrite(\n            req.params.resourceType as SignalKResourceType,\n            req.params.resourceId,\n            req.query.provider ? (req.query.provider as string) : undefined\n          )\n          if (!provider) {\n            debug('** No provider found... calling next()...')\n            next()\n            return\n          }\n          await this.resProvider[req.params.resourceType]\n            ?.get(provider)\n            ?.setResource(req.params.resourceId, req.body)\n\n          server.handleMessage(\n            provider as string,\n            this.buildDeltaMsg(\n              req.params.resourceType as SignalKResourceType,\n              req.params.resourceId,\n              req.body\n            ),\n            SKVersion.v2\n          )\n          res.status(200).json({\n            state: 'COMPLETED',\n            statusCode: 200,\n            message: req.params.resourceId\n          })\n        } catch (_err) {\n          res.status(404).json({\n            state: 'FAILED',\n            statusCode: 404,\n            message: `Error saving ${req.params.resourceType} resource (${req.params.resourceId})!`\n          })\n        }\n      }\n    )\n\n    // facilitate deletion of specific of resource entry at supplied id\n    server.delete(\n      `${RESOURCES_API_PATH}/:resourceType/:resourceId`,\n      async (req: Request, res: Response, next: NextFunction) => {\n        debug(`** DELETE ${RESOURCES_API_PATH}/:resourceType/:resourceId`)\n\n        if (!this.hasRegisteredProvider(req.params.resourceType)) {\n          next()\n          return\n        }\n\n        if (!updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n          return\n        }\n\n        try {\n          let provider: string | undefined = undefined\n          if (req.query.provider) {\n            provider = this.checkForProvider(\n              req.params.resourceType as SignalKResourceType,\n              req.query.provider ? (req.query.provider as string) : undefined\n            )\n          } else {\n            provider = await this.getProviderForResourceId(\n              req.params.resourceType,\n              req.params.resourceId\n            )\n          }\n          if (!provider) {\n            debug('** No provider found... calling next()...')\n            next()\n            return\n          }\n\n          await this.resProvider[req.params.resourceType]\n            ?.get(provider)\n            ?.deleteResource(req.params.resourceId)\n\n          server.handleMessage(\n            provider as string,\n            this.buildDeltaMsg(\n              req.params.resourceType as SignalKResourceType,\n              req.params.resourceId,\n              null\n            ),\n            SKVersion.v2\n          )\n          res.status(200).json({\n            state: 'COMPLETED',\n            statusCode: 200,\n            message: req.params.resourceId\n          })\n        } catch (_err) {\n          res.status(400).json({\n            state: 'FAILED',\n            statusCode: 400,\n            message: `Error deleting resource (${req.params.resourceId})!`\n          })\n        }\n      }\n    )\n  }\n\n  private getResourcePaths(): { [key: string]: any } {\n    const resPaths: { [key: string]: any } = {}\n    for (const i in this.resProvider) {\n      if (this.resProvider.hasOwnProperty(i)) {\n        resPaths[i] = {\n          description: `Path containing ${\n            i.slice(-1) === 's' ? i.slice(0, i.length - 1) : i\n          } resources`\n        }\n      }\n    }\n    return resPaths\n  }\n\n  private buildDeltaMsg(\n    resType: SignalKResourceType,\n    resid: string,\n    resValue: any\n  ): Delta {\n    return {\n      updates: [\n        {\n          values: [\n            {\n              path: `resources.${resType}.${resid}` as Path,\n              value: resValue\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/resources/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  PositionSchema,\n  SignalKUuidSchema,\n  GeoJsonPointGeometrySchema,\n  GeoJsonLinestringGeometrySchema,\n  GeoJsonPolygonGeometrySchema,\n  GeoJsonMultiPolygonGeometrySchema,\n  SignalKHrefSchema,\n  HrefAttributeSchema,\n  PositionAttributeSchema,\n  RouteSchema,\n  RoutePointMetaSchema,\n  WaypointSchema,\n  RegionSchema,\n  NoteBaseModelSchema,\n  NoteSchema,\n  TileLayerSourceSchema,\n  MapServerSourceSchema,\n  ChartSchema,\n  BaseResponseModelSchema\n} from '@signalk/server-api/typebox'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const resourcesApiDoc: any = {\n  openapi: '3.0.0',\n  info: {\n    version: '2.0.0',\n    title: 'Signal K Resources API',\n    termsOfService: 'http://signalk.org/terms/',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [\n    {\n      url: '/signalk/v2/api'\n    }\n  ],\n  tags: [\n    {\n      name: 'providers',\n      description: 'Resource Providers'\n    },\n    {\n      name: 'resources',\n      description: 'Signal K resources'\n    },\n    {\n      name: 'routes',\n      description: 'Route operations'\n    },\n    {\n      name: 'waypoints',\n      description: 'Waypoint operations'\n    },\n    {\n      name: 'regions',\n      description: 'Region operations'\n    },\n    {\n      name: 'notes',\n      description: 'Note operations'\n    },\n    {\n      name: 'charts',\n      description: 'Chart operations'\n    }\n  ],\n  security: [\n    {\n      cookieAuth: []\n    },\n    {\n      bearerAuth: []\n    }\n  ],\n  components: {\n    schemas: {\n      ...typeboxToOpenApiSchemas([\n        GeoJsonPointGeometrySchema,\n        GeoJsonLinestringGeometrySchema,\n        GeoJsonPolygonGeometrySchema,\n        GeoJsonMultiPolygonGeometrySchema,\n        SignalKUuidSchema,\n        SignalKHrefSchema,\n        PositionSchema,\n        HrefAttributeSchema,\n        PositionAttributeSchema,\n        RouteSchema,\n        RoutePointMetaSchema,\n        WaypointSchema,\n        RegionSchema,\n        NoteBaseModelSchema,\n        NoteSchema,\n        TileLayerSourceSchema,\n        MapServerSourceSchema,\n        ChartSchema,\n        BaseResponseModelSchema\n      ]),\n      RouteResponseModel: {\n        allOf: [\n          { $ref: '#/components/schemas/Route' },\n          { $ref: '#/components/schemas/BaseResponseModel' }\n        ]\n      },\n      WaypointResponseModel: {\n        allOf: [\n          { $ref: '#/components/schemas/Waypoint' },\n          { $ref: '#/components/schemas/BaseResponseModel' }\n        ]\n      },\n      NoteResponseModel: {\n        allOf: [\n          { $ref: '#/components/schemas/Note' },\n          { $ref: '#/components/schemas/BaseResponseModel' }\n        ]\n      },\n      RegionResponseModel: {\n        allOf: [\n          { $ref: '#/components/schemas/Region' },\n          { $ref: '#/components/schemas/BaseResponseModel' }\n        ]\n      },\n      ChartResponseModel: {\n        allOf: [\n          { $ref: '#/components/schemas/Chart' },\n          { $ref: '#/components/schemas/BaseResponseModel' }\n        ]\n      }\n    },\n    responses: {\n      '200ActionResponse': {\n        description: 'PUT, DELETE OK response',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              properties: {\n                state: {\n                  type: 'string',\n                  enum: ['COMPLETED']\n                },\n                statusCode: {\n                  type: 'number',\n                  enum: [200]\n                },\n                id: {\n                  $ref: '#/components/schemas/SignalKUuid'\n                }\n              },\n              required: ['id', 'statusCode', 'state']\n            }\n          }\n        }\n      },\n      '201ActionResponse': {\n        description: 'POST OK response',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              properties: {\n                state: {\n                  type: 'string',\n                  enum: ['COMPLETED']\n                },\n                statusCode: {\n                  type: 'number',\n                  enum: [201]\n                },\n                id: {\n                  $ref: '#/components/schemas/SignalKUuid'\n                }\n              },\n              required: ['id', 'statusCode', 'state']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: {\n                  type: 'string',\n                  enum: ['FAILED']\n                },\n                statusCode: {\n                  type: 'number',\n                  enum: [404]\n                },\n                message: {\n                  type: 'string'\n                }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      },\n      RouteResponse: {\n        description: 'Route record response',\n        content: {\n          'application/json': {\n            schema: {\n              $ref: '#/components/schemas/RouteResponseModel'\n            }\n          }\n        }\n      },\n      WaypointResponse: {\n        description: 'Waypoint record response',\n        content: {\n          'application/json': {\n            schema: {\n              $ref: '#/components/schemas/WaypointResponseModel'\n            }\n          }\n        }\n      },\n      NoteResponse: {\n        description: 'Note record response',\n        content: {\n          'application/json': {\n            schema: {\n              $ref: '#/components/schemas/NoteResponseModel'\n            }\n          }\n        }\n      },\n      RegionResponse: {\n        description: 'Region record response',\n        content: {\n          'application/json': {\n            schema: {\n              $ref: '#/components/schemas/RegionResponseModel'\n            }\n          }\n        }\n      },\n      ChartResponse: {\n        description: 'Chart record response',\n        content: {\n          'application/json': {\n            schema: {\n              $ref: '#/components/schemas/ChartResponseModel'\n            }\n          }\n        }\n      }\n    },\n    parameters: {\n      ResourceTypeParam: {\n        name: 'resourceType',\n        in: 'path',\n        description: 'Resource type',\n        required: true,\n        schema: {\n          type: 'string'\n        }\n      },\n      LimitParam: {\n        in: 'query',\n        name: 'limit',\n        description: 'Maximum number of records to return',\n        schema: {\n          type: 'integer',\n          format: 'int32',\n          minimum: 1,\n          example: 100\n        }\n      },\n      DistanceParam: {\n        in: 'query',\n        name: 'distance',\n        description:\n          \"Limit results to resources that fall within a square area, centered around the vessel's position (or position parameter value if supplied), the edges of which are the sepecified distance in meters from the vessel.\",\n        schema: {\n          type: 'integer',\n          format: 'int32',\n          minimum: 100,\n          example: 2000\n        }\n      },\n      BoundingBoxParam: {\n        in: 'query',\n        name: 'bbox',\n        description:\n          'Limit results to resources that fall within the bounded area defined as lower left and upper right longitude, latatitude coordinates [lon1, lat1, lon2, lat2]',\n        style: 'form',\n        explode: false,\n        schema: {\n          type: 'array',\n          minItems: 4,\n          maxItems: 4,\n          items: {\n            type: 'number',\n            format: 'float',\n            minimum: -180,\n            maximum: 180\n          },\n          example: [135.5, -25.2, 138.1, -28]\n        }\n      },\n      PositionParam: {\n        in: 'query',\n        name: 'position',\n        description:\n          'Location, in format [longitude, latitude], from where the distance parameter is applied.',\n        style: 'form',\n        explode: false,\n        schema: {\n          type: 'array',\n          minItems: 2,\n          maxItems: 2,\n          items: {\n            type: 'number',\n            format: 'float',\n            minimum: -180,\n            maximum: 180\n          },\n          example: [135.5, -25.2]\n        }\n      },\n      ZoomParam: {\n        in: 'query',\n        name: 'zoom',\n        description:\n          'Zoom level of the map used by the client to display the returned resource entries. Refer: [OSM Zoom Levels](https://wiki.openstreetmap.org/wiki/Zoom_levels)',\n        schema: {\n          type: 'integer',\n          format: 'int32',\n          minimum: 1,\n          example: 4\n        }\n      },\n      ProviderParam: {\n        in: 'query',\n        name: 'provider',\n        description:\n          'Plugin id of the resource provider to direct the request to (When multiple providers are registered for a resource type).',\n        style: 'form',\n        explode: false,\n        schema: {\n          type: 'string',\n          example: 'my-provider'\n        }\n      }\n    },\n    securitySchemes: {\n      bearerAuth: {\n        type: 'http',\n        scheme: 'bearer',\n        bearerFormat: 'JWT'\n      },\n      cookieAuth: {\n        type: 'apiKey',\n        in: 'cookie',\n        name: 'JAUTHENTICATION'\n      }\n    }\n  },\n  paths: {\n    '/resources': {\n      get: {\n        tags: ['resources'],\n        summary: 'Retrieve list of available resource types',\n        responses: {\n          default: {\n            description: 'List of available resource types identified by name',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    required: ['$source'],\n                    properties: {\n                      description: {\n                        type: 'string'\n                      },\n                      $source: {\n                        type: 'string'\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/resources/routes': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['routes'],\n        summary: 'Retrieve route resources',\n        parameters: [\n          {\n            $ref: '#/components/parameters/LimitParam'\n          },\n          {\n            $ref: '#/components/parameters/DistanceParam'\n          },\n          {\n            $ref: '#/components/parameters/BoundingBoxParam'\n          },\n          {\n            $ref: '#/components/parameters/PositionParam'\n          },\n          {\n            $ref: '#/components/parameters/ZoomParam'\n          }\n        ],\n        responses: {\n          default: {\n            description:\n              'An object containing Route resources, keyed by their UUID.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    allOf: [\n                      {\n                        $ref: '#/components/schemas/RouteResponseModel'\n                      }\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      post: {\n        tags: ['routes'],\n        summary: 'New Route',\n        requestBody: {\n          description: 'API request payload',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Route'\n              }\n            }\n          }\n        },\n        responses: {\n          '201': {\n            $ref: '#/components/responses/201ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/routes/{id}': {\n      parameters: [\n        {\n          name: 'id',\n          in: 'path',\n          description: 'route id',\n          required: true,\n          schema: {\n            $ref: '#/components/schemas/SignalKUuid'\n          }\n        },\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['routes'],\n        summary: 'Retrieve route with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/RouteResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      put: {\n        tags: ['routes'],\n        summary: 'Add / update a new Route with supplied id',\n        requestBody: {\n          description: 'Route resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Route'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      delete: {\n        tags: ['routes'],\n        summary: 'Remove Route with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/waypoints': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['waypoints'],\n        summary: 'Retrieve waypoint resources',\n        parameters: [\n          {\n            $ref: '#/components/parameters/LimitParam'\n          },\n          {\n            $ref: '#/components/parameters/DistanceParam'\n          },\n          {\n            $ref: '#/components/parameters/BoundingBoxParam'\n          },\n          {\n            $ref: '#/components/parameters/PositionParam'\n          },\n          {\n            $ref: '#/components/parameters/ZoomParam'\n          }\n        ],\n        responses: {\n          default: {\n            description:\n              'An object containing Waypoint resources, keyed by their UUID.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    allOf: [\n                      {\n                        $ref: '#/components/schemas/WaypointResponseModel'\n                      }\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      post: {\n        tags: ['waypoints'],\n        summary: 'New Waypoint',\n        requestBody: {\n          description: 'API request payload',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Waypoint'\n              }\n            }\n          }\n        },\n        responses: {\n          '201': {\n            $ref: '#/components/responses/201ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/waypoints/{id}': {\n      parameters: [\n        {\n          name: 'id',\n          in: 'path',\n          description: 'waypoint id',\n          required: true,\n          schema: {\n            $ref: '#/components/schemas/SignalKUuid'\n          }\n        },\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['waypoints'],\n        summary: 'Retrieve waypoint with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/WaypointResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      put: {\n        tags: ['waypoints'],\n        summary: 'Add / update a new Waypoint with supplied id',\n        requestBody: {\n          description: 'Waypoint resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Waypoint'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      delete: {\n        tags: ['waypoints'],\n        summary: 'Remove Waypoint with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/regions': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['regions'],\n        summary: 'Retrieve region resources',\n        parameters: [\n          {\n            $ref: '#/components/parameters/LimitParam'\n          },\n          {\n            $ref: '#/components/parameters/DistanceParam'\n          },\n          {\n            $ref: '#/components/parameters/BoundingBoxParam'\n          },\n          {\n            $ref: '#/components/parameters/PositionParam'\n          },\n          {\n            $ref: '#/components/parameters/ZoomParam'\n          }\n        ],\n        responses: {\n          default: {\n            description:\n              'An object containing Region resources, keyed by their UUID.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    allOf: [\n                      {\n                        $ref: '#/components/schemas/RegionResponseModel'\n                      }\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      post: {\n        tags: ['regions'],\n        summary: 'New Region',\n        requestBody: {\n          description: 'API request payload',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Region'\n              }\n            }\n          }\n        },\n        responses: {\n          '201': {\n            $ref: '#/components/responses/201ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/regions/{id}': {\n      parameters: [\n        {\n          name: 'id',\n          in: 'path',\n          description: 'region id',\n          required: true,\n          schema: {\n            $ref: '#/components/schemas/SignalKUuid'\n          }\n        },\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['regions'],\n        summary: 'Retrieve region with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/RegionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      put: {\n        tags: ['regions'],\n        summary: 'Add / update a new Region with supplied id',\n        requestBody: {\n          description: 'Region resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Region'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      delete: {\n        tags: ['regions'],\n        summary: 'Remove Region with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/notes': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['notes'],\n        summary: 'Retrieve note resources',\n        parameters: [\n          {\n            $ref: '#/components/parameters/LimitParam'\n          },\n          {\n            $ref: '#/components/parameters/DistanceParam'\n          },\n          {\n            $ref: '#/components/parameters/BoundingBoxParam'\n          },\n          {\n            $ref: '#/components/parameters/PositionParam'\n          },\n          {\n            $ref: '#/components/parameters/ZoomParam'\n          },\n          {\n            name: 'href',\n            in: 'query',\n            description:\n              'Limit results to notes with matching resource reference',\n            example:\n              '/resources/waypoints/ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a',\n            required: false,\n            explode: false,\n            schema: {\n              $ref: '#/components/schemas/SignalKHref'\n            }\n          }\n        ],\n        responses: {\n          default: {\n            description:\n              'An object containing Note resources, keyed by their UUID.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    allOf: [\n                      {\n                        $ref: '#/components/schemas/NoteResponseModel'\n                      }\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      post: {\n        tags: ['notes'],\n        summary: 'New Note',\n        requestBody: {\n          description: 'Note resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Note'\n              }\n            }\n          }\n        },\n        responses: {\n          '201': {\n            $ref: '#/components/responses/201ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/notes/{id}': {\n      parameters: [\n        {\n          name: 'id',\n          in: 'path',\n          description: 'note id',\n          required: true,\n          schema: {\n            $ref: '#/components/schemas/SignalKUuid'\n          }\n        },\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['notes'],\n        summary: 'Retrieve note with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/NoteResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      put: {\n        tags: ['notes'],\n        summary: 'Add / update a new Note with supplied id',\n        requestBody: {\n          description: 'Note resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Note'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      delete: {\n        tags: ['notes'],\n        summary: 'Remove Note with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/charts': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['charts'],\n        summary: 'Retrieve chart resources',\n        responses: {\n          default: {\n            description:\n              'An object containing Chart resources, keyed by their UUID.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    allOf: [\n                      {\n                        $ref: '#/components/schemas/ChartResponseModel'\n                      }\n                    ]\n                  }\n                }\n              }\n            }\n          }\n        }\n      },\n      post: {\n        tags: ['charts'],\n        summary: 'Add a new Chart source',\n        requestBody: {\n          description: 'Chart resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Chart'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/charts/{id}': {\n      parameters: [\n        {\n          name: 'id',\n          in: 'path',\n          description: 'chart id',\n          required: true,\n          schema: {\n            type: 'string'\n          }\n        },\n        {\n          $ref: '#/components/parameters/ProviderParam'\n        }\n      ],\n      get: {\n        tags: ['charts'],\n        summary: 'Retrieve chart metadata for the supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/ChartResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      put: {\n        tags: ['charts'],\n        summary: 'Add / update a new Chart source with supplied id',\n        requestBody: {\n          description: 'Chart resource entry',\n          required: true,\n          content: {\n            'application/json': {\n              schema: {\n                $ref: '#/components/schemas/Chart'\n              }\n            }\n          }\n        },\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      },\n      delete: {\n        tags: ['charts'],\n        summary: 'Remove Chart source with supplied id',\n        responses: {\n          '200': {\n            $ref: '#/components/responses/200ActionResponse'\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    },\n    '/resources/{resourceType}/_providers': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ResourceTypeParam'\n        }\n      ],\n      get: {\n        tags: ['providers'],\n        summary: 'List of resource providers for the resource type.',\n        responses: {\n          default: {\n            description:\n              'An array of registered resource providers servicing the resource type.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: {\n                    type: 'string'\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/resources/{resourceType}/_providers/_default': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ResourceTypeParam'\n        }\n      ],\n      get: {\n        tags: ['providers'],\n        summary:\n          'Returns the plugin id of the current default provider for the resource type.',\n        responses: {\n          default: {\n            description:\n              'An string containing the id of the resource provider plugin servicing the resource type.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'string'\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/resources/{resourceType}/_providers/_default/{pluginId}': {\n      parameters: [\n        {\n          $ref: '#/components/parameters/ResourceTypeParam'\n        },\n        {\n          name: 'pluginId',\n          in: 'path',\n          description: 'Provider plugin id',\n          required: true,\n          schema: {\n            type: 'string'\n          }\n        }\n      ],\n      post: {\n        tags: ['providers'],\n        summary: 'Set the default provider for the resource type.',\n        responses: {\n          '200': {\n            description: 'OK response',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  properties: {\n                    state: {\n                      type: 'string',\n                      enum: ['COMPLETED']\n                    },\n                    statusCode: {\n                      type: 'number',\n                      enum: [200]\n                    },\n                    message: {\n                      type: 'string'\n                    }\n                  },\n                  required: ['statusCode', 'state']\n                }\n              }\n            }\n          },\n          default: {\n            $ref: '#/components/responses/ErrorResponse'\n          }\n        }\n      }\n    }\n  }\n}\n\nexport const resourcesApiRecord = {\n  name: 'resources',\n  path: '/signalk/v2/api',\n  apiDoc: resourcesApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/resources/validate.ts",
    "content": "import { SignalKResourceType } from '@signalk/server-api'\nimport { buildSchemaSync } from 'api-schema-builder'\nimport { RESOURCES_API_PATH } from '.'\nimport { createDebug } from '../../debug'\nimport { resourcesApiDoc } from './openApi'\nconst debug = createDebug('signalk-server:api:resources:validate')\n\nclass ValidationError extends Error {}\n\nconst API_SCHEMA = buildSchemaSync(resourcesApiDoc)\n\nexport const validate = {\n  resource: (\n    type: SignalKResourceType,\n    id: string | undefined,\n    method: string,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any\n  ): void => {\n    debug.enabled &&\n      debug(`Validating ${type} ${method} ${JSON.stringify(value)}`)\n    const endpoint =\n      API_SCHEMA[`${RESOURCES_API_PATH}/${type as string}${id ? '/:id' : ''}`][\n        method.toLowerCase()\n      ]\n    if (!endpoint) {\n      throw new Error(`Validation: endpoint for ${type} ${method} not found`)\n    }\n    const valid = endpoint.body.validate(value)\n    if (valid) {\n      return\n    } else {\n      debug(endpoint.body.errors)\n      throw new ValidationError(JSON.stringify(endpoint.body.errors))\n    }\n  },\n\n  query: (\n    type: SignalKResourceType,\n    id: string | undefined,\n    method: string,\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    value: any\n  ): void => {\n    debug.enabled &&\n      debug(\n        `*** Validating query params for ${type} ${method} ${JSON.stringify(value)}`\n      )\n    const endpoint =\n      API_SCHEMA[`${RESOURCES_API_PATH}/${type as string}${id ? '/:id' : ''}`][\n        method.toLowerCase()\n      ]\n    if (!endpoint) {\n      throw new Error(`Validation: endpoint for ${type} ${method} not found`)\n    }\n    const valid = endpoint.parameters.validate({ query: value })\n    if (valid) {\n      return\n    } else {\n      debug(endpoint.parameters.errors)\n      throw new ValidationError(JSON.stringify(endpoint.parameters.errors))\n    }\n  },\n\n  // returns true if id is a valid Signal K UUID\n  uuid: (id: string): boolean => {\n    const uuid = RegExp(\n      '^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$'\n    )\n    return uuid.test(id)\n  },\n\n  // returns true if id is a valid Signal K Chart resource id\n  chartId: (id: string): boolean => {\n    const uuid = RegExp('(^[A-Za-z0-9_-]{8,}$)')\n    return uuid.test(id)\n  }\n}\n"
  },
  {
    "path": "src/api/security/openApi.json",
    "content": "{\n  \"openapi\": \"3.0.0\",\n  \"info\": {\n    \"version\": \"1.0.0\",\n    \"title\": \"Signal K Security API\",\n    \"license\": {\n      \"name\": \"Apache 2.0\",\n      \"url\": \"http://www.apache.org/licenses/LICENSE-2.0.html\"\n    }\n  },\n  \"externalDocs\": {\n    \"url\": \"http://signalk.org/specification/\",\n    \"description\": \"Signal K specification.\"\n  },\n  \"servers\": [\n    {\n      \"url\": \"/signalk/v1\"\n    }\n  ],\n  \"tags\": [\n    {\n      \"name\": \"authentication\",\n      \"description\": \"User authentication\"\n    },\n    {\n      \"name\": \"access\",\n      \"description\": \"Device access\"\n    },\n    {\n      \"name\": \"oidc\",\n      \"description\": \"OpenID Connect (OIDC) configuration\"\n    }\n  ],\n  \"components\": {\n    \"schemas\": {\n      \"IsoTime\": {\n        \"type\": \"string\",\n        \"pattern\": \"^(\\\\d{4})-(\\\\d{2})-(\\\\d{2})T(\\\\d{2}):(\\\\d{2}):(\\\\d{2}(?:\\\\.\\\\d*)?)((-(\\\\d{2}):(\\\\d{2})|Z)?)$\",\n        \"example\": \"2022-04-22T05:02:56.484Z\"\n      },\n      \"RequestState\": {\n        \"type\": \"string\",\n        \"enum\": [\"PENDING\", \"FAILED\", \"COMPLETED\"]\n      },\n      \"OIDCPermission\": {\n        \"type\": \"string\",\n        \"enum\": [\"readonly\", \"readwrite\", \"admin\"],\n        \"description\": \"Signal K permission level\"\n      },\n      \"OIDCConfigResponse\": {\n        \"type\": \"object\",\n        \"description\": \"OIDC configuration (secrets redacted)\",\n        \"properties\": {\n          \"enabled\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether OIDC authentication is enabled\"\n          },\n          \"issuer\": {\n            \"type\": \"string\",\n            \"description\": \"OIDC provider issuer URL\",\n            \"example\": \"https://auth.example.com\"\n          },\n          \"clientId\": {\n            \"type\": \"string\",\n            \"description\": \"OAuth client ID\"\n          },\n          \"clientSecret\": {\n            \"type\": \"string\",\n            \"description\": \"Always empty (redacted for security)\"\n          },\n          \"clientSecretSet\": {\n            \"type\": \"boolean\",\n            \"description\": \"Whether a client secret has been configured\"\n          },\n          \"redirectUri\": {\n            \"type\": \"string\",\n            \"description\": \"OAuth redirect URI (optional, auto-generated if not set)\"\n          },\n          \"scope\": {\n            \"type\": \"string\",\n            \"description\": \"OAuth scopes to request\",\n            \"example\": \"openid email profile\"\n          },\n          \"defaultPermission\": {\n            \"$ref\": \"#/components/schemas/OIDCPermission\"\n          },\n          \"autoCreateUsers\": {\n            \"type\": \"boolean\",\n            \"description\": \"Automatically create users on first OIDC login\"\n          },\n          \"adminGroups\": {\n            \"type\": \"array\",\n            \"items\": { \"type\": \"string\" },\n            \"description\": \"Groups that grant admin permission\",\n            \"example\": [\"admins\", \"sk-admin\"]\n          },\n          \"readwriteGroups\": {\n            \"type\": \"array\",\n            \"items\": { \"type\": \"string\" },\n            \"description\": \"Groups that grant read/write permission\",\n            \"example\": [\"users\", \"operators\"]\n          },\n          \"groupsAttribute\": {\n            \"type\": \"string\",\n            \"description\": \"ID token claim containing user groups\",\n            \"example\": \"groups\"\n          },\n          \"providerName\": {\n            \"type\": \"string\",\n            \"description\": \"Display name shown on login button\",\n            \"example\": \"SSO Login\"\n          },\n          \"autoLogin\": {\n            \"type\": \"boolean\",\n            \"description\": \"Automatically redirect to OIDC provider when not authenticated\"\n          },\n          \"envOverrides\": {\n            \"type\": \"object\",\n            \"description\": \"Fields that are overridden by environment variables\",\n            \"additionalProperties\": { \"type\": \"boolean\" }\n          }\n        }\n      },\n      \"OIDCConfigRequest\": {\n        \"type\": \"object\",\n        \"description\": \"OIDC configuration update request\",\n        \"properties\": {\n          \"enabled\": {\n            \"type\": \"boolean\"\n          },\n          \"issuer\": {\n            \"type\": \"string\",\n            \"example\": \"https://auth.example.com\"\n          },\n          \"clientId\": {\n            \"type\": \"string\"\n          },\n          \"clientSecret\": {\n            \"type\": \"string\",\n            \"description\": \"Leave empty to keep existing secret\"\n          },\n          \"scope\": {\n            \"type\": \"string\",\n            \"example\": \"openid email profile\"\n          },\n          \"defaultPermission\": {\n            \"$ref\": \"#/components/schemas/OIDCPermission\"\n          },\n          \"autoCreateUsers\": {\n            \"type\": \"boolean\"\n          },\n          \"adminGroups\": {\n            \"oneOf\": [\n              { \"type\": \"string\", \"description\": \"Comma-separated list\" },\n              { \"type\": \"array\", \"items\": { \"type\": \"string\" } }\n            ]\n          },\n          \"readwriteGroups\": {\n            \"oneOf\": [\n              { \"type\": \"string\", \"description\": \"Comma-separated list\" },\n              { \"type\": \"array\", \"items\": { \"type\": \"string\" } }\n            ]\n          },\n          \"groupsAttribute\": {\n            \"type\": \"string\"\n          },\n          \"providerName\": {\n            \"type\": \"string\"\n          },\n          \"autoLogin\": {\n            \"type\": \"boolean\"\n          }\n        }\n      },\n      \"OIDCTestRequest\": {\n        \"type\": \"object\",\n        \"required\": [\"issuer\"],\n        \"properties\": {\n          \"issuer\": {\n            \"type\": \"string\",\n            \"description\": \"OIDC provider issuer URL to test\",\n            \"example\": \"https://auth.example.com\"\n          }\n        }\n      },\n      \"OIDCTestResponse\": {\n        \"type\": \"object\",\n        \"description\": \"OIDC connection test result\",\n        \"properties\": {\n          \"success\": {\n            \"type\": \"boolean\"\n          },\n          \"issuer\": {\n            \"type\": \"string\",\n            \"description\": \"Issuer from discovery document\"\n          },\n          \"authorization_endpoint\": {\n            \"type\": \"string\",\n            \"description\": \"OAuth authorization endpoint\"\n          },\n          \"token_endpoint\": {\n            \"type\": \"string\",\n            \"description\": \"OAuth token endpoint\"\n          },\n          \"userinfo_endpoint\": {\n            \"type\": \"string\",\n            \"description\": \"OIDC userinfo endpoint\"\n          },\n          \"jwks_uri\": {\n            \"type\": \"string\",\n            \"description\": \"JSON Web Key Set URI\"\n          }\n        }\n      }\n    },\n    \"responses\": {\n      \"200Ok\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"COMPLETED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [200]\n                }\n              },\n              \"required\": [\"state\", \"statusCode\"]\n            }\n          }\n        }\n      },\n      \"ErrorResponse\": {\n        \"description\": \"Failed operation\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"type\": \"object\",\n              \"description\": \"Request error response\",\n              \"properties\": {\n                \"state\": {\n                  \"type\": \"string\",\n                  \"enum\": [\"FAILED\"]\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"enum\": [404]\n                },\n                \"message\": {\n                  \"type\": \"string\"\n                }\n              },\n              \"required\": [\"state\", \"statusCode\", \"message\"]\n            }\n          }\n        }\n      },\n      \"AccessRequestResponse\": {\n        \"description\": \"Request status\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"description\": \"Request response\",\n              \"type\": \"object\",\n              \"required\": [\"state\"],\n              \"properties\": {\n                \"state\": {\n                  \"$ref\": \"#/components/schemas/RequestState\",\n                  \"default\": \"PENDING\",\n                  \"example\": \"PENDING\",\n                  \"description\": \"Status of request.\"\n                },\n                \"href\": {\n                  \"type\": \"string\",\n                  \"example\": \"/signalk/v1/requests/358b5f32-76bf-4b33-8b23-10a330827185\",\n                  \"description\": \"Path where the status of the request can be checked.\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"RequestStatusResponse\": {\n        \"description\": \"Request status\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"description\": \"Request response\",\n              \"type\": \"object\",\n              \"required\": [\"state\"],\n              \"properties\": {\n                \"state\": {\n                  \"$ref\": \"#/components/schemas/RequestState\",\n                  \"example\": \"COMPLETED\",\n                  \"default\": \"COMPLETED\",\n                  \"description\": \"Status of request.\"\n                },\n                \"statusCode\": {\n                  \"type\": \"number\",\n                  \"example\": 200,\n                  \"description\": \"Response status code.\"\n                },\n                \"ip\": {\n                  \"type\": \"string\",\n                  \"example\": \"192.168.1.77\",\n                  \"description\": \"IP address of the original access request.\"\n                },\n                \"accessRequest\": {\n                  \"type\": \"object\",\n                  \"required\": [\"permission\", \"token\"],\n                  \"description\": \"Access request result.\",\n                  \"properties\": {\n                    \"permission\": {\n                      \"enum\": [\"DENIED\", \"APPROVED\"],\n                      \"example\": \"APPROVED\"\n                    },\n                    \"token\": {\n                      \"type\": \"string\",\n                      \"description\": \"Authentication token to be supplied with future requests.\"\n                    },\n                    \"expirationTime\": {\n                      \"$ref\": \"#/components/schemas/IsoTime\",\n                      \"description\": \"Token expiration time.\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"securitySchemes\": {\n      \"bearerAuth\": {\n        \"type\": \"http\",\n        \"scheme\": \"bearer\",\n        \"bearerFormat\": \"JWT\"\n      },\n      \"cookieAuth\": {\n        \"type\": \"apiKey\",\n        \"in\": \"cookie\",\n        \"name\": \"JAUTHENTICATION\"\n      }\n    }\n  },\n\n  \"paths\": {\n    \"/access/requests\": {\n      \"post\": {\n        \"tags\": [\"access\"],\n        \"summary\": \"Create a device access request.\",\n        \"description\": \"Endpoint to create (device) access requests. The response contains the href to poll for the status of the request.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\"clientId\", \"description\"],\n                \"properties\": {\n                  \"clientId\": {\n                    \"type\": \"string\",\n                    \"description\": \"Client identifier.\",\n                    \"example\": \"1234-45653-343453\"\n                  },\n                  \"description\": {\n                    \"type\": \"string\",\n                    \"description\": \"Description of device.\",\n                    \"example\": \"humidity sensor\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/AccessRequestResponse\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      }\n    },\n    \"/requests/{id}\": {\n      \"parameters\": [\n        {\n          \"name\": \"id\",\n          \"in\": \"path\",\n          \"description\": \"request id\",\n          \"required\": true,\n          \"schema\": {\n            \"type\": \"string\"\n          }\n        }\n      ],\n      \"get\": {\n        \"tags\": [\"access\"],\n        \"summary\": \"Check device access status.\",\n        \"description\": \"Returns the status of the supplied request id.\",\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/RequestStatusResponse\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      }\n    },\n    \"/auth/login\": {\n      \"post\": {\n        \"tags\": [\"authentication\"],\n        \"summary\": \"Authenticate user.\",\n        \"description\": \"Authenticate to server using username and password.\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"type\": \"object\",\n                \"required\": [\"username\", \"password\"],\n                \"properties\": {\n                  \"username\": {\n                    \"type\": \"string\",\n                    \"description\": \"User to authenticate\"\n                  },\n                  \"password\": {\n                    \"type\": \"string\",\n                    \"description\": \"Password for supplied username.\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Successful Authentication response.\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"description\": \"Login success result\",\n                  \"type\": \"object\",\n                  \"required\": [\"token\"],\n                  \"properties\": {\n                    \"token\": {\n                      \"type\": \"string\",\n                      \"description\": \"Authentication token to be supplied with future requests.\"\n                    },\n                    \"timeToLive\": {\n                      \"type\": \"number\",\n                      \"description\": \"Token validity time (seconds).\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      }\n    },\n    \"/auth/logout\": {\n      \"put\": {\n        \"tags\": [\"authentication\"],\n        \"summary\": \"Log out user.\",\n        \"description\": \"Log out the user with the token supplied in the request header.\",\n        \"security\": [\"cookieAuth\", \"bearerAuth\"],\n        \"responses\": {\n          \"200\": {\n            \"$ref\": \"#/components/responses/200Ok\"\n          },\n          \"default\": {\n            \"$ref\": \"#/components/responses/ErrorResponse\"\n          }\n        }\n      }\n    },\n    \"/security/oidc\": {\n      \"get\": {\n        \"tags\": [\"oidc\"],\n        \"summary\": \"Get OIDC configuration.\",\n        \"description\": \"Returns the current OIDC configuration with secrets redacted. Includes indicators for fields overridden by environment variables.\",\n        \"security\": [{ \"cookieAuth\": [] }, { \"bearerAuth\": [] }],\n        \"responses\": {\n          \"200\": {\n            \"description\": \"OIDC configuration\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OIDCConfigResponse\"\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"description\": \"Unauthorized - admin access required\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"string\",\n                  \"example\": \"Security config not allowed\"\n                }\n              }\n            }\n          }\n        }\n      },\n      \"put\": {\n        \"tags\": [\"oidc\"],\n        \"summary\": \"Update OIDC configuration.\",\n        \"description\": \"Updates the OIDC configuration. Fields set via environment variables cannot be overridden. Leave clientSecret empty to preserve the existing secret.\",\n        \"security\": [{ \"cookieAuth\": [] }, { \"bearerAuth\": [] }],\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/OIDCConfigRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Configuration saved successfully\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"message\": {\n                      \"type\": \"string\",\n                      \"example\": \"OIDC configuration saved\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Invalid configuration\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"error\": {\n                      \"type\": \"string\",\n                      \"example\": \"Invalid issuer URL\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"description\": \"Unauthorized - admin access required\"\n          },\n          \"500\": {\n            \"description\": \"Failed to save configuration\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"error\": {\n                      \"type\": \"string\",\n                      \"example\": \"Unable to save OIDC configuration\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    \"/security/oidc/test\": {\n      \"post\": {\n        \"tags\": [\"oidc\"],\n        \"summary\": \"Test OIDC connection.\",\n        \"description\": \"Tests connectivity to an OIDC provider by fetching its discovery document. Returns the provider's endpoints if successful.\",\n        \"security\": [{ \"cookieAuth\": [] }, { \"bearerAuth\": [] }],\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/json\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/OIDCTestRequest\"\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"Connection successful\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/OIDCTestResponse\"\n                }\n              }\n            }\n          },\n          \"400\": {\n            \"description\": \"Invalid request\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"error\": {\n                      \"type\": \"string\",\n                      \"example\": \"Issuer URL is required\"\n                    }\n                  }\n                }\n              }\n            }\n          },\n          \"401\": {\n            \"description\": \"Unauthorized - admin access required\"\n          },\n          \"502\": {\n            \"description\": \"Failed to connect to OIDC provider\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"type\": \"object\",\n                  \"properties\": {\n                    \"error\": {\n                      \"type\": \"string\",\n                      \"example\": \"Failed to fetch OIDC discovery document\"\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/api/security/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport securityApiDoc from './openApi.json'\n\nexport const securityApiRecord = {\n  name: 'security',\n  path: '/signalk/v1',\n  apiDoc: securityApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/api/streams/binary-stream-manager.ts",
    "content": "/**\n * Binary Stream Manager\n *\n * Manages WebSocket streaming of high-frequency binary data from WASM plugins.\n * Handles buffering, client connections, and slow consumer disconnection.\n */\n\nimport Debug from 'debug'\nimport type { WebSocket } from 'ws'\n\nconst debug = Debug('signalk:streams:binary-stream-manager')\n\n/**\n * Maximum buffer size per WebSocket before considering client too slow\n */\nconst MAX_WEBSOCKET_BUFFER_SIZE = 256 * 1024 // 256KB\n\n/**\n * Maximum consecutive drops before disconnecting slow client\n */\nconst MAX_CONSECUTIVE_DROPS = 30 // ~0.5 seconds at 60Hz\n\n/**\n * Maximum frames buffered per stream (ring buffer)\n */\nconst MAX_BUFFERED_FRAMES = 100\n\n/**\n * Security principal representing the authenticated user/device\n */\nexport interface StreamPrincipal {\n  identifier: string\n}\n\n/**\n * Client connected to a binary stream\n */\ninterface StreamClient {\n  streamId: string\n  ws: WebSocket\n  principal: StreamPrincipal\n  consecutiveDropCount: number\n  connectedAt: number\n}\n\n/**\n * Manages binary data streaming to WebSocket clients\n */\nexport class BinaryStreamManager {\n  private clients: Map<string, Set<StreamClient>> = new Map()\n  private buffers: Map<string, Buffer[]> = new Map()\n\n  /**\n   * Emit binary data to all clients subscribed to a stream\n   * Called by WASM plugins via FFI binding\n   *\n   * @param streamId - Stream identifier (e.g., \"radars/radar-0\")\n   * @param data - Binary data to send\n   */\n  private emitCount: number = 0\n\n  emitData(streamId: string, data: Buffer): void {\n    this.emitCount++\n    // Log periodically\n    if (this.emitCount % 500 === 0) {\n      const clients = this.clients.get(streamId)\n      debug(\n        'emitData #%d: streamId=%s, dataLen=%d, clients=%d',\n        this.emitCount,\n        streamId,\n        data.length,\n        clients?.size || 0\n      )\n    }\n\n    // Add to ring buffer\n    let buffer = this.buffers.get(streamId)\n    if (!buffer) {\n      buffer = []\n      this.buffers.set(streamId, buffer)\n    }\n\n    buffer.push(data)\n\n    // Maintain ring buffer size\n    if (buffer.length > MAX_BUFFERED_FRAMES) {\n      buffer.shift() // Remove oldest frame\n    }\n\n    // Send to all connected clients\n    const clients = this.clients.get(streamId)\n    if (!clients || clients.size === 0) {\n      return // No clients, buffered for later\n    }\n\n    for (const client of clients) {\n      this.sendToClient(client, data)\n    }\n  }\n\n  /**\n   * Add a WebSocket client to a stream\n   *\n   * @param streamId - Stream identifier\n   * @param ws - WebSocket connection\n   * @param principal - Security principal (authenticated user)\n   */\n  addClient(streamId: string, ws: WebSocket, principal: StreamPrincipal): void {\n    debug('Adding client to stream: %s', streamId)\n\n    const client: StreamClient = {\n      streamId,\n      ws,\n      principal,\n      consecutiveDropCount: 0,\n      connectedAt: Date.now()\n    }\n\n    // Add to clients map\n    let clients = this.clients.get(streamId)\n    if (!clients) {\n      clients = new Set()\n      this.clients.set(streamId, clients)\n    }\n    clients.add(client)\n\n    // Note: We intentionally do NOT send buffered frames to new clients.\n    // For high-frequency streams like radar, sending 100 buffered frames\n    // at once overwhelms the client's WebSocket buffer, triggering\n    // backpressure disconnection. Fresh data will arrive immediately anyway.\n\n    debug(`Stream ${streamId} now has ${clients.size} client(s)`)\n  }\n\n  /**\n   * Remove a WebSocket client from a stream\n   *\n   * @param streamId - Stream identifier\n   * @param ws - WebSocket connection to remove\n   */\n  removeClient(streamId: string, ws: WebSocket): void {\n    const clients = this.clients.get(streamId)\n    if (!clients) {\n      return\n    }\n\n    // Find and remove client\n    for (const client of clients) {\n      if (client.ws === ws) {\n        clients.delete(client)\n        debug(\n          'Removed client from stream: %s, remaining: %d',\n          streamId,\n          clients.size\n        )\n        break\n      }\n    }\n\n    // Clean up empty client sets\n    if (clients.size === 0) {\n      this.clients.delete(streamId)\n      debug(`Stream ${streamId} has no more clients`)\n    }\n  }\n\n  /**\n   * Clean up all clients and buffers for a stream\n   * Called when plugin stops\n   *\n   * @param streamId - Stream identifier\n   */\n  cleanupStream(streamId: string): void {\n    const clients = this.clients.get(streamId)\n    if (clients) {\n      for (const client of clients) {\n        try {\n          client.ws.close(1001, 'Stream ended')\n        } catch (error) {\n          debug(`Error closing client WebSocket: ${error}`)\n        }\n      }\n      this.clients.delete(streamId)\n    }\n\n    this.buffers.delete(streamId)\n    debug(`Cleaned up stream: ${streamId}`)\n  }\n\n  /**\n   * Send binary data to a specific client, disconnecting slow consumers\n   *\n   * @param client - Client to send to\n   * @param data - Binary data\n   */\n  private sendToClient(client: StreamClient, data: Buffer): void {\n    // Check if client buffer is full (slow consumer)\n    if (client.ws.bufferedAmount > MAX_WEBSOCKET_BUFFER_SIZE) {\n      client.consecutiveDropCount++\n\n      if (client.consecutiveDropCount > MAX_CONSECUTIVE_DROPS) {\n        debug(\n          `Disconnecting slow client on stream ${client.streamId} ` +\n            `(dropped ${client.consecutiveDropCount} frames)`\n        )\n        try {\n          client.ws.close(1008, 'Client cannot keep up with data rate')\n        } catch (error) {\n          debug(`Error closing slow client: ${error}`)\n        }\n\n        // Remove from clients set\n        const clients = this.clients.get(client.streamId)\n        if (clients) {\n          clients.delete(client)\n        }\n      }\n\n      // Skip sending this frame\n      return\n    }\n\n    // Reset drop counter on successful send\n    client.consecutiveDropCount = 0\n\n    // Send binary frame\n    try {\n      client.ws.send(data, { binary: true })\n    } catch (error) {\n      debug(`Error sending to client on stream ${client.streamId}: ${error}`)\n    }\n  }\n\n  /**\n   * Get number of buffered frames for a stream (for testing)\n   *\n   * @param streamId - Stream identifier\n   * @returns Number of buffered frames\n   */\n  getBufferSize(streamId: string): number {\n    const buffer = this.buffers.get(streamId)\n    return buffer ? buffer.length : 0\n  }\n\n  /**\n   * Get number of connected clients for a stream (for testing)\n   *\n   * @param streamId - Stream identifier\n   * @returns Number of connected clients\n   */\n  getClientCount(streamId: string): number {\n    const clients = this.clients.get(streamId)\n    return clients ? clients.size : 0\n  }\n}\n\n// Export singleton instance\nexport const binaryStreamManager = new BinaryStreamManager()\n"
  },
  {
    "path": "src/api/streams/index.ts",
    "content": "/**\n * Binary Stream WebSocket Endpoints\n *\n * Provides WebSocket endpoints for high-frequency binary data streaming\n * from WASM plugins (radar spokes, AIS targets, etc.)\n */\n\nimport Debug from 'debug'\nimport WebSocket from 'ws'\nimport { IncomingMessage } from 'http'\nimport { Duplex } from 'stream'\nimport { Server as HttpServer } from 'http'\nimport { Server as HttpsServer } from 'https'\nimport { SecurityStrategy, WithSecurityStrategy } from '../../security'\nimport { binaryStreamManager, StreamPrincipal } from './binary-stream-manager'\n\nconst debug = Debug('signalk:streams')\n\n/**\n * Extended security strategy with WebSocket authentication methods.\n * These methods are implemented by tokensecurity.js and dummysecurity.ts\n * but not declared in the base SecurityStrategy interface.\n */\ninterface WebSocketSecurityStrategy extends SecurityStrategy {\n  shouldAllowWrite?: (request: IncomingMessage, requestType: string) => boolean\n  authorizeWS?: (request: IncomingMessage) => void\n}\n\n/**\n * Application with HTTP server for WebSocket upgrades\n */\ninterface WithServer {\n  server: HttpServer | HttpsServer | null\n}\n\n/**\n * Application interface for binary stream initialization\n */\ninterface StreamApplication\n  extends WithServer, Omit<WithSecurityStrategy, 'securityStrategy'> {\n  securityStrategy: WebSocketSecurityStrategy\n}\n\n/**\n * Extended request with SignalK principal attached by security middleware\n */\ninterface AuthenticatedRequest extends IncomingMessage {\n  skPrincipal?: StreamPrincipal\n}\n\n/**\n * Initialize binary stream WebSocket endpoints\n *\n * @param app - SignalK application instance\n */\nexport function initializeBinaryStreams(app: StreamApplication): void {\n  debug('initializeBinaryStreams called, app.server exists: %s', !!app.server)\n  if (!app.server) {\n    debug('HTTP server not available, skipping binary stream initialization')\n    return\n  }\n\n  debug('Initializing binary stream WebSocket endpoints')\n\n  // Handle WebSocket upgrade requests for binary streams\n  // Note: This listener is added to app.server which should be an HTTP server\n  debug('Adding upgrade listener to server')\n  app.server.on(\n    'upgrade',\n    (request: IncomingMessage, socket: Duplex, head: Buffer) => {\n      debug(\n        'Upgrade request received: %s, headers.host: %s',\n        request.url,\n        request.headers.host\n      )\n      try {\n        const url = new URL(request.url!, `http://${request.headers.host}`)\n        const pathname = url.pathname\n        debug('Pathname: %s', pathname)\n\n        // Match: /signalk/v2/api/streams/:streamId (support path segments in streamId)\n        const streamMatch = pathname.match(\n          /^\\/signalk\\/v2\\/api\\/streams\\/(.+)$/\n        )\n\n        // Match: /signalk/v2/api/vessels/self/radars/:id/stream (convenience alias)\n        const radarMatch = pathname.match(\n          /^\\/signalk\\/v2\\/api\\/vessels\\/self\\/radars\\/([^\\/]+)\\/stream$/\n        )\n\n        let streamId: string | null = null\n\n        if (streamMatch) {\n          streamId = decodeURIComponent(streamMatch[1])\n          debug('Matched stream pattern: %s', streamId)\n        } else if (radarMatch) {\n          // Alias: map radar endpoint to radars/{radarId} stream\n          const radarId = radarMatch[1]\n          streamId = `radars/${radarId}`\n          debug('Matched radar stream pattern: %s', streamId)\n        } else {\n          // Not a binary stream endpoint, let other handlers process\n          debug('No match for path, ignoring: %s', pathname)\n          return\n        }\n\n        debug('Processing WebSocket upgrade for stream: %s', streamId)\n\n        // Authenticate the request (if security is enabled)\n        let principal: StreamPrincipal = { identifier: 'unknown' }\n        const authRequest = request as AuthenticatedRequest\n\n        // Check if security is enabled\n        if (\n          app.securityStrategy &&\n          typeof app.securityStrategy.shouldAllowWrite === 'function'\n        ) {\n          try {\n            // Security is enabled, perform authentication\n            if (app.securityStrategy.authorizeWS) {\n              app.securityStrategy.authorizeWS(request)\n              principal = authRequest.skPrincipal || { identifier: 'unknown' }\n            } else {\n              // Fallback: use shouldAllowWrite for basic auth check\n              if (!app.securityStrategy.shouldAllowWrite(request, 'streams')) {\n                throw new Error('Unauthorized')\n              }\n              principal = authRequest.skPrincipal || { identifier: 'unknown' }\n            }\n          } catch (error) {\n            debug(`Authentication failed for stream ${streamId}: ${error}`)\n            socket.write('HTTP/1.1 401 Unauthorized\\r\\n\\r\\n')\n            socket.destroy()\n            return\n          }\n        } else {\n          // Security is disabled, allow connection without authentication\n          debug(\n            `Security disabled, allowing unauthenticated connection to stream: ${streamId}`\n          )\n          principal = { identifier: 'unauthenticated' }\n        }\n\n        // Create WebSocket connection\n        debug('Creating WebSocket server for stream: %s', streamId)\n        const wss = new WebSocket.Server({ noServer: true })\n        wss.handleUpgrade(request, socket, head, (ws) => {\n          debug('WebSocket connected to stream: %s', streamId)\n\n          // Register client with stream manager\n          binaryStreamManager.addClient(streamId!, ws, principal)\n\n          ws.on('close', () => {\n            debug(`WebSocket disconnected from stream: ${streamId}`)\n            binaryStreamManager.removeClient(streamId!, ws)\n          })\n\n          ws.on('error', (err: Error) => {\n            debug(`WebSocket error for stream ${streamId}: ${err}`)\n            binaryStreamManager.removeClient(streamId!, ws)\n          })\n\n          // Binary streams are one-way (server → client), ignore client messages\n          ws.on('message', () => {\n            debug(`Ignoring message from client on binary stream ${streamId}`)\n          })\n        })\n      } catch (error) {\n        debug(`Error handling WebSocket upgrade: ${error}`)\n        console.error('[signalk:streams] WebSocket upgrade error:', error)\n        socket.write('HTTP/1.1 500 Internal Server Error\\r\\n\\r\\n')\n        socket.destroy()\n      }\n    }\n  )\n\n  debug('Binary stream WebSocket endpoints initialized')\n}\n\n// Export stream manager for use by FFI bindings\nexport { binaryStreamManager }\n"
  },
  {
    "path": "src/api/swagger.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport nodePath from 'path'\nimport { marked } from 'marked'\nimport { IRouter, NextFunction, Request, Response } from 'express'\nimport swaggerUi from 'swagger-ui-express'\nimport { SERVERROUTESPREFIX } from '../constants'\nimport { courseApiRecord } from './course/openApi'\nimport { notificationsApiRecord } from './notifications/openApi'\nimport { resourcesApiRecord } from './resources/openApi'\nimport { autopilotApiRecord } from './autopilot/openApi'\nimport { securityApiRecord } from './security/openApi'\nimport { discoveryApiRecord } from './discovery/openApi'\nimport { weatherApiRecord } from './weather/openApi'\nimport { appsApiRecord } from './apps/openApi'\nimport { historyApiRecord } from './history/openApi'\nimport { radarApiRecord } from './radar/openApi'\nimport { courseAsyncApiDoc } from './course/asyncApi'\nimport { autopilotAsyncApiDoc } from './autopilot/asyncApi'\nimport { notificationsAsyncApiDoc } from './notifications/asyncApi'\nimport { radarAsyncApiDoc } from './radar/asyncApi'\nimport { resourcesAsyncApiDoc } from './resources/asyncApi'\nimport { PluginId, PluginManager } from '../interfaces/plugins'\nimport { Brand } from '@signalk/server-api'\n\nexport type OpenApiDescription = Brand<object, 'OpenApiDescription'>\n\nexport interface OpenApiRecord {\n  name: string\n  path: string\n  apiDoc: OpenApiDescription\n}\n\ninterface ApiRecords {\n  [name: string]: OpenApiRecord\n}\n\nconst apiDocs = [\n  discoveryApiRecord,\n  appsApiRecord,\n  autopilotApiRecord,\n  courseApiRecord,\n  notificationsApiRecord,\n  resourcesApiRecord,\n  weatherApiRecord,\n  securityApiRecord,\n  historyApiRecord,\n  radarApiRecord\n].reduce<ApiRecords>((acc, apiRecord: OpenApiRecord) => {\n  acc[apiRecord.name] = apiRecord\n  return acc\n}, {})\n\nexport function mountSwaggerUi(app: IRouter & PluginManager, path: string) {\n  const allApiNames = () =>\n    Object.keys(apiDocs).concat(\n      app.getPluginOpenApiRecords().map(({ name }) => name)\n    )\n\n  // custom middleware to re-setup swaggerUI, because plugins have\n  // not been loaded when this is called early in server startup sequence\n  app.use(path, (req: Request, res: Response, next: NextFunction) => {\n    swaggerUi.setup(undefined, {\n      explorer: true,\n      swaggerOptions: {\n        urls: allApiNames().map((name) => ({\n          name,\n          url: `${SERVERROUTESPREFIX}/openapi/${name}`\n        }))\n      }\n    })\n    next()\n  })\n\n  app.use(\n    path,\n    swaggerUi.serve,\n    swaggerUi.setup(undefined, {\n      explorer: true,\n      swaggerOptions: {\n        urls: Object.keys(apiDocs).map((name) => ({\n          name,\n          url: `${SERVERROUTESPREFIX}/openapi/${name}`\n        }))\n      }\n    })\n  )\n\n  const apiDefinitionHandler = (req: Request, res: Response) => {\n    let apiRecord\n    if (req.params.api) {\n      apiRecord = apiDocs[req.params.api]\n    } else if (req.params.pluginId) {\n      apiRecord = app.getPluginOpenApi(req.params.pluginId as PluginId)\n    }\n    const apiDoc = apiRecord?.apiDoc\n    const apiPath = apiRecord?.path\n\n    if (apiDoc && apiPath !== undefined) {\n      ;(apiDoc as any).servers = (apiDoc as any).servers ?? [\n        {\n          url: `${apiPath}`\n        }\n      ]\n      res.json(apiDoc)\n    } else {\n      res.status(404)\n      res.json('Not found')\n    }\n  }\n  app.get(\n    `${SERVERROUTESPREFIX}/openapi/plugins/:pluginId`,\n    apiDefinitionHandler\n  )\n  app.get(`${SERVERROUTESPREFIX}/openapi/:api`, apiDefinitionHandler)\n\n  // -------------------------------------------------------------------------\n  // AsyncAPI endpoints\n  // -------------------------------------------------------------------------\n\n  interface AsyncApiRecord {\n    name: string\n    title: string\n    doc: object\n  }\n\n  const asyncApiDocs: Record<string, AsyncApiRecord> = {\n    course: {\n      name: 'course',\n      title: 'Course API',\n      doc: courseAsyncApiDoc\n    },\n    autopilot: {\n      name: 'autopilot',\n      title: 'Autopilot API',\n      doc: autopilotAsyncApiDoc\n    },\n    notifications: {\n      name: 'notifications',\n      title: 'Notifications API',\n      doc: notificationsAsyncApiDoc\n    },\n    radar: {\n      name: 'radar',\n      title: 'Radar API',\n      doc: radarAsyncApiDoc\n    },\n    resources: {\n      name: 'resources',\n      title: 'Resources API',\n      doc: resourcesAsyncApiDoc\n    }\n  }\n\n  // List available AsyncAPI docs\n  app.get(`${SERVERROUTESPREFIX}/asyncapi`, (_req: Request, res: Response) => {\n    res.json(\n      Object.values(asyncApiDocs).map(({ name, title }) => ({\n        name,\n        title,\n        jsonUrl: `${SERVERROUTESPREFIX}/asyncapi/${name}`,\n        docsUrl: `${SERVERROUTESPREFIX}/asyncapi/docs`\n      }))\n    )\n  })\n\n  // Serve marked.js from node_modules\n  app.get('/skServer/vendor/marked.umd.js', (_req: Request, res: Response) => {\n    res.sendFile(\n      nodePath.join(\n        nodePath.dirname(require.resolve('marked/package.json')),\n        'lib',\n        'marked.umd.js'\n      )\n    )\n  })\n\n  // Serve unified AsyncAPI viewer with dropdown\n  // MUST be registered before /asyncapi/:api to avoid matching \"docs\" as :api\n  const asyncApiUrls = Object.values(asyncApiDocs).map(({ name, title }) => ({\n    name: title,\n    url: `${SERVERROUTESPREFIX}/asyncapi/${name}`\n  }))\n\n  app.get(\n    `${SERVERROUTESPREFIX}/asyncapi/docs`,\n    (_req: Request, res: Response) => {\n      const specsJson = JSON.stringify(\n        asyncApiUrls.map((u) => ({\n          title: u.name,\n          url: u.url\n        }))\n      )\n      res.send(asyncApiViewerHtml(specsJson))\n    }\n  )\n\n  // Serve individual AsyncAPI JSON documents\n  app.get(\n    `${SERVERROUTESPREFIX}/asyncapi/:api`,\n    (req: Request, res: Response) => {\n      const record = asyncApiDocs[req.params.api]\n      if (record) {\n        const cleaned = JSON.parse(\n          JSON.stringify(record.doc, (key, value) =>\n            key === '$id' ? undefined : value\n          )\n        )\n        resolveRefs(cleaned, cleaned)\n        if (cleaned.info?.description) {\n          cleaned.info.descriptionHtml = marked(cleaned.info.description)\n        }\n        res.json(cleaned)\n      } else {\n        res.status(404).json('Not found')\n      }\n    }\n  )\n}\n\nfunction resolveRefs(obj: any, root: any): void {\n  if (!obj || typeof obj !== 'object') return\n  for (const key of Object.keys(obj)) {\n    if (\n      key === '$ref' &&\n      typeof obj[key] === 'string' &&\n      obj[key].startsWith('#/')\n    ) {\n      const path = obj[key].slice(2).split('/')\n      let target = root\n      for (const p of path) {\n        target = target?.[p]\n      }\n      if (target && typeof target === 'object') {\n        delete obj.$ref\n        Object.assign(obj, JSON.parse(JSON.stringify(target)))\n      }\n    } else {\n      resolveRefs(obj[key], root)\n    }\n  }\n}\n\nfunction asyncApiViewerHtml(specsJson: string): string {\n  return `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n  <title>Signal K AsyncAPI Documentation</title>\n  <script src=\"/skServer/vendor/marked.umd.js\"><\\/script>\n  <style>\n    * { box-sizing: border-box; }\n    html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; background: #1e1e1e; color: #d4d4d4; }\n    #nav { display: flex; align-items: center; gap: 12px; padding: 10px 20px; background: #252526; color: #cccccc; border-bottom: 1px solid #3c3c3c; }\n    #nav label { font-size: 14px; font-weight: 500; }\n    #nav select { padding: 4px 8px; border-radius: 4px; border: 1px solid #3c3c3c; background: #3c3c3c; color: #cccccc; font-size: 14px; }\n    #nav select:focus { outline: none; border-color: #007acc; }\n    .container { max-width: 960px; margin: 0 auto; padding: 20px; height: calc(100vh - 45px); overflow-y: auto; }\n    h1 { color: #e0e0e0; font-size: 22px; margin: 0 0 4px 0; }\n    h2 { color: #569cd6; font-size: 18px; margin: 28px 0 12px 0; border-bottom: 1px solid #3c3c3c; padding-bottom: 6px; }\n    h3 { color: #9cdcfe; font-size: 15px; margin: 16px 0 8px 0; }\n    .version { color: #858585; font-size: 13px; margin-bottom: 16px; }\n    .description { line-height: 1.6; margin-bottom: 20px; }\n    .description code { background: #2d2d2d; color: #ce9178; padding: 1px 5px; border-radius: 3px; font-size: 13px; }\n    .description pre { background: #1a1a1a; border: 1px solid #3c3c3c; border-radius: 4px; padding: 12px; overflow-x: auto; }\n    .description pre code { background: none; padding: 0; }\n    a { color: #3794ff; text-decoration: none; }\n    a:hover { color: #4daafc; text-decoration: underline; }\n    .card { background: #252526; border: 1px solid #3c3c3c; border-radius: 6px; padding: 16px; margin-bottom: 12px; }\n    .card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }\n    .badge { display: inline-block; padding: 2px 8px; border-radius: 3px; font-size: 11px; font-weight: 600; text-transform: uppercase; }\n    .badge-ws { background: #2b5797; color: #9cdcfe; }\n    .badge-receive { background: #264f36; color: #6a9955; }\n    .summary { color: #b0b0b0; font-size: 13px; margin-bottom: 8px; }\n    .channel-addr { font-family: monospace; color: #dcdcaa; font-size: 14px; }\n    .msg-name { font-family: monospace; color: #ce9178; font-size: 13px; }\n    .prop-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }\n    .prop-table th { text-align: left; padding: 6px 8px; border-bottom: 1px solid #3c3c3c; color: #858585; font-weight: 500; }\n    .prop-table td { padding: 6px 8px; border-bottom: 1px solid #2d2d2d; }\n    .type-tag { color: #4ec9b0; font-family: monospace; font-size: 12px; }\n    dl.server-info { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 8px 0 0 0; font-size: 13px; }\n    dl.server-info dt { color: #858585; }\n    dl.server-info dd { margin: 0; }\n    .schema-block { background: #1a1a1a; border: 1px solid #3c3c3c; border-radius: 4px; padding: 12px; font-family: monospace; font-size: 12px; white-space: pre-wrap; overflow-x: auto; margin-top: 8px; }\n    #loading { text-align: center; padding: 60px; color: #858585; }\n  </style>\n</head>\n<body>\n  <div id=\"nav\">\n    <label for=\"spec-select\">API:</label>\n    <select id=\"spec-select\"></select>\n  </div>\n  <div class=\"container\" id=\"content\"><div id=\"loading\">Loading...</div></div>\n  <script>\n    var SPECS = ${specsJson};\n\n    function esc(s) { var d = document.createElement('div'); d.textContent = s || ''; return d.innerHTML; }\n    function md(s) { return typeof marked !== 'undefined' ? marked.parse(s) : '<p>' + esc(s) + '</p>'; }\n\n    function schemaToString(schema, indent) {\n      indent = indent || 0;\n      if (!schema) return 'any';\n      var pad = '  '.repeat(indent);\n      if (schema.anyOf) return schema.anyOf.map(function(s) { return schemaToString(s, indent); }).join(' | ');\n      if (schema.const !== undefined) return JSON.stringify(schema.const);\n      if (schema.type === 'object' && schema.properties) {\n        var lines = ['{'];\n        Object.keys(schema.properties).forEach(function(k) {\n          lines.push(pad + '  ' + k + ': ' + schemaToString(schema.properties[k], indent + 1));\n        });\n        lines.push(pad + '}');\n        return lines.join('\\\\n');\n      }\n      if (schema.type === 'array' && schema.items) return schemaToString(schema.items, indent) + '[]';\n      if (schema.type) return schema.type;\n      return 'any';\n    }\n\n    function renderDoc(doc) {\n      var html = '<h1>' + esc(doc.info.title) + '</h1>';\n      html += '<div class=\"version\">v' + esc(doc.info.version) + ' — AsyncAPI ' + esc(doc.asyncapi) + '</div>';\n      if (doc.info.description) {\n        html += '<div class=\"description\">' + md(doc.info.description) + '</div>';\n      }\n\n      if (doc.servers) {\n        html += '<h2>Servers</h2>';\n        Object.keys(doc.servers).forEach(function(sname) {\n          var srv = doc.servers[sname];\n          html += '<div class=\"card\"><div class=\"card-header\"><span class=\"badge badge-ws\">' + esc(srv.protocol) + '</span><strong>' + esc(sname) + '</strong></div>';\n          html += '<dl class=\"server-info\">';\n          html += '<div><dt>Host</dt><dd>' + esc(srv.host) + '</dd></div>';\n          if (srv.pathname) html += '<div><dt>Path</dt><dd>' + esc(srv.pathname) + '</dd></div>';\n          if (srv.description) html += '<div><dt>Description</dt><dd>' + esc(srv.description) + '</dd></div>';\n          html += '</dl></div>';\n        });\n      }\n\n      if (doc.channels) {\n        html += '<h2>Channels</h2>';\n        Object.keys(doc.channels).forEach(function(cname) {\n          var ch = doc.channels[cname];\n          html += '<div class=\"card\">';\n          html += '<div class=\"card-header\"><span class=\"channel-addr\">' + esc(ch.address || cname) + '</span></div>';\n          if (ch.description) html += '<div class=\"summary\">' + esc(ch.description) + '</div>';\n          if (ch.messages) {\n            html += '<h3>Messages</h3>';\n            Object.keys(ch.messages).forEach(function(mname) {\n              var msg = ch.messages[mname];\n              html += '<div style=\"margin-bottom:12px\">';\n              html += '<div class=\"msg-name\">' + esc(msg.name || mname) + '</div>';\n              if (msg.title) html += '<div><strong>' + esc(msg.title) + '</strong></div>';\n              if (msg.summary) html += '<div class=\"summary\">' + esc(msg.summary) + '</div>';\n              if (msg.payload) {\n                html += '<div class=\"schema-block\">' + esc(schemaToString(msg.payload)) + '</div>';\n              }\n              html += '</div>';\n            });\n          }\n          html += '</div>';\n        });\n      }\n\n      if (doc.operations) {\n        html += '<h2>Operations</h2>';\n        Object.keys(doc.operations).forEach(function(oname) {\n          var op = doc.operations[oname];\n          html += '<div class=\"card\">';\n          html += '<div class=\"card-header\"><span class=\"badge badge-receive\">' + esc(op.action) + '</span><strong>' + esc(oname) + '</strong></div>';\n          if (op.summary) html += '<div class=\"summary\">' + esc(op.summary) + '</div>';\n          if (op.description) html += '<div class=\"summary\">' + esc(op.description) + '</div>';\n          html += '</div>';\n        });\n      }\n      return html;\n    }\n\n    var select = document.getElementById('spec-select');\n    SPECS.forEach(function(s, i) {\n      var opt = document.createElement('option');\n      opt.value = i;\n      opt.textContent = s.title;\n      select.appendChild(opt);\n    });\n\n    function loadSpec(idx) {\n      var spec = SPECS[idx];\n      document.getElementById('content').innerHTML = '<div id=\"loading\">Loading...</div>';\n      fetch(spec.url).then(function(r) { return r.json(); }).then(function(doc) {\n        document.getElementById('content').innerHTML = renderDoc(doc);\n      }).catch(function(err) {\n        document.getElementById('content').innerHTML = '<p style=\"color:#f48771\">Error: ' + esc(err.message) + '</p>';\n      });\n    }\n\n    select.addEventListener('change', function() { loadSpec(parseInt(this.value)); });\n    loadSpec(0);\n  <\\/script>\n</body>\n</html>`\n}\n"
  },
  {
    "path": "src/api/weather/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { createDebug } from '../../debug'\nconst debug = createDebug('signalk-server:api:weather')\n\nimport { IRouter, NextFunction, Request, Response } from 'express'\nimport { WithSecurityStrategy } from '../../security'\n\nimport { Responses } from '../'\nimport { SignalKMessageHub } from '../../app'\n\nimport {\n  WeatherProvider,\n  WeatherProviders,\n  WeatherProviderMethods,\n  WeatherData,\n  isWeatherProvider,\n  Position,\n  WeatherReqParams,\n  WeatherForecastType\n} from '@signalk/server-api'\n\nconst WEATHER_API_PATH = `/signalk/v2/api/weather`\n\ninterface WeatherApplication\n  extends WithSecurityStrategy, SignalKMessageHub, IRouter {}\n\nexport class WeatherApi {\n  private weatherProviders: Map<string, WeatherProvider> = new Map()\n\n  private defaultProviderId?: string\n\n  constructor(private app: WeatherApplication) {}\n\n  async start() {\n    this.initApiEndpoints()\n    return Promise.resolve()\n  }\n\n  // ***** Plugin Interface methods *****\n\n  // Register plugin as provider.\n  register(pluginId: string, provider: WeatherProvider) {\n    debug(`** Registering provider(s)....${pluginId} ${provider}`)\n\n    if (!pluginId || !provider) {\n      throw new Error(`Error registering provider ${pluginId}!`)\n    }\n    if (!isWeatherProvider(provider)) {\n      throw new Error(\n        `${pluginId} is missing WeatherProvider properties/methods!`\n      )\n    } else {\n      if (!this.weatherProviders.has(pluginId)) {\n        this.weatherProviders.set(pluginId, provider)\n      }\n      if (this.weatherProviders.size === 1) {\n        this.defaultProviderId = pluginId\n      }\n    }\n    debug(`No. of WeatherProviders registered =`, this.weatherProviders.size)\n  }\n\n  // Unregister plugin as provider.\n  unRegister(pluginId: string) {\n    if (!pluginId) {\n      return\n    }\n    debug(`** Request to un-register plugin.....${pluginId}`)\n\n    if (!this.weatherProviders.has(pluginId)) {\n      debug(`** NOT FOUND....${pluginId}... cannot un-register!`)\n      return\n    }\n\n    debug(`** Un-registering weather provider....${pluginId}`)\n    this.weatherProviders.delete(pluginId)\n    if (pluginId === this.defaultProviderId) {\n      this.defaultProviderId = undefined\n    }\n    // update defaultProviderId if required\n    if (this.weatherProviders.size !== 0 && !this.defaultProviderId) {\n      this.defaultProviderId = this.weatherProviders.keys().next().value\n    }\n    debug(\n      `Remaining number of Weather Providers registered =`,\n      this.weatherProviders.size,\n      'defaultProvider =',\n      this.defaultProviderId\n    )\n  }\n\n  /** Server API methods */\n\n  /**\n   * @description Return array of observations for the provided location\n   * @param position Location for which to retrieve observation data\n   * @param options Parameters to filter the returned data\n   */\n  async getObservations(position: Position, options?: WeatherReqParams) {\n    const q = this.parseQueryOptions({\n      position: position,\n      options: options\n    })\n    if (\n      this.defaultProviderId &&\n      this.weatherProviders.has(this.defaultProviderId)\n    ) {\n      debug(`Using default provider...${this.defaultProviderId}`)\n      return await this.weatherProviders\n        .get(this.defaultProviderId as string)\n        ?.methods.getObservations(q.position, q.options)\n    } else {\n      throw new Error(`Provider not found!`)\n    }\n  }\n\n  /**\n   * @description Return array of forecasts for the provided location\n   * @param position Location for which to retrieve forecast data\n   * @param type Type of forecast point | daily\n   * @param options Parameters to filter the returned data\n   */\n  async getForecasts(\n    position: Position,\n    type: WeatherForecastType,\n    options?: WeatherReqParams\n  ) {\n    const q = this.parseQueryOptions({\n      position: position,\n      options: options\n    })\n    if (\n      this.defaultProviderId &&\n      this.weatherProviders.has(this.defaultProviderId)\n    ) {\n      debug(`Using default provider...${this.defaultProviderId}`)\n      const fdata = await this.weatherProviders\n        .get(this.defaultProviderId as string)\n        ?.methods.getForecasts(q.position, type, q.options)\n      return fdata\n        ? fdata.filter((i: WeatherData) => {\n            return i.type === type\n          })\n        : []\n    } else {\n      throw new Error(`Provider not found!`)\n    }\n  }\n\n  /**\n   * @description Return array of warnings for the provided location\n   * @param position Location for which to retrieve warning data\n   */\n  async getWarnings(position: Position) {\n    const q = this.parseQueryOptions({\n      position: position\n    })\n    if (\n      this.defaultProviderId &&\n      this.weatherProviders.has(this.defaultProviderId)\n    ) {\n      debug(`Using default provider...${this.defaultProviderId}`)\n      return await this.weatherProviders\n        .get(this.defaultProviderId as string)\n        ?.methods.getWarnings(q.position)\n    } else {\n      throw new Error(`Provider not found!`)\n    }\n  }\n\n  // *************************************\n\n  private updateAllowed(request: Request): boolean {\n    return this.app.securityStrategy.shouldAllowPut(\n      request,\n      'vessels.self',\n      null,\n      'weather'\n    )\n  }\n\n  /** @returns 1= OK, 0= invalid location, -1= location not provided */\n  private checkLocation(req: Request): number {\n    if (req.query.lat && req.query.lon) {\n      return isNaN(Number(req.query.lat)) || isNaN(Number(req.query.lon))\n        ? 0\n        : 1\n    } else {\n      return -1\n    }\n  }\n\n  private parseRequest(req: Request, res: Response, next: NextFunction) {\n    try {\n      debug(`Weather`, req.method, req.path, req.query, req.body)\n      if (['PUT', 'POST'].includes(req.method)) {\n        if (!this.updateAllowed(req)) {\n          res.status(403).json(Responses.unauthorised)\n        } else {\n          next()\n        }\n      } else {\n        if (req.path === `/` || req.path === `/forecasts`) {\n          next()\n          return\n        }\n        const l = this.checkLocation(req)\n        if (l === 1) {\n          next()\n        } else if (l === 0) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: 'Invalid position data!'\n          })\n        } else {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: 'Location not supplied!'\n          })\n        }\n      }\n    } catch (err: any) {\n      res.status(500).json({\n        state: 'FAILED',\n        statusCode: 500,\n        message: err.message\n      })\n    }\n  }\n\n  private initApiEndpoints() {\n    debug(`** Initialise ${WEATHER_API_PATH} endpoints. **`)\n\n    this.app.use(\n      `${WEATHER_API_PATH}`,\n      (req: Request, res: Response, next: NextFunction) => {\n        debug(`Using... ${WEATHER_API_PATH}`)\n        if (req.path.includes('providers')) {\n          next()\n        } else {\n          return this.parseRequest(req, res, next)\n        }\n      }\n    )\n\n    this.app.get(`${WEATHER_API_PATH}`, async (req: Request, res: Response) => {\n      debug(`** ${req.method} ${req.path}`)\n      try {\n        res.status(200).json({\n          forecasts: {\n            description: 'Forecast data for the supplied location.'\n          },\n          observations: {\n            description: 'Observation data for the supplied location.'\n          },\n          warnings: {\n            description: 'Weather warnings for the supplied location.'\n          }\n        })\n      } catch (err: any) {\n        res.status(400).json({\n          statusCode: 400,\n          state: 'FAILED',\n          message: err.message\n        })\n      }\n    })\n\n    // return list of weather providers\n    this.app.get(\n      `${WEATHER_API_PATH}/_providers`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          const r: WeatherProviders = {}\n          this.weatherProviders.forEach((v: WeatherProvider, k: string) => {\n            r[k] = {\n              name: v.name,\n              isDefault: k === this.defaultProviderId\n            }\n          })\n          res.status(200).json(r)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // return default weather provider identifier\n    this.app.get(\n      `${WEATHER_API_PATH}/_providers/_default`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          res.status(200).json({\n            id: this.defaultProviderId\n          })\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // change weather provider\n    this.app.post(\n      `${WEATHER_API_PATH}/_providers/_default/:id`,\n      async (req: Request, res: Response) => {\n        debug(`**route = ${req.method} ${req.path}`)\n        try {\n          if (!req.params.id) {\n            throw new Error('Provider id not supplied!')\n          }\n          if (this.weatherProviders.has(req.params.id)) {\n            this.defaultProviderId = req.params.id\n            res.status(200).json({\n              statusCode: 200,\n              state: 'COMPLETED',\n              message: `Default provider set to ${req.params.id}.`\n            })\n          } else {\n            throw new Error(`Provider ${req.params.id} not found!`)\n          }\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // return observation data at the provided lat / lon\n    this.app.get(\n      `${WEATHER_API_PATH}/observations`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const q = this.parseQueryOptions(req.query)\n          const r = await this.useProvider(req).getObservations(\n            q.position,\n            q.options\n          )\n          res.status(200).json(r)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    this.app.get(\n      `${WEATHER_API_PATH}/forecasts`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          res.status(200).json({\n            daily: {\n              description:\n                'Daily forecast data for the requested number of days.'\n            },\n            point: {\n              description:\n                'Point forecast data for the requested number of intervals.'\n            }\n          })\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    /**\n     * Return daily forecast data at the provided lat / lon for the supplied number of days\n     * ?days=x\n     *\n     */\n    this.app.get(\n      `${WEATHER_API_PATH}/forecasts/daily`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const q = this.parseQueryOptions(req.query)\n          const r = await this.useProvider(req).getForecasts(\n            q.position,\n            'daily',\n            q.options\n          )\n          const df = r.filter((i: WeatherData) => {\n            return i.type === 'daily'\n          })\n          res.status(200).json(df)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // return point forecast data at the provided lat / lon\n    this.app.get(\n      `${WEATHER_API_PATH}/forecasts/point`,\n      async (req: Request, res: Response) => {\n        debug(`** ${req.method} ${req.path}`)\n        try {\n          const q = this.parseQueryOptions(req.query)\n          const r = await this.useProvider(req).getForecasts(\n            q.position,\n            'point',\n            q.options\n          )\n          const pf = r.filter((i: WeatherData) => {\n            return i.type === 'point'\n          })\n          res.status(200).json(pf)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // return warning data at the provided lat / lon\n    this.app.get(\n      `${WEATHER_API_PATH}/warnings`,\n      async (req: Request, res: Response) => {\n        debug(`** route = ${req.method} ${req.path}`)\n        try {\n          const q = this.parseQueryOptions(req.query)\n          const r = await this.useProvider(req).getWarnings(q.position)\n          res.status(200).json(r)\n        } catch (err: any) {\n          res.status(400).json({\n            statusCode: 400,\n            state: 'FAILED',\n            message: err.message\n          })\n        }\n      }\n    )\n\n    // error response\n    this.app.use(\n      `${WEATHER_API_PATH}/*`,\n      (err: any, req: Request, res: Response, next: NextFunction) => {\n        debug(`** route = error path **`)\n        const msg = {\n          state: err.state ?? 'FAILED',\n          statusCode: err.statusCode ?? 500,\n          message: err.message ?? 'Weather provider error!'\n        }\n        if (res.headersSent) {\n          console.log('EXCEPTION: headersSent')\n          return next(msg)\n        }\n        res.status(500).json(msg)\n      }\n    )\n  }\n\n  /** Returns provider to use as data source.\n   * @param req API request.\n   */\n  private useProvider(req: Request): WeatherProviderMethods {\n    debug('** useProvider()')\n    if (this.weatherProviders.size === 0) {\n      throw new Error('No providers registered!')\n    }\n    if (req.query.provider) {\n      debug(`Use requested provider... ${req.query.provider}`)\n      if (this.weatherProviders.has(req.query.provider as string)) {\n        debug(`Requested provider found...using ${req.query.provider}`)\n        return this.weatherProviders.get(req.query.provider as string)\n          ?.methods as WeatherProviderMethods\n      } else {\n        throw new Error(`Requested provider not found! (${req.query.provider})`)\n      }\n    } else {\n      if (\n        this.defaultProviderId &&\n        this.weatherProviders.has(this.defaultProviderId)\n      ) {\n        debug(`Using default provider...${this.defaultProviderId}`)\n        return this.weatherProviders.get(this.defaultProviderId as string)\n          ?.methods as WeatherProviderMethods\n      } else {\n        throw new Error(`Default provider not found!`)\n      }\n    }\n  }\n\n  /**\n   * Parse request.query into weather provider options\n   * @param query req.query\n   */\n  private parseQueryOptions(query: any): WeatherReqOptions {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const { lat, lon, provider, count, date, ...custom } = query\n\n    const q: WeatherReqOptions = {\n      position: {\n        latitude: this.parseValueAsNumber(lat) ?? 0,\n        longitude: this.parseValueAsNumber(lon) ?? 0\n      },\n      options: { custom }\n    }\n    if (count) {\n      const n = this.parseValueAsNumber(count)\n      if (typeof n === 'number') {\n        q.options.maxCount = n\n      }\n    }\n    if (date) {\n      const pattern = /[0-9]{4}-[0-9]{2}-[0-9]{2}/\n      if ((date as string).match(pattern)) {\n        q.options.startDate = date?.toString()\n      }\n    }\n    return q\n  }\n\n  /**\n   * Ensure the query parameter value is a number\n   * @param q Query param value\n   */\n  private parseValueAsNumber(value: unknown): number | undefined {\n    const n = Number(value)\n    return isNaN(n) ? undefined : n\n  }\n}\n\ninterface WeatherReqOptions {\n  position: Position\n  options: WeatherReqParams\n}\n"
  },
  {
    "path": "src/api/weather/openApi.ts",
    "content": "import { OpenApiDescription } from '../swagger'\nimport { typeboxToOpenApiSchemas } from '../openApiSchemas'\nimport {\n  WeatherDataModelSchema,\n  WeatherWarningModelSchema\n} from '@signalk/server-api/typebox'\n\nconst weatherApiDoc = {\n  openapi: '3.0.0',\n  info: {\n    version: '2.5.0',\n    title: 'Weather API',\n    description: 'Signal K weather API endpoints.',\n    termsOfService: 'http://signalk.org/terms/',\n    license: {\n      name: 'Apache 2.0',\n      url: 'http://www.apache.org/licenses/LICENSE-2.0.html'\n    }\n  },\n  externalDocs: {\n    url: 'http://signalk.org/specification/',\n    description: 'Signal K specification.'\n  },\n  servers: [{ url: '/signalk/v2/api/weather' }],\n  tags: [\n    {\n      name: 'Weather',\n      description: 'Operations to interact with weather service data.'\n    },\n    {\n      name: 'Provider',\n      description: 'Operations to view / switch providers.'\n    }\n  ],\n  components: {\n    schemas: typeboxToOpenApiSchemas([\n      WeatherDataModelSchema,\n      WeatherWarningModelSchema\n    ]),\n    responses: {\n      '200OKResponse': {\n        description: 'Successful operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request success response',\n              properties: {\n                state: { type: 'string', enum: ['COMPLETED'] },\n                statusCode: { type: 'number', enum: [200] }\n              },\n              required: ['state', 'statusCode']\n            }\n          }\n        }\n      },\n      ErrorResponse: {\n        description: 'Failed operation',\n        content: {\n          'application/json': {\n            schema: {\n              type: 'object',\n              description: 'Request error response',\n              properties: {\n                state: { type: 'string', enum: ['FAILED'] },\n                statusCode: { type: 'number', enum: [404] },\n                message: { type: 'string' }\n              },\n              required: ['state', 'statusCode', 'message']\n            }\n          }\n        }\n      }\n    },\n    parameters: {\n      ProviderIdParam: {\n        name: 'id',\n        in: 'path',\n        description:\n          'Plugin id of the weather provider the request will be directed to.',\n        required: true,\n        schema: { type: 'string', example: 'myweather-provider' }\n      },\n      ProviderIdQuery: {\n        in: 'query',\n        name: 'provider',\n        description:\n          'Plugin id of the weather provider the request will be directed to.',\n        style: 'form',\n        explode: false,\n        schema: { type: 'string', example: 'myweather-provider' }\n      },\n      LatitudeParam: {\n        in: 'query',\n        required: true,\n        name: 'lat',\n        description: 'Latitude at specified position.',\n        schema: { type: 'number', min: -90, max: 90 }\n      },\n      LongitudeParam: {\n        in: 'query',\n        required: true,\n        name: 'lon',\n        description: 'Longitude at specified position.',\n        schema: { type: 'number', min: -180, max: 180 }\n      },\n      CountParam: {\n        in: 'query',\n        required: false,\n        name: 'count',\n        description: 'Number of entries to return.',\n        schema: { type: 'number', min: 1 }\n      },\n      StartDateParam: {\n        in: 'query',\n        required: false,\n        name: 'date',\n        description: 'Start date for weather data to return.',\n        schema: { type: 'string', pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}$' }\n      }\n    },\n    securitySchemes: {\n      bearerAuth: {\n        type: 'http',\n        scheme: 'bearer',\n        bearerFormat: 'JWT'\n      },\n      cookieAuth: {\n        type: 'apiKey',\n        in: 'cookie',\n        name: 'JAUTHENTICATION'\n      }\n    }\n  },\n  security: [{ cookieAuth: [] }, { bearerAuth: [] }],\n  paths: {\n    '/observations': {\n      parameters: [\n        { $ref: '#/components/parameters/ProviderIdQuery' },\n        { $ref: '#/components/parameters/LatitudeParam' },\n        { $ref: '#/components/parameters/LongitudeParam' },\n        { $ref: '#/components/parameters/CountParam' },\n        { $ref: '#/components/parameters/StartDateParam' }\n      ],\n      get: {\n        tags: ['Weather'],\n        summary: 'Retrieve observation data.',\n        responses: {\n          default: {\n            description:\n              'Returns the observation data for the specified location (lat / lon).',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: { $ref: '#/components/schemas/WeatherDataModel' }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/forecasts/daily': {\n      parameters: [\n        { $ref: '#/components/parameters/ProviderIdQuery' },\n        { $ref: '#/components/parameters/LatitudeParam' },\n        { $ref: '#/components/parameters/LongitudeParam' },\n        { $ref: '#/components/parameters/CountParam' },\n        { $ref: '#/components/parameters/StartDateParam' }\n      ],\n      get: {\n        tags: ['Weather'],\n        summary: 'Retrieve daily forecast data.',\n        responses: {\n          default: {\n            description:\n              'Returns daily forecast data for the specified location (lat / lon).',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: { $ref: '#/components/schemas/WeatherDataModel' }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/forecasts/point': {\n      parameters: [\n        { $ref: '#/components/parameters/ProviderIdQuery' },\n        { $ref: '#/components/parameters/LatitudeParam' },\n        { $ref: '#/components/parameters/LongitudeParam' },\n        { $ref: '#/components/parameters/CountParam' },\n        { $ref: '#/components/parameters/StartDateParam' }\n      ],\n      get: {\n        tags: ['Weather'],\n        summary: 'Retrieve point forecast data.',\n        responses: {\n          default: {\n            description:\n              'Returns point forecast data for the specified location (lat / lon).',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: { $ref: '#/components/schemas/WeatherDataModel' }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/warnings': {\n      parameters: [\n        { $ref: '#/components/parameters/ProviderIdQuery' },\n        { $ref: '#/components/parameters/LatitudeParam' },\n        { $ref: '#/components/parameters/LongitudeParam' }\n      ],\n      get: {\n        tags: ['Weather'],\n        summary: 'Retrieve warning data.',\n        responses: {\n          default: {\n            description:\n              'Returns the warning data for the specified location (lat / lon).',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'array',\n                  items: { $ref: '#/components/schemas/WeatherWarningModel' }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/_providers': {\n      get: {\n        tags: ['Provider'],\n        summary: 'Retrieve list of registered providers.',\n        responses: {\n          default: {\n            description:\n              'Return information about the registered weather providers.',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  additionalProperties: {\n                    type: 'object',\n                    description: 'Provider identifier',\n                    required: ['name', 'isDefault'],\n                    properties: {\n                      name: {\n                        type: 'string',\n                        description: 'Provider name.'\n                      },\n                      isDefault: {\n                        type: 'boolean',\n                        description:\n                          '`true` if this provider is set as the default.'\n                      }\n                    },\n                    example: { name: 'OpenMeteo', isDefault: true }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/_providers/_default': {\n      get: {\n        tags: ['Provider'],\n        summary: 'Get the default weather provider id.',\n        responses: {\n          default: {\n            description:\n              'Returns the id of the provider id that is the target of requests (if provider is not specified).',\n            content: {\n              'application/json': {\n                schema: {\n                  type: 'object',\n                  required: ['id'],\n                  properties: {\n                    id: {\n                      type: 'string',\n                      description: 'Provider identifier.'\n                    }\n                  },\n                  example: { id: 'open-meteo' }\n                }\n              }\n            }\n          }\n        }\n      }\n    },\n    '/_providers/_default/{id}': {\n      parameters: [{ $ref: '#/components/parameters/ProviderIdParam' }],\n      post: {\n        tags: ['Provider'],\n        summary: 'Sets the default weather provider.',\n        description: 'Sets the proivder with the supplied `id` as the default.',\n        responses: {\n          default: { $ref: '#/components/responses/ErrorResponse' },\n          '200': { $ref: '#/components/responses/200OKResponse' }\n        }\n      }\n    }\n  }\n}\n\nexport const weatherApiRecord = {\n  name: 'weather',\n  path: '/signalk/v2/api',\n  apiDoc: weatherApiDoc as unknown as OpenApiDescription\n}\n"
  },
  {
    "path": "src/app.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Delta, ServerAPI, SKVersion } from '@signalk/server-api'\nimport { FullSignalK } from '@signalk/signalk-schema'\nimport { EventEmitter } from 'node:events'\n\nimport { Config } from './config/config'\nimport DeltaCache from './deltacache'\n\nexport interface ServerApp extends ServerAPI {\n  started: boolean\n  interfaces: { [key: string]: any }\n  intervals: NodeJS.Timeout[]\n  providers: any[]\n  pipedProviders: {\n    start: () => any[]\n    createPipedProvider: (config: any) => any\n    stopProvider: (id: string) => void\n    restartProvider: (id: string) => void\n  }\n  server: any\n  redirectServer?: any\n  deltaCache: DeltaCache\n  getProviderStatus: () => any\n  lastServerEvents: { [key: string]: any }\n  clients: number\n}\n\nexport interface SignalKMessageHub extends EventEmitter {\n  signalk: FullSignalK\n  handleMessage: (\n    id: string,\n    delta: Partial<Delta>,\n    skVersion?: SKVersion\n  ) => void\n}\n\nexport interface WithConfig {\n  config: Config\n}\n"
  },
  {
    "path": "src/atomicWrite.ts",
    "content": "import fs from 'fs'\n\nexport function atomicWriteFileSync(filePath: string, data: string): void {\n  const tmp = filePath + '.tmp'\n  try {\n    fs.writeFileSync(tmp, data)\n    fs.renameSync(tmp, filePath)\n  } catch (err) {\n    try {\n      fs.unlinkSync(tmp)\n    } catch {}\n    throw err\n  }\n}\n\nexport async function atomicWriteFile(\n  filePath: string,\n  data: string\n): Promise<void> {\n  const tmp = filePath + '.tmp'\n  try {\n    await fs.promises.writeFile(tmp, data)\n    await fs.promises.rename(tmp, filePath)\n  } catch (err) {\n    try {\n      await fs.promises.unlink(tmp)\n    } catch {}\n    throw err\n  }\n}\n"
  },
  {
    "path": "src/baconjs-compat.ts",
    "content": "/*\n * BaconJS backward-compatibility shim\n *\n * The server uses BaconJS 3.x which has breaking API changes from 1.x/0.7.x.\n * Plugins may bundle their own older BaconJS, causing version mismatches when\n * they operate on Bacon.Bus objects from the server's StreamBundle.\n *\n * The critical incompatibility: BaconJS 3.x Event objects use boolean\n * properties (event.isEnd), while 1.x uses methods (event.isEnd()). When a\n * plugin's 1.x code subscribes to a server 3.x Bus, it receives 3.x Events\n * and crashes with \"TypeError: e.isEnd is not a function\".\n *\n * This module solves the problem by:\n * 1. Hooking Node's module resolution so ALL require('baconjs') calls in the\n *    process return the server's 3.x version — eliminating version mismatches\n * 2. Patching 3.x to restore the .map('.property') string shorthand that\n *    existed in 1.x (used by plugins like signalk-to-nmea2000)\n *\n * This module MUST be imported before any other module that uses BaconJS.\n */\n\nimport Module from 'module'\nimport * as Bacon from 'baconjs'\n\nconst serverBaconPath = require.resolve('baconjs')\n\ntype ResolveFilename = (\n  request: string,\n  parent: NodeModule | undefined,\n  isMain: boolean,\n  options: Record<string, unknown>\n) => string\n\nconst ModuleInternal = Module as unknown as Record<string, unknown>\n\nconst origResolveFilename = ModuleInternal._resolveFilename as ResolveFilename\nModuleInternal._resolveFilename = function (\n  request: string,\n  parent: NodeModule | undefined,\n  isMain: boolean,\n  options: Record<string, unknown>\n) {\n  if (request === 'baconjs') {\n    return serverBaconPath\n  }\n  return origResolveFilename.call(this, request, parent, isMain, options)\n}\n\ntype Mappable = { map: (f: unknown) => unknown }\n\nfunction patchMapShorthand(proto: Mappable) {\n  const origMap = proto.map\n  proto.map = function (this: Mappable, f: unknown) {\n    if (typeof f === 'string' && f.startsWith('.')) {\n      const prop = f.substring(1)\n      return origMap.call(\n        this,\n        (v: Record<string, unknown> | null | undefined) =>\n          v !== null && v !== undefined ? v[prop] : undefined\n      )\n    }\n    return origMap.call(this, f)\n  }\n}\n\npatchMapShorthand(Bacon.EventStream.prototype)\npatchMapShorthand(Bacon.Property.prototype)\n"
  },
  {
    "path": "src/categories.ts",
    "content": "/*\n * Copyright 2021 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { createDebug } from './debug'\nconst debug = createDebug('signalk:categories')\n\nimport { getKeywords, NpmPackageData } from './modules'\n\nconst NEW_CATEGORY = 'New/Updated'\n\nconst CAT_DEPRECATED = 'signalk-category-deprecated'\n\nconst isDeprecated = (packageName: string) =>\n  DEFAULT_MODULE_CAT_KEYWORDS[packageName] &&\n  DEFAULT_MODULE_CAT_KEYWORDS[packageName].includes(CAT_DEPRECATED)\n\nfunction getCategories(thePackage: NpmPackageData): string[] {\n  if (isDeprecated(thePackage.name)) {\n    return ['Deprecated']\n  }\n\n  let categoryKeywords: string[] = getKeywords(thePackage).filter(\n    (keyword: string) => CAT_KEYWORDS_TO_NAMES[keyword]\n  )\n  if (categoryKeywords.length === 0) {\n    categoryKeywords = categoryKeywords.concat(\n      DEFAULT_MODULE_CAT_KEYWORDS[thePackage.name] || []\n    )\n  }\n  const categoryNames = categoryKeywords.map(\n    (category) => CAT_KEYWORDS_TO_NAMES[category]\n  )\n\n  if (categoryNames.length === 0) {\n    categoryNames.push('Uncategorized')\n  }\n\n  if (thePackage.date) {\n    const pDate = new Date(thePackage.date)\n    if ((Date.now() - pDate.getTime()) / (1000 * 3600 * 24) < 30) {\n      // updated less than 30 days ago\n      categoryNames.push(NEW_CATEGORY)\n    }\n  }\n\n  debug('%s categories: %j', thePackage.name, categoryNames)\n  return categoryNames\n}\n\nfunction getAvailableCategories() {\n  const normal = Object.values(CAT_KEYWORDS_TO_NAMES).slice(0).sort()\n\n  return ['All', ...normal]\n}\n\nconst CAT_KEYWORDS_TO_NAMES: {\n  [keyword: string]: string\n} = {\n  'signalk-category-nmea-2000': 'NMEA 2000',\n  'signalk-category-nmea-0183': 'NMEA 0183',\n  'signalk-category-instruments': 'Instruments',\n  'signalk-category-chart-plotters': 'Chart Plotters',\n  'signalk-category-hardware': 'Hardware Support',\n  'signalk-category-ais': 'AIS',\n  'signalk-category-notifications': 'Notifications',\n  'signalk-category-digital-switching': 'Digital Switching',\n  'signalk-category-utility': 'Utility',\n  'signalk-category-cloud': 'Cloud',\n  'signalk-category-weather': 'Weather'\n}\n\nconst DEFAULT_MODULE_CAT_KEYWORDS: {\n  [key: string]: string[]\n} = {\n  '@signalk/vedirect-serial-usb': ['signalk-category-hardware'],\n  '@signalk/signalk-to-nmea0183': ['signalk-category-nmea-0183'],\n  '@meri-imperiumi/signalk-aws-iot': ['signalk-category-cloud'],\n  'signalk-barometer-trend': ['signalk-category-weather'],\n  '@signalk/calibration': ['signalk-category-utility'],\n  'signalk-log-player': ['signalk-category-utility'],\n  'signalk-calypso-ultrasonic': ['signalk-category-hardware'],\n  'signalk-venus-plugin': ['signalk-category-hardware'],\n  'signalk-to-nmea2000': ['signalk-category-nmea-2000'],\n  'signalk-boatly': ['signalk-category-cloud'],\n  '@signalk/charts-plugin': ['signalk-category-chart-plotters'],\n  'signalk-derived-data': ['signalk-category-utility'],\n  '@meri-imperiumi/signalk-autostate': ['signalk-category-utility'],\n  'signalk-empirbusnxt-plugin': ['signalk-category-hardware'],\n  '@signalk/set-system-time': ['signalk-category-utility'],\n  'signalk-instrument-light-plugin': [\n    'signalk-category-hardware',\n    'signalk-category-utility'\n  ],\n  'signalk-vessels-to-ais': ['signalk-category-ais'],\n  'signalk-sonoff-ewelink': [\n    'signalk-category-hardware',\n    'signalk-category-digital-switching'\n  ],\n  'signalk-n2k-switching': [\n    'signalk-category-nmea-2000',\n    'signalk-category-digital-switching'\n  ],\n  '@signalk/tracks-plugin': ['signalk-category-utility'],\n  'signalk-browser': ['signalk-category-web-instruments'],\n  '@signalk/signalk-autopilot': ['signalk-category-hardware'],\n  'signalk-tides-api': ['signalk-category-weather'],\n  'sailracer-signalk-plugin': ['signalk-category-utility'],\n  'signalk-n2k-virtual-switch': [\n    'signalk-category-digital-switching',\n    'signalk-category-nmea-2000'\n  ],\n  'signalk-net-ais-plugin': ['signalk-category-ais'],\n  'signalk-shelly': [\n    'signalk-category-hardware',\n    'signalk-category-digital-switching'\n  ],\n  'signalk-noaa-weather': ['signalk-category-weather'],\n  'signalk-scheduler': ['signalk-category-utility'],\n  'signalk-renotifier': ['signalk-category-notifications'],\n  sksim: ['signalk-category-utility'],\n  'signalk-raspberry-pi-bme280': [\n    'signalk-category-hardware',\n    'signalk-category-weather'\n  ],\n  'signalk-generic-pgn-parser': ['signalk-category-nmea-2000'],\n  '@signalk/signalk-node-red': ['signalk-category-utility'],\n  'signalk-philips-hue': [\n    'signalk-category-hardware',\n    'signalk-category-digital-switching'\n  ],\n  'signalk-anchoralarm-plugin': ['signalk-category-notifications'],\n  'signalk-raspberry-mcs': ['signalk-category-hardware'],\n  'signalk-hour-meter': ['signalk-category-utility'],\n  'signalk-tide-watch': ['signalk-category-weather'],\n  '@signalk/udp-nmea-plugin': ['signalk-category-nmea-0183'],\n  'signalk-to-batch-format': ['signalk-category-utility'],\n  'signalk-to-influxdb': ['signalk-category-utility'],\n  'signalk-to-timestream': ['signalk-category-cloud'],\n  'signalk-from-batch-format': ['signalk-category-utility'],\n  'signalk-sunphases': ['signalk-category-weather'],\n  '@codekilo/regexp-jexl-reader': ['signalk-category-nmea-0183'],\n  'signalk-speed-wind-averaging': ['signalk-category-weather'],\n  '@codekilo/nmea0183-iec61121-450-server': ['signalk-category-nmea-0183'],\n  'signalk-push-notifications': ['signalk-category-notifications'],\n  '@meri-imperiumi/signalk-audio-notifications': [\n    'signalk-category-notifications'\n  ],\n  'signalk-netgear-lte-status': ['signalk-category-hardware'],\n  'freeboard-sk-helper': ['signalk-category-chart-plotters'],\n  'sk-resources-fs': [\n    'signalk-category-utility',\n    'signalk-category-chart-plotters'\n  ],\n  '@codekilo/signalk-modbus-client': ['signalk-category-utility'],\n  'signalk-path-mapper': ['signalk-category-utility'],\n  '@oehoe83/signalk-raspberry-pi-bme680': [\n    'signalk-category-hardware',\n    'signalk-category-weather'\n  ],\n  '@codekilo/signalk-twilio-notifications': ['signalk-category-notifications'],\n  'signalk-notification-injector': ['signalk-category-notifications'],\n  'signalk-alarm-silencer': ['signalk-category-notifications'],\n  'signalk-cloud': ['signalk-category-cloud'],\n  'signalk-mqtt-gw': ['signalk-category-utility'],\n  '@signalk/aisreporter': ['signalk-category-ais'],\n  'signalk-polar': ['signalk-category-utility'],\n  'openweather-signalk': ['signalk-category-weather'],\n  'rest-provider-signalk': ['signalk-category-utility'],\n  '@signalk/zones': ['signalk-category-notifications'],\n  'signalk-ecowitt': ['signalk-category-hardware', 'signalk-category-weather'],\n  'xdr-parser-plugin': ['signalk-category-nmea-0183'],\n  'signalk-charlotte': ['signalk-category-cloud'],\n  '@codekilo/signalk-notify': ['signalk-category-notifications'],\n  '@codekilo/signalk-trigger-event': ['signalk-category-notifications'],\n  'signalk-windy': ['signalk-category-weather'],\n  'signalk-maretron-proprietary': ['signalk-category-nmea-2000'],\n  'signalk-healthcheck': ['signalk-category-utility'],\n  'signalk-pebble-mydata': ['signalk-category-hardware'],\n  'signalk-to-influxdb-v2-buffering': ['signalk-category-utility'],\n  'signalk-saillogger': ['signalk-category-cloud'],\n  'signalk-fusion-stereo': ['signalk-category-hardware'],\n  'signalk-nextion': ['signalk-category-hardware'],\n  'signalk-n2kais-to-nmea0183': [\n    'signalk-category-nmea-0183',\n    'signalk-category-nmea-2000'\n  ],\n  'signalk-ttn-loramonitor': ['signalk-category-cloud'],\n  'signalk-n2k-switching-translator': [\n    'signalk-category-digital-switching',\n    'signalk-category-nmea-2000'\n  ],\n  'signalk-mqtt-home-asisstant': ['signalk-category-digital-switching'],\n  '@signalk/sailsconfiguration': ['signalk-category-utility'],\n  'signalk-triangle-tank-calculator': ['signalk-category-utility'],\n  'signalk-polars-kraivio': ['signalk-category-utility'],\n  'signalk-iotopen-lynx-gw': ['signalk-category-cloud'],\n  '@signalk/simulatorplugin': ['signalk-category-utility'],\n  'fuel-usage-calculator': ['signalk-category-utility'],\n  'signalk-stainless-lobster-fridge': ['signalk-category-hardware'],\n  'signalk-myyachtlive-log': ['signalk-category-cloud'],\n  '@marinedevices/signalk-azure-iot': ['signalk-category-cloud'],\n  'srne-to-signalk': ['signalk-category-hardware'],\n  'signalk-marinetraffic-api': ['signalk-category-ais'],\n  '@signalk/simple-gpx': ['signalk-category-utility'],\n  '@codekilo/signalk-iso19848': ['signalk-category-nmea-0183'],\n  'signalk-yd-alarm-button': [\n    'signalk-category-hardware',\n    'signalk-category-notifications'\n  ],\n  'signalk-datadog': ['signalk-category-cloud'],\n  'signalk-scientia-kraivio': ['signalk-category-utility'],\n  'ais-forwarder': ['signalk-category-ais'],\n  'nmea0183-to-nmea0183': ['signalk-category-nmea-0183'],\n  'sk-plugin-sigbus-parser': ['signalk-category-hardware'],\n  'signalk-kafka-gw': ['signalk-category-utility'],\n  'signalk-simple-notifications': ['signalk-category-notifications'],\n  'signalk-buddylist-plugin': ['signalk-category-utility'],\n  'signalk-raymarine-autopilot': [CAT_DEPRECATED],\n  'signalk-sealogs': ['signalk-category-cloud'],\n  'flatten-vessel-data': ['signalk-category-utility'],\n  'signalk-repl': ['signalk-category-utility'],\n  '@meri-imperiumi/signalk-stardate': ['signalk-category-weather'],\n  'signalk-wilhelmsk-plugin': ['signalk-category-utility'],\n  'signalk-server-shutdown': ['signalk-category-utility'],\n  'signalk-ruuvitag-plugin': [\n    'signalk-category-hardware',\n    'signalk-category-weather'\n  ],\n  'import-remote-data': ['signalk-category-utility'],\n  'signalk-data-logger': ['signalk-category-utility'],\n  'signalk-tank-monitor': ['signalk-category-utility'],\n  '@essense/simulate-paths': ['signalk-category-utility'],\n  'signalk-threshold-notifier': ['signalk-category-notifications'],\n  'ca-reports': ['signalk-category-cloud'],\n  'signalk-switch-automation': ['signalk-category-digital-switching'],\n  'signalk-overboard-notifications': ['signalk-category-notifications'],\n  'signalk-net-relay': ['signalk-category-utility'],\n  'signalk-airmar-plugin': ['signalk-category-hardware'],\n  'signalk-sbd': ['signalk-category-hardware'],\n  'signalk-victron-battery-monitor': [CAT_DEPRECATED],\n  'signalk-ifttt-notifications': ['signalk-category-notifications'],\n  'signalk-raspberry-pi-1wire': ['signalk-category-hardware'],\n  '@essense/instrument-config': [],\n  'signalk-aishub-ws': ['signalk-category-ais'],\n  '@sail-cloud/sail-cloud': ['signalk-category-cloud'],\n  'signalk-notifcation-acker': ['signalk-category-notifications'],\n  'signalk-path-filter': ['signalk-category-utility'],\n  'signalk-fixedstation': ['signalk-category-utility'],\n  '@ib236/signalk-prometheus-exporter': ['signalk-category-utility'],\n  'signalk-raspberry-pi-monitoring': ['signalk-category-hardware'],\n  'signalk-raspberry-pi-temperature': [CAT_DEPRECATED],\n  'signalk-windjs-plugin': ['signalk-category-weather'],\n  'signalk-windjs': ['signalk-category-weather'],\n  'signalk-barograph': ['signalk-category-weather'],\n  'eventsource-sk': [],\n  'signalk-websocket-provider': ['signalk-category-utility'],\n  'signalk-to-arcgis': ['signalk-category-utility'],\n\n  '@signalk/freeboard-sk': ['signalk-category-chart-plotters'],\n  '@mxtommy/kip': ['signalk-category-web-instruments'],\n  'signalk-stripcharts': ['signalk-category-web-instruments'],\n  '@signalk/sailgauge': ['signalk-category-web-instruments'],\n  '@signalk/simplegauges': ['signalk-category-web-instruments'],\n  'signalk-kindle-display': ['signalk-category-hardware'],\n  skwiz: ['signalk-category-utility'],\n  '@signalk/instrumentpanel': ['signalk-category-web-instruments'],\n  '@signalk/maptracker': [\n    'signalk-category-web-instruments',\n    'signalk-category-ais'\n  ],\n  gpxload: ['signalk-category-utility'],\n  '@digitalyacht/sk-on-kindle': ['signalk-category-hardware'],\n  '@ib236/sailinstruments': ['signalk-category-web-instruments'],\n  'tuktuk-chart-plotter': ['signalk-category-chart-plotters'],\n  'signalk-lcars': ['signalk-category-web-instruments'],\n  kgauge: ['signalk-category-web-instruments'],\n  'signalk-sbd-msg': ['signalk-category-hardware']\n}\n\nmodule.exports = {\n  getCategories,\n  getAvailableCategories\n}\n"
  },
  {
    "path": "src/config/config.test.js",
    "content": "const { expect } = require('chai')\nconst { getConfigDirectory } = require('./config')\nconst path = require('path')\n\nconst app = {\n  argv: {},\n  config: {\n    appPath: '/var/node/signalk',\n    configPath: '/data/signalk-config'\n  },\n  env: {\n    HOME: '/user/foo',\n    SIGNALK_NODE_CONFIG_DIR: '/data/signalk/config'\n  }\n}\n\ndescribe('getConfigDirectory', () => {\n  it('Allow env to overwrite constructor configPath setting.', () => {\n    expect(getConfigDirectory(app)).to.equal('/data/signalk/config')\n  })\n  it('Constructor configPath has priority when no env SK Config Dir.', () => {\n    const theApp = JSON.parse(JSON.stringify(app))\n    delete theApp.env.SIGNALK_NODE_CONFIG_DIR\n    expect(getConfigDirectory(theApp)).to.equal('/data/signalk-config')\n  })\n  it('No config setting then defaults to user dir.', () => {\n    const theApp = JSON.parse(JSON.stringify(app))\n    delete theApp.env.SIGNALK_NODE_CONFIG_DIR\n    delete theApp.config.configPath\n    expect(getConfigDirectory(theApp)).to.equal('/user/foo/.signalk')\n  })\n  it('Use the node process dir `appPath` as last resort.', () => {\n    const theApp = JSON.parse(JSON.stringify(app))\n    delete theApp.env.SIGNALK_NODE_CONFIG_DIR\n    delete theApp.config.configPath\n    delete theApp.env.HOME\n    expect(getConfigDirectory(theApp)).to.equal('/var/node/signalk')\n  })\n  it('-s overrides configPath with appPath', () => {\n    const theApp = JSON.parse(JSON.stringify(app))\n    delete theApp.env.SIGNALK_NODE_CONFIG_DIR\n    delete theApp.config.configPath\n    theApp.argv.s = path.join(\n      __dirname,\n      '../../settings/n2k-from-file-settings.json'\n    )\n    expect(getConfigDirectory(theApp)).to.equal(theApp.config.appPath)\n  })\n})\n"
  },
  {
    "path": "src/config/config.ts",
    "content": "/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n'use strict'\n\nimport fs from 'fs'\nimport os from 'node:os'\nimport _ from 'lodash'\nimport path from 'path'\nimport semver from 'semver'\nimport { v4 as uuidv4 } from 'uuid'\nimport { ServerApp, SignalKMessageHub, WithConfig } from '../app'\nimport { createDebug } from '../debug'\nimport DeltaEditor from '../deltaeditor'\nimport { getExternalPort } from '../ports'\nimport { atomicWriteFile } from '../atomicWrite'\nimport {\n  loadAll as loadUnitPreferences,\n  setApplicationDataPath\n} from '../unitpreferences'\nconst debug = createDebug('signalk-server:config')\n\nlet disableWriteSettings = false\n\n// use dynamic path so that ts compiler does not detect this\n// json file, as ts compile needs to copy all (other) used\n// json files under /dist\n// tslint:disable-next-line\nconst packageJson = require('../../' + 'package.json')\n\nexport interface Config {\n  getExternalHostname: () => string\n  getExternalPort: () => number\n  isExternalSsl: () => boolean\n  port: number\n  appPath: string\n  configPath: string\n  name: string\n  author: string\n  contributors: string[]\n  version: string\n  description: string\n  vesselName: string\n  vesselUUID?: string\n  vesselMMSI?: string\n  baseDeltaEditor: DeltaEditor\n  hasOldDefaults: boolean\n  overrideTimestampWithNow: boolean\n  security: boolean\n  settings: {\n    useBaseDeltas?: boolean\n    pipedProviders: any[]\n    interfaces?: { [ifaceName: string]: boolean }\n    security?: any\n    ssl?: boolean\n    wsCompression?: boolean\n    wsPingInterval?: number | false\n    accessLogging?: boolean\n    landingPage?: string\n    proxy_host?: string\n    proxy_port?: number\n    proxy_ssl?: boolean\n    hostname?: string\n    pruneContextsMinutes?: number\n    mdns?: boolean\n    sslport?: number\n    port?: number\n    keepMostRecentLogsOnly?: boolean\n    logCountToKeep?: number\n    enablePluginLogging?: boolean\n    loggingDirectory?: string\n    sourcePriorities?: any\n    trustProxy?: boolean | string | number\n    courseApi?: {\n      apiOnly?: boolean\n    }\n  }\n  defaults: object\n}\n\nexport interface ConfigApp extends ServerApp, WithConfig, SignalKMessageHub {\n  argv: any\n  env: any\n}\n\nexport function load(app: ConfigApp) {\n  app.argv = require('minimist')(process.argv.slice(2))\n\n  const config = (app.config = app.config || {})\n  const env = (app.env = process.env)\n\n  config.getExternalHostname = getExternalHostname.bind(config, config)\n  config.getExternalPort = getExternalPort.bind(config, app)\n  config.isExternalSsl = isExternalSsl.bind(null, config)\n\n  config.appPath = config.appPath || path.normalize(__dirname + '/../../')\n  debug('appPath:' + config.appPath)\n\n  try {\n    config.name = packageJson.name\n    config.author = packageJson.author\n    config.contributors = packageJson.contributors\n    config.version = packageJson.version\n    config.description = packageJson.description\n\n    //if dependencies are installed from tarballs like in\n    //master docker build the version will be like\n    //file:signalk-server-admin-ui-1.44.1.tgz\n    if (!process.env.SKIP_ADMINUI_VERSION_CHECK) {\n      checkPackageVersion(\n        '@signalk/server-admin-ui',\n        packageJson,\n        app.config.appPath\n      )\n    }\n  } catch (err) {\n    console.error('error parsing package.json', err)\n    process.exit(1)\n  }\n\n  setConfigDirectory(app)\n  app.config.baseDeltaEditor = new DeltaEditor()\n  if (_.isObject(app.config.settings)) {\n    debug('Using settings from constructor call, not reading defaults')\n    disableWriteSettings = true\n    if (config.defaults) {\n      convertOldDefaultsToDeltas(app.config.baseDeltaEditor, config.defaults)\n    }\n  } else {\n    readSettingsFile(app)\n    if (!setBaseDeltas(app)) {\n      const defaults = getFullDefaults(app)\n      if (defaults) {\n        convertOldDefaultsToDeltas(app.config.baseDeltaEditor, defaults)\n        if (\n          typeof (app.config.settings as any).useBaseDeltas === 'undefined' ||\n          (app.config.settings as any).useBaseDeltas\n        ) {\n          writeBaseDeltasFileSync(app)\n        } else {\n          app.config.hasOldDefaults = true\n        }\n      }\n    }\n  }\n  setSelfSettings(app)\n\n  // TRUST_PROXY env var overrides settings file — useful for container deployments\n  if (process.env.TRUST_PROXY !== undefined) {\n    const envVal = process.env.TRUST_PROXY\n    app.config.settings.trustProxy =\n      envVal === 'true'\n        ? true\n        : envVal === 'false'\n          ? false\n          : isNaN(Number(envVal))\n            ? envVal\n            : Number(envVal)\n  }\n\n  // Load unit preferences\n  try {\n    setApplicationDataPath(app.config.configPath)\n    loadUnitPreferences()\n    debug('Unit preferences loaded')\n  } catch (err) {\n    console.error('Failed to load unit preferences:', err)\n    // Non-fatal - server can run without unit preferences\n  }\n\n  if (app.argv['sample-nmea0183-data']) {\n    const sample = path.join(app.config.appPath, 'samples/plaka.log')\n    console.log(`Using sample data from ${sample}`)\n    app.config.settings.pipedProviders.push({\n      id: 'nmea0183-sample-data',\n      pipeElements: [\n        {\n          type: 'providers/simple',\n          options: {\n            logging: false,\n            type: 'FileStream',\n            subOptions: {\n              dataType: 'NMEA0183',\n              filename: sample\n            }\n          }\n        }\n      ],\n      enabled: true\n    })\n  }\n\n  if (app.argv['sample-n2k-data']) {\n    const sample = path.join(app.config.appPath, 'samples/aava-n2k.data')\n    console.log(`Using sample data from ${sample}`)\n    app.config.settings.pipedProviders.push({\n      id: 'n2k-sample-data',\n      pipeElements: [\n        {\n          type: 'providers/simple',\n          options: {\n            logging: false,\n            type: 'FileStream',\n            subOptions: {\n              dataType: 'NMEA2000JS',\n              filename: sample\n            }\n          }\n        }\n      ],\n      enabled: true\n    })\n  }\n\n  if (app.argv['override-timestamps']) {\n    app.config.overrideTimestampWithNow = true\n  }\n\n  if (app.argv.securityenabled && !app.config.security) {\n    app.config.settings.security = { strategy: './tokensecurity' }\n  }\n\n  if (env.SSLPORT) {\n    config.settings.ssl = true\n  }\n\n  if (!_.isUndefined(app.env.WSCOMPRESSION)) {\n    config.settings.wsCompression =\n      app.env.WSCOMPRESSION.toLowerCase() === 'true'\n  }\n\n  if (\n    config.settings.landingPage &&\n    config.settings.landingPage.charAt(0) !== '/'\n  ) {\n    console.error(`invalid rootUri: ${config.settings.landingPage}`)\n    process.exit(1)\n  }\n\n  require('./development')(app)\n  require('./production')(app)\n}\n\nfunction checkPackageVersion(name: string, pkg: any, appPath: string) {\n  const expected = pkg.dependencies[name]\n  let modulePackageJsonPath = path.join(\n    appPath,\n    'node_modules',\n    name,\n    'package.json'\n  )\n  if (!fs.existsSync(modulePackageJsonPath)) {\n    modulePackageJsonPath = path.join(appPath, '..', name, 'package.json')\n  }\n  const installed = require(modulePackageJsonPath)\n\n  if (!semver.satisfies(installed.version, expected)) {\n    console.error(\n      `invalid version of the ${name} package is installed ${installed.version} !== ${expected}`\n    )\n    process.exit(1)\n  }\n}\n\n// Establish what the config directory path is.\nfunction getConfigDirectory({ argv, config, env }: any) {\n  // Possible paths in order of priority.\n  const configPaths = [\n    env.SIGNALK_NODE_CONDFIG_DIR,\n    env.SIGNALK_NODE_CONFIG_DIR,\n    config.configPath,\n    argv.c,\n    argv.s && config.appPath,\n    env.HOME && path.join(env.HOME, '.signalk'),\n    config.appPath\n  ]\n  // Find first config directory path that has a truthy value.\n  const configPath = path.resolve(_.find(configPaths))\n  debug('configDirPath: ' + configPath)\n  return configPath\n}\n\n// Create directories and set app.config.configPath.\nfunction setConfigDirectory(app: ConfigApp) {\n  app.config.configPath = getConfigDirectory(app)\n  if (app.config.configPath !== app.config.appPath) {\n    if (!fs.existsSync(app.config.configPath)) {\n      fs.mkdirSync(app.config.configPath)\n      debug(`configDir Created: ${app.config.configPath}`)\n    }\n    const configPackage = path.join(app.config.configPath, 'package.json')\n    if (!fs.existsSync(configPackage)) {\n      fs.writeFileSync(\n        configPackage,\n        JSON.stringify(pluginsPackageJsonTemplate, null, 2)\n      )\n    }\n    const npmrcPath = path.join(app.config.configPath, '.npmrc')\n    if (!fs.existsSync(npmrcPath)) {\n      fs.writeFileSync(npmrcPath, 'package-lock=false\\n')\n    } else {\n      const contents = fs.readFileSync(npmrcPath)\n      if (contents.indexOf('package-lock=') === -1) {\n        fs.appendFileSync(npmrcPath, '\\npackage-lock=false\\n')\n      }\n    }\n  }\n}\n\nfunction getDefaultsPath(app: ConfigApp) {\n  const defaultsFile =\n    app.config.configPath !== app.config.appPath\n      ? 'defaults.json'\n      : 'settings/defaults.json'\n  return path.join(app.config.configPath, defaultsFile)\n}\n\nfunction getBaseDeltasPath(app: ConfigApp) {\n  const defaultsFile =\n    app.config.configPath !== app.config.appPath\n      ? 'baseDeltas.json'\n      : 'settings/baseDeltas.json'\n  return path.join(app.config.configPath, defaultsFile)\n}\n\nexport function readDefaultsFile(app: ConfigApp) {\n  const defaultsPath = getDefaultsPath(app)\n  const data = fs.readFileSync(defaultsPath)\n  return JSON.parse(data.toString())\n}\n\nfunction getFullDefaults(app: ConfigApp) {\n  const defaultsPath = getDefaultsPath(app)\n  try {\n    const defaults = readDefaultsFile(app)\n    debug(`Found defaults at ${defaultsPath.toString()}`)\n    return defaults\n  } catch (e) {\n    if ((e as any)?.code === 'ENOENT') {\n      return undefined\n    } else {\n      console.error(`unable to parse ${defaultsPath.toString()}`)\n      console.error(e)\n      process.exit(1)\n    }\n  }\n  return undefined\n}\n\nfunction setBaseDeltas(app: ConfigApp) {\n  const defaultsPath = getBaseDeltasPath(app)\n  try {\n    app.config.baseDeltaEditor.load(defaultsPath)\n    debug(`Found default deltas at ${defaultsPath.toString()}`)\n  } catch (e) {\n    if ((e as any)?.code === 'ENOENT') {\n      debug(`No default deltas found at ${defaultsPath.toString()}`)\n      return\n    } else {\n      console.log(e)\n    }\n  }\n  return true\n}\n\nexport function sendBaseDeltas(app: ConfigApp) {\n  const copy = JSON.parse(JSON.stringify(app.config.baseDeltaEditor.deltas))\n  copy.forEach((delta: any) => {\n    app.handleMessage('defaults', delta)\n  })\n}\n\nexport function writeDefaultsFile(app: ConfigApp, defaults: any, cb: any) {\n  atomicWriteFile(getDefaultsPath(app), JSON.stringify(defaults, null, 2))\n    .then(() => cb())\n    .catch(cb)\n}\n\nexport function writeBaseDeltasFileSync(app: ConfigApp) {\n  app.config.baseDeltaEditor.saveSync(getBaseDeltasPath(app))\n}\n\nexport function writeBaseDeltasFile(app: ConfigApp) {\n  return app.config.baseDeltaEditor.save(getBaseDeltasPath(app))\n}\n\nfunction setSelfSettings(app: ConfigApp) {\n  const name = app.config.baseDeltaEditor.getSelfValue('name')\n  const mmsi = app.config.baseDeltaEditor.getSelfValue('mmsi')\n  let uuid = app.config.baseDeltaEditor.getSelfValue('uuid')\n\n  if (mmsi && !_.isString(mmsi)) {\n    throw new Error(`invalid mmsi: ${mmsi}`)\n  }\n\n  if (uuid && !_.isString(uuid)) {\n    throw new Error(`invalid uuid: ${uuid}`)\n  }\n\n  if (mmsi === null && uuid === null) {\n    uuid = 'urn:mrn:signalk:uuid:' + uuidv4()\n    app.config.baseDeltaEditor.setSelfValue('uuid', uuid)\n  }\n\n  app.config.vesselName = name\n  if (mmsi) {\n    app.selfType = 'mmsi'\n    app.selfId = 'urn:mrn:imo:mmsi:' + mmsi\n    app.config.vesselMMSI = mmsi\n  } else if (uuid) {\n    app.selfType = 'uuid'\n    app.selfId = uuid\n    app.config.vesselUUID = uuid\n  }\n  if (app.selfType) {\n    debug(app.selfType.toUpperCase() + ': ' + app.selfId)\n  }\n  app.selfContext = 'vessels.' + app.selfId\n}\n\nfunction readSettingsFile(app: ConfigApp) {\n  const settings = getSettingsFilename(app)\n  if (!app.argv.s && !fs.existsSync(settings)) {\n    console.log('Settings file does not exist, using empty settings')\n    app.config.settings = {\n      pipedProviders: []\n    }\n  } else {\n    debug('Using settings file: ' + settings)\n    try {\n      app.config.settings = require(settings)\n    } catch (_e: any) {\n      console.error(\n        `Error reading settings file ${settings}, using empty settings`\n      )\n      app.config.settings = {\n        pipedProviders: []\n      }\n    }\n  }\n  if (_.isUndefined(app.config.settings.pipedProviders)) {\n    app.config.settings.pipedProviders = []\n  }\n  if (_.isUndefined(app.config.settings.interfaces)) {\n    app.config.settings.interfaces = {}\n  }\n}\n\nexport function writeSettingsFile(app: ConfigApp, settings: any, cb: any) {\n  if (!disableWriteSettings) {\n    atomicWriteFile(getSettingsFilename(app), JSON.stringify(settings, null, 2))\n      .then(() => cb())\n      .catch(cb)\n  } else {\n    cb()\n  }\n}\n\nfunction getSettingsFilename(app: ConfigApp) {\n  if (process.env.SIGNALK_NODE_SETTINGS) {\n    debug(\n      'Settings filename was set in environment SIGNALK_NODE_SETTINGS, overriding all other options'\n    )\n    return path.resolve(process.env.SIGNALK_NODE_SETTINGS)\n  }\n\n  const settingsFile = app.argv.s || 'settings.json'\n  return path.join(app.config.configPath, settingsFile)\n}\n\nfunction isExternalSsl(config: Config): boolean {\n  if (process.env.EXTERNALSSL) {\n    return (\n      process.env.EXTERNALSSL === '1' ||\n      process.env.EXTERNALSSL.toLowerCase() === 'true'\n    )\n  }\n  return !!config.settings.proxy_ssl\n}\n\nfunction getExternalHostname(config: Config) {\n  if (process.env.EXTERNALHOST) {\n    return process.env.EXTERNALHOST\n  }\n  if (config.settings.proxy_host) {\n    return config.settings.proxy_host\n  } else if (config.settings.hostname) {\n    return config.settings.hostname\n  }\n  try {\n    return os.hostname()\n  } catch (_ex) {\n    return 'hostname_not_available'\n  }\n}\n\nfunction scanDefaults(deltaEditor: DeltaEditor, vpath: string, item: any) {\n  _.keys(item).forEach((key: string) => {\n    const value = item[key]\n    if (key === 'meta') {\n      deltaEditor.setMeta('vessels.self', vpath, value)\n    } else if (key === 'value') {\n      deltaEditor.setSelfValue(vpath, value)\n    } else if (_.isObject(value)) {\n      const childPath = vpath.length > 0 ? `${vpath}.${key}` : key\n      scanDefaults(deltaEditor, childPath, value)\n    }\n  })\n}\n\nfunction convertOldDefaultsToDeltas(\n  deltaEditor: DeltaEditor,\n  defaults: object\n) {\n  const deltas: any[] = []\n  const self: any = _.get(defaults, 'vessels.self')\n  if (self) {\n    _.keys(self).forEach((key: any) => {\n      const value = self[key]\n      if (!_.isString(value)) {\n        scanDefaults(deltaEditor, key, value)\n      } else {\n        deltaEditor.setSelfValue(key, value)\n      }\n    })\n    if (self.communication) {\n      deltaEditor.setSelfValue('communication', self.communication)\n    }\n  }\n  return deltas\n}\n\nconst pluginsPackageJsonTemplate = {\n  name: 'signalk-server-config',\n  version: '0.0.1',\n  description: 'This file is here to track your plugin and webapp installs.',\n  repository: {},\n  license: 'Apache-2.0'\n}\n\nmodule.exports = {\n  load,\n  getConfigDirectory,\n  writeSettingsFile,\n  writeDefaultsFile,\n  readDefaultsFile,\n  sendBaseDeltas,\n  writeBaseDeltasFile,\n  package: packageJson\n}\n"
  },
  {
    "path": "src/config/development.js",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nconst { isUndefined } = require('lodash')\n\nmodule.exports = function (app) {\n  'use strict'\n\n  if (app.get('env') === 'development') {\n    app.config.environment = 'development'\n\n    app.use(\n      require('errorhandler')({\n        dumpExceptions: true,\n        showStack: true\n      })\n    )\n\n    const morganOptions = {}\n    const accessLogging =\n      isUndefined(app.config.settings.accessLogging) ||\n      app.config.settings.accessLogging\n    if (!accessLogging) {\n      morganOptions.skip = () => true\n    }\n    app.use(require('morgan')('dev', morganOptions))\n  }\n}\n"
  },
  {
    "path": "src/config/get.js",
    "content": "const path = require('path')\nconst { flow, get, partialRight } = require('lodash/fp')\n\nconst appPath = path.normalize(__dirname + '/../../')\nconst addModules = partialRight(path.join, ['node_modules/'])\nconst appModules = addModules(appPath)\n\n// Return the appPath from an app object.\nconst getAppPath = get('config.appPath')\n\n// Build path to the public dir of a module. getInstalledPathSync(moduleName, { local: true })\nconst getModulePublic = (moduleName) =>\n  flow(getAppPath, addModules, partialRight(path.join, [moduleName, 'public']))\n\nmodule.exports = {\n  appModules,\n  appPath,\n  getAppPath,\n  getModulePublic\n}\n"
  },
  {
    "path": "src/config/production.js",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nconst { isUndefined } = require('lodash')\n\nmodule.exports = function (app) {\n  'use strict'\n\n  if (app.get('env') === 'production') {\n    app.config.environment = 'production'\n    app.config.debug = false\n\n    const morganOptions = {}\n    const accessLogging =\n      isUndefined(app.config.settings.accessLogging) ||\n      app.config.settings.accessLogging\n    if (!accessLogging) {\n      morganOptions.skip = () => true\n    }\n    app.use(require('morgan')('combined', morganOptions))\n    app.use(require('errorhandler')())\n  }\n}\n"
  },
  {
    "path": "src/constants.ts",
    "content": "export const SERVERROUTESPREFIX = '/skServer'\n"
  },
  {
    "path": "src/cors.ts",
    "content": "import { IRouter } from 'express'\nimport { createDebug } from './debug'\nimport { SecurityConfig } from './security'\nimport cors, { CorsOptions } from 'cors'\n\nexport function setupCors(\n  app: IRouter,\n  { allowedCorsOrigins }: SecurityConfig\n) {\n  const corsDebug = createDebug('signalk-server:cors')\n\n  const corsOptions: CorsOptions = {\n    credentials: true\n  }\n\n  const corsOrigins = allowedCorsOrigins\n    ? allowedCorsOrigins\n        .split(',')\n        .map((s: string) => s.trim().replace(/\\/*$/, ''))\n    : []\n\n  // default wildcard cors configuration does not work\n  // with credentials:include client requests, so add\n  // our own wildcard rule that will match all origins\n  // but respond with that origin, not the default *\n  if (allowedCorsOrigins?.startsWith('*')) {\n    corsOptions.origin = (origin: string | undefined, cb) => cb(null, origin)\n    corsDebug('Allowing all origins')\n  } else if (corsOrigins.length > 0) {\n    // set origin only if corsOrigins are set so that\n    // we get the default cors module functionality\n    // for simple requests by default\n    corsOptions.origin = corsOrigins\n    corsDebug(`corsOrigins:${corsOrigins.toString()}`)\n  }\n\n  app.use(cors(corsOptions))\n  app.use((req, res, next) => {\n    const origin = req.header('origin')\n    if (origin !== undefined && !corsOrigins.includes(origin)) {\n      corsDebug(\n        `${origin} is not present in corsOrigins: ${corsOrigins.toString()}`\n      )\n    } else {\n      corsDebug(`${origin} is allowed`)\n    }\n    next()\n  })\n}\n\nexport const handleAdminUICORSOrigin = (\n  securityConfig: SecurityConfig & { adminUIOrigin: string }\n) => {\n  let allowedCorsOrigins: string[] = []\n  if (\n    securityConfig.adminUIOrigin &&\n    securityConfig.allowedCorsOrigins &&\n    securityConfig.allowedCorsOrigins.length > 0\n  ) {\n    allowedCorsOrigins = securityConfig.allowedCorsOrigins?.split(',')\n    const adminUIOriginUrl = new URL(securityConfig.adminUIOrigin)\n    if (\n      allowedCorsOrigins.indexOf(securityConfig.adminUIOrigin) === -1 &&\n      adminUIOriginUrl.hostname !== 'localhost'\n    ) {\n      allowedCorsOrigins.push(securityConfig.adminUIOrigin)\n    }\n  }\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  const { adminUIOrigin, ...configWithoutAdminUIOrigin } = securityConfig\n  return {\n    ...configWithoutAdminUIOrigin,\n    allowedCorsOrigins: allowedCorsOrigins.join(',')\n  }\n}\n"
  },
  {
    "path": "src/debug.ts",
    "content": "import coreDebug from 'debug'\n\nconst knownDebugs = new Set<string>()\n\nexport function createDebug(debugName: string) {\n  knownDebugs.add(debugName)\n  return coreDebug(debugName)\n}\n\nexport function listKnownDebugs() {\n  return Array.from(knownDebugs)\n}\n"
  },
  {
    "path": "src/deltaPriority.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Context, Path, SourceRef } from '@signalk/server-api'\nimport { createDebug } from './debug'\nconst debug = createDebug('signalk-server:sourcepriorities')\n\ninterface SourcePriority {\n  sourceRef: SourceRef\n  timeout: number\n}\n\nexport interface SourcePrioritiesData {\n  [path: string]: SourcePriority[]\n}\n\ninterface PathValue {\n  path: string\n  value: any\n}\n\ninterface TimestampedSource {\n  timestamp: number\n  sourceRef: SourceRef\n}\n\ninterface SourcePrecedenceData {\n  precedence: number\n  timeout: number\n}\n\ntype PathLatestTimestamps = Map<Path, TimestampedSource>\n\ntype PathPrecedences = Map<SourceRef, SourcePrecedenceData>\nconst toPrecedences = (sourcePrioritiesMap: {\n  [path: string]: SourcePriority[]\n}) =>\n  Object.keys(sourcePrioritiesMap).reduce<Map<Path, PathPrecedences>>(\n    (acc, path: string) => {\n      const priorityIndices = sourcePrioritiesMap[path].reduce<PathPrecedences>(\n        (acc2, { sourceRef, timeout }, i: number) => {\n          acc2.set(sourceRef, {\n            precedence: i,\n            timeout\n          })\n          return acc2\n        },\n        new Map<SourceRef, SourcePrecedenceData>()\n      )\n      acc.set(path as Path, priorityIndices)\n      return acc\n    },\n    new Map<Path, PathPrecedences>()\n  )\n\nexport type ToPreferredDelta = (\n  delta: any,\n  now: Date,\n  selfContext: string\n) => any\n\nexport const getToPreferredDelta = (\n  sourcePrioritiesData: SourcePrioritiesData,\n  unknownSourceTimeout = 10000\n): ToPreferredDelta => {\n  if (!sourcePrioritiesData) {\n    debug('No priorities data')\n    return (delta: any, _now: Date, _selfContext: string) => delta\n  }\n  const precedences = toPrecedences(sourcePrioritiesData)\n\n  const contextPathTimestamps = new Map<Context, PathLatestTimestamps>()\n\n  const setLatest = (\n    context: Context,\n    path: Path,\n    sourceRef: SourceRef,\n    millis: number\n  ) => {\n    let pathLatestTimestamps = contextPathTimestamps.get(context)\n    if (!pathLatestTimestamps) {\n      pathLatestTimestamps = new Map<Path, TimestampedSource>()\n      contextPathTimestamps.set(context, pathLatestTimestamps)\n    }\n    pathLatestTimestamps.set(path, { sourceRef, timestamp: millis })\n  }\n\n  const getLatest = (context: Context, path: Path): TimestampedSource => {\n    const pathLatestTimestamps = contextPathTimestamps.get(context)\n    if (!pathLatestTimestamps) {\n      return {\n        sourceRef: '' as SourceRef,\n        timestamp: 0\n      }\n    }\n    const latestTimestamp = pathLatestTimestamps.get(path)\n    if (!latestTimestamp) {\n      return {\n        sourceRef: '' as SourceRef,\n        timestamp: 0\n      }\n    }\n    return latestTimestamp\n  }\n\n  const HIGHESTPRECEDENCE = {\n    precedence: 0,\n    timeout: 0\n  }\n\n  const LOWESTPRECEDENCE = {\n    precedence: Number.POSITIVE_INFINITY,\n    timeout: unknownSourceTimeout\n  }\n\n  const isPreferredValue = (\n    path: Path,\n    latest: TimestampedSource,\n    sourceRef: SourceRef,\n    millis: number\n  ) => {\n    const pathPrecedences: PathPrecedences | undefined = precedences.get(path)\n\n    if (!pathPrecedences) {\n      return true\n    }\n\n    const latestPrecedence =\n      pathPrecedences.get(latest.sourceRef) || HIGHESTPRECEDENCE\n    const incomingPrecedence =\n      pathPrecedences.get(sourceRef) || LOWESTPRECEDENCE\n\n    const latestIsFromHigherPrecedence =\n      latestPrecedence.precedence < incomingPrecedence.precedence\n\n    const isPreferred =\n      !latestIsFromHigherPrecedence ||\n      millis - latest.timestamp > incomingPrecedence.timeout\n    if (debug.enabled) {\n      debug(`${path}:${sourceRef}:${isPreferred}:${millis - latest.timestamp}`)\n    }\n    return isPreferred\n  }\n\n  return (delta: any, now: Date, selfContext: string) => {\n    if (delta.context === selfContext) {\n      const millis = now.getTime()\n      delta.updates &&\n        delta.updates.forEach((update: any) => {\n          if ('values' in update) {\n            update.values = update.values.reduce(\n              (acc: any, pathValue: PathValue) => {\n                const latest = getLatest(\n                  delta.context as Context,\n                  pathValue.path as Path\n                )\n                const isPreferred = isPreferredValue(\n                  pathValue.path as Path,\n                  latest,\n                  update.$source,\n                  millis\n                )\n                if (isPreferred) {\n                  setLatest(\n                    delta.context as Context,\n                    pathValue.path as Path,\n                    update.$source as SourceRef,\n                    millis\n                  )\n                  acc.push(pathValue)\n                  return acc\n                }\n                return acc\n              },\n              []\n            )\n          }\n        })\n    }\n    return delta\n  }\n}\n"
  },
  {
    "path": "src/deltacache.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createDebug } from './debug'\nconst debug = createDebug('signalk-server:deltacache')\nimport { FullSignalK, getSourceId } from '@signalk/signalk-schema'\nimport _, { isUndefined } from 'lodash'\nimport { toDelta, StreamBundle } from './streambundle'\nimport { ContextMatcher, SignalKServer } from './types'\nimport { Context, NormalizedDelta, SourceRef } from '@signalk/server-api'\n\ninterface StringKeyed {\n  [key: string]: any\n}\n\nexport default class DeltaCache {\n  cache: StringKeyed = {}\n  lastModifieds: StringKeyed = {}\n  app: SignalKServer\n  defaults: any\n  sourceDeltas: StringKeyed = {}\n  cachedContextPaths: {\n    [context: string]: {\n      [path: string]: string[]\n    }\n  } = {}\n\n  constructor(app: SignalKServer, streambundle: StreamBundle) {\n    this.app = app\n    streambundle.keys.onValue((key) => {\n      streambundle.getBus(key).onValue(this.onValue.bind(this))\n    })\n\n    // String.split() is heavy enough and called frequently enough\n    // to warrant caching the result. Has a noticeable effect\n    // on throughput of a server going full blast with the n2k\n    // sample data and the memory hit is negligible. The cache\n    // must be pruned, or AIS vessel data will stick forever.\n    // No fancy pruning, just clear & let it recreate.\n    setInterval(\n      () => {\n        this.cachedContextPaths = {}\n      },\n      5 * 60 * 1000\n    )\n  }\n\n  getContextAndPathParts(msg: NormalizedDelta): string[] {\n    let result\n    if (\n      this.cachedContextPaths[msg.context] &&\n      (result = this.cachedContextPaths[msg.context][msg.path])\n    ) {\n      return result\n    }\n\n    let contextAndPathParts = msg.context.split('.')\n    if (msg.path.length !== 0) {\n      contextAndPathParts = contextAndPathParts.concat(msg.path.split('.'))\n    }\n    if (!this.cachedContextPaths[msg.context]) {\n      this.cachedContextPaths[msg.context] = {}\n    }\n    this.cachedContextPaths[msg.context][msg.path] = contextAndPathParts\n    return contextAndPathParts\n  }\n\n  onValue(msg: NormalizedDelta) {\n    // debug(`onValue ${JSON.stringify(msg)}`)\n\n    if (msg.isMeta) {\n      // ignore meta data since it's getting managed by FullSignalK\n      return\n    }\n\n    const sourceRef = ensureHasDollarSource(msg)\n    const leaf = getLeafObject(\n      this.cache,\n      this.getContextAndPathParts(msg),\n      true\n    )\n\n    if (msg.path.length !== 0) {\n      leaf[sourceRef] = msg\n    } else if (msg.value) {\n      _.keys(msg.value).forEach((key) => {\n        if (!leaf[key]) {\n          leaf[key] = {}\n        }\n        leaf[key][sourceRef] = msg\n      })\n    }\n    this.lastModifieds[msg.context] = Date.now()\n  }\n\n  setSourceDelta(key: string, delta: any) {\n    this.sourceDeltas[key] = delta\n    this.app.signalk.addDelta(delta)\n  }\n\n  deleteContext(contextKey: string) {\n    debug('Deleting context ' + contextKey)\n    const contextParts = contextKey.split('.')\n    if (contextParts.length === 2) {\n      delete this.cache[contextParts[0]][contextParts[1]]\n    }\n  }\n\n  pruneContexts(seconds: number) {\n    debug('pruning contexts...')\n    const threshold = Date.now() - seconds * 1000\n    for (const contextKey in this.lastModifieds) {\n      if (this.lastModifieds[contextKey] < threshold) {\n        this.deleteContext(contextKey)\n        delete this.lastModifieds[contextKey]\n      }\n    }\n  }\n\n  buildFull(user: string, path: string[]) {\n    const leaf = getLeafObject(\n      this.cache,\n      pathToProcessForFull(path),\n      false,\n      true\n    )\n\n    let deltas\n    if (leaf) {\n      deltas = findDeltas(leaf).map(toDelta)\n    }\n\n    return this.buildFullFromDeltas(\n      user,\n      deltas,\n      path.length === 0 || path[0] === 'sources'\n    )\n  }\n\n  getSources() {\n    const signalk = new FullSignalK(this.app.selfId, this.app.selfType)\n\n    const addDelta = signalk.addDelta.bind(signalk)\n    _.values(this.sourceDeltas).forEach(addDelta)\n\n    return signalk.retrieve().sources\n  }\n\n  buildFullFromDeltas(\n    user: string,\n    deltas: any[] | undefined,\n    includeSources: boolean\n  ) {\n    const signalk = new FullSignalK(this.app.selfId, this.app.selfType)\n\n    const addDelta = signalk.addDelta.bind(signalk)\n\n    if (includeSources) {\n      _.values(this.sourceDeltas).forEach(addDelta)\n    }\n\n    if (deltas && deltas.length) {\n      const secFilter = this.app.securityStrategy.shouldFilterDeltas()\n        ? (delta: any) => this.app.securityStrategy.filterReadDelta(user, delta)\n        : () => true\n      deltas.filter(secFilter).forEach(addDelta)\n    }\n\n    return signalk.retrieve()\n  }\n\n  getCachedDeltas(contextFilter: ContextMatcher, user?: string, key?: string) {\n    const contexts: Context[] = []\n    _.keys(this.cache).forEach((type) => {\n      _.keys(this.cache[type]).forEach((id) => {\n        const context = `${type}.${id}` as Context\n        if (contextFilter({ context })) {\n          contexts.push(this.cache[type][id])\n        }\n      })\n    })\n\n    const deltas = contexts.reduce(\n      (acc: NormalizedDelta[], context: Context) => {\n        let deltasToProcess\n\n        if (key) {\n          deltasToProcess = _.get(context, key)\n        } else {\n          deltasToProcess = findDeltas(context)\n        }\n        if (deltasToProcess) {\n          acc = acc.concat(\n            _.values(\n              _.pickBy(deltasToProcess, (val, akey) => {\n                return akey !== 'meta'\n              })\n            )\n          )\n        }\n        return acc\n      },\n      []\n    )\n\n    // ISO 8601 Zulu timestamps (as produced by new Date().toISOString() in\n    // handleMessage) are lexicographically sortable, so we can avoid\n    // allocating two Date objects per comparison.\n    deltas.sort((left, right) =>\n      left.timestamp < right.timestamp\n        ? -1\n        : left.timestamp > right.timestamp\n          ? 1\n          : 0\n    )\n\n    return deltas.map(toDelta).filter((delta) => {\n      return this.app.securityStrategy.filterReadDelta(user, delta)\n    })\n  }\n}\n\nfunction pathToProcessForFull(pathArray: any[]) {\n  if (pathArray.length > 0 && pathArray[0] === 'sources') {\n    return []\n  }\n  return pathArray\n}\n\nfunction pickDeltasFromBranch(acc: any[], obj: any) {\n  if (typeof obj === 'object') {\n    if (isUndefined(obj.path) || isUndefined(obj.value)) {\n      // not a delta, so process possible children\n      _.values(obj).reduce(pickDeltasFromBranch, acc)\n    } else {\n      acc.push(obj)\n    }\n  }\n  return acc\n}\n\nfunction findDeltas(branchOrLeaf: any) {\n  return _.values(branchOrLeaf).reduce(pickDeltasFromBranch, [])\n}\n\nfunction ensureHasDollarSource(normalizedDelta: NormalizedDelta): SourceRef {\n  let dollarSource = normalizedDelta.$source\n  if (!dollarSource) {\n    dollarSource = getSourceId(normalizedDelta.source)\n    normalizedDelta.$source = dollarSource\n  }\n  return dollarSource\n}\n\nfunction getLeafObject(\n  start: any,\n  contextAndPathParts: string[],\n  createIfMissing = false,\n  returnLast = false\n) {\n  let current = start\n\n  for (let i = 0; i < contextAndPathParts.length; i++) {\n    const p = contextAndPathParts[i]\n    if (isUndefined(current[p])) {\n      if (createIfMissing) {\n        current[p] = {}\n      } else {\n        return returnLast ? current : null\n      }\n    }\n    current = current[p]\n  }\n  return current\n}\n"
  },
  {
    "path": "src/deltachain.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Delta, DeltaInputHandler } from '@signalk/server-api'\n\nexport default class DeltaChain {\n  chain: any\n  next: any\n  constructor(private dispatchMessage: any) {\n    this.chain = []\n    this.next = []\n  }\n\n  process(msg: Delta) {\n    return this.doProcess(0, msg)\n  }\n\n  doProcess(index: number, msg: any) {\n    if (index >= this.chain.length) {\n      this.dispatchMessage(msg)\n      return\n    }\n    this.chain[index](msg, this.next[index])\n  }\n\n  register(handler: DeltaInputHandler) {\n    this.chain.push(handler)\n    this.updateNexts()\n    return () => {\n      const handlerIndex = this.chain.indexOf(handler)\n      if (handlerIndex >= 0) {\n        this.chain.splice(handlerIndex, 1)\n        this.updateNexts()\n      }\n    }\n  }\n\n  updateNexts() {\n    this.next = this.chain.map((chainElement: any, index: number) => {\n      return (msg: any) => {\n        this.doProcess(index + 1, msg)\n      }\n    })\n  }\n}\n"
  },
  {
    "path": "src/deltaeditor.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2020 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from 'fs'\nimport _ from 'lodash'\nimport { atomicWriteFileSync, atomicWriteFile } from './atomicWrite'\n\nconst VALUES = 'values'\nconst META = 'meta'\nconst SELF_VESSEL = 'vessels.self'\n\nclass DeltaEditor {\n  deltas: any[]\n\n  constructor() {\n    this.deltas = []\n  }\n\n  load(filename: string) {\n    const data = fs.readFileSync(filename, 'utf8')\n    const deltas = JSON.parse(data)\n\n    if (!_.isArray(deltas)) {\n      throw new Error(`${filename} should contain an array of deltas`)\n    }\n    this.deltas = deltas\n  }\n\n  saveSync(filename: string) {\n    const data = JSON.stringify(this.deltas, null, 2)\n    atomicWriteFileSync(filename, data)\n  }\n\n  save(filename: string): Promise<void> {\n    return atomicWriteFile(filename, JSON.stringify(this.deltas, null, 2))\n  }\n\n  setValue(context: string, path: string, value: any) {\n    if (_.isUndefined(value)) {\n      return this.removeValue(context, path)\n    }\n\n    if (path.indexOf('.') === -1) {\n      const deltaInfo = getDelta(this.deltas, context, '', VALUES)\n      const newVal = deltaInfo && deltaInfo.kp ? deltaInfo.kp.value : {}\n      newVal[path] = value\n      return setDelta(this.deltas, context, '', newVal, VALUES)\n    } else {\n      return setDelta(this.deltas, context, path, value, VALUES)\n    }\n  }\n\n  setSelfValue(path: string, value: any) {\n    return this.setValue(SELF_VESSEL, path, value)\n  }\n\n  setMeta(context: string, path: string, value: any) {\n    return setDelta(this.deltas, context, path, value, META)\n  }\n\n  getValue(context: string, path: string) {\n    if (path.indexOf('.') === -1) {\n      const deltaInfo = getDelta(this.deltas, context, '', VALUES)\n      return deltaInfo && deltaInfo.kp && deltaInfo.kp.value[path]\n    } else {\n      const deltaInfo = getDelta(this.deltas, context, path, VALUES)\n      return deltaInfo && deltaInfo.kp && deltaInfo.kp.value\n    }\n  }\n\n  getSelfValue(path: string) {\n    return this.getValue(SELF_VESSEL, path)\n  }\n\n  getMeta(context: string, path: string) {\n    const deltaInfo = getDelta(this.deltas, context, path, META)\n    return deltaInfo && deltaInfo.kp && deltaInfo.kp.value\n  }\n\n  removeValue(context: string, path: string) {\n    if (path.indexOf('.') === -1) {\n      const deltaInfo = getDelta(this.deltas, context, '', VALUES)\n      if (deltaInfo && deltaInfo.kp) {\n        delete deltaInfo.kp.value[path]\n\n        if (_.keys(deltaInfo.kp.value).length === 0) {\n          _.pull(this.deltas, deltaInfo.delta)\n        }\n      }\n    } else {\n      const deltaInfo = getDelta(this.deltas, context, path, VALUES)\n      if (deltaInfo && deltaInfo.kp) {\n        _.pull(deltaInfo.delta.updates[0].values, deltaInfo.kp)\n        if (deltaInfo.delta.updates[0].values.length === 0) {\n          _.pull(this.deltas, deltaInfo.delta)\n        }\n      }\n    }\n  }\n\n  removeSelfValue(path: string) {\n    return this.removeValue(SELF_VESSEL, path)\n  }\n\n  removeMeta(context: string, path: string) {\n    const deltaInfo = getDelta(this.deltas, context, path, META)\n    if (deltaInfo && deltaInfo.kp) {\n      _.pull(deltaInfo.delta.updates[0].meta, deltaInfo.kp)\n      if (deltaInfo.delta.updates[0].meta.length === 0) {\n        _.pull(this.deltas, deltaInfo.delta)\n      }\n    }\n  }\n}\n\nfunction setDelta(\n  deltas: any[],\n  context: string,\n  path: string,\n  value: any,\n  type: string\n) {\n  const deltaInfo = getDelta(deltas, context, path, type)\n  if (deltaInfo && deltaInfo.kp) {\n    deltaInfo.kp.value = value\n    return deltaInfo.delta\n  } else if (deltaInfo) {\n    deltaInfo.delta.updates[0][type].push({ path, value })\n    return deltaInfo.delta\n  } else {\n    const delta = {\n      context,\n      updates: [\n        {\n          [type]: [\n            {\n              path,\n              value\n            }\n          ]\n        }\n      ]\n    }\n    deltas.push(delta)\n    return delta\n  }\n}\n\nfunction getDelta(\n  deltas: any[],\n  context: string,\n  path: string,\n  type: string\n): any {\n  for (const delta of deltas) {\n    if (delta.updates && delta.context === context) {\n      for (const update of delta.updates) {\n        if (update[type]) {\n          const foundKp = update[type].find((kp: any) => kp.path === path)\n          return { delta, kp: foundKp }\n        }\n      }\n    }\n  }\n  return null\n}\n\nexport = DeltaEditor\n"
  },
  {
    "path": "src/deltastats.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2017 Teppo Kurki, Scott Bender\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { isUndefined, values } from 'lodash'\nimport { EventEmitter } from 'node:events'\n\nconst STATS_UPDATE_INTERVAL_SECONDS = 5\nexport const CONNECTION_WRITE_EVENT_NAME = 'connectionwrite'\n\nexport interface ConnectionWriteEvent {\n  providerId: string\n  count?: number\n}\n\nclass ProviderStats {\n  writeRate: number\n  writeCount: number\n  lastIntervalWriteCount: number\n  deltaRate: number\n  deltaCount: number\n  lastIntervalDeltaCount: number\n  constructor() {\n    this.writeRate =\n      this.writeCount =\n      this.lastIntervalWriteCount =\n      this.deltaRate =\n      this.deltaCount =\n      this.lastIntervalDeltaCount =\n        0\n  }\n}\n\nexport interface WithProviderStatistics {\n  deltaCount: number\n  lastIntervalDeltaCount: number\n  providerStatistics: {\n    [providerId: string]: ProviderStats\n  }\n}\n\nexport function startDeltaStatistics(\n  app: EventEmitter & WithProviderStatistics\n) {\n  app.deltaCount = 0\n  app.lastIntervalDeltaCount = 0\n  app.providerStatistics = {}\n\n  app.on(CONNECTION_WRITE_EVENT_NAME, (msg: ConnectionWriteEvent) => {\n    const stats =\n      app.providerStatistics[msg.providerId] ||\n      (app.providerStatistics[msg.providerId] = new ProviderStats())\n    if (msg.count !== undefined) {\n      stats.writeCount += msg.count\n    } else {\n      stats.writeCount++\n    }\n  })\n\n  return setInterval(() => {\n    updateProviderPeriodStats(app)\n    const anyApp = app as any\n    app.emit('serverevent', {\n      type: 'SERVERSTATISTICS',\n      from: 'signalk-server',\n      data: {\n        deltaRate:\n          (app.deltaCount - app.lastIntervalDeltaCount) /\n          STATS_UPDATE_INTERVAL_SECONDS,\n        numberOfAvailablePaths: anyApp.streambundle.getAvailablePaths().length,\n        wsClients: anyApp.interfaces.ws ? anyApp.interfaces.ws.numClients() : 0,\n        providerStatistics: app.providerStatistics,\n        uptime: process.uptime()\n      }\n    })\n    app.lastIntervalDeltaCount = app.deltaCount\n  }, STATS_UPDATE_INTERVAL_SECONDS * 1000)\n}\n\nexport function incDeltaStatistics(\n  app: WithProviderStatistics,\n  providerId: any\n) {\n  app.deltaCount++\n\n  const stats =\n    app.providerStatistics[providerId] ||\n    (app.providerStatistics[providerId] = new ProviderStats())\n  stats.deltaCount++\n}\n\nfunction updateProviderPeriodStats(app: any) {\n  app.providers.forEach((provider: any) => {\n    if (isUndefined(app.providerStatistics[provider.id])) {\n      app.providerStatistics[provider.id] = new ProviderStats()\n    }\n  })\n\n  values(app.providerStatistics).forEach((stats: ProviderStats) => {\n    stats.deltaRate =\n      (stats.deltaCount - stats.lastIntervalDeltaCount) /\n      STATS_UPDATE_INTERVAL_SECONDS\n    stats.lastIntervalDeltaCount = stats.deltaCount\n    stats.writeRate =\n      (stats.writeCount - stats.lastIntervalWriteCount) /\n      STATS_UPDATE_INTERVAL_SECONDS\n    stats.lastIntervalWriteCount = stats.writeCount\n  })\n}\n"
  },
  {
    "path": "src/discovery.js",
    "content": "/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createDebug } from './debug'\nconst debug = createDebug('signalk-server:discovery')\nconst canboatjs = require('@canboat/canboatjs')\nconst dgram = require('dgram')\nconst mdns = require('mdns-js')\nconst { networkInterfaces } = require('os')\n\nmodule.exports.runDiscovery = function (app) {\n  if (canboatjs.discover) {\n    try {\n      canboatjs.discover(app)\n    } catch (ex) {\n      console.log(ex)\n    }\n  }\n\n  discoverWLN10()\n  discoverGoFree()\n  discoverSignalkWs('ws')\n  discoverSignalkWs('wss')\n\n  function findUDPProvider(port) {\n    return app.config.settings.pipedProviders.find((provider) => {\n      return (\n        provider.pipeElements &&\n        provider.pipeElements.length === 1 &&\n        provider.pipeElements[0].type === 'providers/simple' &&\n        provider.pipeElements[0].options &&\n        provider.pipeElements[0].options.type === 'NMEA0183' &&\n        provider.pipeElements[0].options.subOptions.type === 'udp' &&\n        provider.pipeElements[0].options.subOptions.port === port\n      )\n    })\n  }\n\n  function findTCPProvider(host, port) {\n    return app.config.settings.pipedProviders.find((provider) => {\n      return (\n        provider.pipeElements &&\n        provider.pipeElements.length === 1 &&\n        provider.pipeElements[0].type === 'providers/simple' &&\n        provider.pipeElements[0].options &&\n        provider.pipeElements[0].options.type === 'NMEA0183' &&\n        provider.pipeElements[0].options.subOptions.type === 'tcp' &&\n        provider.pipeElements[0].options.subOptions.host === host &&\n        provider.pipeElements[0].options.subOptions.port === port\n      )\n    })\n  }\n\n  function findWSProvider(ip, wsType, host, port) {\n    return app.config.settings.pipedProviders.find((provider) => {\n      return (\n        provider.pipeElements &&\n        provider.pipeElements.length === 1 &&\n        provider.pipeElements[0].type === 'providers/simple' &&\n        provider.pipeElements[0].options &&\n        provider.pipeElements[0].options.type === 'SignalK' &&\n        provider.pipeElements[0].options.subOptions.type === wsType &&\n        provider.pipeElements[0].options.subOptions.port.toString() ===\n          port.toString() &&\n        (provider.pipeElements[0].options.subOptions.host === host ||\n          provider.pipeElements[0].options.subOptions.host === ip)\n      )\n    })\n  }\n\n  function discoverGoFree() {\n    const socket = dgram.createSocket('udp4')\n    const found = []\n    socket.on('message', function (buffer) {\n      const msg = buffer.toString('utf8')\n      if (msg[0] === '{') {\n        try {\n          const json = JSON.parse(msg)\n          const serial = json.SerialNumber\n          if (json.Services && found.indexOf(serial) === -1) {\n            json.Services.forEach((service) => {\n              if (\n                service.Service === 'nmea-0183' &&\n                !findTCPProvider(json.IP, service.Port)\n              ) {\n                const id = `${json.Name} (${serial})`\n                debug('found GoFree %s at %s:%s', id, json.IP, service.Port)\n                found.push(serial)\n                app.emit('discovered', {\n                  id: id,\n                  pipeElements: [\n                    {\n                      type: 'providers/simple',\n                      options: {\n                        type: 'NMEA0183',\n                        subOptions: {\n                          type: 'tcp',\n                          host: json.IP,\n                          port: service.Port\n                        }\n                      }\n                    }\n                  ]\n                })\n              }\n            })\n          }\n        } catch (err) {\n          debug('discoverGoFree:', err)\n          return\n        }\n      }\n    })\n    socket.on('error', (error) => {\n      debug('discoverGoFree:', error)\n    })\n    socket.on('close', () => {\n      debug('discoverGoFree close')\n    })\n    debug('looking for GoFree broadcasting on UDP port 2052')\n    try {\n      socket.bind(2052, () => {\n        try {\n          socket.addMembership('239.2.1.1')\n        } catch (ex) {\n          debug('discoverGoFree:', ex)\n        }\n      })\n    } catch (ex) {\n      debug('discoverGoFree:', ex)\n    }\n    setTimeout(() => {\n      if (socket) {\n        socket.close()\n      }\n    }, 10000)\n  }\n\n  function discoverWLN10() {\n    if (!findUDPProvider('2000')) {\n      let socket = dgram.createSocket('udp4')\n      socket.on('message', function (buffer) {\n        const msg = buffer.toString('utf8')\n        if (msg[0] === '$') {\n          socket.close()\n          socket = undefined\n          app.emit('discovered', {\n            id: 'WLN10',\n            pipeElements: [\n              {\n                type: 'providers/simple',\n                options: {\n                  type: 'NMEA0183',\n                  subOptions: {\n                    type: 'udp',\n                    port: '2000'\n                  }\n                }\n              }\n            ]\n          })\n        }\n      })\n      socket.on('error', (error) => {\n        debug('discoverWLN10:', error)\n      })\n      socket.on('close', () => {\n        debug('discoverWLN10 close')\n      })\n      debug('looking for a WLN10 broadcasting UDP port 2000')\n      try {\n        socket.bind(2000)\n      } catch (ex) {\n        debug('discoverWLN10:', ex)\n      }\n      setTimeout(() => {\n        if (socket) {\n          socket.close()\n        }\n      }, 5000)\n    }\n  }\n\n  function discoverSignalkWs(wsType) {\n    try {\n      mdns.excludeInterface('0.0.0.0')\n      var browser = mdns.createBrowser(mdns.tcp('signalk-' + wsType))\n\n      browser.on('ready', function onReady() {\n        try {\n          debug('looking for SignalK ' + wsType)\n          browser.discover()\n        } catch (err) {\n          debug('discoverSignalkWs:', err)\n        }\n      })\n\n      browser.on('update', function onUpdate(data) {\n        try {\n          if (\n            !isLocalIP(data.addresses[0]) &&\n            Array.isArray(data.type) &&\n            data.type[0].name === 'signalk-' + wsType &&\n            !findWSProvider(data.addresses[0], wsType, data.host, data.port)\n          ) {\n            debug('discoverSignalkWs found data[' + wsType + ']:', data)\n            const providerId = `${wsType}-${data.host}:${data.port} (${data.addresses[0]})`\n            app.emit('discovered', {\n              id: providerId,\n              enabled: false,\n              pipeElements: [\n                {\n                  type: 'providers/simple',\n                  options: {\n                    type: 'SignalK',\n                    subOptions: {\n                      type: wsType,\n                      host: data.host,\n                      port: data.port,\n                      address: data.addresses[0],\n                      providerId\n                    },\n                    providerId\n                  }\n                }\n              ]\n            })\n          }\n        } catch (err) {\n          debug('discoverSignalkWs:', err)\n        }\n      })\n\n      setTimeout(() => {\n        try {\n          browser.stop()\n          debug('discoverSignalkWs close')\n        } catch (err) {\n          debug('discoverSignalkWs:', err)\n        }\n      }, 5000)\n    } catch (err) {\n      debug('discoverSignalkWs:', err)\n    }\n  }\n\n  function isLocalIP(IP) {\n    const nets = networkInterfaces()\n\n    for (const name of Object.keys(nets)) {\n      for (const net of nets[name]) {\n        if (net.family === 'IPv4' && !net.internal) {\n          if (net.address === IP) {\n            return true\n          }\n        }\n      }\n    }\n    return false\n  }\n}\n\nif (require.main === module) {\n  const app = {\n    config: {\n      settings: {\n        pipedProviders: []\n      }\n    },\n    emit: (event, p) => {\n      console.log(`found ${JSON.stringify(p)}`)\n    }\n  }\n  module.exports.runDiscovery(app)\n}\n"
  },
  {
    "path": "src/dummysecurity.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { SecurityStrategy } from './security'\n\nexport default function () {\n  const dummyStrategy = {\n    getConfiguration: () => {\n      return {}\n    },\n\n    allowRestart: (_req: any) => {\n      return false\n    },\n\n    allowConfigure: (_req: any) => {\n      return false\n    },\n\n    getLoginStatus: (_req: any) => {\n      return {\n        status: 'notLoggedIn',\n        readOnlyAccess: false,\n        authenticationRequired: false\n      }\n    },\n\n    getConfig: (_config: any) => {\n      return _config\n    },\n\n    setConfig: (_config: any, _newConfig: any) => {},\n\n    getUsers: (_config: any) => {\n      return []\n    },\n\n    updateUser: (\n      _config: any,\n      _username: any,\n      _updates: any,\n      _callback: any\n    ) => {},\n\n    addUser: (_config: any, _user: any, _callback: any) => {},\n\n    setPassword: (\n      _config: any,\n      _username: any,\n      _password: any,\n      _callback: any\n    ) => {},\n\n    deleteUser: (_config: any, _username: any, _callback: any) => {},\n\n    shouldAllowWrite: function (_req: any, _delta: any) {\n      return true\n    },\n\n    shouldAllowPut: function (\n      _req: any,\n      _context: any,\n      _source: any,\n      _path: any\n    ) {\n      return true\n    },\n\n    filterReadDelta: (_user: any, delta: any) => {\n      return delta\n    },\n\n    verifyWS: (_spark: any) => {},\n\n    authorizeWS: (_req: any) => {},\n\n    anyACLs: () => {\n      return false\n    },\n\n    checkACL: (\n      _id: any,\n      _context: any,\n      _path: any,\n      _source: any,\n      _operation: any\n    ) => {\n      return true\n    },\n\n    isDummy: () => {\n      return true\n    },\n\n    canAuthorizeWS: () => {\n      return false\n    },\n\n    shouldFilterDeltas: () => {\n      return false\n    },\n\n    addAdminMiddleware: () => {},\n\n    addAdminWriteMiddleware: () => {},\n\n    addWriteMiddleware: () => {},\n\n    allowReadOnly: () => {\n      return true\n    },\n\n    supportsLogin: () => false,\n\n    getAuthRequiredString: () => {\n      return 'never'\n    },\n\n    validateConfiguration: (_configuration: any) => {},\n\n    configFromArguments: false,\n    securityConfig: undefined,\n    requestAccess: () => undefined\n  }\n  //force cast via unknown so that we don't need to\n  //implement all dummy methods that are never called\n  //with dummy strategy in place. or if they are called\n  //the result will be an error.\n  return dummyStrategy as unknown as SecurityStrategy\n}\n"
  },
  {
    "path": "src/events.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EventEmitter } from 'node:events'\nimport { createDebug } from './debug'\nimport { Debugger } from 'debug'\nimport { Brand } from '@signalk/server-api'\n\ninterface EventsSpark {\n  request: unknown\n  onDisconnects: Array<() => void>\n  write: (data: unknown) => void\n}\n\nexport function startEvents(\n  app: any,\n  spark: EventsSpark,\n  onEvent: (data: any) => void,\n  eventsFromQuery = ''\n) {\n  if (\n    !app.securityStrategy.isDummy() &&\n    !app.securityStrategy.hasAdminAccess?.(spark.request)\n  ) {\n    return\n  }\n  const events = eventsFromQuery.split(',')\n  events.forEach((event) => {\n    const listener = (data: any) => onEvent({ event, data })\n    app.on(event, listener)\n    spark.onDisconnects.push(() => app.removeListener(event, listener))\n  })\n}\n\nexport function startServerEvents(\n  app: any,\n  spark: EventsSpark,\n  onServerEvent: any\n) {\n  app.on('serverevent', onServerEvent)\n  spark.onDisconnects.push(() => {\n    app.removeListener('serverevent', onServerEvent)\n  })\n\n  if (app.securityStrategy.hasAdminAccess?.(spark.request)) {\n    app.on('serverAdminEvent', onServerEvent)\n    spark.onDisconnects.push(() => {\n      app.removeListener('serverAdminEvent', onServerEvent)\n    })\n  }\n  try {\n    spark.write({\n      type: 'VESSEL_INFO',\n      data: {\n        name: app.config.vesselName,\n        mmsi: app.config.vesselMMSI,\n        uuid: app.config.vesselUUID\n      }\n    })\n  } catch (e: any) {\n    if (e.code !== 'ENOENT') {\n      console.error(e)\n    }\n  }\n  Object.keys(app.lastServerEvents).forEach((propName) => {\n    spark.write(app.lastServerEvents[propName])\n  })\n  spark.write({\n    type: 'DEBUG_SETTINGS',\n    data: app.logging.getDebugSettings()\n  })\n  if (app.securityStrategy.canAuthorizeWS()) {\n    spark.write({\n      type: 'RECEIVE_LOGIN_STATUS',\n      data: app.securityStrategy.getLoginStatus(spark.request)\n    })\n  }\n  spark.write({\n    type: 'SOURCEPRIORITIES',\n    data: app.config.settings.sourcePriorities || {}\n  })\n}\n\ntype Handler = (...args: any[]) => void\ninterface EventMap {\n  [k: string]: Handler | Handler[] | undefined\n}\n\nfunction safeApply<T, A extends any[]>(\n  handler: (this: T, ..._args: A) => void,\n  context: T,\n  args: A\n): void {\n  try {\n    Reflect.apply(handler, context, args)\n  } catch (err) {\n    // Throw error after timeout so as not to interrupt the stack\n    setTimeout(() => {\n      throw err\n    })\n  }\n}\n\nfunction arrayClone<T>(arr: T[]): T[] {\n  const n = arr.length\n  const copy = new Array(n)\n  for (let i = 0; i < n; i += 1) {\n    copy[i] = arr[i]\n  }\n  return copy\n}\n\nexport type EventName = Brand<string, 'eventname'>\nexport type EmitterId = Brand<string, 'emitterId'>\nexport type ListenerId = Brand<string, 'listenerid'>\nexport type EventsActorId = EmitterId & ListenerId\n\nexport interface WrappedEmitter {\n  getEmittedCount: () => number\n  getEventRoutingData: () => {\n    events: {\n      event: string\n      emitters: any\n      listeners: any\n    }[]\n  }\n\n  emit: (this: any, eventName: string, ...args: any[]) => boolean\n  addListener: (\n    eventName: EventName,\n    listener: (...args: any[]) => void\n  ) => EventEmitter\n\n  bindMethodsById: (eventsId: EventsActorId) => {\n    emit: (this: any, eventName: string, ...args: any[]) => boolean\n    addListener: (\n      eventName: EventName,\n      listener: (...args: any[]) => void\n    ) => void\n    on: (eventName: EventName, listener: (...args: any[]) => void) => void\n  }\n\n  removeAllListenersById: (actorId: EventsActorId) => void\n}\n\nexport interface WithWrappedEmitter {\n  wrappedEmitter: WrappedEmitter\n}\n\nexport function wrapEmitter(targetEmitter: EventEmitter): WrappedEmitter {\n  const targetAddListener = targetEmitter.addListener.bind(targetEmitter)\n  const targetRemoveListener = targetEmitter.removeListener.bind(targetEmitter)\n\n  const listenersByActorId: {\n    [actorId: string]: {\n      eventName: string\n      listener: (...args: any[]) => void\n    }[]\n  } = {}\n\n  const eventDebugs: { [key: string]: Debugger } = {}\n  const eventsData: {\n    [eventName: EventName]: {\n      emitters: {\n        [emitterId: EmitterId]: number\n      }\n      listeners: {\n        [listenerId: ListenerId]: boolean\n      }\n    }\n  } = {}\n\n  let emittedCount = 0\n\n  function safeEmit(this: any, eventName: string, ...args: any[]): boolean {\n    if (eventName !== 'serverlog') {\n      let eventDebug = eventDebugs[eventName]\n      if (!eventDebug) {\n        eventDebugs[eventName] = eventDebug = createDebug(\n          `signalk-server:events:${eventName}`\n        )\n      }\n      if (eventDebug.enabled) {\n        //there is ever only one rest argument, outputting args results in a 1 element array\n        eventDebug(args[0])\n      }\n    }\n\n    // from https://github.com/MetaMask/safe-event-emitter/blob/main/index.t\n    let doError = eventName === 'error'\n\n    const events: EventMap = (targetEmitter as any)._events\n    if (events !== undefined) {\n      doError = doError && events.error === undefined\n    } else if (!doError) {\n      return false\n    }\n\n    // If there is no 'error' event listener then throw.\n    if (doError) {\n      let er\n      if (args.length > 0) {\n        ;[er] = args\n      }\n      if (er instanceof Error) {\n        // Note: The comments on the `throw` lines are intentional, they show\n        // up in Node's output if this results in an unhandled exception.\n        throw er // Unhandled 'error' event\n      }\n      // At least give some kind of context to the user\n      const err = new Error(`Unhandled error.${er ? ` (${er.message})` : ''}`)\n\n      ;(err as any).context = er\n      throw err // Unhandled 'error' event\n    }\n\n    const handler = events[eventName]\n\n    if (handler === undefined) {\n      return false\n    }\n\n    emittedCount++\n    if (typeof handler === 'function') {\n      safeApply(handler, this, args)\n    } else {\n      const len = handler.length\n      const listeners = arrayClone(handler)\n      for (let i = 0; i < len; i += 1) {\n        safeApply(listeners[i], this, args)\n      }\n    }\n\n    return true\n  }\n\n  function emitWithEmitterId(\n    emitterId: EmitterId,\n    eventName: EventName,\n    ...args: any[]\n  ) {\n    const emittersForEvent = (\n      eventsData[eventName] ??\n      (eventsData[eventName] = { emitters: {}, listeners: {} })\n    ).emitters\n    if (!emittersForEvent[emitterId]) {\n      emittersForEvent[emitterId] = 0\n    }\n    emittersForEvent[emitterId]++\n    safeEmit(`${emitterId}:${eventName}`, ...args)\n    return safeEmit(eventName, ...args)\n  }\n\n  const addListenerWithId = function (\n    listenerId: ListenerId,\n    eventName: EventName,\n    listener: (...args: any[]) => void\n  ) {\n    const listenersForEvent = (\n      eventsData[eventName] ??\n      (eventsData[eventName] = { emitters: {}, listeners: {} })\n    ).listeners\n    if (!listenersForEvent[listenerId]) {\n      listenersForEvent[listenerId] = true\n    }\n    if (!listenersByActorId[listenerId]) {\n      listenersByActorId[listenerId] = []\n    }\n    listenersByActorId[listenerId].push({ eventName, listener })\n    return targetAddListener(eventName, listener)\n  }\n\n  function removeAllListenersById(actorId: EventsActorId) {\n    const tracked = listenersByActorId[actorId]\n    if (tracked) {\n      tracked.forEach(({ eventName, listener }) => {\n        targetRemoveListener(eventName, listener)\n      })\n      delete listenersByActorId[actorId]\n    }\n  }\n\n  return {\n    getEmittedCount: () => emittedCount,\n    getEventRoutingData: () => ({\n      events: Object.entries(eventsData).map(([event, data]) => ({\n        event,\n        ...data\n      }))\n    }),\n\n    emit: function (this: any, eventName: string, ...args: any[]): boolean {\n      return emitWithEmitterId(\n        'NO_EMITTER_ID' as EmitterId,\n        eventName as EventName,\n        ...args\n      )\n    },\n    addListener: (eventName: EventName, listener: (...args: any[]) => void) =>\n      addListenerWithId('NO_LISTENER_ID' as ListenerId, eventName, listener),\n\n    bindMethodsById: (actorId: EventsActorId) => {\n      const addListener = (\n        eventName: EventName,\n        listener: (...args: any[]) => void\n      ) => addListenerWithId(actorId, eventName, listener)\n      return {\n        emit: function (this: any, eventName: string, ...args: any[]): boolean {\n          return emitWithEmitterId(actorId, eventName as EventName, ...args)\n        },\n        addListener,\n        on: addListener\n      }\n    },\n\n    removeAllListenersById\n  }\n}\n"
  },
  {
    "path": "src/index.ts",
    "content": "/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-this-alias */\n/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport './baconjs-compat'\nimport {\n  Context,\n  Delta,\n  DeltaInputHandler,\n  Path,\n  PropertyValues,\n  SKVersion,\n  SignalKApiId,\n  SourceRef,\n  Timestamp,\n  Update,\n  WithFeatures\n} from '@signalk/server-api'\nimport { FullSignalK, getSourceId } from '@signalk/signalk-schema'\nimport express, { IRouter, Request, Response } from 'express'\nimport http from 'http'\nimport https from 'https'\nimport _ from 'lodash'\nimport path from 'path'\nimport { startApis } from './api'\nimport { ServerApp, SignalKMessageHub, WithConfig } from './app'\nimport { ConfigApp, load, sendBaseDeltas } from './config/config'\nimport { createDebug } from './debug'\nimport DeltaCache from './deltacache'\nimport DeltaChain from './deltachain'\nimport { getToPreferredDelta, ToPreferredDelta } from './deltaPriority'\nimport { incDeltaStatistics, startDeltaStatistics } from './deltastats'\nimport { checkForNewServerVersion } from './modules'\nimport { getExternalPort, getPrimaryPort, getSecondaryPort } from './ports'\nimport {\n  getCertificateOptions,\n  getSecurityConfig,\n  saveSecurityConfig,\n  SecurityConfig,\n  startSecurity,\n  WithSecurityStrategy\n} from './security.js'\nimport { setupCors } from './cors'\nimport SubscriptionManager from './subscriptionmanager'\nimport { PluginId, PluginManager } from './interfaces/plugins'\nimport { OpenApiDescription, OpenApiRecord } from './api/swagger'\nimport { WithProviderStatistics } from './deltastats'\nimport { pipedProviders } from './pipedproviders'\nimport { EventsActorId, WithWrappedEmitter, wrapEmitter } from './events'\nimport { Zones } from './zones'\nimport checkNodeVersion from './version'\nimport helmet from 'helmet'\nconst debug = createDebug('signalk-server')\n\nimport { StreamBundle } from './streambundle'\n\nclass Server {\n  app: ServerApp &\n    WithConfig &\n    WithFeatures &\n    SignalKMessageHub &\n    PluginManager &\n    WithSecurityStrategy &\n    IRouter &\n    WithWrappedEmitter &\n    WithProviderStatistics & {\n      apis?: Array<SignalKApiId>\n    }\n\n  constructor(opts: { securityConfig: SecurityConfig }) {\n    checkNodeVersion()\n    const FILEUPLOADSIZELIMIT = process.env.FILEUPLOADSIZELIMIT || '10mb'\n    const bodyParser = require('body-parser')\n    const app = express() as any\n    app.use(require('compression')())\n    app.use(\n      helmet({\n        // ENABLED (safe, no compatibility impact):\n        xContentTypeOptions: true,\n        xDnsPrefetchControl: true,\n        xDownloadOptions: true,\n        xPermittedCrossDomainPolicies: true,\n        referrerPolicy: true,\n        hsts: true,\n\n        // DISABLED (would break chart plotters, plugins, webapps):\n        frameguard: false, // Allow embedding in iframes (chart plotters, MFDs)\n        contentSecurityPolicy: false,\n        crossOriginEmbedderPolicy: false,\n        crossOriginOpenerPolicy: false,\n        crossOriginResourcePolicy: false\n      })\n    )\n    app.use(bodyParser.json({ limit: FILEUPLOADSIZELIMIT }))\n\n    this.app = app\n    app.started = false\n    _.merge(app, opts)\n\n    load(app)\n\n    // Apply trust proxy setting if configured\n    if (app.config.settings.trustProxy !== undefined) {\n      app.set('trust proxy', app.config.settings.trustProxy)\n    }\n\n    app.logging = require('./logging')(app)\n    app.version = '0.0.1'\n\n    setupCors(app, getSecurityConfig(app))\n    startSecurity(app, opts ? opts.securityConfig : null)\n\n    require('./serverroutes')(app, saveSecurityConfig, getSecurityConfig)\n    require('./put').start(app)\n\n    app.signalk = new FullSignalK(app.selfId, app.selfType)\n\n    const maxListeners = process.env.EVENT_EMITTER_MAX_LISTENERS\n      ? parseInt(process.env.EVENT_EMITTER_MAX_LISTENERS, 10)\n      : 50\n    if (maxListeners > 0) {\n      app.signalk.setMaxListeners(maxListeners)\n    }\n\n    app.propertyValues = new PropertyValues()\n\n    const deltachainV1 = new DeltaChain(app.signalk.addDelta.bind(app.signalk))\n    const deltachainV2 = new DeltaChain((delta: Delta) =>\n      app.signalk.emit('delta', delta)\n    )\n    app.registerDeltaInputHandler = (handler: DeltaInputHandler) => {\n      const unRegisterHandlers = [\n        deltachainV1.register(handler),\n        deltachainV2.register(handler)\n      ]\n      return () => unRegisterHandlers.forEach((f) => f())\n    }\n\n    app.providerStatus = {}\n\n    // feature detection\n    app.getFeatures = async (enabled?: boolean) => {\n      return {\n        apis: enabled === false ? [] : app.apis,\n        plugins: await app.getPluginsList(enabled)\n      }\n    }\n\n    // create first temporary pluginManager to get typechecks, as\n    // app is any and not typechecked\n    // TODO separate app.plugins and app.pluginsMap from app\n    const pluginManager: PluginManager = {\n      setPluginOpenApi: (pluginId: PluginId, openApi: OpenApiDescription) => {\n        app.pluginsMap[pluginId].openApi = openApi\n      },\n      getPluginOpenApi: (pluginId: PluginId) => ({\n        name: `plugins/${pluginId}`,\n        path: `/plugins/${pluginId}`,\n        apiDoc: app.pluginsMap[pluginId].openApi\n      }),\n      getPluginOpenApiRecords: () =>\n        Object.keys(app.pluginsMap).reduce<OpenApiRecord[]>((acc, pluginId) => {\n          if (app.pluginsMap[pluginId].openApi) {\n            acc.push({\n              name: `plugins/${pluginId}`,\n              path: `/plugins/${pluginId}`,\n              apiDoc: app.pluginsMap[pluginId].openApi\n            })\n          }\n          return acc\n        }, [])\n    }\n    Object.assign(app, pluginManager)\n\n    app.setPluginStatus = (providerId: string, statusMessage: string) => {\n      doSetProviderStatus(providerId, statusMessage, 'status', 'plugin')\n    }\n\n    app.setPluginError = (providerId: string, errorMessage: string) => {\n      doSetProviderStatus(providerId, errorMessage, 'error', 'plugin')\n    }\n\n    app.setProviderStatus = (providerId: string, statusMessage: string) => {\n      doSetProviderStatus(providerId, statusMessage, 'status')\n    }\n\n    app.setProviderError = (providerId: string, errorMessage: string) => {\n      doSetProviderStatus(providerId, errorMessage, 'error')\n    }\n\n    function doSetProviderStatus(\n      providerId: string,\n      statusMessage: string,\n      type: string,\n      statusType = 'provider'\n    ) {\n      if (!statusMessage) {\n        delete app.providerStatus[providerId]\n        return\n      }\n\n      if (_.isUndefined(app.providerStatus[providerId])) {\n        app.providerStatus[providerId] = {}\n      }\n      const status = app.providerStatus[providerId]\n\n      if (status.type === 'error' && status.message !== statusMessage) {\n        status.lastError = status.message\n        status.lastErrorTimeStamp = status.timeStamp\n      }\n\n      status.type = type\n      status.id = providerId\n      status.statusType = statusType\n      status.timeStamp = new Date().toISOString()\n\n      status.message = statusMessage\n\n      app.emit('serverevent', {\n        type: 'PROVIDERSTATUS',\n        from: 'signalk-server',\n        data: app.getProviderStatus()\n      })\n    }\n\n    app.getProviderStatus = () => {\n      const providerStatus = _.values(app.providerStatus)\n\n      if (app.plugins) {\n        app.plugins.forEach((plugin: any) => {\n          try {\n            if (\n              typeof plugin.statusMessage === 'function' &&\n              _.isUndefined(app.providerStatus[plugin.id])\n            ) {\n              let message = plugin.statusMessage()\n              if (message) {\n                message = message.trim()\n                if (message.length > 0) {\n                  providerStatus.push({\n                    message,\n                    type: 'status',\n                    id: plugin.id,\n                    statusType: 'plugin'\n                  })\n                }\n              }\n            }\n          } catch (e) {\n            console.error(e)\n            providerStatus.push({\n              message:\n                'Error fetching provider status, see server log for details',\n              type: 'status',\n              id: plugin.id\n            })\n          }\n        })\n      }\n      return providerStatus\n    }\n\n    app.registerHistoryProvider = (provider: any) => {\n      app.historyProvider = provider\n    }\n\n    app.unregisterHistoryProvider = () => {\n      delete app.historyProvider\n    }\n\n    let toPreferredDelta: ToPreferredDelta = () => undefined\n    app.activateSourcePriorities = () => {\n      try {\n        toPreferredDelta = getToPreferredDelta(\n          app.config.settings.sourcePriorities\n        )\n      } catch (e) {\n        console.error('getToPreferredDelta failed:', e)\n      }\n    }\n    app.activateSourcePriorities()\n\n    app.handleMessage = (\n      providerId: string,\n      data: Partial<Delta>,\n      skVersion = SKVersion.v1\n    ) => {\n      if (data && Array.isArray(data.updates)) {\n        incDeltaStatistics(app, providerId)\n\n        if (\n          typeof data.context === 'undefined' ||\n          data.context === 'vessels.self'\n        ) {\n          data.context = ('vessels.' + app.selfId) as Context\n        }\n\n        const now = new Date()\n        data.updates = data.updates\n          .map((update: Partial<Update>) => {\n            if (!isValidUpdate(update)) {\n              console.warn(\n                `Discarding update from ${providerId}: invalid values entry (null or missing path)`\n              )\n              return undefined\n            }\n\n            if (typeof update.source !== 'undefined') {\n              update.source.label = providerId\n              if (!update.$source) {\n                update.$source = getSourceId(update.source)\n              }\n            } else {\n              if (typeof update.$source === 'undefined') {\n                update.$source = providerId as SourceRef\n              }\n            }\n            if (!update.timestamp || app.config.overrideTimestampWithNow) {\n              update.timestamp = now.toISOString() as Timestamp\n            }\n\n            if ('meta' in update && !Array.isArray(update.meta)) {\n              debug(`handleMessage: ignoring invalid meta`, update.meta)\n              delete update.meta\n            }\n\n            if ('values' in update || 'meta' in update) {\n              return update as Update\n            }\n          })\n          .filter((update) => update !== undefined)\n\n        // No valid updates, discarding\n        if (data.updates.length < 1) return\n\n        try {\n          let delta = filterStaticSelfData(data, app.selfContext)\n          delta = toPreferredDelta(delta, now, app.selfContext)\n\n          if (skVersion === SKVersion.v1) {\n            deltachainV1.process(delta)\n          } else {\n            deltachainV2.process(delta)\n          }\n        } catch (err) {\n          console.error(err)\n        }\n      }\n    }\n\n    app.streambundle = new StreamBundle(app.selfId)\n    new Zones(app.streambundle, (delta: Delta) =>\n      process.nextTick(() =>\n        app.handleMessage('self.notificationhandler', delta)\n      )\n    )\n    app.signalk.on('delta', app.streambundle.pushDelta.bind(app.streambundle))\n    app.subscriptionmanager = new SubscriptionManager(app)\n    app.deltaCache = new DeltaCache(app, app.streambundle)\n\n    app.getHello = () => ({\n      name: app.config.name,\n      version: app.config.version,\n      self: `vessels.${app.selfId}`,\n      roles: ['master', 'main'],\n      timestamp: new Date()\n    })\n\n    app.isNmea2000OutAvailable = false\n    app.on('nmea2000OutAvailable', () => {\n      app.isNmea2000OutAvailable = true\n    })\n\n    installProcessErrorHandlers(app)\n  }\n\n  start() {\n    const self = this\n    const app = this.app\n\n    app.wrappedEmitter = wrapEmitter(app)\n    app.emit = app.wrappedEmitter.emit\n    app.on = app.wrappedEmitter.addListener as any\n    app.addListener = app.wrappedEmitter.addListener as any\n\n    this.app.intervals = []\n\n    this.app.intervals.push(\n      setInterval(\n        app.signalk.pruneContexts.bind(\n          app.signalk,\n          (app.config.settings.pruneContextsMinutes || 60) * 60\n        ),\n        60 * 1000\n      )\n    )\n    this.app.intervals.push(\n      setInterval(\n        app.deltaCache.pruneContexts.bind(\n          app.deltaCache,\n          (app.config.settings.pruneContextsMinutes || 60) * 60\n        ),\n        60 * 1000\n      )\n    )\n    app.intervals.push(\n      setInterval(() => {\n        app.emit('serverevent', {\n          type: 'PROVIDERSTATUS',\n          from: 'signalk-server',\n          data: app.getProviderStatus()\n        })\n      }, 5 * 1000)\n    )\n\n    function serverUpgradeIsAvailable(err: any, newVersion?: string) {\n      if (err) {\n        console.error(err)\n        return\n      }\n      const msg = `A new version (${newVersion}) of the server is available`\n      console.log(msg)\n      app.handleMessage(app.config.name as Path, {\n        updates: [\n          {\n            values: [\n              {\n                path: 'notifications.server.newVersion' as Path,\n                value: {\n                  state: 'normal',\n                  method: [],\n                  message: msg\n                }\n              }\n            ]\n          }\n        ]\n      })\n    }\n    if (!process.env.SIGNALK_DISABLE_SERVER_UPDATES) {\n      checkForNewServerVersion(app.config.version, serverUpgradeIsAvailable)\n      app.intervals.push(\n        setInterval(\n          () =>\n            checkForNewServerVersion(\n              app.config.version,\n              serverUpgradeIsAvailable\n            ),\n          60 * 1000 * 60 * 24\n        )\n      )\n    }\n\n    this.app.providers = []\n\n    app.lastServerEvents = {}\n    app.on('serverevent', (event: any) => {\n      if (event.type) {\n        app.lastServerEvents[event.type] = event\n      }\n    })\n\n    app.intervals.push(startDeltaStatistics(app))\n\n    return new Promise(async (resolve, reject) => {\n      createServer(app, async (err, server) => {\n        if (err) {\n          reject(err)\n          return\n        }\n        app.server = server\n        app.interfaces = {}\n        app.clients = 0\n\n        debug('ID type: ' + app.selfType)\n        debug('ID: ' + app.selfId)\n\n        sendBaseDeltas(app as unknown as ConfigApp)\n\n        app.apis = await startApis(app)\n        await startInterfaces(app)\n        startMdns(app)\n        app.pipedProviders = pipedProviders(app as any)\n        app.providers = app.pipedProviders.start()\n\n        const primaryPort = getPrimaryPort(app)\n        debug(`primary port:${primaryPort}`)\n        server.listen(primaryPort, () => {\n          console.log(\n            'signalk-server running at 0.0.0.0:' + primaryPort.toString() + '\\n'\n          )\n          app.started = true\n          resolve(self)\n        })\n        const secondaryPort = getSecondaryPort(app)\n        debug(`secondary port:${primaryPort}`)\n        if (app.config.settings.ssl && secondaryPort) {\n          startRedirectToSsl(\n            secondaryPort,\n            getExternalPort(app),\n            (anErr: any, aServer: any) => {\n              if (!anErr) {\n                app.redirectServer = aServer\n              }\n            }\n          )\n        }\n      })\n    })\n  }\n\n  reload(mixed: any) {\n    let settings\n    const self = this\n\n    if (typeof mixed === 'string') {\n      try {\n        settings = require(path.join(process.cwd(), mixed))\n      } catch (_e) {\n        debug(`Settings file '${settings}' does not exist`)\n      }\n    }\n\n    if (mixed !== null && typeof mixed === 'object') {\n      settings = mixed\n    }\n\n    if (settings) {\n      this.app.config.settings = settings\n    }\n\n    this.stop().catch((e) => console.error(e))\n\n    setTimeout(() => {\n      self.start().catch((e) => console.error(e))\n    }, 1000)\n\n    return this\n  }\n\n  async stop(cb?: () => void) {\n    if (!this.app.started) {\n      return this\n    }\n\n    try {\n      _.each(this.app.interfaces, (intf: any) => {\n        if (\n          intf !== null &&\n          typeof intf === 'object' &&\n          typeof intf.stop === 'function'\n        ) {\n          intf.stop()\n        }\n      })\n\n      this.app.intervals.forEach((interval) => {\n        clearInterval(interval)\n      })\n\n      this.app.providers.forEach((providerHolder) => {\n        providerHolder.pipeElements[0].end()\n      })\n\n      debug('Closing server...')\n\n      const that = this\n      return new Promise((resolve, reject) => {\n        this.app.server.close(() => {\n          debug('Server closed')\n          if (that.app.redirectServer) {\n            try {\n              that.app.redirectServer.close(() => {\n                debug('Redirect server closed')\n                delete that.app.redirectServer\n                that.app.started = false\n                cb && cb()\n                resolve(that)\n              })\n            } catch (err) {\n              reject(err)\n            }\n          } else {\n            that.app.started = false\n            cb && cb()\n            resolve(that)\n          }\n        })\n      })\n    } catch (err) {\n      throw err\n    }\n  }\n}\n\nmodule.exports = Server\n\nfunction identifyPluginFromStack(\n  stack: string,\n  plugins: Array<{ id: string; packageName: string }>\n): string | undefined {\n  for (const plugin of plugins) {\n    if (stack.includes(plugin.packageName)) {\n      return plugin.id\n    }\n  }\n  return undefined\n}\n\nfunction installProcessErrorHandlers(app: any) {\n  process.on('uncaughtException', (err: Error) => {\n    console.error('Uncaught exception:', err)\n    if (app.plugins) {\n      const pluginId = identifyPluginFromStack(err.stack ?? '', app.plugins)\n      if (pluginId) {\n        app.setPluginError(pluginId, `Uncaught error: ${err.message}`)\n      }\n    }\n  })\n\n  process.on('unhandledRejection', (reason: unknown) => {\n    const err = reason instanceof Error ? reason : new Error(String(reason))\n    console.error('Unhandled rejection:', err)\n    if (app.plugins) {\n      const pluginId = identifyPluginFromStack(err.stack ?? '', app.plugins)\n      if (pluginId) {\n        app.setPluginError(pluginId, `Unhandled rejection: ${err.message}`)\n      }\n    }\n  })\n}\n\nfunction createServer(app: any, cb: (err: any, server?: any) => void) {\n  if (app.config.settings.ssl) {\n    getCertificateOptions(app, (err: any, options: any) => {\n      if (err) {\n        cb(err)\n      } else {\n        debug('Starting server to serve both http and https')\n        cb(null, https.createServer(options, app))\n      }\n    })\n    return\n  }\n  let server\n  try {\n    debug('Starting server to serve only http')\n    server = http.createServer(app)\n  } catch (e) {\n    cb(e)\n    return\n  }\n  cb(null, server)\n}\n\nfunction startRedirectToSsl(\n  port: number,\n  redirectPort: number,\n  cb: (e: unknown, server: any) => void\n) {\n  const redirectApp = express()\n  redirectApp.use((req: Request, res: Response) => {\n    const host = req.headers.host?.split(':')[0]\n    res.redirect(`https://${host}:${redirectPort}${req.path}`)\n  })\n  const server = http.createServer(redirectApp)\n  server.listen(port, () => {\n    console.log(`Redirect server running on port ${port.toString()}`)\n    cb(null, server)\n  })\n}\n\nfunction startMdns(app: ServerApp & WithConfig) {\n  if (_.isUndefined(app.config.settings.mdns) || app.config.settings.mdns) {\n    debug(`Starting interface 'mDNS'`)\n    try {\n      app.interfaces.mdns = require('./mdns')(app)\n    } catch (ex) {\n      console.error('Could not start mDNS:' + ex)\n    }\n  } else {\n    debug(`Interface 'mDNS' was disabled in configuration`)\n  }\n}\n\nasync function startInterfaces(\n  app: ServerApp & WithConfig & WithWrappedEmitter\n) {\n  debug.enabled &&\n    debug('Interfaces config:' + JSON.stringify(app.config.settings.interfaces))\n  const argv = (app as unknown as ConfigApp).argv\n  const noPlugins = argv?.plugins === false\n  const noWebapps = argv?.webapps === false\n  type StartupCollections = {\n    plugins: unknown[]\n    pluginsMap: Record<string, unknown>\n    getPluginsList: (enabled?: boolean) => Promise<unknown[]>\n    webapps: unknown[]\n    addons: unknown[]\n    embeddablewebapps: unknown[]\n    pluginconfigurators: unknown[]\n  }\n  const startupApp = app as unknown as StartupCollections\n  if (noPlugins) {\n    console.log('Plugins disabled by --no-plugins; skipping plugin loading')\n    startupApp.plugins = []\n    startupApp.pluginsMap = {}\n    startupApp.getPluginsList = async () => []\n  }\n  if (noWebapps) {\n    console.log('Webapps disabled by --no-webapps; skipping webapp loading')\n    startupApp.webapps = []\n    startupApp.addons = []\n    startupApp.embeddablewebapps = []\n    startupApp.pluginconfigurators = []\n  }\n  const skippedInterfaces = new Set<string>()\n  if (noPlugins) {\n    skippedInterfaces.add('plugins').add('wasm')\n  }\n  if (noWebapps) {\n    skippedInterfaces.add('webapps').add('mfd_webapp')\n  }\n  const availableInterfaces = require('./interfaces')\n  return await Promise.all(\n    Object.keys(availableInterfaces).map(async (name) => {\n      if (skippedInterfaces.has(name)) {\n        debug.enabled &&\n          debug(\n            `Not loading interface '${name}' (disabled by command line flag)`\n          )\n        return\n      }\n      const theInterface = availableInterfaces[name]\n      if (\n        _.isUndefined(app.config.settings.interfaces) ||\n        _.isUndefined((app.config.settings.interfaces || {})[name]) ||\n        (app.config.settings.interfaces || {})[name]\n      ) {\n        debug(`Loading interface '${name}'`)\n        const boundEventMethods = app.wrappedEmitter.bindMethodsById(\n          `interface:${name}` as EventsActorId\n        )\n\n        const appCopy = {\n          ...app,\n          ...boundEventMethods\n        }\n        const handler = {\n          set(obj: any, prop: any, value: any) {\n            ;(app as any)[prop] = value\n            return true\n          },\n          get(target: any, prop: string | symbol, _receiver: any) {\n            return (app as any)[prop]\n          }\n        }\n        const _interface = (appCopy.interfaces[name] = theInterface(\n          new Proxy(appCopy, handler)\n        ))\n        if (_interface && _.isFunction(_interface.start)) {\n          if (\n            _.isUndefined(_interface.forceInactive) ||\n            !_interface.forceInactive\n          ) {\n            debug(`Starting interface '${name}'`)\n            _interface.data = await _interface.start()\n          } else {\n            debug(`Not starting interface '${name}' by forceInactive`)\n          }\n        }\n      } else {\n        debug(`Not loading interface '${name}' because of configuration`)\n      }\n    })\n  )\n}\n\nfunction isValidUpdate(update: unknown): update is Partial<Update> {\n  if (update === null || typeof update !== 'object') {\n    return false\n  }\n  const values = (update as { values?: unknown }).values\n  if ('values' in update && !Array.isArray(values)) {\n    return false\n  }\n  if (\n    Array.isArray(values) &&\n    values.some(\n      (v: unknown) =>\n        v === null ||\n        v === undefined ||\n        typeof (v as { path?: unknown }).path !== 'string'\n    )\n  ) {\n    return false\n  }\n  return true\n}\n\nfunction filterStaticSelfData(delta: any, selfContext: string) {\n  if (delta.context === selfContext) {\n    delta.updates &&\n      delta.updates.forEach((update: any) => {\n        if ('values' in update && update['$source'] !== 'defaults') {\n          update.values = update.values.reduce((acc: any, pathValue: any) => {\n            const nvp = filterSelfDataKP(pathValue)\n            if (nvp) {\n              acc.push(nvp)\n            }\n            return acc\n          }, [])\n          if (update.values.length === 0) {\n            delete update.values\n          }\n        }\n      })\n  }\n  return delta\n}\n\nfunction filterSelfDataKP(pathValue: any) {\n  const deepKeys: { [key: string]: string[] } = {\n    '': ['name', 'mmsi']\n  }\n\n  const filteredPaths: string[] = [\n    'design.aisShipType',\n    'design.beam',\n    'design.length',\n    'design.draft',\n    'sensors.gps.fromBow',\n    'sensors.gps.fromCenter'\n  ]\n\n  const deep = deepKeys[pathValue.path]\n\n  const filterValues = (obj: any, items: string[]) => {\n    const res: { [key: string]: any } = {}\n    Object.keys(obj).forEach((k) => {\n      if (!items.includes(k)) {\n        res[k] = obj[k]\n      }\n    })\n    return res\n  }\n\n  if (deep !== undefined) {\n    if (Object.keys(pathValue.value).some((k) => deep.includes(k))) {\n      pathValue.value = filterValues(pathValue.value, deep)\n    }\n    if (pathValue.path === '' && pathValue.value.communication !== undefined) {\n      pathValue.value.communication = filterValues(\n        pathValue.value.communication,\n        ['callsignVhf']\n      )\n      if (Object.keys(pathValue.value.communication).length === 0) {\n        delete pathValue.value.communication\n      }\n    }\n    if (Object.keys(pathValue.value).length === 0) {\n      return null\n    }\n  } else if (filteredPaths.includes(pathValue.path)) {\n    return null\n  }\n  return pathValue\n}\n"
  },
  {
    "path": "src/interfaces/applicationData.js",
    "content": "/*\n * Copyright 2018 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst _ = require('lodash')\nimport { atomicWriteFile } from '../atomicWrite'\nimport { createDebug } from '../debug'\nconst debug = createDebug('signalk-server:interfaces:applicationData')\nconst fs = require('fs')\nconst path = require('path')\nconst jsonpatch = require('json-patch')\nconst semver = require('semver')\n\nconst prefix = '/signalk/v1/applicationData'\n\n// Per-file write lock to prevent concurrent read-modify-write races\nconst writeLocks = new Map()\nfunction withFileLock(filePath, fn) {\n  const previous = writeLocks.get(filePath) || Promise.resolve()\n  const done = previous.then(fn, fn)\n  const cleanup = done.then(\n    () => {},\n    () => {}\n  )\n  writeLocks.set(filePath, cleanup)\n  cleanup.then(() => {\n    if (writeLocks.get(filePath) === cleanup) {\n      writeLocks.delete(filePath)\n    }\n  })\n  return done\n}\n\nconst DANGEROUS_PATH_SEGMENTS = ['__proto__', 'constructor', 'prototype']\n\nfunction isPrototypePollutionPath(pathString) {\n  const segments = pathString.split(/[./]/)\n  return segments.some((seg) => DANGEROUS_PATH_SEGMENTS.includes(seg))\n}\n\nfunction hasPrototypePollutionPatch(patches) {\n  return patches.some(\n    (patch) =>\n      (patch.path && isPrototypePollutionPath(patch.path)) ||\n      (patch.from && isPrototypePollutionPath(patch.from))\n  )\n}\n\nconst applicationDataUrls = [\n  `${prefix}/global/:appid/:version/*`,\n  `${prefix}/global/:appid/:version`\n]\n\nconst userApplicationDataUrls = [\n  `${prefix}/user/:appid/:version/*`,\n  `${prefix}/user/:appid/:version`\n]\n\nmodule.exports = function (app) {\n  if (app.securityStrategy.isDummy()) {\n    debug('ApplicationData disabled because security is off')\n\n    app.post(userApplicationDataUrls, (req, res) => {\n      res.status(405).send('security is not enabled')\n    })\n\n    app.post(applicationDataUrls, (req, res) => {\n      res.status(405).send('security is not enabled')\n    })\n\n    return\n  }\n\n  applicationDataUrls.forEach((url) => {\n    app.securityStrategy.addAdminWriteMiddleware(url)\n  })\n\n  userApplicationDataUrls.forEach((url) => {\n    app.securityStrategy.addWriteMiddleware(url)\n  })\n\n  app.get(userApplicationDataUrls, (req, res) => {\n    getApplicationData(req, res, true)\n  })\n\n  app.post(userApplicationDataUrls, (req, res) => {\n    postApplicationData(req, res, true)\n  })\n\n  app.get(applicationDataUrls, (req, res) => {\n    getApplicationData(req, res, false)\n  })\n\n  app.post(applicationDataUrls, (req, res) => {\n    postApplicationData(req, res, false)\n  })\n\n  app.get(`${prefix}/global/:appid`, (req, res) => {\n    listVersions(req, res, false)\n  })\n\n  app.get(`${prefix}/user/:appid`, (req, res) => {\n    listVersions(req, res, true)\n  })\n\n  function listVersions(req, res, isUser) {\n    const appid = validateAppId(req.params.appid)\n\n    if (!appid) {\n      res.status(400).send('invalid application id')\n      return\n    }\n\n    const dir = dirForApplicationData(req, appid, isUser)\n\n    if (!fs.existsSync(dir)) {\n      res.sendStatus(404)\n      return\n    }\n\n    res.json(fs.readdirSync(dir).map((file) => file.slice(0, -5)))\n  }\n\n  function getApplicationData(req, res, isUser) {\n    const appid = validateAppId(req.params.appid)\n    const version = validateVersion(req.params.version)\n\n    if (!appid) {\n      res.status(400).send('invalid application id')\n      return\n    }\n\n    if (!version) {\n      res.status(400).send('invalid application version')\n      return\n    }\n\n    let applicationData = readApplicationData(req, appid, version, isUser)\n\n    let data = applicationData\n    if (req.params[0] && req.params[0].length !== 0) {\n      data = _.get(applicationData, req.params[0].replace(/\\//g, '.'))\n\n      if (!data) {\n        res.status(404).send()\n        return\n      }\n    }\n\n    if (req.query.keys === 'true') {\n      if (typeof data !== 'object') {\n        res.status(404).send()\n        return\n      }\n\n      data = _.keys(data)\n    }\n\n    res.json(data)\n  }\n\n  async function postApplicationData(req, res, isUser) {\n    const appid = validateAppId(req.params.appid)\n    const version = validateVersion(req.params.version)\n\n    if (!appid) {\n      res.status(400).send('invalid application id')\n      return\n    }\n\n    if (!version) {\n      res.status(400).send('invalid application version')\n      return\n    }\n\n    const filePath = pathForApplicationData(req, appid, version, isUser)\n\n    try {\n      await withFileLock(filePath, async () => {\n        let applicationData = readApplicationData(req, appid, version, isUser)\n\n        if (req.params[0] && req.params[0].length !== 0) {\n          const dataPath = req.params[0].replace(/\\//g, '.')\n          if (isPrototypePollutionPath(dataPath)) {\n            res.status(400).send('invalid path')\n            return\n          }\n          _.set(applicationData, dataPath, req.body)\n        } else if (_.isArray(req.body)) {\n          if (hasPrototypePollutionPatch(req.body)) {\n            res.status(400).send('invalid patch path')\n            return\n          }\n          jsonpatch.apply(applicationData, req.body)\n        } else {\n          applicationData = req.body\n        }\n\n        await saveApplicationData(req, appid, version, isUser, applicationData)\n        // Emit event when user's unit preferences change\n        if (isUser && appid === 'unitpreferences') {\n          app.emit('unitpreferencesChanged', {\n            type: 'user',\n            username: req.skPrincipal.identifier\n          })\n        }\n        res.json('ApplicationData saved')\n      })\n    } catch (err) {\n      console.log(err)\n      res.status(500).send(err.message)\n    }\n  }\n\n  function readApplicationData(req, appid, version, isUser) {\n    let applicationDataString = '{}'\n    try {\n      applicationDataString = fs.readFileSync(\n        pathForApplicationData(req, appid, version, isUser),\n        'utf8'\n      )\n    } catch (_) {\n      debug('Could not find applicationData for %s %s', appid, version)\n    }\n    try {\n      const applicationData = JSON.parse(applicationDataString)\n      return applicationData\n    } catch (e) {\n      let filePath = dirForApplicationData(req, appid, isUser)\n      console.error(\n        'Could not parse applicationData for \"%s\": %s',\n        filePath,\n        e.message\n      )\n      return {}\n    }\n  }\n\n  function validateAppId(appid) {\n    return appid.length < 30 &&\n      appid.indexOf('/') === -1 &&\n      appid.indexOf('\\\\') === -1\n      ? appid\n      : null\n  }\n\n  function validateVersion(version) {\n    return semver.valid(semver.coerce(version))\n  }\n\n  function dirForApplicationData(req, appid, isUser) {\n    let location = path.join(\n      app.config.configPath,\n      'applicationData',\n      isUser ? `users/${req.skPrincipal.identifier}` : 'global'\n    )\n\n    return path.join(location, appid)\n  }\n\n  function pathForApplicationData(req, appid, version, isUser) {\n    const filePath = path.normalize(\n      path.join(dirForApplicationData(req, appid, isUser), `${version}.json`)\n    )\n    const configPath = path.resolve(app.config.configPath)\n    const resolvedPath = path.resolve(filePath)\n\n    if (!resolvedPath.startsWith(configPath)) {\n      throw new Error('Invalid path: outside configuration directory')\n    }\n\n    return filePath\n  }\n\n  async function saveApplicationData(req, appid, version, isUser, data) {\n    const applicationDataDir = path.join(\n      app.config.configPath,\n      'applicationData'\n    )\n    const usersDir = path.join(applicationDataDir, 'users')\n    const globalDir = path.join(applicationDataDir, 'global')\n\n    if (!fs.existsSync(applicationDataDir)) {\n      fs.mkdirSync(applicationDataDir)\n    }\n\n    if (isUser) {\n      if (!fs.existsSync(usersDir)) {\n        fs.mkdirSync(usersDir)\n      }\n      const userDir = path.join(usersDir, req.skPrincipal.identifier)\n      if (!fs.existsSync(userDir)) {\n        fs.mkdirSync(userDir)\n      }\n      const appDir = path.join(userDir, appid)\n      if (!fs.existsSync(appDir)) {\n        fs.mkdirSync(appDir)\n      }\n    } else {\n      if (!fs.existsSync(globalDir)) {\n        fs.mkdirSync(globalDir)\n      }\n      const appDir = path.join(globalDir, appid)\n      if (!fs.existsSync(appDir)) {\n        fs.mkdirSync(appDir)\n      }\n    }\n\n    await atomicWriteFile(\n      pathForApplicationData(req, appid, version, isUser),\n      JSON.stringify(data, null, 2)\n    )\n  }\n}\n"
  },
  {
    "path": "src/interfaces/appstore.js",
    "content": "/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { createDebug } from '../debug'\nconst debug = createDebug('signalk-server:interfaces:appstore')\nconst _ = require('lodash')\nconst semver = require('semver')\nconst { gt } = semver\nconst { installModule, removeModule, getPluginDataSize } = require('../modules')\nconst {\n  isTheServerModule,\n  findModulesWithKeyword,\n  fetchDistTagsForPackages,\n  getLatestServerVersion,\n  getAuthor,\n  getKeywords\n} = require('../modules')\nconst { SERVERROUTESPREFIX } = require('../constants')\nconst { getCategories, getAvailableCategories } = require('../categories')\n\nconst bundledAdminUIs = ['@signalk/server-admin-ui']\n\nconst npmServerInstallLocations = [\n  '/usr/bin/signalk-server',\n  '/usr/lib/node_modules/signalk-server/bin/signalk-server',\n  '/usr/local/bin/signalk-server',\n  '/usr/local/lib/node_modules/signalk-server/bin/signalk-server'\n]\n\nmodule.exports = function (app) {\n  let moduleInstalling\n  const modulesInstalledSinceStartup = {}\n  const moduleInstallQueue = []\n\n  return {\n    start: function () {\n      app.post(\n        [\n          `${SERVERROUTESPREFIX}/appstore/install/:name/:version`,\n          `${SERVERROUTESPREFIX}/appstore/install/:org/:name/:version`\n        ],\n        (req, res) => {\n          let name = req.params.name\n          const version = req.params.version\n\n          if (req.params.org) {\n            name = req.params.org + '/' + name\n          }\n\n          findPluginsAndWebapps()\n            .then(([plugins, webapps]) => {\n              if (\n                !isTheServerModule(name, app.config) &&\n                !plugins.find(packageNameIs(name)) &&\n                !webapps.find(packageNameIs(name))\n              ) {\n                res.status(404)\n                res.json('No such webapp or plugin available:' + name)\n              } else {\n                if (moduleInstalling) {\n                  moduleInstallQueue.push({ name: name, version: version })\n                  sendAppStoreChangedEvent()\n                } else {\n                  installSKModule(name, version)\n                }\n                res.json(`Installing ${name}...`)\n              }\n            })\n            .catch((error) => {\n              console.log(error.message)\n              debug(error.stack)\n              res.status(500)\n              res.json(error.message)\n            })\n        }\n      )\n\n      app.post(\n        [\n          `${SERVERROUTESPREFIX}/appstore/remove/:name`,\n          `${SERVERROUTESPREFIX}/appstore/remove/:org/:name`\n        ],\n        (req, res) => {\n          let name = req.params.name\n\n          if (req.params.org) {\n            name = req.params.org + '/' + name\n          }\n\n          findPluginsAndWebapps()\n            .then(([plugins, webapps]) => {\n              if (\n                !plugins.find(packageNameIs(name)) &&\n                !webapps.find(packageNameIs(name))\n              ) {\n                res.status(404)\n                res.json('No such webapp or plugin available:' + name)\n              } else {\n                const deleteData = req.body && req.body.deleteData === true\n                if (moduleInstalling) {\n                  moduleInstallQueue.push({\n                    name: name,\n                    isRemove: true,\n                    deleteData: deleteData\n                  })\n                  sendAppStoreChangedEvent()\n                } else {\n                  removeSKModule(name, deleteData)\n                }\n                res.json(`Removing ${name}...`)\n              }\n            })\n            .catch((error) => {\n              console.log(error.message)\n              debug(error.stack)\n              res.status(500)\n              res.json(error.message)\n            })\n        }\n      )\n\n      app.get(\n        [\n          `${SERVERROUTESPREFIX}/appstore/datasize/:name`,\n          `${SERVERROUTESPREFIX}/appstore/datasize/:org/:name`\n        ],\n        async (req, res) => {\n          let name = req.params.name\n          if (req.params.org) {\n            name = req.params.org + '/' + name\n          }\n          const plugin = getPlugin(name)\n          const pluginId = plugin ? plugin.id : undefined\n          if (!pluginId) {\n            res.json({ totalBytes: 0, fileCount: 0, hasData: false })\n            return\n          }\n          try {\n            const dataSize = await getPluginDataSize(\n              app.config.configPath,\n              pluginId\n            )\n            res.json(dataSize)\n          } catch (error) {\n            console.error('Failed to get plugin data size:', error)\n            res.json({ totalBytes: 0, fileCount: 0, hasData: false })\n          }\n        }\n      )\n\n      app.get(`${SERVERROUTESPREFIX}/appstore/available/`, (req, res) => {\n        const installedNames = getInstalledPackageNames()\n\n        Promise.all([\n          findPluginsAndWebapps(),\n          getLatestServerVersion(app.config.version).catch(() => '0.0.0'),\n          fetchDistTagsForPackages(installedNames).catch(() => ({}))\n        ])\n          .then(([[plugins, webapps], serverVersion, distTagsMap]) =>\n            getAllModuleInfo(plugins, webapps, serverVersion, distTagsMap)\n          )\n          .then((result) => res.json(result))\n          .catch((error) => {\n            console.log(error.message)\n            debug(error.stack)\n            res.json(emptyAppStoreInfo(false))\n          })\n      })\n    },\n    stop: () => undefined\n  }\n\n  function findPluginsAndWebapps() {\n    return Promise.all([\n      findModulesWithKeyword('signalk-node-server-plugin'),\n      findModulesWithKeyword('signalk-embeddable-webapp'),\n      findModulesWithKeyword('signalk-webapp')\n    ]).then(([plugins, embeddableWebapps, webapps]) => {\n      const allWebapps = []\n        .concat(embeddableWebapps)\n        .concat(webapps)\n        .filter((m) => !bundledAdminUIs.includes(m.package.name))\n      return [\n        plugins,\n        _.uniqBy(allWebapps, (plugin) => {\n          return plugin.package.name\n        })\n      ]\n    })\n  }\n\n  function getInstalledPackageNames() {\n    return [\n      ...new Set(\n        [\n          ...(app.plugins || []).map((p) => p.packageName),\n          ...(app.webapps || []).map((w) => w.name),\n          ...(app.addons || []).map((a) => a.name),\n          ...(app.embeddablewebapps || []).map((e) => e.name)\n        ].filter(Boolean)\n      )\n    ]\n  }\n\n  function getPlugin(id) {\n    return app.plugins.find((plugin) => plugin.packageName === id)\n  }\n\n  function getWebApp(id) {\n    return (\n      (app.webapps && app.webapps.find((webapp) => webapp.name === id)) ||\n      (app.addons && app.addons.find((webapp) => webapp.name === id)) ||\n      (app.embeddablewebapps &&\n        app.embeddablewebapps.find((webapp) => webapp.name === id))\n    )\n  }\n\n  function emptyAppStoreInfo(storeAvailable = true) {\n    return {\n      available: [],\n      installed: [],\n      updates: [],\n      installing: [],\n      categories: getAvailableCategories(),\n      storeAvailable: storeAvailable,\n      isInDocker: process.env.IS_IN_DOCKER === 'true'\n    }\n  }\n\n  function getAllModuleInfo(plugins, webapps, serverVersion, distTagsMap = {}) {\n    const all = emptyAppStoreInfo()\n\n    if (\n      process.argv.length > 1 &&\n      (npmServerInstallLocations.includes(process.argv[1]) ||\n        process.env.SIGNALK_SERVER_IS_UPDATABLE) &&\n      !process.env.SIGNALK_DISABLE_SERVER_UPDATES\n    ) {\n      all.canUpdateServer = !all.isInDocker && true\n      if (gt(serverVersion, app.config.version)) {\n        all.serverUpdate = serverVersion\n\n        const info = {\n          name: app.config.name,\n          version: serverVersion,\n          description: app.config.description,\n          author: getAuthor(app.config),\n          npmUrl: null,\n          isPlugin: false,\n          isWebapp: false\n        }\n\n        if (moduleInstallQueue.find((p) => p.name === info.name)) {\n          info.isWaiting = true\n          all.installing.push(info)\n        } else if (modulesInstalledSinceStartup[info.name]) {\n          if (moduleInstalling && moduleInstalling.name === info.name) {\n            info.isInstalling = true\n          } else if (modulesInstalledSinceStartup[info.name].code !== 0) {\n            info.installFailed = true\n          }\n          all.installing.push(info)\n        }\n      }\n    } else {\n      all.canUpdateServer = false\n    }\n\n    getModulesInfo(plugins, getPlugin, all, distTagsMap)\n    getModulesInfo(webapps, getWebApp, all, distTagsMap)\n\n    if (process.env.PLUGINS_WITH_UPDATE_DISABLED) {\n      const disabled = process.env.PLUGINS_WITH_UPDATE_DISABLED.split(',')\n      all.updates.forEach((info) => {\n        if (disabled.includes(info.name)) {\n          info.updateDisabled = true\n        }\n      })\n    }\n\n    return all\n  }\n\n  function getModulesInfo(modules, existing, result, distTagsMap) {\n    modules.forEach((plugin) => {\n      const name = plugin.package.name\n      const version = plugin.package.version\n\n      if (!semver.valid(version)) {\n        console.warn(\n          `Skipping ${name}: invalid semver version '${version}'. ` +\n            `Please inform the plugin developer to publish a valid semver version.`\n        )\n        return\n      }\n\n      const pluginInfo = {\n        name: name,\n        version: version,\n        description: plugin.package.description,\n        author: getAuthor(plugin.package),\n        categories: getCategories(plugin.package),\n        updated: plugin.package.date,\n        keywords: getKeywords(plugin.package),\n        npmUrl: getNpmUrl(plugin),\n        isPlugin: plugin.package.keywords.some(\n          (v) => v === 'signalk-node-server-plugin'\n        ),\n        isWebapp: plugin.package.keywords.some((v) => v === 'signalk-webapp'),\n        isEmbeddableWebapp: plugin.package.keywords.some(\n          (v) => v === 'signalk-embeddable-webapp'\n        )\n      }\n\n      const tags = distTagsMap[name]\n      if (tags) {\n        let highest = null\n        for (const [tag, tagVersion] of Object.entries(tags)) {\n          if (tag === 'latest') continue\n          const parsed = semver.parse(tagVersion)\n          if (\n            parsed &&\n            parsed.prerelease.length > 0 &&\n            semver.gt(\n              `${parsed.major}.${parsed.minor}.${parsed.patch}`,\n              version\n            )\n          ) {\n            if (!highest || semver.gt(tagVersion, highest)) {\n              highest = tagVersion\n            }\n          }\n        }\n        if (highest) {\n          pluginInfo.prereleaseVersion = highest\n        }\n      }\n\n      const installedModule = existing(name)\n\n      if (installedModule) {\n        pluginInfo.id = installedModule.id\n        pluginInfo.installedVersion = installedModule.version\n      }\n\n      if (moduleInstallQueue.find((p) => p.name === name)) {\n        pluginInfo.isWaiting = true\n        addIfNotDuplicate(result.installing, pluginInfo)\n      } else if (modulesInstalledSinceStartup[name]) {\n        if (moduleInstalling && moduleInstalling.name === name) {\n          if (moduleInstalling.isRemove) {\n            pluginInfo.isRemoving = true\n          } else {\n            pluginInfo.isInstalling = true\n          }\n        } else if (modulesInstalledSinceStartup[name].code !== 0) {\n          pluginInfo.installFailed = true\n          addIfNotDuplicate(result.available, pluginInfo)\n        }\n        pluginInfo.isRemove = modulesInstalledSinceStartup[name].isRemove\n        addIfNotDuplicate(result.installing, pluginInfo)\n      } else if (installedModule) {\n        if (\n          semver.valid(installedModule.version) &&\n          gt(version, installedModule.version)\n        ) {\n          addIfNotDuplicate(result.updates, pluginInfo)\n        } else if (!semver.valid(installedModule.version)) {\n          console.warn(\n            `Installed module ${name} has invalid semver version '${installedModule.version}'. ` +\n              `Please inform the plugin developer.`\n          )\n        }\n        addIfNotDuplicate(result.installed, pluginInfo)\n      }\n      addIfNotDuplicate(result.available, pluginInfo)\n\n      return result\n    })\n  }\n\n  function addIfNotDuplicate(theArray, moduleInfo) {\n    if (!theArray.find((p) => p.name === moduleInfo.name)) {\n      theArray.push(moduleInfo)\n    }\n  }\n\n  function getNpmUrl(moduleInfo) {\n    const npm = _.get(moduleInfo.package, 'links.npm')\n    return npm || null\n  }\n\n  function sendAppStoreChangedEvent() {\n    findPluginsAndWebapps().then(([plugins, webapps]) => {\n      getLatestServerVersion(app.config.version)\n        .then((serverVersion) =>\n          getAllModuleInfo(plugins, webapps, serverVersion)\n        )\n        .then((result) => {\n          app.emit('serverevent', {\n            type: 'APP_STORE_CHANGED',\n            from: 'signalk-server',\n            data: result\n          })\n        })\n    })\n  }\n\n  function installSKModule(module, version) {\n    if (isTheServerModule(module, app.config)) {\n      try {\n        app.providers.forEach((providerHolder) => {\n          if (\n            typeof providerHolder.pipeElements[0].pipeline[0].options\n              .filename !== 'undefined'\n          ) {\n            debug('close file connection:', providerHolder.id)\n            providerHolder.pipeElements[0].end()\n          }\n        })\n      } catch (err) {\n        debug(err)\n      }\n    }\n    updateSKModule(module, version, false)\n  }\n\n  function removeSKModule(module, deleteData) {\n    const plugin = getPlugin(module)\n    const pluginId = plugin ? plugin.id : undefined\n    updateSKModule(module, null, true, pluginId, deleteData)\n  }\n\n  function updateSKModule(module, version, isRemove, pluginId, deleteData) {\n    moduleInstalling = {\n      name: module,\n      output: [],\n      version: version,\n      isRemove: isRemove\n    }\n    modulesInstalledSinceStartup[module] = moduleInstalling\n\n    sendAppStoreChangedEvent()\n\n    const onData = (output) => {\n      modulesInstalledSinceStartup[module].output.push(output)\n      console.log(`stdout: ${output}`)\n    }\n    const onErr = (output) => {\n      modulesInstalledSinceStartup[module].output.push(output)\n      console.error(`stderr: ${output}`)\n    }\n    const onClose = (code) => {\n      debug('close: ' + module)\n      modulesInstalledSinceStartup[module].code = code\n      moduleInstalling = undefined\n      debug(`child process exited with code ${code}`)\n\n      if (isRemove && pluginId) {\n        delete app.providerStatus[pluginId]\n      }\n\n      if (moduleInstallQueue.length) {\n        const next = moduleInstallQueue.splice(0, 1)[0]\n        if (next.isRemove) {\n          removeSKModule(next.name, next.deleteData)\n        } else {\n          installSKModule(next.name, next.version)\n        }\n      }\n\n      sendAppStoreChangedEvent()\n    }\n\n    if (isRemove) {\n      removeModule(\n        app.config,\n        module,\n        version,\n        onData,\n        onErr,\n        onClose,\n        pluginId,\n        deleteData\n      )\n    } else {\n      installModule(app.config, module, version, onData, onErr, onClose)\n    }\n  }\n}\n\nfunction packageNameIs(name) {\n  return (x) => x.package.name === name\n}\n"
  },
  {
    "path": "src/interfaces/index.js",
    "content": "require('fs')\n  .readdirSync(__dirname + '/')\n  .forEach(function (file) {\n    if (file.match(/.+\\.js$/g) !== null && file !== 'index.js') {\n      const name = file.replace('.js', '')\n      exports[name] = require('./' + file)\n    }\n  })\n"
  },
  {
    "path": "src/interfaces/logfiles.js",
    "content": "/*\n * Copyright 2018 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nconst moment = require('moment')\nconst path = require('path')\nconst { getFullLogDir, listLogFiles } = require('@signalk/streams/logging')\nimport { SERVERROUTESPREFIX } from '../constants'\n\nmodule.exports = function (app) {\n  return {\n    start: function () {\n      mountApi(app)\n    },\n    stop: () => undefined\n  }\n}\n\nfunction mountApi(app) {\n  app.securityStrategy.addAdminMiddleware(`${SERVERROUTESPREFIX}/logfiles/`)\n  app.get(`${SERVERROUTESPREFIX}/logfiles/`, function (req, res) {\n    listLogFiles(app, (err, files) => {\n      if (err) {\n        console.error(err)\n        res.status(500)\n        res.json('Error reading logfiles list')\n        return\n      }\n      res.json(files)\n    })\n  })\n  app.get(`${SERVERROUTESPREFIX}/logfiles/:filename`, function (req, res) {\n    // Decode URL-encoded characters first, then sanitize\n    let filename = req.params.filename\n    try {\n      filename = decodeURIComponent(filename)\n    } catch (_e) {\n      // Invalid encoding\n      res.status(400).send('Invalid filename')\n      return\n    }\n\n    // Only allow simple filenames: alphanumeric, dots, hyphens, underscores\n    // This prevents all path traversal attempts including encoded ones\n    if (!/^[a-zA-Z0-9._-]+$/.test(filename)) {\n      res.status(400).send('Invalid filename')\n      return\n    }\n\n    const logDir = getFullLogDir(app)\n    const requestedPath = path.join(logDir, filename)\n\n    // Verify the resolved path is still within the log directory\n    const resolvedPath = path.resolve(requestedPath)\n    const resolvedLogDir = path.resolve(logDir)\n    if (!resolvedPath.startsWith(resolvedLogDir + path.sep)) {\n      res.status(400).send('Invalid filename')\n      return\n    }\n\n    res.sendFile(resolvedPath)\n  })\n  app.get(`${SERVERROUTESPREFIX}/ziplogs`, function (req, res) {\n    const boatName = app.config.vesselName\n      ? app.config.vesselName\n      : app.config.vesselMMSI\n        ? app.config.vesselMMSI\n        : ''\n    const sanitizedBoatName = boatName.replace(/\\W/g, '_')\n    const zipFileName = `sk-logs-${sanitizedBoatName}-${moment().format('YYYY-MM-DD-HH-mm')}`\n\n    res.zip({\n      files: [{ path: getFullLogDir(app), name: zipFileName }],\n      filename: zipFileName + '.zip'\n    })\n  })\n}\n"
  },
  {
    "path": "src/interfaces/mfd_webapp.ts",
    "content": "import dgram from 'dgram'\nimport { promisify } from 'util'\nimport { exec } from 'child_process'\nimport { networkInterfaces } from 'os'\nimport { createDebug } from '../debug'\nimport { getExternalPort } from '../ports'\nconst PUBLISH_PORT = 2053\nconst MULTICAST_GROUP_IP = '239.2.1.1'\nconst debug = createDebug('signalk-server:interfaces:mfd_webapps')\nconst execP = promisify(exec)\n\n// For debugging you can use\n// tcpdump -i en0 -A  -v net 239.2.1.1\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nmodule.exports = (theApp: any) => {\n  return {\n    start() {\n      const port = getExternalPort(theApp)\n      const protocol =\n        theApp.config.settings.ssl || theApp.config.isExternalSsl()\n          ? 'https'\n          : 'http'\n      const publishToNavico = getPublishToNavico(protocol, port)\n      setInterval(() => publishToNavico(), 10 * 1000)\n    }\n  }\n}\n\nconst getPublishMessage = (protocol: string, address: string, port: number) => {\n  const prefix = `${protocol}://${address}:${port}`\n  return JSON.stringify({\n    Version: '1',\n    Source: 'SignalK',\n    IP: address,\n    FeatureName: 'Signal K webapps',\n    Text: [\n      {\n        Language: 'en',\n        Name: 'Signal K',\n        Description: 'Signal K webapps'\n      }\n    ],\n    Icon: `${prefix}/signalk-logo-transparent.png`,\n    URL: `${prefix}/`,\n    OnlyShowOnClientIP: 'true',\n    BrowserPanel: {\n      Enable: true,\n      ProgressBarEnable: true,\n      MenuText: [\n        {\n          Language: 'en',\n          Name: 'Home'\n        }\n      ]\n    }\n  })\n}\n\nconst send = (\n  msg: string,\n  fromAddress: string,\n  toAddress: string,\n  port: number\n) => {\n  const socket = dgram.createSocket('udp4')\n  socket.on('error', (err) => {\n    debug(`Socket error: ${err}`)\n    socket.close()\n  })\n  socket.once('listening', () => {\n    socket.send(msg, port, toAddress, () => {\n      socket.close()\n      debug(`${fromAddress}=>${toAddress} @${port} ${msg}`)\n    })\n  })\n  socket.bind(0, fromAddress)\n}\n\nconst getPublishToNavico = (protocol: string, port: number) => async () => {\n  let addresses: string[] = []\n  for (const [_name, infos] of Object.entries(networkInterfaces())) {\n    for (const addressInfo of infos || []) {\n      if (addressInfo.family === 'IPv4') {\n        addresses.push(addressInfo.address)\n      }\n    }\n  }\n  if (process.env.MFD_ADDRESS_SCRIPT) {\n    addresses = (await execP(process.env.MFD_ADDRESS_SCRIPT)).stdout\n      .trim()\n      .split(',')\n  }\n  addresses.forEach((address) =>\n    send(\n      getPublishMessage(protocol, address, port),\n      address,\n      MULTICAST_GROUP_IP,\n      PUBLISH_PORT\n    )\n  )\n}\n"
  },
  {
    "path": "src/interfaces/nmea-tcp.ts",
    "content": "/*\n * Copyright 2015 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServer, Server, Socket } from 'net'\nimport { createDebug } from '../debug'\nimport { Interface, SignalKServer } from '../types'\n\nconst debug = createDebug('signalk-server:interfaces:tcp:nmea0183')\n\nconst BUFFER_LIMIT = process.env.BACKPRESSURE_ENTER\n  ? parseInt(process.env.BACKPRESSURE_ENTER, 10)\n  : 512 * 1024\nconst MAX_BUFFER = process.env.MAXSENDBUFFERSIZE\n  ? parseInt(process.env.MAXSENDBUFFERSIZE, 10)\n  : 4 * 512 * 1024\nconst MAX_BUFFER_TIME = process.env.MAXSENDBUFFERCHECKTIME\n  ? parseInt(process.env.MAXSENDBUFFERCHECKTIME, 10)\n  : 30 * 1000\n\ninterface SocketWithId extends Socket {\n  id?: number\n  name?: string\n}\n\ninterface NmeaTcpApp extends SignalKServer {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  emit(event: string, ...args: any[]): boolean\n  on(event: string, listener: (...args: string[]) => void): this\n}\n\nmodule.exports = (app: NmeaTcpApp) => {\n  'use strict'\n  const openSockets: Record<number, SocketWithId> = {}\n  const bufferExceededSince: Record<number, number | undefined> = {}\n  let idSequence = 0\n  let server: Server | null = null\n  const port = Number(process.env.NMEA0183PORT) || 10110\n  const api = new Interface()\n\n  api.start = () => {\n    debug('Starting tcp interface')\n\n    server = createServer((socket: SocketWithId) => {\n      socket.id = idSequence++\n      socket.name = socket.remoteAddress + ':' + socket.remotePort\n      debug('Connected:' + socket.id + ' ' + socket.name)\n      openSockets[socket.id] = socket\n      socket.on('data', (data: Buffer) => {\n        app.emit('tcpserver0183data', data.toString())\n      })\n      socket.on('end', () => {\n        debug('Ended:' + socket.id + ' ' + socket.name)\n        delete openSockets[socket.id!]\n        delete bufferExceededSince[socket.id!]\n      })\n      socket.on('error', (err: Error) => {\n        debug('Error:' + err + ' ' + socket.id + ' ' + socket.name)\n        delete openSockets[socket.id!]\n        delete bufferExceededSince[socket.id!]\n      })\n    })\n    const send = (data: string) => {\n      Object.values(openSockets).forEach((socket) => {\n        try {\n          if (socket.writableLength > BUFFER_LIMIT) {\n            debug(\n              'Dropping NMEA sentence for slow client %s (buffer: %d)',\n              socket.name,\n              socket.writableLength\n            )\n            if (MAX_BUFFER > 0 && socket.writableLength > MAX_BUFFER) {\n              if (!bufferExceededSince[socket.id!]) {\n                console.warn(\n                  `NMEA TCP ${socket.name} buffer exceeded max: ${socket.writableLength}`\n                )\n                bufferExceededSince[socket.id!] = Date.now()\n              }\n              if (\n                Date.now() - bufferExceededSince[socket.id!]! >\n                MAX_BUFFER_TIME\n              ) {\n                console.error(\n                  'NMEA TCP buffer overflow, terminating ' + socket.name\n                )\n                socket.destroy()\n                delete openSockets[socket.id!]\n                delete bufferExceededSince[socket.id!]\n              }\n            }\n            return\n          }\n          delete bufferExceededSince[socket.id!]\n          socket.write(data + '\\r\\n')\n        } catch (e) {\n          console.error(e + ' ' + socket)\n        }\n      })\n    }\n    app.signalk.on('nmea0183', send)\n    app.on('nmea0183out', send)\n    server.on('listening', () =>\n      debug('NMEA0183 tcp server listening on ' + port)\n    )\n    server.on('error', (e: Error) => {\n      console.error(`NMEA0183 tcp server error: ${e.message}`)\n    })\n    server.listen(port)\n  }\n\n  api.stop = () => {\n    if (server) {\n      server.close()\n      server = null\n    }\n  }\n\n  api.mdns = {\n    name: '_nmea-0183',\n    type: 'tcp',\n    port\n  }\n\n  return api\n}\n"
  },
  {
    "path": "src/interfaces/playground.js",
    "content": "/*\n * Copyright 2020 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\n//const canboatjs = require('@signalk/streams/canboatjs')\n//const N2kToSignalK = require('@signalk/streams/n2k-signalk')\n//const nmea0183Signalk = require('@signalk/streams/nmea0183-signalk')\n\nconst Parser0183 = require('@signalk/nmea0183-signalk')\nconst N2kMapper = require('@signalk/n2k-signalk').N2kMapper\nconst { putPath, deletePath } = require('../put')\nconst {\n  isN2KString,\n  FromPgn,\n  pgnToActisenseSerialFormat\n} = require('@canboat/canboatjs')\n\nconst serverRoutesPrefix = '/skServer'\n\nlet n2kOutAvailable = false\n\nmodule.exports = function (app) {\n  const n2kMapper = new N2kMapper({ app }, app.propertyValues)\n  const pgnParser = new FromPgn({ useCamelCompat: true }, app.propertyValues)\n\n  app.on('nmea2000OutAvailable', () => {\n    n2kOutAvailable = true\n  })\n\n  const processors = {\n    n2k: (msgs, sendToServer) => {\n      const n2kJson = []\n      const deltas = msgs.map((msg) => {\n        const n2k = pgnParser.parseString(msg)\n        if (n2k) {\n          if (sendToServer) {\n            app.emit('N2KAnalyzerOut', n2k)\n          }\n          n2kJson.push(n2k)\n          return n2kMapper.toDelta(n2k)\n        }\n      })\n      return { deltas, n2kJson: n2kJson, n2kOutAvailable }\n    },\n    '0183': (msgs) => {\n      const parser = new Parser0183({ app })\n      return { deltas: msgs.map(parser.parse.bind(parser)) }\n    },\n    'n2k-json': (msgs) => {\n      return processors.n2k(msgs.map(pgnToActisenseSerialFormat))\n    }\n  }\n\n  function detectType(message) {\n    let type\n    let msg = message.trim()\n    if (msg.charAt(0) === '{' || msg.charAt(0) === '[') {\n      try {\n        const parsed = JSON.parse(msg)\n        const first = Array.isArray(parsed) ? parsed[0] : parsed\n\n        if (first.pgn) {\n          type = 'n2k-json'\n        } else if (first.updates || first.put || first.delete) {\n          type = 'signalk'\n        } else {\n          return { error: 'unknown JSON format' }\n        }\n        const msgs = Array.isArray(parsed) ? parsed : [parsed]\n        return { type, msgs }\n      } catch (ex) {\n        console.error(ex)\n        return { error: ex.message }\n      }\n    } else if (isN2KString) {\n      // temporary until new canboatjs is released\n      if (isN2KString(msg)) {\n        type = 'n2k'\n      } else if (msg.charAt(0) === '$' || msg.charAt(0) === '!') {\n        type = '0183'\n      } else {\n        return { error: 'unable to determine message type' }\n      }\n    } else if (msg.charAt(0) === '$' || msg.charAt(0) === '!') {\n      type = '0183'\n    } else {\n      type = 'n2k'\n    }\n    return { type, msgs: msg.split('\\n').filter((s) => s.length > 0) }\n  }\n\n  app.post(`${serverRoutesPrefix}/inputTest`, (req, res) => {\n    const sendToServer = req.body.sendToServer\n    const sendToN2K = req.body.sendToN2K\n\n    if (\n      (sendToServer || sendToN2K) &&\n      !app.securityStrategy.isDummy() &&\n      !app.securityStrategy.allowConfigure(req)\n    ) {\n      res.status(400).json({ error: 'permission denied' })\n      return\n    }\n\n    const { type, msgs, error } = detectType(req.body.value)\n\n    if (error) {\n      res.status(400).json({ error: error })\n      return\n    }\n\n    if (sendToN2K && type !== 'n2k-json' && type !== 'n2k') {\n      res.status(400).json({\n        error: 'Please enter NMEA 2000 json format or Actisense format'\n      })\n      return\n    }\n\n    if (type === 'signalk') {\n      let puts = []\n      if (sendToServer) {\n        msgs.forEach((msg) => {\n          if (msg.put) {\n            puts.push(\n              new Promise((resolve) => {\n                setTimeout(() => {\n                  resolve('Timed out waiting for put result')\n                }, 5000)\n                putPath(\n                  app,\n                  msg.context,\n                  msg.put.path,\n                  msg.put,\n                  req,\n                  msg.requestId,\n                  (reply) => {\n                    if (reply.state !== 'PENDING') {\n                      resolve(reply)\n                    }\n                  }\n                )\n              })\n            )\n          } else if (msg.delete) {\n            puts.push(\n              new Promise((resolve) => {\n                setTimeout(() => {\n                  resolve('Timed out waiting for put result')\n                }, 5000)\n                deletePath(\n                  app,\n                  msg.context,\n                  msg.delete.path,\n                  req,\n                  msg.requestId,\n                  (reply) => {\n                    if (reply.state !== 'PENDING') {\n                      resolve(reply)\n                    }\n                  }\n                )\n              })\n            )\n          } else {\n            app.handleMessage('input-test', msg)\n          }\n        })\n      }\n      if (puts.length > 0) {\n        Promise.all(puts).then((results) => {\n          res.json({ deltas: msgs, putResults: results })\n        })\n      } else {\n        res.json({ deltas: msgs })\n      }\n    } else if (sendToN2K) {\n      const event = type === 'n2k' ? 'nmea2000out' : 'nmea2000JsonOut'\n      msgs.forEach((msg) => {\n        app.emit(event, msg)\n      })\n      res.json({ deltas: [] })\n    } else {\n      try {\n        const data = processors[type](msgs, sendToServer)\n\n        if (data.deltas) {\n          data.deltas = data.deltas.filter(\n            (m) =>\n              typeof m !== 'undefined' &&\n              m !== null &&\n              m.updates.length > 0 &&\n              m.updates[0].values &&\n              m.updates[0].values.length > 0\n          )\n        }\n        res.json(data)\n\n        if (sendToServer) {\n          data.deltas.forEach((msg) => {\n            app.handleMessage('input-test', msg)\n          })\n        }\n      } catch (ex) {\n        console.error(ex)\n        res.status(400).json({ error: ex.message })\n      }\n    }\n  })\n}\n"
  },
  {
    "path": "src/interfaces/plugins.ts",
    "content": "/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2016 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\nimport {\n  Brand,\n  PointDestination,\n  PropertyValues,\n  PropertyValuesCallback,\n  ResourceProvider,\n  AutopilotProvider,\n  ServerAPI,\n  RouteDestination,\n  WeatherProvider,\n  WeatherApi,\n  Value,\n  SignalKApiId,\n  SourceRef,\n  PluginConstructor,\n  Plugin,\n  Path,\n  Delta,\n  SubscribeCallback,\n  SubscribeMessage,\n  Unsubscribes,\n  UnsubscribeMessage\n} from '@signalk/server-api'\nimport { getLogger } from '@signalk/streams/logging'\nimport express, { Request, Response } from 'express'\nimport fs from 'fs'\nimport { deprecate } from 'util'\nimport _ from 'lodash'\nimport path from 'path'\nimport { AutopilotApi } from '../api/autopilot'\nimport { CourseApi } from '../api/course'\nimport { ResourcesApi } from '../api/resources'\nimport { SERVERROUTESPREFIX } from '../constants'\nimport { createDebug } from '../debug'\nimport {\n  PLUGIN_CONFIG_DATA_DIR,\n  pluginConfigPath,\n  pluginDataDir\n} from '../plugin-paths'\nimport { listAllSerialPorts } from '../serialports'\nconst debug = createDebug('signalk-server:interfaces:plugins')\n\nimport { OpenApiDescription, OpenApiRecord } from '../api/swagger'\nimport {\n  CONNECTION_WRITE_EVENT_NAME,\n  ConnectionWriteEvent\n} from '../deltastats'\nimport { EventsActorId } from '../events'\nimport { importOrRequire, modulesWithKeyword, NpmPackageData } from '../modules'\n\nconst put = require('../put')\nconst _putPath = put.putPath\nconst getModulePublic = require('../config/get').getModulePublic\nimport { queryRequest } from '../requestResponse'\nimport { getMetadata } from '@signalk/signalk-schema'\nimport { HistoryProvider } from '@signalk/server-api/history'\nimport { HistoryApiHttpRegistry } from '../api/history'\nimport { derivePluginId } from '../pluginid'\nimport { atomicWriteFileSync } from '../atomicWrite'\n\n// #521 Returns path to load plugin-config assets.\nconst getPluginConfigPublic = getModulePublic('@signalk/plugin-config')\n\nconst DEFAULT_ENABLED_PLUGINS = process.env.DEFAULTENABLEDPLUGINS\n  ? process.env.DEFAULTENABLEDPLUGINS.split(',')\n  : []\n\nexport type PluginId = Brand<string, 'PluginId'>\nexport interface PluginManager {\n  getPluginOpenApiRecords: () => OpenApiRecord[]\n  setPluginOpenApi: (pluginId: PluginId, openApi: OpenApiDescription) => void\n  getPluginOpenApi: (pluginId: PluginId) => OpenApiRecord | undefined\n}\n\ninterface PluginInfo extends Plugin {\n  enableLogging: any\n  enableDebug: any\n  packageName: any\n  keywords: string[]\n  packageLocation: string\n  version: string\n  state: string\n  type?: string // 'wasm' for WASM plugins, undefined for Node.js plugins\n  isWebapp?: boolean\n  isEmbeddableWebapp?: boolean\n  webappMounted?: boolean\n}\n\nfunction backwardsCompat(url: string) {\n  return [`${SERVERROUTESPREFIX}${url}`, url]\n}\n\nmodule.exports = (theApp: any) => {\n  const onStopHandlers: any = {}\n  return {\n    async start() {\n      ensureExists(path.join(theApp.config.configPath, PLUGIN_CONFIG_DATA_DIR))\n\n      theApp.getPluginsList = async (enabled?: boolean) => {\n        return await getPluginsList(enabled)\n      }\n\n      theApp.use(\n        backwardsCompat('/plugins/configure'),\n        express.static(getPluginConfigPublic(theApp))\n      )\n\n      theApp.get(backwardsCompat('/plugins'), (req: Request, res: Response) => {\n        getPluginResponseInfos()\n          .then((json) => res.json(json))\n          .catch((err) => {\n            console.error(err)\n            res.status(500)\n            res.json(err)\n          })\n      })\n\n      await startPlugins(theApp)\n    }\n  }\n\n  function getPluginResponseInfos() {\n    const providerStatus = theApp.getProviderStatus()\n    return Promise.all(\n      _.sortBy(theApp.plugins, [\n        (plugin: PluginInfo) => {\n          return plugin.name\n        }\n      ]).map((plugin: PluginInfo) =>\n        getPluginResponseInfo(plugin, providerStatus)\n      )\n    )\n  }\n\n  function getPluginsList(enabled?: boolean) {\n    return getPluginResponseInfos().then((pa) => {\n      const res = pa.map((p: any) => {\n        return {\n          id: p.id,\n          name: p.name,\n          version: p.version,\n          enabled: p.data.enabled ?? false\n        }\n      })\n\n      if (typeof enabled === 'undefined') {\n        return res\n      } else {\n        return res.filter((p: any) => {\n          return p.enabled === enabled\n        })\n      }\n    })\n  }\n\n  function getPluginResponseInfo(plugin: PluginInfo, providerStatus: any) {\n    return new Promise((resolve, reject) => {\n      let data: { enabled: boolean } | null = null\n      try {\n        data = getPluginOptions(plugin.id)\n      } catch (e: any) {\n        console.error(e.code + ' ' + e.path)\n      }\n\n      if (data && _.isUndefined(data.enabled) && plugin.enabledByDefault) {\n        data.enabled = true\n      }\n\n      Promise.all([\n        Promise.resolve(\n          typeof plugin.schema === 'function'\n            ? (() => {\n                try {\n                  return plugin.schema()\n                } catch (e) {\n                  console.error(e)\n                  // return a fake schema to inform the user\n                  // downside is that saving this may overwrite an existing configuration\n                  return {\n                    type: 'object',\n                    required: ['error'],\n                    properties: {\n                      error: {\n                        title:\n                          'Error loading plugin configuration schema, check server log',\n                        type: 'string'\n                      }\n                    }\n                  }\n                }\n              })()\n            : plugin.schema\n        ),\n        Promise.resolve(\n          typeof plugin.uiSchema === 'function'\n            ? plugin.uiSchema()\n            : plugin.uiSchema\n        )\n      ])\n        .then(([schema, uiSchema]) => {\n          const status = providerStatus.find((p: any) => p.id === plugin.name)\n          const statusMessage = status ? status.message : ''\n          if (schema === undefined) {\n            console.error(\n              `Error: plugin ${plugin.id} is missing configuration schema`\n            )\n          }\n          resolve({\n            id: plugin.id,\n            name: plugin.name,\n            packageName: plugin.packageName,\n            keywords: plugin.keywords,\n            version: plugin.version,\n            description: plugin.description,\n            schema: schema || {},\n            statusMessage,\n            uiSchema,\n            state: plugin.state,\n            data,\n            type: plugin.type // Include type to identify WASM plugins in Admin UI\n          })\n        })\n        .catch((err) => {\n          reject(err)\n        })\n    })\n  }\n\n  function ensureExists(dir: string) {\n    if (!fs.existsSync(dir)) {\n      fs.mkdirSync(dir)\n    }\n  }\n\n  function pathForPluginId(id: string) {\n    return pluginConfigPath(theApp.config.configPath, id)\n  }\n\n  function dirForPluginId(id: string) {\n    const dirName = pluginDataDir(theApp.config.configPath, id)\n    ensureExists(dirName)\n    return dirName\n  }\n\n  function savePluginOptions(\n    pluginId: string,\n    data: object,\n    callback: (err: NodeJS.ErrnoException | null) => void\n  ) {\n    try {\n      atomicWriteFileSync(\n        pathForPluginId(pluginId),\n        JSON.stringify(data, null, 2)\n      )\n      callback(null)\n    } catch (err: any) {\n      callback(err)\n    }\n  }\n\n  function getPluginOptions(id: string) {\n    let optionsAsString = '{}'\n    try {\n      optionsAsString = fs.readFileSync(pathForPluginId(id), 'utf8')\n    } catch (_e) {\n      debug(\n        'Could not find options for plugin ' +\n          id +\n          ', returning empty options: '\n      )\n    }\n    try {\n      const options = JSON.parse(optionsAsString)\n      if (optionsAsString === '{}' && DEFAULT_ENABLED_PLUGINS.includes(id)) {\n        debug('Override enable for plugin ' + id)\n        options.enabled = true\n      }\n      if (process.env.DISABLEPLUGINS) {\n        debug('Plugins disabled by configuration')\n        options.enabled = false\n      }\n      debug(optionsAsString)\n      return options\n    } catch (e: any) {\n      console.error(\n        'Could not parse JSON options:' + e.message + ' ' + optionsAsString\n      )\n      return {}\n    }\n  }\n\n  async function startPlugins(app: any) {\n    app.plugins = []\n    app.pluginsMap = {}\n    // Expose getPluginOptions for use by other modules (e.g., webapps.js)\n    app.getPluginOptions = getPluginOptions\n\n    // Discover both Node.js and WASM plugins\n    const jsModules = modulesWithKeyword(\n      app.config,\n      'signalk-node-server-plugin'\n    )\n    const wasmModules = modulesWithKeyword(app.config, 'signalk-wasm-plugin')\n\n    // Combine and deduplicate by module name (a plugin might have both keywords)\n    const seenModules = new Set<string>()\n    const modules = [...jsModules, ...wasmModules].filter((moduleData: any) => {\n      if (seenModules.has(moduleData.module)) {\n        return false\n      }\n      seenModules.add(moduleData.module)\n      return true\n    })\n\n    await Promise.all(\n      modules.map((moduleData: any) => {\n        return registerPlugin(\n          app,\n          moduleData.module,\n          moduleData.metadata,\n          moduleData.location\n        )\n      })\n    )\n  }\n\n  function handleMessageWrapper(app: any, id: string) {\n    const pluginsLoggingEnabled =\n      _.isUndefined(app.config.settings.enablePluginLogging) ||\n      app.config.settings.enablePluginLogging\n    return (providerId: string, data: any) => {\n      const plugin = app.pluginsMap[id]\n      if (\n        !_.isUndefined(plugin) &&\n        pluginsLoggingEnabled &&\n        plugin.enableLogging\n      ) {\n        if (!plugin.logger) {\n          plugin.logger = getLogger(app, providerId)\n        }\n        plugin.logger(data)\n      }\n      app.handleMessage(id, data)\n    }\n  }\n\n  function getSelfPath(aPath: string) {\n    return _.get(theApp.signalk.self, aPath)\n  }\n\n  function getPath(aPath: string) {\n    if (aPath === '/sources') {\n      return {\n        ...theApp.signalk.retrieve().sources,\n        ...theApp.deltaCache.getSources()\n      }\n    } else {\n      return _.get(theApp.signalk.retrieve(), aPath)\n    }\n  }\n\n  function putSelfPath(\n    aPath: string,\n    value: any,\n    updateCb: () => void,\n    source: string\n  ) {\n    return _putPath(\n      theApp,\n      'vessels.self',\n      aPath,\n      { value, source },\n      null,\n      null,\n      updateCb\n    )\n  }\n\n  function putPath(\n    aPath: string,\n    value: any,\n    updateCb: (err?: Error) => void,\n    source: string\n  ) {\n    const parts = aPath.length > 0 ? aPath.split('.') : []\n\n    if (parts.length <= 2) {\n      updateCb(new Error(`Put path begin with a two part context:${aPath}`))\n      return\n    }\n\n    const context = `${parts[0]}.${parts[1]}`\n    const skpath = parts.slice(2).join('.')\n    return _putPath(\n      theApp,\n      context,\n      skpath,\n      { value, source },\n      null,\n      null,\n      updateCb\n    )\n  }\n\n  function getSerialPorts() {\n    return listAllSerialPorts()\n  }\n\n  async function registerPlugin(\n    app: any,\n    pluginName: string,\n    metadata: NpmPackageData,\n    location: string\n  ) {\n    debug('Registering plugin ' + pluginName)\n    try {\n      // Check if this is a WASM plugin (wasmManifest is now part of NpmPackageData)\n      if (metadata.wasmManifest) {\n        // This is a WASM plugin - check if WASM interface is enabled\n        const wasmEnabled = app.config.settings.interfaces?.wasm !== false\n        if (!wasmEnabled) {\n          debug(\n            `WASM plugin ${pluginName} discovered but WASM interface disabled - registering minimal entry`\n          )\n          // Create minimal plugin entry so it appears in Plugin Config with \"No WASM\" badge\n          // Derive plugin ID from npm package name (@ → _, / → _)\n          const pluginId = derivePluginId(pluginName)\n          // Use signalk.displayName (standard SignalK convention) or fall back to package name\n          const pluginDisplayName = metadata.signalk?.displayName || pluginName\n\n          const minimalPlugin: any = {\n            id: pluginId,\n            name: pluginDisplayName,\n            type: 'wasm',\n            packageName: pluginName,\n            version: metadata.version,\n            description: metadata.description || '',\n            keywords: metadata.keywords || [],\n            packageLocation: location,\n            enabled: false,\n            state: 'disabled',\n            statusMessage: () => 'WASM interface disabled',\n            schema: () => ({}),\n            uiSchema: () => ({}),\n            start: () => {},\n            stop: () => Promise.resolve(),\n            enableLogging: false,\n            enableDebug: false\n          }\n\n          app.plugins.push(minimalPlugin)\n          app.pluginsMap[pluginId] = minimalPlugin\n          debug(\n            `Registered minimal WASM plugin entry: ${pluginId} (WASM disabled)`\n          )\n          return\n        }\n        // Route to WASM loader\n        debug(`Detected WASM plugin: ${pluginName}`)\n        const { registerWasmPlugin } = require('../wasm')\n        await registerWasmPlugin(\n          app,\n          pluginName,\n          metadata,\n          location,\n          theApp.config.configPath\n        )\n        return\n      }\n\n      // Standard Node.js plugin\n      await doRegisterPlugin(app, pluginName, metadata, location)\n    } catch (e) {\n      console.error(e)\n    }\n  }\n\n  function stopPlugin(plugin: PluginInfo): Promise<any> {\n    debug('Stopping plugin ' + plugin.name)\n    onStopHandlers[plugin.id].forEach((f: () => void) => {\n      try {\n        f()\n      } catch (err) {\n        console.error(err)\n      }\n    })\n    onStopHandlers[plugin.id] = []\n    const result = Promise.resolve(plugin.stop())\n    result.then(() => {\n      theApp.setPluginStatus(plugin.id, 'Stopped')\n      debug('Stopped plugin ' + plugin.name)\n    })\n    return result\n  }\n\n  function setPluginStartedMessage(plugin: PluginInfo) {\n    const statusMessage =\n      typeof plugin.statusMessage === 'function'\n        ? plugin.statusMessage()\n        : undefined\n    if (\n      _.isUndefined(statusMessage) &&\n      _.isUndefined(theApp.providerStatus[plugin.id]) &&\n      _.isUndefined(plugin.statusMessage)\n    ) {\n      theApp.setPluginStatus(plugin.id, 'Started')\n    }\n  }\n\n  function doPluginStart(\n    app: any,\n    plugin: PluginInfo,\n    location: string,\n    configuration: any,\n    restart: (newConfiguration: any) => void\n  ) {\n    debug('Starting plugin %s from %s', plugin.name, location)\n    try {\n      app.setPluginStatus(plugin.id, null)\n\n      if (plugin.enableDebug) {\n        app.logging.addDebug(plugin.packageName)\n      } else {\n        app.logging.removeDebug(plugin.packageName)\n      }\n\n      let safeConfiguration = configuration\n      if (!safeConfiguration) {\n        console.error(`${plugin.id}:no configuration data`)\n        safeConfiguration = {}\n      }\n      onStopHandlers[plugin.id].push(() => {\n        app.resourcesApi.unRegister(plugin.id)\n        app.autopilotApi.unRegister(plugin.id)\n        app.weatherApi.unRegister(plugin.id)\n      })\n      plugin.start(safeConfiguration, restart)\n      debug('Started plugin ' + plugin.name)\n      setPluginStartedMessage(plugin)\n    } catch (e: any) {\n      console.error('error starting plugin: ' + e)\n      console.error(e.stack)\n      app.setProviderError(plugin.id, `Failed to start: ${e.message}`)\n    }\n  }\n\n  async function doRegisterPlugin(\n    app: any,\n    packageName: string,\n    metadata: NpmPackageData,\n    location: string\n  ) {\n    let plugin: PluginInfo\n    const appCopy: ServerAPI = _.assign({}, app, {\n      getSelfPath,\n      getPath,\n      putSelfPath,\n      queryRequest,\n      error: (msg: any) => {\n        console.error(`${packageName}:${msg}`)\n        if (msg instanceof Error) {\n          console.error(msg.stack)\n        }\n      },\n      debug: createDebug(packageName),\n      registerDeltaInputHandler: (handler: Delta) => {\n        onStopHandlers[plugin.id].push(app.registerDeltaInputHandler(handler))\n      },\n      setProviderStatus: deprecate((msg: string) => {\n        app.setPluginStatus(plugin.id, msg)\n      }, `[${packageName}] setProviderStatus() is deprecated, use setPluginStatus() instead`),\n      setProviderError: deprecate((msg: string) => {\n        app.setPluginError(plugin.id, msg)\n      }, `[${packageName}] setProviderError() is deprecated, use setPluginError() instead`),\n      setPluginStatus: (msg: string) => {\n        app.setPluginStatus(plugin.id, msg)\n      },\n      setPluginError: (msg: string) => {\n        app.setPluginError(plugin.id, msg)\n      },\n      emitPropertyValue(name: string, value: any) {\n        const propValues = app.propertyValues as PropertyValues // just for typechecking\n        propValues.emitPropertyValue({\n          timestamp: Date.now(),\n          setter: plugin.id,\n          name,\n          value\n        })\n      },\n      onPropertyValues(name: string, cb: PropertyValuesCallback) {\n        return (app.propertyValues as PropertyValues).onPropertyValues(name, cb)\n      },\n      getSerialPorts,\n      supportsMetaDeltas: true,\n      getMetadata,\n      reportOutputMessages: (count?: number) => {\n        app.emit(CONNECTION_WRITE_EVENT_NAME, {\n          providerId: plugin.id,\n          count\n        } as ConnectionWriteEvent)\n      }\n    })\n    appCopy.putPath = putPath\n\n    appCopy.subscriptionmanager = {\n      subscribe: (\n        command: SubscribeMessage,\n        unsubscribes: Unsubscribes,\n        errorCallback: (err: unknown) => void,\n        callback: SubscribeCallback,\n        user?: string\n      ) => {\n        const safeCallback: SubscribeCallback = (delta) => {\n          try {\n            callback(delta)\n          } catch (err: unknown) {\n            const message = err instanceof Error ? err.message : String(err)\n            console.error(\n              `${packageName} subscription callback error: ${message}`\n            )\n            if (err instanceof Error && err.stack) {\n              console.error(err.stack)\n            }\n            app.setPluginError(plugin.id, `Runtime error: ${message}`)\n          }\n        }\n        app.subscriptionmanager.subscribe(\n          command,\n          unsubscribes,\n          errorCallback,\n          safeCallback,\n          user\n        )\n      },\n      unsubscribe: (msg: UnsubscribeMessage, unsubscribes: Unsubscribes) => {\n        app.subscriptionmanager.unsubscribe(msg, unsubscribes)\n      }\n    }\n\n    const weatherApi: WeatherApi = app.weatherApi\n    appCopy.registerWeatherProvider = (provider: WeatherProvider) => {\n      weatherApi.register(plugin.id, provider)\n    }\n\n    const historyApiRegistry: HistoryApiHttpRegistry =\n      app.historyApiHttpRegistry\n    delete (appCopy as any).historyApiHttpRegistry // expose only the plugin-specific proxy\n    appCopy.registerHistoryApiProvider = (provider: HistoryProvider) => {\n      historyApiRegistry.registerHistoryApiProvider(plugin.id, provider)\n      onStopHandlers[plugin.id].push(() => {\n        historyApiRegistry.unregisterHistoryApiProvider(plugin.id)\n      })\n    }\n\n    const resourcesApi: ResourcesApi = app.resourcesApi\n    appCopy.registerResourceProvider = (provider: ResourceProvider) => {\n      resourcesApi.register(plugin.id, provider)\n    }\n\n    const autopilotApi: AutopilotApi = app.autopilotApi\n    appCopy.registerAutopilotProvider = (\n      provider: AutopilotProvider,\n      devices: string[]\n    ) => {\n      autopilotApi.register(plugin.id, provider, devices)\n    }\n    appCopy.autopilotUpdate = (\n      deviceId: SourceRef,\n      apInfo: { [k: string]: Value }\n    ) => {\n      autopilotApi.apUpdate(plugin.id, deviceId, apInfo)\n    }\n\n    const courseApi: CourseApi = app.courseApi\n    appCopy.getCourse = () => {\n      return courseApi.getCourse()\n    }\n    appCopy.clearDestination = () => {\n      return courseApi.clearDestination()\n    }\n    appCopy.setDestination = (\n      dest: (PointDestination & { arrivalCircle?: number }) | null\n    ) => {\n      return courseApi.destination(dest)\n    }\n    appCopy.activateRoute = (dest: RouteDestination | null) => {\n      return courseApi.activeRoute(dest)\n    }\n\n    try {\n      const moduleDir = path.join(location, packageName)\n      const pluginConstructor: PluginConstructor =\n        await importOrRequire(moduleDir)\n      plugin = pluginConstructor(appCopy) as PluginInfo\n    } catch (e: any) {\n      console.error(`${packageName} failed to start: ${e.message}`)\n      console.error(e)\n      app.setProviderError(packageName, `Failed to start: ${e.message}`)\n      return\n    }\n    onStopHandlers[plugin.id] = []\n\n    if (app.pluginsMap[plugin.id]) {\n      console.log(\n        `WARNING: found multiple copies of plugin with id ${\n          plugin.id\n        } at ${location} and ${app.pluginsMap[plugin.id].packageLocation}`\n      )\n      return\n    }\n\n    appCopy.handleMessage = handleMessageWrapper(app, plugin.id)\n    const boundEventMethods = (app as any).wrappedEmitter.bindMethodsById(\n      `plugin:${plugin.id}` as EventsActorId\n    )\n    _.assign(appCopy, boundEventMethods)\n\n    appCopy.savePluginOptions = (configuration, cb) => {\n      savePluginOptions(\n        plugin.id,\n        { ...getPluginOptions(plugin.id), configuration },\n        cb\n      )\n    }\n    appCopy.readPluginOptions = () => {\n      return getPluginOptions(plugin.id)\n    }\n    appCopy.getDataDirPath = () => dirForPluginId(plugin.id)\n\n    appCopy.registerPutHandler = (context, aPath, callback, source) => {\n      appCopy.handleMessage(plugin.id, {\n        updates: [\n          {\n            meta: [\n              {\n                path: aPath as Path,\n                value: {\n                  supportsPut: true\n                }\n              }\n            ]\n          }\n        ]\n      })\n\n      onStopHandlers[plugin.id].push(\n        app.registerActionHandler(context, aPath, source || plugin.id, callback)\n      )\n    }\n    appCopy.registerActionHandler = appCopy.registerPutHandler\n\n    appCopy.registerHistoryProvider = (provider) => {\n      app.registerHistoryProvider(provider)\n      const apiList = app.apis as SignalKApiId[]\n      apiList.push('historyplayback')\n      apiList.push('historysnapshot')\n      onStopHandlers[plugin.id].push(() => {\n        app.unregisterHistoryProvider(provider)\n      })\n    }\n\n    const startupOptions = getPluginOptions(plugin.id)\n    const restart = (newConfiguration: any) => {\n      const pluginOptions = getPluginOptions(plugin.id)\n      pluginOptions.configuration = newConfiguration\n      savePluginOptions(plugin.id, pluginOptions, (err) => {\n        if (err) {\n          console.error(err)\n        } else {\n          stopPlugin(plugin).then(() => {\n            return Promise.resolve(\n              doPluginStart(app, plugin, location, newConfiguration, restart)\n            )\n          })\n        }\n      })\n    }\n\n    if (isEnabledByPackageEnableDefault(startupOptions, metadata)) {\n      startupOptions.enabled = true\n      startupOptions.configuration = {}\n      plugin.enabledByDefault = true\n      // Persist the default-enabled state to disk so the plugin can be disabled later\n      savePluginOptions(plugin.id, startupOptions, (err) => {\n        if (err) {\n          console.error(\n            `Error saving default-enabled options for ${plugin.id}:`,\n            err\n          )\n        }\n      })\n    }\n\n    plugin.enableDebug = startupOptions.enableDebug\n    plugin.version = metadata.version\n    plugin.packageName = metadata.name\n    plugin.keywords = metadata.keywords\n    plugin.packageLocation = location\n\n    if (startupOptions && startupOptions.enabled) {\n      doPluginStart(\n        app,\n        plugin,\n        location,\n        startupOptions.configuration,\n        restart\n      )\n    }\n    plugin.enableLogging = startupOptions.enableLogging\n    app.plugins.push(plugin)\n    app.pluginsMap[plugin.id] = plugin\n\n    const router = express.Router()\n    router.get('/', (req: Request, res: Response) => {\n      const currentOptions = getPluginOptions(plugin.id)\n      const enabledByDefault = isEnabledByPackageEnableDefault(\n        currentOptions,\n        metadata\n      )\n      res.json({\n        enabled: enabledByDefault || currentOptions.enabled,\n        enabledByDefault,\n        id: plugin.id,\n        name: plugin.name,\n        version: plugin.version\n      })\n    })\n\n    router.post('/config', (req: Request, res: Response) => {\n      savePluginOptions(plugin.id, req.body, (err) => {\n        if (err) {\n          console.error(err)\n          res.status(500)\n          res.json(err)\n          return\n        }\n        res.json('Saved configuration for plugin ' + plugin.id)\n        stopPlugin(plugin).then(() => {\n          const options = getPluginOptions(plugin.id)\n          plugin.enableLogging = options.enableLogging\n          plugin.enableDebug = options.enableDebug\n          if (options.enabled) {\n            doPluginStart(app, plugin, location, options.configuration, restart)\n          }\n        })\n      })\n    })\n\n    router.get('/config', (req: Request, res: Response) => {\n      res.json(getPluginOptions(plugin.id))\n    })\n\n    if (typeof plugin.registerWithRouter === 'function') {\n      plugin.registerWithRouter(router)\n      if (typeof plugin.getOpenApi === 'function') {\n        app.setPluginOpenApi(plugin.id, plugin.getOpenApi())\n      }\n    }\n    app.use(backwardsCompat('/plugins/' + plugin.id), router)\n\n    if (typeof plugin.signalKApiRoutes === 'function') {\n      app.use('/signalk/v1/api', plugin.signalKApiRoutes(express.Router()))\n    }\n  }\n}\n\nconst isEnabledByPackageEnableDefault = (\n  options: any,\n  metadata: NpmPackageData\n) =>\n  _.isUndefined(options.enabled) &&\n  (metadata as any)['signalk-plugin-enabled-by-default']\n"
  },
  {
    "path": "src/interfaces/providers.ts",
    "content": "/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { IRouter, Request, Response } from 'express'\nimport { ConfigApp, writeSettingsFile } from '../config/config'\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst { runDiscovery } = require('../discovery')\nimport { SERVERROUTESPREFIX } from '../constants'\n\n// 21-bit unique number per NMEA 2000 standard (0x1FFFFF)\nconst MAX_CANBUS_UNIQUE_NUMBER = 0x1fffff\n\ninterface PipeElement {\n  type: string\n  options: {\n    type?: string\n    logging?: boolean\n    subOptions?: Record<string, unknown>\n    [key: string]: unknown\n  }\n}\n\ninterface PipedProvider {\n  id: string\n  enabled: boolean\n  pipeElements: PipeElement[]\n}\n\ninterface ProviderRequest {\n  id: string\n  enabled: boolean\n  type: string\n  logging?: boolean\n  editable?: boolean\n  wasDiscovered?: boolean\n  originalId?: string\n  options: {\n    type?: string\n    uniqueNumber?: number | string\n    mfgCode?: number | string\n    [key: string]: unknown\n  }\n}\n\ninterface ProviderResponse {\n  id: string\n  enabled: boolean\n  type?: string\n  editable: boolean\n  isNew?: boolean\n  wasDiscovered?: boolean\n  logging?: boolean\n  json?: string\n  options?: Record<string, unknown>\n  [key: string]: unknown\n}\n\ninterface App extends ConfigApp, IRouter {\n  discoveredProviders: PipedProvider[]\n}\n\nfunction getProviders(\n  source: PipedProvider[],\n  wasDiscovered?: boolean\n): ProviderResponse[] {\n  return source.map((provider) => {\n    const type = provider.pipeElements[0].type\n    let providerRes: ProviderResponse\n    if (type === 'providers/simple' && provider.pipeElements.length === 1) {\n      const options = provider.pipeElements[0].options\n      providerRes = {\n        ...JSON.parse(JSON.stringify(options)),\n        id: provider.id,\n        enabled: provider.enabled,\n        options: options.subOptions as Record<string, unknown>,\n        editable: true\n      }\n      delete (providerRes as Record<string, unknown>).subOptions\n    } else {\n      providerRes = {\n        id: provider.id,\n        enabled: provider.enabled,\n        json: JSON.stringify(provider, null, 2),\n        type: `${type}`,\n        editable: false\n      }\n    }\n    if (wasDiscovered) {\n      providerRes.isNew = true\n      providerRes.wasDiscovered = true\n    }\n    return providerRes\n  })\n}\n\nfunction applyProviderSettings(\n  target: PipedProvider,\n  source: ProviderRequest,\n  res: Response\n): boolean {\n  if (source.type === 'Unknown') {\n    res.status(401).send('Can not update an Unknown type')\n    return false\n  }\n\n  const options = target.pipeElements[0].options\n\n  target.id = source.id\n  target.enabled = source.enabled\n  options.logging = source.logging\n  options.type = source.type\n\n  if (!options.subOptions || options.subOptions.type !== source.options.type) {\n    options.subOptions = {}\n  }\n\n  Object.assign(options.subOptions, source.options)\n\n  return true\n}\n\nfunction isValidProviderBody(body: unknown): body is ProviderRequest {\n  if (!body || typeof body !== 'object' || Array.isArray(body)) return false\n  const b = body as Record<string, unknown>\n  if (b.id !== undefined && typeof b.id !== 'string') return false\n  if (\n    b.options !== undefined &&\n    (typeof b.options !== 'object' || Array.isArray(b.options))\n  )\n    return false\n  return true\n}\n\nmodule.exports = function (app: App) {\n  app.on('discovered', (provider) => {\n    const p = provider as PipedProvider\n    if (p.enabled === undefined) {\n      p.enabled = true\n    }\n    app.discoveredProviders.push(p)\n    app.emit('serverevent', {\n      type: 'DISCOVERY_CHANGED',\n      from: 'discovery',\n      data: getProviders(app.discoveredProviders, true)\n    })\n  })\n\n  app.get(`${SERVERROUTESPREFIX}/providers`, (_req: Request, res: Response) => {\n    res.json(getProviders(app.config.settings.pipedProviders))\n  })\n\n  app.put(\n    `${SERVERROUTESPREFIX}/runDiscovery`,\n    (_req: Request, res: Response) => {\n      app.discoveredProviders = []\n      runDiscovery(app)\n      res.json('Discovery started')\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/providers/:id`,\n    (req: Request, res: Response) => {\n      if (!isValidProviderBody(req.body)) {\n        res.status(400).send('Invalid provider: id and options object required')\n        return\n      }\n      updateProvider(req.params.id, req.body as ProviderRequest, res)\n    }\n  )\n\n  app.post(`${SERVERROUTESPREFIX}/providers`, (req: Request, res: Response) => {\n    if (!isValidProviderBody(req.body)) {\n      res.status(400).send('Invalid provider: id and options object required')\n      return\n    }\n    updateProvider(null, req.body as ProviderRequest, res)\n  })\n\n  app.delete(\n    `${SERVERROUTESPREFIX}/providers/:id`,\n    (req: Request, res: Response) => {\n      const idx = app.config.settings.pipedProviders.findIndex(\n        (p) => p.id === req.params.id\n      )\n      if (idx === -1) {\n        res.status(401).send(`Connection with name ${req.params.id} not found`)\n        return\n      }\n      app.config.settings.pipedProviders.splice(idx, 1)\n\n      writeSettingsFile(app, app.config.settings, (err: Error) => {\n        if (err) {\n          console.error(err)\n          res.status(500).send('Unable to save to settings file')\n        } else {\n          app.pipedProviders.stopProvider(req.params.id)\n          res.type('text/plain')\n          res.send('Connection deleted')\n        }\n      })\n    }\n  )\n\n  function updateProvider(\n    idToUpdate: string | null,\n    provider: ProviderRequest,\n    res: Response\n  ) {\n    const isNew = idToUpdate === undefined || idToUpdate === null\n    const existing = app.config.settings.pipedProviders.find(\n      (p) => p.id === (isNew ? provider.id : idToUpdate)\n    )\n\n    if (isNew && existing) {\n      res.status(401).send(`Connection with ID '${provider.id}' already exists`)\n      return\n    } else if (!isNew && idToUpdate !== provider.id) {\n      if (\n        app.config.settings.pipedProviders.find((p) => p.id === provider.id)\n      ) {\n        res\n          .status(401)\n          .send(`Connection with ID '${provider.id}' already exists`)\n        return\n      }\n    }\n\n    if (!provider.id || provider.id.length === 0) {\n      res.status(401).send('Please enter a provider ID')\n      return\n    }\n\n    if (provider.wasDiscovered) {\n      const idx = app.discoveredProviders.findIndex(\n        (p) => p.id === provider.originalId\n      )\n      if (idx !== -1) {\n        app.discoveredProviders.splice(idx, 1)\n      }\n      app.emit('serverevent', {\n        type: 'DISCOVERY_CHANGED',\n        from: 'discovery',\n        data: getProviders(app.discoveredProviders)\n      })\n    }\n\n    const updatedProvider: PipedProvider = existing || {\n      id: '',\n      enabled: true,\n      pipeElements: [\n        {\n          type: 'providers/simple',\n          options: {}\n        }\n      ]\n    }\n\n    if (provider.options.type === 'canbus-canboatjs') {\n      const uniqueNumber = parseInt(String(provider.options.uniqueNumber), 10)\n      if (!isNaN(uniqueNumber)) {\n        provider.options.uniqueNumber = uniqueNumber\n      } else {\n        provider.options.uniqueNumber = Math.floor(\n          Math.random() * MAX_CANBUS_UNIQUE_NUMBER\n        )\n      }\n\n      const mfgCode = parseInt(String(provider.options.mfgCode), 10)\n      if (!isNaN(mfgCode)) {\n        provider.options.mfgCode = mfgCode\n      } else {\n        if (provider.options.mfgCode !== '') delete provider.options.mfgCode\n      }\n    }\n\n    if (applyProviderSettings(updatedProvider, provider, res)) {\n      if (isNew) {\n        app.config.settings.pipedProviders.push(updatedProvider)\n      }\n\n      writeSettingsFile(app, app.config.settings, (err: Error) => {\n        if (err) {\n          console.error(err)\n          res.status(500).send('Unable to save to settings file')\n        } else {\n          if (!isNew && idToUpdate !== provider.id) {\n            app.pipedProviders.stopProvider(idToUpdate!)\n          }\n          app.pipedProviders.restartProvider(provider.id)\n          res.type('text/plain')\n          res.send('Connection ' + (isNew ? 'added' : 'updated'))\n        }\n      })\n    }\n  }\n}\n"
  },
  {
    "path": "src/interfaces/rest.js",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nconst { createDebug } = require('../debug')\nconst debug = createDebug('signalk-server:interfaces:rest')\nconst express = require('express')\nconst { getMetadata } = require('@signalk/signalk-schema')\nconst ports = require('../ports')\nconst {\n  resolveDisplayUnits,\n  getDefaultCategory\n} = require('../unitpreferences')\n\n// Enhance metadata response with displayUnits from unit preferences\nfunction enhanceMetadataResponse(metadata, signalkPath, username) {\n  if (!metadata) return metadata\n\n  // Check if displayUnits.category exists in stored metadata\n  let storedDisplayUnits = metadata.displayUnits\n\n  // If no category set, try to get default category for this path\n  if (!storedDisplayUnits?.category && signalkPath) {\n    const defaultCategory = getDefaultCategory(\n      signalkPath,\n      metadata.units,\n      username\n    )\n    if (defaultCategory) {\n      storedDisplayUnits = { category: defaultCategory }\n    }\n  }\n\n  if (storedDisplayUnits?.category) {\n    try {\n      const enhanced = resolveDisplayUnits(\n        storedDisplayUnits,\n        metadata.units,\n        username\n      )\n      if (enhanced) {\n        metadata.displayUnits = enhanced\n      }\n    } catch (err) {\n      debug('Error enhancing metadata with displayUnits:', err)\n    }\n  }\n\n  return metadata\n}\n\nconst SKIP_KEYS = new Set([\n  'value',\n  'meta',\n  '$source',\n  'timestamp',\n  'pgn',\n  'sentence',\n  'values'\n])\n\nfunction enhanceTreeMetadata(node, pathParts, username) {\n  if (node === null || typeof node !== 'object') return\n  if (node.meta) {\n    const signalkPath = pathParts.join('.')\n    const metaCopy = structuredClone(node.meta)\n    enhanceMetadataResponse(metaCopy, signalkPath, username)\n    node.meta = metaCopy\n  }\n  for (const key in node) {\n    if (!SKIP_KEYS.has(key)) {\n      enhanceTreeMetadata(node[key], pathParts.concat(key), username)\n    }\n  }\n}\n\nfunction collectMeta(node, pathParts, result) {\n  if (node === null || typeof node !== 'object') return\n  if (node.meta) {\n    result[pathParts.join('.')] = structuredClone(node.meta)\n  }\n  for (const key in node) {\n    if (!SKIP_KEYS.has(key)) {\n      collectMeta(node[key], pathParts.concat(key), result)\n    }\n  }\n}\n\nconst iso8601rexexp =\n  /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?Z$/\n\nmodule.exports = function (app) {\n  'use strict'\n\n  const pathPrefix = '/signalk'\n  const versionPrefix = '/v1'\n  const apiPathPrefix = pathPrefix + versionPrefix + '/api/'\n  const snapshotPathPrefix = pathPrefix + versionPrefix + '/snapshot/'\n  const streamPath = pathPrefix + versionPrefix + '/stream'\n\n  const KNOWN_OTHER_PATH_PREFIXES = ['resources']\n\n  return {\n    start: function () {\n      app.use('/', express.static(__dirname + '/../../public'))\n\n      function snapshotHandler(snapshotPath, req, res, next) {\n        if (!req.query.time) {\n          res.status(400).send('Snapshot api requires time query parameter')\n        } else if (!iso8601rexexp.test(req.query.time)) {\n          res\n            .status(400)\n            .send(\n              'Time query parameter must be a valid ISO 8601 UTC time value like 2018-12-11T18:40:03.246'\n            )\n        } else if (!app.historyProvider) {\n          res.status(501).send('No history provider')\n        } else {\n          app.historyProvider.getHistory(\n            new Date(req.query.time),\n            snapshotPath,\n            (deltas) => {\n              if (deltas.length === 0) {\n                res.status(404).send('No data found for the given time')\n                return\n              }\n              const full = app.deltaCache.buildFullFromDeltas(\n                req.skPrincipal,\n                deltas\n              )\n              if (!full) {\n                next()\n                return\n              }\n              let result = full\n              for (const p of snapshotPath) {\n                if (typeof result[p] !== 'undefined') {\n                  result = result[p]\n                } else {\n                  next()\n                  return\n                }\n              }\n              res.json(result)\n            }\n          )\n        }\n      }\n\n      // Spec-compliant snapshot path: /signalk/v1/snapshot/...\n      app.get(snapshotPathPrefix + '*', function (req, res, next) {\n        const pathStr = req.params[0] || ''\n        const snapshotPath =\n          pathStr.length > 0\n            ? pathStr\n                .replace(/\\/$/, '')\n                .split('/')\n                .map((p) => (p === 'self' ? app.selfId : p))\n            : []\n        snapshotHandler(snapshotPath, req, res, next)\n      })\n\n      app.get(apiPathPrefix + '*', function (req, res, next) {\n        let path = String(req.path).replace(apiPathPrefix, '')\n\n        if (path === 'self') {\n          return res.json(`vessels.${app.selfId}`)\n        }\n\n        path = path.length > 0 ? path.replace(/\\/$/, '').split('/') : []\n\n        if (KNOWN_OTHER_PATH_PREFIXES.indexOf(path[0]) >= 0) {\n          next()\n          return\n        }\n\n        // GET /vessels/<id>/meta — return all metadata for a vessel\n        if (path.length === 3 && path[0] === 'vessels' && path[2] === 'meta') {\n          const vesselId = path[1] === 'self' ? app.selfId : path[1]\n          const vesselPath = ['vessels', vesselId]\n          let full\n          if (app.securityStrategy.anyACLs()) {\n            full = app.deltaCache.buildFull(req.skPrincipal, vesselPath)\n          } else {\n            full = app.signalk.retrieve()\n          }\n          const vessel = full?.vessels?.[vesselId]\n          if (vessel) {\n            const result = {}\n            const username = req.skPrincipal?.identifier\n            collectMeta(vessel, [], result)\n            for (const [skPath, meta] of Object.entries(result)) {\n              enhanceMetadataResponse(meta, skPath, username)\n            }\n            res.json(result)\n          } else {\n            next()\n          }\n          return\n        }\n\n        if (path.length > 4 && path[path.length - 1] === 'meta') {\n          const metaPath = path.slice(0, path.length - 1).join('.')\n          const meta = getMetadata(metaPath)\n\n          if (meta) {\n            // Deep clone to avoid mutating the cached metadata object\n            const metaCopy = structuredClone(meta)\n            // Extract signalk path (remove vessels.self prefix)\n            const signalkPath = metaPath.replace(/^vessels\\.[^.]+\\./, '')\n            const username = req.skPrincipal?.identifier\n            res.json(enhanceMetadataResponse(metaCopy, signalkPath, username))\n            return\n          }\n        }\n        if (path.length > 5 && path[path.length - 2] === 'meta') {\n          let meta = getMetadata(path.slice(0, path.length - 2).join('.'))\n          let value = meta && meta[path[path.length - 1]]\n          if (value) {\n            res.json(value)\n            return\n          }\n        }\n\n        path = path.map((p) => (p === 'self' ? app.selfId : p))\n\n        function sendResult(last, aPath) {\n          if (last) {\n            const traversedPath = []\n            for (const i in aPath) {\n              const p = aPath[i]\n\n              if (typeof last[p] !== 'undefined') {\n                traversedPath.push(p)\n                last = last[p]\n              } else {\n                next()\n                return\n              }\n            }\n\n            // Inject displayUnits into meta objects throughout the tree.\n            // Strip the vessels.<id> prefix to get signalk-relative paths.\n            if (\n              traversedPath[0] === 'vessels' ||\n              aPath[0] === 'vessels' ||\n              aPath.length === 0\n            ) {\n              const username = req.skPrincipal?.identifier\n              let baseParts = traversedPath.slice()\n              // Remove vessels.<id> prefix if present\n              if (baseParts[0] === 'vessels' && baseParts.length >= 2) {\n                baseParts = baseParts.slice(2)\n              }\n              enhanceTreeMetadata(last, baseParts, username)\n            }\n          } else {\n            next()\n            return\n          }\n\n          return res.json(last)\n        }\n\n        if (path[0] && path[0] === 'snapshot') {\n          return snapshotHandler(path.slice(1), req, res, next)\n        } else {\n          let last\n          if (app.securityStrategy.anyACLs()) {\n            last = app.deltaCache.buildFull(req.skPrincipal, path)\n          } else {\n            last = app.signalk.retrieve()\n          }\n          sendResult(last, path)\n        }\n      })\n\n      app.get(pathPrefix, function (req, res) {\n        const host = req.headers.host\n        const splitHost = host.split(':')\n\n        let httpProtocol = 'http://'\n        let wsProtocol = 'ws://'\n        if (\n          app.config.settings.ssl ||\n          (req.headers['x-forwarded-proto'] &&\n            req.headers['x-forwarded-proto'] === 'https')\n        ) {\n          httpProtocol = 'https://'\n          wsProtocol = 'wss://'\n        }\n\n        const services = {\n          version: getVersion(),\n          'signalk-http': httpProtocol + host + apiPathPrefix,\n          'signalk-ws': wsProtocol + host + streamPath\n        }\n\n        if (app.interfaces.tcp && app.interfaces.tcp.data) {\n          services['signalk-tcp'] =\n            `tcp://${splitHost[0]}:${app.interfaces.tcp.data.port}`\n        }\n\n        res.json({\n          endpoints: {\n            v1: services\n          },\n          server: {\n            id: 'signalk-server-node',\n            version: app.config.version\n          }\n        })\n      })\n\n      if (app.historyProvider && app.historyProvider.registerHistoryApiRoute) {\n        debug('Adding history api route')\n        const historyApiRouter = express.Router()\n        app.historyProvider.registerHistoryApiRoute(historyApiRouter)\n        app.use(pathPrefix + versionPrefix + '/history', historyApiRouter)\n      }\n    },\n\n    mdns: {\n      name:\n        app.config.settings.ssl || app.config.isExternalSsl()\n          ? '_signalk-https'\n          : '_signalk-http',\n      type: 'tcp',\n      port: ports.getExternalPort(app)\n    }\n  }\n}\n\n// @ts-ignore\nconst getVersion = () => require('../../package.json').version\n"
  },
  {
    "path": "src/interfaces/tcp.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2015 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createServer, Server, Socket } from 'net'\nimport split from 'split'\nimport { createDebug } from '../debug'\nimport { Interface, SignalKServer } from '../types'\nimport { Unsubscribes } from '@signalk/server-api'\nimport {\n  BackpressureManager,\n  parseBackpressureThresholds\n} from '../BackpressureManager'\nconst debug = createDebug('signalk-server:interfaces:tcp:signalk')\n\nconst thresholds = parseBackpressureThresholds()\n\ninterface SocketWithId extends Socket {\n  id?: number\n  name?: string\n}\n\nmodule.exports = (app: SignalKServer) => {\n  'use strict'\n  let idSequence = 0\n  let server: Server | null\n  const port = Number(process.env.TCPSTREAMPORT) || 8375\n  const api = new Interface()\n\n  api.start = () => {\n    if (!app.securityStrategy.allowReadOnly()) {\n      debug('Not starting tcp interface because readOnly is false')\n      return\n    }\n    debug('Starting tcp interface')\n    debug(\n      'Backpressure thresholds: enter=%d, exit=%d, max=%d, maxTime=%d',\n      thresholds.enterThreshold,\n      thresholds.exitThreshold,\n      thresholds.maxBufferSize,\n      thresholds.maxBufferCheckTime\n    )\n\n    server = createServer((socket: SocketWithId) => {\n      socket.id = idSequence++\n      socket.name = socket.remoteAddress + ':' + socket.remotePort\n      debug('Connected:' + socket.id + ' ' + socket.name)\n\n      const manager = new BackpressureManager(\n        {\n          get id() {\n            return `TCP ${socket.name}`\n          },\n          getBufferLength() {\n            return socket.writableLength\n          },\n          write(delta) {\n            if (!socket.destroyed) {\n              socket.write(`${JSON.stringify(delta)}\\r\\n`)\n            }\n          },\n          destroy() {\n            socket.destroy()\n          }\n        },\n        thresholds\n      )\n\n      socket.on('error', (err: Error) => {\n        debug('Error:' + err + ' ' + socket.id + ' ' + socket.name)\n      })\n      socket.on('close', (hadError) => {\n        debug('Close:' + hadError + ' ' + socket.id + ' ' + socket.name)\n      })\n\n      socket.on('drain', () => manager.onDrain())\n\n      const unsubscibes: Unsubscribes = []\n      socket\n        .pipe(\n          split((s: string) => {\n            if (s.length > 0) {\n              try {\n                return JSON.parse(s)\n              } catch (e: any) {\n                console.log(e)\n              }\n            }\n          })\n        )\n        .on('data', socketMessageHandler(app, socket, unsubscibes, manager))\n        .on('error', (err: Error) => {\n          console.error(err)\n        })\n      socket.on('close', () => {\n        unsubscibes.forEach((f) => f())\n        manager.clear()\n        debug('Closed:' + socket.id + ' ' + socket.name)\n      })\n\n      socket.write(JSON.stringify(app.getHello()) + '\\r\\n')\n    })\n\n    server.on('listening', () =>\n      debug('Signal K tcp server listening on ' + port)\n    )\n    server.on('error', (e) => {\n      console.error(`Signal K tcp server error: ${e.message}`)\n    })\n\n    if (process.env.TCPSTREAMADDRESS) {\n      debug('Binding to ' + process.env.TCPSTREAMADDRESS)\n      server.listen(port, process.env.TCPSTREAMADDRESS)\n    } else {\n      server.listen(port)\n    }\n\n    return {\n      port\n    }\n  }\n\n  api.stop = () => {\n    if (server) {\n      server.close()\n      server = null\n    }\n  }\n\n  api.mdns = {\n    name: '_signalk-tcp',\n    type: 'tcp',\n    port\n  }\n\n  return api\n}\n\nfunction socketMessageHandler(\n  app: SignalKServer,\n  socket: SocketWithId,\n  unsubscribes: Unsubscribes,\n  manager: BackpressureManager\n) {\n  let lastUpdateErrorLogged = 0\n  return (msg: any) => {\n    if (msg.updates) {\n      if (app.securityStrategy.isDummy()) {\n        app.handleMessage('tcp', msg)\n      } else {\n        if (Date.now() - lastUpdateErrorLogged > 60 * 1000) {\n          console.error(`Security is enabled, deltas over tcp ignored`)\n          lastUpdateErrorLogged = Date.now()\n        }\n      }\n    } else if (msg.subscribe) {\n      debug.enabled && debug(`subscribe:${JSON.stringify(msg)}`)\n      app.subscriptionmanager.subscribe(\n        msg,\n        unsubscribes,\n        (err: any) => {\n          console.error(`Subscribe  failed:${err}`)\n        },\n        (delta: any) => {\n          manager.send(delta)\n        }\n      )\n    } else if (msg.unsubscribe) {\n      debug.enabled && debug(`unsubscribe:${JSON.stringify(msg)}`)\n      try {\n        app.subscriptionmanager.unsubscribe(msg, unsubscribes)\n      } catch (e: any) {\n        console.error(e)\n        socket.write(JSON.stringify(e.message))\n        socket.end(() => {\n          console.error(`Closed ${socket.name}`)\n        })\n      }\n    }\n  }\n}\n\nmodule.exports.socketMessageHandler = socketMessageHandler\n"
  },
  {
    "path": "src/interfaces/unitpreferences-api.js",
    "content": "const express = require('express')\nconst fs = require('fs')\nconst path = require('path')\nconst { atomicWriteFileSync } = require('../atomicWrite')\nconst busboy = require('busboy')\nconst { compile } = require('mathjs')\nconst { createDebug } = require('../debug')\nconst debug = createDebug('signalk-server:unitpreferences-api')\n\n/**\n * Validate a formula string by attempting to compile it with mathjs\n * @param {string} formula - The formula to validate\n * @returns {string|null} - Error message if invalid, null if valid\n */\nfunction validateFormula(formula) {\n  try {\n    compile(formula)\n    return null\n  } catch (e) {\n    return e.message\n  }\n}\n\nconst VALID_PRESET_NAME = /^[a-zA-Z0-9_-]+$/\n\n/**\n * Validate all formulas in a unit definitions object\n * @param {object} definitions - The unit definitions to validate\n * @returns {string|null} - Error message if any formula is invalid, null if all valid\n */\nfunction validateDefinitions(definitions) {\n  for (const [siUnit, def] of Object.entries(definitions)) {\n    if (def.conversions) {\n      for (const [targetUnit, conversion] of Object.entries(def.conversions)) {\n        if (conversion.formula) {\n          const error = validateFormula(conversion.formula)\n          if (error) {\n            return `Invalid formula for ${siUnit} -> ${targetUnit}: ${error}`\n          }\n        }\n        if (conversion.inverseFormula) {\n          const error = validateFormula(conversion.inverseFormula)\n          if (error) {\n            return `Invalid inverseFormula for ${siUnit} -> ${targetUnit}: ${error}`\n          }\n        }\n      }\n    }\n  }\n  return null\n}\n\n/**\n * Validate a preset JSON structure thoroughly\n * @param {object} preset - The preset object to validate\n * @param {object} definitions - Unit definitions for validation\n * @returns {string|null} - Error message if invalid, null if valid\n */\nfunction validatePreset(preset, definitions) {\n  const errors = []\n\n  if (!preset || typeof preset !== 'object' || Array.isArray(preset)) {\n    return 'Preset must be a JSON object'\n  }\n  if (!preset.version || typeof preset.version !== 'string') {\n    return 'Missing or invalid \"version\"'\n  }\n  if (!preset.name || typeof preset.name !== 'string') {\n    return 'Missing or invalid \"name\"'\n  }\n  if (\n    !preset.categories ||\n    typeof preset.categories !== 'object' ||\n    Array.isArray(preset.categories)\n  ) {\n    return 'Missing or invalid \"categories\"'\n  }\n  if (Object.keys(preset.categories).length === 0) {\n    return 'categories cannot be empty'\n  }\n\n  for (const [name, cat] of Object.entries(preset.categories)) {\n    if (!cat || typeof cat !== 'object') {\n      errors.push(`\"${name}\": must be an object`)\n      continue\n    }\n    if (!cat.baseUnit) {\n      errors.push(`\"${name}\": missing baseUnit`)\n      continue\n    }\n    if (!cat.targetUnit) {\n      errors.push(`\"${name}\": missing targetUnit`)\n      continue\n    }\n\n    // Skip datetime validation for now - datetime formats are handled differently\n    const datetimeBaseUnits = [\n      'RFC 3339 (UTC)',\n      'ISO-8601 (UTC)',\n      'Epoch Seconds'\n    ]\n    if (datetimeBaseUnits.includes(cat.baseUnit)) {\n      continue\n    }\n\n    const unitDef = definitions[cat.baseUnit]\n    if (!unitDef) {\n      errors.push(`\"${name}\": unknown baseUnit \"${cat.baseUnit}\"`)\n      continue\n    }\n    // targetUnit same as baseUnit means no conversion, which is valid\n    if (cat.targetUnit !== cat.baseUnit) {\n      if (!unitDef.conversions || !unitDef.conversions[cat.targetUnit]) {\n        const available = Object.keys(unitDef.conversions || {}).join(', ')\n        errors.push(\n          `\"${name}\": \"${cat.targetUnit}\" not in ${cat.baseUnit} conversions. Available: ${available}`\n        )\n      }\n    }\n  }\n\n  if (errors.length > 0) {\n    return errors.join('\\n')\n  }\n  return null\n}\n\nconst {\n  getConfig,\n  getCategories,\n  getCustomCategories,\n  getActivePreset,\n  getMergedDefinitions,\n  reloadPreset,\n  reloadCustomDefinitions,\n  reloadCustomCategories,\n  getDefaultCategory,\n  getBaseUnitToCategories,\n  getCategoryForBaseUnit,\n  loadUserPreferences,\n  saveUserPreferences\n} = require('../unitpreferences')\n\nconst PACKAGE_UNITPREFS_DIR = path.join(__dirname, '../../unitpreferences')\n\nmodule.exports = function (app) {\n  const configUnitprefsDir = path.join(app.config.configPath, 'unitpreferences')\n\n  function checkPresetExists(presetName) {\n    const builtInPath = path.join(\n      PACKAGE_UNITPREFS_DIR,\n      'presets',\n      `${presetName}.json`\n    )\n    if (fs.existsSync(builtInPath)) {\n      return { type: 'builtin' }\n    }\n    const customPath = path.join(\n      configUnitprefsDir,\n      'presets/custom',\n      `${presetName}.json`\n    )\n    if (fs.existsSync(customPath)) {\n      return { type: 'custom' }\n    }\n    return null\n  }\n\n  const router = express.Router()\n\n  // GET /signalk/v1/unitpreferences/config\n  router.get('/config', (req, res) => {\n    try {\n      const config = getConfig()\n      res.json(config)\n    } catch (err) {\n      debug('Error getting config:', err)\n      res.status(500).json({ error: 'Failed to get config' })\n    }\n  })\n\n  // PUT /signalk/v1/unitpreferences/config\n  router.put('/config', (req, res) => {\n    try {\n      const configPath = path.join(configUnitprefsDir, 'config.json')\n      atomicWriteFileSync(configPath, JSON.stringify(req.body, null, 2))\n      reloadPreset()\n      app.emit('unitpreferencesChanged', { type: 'global' })\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error saving config:', err)\n      res.status(500).json({ error: 'Failed to save config' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/categories\n  router.get('/categories', (req, res) => {\n    try {\n      const categories = getCategories()\n      res.json(categories)\n    } catch (err) {\n      debug('Error getting categories:', err)\n      res.status(500).json({ error: 'Failed to get categories' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/definitions\n  router.get('/definitions', (req, res) => {\n    try {\n      const definitions = getMergedDefinitions()\n      res.json(definitions)\n    } catch (err) {\n      debug('Error getting definitions:', err)\n      res.status(500).json({ error: 'Failed to get definitions' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/custom-definitions\n  router.get('/custom-definitions', (req, res) => {\n    try {\n      const customPath = path.join(\n        configUnitprefsDir,\n        'custom-units-definitions.json'\n      )\n      if (fs.existsSync(customPath)) {\n        const data = JSON.parse(fs.readFileSync(customPath, 'utf-8'))\n        res.json(data)\n      } else {\n        res.json({})\n      }\n    } catch (err) {\n      debug('Error getting custom definitions:', err)\n      res.status(500).json({ error: 'Failed to get custom definitions' })\n    }\n  })\n\n  // PUT /signalk/v1/unitpreferences/custom-definitions\n  router.put('/custom-definitions', (req, res) => {\n    try {\n      // Validate all formulas before saving\n      const validationError = validateDefinitions(req.body)\n      if (validationError) {\n        res.status(400).json({ error: validationError })\n        return\n      }\n\n      const customPath = path.join(\n        configUnitprefsDir,\n        'custom-units-definitions.json'\n      )\n      atomicWriteFileSync(customPath, JSON.stringify(req.body, null, 2))\n      reloadCustomDefinitions()\n      app.emit('unitpreferencesChanged', { type: 'global' })\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error saving custom definitions:', err)\n      res.status(500).json({ error: 'Failed to save custom definitions' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/custom-categories\n  router.get('/custom-categories', (req, res) => {\n    try {\n      const customCats = getCustomCategories()\n      res.json(customCats)\n    } catch (err) {\n      debug('Error getting custom categories:', err)\n      res.status(500).json({ error: 'Failed to get custom categories' })\n    }\n  })\n\n  // PUT /signalk/v1/unitpreferences/custom-categories\n  router.put('/custom-categories', (req, res) => {\n    try {\n      const customPath = path.join(configUnitprefsDir, 'custom-categories.json')\n      atomicWriteFileSync(customPath, JSON.stringify(req.body, null, 2))\n      reloadCustomCategories()\n      app.emit('unitpreferencesChanged', { type: 'global' })\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error saving custom categories:', err)\n      res.status(500).json({ error: 'Failed to save custom categories' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/presets\n  router.get('/presets', (req, res) => {\n    try {\n      const presetsDir = path.join(PACKAGE_UNITPREFS_DIR, 'presets')\n      const customDir = path.join(configUnitprefsDir, 'presets', 'custom')\n\n      const builtIn = []\n      const custom = []\n\n      // List built-in presets from package dir\n      const builtInFiles = fs.readdirSync(presetsDir)\n      for (const file of builtInFiles) {\n        if (file.endsWith('.json')) {\n          const presetPath = path.join(presetsDir, file)\n          const preset = JSON.parse(fs.readFileSync(presetPath, 'utf-8'))\n          builtIn.push({\n            name: file.replace('.json', ''),\n            displayName: preset.name,\n            description: preset.description\n          })\n        }\n      }\n\n      // List custom presets from config dir\n      if (fs.existsSync(customDir)) {\n        const customFiles = fs.readdirSync(customDir)\n        for (const file of customFiles) {\n          if (file.endsWith('.json')) {\n            const presetPath = path.join(customDir, file)\n            const preset = JSON.parse(fs.readFileSync(presetPath, 'utf-8'))\n            custom.push({\n              name: file.replace('.json', ''),\n              displayName: preset.name,\n              description: preset.description\n            })\n          }\n        }\n      }\n\n      res.json({ builtIn, custom })\n    } catch (err) {\n      debug('Error listing presets:', err)\n      res.status(500).json({ error: 'Failed to list presets' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/presets/:name\n  router.get('/presets/:name', (req, res) => {\n    try {\n      const presetName = req.params.name\n\n      if (!VALID_PRESET_NAME.test(presetName)) {\n        res.status(400).json({ error: 'Invalid preset name' })\n        return\n      }\n\n      // Check custom presets in config dir first\n      const customPath = path.join(\n        configUnitprefsDir,\n        'presets/custom',\n        `${presetName}.json`\n      )\n      if (fs.existsSync(customPath)) {\n        const preset = JSON.parse(fs.readFileSync(customPath, 'utf-8'))\n        res.json(preset)\n        return\n      }\n\n      // Fall back to built-in in package dir\n      const builtInPath = path.join(\n        PACKAGE_UNITPREFS_DIR,\n        'presets',\n        `${presetName}.json`\n      )\n      if (fs.existsSync(builtInPath)) {\n        const preset = JSON.parse(fs.readFileSync(builtInPath, 'utf-8'))\n        res.json(preset)\n        return\n      }\n\n      res.status(404).json({ error: 'Preset not found' })\n    } catch (err) {\n      debug('Error getting preset:', err)\n      res.status(500).json({ error: 'Failed to get preset' })\n    }\n  })\n\n  // PUT /signalk/v1/unitpreferences/presets/custom/:name\n  router.put('/presets/custom/:name', (req, res) => {\n    try {\n      const presetName = req.params.name\n\n      if (!VALID_PRESET_NAME.test(presetName)) {\n        res.status(400).json({ error: 'Invalid preset name' })\n        return\n      }\n\n      // Prevent overwriting built-in presets\n      const builtInNames = ['metric', 'imperial-us', 'imperial-uk']\n      if (builtInNames.includes(presetName)) {\n        res.status(400).json({ error: 'Cannot overwrite built-in preset' })\n        return\n      }\n\n      // Validate preset structure\n      const definitions = getMergedDefinitions()\n      const validationError = validatePreset(req.body, definitions)\n      if (validationError) {\n        res.status(400).json({ error: validationError })\n        return\n      }\n\n      const customDir = path.join(configUnitprefsDir, 'presets/custom')\n      if (!fs.existsSync(customDir)) {\n        fs.mkdirSync(customDir, { recursive: true })\n      }\n\n      const presetPath = path.join(customDir, `${presetName}.json`)\n      atomicWriteFileSync(presetPath, JSON.stringify(req.body, null, 2))\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error saving custom preset:', err)\n      res.status(500).json({ error: 'Failed to save custom preset' })\n    }\n  })\n\n  // DELETE /signalk/v1/unitpreferences/presets/custom/:name\n  router.delete('/presets/custom/:name', (req, res) => {\n    try {\n      const presetName = req.params.name\n\n      if (!VALID_PRESET_NAME.test(presetName)) {\n        res.status(400).json({ error: 'Invalid preset name' })\n        return\n      }\n\n      const presetPath = path.join(\n        configUnitprefsDir,\n        'presets/custom',\n        `${presetName}.json`\n      )\n\n      if (!fs.existsSync(presetPath)) {\n        res.status(404).json({ error: 'Preset not found' })\n        return\n      }\n\n      fs.unlinkSync(presetPath)\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error deleting preset:', err)\n      res.status(500).json({ error: 'Failed to delete preset' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/active\n  router.get('/active', (req, res) => {\n    try {\n      const preset = getActivePreset()\n      const definitions = getMergedDefinitions()\n      const result = {\n        ...preset,\n        categories: { ...preset.categories }\n      }\n      for (const [category, catDef] of Object.entries(result.categories)) {\n        const unitDef = definitions[catDef.baseUnit]\n        const conversion = unitDef?.conversions?.[catDef.targetUnit]\n        if (conversion) {\n          result.categories[category] = {\n            ...catDef,\n            formula: conversion.formula,\n            inverseFormula: conversion.inverseFormula,\n            symbol: conversion.symbol\n          }\n        }\n      }\n      res.json(result)\n    } catch (err) {\n      debug('Error getting active preset:', err)\n      res.status(500).json({ error: 'Failed to get active preset' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/default-categories\n  router.get('/default-categories', (req, res) => {\n    try {\n      const defaultCatPath = path.join(\n        PACKAGE_UNITPREFS_DIR,\n        'default-categories.json'\n      )\n      if (fs.existsSync(defaultCatPath)) {\n        const data = JSON.parse(fs.readFileSync(defaultCatPath, 'utf-8'))\n        res.json(data)\n      } else {\n        res.json({ categories: {} })\n      }\n    } catch (err) {\n      debug('Error getting default categories:', err)\n      res.status(500).json({ error: 'Failed to get default categories' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/default-category/:path\n  router.get('/default-category/*', (req, res) => {\n    try {\n      const signalkPath = req.params[0]\n      const category = getDefaultCategory(signalkPath)\n      res.json({ path: signalkPath, category: category || null })\n    } catch (err) {\n      debug('Error getting default category:', err)\n      res.status(500).json({ error: 'Failed to get default category' })\n    }\n  })\n\n  // POST /signalk/v1/unitpreferences/presets/custom/upload\n  const MAX_PRESET_SIZE = 100 * 1024 // 100KB\n\n  router.post('/presets/custom/upload', (req, res) => {\n    let responseSent = false\n\n    const sendResponse = (status, body) => {\n      if (responseSent) return\n      responseSent = true\n      res.status(status).json(body)\n    }\n\n    try {\n      const bb = busboy({\n        headers: req.headers,\n        limits: { fileSize: MAX_PRESET_SIZE }\n      })\n      let fileData = ''\n      let fileName = ''\n      let fileTruncated = false\n\n      bb.on('file', (fieldname, file, info) => {\n        fileName = info.filename || ''\n\n        if (!fileName.endsWith('.json')) {\n          sendResponse(400, { error: 'File must have .json extension' })\n          file.resume()\n          return\n        }\n\n        file.on('data', (data) => {\n          fileData += data.toString()\n        })\n\n        file.on('limit', () => {\n          fileTruncated = true\n        })\n      })\n\n      bb.on('finish', () => {\n        if (responseSent) return\n\n        if (fileTruncated) {\n          sendResponse(400, {\n            error: `File too large. Maximum size is ${MAX_PRESET_SIZE / 1024}KB`\n          })\n          return\n        }\n\n        if (!fileData) {\n          sendResponse(400, { error: 'No file uploaded' })\n          return\n        }\n\n        // Parse JSON\n        let preset\n        try {\n          preset = JSON.parse(fileData)\n        } catch (e) {\n          sendResponse(400, { error: `Invalid JSON: ${e.message}` })\n          return\n        }\n\n        // Validate preset structure\n        const definitions = getMergedDefinitions()\n        const validationError = validatePreset(preset, definitions)\n        if (validationError) {\n          sendResponse(400, { error: validationError })\n          return\n        }\n\n        // Derive preset name from filename or preset.name\n        let presetName = fileName.replace('.json', '')\n        if (!/^[a-zA-Z0-9_-]+$/.test(presetName)) {\n          // Fall back to sanitized preset.name\n          presetName = preset.name.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase()\n        }\n\n        // Check for existing preset with same name\n        const existing = checkPresetExists(presetName)\n        if (existing) {\n          if (existing.type === 'builtin') {\n            sendResponse(400, {\n              error: `Cannot overwrite built-in preset \"${presetName}\"`\n            })\n            return\n          } else {\n            sendResponse(409, {\n              error: `duplicate`,\n              existingName: presetName\n            })\n            return\n          }\n        }\n\n        // Ensure custom directory exists\n        const customDir = path.join(configUnitprefsDir, 'presets/custom')\n        if (!fs.existsSync(customDir)) {\n          fs.mkdirSync(customDir, { recursive: true })\n        }\n\n        // Save the preset\n        const presetPath = path.join(customDir, `${presetName}.json`)\n        atomicWriteFileSync(presetPath, JSON.stringify(preset, null, 2))\n\n        debug(`Custom preset uploaded: ${presetName}`)\n        sendResponse(200, {\n          success: true,\n          name: presetName,\n          displayName: preset.name,\n          isCustom: true\n        })\n      })\n\n      bb.on('error', (err) => {\n        debug('Error uploading preset:', err)\n        sendResponse(500, { error: 'Upload failed' })\n      })\n\n      req.pipe(bb)\n    } catch (err) {\n      debug('Error in preset upload:', err)\n      sendResponse(500, { error: 'Failed to upload preset' })\n    }\n  })\n\n  // GET /signalk/v1/unitpreferences/primary-categories\n  router.get('/primary-categories', (req, res) => {\n    try {\n      const baseUnitMap = getBaseUnitToCategories()\n      const username = req.skPrincipal?.identifier\n\n      const ambiguousUnits = {}\n      for (const [baseUnit, cats] of Object.entries(baseUnitMap)) {\n        if (cats.length > 1) {\n          ambiguousUnits[baseUnit] = cats\n        }\n      }\n\n      const effectivePrimary = {}\n      for (const baseUnit of Object.keys(ambiguousUnits)) {\n        effectivePrimary[baseUnit] = getCategoryForBaseUnit(baseUnit, username)\n      }\n\n      res.json({ ambiguousUnits, effectivePrimary })\n    } catch (err) {\n      debug('Error getting primary categories:', err)\n      res.status(500).json({ error: 'Failed to get primary categories' })\n    }\n  })\n\n  // PUT /signalk/v1/unitpreferences/primary-categories\n  router.put('/primary-categories', (req, res) => {\n    try {\n      const username = req.skPrincipal?.identifier\n      if (!username) {\n        res.status(401).json({ error: 'Authentication required' })\n        return\n      }\n\n      if (\n        !req.body ||\n        typeof req.body !== 'object' ||\n        Array.isArray(req.body)\n      ) {\n        res.status(400).json({ error: 'Request body must be a JSON object' })\n        return\n      }\n\n      const UNSAFE_KEYS = new Set(['__proto__', 'constructor', 'prototype'])\n      const baseUnitMap = getBaseUnitToCategories()\n      const validated = {}\n      for (const [baseUnit, category] of Object.entries(req.body)) {\n        if (UNSAFE_KEYS.has(baseUnit)) {\n          res.status(400).json({ error: `Invalid key: ${baseUnit}` })\n          return\n        }\n        if (typeof category !== 'string') {\n          res\n            .status(400)\n            .json({ error: `Value for \"${baseUnit}\" must be a string` })\n          return\n        }\n        if (!baseUnitMap[baseUnit]) {\n          res.status(400).json({ error: `Unknown base unit: ${baseUnit}` })\n          return\n        }\n        if (!baseUnitMap[baseUnit].includes(category)) {\n          res.status(400).json({\n            error: `Category \"${category}\" does not use base unit \"${baseUnit}\"`\n          })\n          return\n        }\n        validated[baseUnit] = category\n      }\n\n      const userPrefs = loadUserPreferences(username) || {}\n      userPrefs.primaryCategories = {\n        ...userPrefs.primaryCategories,\n        ...validated\n      }\n      saveUserPreferences(username, userPrefs)\n\n      app.emit('unitpreferencesChanged', { username })\n      res.json({ success: true })\n    } catch (err) {\n      debug('Error saving primary categories:', err)\n      res.status(500).json({ error: 'Failed to save primary categories' })\n    }\n  })\n\n  return {\n    start: function () {\n      if (!app.securityStrategy.isDummy()) {\n        app.securityStrategy.addAdminWriteMiddleware(\n          '/signalk/v1/unitpreferences/config'\n        )\n        app.securityStrategy.addAdminWriteMiddleware(\n          '/signalk/v1/unitpreferences/custom-definitions'\n        )\n        app.securityStrategy.addAdminWriteMiddleware(\n          '/signalk/v1/unitpreferences/custom-categories'\n        )\n        app.securityStrategy.addAdminWriteMiddleware(\n          '/signalk/v1/unitpreferences/presets/custom/upload'\n        )\n        app.securityStrategy.addWriteMiddleware(\n          '/signalk/v1/unitpreferences/primary-categories'\n        )\n        // addAdminMiddleware protects all methods (including DELETE)\n        app.securityStrategy.addAdminMiddleware(\n          '/signalk/v1/unitpreferences/presets/custom/:name'\n        )\n      }\n      app.use('/signalk/v1/unitpreferences', router)\n      debug('Unit preferences API mounted at /signalk/v1/unitpreferences')\n    }\n  }\n}\n"
  },
  {
    "path": "src/interfaces/wasm.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Interface\n *\n * Manages the WASM runtime as a Signal K interface.\n * Can be enabled/disabled via settings.interfaces.wasm\n */\n\nimport Debug from 'debug'\nimport { initializeWasm, shutdownAllWasmPlugins } from '../wasm'\n\nconst debug = Debug('signalk:interfaces:wasm')\n\nmodule.exports = (app: any) => {\n  const api: any = {}\n\n  api.start = () => {\n    debug('Starting WASM interface')\n    try {\n      const { wasmRuntime, wasmSubscriptionManager } = initializeWasm()\n      app.wasmRuntime = wasmRuntime\n      app.wasmSubscriptionManager = wasmSubscriptionManager\n      debug('WASM runtime initialized successfully')\n      return { enabled: true }\n    } catch (error) {\n      debug('WASM runtime initialization failed:', error)\n      return { enabled: false, error }\n    }\n  }\n\n  api.stop = () => {\n    debug('Stopping WASM interface')\n    try {\n      shutdownAllWasmPlugins()\n    } catch (error) {\n      debug('WASM shutdown error:', error)\n    }\n  }\n\n  return api\n}\n"
  },
  {
    "path": "src/interfaces/webapps.js",
    "content": "/*\n * Copyright 2017 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { createDebug } from '../debug'\nconst debug = createDebug('signalk-server:interfaces:webapps')\nconst fs = require('fs')\nconst path = require('path')\nconst express = require('express')\nconst modulesWithKeyword = require('../modules').modulesWithKeyword\nimport { SERVERROUTESPREFIX } from '../constants'\nimport { uniqBy } from 'lodash'\n\nmodule.exports = function (app) {\n  return {\n    start: function () {\n      // Preserve any existing webapps (e.g., from WASM plugins loaded earlier)\n      const existingWebapps = app.webapps || []\n      const nodeWebapps = mountWebModules(app, 'signalk-webapp').map(\n        (moduleData) => moduleData.metadata\n      )\n      // Merge Node.js webapps with existing WASM webapps, avoiding duplicates\n      app.webapps = uniqBy([...nodeWebapps, ...existingWebapps], 'name')\n      app.addons = mountWebModules(app, 'signalk-node-server-addon').map(\n        (moduleData) => moduleData.metadata\n      )\n      const existingEmbeddableWebapps = app.embeddablewebapps || []\n      const nodeEmbeddableWebapps = mountWebModules(\n        app,\n        'signalk-embeddable-webapp'\n      ).map((moduleData) => moduleData.metadata)\n      app.embeddablewebapps = uniqBy(\n        [...nodeEmbeddableWebapps, ...existingEmbeddableWebapps],\n        'name'\n      )\n      app.pluginconfigurators = mountWebModules(\n        app,\n        'signalk-plugin-configurator'\n      ).map((moduleData) => moduleData.metadata)\n      mountApis(app)\n    },\n\n    stop: function () {}\n  }\n}\n\nfunction mountWebModules(app, keyword) {\n  debug(`mountWebModules:${keyword}`)\n  const modules = modulesWithKeyword(app.config, keyword)\n  modules.forEach((moduleData) => {\n    let webappPath = path.join(moduleData.location, moduleData.module)\n    if (fs.existsSync(webappPath + '/public/')) {\n      webappPath += '/public/'\n    }\n    debug('Mounting web module /' + moduleData.module + ':' + webappPath)\n    app.use('/' + moduleData.module, express.static(webappPath))\n  })\n  return modules\n}\n\nfunction mountApis(app) {\n  app.get(`${SERVERROUTESPREFIX}/webapps`, function (req, res) {\n    const allWebapps = [].concat(app.webapps).concat(app.embeddablewebapps)\n    res.json(uniqBy(allWebapps, 'name'))\n  })\n  app.get(`${SERVERROUTESPREFIX}/addons`, function (req, res) {\n    res.json(app.addons)\n  })\n}\n"
  },
  {
    "path": "src/interfaces/ws.ts",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport cookie from 'cookie'\nimport { Server } from 'http'\nimport { Socket } from 'net'\nimport Primus from 'primus'\nimport WebSocket from 'ws'\nimport { getSourceId, getMetadata } from '@signalk/signalk-schema'\nimport {\n  requestAccess,\n  InvalidTokenError,\n  WithSecurityStrategy\n} from '../security'\nimport {\n  LoginRateLimiter,\n  LOGIN_RATE_LIMIT_MESSAGE\n} from '../login-rate-limiter'\nimport { WithConfig } from '../app'\nimport {\n  findRequest,\n  updateRequest,\n  queryRequest,\n  Reply,\n  RequestState,\n  UpdateOptions\n} from '../requestResponse'\nimport { putPath, deletePath } from '../put'\nimport { createDebug } from '../debug'\nimport { JsonWebTokenError, TokenExpiredError } from 'jsonwebtoken'\nimport { startEvents, startServerEvents } from '../events'\nimport {\n  BackpressureManager,\n  parseBackpressureThresholds\n} from '../BackpressureManager'\nimport { getExternalPort } from '../ports'\nimport {\n  resolveDisplayUnits,\n  getDefaultCategory,\n  DisplayUnitsMetadata\n} from '../unitpreferences'\nimport { Delta, hasValues } from '@signalk/server-api'\n\nconst debug = createDebug('signalk-server:interfaces:ws')\nconst debugConnection = createDebug('signalk-server:interfaces:ws:connections')\n\ninterface SkPrincipal {\n  identifier: string\n}\n\ninterface SignalKSparkRequest {\n  skPrincipal?: SkPrincipal\n  token?: string\n  source?: string\n  cookies?: Record<string, string>\n  headers: Record<string, string | string[] | undefined>\n  query?: Record<string, string>\n  socket: Socket\n  connection: { remoteAddress: string }\n  /** Resolved client IP, accounting for trustProxy / X-Forwarded-For */\n  _resolvedIp: string\n}\n\ninterface Spark {\n  id: string\n  query: {\n    subscribe?: string\n    sendMeta?: string\n    startTime?: string\n    playbackRate?: number\n    serverevents?: string\n    events?: string\n    sendCachedValues?: string\n  }\n  request: SignalKSparkRequest\n  sendMetaDeltas: boolean\n  sentMetaData: Record<string, boolean>\n  backpressureManager?: BackpressureManager\n  skPendingAccessRequest?: boolean\n  logUnsubscribe?: () => void\n  onDisconnects: Array<() => void>\n  hasServerEvents?: boolean\n  isHistory?: boolean\n  wsAlive?: boolean\n  socket: WebSocket\n  write: (data: unknown) => void\n  end: (message?: unknown, options?: { reconnect?: boolean }) => void\n  on: (event: string, handler: (data: unknown) => void) => void\n  removeListener: (event: string, handler: (data: unknown) => void) => void\n}\n\ninterface WsMessage {\n  updates?: Delta['updates']\n  subscribe?: Array<{ path: string }> | string\n  unsubscribe?: Array<{ path: string }>\n  accessRequest?: unknown\n  login?: { username: string; password: string }\n  put?: { path: string; value: unknown; source?: string }\n  delete?: { path: string }\n  requestId?: string\n  query?: boolean\n  context?: string\n  state?: string\n  statusCode?: number\n  message?: string\n}\n\ninterface WsRequestReply extends UpdateOptions {\n  requestId: string\n  state: RequestState | null\n}\n\nfunction isWsRequestReply(msg: unknown): msg is WsRequestReply {\n  if (!msg || typeof msg !== 'object') {\n    return false\n  }\n\n  const candidate = msg as Record<string, unknown>\n  const state = candidate.state\n\n  return (\n    typeof candidate.requestId === 'string' &&\n    (state === 'PENDING' || state === 'COMPLETED' || state === null)\n  )\n}\n\nfunction normalizeStatusCode(statusCode: unknown): number | null {\n  return typeof statusCode === 'number' && Number.isFinite(statusCode)\n    ? statusCode\n    : null\n}\n\nfunction normalizeMessage(message: unknown): string | null {\n  return typeof message === 'string' ? message : null\n}\n\nfunction normalizePercentComplete(percentComplete: unknown): number | null {\n  return typeof percentComplete === 'number' &&\n    Number.isFinite(percentComplete) &&\n    percentComplete >= 0 &&\n    percentComplete <= 100\n    ? percentComplete\n    : null\n}\n\ninterface PathSources {\n  [path: string]: {\n    [source: string]: Spark\n  }\n}\n\ninterface SecurityStrategy {\n  canAuthorizeWS: () => boolean\n  authorizeWS: (req: Spark['request']) => void\n  verifyWS: (req: Spark['request']) => void\n  filterReadDelta: (\n    principal: SkPrincipal | undefined,\n    delta: Delta\n  ) => Delta | null\n  shouldAllowWrite: (req: Spark['request'], msg: WsMessage) => boolean\n  supportsLogin: () => boolean\n  login: (\n    username: string,\n    password: string\n  ) => Promise<{\n    token?: string\n    statusCode: number\n    timeToLive?: number | null\n  }>\n  isDummy: () => boolean\n  loginRateLimiter?: LoginRateLimiter\n}\n\ninterface SubscriptionManager {\n  subscribe: (\n    msg: WsMessage,\n    unsubscribes: Array<() => void>,\n    write: (data: unknown) => void,\n    onChange: (delta: Delta) => void,\n    principal?: SkPrincipal\n  ) => void\n  unsubscribe: (msg: WsMessage, unsubscribes: Array<() => void>) => void\n}\n\ninterface HistoryProvider {\n  hasAnyData: (\n    options: HistoryOptions,\n    callback: (hasResults: boolean) => void\n  ) => void\n  streamHistory: (\n    spark: Spark,\n    options: HistoryOptions,\n    onChange: (delta: Delta) => void\n  ) => () => void\n}\n\ninterface HistoryOptions {\n  startTime: Date\n  playbackRate: number\n  subscribe?: string\n}\n\ninterface WithContext {\n  context: string\n}\n\ninterface DeltaCache {\n  getCachedDeltas: (\n    filter: (delta: WithContext) => boolean,\n    principal?: SkPrincipal\n  ) => Delta[]\n}\n\ninterface WsAppConfig {\n  settings: {\n    ssl?: boolean\n    wsCompression?: boolean\n    wsPingInterval?: number | false\n    trustProxy?: boolean | string\n  }\n  isExternalSsl: () => boolean\n  maxSendBufferSize?: number\n  maxSendBufferCheckTime?: number\n}\n\ninterface WsApp {\n  server: unknown\n  config: WsAppConfig\n  selfContext: string\n  selfId: string\n  securityStrategy: SecurityStrategy\n  subscriptionmanager: SubscriptionManager\n  historyProvider?: HistoryProvider\n  deltaCache: DeltaCache\n  streambundle: {\n    getAvailablePaths: () => string[]\n  }\n  signalk: {\n    on: (event: string, handler: (delta: Delta) => void) => void\n    removeListener: (event: string, handler: (delta: Delta) => void) => void\n  }\n  logging: {\n    getLog: () => unknown[]\n  }\n  on: (event: string, handler: (data: unknown) => void) => void\n  removeListener: (event: string, handler: (data: unknown) => void) => void\n  handleMessage: (source: string, msg: WsMessage) => void\n  setProviderError: (provider: string, message: string) => void\n  getHello: () => Record<string, unknown>\n}\n\ninterface WsApi {\n  mdns: {\n    name: string\n    type: string\n    port: number\n  }\n  numClients: () => number\n  canHandlePut: (path: string, source: string | undefined) => boolean\n  handlePut: (\n    requestId: string,\n    context: string,\n    path: string,\n    source: string | undefined,\n    value: unknown\n  ) => Promise<Reply>\n  start: () => void\n  stop: () => void\n}\n\nconst DEFAULT_MAX_WS_CONNECTIONS_PER_IP = 30\n\nfunction wsInterface(app: WsApp): WsApi {\n  const maxWsConnectionsPerIp = parseInt(\n    process.env.MAX_WS_CONNECTIONS_PER_IP ??\n      String(DEFAULT_MAX_WS_CONNECTIONS_PER_IP),\n    10\n  )\n\n  const backpressureThresholds = parseBackpressureThresholds({\n    maxSendBufferSize: app.config.maxSendBufferSize,\n    maxSendBufferCheckTime: app.config.maxSendBufferCheckTime\n  })\n  debug(\n    'Backpressure thresholds: enter=%d, exit=%d, max=%d, maxTime=%d',\n    backpressureThresholds.enterThreshold,\n    backpressureThresholds.exitThreshold,\n    backpressureThresholds.maxBufferSize,\n    backpressureThresholds.maxBufferCheckTime\n  )\n\n  let primuses: Primus[] = []\n  const pathSources: PathSources = {}\n  const ipConnectionCounts = new Map<string, number>()\n\n  const api: WsApi = {\n    mdns: {\n      name:\n        app.config.settings.ssl || app.config.isExternalSsl()\n          ? '_signalk-wss'\n          : '_signalk-ws',\n      type: 'tcp',\n      port: getExternalPort(\n        app as unknown as Parameters<typeof getExternalPort>[0]\n      )\n    },\n\n    numClients: function () {\n      let count = 0\n      primuses.forEach((primus) =>\n        primus.forEach(() => {\n          count++\n          return true\n        })\n      )\n      return count\n    },\n\n    canHandlePut: function (path: string, source: string | undefined) {\n      const sources = pathSources[path]\n      return sources !== undefined && (!source || sources[source] !== undefined)\n    },\n\n    handlePut: function (\n      requestId: string,\n      context: string,\n      path: string,\n      source: string | undefined,\n      value: unknown\n    ): Promise<Reply> {\n      return new Promise((resolve, reject) => {\n        const sources = pathSources[path]\n        if (sources) {\n          let spark: Spark | undefined\n          if (source) {\n            spark = sources[source]\n          } else if (Object.keys(sources).length === 1) {\n            spark = Object.values(sources)[0]\n          } else {\n            updateRequest(requestId, 'COMPLETED', {\n              statusCode: 400,\n              message:\n                'there are multiple sources for the given path, but no source was specified in the request'\n            })\n              .then(resolve)\n              .catch(reject)\n            return\n          }\n\n          if (!spark) {\n            reject(new Error('no spark found'))\n            return\n          }\n\n          const listener = (msg: unknown) => {\n            let parsedMsg = msg\n            if (typeof parsedMsg === 'string' || Buffer.isBuffer(parsedMsg)) {\n              try {\n                parsedMsg = JSON.parse(String(parsedMsg))\n              } catch (_err) {\n                return\n              }\n            }\n\n            if (\n              isWsRequestReply(parsedMsg) &&\n              parsedMsg.requestId === requestId\n            ) {\n              const updateOptions: UpdateOptions = {\n                statusCode: normalizeStatusCode(parsedMsg.statusCode),\n                data: parsedMsg.data ?? null,\n                message: normalizeMessage(parsedMsg.message),\n                percentComplete: normalizePercentComplete(\n                  parsedMsg.percentComplete\n                )\n              }\n\n              updateRequest(requestId, parsedMsg.state, updateOptions)\n                .then((reply) => {\n                  if (reply.state !== 'PENDING') {\n                    spark!.removeListener(\n                      'data',\n                      listener as (data: unknown) => void\n                    )\n                  }\n                })\n                .catch(() => {\n                  console.error(`could not update requestId ${requestId}`)\n                })\n            }\n          }\n          spark.on('data', listener as (data: unknown) => void)\n          setTimeout(() => {\n            const request = findRequest((r) => r.requestId === requestId)\n            if (request && request.state === 'PENDING') {\n              spark!.removeListener('data', listener as (data: unknown) => void)\n              updateRequest(requestId, 'COMPLETED', { statusCode: 504 })\n            }\n          }, 60 * 1000)\n\n          spark.write({\n            requestId: requestId,\n            context: context,\n            put: [{ path: path, value: value }]\n          })\n\n          updateRequest(requestId, 'PENDING', { statusCode: 202 })\n            .then(resolve)\n            .catch(reject)\n        } else {\n          reject(new Error('no source found'))\n        }\n      })\n    },\n\n    start: function () {\n      debug('Starting Primus/WS interface')\n\n      const wsPingInterval = app.config.settings.wsPingInterval ?? 30000\n\n      let baseOptions: Record<string, unknown> = {\n        transformer: 'websockets',\n        pingInterval: false\n      }\n      if (app.config.settings.wsCompression) {\n        baseOptions = {\n          ...baseOptions,\n          compression: true,\n          transport: {\n            perMessageDeflate: { threshold: 0 }\n          }\n        }\n      }\n\n      const allWsOptions = [\n        {\n          ...baseOptions,\n          pathname: '/signalk/v1/stream',\n          isPlayback: false\n        },\n        {\n          ...baseOptions,\n          pathname: '/signalk/v1/playback',\n          isPlayback: true\n        }\n      ]\n\n      primuses = allWsOptions.map((primusOptions) => {\n        const primus = new Primus(app.server as Server, primusOptions)\n\n        if (wsPingInterval) {\n          const interval = setInterval(() => {\n            primus.forEach((primusSpark: unknown) => {\n              const spark = primusSpark as Spark\n              if (spark.wsAlive === false) {\n                debug('heartbeat timeout for spark %s, closing', spark.id)\n                return spark.end(undefined, { reconnect: true })\n              }\n              spark.wsAlive = false\n              if (spark.socket && spark.socket.readyState === WebSocket.OPEN) {\n                spark.socket.ping()\n              }\n            })\n          }, wsPingInterval)\n          primus.once('close', () => clearInterval(interval))\n        }\n\n        primus.authorize(\n          createPrimusAuthorize(\n            app.securityStrategy.canAuthorizeWS()\n              ? app.securityStrategy.authorizeWS\n              : undefined,\n            ipConnectionCounts,\n            maxWsConnectionsPerIp,\n            app.config.settings.trustProxy\n          )\n        )\n\n        primus.on('connection', function (primusSpark: unknown) {\n          const spark = primusSpark as Spark\n          let principalId: string | undefined\n          if (spark.request.skPrincipal) {\n            principalId = spark.request.skPrincipal.identifier\n          }\n\n          debugConnection(\n            `${spark.id} connected ${JSON.stringify(spark.query)} ${spark.request._resolvedIp}:${principalId} (ip connections: ${ipConnectionCounts.get(spark.request._resolvedIp) ?? '?'})`\n          )\n\n          spark.sendMetaDeltas = spark.query.sendMeta === 'all'\n          spark.sentMetaData = {}\n\n          spark.backpressureManager = new BackpressureManager(\n            {\n              get id() {\n                return spark.id\n              },\n              getBufferLength() {\n                return spark.request.socket.writableLength\n              },\n              write(delta) {\n                spark.write(delta)\n              },\n              destroy() {\n                spark.end({\n                  errorMessage:\n                    'Server outgoing buffer overflow, terminating connection'\n                })\n              }\n            },\n            {\n              ...backpressureThresholds,\n              beforeWrite: (delta) => sendMetaData(app, spark, delta)\n            }\n          )\n\n          spark.request.socket.on('drain', () => {\n            spark.backpressureManager!.onDrain()\n          })\n\n          if (wsPingInterval) {\n            spark.wsAlive = true\n            spark.socket.on('pong', () => {\n              spark.wsAlive = true\n            })\n          }\n\n          let onChange = (delta: Delta) => {\n            const filtered = app.securityStrategy.filterReadDelta(\n              spark.request.skPrincipal,\n              delta\n            )\n            if (filtered === null) return\n            spark.backpressureManager!.send(filtered)\n          }\n\n          const unsubscribes: Array<() => void> = []\n\n          if (primusOptions.isPlayback) {\n            spark.on('data', () => {\n              console.error('Playback does not support ws upstream messages')\n              spark.end('Playback does not support ws upstream messages')\n            })\n          } else {\n            spark.on('data', function (msg: unknown) {\n              let parsedMsg: WsMessage\n              try {\n                parsedMsg = JSON.parse(String(msg))\n              } catch (e) {\n                debug('Failed to parse message: ' + (e as Error).message)\n                return\n              }\n              // Guard to avoid JSON.stringify on every inbound message\n              // when the debug namespace is disabled — the argument to\n              // debug() would otherwise be eagerly evaluated for each\n              // message. Pattern mirrors tcp.ts:169/181.\n              debug.enabled && debug('<' + JSON.stringify(parsedMsg))\n\n              try {\n                if (parsedMsg.updates) {\n                  processUpdates(app, pathSources, spark, parsedMsg)\n                }\n\n                if (parsedMsg.subscribe) {\n                  processSubscribe(app, unsubscribes, spark, parsedMsg)\n                }\n\n                if (parsedMsg.unsubscribe) {\n                  processUnsubscribe(\n                    app,\n                    unsubscribes,\n                    parsedMsg,\n                    onChange,\n                    spark\n                  )\n                }\n\n                if (parsedMsg.accessRequest) {\n                  processAccessRequest(app, spark, parsedMsg)\n                }\n\n                if (parsedMsg.login && app.securityStrategy.supportsLogin()) {\n                  processLoginRequest(app, spark, parsedMsg)\n                }\n\n                if (parsedMsg.put) {\n                  processPutRequest(app, spark, parsedMsg)\n                }\n\n                if (parsedMsg.delete) {\n                  processDeleteRequest(app, spark, parsedMsg)\n                }\n\n                if (parsedMsg.requestId && parsedMsg.query) {\n                  processRequestQuery(spark, parsedMsg)\n                }\n              } catch (e) {\n                console.error(e)\n              }\n            })\n          }\n\n          spark.on('end', function () {\n            debugConnection(\n              `${spark.id} end ${JSON.stringify(spark.query)} ${spark.request._resolvedIp}:${principalId}`\n            )\n\n            unsubscribes.forEach((unsubscribe) => unsubscribe())\n\n            Object.keys(pathSources).forEach((path) => {\n              Object.keys(pathSources[path]).forEach((source) => {\n                if (pathSources[path][source] === spark) {\n                  debug('removing source for %s', path)\n                  delete pathSources[path][source]\n                }\n              })\n            })\n          })\n\n          if (isSelfSubscription(spark.query)) {\n            const realOnChange = onChange\n            onChange = function (msg: Delta) {\n              if (!msg.context || msg.context === app.selfContext) {\n                realOnChange(msg)\n              }\n            }\n          }\n\n          if (spark.query.subscribe === 'none') {\n            onChange = () => undefined\n          }\n\n          onChange = wrapWithVerifyWS(app.securityStrategy, spark, onChange)\n\n          const sparkIp = spark.request._resolvedIp\n\n          spark.onDisconnects = [\n            () => spark.backpressureManager?.clear(),\n            () => {\n              const count = ipConnectionCounts.get(sparkIp)\n              if (count !== undefined && count > 1) {\n                ipConnectionCounts.set(sparkIp, count - 1)\n              } else {\n                ipConnectionCounts.delete(sparkIp)\n              }\n            }\n          ]\n\n          if (primusOptions.isPlayback) {\n            if (!spark.query.startTime) {\n              spark.end(\n                'startTime is a required query parameter for playback connections'\n              )\n            } else {\n              handlePlaybackConnection(app, spark, onChange)\n            }\n          } else {\n            handleRealtimeConnection(app, spark, onChange)\n          }\n        })\n\n        primus.on('disconnection', function (primusSpark: unknown) {\n          const spark = primusSpark as Spark\n          spark.onDisconnects.forEach((f) => f())\n          debug(spark.id + ' disconnected')\n        })\n\n        return primus\n      })\n    },\n\n    stop: function () {\n      debug('Destroying primuses...')\n      primuses.forEach((primus) =>\n        primus.destroy({ close: false, timeout: 500, reconnect: false }, () => {\n          /* noop */\n        })\n      )\n    }\n  }\n\n  function processRequestQuery(spark: Spark, msg: WsMessage): void {\n    queryRequest(msg.requestId!)\n      .then((reply) => {\n        spark.write(reply)\n      })\n      .catch(() => {\n        spark.write({\n          requestId: msg.requestId,\n          statusCode: 404\n        })\n      })\n  }\n\n  function processPutRequest(app: WsApp, spark: Spark, msg: WsMessage): void {\n    putPath(\n      app as unknown as Parameters<typeof putPath>[0],\n      msg.context || null,\n      msg.put!.path,\n      msg.put!,\n      spark.request as unknown as Parameters<typeof putPath>[4],\n      msg.requestId || null,\n      (reply) => {\n        debug('sending put update %j', reply)\n        spark.write(reply)\n      }\n    ).catch((err) => {\n      console.error(err)\n      spark.write({\n        requestId: msg.requestId,\n        state: 'COMPLETED',\n        statusCode: 502,\n        message: err.message\n      })\n    })\n  }\n\n  function processDeleteRequest(\n    app: WsApp,\n    spark: Spark,\n    msg: WsMessage\n  ): void {\n    deletePath(\n      app as unknown as Parameters<typeof deletePath>[0],\n      msg.context || null,\n      msg.delete!.path,\n      spark.request as unknown as Parameters<typeof deletePath>[3],\n      msg.requestId || null,\n      (reply) => {\n        debug('sending delete update %j', reply)\n        spark.write(reply)\n      }\n    ).catch((err) => {\n      console.error(err)\n      spark.write({\n        requestId: msg.requestId,\n        state: 'COMPLETED',\n        statusCode: 502,\n        message: err.message\n      })\n    })\n  }\n\n  function processAccessRequest(\n    app: WsApp,\n    spark: Spark,\n    msg: WsMessage\n  ): void {\n    if (spark.skPendingAccessRequest) {\n      spark.write({\n        requestId: msg.requestId,\n        state: 'COMPLETED',\n        statusCode: 400,\n        message: 'A request has already been submitted'\n      })\n    } else {\n      const clientIp = spark.request._resolvedIp\n      requestAccess(\n        app as unknown as WithSecurityStrategy & WithConfig,\n        msg,\n        clientIp,\n        (res: Reply) => {\n          if (res.state === 'COMPLETED') {\n            spark.skPendingAccessRequest = false\n\n            if (res.accessRequest && res.accessRequest.token) {\n              spark.request.token = res.accessRequest.token\n              app.securityStrategy.authorizeWS(spark.request)\n              spark.request.source =\n                'ws.' +\n                spark.request.skPrincipal!.identifier.replace(/\\./g, '_')\n            }\n          }\n          spark.write(res)\n        }\n      )\n        .then((res: Reply) => {\n          if (res.state === 'PENDING') {\n            spark.skPendingAccessRequest = true\n          }\n        })\n        .catch((err: Error) => {\n          console.log(err.stack)\n          spark.write({\n            requestId: msg.requestId,\n            state: 'COMPLETED',\n            statusCode: 502,\n            message: err.message\n          })\n        })\n    }\n  }\n\n  function processLoginRequest(app: WsApp, spark: Spark, msg: WsMessage): void {\n    const rateLimiter = app.securityStrategy.loginRateLimiter\n    if (rateLimiter) {\n      const { allowed } = rateLimiter.check(spark.request._resolvedIp)\n      if (!allowed) {\n        spark.write({\n          requestId: msg.requestId,\n          state: 'COMPLETED',\n          statusCode: 429,\n          message: LOGIN_RATE_LIMIT_MESSAGE\n        })\n        return\n      }\n    }\n\n    app.securityStrategy\n      .login(msg.login!.username, msg.login!.password)\n      .then((reply) => {\n        if (reply.token) {\n          spark.request.token = reply.token\n          app.securityStrategy.authorizeWS(spark.request)\n        }\n        spark.write({\n          requestId: msg.requestId,\n          state: 'COMPLETED',\n          statusCode: reply.statusCode,\n          login: {\n            timeToLive: reply.timeToLive,\n            token: reply.token\n          }\n        })\n      })\n      .catch((err) => {\n        console.error(err)\n        spark.write({\n          requestId: msg.requestId,\n          state: 'COMPLETED',\n          statusCode: 502,\n          message: err.message\n        })\n      })\n  }\n\n  return api\n}\n\nfunction createPrimusAuthorize(\n  authorizeWS: ((req: SignalKSparkRequest) => void) | undefined,\n  ipConnectionCounts: Map<string, number>,\n  maxConnectionsPerIp: number,\n  trustProxy: boolean | string | undefined\n): (req: unknown, authorized: (err?: Error) => void) => void {\n  return function (\n    primusReq: unknown,\n    authorized: (err?: Error) => void\n  ): void {\n    const req = primusReq as SignalKSparkRequest\n\n    const forwardedFor = req.headers['x-forwarded-for']\n    const firstForwardedIp =\n      trustProxy && trustProxy !== 'false' && typeof forwardedFor === 'string'\n        ? forwardedFor.split(',')[0].trim()\n        : undefined\n    req._resolvedIp = firstForwardedIp || req.connection.remoteAddress\n    const ip = req._resolvedIp\n    if ((ipConnectionCounts.get(ip) ?? 0) >= maxConnectionsPerIp) {\n      debug(`IP ${ip} exceeded max connections (${maxConnectionsPerIp})`)\n      const err = Object.assign(\n        new Error(\n          JSON.stringify({\n            error:\n              'Too many concurrent websocket connections from same IP address'\n          })\n        ),\n        { statusCode: 429 }\n      )\n      authorized(err)\n      return\n    }\n\n    ipConnectionCounts.set(ip, (ipConnectionCounts.get(ip) ?? 0) + 1)\n\n    if (!authorizeWS) {\n      authorized()\n      return\n    }\n\n    try {\n      const cookieHeader = req.headers.cookie\n      if (typeof cookieHeader === 'string') {\n        req.cookies = cookie.parse(cookieHeader)\n      }\n\n      authorizeWS(req)\n      authorized()\n\n      const identifier = req.skPrincipal?.identifier\n      if (identifier) {\n        debug(`authorized username: ${identifier}`)\n        req.source = 'ws.' + identifier.replace(/\\./g, '_')\n      }\n    } catch (error) {\n      if (\n        error instanceof InvalidTokenError ||\n        error instanceof JsonWebTokenError ||\n        error instanceof TokenExpiredError\n      ) {\n        authorized(error as Error)\n      } else {\n        authorized()\n      }\n    }\n  }\n}\n\nfunction processUpdates(\n  app: WsApp,\n  pathSources: PathSources,\n  spark: Spark,\n  msg: WsMessage\n): void {\n  if (!app.securityStrategy.shouldAllowWrite(spark.request, msg)) {\n    debug('security disallowed update')\n    app.setProviderError(\n      'ws',\n      spark.request.connection.remoteAddress + ' needs authentication'\n    )\n    return\n  }\n  app.handleMessage(spark.request.source || 'ws', msg)\n\n  msg.updates?.forEach((update) => {\n    if (hasValues(update)) {\n      let source = update.$source\n      if (!source && update.source) {\n        source = getSourceId(update.source)\n      }\n\n      if (source) {\n        update.values.forEach((valuePath) => {\n          if (!pathSources[valuePath.path]) {\n            pathSources[valuePath.path] = {}\n          }\n          if (\n            !pathSources[valuePath.path][source!] ||\n            pathSources[valuePath.path][source!] !== spark\n          ) {\n            if (pathSources[valuePath.path][source!]) {\n              console.log(\n                `WARNING: got a new ws client for path ${valuePath.path} source ${source}`\n              )\n            }\n            debug(\n              'registered spark for source %s path %s = %s',\n              source,\n              valuePath.path,\n              spark.id\n            )\n\n            pathSources[valuePath.path][source!] = spark\n          }\n        })\n      }\n    }\n  })\n}\n\nlet canonical_meta_contextpath_values: Record<\n  string,\n  Record<string, string>\n> = {}\nconst getContextPathMetaKey = (context: string, path: string): string => {\n  const contextPaths =\n    canonical_meta_contextpath_values[context] ||\n    (canonical_meta_contextpath_values[context] = {})\n  const result =\n    contextPaths[path] || (contextPaths[path] = `${context}.${path}`)\n  return result\n}\nsetInterval(\n  () => {\n    canonical_meta_contextpath_values = {}\n  },\n  30 * 60 * 1000\n)\n\ninterface MetaHandlerContext {\n  context: string\n  spark: Spark\n  timestamp?: string\n}\n\nfunction handleValuesMeta(\n  this: MetaHandlerContext,\n  kp: { path: string }\n): void {\n  const fullContextPathKey = getContextPathMetaKey(this.context, kp.path)\n  if (kp.path && !this.spark.sentMetaData[fullContextPathKey]) {\n    const split = kp.path.split('.')\n    for (let i = split.length; i > 1; i--) {\n      const path = split.slice(0, i).join('.')\n      const partialContextPathKey = getContextPathMetaKey(this.context, path)\n      if (this.spark.sentMetaData[partialContextPathKey]) {\n        break\n      } else {\n        this.spark.sentMetaData[partialContextPathKey] = true\n        const meta = getMetadata(partialContextPathKey) as Record<\n          string,\n          unknown\n        > | null\n        if (meta) {\n          // Clone and enhance metadata with displayUnits formulas\n          const metaClone = structuredClone(meta) as Record<string, unknown>\n          let storedDisplayUnits = metaClone.displayUnits as\n            | Record<string, unknown>\n            | undefined\n          const username = this.spark.request.skPrincipal?.identifier\n          if (!storedDisplayUnits?.category && path) {\n            const defaultCategory = getDefaultCategory(\n              path,\n              metaClone.units as string | undefined,\n              username\n            )\n            if (defaultCategory) {\n              storedDisplayUnits = { category: defaultCategory }\n            }\n          }\n          if (storedDisplayUnits?.category) {\n            const enhanced = resolveDisplayUnits(\n              storedDisplayUnits as {\n                category: string\n                targetUnit?: string\n                formula?: string\n                inverseFormula?: string\n                symbol?: string\n                displayFormat?: string\n              },\n              metaClone.units as string | undefined,\n              username\n            )\n            if (enhanced) {\n              metaClone.displayUnits = enhanced\n            }\n          }\n          this.spark.write({\n            context: this.context,\n            updates: [\n              {\n                timestamp: this.timestamp,\n                meta: [\n                  {\n                    path: path,\n                    value: metaClone\n                  }\n                ]\n              }\n            ]\n          })\n        }\n      }\n    }\n  }\n}\n\nfunction handleUpdatesMeta(\n  this: MetaHandlerContext,\n  update: NonNullable<Delta['updates']>[number]\n): void {\n  if (hasValues(update)) {\n    this.timestamp = update.timestamp\n    update.values.forEach(handleValuesMeta, this)\n  }\n}\n\nfunction sendMetaData(app: WsApp, spark: Spark, delta: Delta): void {\n  if (spark.sendMetaDeltas && delta.updates) {\n    const thisContext: MetaHandlerContext = {\n      context: delta.context || '',\n      spark\n    }\n    delta.updates.forEach(handleUpdatesMeta, thisContext)\n  }\n}\n\nfunction processSubscribe(\n  app: WsApp,\n  unsubscribes: Array<() => void>,\n  spark: Spark,\n  msg: WsMessage\n): void {\n  if (\n    Array.isArray(msg.subscribe) &&\n    msg.subscribe.length > 0 &&\n    msg.subscribe[0].path === 'log'\n  ) {\n    if (!spark.logUnsubscribe) {\n      spark.logUnsubscribe = startServerLog(app, spark)\n    }\n  } else {\n    app.subscriptionmanager.subscribe(\n      msg,\n      unsubscribes,\n      spark.write.bind(spark),\n      (message: Delta) => {\n        const filtered = app.securityStrategy.filterReadDelta(\n          spark.request.skPrincipal,\n          message\n        )\n        if (!filtered) return\n        spark.backpressureManager!.send(filtered)\n      },\n      spark.request.skPrincipal\n    )\n  }\n}\n\nfunction processUnsubscribe(\n  app: WsApp,\n  unsubscribes: Array<() => void>,\n  msg: WsMessage,\n  onChange: (delta: Delta) => void,\n  spark: Spark\n): void {\n  try {\n    if (\n      Array.isArray(msg.unsubscribe) &&\n      msg.unsubscribe.length > 0 &&\n      msg.unsubscribe[0].path === 'log'\n    ) {\n      if (spark.logUnsubscribe) {\n        spark.logUnsubscribe()\n        spark.logUnsubscribe = undefined\n      }\n    } else {\n      app.subscriptionmanager.unsubscribe(msg, unsubscribes)\n      app.signalk.removeListener('delta', onChange)\n      spark.sentMetaData = {}\n    }\n  } catch (e) {\n    console.log(e)\n    spark.write((e as Error).message)\n    spark.end()\n  }\n}\n\nconst isSelfSubscription = (query: Spark['query']): boolean =>\n  !query.subscribe || query.subscribe === 'self'\n\nfunction wrapWithVerifyWS(\n  securityStrategy: SecurityStrategy,\n  spark: Spark,\n  theFunction: (delta: Delta) => void\n): (delta: Delta) => void {\n  if (!securityStrategy.canAuthorizeWS()) {\n    return theFunction\n  }\n  return (msg: Delta) => {\n    try {\n      securityStrategy.verifyWS(spark.request)\n      theFunction(msg)\n    } catch (error) {\n      if (!spark.skPendingAccessRequest) {\n        spark.end(\n          '{message: \"Connection disconnected by security constraint\"}',\n          {\n            reconnect: true\n          }\n        )\n      }\n      const identifier =\n        spark.request.skPrincipal?.identifier ||\n        spark.request.connection.remoteAddress ||\n        'unknown'\n      console.error(\n        `WebSocket security error for ${identifier}: ${(error as Error).message}`\n      )\n      return\n    }\n  }\n}\n\nfunction sendHello(\n  app: WsApp,\n  helloProps: Record<string, unknown>,\n  spark: Spark\n): void {\n  spark.write({\n    ...app.getHello(),\n    ...helloProps\n  })\n}\n\nfunction handlePlaybackConnection(\n  app: WsApp,\n  spark: Spark,\n  onChange: (delta: Delta) => void\n): void {\n  if (app.historyProvider === undefined) {\n    spark.end('No history provider')\n    return\n  }\n\n  const startTimeStr = spark.query.startTime\n  if (!startTimeStr) {\n    spark.end('startTime is required')\n    return\n  }\n\n  const options: HistoryOptions = {\n    startTime: new Date(startTimeStr),\n    playbackRate: spark.query.playbackRate || 1\n  }\n\n  sendHello(app, options as unknown as Record<string, unknown>, spark)\n\n  options.subscribe = spark.query.subscribe\n  app.historyProvider.hasAnyData(options, (hasResults: boolean) => {\n    if (hasResults) {\n      spark.onDisconnects.push(\n        app.historyProvider!.streamHistory(spark, options, onChange)\n      )\n      spark.isHistory = true\n    } else {\n      spark.end('No data found')\n    }\n  })\n}\n\nfunction handleRealtimeConnection(\n  app: WsApp,\n  spark: Spark,\n  onChange: (delta: Delta) => void\n): void {\n  sendHello(app, {}, spark)\n\n  app.signalk.on('delta', onChange)\n  spark.onDisconnects.push(() => {\n    app.signalk.removeListener('delta', onChange)\n  })\n\n  if (spark.sendMetaDeltas) {\n    const onUnitPrefsChanged = (event: unknown) => {\n      const username = spark.request.skPrincipal?.identifier\n      const ev = event as { username?: string } | null\n      if (ev?.username && ev.username !== username) return\n\n      const allPaths = app.streambundle.getAvailablePaths()\n      const meta = allPaths.reduce(\n        (\n          acc: Array<{ path: string; value: Record<string, unknown> }>,\n          path: string\n        ) => {\n          const fullPath = 'vessels.self.' + path\n          const pathMeta =\n            (getMetadata(fullPath) as Record<string, unknown>) || {}\n          const storedDU = pathMeta.displayUnits as\n            | DisplayUnitsMetadata\n            | undefined\n          const category =\n            storedDU?.category ||\n            getDefaultCategory(\n              path,\n              pathMeta.units as string | undefined,\n              username\n            )\n          if (category) {\n            const displayUnits = resolveDisplayUnits(\n              { ...storedDU, category },\n              pathMeta.units as string | undefined,\n              username\n            )\n            if (displayUnits) {\n              acc.push({ path, value: { ...pathMeta, displayUnits } })\n            }\n          }\n          return acc\n        },\n        []\n      )\n\n      if (meta.length > 0) {\n        const timestamp = new Date().toISOString()\n        spark.write({\n          context: 'vessels.' + app.selfId,\n          updates: [{ timestamp, meta }]\n        })\n      }\n    }\n\n    app.on('unitpreferencesChanged', onUnitPrefsChanged as () => void)\n    spark.onDisconnects.push(() => {\n      app.removeListener(\n        'unitpreferencesChanged',\n        onUnitPrefsChanged as () => void\n      )\n    })\n  }\n\n  if (spark.request.query?.sendCachedValues !== 'false') {\n    sendLatestDeltas(app, app.deltaCache, app.selfContext, spark)\n  }\n\n  if (spark.query.serverevents === 'all') {\n    spark.hasServerEvents = true\n    startServerEvents(\n      app,\n      spark,\n      wrapWithVerifyWS(\n        app.securityStrategy,\n        spark,\n        spark.write.bind(spark) as (delta: Delta) => void\n      )\n    )\n  }\n\n  if (spark.query.events) {\n    startEvents(\n      app,\n      spark,\n      wrapWithVerifyWS(\n        app.securityStrategy,\n        spark,\n        spark.write.bind(spark) as (delta: Delta) => void\n      ),\n      spark.query.events\n    )\n  }\n}\n\nfunction sendLatestDeltas(\n  app: WsApp,\n  deltaCache: DeltaCache,\n  selfContext: string,\n  spark: Spark\n): void {\n  let deltaFilter: (delta: WithContext) => boolean = () => false\n  if (!spark.query.subscribe || spark.query.subscribe === 'self') {\n    deltaFilter = (delta: WithContext): boolean => delta.context === selfContext\n  } else if (spark.query.subscribe === 'all') {\n    deltaFilter = (): boolean => true\n  }\n\n  deltaCache\n    .getCachedDeltas(deltaFilter, spark.request.skPrincipal)\n    .forEach((delta) => {\n      sendMetaData(app, spark, delta)\n      spark.write(delta)\n    })\n}\n\nfunction startServerLog(app: WsApp, spark: Spark): () => void {\n  const onServerLogEvent = wrapWithVerifyWS(\n    app.securityStrategy,\n    spark,\n    spark.write.bind(spark) as (delta: Delta) => void\n  )\n  app.on('serverlog', onServerLogEvent as (data: unknown) => void)\n  spark.onDisconnects.push(() => {\n    app.removeListener('serverlog', onServerLogEvent as (data: unknown) => void)\n  })\n  app.logging.getLog().forEach((log) => {\n    spark.write({\n      type: 'LOG',\n      data: log\n    })\n  })\n  return () => {\n    app.removeListener('serverlog', onServerLogEvent as (data: unknown) => void)\n  }\n}\n\nmodule.exports = wsInterface\n"
  },
  {
    "path": "src/logging.js",
    "content": "const debugCore = require('debug')\nconst moment = require('moment')\nconst path = require('path')\nconst fs = require('fs')\nconst { atomicWriteFileSync } = require('./atomicWrite')\n\nmodule.exports = function (app) {\n  const log = []\n  let debugEnabled = ''\n  let rememberDebug = false\n  const size = 100\n  let debugPath\n\n  if (process.env.DEBUG) {\n    debugEnabled = process.env.DEBUG\n  }\n\n  debugPath = path.join(app.config.configPath, 'debug')\n  if (fs.existsSync(debugPath)) {\n    const enabled = fs.readFileSync(debugPath, 'utf8')\n    if (enabled.length > 0) {\n      debugCore.enable(enabled)\n      debugEnabled = enabled\n      rememberDebug = true\n    }\n  }\n\n  function storeOutput(output, isError) {\n    const data = {\n      ts: moment().format('MMM DD HH:mm:ss'),\n      row: output\n    }\n    if (isError) {\n      data.isError = true\n    }\n    log.push(data)\n\n    if (log.length > size) {\n      log.splice(0, log.length - size)\n    }\n\n    app.emit('serverlog', {\n      type: 'LOG',\n      data: data\n    })\n  }\n\n  const outWrite = process.stdout.write\n  const errWrite = process.stderr.write\n\n  process.stdout.write = function (string) {\n    outWrite.apply(process.stdout, arguments)\n    storeOutput(string, false)\n  }\n\n  process.stderr.write = function (string) {\n    errWrite.apply(process.stderr, arguments)\n    storeOutput(string, true)\n  }\n\n  // send debug to stdout so it does not look like an error\n  debugCore.log = console.info.bind(console)\n\n  function enableDebug(enabled) {\n    if (enabled.length > 0) {\n      let all = enabled.split(',')\n\n      if (all.indexOf('*') !== -1) {\n        return false\n      }\n\n      debugCore.enable(enabled)\n    } else {\n      debugCore.disable()\n    }\n\n    debugEnabled = enabled\n\n    if (rememberDebug && debugPath) {\n      atomicWriteFileSync(debugPath, debugEnabled)\n    }\n\n    app.emit('serverevent', {\n      type: 'DEBUG_SETTINGS',\n      data: {\n        debugEnabled: enabled,\n        rememberDebug\n      }\n    })\n    return true\n  }\n\n  return {\n    getLog: () => {\n      return log\n    },\n    enableDebug: enableDebug,\n    getDebugSettings: () => {\n      return { debugEnabled, rememberDebug }\n    },\n    rememberDebug: (enabled) => {\n      if (debugPath) {\n        if (enabled) {\n          atomicWriteFileSync(debugPath, debugEnabled)\n        } else if (fs.existsSync(debugPath)) {\n          fs.unlinkSync(debugPath)\n        }\n      }\n\n      rememberDebug = enabled\n      app.emit('serverevent', {\n        type: 'DEBUG_SETTINGS',\n        data: {\n          debugEnabled,\n          rememberDebug\n        }\n      })\n    },\n    addDebug: (name) => {\n      if (debugEnabled.length > 0) {\n        const all = debugEnabled.split(',')\n        if (all.indexOf(name) === -1) {\n          enableDebug(debugEnabled + ',' + name)\n        }\n      } else {\n        enableDebug(name)\n      }\n    },\n    removeDebug: (name) => {\n      if (debugEnabled.length > 0) {\n        const all = debugEnabled.split(',')\n        const idx = all.indexOf(name)\n        if (idx !== -1) {\n          all.splice(idx, 1)\n          enableDebug(all.join(','))\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/login-rate-limiter.ts",
    "content": "export const LOGIN_RATE_LIMIT_MESSAGE =\n  'Too many login attempts from this IP, please try again later'\n\nexport interface LoginRateLimiter {\n  check(ip: string): { allowed: boolean; retryAfterMs: number }\n  dispose(): void\n}\n\ninterface Entry {\n  count: number\n  resetTime: number\n}\n\nexport function createLoginRateLimiter(\n  windowMs: number,\n  max: number\n): LoginRateLimiter {\n  const entries = new Map<string, Entry>()\n\n  const cleanup = setInterval(() => {\n    const now = Date.now()\n    for (const [ip, entry] of entries) {\n      if (now >= entry.resetTime) {\n        entries.delete(ip)\n      }\n    }\n  }, windowMs)\n  cleanup.unref()\n\n  return {\n    check(ip: string): { allowed: boolean; retryAfterMs: number } {\n      const now = Date.now()\n      let entry = entries.get(ip)\n\n      if (!entry || now >= entry.resetTime) {\n        entry = { count: 0, resetTime: now + windowMs }\n        entries.set(ip, entry)\n      }\n\n      entry.count++\n\n      if (entry.count > max) {\n        return { allowed: false, retryAfterMs: entry.resetTime - now }\n      }\n\n      return { allowed: true, retryAfterMs: 0 }\n    },\n    dispose(): void {\n      clearInterval(cleanup)\n      entries.clear()\n    }\n  }\n}\n"
  },
  {
    "path": "src/mdns.js",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\n'use strict'\n\nconst _ = require('lodash')\nimport { createDebug } from './debug'\nconst debug = createDebug('signalk-server:mdns')\nconst dnssd = require('dnssd2')\nconst ports = require('./ports')\n\nmodule.exports = function mdnsResponder(app) {\n  const config = app.config\n\n  let mdns = dnssd\n\n  try {\n    mdns = require('mdns')\n    debug('using  mdns')\n  } catch (ex) {\n    debug(ex)\n    debug('mdns not found, using dnssd2')\n  }\n\n  if (typeof config.settings.mdns !== 'undefined' && !config.settings.mdns) {\n    debug('Mdns disabled by configuration')\n    return\n  }\n\n  let txtRecord = {\n    txtvers: '1',\n    swname: config.name,\n    swvers: config.version,\n    // hardcoded out of master/slave, main/aux\n    roles: 'master, main',\n    self: app.selfId,\n    vname: config.vesselName,\n    vmmsi: config.vesselMMSI,\n    vuuid: config.vesselUUID\n  }\n\n  // Strip all the null or empty props in txtRecord\n  txtRecord = _.pickBy(txtRecord, _.identity)\n\n  const types = []\n  types.push({\n    type:\n      app.config.settings.ssl || app.config.isExternalSsl()\n        ? mdns.tcp('https')\n        : mdns.tcp('http'),\n    port: ports.getExternalPort(app)\n  })\n\n  for (const key in app.interfaces) {\n    if (\n      _.isObject(app.interfaces[key]) &&\n      _.isObject(app.interfaces[key].mdns)\n    ) {\n      const service = app.interfaces[key].mdns\n\n      if (\n        'tcp'.indexOf(service.type) !== -1 &&\n        service.name.charAt(0) === '_'\n      ) {\n        types.push({\n          type: mdns[service.type](service.name),\n          port: service.port\n        })\n      } else {\n        debug('Not advertising mDNS service for interface: ' + key)\n        debug(\n          'mDNS service type should be TCP or HTTP, and the name should start with \"_\".'\n        )\n      }\n    }\n  }\n\n  const options = {\n    txtRecord,\n    txt: txtRecord\n  }\n\n  const host = app.config.getExternalHostname()\n\n  if (host !== require('os').hostname()) {\n    options.host = host\n  }\n\n  debug(options)\n\n  const ads = []\n\n  for (const i in types) {\n    const type = types[i]\n    debug(\n      'Starting mDNS ad: ' +\n        type.type +\n        ' ' +\n        app.config.getExternalHostname() +\n        ':' +\n        type.port\n    )\n    const ad = new mdns.Advertisement(type.type, type.port, options)\n    ad.on('error', (err) => {\n      console.log(type.type.name)\n      console.error(err)\n    })\n    ad.start()\n    ads.push(ad)\n  }\n\n  return {\n    stop: function () {\n      ads.forEach(function (ad) {\n        debug('Stopping mDNS advertisement...')\n        ad.stop()\n      })\n    }\n  }\n}\n"
  },
  {
    "path": "src/modules.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2017 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { spawn } from 'child_process'\nimport fs from 'fs'\nimport _ from 'lodash'\nimport path from 'path'\nimport semver, { SemVer } from 'semver'\nimport { atomicWriteFileSync } from './atomicWrite'\nimport { Config } from './config/config'\nimport { createDebug } from './debug'\nimport { pluginConfigPath, pluginDataDir } from './plugin-paths'\nconst debug = createDebug('signalk:modules')\nconst npmDebug = createDebug('signalk:modules:npm')\n\ninterface ModuleData {\n  module: string\n  metadata: object\n  location: string\n}\n\nexport interface NpmDistTags {\n  latest: string\n  [prerelease: string]: string\n}\n\nexport interface WasmCapabilities {\n  network?: boolean\n  storage?: 'vfs-only' | 'none'\n  dataRead?: boolean\n  dataWrite?: boolean\n  serialPorts?: boolean\n  putHandlers?: boolean\n  httpEndpoints?: boolean\n  resourceProvider?: boolean\n  weatherProvider?: boolean\n  radarProvider?: boolean\n  rawSockets?: boolean\n}\n\nexport interface NpmPackageData {\n  name: string\n  version: string\n  date: string\n  keywords: string[]\n  description?: string\n  // WASM plugin fields\n  wasmManifest?: string // Path to WASM binary (e.g., \"build/plugin.wasm\")\n  wasmCapabilities?: WasmCapabilities\n  signalk?: {\n    displayName?: string\n  }\n}\n\ninterface NpmSearchResponse {\n  total: number\n  objects: NpmModuleData[]\n}\n\ninterface NpmModuleData {\n  package: NpmPackageData\n}\n\nexport interface Package {\n  name: string\n  publisher?: {\n    username: string\n  }\n  dependencies: { [key: string]: any }\n  version: string\n  description: string\n  license: string\n}\n\nfunction findModulesInDir(dir: string, keyword: string): ModuleData[] {\n  // If no directory by name return empty array.\n  if (!fs.existsSync(dir)) {\n    return []\n  }\n  debug('findModulesInDir: ' + dir)\n  return fs\n    .readdirSync(dir)\n    .filter((name) => !name.startsWith('.'))\n    .reduce<ModuleData[]>((result, filename) => {\n      if (filename.indexOf('@') === 0) {\n        return result.concat(\n          findModulesInDir(dir + filename + '/', keyword).map((entry) => {\n            return {\n              module: entry.module,\n              metadata: entry.metadata,\n              location: dir\n            }\n          })\n        )\n      } else {\n        let metadata\n        try {\n          // eslint-disable-next-line @typescript-eslint/no-require-imports\n          metadata = require(path.join(dir, filename, 'package.json'))\n        } catch (err) {\n          debug(err)\n        }\n        if (\n          metadata &&\n          metadata.keywords &&\n          metadata.keywords.includes(keyword)\n        ) {\n          result.push({\n            module: metadata.name,\n            metadata,\n            location: dir\n          })\n        }\n      }\n      return result\n    }, [])\n}\n\n// Extract unique directory paths from app object.\nfunction getModulePaths(config: Config) {\n  // appPath is the app working directory.\n  const { appPath, configPath } = config\n  return (appPath === configPath ? [appPath] : [configPath, appPath]).map(\n    (pathOption) => path.join(pathOption, 'node_modules/')\n  )\n}\n\nconst getModuleSortName = (x: ModuleData) =>\n  (x.module || '').replace('@signalk', ' ')\n\n// Sort handler that puts strings with '@signalk' first.\nconst priorityPrefix = (a: ModuleData, b: ModuleData) =>\n  getModuleSortName(a).localeCompare(getModuleSortName(b))\n\n// Searches for installed modules that contain `keyword`.\nexport function modulesWithKeyword(config: Config, keyword: string) {\n  return _.uniqBy(\n    // _.flatten since values are inside an array. [[modules...], [modules...]]\n    _.flatten(\n      getModulePaths(config).map((pathOption) =>\n        findModulesInDir(pathOption, keyword)\n      )\n    ),\n    (moduleData) => moduleData.module\n  ).sort(priorityPrefix)\n}\nfunction installModule(\n  config: Config,\n  name: string,\n  version: string,\n  onData: () => any,\n  onErr: (err: Error) => any,\n  onClose: (code: number) => any\n) {\n  runNpm(config, name, version, 'install', onData, onErr, onClose)\n}\n\nfunction removeModule(\n  config: Config,\n  name: string,\n  version: any,\n  onData: () => any,\n  onErr: (err: Error) => any,\n  onClose: (code: number) => any,\n  pluginId?: string,\n  deleteData: boolean = false\n) {\n  runNpm(config, name, null, 'remove', onData, onErr, (code: number) => {\n    cleanupAfterRemove(config.configPath, name, pluginId, deleteData)\n    onClose(code)\n  })\n}\n\nfunction cleanupAfterRemove(\n  configPath: string,\n  packageName: string,\n  pluginId?: string,\n  deleteData: boolean = false\n) {\n  const moduleDir = path.join(configPath, 'node_modules', packageName)\n  if (fs.existsSync(moduleDir)) {\n    console.warn(\n      `${packageName}: directory still exists after npm remove, cleaning up`\n    )\n    try {\n      fs.rmSync(moduleDir, { recursive: true, force: true })\n    } catch (e: any) {\n      console.error(`Failed to remove ${moduleDir}: ${e.message}`)\n    }\n  }\n\n  const resolvedDir = path.resolve(moduleDir)\n  for (const key of Object.keys(require.cache)) {\n    if (key.startsWith(resolvedDir)) {\n      delete require.cache[key]\n    }\n  }\n\n  const packageJsonPath = path.join(configPath, 'package.json')\n  if (fs.existsSync(packageJsonPath)) {\n    try {\n      const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))\n      if (packageJson.dependencies && packageJson.dependencies[packageName]) {\n        delete packageJson.dependencies[packageName]\n        atomicWriteFileSync(\n          packageJsonPath,\n          JSON.stringify(packageJson, null, 2) + '\\n'\n        )\n        console.warn(`${packageName}: removed from settings package.json`)\n      }\n    } catch (e: any) {\n      console.error(`Failed to update settings package.json: ${e.message}`)\n    }\n  }\n\n  if (pluginId && deleteData) {\n    const configFile = pluginConfigPath(configPath, pluginId)\n    if (fs.existsSync(configFile)) {\n      try {\n        fs.unlinkSync(configFile)\n      } catch (e: any) {\n        console.error(`Failed to remove ${configFile}: ${e.message}`)\n      }\n    }\n    const dataDir = pluginDataDir(configPath, pluginId)\n    if (fs.existsSync(dataDir)) {\n      try {\n        fs.rmSync(dataDir, { recursive: true, force: true })\n      } catch (e: any) {\n        console.error(`Failed to remove ${dataDir}: ${e.message}`)\n      }\n    }\n  }\n}\n\nasync function getPluginDataSize(\n  configPath: string,\n  pluginId: string\n): Promise<{ totalBytes: number; fileCount: number; hasData: boolean }> {\n  let totalBytes = 0\n  let fileCount = 0\n\n  const configFile = pluginConfigPath(configPath, pluginId)\n  try {\n    const stats = await fs.promises.lstat(configFile)\n    if (stats.isFile()) {\n      totalBytes += stats.size\n      fileCount++\n    }\n  } catch {\n    // file does not exist or inaccessible\n  }\n\n  const dataDir = pluginDataDir(configPath, pluginId)\n  try {\n    const dirStats = await fs.promises.lstat(dataDir)\n    if (dirStats.isDirectory()) {\n      const { default: getFolderSize } = await import('get-folder-size')\n      totalBytes += await getFolderSize.loose(dataDir)\n\n      async function countFiles(d: string): Promise<number> {\n        let entries: string[]\n        try {\n          entries = await fs.promises.readdir(d)\n        } catch {\n          return 0\n        }\n        let count = 0\n        for (const entry of entries) {\n          try {\n            const stats = await fs.promises.lstat(path.join(d, entry))\n            if (stats.isFile()) {\n              count++\n            } else if (stats.isDirectory()) {\n              count += await countFiles(path.join(d, entry))\n            }\n          } catch {\n            // entry removed or inaccessible between readdir and lstat\n          }\n        }\n        return count\n      }\n\n      fileCount += await countFiles(dataDir)\n    }\n  } catch {\n    // directory does not exist or inaccessible\n  }\n\n  return { totalBytes, fileCount, hasData: totalBytes > 0 }\n}\n\nexport function restoreModules(\n  config: Config,\n  onData: (output: any) => void,\n  onErr: (err: Error) => void,\n  onClose: (code: number) => any\n) {\n  runNpm(config, null, null, 'remove', onData, onErr, onClose)\n}\n\nexport function runNpm(\n  config: Config,\n  name: any,\n  version: string | null,\n  command: string,\n  onData: (output: any) => any,\n  onErr: (err: Error) => any,\n  onClose: (code: number) => any\n) {\n  if (version && version !== '' && !semver.valid(version)) {\n    onErr(new Error('Invalid version: ' + version))\n    onClose(-1)\n    return\n  }\n  let npm\n\n  const opts: { cwd?: string; shell?: boolean } = {}\n  let packageString\n\n  if (process.platform === 'win32') {\n    opts['shell'] = true\n  }\n\n  if (name) {\n    packageString = version ? `${name}@${version}` : name\n  } else {\n    packageString = ''\n  }\n\n  debug(`${command}: ${packageString}`)\n\n  const npmArgs = isTheServerModule(name, config)\n    ? [command, '-g']\n    : ['--save', '--ignore-scripts', command]\n\n  if (packageString) {\n    npmArgs.push(packageString)\n  }\n\n  if (isTheServerModule(name, config)) {\n    if (process.platform === 'win32') {\n      npm = spawn('npm.cmd', npmArgs, opts)\n    } else {\n      npm = spawn('sudo', ['npm', ...npmArgs], opts)\n    }\n  } else {\n    opts.cwd = config.configPath\n\n    if (process.platform === 'win32') {\n      npm = spawn('npm.cmd', npmArgs, opts)\n    } else {\n      npm = spawn('npm', npmArgs, opts)\n    }\n  }\n\n  npm.stdout.on('data', onData)\n  npm.stderr.on('data', onErr)\n  npm.on('close', onClose)\n  npm.on('error', (err: Error) => {\n    onErr(err)\n    onClose(-1)\n  })\n}\n\nfunction isTheServerModule(moduleName: string, config: Config) {\n  return moduleName === config.name\n}\n\nconst modulesByKeyword: Record<\n  string,\n  { time: number; packages: NpmModuleData[] }\n> = {}\n\nasync function findModulesWithKeyword(\n  keyword: string\n): Promise<NpmModuleData[]> {\n  if (\n    modulesByKeyword[keyword] &&\n    Date.now() - modulesByKeyword[keyword].time < 60 * 1000\n  ) {\n    return modulesByKeyword[keyword].packages\n  }\n\n  const moduleData = await searchByKeyword(keyword)\n  npmDebug(\n    `npm search returned ${moduleData.length} modules with keyword ${keyword}`\n  )\n\n  const result = moduleData.reduce(\n    (acc: Record<string, NpmModuleData>, module: NpmModuleData) => {\n      const name = module.package.name\n      if (\n        !acc[name] ||\n        semver.gt(module.package.version, acc[name].package.version)\n      ) {\n        acc[name] = module\n      }\n      return acc\n    },\n    {}\n  )\n\n  const packages = Object.values(result)\n  modulesByKeyword[keyword] = { time: Date.now(), packages }\n  return packages\n}\n\nasync function searchByKeyword(keyword: string): Promise<NpmModuleData[]> {\n  let fetchedCount = 0\n  let toFetchCount = 1\n  let moduleData: NpmModuleData[] = []\n\n  while (fetchedCount < toFetchCount) {\n    npmDebug(`searching ${keyword} from ${fetchedCount + 1} of ${toFetchCount}`)\n    const res = await fetch(\n      `https://registry.npmjs.org/-/v1/search?size=250&from=${\n        fetchedCount > 0 ? fetchedCount : 0\n      }&text=keywords:${keyword}`\n    )\n    if (!res.ok) {\n      npmDebug(`npm search failed with status ${res.status}: ${res.statusText}`)\n      break\n    }\n    const parsed = (await res.json()) as NpmSearchResponse\n\n    moduleData = moduleData.concat(parsed.objects)\n    fetchedCount += parsed.objects.length\n    toFetchCount = parsed.total\n  }\n\n  return moduleData\n}\n\nlet distTagsCache: { time: number; data: Record<string, NpmDistTags> } = {\n  time: 0,\n  data: {}\n}\n\nasync function fetchDistTagsForPackages(\n  packageNames: string[]\n): Promise<Record<string, NpmDistTags>> {\n  if (Date.now() - distTagsCache.time < 60 * 1000) {\n    return distTagsCache.data\n  }\n\n  const result: Record<string, NpmDistTags> = {}\n  const CONCURRENCY = 10\n  let i = 0\n\n  while (i < packageNames.length) {\n    const batch = packageNames.slice(i, i + CONCURRENCY)\n    const settled = await Promise.allSettled(\n      batch.map(async (name) => {\n        const res = await fetch(\n          `https://registry.npmjs.org/-/package/${name}/dist-tags`\n        )\n        if (!res.ok) return null\n        const tags = (await res.json()) as NpmDistTags\n        return { name, tags }\n      })\n    )\n    for (const entry of settled) {\n      if (entry.status === 'fulfilled' && entry.value) {\n        result[entry.value.name] = entry.value.tags\n      }\n    }\n    i += CONCURRENCY\n  }\n\n  distTagsCache = { time: Date.now(), data: result }\n  return result\n}\n\nfunction doFetchDistTags() {\n  return fetch('https://registry.npmjs.org/-/package/signalk-server/dist-tags')\n}\n\nasync function getLatestServerVersion(\n  currentVersion: string,\n  distTags = doFetchDistTags\n): Promise<string> {\n  const res = await distTags()\n  if (!res.ok) {\n    throw new Error(\n      `Failed to fetch dist-tags: ${res.status} ${res.statusText}`\n    )\n  }\n  const versions = (await res.json()) as NpmDistTags\n\n  const prereleaseData = semver.prerelease(currentVersion)\n  if (prereleaseData) {\n    if (semver.satisfies(versions.latest, `>${currentVersion}`)) {\n      return versions.latest\n    } else {\n      return versions[prereleaseData[0]]\n    }\n  } else {\n    return versions.latest\n  }\n}\n\nexport function checkForNewServerVersion(\n  currentVersion: string,\n  serverUpgradeIsAvailable: (\n    errMessage: string | void,\n    version?: string\n  ) => any,\n  getLatestServerVersionP: (\n    version: string\n  ) => Promise<string> = getLatestServerVersion\n) {\n  getLatestServerVersionP(currentVersion)\n    .then((version: string) => {\n      if (semver.satisfies(new SemVer(version), `>${currentVersion}`)) {\n        serverUpgradeIsAvailable(undefined, version)\n      }\n    })\n    .catch((err: any) => {\n      serverUpgradeIsAvailable(`unable to check for new server version: ${err}`)\n    })\n}\n\nexport function getAuthor(thePackage: Package): string {\n  return `${thePackage.publisher?.username}${\n    thePackage.name.startsWith('@signalk/') ? ' (Signal K team)' : ''\n  }`\n}\n\nexport function getKeywords(thePackage: NpmPackageData): string[] {\n  const keywords = thePackage.keywords\n  debug('%s keywords: %j', thePackage.name, keywords)\n  return keywords\n}\n\nexport async function importOrRequire(moduleDir: string) {\n  try {\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    const mod = require(moduleDir)\n\n    // Starting with version 20.19.0 and 22 Node will load ESM modules with require\n    // https://nodejs.org/en/blog/release/v20.19.0\n    return mod.default ?? mod\n  } catch (err) {\n    debug(`Failed to require(\"${moduleDir}\") module, trying import()`)\n\n    // `import()` only works with file paths or npm module names. It can't\n    // directly load a path to a directory. One solution would be to refactor\n    // module loading to update `NODE_PATH` with plugin directories, and\n    // then import/require them here using just their module name (e.g.\n    // `import(\"@signalk/plugin-name\")`), which would allow NodeJS to resolve\n    // and load the module. This would be a little more extensive refactoring\n    // that may be worth while once the whole project is entirely using ESM.\n    // For now, this `esm-resolve` package work\n\n    const { buildResolver } = await import('esm-resolve')\n    const resolver = buildResolver(moduleDir, {\n      isDir: true,\n      resolveToAbsolute: true\n    })\n    const modulePath = resolver('.')\n\n    if (modulePath) {\n      const module = await import(modulePath)\n      return module.default\n    } else {\n      // Could not resolve, throw the original error.\n      throw err\n    }\n  }\n}\n\nmodule.exports = {\n  modulesWithKeyword,\n  installModule,\n  removeModule,\n  isTheServerModule,\n  findModulesWithKeyword,\n  fetchDistTagsForPackages,\n  getLatestServerVersion,\n  checkForNewServerVersion,\n  getAuthor,\n  getKeywords,\n  restoreModules,\n  importOrRequire,\n  runNpm,\n  getPluginDataSize\n}\n"
  },
  {
    "path": "src/oidc/authorization.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OIDCAuthState, OIDCConfig, OIDCProviderMetadata } from './types'\nimport { calculateCodeChallenge } from './pkce'\n\n/**\n * Build the authorization URL for the OIDC flow\n * @param config OIDC configuration\n * @param metadata Discovery document metadata\n * @param authState The auth state containing state, nonce, code verifier\n * @returns The authorization URL to redirect the user to\n */\nexport function buildAuthorizationUrl(\n  config: OIDCConfig,\n  metadata: OIDCProviderMetadata,\n  authState: OIDCAuthState\n): string {\n  const url = new URL(metadata.authorization_endpoint)\n\n  // Required OAuth 2.0 parameters\n  url.searchParams.set('response_type', 'code')\n  url.searchParams.set('client_id', config.clientId)\n  url.searchParams.set('redirect_uri', authState.redirectUri)\n  url.searchParams.set('scope', config.scope)\n\n  // State for CSRF protection\n  url.searchParams.set('state', authState.state)\n\n  // Nonce for ID token replay protection\n  url.searchParams.set('nonce', authState.nonce)\n\n  // PKCE parameters (S256 method)\n  url.searchParams.set(\n    'code_challenge',\n    calculateCodeChallenge(authState.codeVerifier)\n  )\n  url.searchParams.set('code_challenge_method', 'S256')\n\n  return url.toString()\n}\n"
  },
  {
    "path": "src/oidc/config.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n  OIDCConfig,\n  OIDCError,\n  OIDC_DEFAULTS,\n  PartialOIDCConfig\n} from './types'\n\n/**\n * Parse OIDC configuration from environment variables\n */\nexport function parseEnvConfig(): PartialOIDCConfig {\n  const config: PartialOIDCConfig = {}\n\n  if (process.env.SIGNALK_OIDC_ENABLED !== undefined) {\n    config.enabled = process.env.SIGNALK_OIDC_ENABLED.toLowerCase() === 'true'\n  }\n\n  if (process.env.SIGNALK_OIDC_ISSUER) {\n    config.issuer = process.env.SIGNALK_OIDC_ISSUER\n  }\n\n  if (process.env.SIGNALK_OIDC_CLIENT_ID) {\n    config.clientId = process.env.SIGNALK_OIDC_CLIENT_ID\n  }\n\n  if (process.env.SIGNALK_OIDC_CLIENT_SECRET) {\n    config.clientSecret = process.env.SIGNALK_OIDC_CLIENT_SECRET\n  }\n\n  if (process.env.SIGNALK_OIDC_REDIRECT_URI) {\n    config.redirectUri = process.env.SIGNALK_OIDC_REDIRECT_URI\n  }\n\n  if (process.env.SIGNALK_OIDC_SCOPE) {\n    config.scope = process.env.SIGNALK_OIDC_SCOPE\n  }\n\n  if (process.env.SIGNALK_OIDC_DEFAULT_PERMISSION) {\n    const perm = process.env.SIGNALK_OIDC_DEFAULT_PERMISSION.toLowerCase()\n    if (perm === 'readonly' || perm === 'readwrite' || perm === 'admin') {\n      config.defaultPermission = perm\n    }\n  }\n\n  if (process.env.SIGNALK_OIDC_AUTO_CREATE_USERS !== undefined) {\n    config.autoCreateUsers =\n      process.env.SIGNALK_OIDC_AUTO_CREATE_USERS.toLowerCase() === 'true'\n  }\n\n  // Parse admin groups from comma-separated string\n  if (process.env.SIGNALK_OIDC_ADMIN_GROUPS) {\n    const groups = process.env.SIGNALK_OIDC_ADMIN_GROUPS.split(',')\n      .map((g) => g.trim())\n      .filter((g) => g.length > 0)\n    if (groups.length > 0) {\n      config.adminGroups = groups\n    }\n  }\n\n  // Parse readwrite groups from comma-separated string\n  if (process.env.SIGNALK_OIDC_READWRITE_GROUPS) {\n    const groups = process.env.SIGNALK_OIDC_READWRITE_GROUPS.split(',')\n      .map((g) => g.trim())\n      .filter((g) => g.length > 0)\n    if (groups.length > 0) {\n      config.readwriteGroups = groups\n    }\n  }\n\n  // Parse groups attribute (ID token claim key for groups)\n  if (process.env.SIGNALK_OIDC_GROUPS_ATTRIBUTE) {\n    config.groupsAttribute = process.env.SIGNALK_OIDC_GROUPS_ATTRIBUTE\n  }\n\n  // Parse provider name (display name for login button)\n  if (process.env.SIGNALK_OIDC_PROVIDER_NAME) {\n    config.providerName = process.env.SIGNALK_OIDC_PROVIDER_NAME\n  }\n\n  // Parse auto login (auto-redirect to OIDC when not authenticated)\n  if (process.env.SIGNALK_OIDC_AUTO_LOGIN !== undefined) {\n    config.autoLogin =\n      process.env.SIGNALK_OIDC_AUTO_LOGIN.toLowerCase() === 'true'\n  }\n\n  return config\n}\n\n/**\n * Merge configuration from security.json and environment variables\n * Priority: env vars > security.json > defaults\n */\nexport function mergeConfigs(\n  securityJsonConfig: PartialOIDCConfig,\n  envConfig: PartialOIDCConfig\n): OIDCConfig {\n  return {\n    enabled:\n      envConfig.enabled ?? securityJsonConfig.enabled ?? OIDC_DEFAULTS.enabled,\n    issuer: envConfig.issuer ?? securityJsonConfig.issuer ?? '',\n    clientId: envConfig.clientId ?? securityJsonConfig.clientId ?? '',\n    clientSecret:\n      envConfig.clientSecret ?? securityJsonConfig.clientSecret ?? '',\n    redirectUri: envConfig.redirectUri ?? securityJsonConfig.redirectUri ?? '',\n    scope: envConfig.scope ?? securityJsonConfig.scope ?? OIDC_DEFAULTS.scope,\n    defaultPermission:\n      envConfig.defaultPermission ??\n      securityJsonConfig.defaultPermission ??\n      OIDC_DEFAULTS.defaultPermission,\n    autoCreateUsers:\n      envConfig.autoCreateUsers ??\n      securityJsonConfig.autoCreateUsers ??\n      OIDC_DEFAULTS.autoCreateUsers,\n    adminGroups: envConfig.adminGroups ?? securityJsonConfig.adminGroups,\n    readwriteGroups:\n      envConfig.readwriteGroups ?? securityJsonConfig.readwriteGroups,\n    groupsAttribute:\n      envConfig.groupsAttribute ?? securityJsonConfig.groupsAttribute,\n    providerName:\n      envConfig.providerName ??\n      securityJsonConfig.providerName ??\n      OIDC_DEFAULTS.providerName,\n    autoLogin:\n      envConfig.autoLogin ??\n      securityJsonConfig.autoLogin ??\n      OIDC_DEFAULTS.autoLogin\n  }\n}\n\n/**\n * Validate OIDC configuration\n * @throws OIDCError if configuration is invalid\n */\nexport function validateOIDCConfig(\n  config: Partial<OIDCConfig>\n): asserts config is OIDCConfig {\n  // If OIDC is disabled, no validation needed\n  if (config.enabled === false || config.enabled === undefined) {\n    return\n  }\n\n  // Validate required fields when enabled\n  if (!config.issuer) {\n    throw new OIDCError(\n      'OIDC issuer is required when enabled',\n      'CONFIG_INVALID'\n    )\n  }\n\n  if (!config.clientId) {\n    throw new OIDCError(\n      'OIDC clientId is required when enabled',\n      'CONFIG_INVALID'\n    )\n  }\n\n  if (!config.clientSecret) {\n    throw new OIDCError(\n      'OIDC clientSecret is required when enabled',\n      'CONFIG_INVALID'\n    )\n  }\n\n  // Validate redirectUri is required and is a valid URL\n  if (!config.redirectUri) {\n    throw new OIDCError(\n      'OIDC redirectUri is required when enabled. Set it via SIGNALK_OIDC_REDIRECT_URI or in security.json.',\n      'CONFIG_INVALID'\n    )\n  }\n\n  let redirectUrl: URL\n  try {\n    redirectUrl = new URL(config.redirectUri)\n  } catch {\n    throw new OIDCError(\n      `OIDC redirectUri must be a valid URL: ${config.redirectUri}`,\n      'CONFIG_INVALID'\n    )\n  }\n\n  if (redirectUrl.hash) {\n    throw new OIDCError(\n      'OIDC redirectUri must not contain a fragment (RFC 6749 §3.1.2)',\n      'CONFIG_INVALID'\n    )\n  }\n\n  const LOCALHOST_HOSTS = ['localhost', '127.0.0.1', '[::1]']\n  if (\n    redirectUrl.protocol !== 'https:' &&\n    !LOCALHOST_HOSTS.includes(redirectUrl.hostname)\n  ) {\n    throw new OIDCError(\n      'OIDC redirectUri must use https (http is only allowed for localhost)',\n      'CONFIG_INVALID'\n    )\n  }\n\n  // Validate issuer is a valid URL\n  try {\n    new URL(config.issuer)\n  } catch {\n    throw new OIDCError(\n      `OIDC issuer must be a valid URL: ${config.issuer}`,\n      'CONFIG_INVALID'\n    )\n  }\n\n  // Validate scope contains 'openid'\n  if (config.scope && !config.scope.split(' ').includes('openid')) {\n    throw new OIDCError('OIDC scope must contain \"openid\"', 'CONFIG_INVALID')\n  }\n\n  // Validate defaultPermission\n  if (\n    config.defaultPermission &&\n    !['readonly', 'readwrite', 'admin'].includes(config.defaultPermission)\n  ) {\n    throw new OIDCError(\n      `OIDC defaultPermission must be one of: readonly, readwrite, admin`,\n      'CONFIG_INVALID'\n    )\n  }\n}\n\n/**\n * Parse OIDC configuration from security.json and environment variables\n * @param securityConfig The security configuration object (may contain oidc section)\n * @returns Complete OIDC configuration\n * @throws OIDCError if configuration is invalid\n */\nexport function parseOIDCConfig(securityConfig: {\n  oidc?: PartialOIDCConfig\n}): OIDCConfig {\n  const securityJsonConfig = securityConfig.oidc ?? {}\n  const envConfig = parseEnvConfig()\n  const merged = mergeConfigs(securityJsonConfig, envConfig)\n\n  validateOIDCConfig(merged)\n\n  return merged\n}\n\n/**\n * Check if OIDC is enabled\n */\nexport function isOIDCEnabled(config: OIDCConfig): boolean {\n  return config.enabled === true\n}\n"
  },
  {
    "path": "src/oidc/discovery.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DiscoveryCache, OIDCError, OIDCProviderMetadata } from './types'\n\nconst CACHE_TTL_MS = 60 * 60 * 1000 // 1 hour\n\n// In-memory cache for discovery documents\nconst discoveryCache = new Map<string, DiscoveryCache>()\n\n// Fetch function that can be overridden for testing\ntype FetchFn = typeof fetch\nlet fetchFn: FetchFn = fetch\n\n/**\n * Set the fetch function (for testing)\n */\nexport function setFetchFunction(fn: FetchFn): void {\n  fetchFn = fn\n}\n\n/**\n * Reset the fetch function to the default\n */\nexport function resetFetchFunction(): void {\n  fetchFn = fetch\n}\n\n/**\n * Fetch the OpenID Connect discovery document from an issuer\n * @param issuer The OIDC issuer URL\n * @returns The parsed discovery document\n * @throws OIDCError if fetch fails or document is invalid\n */\nexport async function fetchDiscoveryDocument(\n  issuer: string\n): Promise<OIDCProviderMetadata> {\n  const discoveryUrl = `${issuer.replace(/\\/$/, '')}/.well-known/openid-configuration`\n\n  let response: Response\n  try {\n    response = await fetchFn(discoveryUrl)\n  } catch (err) {\n    throw new OIDCError(\n      `Failed to fetch OIDC discovery document from ${discoveryUrl}: ${err}`,\n      'DISCOVERY_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  if (!response.ok) {\n    throw new OIDCError(\n      `OIDC discovery document request failed with status ${response.status}`,\n      'DISCOVERY_FAILED'\n    )\n  }\n\n  let metadata: OIDCProviderMetadata\n  try {\n    metadata = (await response.json()) as OIDCProviderMetadata\n  } catch (err) {\n    throw new OIDCError(\n      'Failed to parse OIDC discovery document as JSON',\n      'DISCOVERY_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  // Validate required fields\n  if (\n    !metadata.issuer ||\n    !metadata.authorization_endpoint ||\n    !metadata.token_endpoint ||\n    !metadata.jwks_uri\n  ) {\n    throw new OIDCError(\n      'OIDC discovery document is missing required fields',\n      'DISCOVERY_FAILED'\n    )\n  }\n\n  return metadata\n}\n\n/**\n * Get the discovery document for an issuer, using cache if available\n * @param issuer The OIDC issuer URL\n * @returns The discovery document\n */\nexport async function getDiscoveryDocument(\n  issuer: string\n): Promise<OIDCProviderMetadata> {\n  const cached = discoveryCache.get(issuer)\n  const now = Date.now()\n\n  if (cached && cached.expiresAt > now) {\n    return cached.metadata\n  }\n\n  const metadata = await fetchDiscoveryDocument(issuer)\n\n  discoveryCache.set(issuer, {\n    metadata,\n    fetchedAt: now,\n    expiresAt: now + CACHE_TTL_MS\n  })\n\n  return metadata\n}\n\n/**\n * Clear the discovery document cache\n * Useful for testing and when re-configuring OIDC\n */\nexport function clearDiscoveryCache(): void {\n  discoveryCache.clear()\n}\n"
  },
  {
    "path": "src/oidc/id-token-validation.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OIDCConfig, OIDCError, OIDCProviderMetadata } from './types'\n\n// Type imports for jose (for TypeScript)\nimport type { JSONWebKeySet as JoseJSONWebKeySet, JWTPayload } from 'jose'\n\n// Dynamic import for jose (ESM-only module)\n\ntype JoseModule = typeof import('jose')\nlet joseModule: JoseModule | null = null\n\nasync function getJose(): Promise<JoseModule> {\n  if (!joseModule) {\n    joseModule = await import('jose')\n  }\n  return joseModule\n}\n\n/**\n * JSON Web Key Set structure\n */\nexport interface JSONWebKeySet {\n  keys: Array<{\n    kty: string\n    kid?: string\n    use?: string\n    alg?: string\n    [key: string]: unknown\n  }>\n}\n\n/**\n * ID Token claims after validation\n */\nexport interface ValidatedIdTokenClaims {\n  iss: string\n  sub: string\n  aud: string | string[]\n  exp: number\n  iat: number\n  nonce?: string\n  email?: string\n  name?: string\n  preferred_username?: string\n  groups?: string[]\n  [key: string]: unknown\n}\n\n// Fetch function that can be overridden for testing\ntype FetchFn = typeof fetch\nlet fetchFn: FetchFn = fetch\n\n/**\n * Set the fetch function (for testing)\n */\nexport function setFetchFunction(fn: FetchFn): void {\n  fetchFn = fn\n}\n\n/**\n * Reset the fetch function to the default\n */\nexport function resetFetchFunction(): void {\n  fetchFn = fetch\n}\n\n// JWKS cache\ninterface JwksCache {\n  jwks: JSONWebKeySet\n  fetchedAt: number\n}\n\nconst jwksCache = new Map<string, JwksCache>()\nconst JWKS_CACHE_TTL_MS = 60 * 60 * 1000 // 1 hour\n\n/**\n * Clear the JWKS cache\n */\nexport function clearJwksCache(): void {\n  jwksCache.clear()\n}\n\n/**\n * Clear cached JWKS for a specific URI\n */\nfunction clearJwksCacheForUri(jwksUri: string): void {\n  jwksCache.delete(jwksUri)\n}\n\n/**\n * Fetch JWKS from the provider\n * @param metadata Provider metadata containing jwks_uri\n * @returns The JWKS\n */\nexport async function fetchJwks(\n  metadata: OIDCProviderMetadata\n): Promise<JSONWebKeySet> {\n  const cached = jwksCache.get(metadata.jwks_uri)\n  if (cached && Date.now() - cached.fetchedAt < JWKS_CACHE_TTL_MS) {\n    return cached.jwks\n  }\n\n  let response: Response\n  try {\n    response = await fetchFn(metadata.jwks_uri)\n  } catch (err) {\n    throw new OIDCError(\n      `Failed to fetch JWKS from ${metadata.jwks_uri}: ${err}`,\n      'DISCOVERY_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  if (!response.ok) {\n    throw new OIDCError(\n      `JWKS fetch failed with status ${response.status}`,\n      'DISCOVERY_FAILED'\n    )\n  }\n\n  let jwks: JSONWebKeySet\n  try {\n    jwks = (await response.json()) as JSONWebKeySet\n  } catch (err) {\n    throw new OIDCError(\n      'Failed to parse JWKS as JSON',\n      'DISCOVERY_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  // Cache the JWKS\n  jwksCache.set(metadata.jwks_uri, {\n    jwks,\n    fetchedAt: Date.now()\n  })\n\n  return jwks\n}\n\n/**\n * Check if an error is a signature verification failure that might be fixed\n * by refreshing the JWKS (e.g., key rotation occurred)\n */\nfunction isSignatureError(err: unknown): boolean {\n  if (!(err instanceof Error)) {\n    return false\n  }\n  const errorName = err.constructor.name\n  const errorMessage = err.message.toLowerCase()\n\n  // jose throws JWSSignatureVerificationFailed for signature issues\n  // Also check for \"signature\" in message for other cases\n  return (\n    errorName === 'JWSSignatureVerificationFailed' ||\n    errorName === 'JWSInvalid' ||\n    errorMessage.includes('signature') ||\n    errorMessage.includes('no applicable key') ||\n    errorMessage.includes('key not found')\n  )\n}\n\n/**\n * Validate an ID token according to OIDC spec\n *\n * Validates:\n * - Signature using provider's JWKS\n * - Issuer matches expected issuer\n * - Audience contains client_id\n * - Token is not expired (with 5 min clock skew tolerance)\n * - Nonce matches expected nonce\n *\n * If signature verification fails, the JWKS cache is cleared and validation\n * is retried once. This handles the case where the OIDC provider has rotated\n * keys since the JWKS was cached.\n *\n * @param idToken The ID token string\n * @param config OIDC configuration\n * @param metadata Provider metadata\n * @param expectedNonce The nonce from the auth state\n * @returns Validated claims from the ID token\n * @throws OIDCError if validation fails\n */\nexport async function validateIdToken(\n  idToken: string,\n  config: OIDCConfig,\n  metadata: OIDCProviderMetadata,\n  expectedNonce: string\n): Promise<ValidatedIdTokenClaims> {\n  // Dynamically import jose (ESM-only module)\n  const jose = await getJose()\n\n  // Try to verify, with one retry on signature failure (handles key rotation)\n  let payload: JWTPayload\n  let lastError: unknown\n\n  for (let attempt = 0; attempt < 2; attempt++) {\n    // Fetch JWKS (will use cache unless cleared)\n    const jwks = await fetchJwks(metadata)\n\n    // Create JWKS from the fetched keys\n    const keySet = jose.createLocalJWKSet(jwks as JoseJSONWebKeySet)\n\n    // Verify the token signature and decode claims\n    try {\n      const result = await jose.jwtVerify(idToken, keySet, {\n        issuer: config.issuer,\n        audience: config.clientId,\n        clockTolerance: 300 // 5 minutes clock skew tolerance\n      })\n      payload = result.payload\n      break // Success, exit retry loop\n    } catch (err) {\n      lastError = err\n\n      // On first attempt, if it's a signature error, clear cache and retry\n      if (attempt === 0 && isSignatureError(err)) {\n        clearJwksCacheForUri(metadata.jwks_uri)\n        continue // Retry with fresh JWKS\n      }\n\n      // Not a signature error or second attempt - process the error\n      const errorName = err instanceof Error ? err.constructor.name : ''\n      const errorMessage = err instanceof Error ? err.message.toLowerCase() : ''\n\n      if (errorName === 'JWTExpired') {\n        throw new OIDCError(\n          'ID token has expired',\n          'INVALID_TOKEN',\n          err instanceof Error ? err : undefined\n        )\n      }\n      if (errorName === 'JWTClaimValidationFailed') {\n        if (errorMessage.includes('iss') || errorMessage.includes('issuer')) {\n          // Decode token (without verification) to show actual issuer in error\n          let actualIssuer = 'unknown'\n          try {\n            const claims = jose.decodeJwt(idToken)\n            actualIssuer = String(claims.iss ?? 'unknown')\n          } catch {\n            // Ignore decode errors, use 'unknown'\n          }\n          throw new OIDCError(\n            `ID token issuer mismatch: expected '${config.issuer}', received '${actualIssuer}'`,\n            'INVALID_TOKEN',\n            err instanceof Error ? err : undefined\n          )\n        }\n        if (errorMessage.includes('aud') || errorMessage.includes('audience')) {\n          // Decode token (without verification) to show actual audience in error\n          let actualAudience = 'unknown'\n          try {\n            const claims = jose.decodeJwt(idToken)\n            actualAudience = Array.isArray(claims.aud)\n              ? claims.aud.join(', ')\n              : String(claims.aud ?? 'unknown')\n          } catch {\n            // Ignore decode errors, use 'unknown'\n          }\n          throw new OIDCError(\n            `ID token audience mismatch: expected '${config.clientId}', received '${actualAudience}'`,\n            'INVALID_TOKEN',\n            err instanceof Error ? err : undefined\n          )\n        }\n      }\n      throw new OIDCError(\n        `ID token validation failed: ${err}`,\n        'INVALID_TOKEN',\n        err instanceof Error ? err : undefined\n      )\n    }\n  }\n\n  // If we exit the loop without payload, something went wrong\n  if (!payload!) {\n    throw new OIDCError(\n      `ID token validation failed after retry: ${lastError}`,\n      'INVALID_TOKEN',\n      lastError instanceof Error ? lastError : undefined\n    )\n  }\n\n  // Validate nonce\n  if (payload.nonce !== expectedNonce) {\n    throw new OIDCError(\n      `ID token nonce mismatch: expected ${expectedNonce}, got ${payload.nonce}`,\n      'INVALID_TOKEN'\n    )\n  }\n\n  // Validate required claims exist\n  if (typeof payload.sub !== 'string' || !payload.sub) {\n    throw new OIDCError(\n      'ID token missing required \"sub\" claim',\n      'INVALID_TOKEN'\n    )\n  }\n\n  return payload as unknown as ValidatedIdTokenClaims\n}\n"
  },
  {
    "path": "src/oidc/index.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './types'\nexport * from './config'\nexport * from './pkce'\nexport * from './state'\nexport {\n  fetchDiscoveryDocument,\n  getDiscoveryDocument,\n  clearDiscoveryCache\n} from './discovery'\nexport * from './authorization'\nexport { exchangeAuthorizationCode, fetchUserinfo } from './token-exchange'\nexport {\n  validateIdToken,\n  fetchJwks,\n  clearJwksCache,\n  type ValidatedIdTokenClaims\n} from './id-token-validation'\nexport * from './user-info'\nexport {\n  registerOIDCRoutes,\n  findOrCreateOIDCUser,\n  validateAndMergeUserinfoClaims,\n  type OIDCAuthDependencies\n} from './oidc-auth'\nexport {\n  registerOIDCAdminRoutes,\n  type OIDCAdminDependencies,\n  type SecurityConfigForOIDC\n} from './oidc-admin'\nexport * from './permission-mapping'\n"
  },
  {
    "path": "src/oidc/oidc-admin.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Request, Response, IRouter } from 'express'\nimport { OIDCError, PartialOIDCConfig } from './types'\nimport { parseEnvConfig, validateOIDCConfig, mergeConfigs } from './config'\nimport { getDiscoveryDocument } from './discovery'\n\nconst SERVERROUTESPREFIX = '/skServer'\n\n/**\n * Security configuration structure (subset needed for OIDC admin).\n * Allows additional properties since the full security config has many fields.\n */\nexport interface SecurityConfigForOIDC {\n  oidc?: PartialOIDCConfig\n  [key: string]: unknown\n}\n\n/**\n * Dependencies injected by serverroutes for OIDC admin endpoints.\n */\nexport interface OIDCAdminDependencies {\n  /** Check if request is authorized for configuration changes */\n  allowConfigure: (req: Request) => boolean\n  /** Get the current security configuration */\n  getSecurityConfig: () => SecurityConfigForOIDC\n  /** Save the security configuration */\n  saveSecurityConfig: (\n    config: SecurityConfigForOIDC,\n    callback: (err?: Error | null) => void\n  ) => void\n  /** Update OIDC config in memory (clears cache so changes take effect immediately) */\n  updateOIDCConfig?: (newOidcConfig: PartialOIDCConfig) => void\n}\n\n/**\n * Admin response structure for GET /security/oidc\n * Includes UI metadata like envOverrides and clientSecretSet\n */\ninterface OIDCAdminResponse {\n  enabled: boolean\n  issuer: string\n  clientId: string\n  clientSecret: string // Always empty (redacted)\n  clientSecretSet: boolean\n  redirectUri: string\n  scope: string\n  defaultPermission: string\n  autoCreateUsers: boolean\n  adminGroups: string[]\n  readwriteGroups: string[]\n  groupsAttribute: string\n  providerName: string\n  autoLogin: boolean\n  envOverrides: Record<string, boolean>\n}\n\n/**\n * Build the admin response for GET /security/oidc\n * Reuses mergeConfigs() logic and adds UI metadata (envOverrides, clientSecretSet)\n */\nfunction buildOIDCAdminResponse(\n  securityConfig: SecurityConfigForOIDC\n): OIDCAdminResponse {\n  const oidcConfig = securityConfig.oidc || {}\n  const envConfig = parseEnvConfig()\n\n  // Build envOverrides to indicate which fields come from environment variables\n  const envOverrides: Record<string, boolean> = {}\n  const envFields: (keyof PartialOIDCConfig)[] = [\n    'enabled',\n    'issuer',\n    'clientId',\n    'clientSecret',\n    'redirectUri',\n    'scope',\n    'defaultPermission',\n    'autoCreateUsers',\n    'adminGroups',\n    'readwriteGroups',\n    'groupsAttribute',\n    'providerName',\n    'autoLogin'\n  ]\n\n  envFields.forEach((field) => {\n    if (envConfig[field] !== undefined) {\n      envOverrides[field] = true\n    }\n  })\n\n  // Use mergeConfigs to get the merged configuration (DRY)\n  const merged = mergeConfigs(oidcConfig, envConfig)\n\n  // Build response with redacted secret and UI metadata\n  return {\n    enabled: merged.enabled,\n    issuer: merged.issuer,\n    clientId: merged.clientId,\n    clientSecret: '', // Never send the actual secret\n    clientSecretSet: !!(envConfig.clientSecret || oidcConfig.clientSecret),\n    redirectUri: merged.redirectUri ?? '',\n    scope: merged.scope,\n    defaultPermission: merged.defaultPermission,\n    autoCreateUsers: merged.autoCreateUsers,\n    adminGroups: merged.adminGroups ?? [],\n    readwriteGroups: merged.readwriteGroups ?? [],\n    groupsAttribute: merged.groupsAttribute ?? 'groups',\n    providerName: merged.providerName,\n    autoLogin: merged.autoLogin,\n    envOverrides\n  }\n}\n\n/**\n * Helper to check authorization and send 401 if not allowed\n */\nfunction checkAllowConfigure(\n  req: Request,\n  res: Response,\n  deps: OIDCAdminDependencies\n): boolean {\n  if (deps.allowConfigure(req)) {\n    return true\n  }\n  res.status(401).json('Security config not allowed')\n  return false\n}\n\n/**\n * Parse groups from comma-separated string if provided that way\n */\nfunction parseGroupsIfString(groups: unknown): string[] | undefined {\n  if (typeof groups === 'string' && groups) {\n    return groups\n      .split(',')\n      .map((g) => g.trim())\n      .filter((g) => g.length > 0)\n  }\n  if (Array.isArray(groups)) {\n    return groups as string[]\n  }\n  return undefined\n}\n\n/**\n * Register OIDC admin routes for configuration management.\n * These endpoints are separate from the auth flow routes in oidc-auth.ts.\n */\nexport function registerOIDCAdminRoutes(\n  app: IRouter,\n  deps: OIDCAdminDependencies\n): void {\n  /**\n   * Get current OIDC configuration\n   * Returns config with secrets redacted and env override indicators\n   */\n  app.get(\n    `${SERVERROUTESPREFIX}/security/oidc`,\n    (req: Request, res: Response) => {\n      if (!checkAllowConfigure(req, res, deps)) {\n        return\n      }\n\n      const config = deps.getSecurityConfig()\n      const response = buildOIDCAdminResponse(config)\n      res.json(response)\n    }\n  )\n\n  /**\n   * Update OIDC configuration\n   * Validates config and saves to security.json\n   */\n  app.put(\n    `${SERVERROUTESPREFIX}/security/oidc`,\n    (req: Request, res: Response) => {\n      if (!checkAllowConfigure(req, res, deps)) {\n        return\n      }\n\n      const config = deps.getSecurityConfig()\n      const newOidcConfig = { ...req.body }\n\n      // Parse groups from comma-separated string if provided that way\n      const adminGroups = parseGroupsIfString(newOidcConfig.adminGroups)\n      if (adminGroups !== undefined) {\n        newOidcConfig.adminGroups = adminGroups\n      }\n      const readwriteGroups = parseGroupsIfString(newOidcConfig.readwriteGroups)\n      if (readwriteGroups !== undefined) {\n        newOidcConfig.readwriteGroups = readwriteGroups\n      }\n\n      // Fill in values from existing config or environment variables\n      // for fields the form left empty (e.g., secrets set via env var)\n      const envConfig = parseEnvConfig()\n      if (!newOidcConfig.clientSecret) {\n        newOidcConfig.clientSecret =\n          config.oidc?.clientSecret || envConfig.clientSecret\n      }\n      if (!newOidcConfig.redirectUri) {\n        newOidcConfig.redirectUri =\n          config.oidc?.redirectUri || envConfig.redirectUri\n      }\n\n      // Validate the configuration\n      try {\n        validateOIDCConfig(newOidcConfig)\n      } catch (err) {\n        if (err instanceof OIDCError) {\n          res.status(400).json({ error: err.message })\n          return\n        }\n        throw err\n      }\n\n      // Update the config\n      config.oidc = newOidcConfig\n\n      deps.saveSecurityConfig(config, (err) => {\n        if (err) {\n          console.log(err)\n          res.status(500).json({ error: 'Unable to save OIDC configuration' })\n          return\n        }\n        // Update in-memory config so changes take effect immediately\n        if (deps.updateOIDCConfig) {\n          deps.updateOIDCConfig(newOidcConfig)\n        }\n        res.json({ message: 'OIDC configuration saved' })\n      })\n    }\n  )\n\n  /**\n   * Test OIDC connection by fetching the discovery document\n   */\n  app.post(\n    `${SERVERROUTESPREFIX}/security/oidc/test`,\n    async (req: Request, res: Response) => {\n      if (!checkAllowConfigure(req, res, deps)) {\n        return\n      }\n\n      const { issuer } = req.body\n\n      if (!issuer) {\n        res.status(400).json({ error: 'Issuer URL is required' })\n        return\n      }\n\n      // Validate issuer is a valid URL\n      try {\n        new URL(issuer)\n      } catch {\n        res.status(400).json({ error: 'Invalid issuer URL format' })\n        return\n      }\n\n      try {\n        const metadata = await getDiscoveryDocument(issuer)\n        res.json({\n          success: true,\n          issuer: metadata.issuer,\n          authorization_endpoint: metadata.authorization_endpoint,\n          token_endpoint: metadata.token_endpoint,\n          userinfo_endpoint: metadata.userinfo_endpoint,\n          jwks_uri: metadata.jwks_uri\n        })\n      } catch (err) {\n        console.error('OIDC connection test failed:', err)\n        res.status(502).json({\n          error:\n            err instanceof Error\n              ? err.message\n              : 'Failed to fetch OIDC discovery document'\n        })\n      }\n    }\n  )\n}\n"
  },
  {
    "path": "src/oidc/oidc-auth.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Request, Response, IRouter } from 'express'\nimport { createDebug } from '../debug'\nimport {\n  OIDCError,\n  OIDCConfig,\n  OIDCUserInfo,\n  OIDCCryptoService,\n  ExternalUserService,\n  ExternalUser,\n  STATE_COOKIE_NAME,\n  STATE_MAX_AGE_MS\n} from './types'\nimport { isOIDCEnabled } from './config'\nimport {\n  createAuthState,\n  validateState,\n  encryptState,\n  decryptState\n} from './state'\nimport { getDiscoveryDocument } from './discovery'\nimport { buildAuthorizationUrl } from './authorization'\nimport { exchangeAuthorizationCode, fetchUserinfo } from './token-exchange'\nimport { validateIdToken } from './id-token-validation'\nimport { mapGroupsToPermission } from './permission-mapping'\n\nconst debug = createDebug('signalk-server:oidc-auth')\nconst skAuthPrefix = '/signalk/v1/auth'\n\n/**\n * Compare two arrays for equality, ignoring order\n */\nfunction arraysEqualIgnoringOrder(\n  arr1: string[] | undefined,\n  arr2: string[] | undefined\n): boolean {\n  if (arr1 === arr2) return true\n  if (!arr1 || !arr2) return arr1 === arr2\n  if (arr1.length !== arr2.length) return false\n  const sorted1 = [...arr1].sort()\n  const sorted2 = [...arr2].sort()\n  return sorted1.every((val, idx) => val === sorted2[idx])\n}\n\n/**\n * Validate and merge userinfo claims into ID token claims.\n *\n * Security considerations:\n * - Validates that userinfo sub matches ID token sub (OIDC Core spec requirement)\n * - Only merges safe claims (email, name, preferred_username, groups)\n * - Does NOT allow userinfo to overwrite security-critical claims (sub, iss, aud, nonce)\n *\n * @param idTokenClaims The validated claims from the ID token\n * @param userinfoClaims The claims from the userinfo endpoint\n * @param groupsAttribute The attribute name for groups (default: 'groups')\n * @throws OIDCError if userinfo sub doesn't match ID token sub\n */\nexport function validateAndMergeUserinfoClaims(\n  idTokenClaims: Record<string, unknown>,\n  userinfoClaims: Record<string, unknown>,\n  groupsAttribute: string = 'groups'\n): void {\n  // Validate that userinfo sub matches ID token sub (OIDC Core spec requirement)\n  if (userinfoClaims.sub && userinfoClaims.sub !== idTokenClaims.sub) {\n    throw new OIDCError(\n      'Userinfo sub does not match ID token sub',\n      'INVALID_TOKEN'\n    )\n  }\n\n  // Only merge specific safe claims - don't allow userinfo to overwrite\n  // security-critical claims like sub, iss, aud, nonce, etc.\n  const safeClaims = ['email', 'name', 'preferred_username', groupsAttribute]\n\n  for (const claim of safeClaims) {\n    if (userinfoClaims[claim] !== undefined) {\n      idTokenClaims[claim] = userinfoClaims[claim]\n    }\n  }\n}\n\n/**\n * Dependencies injected by tokensecurity.\n * This interface defines the contract between tokensecurity and OIDC authentication.\n */\nexport interface OIDCAuthDependencies {\n  /** Get parsed OIDC configuration */\n  getOIDCConfig: () => OIDCConfig\n  /** Set session cookies after successful authentication */\n  setSessionCookie: (\n    res: Response,\n    req: Request,\n    token: string,\n    username: string,\n    options?: { rememberMe?: boolean }\n  ) => void\n  /** Clear session cookies on logout */\n  clearSessionCookie: (res: Response) => void\n  /** Generate a JWT for a user */\n  generateJWT: (userId: string, expiration?: string) => string\n  /**\n   * Crypto service for OIDC state encryption.\n   * Provides a derived secret - OIDC handles its own encryption.\n   */\n  cryptoService: OIDCCryptoService\n  /**\n   * User service for external authentication providers.\n   * Abstracts user storage so OIDC doesn't need to know about\n   * the underlying storage mechanism.\n   */\n  userService: ExternalUserService\n}\n\n/**\n * Validate that a URL is a safe relative path (prevents open redirect attacks)\n */\nfunction isSafeRelativeUrl(url: unknown): url is string {\n  if (typeof url !== 'string' || !url) {\n    return false\n  }\n  // Must start with / but not // (which would be protocol-relative URL)\n  // Also reject URLs with backslashes or control characters\n  const hasControlChars = url.split('').some((char) => {\n    const code = char.charCodeAt(0)\n    return code >= 0 && code <= 31\n  })\n  return (\n    url.startsWith('/') &&\n    !url.startsWith('//') &&\n    !url.includes('\\\\') &&\n    !hasControlChars\n  )\n}\n\n/**\n * Find or create a user from OIDC authentication.\n * This function looks up existing users by OIDC subject+issuer, or creates\n * a new user if auto-creation is enabled.\n *\n * For existing users, permissions are recalculated on each login based on\n * current group memberships. This allows permission changes to take effect\n * when group assignments change in the identity provider.\n */\nexport async function findOrCreateOIDCUser(\n  userInfo: OIDCUserInfo,\n  oidcConfig: OIDCConfig,\n  deps: Pick<OIDCAuthDependencies, 'userService'>\n): Promise<ExternalUser | null> {\n  const issuer = oidcConfig.issuer\n\n  // Calculate permission based on user's groups\n  const mappedPermission = mapGroupsToPermission(userInfo.groups, oidcConfig)\n\n  // Build OIDC metadata to store with user\n  const oidcMetadata = {\n    sub: userInfo.sub,\n    issuer,\n    email: userInfo.email,\n    name: userInfo.name,\n    groups: userInfo.groups\n  }\n\n  // Look for existing user by OIDC sub + issuer\n  const user = await deps.userService.findUserByProvider({\n    provider: 'oidc',\n    criteria: { sub: userInfo.sub, issuer }\n  })\n\n  if (user) {\n    debug(`OIDC: found existing user ${user.username}`)\n\n    // Check if anything changed\n    const existingOidc = user.providerData as typeof oidcMetadata | undefined\n    const previousPermission = user.type\n    const permissionChanged = previousPermission !== mappedPermission\n    const metadataChanged =\n      existingOidc?.email !== oidcMetadata.email ||\n      existingOidc?.name !== oidcMetadata.name ||\n      !arraysEqualIgnoringOrder(existingOidc?.groups, oidcMetadata.groups)\n\n    if (permissionChanged) {\n      debug(\n        `OIDC: updating user ${user.username} permission from ${previousPermission} to ${mappedPermission}`\n      )\n    }\n\n    // Only save if something changed\n    if (permissionChanged || metadataChanged) {\n      try {\n        await deps.userService.updateUser(user.username, {\n          type: mappedPermission,\n          providerData: { oidc: oidcMetadata }\n        })\n        // Update local reference for return\n        user.type = mappedPermission\n        user.providerData = oidcMetadata\n      } catch (err) {\n        console.error('Failed to update OIDC user:', err)\n      }\n    }\n\n    return user\n  }\n\n  // User not found - check if auto-creation is enabled\n  if (!oidcConfig.autoCreateUsers) {\n    debug('OIDC: user not found and auto-creation disabled')\n    return null\n  }\n\n  // Create new user\n  const username =\n    userInfo.preferredUsername || userInfo.email || `oidc-${userInfo.sub}`\n\n  // Check for username collision with non-OIDC user\n  const existingUser = await deps.userService.findUserByUsername(username)\n  // Only consider it a collision if the existing user is NOT an OIDC user\n  const isCollision = existingUser && !existingUser.providerData\n  const finalUsername = isCollision\n    ? `${username}-${userInfo.sub.substring(0, 8)}`\n    : username\n\n  const newUser: ExternalUser = {\n    username: finalUsername,\n    type: mappedPermission,\n    providerData: { oidc: oidcMetadata }\n  }\n\n  debug(\n    `OIDC: creating new user ${newUser.username} with permission ${newUser.type}`\n  )\n\n  try {\n    await deps.userService.createUser(newUser)\n  } catch (err) {\n    console.error('Failed to create OIDC user:', err)\n    throw err\n  }\n\n  return newUser\n}\n\n/**\n * Register OIDC authentication routes.\n * This function adds the OIDC login, callback, and status endpoints to the Express app.\n */\nexport function registerOIDCRoutes(\n  app: IRouter,\n  deps: OIDCAuthDependencies\n): void {\n  // OIDC login route - initiates the OIDC flow\n  app.get(`${skAuthPrefix}/oidc/login`, async (req: Request, res: Response) => {\n    try {\n      const oidcConfig = deps.getOIDCConfig()\n      if (!isOIDCEnabled(oidcConfig)) {\n        res.status(500).json({ error: 'OIDC is not configured' })\n        return\n      }\n\n      const metadata = await getDiscoveryDocument(oidcConfig.issuer)\n\n      // Use the configured redirect URI (required by validation)\n      const redirectUri = oidcConfig.redirectUri\n\n      // Store original destination (validated to prevent open redirect attacks)\n      const requestedRedirect = req.query.redirect\n      const originalUrl = isSafeRelativeUrl(requestedRedirect)\n        ? requestedRedirect\n        : '/'\n\n      // Create auth state\n      const authState = createAuthState(redirectUri, originalUrl)\n\n      // Encrypt and store state in cookie using derived secret\n      const stateSecret = deps.cryptoService.getStateEncryptionSecret()\n      const encryptedState = encryptState(authState, stateSecret)\n\n      res.cookie(STATE_COOKIE_NAME, encryptedState, {\n        httpOnly: true,\n        secure: req.secure || req.headers['x-forwarded-proto'] === 'https',\n        sameSite: 'lax',\n        maxAge: STATE_MAX_AGE_MS\n      })\n\n      // Build and redirect to authorization URL\n      const authUrl = buildAuthorizationUrl(oidcConfig, metadata, authState)\n      debug(`OIDC: redirecting to ${authUrl}`)\n      res.redirect(authUrl)\n    } catch (err) {\n      console.error('OIDC login error:', err)\n      res.status(500).json({\n        error: 'OIDC login failed',\n        message: err instanceof Error ? err.message : String(err)\n      })\n    }\n  })\n\n  // OIDC callback route - handles the response from the OIDC provider\n  app.get(\n    `${skAuthPrefix}/oidc/callback`,\n    async (req: Request, res: Response) => {\n      // Helper to redirect to login page with error (better UX for browser-based login)\n      const redirectWithError = (message: string) => {\n        const errorParam = encodeURIComponent(message)\n        res.redirect(`/admin/#/login?oidcError=true&message=${errorParam}`)\n      }\n\n      try {\n        const { code, state, error, error_description } = req.query as Record<\n          string,\n          string\n        >\n\n        // Check for OIDC error from provider\n        if (error) {\n          res.clearCookie(STATE_COOKIE_NAME)\n          console.error(`OIDC error: ${error} - ${error_description}`)\n          redirectWithError(error_description || error)\n          return\n        }\n\n        // Validate required parameters\n        if (!code || !state) {\n          res.clearCookie(STATE_COOKIE_NAME)\n          redirectWithError('Missing code or state parameter')\n          return\n        }\n\n        // Get and validate stored state\n        const stateCookie = req.cookies[STATE_COOKIE_NAME]\n        if (!stateCookie) {\n          redirectWithError('Session expired. Please try again.')\n          return\n        }\n\n        // Decrypt state using derived secret\n        const stateSecret = deps.cryptoService.getStateEncryptionSecret()\n        let authState\n        try {\n          authState = decryptState(stateCookie, stateSecret)\n          validateState(state, authState)\n        } catch (err) {\n          res.clearCookie(STATE_COOKIE_NAME)\n          console.error('OIDC state validation failed:', err)\n          redirectWithError(\n            err instanceof OIDCError\n              ? err.message\n              : 'Session expired or invalid'\n          )\n          return\n        }\n\n        const oidcConfig = deps.getOIDCConfig()\n        if (!isOIDCEnabled(oidcConfig)) {\n          redirectWithError('OIDC is not configured')\n          return\n        }\n        const metadata = await getDiscoveryDocument(oidcConfig.issuer)\n\n        // Exchange code for tokens\n        const tokens = await exchangeAuthorizationCode(\n          code,\n          oidcConfig,\n          metadata,\n          authState\n        )\n\n        // Validate ID token signature and claims (including nonce)\n        const claims = await validateIdToken(\n          tokens.idToken,\n          oidcConfig,\n          metadata,\n          authState.nonce\n        )\n\n        // Fetch additional claims from userinfo endpoint\n        // ID token typically only contains minimal claims; userinfo has groups, email, etc.\n        const userinfoClaims = await fetchUserinfo(\n          tokens.accessToken,\n          metadata,\n          oidcConfig.issuer\n        )\n        if (userinfoClaims) {\n          validateAndMergeUserinfoClaims(\n            claims,\n            userinfoClaims,\n            oidcConfig.groupsAttribute\n          )\n        }\n\n        // Clear state cookie after successful validation\n        res.clearCookie(STATE_COOKIE_NAME)\n\n        // Extract user info from validated claims\n        // Use configured groupsAttribute or default to 'groups'\n        const groupsAttr = oidcConfig.groupsAttribute || 'groups'\n        const rawGroups = claims[groupsAttr]\n        // Normalize groups: handle array, single string, or undefined\n        let groups: string[] | undefined\n        if (Array.isArray(rawGroups)) {\n          groups = rawGroups as string[]\n        } else if (typeof rawGroups === 'string' && rawGroups.length > 0) {\n          groups = [rawGroups]\n        }\n\n        const userInfo: OIDCUserInfo = {\n          sub: claims.sub as string,\n          email: claims.email as string | undefined,\n          name: claims.name as string | undefined,\n          preferredUsername: claims.preferred_username as string | undefined,\n          groups\n        }\n        debug(`OIDC: user authenticated: ${userInfo.sub}`)\n\n        // Find or create user\n        const user = await findOrCreateOIDCUser(userInfo, oidcConfig, deps)\n        if (!user) {\n          redirectWithError('User auto-creation is disabled')\n          return\n        }\n\n        // Issue local JWT token\n        const token = deps.generateJWT(user.username)\n\n        // Set session cookies using the shared helper (fixes security issue!)\n        deps.setSessionCookie(res, req, token, user.username, {\n          rememberMe: true\n        })\n\n        // Redirect to original destination\n        res.redirect(authState.originalUrl)\n      } catch (err) {\n        console.error('OIDC callback error:', err)\n        redirectWithError(\n          err instanceof Error ? err.message : 'Authentication failed'\n        )\n      }\n    }\n  )\n\n  // OIDC status endpoint - returns OIDC configuration status (used by login page)\n  app.get(`${skAuthPrefix}/oidc/status`, (_req: Request, res: Response) => {\n    try {\n      const oidcConfig = deps.getOIDCConfig()\n      res.json({\n        enabled: isOIDCEnabled(oidcConfig),\n        issuer: oidcConfig.enabled ? oidcConfig.issuer : undefined,\n        loginUrl: oidcConfig.enabled ? `${skAuthPrefix}/oidc/login` : undefined,\n        providerName: oidcConfig.enabled ? oidcConfig.providerName : undefined,\n        autoLogin: oidcConfig.enabled ? oidcConfig.autoLogin : false\n      })\n    } catch (_err) {\n      res.json({ enabled: false })\n    }\n  })\n\n  // OIDC logout endpoint - clears local session and optionally redirects to provider logout\n  app.get(\n    `${skAuthPrefix}/oidc/logout`,\n    async (req: Request, res: Response) => {\n      try {\n        // Clear local session cookies\n        deps.clearSessionCookie(res)\n\n        // Get post-logout redirect URI (validated to prevent open redirect attacks)\n        const requestedRedirect = req.query.redirect\n        const postLogoutRedirect = isSafeRelativeUrl(requestedRedirect)\n          ? requestedRedirect\n          : '/'\n\n        // Check if OIDC is enabled and provider supports RP-initiated logout\n        const oidcConfig = deps.getOIDCConfig()\n        if (!isOIDCEnabled(oidcConfig)) {\n          // OIDC not enabled, just redirect locally\n          res.redirect(postLogoutRedirect)\n          return\n        }\n\n        // Fetch discovery document to check for end_session_endpoint\n        let metadata\n        try {\n          metadata = await getDiscoveryDocument(oidcConfig.issuer)\n        } catch (err) {\n          debug('OIDC: failed to fetch discovery document for logout:', err)\n          // Fall back to local redirect\n          res.redirect(postLogoutRedirect)\n          return\n        }\n\n        if (!metadata.end_session_endpoint) {\n          // Provider doesn't support RP-initiated logout\n          debug('OIDC: provider does not support end_session_endpoint')\n          res.redirect(postLogoutRedirect)\n          return\n        }\n\n        // Build logout URL with post_logout_redirect_uri\n        // Derive origin from configured redirectUri to avoid Host header injection\n        const redirectOrigin = new URL(oidcConfig.redirectUri).origin\n        const fullPostLogoutUri = `${redirectOrigin}${postLogoutRedirect}`\n\n        const logoutUrl = new URL(metadata.end_session_endpoint)\n        logoutUrl.searchParams.set(\n          'post_logout_redirect_uri',\n          fullPostLogoutUri\n        )\n        // Note: We don't send id_token_hint as we don't persist the ID token\n        // The provider should still be able to identify the session via cookies\n\n        debug(`OIDC: redirecting to logout URL: ${logoutUrl.toString()}`)\n        res.redirect(logoutUrl.toString())\n      } catch (err) {\n        console.error('OIDC logout error:', err)\n        // On error, still clear cookies and redirect to home\n        deps.clearSessionCookie(res)\n        res.redirect('/')\n      }\n    }\n  )\n}\n"
  },
  {
    "path": "src/oidc/permission-mapping.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { OIDCConfig, SignalKPermission } from './types'\n\n/**\n * Check if two arrays have any common elements\n */\nfunction hasIntersection(arr1: string[], arr2: string[]): boolean {\n  const set1 = new Set(arr1)\n  return arr2.some((item) => set1.has(item))\n}\n\n/**\n * Map OIDC groups to Signal K permission level\n *\n * Priority:\n * 1. If user is in any admin group → 'admin'\n * 2. Else if user is in any readwrite group → 'readwrite'\n * 3. Else → defaultPermission (typically 'readonly')\n *\n * **Limitations:**\n * - Group matching is **case-sensitive** (e.g., 'Admins' ≠ 'admins')\n * - Groups must be present in the **ID token** (not userinfo endpoint)\n * - Use `groupsAttribute` config to specify a custom claim name\n *\n * @param userGroups - Groups the user belongs to (from OIDC claims)\n * @param config - OIDC configuration with group mappings\n * @returns The mapped permission level\n */\nexport function mapGroupsToPermission(\n  userGroups: string[] | undefined,\n  config: OIDCConfig\n): SignalKPermission {\n  // If user has no groups, return default permission\n  if (!userGroups || userGroups.length === 0) {\n    return config.defaultPermission\n  }\n\n  // Check admin groups first (highest priority)\n  if (config.adminGroups && config.adminGroups.length > 0) {\n    if (hasIntersection(userGroups, config.adminGroups)) {\n      return 'admin'\n    }\n  }\n\n  // Check readwrite groups\n  if (config.readwriteGroups && config.readwriteGroups.length > 0) {\n    if (hasIntersection(userGroups, config.readwriteGroups)) {\n      return 'readwrite'\n    }\n  }\n\n  // Fall back to default permission\n  return config.defaultPermission\n}\n"
  },
  {
    "path": "src/oidc/pkce.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { randomBytes, createHash } from 'crypto'\n\n/**\n * Generate a cryptographically random code verifier for PKCE\n * Per RFC 7636, the code verifier must be:\n * - 43-128 characters long\n * - Use only unreserved URI characters: [A-Za-z0-9-._~]\n */\nexport function generateCodeVerifier(): string {\n  // Generate 48 bytes of random data, which will produce 64 base64url chars\n  const buffer = randomBytes(48)\n  return buffer.toString('base64url').slice(0, 64) // Use 64 characters (within 43-128 range)\n}\n\n/**\n * Calculate the code challenge from a code verifier using S256 method\n * Per RFC 7636: code_challenge = BASE64URL(SHA256(code_verifier))\n * @param verifier The code verifier string\n * @returns The code challenge (base64url-encoded SHA256 hash)\n */\nexport function calculateCodeChallenge(verifier: string): string {\n  return createHash('sha256').update(verifier).digest('base64url')\n}\n"
  },
  {
    "path": "src/oidc/state.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n  randomBytes,\n  createCipheriv,\n  createDecipheriv,\n  createHash\n} from 'crypto'\nimport { OIDCAuthState, OIDCError, STATE_MAX_AGE_MS } from './types'\nimport { generateCodeVerifier } from './pkce'\n\nconst ALGORITHM = 'aes-256-gcm'\nconst IV_LENGTH = 16\nconst AUTH_TAG_LENGTH = 16\n\n/**\n * Generate a cryptographically random state parameter\n * Used for CSRF protection in OAuth2 flows\n */\nexport function generateState(): string {\n  return randomBytes(32).toString('base64url')\n}\n\n/**\n * Generate a cryptographically random nonce\n * Used for ID token replay protection\n */\nexport function generateNonce(): string {\n  return randomBytes(32).toString('base64url')\n}\n\n/**\n * Create a complete auth state object for the OIDC flow\n */\nexport function createAuthState(\n  redirectUri: string,\n  originalUrl: string\n): OIDCAuthState {\n  return {\n    state: generateState(),\n    codeVerifier: generateCodeVerifier(),\n    nonce: generateNonce(),\n    redirectUri,\n    originalUrl,\n    createdAt: Date.now()\n  }\n}\n\n/**\n * Validate that the returned state matches the stored state\n * and that the state hasn't expired\n */\nexport function validateState(\n  returnedState: string,\n  storedState: OIDCAuthState\n): void {\n  if (returnedState !== storedState.state) {\n    throw new OIDCError(\n      'State mismatch - possible CSRF attack',\n      'INVALID_STATE'\n    )\n  }\n\n  const age = Date.now() - storedState.createdAt\n  if (age > STATE_MAX_AGE_MS) {\n    throw new OIDCError(\n      `State expired (${Math.round(age / 1000)}s old, max ${STATE_MAX_AGE_MS / 1000}s)`,\n      'STATE_EXPIRED'\n    )\n  }\n}\n\n/**\n * Derive a 32-byte encryption key from the secret key\n */\nfunction deriveKey(secretKey: string): Buffer {\n  return createHash('sha256').update(secretKey).digest()\n}\n\n/**\n * Encrypt the auth state for storage in a cookie\n * Uses AES-256-GCM for authenticated encryption\n */\nexport function encryptState(state: OIDCAuthState, secretKey: string): string {\n  const key = deriveKey(secretKey)\n  const iv = randomBytes(IV_LENGTH)\n  const cipher = createCipheriv(ALGORITHM, key, iv)\n\n  const plaintext = JSON.stringify(state)\n  const encrypted = Buffer.concat([\n    cipher.update(plaintext, 'utf8'),\n    cipher.final()\n  ])\n  const authTag = cipher.getAuthTag()\n\n  // Combine IV + authTag + ciphertext\n  const combined = Buffer.concat([iv, authTag, encrypted])\n  return combined.toString('base64url')\n}\n\n/**\n * Decrypt the auth state from a cookie\n */\nexport function decryptState(\n  encryptedState: string,\n  secretKey: string\n): OIDCAuthState {\n  const key = deriveKey(secretKey)\n  const combined = Buffer.from(encryptedState, 'base64url')\n\n  // Extract IV, authTag, and ciphertext\n  const iv = combined.subarray(0, IV_LENGTH)\n  const authTag = combined.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH)\n  const ciphertext = combined.subarray(IV_LENGTH + AUTH_TAG_LENGTH)\n\n  const decipher = createDecipheriv(ALGORITHM, key, iv)\n  decipher.setAuthTag(authTag)\n\n  const decrypted = Buffer.concat([\n    decipher.update(ciphertext),\n    decipher.final()\n  ])\n\n  return JSON.parse(decrypted.toString('utf8')) as OIDCAuthState\n}\n"
  },
  {
    "path": "src/oidc/token-exchange.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n  OIDCAuthState,\n  OIDCConfig,\n  OIDCError,\n  OIDCProviderMetadata,\n  OIDCTokens\n} from './types'\n\n// Fetch function that can be overridden for testing\ntype FetchFn = typeof fetch\nlet fetchFn: FetchFn = fetch\n\n/**\n * Set the fetch function (for testing)\n */\nexport function setFetchFunction(fn: FetchFn): void {\n  fetchFn = fn\n}\n\n/**\n * Reset the fetch function to the default\n */\nexport function resetFetchFunction(): void {\n  fetchFn = fetch\n}\n\n/**\n * Exchange an authorization code for tokens\n * @param code The authorization code from the callback\n * @param config OIDC configuration\n * @param metadata Discovery document metadata\n * @param authState The auth state containing code verifier\n * @returns The token response\n * @throws OIDCError if the exchange fails\n */\nexport async function exchangeAuthorizationCode(\n  code: string,\n  config: OIDCConfig,\n  metadata: OIDCProviderMetadata,\n  authState: OIDCAuthState\n): Promise<OIDCTokens> {\n  const params = new URLSearchParams()\n  params.set('grant_type', 'authorization_code')\n  params.set('code', code)\n  params.set('redirect_uri', authState.redirectUri)\n  params.set('client_id', config.clientId)\n  params.set('client_secret', config.clientSecret)\n  params.set('code_verifier', authState.codeVerifier)\n\n  let response: Response\n  try {\n    response = await fetchFn(metadata.token_endpoint, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/x-www-form-urlencoded'\n      },\n      body: params.toString()\n    })\n  } catch (err) {\n    throw new OIDCError(\n      `Token exchange request failed: ${err}`,\n      'TOKEN_EXCHANGE_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  let body: {\n    access_token?: string\n    id_token?: string\n    refresh_token?: string\n    expires_in?: number\n    token_type?: string\n    error?: string\n    error_description?: string\n  }\n  try {\n    body = (await response.json()) as typeof body\n  } catch (err) {\n    throw new OIDCError(\n      'Failed to parse token response as JSON',\n      'TOKEN_EXCHANGE_FAILED',\n      err instanceof Error ? err : undefined\n    )\n  }\n\n  if (!response.ok) {\n    const errorMessage = body.error_description || body.error || 'Unknown error'\n    throw new OIDCError(\n      `Token exchange failed: ${body.error} - ${errorMessage}`,\n      'TOKEN_EXCHANGE_FAILED'\n    )\n  }\n\n  // Validate response structure\n  if (!body.access_token || !body.id_token) {\n    throw new OIDCError(\n      'Token response missing required fields (access_token, id_token)',\n      'TOKEN_EXCHANGE_FAILED'\n    )\n  }\n\n  return {\n    accessToken: body.access_token,\n    idToken: body.id_token,\n    refreshToken: body.refresh_token,\n    expiresIn: body.expires_in,\n    tokenType: body.token_type || 'Bearer'\n  }\n}\n\n/**\n * Fetch additional claims from the userinfo endpoint\n *\n * The ID token typically only contains minimal claims (sub, iss, aud, etc.).\n * Claims like groups, email, name are returned via the userinfo endpoint.\n *\n * @param accessToken The access token from the token response\n * @param metadata Discovery document metadata containing userinfo_endpoint\n * @param issuer The configured OIDC issuer URL (for hostname validation)\n * @returns Additional claims from the userinfo endpoint, or undefined if unavailable\n */\nexport async function fetchUserinfo(\n  accessToken: string,\n  metadata: OIDCProviderMetadata,\n  issuer: string\n): Promise<Record<string, unknown> | undefined> {\n  // Not all providers have a userinfo endpoint\n  if (!metadata.userinfo_endpoint) {\n    return undefined\n  }\n\n  // Security: validate userinfo endpoint hostname matches issuer hostname\n  // This prevents a malicious discovery document from redirecting userinfo\n  // requests to an attacker-controlled server\n  try {\n    const issuerHost = new URL(issuer).hostname\n    const userinfoHost = new URL(metadata.userinfo_endpoint).hostname\n    if (issuerHost !== userinfoHost) {\n      console.warn(\n        `OIDC: Userinfo endpoint hostname (${userinfoHost}) does not match issuer hostname (${issuerHost})`\n      )\n      return undefined\n    }\n  } catch (err) {\n    console.warn(`OIDC: Failed to validate userinfo endpoint URL: ${err}`)\n    return undefined\n  }\n\n  let response: Response\n  try {\n    response = await fetchFn(metadata.userinfo_endpoint, {\n      method: 'GET',\n      headers: {\n        Authorization: `Bearer ${accessToken}`\n      }\n    })\n  } catch (err) {\n    // Non-fatal: continue with ID token claims only\n    console.warn(\n      `OIDC: Failed to fetch userinfo: ${err instanceof Error ? err.message : err}`\n    )\n    return undefined\n  }\n\n  if (!response.ok) {\n    console.warn(`OIDC: Userinfo request failed with status ${response.status}`)\n    return undefined\n  }\n\n  try {\n    return (await response.json()) as Record<string, unknown>\n  } catch (err) {\n    console.warn(\n      `OIDC: Failed to parse userinfo response: ${err instanceof Error ? err.message : err}`\n    )\n    return undefined\n  }\n}\n"
  },
  {
    "path": "src/oidc/types.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Signal K permission type\n */\nexport type SignalKPermission = 'readonly' | 'readwrite' | 'admin'\n\n/**\n * OIDC Configuration - merged from environment variables and security.json\n */\nexport interface OIDCConfig {\n  enabled: boolean\n  issuer: string\n  clientId: string\n  clientSecret: string\n  redirectUri: string\n  scope: string\n  defaultPermission: SignalKPermission\n  autoCreateUsers: boolean\n  /** Groups that grant admin permission */\n  adminGroups?: string[]\n  /** Groups that grant readwrite permission */\n  readwriteGroups?: string[]\n  /**\n   * ID token claim key for groups (default: 'groups').\n   * Common alternatives: 'roles', 'memberOf', 'cognito:groups'\n   * Note: Groups must be present in the ID token, not the userinfo endpoint.\n   * Both array and single string values are supported.\n   */\n  groupsAttribute?: string\n  /**\n   * Display name for the OIDC provider shown on the login button.\n   * Default: 'SSO Login'\n   */\n  providerName: string\n  /**\n   * If true, automatically redirect to OIDC login when not authenticated.\n   * Default: false\n   */\n  autoLogin: boolean\n}\n\n/**\n * Partial OIDC config for merging from different sources\n */\nexport interface PartialOIDCConfig {\n  enabled?: boolean\n  issuer?: string\n  clientId?: string\n  clientSecret?: string\n  redirectUri?: string\n  scope?: string\n  defaultPermission?: SignalKPermission\n  autoCreateUsers?: boolean\n  adminGroups?: string[]\n  readwriteGroups?: string[]\n  groupsAttribute?: string\n  providerName?: string\n  autoLogin?: boolean\n}\n\n/**\n * OIDC Authorization State - stored in cookie during auth flow\n */\nexport interface OIDCAuthState {\n  state: string\n  codeVerifier: string\n  nonce: string\n  redirectUri: string\n  originalUrl: string\n  createdAt: number\n}\n\n/**\n * OIDC Token Response\n */\nexport interface OIDCTokens {\n  accessToken: string\n  idToken: string\n  refreshToken?: string\n  expiresIn?: number\n  tokenType: string\n}\n\n/**\n * OIDC User Info - extracted from ID token or userinfo endpoint\n */\nexport interface OIDCUserInfo {\n  sub: string\n  email?: string\n  name?: string\n  preferredUsername?: string\n  groups?: string[]\n}\n\n/**\n * OIDC user identifier stored in security.json\n */\nexport interface OIDCUserIdentifier {\n  sub: string\n  issuer: string\n}\n\n/**\n * Discovery document cache entry\n */\nexport interface DiscoveryCache {\n  metadata: OIDCProviderMetadata\n  fetchedAt: number\n  expiresAt: number\n}\n\n/**\n * OIDC Provider Metadata (subset of OpenID Discovery)\n */\nexport interface OIDCProviderMetadata {\n  issuer: string\n  authorization_endpoint: string\n  token_endpoint: string\n  userinfo_endpoint?: string\n  jwks_uri: string\n  response_types_supported: string[]\n  code_challenge_methods_supported?: string[]\n  /** Endpoint for RP-initiated logout (optional, not all providers support) */\n  end_session_endpoint?: string\n}\n\n/**\n * OIDC Error codes\n */\nexport type OIDCErrorCode =\n  | 'DISCOVERY_FAILED'\n  | 'INVALID_STATE'\n  | 'STATE_EXPIRED'\n  | 'INVALID_TOKEN'\n  | 'TOKEN_EXCHANGE_FAILED'\n  | 'USER_INFO_FAILED'\n  | 'CONFIG_INVALID'\n  | 'PKCE_FAILED'\n  | 'NOT_CONFIGURED'\n  | 'USER_CREATION_DENIED'\n\n/**\n * OIDC Error class\n */\nexport class OIDCError extends Error {\n  constructor(\n    message: string,\n    public code: OIDCErrorCode,\n    public cause?: Error\n  ) {\n    super(message)\n    this.name = 'OIDCError'\n    Error.captureStackTrace(this, OIDCError)\n  }\n}\n\n/**\n * Default OIDC configuration values\n */\nexport const OIDC_DEFAULTS: Omit<\n  OIDCConfig,\n  'issuer' | 'clientId' | 'clientSecret' | 'redirectUri'\n> = {\n  enabled: false,\n  scope: 'openid email profile',\n  defaultPermission: 'readonly',\n  autoCreateUsers: true,\n  providerName: 'SSO Login',\n  autoLogin: false\n}\n\n/**\n * State cookie configuration\n */\nexport const STATE_COOKIE_NAME = 'OIDC_STATE'\nexport const STATE_MAX_AGE_MS = 10 * 60 * 1000 // 10 minutes\n\n/**\n * Crypto service interface for OIDC state encryption.\n *\n * tokensecurity implements this by providing a derived secret.\n * OIDC handles its own encryption - tokensecurity knows nothing\n * about OIDC state structure (separation of concerns).\n */\nexport interface OIDCCryptoService {\n  /**\n   * Get the secret for OIDC state encryption.\n   * This is derived from the master secret, ensuring OIDC\n   * never has access to the JWT signing key.\n   */\n  getStateEncryptionSecret(): string\n}\n\n/**\n * Criteria for looking up users by external provider metadata.\n * Designed to support multiple auth providers, not just OIDC.\n */\nexport interface ProviderUserLookup {\n  /** Provider identifier (e.g., 'oidc', 'ldap', 'saml') */\n  provider: string\n  /** Provider-specific lookup criteria */\n  criteria: Record<string, string> // e.g., { sub: '...', issuer: '...' }\n}\n\n/**\n * Generic user service interface for external authentication providers.\n * Named generically to support future auth providers beyond OIDC.\n *\n * This interface abstracts user storage so authentication providers\n * don't need to know about the underlying storage mechanism\n * (array, SQLite, PostgreSQL, etc.).\n */\nexport interface ExternalUserService {\n  /** Find a user by external provider metadata */\n  findUserByProvider(lookup: ProviderUserLookup): Promise<ExternalUser | null>\n\n  /** Find a user by username (for collision detection) */\n  findUserByUsername(username: string): Promise<ExternalUser | null>\n\n  /** Create a new user */\n  createUser(user: ExternalUser): Promise<void>\n\n  /** Update an existing user's type and/or provider data */\n  updateUser(\n    username: string,\n    updates: { type?: string; providerData?: Record<string, unknown> }\n  ): Promise<void>\n}\n\n/**\n * User representation for external auth providers.\n * This is a subset of the full User type that external providers need.\n */\nexport interface ExternalUser {\n  username: string\n  type: string\n  /** Provider-specific identifier (e.g., OIDC sub+issuer) */\n  providerData?: Record<string, unknown>\n}\n"
  },
  {
    "path": "src/oidc/user-info.ts",
    "content": "/*\n * Copyright 2025 Matti Airas\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OIDCError, OIDCUserInfo } from './types'\n\n/**\n * Decode the payload of a JWT token (without verification)\n * NOTE: This should only be used for debugging or after the token has been\n * properly validated using validateIdToken(). For production use, always\n * validate the token first using the id-token-validation module.\n */\nexport function decodeIdToken(idToken: string): Record<string, unknown> {\n  const parts = idToken.split('.')\n  const payloadPart = parts[1]\n  if (parts.length !== 3 || !payloadPart) {\n    throw new OIDCError(\n      'Invalid ID token format - expected 3 parts',\n      'INVALID_TOKEN'\n    )\n  }\n\n  try {\n    const payload = Buffer.from(payloadPart, 'base64url').toString('utf8')\n    return JSON.parse(payload)\n  } catch (err) {\n    throw new OIDCError(\n      'Failed to decode ID token payload',\n      'INVALID_TOKEN',\n      err instanceof Error ? err : undefined\n    )\n  }\n}\n\n/**\n * Extract user information from an ID token\n * @param idToken The ID token string\n * @returns User information extracted from claims\n * @throws OIDCError if the token is invalid or missing required claims\n */\nexport function extractUserInfo(idToken: string): OIDCUserInfo {\n  const claims = decodeIdToken(idToken)\n\n  if (typeof claims.sub !== 'string' || !claims.sub) {\n    throw new OIDCError(\n      'ID token missing required \"sub\" claim',\n      'INVALID_TOKEN'\n    )\n  }\n\n  return {\n    sub: claims.sub,\n    email: typeof claims.email === 'string' ? claims.email : undefined,\n    name: typeof claims.name === 'string' ? claims.name : undefined,\n    preferredUsername:\n      typeof claims.preferred_username === 'string'\n        ? claims.preferred_username\n        : undefined,\n    groups: Array.isArray(claims.groups)\n      ? (claims.groups as string[])\n      : undefined\n  }\n}\n"
  },
  {
    "path": "src/pipedproviders.ts",
    "content": "/*\n * Copyright 2014-2015 Fabian Tollenaar <fabian@starting-point.nl>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { PropertyValues, PropertyValuesCallback } from '@signalk/server-api'\nimport _ from 'lodash'\nimport { Duplex, Writable } from 'stream'\nimport { SignalKMessageHub, WithConfig } from './app'\nimport { createDebug } from './debug'\nimport { EventsActorId, WithWrappedEmitter } from './events'\n\ninterface PipeElementConfig {\n  type: string\n  options?: {\n    providerId: string\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    emitPropertyValue: (name: string, value: any) => void\n    onPropertyValues: (name: string, cb: PropertyValuesCallback) => void\n    app: unknown\n  }\n  enabled?: boolean\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  optionMappings: any\n}\ninterface PipedProviderConfig {\n  enabled: boolean\n  id: string\n  pipeElements: PipeElementConfig[]\n}\n\nclass PipedProvider {}\n\nexport function pipedProviders(\n  app: SignalKMessageHub &\n    WithConfig &\n    WithWrappedEmitter & {\n      propertyValues: PropertyValues\n      setProviderError: (providerId: string, msg: string) => void\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      providers: any[]\n    }\n) {\n  function createPipedProvider(providerConfig: PipedProviderConfig) {\n    const { propertyValues, ...sanitizedApp } = app\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const emitPropertyValue = (name: string, value: any) =>\n      propertyValues.emitPropertyValue({\n        timestamp: Date.now(),\n        setter: `provider:${providerConfig.id}`,\n        name,\n        value\n      })\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const onPropertyValues = (name: string, cb: (value: any) => void) =>\n      propertyValues.onPropertyValues(name, cb)\n    const boundEventMethods = app.wrappedEmitter.bindMethodsById(\n      `connection:${providerConfig.id}` as EventsActorId\n    )\n    const appFacade = {\n      emitPropertyValue,\n      onPropertyValues,\n      ...sanitizedApp,\n      ...boundEventMethods,\n      toJSON: () => 'appFacade'\n    }\n\n    const result = {\n      id: providerConfig.id,\n      pipeElements: providerConfig.pipeElements.reduce<Duplex[]>(\n        (res, config) => {\n          if (typeof config.enabled === 'undefined' || config.enabled) {\n            res.push(\n              createPipeElement({\n                ...config,\n                options: {\n                  providerId: providerConfig.id,\n                  app: appFacade,\n                  ...config.options,\n                  emitPropertyValue,\n                  onPropertyValues\n                }\n              })\n            )\n          }\n          return res\n        },\n        []\n      )\n    }\n\n    for (let i = result.pipeElements.length - 2; i >= 0; i--) {\n      result.pipeElements[i].pipe(result.pipeElements[i + 1])\n    }\n\n    const deltaSink = new Writable({\n      objectMode: true,\n      write(msg, _encoding, done) {\n        app.handleMessage(providerConfig.id, msg)\n        done()\n      }\n    })\n    result.pipeElements[result.pipeElements.length - 1].pipe(deltaSink)\n    app.emit('pipedProvidersStarted', providerConfig)\n    return result\n  }\n\n  function createPipeElement(elementConfig: PipeElementConfig): Duplex {\n    if (elementConfig.optionMappings) {\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      elementConfig.optionMappings.forEach(function (mapping: any) {\n        if (_.get(app, mapping.fromAppProperty)) {\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          ;(elementConfig.options as any)[mapping.toOption] = _.get(\n            app,\n            mapping.fromAppProperty\n          )\n        }\n      })\n    }\n    const efectiveElementType = elementConfig.type.startsWith('providers/')\n      ? elementConfig.type.replace('providers/', '@signalk/streams/')\n      : elementConfig.type\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    const mod = require(efectiveElementType)\n    const Ctor = mod.default ?? mod\n    return new Ctor({\n      ...elementConfig.options,\n      createDebug\n    })\n  }\n\n  function startProviders() {\n    if (app.config.settings.pipedProviders) {\n      const piped = (\n        app.config.settings.pipedProviders as PipedProviderConfig[]\n      ).reduce<PipedProvider[]>((result, config) => {\n        try {\n          if (typeof config.enabled === 'undefined' || config.enabled) {\n            result.push(createPipedProvider(config))\n          }\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        } catch (e: any) {\n          app.setProviderError(config.id, e.message)\n          console.error(e)\n        }\n        return result\n      }, [])\n\n      return piped.filter(function (n) {\n        return n !== null && n !== undefined\n      })\n    } else {\n      console.error('No pipedProviders in the settings file')\n      return []\n    }\n  }\n\n  function stopProvider(id: string) {\n    const idx = app.providers.findIndex((p: { id: string }) => p.id === id)\n    if (idx !== -1) {\n      app.providers[idx].pipeElements[0].end()\n      app.providers.splice(idx, 1)\n    }\n    app.wrappedEmitter.removeAllListenersById(\n      `connection:${id}` as EventsActorId\n    )\n  }\n\n  function restartProvider(id: string) {\n    stopProvider(id)\n    const providerConfig = (\n      app.config.settings.pipedProviders as PipedProviderConfig[]\n    )?.find((p) => p.id === id)\n    if (\n      providerConfig &&\n      (typeof providerConfig.enabled === 'undefined' || providerConfig.enabled)\n    ) {\n      try {\n        app.providers.push(createPipedProvider(providerConfig))\n      } catch (e: unknown) {\n        const message = e instanceof Error ? e.message : String(e)\n        app.setProviderError(id, message)\n        console.error(e)\n      }\n    }\n  }\n\n  return {\n    start: startProviders,\n    createPipedProvider,\n    stopProvider,\n    restartProvider\n  }\n}\n"
  },
  {
    "path": "src/plugin-paths.ts",
    "content": "import path from 'path'\n\nexport const PLUGIN_CONFIG_DATA_DIR = 'plugin-config-data'\n\nexport function pluginConfigPath(configPath: string, pluginId: string): string {\n  return path.join(configPath, PLUGIN_CONFIG_DATA_DIR, pluginId + '.json')\n}\n\nexport function pluginDataDir(configPath: string, pluginId: string): string {\n  return path.join(configPath, PLUGIN_CONFIG_DATA_DIR, pluginId)\n}\n"
  },
  {
    "path": "src/pluginid.ts",
    "content": "/**\n * Derives a plugin ID from an npm package name.\n *\n * The npm package name is used as the canonical plugin identifier,\n * with minimal transformation for filesystem safety:\n * - @ is replaced with _\n * - / is replaced with _\n *\n * Examples:\n * - \"@signalk/example-weather-plugin\" → \"_signalk_example-weather-plugin\"\n * - \"my-simple-plugin\" → \"my-simple-plugin\" (unchanged)\n *\n * This ensures:\n * - Unique plugin IDs (npm guarantees package name uniqueness)\n * - No discrepancies between package name and plugin ID\n * - Filesystem-safe identifiers for config files\n */\nexport function derivePluginId(packageName: string): string {\n  return packageName.replace(/@/g, '_').replace(/\\//g, '_')\n}\n"
  },
  {
    "path": "src/ports.ts",
    "content": "/*\n * Copyright 2017 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { WithConfig } from './app'\n\nconst SD_LISTEN_FDS_START = 3\n\nexport const getSslPort = (app: WithConfig) =>\n  Number(process.env?.SSLPORT) || app.config.settings.sslport || 3443\n\nexport const getHttpPort = (app: WithConfig) =>\n  Number(process.env?.PORT) || app.config.settings.port || 3000\n\nexport function getPrimaryPort(app: WithConfig) {\n  if (Number(process.env.LISTEN_FDS) > 0) {\n    return {\n      fd: SD_LISTEN_FDS_START\n    }\n  }\n  return app.config.settings.ssl ? getSslPort(app) : getHttpPort(app)\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getSecondaryPort(app: WithConfig): any {\n  if (Number(process.env.LISTEN_FDS) > 0) {\n    if (Number(process.env.LISTEN_FDS) !== 2) {\n      return false\n    }\n    return {\n      fd: SD_LISTEN_FDS_START + 1\n    }\n  }\n  return app.config.settings.ssl ? getHttpPort(app) : -7777\n}\n\nexport function getExternalPort(app: WithConfig) {\n  if (Number(process.env?.EXTERNALPORT) > 0) {\n    return Number(process.env?.EXTERNALPORT)\n  }\n  if (app.config.settings.proxy_port) {\n    return app.config.settings.proxy_port\n  }\n  return app.config.settings.ssl ? getSslPort(app) : getHttpPort(app)\n}\n"
  },
  {
    "path": "src/put.ts",
    "content": "import { Request, Response, Application } from 'express'\nimport { Context, Path, SourceRef } from '@signalk/server-api'\nimport { get as _get, set as _set } from 'lodash'\nimport { createDebug } from './debug'\nimport {\n  createRequest,\n  updateRequest,\n  Reply,\n  RequestState\n} from './requestResponse'\nimport * as skConfig from './config/config'\nimport { ConfigApp } from './config/config'\nimport { getMetadata } from '@signalk/signalk-schema'\nimport { validateCategoryAssignment } from './unitpreferences'\nimport { WithSecurityStrategy } from './security'\n\nconst debug = createDebug('signalk-server:put')\n\ninterface WsInterface {\n  canHandlePut: (path: string, source: string | undefined) => boolean\n  handlePut: (\n    requestId: string,\n    context: string,\n    path: string,\n    source: string | undefined,\n    value: unknown\n  ) => Promise<Reply>\n}\n\ninterface PutAppInterfaces {\n  ws?: WsInterface\n  [key: string]: unknown\n}\n\ninterface PutApp extends Application {\n  config: ConfigApp['config']\n  intervals: NodeJS.Timeout[]\n  interfaces: PutAppInterfaces\n  signalk: ConfigApp['signalk']\n  handleMessage: ConfigApp['handleMessage']\n  securityStrategy: WithSecurityStrategy['securityStrategy']\n  registerActionHandler?: typeof registerActionHandler\n  deRegisterActionHandler?: typeof deRegisterActionHandler\n}\n\ninterface PathApp {\n  intervals: NodeJS.Timeout[]\n  interfaces: PutAppInterfaces\n  securityStrategy: WithSecurityStrategy['securityStrategy']\n}\n\ninterface NotificationApp {\n  signalk: ConfigApp['signalk']\n  handleMessage: ConfigApp['handleMessage']\n}\n\nconst pathPrefix = '/signalk'\nconst versionPrefix = '/v1'\nconst apiPathPrefix = pathPrefix + versionPrefix + '/api/'\n\ntype ActionCallback = (reply: ActionResult) => void\n\ninterface ActionResult {\n  state: RequestState | 'SUCCESS' | 'FAILURE' | 'PENDING'\n  statusCode?: number\n  message?: string\n}\n\ntype ActionHandler = (\n  context: string,\n  path: string,\n  value: unknown,\n  callback: ActionCallback\n) => ActionResult | void\n\ntype DeleteHandler = (\n  context: string,\n  path: string,\n  callback: ActionCallback\n) => ActionResult | void\n\ninterface ActionHandlers {\n  [context: string]: {\n    [path: string]: {\n      [source: string]: ActionHandler\n    }\n  }\n}\n\ninterface PutBody {\n  value: unknown\n  source?: string\n}\n\ninterface SkRequest extends Request {\n  skPrincipal?: {\n    identifier: string\n  }\n}\n\nconst actionHandlers: ActionHandlers = {}\nlet putMetaHandler: ActionHandler\nlet deleteMetaHandler: DeleteHandler\nlet putNotificationHandler: (\n  context: string,\n  path: string,\n  value: unknown\n) => ActionResult\n\nexport function start(app: PutApp): void {\n  app.registerActionHandler = registerActionHandler\n  app.deRegisterActionHandler = deRegisterActionHandler\n\n  app.delete(apiPathPrefix + '*', function (req: SkRequest, res: Response) {\n    let path = String(req.path).replace(apiPathPrefix, '')\n\n    path = path.replace(/\\/$/, '').replace(/\\//g, '.')\n\n    const parts = path.length > 0 ? path.split('.') : []\n\n    if (parts.length < 3) {\n      res.status(400).send('invalid path')\n      return\n    }\n\n    const context = `${parts[0]}.${parts[1]}`\n    const skpath = parts.slice(2).join('.')\n\n    deletePath(app, context, skpath, req)\n      .then((reply) => {\n        res.status(reply.statusCode)\n        res.json(reply)\n      })\n      .catch((err) => {\n        console.error(err)\n        res.status(500).send(err.message)\n      })\n  })\n\n  app.put(apiPathPrefix + '*', function (req: SkRequest, res: Response) {\n    let path = String(req.path).replace(apiPathPrefix, '')\n\n    const value = req.body as PutBody\n\n    if (value.value === undefined) {\n      res.status(400).send('input is missing a value')\n      return\n    }\n\n    path = path.replace(/\\/$/, '').replace(/\\//g, '.')\n\n    const parts = path.length > 0 ? path.split('.') : []\n\n    if (parts.length < 3) {\n      res.status(400).send('invalid path')\n      return\n    }\n\n    const context = `${parts[0]}.${parts[1]}`\n    const skpath = parts.slice(2).join('.')\n\n    putPath(app, context, skpath, value, req)\n      .then((reply) => {\n        res.status(reply.statusCode)\n        res.json(reply)\n      })\n      .catch((err) => {\n        console.error(err)\n        res.status(500).send(err.message)\n      })\n  })\n\n  putMetaHandler = (context, path, value, cb) => {\n    const parts = path.split('.')\n    let metaPath = path\n    let metaValue = value as Record<string, unknown>\n\n    if (parts[parts.length - 1] !== 'meta') {\n      const name = parts[parts.length - 1]\n      metaPath = parts.slice(0, parts.length - 2).join('.')\n\n      metaValue = {\n        ...app.config.baseDeltaEditor.getMeta(context, metaPath),\n        [name]: value\n      }\n    } else {\n      metaPath = parts.slice(0, parts.length - 1).join('.')\n    }\n\n    // Validate displayUnits.category if present\n    const displayUnits = metaValue.displayUnits as\n      | { category?: string }\n      | undefined\n    if (displayUnits?.category) {\n      const schemaMeta = getMetadata('vessels.self.' + metaPath) as Record<\n        string,\n        unknown\n      > | null\n      // Allow override: use PUT's units if provided, otherwise use schema's units\n      const pathSiUnit =\n        (metaValue.units as string | undefined) ||\n        (schemaMeta?.units as string | undefined)\n      const validationError = validateCategoryAssignment(\n        pathSiUnit,\n        displayUnits.category\n      )\n      if (validationError) {\n        return {\n          state: 'COMPLETED' as RequestState,\n          statusCode: 400,\n          message: validationError\n        }\n      }\n    }\n\n    // set empty zones array explicitly to null\n    for (const prop in metaValue) {\n      if (\n        Array.isArray(metaValue[prop]) &&\n        (metaValue[prop] as unknown[]).length === 0\n      ) {\n        metaValue[prop] = null\n      }\n    }\n\n    const previousMeta = app.config.baseDeltaEditor.getMeta(context, metaPath)\n    app.config.baseDeltaEditor.setMeta(context, metaPath, metaValue)\n\n    // Remove fields that were deleted from the in-memory metadata registry\n    // so they don't get re-injected via the spread below\n    const full_meta = getMetadata('vessels.self.' + metaPath) as Record<\n      string,\n      unknown\n    >\n    if (previousMeta && full_meta) {\n      for (const key of Object.keys(previousMeta)) {\n        if (!(key in metaValue)) {\n          delete full_meta[key]\n        }\n      }\n    }\n\n    app.handleMessage('defaults', {\n      context: 'vessels.self' as Context,\n      updates: [\n        {\n          meta: [\n            {\n              path: metaPath as Path,\n              value: { ...full_meta, ...metaValue }\n            }\n          ]\n        }\n      ]\n    })\n\n    if (app.config.hasOldDefaults) {\n      let data: Record<string, unknown>\n\n      try {\n        data = skConfig.readDefaultsFile(app as unknown as ConfigApp) as Record<\n          string,\n          unknown\n        >\n      } catch (e) {\n        if ((e as NodeJS.ErrnoException).code === 'ENOENT') {\n          data = {}\n        } else {\n          console.error(e)\n          cb({ state: 'FAILURE', message: 'Unable to read defaults file' })\n          return\n        }\n      }\n\n      const pathWithContext = context + '.' + path\n      _set(data, pathWithContext, value)\n\n      skConfig.writeDefaultsFile(\n        app as unknown as ConfigApp,\n        data,\n        (err: Error | null) => {\n          if (err) {\n            cb({ state: 'FAILURE', message: 'Unable to save to defaults file' })\n          } else {\n            cb({ state: 'SUCCESS' })\n          }\n        }\n      )\n    } else {\n      skConfig\n        .writeBaseDeltasFile(app as unknown as ConfigApp)\n        .then(() => {\n          cb({ state: 'SUCCESS' })\n        })\n        .catch(() => {\n          cb({ state: 'FAILURE', message: 'Unable to save to defaults file' })\n        })\n    }\n\n    return { state: 'PENDING' }\n  }\n\n  deleteMetaHandler = (context, path, cb) => {\n    const parts = path.split('.')\n    let metaPath = path\n    let full_meta: Record<string, unknown>\n\n    if (parts[parts.length - 1] !== 'meta') {\n      const name = parts[parts.length - 1]\n      metaPath = parts.slice(0, parts.length - 2).join('.')\n\n      const metaValue: Record<string, unknown> = {\n        ...app.config.baseDeltaEditor.getMeta(context, metaPath)\n      }\n\n      if (typeof metaValue[name] === 'undefined') {\n        return { state: 'COMPLETED', statusCode: 404 }\n      }\n\n      delete metaValue[name]\n\n      full_meta = getMetadata('vessels.self.' + metaPath) as Record<\n        string,\n        unknown\n      >\n      delete full_meta[name]\n\n      app.config.baseDeltaEditor.setMeta(context, metaPath, metaValue)\n\n      if (Object.keys(metaValue).length === 0) {\n        app.config.baseDeltaEditor.removeMeta(context, metaPath)\n      }\n    } else {\n      metaPath = parts.slice(0, parts.length - 1).join('.')\n\n      full_meta = getMetadata('vessels.self.' + metaPath) as Record<\n        string,\n        unknown\n      >\n      const metaValue = app.config.baseDeltaEditor.getMeta(context, metaPath)\n\n      if (!metaValue) {\n        return { state: 'COMPLETED', statusCode: 404 }\n      }\n\n      Object.keys(metaValue).forEach((key) => {\n        delete full_meta[key]\n      })\n\n      app.config.baseDeltaEditor.removeMeta(context, metaPath)\n    }\n\n    app.handleMessage('defaults', {\n      context: 'vessels.self' as Context,\n      updates: [\n        {\n          meta: [\n            {\n              path: metaPath as Path,\n              value: full_meta\n            }\n          ]\n        }\n      ]\n    })\n\n    skConfig\n      .writeBaseDeltasFile(app as unknown as ConfigApp)\n      .then(() => {\n        cb({ state: 'COMPLETED', statusCode: 200 })\n      })\n      .catch(() => {\n        cb({\n          state: 'COMPLETED',\n          statusCode: 502,\n          message: 'Unable to save to defaults file'\n        })\n      })\n\n    return { state: 'PENDING' }\n  }\n\n  putNotificationHandler = (context, path, value) => {\n    return putNotification(app, context, path, value)\n  }\n}\n\nexport function deletePath(\n  app: PathApp,\n  contextParam: string | null,\n  path: string,\n  req?: SkRequest | null,\n  requestId?: string | null,\n  updateCb?: (reply: Reply) => void\n): Promise<Reply> {\n  const context = contextParam || 'vessels.self'\n  debug('received delete %s %s', context, path)\n  return new Promise((resolve, reject) => {\n    createRequest(\n      app,\n      'delete',\n      {\n        context: context,\n        requestId: requestId ?? undefined,\n        delete: { path: path }\n      },\n      req && req.skPrincipal ? req.skPrincipal.identifier : undefined,\n      undefined,\n      updateCb\n    )\n      .then((request) => {\n        if (\n          req &&\n          app.securityStrategy.shouldAllowPut(req, context, null, path) ===\n            false\n        ) {\n          updateRequest(request.requestId, 'COMPLETED', { statusCode: 403 })\n            .then(resolve)\n            .catch(reject)\n          return\n        }\n\n        const parts = path.split('.')\n        let handler: DeleteHandler | undefined\n\n        if (\n          (parts.length > 1 && parts[parts.length - 1] === 'meta') ||\n          (parts.length > 1 && parts[parts.length - 2] === 'meta')\n        ) {\n          handler = deleteMetaHandler\n        }\n\n        if (handler) {\n          const actionResult = handler(context, path, (reply) => {\n            debug('got result: %j', reply)\n            updateRequest(request.requestId, reply.state as RequestState, reply)\n              .then(() => undefined)\n              .catch((err) => {\n                console.error(err)\n              })\n          })\n\n          Promise.resolve(actionResult)\n            .then((result) => {\n              debug('got result: %j', result)\n              updateRequest(\n                request.requestId,\n                result!.state as RequestState,\n                result!\n              )\n                .then((reply) => {\n                  if (reply.state === 'PENDING') {\n                    ;(reply as Reply & { action?: { href: string } }).action = {\n                      href: reply.href\n                    }\n                  }\n                  resolve(reply)\n                })\n                .catch(reject)\n            })\n            .catch((err) => {\n              updateRequest(request.requestId, 'COMPLETED', {\n                statusCode: 500,\n                message: err.message\n              })\n                .then(resolve)\n                .catch(reject)\n            })\n        } else {\n          updateRequest(request.requestId, 'COMPLETED', {\n            statusCode: 405,\n            message: `DELETE not supported for ${path}`\n          })\n            .then(resolve)\n            .catch(reject)\n        }\n      })\n      .catch(reject)\n  })\n}\n\nexport function putPath(\n  app: PathApp,\n  contextParam: string | null,\n  path: string,\n  body: PutBody,\n  req?: SkRequest | null,\n  requestId?: string | null,\n  updateCb?: (reply: Reply) => void\n): Promise<Reply> {\n  const context = contextParam || 'vessels.self'\n  debug('received put %s %s %j', context, path, body)\n  return new Promise((resolve, reject) => {\n    createRequest(\n      app,\n      'put',\n      {\n        context: context,\n        requestId: requestId ?? undefined,\n        put: { path: path, value: body.value }\n      },\n      req && req.skPrincipal ? req.skPrincipal.identifier : undefined,\n      undefined,\n      updateCb\n    )\n      .then((request) => {\n        if (\n          req &&\n          app.securityStrategy.shouldAllowPut(req, context, null, path) ===\n            false\n        ) {\n          updateRequest(request.requestId, 'COMPLETED', { statusCode: 403 })\n            .then(resolve)\n            .catch(reject)\n          return\n        }\n\n        let handler: ActionHandler | undefined\n        const parts = path.split('.')\n\n        if (\n          (parts.length > 1 && parts[parts.length - 1] === 'meta') ||\n          (parts.length > 1 && parts[parts.length - 2] === 'meta')\n        ) {\n          handler = putMetaHandler\n        } else {\n          const handlers = actionHandlers[context]\n            ? actionHandlers[context][path]\n            : null\n\n          if (handlers && Object.keys(handlers).length > 0) {\n            if (body.source) {\n              handler = handlers[body.source]\n            } else if (Object.keys(handlers).length === 1) {\n              handler = Object.values(handlers)[0]\n            } else {\n              updateRequest(request.requestId, 'COMPLETED', {\n                statusCode: 400,\n                message:\n                  'there are multiple sources for the given path, but no source was specified in the request'\n              })\n                .then(resolve)\n                .catch(reject)\n              return\n            }\n          }\n\n          if (!handler && parts[0] === 'notifications') {\n            handler = putNotificationHandler\n          }\n        }\n\n        if (handler) {\n          function fixReply(reply: ActionResult): void {\n            if (reply.state === 'FAILURE') {\n              reply.state = 'COMPLETED'\n              reply.statusCode = 502\n            } else if (reply.state === 'SUCCESS') {\n              reply.state = 'COMPLETED'\n              reply.statusCode = 200\n            }\n          }\n\n          const actionResult = handler(context, path, body.value, (reply) => {\n            debug('got result: %j', reply)\n            fixReply(reply)\n            updateRequest(request.requestId, reply.state as RequestState, reply)\n              .then(() => undefined)\n              .catch((err) => {\n                console.error(err)\n              })\n          })\n\n          Promise.resolve(actionResult)\n            .then((result) => {\n              debug('got result: %j', result)\n              fixReply(result!)\n              updateRequest(\n                request.requestId,\n                result!.state as RequestState,\n                result!\n              )\n                .then((reply) => {\n                  if (reply.state === 'PENDING') {\n                    ;(reply as Reply & { action?: { href: string } }).action = {\n                      href: reply.href\n                    }\n                  }\n                  resolve(reply)\n                })\n                .catch(reject)\n            })\n            .catch((err) => {\n              updateRequest(request.requestId, 'COMPLETED', {\n                statusCode: 500,\n                message: err.message\n              })\n                .then(resolve)\n                .catch(reject)\n            })\n        } else if (\n          app.interfaces.ws &&\n          app.interfaces.ws.canHandlePut(path, body.source)\n        ) {\n          app.interfaces.ws\n            .handlePut(\n              request.requestId,\n              context,\n              path,\n              body.source,\n              body.value\n            )\n            .then(resolve)\n            .catch(reject)\n        } else {\n          updateRequest(request.requestId, 'COMPLETED', {\n            statusCode: 405,\n            message: `PUT not supported for ${path}`\n          })\n            .then(resolve)\n            .catch(reject)\n        }\n      })\n      .catch(reject)\n  })\n}\n\nexport function registerActionHandler(\n  context: string,\n  path: string,\n  source: string,\n  callback: ActionHandler\n): () => void {\n  debug(`registered action handler for ${context} ${path} ${source}`)\n\n  if (actionHandlers[context] === undefined) {\n    actionHandlers[context] = {}\n  }\n  if (actionHandlers[context][path] === undefined) {\n    actionHandlers[context][path] = {}\n  }\n  actionHandlers[context][path][source] = callback\n\n  return () => {\n    deRegisterActionHandler(context, path, source, callback)\n  }\n}\n\nexport function deRegisterActionHandler(\n  context: string,\n  path: string,\n  source: string,\n  callback: ActionHandler\n): void {\n  if (\n    actionHandlers[context] &&\n    actionHandlers[context][path][source] === callback\n  ) {\n    delete actionHandlers[context][path][source]\n    debug(`de-registered action handler for ${context} ${path} ${source}`)\n  }\n}\n\nfunction putNotification(\n  app: NotificationApp,\n  context: string,\n  path: string,\n  value: unknown\n): ActionResult {\n  const parts = path.split('.')\n  const notifPath = parts.slice(0, parts.length - 1).join('.')\n  const key = parts[parts.length - 1]\n\n  const existing = _get(app.signalk.self, notifPath) as\n    | { value: Record<string, unknown>; $source: string; timestamp?: string }\n    | undefined\n\n  if (existing === undefined || !existing.value) {\n    return { state: 'COMPLETED', statusCode: 404 }\n  }\n\n  if (key !== 'method' && key !== 'state') {\n    return { state: 'COMPLETED', statusCode: 405 }\n  }\n\n  existing.value[key] = value\n  existing.timestamp = new Date().toISOString()\n\n  const delta = {\n    updates: [\n      {\n        $source: existing.$source as SourceRef,\n        values: [\n          {\n            path: notifPath as Path,\n            value: existing.value\n          }\n        ]\n      }\n    ]\n  }\n  app.handleMessage('server', delta)\n\n  return { state: 'COMPLETED', statusCode: 200 }\n}\n"
  },
  {
    "path": "src/redirects.json",
    "content": "{\n  \"whats_new.html\": \"Developing/whats_new.html\",\n  \"features/navdataserver/navdataserver.html\": \"Guides/NMEA0183_Data_Server.html\",\n  \"features/anchoralarm/anchoralarm.html\": \"Guides/Anchor_Alarm.html\",\n  \"features/datalogging/datalogging.html\": \"Guides/Data_Logging.html\",\n  \"setup/generating_tokens.html\": \"Security/Generating_Tokens.html\",\n  \"setup/configuration.html\": \"Configuration.html\",\n  \"setup/seatalk/seatalk.html\": \"Configuration/Seatalk_Connections.html\",\n  \"breaking_changes.html\": \"Developing/Breaking_Changes.html\",\n  \"support/faq.html\": \"Help___Support.html\",\n  \"support/sponsor.html\": \"Sponsor.html\",\n  \"support/help.html\": \"Help___Support.html\",\n  \"security.html\": \"Security.html\",\n  \"develop/developer_notes.html\": \"Developing.html\",\n  \"develop/webapps.html\": \"Developing/Plugins/WebApps.html\",\n  \"develop/rest-api/anchor_api.html\": \"Developing/REST_APIs/Anchor_API.html\",\n  \"develop/rest-api/course_api.html\": \"Developing/REST_APIs/Course_API.html\",\n  \"develop/rest-api/autopilot_api.html\": \"Developing/REST_APIs/Autopilot_API.html\",\n  \"develop/rest-api/notifications_api.html\": \"Developing/REST_APIs/Notifications_API.html\",\n  \"develop/rest-api/resources_api.html\": \"Developing/REST_APIs/Resources_API.html\",\n  \"develop/rest-api/course_calculations.html\": \"Developing/REST_APIs/Course_API.html#course-calculations\",\n  \"develop/rest-api/open_api.html\": \"Developing/REST_APIs.html\",\n  \"develop/contributing.html\": \"Developing/Contributing.html\",\n  \"develop/plugins/server_plugin_api.html\": \"_signalk/server-api/ServerAPI.html\",\n  \"develop/plugins/deltas.html\": \"Developing/Plugins/Processing_Data.html\",\n  \"develop/plugins/autopilot_provider_plugins.html\": \"Developing/Plugins/Autopilot_Providers.html\",\n  \"develop/plugins/publishing.html\": \"Developing/Plugins/Publishing_to_The_AppStore.html\",\n  \"develop/plugins/resource_provider_plugins.html\": \"Developing/Plugins/Resource_Providers.html\",\n  \"develop/plugins/server_plugin.html\": \"Developing/Plugins.html\",\n  \"installation/raspberry_pi_installation.html\": \"Installation/Raspberry_Pi.html\",\n  \"installation/install.html\": \"Installation.html\",\n  \"installation/updating.html\": \"Installation/Updating_your_Installation.html\",\n  \"installation/command_line.html\": \"Installation/Runtime_Environment___Options.html\"\n}\n"
  },
  {
    "path": "src/requestResponse.ts",
    "content": "import { v4 as uuidv4 } from 'uuid'\nimport { createDebug } from './debug'\n\nconst debug = createDebug('signalk-server:requestResponse')\n\nexport type RequestState = 'PENDING' | 'COMPLETED'\nexport type RequestType = 'put' | 'delete' | 'accessRequest'\n\nexport interface ClientRequest {\n  requestId?: string\n  [key: string]: unknown\n}\n\nexport interface Request {\n  requestId: string\n  type: RequestType\n  clientRequest: ClientRequest\n  ip?: string\n  date: Date\n  state: RequestState\n  statusCode: number\n  updateCb?: (reply: Reply) => void\n  user?: string\n  message?: string\n  data?: unknown\n  percentComplete?: number\n  accessIdentifier?: string\n  accessDescription?: string\n  accessPassword?: string\n  requestedPermissions?: boolean\n  permissions?: string\n  token?: string\n}\n\nexport interface AccessRequestData {\n  permission?: string\n  token?: string\n}\n\nexport interface Reply {\n  state: RequestState\n  requestId: string\n  statusCode: number\n  message?: string\n  href: string\n  ip?: string\n  user?: string\n  put?: unknown\n  delete?: unknown\n  accessRequest?: AccessRequestData\n}\n\nexport interface UpdateOptions {\n  statusCode?: number | null\n  data?: unknown | null\n  message?: string | null\n  percentComplete?: number | null\n}\n\ninterface AppWithIntervals {\n  intervals: NodeJS.Timeout[]\n}\n\nconst requests: Record<string, Request> = {}\n\nconst pruneRequestTimeout = 60 * 60 * 1000\nconst pruneIntervalRate = 15 * 60 * 1000\nlet pruneInterval: NodeJS.Timeout | undefined\n\nexport function resetRequests(): void {\n  Object.keys(requests).forEach((id) => {\n    delete requests[id]\n  })\n}\n\nexport function createRequest(\n  app: AppWithIntervals,\n  type: RequestType,\n  clientRequest: ClientRequest,\n  user?: string,\n  clientIp?: string,\n  updateCb?: (reply: Reply) => void\n): Promise<Request> {\n  return new Promise((resolve) => {\n    const requestId = clientRequest.requestId\n      ? clientRequest.requestId\n      : uuidv4()\n    const request: Request = {\n      requestId: requestId,\n      type: type,\n      clientRequest: clientRequest,\n      ip: clientIp,\n      date: new Date(),\n      state: 'PENDING',\n      statusCode: 202,\n      updateCb: updateCb,\n      user: user\n    }\n    requests[request.requestId] = request\n    debug('createRequest %j', request)\n\n    if (!pruneInterval) {\n      pruneInterval = setInterval(pruneRequests, pruneIntervalRate)\n      app.intervals.push(pruneInterval)\n    }\n\n    resolve(request)\n  })\n}\n\nfunction createReply(request: Request): Reply {\n  const reply: Reply = {\n    state: request.state,\n    requestId: request.requestId,\n    statusCode: request.statusCode,\n    message: request.message,\n    href: `/signalk/v1/requests/${request.requestId}`,\n    ip: request.ip,\n    user: request.user\n  }\n  if (request.type === 'put') {\n    reply.put = request.data\n  } else if (request.type === 'delete') {\n    reply.delete = request.data\n  } else if (request.type === 'accessRequest') {\n    reply.accessRequest = request.data as AccessRequestData\n  }\n  debug('createReply %j', reply)\n  return reply\n}\n\nexport function updateRequest(\n  requestId: string,\n  state: RequestState | null,\n  {\n    statusCode = null,\n    data = null,\n    message = null,\n    percentComplete = null\n  }: UpdateOptions\n): Promise<Reply> {\n  return new Promise((resolve, reject) => {\n    const request = requests[requestId]\n\n    if (!request) {\n      reject(new Error('request not found'))\n      return\n    }\n\n    if (state) {\n      request.state = state\n    }\n    if (statusCode !== null) {\n      request.statusCode = statusCode\n    }\n    if (message) {\n      request.message = message\n    }\n    if (percentComplete !== null) {\n      request.percentComplete = percentComplete\n    }\n    if (data) {\n      request.data = data\n    }\n\n    const reply = createReply(request)\n    if (request.updateCb) {\n      request.updateCb(reply)\n    }\n    resolve(reply)\n  })\n}\n\nexport function queryRequest(requestId: string): Promise<Reply> {\n  return new Promise((resolve, reject) => {\n    const request = requests[requestId]\n\n    if (!requestId || !request) {\n      reject(new Error('not found'))\n      return\n    }\n\n    resolve(createReply(request))\n  })\n}\n\nexport function findRequest(\n  matcher: (request: Request) => boolean\n): Request | undefined {\n  return Object.values(requests).find(matcher)\n}\n\nexport function filterRequests(\n  type: RequestType,\n  state: RequestState | null\n): Request[] {\n  return Object.values(requests).filter(\n    (r) => r.type === type && (state === null || r.state === state)\n  )\n}\n\nfunction pruneRequests(): void {\n  debug('pruning requests')\n  Object.keys(requests).forEach((id) => {\n    const request = requests[id]\n    const diff = Date.now() - request.date.getTime()\n    if (diff > pruneRequestTimeout) {\n      delete requests[id]\n      debug('pruned request %s', id)\n    }\n  })\n}\n"
  },
  {
    "path": "src/security.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2017 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { Request, Response } from 'express'\nimport { PartialOIDCConfig } from './oidc/types'\nimport {\n  chmodSync,\n  existsSync,\n  readFileSync,\n  Stats,\n  statSync,\n  writeFileSync\n} from 'fs'\nimport { atomicWriteFile } from './atomicWrite'\nimport _ from 'lodash'\nimport path from 'path'\nimport { generate } from 'selfsigned'\nimport { Mode } from 'stat-mode'\nimport { WithConfig } from './app'\nimport { createDebug } from './debug'\nimport { LoginRateLimiter } from './login-rate-limiter'\nimport dummysecurity from './dummysecurity'\nimport { ICallback } from './types'\nconst debug = createDebug('signalk-server:security')\n\nexport interface WithSecurityStrategy {\n  securityStrategy: SecurityStrategy\n}\n\nexport interface LoginStatusResponse {\n  status: string // 'loggedIn' 'notLoggedIn'\n  readOnlyAccess?: boolean\n  authenticationRequired?: boolean\n  allowNewUserRegistration?: boolean\n  allowDeviceAccessRequests?: boolean\n  userLevel?: any\n  username?: string\n}\n\nexport interface ACL {\n  context: string\n  resources: Array<{\n    paths?: string[]\n    sources?: string[]\n    permissions: Array<{\n      subject: string\n      permission: string\n    }>\n  }>\n}\nexport interface OIDCUserIdentifier {\n  sub: string\n  issuer: string\n  /** User's email from OIDC claims */\n  email?: string\n  /** User's display name from OIDC claims */\n  name?: string\n  /** User's groups from OIDC claims (used for permission mapping) */\n  groups?: string[]\n}\n\nexport function isOIDCUserIdentifier(\n  value: unknown\n): value is OIDCUserIdentifier {\n  return (\n    typeof value === 'object' &&\n    value !== null &&\n    typeof (value as OIDCUserIdentifier).sub === 'string' &&\n    typeof (value as OIDCUserIdentifier).issuer === 'string'\n  )\n}\n\nexport interface User {\n  username: string\n  type: string\n  password?: string\n  oidc?: OIDCUserIdentifier\n}\nexport interface UserData {\n  userId: string\n  type: string\n}\nexport interface UserDataUpdate {\n  type?: string\n  password?: string\n}\n\nexport interface UserWithPassword {\n  userId: string\n  type: string\n  password: string\n}\n\nexport interface Device {\n  clientId: string\n  permissions: string\n  config: any\n  description: string\n  requestedPermissions: string\n  tokenExpiry?: number\n}\n\nexport interface DeviceDataUpdate {\n  permissions?: string\n  description?: string\n}\n\nexport interface OIDCSecurityConfig {\n  enabled: boolean\n  issuer: string\n  clientId: string\n  clientSecret: string\n  redirectUri?: string\n  scope?: string\n  defaultPermission?: 'readonly' | 'readwrite' | 'admin'\n  autoCreateUsers?: boolean\n}\n\nexport interface SecurityConfig {\n  immutableConfig: boolean\n  allow_readonly: boolean\n  allowNewUserRegistration: boolean\n  allowDeviceAccessRequests: boolean\n  allowedCorsOrigins?: string\n  expiration: string\n  devices: Device[]\n  secretKey: string\n  users: User[]\n  acls?: ACL[]\n  oidc?: OIDCSecurityConfig\n}\n\nexport interface RequestStatusData {\n  expiration: string\n  permissions: any\n  config: any\n}\n\nexport interface SecurityStrategy {\n  isDummy: () => boolean\n  allowReadOnly: () => boolean\n  shouldFilterDeltas: () => boolean\n  filterReadDelta: (user: any, delta: any) => any\n  configFromArguments: boolean\n  securityConfig: any\n  requestAccess: (config: any, request: any, ip: any, updateCb?: any) => any\n  getConfiguration: () => any\n\n  setAccessRequestStatus: (\n    theConfig: SecurityConfig,\n    identifier: string,\n    status: string,\n    body: RequestStatusData,\n    cb: ICallback<SecurityConfig>\n  ) => void\n  getAccessRequestsResponse: any\n\n  getLoginStatus: (req: Request) => LoginStatusResponse\n  allowRestart: (req: Request) => boolean\n  allowConfigure: (req: Request) => boolean\n\n  getConfig: (ss: SecurityConfig) => Omit<SecurityConfig, 'secretKey' | 'users'>\n  setConfig: (prev: SecurityConfig, next: SecurityConfig) => SecurityConfig\n\n  validateConfiguration: (config: any) => void\n  getDevices: (theConfig: SecurityConfig) => Device[]\n  updateDevice: (\n    theConfig: SecurityConfig,\n    clientId: string,\n    updates: DeviceDataUpdate,\n    cb: ICallback<SecurityConfig>\n  ) => void\n  deleteDevice: (\n    theConfig: SecurityConfig,\n    clientId: string,\n    cb: ICallback<SecurityConfig>\n  ) => void\n\n  generateToken: (\n    req: Request,\n    res: Response,\n    next: any,\n    id: string,\n    expiration: string\n  ) => void\n\n  getUsers: (theConfig: SecurityConfig) => UserData[]\n  addUser: (\n    theConfig: SecurityConfig,\n    user: User,\n    cb: ICallback<SecurityConfig>\n  ) => void\n  updateUser: (\n    theConfig: SecurityConfig,\n    username: string,\n    userDataUpdate: UserDataUpdate,\n    cb: ICallback<SecurityConfig>\n  ) => void\n  deleteUser: (\n    theConfig: SecurityConfig,\n    username: string,\n    cb: ICallback<SecurityConfig>\n  ) => void\n\n  setPassword: (\n    theConfig: SecurityConfig,\n    username: string,\n    password: string,\n    cb: ICallback<SecurityConfig>\n  ) => void\n\n  shouldAllowPut: (\n    req: Request,\n    context: string,\n    source: any,\n    path: string\n  ) => boolean\n\n  addAdminMiddleware: (path: string) => void\n  addAdminWriteMiddleware: (path: string) => void\n  addWriteMiddleware: (path: string) => void\n\n  /** Update OIDC config in memory (optional - only available when token security is active) */\n  updateOIDCConfig?: (newOidcConfig: PartialOIDCConfig) => void\n\n  /** Verify credentials (optional - only available when token security is active) */\n  login?: (\n    username: string,\n    password: string\n  ) => Promise<{ statusCode: number }>\n\n  /** Shared login rate limiter (optional - only available when token security is active) */\n  loginRateLimiter?: LoginRateLimiter\n}\n\nexport class InvalidTokenError extends Error {\n  constructor(...args: any[]) {\n    super(...args)\n    Error.captureStackTrace(this, InvalidTokenError)\n  }\n}\n\nexport function startSecurity(\n  app: WithSecurityStrategy & WithConfig,\n  securityConfig: any\n) {\n  let securityStrategyModuleName =\n    process.env.SECURITYSTRATEGY ||\n    _.get(app, 'config.settings.security.strategy')\n\n  if (securityStrategyModuleName) {\n    if (securityStrategyModuleName === 'sk-simple-token-security') {\n      console.log(\n        'The sk-simple-token-security security strategy is depricated, please update to @signalk/sk-simple-token-security'\n      )\n      process.exit(1)\n    } else if (\n      securityStrategyModuleName === '@signalk/sk-simple-token-security'\n    ) {\n      securityStrategyModuleName = './tokensecurity'\n    }\n\n    const config = securityConfig || getSecurityConfig(app, true)\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    app.securityStrategy = require(securityStrategyModuleName)(app, config)\n\n    if (securityConfig) {\n      app.securityStrategy.configFromArguments = true\n      app.securityStrategy.securityConfig = securityConfig\n    }\n  } else {\n    app.securityStrategy = dummysecurity()\n  }\n}\n\nexport function getSecurityConfig(\n  app: WithConfig & WithSecurityStrategy,\n  forceRead = false\n) {\n  if (!forceRead && app.securityStrategy?.configFromArguments) {\n    return app.securityStrategy.securityConfig\n  } else {\n    try {\n      const optionsAsString = readFileSync(pathForSecurityConfig(app), 'utf8')\n      return JSON.parse(optionsAsString)\n    } catch (e: any) {\n      if (e.code !== 'ENOENT' || !app.securityStrategy?.isDummy()) {\n        console.error(\n          'Could not parse security config at %s: %s',\n          pathForSecurityConfig(app),\n          e.message\n        )\n      }\n      return {}\n    }\n  }\n}\n\nexport function pathForSecurityConfig(app: WithConfig) {\n  return path.join(app.config.configPath, 'security.json')\n}\n\nexport function saveSecurityConfig(\n  app: WithSecurityStrategy & WithConfig,\n  data: any,\n  callback: any\n) {\n  if (app.securityStrategy.configFromArguments) {\n    app.securityStrategy.securityConfig = data\n    if (callback) {\n      callback(null)\n    }\n  } else {\n    const configPath = pathForSecurityConfig(app)\n    atomicWriteFile(configPath, JSON.stringify(data, null, 2))\n      .then(() => {\n        chmodSync(configPath, '600')\n        if (callback) {\n          callback(null)\n        }\n      })\n      .catch((err: any) => {\n        if (callback) {\n          callback(err)\n        }\n      })\n  }\n}\n\nexport function getCertificateOptions(app: WithConfig, cb: any) {\n  let certLocation\n\n  if (!app.config.configPath || existsSync('./settings/ssl-cert.pem')) {\n    certLocation = './settings'\n  } else {\n    certLocation = app.config.configPath\n  }\n\n  const certFile = path.join(certLocation, 'ssl-cert.pem')\n  const keyFile = path.join(certLocation, 'ssl-key.pem')\n  const chainFile = path.join(certLocation, 'ssl-chain.pem')\n\n  if (existsSync(certFile) && existsSync(keyFile)) {\n    if (!hasStrictPermissions(statSync(keyFile))) {\n      cb(\n        new Error(\n          `${keyFile} must be accessible only by the user that is running the server, refusing to start`\n        )\n      )\n      return\n    }\n    if (!hasStrictPermissions(statSync(certFile))) {\n      cb(\n        new Error(\n          `${certFile} must be accessible only by the user that is running the server, refusing to start`\n        )\n      )\n      return\n    }\n    let ca\n    if (existsSync(chainFile)) {\n      debug('Found ssl-chain.pem')\n      ca = getCAChainArray(chainFile)\n      debug.enabled && debug(JSON.stringify(ca, null, 2))\n    }\n    debug(`Using certificate ssl-key.pem and ssl-cert.pem in ${certLocation}`)\n    cb(null, {\n      key: readFileSync(keyFile),\n      cert: readFileSync(certFile),\n      ca\n    })\n  } else {\n    createCertificateOptions(app, certFile, keyFile, cb)\n  }\n}\n\nfunction hasStrictPermissions(stat: Stats) {\n  if (process.platform === 'win32') {\n    return true\n  } else {\n    return /^-r[-w][-x]------$/.test(new Mode(stat).toString())\n  }\n}\n\nexport function getCAChainArray(filename: string) {\n  let chainCert = new Array<string>()\n  return readFileSync(filename, 'utf8')\n    .split('\\n')\n    .reduce((ca, line) => {\n      chainCert.push(line)\n      if (line.match(/-END CERTIFICATE-/)) {\n        ca.push(chainCert.join('\\n'))\n        chainCert = []\n      }\n      return ca\n    }, new Array<string>())\n}\n\nexport function createCertificateOptions(\n  app: WithConfig,\n  certFile: string,\n  keyFile: string,\n  cb: any\n) {\n  const location = app.config.configPath ? app.config.configPath : './settings'\n  debug(`Creating certificate files in ${location}`)\n  generate(\n    [{ name: 'commonName', value: 'localhost' }],\n    { days: 3650, keySize: 2048 },\n    function (err, pems) {\n      writeFileSync(keyFile, pems.private)\n      chmodSync(keyFile, '600')\n      writeFileSync(certFile, pems.cert)\n      chmodSync(certFile, '600')\n      cb(null, {\n        key: pems.private,\n        cert: pems.cert\n      })\n    }\n  )\n}\n\nexport function requestAccess(\n  app: WithSecurityStrategy & WithConfig,\n  request: any,\n  ip: any,\n  updateCb: any\n) {\n  const config = getSecurityConfig(app)\n  return app.securityStrategy.requestAccess(config, request, ip, updateCb)\n}\n\nexport type SecurityConfigSaver = (\n  app: any,\n  securityConfig: any,\n  cb: (err: any) => void\n) => void\nexport type SecurityConfigGetter = (app: any) => any\n\n/**\n * When Express trust proxy is enabled:\n * - req.ip will reflect the client IP and we don't want rateLimit to\n *   validate the presence of x-forwarded-for.\n * - trustProxy: false prevents ERR_ERL_PERMISSIVE_TRUST_PROXY warnings\n */\nexport function getRateLimitValidationOptions(app: WithConfig) {\n  return app.config?.settings?.trustProxy &&\n    app.config.settings.trustProxy !== 'false'\n    ? { xForwardedForHeader: false, trustProxy: false }\n    : undefined\n}\n"
  },
  {
    "path": "src/serialports.ts",
    "content": "/*\n * Copyright 2020 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport { Ports } from '@signalk/server-api'\nimport fs from 'fs'\n\nexport const listAllSerialPorts = (): Promise<Ports> => {\n  return new Promise((resolve, reject) => {\n    Promise.all([\n      listSafeSerialPortsDevSerialById(),\n      listSafeSerialPortsDevSerialByPath(),\n      listSafeSerialPortsOpenPlotter(),\n      listSerialPorts()\n    ])\n      .then(([byId, byPath, byOpenPlotter, serialports]) =>\n        resolve({ byId, byPath, byOpenPlotter, serialports })\n      )\n      .catch(reject)\n  })\n}\n\nfunction listSerialPorts() {\n  try {\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    return require('serialport').SerialPort.list()\n  } catch (_err) {\n    return Promise.resolve([])\n  }\n}\n\nfunction listSafeSerialPortsDevSerialById() {\n  return fs.promises\n    .readdir('/dev/serial/by-id')\n    .catch(() => [])\n    .then((filenames: string[]) =>\n      filenames.map((filename: string) => `/dev/serial/by-id/${filename}`)\n    )\n}\n\nfunction listSafeSerialPortsDevSerialByPath() {\n  return fs.promises\n    .readdir('/dev/serial/by-path')\n    .catch(() => [])\n    .then((filenames: string[]) =>\n      filenames.map((filename: string) => `/dev/serial/by-path/${filename}`)\n    )\n}\n\nfunction listSafeSerialPortsOpenPlotter() {\n  return fs.promises\n    .readdir('/dev/')\n    .catch(() => [])\n    .then((filenames: string[]) =>\n      filenames\n        .filter((filename) => filename.startsWith('ttyOP_'))\n        .map((filename) => `/dev/${filename}`)\n    )\n}\n"
  },
  {
    "path": "src/serverroutes.ts",
    "content": "/*\n * Copyright 2017 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n*/\n\nimport * as http from 'http'\nimport * as https from 'https'\nimport bcrypt from 'bcryptjs'\nimport busboy from 'busboy'\nimport commandExists from 'command-exists'\nimport express, { IRouter, NextFunction, Request, Response } from 'express'\nimport { sendZip } from './zip'\nimport fs from 'fs'\nimport { forIn, get, isNumber, isUndefined, set, uniq, unset } from 'lodash'\nimport moment from 'moment'\nimport ncpI from 'ncp'\nimport os from 'os'\nimport path from 'path'\nimport unzipper from 'unzipper'\nimport util from 'util'\nimport { mountSwaggerUi } from './api/swagger'\nimport {\n  ConfigApp,\n  readDefaultsFile,\n  sendBaseDeltas,\n  writeBaseDeltasFile,\n  writeDefaultsFile,\n  writeSettingsFile\n} from './config/config'\nimport { SERVERROUTESPREFIX } from './constants'\nimport { handleAdminUICORSOrigin } from './cors'\nimport { createDebug, listKnownDebugs } from './debug'\nimport { PluginManager } from './interfaces/plugins'\nimport { getAuthor, Package, restoreModules } from './modules'\nimport { getHttpPort, getSslPort } from './ports'\nimport { queryRequest } from './requestResponse'\nimport {\n  getRateLimitValidationOptions,\n  pathForSecurityConfig,\n  SecurityConfig,\n  SecurityConfigGetter,\n  SecurityConfigSaver,\n  SecurityStrategy,\n  User,\n  WithSecurityStrategy\n} from './security'\nimport { listAllSerialPorts } from './serialports'\nimport { StreamBundle } from './streambundle'\nimport { WithWrappedEmitter } from './events'\nimport { getAISShipTypeName } from '@signalk/signalk-schema'\nimport availableInterfaces from './interfaces'\nimport redirects from './redirects.json'\nimport rateLimit from 'express-rate-limit'\nimport { execSync } from 'child_process'\nimport { recommendedVersion as recommendedNodeVersion } from './version'\n\nconst readdir = util.promisify(fs.readdir)\nconst debug = createDebug('signalk-server:serverroutes')\nconst ncp = ncpI.ncp\nconst defaultSecurityStrategy = './tokensecurity'\nconst skPrefix = '/signalk/v1'\n\ntype HttpRateLimitOverrides = {\n  windowMs: number\n  apiMax: number\n  loginStatusMax: number\n}\n\nconst DEFAULT_HTTP_RATE_LIMIT_WINDOW_MS = 10 * 60 * 1000 // 10 minutes\nconst DEFAULT_HTTP_RATE_LIMIT_API_MAX = 1000\nconst DEFAULT_HTTP_RATE_LIMIT_LOGIN_STATUS_MAX = 1000\n\nfunction getHttpRateLimitOverridesFromEnv(): HttpRateLimitOverrides {\n  const raw = process.env.HTTP_RATE_LIMITS\n  const defaults: HttpRateLimitOverrides = {\n    windowMs: DEFAULT_HTTP_RATE_LIMIT_WINDOW_MS,\n    apiMax: DEFAULT_HTTP_RATE_LIMIT_API_MAX,\n    loginStatusMax: DEFAULT_HTTP_RATE_LIMIT_LOGIN_STATUS_MAX\n  }\n\n  if (!raw || typeof raw !== 'string') {\n    return defaults\n  }\n\n  const parts = raw\n    .split(/[\\s,]+/)\n    .map((p) => p.trim())\n    .filter(Boolean)\n\n  let overrides = { ...defaults }\n  for (const part of parts) {\n    const eqIndex = part.indexOf('=')\n    if (eqIndex === -1) {\n      continue\n    }\n\n    const key = part.slice(0, eqIndex).trim().toLowerCase()\n    const value = part.slice(eqIndex + 1).trim()\n    const parsed = Number.parseInt(value, 10)\n\n    if ((key === 'windowms' || key === 'window') && Number.isFinite(parsed)) {\n      overrides = { ...overrides, windowMs: parsed }\n    } else if ((key === 'api' || key === 'apimax') && Number.isFinite(parsed)) {\n      overrides = { ...overrides, apiMax: parsed }\n    } else if (\n      (key === 'loginstatus' || key === 'loginstatusmax') &&\n      Number.isFinite(parsed)\n    ) {\n      overrides = { ...overrides, loginStatusMax: parsed }\n    }\n  }\n\n  return overrides\n}\n\ninterface ScriptsApp {\n  addons: ModuleInfo[]\n  pluginconfigurators: ModuleInfo[]\n  embeddablewebapps: ModuleInfo[]\n}\n\ninterface App\n  extends\n    ScriptsApp,\n    WithSecurityStrategy,\n    ConfigApp,\n    IRouter,\n    PluginManager,\n    WithWrappedEmitter {\n  webapps: Package[]\n  logging: {\n    rememberDebug: (r: boolean) => void\n    enableDebug: (r: string) => boolean\n    addDebug: (name: string) => void\n    removeDebug: (name: string) => void\n  }\n  activateSourcePriorities: () => void\n  streambundle: StreamBundle\n}\n\ninterface ModuleInfo {\n  name: string\n  type?: string\n}\n\nmodule.exports = function (\n  app: App,\n  saveSecurityConfig: SecurityConfigSaver,\n  getSecurityConfig: SecurityConfigGetter\n) {\n  const httpRateLimitOverrides = getHttpRateLimitOverridesFromEnv()\n\n  const rateLimitValidationOptions = getRateLimitValidationOptions(app)\n\n  const apiLimiter = rateLimit({\n    windowMs: httpRateLimitOverrides.windowMs,\n    max: httpRateLimitOverrides.apiMax,\n    message: {\n      message:\n        'Too many requests from this IP, please try again after 10 minutes'\n    },\n    validate: rateLimitValidationOptions\n  })\n\n  const loginStatusLimiter = rateLimit({\n    windowMs: httpRateLimitOverrides.windowMs,\n    max: httpRateLimitOverrides.loginStatusMax,\n    message: {\n      message:\n        'Too many requests from this IP, please try again after 10 minutes'\n    },\n    validate: rateLimitValidationOptions\n  })\n\n  let securityWasEnabled = false\n  const restoreSessions = new Map<string, string>()\n\n  const logopath = path.resolve(app.config.configPath, 'logo.svg')\n  if (fs.existsSync(logopath)) {\n    debug(`Found custom logo at ${logopath}, adding route for it`)\n    // Intercept Webpack (fonts/), Vite 6 (assets/ hashed), and Vite 8 (assets/public_src/img/) paths\n    app.use(\n      '/admin/fonts/signal-k-logo-image-text.*',\n      (req: Request, res: Response) => res.sendFile(logopath)\n    )\n    app.use(\n      '/admin/assets/signal-k-logo-image-text*.svg',\n      (req: Request, res: Response) => res.sendFile(logopath)\n    )\n    app.use(\n      '/admin/assets/public_src/img/signal-k-logo-image-text.svg',\n      (req: Request, res: Response) => res.sendFile(logopath)\n    )\n\n    // Check for custom logo for minimized sidebar, otherwise use the existing logo.\n    const minimizedLogoPath = path.resolve(\n      app.config.configPath,\n      'logo-minimized.svg'\n    )\n    const minimizedLogo = fs.existsSync(minimizedLogoPath)\n      ? minimizedLogoPath\n      : logopath\n    // Intercept Webpack (fonts/), Vite 6 (assets/ hashed), and Vite 8 (assets/public_src/img/) paths\n    app.use(\n      '/admin/fonts/signal-k-logo-image.*',\n      (req: Request, res: Response) => res.sendFile(minimizedLogo)\n    )\n    app.use(\n      '/admin/assets/signal-k-logo-image*.svg',\n      (req: Request, res: Response) => res.sendFile(minimizedLogo)\n    )\n    app.use(\n      '/admin/assets/public_src/img/signal-k-logo-image.svg',\n      (req: Request, res: Response) => res.sendFile(minimizedLogo)\n    )\n  }\n\n  // Vite 8 (Rolldown) changed CSS url() rewriting for publicDir assets: the built CSS\n  // references logos as url(public_src/img/...) which resolves to assets/public_src/img/\n  // relative to the CSS file, not the actual img/ location. Serve default logos from there.\n  app.use(\n    '/admin/assets/public_src/img',\n    express.static(\n      path.join(\n        __dirname,\n        '/../node_modules/@signalk/server-admin-ui/public/img'\n      )\n    )\n  )\n\n  // mount before the main /admin\n  mountSwaggerUi(app, '/doc/openapi')\n\n  // mount server-guide\n  app.use('/documentation', express.static(__dirname + '/../docs/dist'))\n\n  // Redirect old documentation URLs to new ones\n  let oldpath: keyof typeof redirects\n  for (oldpath in redirects) {\n    const from = `/documentation/${oldpath}`\n    const to = `/documentation/${redirects[oldpath]}`\n\n    app.get(from, (_: Request, res: Response) => {\n      res.redirect(301, to)\n    })\n  }\n\n  const adminUiPath = path.join(\n    __dirname,\n    '/../node_modules/@signalk/server-admin-ui/public'\n  )\n\n  function serveIndexWithAddonScripts(indexPath: string, res: Response) {\n    fs.readFile(indexPath, (err, indexContent) => {\n      if (err) {\n        console.error(err)\n        res.status(500)\n        res.type('text/plain')\n        res.send('Could not handle admin ui root request')\n        return\n      }\n      res.type('html')\n      const addonScripts = uniq(\n        ([] as ModuleInfo[])\n          .concat(app.addons)\n          .concat(app.pluginconfigurators)\n          .concat(app.embeddablewebapps)\n      )\n      setNoCache(res)\n      res.send(\n        indexContent.toString().replace(\n          /%ADDONSCRIPTS%/g,\n          addonScripts\n            .map((moduleInfo) =>\n              moduleInfo.type === 'module'\n                ? `<script type=\"module\" src=\"/${moduleInfo.name}/remoteEntry.js\"></script>`\n                : `<script src=\"/${moduleInfo.name}/remoteEntry.js\"></script>`\n            )\n            .join('\\n')\n            .toString()\n        )\n      )\n    })\n  }\n\n  app.get('/admin/', (req: Request, res: Response) => {\n    if (!req.originalUrl.endsWith('/')) {\n      res.redirect(301, req.originalUrl + '/')\n      return\n    }\n    serveIndexWithAddonScripts(path.join(adminUiPath, 'index.html'), res)\n  })\n\n  app.use('/admin', express.static(adminUiPath))\n\n  app.get('/', (req: Request, res: Response) => {\n    let landingPage = '/admin/'\n\n    // if accessed with hostname that starts with a webapp's displayName redirect there\n    //strip possible port number\n    const firstHostName = (req.headers?.host || '')\n      .split(':')[0]\n      .split('.')[0]\n      .toLowerCase()\n    const targetWebapp = app.webapps.find(\n      (webapp) =>\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        (webapp as any).signalk?.displayName?.toLowerCase() === firstHostName\n    )\n    if (targetWebapp) {\n      landingPage = `/${targetWebapp.name}/`\n    }\n\n    res.redirect(app.config.settings.landingPage || landingPage)\n  })\n\n  app.get('/@signalk/server-admin-ui', (req: Request, res: Response) => {\n    res.redirect('/admin/')\n  })\n\n  app.put(`${SERVERROUTESPREFIX}/restart`, (req: Request, res: Response) => {\n    if (app.securityStrategy.allowRestart(req)) {\n      res.json('Restarting...')\n      setTimeout(function () {\n        process.exit(0)\n      }, 2000)\n    } else {\n      res.status(401).json('Restart not allowed')\n    }\n  })\n\n  const securityActivationDisabled =\n    process.env.DISABLE_SECURITY_ACTIVATION === '1' ||\n    process.env.DISABLE_SECURITY_ACTIVATION === 'true'\n\n  const getLoginStatus = (req: Request, res: Response) => {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const result: any = app.securityStrategy.getLoginStatus(req)\n    result.securityWasEnabled = securityWasEnabled\n    if (securityActivationDisabled) {\n      delete result.noUsers\n    }\n\n    setNoCache(res)\n    res.json(result)\n  }\n\n  app.get(\n    `${SERVERROUTESPREFIX}/loginStatus`,\n    loginStatusLimiter,\n    getLoginStatus\n  )\n  //TODO remove after a grace period\n  app.get(`/loginStatus`, loginStatusLimiter, (req: Request, res: Response) => {\n    console.log(\n      `/loginStatus is deprecated, try updating webapps to the latest version`\n    )\n    getLoginStatus(req, res)\n  })\n\n  app.get(\n    `${SERVERROUTESPREFIX}/security/config`,\n    (req: Request, res: Response) => {\n      if (app.securityStrategy.allowConfigure(req)) {\n        const config = getSecurityConfig(app)\n        res.json(app.securityStrategy.getConfig(config))\n      } else {\n        res.status(401).json('Security config not allowed')\n      }\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/security/config`,\n    (req: Request, res: Response) => {\n      if (app.securityStrategy.allowConfigure(req)) {\n        try {\n          app.securityStrategy.validateConfiguration(req.body)\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        } catch (err: any) {\n          res.status(400).send(err.message)\n          return\n        }\n\n        let config = getSecurityConfig(app)\n        const configToSave = handleAdminUICORSOrigin(req.body)\n        config = app.securityStrategy.setConfig(config, configToSave)\n        saveSecurityConfig(app, config, (err) => {\n          if (err) {\n            console.log(err)\n            res.status(500)\n            res.json('Unable to save configuration change')\n            return\n          }\n          res.json('security config saved')\n        })\n      } else {\n        res.status(401).send('Security config not allowed')\n      }\n    }\n  )\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  function getConfigSavingCallback(success: any, failure: any, res: Response) {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    return (err: any, config: any) => {\n      if (err) {\n        console.log(err)\n        res.status(500).type('text/plain').send(failure)\n      } else if (config) {\n        saveSecurityConfig(app, config, (theError) => {\n          if (theError) {\n            console.log(theError)\n            res.status(500).send('Unable to save configuration change')\n            return\n          }\n          res.type('text/plain').send(success)\n        })\n      } else {\n        res.type('text/plain').send(success)\n      }\n    }\n  }\n\n  function checkAllowConfigure(req: Request, res: Response) {\n    if (app.securityStrategy.allowConfigure(req)) {\n      return true\n    } else {\n      res.status(401).json('Security config not allowed')\n      return false\n    }\n  }\n\n  app.get(\n    `${SERVERROUTESPREFIX}/security/devices`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        res.json(app.securityStrategy.getDevices(config))\n      }\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/security/devices/:uuid`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.updateDevice(\n          config,\n          req.params.uuid,\n          req.body,\n          getConfigSavingCallback(\n            'Device updated',\n            'Unable to update device',\n            res\n          )\n        )\n      }\n    }\n  )\n\n  app.delete(\n    `${SERVERROUTESPREFIX}/security/devices/:uuid`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.deleteDevice(\n          config,\n          req.params.uuid,\n          getConfigSavingCallback(\n            'Device deleted',\n            'Unable to delete device',\n            res\n          )\n        )\n      }\n    }\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/security/users`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        res.json(app.securityStrategy.getUsers(config))\n      }\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/security/users/:id`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.updateUser(\n          config,\n          req.params.id,\n          req.body,\n          getConfigSavingCallback('User updated', 'Unable to add user', res)\n        )\n      }\n    }\n  )\n\n  app.post(\n    `${SERVERROUTESPREFIX}/security/users/:id`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        const user = req.body\n        user.userId = req.params.id\n        app.securityStrategy.addUser(config, user, (err, savedConfig) => {\n          if (err) {\n            const status = err.message === 'User already exists' ? 400 : 500\n            res.status(status).type('text/plain').send(err.message)\n          } else if (savedConfig) {\n            saveSecurityConfig(app, savedConfig, (saveErr) => {\n              if (saveErr) {\n                console.log(saveErr)\n                res.status(500).send('Unable to save configuration change')\n                return\n              }\n              res.type('text/plain').send('User added')\n            })\n          } else {\n            res.status(500).type('text/plain').send('Unable to add user')\n          }\n        })\n      }\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/security/user/:username/password`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.setPassword(\n          config,\n          req.params.username,\n          req.body,\n          getConfigSavingCallback(\n            'Password changed',\n            'Unable to change password',\n            res\n          )\n        )\n      }\n    }\n  )\n\n  app.delete(\n    `${SERVERROUTESPREFIX}/security/users/:username`,\n    (req: Request, res: Response) => {\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.deleteUser(\n          config,\n          req.params.username,\n          getConfigSavingCallback('User deleted', 'Unable to delete user', res)\n        )\n      }\n    }\n  )\n\n  app.put(\n    [\n      `${SERVERROUTESPREFIX}/security/access/requests/:identifier/:status`,\n      '/security/access/requests/:identifier/:status' // for backwards compatibly with existing clients\n    ],\n    (req: Request, res: Response) => {\n      if (!app.securityStrategy.setAccessRequestStatus) {\n        res.status(404).json({\n          message:\n            'Access requests not available. Server security may not be enabled.'\n        })\n        return\n      }\n      if (checkAllowConfigure(req, res)) {\n        const config = getSecurityConfig(app)\n        app.securityStrategy.setAccessRequestStatus(\n          config,\n          req.params.identifier,\n          req.params.status,\n          req.body,\n          getConfigSavingCallback(\n            'Request updated',\n            'Unable update request',\n            res\n          )\n        )\n      }\n    }\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/security/access/requests`,\n    (req: Request, res: Response) => {\n      if (!app.securityStrategy.getAccessRequestsResponse) {\n        res.status(404).json({\n          message:\n            'Access requests not available. Server security may not be enabled.'\n        })\n        return\n      }\n      if (checkAllowConfigure(req, res)) {\n        res.json(app.securityStrategy.getAccessRequestsResponse())\n      }\n    }\n  )\n\n  app.post(\n    `${skPrefix}/access/requests`,\n    apiLimiter,\n    (req: Request, res: Response) => {\n      if (\n        req.headers['content-length'] &&\n        parseInt(req.headers['content-length']) > 10 * 1024\n      ) {\n        res.status(413).send('Payload too large')\n        return\n      }\n      const config = getSecurityConfig(app)\n      const ip = req.ip\n      if (app.securityStrategy.isDummy()) {\n        res.status(404).json({\n          message:\n            'Access requests not available. Server security is not enabled.'\n        })\n        return\n      }\n      app.securityStrategy\n        .requestAccess(config, { accessRequest: req.body }, ip)\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        .then((reply: any) => {\n          res.status(reply.state === 'PENDING' ? 202 : reply.statusCode)\n          res.json(reply)\n        })\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        .catch((err: any) => {\n          console.error(err.message)\n          res.status(err.statusCode || 500).send(err.message)\n        })\n    }\n  )\n\n  app.get(\n    `${skPrefix}/requests/:id`,\n    apiLimiter,\n    (req: Request, res: Response) => {\n      queryRequest(req.params.id)\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        .then((reply: any) => {\n          res.json(reply)\n        })\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        .catch((err: any) => {\n          console.log(err)\n          res.status(500)\n          res.type('text/plain').send(`Unable to check request: ${err.message}`)\n        })\n    }\n  )\n\n  app.get(`${SERVERROUTESPREFIX}/settings`, (req: Request, res: Response) => {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const settings: any = {\n      interfaces: {},\n      options: {\n        mdns: app.config.settings.mdns ?? true,\n        wsCompression: app.config.settings.wsCompression || false,\n        wsPingInterval: app.config.settings.wsPingInterval ?? 30000,\n        accessLogging:\n          isUndefined(app.config.settings.accessLogging) ||\n          app.config.settings.accessLogging,\n        enablePluginLogging:\n          isUndefined(app.config.settings.enablePluginLogging) ||\n          app.config.settings.enablePluginLogging,\n        trustProxy: app.config.settings.trustProxy || false\n      },\n      loggingDirectory: app.config.settings.loggingDirectory,\n      pruneContextsMinutes: app.config.settings.pruneContextsMinutes || 60,\n      keepMostRecentLogsOnly:\n        isUndefined(app.config.settings.keepMostRecentLogsOnly) ||\n        app.config.settings.keepMostRecentLogsOnly,\n      logCountToKeep: app.config.settings.logCountToKeep || 24,\n      runFromSystemd: process.env.RUN_FROM_SYSTEMD === 'true',\n      courseApi: {\n        apiOnly: app.config.settings.courseApi?.apiOnly || false\n      }\n    }\n\n    if (!settings.runFromSystemd) {\n      settings.sslport = getSslPort(app)\n      settings.port = getHttpPort(app)\n      settings.options.ssl = app.config.settings.ssl || false\n    }\n\n    forIn(availableInterfaces, function (_interface, name) {\n      settings.interfaces[name] =\n        isUndefined(app.config.settings.interfaces) ||\n        isUndefined(app.config.settings.interfaces[name]) ||\n        app.config.settings.interfaces[name]\n    })\n\n    res.json(settings)\n  })\n\n  if (app.securityStrategy.getUsers(getSecurityConfig(app)).length === 0) {\n    if (securityActivationDisabled) {\n      app.post(\n        `${SERVERROUTESPREFIX}/enableSecurity`,\n        (_req: Request, res: Response) => {\n          res.status(403).send('Security activation is disabled')\n        }\n      )\n    } else {\n      app.post(\n        `${SERVERROUTESPREFIX}/enableSecurity`,\n        (req: Request, res: Response) => {\n          if (\n            securityWasEnabled ||\n            app.securityStrategy.getUsers(getSecurityConfig(app)).length > 0\n          ) {\n            res.status(403).send('Security already enabled')\n            return\n          }\n          if (req.body.restore === true) {\n            const { username, password } = req.body\n            if (!username || !password) {\n              res.status(400).send('Username and password are required')\n              return\n            }\n            const securityConfigPath = pathForSecurityConfig(app)\n            const backupPath = securityConfigPath + '.disabled'\n            if (!fs.existsSync(backupPath)) {\n              res.status(404).send('No security backup found')\n              return\n            }\n            let backupConfig: SecurityConfig\n            try {\n              backupConfig = JSON.parse(\n                fs.readFileSync(backupPath, 'utf8')\n              ) as SecurityConfig\n            } catch (err) {\n              console.error(err)\n              res.status(500).send('Unable to read security backup')\n              return\n            }\n            const user = backupConfig.users?.find(\n              (u: User) => u.username === username && u.type === 'admin'\n            )\n            const hashToCompare = user?.password || '$2b$10$invalidhashpadding'\n            bcrypt.compare(\n              password,\n              hashToCompare,\n              (err: Error | null, matches: boolean) => {\n                if (err) {\n                  console.error(err)\n                  res.status(500).send('Unable to verify credentials')\n                  return\n                }\n                if (!matches || !user?.password) {\n                  res.status(401).send('Invalid username or password')\n                  return\n                }\n                try {\n                  fs.renameSync(backupPath, securityConfigPath)\n                  app.config.settings.security = {\n                    strategy: defaultSecurityStrategy\n                  }\n                  writeSettingsFile(\n                    app,\n                    app.config.settings,\n                    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                    (err: any) => {\n                      if (err) {\n                        console.error(err)\n                        fs.renameSync(securityConfigPath, backupPath)\n                        res.status(500).send('Unable to save settings')\n                        return\n                      }\n                      securityWasEnabled = true\n                      res.send('Security restored, please restart the server')\n                    }\n                  )\n                } catch (err) {\n                  console.error(err)\n                  res.status(500).send('Unable to restore security')\n                }\n              }\n            )\n            return\n          }\n          if (app.securityStrategy.isDummy()) {\n            const adminUser = req.body\n            if (\n              !adminUser.userId ||\n              adminUser.userId.length === 0 ||\n              !adminUser.password ||\n              adminUser.password.length === 0\n            ) {\n              res.status(400).send('userId or password missing or too short')\n              return\n            }\n            const updatedSettings = structuredClone(app.config.settings)\n            updatedSettings.security = { strategy: defaultSecurityStrategy }\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            writeSettingsFile(app, updatedSettings, (err: any) => {\n              if (err) {\n                console.log(err)\n                res.status(500).send('Unable to save to settings file')\n              } else {\n                app.config.settings = updatedSettings\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                const config: any = {}\n                // eslint-disable-next-line @typescript-eslint/no-require-imports\n                const securityStrategy = require(defaultSecurityStrategy)(\n                  app,\n                  config,\n                  saveSecurityConfig\n                )\n                if (req.body.allow_readonly === true) {\n                  config.allow_readonly = true\n                }\n                addUser(req, res, securityStrategy, config)\n              }\n            })\n          } else {\n            addUser(req, res, app.securityStrategy)\n          }\n\n          function addUser(\n            request: Request,\n            response: Response,\n            securityStrategy: SecurityStrategy,\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            config?: any\n          ) {\n            if (!config) {\n              config = app.securityStrategy.getConfiguration()\n            }\n            request.body.type = 'admin'\n            securityStrategy.addUser(config, request.body, (err, theConfig) => {\n              if (err) {\n                console.log(err)\n                response.status(500)\n                response.send('Unable to add user')\n              } else {\n                saveSecurityConfig(app, theConfig, (theError) => {\n                  if (theError) {\n                    console.log(theError)\n                    response.status(500)\n                    response.send(\n                      'Unable to save security configuration change'\n                    )\n                  } else {\n                    securityWasEnabled = true\n                    response.send('Security enabled')\n                  }\n                })\n              }\n            })\n          }\n        }\n      )\n    }\n  }\n\n  app.post(\n    `${SERVERROUTESPREFIX}/disableSecurity`,\n    (req: Request, res: Response) => {\n      if (!app.securityStrategy.allowConfigure(req)) {\n        res.status(401).send('Disable security not allowed')\n        return\n      }\n      const { username, password } = req.body || {}\n      if (!username || !password) {\n        res.status(400).send('Username and password are required')\n        return\n      }\n      if (!app.securityStrategy.login) {\n        res.status(500).send('Login not supported by security strategy')\n        return\n      }\n      const config = getSecurityConfig(app)\n      const user = config?.users?.find(\n        (u: User) => u.username === username && u.type === 'admin'\n      )\n      if (!user) {\n        res.status(401).send('Invalid username or password')\n        return\n      }\n      app.securityStrategy\n        .login(username, password)\n        .then((reply) => {\n          if (reply.statusCode !== 200) {\n            res.status(401).send('Invalid username or password')\n            return\n          }\n          const securityConfigPath = pathForSecurityConfig(app)\n          const backupPath = securityConfigPath + '.disabled'\n          try {\n            if (fs.existsSync(securityConfigPath)) {\n              fs.renameSync(securityConfigPath, backupPath)\n            }\n            delete app.config.settings.security\n            writeSettingsFile(app, app.config.settings, (err: Error) => {\n              if (err) {\n                console.error(err)\n                if (fs.existsSync(backupPath)) {\n                  fs.renameSync(backupPath, securityConfigPath)\n                }\n                res.status(500).send('Unable to save settings')\n                return\n              }\n              res.send('Security disabled, please restart the server')\n            })\n          } catch (err) {\n            console.error(err)\n            res.status(500).send('Unable to disable security')\n          }\n        })\n        .catch((err) => {\n          console.error(err)\n          res.status(500).send('Unable to verify credentials')\n        })\n    }\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/security/hasBackup`,\n    (req: Request, res: Response) => {\n      if (\n        !app.securityStrategy.isDummy() &&\n        !app.securityStrategy.allowConfigure(req)\n      ) {\n        res.status(401).send('Not authorized')\n        return\n      }\n      const backupPath = pathForSecurityConfig(app) + '.disabled'\n      res.json({ hasBackup: fs.existsSync(backupPath) })\n    }\n  )\n\n  app.securityStrategy.addAdminWriteMiddleware(`${SERVERROUTESPREFIX}/settings`)\n\n  app.put(`${SERVERROUTESPREFIX}/settings`, (req: Request, res: Response) => {\n    const settings = req.body\n    const updatedSettings = structuredClone(app.config.settings)\n\n    forIn(settings.interfaces, (enabled, name) => {\n      const interfaces =\n        updatedSettings.interfaces || (updatedSettings.interfaces = {})\n      interfaces[name] = enabled\n    })\n\n    if (!isUndefined(settings.options.mdns)) {\n      updatedSettings.mdns = settings.options.mdns\n    }\n\n    if (!isUndefined(settings.options.ssl)) {\n      updatedSettings.ssl = settings.options.ssl\n    }\n\n    if (!isUndefined(settings.options.wsCompression)) {\n      updatedSettings.wsCompression = settings.options.wsCompression\n    }\n\n    if (!isUndefined(settings.options.wsPingInterval)) {\n      updatedSettings.wsPingInterval = settings.options.wsPingInterval\n    }\n\n    if (!isUndefined(settings.options.accessLogging)) {\n      updatedSettings.accessLogging = settings.options.accessLogging\n    }\n\n    if (!isUndefined(settings.options.enablePluginLogging)) {\n      updatedSettings.enablePluginLogging = settings.options.enablePluginLogging\n    }\n\n    if (!isUndefined(settings.options.trustProxy)) {\n      updatedSettings.trustProxy = settings.options.trustProxy\n    }\n\n    if (!isUndefined(settings.port)) {\n      updatedSettings.port = Number(settings.port)\n    }\n\n    if (!isUndefined(settings.sslport)) {\n      updatedSettings.sslport = Number(settings.sslport)\n    }\n\n    if (!isUndefined(settings.loggingDirectory)) {\n      updatedSettings.loggingDirectory = settings.loggingDirectory\n    }\n\n    if (!isUndefined(settings.pruneContextsMinutes)) {\n      updatedSettings.pruneContextsMinutes = Number(\n        settings.pruneContextsMinutes\n      )\n    }\n\n    if (!isUndefined(settings.keepMostRecentLogsOnly)) {\n      updatedSettings.keepMostRecentLogsOnly = settings.keepMostRecentLogsOnly\n    }\n\n    if (!isUndefined(settings.logCountToKeep)) {\n      updatedSettings.logCountToKeep = Number(settings.logCountToKeep)\n    }\n\n    forIn(settings.courseApi, (enabled, name) => {\n      const courseApi: { [index: string]: boolean | string | number } =\n        updatedSettings.courseApi || (updatedSettings.courseApi = {})\n      courseApi[name] = enabled\n    })\n\n    writeSettingsFile(app, updatedSettings, (err: Error) => {\n      if (err) {\n        res.status(500).send('Unable to save to settings file')\n      } else {\n        app.config.settings = updatedSettings\n        res.type('text/plain').send('Settings changed')\n      }\n    })\n  })\n\n  app.get(`${SERVERROUTESPREFIX}/vessel`, (req: Request, res: Response) => {\n    const de = app.config.baseDeltaEditor\n    const communication = de.getSelfValue('communication')\n    const draft = de.getSelfValue('design.draft')\n    const length = de.getSelfValue('design.length')\n    const type = de.getSelfValue('design.aisShipType')\n    const json = {\n      name: app.config.vesselName,\n      mmsi: app.config.vesselMMSI,\n      uuid: app.config.vesselUUID,\n      draft: draft && draft.maximum,\n      length: length && length.overall,\n      beam: de.getSelfValue('design.beam'),\n      height: de.getSelfValue('design.airHeight'),\n      gpsFromBow: de.getSelfValue('sensors.gps.fromBow'),\n      gpsFromCenter: de.getSelfValue('sensors.gps.fromCenter'),\n      aisShipType: type && type.id,\n      callsignVhf: communication && communication.callsignVhf\n    }\n\n    res.json(json)\n  })\n\n  function writeOldDefaults(req: Request, res: Response) {\n    let self\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let data: any\n\n    try {\n      data = readDefaultsFile(app)\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    } catch (e: any) {\n      if (e.code && e.code === 'ENOENT') {\n        data = {}\n      } else {\n        console.error(e)\n        res.status(500).send('Unable to read defaults file')\n      }\n    }\n\n    self = get(data, 'vessels.self')\n\n    if (isUndefined(self)) {\n      self = set(data, 'vessels.self', {})\n    }\n\n    const newVessel = req.body\n\n    function setString(skPath: string, value: string) {\n      set(\n        data.vessels.self,\n        skPath,\n        value && value.length > 0 ? value : undefined\n      )\n    }\n\n    function setNumber(skPath: string, rmPath: string, value: string) {\n      if (isNumber(value) || (value && value.length > 0)) {\n        set(data.vessels.self, skPath, Number(value))\n      } else {\n        unset(data.vessels.self, rmPath)\n      }\n    }\n\n    setString('name', newVessel.name)\n    setString('mmsi', newVessel.mmsi)\n\n    if (newVessel.uuid && !self.mmsi) {\n      setString('uuid', newVessel.uuid)\n    } else {\n      delete self.uuid\n    }\n    setNumber('design.draft.value.maximum', 'design.draft', newVessel.draft)\n    setNumber('design.length.value.overall', 'design.length', newVessel.length)\n    setNumber('design.beam.value', 'design.beam', newVessel.beam)\n    setNumber('design.airHeight.value', 'design.airHeight', newVessel.height)\n    setNumber(\n      'sensors.gps.fromBow.value',\n      'sensors.gps.fromBow',\n      newVessel.gpsFromBow\n    )\n    setNumber(\n      'sensors.gps.fromCenter.value',\n      'sensors.gps.fromCenter',\n      newVessel.gpsFromCenter\n    )\n\n    if (newVessel.aisShipType) {\n      set(data.vessels.self, 'design.aisShipType.value', {\n        name: getAISShipTypeName(newVessel.aisShipType),\n        id: Number(newVessel.aisShipType)\n      })\n    } else {\n      delete self.design.aisShipType\n    }\n\n    if (newVessel.callsignVhf) {\n      setString('communication.callsignVhf', newVessel.callsignVhf)\n    } else {\n      delete self.communication\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    writeDefaultsFile(app, data, (err: any) => {\n      if (err) {\n        res.status(500).send('Unable to save to defaults file')\n      } else {\n        res.type('text/plain').send('Vessel changed')\n      }\n    })\n  }\n\n  app.securityStrategy.addAdminWriteMiddleware(`${SERVERROUTESPREFIX}/vessel`)\n\n  app.put(`${SERVERROUTESPREFIX}/vessel`, (req: Request, res: Response) => {\n    const de = app.config.baseDeltaEditor\n    const vessel = req.body\n\n    de.setSelfValue('name', vessel.name)\n    app.config.vesselName = vessel.name\n    de.setSelfValue('mmsi', vessel.mmsi)\n    app.config.vesselMMSI = vessel.mmsi\n    if (vessel.uuid && !vessel.mmsi) {\n      de.setSelfValue('uuid', vessel.uuid)\n      app.config.vesselUUID = vessel.uuid\n    } else {\n      de.removeSelfValue('uuid')\n      delete app.config.vesselUUID\n    }\n\n    function makeNumber(num: string) {\n      return !isUndefined(num) && (isNumber(num) || num.length)\n        ? Number(num)\n        : undefined\n    }\n\n    de.setSelfValue(\n      'design.draft',\n      !isUndefined(vessel.draft) ? { maximum: Number(vessel.draft) } : undefined\n    )\n    de.setSelfValue(\n      'design.length',\n      !isUndefined(vessel.length)\n        ? { overall: Number(vessel.length) }\n        : undefined\n    )\n    de.setSelfValue('design.beam', makeNumber(vessel.beam))\n    de.setSelfValue('design.airHeight', makeNumber(vessel.height))\n    de.setSelfValue('sensors.gps.fromBow', makeNumber(vessel.gpsFromBow))\n    de.setSelfValue('sensors.gps.fromCenter', makeNumber(vessel.gpsFromCenter))\n    de.setSelfValue(\n      'design.aisShipType',\n      !isUndefined(vessel.aisShipType)\n        ? {\n            name: getAISShipTypeName(vessel.aisShipType),\n            id: Number(vessel.aisShipType)\n          }\n        : undefined\n    )\n    de.setSelfValue(\n      'communication',\n      !isUndefined(vessel.callsignVhf) && vessel.callsignVhf.length\n        ? { callsignVhf: vessel.callsignVhf }\n        : undefined\n    )\n\n    app.emit('serverevent', {\n      type: 'VESSEL_INFO',\n      data: {\n        name: app.config.vesselName,\n        mmsi: app.config.vesselMMSI,\n        uuid: app.config.vesselUUID\n      }\n    })\n\n    sendBaseDeltas(app)\n\n    if (app.config.hasOldDefaults) {\n      writeOldDefaults(req, res)\n    } else {\n      writeBaseDeltasFile(app)\n        .then(() => {\n          res.type('text/plain').send('Vessel changed')\n        })\n        .catch(() => {\n          res.status(500).send('Unable to save to defaults file')\n        })\n    }\n  })\n\n  app.get(\n    `${SERVERROUTESPREFIX}/availablePaths`,\n    (req: Request, res: Response) => {\n      res.json(app.streambundle.getAvailablePaths())\n    }\n  )\n\n  app.securityStrategy.addAdminMiddleware(\n    `${SERVERROUTESPREFIX}/eventsRoutingData`\n  )\n  app.get(\n    `${SERVERROUTESPREFIX}/eventsRoutingData`,\n    (req: Request, res: Response) => {\n      res.json(app.wrappedEmitter.getEventRoutingData())\n    }\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/serialports`,\n    (req: Request, res: Response, next: NextFunction) => {\n      listAllSerialPorts()\n        .then((ports) => res.json(ports))\n        .catch(next)\n    }\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/hasAnalyzer`,\n    (req: Request, res: Response) => {\n      commandExists('analyzer')\n        .then(() => res.json(true))\n        .catch(() => res.json(false))\n    }\n  )\n\n  app.securityStrategy.addAdminWriteMiddleware(\n    `${SERVERROUTESPREFIX}/sourcePriorities`\n  )\n\n  app.get(\n    `${SERVERROUTESPREFIX}/sourcePriorities`,\n    (req: Request, res: Response) => {\n      res.json(app.config.settings.sourcePriorities || {})\n    }\n  )\n\n  app.put(\n    `${SERVERROUTESPREFIX}/sourcePriorities`,\n    (req: Request, res: Response) => {\n      const updatedSettings = structuredClone(app.config.settings)\n      updatedSettings.sourcePriorities = req.body\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      writeSettingsFile(app, updatedSettings, (err: any) => {\n        if (err) {\n          res\n            .status(500)\n            .send('Unable to save to sourcePrefences in settings file')\n        } else {\n          app.config.settings = updatedSettings\n          app.activateSourcePriorities()\n          res.json({ result: 'ok' })\n        }\n      })\n    }\n  )\n\n  app.securityStrategy.addAdminWriteMiddleware(`${SERVERROUTESPREFIX}/debug`)\n\n  app.post(`${SERVERROUTESPREFIX}/debug`, (req: Request, res: Response) => {\n    if (!app.logging.enableDebug(req.body.value)) {\n      res.status(400).send('invalid debug value')\n    } else {\n      res.status(200).send()\n    }\n  })\n\n  app.get(`${SERVERROUTESPREFIX}/debugKeys`, (req: Request, res: Response) => {\n    res.json(listKnownDebugs())\n  })\n\n  const npmVersion = (() => {\n    try {\n      return execSync('npm --version', { encoding: 'utf8' }).trim()\n    } catch {\n      return 'unknown'\n    }\n  })()\n\n  app.get(`${SERVERROUTESPREFIX}/nodeInfo`, (_req: Request, res: Response) => {\n    res.json({\n      nodeVersion: process.version,\n      npmVersion,\n      recommendedNodeVersion\n    })\n  })\n\n  app.securityStrategy.addAdminWriteMiddleware(\n    `${SERVERROUTESPREFIX}/rememberDebug`\n  )\n\n  app.post(\n    `${SERVERROUTESPREFIX}/rememberDebug`,\n    (req: Request, res: Response) => {\n      app.logging.rememberDebug(req.body.value)\n      res.status(200).send()\n    }\n  )\n\n  app.get(`${skPrefix}/apps/list`, (req: Request, res: Response) => {\n    res.json(\n      app.webapps.map((webapp) => {\n        return {\n          name: webapp.name,\n          version: webapp.version,\n          description: webapp.description,\n          location: `/${webapp.name}/`,\n          license: webapp.license,\n          author: getAuthor(webapp)\n        }\n      })\n    )\n  })\n\n  const safeFiles = [\n    'settings.json',\n    'defaults.json',\n    'security.json',\n    'package.json',\n    'baseDeltas.json'\n  ]\n  function listSafeRestoreFiles(restorePath: string): Promise<string[]> {\n    return new Promise((resolve, reject) => {\n      readdir(restorePath)\n        .catch(reject)\n        .then((filenames: string[] | void) => {\n          const goodFiles =\n            filenames?.filter((name) => safeFiles.indexOf(name) !== -1) || []\n          filenames?.forEach((name) => {\n            try {\n              const stats = fs.lstatSync(path.join(restorePath, name))\n              if (stats.isDirectory()) {\n                goodFiles.push(name + '/')\n              }\n              resolve(goodFiles)\n            } catch (err) {\n              reject(err)\n            }\n          })\n        })\n    })\n  }\n\n  function sendRestoreStatus(\n    state: string,\n    message: string,\n    percentComplete: number | null\n  ) {\n    const status = {\n      state,\n      message,\n      percentComplete: percentComplete ? percentComplete * 100 : '-'\n    }\n    app.emit('serverevent', {\n      type: 'RESTORESTATUS',\n      from: 'signalk-server',\n      data: status\n    })\n  }\n\n  app.post(`${SERVERROUTESPREFIX}/restore`, (req: Request, res: Response) => {\n    if (\n      !app.securityStrategy.isDummy() &&\n      !app.securityStrategy.allowConfigure(req)\n    ) {\n      res.status(401).send('Restore not allowed')\n      return\n    }\n    const sessionId = getCookie(req, 'restoreSession')\n    const restoreFilePath = sessionId\n      ? restoreSessions.get(sessionId)\n      : undefined\n\n    if (!restoreFilePath) {\n      res.status(400).send('not exting restore file')\n    } else if (!fs.existsSync(restoreFilePath)) {\n      res.status(400).send('restore file does not exist')\n    } else {\n      res.status(202).send()\n    }\n\n    listSafeRestoreFiles(restoreFilePath!)\n      .then((files) => {\n        const wanted = files.filter((name) => {\n          return req.body[name]\n        })\n\n        let hasError = false\n        for (let i = 0; i < wanted.length; i++) {\n          const name = wanted[i]\n          sendRestoreStatus(\n            'Copying Files',\n            `Copying ${name}`,\n            i / wanted.length\n          )\n          ncp(\n            path.join(restoreFilePath!, name),\n            path.join(app.config.configPath, name),\n            { stopOnErr: true },\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            (err: any) => {\n              if (err) {\n                sendRestoreStatus('error', err.message, null)\n                hasError = true\n              }\n            }\n          )\n        }\n        if (!hasError) {\n          sendRestoreStatus('Installing Plugins', '', 1)\n\n          restoreModules(\n            app.config,\n            (output) => {\n              sendRestoreStatus('Installing Plugins', `${output}`, 1)\n              console.log(`stdout: ${output}`)\n            },\n            (output) => {\n              //sendRestoreStatus('Error', `${output}`, 1)\n              console.error(`stderr: ${output}`)\n            },\n            () => {\n              sendRestoreStatus('Complete', 'Please restart', 1)\n            }\n          )\n        }\n      })\n      .catch((err) => {\n        console.error(err)\n        sendRestoreStatus('error', err.message, null)\n      })\n  })\n\n  app.post(\n    `${SERVERROUTESPREFIX}/validateBackup`,\n    (req: Request, res: Response) => {\n      if (\n        !app.securityStrategy.isDummy() &&\n        !app.securityStrategy.allowConfigure(req)\n      ) {\n        res.status(401).send('Validate backup not allowed')\n        return\n      }\n      const bb = busboy({ headers: req.headers })\n      bb.on(\n        'file',\n        (\n          fieldname: string,\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          file: any,\n          { filename }\n        ) => {\n          try {\n            if (!filename.endsWith('.backup')) {\n              res\n                .status(400)\n                .send('the backup file does not have the .backup extension')\n              return\n            }\n            if (!filename.startsWith('signalk-')) {\n              res\n                .status(400)\n                .send('the backup file does not start with signalk-')\n              return\n            }\n            const tmpDir = os.tmpdir()\n            const restoreFilePath = fs.mkdtempSync(`${tmpDir}${path.sep}`)\n            const sessionId =\n              Date.now() + '_' + Math.random().toString(36).substr(2, 9)\n            restoreSessions.set(sessionId, restoreFilePath)\n            setTimeout(() => restoreSessions.delete(sessionId), 15 * 60 * 1000)\n            res.cookie('restoreSession', sessionId, {\n              httpOnly: true,\n              sameSite: 'strict'\n            })\n\n            const zipFileDir = fs.mkdtempSync(`${tmpDir}${path.sep}`)\n            const zipFile = path.join(zipFileDir, 'backup.zip')\n\n            file\n              .pipe(fs.createWriteStream(zipFile))\n              // eslint-disable-next-line @typescript-eslint/no-explicit-any\n              .on('error', (err: any) => {\n                console.error(err)\n                res.status(500).send(err.message)\n              })\n              .on('close', () => {\n                const zipStream = fs.createReadStream(zipFile)\n                const extractPromises: Promise<void>[] = []\n                const resolvedBase = path.resolve(restoreFilePath)\n\n                zipStream\n                  .pipe(unzipper.Parse())\n                  .on('entry', (entry: unzipper.Entry) => {\n                    const targetPath = path.join(restoreFilePath, entry.path)\n                    const resolvedTarget = path.resolve(targetPath)\n\n                    if (!resolvedTarget.startsWith(resolvedBase + path.sep)) {\n                      console.error(`Zip slip attempt blocked: ${entry.path}`)\n                      entry.autodrain()\n                      return\n                    }\n\n                    if (entry.type === 'Directory') {\n                      fs.mkdirSync(resolvedTarget, { recursive: true })\n                      entry.autodrain()\n                    } else {\n                      fs.mkdirSync(path.dirname(resolvedTarget), {\n                        recursive: true\n                      })\n                      const writePromise = new Promise<void>(\n                        (resolve, reject) => {\n                          entry\n                            .pipe(fs.createWriteStream(resolvedTarget))\n                            .on('close', resolve)\n                            .on('error', reject)\n                        }\n                      )\n                      extractPromises.push(writePromise)\n                    }\n                  })\n                  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                  .on('error', (err: any) => {\n                    console.error(err)\n                    res.status(500).send(err.message)\n                  })\n                  .on('close', () => {\n                    Promise.all(extractPromises)\n                      .then(() => {\n                        fs.unlinkSync(zipFile)\n                        return listSafeRestoreFiles(restoreFilePath)\n                      })\n                      .then((files) => {\n                        res.type('text/plain').send(files)\n                      })\n                      .catch((err) => {\n                        console.error(err)\n                        res.status(500).send(err.message)\n                      })\n                  })\n              })\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          } catch (err: any) {\n            console.log(err)\n            res.status(500).send(err.message)\n          }\n        }\n      )\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      bb.on('error', (err: any) => {\n        console.log(err)\n        res.status(500).send(err.message)\n      })\n      bb.on('finish', function () {\n        console.log('finish')\n      })\n      req.pipe(bb)\n    }\n  )\n\n  app.get(`${SERVERROUTESPREFIX}/backup`, (req: Request, res: Response) => {\n    readdir(app.config.configPath).then((filenames) => {\n      const files = filenames\n        .filter((file) => {\n          return (\n            (file !== 'node_modules' ||\n              (file === 'node_modules' &&\n                req.query.includePlugins === 'true')) &&\n            !file.endsWith('.log') &&\n            file !== 'signalk-server' &&\n            file !== '.npmrc'\n          )\n        })\n        .map((name) => {\n          const filename = path.join(app.config.configPath, name)\n          return {\n            path: filename,\n            name\n          }\n        })\n      sendZip(res, {\n        files,\n        filename: `signalk-${moment().format('MMM-DD-YYYY-HHTmm')}.backup`\n      })\n    })\n  })\n\n  app.securityStrategy.addAdminMiddleware(\n    `${SERVERROUTESPREFIX}/testSignalKConnection`\n  )\n  app.securityStrategy.addAdminMiddleware(`${SERVERROUTESPREFIX}/requestAccess`)\n  app.securityStrategy.addAdminMiddleware(\n    `${SERVERROUTESPREFIX}/checkAccessRequest`\n  )\n\n  app.post(\n    `${SERVERROUTESPREFIX}/testSignalKConnection`,\n    (req: Request, res: Response) => {\n      const { host, port, useTLS, token, selfsignedcert } = req.body\n\n      makeRemoteRequest(host, port, useTLS, selfsignedcert, '/signalk')\n        .then((discovery) => {\n          if (discovery.status !== 200) {\n            return res.json({\n              success: false,\n              error: `Discovery failed: HTTP ${discovery.status}`\n            })\n          }\n\n          let server: Record<string, string> | undefined\n          try {\n            server = JSON.parse(discovery.data).server\n          } catch (_e) {\n            // ignore parse errors for server info\n          }\n\n          if (!token) {\n            return res.json({\n              success: true,\n              authenticated: false,\n              server\n            })\n          }\n\n          return makeRemoteRequest(\n            host,\n            port,\n            useTLS,\n            selfsignedcert,\n            '/skServer/loginStatus',\n            'GET',\n            { Authorization: `JWT ${token}` }\n          ).then((loginResult) => {\n            let loginStatus\n            try {\n              loginStatus = JSON.parse(loginResult.data)\n            } catch (_e) {\n              // ignore parse errors\n            }\n\n            if (\n              loginResult.status !== 200 ||\n              !loginStatus ||\n              loginStatus.status !== 'loggedIn'\n            ) {\n              return res.json({\n                success: false,\n                connected: true,\n                error: 'Authentication failed: token may be invalid or revoked',\n                server\n              })\n            }\n\n            res.json({\n              success: true,\n              authenticated: true,\n              userLevel: loginStatus.userLevel,\n              username: loginStatus.username,\n              server\n            })\n          })\n        })\n        .catch((err: Error) => {\n          res.json({ success: false, error: err.message })\n        })\n    }\n  )\n\n  app.post(\n    `${SERVERROUTESPREFIX}/requestAccess`,\n    (req: Request, res: Response) => {\n      const { host, port, useTLS, selfsignedcert, clientId, description } =\n        req.body\n\n      makeRemoteRequest(\n        host,\n        port,\n        useTLS,\n        selfsignedcert,\n        '/signalk/v1/access/requests',\n        'POST',\n        {},\n        { clientId, description }\n      )\n        .then((result) => {\n          try {\n            const data = JSON.parse(result.data)\n            res.json(data)\n          } catch (_e) {\n            res.json({\n              state: 'ERROR',\n              error: `Unexpected response: HTTP ${result.status}`\n            })\n          }\n        })\n        .catch((err: Error) => {\n          res.json({ state: 'ERROR', error: err.message })\n        })\n    }\n  )\n\n  app.post(\n    `${SERVERROUTESPREFIX}/checkAccessRequest`,\n    (req: Request, res: Response) => {\n      const { host, port, useTLS, selfsignedcert, requestId } = req.body\n\n      makeRemoteRequest(\n        host,\n        port,\n        useTLS,\n        selfsignedcert,\n        `/signalk/v1/requests/${requestId}`\n      )\n        .then((result) => {\n          try {\n            const data = JSON.parse(result.data)\n            res.json(data)\n          } catch (_e) {\n            res.json({\n              state: 'ERROR',\n              error: `Unexpected response: HTTP ${result.status}`\n            })\n          }\n        })\n        .catch((err: Error) => {\n          res.json({ state: 'ERROR', error: err.message })\n        })\n    }\n  )\n}\n\nfunction makeRemoteRequest(\n  host: string,\n  port: number,\n  useTLS: boolean,\n  selfsignedcert: boolean,\n  path: string,\n  method?: string,\n  headers?: Record<string, string>,\n  body?: unknown\n): Promise<{ status: number | undefined; data: string }> {\n  const protocol = useTLS ? https : http\n  return new Promise((resolve, reject) => {\n    const options = {\n      hostname: host,\n      port,\n      path,\n      method: method || 'GET',\n      headers: {\n        ...(headers || {}),\n        ...(body ? { 'Content-Type': 'application/json' } : {})\n      },\n      rejectUnauthorized: !selfsignedcert\n    }\n    const req = protocol.request(options, (response) => {\n      let data = ''\n      response.on('data', (chunk: string) => {\n        data += chunk\n      })\n      response.on('end', () => {\n        resolve({ status: response.statusCode, data })\n      })\n    })\n    req.on('error', reject)\n    req.setTimeout(10000, () => {\n      req.destroy(new Error('Connection timed out'))\n    })\n    if (body) {\n      req.write(JSON.stringify(body))\n    }\n    req.end()\n  })\n}\n\nconst setNoCache = (res: Response) => {\n  res.header('Cache-Control', 'no-cache, no-store, must-revalidate')\n  res.header('Pragma', 'no-cache')\n  res.header('Expires', '0')\n}\n\nfunction getCookie(req: Request, name: string): string | undefined {\n  if (req.headers.cookie) {\n    const value = '; ' + req.headers.cookie\n    const parts = value.split('; ' + name + '=')\n    if (parts.length === 2) {\n      return parts.pop()?.split(';').shift()\n    }\n  }\n  return undefined\n}\n"
  },
  {
    "path": "src/serverstate/store.ts",
    "content": "import { constants } from 'fs'\nimport { access, mkdir, readFile } from 'fs/promises'\nimport path from 'path'\nimport { WithConfig } from '../app'\nimport { atomicWriteFile } from '../atomicWrite'\n\nexport const SERVERSTATEDIRNAME = 'serverState'\n\nexport class Store {\n  private filePath = ''\n  private fileName = ''\n  private initPromise: Promise<void> | null = null\n\n  constructor(\n    server: WithConfig,\n    storePath: string,\n    fileName = 'settings.json'\n  ) {\n    this.filePath = path.join(\n      server.config.configPath,\n      SERVERSTATEDIRNAME,\n      storePath\n    )\n    this.fileName = fileName\n    this.initPromise = this.init().catch((error) => {\n      console.log(\n        `Could not initialise ${path.join(this.filePath, this.fileName)}`\n      )\n      console.log(error)\n    })\n  }\n\n  // Wait for initialization to complete before performing operations\n  async waitForInit(): Promise<void> {\n    if (this.initPromise) {\n      await this.initPromise\n    }\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  async read(): Promise<any> {\n    await this.waitForInit()\n    const data = await readFile(path.join(this.filePath, this.fileName), 'utf8')\n    return JSON.parse(data)\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  async write(data: any) {\n    await this.waitForInit()\n    return atomicWriteFile(\n      path.join(this.filePath, this.fileName),\n      JSON.stringify(data)\n    )\n  }\n\n  private async init() {\n    try {\n      /* tslint:disable:no-bitwise */\n      await access(this.filePath, constants.R_OK | constants.W_OK)\n      /* tslint:enable:no-bitwise */\n    } catch (_error) {\n      try {\n        await mkdir(this.filePath, { recursive: true })\n      } catch (_error) {\n        console.log(`Error: Unable to create ${this.filePath}`)\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "src/streambundle.ts",
    "content": "/*\n * Copyright 2016 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n  StreamBundle as IStreamBundle,\n  Delta,\n  NormalizedDelta,\n  Path,\n  Update,\n  Value,\n  NormalizedMetaDelta\n} from '@signalk/server-api'\nimport * as Bacon from 'baconjs'\n\nexport class StreamBundle implements IStreamBundle {\n  selfContext: string\n  buses: { [key: Path]: Bacon.Bus<NormalizedDelta> }\n  allPathsBus: Bacon.Bus<NormalizedDelta>\n  selfBuses: Record<Path, Bacon.Bus<NormalizedDelta>>\n  selfAllPathsBus: Bacon.Bus<NormalizedDelta>\n  selfStreams: Record<Path, Bacon.Bus<Value>>\n  selfAllPathsStream: Bacon.Bus<Value>\n  keys: Bacon.Bus<Path>\n  availableSelfPaths: { [key: Path]: true }\n  metaBus: Bacon.Bus<NormalizedMetaDelta>\n  selfMetaBus: Bacon.Bus<NormalizedMetaDelta>\n\n  constructor(selfId: string) {\n    this.selfContext = 'vessels.' + selfId\n    this.buses = {}\n    this.allPathsBus = new Bacon.Bus()\n    this.selfBuses = {}\n    this.selfAllPathsBus = new Bacon.Bus()\n    this.selfStreams = {}\n    this.selfAllPathsStream = new Bacon.Bus()\n    this.keys = new Bacon.Bus()\n    this.availableSelfPaths = {}\n    this.metaBus = new Bacon.Bus()\n    this.selfMetaBus = new Bacon.Bus()\n  }\n\n  pushDelta(delta: Delta) {\n    try {\n      if (delta.updates) {\n        delta.updates.forEach((update) => {\n          const base = {\n            context: delta.context!, // TSTODO: make optional/required match\n            source: update.source,\n            $source: update.$source!, // TSTODO: make optional/required match\n            timestamp: update.timestamp! // TSTODO: make optional/required match\n          }\n\n          if ('meta' in update) {\n            update.meta.forEach((meta) => {\n              this.push(meta.path, {\n                ...base,\n                path: meta.path,\n                value: meta.value,\n                isMeta: true\n              })\n            })\n          }\n\n          if ('values' in update) {\n            update.values.forEach((pathValue) => {\n              this.push(pathValue.path, {\n                ...base,\n                path: pathValue.path,\n                value: pathValue.value,\n                isMeta: false\n              })\n            })\n          }\n        })\n      }\n    } catch (e) {\n      console.error(e)\n    }\n  }\n\n  push(path: Path, normalizedDelta: NormalizedDelta) {\n    const { isMeta } = normalizedDelta\n    const isSelf = normalizedDelta.context === this.selfContext\n    if (isMeta) {\n      this.metaBus.push(normalizedDelta)\n      if (isSelf) {\n        this.selfMetaBus.push(normalizedDelta)\n      }\n    }\n    if (!this.availableSelfPaths[path]) {\n      this.availableSelfPaths[path] = true\n    }\n    this.getBus().push(normalizedDelta)\n    this.getBus(path).push(normalizedDelta)\n    if (isSelf) {\n      this.getSelfBus().push(normalizedDelta)\n      this.getSelfBus(path).push(normalizedDelta)\n      if (!isMeta) {\n        this.getSelfStream().push(normalizedDelta.value)\n        this.getSelfStream(path).push(normalizedDelta.value)\n      }\n    }\n  }\n\n  getMetaBus() {\n    return this.metaBus\n  }\n\n  getSelfMetaBus() {\n    return this.selfMetaBus\n  }\n\n  getBus(path?: Path) {\n    if (path !== undefined) {\n      let result = this.buses[path]\n      if (!result) {\n        result = this.buses[path] = new Bacon.Bus()\n        this.keys.push(path)\n      }\n      return result\n    } else {\n      return this.allPathsBus\n    }\n  }\n\n  getSelfStream(path?: Path) {\n    if (path !== undefined) {\n      let result = this.selfStreams[path]\n      if (!result) {\n        result = this.selfStreams[path] = new Bacon.Bus()\n      }\n      return result\n    } else {\n      return this.selfAllPathsStream\n    }\n  }\n\n  getSelfBus(path?: Path) {\n    if (path !== undefined) {\n      let result = this.selfBuses[path]\n      if (!result) {\n        result = this.selfBuses[path] = new Bacon.Bus()\n      }\n      return result\n    } else {\n      return this.selfAllPathsBus\n    }\n  }\n\n  getAvailablePaths() {\n    return Object.keys(this.availableSelfPaths) as Path[]\n  }\n}\n\nexport function toDelta(normalizedDeltaData: NormalizedDelta): Delta {\n  const type = normalizedDeltaData.isMeta ? 'meta' : 'values'\n  const update = {\n    source: normalizedDeltaData.source,\n    $source: normalizedDeltaData.$source,\n    timestamp: normalizedDeltaData.timestamp,\n    [type]: [\n      {\n        path: normalizedDeltaData.path,\n        value: normalizedDeltaData.value\n      }\n    ]\n  } as Update\n\n  return {\n    context: normalizedDeltaData.context,\n    updates: [update]\n  }\n}\n"
  },
  {
    "path": "src/subscriptionmanager.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/*\n * Copyright 2016 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n  SubscriptionManager as ISubscriptionManager,\n  Unsubscribes,\n  NormalizedDelta,\n  Path,\n  WithContext,\n  SubscribeMessage,\n  SubscriptionOptions,\n  UnsubscribeMessage,\n  SubscribeCallback,\n  RelativePositionOrigin\n} from '@signalk/server-api'\nimport * as Bacon from 'baconjs'\nimport { isPointWithinRadius } from 'geolib'\nimport _, { forOwn, get, isString } from 'lodash'\nimport { createDebug } from './debug'\nimport DeltaCache from './deltacache'\nimport { StreamBundle, toDelta } from './streambundle'\nimport { ContextMatcher } from './types'\nconst debug = createDebug('signalk-server:subscriptionmanager')\n\ninterface BusesMap {\n  [path: Path]: Bacon.Bus<NormalizedDelta>\n}\n\nclass SubscriptionManager implements ISubscriptionManager {\n  streambundle: StreamBundle\n  selfContext: string\n  app: any\n  constructor(app: any) {\n    this.streambundle = app.streambundle\n    this.selfContext = app.selfContext\n    this.app = app\n  }\n\n  subscribe(\n    command: SubscribeMessage,\n    unsubscribes: Unsubscribes,\n    errorCallback: (err: unknown) => void,\n    callback: SubscribeCallback,\n    user?: string\n  ) {\n    const contextFilter = contextMatcher(\n      this.selfContext,\n      this.app,\n      command,\n      errorCallback\n    )\n    if (Array.isArray(command.subscribe)) {\n      handleSubscribeRows(\n        this.app,\n        command.subscribe,\n        unsubscribes,\n        this.streambundle.buses,\n        contextFilter,\n        callback,\n        errorCallback,\n        user\n      )\n      // listen to new keys and then use the same logic to check if we\n      // want to subscribe, passing in a map with just that single bus\n      unsubscribes.push(\n        this.streambundle.keys.onValue((path) => {\n          const buses: BusesMap = {}\n          buses[path] = this.streambundle.getBus(path)\n          handleSubscribeRows(\n            this.app,\n            command.subscribe,\n            unsubscribes,\n            buses,\n            contextFilter,\n            callback,\n            errorCallback,\n            user\n          )\n        })\n      )\n    }\n\n    // Handle announceNewPaths: announce all paths matching context (once each)\n    // This allows clients with granular subscriptions to discover available paths\n    // without subscribing to everything continuously\n    if (command.announceNewPaths) {\n      const announcedPaths = new Set<string>()\n\n      // 1. Announce ALL existing paths matching context (send cached deltas once)\n      const existingDeltas = this.app.deltaCache.getCachedDeltas(\n        contextFilter,\n        user\n      )\n      if (existingDeltas) {\n        existingDeltas.forEach((delta: any) => {\n          // Track which paths we've announced\n          delta.updates?.forEach((update: any) => {\n            update.values?.forEach((vp: any) => {\n              if (vp.path) {\n                announcedPaths.add(vp.path)\n              }\n            })\n          })\n          callback(delta)\n        })\n      }\n\n      // 2. Listen for NEW paths appearing later and announce once\n      unsubscribes.push(\n        this.streambundle.keys.onValue((path: string) => {\n          if (announcedPaths.has(path)) {\n            return // Already announced this path\n          }\n          announcedPaths.add(path)\n\n          // Subscribe to the bus to get the first value for this new path\n          // We can't rely on deltaCache here because it might not have\n          // received the value yet (race condition with keys.onValue)\n          const bus = this.streambundle.getBus(path as Path)\n          const unsubscribeBus = bus\n            .filter(contextFilter)\n            .take(1) // Only take the first value\n            .map(toDelta)\n            .onValue((delta: any) => {\n              callback(delta)\n            })\n\n          // Add to unsubscribes so it gets cleaned up\n          unsubscribes.push(unsubscribeBus)\n        })\n      )\n    }\n  }\n\n  unsubscribe(msg: UnsubscribeMessage, unsubscribes: Unsubscribes) {\n    if (\n      msg.unsubscribe &&\n      msg.context === '*' &&\n      msg.unsubscribe &&\n      msg.unsubscribe.length === 1 &&\n      msg.unsubscribe[0].path === '*'\n    ) {\n      debug('Unsubscribe all')\n      unsubscribes.forEach((unsubscribe) => unsubscribe())\n      // clear unsubscribes\n      unsubscribes.length = 0\n    } else {\n      throw new Error(\n        `Only '{\"context\":\"*\",\"unsubscribe\":[{\"path\":\"*\"}]}' supported, received ${JSON.stringify(\n          msg\n        )}`\n      )\n    }\n  }\n}\n\nfunction handleSubscribeRows(\n  app: any,\n  rows: SubscriptionOptions[],\n  unsubscribes: Unsubscribes,\n  buses: BusesMap,\n  filter: ContextMatcher,\n  callback: SubscribeCallback,\n  errorCallback: any,\n  user?: string\n) {\n  rows.reduce((acc, subscribeRow) => {\n    if (subscribeRow.path !== undefined) {\n      handleSubscribeRow(\n        app,\n        subscribeRow,\n        unsubscribes,\n        buses,\n        filter,\n        callback,\n        errorCallback,\n        user\n      )\n    }\n    return acc\n  }, unsubscribes)\n}\n\ninterface App {\n  deltaCache: DeltaCache\n}\n\nfunction handleSubscribeRow(\n  app: App,\n  subscribeRow: SubscriptionOptions,\n  unsubscribes: Unsubscribes,\n  buses: BusesMap,\n  filter: ContextMatcher,\n  callback: SubscribeCallback,\n  errorCallback: any,\n  user?: string\n) {\n  const matcher = pathMatcher(subscribeRow.path)\n  // iterate over all the buses, checking if we want to subscribe to its values\n  forOwn(buses, (bus, key) => {\n    if (matcher(key)) {\n      debug('Subscribing to key ' + key)\n      let filteredBus: Bacon.EventStream<NormalizedDelta> = bus.filter(filter)\n      if (subscribeRow.minPeriod) {\n        if (subscribeRow.policy && subscribeRow.policy !== 'instant') {\n          errorCallback(\n            `minPeriod assumes policy 'instant', ignoring policy ${subscribeRow.policy}`\n          )\n        }\n        const minPeriodValue = Number(subscribeRow.minPeriod)\n        debug('minPeriod:' + subscribeRow.minPeriod)\n        if (isNaN(minPeriodValue)) {\n          errorCallback(\n            `invalid minPeriod value '${subscribeRow.minPeriod}', ignoring`\n          )\n        } else if (key !== '') {\n          // we can not apply minPeriod for empty path subscriptions\n          debug('debouncing')\n          filteredBus = filteredBus.debounceImmediate(minPeriodValue)\n        }\n      } else if (\n        subscribeRow.period ||\n        (subscribeRow.policy && subscribeRow.policy === 'fixed')\n      ) {\n        if (subscribeRow.policy && subscribeRow.policy !== 'fixed') {\n          errorCallback(\n            `period assumes policy 'fixed', ignoring policy ${subscribeRow.policy}`\n          )\n        } else if (key !== '') {\n          // we can not apply period for empty path subscriptions\n          const interval = Number(subscribeRow.period) || 1000\n          filteredBus = filteredBus\n            .bufferWithTime(interval)\n            .flatMapLatest((bufferedValues: any) => {\n              const uniqueValues = _(bufferedValues)\n                .reverse()\n                .uniqBy(\n                  (value) =>\n                    value.context + ':' + value.$source + ':' + value.path\n                )\n                .value()\n              return Bacon.fromArray(uniqueValues)\n            })\n        }\n      }\n      if (subscribeRow.format && subscribeRow.format !== 'delta') {\n        errorCallback('Only delta format supported, using it')\n      }\n      if (\n        subscribeRow.policy &&\n        !['instant', 'fixed'].some((s) => s === subscribeRow.policy)\n      ) {\n        errorCallback(\n          `Only 'instant' and 'fixed' policies supported, ignoring policy ${subscribeRow.policy}`\n        )\n      }\n      unsubscribes.push(filteredBus.map(toDelta).onValue(callback))\n\n      const latest = app.deltaCache.getCachedDeltas(filter, user, key)\n      if (latest) {\n        latest.forEach(callback)\n      }\n    }\n  })\n}\n\nfunction pathMatcher(path: string = '*') {\n  const pattern = path\n    .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n    .replace(/\\./g, '\\\\.')\n    .replace(/\\*/g, '.*')\n  const matcher = new RegExp('^' + pattern + '$')\n  return (aPath: string) => matcher.test(aPath)\n}\n\nfunction contextMatcher(\n  selfContext: string,\n  app: any,\n  subscribeCommand: SubscribeMessage,\n  errorCallback: any\n): ContextMatcher {\n  debug.enabled && debug('subscribeCommand:' + JSON.stringify(subscribeCommand))\n  if (subscribeCommand.context) {\n    if (isString(subscribeCommand.context)) {\n      const pattern = subscribeCommand.context\n        .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n        .replace(/\\./g, '\\\\.')\n        .replace(/\\*/g, '.*')\n      const matcher = new RegExp('^' + pattern + '$')\n      return (normalizedDeltaData: WithContext) =>\n        matcher.test(normalizedDeltaData.context) ||\n        ((subscribeCommand.context === 'vessels.self' ||\n          subscribeCommand.context === 'self') &&\n          normalizedDeltaData.context === selfContext)\n    } else if ('radius' in subscribeCommand.context) {\n      if (\n        !get(subscribeCommand.context, 'radius') ||\n        !get(subscribeCommand.context, 'position.latitude') ||\n        !get(subscribeCommand.context, 'position.longitude')\n      ) {\n        errorCallback(\n          'Please specify a radius and position for relativePosition'\n        )\n        return () => false\n      }\n      return (normalizedDeltaData: WithContext) =>\n        checkPosition(\n          app,\n          subscribeCommand.context as RelativePositionOrigin,\n          normalizedDeltaData\n        )\n    }\n  }\n  return () => true\n}\n\nfunction checkPosition(\n  app: any,\n  origin: RelativePositionOrigin,\n  normalizedDelta: WithContext\n): boolean {\n  const vessel = get(app.signalk.root, normalizedDelta.context)\n  const position = get(vessel, 'navigation.position')\n\n  return (\n    position &&\n    position.value &&\n    position.value.latitude &&\n    position.value.longitude &&\n    isPointWithinRadius(position.value, origin.position, origin.radius)\n  )\n}\n\nexport = SubscriptionManager\n"
  },
  {
    "path": "src/tokensecurity.ts",
    "content": "/*\n * Copyright 2017 Scott Bender <scott@scottbender.net>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Request, Response, NextFunction, IRouter } from 'express'\nimport jwt, { SignOptions } from 'jsonwebtoken'\nimport _ from 'lodash'\nimport bcrypt from 'bcryptjs'\nimport { getSourceId } from '@signalk/signalk-schema'\nimport {\n  Delta,\n  Update,\n  hasValues,\n  hasMeta,\n  Context,\n  Path\n} from '@signalk/server-api'\nimport ms, { StringValue } from 'ms'\nimport bodyParser from 'body-parser'\nimport cookieParser from 'cookie-parser'\nimport { createHash, randomBytes } from 'crypto'\n\nimport { createDebug } from './debug'\nimport {\n  createLoginRateLimiter,\n  LOGIN_RATE_LIMIT_MESSAGE\n} from './login-rate-limiter'\nimport {\n  InvalidTokenError,\n  SecurityConfig,\n  User,\n  Device,\n  UserData,\n  UserDataUpdate,\n  DeviceDataUpdate,\n  LoginStatusResponse,\n  saveSecurityConfig,\n  RequestStatusData,\n  ACL,\n  SecurityStrategy,\n  isOIDCUserIdentifier\n} from './security'\n// requestResponse is still CommonJS\n/* eslint-disable @typescript-eslint/no-require-imports */\nconst {\n  createRequest,\n  updateRequest,\n  findRequest,\n  filterRequests\n} = require('./requestResponse')\n/* eslint-enable @typescript-eslint/no-require-imports */\nimport {\n  parseOIDCConfig,\n  registerOIDCRoutes,\n  registerOIDCAdminRoutes,\n  OIDCConfig,\n  OIDCCryptoService,\n  ExternalUserService,\n  ExternalUser,\n  ProviderUserLookup,\n  PartialOIDCConfig,\n  OIDCError,\n  OIDC_DEFAULTS\n} from './oidc'\nimport { SERVERROUTESPREFIX } from './constants'\nimport { ICallback } from './types'\nimport { ServerApp, SignalKMessageHub, WithConfig } from './app'\n\nconst debug = createDebug('signalk-server:tokensecurity')\n\nconst CONFIG_PLUGINID = 'sk-simple-token-security-config'\nconst passwordSaltRounds = 10\nconst permissionDeniedMessage =\n  \"You do not have permission to view this resource, <a href='/admin/#/login'>Please Login</a>\"\n\nconst skPrefix = '/signalk/v1'\nconst skAuthPrefix = `${skPrefix}/auth`\n\n// Cookie to hold login info for webapps to use\nconst BROWSER_LOGININFO_COOKIE_NAME = 'skLoginInfo'\n\nconst LOGIN_FAILED_MESSAGE = 'Invalid username/password'\nconst VALID_PERMISSIONS = new Set(['readonly', 'readwrite', 'admin'])\n\n// Dummy hash for timing attack prevention - pre-generated bcrypt hash\nconst DUMMY_HASH = '$2b$10$abcdefghijklmnopqrstuuABCDEFGHIJKLMNOPQRSTUVWXYZ012'\n\nfunction isNever(expiration: string | undefined): boolean {\n  return expiration?.toUpperCase() === 'NEVER'\n}\n\n/**\n * Express request with Signal K authentication properties\n */\ninterface SKRequest extends Request {\n  skIsAuthenticated?: boolean\n  skPrincipal?: Principal\n  userLoggedIn?: boolean\n  token?: string\n  cookies: { [key: string]: string }\n  query: { [key: string]: string }\n}\n\n/**\n * Principal representing an authenticated user or device\n */\ninterface Principal {\n  identifier: string\n  permissions: string\n}\n\ninterface JWTPayload {\n  id?: string\n  device?: string\n  exp?: number\n  iat?: number\n  rememberMe?: boolean\n}\n\ninterface LoginResponse {\n  statusCode: number\n  token?: string\n  user?: string\n  message?: string\n  timeToLive?: number | null\n}\n\ninterface CookieOptions {\n  sameSite?: 'strict' | 'lax' | 'none' | boolean\n  secure?: boolean\n  maxAge?: number\n  httpOnly?: boolean\n}\n\n/**\n * Merged configuration options used at runtime\n */\ninterface TokenSecurityOptions {\n  [key: string]: unknown\n  allow_readonly: boolean\n  expiration: string\n  secretKey: string\n  users: User[]\n  devices: Device[]\n  immutableConfig: boolean\n  acls: ACL[]\n  allowDeviceAccessRequests: boolean\n  allowNewUserRegistration: boolean\n  oidc?: SecurityConfig['oidc']\n}\n\ninterface AccessRequest {\n  requestId: string\n  state: string\n  accessIdentifier: string\n  accessDescription: string\n  accessPassword?: string\n  permissions: string\n  requestedPermissions: boolean\n  clientRequest: {\n    accessRequest: {\n      clientId?: string\n      userId?: string\n      password?: string\n      description?: string\n      permissions?: string\n    }\n    requestedPermissions?: boolean\n  }\n  ip: string\n  token?: string\n}\n\n/**\n * Signal K app interface for token security.\n * Includes Express routing methods needed for middleware registration.\n */\ninterface TokenSecurityApp\n  extends ServerApp, WithConfig, IRouter, SignalKMessageHub {}\n\n/**\n * Extended security strategy with token-specific methods\n */\ninterface TokenSecurityStrategy extends SecurityStrategy {\n  login: (name: string, password: string) => Promise<LoginResponse>\n  supportsLogin: () => boolean\n  getAuthRequiredString: () => string\n  addAdminWriteMiddleware: (path: string) => void\n  addWriteMiddleware: (path: string) => void\n  hasAdminAccess: (req: Request) => boolean\n  anyACLs: () => boolean\n  checkACL: (\n    id: string,\n    context: string,\n    path: string,\n    source: string,\n    operation: string\n  ) => boolean\n  verifyWS: (spark: WSConnection) => void\n  authorizeWS: (req: WSConnection) => void\n  shouldAllowWrite: (req: Request, delta: Delta) => boolean\n  canAuthorizeWS: () => boolean\n}\n\n/**\n * WebSocket connection with auth properties\n */\ninterface WSConnection {\n  lastTokenVerify?: number\n  token?: string\n  query?: { token?: string }\n  headers?: { [key: string]: string }\n  cookies?: { [key: string]: string }\n  skPrincipal?: Principal\n  skIsAuthenticated?: boolean\n}\n\nfunction tokenSecurityFactory(\n  app: TokenSecurityApp,\n  config: Partial<SecurityConfig>\n): TokenSecurityStrategy {\n  const strategy = {} as TokenSecurityStrategy\n\n  const { expiration = 'NEVER' } = config\n\n  let {\n    users = [],\n    immutableConfig = false,\n    allowDeviceAccessRequests = true,\n    allowNewUserRegistration = true\n  } = config\n\n  const {\n    allow_readonly = false,\n    secretKey = process.env.SECRETKEY || randomBytes(256).toString('hex'),\n    devices = [],\n    acls = []\n  } = config\n\n  /**\n   * Derive a domain-specific secret from the master key.\n   * Used to provide isolated secrets for different subsystems\n   * without exposing the JWT signing key.\n   */\n  function deriveSecret(domain: string): string {\n    return createHash('sha256').update(secretKey).update(domain).digest('hex')\n  }\n\n  /**\n   * Crypto service for OIDC state encryption.\n   * Provides derived secret - tokensecurity knows nothing about OIDC internals.\n   */\n  const oidcCryptoService: OIDCCryptoService = {\n    getStateEncryptionSecret: () => deriveSecret('signalk-oidc')\n  }\n\n  /**\n   * User service for external authentication providers (OIDC, etc.).\n   * Abstracts user storage so auth providers don't need to know about\n   * the underlying storage mechanism (currently array, could be SQLite etc).\n   */\n  const externalUserService: ExternalUserService = {\n    async findUserByProvider(\n      lookup: ProviderUserLookup\n    ): Promise<ExternalUser | null> {\n      // Currently only OIDC is supported\n      if (lookup.provider === 'oidc') {\n        const { sub, issuer } = lookup.criteria\n        const user = options.users.find(\n          (u) => u.oidc?.sub === sub && u.oidc?.issuer === issuer\n        )\n        if (user) {\n          return {\n            username: user.username,\n            type: user.type,\n            providerData: user.oidc as Record<string, unknown> | undefined\n          }\n        }\n      }\n      return null\n    },\n\n    async findUserByUsername(username: string): Promise<ExternalUser | null> {\n      const user = options.users.find((u) => u.username === username)\n      if (user) {\n        return {\n          username: user.username,\n          type: user.type,\n          providerData: user.oidc as Record<string, unknown> | undefined\n        }\n      }\n      return null\n    },\n\n    async createUser(externalUser: ExternalUser): Promise<void> {\n      const newUser: User = {\n        username: externalUser.username,\n        type: externalUser.type\n      }\n\n      if (isOIDCUserIdentifier(externalUser.providerData?.oidc)) {\n        newUser.oidc = externalUser.providerData.oidc\n      }\n\n      options.users.push(newUser)\n\n      return new Promise((resolve, reject) => {\n        saveSecurityConfig(\n          app as unknown as Parameters<typeof saveSecurityConfig>[0],\n          options,\n          (err: Error | null) => {\n            if (err) {\n              reject(err)\n            } else {\n              resolve()\n            }\n          }\n        )\n      })\n    },\n\n    async updateUser(\n      username: string,\n      updates: { type?: string; providerData?: Record<string, unknown> }\n    ): Promise<void> {\n      const user = options.users.find((u) => u.username === username)\n      if (!user) {\n        throw new Error(`User not found: ${username}`)\n      }\n\n      if (updates.type) {\n        user.type = updates.type\n      }\n\n      if (isOIDCUserIdentifier(updates.providerData?.oidc)) {\n        user.oidc = updates.providerData.oidc\n      }\n\n      return new Promise((resolve, reject) => {\n        saveSecurityConfig(\n          app as unknown as Parameters<typeof saveSecurityConfig>[0],\n          options,\n          (err: Error | null) => {\n            if (err) {\n              reject(err)\n            } else {\n              resolve()\n            }\n          }\n        )\n      })\n    }\n  }\n\n  if (process.env.ADMINUSER) {\n    const adminUserParts = process.env.ADMINUSER.split(':')\n    if (adminUserParts.length !== 2) {\n      console.error(\n        'ADMINUSER env parameters must be in username:password format'\n      )\n      process.exit(-1)\n    }\n    users = [\n      {\n        username: adminUserParts[0],\n        type: 'admin',\n        password: bcrypt.hashSync(\n          adminUserParts[1],\n          bcrypt.genSaltSync(passwordSaltRounds)\n        )\n      }\n    ]\n    immutableConfig = true\n  }\n\n  if (process.env.ALLOW_DEVICE_ACCESS_REQUESTS) {\n    allowDeviceAccessRequests =\n      process.env.ALLOW_DEVICE_ACCESS_REQUESTS === 'true'\n  }\n\n  if (process.env.ALLOW_NEW_USER_REGISTRATION) {\n    allowNewUserRegistration =\n      process.env.ALLOW_NEW_USER_REGISTRATION === 'true'\n  }\n\n  let options: TokenSecurityOptions = {\n    allow_readonly,\n    expiration,\n    secretKey,\n    users,\n    devices,\n    immutableConfig,\n    acls,\n    allowDeviceAccessRequests,\n    allowNewUserRegistration,\n    oidc: config.oidc // Include OIDC config from security.json\n  }\n\n  // so that enableSecurity gets the defaults to save\n  _.merge(config, options)\n\n  function getConfiguration(): TokenSecurityOptions {\n    return options\n  }\n  strategy.getConfiguration = getConfiguration\n\n  // Parse and cache OIDC configuration eagerly so that invalid config\n  // is detected at startup rather than on first request (see #2594)\n  let cachedOIDCConfig: OIDCConfig | null = null\n  function parseAndCacheOIDCConfig(): void {\n    try {\n      cachedOIDCConfig = parseOIDCConfig(options)\n    } catch (err) {\n      if (err instanceof OIDCError) {\n        console.error(`OIDC configuration error [${err.code}]: ${err.message}`)\n        console.error(\n          'OIDC will be disabled. Fix the configuration and restart.'\n        )\n      } else {\n        console.error('Unexpected error parsing OIDC configuration:', err)\n        console.error('OIDC will be disabled.')\n      }\n      cachedOIDCConfig = { ...OIDC_DEFAULTS, enabled: false } as OIDCConfig\n    }\n  }\n  parseAndCacheOIDCConfig()\n\n  function getOIDCConfig(): OIDCConfig {\n    return cachedOIDCConfig!\n  }\n\n  function updateOIDCConfig(newOidcConfig: PartialOIDCConfig): void {\n    options.oidc = newOidcConfig as SecurityConfig['oidc']\n    parseAndCacheOIDCConfig()\n  }\n  strategy.updateOIDCConfig = updateOIDCConfig\n\n  function getSessionCookieOptions(\n    req: Request,\n    rememberMe: boolean = false\n  ): CookieOptions {\n    const configuration = getConfiguration()\n    const cookieOptions: CookieOptions = {\n      sameSite: 'strict',\n      secure: req.secure || req.headers['x-forwarded-proto'] === 'https'\n    }\n    if (rememberMe) {\n      const expValue = isNever(configuration.expiration)\n        ? '10y'\n        : configuration.expiration || '1h'\n      cookieOptions.maxAge = ms(expValue as StringValue)\n    }\n    return cookieOptions\n  }\n\n  function setSessionCookie(\n    res: Response,\n    req: Request,\n    token: string,\n    username: string,\n    sessionOptions: { rememberMe?: boolean } = {}\n  ): void {\n    const cookieOptions = getSessionCookieOptions(\n      req,\n      sessionOptions.rememberMe\n    )\n    // Auth cookie must be httpOnly for security\n    const authCookieOptions = { ...cookieOptions, httpOnly: true }\n    res.cookie('JAUTHENTICATION', token, authCookieOptions)\n    // Login info cookie must NOT be httpOnly so JS can access it\n    res.cookie(\n      BROWSER_LOGININFO_COOKIE_NAME,\n      JSON.stringify({ status: 'loggedIn', user: username }),\n      cookieOptions\n    )\n  }\n\n  function clearSessionCookie(res: Response): void {\n    res.clearCookie('JAUTHENTICATION')\n    res.clearCookie(BROWSER_LOGININFO_COOKIE_NAME)\n  }\n\n  function generateJWT(\n    userId: string,\n    tokenExpiration?: string,\n    rememberMe?: boolean\n  ): string {\n    const configuration = getConfiguration()\n    const theExpiration = tokenExpiration || configuration.expiration || '1h'\n    const payload: JWTPayload = { id: userId }\n    if (rememberMe) {\n      payload.rememberMe = true\n    }\n    const jwtOptions: SignOptions = {}\n    if (!isNever(theExpiration)) {\n      jwtOptions.expiresIn = theExpiration as StringValue\n    }\n    return jwt.sign(payload, configuration.secretKey, jwtOptions)\n  }\n\n  function getIsEnabled(): boolean {\n    // var options = getOptions();\n    // return typeof options.enabled !== 'undefined' && options.enabled;\n    return true\n  }\n\n  function assertConfigImmutability(): void {\n    if (options.immutableConfig) {\n      throw new Error('Configuration is immutable')\n    }\n  }\n\n  function handlePermissionDenied(req: Request, res: Response): void {\n    res.status(401)\n    if (req.accepts('application/json') && !req.accepts('text/html')) {\n      res.set('Content-Type', 'application/json')\n      res.json({ error: 'Permission Denied' })\n    } else {\n      res.type('text/plain').send(permissionDeniedMessage)\n    }\n  }\n\n  function hasAdminAccess(req: Request): boolean {\n    const skReq = req as SKRequest\n    return (\n      skReq.skIsAuthenticated === true &&\n      skReq.skPrincipal !== undefined &&\n      skReq.skPrincipal.permissions === 'admin'\n    )\n  }\n  strategy.hasAdminAccess = hasAdminAccess\n\n  function writeAuthenticationMiddleware(): (\n    req: Request,\n    res: Response,\n    next: NextFunction\n  ) => void {\n    return function (req: Request, res: Response, next: NextFunction): void {\n      const skReq = req as SKRequest\n      if (!getIsEnabled()) {\n        return next()\n      }\n\n      debug('skIsAuthenticated: ' + skReq.skIsAuthenticated)\n      if (skReq.skIsAuthenticated) {\n        if (\n          skReq.skPrincipal?.permissions === 'admin' ||\n          skReq.skPrincipal?.permissions === 'readwrite'\n        ) {\n          return next()\n        }\n      }\n      handlePermissionDenied(req, res)\n    }\n  }\n\n  function adminAuthenticationMiddleware(\n    redirect: boolean\n  ): (req: Request, res: Response, next: NextFunction) => void {\n    return function (req: Request, res: Response, next: NextFunction): void {\n      const skReq = req as SKRequest\n      if (!getIsEnabled()) {\n        return next()\n      }\n\n      if (hasAdminAccess(req)) {\n        return next()\n      }\n\n      if (skReq.skIsAuthenticated && skReq.skPrincipal) {\n        if (skReq.skPrincipal.identifier === 'AUTO' && redirect) {\n          res.redirect('/admin/#/login')\n        } else {\n          handlePermissionDenied(req, res)\n        }\n      } else if (redirect) {\n        res.redirect('/admin/#/login')\n      } else {\n        handlePermissionDenied(req, res)\n      }\n    }\n  }\n\n  function setupApp(): void {\n    const rawHttpRateLimits = process.env.HTTP_RATE_LIMITS\n    const parsedParts =\n      typeof rawHttpRateLimits === 'string'\n        ? rawHttpRateLimits\n            .split(/[\\s,]+/)\n            .map((p) => p.trim())\n            .filter(Boolean)\n        : []\n\n    let loginWindowMs = 10 * 60 * 1000\n    let loginMax = 100\n    for (const part of parsedParts) {\n      const eqIndex = part.indexOf('=')\n      if (eqIndex === -1) {\n        continue\n      }\n\n      const key = part.slice(0, eqIndex).trim().toLowerCase()\n      const value = part.slice(eqIndex + 1).trim()\n      const parsed = Number.parseInt(value, 10)\n\n      if ((key === 'windowms' || key === 'window') && Number.isFinite(parsed)) {\n        loginWindowMs = parsed\n      } else if (\n        (key === 'login' || key === 'loginmax') &&\n        Number.isFinite(parsed)\n      ) {\n        loginMax = parsed\n      }\n    }\n\n    const loginRateLimiter = createLoginRateLimiter(loginWindowMs, loginMax)\n    strategy.loginRateLimiter = loginRateLimiter\n\n    const loginLimiter = (req: Request, res: Response, next: NextFunction) => {\n      const { allowed, retryAfterMs } = loginRateLimiter.check(req.ip ?? '')\n      if (!allowed) {\n        res.set('Retry-After', String(Math.ceil(retryAfterMs / 1000)))\n        res.status(429).json({ message: LOGIN_RATE_LIMIT_MESSAGE })\n        return\n      }\n      next()\n    }\n\n    app.use(bodyParser.urlencoded({ extended: true }))\n\n    app.use(cookieParser())\n\n    function getSafeDestination(destination: unknown): string {\n      if (typeof destination !== 'string') {\n        return '/'\n      }\n      const dest = destination.trim()\n      // Allow only relative redirects. Reject protocol-relative URLs (//evil.com).\n      if (!dest.startsWith('/') || dest.startsWith('//')) {\n        return '/'\n      }\n      return dest\n    }\n\n    app.post(\n      ['/login', `${skAuthPrefix}/login`],\n      loginLimiter,\n      (req: Request, res: Response) => {\n        const name = req.body.username\n        const password = req.body.password\n        const remember = req.body.rememberMe\n\n        login(name, password, remember)\n          .then((reply) => {\n            const requestType = req.get('Content-Type')\n\n            if (reply.statusCode === 200 && reply.token && reply.user) {\n              setSessionCookie(res, req, reply.token, reply.user, {\n                rememberMe: remember\n              })\n\n              if (requestType === 'application/json') {\n                res.json({\n                  timeToLive: reply.timeToLive,\n                  token: reply.token\n                })\n              } else {\n                res.redirect(getSafeDestination(req.body.destination))\n              }\n            } else {\n              if (requestType === 'application/json') {\n                res.status(reply.statusCode).send(reply)\n              } else {\n                res.status(reply.statusCode).send(reply.message)\n              }\n            }\n          })\n          .catch((err) => {\n            console.log(err)\n            res.status(502).send('Login Failure')\n          })\n      }\n    )\n\n    app.use('/', http_authorize(false, true)) //semicolon required\n    ;[\n      '/apps',\n      '/appstore',\n      '/plugins',\n      '/restart',\n      '/runDiscovery',\n      '/security',\n      '/vessel',\n      '/providers',\n      '/settings',\n      '/webapps',\n      '/availablePaths',\n      '/hasAnalyzer',\n      '/skServer/inputTest'\n    ].forEach((p) =>\n      app.use(`${SERVERROUTESPREFIX}${p}`, http_authorize(false))\n    )\n\n    app.put(\n      ['/logout', `${skAuthPrefix}/logout`],\n      function (req: Request, res: Response) {\n        clearSessionCookie(res)\n        res.json('Logout OK')\n      }\n    )\n\n    // Register OIDC authentication routes\n    registerOIDCRoutes(app, {\n      getOIDCConfig,\n      setSessionCookie,\n      clearSessionCookie,\n      generateJWT,\n      cryptoService: oidcCryptoService,\n      userService: externalUserService\n    })\n\n    // Register OIDC admin routes (GET/PUT /security/oidc, POST /security/oidc/test)\n    registerOIDCAdminRoutes(app, {\n      allowConfigure: (req: Request) => strategy.allowConfigure(req),\n      getSecurityConfig: () => options,\n      saveSecurityConfig: (securityConfig, callback) =>\n        saveSecurityConfig(\n          app as unknown as Parameters<typeof saveSecurityConfig>[0],\n          securityConfig as unknown as SecurityConfig,\n          callback\n        ),\n      updateOIDCConfig\n    })\n    ;[\n      '/restart',\n      '/runDiscovery',\n      '/plugins',\n      '/appstore',\n      '/security',\n      '/settings',\n      '/backup',\n      '/restore',\n      '/providers',\n      '/vessel',\n      '/serialports'\n    ].forEach((p) =>\n      app.use(`${SERVERROUTESPREFIX}${p}`, adminAuthenticationMiddleware(false))\n    )\n\n    app.use('/plugins', adminAuthenticationMiddleware(false))\n\n    //TODO remove after grace period\n    app.use('/loginStatus', http_authorize(false, true))\n    app.use(`${SERVERROUTESPREFIX}/loginStatus`, http_authorize(false, true))\n\n    const no_redir = http_authorize(false)\n    app.use(\n      '/signalk/v1/api/*',\n      function (req: Request, res: Response, next: NextFunction) {\n        no_redir(req, res, next)\n      }\n    )\n    app.use(\n      '/signalk/v1/snapshot/*',\n      function (req: Request, res: Response, next: NextFunction) {\n        no_redir(req, res, next)\n      }\n    )\n    app.use(\n      '/signalk/v2/api/*',\n      function (req: Request, res: Response, next: NextFunction) {\n        no_redir(req, res, next)\n      }\n    )\n    app.put('/signalk/v1/*', writeAuthenticationMiddleware())\n    app.put('/signalk/v2/*', writeAuthenticationMiddleware())\n    app.post('/signalk/v2/*', writeAuthenticationMiddleware())\n    app.delete('/signalk/v2/*', writeAuthenticationMiddleware())\n  }\n\n  function login(\n    name: string,\n    password: string,\n    rememberMe?: boolean\n  ): Promise<LoginResponse> {\n    return new Promise((resolve, reject) => {\n      debug('handing login for user: ' + name)\n\n      // Validate input to prevent crashes on malformed requests\n      if (typeof name !== 'string' || typeof password !== 'string') {\n        // Still run bcrypt to prevent timing attacks on input validation\n        bcrypt.compare('dummy', DUMMY_HASH, () => {\n          resolve({ statusCode: 401, message: LOGIN_FAILED_MESSAGE })\n        })\n        return\n      }\n\n      const configuration = getConfiguration()\n      const user = configuration.users.find((aUser) => aUser.username === name)\n\n      // Always run bcrypt.compare to prevent timing attacks that reveal\n      // whether a username exists. Use a dummy hash if user not found.\n      const hashToCompare = user && user.password ? user.password : DUMMY_HASH\n\n      bcrypt.compare(\n        password,\n        hashToCompare,\n        (err: Error | null, matches: boolean) => {\n          if (err) {\n            reject(err)\n          } else if (matches === true && user && user.password) {\n            // Only succeed if user exists AND password matched real hash\n            const payload: JWTPayload = { id: user.username }\n            if (rememberMe) {\n              payload.rememberMe = true\n            }\n            const theExpiration = configuration.expiration || '1h'\n            const jwtOptions: SignOptions = {}\n            if (!isNever(theExpiration)) {\n              jwtOptions.expiresIn = theExpiration as StringValue\n            }\n            debug.enabled &&\n              debug(`jwt expiration:${JSON.stringify(jwtOptions)}`)\n            try {\n              const token = jwt.sign(\n                payload,\n                configuration.secretKey,\n                jwtOptions\n              )\n              const timeToLive = !isNever(theExpiration)\n                ? Math.floor(ms(theExpiration as StringValue) / 1000)\n                : null\n              resolve({\n                statusCode: 200,\n                token,\n                user: user.username,\n                timeToLive\n              })\n            } catch (signErr) {\n              resolve({\n                statusCode: 500,\n                message: 'Unable to sign token: ' + (signErr as Error).message\n              })\n            }\n          } else {\n            debug('password did not match')\n            resolve({ statusCode: 401, message: LOGIN_FAILED_MESSAGE })\n          }\n        }\n      )\n    })\n  }\n\n  strategy.validateConfiguration = (newConfiguration: {\n    expiration?: string\n  }): void => {\n    const configuration = getConfiguration()\n    const theExpiration = newConfiguration.expiration || '1h'\n    if (!isNever(theExpiration)) {\n      jwt.sign({ dummy: 'payload' }, configuration.secretKey, {\n        expiresIn: theExpiration as StringValue\n      })\n    }\n  }\n\n  strategy.getAuthRequiredString = (): string => {\n    return strategy.allowReadOnly() ? 'forwrite' : 'always'\n  }\n\n  strategy.supportsLogin = (): boolean => true\n  strategy.login = login\n\n  strategy.addAdminMiddleware = function (aPath: string): void {\n    app.use(aPath, http_authorize(false))\n    app.use(aPath, adminAuthenticationMiddleware(false))\n  }\n\n  strategy.addAdminWriteMiddleware = function (aPath: string): void {\n    app.use(aPath, http_authorize(false))\n    app.put(aPath, adminAuthenticationMiddleware(false))\n    app.post(aPath, adminAuthenticationMiddleware(false))\n  }\n\n  strategy.addWriteMiddleware = function (aPath: string): void {\n    app.use(aPath, http_authorize(false))\n    app.put(aPath, writeAuthenticationMiddleware())\n    app.post(aPath, writeAuthenticationMiddleware())\n  }\n\n  strategy.generateToken = function (\n    req: Request,\n    res: Response,\n    next: NextFunction,\n    id: string,\n    theExpiration: string\n  ): void {\n    const configuration = getConfiguration()\n    const payload: JWTPayload = { id: id }\n    const token = jwt.sign(payload, configuration.secretKey, {\n      expiresIn: theExpiration as StringValue\n    })\n    res.type('text/plain').send(token)\n  }\n\n  strategy.allowReadOnly = function (): boolean {\n    const configuration = getConfiguration()\n    return configuration.allow_readonly\n  }\n\n  strategy.allowRestart = function (req: Request): boolean {\n    return hasAdminAccess(req)\n  }\n\n  strategy.allowConfigure = function (req: Request): boolean {\n    return hasAdminAccess(req)\n  }\n\n  strategy.getLoginStatus = function (req: Request): LoginStatusResponse {\n    const skReq = req as SKRequest\n    const configuration = getConfiguration()\n    const result: LoginStatusResponse & {\n      noUsers?: boolean\n      oidcEnabled?: boolean\n      oidcAutoLogin?: boolean\n      oidcLoginUrl?: string\n      oidcProviderName?: string\n    } = {\n      status: skReq.skIsAuthenticated ? 'loggedIn' : 'notLoggedIn',\n      readOnlyAccess: configuration.allow_readonly,\n      authenticationRequired: true,\n      allowNewUserRegistration: configuration.allowNewUserRegistration,\n      allowDeviceAccessRequests: configuration.allowDeviceAccessRequests\n    }\n    if (skReq.skIsAuthenticated && skReq.skPrincipal) {\n      result.userLevel = skReq.skPrincipal.permissions\n      result.username = skReq.skPrincipal.identifier\n    }\n    if (configuration.users.length === 0) {\n      result.noUsers = true\n    }\n    // Add OIDC status\n    const oidcConfig = getOIDCConfig()\n    if (oidcConfig.enabled) {\n      result.oidcEnabled = true\n      result.oidcAutoLogin = oidcConfig.autoLogin || false\n      result.oidcLoginUrl = '/signalk/v1/auth/oidc/login'\n      if (oidcConfig.providerName) {\n        result.oidcProviderName = oidcConfig.providerName\n      }\n    }\n    return result\n  }\n\n  strategy.getConfig = (\n    aConfig: SecurityConfig\n  ): Omit<SecurityConfig, 'secretKey' | 'users'> => {\n    // Note: This mutates the input object, matching original JS behavior.\n    // Callers may depend on this side effect.\n    const mutableConfig = aConfig as Partial<SecurityConfig>\n    delete mutableConfig.users\n    delete mutableConfig.secretKey\n    return aConfig as Omit<SecurityConfig, 'secretKey' | 'users'>\n  }\n\n  strategy.setConfig = (\n    aConfig: SecurityConfig,\n    newConfig: SecurityConfig\n  ): SecurityConfig => {\n    assertConfigImmutability()\n    newConfig.users = aConfig.users\n    newConfig.devices = aConfig.devices\n    newConfig.secretKey = aConfig.secretKey\n    options = newConfig as TokenSecurityOptions\n    parseAndCacheOIDCConfig()\n    return newConfig\n  }\n\n  strategy.getUsers = (aConfig: SecurityConfig): UserData[] => {\n    if (aConfig && aConfig.users) {\n      return aConfig.users.map((user) => {\n        const userData: UserData & {\n          isOIDC?: boolean\n          oidc?: { issuer?: string; email?: string; name?: string }\n        } = {\n          userId: user.username,\n          type: user.type,\n          isOIDC: !!user.oidc\n        }\n        // Include OIDC metadata for OIDC users\n        if (user.oidc) {\n          userData.oidc = {\n            issuer: user.oidc.issuer,\n            email: user.oidc.email,\n            name: user.oidc.name\n          }\n        }\n        return userData\n      })\n    } else {\n      return []\n    }\n  }\n\n  function addUser(\n    theConfig: SecurityConfig,\n    user: { userId: string; type: string; password?: string },\n    callback: ICallback<SecurityConfig>\n  ): void {\n    assertConfigImmutability()\n\n    if (theConfig.users?.find((u) => u.username === user.userId)) {\n      callback(new Error('User already exists'))\n      return\n    }\n\n    const newUser: User = {\n      username: user.userId,\n      type: user.type\n    }\n\n    function finish(finalUser: User, err?: Error): void {\n      if (!theConfig.users) {\n        theConfig.users = []\n      }\n      theConfig.users.push(finalUser)\n      options = theConfig as TokenSecurityOptions\n      callback(err, theConfig)\n    }\n\n    if (user.password) {\n      bcrypt.hash(\n        user.password,\n        passwordSaltRounds,\n        (err: Error | null, hash: string) => {\n          if (err) {\n            callback(err)\n          } else {\n            newUser.password = hash\n            finish(newUser, undefined)\n          }\n        }\n      )\n    } else {\n      finish(newUser, undefined)\n    }\n  }\n\n  strategy.updateUser = (\n    theConfig: SecurityConfig,\n    username: string,\n    updates: UserDataUpdate,\n    callback: ICallback<SecurityConfig>\n  ): void => {\n    assertConfigImmutability()\n    const user = theConfig.users.find((aUser) => aUser.username === username)\n\n    if (!user) {\n      callback(new Error('user not found'))\n      return\n    }\n\n    if (updates.type) {\n      user.type = updates.type\n    }\n\n    if (updates.password) {\n      bcrypt.hash(\n        updates.password,\n        passwordSaltRounds,\n        (err: Error | null, hash: string) => {\n          if (err) {\n            callback(err)\n          } else {\n            user.password = hash\n            callback(null, theConfig)\n          }\n        }\n      )\n    } else {\n      callback(null, theConfig)\n    }\n    options = theConfig as TokenSecurityOptions\n  }\n\n  // The addUser interface expects User with 'username', but callers pass objects\n  // with 'userId'. We cast to match the interface signature.\n  strategy.addUser = addUser as unknown as SecurityStrategy['addUser']\n\n  strategy.setPassword = (\n    theConfig: SecurityConfig,\n    username: string,\n    password: string,\n    callback: ICallback<SecurityConfig>\n  ): void => {\n    assertConfigImmutability()\n    bcrypt.hash(\n      password,\n      passwordSaltRounds,\n      (err: Error | null, hash: string) => {\n        if (err) {\n          callback(err)\n        } else {\n          const user = theConfig.users.find((u) => u.username === username)\n          if (user) {\n            user.password = hash\n          }\n          options = theConfig as TokenSecurityOptions\n          callback(null, theConfig)\n        }\n      }\n    )\n  }\n\n  strategy.deleteUser = (\n    theConfig: SecurityConfig,\n    username: string,\n    callback: ICallback<SecurityConfig>\n  ): void => {\n    assertConfigImmutability()\n    for (let i = theConfig.users.length - 1; i >= 0; i--) {\n      if (theConfig.users[i].username === username) {\n        theConfig.users.splice(i, 1)\n        break\n      }\n    }\n    options = theConfig as TokenSecurityOptions\n    callback(null, theConfig)\n  }\n\n  strategy.getDevices = (theConfig: SecurityConfig): Device[] => {\n    if (theConfig && theConfig.devices) {\n      return theConfig.devices\n    } else {\n      return []\n    }\n  }\n\n  strategy.deleteDevice = (\n    theConfig: SecurityConfig,\n    clientId: string,\n    callback: ICallback<SecurityConfig>\n  ): void => {\n    assertConfigImmutability()\n    for (let i = theConfig.devices.length - 1; i >= 0; i--) {\n      if (theConfig.devices[i].clientId === clientId) {\n        theConfig.devices.splice(i, 1)\n        break\n      }\n    }\n    options = theConfig as TokenSecurityOptions\n    callback(null, theConfig)\n  }\n\n  strategy.updateDevice = (\n    theConfig: SecurityConfig,\n    clientId: string,\n    updates: DeviceDataUpdate,\n    callback: ICallback<SecurityConfig>\n  ): void => {\n    assertConfigImmutability()\n    const device = theConfig.devices.find((d) => d.clientId === clientId)\n\n    if (!device) {\n      callback(new Error('device not found'))\n      return\n    }\n\n    if (updates.permissions) {\n      device.permissions = updates.permissions\n    }\n\n    if (updates.description) {\n      device.description = updates.description\n    }\n\n    callback(null, theConfig)\n    options = theConfig as TokenSecurityOptions\n  }\n\n  strategy.shouldAllowWrite = function (req: Request, delta: Delta): boolean {\n    const skReq = req as SKRequest\n    if (\n      skReq.skPrincipal &&\n      (skReq.skPrincipal.permissions === 'admin' ||\n        skReq.skPrincipal.permissions === 'readwrite')\n    ) {\n      const context =\n        delta.context === app.selfContext\n          ? 'vessels.self'\n          : delta.context || 'vessels.self'\n\n      const notAllowed = delta.updates.find((update: Update) => {\n        let source = (update as { $source?: string }).$source\n        if (!source) {\n          source = getSourceId(update.source)\n        }\n\n        if (hasValues(update)) {\n          return update.values.find((valuePath) => {\n            if (\n              valuePath === null ||\n              valuePath === undefined ||\n              typeof valuePath.path !== 'string'\n            ) {\n              return true\n            }\n            return (\n              strategy.checkACL(\n                skReq.skPrincipal!.identifier,\n                context,\n                valuePath.path,\n                source!,\n                'write'\n              ) === false\n            )\n          })\n        } else if (hasMeta(update)) {\n          return update.meta.find((metaPath) => {\n            if (\n              metaPath === null ||\n              metaPath === undefined ||\n              typeof metaPath.path !== 'string'\n            ) {\n              return true\n            }\n            return (\n              strategy.checkACL(\n                skReq.skPrincipal!.identifier,\n                context,\n                metaPath.path,\n                source!,\n                'write'\n              ) === false\n            )\n          })\n        }\n        return false\n      })\n\n      // true if we did not find anything disallowing the write\n      return _.isUndefined(notAllowed)\n    }\n    return false\n  }\n\n  strategy.shouldAllowPut = function (\n    req: Request,\n    _context: string,\n    source: string,\n    thePath: string\n  ): boolean {\n    const skReq = req as SKRequest\n    if (\n      skReq.skPrincipal &&\n      (skReq.skPrincipal.permissions === 'admin' ||\n        skReq.skPrincipal.permissions === 'readwrite')\n    ) {\n      const context = _context === app.selfContext ? 'vessels.self' : _context\n\n      return strategy.checkACL(\n        skReq.skPrincipal.identifier,\n        context,\n        thePath,\n        source,\n        'put'\n      )\n    }\n    return false\n  }\n\n  strategy.anyACLs = (): boolean => {\n    const configuration = getConfiguration()\n    return !!(configuration.acls && configuration.acls.length)\n  }\n\n  strategy.filterReadDelta = (\n    principal: Principal | null,\n    delta: Delta\n  ): Delta | null => {\n    const configuration = getConfiguration()\n    if (\n      delta.updates &&\n      configuration.acls &&\n      configuration.acls.length &&\n      principal\n    ) {\n      const filtered = { ...delta }\n      const context =\n        delta.context === app.selfContext\n          ? 'vessels.self'\n          : delta.context || 'vessels.self'\n\n      filtered.updates = delta.updates\n        .map((update: Update) => {\n          if (hasValues(update)) {\n            const res = update.values\n              .map((valuePath) => {\n                return strategy.checkACL(\n                  principal.identifier,\n                  context,\n                  valuePath.path,\n                  update.source as unknown as string,\n                  'read'\n                )\n                  ? valuePath\n                  : null\n              })\n              .filter((vp): vp is NonNullable<typeof vp> => vp !== null)\n            const updatedUpdate = { ...update, values: res }\n            return res.length > 0 ? updatedUpdate : null\n          } else if (hasMeta(update)) {\n            const res = update.meta\n              .map((metaPath) => {\n                return strategy.checkACL(\n                  principal.identifier,\n                  context,\n                  metaPath.path,\n                  update.source as unknown as string,\n                  'read'\n                )\n                  ? metaPath\n                  : null\n              })\n              .filter((mp): mp is NonNullable<typeof mp> => mp !== null)\n            const updatedUpdate = { ...update, meta: res }\n            return res.length > 0 ? updatedUpdate : null\n          }\n          return update\n        })\n        .filter((update): update is Update => update !== null)\n      return filtered.updates.length > 0 ? filtered : null\n    } else if (!principal) {\n      return null\n    } else {\n      return delta\n    }\n  }\n\n  strategy.verifyWS = function (spark: WSConnection): void {\n    if (!spark.lastTokenVerify) {\n      spark.lastTokenVerify = Date.now()\n      return\n    }\n\n    if (!getIsEnabled()) {\n      return\n    }\n\n    const now = Date.now()\n    if (now - spark.lastTokenVerify > 60 * 1000) {\n      debug('verify token')\n      spark.lastTokenVerify = now\n      strategy.authorizeWS(spark)\n    }\n  }\n\n  function getAuthorizationFromHeaders(req: {\n    headers?: { [key: string]: string | string[] | undefined }\n  }): string | undefined {\n    if (req.headers) {\n      let header = req.headers.authorization\n      if (!header) {\n        header = req.headers['x-authorization']\n      }\n      // Handle array values (take first element)\n      const headerValue = Array.isArray(header) ? header[0] : header\n      if (headerValue && headerValue.startsWith('Bearer ')) {\n        return headerValue.substring('Bearer '.length)\n      }\n      if (headerValue && headerValue.startsWith('JWT ')) {\n        return headerValue.substring('JWT '.length)\n      }\n    }\n    return undefined\n  }\n\n  strategy.authorizeWS = function (req: WSConnection): void {\n    let token = req.token\n    let error: Error | undefined\n    let payload: JWTPayload | undefined\n\n    if (!getIsEnabled()) {\n      return\n    }\n\n    const configuration = getConfiguration()\n\n    if (!token) {\n      if (req.query && req.query.token) {\n        token = req.query.token\n      } else {\n        token = getAuthorizationFromHeaders(req)\n      }\n    }\n\n    if (!token) {\n      token = req.cookies && req.cookies.JAUTHENTICATION\n    }\n\n    //\n    // `jwt-simple` throws errors if something goes wrong when decoding the JWT.\n    //\n    if (token) {\n      payload = jwt.verify(token, configuration.secretKey) as JWTPayload\n\n      if (!payload) {\n        error = new InvalidTokenError('Invalid access token')\n      } else if (payload.exp && Date.now() / 1000 > payload.exp) {\n        //\n        // At this point we have decoded and verified the token. Check if it is\n        // expired.\n        //\n\n        error = new InvalidTokenError('Expired access token')\n      }\n    }\n\n    if (error) {\n      // Token was provided but is invalid — always reject\n      debug(error.message)\n      throw error\n    }\n\n    if (!token) {\n      if (configuration.allow_readonly) {\n        req.skPrincipal = { identifier: 'AUTO', permissions: 'readonly' }\n        return\n      } else {\n        error = new Error('Missing access token')\n        debug(error.message)\n        throw error\n      }\n    }\n\n    //\n    // Check if the user/device is still present and allowed in our db. You could tweak\n    // this to invalidate a token.\n    //\n\n    const principal = getPrincipal(payload!)\n    if (!principal) {\n      error = new InvalidTokenError(\n        `Invalid identity ${JSON.stringify(payload)}`\n      )\n      debug(error.message)\n      throw error\n    }\n\n    req.skPrincipal = principal\n    req.skIsAuthenticated = true\n  }\n\n  strategy.checkACL = (\n    id: string,\n    context: string,\n    thePath: string,\n    source: string,\n    operation: string\n  ): boolean => {\n    const configuration = getConfiguration()\n\n    if (!configuration.acls || configuration.acls.length === 0) {\n      // no acls, so allow anything\n      return true\n    }\n\n    const acl = configuration.acls.find((theAcl) => {\n      const pattern = theAcl.context\n        .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n        .replace(/\\./g, '\\\\.')\n        .replace(/\\*/g, '.*')\n      const matcher = new RegExp('^' + pattern + '$')\n      return matcher.test(context)\n    })\n\n    if (acl) {\n      const pathPerms = acl.resources.find((p) => {\n        let perms\n\n        if (p.paths) {\n          perms = p.paths.find((aPath) => {\n            const pattern = aPath\n              .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n              .replace(/\\./g, '\\\\.')\n              .replace(/\\*/g, '.*')\n            const matcher = new RegExp('^' + pattern + '$')\n            return matcher.test(thePath)\n          })\n        } else if (p.sources) {\n          perms = p.sources.find((s) => {\n            const pattern = s\n              .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n              .replace(/\\./g, '\\\\.')\n              .replace(/\\*/g, '.*')\n            const matcher = new RegExp('^' + pattern + '$')\n            return matcher.test(source)\n          })\n        }\n\n        return perms\n      })\n\n      if (pathPerms) {\n        let perms = pathPerms.permissions.filter((p) => p.subject === id)\n        perms = perms.concat(\n          pathPerms.permissions.filter((p) => p.subject === 'any')\n        )\n        if (perms.length === 0) {\n          return false\n        }\n\n        return (\n          perms.find((perm) => {\n            if (\n              operation === 'read' &&\n              (perm.permission === 'write' || perm.permission === 'read')\n            ) {\n              return true\n            } else if (operation === 'write' && perm.permission === 'write') {\n              return true\n            } else if (operation === 'put' && perm.permission === 'put') {\n              return true\n            } else {\n              return false\n            }\n          }) !== undefined\n        )\n      }\n    }\n    return false\n  }\n\n  strategy.isDummy = (): boolean => {\n    return false\n  }\n\n  strategy.canAuthorizeWS = (): boolean => {\n    return true\n  }\n\n  strategy.shouldFilterDeltas = (): boolean => {\n    const configuration = getConfiguration()\n    return !!(configuration.acls && configuration.acls.length > 0)\n  }\n\n  function getPrincipal(payload: JWTPayload): Principal | undefined {\n    let principal: Principal | undefined\n    if (payload.id) {\n      const user = options.users.find(\n        (theUser) => theUser.username === payload.id\n      )\n      if (user) {\n        principal = {\n          identifier: user.username,\n          permissions: user.type\n        }\n      }\n    } else if (payload.device && options.devices) {\n      const device = options.devices.find(\n        (aDevice) => aDevice.clientId === payload.device\n      )\n      if (device) {\n        principal = {\n          identifier: device.clientId,\n          permissions: device.permissions\n        }\n      }\n    }\n    return principal\n  }\n\n  function sanitizeLogField(value: unknown): string {\n    return typeof value === 'string'\n      ? value.replace(/[\\r\\n\\t]/g, ' ').slice(0, 128)\n      : 'unknown'\n  }\n\n  function logUnknownUser(jwtPayload: JWTPayload): void {\n    const identity = sanitizeLogField(jwtPayload.id ?? jwtPayload.device)\n    console.warn(`unknown user: ${identity}`)\n  }\n\n  function logBadToken(token: string, path: string, err: Error): void {\n    // jwt.decode returns null instead of throwing when the token is malformed\n    const payload = jwt.decode(token) as JWTPayload | null\n    const id = sanitizeLogField(payload?.id)\n    const device = sanitizeLogField(payload?.device)\n    console.warn(\n      `bad token: ${err.message} (user: ${id}, device: ${device}, path: ${path})`\n    )\n  }\n\n  function http_authorize(\n    redirect: boolean,\n    forLoginStatus?: boolean\n  ): (req: Request, res: Response, next: NextFunction) => void {\n    // debug('http_authorize: ' + redirect)\n    return function (req: Request, res: Response, next: NextFunction): void {\n      const skReq = req as SKRequest\n      let token: string | undefined = skReq.cookies?.JAUTHENTICATION\n\n      debug(`http_authorize: ${req.path} (forLogin: ${forLoginStatus})`)\n\n      if (!getIsEnabled()) {\n        return next()\n      }\n\n      const configuration = getConfiguration()\n\n      if (!token) {\n        token = getAuthorizationFromHeaders(req)\n      }\n\n      if (token) {\n        jwt.verify(\n          token,\n          configuration.secretKey,\n          function (err: Error | null, decoded: unknown) {\n            debug('verify')\n            if (!err) {\n              const principal = getPrincipal(decoded as JWTPayload)\n              if (principal) {\n                debug('authorized')\n                skReq.skPrincipal = principal\n                skReq.skIsAuthenticated = true\n                skReq.userLoggedIn = true\n                const jwtPayload = decoded as JWTPayload\n                if (\n                  jwtPayload.id &&\n                  jwtPayload.exp &&\n                  jwtPayload.iat &&\n                  Date.now() / 1000 >\n                    jwtPayload.iat + (jwtPayload.exp - jwtPayload.iat) / 2\n                ) {\n                  const newToken = generateJWT(\n                    jwtPayload.id,\n                    undefined,\n                    jwtPayload.rememberMe\n                  )\n                  setSessionCookie(res, req, newToken, jwtPayload.id, {\n                    rememberMe: jwtPayload.rememberMe\n                  })\n                  debug('token refreshed for %s', jwtPayload.id)\n                }\n                next()\n                return\n              } else {\n                logUnknownUser(decoded as JWTPayload)\n              }\n            } else {\n              logBadToken(token, req.path, err)\n            }\n\n            // Token was provided but is invalid/revoked — always reject.\n            // allow_readonly only applies when no token is provided at all.\n            console.warn(\n              'force clearing invalid/revoked auth cookie for %s',\n              req.path\n            )\n            clearSessionCookie(res)\n            if (forLoginStatus) {\n              skReq.skIsAuthenticated = false\n              return next()\n            }\n            res.status(401).send('bad auth token')\n          }\n        )\n      } else {\n        debug('no token')\n\n        if (configuration.allow_readonly && !forLoginStatus) {\n          skReq.skPrincipal = { identifier: 'AUTO', permissions: 'readonly' }\n          skReq.skIsAuthenticated = true\n          return next()\n        } else {\n          skReq.skIsAuthenticated = false\n\n          if (forLoginStatus) {\n            next()\n          } else if (redirect) {\n            debug('redirecting to login')\n            res.redirect('/admin/#/login')\n          } else {\n            res.status(401).send('Unauthorized')\n          }\n        }\n      }\n    }\n  }\n\n  strategy.getAccessRequestsResponse = (): unknown[] => {\n    return filterRequests('accessRequest', 'PENDING')\n  }\n\n  function sendAccessRequestsUpdate(): void {\n    app.emit('serverAdminEvent', {\n      type: 'ACCESS_REQUEST',\n      from: CONFIG_PLUGINID,\n      data: strategy.getAccessRequestsResponse()\n    })\n  }\n\n  strategy.setAccessRequestStatus = (\n    theConfig: SecurityConfig,\n    identifier: string,\n    status: string,\n    body: RequestStatusData,\n    cb: ICallback<SecurityConfig>\n  ): void => {\n    const request = findRequest(\n      (r: AccessRequest) =>\n        r.state === 'PENDING' && r.accessIdentifier === identifier\n    ) as AccessRequest | undefined\n    if (!request) {\n      cb(new Error('not found'))\n      return\n    }\n\n    const permissionPart = request.requestedPermissions\n      ? request.permissions\n      : 'any'\n\n    app.handleMessage(CONFIG_PLUGINID, {\n      context: ('vessels.' + app.selfId) as Context,\n      updates: [\n        {\n          values: [\n            {\n              path: `notifications.security.accessRequest.${permissionPart}.${identifier}` as Path,\n              value: {\n                state: 'normal',\n                method: [],\n                message: `The device \"${request.accessDescription}\" has been ${status}`,\n                timestamp: new Date().toISOString()\n              }\n            }\n          ]\n        }\n      ]\n    })\n\n    let approved: boolean\n    if (status === 'approved') {\n      if (\n        !request.clientRequest.requestedPermissions &&\n        !VALID_PERMISSIONS.has(body.permissions)\n      ) {\n        cb(new Error('Invalid permissions value'), theConfig)\n        return\n      }\n      if (request.clientRequest.accessRequest.clientId) {\n        const payload: JWTPayload = { device: identifier }\n        const jwtOptions: SignOptions = {}\n\n        const expiresIn = body.expiration || theConfig.expiration\n        if (!isNever(expiresIn)) {\n          jwtOptions.expiresIn = expiresIn as StringValue\n        }\n        const token = jwt.sign(payload, theConfig.secretKey, jwtOptions)\n        const decoded = jwt.decode(token) as JWTPayload\n\n        if (!theConfig.devices) {\n          theConfig.devices = []\n        }\n\n        theConfig.devices = theConfig.devices.filter(\n          (d) => d.clientId !== identifier\n        )\n\n        theConfig.devices.push({\n          clientId: request.accessIdentifier,\n          permissions: !request.clientRequest.requestedPermissions\n            ? body.permissions\n            : request.permissions,\n          config: body.config,\n          description: request.accessDescription,\n          requestedPermissions: request.clientRequest.requestedPermissions\n            ? 'true'\n            : '',\n          tokenExpiry: decoded?.exp\n        })\n        request.token = token\n      } else {\n        theConfig.users.push({\n          username: identifier,\n          password: request.accessPassword,\n          type: body.permissions\n        })\n      }\n      approved = true\n    } else if (status === 'denied') {\n      approved = false\n    } else {\n      cb(new Error('Unknown status value'), theConfig)\n      return\n    }\n\n    options = theConfig as TokenSecurityOptions\n\n    updateRequest(request.requestId, 'COMPLETED', {\n      statusCode: 200,\n      data: {\n        permission: approved ? 'APPROVED' : 'DENIED',\n        token: request.token\n      }\n    })\n      .then(() => {\n        cb(null, theConfig)\n        sendAccessRequestsUpdate()\n      })\n      .catch((err: Error) => {\n        cb(err)\n      })\n  }\n\n  function validateAccessRequest(request: {\n    userId?: string\n    clientId?: string\n    password?: string\n    description?: string\n  }): boolean {\n    if (request.userId) {\n      return !_.isUndefined(request.password)\n    } else if (request.clientId) {\n      return !_.isUndefined(request.description)\n    } else {\n      return false\n    }\n  }\n\n  strategy.requestAccess = (\n    theConfig: SecurityConfig,\n    clientRequest: {\n      requestId?: string\n      accessRequest: {\n        clientId?: string\n        userId?: string\n        password?: string\n        description?: string\n        permissions?: string\n      }\n      requestedPermissions?: boolean\n    },\n    sourceIp: string,\n    updateCb?: (reply: unknown) => void\n  ): Promise<unknown> => {\n    return new Promise((resolve, reject) => {\n      if (filterRequests('accessRequest', 'PENDING').length >= 100) {\n        const err: Error & { statusCode?: number } = new Error(\n          'Too many pending access requests'\n        )\n        err.statusCode = 503\n        reject(err)\n        return\n      }\n      createRequest(\n        app,\n        'accessRequest',\n        clientRequest,\n        null,\n        sourceIp,\n        updateCb\n      )\n        .then((request: AccessRequest) => {\n          const accessRequest = clientRequest.accessRequest\n          if (!validateAccessRequest(accessRequest)) {\n            updateRequest(request.requestId, 'COMPLETED', { statusCode: 400 })\n              .then(resolve)\n              .catch(reject)\n            return\n          }\n\n          if (\n            accessRequest.permissions !== undefined &&\n            !VALID_PERMISSIONS.has(accessRequest.permissions)\n          ) {\n            updateRequest(request.requestId, 'COMPLETED', { statusCode: 400 })\n              .then(resolve)\n              .catch(reject)\n            return\n          }\n\n          request.requestedPermissions = !_.isUndefined(\n            accessRequest.permissions\n          )\n          if (!request.requestedPermissions) {\n            request.permissions = 'readonly'\n          } else {\n            request.permissions = accessRequest.permissions!\n          }\n\n          let alertMessage: string\n          if (accessRequest.clientId) {\n            if (!options.allowDeviceAccessRequests) {\n              updateRequest(request.requestId, 'COMPLETED', { statusCode: 403 })\n                .then(resolve)\n                .catch(reject)\n              return\n            }\n\n            if (\n              findRequest(\n                (r: AccessRequest) =>\n                  r.state === 'PENDING' &&\n                  r.accessIdentifier === accessRequest.clientId\n              )\n            ) {\n              updateRequest(request.requestId, 'COMPLETED', {\n                statusCode: 400,\n                message: `A device with clientId '${accessRequest.clientId}' has already requested access`\n              })\n                .then(resolve)\n                .catch(reject)\n              return\n            }\n\n            request.accessIdentifier = accessRequest.clientId\n            request.accessDescription = accessRequest.description!\n\n            debug(\n              `A device with IP ${request.ip} and CLIENTID ${accessRequest.clientId} has requested access to the server`\n            )\n            alertMessage = `The device \"${accessRequest.description}\" has requested access to the server`\n          } else {\n            if (!options.allowNewUserRegistration) {\n              updateRequest(request.requestId, 'COMPLETED', { statusCode: 403 })\n                .then(resolve)\n                .catch(reject)\n              return\n            }\n\n            const existing = options.users.find(\n              (user) => user.username === accessRequest.userId\n            )\n            if (existing) {\n              updateRequest(request.requestId, 'COMPLETED', {\n                statusCode: 400,\n                message: 'User already exists'\n              })\n                .then(resolve)\n                .catch(reject)\n              return\n            }\n            request.accessDescription = 'New User Request'\n            request.accessIdentifier = accessRequest.userId!\n            request.accessPassword = bcrypt.hashSync(\n              accessRequest.password!,\n              bcrypt.genSaltSync(passwordSaltRounds)\n            )\n            alertMessage = `${accessRequest.userId} has requested server access`\n            debug(alertMessage)\n          }\n\n          const permissionPart = request.requestedPermissions\n            ? request.permissions\n            : 'any'\n          sendAccessRequestsUpdate()\n          app.handleMessage(CONFIG_PLUGINID, {\n            context: ('vessels.' + app.selfId) as Context,\n            updates: [\n              {\n                values: [\n                  {\n                    path: `notifications.security.accessRequest.${permissionPart}.${request.accessIdentifier}` as Path,\n                    value: {\n                      state: 'alert',\n                      method: ['visual', 'sound'],\n                      message: alertMessage,\n                      timestamp: new Date().toISOString()\n                    }\n                  }\n                ]\n              }\n            ]\n          })\n          updateRequest(request.requestId, 'PENDING', { statusCode: 202 })\n            .then((reply: unknown) => {\n              resolve(reply)\n            })\n            .catch(reject)\n        })\n        .catch(reject)\n    })\n  }\n\n  setupApp()\n\n  return strategy\n}\n\n// CommonJS export for backward compatibility\nmodule.exports = tokenSecurityFactory\n"
  },
  {
    "path": "src/types.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ServerAPI, WithContext } from '@signalk/server-api'\nimport { FullSignalK } from '@signalk/signalk-schema'\nimport { SecurityStrategy } from './security'\n\nexport interface HelloMessage {\n  name: string\n  version: string\n  self: string\n  roles: string[]\n  timestamp: Date\n}\n\nexport type ICallback<T> = (error?: Error | null, result?: T) => void\n\nexport interface SignalKServer extends ServerAPI {\n  config: { defaults: any }\n  getHello: () => HelloMessage\n  signalk: FullSignalK\n  selfId: string\n  selfType: string\n  securityStrategy: SecurityStrategy\n}\n\nexport class Interface {\n  start?: () => void\n  stop?: () => void\n  mdns?: MdnsAdvertisement\n}\n\nexport interface MdnsAdvertisement {\n  name: string\n  type: string\n  port: number\n}\n\nexport type ContextMatcher = (_: WithContext) => boolean\n"
  },
  {
    "path": "src/unitpreferences/index.ts",
    "content": "export {\n  loadAll,\n  reloadPreset,\n  reloadCustomDefinitions,\n  reloadCustomCategories,\n  getConfig,\n  getMergedDefinitions,\n  getCategories,\n  getCustomCategories,\n  getActivePreset,\n  getActivePresetForUser,\n  getDefaultCategory,\n  getConfigUnitprefsDir,\n  setApplicationDataPath,\n  getBaseUnitToCategories,\n  getCategoryForBaseUnit,\n  loadUserPreferences,\n  saveUserPreferences,\n  DEFAULT_PRESET\n} from './loader'\nexport { resolveDisplayUnits, validateCategoryAssignment } from './resolver'\nexport * from './types'\n"
  },
  {
    "path": "src/unitpreferences/loader.ts",
    "content": "import * as fs from 'fs'\nimport * as path from 'path'\nimport {\n  CategoryMap,\n  UnitDefinitions,\n  Preset,\n  UnitPreferencesConfig,\n  PrimaryCategoryMap,\n  UserUnitPreferences\n} from './types'\nimport { atomicWriteFileSync } from '../atomicWrite'\nimport { createDebug } from '../debug'\n\nconst debug = createDebug('signalk-server:unitpreferences:loader')\n\nconst PACKAGE_UNITPREFS_DIR = path.join(__dirname, '../../unitpreferences')\nexport const DEFAULT_PRESET = 'nautical-metric'\nconst VALID_USERNAME = /^[a-zA-Z0-9_.\\-@]+$/\nconst USER_PREFS_FILE = '1.0.0.json'\n\nlet categories: CategoryMap\nlet customCategories: { [category: string]: string } = {}\nlet standardDefinitions: UnitDefinitions\nlet customDefinitions: UnitDefinitions\nlet activePreset: Preset\nlet config: UnitPreferencesConfig\nlet defaultCategories: { [path: string]: string } = {}\nlet baseUnitToCategoriesCache: { [baseUnit: string]: string[] } | null = null\nconst userPreferencesCache = new Map<string, UserUnitPreferences | null>()\nlet applicationDataPath: string = ''\nlet configUnitprefsDir: string = ''\n\nlet defaultPrimaryCategories: PrimaryCategoryMap = {}\n\nfunction validateUsername(username: string): void {\n  if (!VALID_USERNAME.test(username) || username === '.' || username === '..') {\n    throw new Error(`Invalid username: ${username}`)\n  }\n}\n\nfunction getUserPrefsPath(username: string): string {\n  validateUsername(username)\n  const result = path.join(\n    applicationDataPath,\n    'users',\n    username,\n    'unitpreferences',\n    USER_PREFS_FILE\n  )\n  const resolved = path.resolve(result)\n  const usersRoot = path.resolve(applicationDataPath, 'users') + path.sep\n  if (!resolved.startsWith(usersRoot)) {\n    throw new Error(`Invalid username path: ${username}`)\n  }\n  return result\n}\n\nexport function setApplicationDataPath(configPath: string): void {\n  applicationDataPath = path.join(configPath, 'applicationData')\n  configUnitprefsDir = path.join(configPath, 'unitpreferences')\n  ensureConfigDir()\n}\n\nexport function getConfigUnitprefsDir(): string {\n  return configUnitprefsDir\n}\n\nfunction ensureConfigDir(): void {\n  if (!configUnitprefsDir) return\n\n  // Create directory structure\n  fs.mkdirSync(path.join(configUnitprefsDir, 'presets', 'custom'), {\n    recursive: true\n  })\n\n  // Seed mutable files from package dir if not present in config dir\n  const mutableFiles = [\n    'config.json',\n    'custom-units-definitions.json',\n    'custom-categories.json'\n  ]\n  for (const file of mutableFiles) {\n    const destPath = path.join(configUnitprefsDir, file)\n    if (!fs.existsSync(destPath)) {\n      const srcPath = path.join(PACKAGE_UNITPREFS_DIR, file)\n      if (fs.existsSync(srcPath)) {\n        fs.copyFileSync(srcPath, destPath)\n      }\n    }\n  }\n\n  // Migrate custom presets from package dir if any exist\n  const pkgCustomDir = path.join(PACKAGE_UNITPREFS_DIR, 'presets', 'custom')\n  if (fs.existsSync(pkgCustomDir)) {\n    const configCustomDir = path.join(configUnitprefsDir, 'presets', 'custom')\n    for (const file of fs.readdirSync(pkgCustomDir)) {\n      if (file.endsWith('.json')) {\n        const destPath = path.join(configCustomDir, file)\n        if (!fs.existsSync(destPath)) {\n          fs.copyFileSync(path.join(pkgCustomDir, file), destPath)\n        }\n      }\n    }\n  }\n}\n\nexport function loadAll(): void {\n  // Load categories (read-only, from package)\n  categories = JSON.parse(\n    fs.readFileSync(\n      path.join(PACKAGE_UNITPREFS_DIR, 'categories.json'),\n      'utf-8'\n    )\n  )\n\n  // Load standard definitions (read-only, from package)\n  standardDefinitions = JSON.parse(\n    fs.readFileSync(\n      path.join(PACKAGE_UNITPREFS_DIR, 'standard-units-definitions.json'),\n      'utf-8'\n    )\n  )\n\n  // Load custom definitions from config dir\n  const customPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'custom-units-definitions.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'custom-units-definitions.json')\n  if (fs.existsSync(customPath)) {\n    customDefinitions = JSON.parse(fs.readFileSync(customPath, 'utf-8'))\n  } else {\n    customDefinitions = {}\n  }\n\n  // Load custom categories from config dir\n  const customCatPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'custom-categories.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'custom-categories.json')\n  if (fs.existsSync(customCatPath)) {\n    customCategories = JSON.parse(fs.readFileSync(customCatPath, 'utf-8'))\n  } else {\n    customCategories = {}\n  }\n\n  // Load config from config dir\n  const cfgPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'config.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'config.json')\n  if (fs.existsSync(cfgPath)) {\n    config = JSON.parse(fs.readFileSync(cfgPath, 'utf-8'))\n  } else {\n    config = { activePreset: DEFAULT_PRESET }\n  }\n\n  // Load default categories (read-only, from package)\n  const defaultCatPath = path.join(\n    PACKAGE_UNITPREFS_DIR,\n    'default-categories.json'\n  )\n  if (fs.existsSync(defaultCatPath)) {\n    const defaultCatData = JSON.parse(fs.readFileSync(defaultCatPath, 'utf-8'))\n    // Build flat lookup: path -> category\n    defaultCategories = {}\n    for (const [categoryName, catDef] of Object.entries(\n      defaultCatData.categories || {}\n    )) {\n      const def = catDef as { paths: string[] }\n      for (const p of def.paths || []) {\n        defaultCategories[p] = categoryName\n      }\n    }\n  }\n\n  // Load default primary categories (read-only, from package)\n  const primaryCatPath = path.join(\n    PACKAGE_UNITPREFS_DIR,\n    'primary-categories.json'\n  )\n  if (fs.existsSync(primaryCatPath)) {\n    defaultPrimaryCategories = JSON.parse(\n      fs.readFileSync(primaryCatPath, 'utf-8')\n    )\n  }\n\n  // Invalidate caches\n  baseUnitToCategoriesCache = null\n  userPreferencesCache.clear()\n\n  // Load active preset\n  loadActivePreset()\n}\n\nfunction loadActivePreset(): void {\n  const presetName = config.activePreset\n\n  // Check custom presets in config dir first\n  if (configUnitprefsDir) {\n    const customPresetPath = path.join(\n      configUnitprefsDir,\n      'presets/custom',\n      `${presetName}.json`\n    )\n    if (fs.existsSync(customPresetPath)) {\n      activePreset = JSON.parse(fs.readFileSync(customPresetPath, 'utf-8'))\n      return\n    }\n  }\n\n  // Fall back to built-in presets in package dir\n  const builtInPath = path.join(\n    PACKAGE_UNITPREFS_DIR,\n    'presets',\n    `${presetName}.json`\n  )\n  if (fs.existsSync(builtInPath)) {\n    activePreset = JSON.parse(fs.readFileSync(builtInPath, 'utf-8'))\n    return\n  }\n\n  // Default to nautical-metric\n  activePreset = JSON.parse(\n    fs.readFileSync(\n      path.join(PACKAGE_UNITPREFS_DIR, `presets/${DEFAULT_PRESET}.json`),\n      'utf-8'\n    )\n  )\n}\n\nexport function getCategories(): CategoryMap {\n  // Return merged categories (core + custom)\n  const merged = { ...categories }\n  merged.categoryToBaseUnit = {\n    ...categories.categoryToBaseUnit,\n    ...customCategories\n  }\n  return merged\n}\nexport function getCustomCategories(): { [category: string]: string } {\n  return customCategories\n}\nexport function getStandardDefinitions(): UnitDefinitions {\n  return standardDefinitions\n}\nexport function getCustomDefinitions(): UnitDefinitions {\n  return customDefinitions\n}\nexport function getActivePreset(): Preset {\n  return activePreset\n}\nexport function getConfig(): UnitPreferencesConfig {\n  return config\n}\n\nexport function reloadPreset(): void {\n  // Re-read config from config dir\n  const cfgPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'config.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'config.json')\n  if (fs.existsSync(cfgPath)) {\n    config = JSON.parse(fs.readFileSync(cfgPath, 'utf-8'))\n  }\n  loadActivePreset()\n}\n\nexport function reloadCustomDefinitions(): void {\n  const customPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'custom-units-definitions.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'custom-units-definitions.json')\n  if (fs.existsSync(customPath)) {\n    customDefinitions = JSON.parse(fs.readFileSync(customPath, 'utf-8'))\n  } else {\n    customDefinitions = {}\n  }\n}\n\nexport function reloadCustomCategories(): void {\n  baseUnitToCategoriesCache = null\n  const customCatPath = configUnitprefsDir\n    ? path.join(configUnitprefsDir, 'custom-categories.json')\n    : path.join(PACKAGE_UNITPREFS_DIR, 'custom-categories.json')\n  if (fs.existsSync(customCatPath)) {\n    customCategories = JSON.parse(fs.readFileSync(customCatPath, 'utf-8'))\n  } else {\n    customCategories = {}\n  }\n}\n\nexport function getMergedDefinitions(): UnitDefinitions {\n  // Custom definitions override standard\n  const merged: UnitDefinitions = structuredClone(standardDefinitions)\n  for (const [siUnit, def] of Object.entries(customDefinitions)) {\n    if (!merged[siUnit]) {\n      merged[siUnit] = def\n    } else {\n      merged[siUnit].conversions = {\n        ...merged[siUnit].conversions,\n        ...def.conversions\n      }\n    }\n  }\n  return merged\n}\n\nexport function getDefaultCategory(\n  signalkPath: string,\n  pathSiUnit?: string,\n  username?: string\n): string | null {\n  if (defaultCategories[signalkPath]) {\n    return defaultCategories[signalkPath]\n  }\n\n  for (const [pattern, category] of Object.entries(defaultCategories)) {\n    if (pattern.includes('*')) {\n      // '*' matches a single path segment, not dots\n      const regex = new RegExp(\n        '^' +\n          pattern\n            .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n            .replace(/\\./g, '\\\\.')\n            .replace(/\\*/g, '[^.]+') +\n          '$'\n      )\n      if (regex.test(signalkPath)) {\n        return category\n      }\n    }\n  }\n\n  if (pathSiUnit) {\n    return getCategoryForBaseUnit(pathSiUnit, username)\n  }\n\n  return null\n}\n\nexport function getBaseUnitToCategories(): { [baseUnit: string]: string[] } {\n  if (!baseUnitToCategoriesCache) {\n    // Object.create(null): baseUnit values come from admin-controlled\n    // custom-categories.json and become keys here; a null-prototype map\n    // is immune to __proto__/constructor pollution.\n    const cache: { [baseUnit: string]: string[] } = Object.create(null)\n    const cats = getCategories()\n    for (const [category, baseUnit] of Object.entries(\n      cats.categoryToBaseUnit\n    )) {\n      if (!cache[baseUnit]) {\n        cache[baseUnit] = []\n      }\n      cache[baseUnit].push(category)\n    }\n    baseUnitToCategoriesCache = cache\n  }\n  return baseUnitToCategoriesCache\n}\n\nexport function getCategoryForBaseUnit(\n  baseUnit: string,\n  username?: string\n): string | null {\n  const map = getBaseUnitToCategories()\n  const matchingCategories = map[baseUnit]\n  if (!matchingCategories || matchingCategories.length === 0) return null\n  if (matchingCategories.length === 1) return matchingCategories[0]\n\n  if (username) {\n    const userPrefs = loadUserPreferences(username)\n    if (userPrefs?.primaryCategories?.[baseUnit]) {\n      const userPrimary = userPrefs.primaryCategories[baseUnit]\n      if (matchingCategories.includes(userPrimary)) return userPrimary\n    }\n  }\n\n  const defaultPrimary = defaultPrimaryCategories[baseUnit]\n  if (defaultPrimary && matchingCategories.includes(defaultPrimary))\n    return defaultPrimary\n\n  // Deterministic fallback when neither user nor system default resolves.\n  return [...matchingCategories].sort()[0]\n}\n\nexport function loadUserPreferences(\n  username: string\n): UserUnitPreferences | null {\n  if (!applicationDataPath) return null\n\n  const cached = userPreferencesCache.get(username)\n  if (cached !== undefined) {\n    return cached === null ? null : structuredClone(cached)\n  }\n\n  try {\n    const userPrefPath = getUserPrefsPath(username)\n    if (fs.existsSync(userPrefPath)) {\n      const prefs = JSON.parse(\n        fs.readFileSync(userPrefPath, 'utf-8')\n      ) as UserUnitPreferences\n      userPreferencesCache.set(username, prefs)\n      return structuredClone(prefs)\n    }\n  } catch (err: unknown) {\n    const code = (err as NodeJS.ErrnoException).code\n    if (code !== 'ENOENT') {\n      debug('Error reading user preferences for %s: %O', username, err)\n    }\n  }\n  userPreferencesCache.set(username, null)\n  return null\n}\n\nexport function saveUserPreferences(\n  username: string,\n  prefs: UserUnitPreferences\n): void {\n  if (!applicationDataPath) throw new Error('applicationDataPath not set')\n  const filePath = getUserPrefsPath(username)\n  const dir = path.dirname(filePath)\n  fs.mkdirSync(dir, { recursive: true })\n  atomicWriteFileSync(filePath, JSON.stringify(prefs, null, 2))\n  userPreferencesCache.set(username, structuredClone(prefs))\n}\n\nfunction loadPresetByName(presetName: string): Preset | null {\n  if (!/^[a-zA-Z0-9_-]+$/.test(presetName)) {\n    return null\n  }\n\n  // Check custom presets in config dir first\n  if (configUnitprefsDir) {\n    const customPresetPath = path.join(\n      configUnitprefsDir,\n      'presets/custom',\n      `${presetName}.json`\n    )\n    if (fs.existsSync(customPresetPath)) {\n      return JSON.parse(fs.readFileSync(customPresetPath, 'utf-8'))\n    }\n  }\n\n  // Fall back to built-in presets in package dir\n  const builtInPath = path.join(\n    PACKAGE_UNITPREFS_DIR,\n    'presets',\n    `${presetName}.json`\n  )\n  if (fs.existsSync(builtInPath)) {\n    return JSON.parse(fs.readFileSync(builtInPath, 'utf-8'))\n  }\n\n  return null\n}\n\nexport function getActivePresetForUser(username?: string): Preset {\n  // 1. Check applicationData for user's preset preference\n  if (username) {\n    const userPref = loadUserPreferences(username)\n    if (userPref?.activePreset) {\n      const preset = loadPresetByName(userPref.activePreset)\n      if (preset) return preset\n    }\n  }\n  // 2. User-specific preset from config (legacy)\n  if (username && config.userPresets?.[username]) {\n    const preset = loadPresetByName(config.userPresets[username])\n    if (preset) return preset\n  }\n  // 3. Admin preset\n  if (config.activePreset) {\n    const preset = loadPresetByName(config.activePreset)\n    if (preset) return preset\n  }\n  // 4. Default\n  return loadPresetByName(DEFAULT_PRESET) || activePreset\n}\n"
  },
  {
    "path": "src/unitpreferences/resolver.ts",
    "content": "import {\n  getCategories,\n  getMergedDefinitions,\n  getActivePreset,\n  getActivePresetForUser\n} from './loader'\nimport { EnhancedDisplayUnits, DisplayUnitsMetadata } from './types'\n\n/**\n * Given stored displayUnits metadata, resolve the full conversion info\n *\n * @param storedDisplayUnits - What's in baseDeltas.json (category, optional targetUnit)\n * @param pathSiUnit - The SI unit for this path (optional)\n * @param username - Username for per-user preset resolution (optional)\n * @returns Full displayUnits with formula, or null if can't resolve\n */\nexport function resolveDisplayUnits(\n  storedDisplayUnits: DisplayUnitsMetadata | undefined,\n  pathSiUnit?: string,\n  username?: string\n): EnhancedDisplayUnits | null {\n  if (!storedDisplayUnits?.category) {\n    return null\n  }\n\n  const category = storedDisplayUnits.category\n\n  // \"base\" category means display in SI units without conversion\n  if (category === 'base') {\n    return {\n      category: 'base',\n      targetUnit: pathSiUnit || 'base',\n      formula: 'value',\n      inverseFormula: 'value',\n      symbol: pathSiUnit || '',\n      displayFormat: undefined\n    }\n  }\n\n  // \"custom\" category stores explicit conversion info\n  if (category === 'custom') {\n    if (!storedDisplayUnits.targetUnit) {\n      return null\n    }\n    // Identity conversion: targetUnit matches the path's SI unit\n    if (pathSiUnit && storedDisplayUnits.targetUnit === pathSiUnit) {\n      return {\n        category: 'custom',\n        targetUnit: storedDisplayUnits.targetUnit,\n        formula: 'value',\n        inverseFormula: 'value',\n        symbol: storedDisplayUnits.symbol || storedDisplayUnits.targetUnit,\n        displayFormat: storedDisplayUnits.displayFormat\n      }\n    }\n    // If formula is stored, use it directly\n    if (storedDisplayUnits.formula) {\n      return {\n        category: 'custom',\n        targetUnit: storedDisplayUnits.targetUnit,\n        formula: storedDisplayUnits.formula,\n        inverseFormula: storedDisplayUnits.inverseFormula || '',\n        symbol: storedDisplayUnits.symbol || storedDisplayUnits.targetUnit,\n        displayFormat: storedDisplayUnits.displayFormat\n      }\n    }\n    // Otherwise look up from definitions using pathSiUnit\n    if (pathSiUnit) {\n      const definitions = getMergedDefinitions()\n      const conversion =\n        definitions[pathSiUnit]?.conversions?.[storedDisplayUnits.targetUnit]\n      if (conversion) {\n        return {\n          category: 'custom',\n          targetUnit: storedDisplayUnits.targetUnit,\n          formula: conversion.formula,\n          inverseFormula: conversion.inverseFormula,\n          symbol: conversion.symbol || storedDisplayUnits.targetUnit,\n          displayFormat: storedDisplayUnits.displayFormat\n        }\n      }\n    }\n    return null\n  }\n\n  const categoriesData = getCategories()\n  const definitions = getMergedDefinitions()\n  const preset = username ? getActivePresetForUser(username) : getActivePreset()\n\n  // Step 1: Get SI unit for this category\n  const siUnit = categoriesData.categoryToBaseUnit[category]\n  if (!siUnit) {\n    return null // Unknown category\n  }\n\n  // Step 2: Determine target unit\n  // Priority: path override > preset default\n  let targetUnit: string\n  if (storedDisplayUnits.targetUnit) {\n    targetUnit = storedDisplayUnits.targetUnit\n  } else if (preset?.categories?.[category]?.targetUnit) {\n    targetUnit = preset.categories[category].targetUnit\n  } else {\n    return null // No target unit defined\n  }\n\n  // Step 3: Identity conversion (targetUnit === baseUnit)\n  if (targetUnit === siUnit) {\n    return {\n      category,\n      targetUnit,\n      formula: 'value',\n      inverseFormula: 'value',\n      symbol: siUnit,\n      displayFormat:\n        storedDisplayUnits.displayFormat ||\n        preset?.categories?.[category]?.displayFormat\n    }\n  }\n\n  // Step 4: Get formula from definitions\n  const unitDef = definitions[siUnit]\n  if (!unitDef?.conversions) {\n    return null // No conversions for this SI unit\n  }\n\n  const conversion = unitDef.conversions[targetUnit]\n  if (!conversion) {\n    return null // Target unit not found in conversions\n  }\n\n  // Step 5: Build response\n  return {\n    category,\n    targetUnit,\n    formula: conversion.formula,\n    inverseFormula: conversion.inverseFormula,\n    symbol: conversion.symbol,\n    displayFormat:\n      storedDisplayUnits.displayFormat ||\n      preset?.categories?.[category]?.displayFormat\n  }\n}\n\n/**\n * Validate that a category assignment is valid for a path\n *\n * @param pathSiUnit - The SI unit from SignalK schema for this path (may be undefined)\n * @param category - The category being assigned\n * @returns Error message if invalid, null if valid\n */\nexport function validateCategoryAssignment(\n  pathSiUnit: string | undefined,\n  category: string\n): string | null {\n  // \"base\" category is always valid - it means use SI units\n  if (category === 'base') {\n    return null\n  }\n\n  // \"custom\" category is always valid - user picks an explicit target unit\n  if (category === 'custom') {\n    return null\n  }\n\n  const categoriesData = getCategories()\n  const preset = getActivePreset()\n\n  // Check built-in categories first, then preset categories\n  let categorySiUnit = categoriesData.categoryToBaseUnit[category]\n  if (!categorySiUnit && preset?.categories?.[category]?.baseUnit) {\n    categorySiUnit = preset.categories[category].baseUnit\n  }\n\n  if (!categorySiUnit) {\n    return `Unknown category: ${category}`\n  }\n\n  // If path has a defined SI unit, it must match category's SI unit\n  if (pathSiUnit && pathSiUnit !== categorySiUnit) {\n    return `Category \"${category}\" requires SI unit \"${categorySiUnit}\" but path has \"${pathSiUnit}\"`\n  }\n\n  return null // Valid\n}\n"
  },
  {
    "path": "src/unitpreferences/types.ts",
    "content": "// Maps a base unit to its primary (default) category when multiple categories share that unit\nexport interface PrimaryCategoryMap {\n  [baseUnit: string]: string // e.g., \"m\" -> \"distance\"\n}\n\n// Per-user unit preferences (applicationData/users/{username}/unitpreferences/1.0.0.json)\nexport interface UserUnitPreferences {\n  activePreset?: string\n  primaryCategories?: PrimaryCategoryMap\n}\n\n// categories.json structure\nexport interface CategoryMap {\n  categoryToBaseUnit: {\n    [categoryName: string]: string // category → SI unit (e.g., \"speed\" → \"m/s\")\n  }\n  coreCategories: string[]\n}\n\n// Conversion formula\nexport interface ConversionFormula {\n  formula: string // e.g., \"value * 1.94384\"\n  inverseFormula: string // e.g., \"value * 0.514444\"\n  symbol: string // e.g., \"kn\"\n  longName?: string // e.g., \"knots\"\n  key?: string // ASCII-safe key for special characters\n}\n\n// standard-units-definitions.json structure\nexport interface UnitDefinitions {\n  [siUnit: string]: {\n    longName?: string\n    conversions: {\n      [targetUnit: string]: ConversionFormula\n    }\n  }\n}\n\n// Preset file structure\nexport interface Preset {\n  version: string\n  name: string\n  description?: string\n  date?: string\n  categories: {\n    [categoryName: string]: {\n      baseUnit: string\n      targetUnit: string\n      displayFormat?: string\n    }\n  }\n}\n\n// Config file structure\nexport interface UnitPreferencesConfig {\n  activePreset: string // e.g., \"imperial-us\" or \"my-boat\"\n  userPresets?: { [username: string]: string } // per-user preset overrides\n  version?: string\n}\n\n// What gets stored in path metadata (baseDeltas.json)\nexport interface DisplayUnitsMetadata {\n  category: string\n  targetUnit?: string // Only if path override\n  formula?: string // Only if custom category\n  inverseFormula?: string // Only if custom category\n  symbol?: string // Only if custom category\n  displayFormat?: string // Only if path override\n}\n\n// What server returns in GET /meta response\nexport interface EnhancedDisplayUnits {\n  category: string\n  targetUnit: string\n  formula: string\n  inverseFormula: string\n  symbol: string\n  displayFormat?: string\n}\n"
  },
  {
    "path": "src/version.ts",
    "content": "import { satisfies } from 'semver'\n\nconst minimumVersion = '>=20'\nexport const recommendedVersion = '24'\n\nexport default function checkNodeVersion() {\n  if ('SKIP_NODE_VERSION_CHECK' in process.env) return\n\n  if (!satisfies(process.version, minimumVersion)) {\n    console.error(\n      `The installed version of node (${process.version}) is older than the minimum required version (${minimumVersion}). See https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js for more information how to upgrade.`\n    )\n    process.exit(1)\n  } else if (!satisfies(process.version, recommendedVersion)) {\n    console.warn(\n      `The installed version of node (${process.version}) is different than the recommended version (${recommendedVersion}). See https://github.com/SignalK/signalk-server/wiki/Installing-and-Updating-Node.js for more information how to upgrade.`\n    )\n  }\n}\n"
  },
  {
    "path": "src/wasm/bindings/binary-stream.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Binary Stream FFI Bindings\n *\n * Provides FFI bindings for WASM plugins to emit binary data streams\n * to connected WebSocket clients.\n */\n\nimport Debug from 'debug'\n\nconst debug = Debug('signalk:wasm:binary-stream')\n\n/**\n * Helper to read binary data from WASM memory\n */\nexport function createBinaryDataReader(memoryRef: {\n  current: WebAssembly.Memory | null\n}) {\n  return (ptr: number, len: number): Buffer => {\n    if (!memoryRef.current) {\n      throw new Error('WASM memory not initialized')\n    }\n    const bytes = new Uint8Array(memoryRef.current.buffer, ptr, len)\n    return Buffer.from(bytes)\n  }\n}\n\n/**\n * Create the sk_emit_binary_stream host binding\n *\n * WASM plugins call this to push binary data to stream subscribers.\n * Stream IDs should be scoped: \"plugins/{pluginId}/{streamName}\" or \"radars/{radarId}\"\n *\n * @param pluginId - Plugin identifier\n * @param app - SignalK application instance\n * @param readUtf8String - Function to read UTF-8 strings from WASM memory\n * @param readBinaryData - Function to read binary data from WASM memory\n * @returns FFI binding function\n */\nexport function createBinaryStreamBinding(\n  pluginId: string,\n  app: any,\n  readUtf8String: (ptr: number, len: number) => string,\n  readBinaryData: (ptr: number, len: number) => Buffer\n): (\n  streamIdPtr: number,\n  streamIdLen: number,\n  dataPtr: number,\n  dataLen: number\n) => number {\n  return (\n    streamIdPtr: number,\n    streamIdLen: number,\n    dataPtr: number,\n    dataLen: number\n  ): number => {\n    try {\n      // Extract stream ID and data from WASM memory\n      const streamId = readUtf8String(streamIdPtr, streamIdLen)\n      const data = readBinaryData(dataPtr, dataLen)\n\n      debug(\n        `[${pluginId}] sk_emit_binary_stream: streamId=\"${streamId}\", ` +\n          `dataLen=${dataLen} bytes`\n      )\n\n      // Validate stream ID format\n      // Allow:\n      // - \"radars/{radarId}\" (for radar providers)\n      // - \"plugins/{pluginId}/{streamName}\" (for custom streams)\n      const validRadarStream = /^radars\\/[a-zA-Z0-9_-]+$/.test(streamId)\n      const validPluginStream = streamId.startsWith(`plugins/${pluginId}/`)\n\n      if (!validRadarStream && !validPluginStream) {\n        debug(\n          `[${pluginId}] Invalid stream ID: \"${streamId}\". ` +\n            `Expected \"radars/{radarId}\" or \"plugins/${pluginId}/{streamName}\"`\n        )\n        return 0 // Failure\n      }\n\n      // Push to stream manager\n      if (app && app.binaryStreamManager) {\n        app.binaryStreamManager.emitData(streamId, data)\n        return 1 // Success\n      } else {\n        debug(`[${pluginId}] Binary stream manager not available`)\n        return 0 // Failure\n      }\n    } catch (error) {\n      debug(`[${pluginId}] sk_emit_binary_stream error: ${error}`)\n      return 0 // Failure\n    }\n  }\n}\n"
  },
  {
    "path": "src/wasm/bindings/env-imports.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * WASM Environment Imports (Host Bindings)\n *\n * Provides the Signal K API functions that WASM plugins can import\n */\n\nimport Debug from 'debug'\nimport { SKVersion } from '@signalk/server-api'\nimport { WasmCapabilities } from '../types'\nimport { createResourceProviderBinding } from './resource-provider'\nimport { createWeatherProviderBinding } from './weather-provider'\nimport {\n  createRadarProviderBinding,\n  createRadarEmitSpokesBinding\n} from './radar-provider'\nimport {\n  createBinaryStreamBinding,\n  createBinaryDataReader\n} from './binary-stream'\nimport { socketManager, tcpSocketManager } from './socket-manager'\nimport * as fs from 'fs'\nimport * as path from 'path'\nimport { atomicWriteFileSync } from '../../atomicWrite'\n\nconst debug = Debug('signalk:wasm:bindings')\n\n/**\n * Options for creating environment imports\n */\nexport interface EnvImportsOptions {\n  pluginId: string\n  capabilities: WasmCapabilities\n  app?: any\n  memoryRef: { current: WebAssembly.Memory | null }\n  rawExports: { current: any }\n  asLoaderInstance: { current: any }\n  configPath?: string\n  packageName?: string\n}\n\n/**\n * Helper to read UTF-8 strings from WASM memory\n */\nexport function createUtf8Reader(memoryRef: {\n  current: WebAssembly.Memory | null\n}) {\n  return (ptr: number, len: number): string => {\n    if (!memoryRef.current) {\n      throw new Error('AssemblyScript module memory not initialized')\n    }\n    const bytes = new Uint8Array(memoryRef.current.buffer, ptr, len)\n    const decoder = new TextDecoder('utf-8')\n    return decoder.decode(bytes)\n  }\n}\n\n/**\n * Create environment imports for a WASM plugin\n */\nexport function createEnvImports(\n  options: EnvImportsOptions\n): Record<string, any> {\n  const {\n    pluginId,\n    capabilities,\n    app,\n    memoryRef,\n    rawExports,\n    asLoaderInstance,\n    configPath,\n    packageName: _packageName\n  } = options\n\n  const readUtf8String = createUtf8Reader(memoryRef)\n  const readBinaryData = createBinaryDataReader(memoryRef)\n\n  const envImports: Record<string, any> = {\n    // AssemblyScript runtime requirements\n    abort: (msg: number, file: number, line: number, column: number) => {\n      debug(`WASM abort called: ${msg} at ${file}:${line}:${column}`)\n    },\n    seed: () => {\n      return Date.now() * Math.random()\n    },\n    'console.log': (ptr: number, len: number) => {\n      try {\n        const message = readUtf8String(ptr, len)\n        debug(`[${pluginId}] ${message}`)\n      } catch (error) {\n        debug(`WASM console.log error: ${error}`)\n      }\n    },\n\n    // Signal K API functions\n    sk_debug: (ptr: number, len: number) => {\n      try {\n        const message = readUtf8String(ptr, len)\n        debug(`[${pluginId}] ${message}`)\n      } catch (error) {\n        debug(`Plugin debug error: ${error}`)\n      }\n    },\n\n    sk_set_status: (ptr: number, len: number) => {\n      try {\n        const message = readUtf8String(ptr, len)\n        debug(`[${pluginId}] Status: ${message}`)\n        if (app && app.setPluginStatus) {\n          app.setPluginStatus(pluginId, message)\n        }\n      } catch (error) {\n        debug(`Plugin set status error: ${error}`)\n      }\n    },\n\n    sk_set_error: (ptr: number, len: number) => {\n      try {\n        const message = readUtf8String(ptr, len)\n        debug(`[${pluginId}] Error: ${message}`)\n        if (app && app.setPluginError) {\n          app.setPluginError(pluginId, message)\n        }\n      } catch (error) {\n        debug(`Plugin set error error: ${error}`)\n      }\n    },\n\n    // Get value from vessels.self path\n    sk_get_self_path: (\n      pathPtr: number,\n      pathLen: number,\n      bufPtr: number,\n      bufMaxLen: number\n    ): number => {\n      try {\n        const path = readUtf8String(pathPtr, pathLen)\n        debug(`[${pluginId}] getSelfPath: ${path}`)\n\n        if (!app || !app.getSelfPath) {\n          debug(`[${pluginId}] app.getSelfPath not available`)\n          return 0\n        }\n\n        const value = app.getSelfPath(path)\n        if (value === undefined || value === null) {\n          return 0\n        }\n\n        // Serialize value to JSON\n        const jsonStr = JSON.stringify(value)\n        const jsonBytes = Buffer.from(jsonStr, 'utf8')\n\n        if (jsonBytes.length > bufMaxLen) {\n          debug(\n            `[${pluginId}] getSelfPath buffer too small: need ${jsonBytes.length}, have ${bufMaxLen}`\n          )\n          return 0\n        }\n\n        // Write to WASM memory\n        if (memoryRef.current) {\n          const memView = new Uint8Array(memoryRef.current.buffer)\n          memView.set(jsonBytes, bufPtr)\n          return jsonBytes.length\n        }\n\n        return 0\n      } catch (error) {\n        debug(`[${pluginId}] getSelfPath error: ${error}`)\n        return 0\n      }\n    },\n\n    /**\n     * Emit a delta message to the Signal K server\n     *\n     * @param ptr - Pointer to delta JSON string in WASM memory\n     * @param len - Length of delta JSON string\n     * @param version - Signal K version: 1 = v1 (default), 2 = v2\n     *\n     * Plugins should use v1 for regular navigation data (the default).\n     * Use v2 for Course API paths and other v2-specific data to prevent\n     * v2 data from being mixed into the v1 full data model.\n     *\n     * This mirrors the TypeScript plugin API where handleMessage accepts\n     * an optional skVersion parameter.\n     */\n    sk_handle_message: (ptr: number, len: number, version: number = 1) => {\n      try {\n        const deltaJson = readUtf8String(ptr, len)\n        debug(\n          `[${pluginId}] Emitting delta (v${version === 2 ? '2' : '1'}): ${deltaJson.substring(0, 200)}...`\n        )\n        if (app && app.handleMessage) {\n          try {\n            const delta = JSON.parse(deltaJson)\n            const skVersion = version === 2 ? SKVersion.v2 : SKVersion.v1\n            app.handleMessage(pluginId, delta, skVersion)\n            debug(`[${pluginId}] Delta processed by server (${skVersion})`)\n          } catch (parseError) {\n            debug(`[${pluginId}] Failed to parse/process delta: ${parseError}`)\n          }\n        } else {\n          debug(\n            `[${pluginId}] Warning: app.handleMessage not available, delta not processed`\n          )\n        }\n      } catch (error) {\n        debug(`Plugin handle message error: ${error}`)\n      }\n    },\n\n    /**\n     * Publish a SignalK notification (v6)\n     *\n     * @param pathPtr - Pointer to notification path string (e.g., \"notifications.navigation.closestApproach.radar:1:target:5\")\n     * @param pathLen - Length of path string\n     * @param valuePtr - Pointer to notification value JSON\n     * @param valueLen - Length of value JSON\n     * @returns 0 on success, -1 on error\n     */\n    sk_publish_notification: (\n      pathPtr: number,\n      pathLen: number,\n      valuePtr: number,\n      valueLen: number\n    ): number => {\n      try {\n        const path = readUtf8String(pathPtr, pathLen)\n        const valueJson = readUtf8String(valuePtr, valueLen)\n\n        debug(`[${pluginId}] Publishing notification: ${path}`)\n\n        if (!app || !app.handleMessage) {\n          debug(`[${pluginId}] app.handleMessage not available`)\n          return -1\n        }\n\n        // Parse and validate the notification value\n        let notificationValue: any\n        try {\n          notificationValue = JSON.parse(valueJson)\n        } catch (e) {\n          debug(`[${pluginId}] Invalid notification JSON: ${e}`)\n          return -1\n        }\n\n        // Validate required notification fields per SignalK spec\n        // Notifications must have: state, method, message\n        if (!notificationValue.state) {\n          debug(`[${pluginId}] Notification missing required 'state' field`)\n          return -1\n        }\n\n        const validStates = ['normal', 'alert', 'warn', 'alarm', 'emergency']\n        if (!validStates.includes(notificationValue.state)) {\n          debug(\n            `[${pluginId}] Invalid notification state: ${notificationValue.state}`\n          )\n          return -1\n        }\n\n        // Build the delta message for the notification\n        const delta = {\n          updates: [\n            {\n              values: [\n                {\n                  path: path,\n                  value: notificationValue\n                }\n              ]\n            }\n          ]\n        }\n\n        // Notifications should be processed normally (version 1)\n        app.handleMessage(pluginId, delta)\n        debug(\n          `[${pluginId}] Notification published: ${path} state=${notificationValue.state}`\n        )\n\n        return 0 // Success\n      } catch (error) {\n        debug(`[${pluginId}] sk_publish_notification error: ${error}`)\n        return -1\n      }\n    },\n\n    // ==========================================================================\n    // Plugin Configuration API\n    // ==========================================================================\n\n    /**\n     * Read plugin configuration from plugin-config-data\n     * Uses: ~/.signalk/plugin-config-data/{pluginId}.json\n     *\n     * This matches the storage location used by JS plugins.\n     *\n     * @param bufPtr - Buffer to write config JSON into\n     * @param bufMaxLen - Maximum buffer size\n     * @returns Number of bytes written, or 0 if no config / error\n     */\n    sk_read_config: (bufPtr: number, bufMaxLen: number): number => {\n      try {\n        const cfgPath = configPath || app?.config?.configPath\n        if (!cfgPath) {\n          debug(`[${pluginId}] sk_read_config: configPath not available`)\n          return 0\n        }\n\n        // Plugin config path: plugin-config-data/{pluginId}.json (same as JS plugins)\n        const configFile = path.join(\n          cfgPath,\n          'plugin-config-data',\n          `${pluginId}.json`\n        )\n\n        let configJson = '{}'\n        if (fs.existsSync(configFile)) {\n          try {\n            const rawConfig = fs.readFileSync(configFile, 'utf8')\n            const parsed = JSON.parse(rawConfig)\n            // Return just the configuration object (not enabled/enableLogging flags)\n            configJson = JSON.stringify(parsed.configuration || {})\n          } catch (e) {\n            debug(`[${pluginId}] Could not read config: ${e}`)\n          }\n        }\n\n        debug(\n          `[${pluginId}] Reading config from ${configFile}: ${configJson.substring(0, 100)}...`\n        )\n\n        const encoder = new TextEncoder()\n        const configBytes = encoder.encode(configJson)\n\n        if (configBytes.length > bufMaxLen) {\n          debug(\n            `[${pluginId}] Config buffer too small: need ${configBytes.length}, have ${bufMaxLen}`\n          )\n          return 0\n        }\n\n        if (!memoryRef.current) return 0\n        const memView = new Uint8Array(memoryRef.current.buffer)\n        memView.set(configBytes, bufPtr)\n\n        return configBytes.length\n      } catch (error) {\n        debug(`[${pluginId}] sk_read_config error: ${error}`)\n        return 0\n      }\n    },\n\n    /**\n     * Save plugin configuration to plugin-config-data\n     * Uses: ~/.signalk/plugin-config-data/{pluginId}.json\n     *\n     * This matches the storage location used by JS plugins.\n     *\n     * @param configPtr - Pointer to config JSON string\n     * @param configLen - Length of config JSON\n     * @returns 0 on success, negative on error\n     */\n    sk_save_config: (configPtr: number, configLen: number): number => {\n      try {\n        const cfgPath = configPath || app?.config?.configPath\n        if (!cfgPath) {\n          debug(`[${pluginId}] sk_save_config: configPath not available`)\n          return -1\n        }\n\n        const configJson = readUtf8String(configPtr, configLen)\n        debug(`[${pluginId}] Saving config: ${configJson.substring(0, 100)}...`)\n\n        // Validate JSON\n        const configuration = JSON.parse(configJson)\n\n        // Plugin config path: plugin-config-data/{pluginId}.json (same as JS plugins)\n        const configDataDir = path.join(cfgPath, 'plugin-config-data')\n        const configFile = path.join(configDataDir, `${pluginId}.json`)\n\n        // Create directory if needed\n        if (!fs.existsSync(configDataDir)) {\n          fs.mkdirSync(configDataDir, { recursive: true })\n        }\n\n        // Read existing config to preserve enabled/enableLogging flags\n        let existingConfig: any = { enabled: true }\n        if (fs.existsSync(configFile)) {\n          try {\n            existingConfig = JSON.parse(fs.readFileSync(configFile, 'utf8'))\n          } catch (e) {\n            debug(`[${pluginId}] Could not read existing config: ${e}`)\n          }\n        }\n\n        // Update configuration while preserving other fields\n        existingConfig.configuration = configuration\n\n        atomicWriteFileSync(configFile, JSON.stringify(existingConfig, null, 2))\n        debug(`[${pluginId}] Config saved to ${configFile}`)\n\n        return 0\n      } catch (error) {\n        debug(`[${pluginId}] sk_save_config error: ${error}`)\n        return -1\n      }\n    },\n\n    // Capability checking\n    sk_has_capability: (capPtr: number, capLen: number): number => {\n      try {\n        const capability = readUtf8String(capPtr, capLen)\n        debug(`[${pluginId}] Checking capability: ${capability}`)\n        if (capability === 'network') {\n          return capabilities.network ? 1 : 0\n        }\n        if (capability === 'rawSockets') {\n          return capabilities.rawSockets ? 1 : 0\n        }\n        return 0\n      } catch (error) {\n        debug(`Plugin capability check error: ${error}`)\n        return 0\n      }\n    },\n\n    // PUT Handler Registration\n    sk_register_put_handler: (\n      contextPtr: number,\n      contextLen: number,\n      pathPtr: number,\n      pathLen: number\n    ): number => {\n      try {\n        const context = readUtf8String(contextPtr, contextLen)\n        const path = readUtf8String(pathPtr, pathLen)\n        debug(\n          `[${pluginId}] Registering PUT handler: context=${context}, path=${path}`\n        )\n\n        if (!capabilities.putHandlers) {\n          debug(`[${pluginId}] PUT handlers capability not granted`)\n          return 0\n        }\n\n        debug(\n          `[${pluginId}] app available: ${!!app}, app.registerActionHandler available: ${!!(app && app.registerActionHandler)}`\n        )\n\n        if (app && app.registerActionHandler) {\n          // Send meta message to indicate this path supports PUT\n          if (app.handleMessage) {\n            app.handleMessage(pluginId, {\n              updates: [\n                {\n                  meta: [\n                    {\n                      path: path,\n                      value: { supportsPut: true }\n                    }\n                  ]\n                }\n              ]\n            })\n            debug(`[${pluginId}] Sent supportsPut meta for ${path}`)\n          }\n\n          const callback = (\n            cbContext: string,\n            cbPath: string,\n            value: any,\n            cb: (result: any) => void\n          ) => {\n            debug.enabled &&\n              debug(\n                `[${pluginId}] PUT request received: ${cbContext}.${cbPath} = ${JSON.stringify(value)}`\n              )\n\n            const handlerName = `handle_put_${cbContext.replace(/\\./g, '_')}_${cbPath.replace(/\\./g, '_')}`\n            const exports =\n              asLoaderInstance.current?.exports || rawExports.current\n            const handlerFunc = exports?.[handlerName]\n\n            if (handlerFunc) {\n              debug(`[${pluginId}] Calling WASM handler: ${handlerName}`)\n              const valueJson = JSON.stringify(value)\n\n              try {\n                let responseJson: string\n\n                if (asLoaderInstance.current) {\n                  responseJson = handlerFunc(valueJson)\n                } else if (rawExports.current?.allocate) {\n                  // Rust library plugin: buffer-based string passing\n                  const valueBytes = Buffer.from(valueJson, 'utf8')\n                  const valuePtr = rawExports.current.allocate(\n                    valueBytes.length\n                  )\n                  const responseMaxLen = 8192\n                  const responsePtr =\n                    rawExports.current.allocate(responseMaxLen)\n\n                  const memory = rawExports.current.memory as WebAssembly.Memory\n                  const memView = new Uint8Array(memory.buffer)\n                  memView.set(valueBytes, valuePtr)\n\n                  const writtenLen = handlerFunc(\n                    valuePtr,\n                    valueBytes.length,\n                    responsePtr,\n                    responseMaxLen\n                  )\n\n                  const responseBytes = new Uint8Array(\n                    memory.buffer,\n                    responsePtr,\n                    writtenLen\n                  )\n                  responseJson = new TextDecoder('utf-8').decode(responseBytes)\n\n                  if (rawExports.current.deallocate) {\n                    rawExports.current.deallocate(valuePtr, valueBytes.length)\n                    rawExports.current.deallocate(responsePtr, responseMaxLen)\n                  }\n                } else {\n                  throw new Error('Unknown plugin type for PUT handler')\n                }\n\n                const response = JSON.parse(responseJson)\n                debug.enabled &&\n                  debug(\n                    `[${pluginId}] PUT handler response: ${JSON.stringify(response)}`\n                  )\n                cb(response)\n              } catch (error) {\n                debug(`[${pluginId}] PUT handler error: ${error}`)\n                cb({\n                  state: 'COMPLETED',\n                  statusCode: 500,\n                  message: `Handler error: ${error}`\n                })\n              }\n            } else {\n              debug(\n                `[${pluginId}] Warning: Handler function not found: ${handlerName}`\n              )\n              cb({\n                state: 'COMPLETED',\n                statusCode: 501,\n                message: 'Handler not implemented'\n              })\n            }\n          }\n\n          app.registerActionHandler(context, path, pluginId, callback)\n          debug(\n            `[${pluginId}] PUT handler registered successfully via registerActionHandler`\n          )\n          return 1\n        } else {\n          debug(`[${pluginId}] app.registerActionHandler not available`)\n          return 0\n        }\n      } catch (error) {\n        debug(`Plugin register PUT handler error: ${error}`)\n        return 0\n      }\n    },\n\n    // Resource Provider Registration\n    sk_register_resource_provider: createResourceProviderBinding(\n      pluginId,\n      capabilities,\n      app,\n      readUtf8String\n    ),\n\n    // Weather Provider Registration\n    sk_register_weather_provider: createWeatherProviderBinding(\n      pluginId,\n      capabilities,\n      app,\n      readUtf8String\n    ),\n\n    // Radar Provider Registration\n    sk_register_radar_provider: createRadarProviderBinding(\n      pluginId,\n      capabilities,\n      app,\n      readUtf8String\n    ),\n\n    // ==========================================================================\n    // Binary Stream API (for high-frequency data streaming)\n    // ==========================================================================\n\n    /**\n     * Emit binary data to a stream\n     * General-purpose binary streaming for any plugin\n     * @param streamIdPtr - Pointer to stream ID string\n     * @param streamIdLen - Length of stream ID\n     * @param dataPtr - Pointer to binary data\n     * @param dataLen - Length of binary data\n     * @returns 1 on success, 0 on failure\n     */\n    sk_emit_binary_stream: createBinaryStreamBinding(\n      pluginId,\n      app,\n      readUtf8String,\n      readBinaryData\n    ),\n\n    /**\n     * Emit radar spoke data\n     * Convenience wrapper for radar providers\n     * @param radarIdPtr - Pointer to radar ID string\n     * @param radarIdLen - Length of radar ID\n     * @param spokeDataPtr - Pointer to binary spoke data (protobuf)\n     * @param spokeDataLen - Length of spoke data\n     * @returns 1 on success, 0 on failure\n     */\n    sk_radar_emit_spokes: createRadarEmitSpokesBinding(\n      pluginId,\n      capabilities,\n      app,\n      readUtf8String,\n      readBinaryData\n    ),\n\n    // ==========================================================================\n    // Raw Socket API (for radar, NMEA, etc.)\n    // Requires rawSockets capability\n    // ==========================================================================\n\n    /**\n     * Create a UDP socket\n     * @param type - 0 for udp4, 1 for udp6\n     * @returns Socket ID (>0), or -1 on error\n     */\n    sk_udp_create: (type: number): number => {\n      if (!capabilities.rawSockets) {\n        debug(`[${pluginId}] rawSockets capability not granted`)\n        return -1\n      }\n      const socketType = type === 1 ? 'udp6' : 'udp4'\n      return socketManager.createSocket(pluginId, socketType)\n    },\n\n    /**\n     * Bind socket to a port\n     * @param socketId - Socket ID from sk_udp_create\n     * @param port - Port number (0 for any available)\n     * @returns 0 on success, -1 on error\n     */\n    sk_udp_bind: (socketId: number, port: number): number => {\n      if (!capabilities.rawSockets) return -1\n      // Note: bind is async but we return immediately and let it complete\n      // The socket will be ready by the time we try to receive\n      socketManager.bind(socketId, port).catch((err) => {\n        debug(`[${pluginId}] Async bind error: ${err}`)\n      })\n      return 0\n    },\n\n    /**\n     * Join a multicast group\n     * @param socketId - Socket ID\n     * @param addrPtr - Pointer to multicast address string\n     * @param addrLen - Length of address string\n     * @param ifacePtr - Pointer to interface address (0 for default)\n     * @param ifaceLen - Length of interface string\n     * @returns 0 on success, -1 on error\n     */\n    sk_udp_join_multicast: (\n      socketId: number,\n      addrPtr: number,\n      addrLen: number,\n      ifacePtr: number,\n      ifaceLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const multicastAddr = readUtf8String(addrPtr, addrLen)\n        const interfaceAddr =\n          ifaceLen > 0 ? readUtf8String(ifacePtr, ifaceLen) : undefined\n        debug(\n          `[${pluginId}] Joining multicast ${multicastAddr} on interface ${interfaceAddr || 'default'}`\n        )\n        return socketManager.joinMulticast(\n          socketId,\n          multicastAddr,\n          interfaceAddr\n        )\n      } catch (error) {\n        debug(`[${pluginId}] Join multicast error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Leave a multicast group\n     */\n    sk_udp_leave_multicast: (\n      socketId: number,\n      addrPtr: number,\n      addrLen: number,\n      ifacePtr: number,\n      ifaceLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const multicastAddr = readUtf8String(addrPtr, addrLen)\n        const interfaceAddr =\n          ifaceLen > 0 ? readUtf8String(ifacePtr, ifaceLen) : undefined\n        return socketManager.leaveMulticast(\n          socketId,\n          multicastAddr,\n          interfaceAddr\n        )\n      } catch (error) {\n        debug(`[${pluginId}] Leave multicast error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Set multicast TTL\n     */\n    sk_udp_set_multicast_ttl: (socketId: number, ttl: number): number => {\n      if (!capabilities.rawSockets) return -1\n      return socketManager.setMulticastTTL(socketId, ttl)\n    },\n\n    /**\n     * Enable/disable multicast loopback\n     */\n    sk_udp_set_multicast_loopback: (\n      socketId: number,\n      enabled: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      return socketManager.setMulticastLoopback(socketId, enabled !== 0)\n    },\n\n    /**\n     * Enable/disable broadcast\n     */\n    sk_udp_set_broadcast: (socketId: number, enabled: number): number => {\n      if (!capabilities.rawSockets) return -1\n      return socketManager.setBroadcast(socketId, enabled !== 0)\n    },\n\n    /**\n     * Send data via UDP\n     * @param socketId - Socket ID\n     * @param addrPtr - Destination address pointer\n     * @param addrLen - Destination address length\n     * @param port - Destination port\n     * @param dataPtr - Data pointer\n     * @param dataLen - Data length\n     * @returns Bytes sent, or -1 on error\n     */\n    sk_udp_send: (\n      socketId: number,\n      addrPtr: number,\n      addrLen: number,\n      port: number,\n      dataPtr: number,\n      dataLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const address = readUtf8String(addrPtr, addrLen)\n        if (!memoryRef.current) return -1\n        const data = Buffer.from(\n          new Uint8Array(memoryRef.current.buffer, dataPtr, dataLen)\n        )\n\n        // Send is async, but we return 0 immediately and let it complete\n        socketManager.send(socketId, data, address, port).catch((err) => {\n          debug(`[${pluginId}] Async send error: ${err}`)\n        })\n        return dataLen // Optimistically return bytes \"sent\"\n      } catch (error) {\n        debug(`[${pluginId}] Send error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Receive data from UDP socket (non-blocking)\n     * @param socketId - Socket ID\n     * @param bufPtr - Buffer to write data into\n     * @param bufMaxLen - Maximum buffer size\n     * @param addrOutPtr - Buffer to write source address (at least 46 bytes for IPv6)\n     * @param portOutPtr - Pointer to write source port (u16)\n     * @returns Bytes received, 0 if no data, -1 on error\n     */\n    sk_udp_recv: (\n      socketId: number,\n      bufPtr: number,\n      bufMaxLen: number,\n      addrOutPtr: number,\n      portOutPtr: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const datagram = socketManager.receive(socketId)\n        if (!datagram) {\n          return 0 // No data available\n        }\n\n        if (!memoryRef.current) return -1\n        const memory = memoryRef.current\n        const memView = new Uint8Array(memory.buffer)\n\n        // Copy data to buffer\n        const bytesToCopy = Math.min(datagram.data.length, bufMaxLen)\n        memView.set(datagram.data.slice(0, bytesToCopy), bufPtr)\n\n        // Write source address (null-terminated string)\n        const addrBytes = Buffer.from(datagram.address + '\\0', 'utf8')\n        memView.set(addrBytes, addrOutPtr)\n\n        // Write source port (u16, little-endian)\n        const portView = new DataView(memory.buffer)\n        portView.setUint16(portOutPtr, datagram.port, true)\n\n        return bytesToCopy\n      } catch (error) {\n        debug(`[${pluginId}] Recv error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Get number of buffered datagrams waiting to be received\n     */\n    sk_udp_pending: (socketId: number): number => {\n      if (!capabilities.rawSockets) return -1\n      return socketManager.getBufferedCount(socketId)\n    },\n\n    /**\n     * Close a socket\n     */\n    sk_udp_close: (socketId: number): void => {\n      if (!capabilities.rawSockets) return\n      socketManager.close(socketId)\n    },\n\n    // ==========================================================================\n    // TCP Socket API (for protocols requiring persistent connections)\n    // Requires rawSockets capability\n    // ==========================================================================\n\n    /**\n     * Create a TCP socket\n     * @returns Socket ID (>0), or -1 on error\n     */\n    sk_tcp_create: (): number => {\n      if (!capabilities.rawSockets) {\n        debug(`[${pluginId}] rawSockets capability not granted`)\n        return -1\n      }\n      return tcpSocketManager.createSocket(pluginId)\n    },\n\n    /**\n     * Connect TCP socket to remote host\n     * @param socketId - Socket ID from sk_tcp_create\n     * @param addrPtr - Pointer to host address string\n     * @param addrLen - Length of address string\n     * @param port - Remote port number\n     * @returns 0 if connection initiated, -1 on error\n     */\n    sk_tcp_connect: (\n      socketId: number,\n      addrPtr: number,\n      addrLen: number,\n      port: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const address = readUtf8String(addrPtr, addrLen)\n        debug(`[${pluginId}] TCP connecting to ${address}:${port}`)\n        return tcpSocketManager.connect(socketId, address, port)\n      } catch (error) {\n        debug(`[${pluginId}] TCP connect error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Check if TCP socket is connected\n     * @param socketId - Socket ID\n     * @returns 1 if connected, 0 if not, -1 if socket not found\n     */\n    sk_tcp_connected: (socketId: number): number => {\n      if (!capabilities.rawSockets) return -1\n      return tcpSocketManager.isConnected(socketId)\n    },\n\n    /**\n     * Set TCP socket buffering mode\n     * @param socketId - Socket ID\n     * @param lineBuffering - 1 for line-buffered (text), 0 for raw (binary)\n     * @returns 0 on success, -1 on error\n     */\n    sk_tcp_set_line_buffering: (\n      socketId: number,\n      lineBuffering: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      return tcpSocketManager.setLineBuffering(socketId, lineBuffering !== 0)\n    },\n\n    /**\n     * Send data via TCP\n     * @param socketId - Socket ID\n     * @param dataPtr - Data pointer\n     * @param dataLen - Data length\n     * @returns Bytes sent, or -1 on error\n     */\n    sk_tcp_send: (\n      socketId: number,\n      dataPtr: number,\n      dataLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        if (!memoryRef.current) return -1\n        const data = Buffer.from(\n          new Uint8Array(memoryRef.current.buffer, dataPtr, dataLen)\n        )\n\n        // Send is async, but we return immediately\n        tcpSocketManager.send(socketId, data).catch((err) => {\n          debug(`[${pluginId}] Async TCP send error: ${err}`)\n        })\n        return dataLen\n      } catch (error) {\n        debug(`[${pluginId}] TCP send error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Receive a complete line from TCP socket (non-blocking)\n     * Only works in line-buffered mode\n     * @param socketId - Socket ID\n     * @param bufPtr - Buffer to write line into (without line ending)\n     * @param bufMaxLen - Maximum buffer size\n     * @returns Bytes received, 0 if no complete line, -1 on error\n     */\n    sk_tcp_recv_line: (\n      socketId: number,\n      bufPtr: number,\n      bufMaxLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const line = tcpSocketManager.receiveLine(socketId)\n        if (!line) {\n          return 0 // No complete line available\n        }\n\n        if (!memoryRef.current) return -1\n        const memory = memoryRef.current\n        const memView = new Uint8Array(memory.buffer)\n\n        // Convert line to bytes and copy to buffer\n        const lineBytes = Buffer.from(line, 'utf8')\n        const bytesToCopy = Math.min(lineBytes.length, bufMaxLen)\n        memView.set(lineBytes.slice(0, bytesToCopy), bufPtr)\n\n        return bytesToCopy\n      } catch (error) {\n        debug(`[${pluginId}] TCP recv line error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Receive raw data from TCP socket (non-blocking)\n     * Only works in raw mode\n     * @param socketId - Socket ID\n     * @param bufPtr - Buffer to write data into\n     * @param bufMaxLen - Maximum buffer size\n     * @returns Bytes received, 0 if no data, -1 on error\n     */\n    sk_tcp_recv_raw: (\n      socketId: number,\n      bufPtr: number,\n      bufMaxLen: number\n    ): number => {\n      if (!capabilities.rawSockets) return -1\n      try {\n        const data = tcpSocketManager.receiveRaw(socketId)\n        if (!data) {\n          return 0 // No data available\n        }\n\n        if (!memoryRef.current) return -1\n        const memory = memoryRef.current\n        const memView = new Uint8Array(memory.buffer)\n\n        const bytesToCopy = Math.min(data.length, bufMaxLen)\n        memView.set(data.slice(0, bytesToCopy), bufPtr)\n\n        return bytesToCopy\n      } catch (error) {\n        debug(`[${pluginId}] TCP recv raw error: ${error}`)\n        return -1\n      }\n    },\n\n    /**\n     * Get number of buffered items waiting to be received\n     */\n    sk_tcp_pending: (socketId: number): number => {\n      if (!capabilities.rawSockets) return -1\n      return tcpSocketManager.getBufferedCount(socketId)\n    },\n\n    /**\n     * Close a TCP socket\n     */\n    sk_tcp_close: (socketId: number): void => {\n      if (!capabilities.rawSockets) return\n      tcpSocketManager.close(socketId)\n    }\n  }\n\n  return envImports\n}\n"
  },
  {
    "path": "src/wasm/bindings/index.ts",
    "content": "/**\n * WASM Bindings - Host functions provided to WASM plugins\n */\n\nexport * from './env-imports'\nexport * from './resource-provider'\nexport * from './weather-provider'\nexport * from './socket-manager'\n"
  },
  {
    "path": "src/wasm/bindings/radar-provider.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Radar Provider Support\n *\n * Handles radar provider registration and handler invocation for WASM plugins.\n * Integrates with Signal K's Radar API at /signalk/v2/api/vessels/self/radars\n */\n\nimport Debug from 'debug'\nimport { WasmRadarProvider, WasmPluginInstance } from '../types'\n\nconst debug = Debug('signalk:wasm:radar-provider')\n\n/**\n * Registered radar providers from WASM plugins\n * Key: pluginId\n */\nexport const wasmRadarProviders: Map<string, WasmRadarProvider> = new Map()\n\n/**\n * Call a WASM radar handler function\n * Handles both AssemblyScript and Rust plugins with Asyncify support for async operations\n */\nexport async function callWasmRadarHandler(\n  pluginInstance: WasmPluginInstance,\n  handlerName: string,\n  requestJson: string\n): Promise<string | null> {\n  try {\n    const asLoader = pluginInstance.asLoader\n    // Use the wrapped exports which have proper WASI initialization\n    // Fall back to raw instance exports if wrapped exports don't have the handler\n    const _wrappedExports = pluginInstance.exports as any\n    const rawExports = pluginInstance.instance?.exports as any\n\n    // Debug: list available exports when handler is not found\n    if (rawExports) {\n      const exportNames = Object.keys(rawExports).filter((k) =>\n        k.startsWith('radar_')\n      )\n      debug(\n        `[${pluginInstance.pluginId}] Looking for ${handlerName}, available radar_ exports: ${exportNames.join(', ')}`\n      )\n    } else {\n      debug(`[${pluginInstance.pluginId}] No rawExports available`)\n    }\n\n    if (asLoader && typeof asLoader.exports[handlerName] === 'function') {\n      // AssemblyScript: allocate string in WASM memory, pass pointer, get string pointer back\n      // Need to handle Asyncify for handlers that call fetchSync\n      const requestPtr = asLoader.exports.__newString(requestJson)\n\n      // Set up Asyncify resume handling\n      let resumePromiseResolve: ((result: string | null) => void) | null = null\n      const resumePromise = new Promise<string | null>((resolve) => {\n        resumePromiseResolve = resolve\n      })\n\n      // Store the result pointer from the handler call\n      let handlerResultPtr: any = null\n\n      if (pluginInstance.setAsyncifyResume) {\n        pluginInstance.setAsyncifyResume(() => {\n          debug(`Re-calling ${handlerName} to resume from rewind state`)\n          const resumeResultPtr = asLoader.exports[handlerName](requestPtr)\n          const result = asLoader.exports.__getString(resumeResultPtr)\n          if (resumePromiseResolve) {\n            resumePromiseResolve(result)\n          }\n          return resumeResultPtr\n        })\n      }\n\n      // Call the handler\n      handlerResultPtr = asLoader.exports[handlerName](requestPtr)\n\n      // Check if we're in Asyncify unwind state\n      if (typeof asLoader.exports.asyncify_get_state === 'function') {\n        const state = asLoader.exports.asyncify_get_state()\n        debug(`Asyncify state after ${handlerName}: ${state}`)\n\n        if (state === 1) {\n          // State 1 = unwound, waiting for async operation\n          debug(\n            `${handlerName} is in unwound state - waiting for async operation to complete`\n          )\n          const result = await resumePromise\n          debug(`${handlerName} async operation completed`)\n          if (pluginInstance.setAsyncifyResume) {\n            pluginInstance.setAsyncifyResume(null)\n          }\n          return result\n        } else {\n          // Not in async state, clean up\n          if (pluginInstance.setAsyncifyResume) {\n            pluginInstance.setAsyncifyResume(null)\n          }\n        }\n      }\n\n      // Normal synchronous return\n      return asLoader.exports.__getString(handlerResultPtr)\n    } else if (rawExports && typeof rawExports[handlerName] === 'function') {\n      // Rust: buffer-based string passing\n      if (typeof rawExports.allocate !== 'function') {\n        debug(`Plugin ${pluginInstance.pluginId} missing allocate export`)\n        return null\n      }\n\n      const responseMaxLen = 65536 // 64KB response buffer\n      const responsePtr = rawExports.allocate(responseMaxLen)\n      const memory = rawExports.memory as WebAssembly.Memory\n\n      let writtenLen: number\n\n      // radar_get_radars takes only output buffer params: (output_ptr, output_len) -> written_len\n      if (handlerName === 'radar_get_radars') {\n        writtenLen = rawExports[handlerName](responsePtr, responseMaxLen)\n      } else {\n        // Other handlers take request + output: (request_ptr, request_len, response_ptr, response_max_len) -> written_len\n        const requestBytes = Buffer.from(requestJson, 'utf8')\n        const requestPtr = rawExports.allocate(requestBytes.length)\n\n        // Write request to WASM memory\n        const memView = new Uint8Array(memory.buffer)\n        memView.set(requestBytes, requestPtr)\n\n        writtenLen = rawExports[handlerName](\n          requestPtr,\n          requestBytes.length,\n          responsePtr,\n          responseMaxLen\n        )\n\n        // Deallocate request buffer\n        if (typeof rawExports.deallocate === 'function') {\n          rawExports.deallocate(requestPtr, requestBytes.length)\n        }\n      }\n\n      // Read response from WASM memory\n      const responseBytes = new Uint8Array(\n        memory.buffer,\n        responsePtr,\n        writtenLen\n      )\n      const responseJson = new TextDecoder('utf-8').decode(responseBytes)\n\n      // Deallocate response buffer\n      if (typeof rawExports.deallocate === 'function') {\n        rawExports.deallocate(responsePtr, responseMaxLen)\n      }\n\n      return responseJson\n    }\n\n    debug(\n      `Handler ${handlerName} not found in plugin ${pluginInstance.pluginId}`\n    )\n    return null\n  } catch (error) {\n    debug(`Error calling radar handler ${handlerName}: ${error}`)\n    return null\n  }\n}\n\n/**\n * Update radar provider references with a newly loaded plugin instance\n */\nexport function updateRadarProviderInstance(\n  pluginId: string,\n  pluginInstance: WasmPluginInstance\n): void {\n  const provider = wasmRadarProviders.get(pluginId)\n  if (provider) {\n    provider.pluginInstance = pluginInstance\n    debug(`Updated radar provider ${pluginId} with plugin instance`)\n  }\n}\n\n/**\n * Clean up radar provider registrations for a plugin\n * @param pluginId The plugin ID\n * @param app The Signal K app (optional, if provided will also unregister from RadarApi)\n */\nexport function cleanupRadarProviders(pluginId: string, app?: any): void {\n  if (wasmRadarProviders.has(pluginId)) {\n    debug(`Removing radar provider registration: ${pluginId}`)\n    wasmRadarProviders.delete(pluginId)\n  }\n\n  // Also unregister from Signal K RadarApi\n  if (app && app.radarApi && typeof app.radarApi.unRegister === 'function') {\n    try {\n      app.radarApi.unRegister(pluginId)\n      debug(`Unregistered ${pluginId} from RadarApi`)\n    } catch (error) {\n      debug(`Error unregistering from RadarApi: ${error}`)\n    }\n  }\n}\n\n/**\n * Create the sk_register_radar_provider host binding\n *\n * WASM plugins call this to register as a radar provider.\n * The plugin must export handler functions:\n * - radar_get_radars() -> JSON array of radar IDs\n * - radar_get_radar_info(requestJson) -> RadarInfo JSON\n * - radar_set_power(requestJson) -> boolean success\n * - radar_set_range(requestJson) -> boolean success\n * - radar_set_gain(requestJson) -> boolean success\n * - radar_set_controls(requestJson) -> boolean success\n */\nexport function createRadarProviderBinding(\n  pluginId: string,\n  capabilities: { radarProvider?: boolean },\n  app: any,\n  readUtf8String: (ptr: number, len: number) => string\n): (namePtr: number, nameLen: number) => number {\n  return (namePtr: number, nameLen: number): number => {\n    try {\n      const providerName = readUtf8String(namePtr, nameLen)\n      debug(`[${pluginId}] Registering as radar provider: ${providerName}`)\n\n      // Check if plugin has radarProvider capability\n      if (!capabilities.radarProvider) {\n        debug(`[${pluginId}] radarProvider capability not granted`)\n        return 0 // Failure\n      }\n\n      // Check if app and radarApi are available\n      if (!app || !app.radarApi) {\n        debug(`[${pluginId}] app.radarApi not available`)\n        return 0\n      }\n\n      // Store the registration (we'll update the pluginInstance reference after instance creation)\n      wasmRadarProviders.set(pluginId, {\n        pluginId,\n        providerName,\n        pluginInstance: null // Will be set after full instance creation\n      })\n\n      // Create RadarProvider object that calls into WASM handlers\n      const radarProvider = {\n        name: providerName,\n        methods: {\n          pluginId: pluginId,\n\n          /**\n           * Get list of radar IDs this provider manages\n           */\n          getRadars: async (): Promise<string[]> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return []\n            }\n\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_radars',\n              '{}'\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_radars response: ${e}`\n                )\n                return []\n              }\n            }\n            return []\n          },\n\n          /**\n           * Get radar info for a specific radar\n           * @param radarId The radar ID\n           */\n          getRadarInfo: async (radarId: string): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_radar_info',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_radar_info response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Set radar power state\n           * @param radarId The radar ID\n           * @param state Power state\n           */\n          setPower: async (\n            radarId: string,\n            state: string\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, state })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_power',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_power response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Set radar range\n           * @param radarId The radar ID\n           * @param range Range in meters\n           */\n          setRange: async (\n            radarId: string,\n            range: number\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, range })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_range',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_range response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Set radar gain\n           * @param radarId The radar ID\n           * @param gain Gain settings\n           */\n          setGain: async (\n            radarId: string,\n            gain: { auto: boolean; value?: number }\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, gain })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_gain',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_gain response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Set radar sea clutter\n           * @param radarId The radar ID\n           * @param sea Sea clutter settings\n           */\n          setSea: async (\n            radarId: string,\n            sea: { auto: boolean; value?: number }\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, sea })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_sea',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_sea response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Set radar rain clutter\n           * @param radarId The radar ID\n           * @param rain Rain clutter settings\n           */\n          setRain: async (\n            radarId: string,\n            rain: { auto: boolean; value?: number }\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, rain })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_rain',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_rain response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Set multiple radar controls at once\n           * @param radarId The radar ID\n           * @param controls Controls to update\n           */\n          setControls: async (\n            radarId: string,\n            controls: any\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, controls })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_controls',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_controls response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Get capability manifest for a radar\n           * @param radarId The radar ID\n           */\n          getCapabilities: async (radarId: string): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_capabilities',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                const parsed = JSON.parse(result)\n                if (parsed.error) {\n                  debug(\n                    `[${pluginId}] radar_get_capabilities error: ${parsed.error}`\n                  )\n                  return null\n                }\n                return parsed\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_capabilities response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Get current state\n           * @param radarId The radar ID\n           */\n          getState: async (radarId: string): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_state',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                const parsed = JSON.parse(result)\n                if (parsed.error) {\n                  debug(`[${pluginId}] radar_get_state error: ${parsed.error}`)\n                  return null\n                }\n                return parsed\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_state response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Get a single control value\n           * @param radarId The radar ID\n           * @param controlId The control ID\n           */\n          getControl: async (\n            radarId: string,\n            controlId: string\n          ): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId, controlId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_control',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                const parsed = JSON.parse(result)\n                if (parsed.error) {\n                  debug(\n                    `[${pluginId}] radar_get_control error: ${parsed.error}`\n                  )\n                  return null\n                }\n                return parsed\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_control response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Set a single control value\n           * @param radarId The radar ID\n           * @param controlId The control ID\n           * @param value The value to set\n           */\n          setControl: async (\n            radarId: string,\n            controlId: string,\n            value: any\n          ): Promise<{ success: boolean; error?: string }> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return { success: false, error: 'Provider not ready' }\n            }\n\n            const requestJson = JSON.stringify({ radarId, controlId, value })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_control',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_control response: ${e}`\n                )\n                return { success: false, error: 'Invalid response' }\n              }\n            }\n            return { success: false, error: 'No response' }\n          },\n\n          // ============================================\n          // ARPA Target Methods\n          // ============================================\n\n          /**\n           * Get all tracked ARPA targets\n           * @param radarId The radar ID\n           */\n          getTargets: async (radarId: string): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_targets',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                const parsed = JSON.parse(result)\n                if (parsed.error) {\n                  debug(\n                    `[${pluginId}] radar_get_targets error: ${parsed.error}`\n                  )\n                  return null\n                }\n                return parsed\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_targets response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Manually acquire a target at the specified position\n           * @param radarId The radar ID\n           * @param bearing Bearing in degrees\n           * @param distance Distance in meters\n           */\n          acquireTarget: async (\n            radarId: string,\n            bearing: number,\n            distance: number\n          ): Promise<{\n            success: boolean\n            targetId?: number\n            error?: string\n          }> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return { success: false, error: 'Provider not ready' }\n            }\n\n            const requestJson = JSON.stringify({ radarId, bearing, distance })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_acquire_target',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_acquire_target response: ${e}`\n                )\n                return { success: false, error: 'Invalid response' }\n              }\n            }\n            return { success: false, error: 'No response' }\n          },\n\n          /**\n           * Cancel tracking of a target\n           * @param radarId The radar ID\n           * @param targetId The target ID to cancel\n           */\n          cancelTarget: async (\n            radarId: string,\n            targetId: number\n          ): Promise<boolean> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return false\n            }\n\n            const requestJson = JSON.stringify({ radarId, targetId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_cancel_target',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result) === true\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_cancel_target response: ${e}`\n                )\n                return false\n              }\n            }\n            return false\n          },\n\n          /**\n           * Get ARPA settings\n           * @param radarId The radar ID\n           */\n          getArpaSettings: async (radarId: string): Promise<any | null> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return null\n            }\n\n            const requestJson = JSON.stringify({ radarId })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_get_arpa_settings',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                const parsed = JSON.parse(result)\n                if (parsed.error) {\n                  debug(\n                    `[${pluginId}] radar_get_arpa_settings error: ${parsed.error}`\n                  )\n                  return null\n                }\n                return parsed\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_get_arpa_settings response: ${e}`\n                )\n                return null\n              }\n            }\n            return null\n          },\n\n          /**\n           * Update ARPA settings\n           * @param radarId The radar ID\n           * @param settings Partial settings to update\n           */\n          setArpaSettings: async (\n            radarId: string,\n            settings: any\n          ): Promise<{ success: boolean; error?: string }> => {\n            const provider = wasmRadarProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Radar provider instance not ready`)\n              return { success: false, error: 'Provider not ready' }\n            }\n\n            const requestJson = JSON.stringify({ radarId, settings })\n            const result = await callWasmRadarHandler(\n              provider.pluginInstance,\n              'radar_set_arpa_settings',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse radar_set_arpa_settings response: ${e}`\n                )\n                return { success: false, error: 'Invalid response' }\n              }\n            }\n            return { success: false, error: 'No response' }\n          }\n        }\n      }\n\n      // Register with Signal K RadarApi\n      app.radarApi.register(pluginId, radarProvider)\n\n      debug(\n        `[${pluginId}] Successfully registered as radar provider: ${providerName}`\n      )\n      return 1 // Success\n    } catch (error) {\n      debug(`Plugin register radar provider error: ${error}`)\n      return 0\n    }\n  }\n}\n\n/**\n * Create the sk_radar_emit_spokes host binding\n *\n * Convenience wrapper for radar plugins to emit binary spoke data.\n * Maps to sk_emit_binary_stream with \"radars/{radarId}\" stream ID format.\n *\n * @param pluginId - Plugin identifier\n * @param capabilities - Plugin capabilities\n * @param app - SignalK application instance\n * @param readUtf8String - Function to read UTF-8 strings from WASM memory\n * @param readBinaryData - Function to read binary data from WASM memory\n * @returns FFI binding function\n */\nexport function createRadarEmitSpokesBinding(\n  pluginId: string,\n  capabilities: { radarProvider?: boolean },\n  app: any,\n  readUtf8String: (ptr: number, len: number) => string,\n  readBinaryData: (ptr: number, len: number) => Buffer\n): (\n  radarIdPtr: number,\n  radarIdLen: number,\n  spokeDataPtr: number,\n  spokeDataLen: number\n) => number {\n  return (\n    radarIdPtr: number,\n    radarIdLen: number,\n    spokeDataPtr: number,\n    spokeDataLen: number\n  ): number => {\n    try {\n      // Check radar provider capability\n      if (!capabilities.radarProvider) {\n        debug(`[${pluginId}] radarProvider capability not granted`)\n        return 0\n      }\n\n      // Extract radar ID and spoke data from WASM memory\n      const radarId = readUtf8String(radarIdPtr, radarIdLen)\n      const spokeData = readBinaryData(spokeDataPtr, spokeDataLen)\n\n      // Only log periodically to avoid flooding logs (every ~1000 calls)\n      if (Math.random() < 0.001) {\n        debug(\n          `[${pluginId}] sk_radar_emit_spokes: radarId=\"${radarId}\", ` +\n            `dataLen=${spokeDataLen} bytes`\n        )\n      }\n\n      // Validate radar belongs to this plugin\n      const provider = wasmRadarProviders.get(pluginId)\n      if (!provider || !provider.pluginInstance) {\n        debug(`[${pluginId}] Radar provider instance not ready`)\n        return 0\n      }\n\n      // Use general binary stream with radar stream ID format\n      const streamId = `radars/${radarId}`\n      if (app && app.binaryStreamManager) {\n        app.binaryStreamManager.emitData(streamId, spokeData)\n        return 1 // Success\n      } else {\n        debug(`[${pluginId}] Binary stream manager not available`)\n        return 0 // Failure\n      }\n    } catch (error) {\n      debug(`[${pluginId}] sk_radar_emit_spokes error: ${error}`)\n      return 0 // Failure\n    }\n  }\n}\n"
  },
  {
    "path": "src/wasm/bindings/resource-provider.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Resource Provider Support\n *\n * Handles resource provider registration and handler invocation for WASM plugins\n */\n\nimport Debug from 'debug'\nimport { WasmResourceProvider, WasmPluginInstance } from '../types'\n\nconst debug = Debug('signalk:wasm:resource-provider')\n\n/**\n * Registered resource providers from WASM plugins\n * Key: pluginId:resourceType\n */\nexport const wasmResourceProviders: Map<string, WasmResourceProvider> =\n  new Map()\n\n/**\n * Call a WASM resource handler function\n * Handles both AssemblyScript and Rust plugins\n */\nexport function callWasmResourceHandler(\n  pluginInstance: WasmPluginInstance,\n  handlerName: string,\n  requestJson: string\n): string | null {\n  try {\n    const asLoader = pluginInstance.asLoader\n    const rawExports = pluginInstance.instance?.exports as any\n\n    if (asLoader && typeof asLoader.exports[handlerName] === 'function') {\n      // AssemblyScript: allocate string in WASM memory, pass pointer, get string pointer back\n      const requestPtr = asLoader.exports.__newString(requestJson)\n      const resultPtr = asLoader.exports[handlerName](requestPtr)\n      return asLoader.exports.__getString(resultPtr)\n    } else if (rawExports && typeof rawExports[handlerName] === 'function') {\n      // Rust: buffer-based string passing\n      if (typeof rawExports.allocate !== 'function') {\n        debug(`Plugin ${pluginInstance.pluginId} missing allocate export`)\n        return null\n      }\n\n      const requestBytes = Buffer.from(requestJson, 'utf8')\n      const requestPtr = rawExports.allocate(requestBytes.length)\n      const responseMaxLen = 65536 // 64KB response buffer\n      const responsePtr = rawExports.allocate(responseMaxLen)\n\n      // Write request to WASM memory\n      const memory = rawExports.memory as WebAssembly.Memory\n      const memView = new Uint8Array(memory.buffer)\n      memView.set(requestBytes, requestPtr)\n\n      // Call handler: (request_ptr, request_len, response_ptr, response_max_len) -> written_len\n      const writtenLen = rawExports[handlerName](\n        requestPtr,\n        requestBytes.length,\n        responsePtr,\n        responseMaxLen\n      )\n\n      // Read response from WASM memory\n      const responseBytes = new Uint8Array(\n        memory.buffer,\n        responsePtr,\n        writtenLen\n      )\n      const responseJson = new TextDecoder('utf-8').decode(responseBytes)\n\n      // Deallocate buffers\n      if (typeof rawExports.deallocate === 'function') {\n        rawExports.deallocate(requestPtr, requestBytes.length)\n        rawExports.deallocate(responsePtr, responseMaxLen)\n      }\n\n      return responseJson\n    }\n\n    debug(\n      `Handler ${handlerName} not found in plugin ${pluginInstance.pluginId}`\n    )\n    return null\n  } catch (error) {\n    debug(`Error calling resource handler ${handlerName}: ${error}`)\n    return null\n  }\n}\n\n/**\n * Update resource provider references with a newly loaded plugin instance\n */\nexport function updateResourceProviderInstance(\n  pluginId: string,\n  pluginInstance: WasmPluginInstance\n): void {\n  if (wasmResourceProviders && wasmResourceProviders.size > 0) {\n    wasmResourceProviders.forEach((provider, key) => {\n      if (provider.pluginId === pluginId) {\n        provider.pluginInstance = pluginInstance\n        debug(`Updated resource provider ${key} with plugin instance`)\n      }\n    })\n  }\n}\n\n/**\n * Clean up resource provider registrations for a plugin\n * @param pluginId The plugin ID\n * @param app The Signal K app (optional, if provided will also unregister from ResourcesApi)\n */\nexport function cleanupResourceProviders(pluginId: string, app?: any): void {\n  const keysToDelete: string[] = []\n  wasmResourceProviders.forEach((provider, key) => {\n    if (provider.pluginId === pluginId) {\n      keysToDelete.push(key)\n    }\n  })\n  keysToDelete.forEach((key) => {\n    debug(`Removing resource provider registration: ${key}`)\n    wasmResourceProviders.delete(key)\n  })\n\n  // Also unregister from Signal K ResourcesApi\n  if (\n    app &&\n    app.resourcesApi &&\n    typeof app.resourcesApi.unRegister === 'function'\n  ) {\n    try {\n      app.resourcesApi.unRegister(pluginId)\n      debug(`Unregistered ${pluginId} from ResourcesApi`)\n    } catch (error) {\n      debug(`Error unregistering from ResourcesApi: ${error}`)\n    }\n  }\n}\n\n/**\n * Create the sk_register_resource_provider host binding\n */\nexport function createResourceProviderBinding(\n  pluginId: string,\n  capabilities: { resourceProvider?: boolean },\n  app: any,\n  readUtf8String: (ptr: number, len: number) => string\n): (typePtr: number, typeLen: number) => number {\n  return (typePtr: number, typeLen: number): number => {\n    try {\n      const resourceType = readUtf8String(typePtr, typeLen)\n      debug(\n        `[${pluginId}] Registering as resource provider for: ${resourceType}`\n      )\n\n      // Check if plugin has resourceProvider capability\n      if (!capabilities.resourceProvider) {\n        debug(`[${pluginId}] resourceProvider capability not granted`)\n        return 0 // Failure\n      }\n\n      // Check if app and resourcesApi are available\n      if (!app || !app.resourcesApi) {\n        debug(`[${pluginId}] app.resourcesApi not available`)\n        return 0\n      }\n\n      // Store the registration (we'll update the pluginInstance reference after instance creation)\n      const key = `${pluginId}:${resourceType}`\n      wasmResourceProviders.set(key, {\n        pluginId,\n        resourceType,\n        pluginInstance: null // Will be set after full instance creation\n      })\n\n      // Create wrapper methods that call into WASM\n      // Note: resourceType is captured from closure scope\n      const providerMethods = {\n        listResources: async (query: {\n          [key: string]: any\n        }): Promise<{ [id: string]: any }> => {\n          const provider = wasmResourceProviders.get(key)\n          if (!provider || !provider.pluginInstance) {\n            debug(`[${pluginId}] Resource provider instance not ready`)\n            return {}\n          }\n\n          // Include resourceType so WASM knows which type to list\n          const queryJson = JSON.stringify({ ...query, resourceType })\n          const result = callWasmResourceHandler(\n            provider.pluginInstance,\n            'resources_list_resources',\n            queryJson\n          )\n          return result ? JSON.parse(result) : {}\n        },\n        getResource: async (id: string, property?: string): Promise<object> => {\n          const provider = wasmResourceProviders.get(key)\n          if (!provider || !provider.pluginInstance) {\n            debug(`[${pluginId}] Resource provider instance not ready`)\n            return {}\n          }\n\n          // Include resourceType so WASM knows which storage to search\n          const requestJson = JSON.stringify({ id, property, resourceType })\n          const result = callWasmResourceHandler(\n            provider.pluginInstance,\n            'resources_get_resource',\n            requestJson\n          )\n          return result ? JSON.parse(result) : {}\n        },\n        setResource: async (\n          id: string,\n          value: { [key: string]: any }\n        ): Promise<void> => {\n          const provider = wasmResourceProviders.get(key)\n          if (!provider || !provider.pluginInstance) {\n            debug(`[${pluginId}] Resource provider instance not ready`)\n            return\n          }\n\n          // Include resourceType so WASM knows which storage to update\n          const requestJson = JSON.stringify({ id, value, resourceType })\n          callWasmResourceHandler(\n            provider.pluginInstance,\n            'resources_set_resource',\n            requestJson\n          )\n        },\n        deleteResource: async (id: string): Promise<void> => {\n          const provider = wasmResourceProviders.get(key)\n          if (!provider || !provider.pluginInstance) {\n            debug(`[${pluginId}] Resource provider instance not ready`)\n            return\n          }\n\n          // Include resourceType so WASM knows which storage to delete from\n          const requestJson = JSON.stringify({ id, resourceType })\n          callWasmResourceHandler(\n            provider.pluginInstance,\n            'resources_delete_resource',\n            requestJson\n          )\n        }\n      }\n\n      // Register with Signal K ResourcesApi\n      app.resourcesApi.register(pluginId, {\n        type: resourceType,\n        methods: providerMethods\n      })\n\n      debug(\n        `[${pluginId}] Successfully registered as ${resourceType} resource provider`\n      )\n      return 1 // Success\n    } catch (error) {\n      debug(`Plugin register resource provider error: ${error}`)\n      return 0\n    }\n  }\n}\n"
  },
  {
    "path": "src/wasm/bindings/socket-manager.ts",
    "content": "/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * WASM Socket Manager\n *\n * Manages UDP and TCP sockets for WASM plugins that need raw network access\n * (e.g., radar plugins, NMEA receivers, etc.)\n *\n * Uses Node.js dgram and net modules, bridged to WASM via FFI\n */\n\nimport * as dgram from 'dgram'\nimport * as net from 'net'\nimport Debug from 'debug'\n\nconst debug = Debug('signalk:wasm:sockets')\n\n/**\n * Buffered datagram for non-blocking receive\n */\ninterface BufferedDatagram {\n  data: Buffer\n  address: string\n  port: number\n  timestamp: number\n}\n\n/**\n * Pending socket option to apply after bind\n */\ninterface PendingOption {\n  type:\n    | 'broadcast'\n    | 'multicastTTL'\n    | 'multicastLoopback'\n    | 'joinMulticast'\n    | 'leaveMulticast'\n  value:\n    | boolean\n    | number\n    | { multicastAddress: string; interfaceAddress?: string }\n}\n\n/**\n * Managed UDP socket with receive buffer\n */\ninterface ManagedSocket {\n  socket: dgram.Socket\n  pluginId: string\n  bound: boolean\n  bindPromise: Promise<number> | null\n  receiveBuffer: BufferedDatagram[]\n  maxBufferSize: number\n  multicastGroups: Set<string>\n  pendingOptions: PendingOption[]\n}\n\n/**\n * Socket Manager - singleton for managing plugin sockets\n */\nclass SocketManager {\n  private sockets: Map<number, ManagedSocket> = new Map()\n  private nextSocketId: number = 1\n\n  /**\n   * Create a new UDP socket\n   * @param pluginId - Plugin that owns the socket\n   * @param type - Socket type: 'udp4' or 'udp6'\n   * @returns Socket ID, or -1 on error\n   */\n  createSocket(pluginId: string, type: 'udp4' | 'udp6' = 'udp4'): number {\n    try {\n      const socketId = this.nextSocketId++\n      const socket = dgram.createSocket({\n        type,\n        reuseAddr: true // Allow multiple plugins to bind to same port\n      })\n\n      const managed: ManagedSocket = {\n        socket,\n        pluginId,\n        bound: false,\n        bindPromise: null,\n        receiveBuffer: [],\n        maxBufferSize: 1000, // Max buffered datagrams\n        multicastGroups: new Set(),\n        pendingOptions: []\n      }\n\n      // Set up message handler to buffer incoming data\n      socket.on('message', (msg, rinfo) => {\n        if (managed.receiveBuffer.length >= managed.maxBufferSize) {\n          // Drop oldest message if buffer full\n          managed.receiveBuffer.shift()\n        }\n        managed.receiveBuffer.push({\n          data: Buffer.from(msg), // Copy the buffer\n          address: rinfo.address,\n          port: rinfo.port,\n          timestamp: Date.now()\n        })\n      })\n\n      socket.on('error', (err) => {\n        debug(`[${pluginId}] Socket ${socketId} error: ${err.message}`)\n      })\n\n      socket.on('close', () => {\n        debug(`[${pluginId}] Socket ${socketId} closed`)\n        this.sockets.delete(socketId)\n      })\n\n      this.sockets.set(socketId, managed)\n      debug(`[${pluginId}] Created socket ${socketId} (${type})`)\n      return socketId\n    } catch (error) {\n      debug(`Failed to create socket: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Bind socket to a port\n   * @param socketId - Socket to bind\n   * @param port - Port number (0 for any available port)\n   * @param address - Address to bind to (optional, defaults to all interfaces)\n   * @returns 0 on success, -1 on error\n   */\n  bind(socketId: number, port: number, address?: string): Promise<number> {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`Socket ${socketId} not found`)\n      return Promise.resolve(-1)\n    }\n\n    // Store the promise so setBroadcast etc. can wait for it\n    managed.bindPromise = new Promise((resolve) => {\n      try {\n        managed.socket.bind(port, address, () => {\n          managed.bound = true\n          const addr = managed.socket.address()\n          debug(\n            `[${managed.pluginId}] Socket ${socketId} bound to ${addr.address}:${addr.port}`\n          )\n\n          // Apply any pending socket options now that we're bound\n          for (const option of managed.pendingOptions) {\n            try {\n              if (option.type === 'broadcast') {\n                managed.socket.setBroadcast(option.value as boolean)\n                debug(\n                  `[${managed.pluginId}] Applied deferred setBroadcast(${option.value})`\n                )\n              } else if (option.type === 'multicastTTL') {\n                managed.socket.setMulticastTTL(option.value as number)\n                debug(\n                  `[${managed.pluginId}] Applied deferred setMulticastTTL(${option.value})`\n                )\n              } else if (option.type === 'multicastLoopback') {\n                managed.socket.setMulticastLoopback(option.value as boolean)\n                debug(\n                  `[${managed.pluginId}] Applied deferred setMulticastLoopback(${option.value})`\n                )\n              } else if (option.type === 'joinMulticast') {\n                const { multicastAddress, interfaceAddress } = option.value as {\n                  multicastAddress: string\n                  interfaceAddress?: string\n                }\n                if (interfaceAddress) {\n                  managed.socket.addMembership(\n                    multicastAddress,\n                    interfaceAddress\n                  )\n                } else {\n                  managed.socket.addMembership(multicastAddress)\n                }\n                managed.multicastGroups.add(multicastAddress)\n                debug(\n                  `[${managed.pluginId}] Applied deferred joinMulticast(${multicastAddress})`\n                )\n              } else if (option.type === 'leaveMulticast') {\n                const { multicastAddress, interfaceAddress } = option.value as {\n                  multicastAddress: string\n                  interfaceAddress?: string\n                }\n                if (interfaceAddress) {\n                  managed.socket.dropMembership(\n                    multicastAddress,\n                    interfaceAddress\n                  )\n                } else {\n                  managed.socket.dropMembership(multicastAddress)\n                }\n                managed.multicastGroups.delete(multicastAddress)\n                debug(\n                  `[${managed.pluginId}] Applied deferred leaveMulticast(${multicastAddress})`\n                )\n              }\n            } catch (optionError) {\n              debug(\n                `[${managed.pluginId}] Error applying deferred option ${option.type}: ${optionError}`\n              )\n            }\n          }\n          managed.pendingOptions = []\n\n          resolve(0)\n        })\n      } catch (error) {\n        debug(`[${managed.pluginId}] Bind error: ${error}`)\n        resolve(-1)\n      }\n    })\n\n    return managed.bindPromise\n  }\n\n  /**\n   * Join a multicast group\n   * @param socketId - Socket to use\n   * @param multicastAddress - Multicast group address (e.g., \"239.254.2.0\")\n   * @param interfaceAddress - Interface address to use (optional)\n   * @returns 0 on success, -1 on error\n   */\n  joinMulticast(\n    socketId: number,\n    multicastAddress: string,\n    interfaceAddress?: string\n  ): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`Socket ${socketId} not found`)\n      return -1\n    }\n\n    // If socket is not yet bound, defer the multicast join until bind completes\n    if (!managed.bound) {\n      debug(\n        `[${managed.pluginId}] Deferring joinMulticast(${multicastAddress}) until socket is bound`\n      )\n      managed.pendingOptions.push({\n        type: 'joinMulticast',\n        value: { multicastAddress, interfaceAddress }\n      })\n      return 0\n    }\n\n    try {\n      if (interfaceAddress) {\n        managed.socket.addMembership(multicastAddress, interfaceAddress)\n      } else {\n        managed.socket.addMembership(multicastAddress)\n      }\n      managed.multicastGroups.add(multicastAddress)\n      debug(\n        `[${managed.pluginId}] Socket ${socketId} joined multicast ${multicastAddress}`\n      )\n      return 0\n    } catch (error) {\n      debug(`[${managed.pluginId}] Join multicast error: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Leave a multicast group\n   * @param socketId - Socket to use\n   * @param multicastAddress - Multicast group address\n   * @param interfaceAddress - Interface address (optional)\n   * @returns 0 on success, -1 on error\n   */\n  leaveMulticast(\n    socketId: number,\n    multicastAddress: string,\n    interfaceAddress?: string\n  ): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`Socket ${socketId} not found`)\n      return -1\n    }\n\n    // If socket is not yet bound, defer the multicast leave until bind completes\n    if (!managed.bound) {\n      debug(\n        `[${managed.pluginId}] Deferring leaveMulticast(${multicastAddress}) until socket is bound`\n      )\n      managed.pendingOptions.push({\n        type: 'leaveMulticast',\n        value: { multicastAddress, interfaceAddress }\n      })\n      return 0\n    }\n\n    try {\n      if (interfaceAddress) {\n        managed.socket.dropMembership(multicastAddress, interfaceAddress)\n      } else {\n        managed.socket.dropMembership(multicastAddress)\n      }\n      managed.multicastGroups.delete(multicastAddress)\n      debug(\n        `[${managed.pluginId}] Socket ${socketId} left multicast ${multicastAddress}`\n      )\n      return 0\n    } catch (error) {\n      debug(`[${managed.pluginId}] Leave multicast error: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Set socket options\n   */\n  setMulticastTTL(socketId: number, ttl: number): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) return -1\n\n    // If socket is not yet bound, defer the option\n    if (!managed.bound) {\n      debug(\n        `[${managed.pluginId}] Deferring setMulticastTTL(${ttl}) until socket is bound`\n      )\n      managed.pendingOptions.push({ type: 'multicastTTL', value: ttl })\n      return 0\n    }\n\n    try {\n      managed.socket.setMulticastTTL(ttl)\n      return 0\n    } catch (error) {\n      debug(`[${managed.pluginId}] setMulticastTTL error: ${error}`)\n      return -1\n    }\n  }\n\n  setMulticastLoopback(socketId: number, enabled: boolean): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) return -1\n\n    // If socket is not yet bound, defer the option\n    if (!managed.bound) {\n      debug(\n        `[${managed.pluginId}] Deferring setMulticastLoopback(${enabled}) until socket is bound`\n      )\n      managed.pendingOptions.push({ type: 'multicastLoopback', value: enabled })\n      return 0\n    }\n\n    try {\n      managed.socket.setMulticastLoopback(enabled)\n      return 0\n    } catch (error) {\n      debug(`[${managed.pluginId}] setMulticastLoopback error: ${error}`)\n      return -1\n    }\n  }\n\n  setBroadcast(socketId: number, enabled: boolean): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) return -1\n\n    // If socket is not yet bound, defer the option\n    if (!managed.bound) {\n      debug(\n        `[${managed.pluginId}] Deferring setBroadcast(${enabled}) until socket is bound`\n      )\n      managed.pendingOptions.push({ type: 'broadcast', value: enabled })\n      return 0\n    }\n\n    try {\n      managed.socket.setBroadcast(enabled)\n      return 0\n    } catch (error) {\n      debug(`[${managed.pluginId}] setBroadcast error: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Send data via UDP\n   * @param socketId - Socket to use\n   * @param data - Data to send\n   * @param address - Destination address\n   * @param port - Destination port\n   * @returns Bytes sent, or -1 on error\n   */\n  send(\n    socketId: number,\n    data: Buffer,\n    address: string,\n    port: number\n  ): Promise<number> {\n    return new Promise((resolve) => {\n      const managed = this.sockets.get(socketId)\n      if (!managed) {\n        debug(`Socket ${socketId} not found`)\n        resolve(-1)\n        return\n      }\n\n      managed.socket.send(data, port, address, (err, bytes) => {\n        if (err) {\n          debug(`[${managed.pluginId}] Send error: ${err}`)\n          resolve(-1)\n        } else {\n          resolve(bytes)\n        }\n      })\n    })\n  }\n\n  /**\n   * Receive data from buffer (non-blocking)\n   * @param socketId - Socket to receive from\n   * @returns Buffered datagram, or null if buffer empty\n   */\n  receive(socketId: number): BufferedDatagram | null {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`Socket ${socketId} not found`)\n      return null\n    }\n\n    return managed.receiveBuffer.shift() || null\n  }\n\n  /**\n   * Get number of buffered datagrams\n   */\n  getBufferedCount(socketId: number): number {\n    const managed = this.sockets.get(socketId)\n    return managed ? managed.receiveBuffer.length : 0\n  }\n\n  /**\n   * Close a socket\n   * @param socketId - Socket to close\n   */\n  close(socketId: number): void {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`Socket ${socketId} not found`)\n      return\n    }\n\n    try {\n      // Leave all multicast groups first\n      for (const group of managed.multicastGroups) {\n        try {\n          managed.socket.dropMembership(group)\n        } catch (e) {\n          // Ignore errors when leaving groups during close\n        }\n      }\n\n      managed.socket.close()\n      this.sockets.delete(socketId)\n      debug(`[${managed.pluginId}] Socket ${socketId} closed`)\n    } catch (error) {\n      debug(`[${managed.pluginId}] Close error: ${error}`)\n    }\n  }\n\n  /**\n   * Close all sockets for a plugin (cleanup on plugin stop)\n   */\n  closeAllForPlugin(pluginId: string): void {\n    const toClose: number[] = []\n    for (const [id, managed] of this.sockets) {\n      if (managed.pluginId === pluginId) {\n        toClose.push(id)\n      }\n    }\n    for (const id of toClose) {\n      this.close(id)\n    }\n    debug(`[${pluginId}] Closed ${toClose.length} sockets`)\n  }\n\n  /**\n   * Get socket statistics\n   */\n  getStats(): {\n    totalSockets: number\n    socketsPerPlugin: Record<string, number>\n  } {\n    const socketsPerPlugin: Record<string, number> = {}\n    for (const managed of this.sockets.values()) {\n      socketsPerPlugin[managed.pluginId] =\n        (socketsPerPlugin[managed.pluginId] || 0) + 1\n    }\n    return {\n      totalSockets: this.sockets.size,\n      socketsPerPlugin\n    }\n  }\n}\n\n// Export singleton instance\nexport const socketManager = new SocketManager()\n\n// =============================================================================\n// TCP Socket Manager\n// =============================================================================\n\n/**\n * Managed TCP socket with line-buffered receive\n */\ninterface ManagedTcpSocket {\n  socket: net.Socket\n  pluginId: string\n  connected: boolean\n  connecting: boolean\n  receiveBuffer: string[] // Line-buffered for protocol parsing\n  rawBuffer: Buffer[] // Raw data buffer for binary protocols\n  partialLine: string // Incomplete line data\n  maxBufferSize: number\n  error: string | null\n  useLineBuffering: boolean // If false, use raw buffering\n}\n\n/**\n * TCP Socket Manager - manages TCP connections for WASM plugins\n *\n * Key differences from UDP:\n * - Connection-oriented (connect before send)\n * - Line-buffered receive (splits on \\r\\n or \\n)\n */\nclass TcpSocketManager {\n  private sockets: Map<number, ManagedTcpSocket> = new Map()\n  private nextSocketId: number = 1\n\n  /**\n   * Create a new TCP socket\n   * @param pluginId - Plugin that owns the socket\n   * @returns Socket ID, or -1 on error\n   */\n  createSocket(pluginId: string): number {\n    try {\n      const socketId = this.nextSocketId++\n      const socket = new net.Socket()\n\n      const managed: ManagedTcpSocket = {\n        socket,\n        pluginId,\n        connected: false,\n        connecting: false,\n        receiveBuffer: [],\n        rawBuffer: [],\n        partialLine: '',\n        maxBufferSize: 1000,\n        error: null,\n        useLineBuffering: true // Default to line buffering\n      }\n\n      // Set up data handler\n      socket.on('data', (data: Buffer) => {\n        if (managed.useLineBuffering) {\n          // Line-buffered mode for text protocols\n          managed.partialLine += data.toString()\n\n          // Split on line endings (\\r\\n or \\n)\n          const lines = managed.partialLine.split(/\\r?\\n/)\n\n          // Last element is either empty (if data ended with newline) or partial\n          managed.partialLine = lines.pop() || ''\n\n          // Add complete lines to buffer\n          for (const line of lines) {\n            if (line.length > 0) {\n              if (managed.receiveBuffer.length >= managed.maxBufferSize) {\n                managed.receiveBuffer.shift() // Drop oldest\n              }\n              managed.receiveBuffer.push(line)\n            }\n          }\n        } else {\n          // Raw mode for binary protocols\n          if (managed.rawBuffer.length >= managed.maxBufferSize) {\n            managed.rawBuffer.shift() // Drop oldest\n          }\n          managed.rawBuffer.push(Buffer.from(data))\n        }\n      })\n\n      socket.on('connect', () => {\n        managed.connected = true\n        managed.connecting = false\n        managed.error = null\n        debug(`[${pluginId}] TCP socket ${socketId} connected`)\n      })\n\n      socket.on('error', (err) => {\n        managed.error = err.message\n        managed.connected = false\n        managed.connecting = false\n        debug(`[${pluginId}] TCP socket ${socketId} error: ${err.message}`)\n      })\n\n      socket.on('close', () => {\n        managed.connected = false\n        managed.connecting = false\n        this.sockets.delete(socketId)\n        debug(`[${pluginId}] TCP socket ${socketId} closed`)\n      })\n\n      socket.on('end', () => {\n        managed.connected = false\n        debug(`[${pluginId}] TCP socket ${socketId} ended by remote`)\n      })\n\n      this.sockets.set(socketId, managed)\n      debug(`[${pluginId}] Created TCP socket ${socketId}`)\n      return socketId\n    } catch (error) {\n      debug(`Failed to create TCP socket: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Connect to a remote host\n   * @param socketId - Socket to connect\n   * @param address - Remote host address\n   * @param port - Remote port\n   * @returns 0 if connection initiated, -1 on error\n   */\n  connect(socketId: number, address: string, port: number): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`TCP socket ${socketId} not found`)\n      return -1\n    }\n\n    if (managed.connected || managed.connecting) {\n      debug(\n        `[${managed.pluginId}] TCP socket ${socketId} already connected/connecting`\n      )\n      return -1\n    }\n\n    try {\n      managed.connecting = true\n      managed.error = null\n      managed.socket.connect(port, address)\n      debug(\n        `[${managed.pluginId}] TCP socket ${socketId} connecting to ${address}:${port}`\n      )\n      return 0\n    } catch (error) {\n      managed.connecting = false\n      managed.error = String(error)\n      debug(`[${managed.pluginId}] TCP connect error: ${error}`)\n      return -1\n    }\n  }\n\n  /**\n   * Check if socket is connected\n   * @param socketId - Socket to check\n   * @returns 1 if connected, 0 if not, -1 if socket not found\n   */\n  isConnected(socketId: number): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      return -1\n    }\n    return managed.connected ? 1 : 0\n  }\n\n  /**\n   * Send data over TCP\n   * @param socketId - Socket to use\n   * @param data - Data to send\n   * @returns Bytes sent, or -1 on error\n   */\n  send(socketId: number, data: Buffer): Promise<number> {\n    return new Promise((resolve) => {\n      const managed = this.sockets.get(socketId)\n      if (!managed) {\n        debug(`TCP socket ${socketId} not found`)\n        resolve(-1)\n        return\n      }\n\n      if (!managed.connected) {\n        debug(`[${managed.pluginId}] TCP socket ${socketId} not connected`)\n        resolve(-1)\n        return\n      }\n\n      managed.socket.write(data, (err) => {\n        if (err) {\n          debug(`[${managed.pluginId}] TCP send error: ${err}`)\n          resolve(-1)\n        } else {\n          resolve(data.length)\n        }\n      })\n    })\n  }\n\n  /**\n   * Receive a complete line (non-blocking)\n   * @param socketId - Socket to receive from\n   * @returns Complete line without line ending, or null if no complete line available\n   */\n  receiveLine(socketId: number): string | null {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`TCP socket ${socketId} not found`)\n      return null\n    }\n\n    return managed.receiveBuffer.shift() || null\n  }\n\n  /**\n   * Receive raw data (non-blocking)\n   * @param socketId - Socket to receive from\n   * @returns Raw data buffer, or null if no data available\n   */\n  receiveRaw(socketId: number): Buffer | null {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`TCP socket ${socketId} not found`)\n      return null\n    }\n\n    return managed.rawBuffer.shift() || null\n  }\n\n  /**\n   * Set buffering mode\n   * @param socketId - Socket to configure\n   * @param lineBuffering - true for line-buffered (text), false for raw (binary)\n   * @returns 0 on success, -1 on error\n   */\n  setLineBuffering(socketId: number, lineBuffering: boolean): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      return -1\n    }\n    managed.useLineBuffering = lineBuffering\n    debug(\n      `[${managed.pluginId}] TCP socket ${socketId} buffering mode: ${lineBuffering ? 'line' : 'raw'}`\n    )\n    return 0\n  }\n\n  /**\n   * Get number of buffered items (lines or raw chunks)\n   */\n  getBufferedCount(socketId: number): number {\n    const managed = this.sockets.get(socketId)\n    if (!managed) return 0\n    return managed.useLineBuffering\n      ? managed.receiveBuffer.length\n      : managed.rawBuffer.length\n  }\n\n  /**\n   * Get last error message\n   */\n  getError(socketId: number): string | null {\n    const managed = this.sockets.get(socketId)\n    return managed ? managed.error : null\n  }\n\n  /**\n   * Close a TCP socket\n   * @param socketId - Socket to close\n   */\n  close(socketId: number): void {\n    const managed = this.sockets.get(socketId)\n    if (!managed) {\n      debug(`TCP socket ${socketId} not found`)\n      return\n    }\n\n    try {\n      managed.socket.destroy()\n      this.sockets.delete(socketId)\n      debug(`[${managed.pluginId}] TCP socket ${socketId} closed`)\n    } catch (error) {\n      debug(`[${managed.pluginId}] TCP close error: ${error}`)\n    }\n  }\n\n  /**\n   * Close all TCP sockets for a plugin\n   */\n  closeAllForPlugin(pluginId: string): void {\n    const toClose: number[] = []\n    for (const [id, managed] of this.sockets) {\n      if (managed.pluginId === pluginId) {\n        toClose.push(id)\n      }\n    }\n    for (const id of toClose) {\n      this.close(id)\n    }\n    debug(`[${pluginId}] Closed ${toClose.length} TCP sockets`)\n  }\n\n  /**\n   * Get TCP socket statistics\n   */\n  getStats(): {\n    totalSockets: number\n    socketsPerPlugin: Record<string, number>\n  } {\n    const socketsPerPlugin: Record<string, number> = {}\n    for (const managed of this.sockets.values()) {\n      socketsPerPlugin[managed.pluginId] =\n        (socketsPerPlugin[managed.pluginId] || 0) + 1\n    }\n    return {\n      totalSockets: this.sockets.size,\n      socketsPerPlugin\n    }\n  }\n}\n\n// Export TCP socket manager singleton\nexport const tcpSocketManager = new TcpSocketManager()\n\n// Export types\nexport type { BufferedDatagram, ManagedSocket, ManagedTcpSocket }\n"
  },
  {
    "path": "src/wasm/bindings/weather-provider.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Weather Provider Support\n *\n * Handles weather provider registration and handler invocation for WASM plugins.\n * Integrates with Signal K's Weather API at /signalk/v2/api/weather\n */\n\nimport Debug from 'debug'\nimport { WasmWeatherProvider, WasmPluginInstance } from '../types'\n\nconst debug = Debug('signalk:wasm:weather-provider')\n\n/**\n * Registered weather providers from WASM plugins\n * Key: pluginId\n */\nexport const wasmWeatherProviders: Map<string, WasmWeatherProvider> = new Map()\n\n/**\n * Call a WASM weather handler function\n * Handles both AssemblyScript and Rust plugins with Asyncify support for async operations\n */\nexport async function callWasmWeatherHandler(\n  pluginInstance: WasmPluginInstance,\n  handlerName: string,\n  requestJson: string\n): Promise<string | null> {\n  try {\n    const asLoader = pluginInstance.asLoader\n    const rawExports = pluginInstance.instance?.exports as any\n\n    if (asLoader && typeof asLoader.exports[handlerName] === 'function') {\n      // AssemblyScript: allocate string in WASM memory, pass pointer, get string pointer back\n      // Need to handle Asyncify for handlers that call fetchSync\n      const requestPtr = asLoader.exports.__newString(requestJson)\n\n      // Set up Asyncify resume handling\n      let resumePromiseResolve: ((result: string | null) => void) | null = null\n      const resumePromise = new Promise<string | null>((resolve) => {\n        resumePromiseResolve = resolve\n      })\n\n      // Store the result pointer from the handler call\n      let handlerResultPtr: any = null\n\n      if (pluginInstance.setAsyncifyResume) {\n        pluginInstance.setAsyncifyResume(() => {\n          debug(`Re-calling ${handlerName} to resume from rewind state`)\n          const resumeResultPtr = asLoader.exports[handlerName](requestPtr)\n          const result = asLoader.exports.__getString(resumeResultPtr)\n          if (resumePromiseResolve) {\n            resumePromiseResolve(result)\n          }\n          return resumeResultPtr\n        })\n      }\n\n      // Call the handler\n      handlerResultPtr = asLoader.exports[handlerName](requestPtr)\n\n      // Check if we're in Asyncify unwind state\n      if (typeof asLoader.exports.asyncify_get_state === 'function') {\n        const state = asLoader.exports.asyncify_get_state()\n        debug(`Asyncify state after ${handlerName}: ${state}`)\n\n        if (state === 1) {\n          // State 1 = unwound, waiting for async operation\n          debug(\n            `${handlerName} is in unwound state - waiting for async operation to complete`\n          )\n          const result = await resumePromise\n          debug(`${handlerName} async operation completed`)\n          if (pluginInstance.setAsyncifyResume) {\n            pluginInstance.setAsyncifyResume(null)\n          }\n          return result\n        } else {\n          // Not in async state, clean up\n          if (pluginInstance.setAsyncifyResume) {\n            pluginInstance.setAsyncifyResume(null)\n          }\n        }\n      }\n\n      // Normal synchronous return\n      return asLoader.exports.__getString(handlerResultPtr)\n    } else if (rawExports && typeof rawExports[handlerName] === 'function') {\n      // Rust: buffer-based string passing\n      if (typeof rawExports.allocate !== 'function') {\n        debug(`Plugin ${pluginInstance.pluginId} missing allocate export`)\n        return null\n      }\n\n      const requestBytes = Buffer.from(requestJson, 'utf8')\n      const requestPtr = rawExports.allocate(requestBytes.length)\n      const responseMaxLen = 65536 // 64KB response buffer\n      const responsePtr = rawExports.allocate(responseMaxLen)\n\n      // Write request to WASM memory\n      const memory = rawExports.memory as WebAssembly.Memory\n      const memView = new Uint8Array(memory.buffer)\n      memView.set(requestBytes, requestPtr)\n\n      // Call handler: (request_ptr, request_len, response_ptr, response_max_len) -> written_len\n      const writtenLen = rawExports[handlerName](\n        requestPtr,\n        requestBytes.length,\n        responsePtr,\n        responseMaxLen\n      )\n\n      // Read response from WASM memory\n      const responseBytes = new Uint8Array(\n        memory.buffer,\n        responsePtr,\n        writtenLen\n      )\n      const responseJson = new TextDecoder('utf-8').decode(responseBytes)\n\n      // Deallocate buffers\n      if (typeof rawExports.deallocate === 'function') {\n        rawExports.deallocate(requestPtr, requestBytes.length)\n        rawExports.deallocate(responsePtr, responseMaxLen)\n      }\n\n      return responseJson\n    }\n\n    debug(\n      `Handler ${handlerName} not found in plugin ${pluginInstance.pluginId}`\n    )\n    return null\n  } catch (error) {\n    debug(`Error calling weather handler ${handlerName}: ${error}`)\n    return null\n  }\n}\n\n/**\n * Update weather provider references with a newly loaded plugin instance\n */\nexport function updateWeatherProviderInstance(\n  pluginId: string,\n  pluginInstance: WasmPluginInstance\n): void {\n  const provider = wasmWeatherProviders.get(pluginId)\n  if (provider) {\n    provider.pluginInstance = pluginInstance\n    debug(`Updated weather provider ${pluginId} with plugin instance`)\n  }\n}\n\n/**\n * Clean up weather provider registrations for a plugin\n * @param pluginId The plugin ID\n * @param app The Signal K app (optional, if provided will also unregister from WeatherApi)\n */\nexport function cleanupWeatherProviders(pluginId: string, app?: any): void {\n  if (wasmWeatherProviders.has(pluginId)) {\n    debug(`Removing weather provider registration: ${pluginId}`)\n    wasmWeatherProviders.delete(pluginId)\n  }\n\n  // Also unregister from Signal K WeatherApi\n  if (\n    app &&\n    app.weatherApi &&\n    typeof app.weatherApi.unRegister === 'function'\n  ) {\n    try {\n      app.weatherApi.unRegister(pluginId)\n      debug(`Unregistered ${pluginId} from WeatherApi`)\n    } catch (error) {\n      debug(`Error unregistering from WeatherApi: ${error}`)\n    }\n  }\n}\n\n/**\n * Create the sk_register_weather_provider host binding\n *\n * WASM plugins call this to register as a weather provider.\n * The plugin must export handler functions:\n * - weather_get_observations(requestJson) -> responseJson\n * - weather_get_forecasts(requestJson) -> responseJson\n * - weather_get_warnings(requestJson) -> responseJson\n */\nexport function createWeatherProviderBinding(\n  pluginId: string,\n  capabilities: { weatherProvider?: boolean },\n  app: any,\n  readUtf8String: (ptr: number, len: number) => string\n): (namePtr: number, nameLen: number) => number {\n  return (namePtr: number, nameLen: number): number => {\n    try {\n      const providerName = readUtf8String(namePtr, nameLen)\n      debug(`[${pluginId}] Registering as weather provider: ${providerName}`)\n\n      // Check if plugin has weatherProvider capability\n      if (!capabilities.weatherProvider) {\n        debug(`[${pluginId}] weatherProvider capability not granted`)\n        return 0 // Failure\n      }\n\n      // Check if app and weatherApi are available\n      if (!app || !app.weatherApi) {\n        debug(`[${pluginId}] app.weatherApi not available`)\n        return 0\n      }\n\n      // Store the registration (we'll update the pluginInstance reference after instance creation)\n      wasmWeatherProviders.set(pluginId, {\n        pluginId,\n        providerName,\n        pluginInstance: null // Will be set after full instance creation\n      })\n\n      // Create WeatherProvider object that calls into WASM handlers\n      const weatherProvider = {\n        name: providerName,\n        methods: {\n          pluginId: pluginId,\n\n          /**\n           * Get weather observations for a position\n           * @param position {latitude, longitude}\n           * @param options {maxCount?, startDate?, custom?}\n           */\n          getObservations: async (\n            position: { latitude: number; longitude: number },\n            options?: any\n          ): Promise<any[]> => {\n            const provider = wasmWeatherProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Weather provider instance not ready`)\n              return []\n            }\n\n            const requestJson = JSON.stringify({ position, options })\n            const result = await callWasmWeatherHandler(\n              provider.pluginInstance,\n              'weather_get_observations',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(\n                  `[${pluginId}] Failed to parse observations response: ${e}`\n                )\n                return []\n              }\n            }\n            return []\n          },\n\n          /**\n           * Get weather forecasts for a position\n           * @param position {latitude, longitude}\n           * @param type 'daily' | 'point'\n           * @param options {maxCount?, startDate?, custom?}\n           */\n          getForecasts: async (\n            position: { latitude: number; longitude: number },\n            type: 'daily' | 'point',\n            options?: any\n          ): Promise<any[]> => {\n            const provider = wasmWeatherProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Weather provider instance not ready`)\n              return []\n            }\n\n            const requestJson = JSON.stringify({ position, type, options })\n            const result = await callWasmWeatherHandler(\n              provider.pluginInstance,\n              'weather_get_forecasts',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(`[${pluginId}] Failed to parse forecasts response: ${e}`)\n                return []\n              }\n            }\n            return []\n          },\n\n          /**\n           * Get weather warnings for a position\n           * @param position {latitude, longitude}\n           */\n          getWarnings: async (position: {\n            latitude: number\n            longitude: number\n          }): Promise<any[]> => {\n            const provider = wasmWeatherProviders.get(pluginId)\n            if (!provider || !provider.pluginInstance) {\n              debug(`[${pluginId}] Weather provider instance not ready`)\n              return []\n            }\n\n            const requestJson = JSON.stringify({ position })\n            const result = await callWasmWeatherHandler(\n              provider.pluginInstance,\n              'weather_get_warnings',\n              requestJson\n            )\n\n            if (result) {\n              try {\n                return JSON.parse(result)\n              } catch (e) {\n                debug(`[${pluginId}] Failed to parse warnings response: ${e}`)\n                return []\n              }\n            }\n            return []\n          }\n        }\n      }\n\n      // Register with Signal K WeatherApi\n      app.weatherApi.register(pluginId, weatherProvider)\n\n      debug(\n        `[${pluginId}] Successfully registered as weather provider: ${providerName}`\n      )\n      return 1 // Success\n    } catch (error) {\n      debug(`Plugin register weather provider error: ${error}`)\n      return 0\n    }\n  }\n}\n"
  },
  {
    "path": "src/wasm/index.ts",
    "content": "/**\n * Signal K WASM Plugin System\n *\n * Main entry point for WASM/WASIX plugin infrastructure.\n * Exports all public APIs for WASM plugin management.\n */\n\nimport { WasmRuntime, initializeWasmRuntime } from './wasm-runtime'\nimport {\n  WasmSubscriptionManager,\n  initializeSubscriptionManager\n} from './wasm-subscriptions'\n\n/**\n * Initialize the WASM subsystem\n * Returns both runtime and subscription manager for assignment to app\n */\nexport function initializeWasm(): {\n  wasmRuntime: WasmRuntime\n  wasmSubscriptionManager: WasmSubscriptionManager\n} {\n  return {\n    wasmRuntime: initializeWasmRuntime(),\n    wasmSubscriptionManager: initializeSubscriptionManager()\n  }\n}\n\n// Runtime\nexport {\n  WasmRuntime,\n  WasmPluginInstance,\n  WasmCapabilities,\n  getWasmRuntime,\n  initializeWasmRuntime\n} from './wasm-runtime'\n\n// Storage\nexport {\n  PluginStoragePaths,\n  getPluginStoragePaths,\n  initializePluginVfs,\n  readPluginConfig,\n  writePluginConfig,\n  migrateFromNodeJs,\n  cleanupVfsTmp,\n  getVfsDiskUsage,\n  deletePluginVfs\n} from './wasm-storage'\n\n// Loader\nexport {\n  WasmPluginMetadata,\n  WasmPlugin,\n  registerWasmPlugin,\n  startWasmPlugin,\n  stopWasmPlugin,\n  unloadWasmPlugin,\n  reloadWasmPlugin,\n  handleWasmPluginCrash,\n  updateWasmPluginConfig,\n  setWasmPluginEnabled,\n  getAllWasmPlugins,\n  getWasmPlugin,\n  shutdownAllWasmPlugins\n} from './loader'\n\n// ServerAPI Bridge\nexport {\n  ServerAPIBridge,\n  createServerAPIBridge,\n  createWasmImports,\n  callWasmExport\n} from './wasm-serverapi'\n\n// Subscriptions\nexport {\n  DeltaSubscription,\n  Delta,\n  getSubscriptionManager,\n  initializeSubscriptionManager\n} from './wasm-subscriptions'\n"
  },
  {
    "path": "src/wasm/loader/index.ts",
    "content": "/**\n * WASM Plugin Loader - Main Entry Point\n *\n * Central export module for the WASM plugin loader subsystem.\n * This is the single entry point that re-exports all public APIs from the loader modules.\n */\n\n// Import lifecycle functions first\nimport {\n  startWasmPlugin,\n  stopWasmPlugin,\n  unloadWasmPlugin,\n  reloadWasmPlugin,\n  handleWasmPluginCrash,\n  shutdownAllWasmPlugins\n} from './plugin-lifecycle'\n\nimport { updateWasmPluginConfig, setWasmPluginEnabled } from './plugin-config'\n\n// Initialize circular dependency resolution\nimport { initializeLifecycleFunctions } from './plugin-registry'\ninitializeLifecycleFunctions(\n  startWasmPlugin,\n  updateWasmPluginConfig,\n  unloadWasmPlugin,\n  stopWasmPlugin\n)\n\n// Export types\nexport * from './types'\n\n// Export registry functions and maps\nexport {\n  wasmPlugins,\n  restartTimers,\n  setPluginStatus,\n  registerWasmPlugin,\n  getAllWasmPlugins,\n  getWasmPlugin\n} from './plugin-registry'\n\n// Export lifecycle functions\nexport {\n  startWasmPlugin,\n  stopWasmPlugin,\n  unloadWasmPlugin,\n  reloadWasmPlugin,\n  handleWasmPluginCrash,\n  shutdownAllWasmPlugins\n}\n\n// Export configuration functions\nexport { updateWasmPluginConfig, setWasmPluginEnabled }\n\n// Export route setup functions\nexport {\n  backwardsCompat,\n  handleLogViewerRequest,\n  setupPluginSpecificRoutes,\n  setupWasmPluginRoutes\n} from './plugin-routes'\n"
  },
  {
    "path": "src/wasm/loader/plugin-config.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Plugin Configuration Management\n *\n * Handles plugin configuration updates and enabled state changes.\n * Persists configuration to disk and manages plugin state transitions.\n */\n\nimport Debug from 'debug'\nimport { wasmPlugins } from './plugin-registry'\nimport { startWasmPlugin, stopWasmPlugin } from './plugin-lifecycle'\nimport { getPluginStoragePaths, writePluginConfig } from '../wasm-storage'\n\nconst debug = Debug('signalk:wasm:loader')\n\n/**\n * Update WASM plugin configuration\n */\nexport async function updateWasmPluginConfig(\n  app: any,\n  pluginId: string,\n  configuration: any,\n  configPath: string\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  debug(`updateWasmPluginConfig: Starting for ${pluginId}`)\n  debug.enabled &&\n    debug(\n      `updateWasmPluginConfig: New configuration: ${JSON.stringify(configuration)}`\n    )\n\n  plugin.configuration = configuration\n  debug(`updateWasmPluginConfig: Updated in-memory configuration`)\n\n  // Save to disk\n  const storagePaths = getPluginStoragePaths(\n    configPath,\n    plugin.id,\n    plugin.packageName\n  )\n  debug(`updateWasmPluginConfig: Config file path: ${storagePaths.configFile}`)\n\n  const config = {\n    configuration: configuration ?? {}, // Ensure configuration is always an object, never undefined\n    enabled: plugin.enabled,\n    enableDebug: plugin.enableDebug\n  }\n  debug.enabled &&\n    debug(\n      `updateWasmPluginConfig: Writing config to disk: ${JSON.stringify(config)}`\n    )\n  writePluginConfig(storagePaths.configFile, config)\n  debug(`updateWasmPluginConfig: Config written to disk`)\n\n  // Restart plugin if running AND still enabled\n  // Don't restart if the plugin is being disabled\n  if (plugin.status === 'running' && plugin.enabled) {\n    debug(\n      `updateWasmPluginConfig: Plugin is running and enabled, restarting...`\n    )\n    await stopWasmPlugin(pluginId)\n    debug(`updateWasmPluginConfig: Plugin stopped`)\n    await startWasmPlugin(app, pluginId)\n    debug(`updateWasmPluginConfig: Plugin started`)\n    plugin.statusMessage = 'Configuration updated'\n  } else {\n    debug(\n      `updateWasmPluginConfig: Plugin not running (status: ${plugin.status}) or not enabled (enabled: ${plugin.enabled}), skipping restart`\n    )\n  }\n\n  debug(`updateWasmPluginConfig: Configuration updated for ${pluginId}`)\n}\n\n/**\n * Enable/disable a WASM plugin\n */\nexport async function setWasmPluginEnabled(\n  app: any,\n  pluginId: string,\n  enabled: boolean,\n  configPath: string\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  debug(`setWasmPluginEnabled: Starting for ${pluginId}, enabled=${enabled}`)\n  debug(\n    `setWasmPluginEnabled: Current state - enabled: ${plugin.enabled}, status: ${plugin.status}`\n  )\n\n  plugin.enabled = enabled\n  debug(`setWasmPluginEnabled: Updated in-memory enabled flag to ${enabled}`)\n\n  // Save to disk\n  const storagePaths = getPluginStoragePaths(\n    configPath,\n    plugin.id,\n    plugin.packageName\n  )\n  debug(`setWasmPluginEnabled: Config file path: ${storagePaths.configFile}`)\n\n  const config = {\n    configuration: plugin.configuration ?? {}, // Ensure configuration is always an object, never undefined\n    enabled,\n    enableDebug: plugin.enableDebug\n  }\n  debug.enabled &&\n    debug(\n      `setWasmPluginEnabled: Writing config to disk: ${JSON.stringify(config)}`\n    )\n  writePluginConfig(storagePaths.configFile, config)\n  debug(`setWasmPluginEnabled: Config written to disk`)\n\n  // Start or stop accordingly\n  if (enabled && plugin.status !== 'running') {\n    debug(\n      `setWasmPluginEnabled: Plugin should be enabled and is not running, starting...`\n    )\n    await startWasmPlugin(app, pluginId)\n    debug(`setWasmPluginEnabled: Plugin started, new status: ${plugin.status}`)\n  } else if (!enabled && plugin.status === 'running') {\n    debug(\n      `setWasmPluginEnabled: Plugin should be disabled and is running, stopping...`\n    )\n    await stopWasmPlugin(pluginId)\n    debug(`setWasmPluginEnabled: Plugin stopped, new status: ${plugin.status}`)\n  } else {\n    debug(\n      `setWasmPluginEnabled: No action needed - enabled=${enabled}, status=${plugin.status}`\n    )\n  }\n\n  debug(\n    `setWasmPluginEnabled: Completed - Plugin ${pluginId} ${enabled ? 'enabled' : 'disabled'}`\n  )\n}\n"
  },
  {
    "path": "src/wasm/loader/plugin-lifecycle.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * WASM Plugin Lifecycle Operations\n *\n * Manages plugin lifecycle operations including start, stop, reload, unload,\n * crash handling, and shutdown. Handles state transitions and cleanup.\n */\n\nimport Debug from 'debug'\nimport { WasmPlugin } from './types'\nimport { wasmPlugins, restartTimers, setPluginStatus } from './plugin-registry'\nimport { getWasmRuntime, resetWasmRuntime } from '../wasm-runtime'\nimport { resetSubscriptionManager } from '../wasm-subscriptions'\nimport { backwardsCompat } from './plugin-routes'\nimport { updateResourceProviderInstance } from '../bindings/resource-provider'\nimport { updateWeatherProviderInstance } from '../bindings/weather-provider'\nimport { updateRadarProviderInstance } from '../bindings/radar-provider'\nimport { socketManager } from '../bindings/socket-manager'\n\nconst debug = Debug('signalk:wasm:loader')\n\n// Track poll timers for plugins that request periodic polling\nconst pollTimers: Map<string, NodeJS.Timeout> = new Map()\n\n// Track delta subscription unsubscribe functions for plugins\nconst deltaUnsubscribers: Map<string, () => void> = new Map()\n\n// Mutex for serializing network-capable plugin starts\n// as-fetch uses global state that gets corrupted with parallel plugin starts\nlet networkPluginStartMutex: Promise<void> = Promise.resolve()\n\n/**\n * Start a WASM plugin\n */\nexport async function startWasmPlugin(\n  app: any,\n  pluginId: string\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  if (plugin.status === 'running') {\n    debug(`Plugin ${pluginId} already running`)\n    return\n  }\n\n  // Serialize starts for network-capable plugins to avoid as-fetch global state corruption\n  if (plugin.metadata?.capabilities?.network) {\n    debug(`Plugin ${pluginId} has network capability, waiting for mutex...`)\n    const previousMutex = networkPluginStartMutex\n    let releaseMutex: () => void\n    networkPluginStartMutex = new Promise((resolve) => {\n      releaseMutex = resolve\n    })\n    await previousMutex\n    debug(`Plugin ${pluginId} acquired start mutex`)\n    try {\n      await startWasmPluginInternal(app, plugin, pluginId)\n    } finally {\n      debug(`Plugin ${pluginId} releasing start mutex`)\n      releaseMutex!()\n    }\n  } else {\n    await startWasmPluginInternal(app, plugin, pluginId)\n  }\n}\n\nasync function startWasmPluginInternal(\n  app: any,\n  plugin: WasmPlugin,\n  pluginId: string\n): Promise<void> {\n  debug(`Starting WASM plugin: ${pluginId}`)\n  setPluginStatus(plugin, 'starting')\n  plugin.errorMessage = undefined\n\n  try {\n    if (!plugin.instance) {\n      throw new Error('Plugin instance not loaded')\n    }\n\n    // Call plugin start() with configuration\n    // Pass the entire configuration object including enableDebug at root level\n    const startConfig = {\n      ...plugin.configuration,\n      enableDebug: plugin.enableDebug\n    }\n    const configJson = JSON.stringify(startConfig)\n    debug(`Starting plugin with config: ${configJson}`)\n    const result = await plugin.instance.exports.start(configJson)\n\n    if (result !== 0) {\n      throw new Error(`Plugin start() returned error code: ${result}`)\n    }\n\n    // Update provider instance references after plugin_start() completes\n    // Providers are registered during start(), so we need to update\n    // references using BOTH the packageName (used in env bindings) and real pluginId\n    if (plugin.packageName) {\n      updateResourceProviderInstance(plugin.packageName, plugin.instance)\n      updateWeatherProviderInstance(plugin.packageName, plugin.instance)\n      updateRadarProviderInstance(plugin.packageName, plugin.instance)\n    }\n    updateResourceProviderInstance(pluginId, plugin.instance)\n    updateWeatherProviderInstance(pluginId, plugin.instance)\n    updateRadarProviderInstance(pluginId, plugin.instance)\n\n    setPluginStatus(plugin, 'running')\n    plugin.statusMessage = 'Running'\n    plugin.crashCount = 0 // Reset crash count on successful start\n    plugin.restartBackoff = 1000\n\n    // Set up periodic polling for plugins that export poll()\n    // This is a generic mechanism for plugins that need to poll hardware,\n    // sockets, or external systems (e.g., radar, NMEA receivers, sensors)\n    if (plugin.instance?.exports?.poll) {\n      const pollInterval = 1000 // Poll every 1 second\n      debug(`Setting up poll timer for ${pluginId} (${pollInterval}ms)`)\n\n      const pollTimer = setInterval(() => {\n        try {\n          if (plugin.status === 'running' && plugin.instance?.exports?.poll) {\n            const result = plugin.instance.exports.poll()\n            if (result !== 0) {\n              debug(`[${pluginId}] poll() returned: ${result}`)\n            }\n          }\n        } catch (pollError) {\n          debug(`[${pluginId}] poll() error: ${pollError}`)\n        }\n      }, pollInterval)\n\n      pollTimers.set(pluginId, pollTimer)\n    }\n\n    // Set up delta subscription if plugin exports delta_handler\n    if (plugin.instance?.exports?.delta_handler) {\n      debug(`Setting up delta subscription for ${pluginId}`)\n\n      // Subscribe to deltas from the server\n      if (app.signalk && typeof app.signalk.on === 'function') {\n        const deltaHandler = (delta: any) => {\n          try {\n            if (\n              plugin.status === 'running' &&\n              plugin.instance?.exports?.delta_handler\n            ) {\n              const deltaJson = JSON.stringify(delta)\n              plugin.instance.exports.delta_handler(deltaJson)\n            }\n          } catch (deltaError) {\n            debug(`[${pluginId}] delta_handler error: ${deltaError}`)\n          }\n        }\n\n        // Subscribe to delta events\n        app.signalk.on('delta', deltaHandler)\n\n        // Store unsubscribe function\n        deltaUnsubscribers.set(pluginId, () => {\n          if (app.signalk && typeof app.signalk.removeListener === 'function') {\n            app.signalk.removeListener('delta', deltaHandler)\n          }\n        })\n\n        debug(`Delta subscription active for ${pluginId}`)\n      } else {\n        debug(`Warning: app.signalk not available for delta subscription`)\n      }\n    }\n\n    debug(`Successfully started WASM plugin: ${pluginId}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    setPluginStatus(plugin, 'error')\n    plugin.errorMessage = errorMsg\n    debug(`Failed to start WASM plugin ${pluginId}: ${errorMsg}`)\n    throw error\n  }\n}\n\n/**\n * Stop a WASM plugin\n */\nexport async function stopWasmPlugin(pluginId: string): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  debug(`Stopping WASM plugin: ${pluginId}`)\n\n  try {\n    // Cancel any pending restart timers\n    const timer = restartTimers.get(pluginId)\n    if (timer) {\n      clearTimeout(timer)\n      restartTimers.delete(pluginId)\n    }\n\n    // Cancel any poll timers\n    const pollTimer = pollTimers.get(pluginId)\n    if (pollTimer) {\n      clearInterval(pollTimer)\n      pollTimers.delete(pluginId)\n      debug(`Stopped poll timer for ${pluginId}`)\n    }\n\n    // Unsubscribe from delta events\n    const deltaUnsubscriber = deltaUnsubscribers.get(pluginId)\n    if (deltaUnsubscriber) {\n      deltaUnsubscriber()\n      deltaUnsubscribers.delete(pluginId)\n      debug(`Stopped delta subscription for ${pluginId}`)\n    }\n\n    if (plugin.instance) {\n      // Call plugin stop()\n      const result = plugin.instance.exports.stop()\n      if (result !== 0) {\n        debug(`Plugin stop() returned error code: ${result}`)\n      }\n    }\n\n    // Clean up any sockets opened by this plugin\n    socketManager.closeAllForPlugin(pluginId)\n\n    setPluginStatus(plugin, 'stopped')\n    plugin.statusMessage = 'Stopped'\n    debug(`Successfully stopped WASM plugin: ${pluginId}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error stopping WASM plugin ${pluginId}: ${errorMsg}`)\n    setPluginStatus(plugin, 'error')\n    plugin.errorMessage = errorMsg\n    throw error\n  }\n}\n\n/**\n * Unload a WASM plugin completely (remove from memory and unregister routes)\n */\nexport async function unloadWasmPlugin(\n  app: any,\n  pluginId: string\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  debug(`Unloading WASM plugin: ${pluginId}`)\n\n  try {\n    // Stop the plugin first if running\n    if (plugin.status === 'running') {\n      await stopWasmPlugin(pluginId)\n    }\n\n    // Remove HTTP routes from Express\n    if (plugin.router) {\n      debug(`Removing HTTP routes for ${pluginId}`)\n      // Express doesn't have a built-in way to remove routes, so we need to\n      // remove the middleware from the app stack\n      const paths = backwardsCompat(`/plugins/${pluginId}`)\n\n      // Remove all route handlers for this plugin\n      paths.forEach((path) => {\n        if (app._router && app._router.stack) {\n          app._router.stack = app._router.stack.filter((layer: any) => {\n            // Remove layers that match this plugin's path\n            if (layer.route) {\n              const routePath = layer.route.path\n              // Handle both string and array cases for route.path\n              if (typeof routePath === 'string') {\n                return !routePath.startsWith(path)\n              } else if (Array.isArray(routePath)) {\n                return !routePath.some((p) => p.startsWith(path))\n              }\n              return true\n            }\n            if (layer.name === 'router' && layer.regexp) {\n              return !layer.regexp.test(path)\n            }\n            return true\n          })\n        }\n      })\n\n      plugin.router = undefined\n      debug(`Removed HTTP routes for ${pluginId}`)\n    }\n\n    // Destroy WASM instance and free memory\n    if (plugin.instance) {\n      debug(`Destroying WASM instance for ${pluginId}`)\n\n      // Clear any references to help garbage collection\n      plugin.instance = undefined\n\n      debug(`Destroyed WASM instance for ${pluginId}`)\n    }\n\n    setPluginStatus(plugin, 'stopped')\n    plugin.statusMessage = 'Unloaded'\n    debug(`Successfully unloaded WASM plugin: ${pluginId}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error unloading WASM plugin ${pluginId}: ${errorMsg}`)\n    setPluginStatus(plugin, 'error')\n    plugin.errorMessage = errorMsg\n    throw error\n  }\n}\n\n/**\n * Reload a WASM plugin (hot-reload without server restart)\n */\nexport async function reloadWasmPlugin(\n  app: any,\n  pluginId: string\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    throw new Error(`WASM plugin ${pluginId} not found`)\n  }\n\n  debug(`Reloading WASM plugin: ${pluginId}`)\n\n  try {\n    const wasRunning = plugin.status === 'running'\n\n    // Stop the plugin\n    if (wasRunning) {\n      await stopWasmPlugin(pluginId)\n    }\n\n    // Save current configuration\n    const savedConfig = plugin.configuration\n\n    // Reload WASM module\n    const runtime = getWasmRuntime()\n    await runtime.reloadPlugin(pluginId)\n\n    // Get new instance\n    const newInstance = runtime.getInstance(pluginId)\n    if (!newInstance) {\n      throw new Error('Failed to get reloaded instance')\n    }\n\n    plugin.instance = newInstance\n\n    // Update schema from new instance\n    const schemaJson = newInstance.exports.schema()\n    plugin.schema = schemaJson ? JSON.parse(schemaJson) : {}\n\n    // Restart if it was running\n    if (wasRunning) {\n      await startWasmPlugin(app, pluginId)\n    }\n\n    plugin.statusMessage = 'Reloaded successfully'\n    debug(`Successfully reloaded WASM plugin: ${pluginId}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    setPluginStatus(plugin, 'error')\n    plugin.errorMessage = `Reload failed: ${errorMsg}`\n    debug(`Failed to reload WASM plugin ${pluginId}: ${errorMsg}`)\n    throw error\n  }\n}\n\n/**\n * Handle WASM plugin crash with automatic restart\n */\nexport async function handleWasmPluginCrash(\n  app: any,\n  pluginId: string,\n  error: Error\n): Promise<void> {\n  const plugin = wasmPlugins.get(pluginId)\n  if (!plugin) {\n    return\n  }\n\n  plugin.crashCount++\n  plugin.lastCrash = new Date()\n  setPluginStatus(plugin, 'crashed')\n  plugin.errorMessage = `Crashed: ${error.message}`\n\n  debug(\n    `WASM plugin ${pluginId} crashed (count: ${plugin.crashCount}): ${error.message}`\n  )\n\n  // Give up after 3 crashes in quick succession\n  if (plugin.crashCount >= 3) {\n    setPluginStatus(plugin, 'error')\n    plugin.errorMessage =\n      'Plugin repeatedly crashing, automatic restart disabled'\n    debug(`Plugin ${pluginId} disabled after 3 crashes`)\n    return\n  }\n\n  // Schedule restart with exponential backoff\n  plugin.restartBackoff = Math.min(plugin.restartBackoff * 2, 30000) // Max 30 seconds\n\n  debug(`Scheduling restart for ${pluginId} in ${plugin.restartBackoff}ms`)\n\n  const timer = setTimeout(async () => {\n    try {\n      debug(`Attempting automatic restart of ${pluginId}`)\n      await reloadWasmPlugin(app, pluginId)\n      plugin.statusMessage = 'Recovered from crash'\n    } catch (restartError) {\n      debug(`Failed to restart ${pluginId}:`, restartError)\n      setPluginStatus(plugin, 'error')\n      plugin.errorMessage = 'Failed to recover from crash'\n    }\n  }, plugin.restartBackoff)\n\n  restartTimers.set(pluginId, timer)\n}\n\n/**\n * Shutdown all WASM plugins\n */\nexport async function shutdownAllWasmPlugins(): Promise<void> {\n  debug('Shutting down all WASM plugins')\n  debug(`Number of plugins in registry: ${wasmPlugins.size}`)\n\n  // Clear all restart timers\n  for (const timer of restartTimers.values()) {\n    clearTimeout(timer)\n  }\n  restartTimers.clear()\n\n  // Stop all plugins\n  const plugins = Array.from(wasmPlugins.values())\n  debug(\n    `Plugins to shutdown: ${plugins.map((p) => `${p.id}(${p.status})`).join(', ')}`\n  )\n  for (const plugin of plugins) {\n    try {\n      if (plugin.status === 'running') {\n        debug(`Stopping plugin ${plugin.id}...`)\n        await stopWasmPlugin(plugin.id)\n        debug(`Plugin ${plugin.id} stopped, status now: ${plugin.status}`)\n      } else {\n        debug(\n          `Plugin ${plugin.id} not running (status=${plugin.status}), skipping stop`\n        )\n      }\n    } catch (error) {\n      debug(`Error stopping plugin ${plugin.id}:`, error)\n    }\n  }\n\n  // Shutdown runtime\n  const runtime = getWasmRuntime()\n  await runtime.shutdown()\n\n  // Reset singletons\n  resetWasmRuntime()\n  resetSubscriptionManager()\n\n  wasmPlugins.clear()\n  debug('All WASM plugins shut down')\n}\n"
  },
  {
    "path": "src/wasm/loader/plugin-registry.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-require-imports */\n/**\n * WASM Plugin Registration and Management\n *\n * Manages the global plugin registry and handles plugin registration.\n * Maintains the plugin map and provides lookup functions.\n */\n\nimport * as path from 'path'\nimport * as fs from 'fs'\nimport Debug from 'debug'\nimport express from 'express'\nimport { WasmPlugin } from './types'\nimport { getWasmRuntime, WasmCapabilities } from '../wasm-runtime'\nimport {\n  getPluginStoragePaths,\n  initializePluginVfs,\n  readPluginConfig,\n  writePluginConfig\n} from '../wasm-storage'\nimport { setupWasmPluginRoutes } from './plugin-routes'\nimport { updateResourceProviderInstance } from '../bindings/resource-provider'\nimport { updateWeatherProviderInstance } from '../bindings/weather-provider'\nimport { updateRadarProviderInstance } from '../bindings/radar-provider'\nimport { derivePluginId } from '../../pluginid'\n\nconst debug = Debug('signalk:wasm:loader')\n\n// Global plugin registry\nexport const wasmPlugins: Map<string, WasmPlugin> = new Map()\n\n// Crash recovery timers\nexport const restartTimers: Map<string, NodeJS.Timeout> = new Map()\n\n// Forward declarations for circular dependency resolution\nlet _startWasmPlugin: (app: any, pluginId: string) => Promise<void>\nlet _updateWasmPluginConfig: (\n  app: any,\n  pluginId: string,\n  configuration: any,\n  configPath: string\n) => Promise<void>\nlet _unloadWasmPlugin: (app: any, pluginId: string) => Promise<void>\nlet _stopWasmPlugin: (pluginId: string) => Promise<void>\n\n/**\n * Initialize lifecycle function references (called from index.ts to resolve circular dependencies)\n */\nexport function initializeLifecycleFunctions(\n  startWasmPlugin: (app: any, pluginId: string) => Promise<void>,\n  updateWasmPluginConfig: (\n    app: any,\n    pluginId: string,\n    configuration: any,\n    configPath: string\n  ) => Promise<void>,\n  unloadWasmPlugin: (app: any, pluginId: string) => Promise<void>,\n  stopWasmPlugin: (pluginId: string) => Promise<void>\n) {\n  _startWasmPlugin = startWasmPlugin\n  _updateWasmPluginConfig = updateWasmPluginConfig\n  _unloadWasmPlugin = unloadWasmPlugin\n  _stopWasmPlugin = stopWasmPlugin\n}\n\n/**\n * Helper to update plugin status and sync state property\n */\nexport function setPluginStatus(\n  plugin: WasmPlugin,\n  status: WasmPlugin['status']\n) {\n  plugin.status = status\n  plugin.state = status\n}\n\n/**\n * Add Node.js plugin compatibility properties to WASM plugin\n * This allows WASM plugins to be used interchangeably with Node.js plugins\n */\nfunction addNodejsPluginCompat(plugin: WasmPlugin, pluginId: string): void {\n  // Add 'started' getter for Node.js plugin compatibility\n  Object.defineProperty(plugin, 'started', {\n    get() {\n      return this.status === 'running'\n    },\n    enumerable: true,\n    configurable: true\n  })\n\n  // Add 'stop' method for Node.js plugin compatibility\n  ;(plugin as any).stop = async function () {\n    if (_stopWasmPlugin) {\n      await _stopWasmPlugin(pluginId)\n    }\n  }\n}\n\n/**\n * Mount webapp static files and register with app.webapps for WASM plugins\n * that have the signalk-webapp keyword\n */\nfunction mountWasmWebapp(\n  app: any,\n  packageName: string,\n  packageJson: any,\n  location: string\n): void {\n  const keywords = packageJson.keywords || []\n\n  // Check if this is a webapp\n  if (!keywords.includes('signalk-webapp')) {\n    return\n  }\n\n  // Find public folder\n  const packagePath = path.join(location, packageName)\n  let webappPath = packagePath\n  if (fs.existsSync(path.join(packagePath, 'public'))) {\n    webappPath = path.join(packagePath, 'public')\n  }\n\n  // Mount static files\n  debug(`Mounting WASM webapp /${packageName}: ${webappPath}`)\n  app.use('/' + packageName, express.static(webappPath))\n\n  // Create webapp metadata for admin UI\n  const webappMetadata = {\n    name: packageName,\n    version: packageJson.version,\n    description: packageJson.description || '',\n    keywords: keywords,\n    signalk: packageJson.signalk || {}\n  }\n\n  // Register with app.webapps\n  if (!app.webapps) {\n    app.webapps = []\n  }\n  // Avoid duplicates\n  if (!app.webapps.find((w: any) => w.name === packageName)) {\n    app.webapps.push(webappMetadata)\n    debug(`Registered WASM webapp: ${packageName}`)\n  }\n\n  // Also register as embeddable webapp if it has that keyword\n  if (keywords.includes('signalk-embeddable-webapp')) {\n    if (!app.embeddablewebapps) {\n      app.embeddablewebapps = []\n    }\n    if (!app.embeddablewebapps.find((w: any) => w.name === packageName)) {\n      app.embeddablewebapps.push(webappMetadata)\n      debug(`Registered WASM embeddable webapp: ${packageName}`)\n    }\n  }\n}\n\n/**\n * Register a WASM plugin from package metadata\n */\nexport async function registerWasmPlugin(\n  app: any,\n  packageName: string,\n  metadata: any,\n  location: string,\n  configPath: string\n): Promise<WasmPlugin> {\n  debug(`Registering WASM plugin: ${packageName} from ${location}`)\n\n  try {\n    // Read package.json to get WASM metadata\n    const packageJson = require(\n      path.join(location, packageName, 'package.json')\n    )\n\n    if (!packageJson.wasmManifest) {\n      throw new Error('Missing wasmManifest in package.json')\n    }\n\n    const wasmPath = path.join(location, packageName, packageJson.wasmManifest)\n\n    // Mount webapp static files if this is a signalk-webapp\n    mountWasmWebapp(app, packageName, packageJson, location)\n\n    const capabilities: WasmCapabilities = {\n      network: packageJson.wasmCapabilities?.network || false,\n      storage: packageJson.wasmCapabilities?.storage || 'vfs-only',\n      dataRead: packageJson.wasmCapabilities?.dataRead !== false, // default true\n      dataWrite: packageJson.wasmCapabilities?.dataWrite !== false, // default true\n      serialPorts: packageJson.wasmCapabilities?.serialPorts || false,\n      putHandlers: packageJson.wasmCapabilities?.putHandlers || false,\n      httpEndpoints: packageJson.wasmCapabilities?.httpEndpoints || false,\n      resourceProvider: packageJson.wasmCapabilities?.resourceProvider || false,\n      weatherProvider: packageJson.wasmCapabilities?.weatherProvider || false,\n      radarProvider: packageJson.wasmCapabilities?.radarProvider || false,\n      rawSockets: packageJson.wasmCapabilities?.rawSockets || false\n    }\n\n    // Load WASM module temporarily to extract schema and display name\n    const tempVfsRoot = path.join(\n      configPath,\n      'plugin-config-data',\n      '.temp-' + derivePluginId(packageName)\n    )\n    if (!fs.existsSync(tempVfsRoot)) {\n      fs.mkdirSync(tempVfsRoot, { recursive: true })\n    }\n\n    const runtime = getWasmRuntime()\n    const tempInstance = await runtime.loadPlugin(\n      packageName,\n      wasmPath,\n      tempVfsRoot,\n      capabilities,\n      app\n    )\n\n    // Derive plugin ID from npm package name (not from WASM exports)\n    // This ensures uniqueness via npm registry and prevents ID conflicts\n    const pluginId = derivePluginId(packageName)\n    // Plugin display name from WASM exports, fallback to package name\n    const pluginName = tempInstance.exports.name?.() || packageName\n    const schemaJson = tempInstance.exports.schema()\n    const schema = schemaJson ? JSON.parse(schemaJson) : {}\n\n    // Update the plugin instance reference for providers\n    updateResourceProviderInstance(pluginId, tempInstance)\n    updateWeatherProviderInstance(pluginId, tempInstance)\n    updateRadarProviderInstance(pluginId, tempInstance)\n\n    // Now check config using the REAL plugin ID\n    const storagePaths = getPluginStoragePaths(\n      configPath,\n      pluginId,\n      packageName\n    )\n    const savedConfig = readPluginConfig(storagePaths.configFile)\n\n    // If plugin is disabled, create minimal plugin object and return early\n    if (savedConfig.enabled === false) {\n      debug(\n        `Plugin ${packageName} is disabled, schema already extracted from WASM`\n      )\n\n      // Do NOT write config file here - UI shows \"Configure\" button when no config file exists\n      // Config file will be created when user actually configures the plugin\n\n      // Create a minimal plugin object without keeping WASM loaded\n      const plugin: WasmPlugin = {\n        id: pluginId,\n        name: pluginName,\n        type: 'wasm',\n        packageName,\n        version: metadata.version || packageJson.version,\n        enabled: false,\n        enableDebug: savedConfig.enableDebug || false,\n        keywords: packageJson.keywords || [],\n        packageLocation: location,\n        configPath,\n        metadata: {\n          id: pluginId,\n          name: pluginName,\n          packageName,\n          version: metadata.version || packageJson.version,\n          wasmManifest: packageJson.wasmManifest,\n          capabilities,\n          packageLocation: location\n        },\n        instance: null as any, // Instance was destroyed\n        status: 'stopped',\n        schema, // Schema extracted from temp load\n        configuration: savedConfig.configuration, // Keep undefined/null for UI \"Configure\" button logic\n        crashCount: 0,\n        restartBackoff: 1000,\n        description: packageJson.description || '',\n        state: 'stopped',\n        format: tempInstance.format // Preserve format from temp instance\n      }\n\n      // Add Node.js plugin compatibility properties\n      addNodejsPluginCompat(plugin, pluginId)\n\n      // Register minimal plugin in global map\n      wasmPlugins.set(pluginId, plugin)\n\n      // Add to app.plugins array\n      if (app.plugins) {\n        app.plugins.push(plugin)\n      }\n\n      // Add to app.pluginsMap\n      if (app.pluginsMap) {\n        app.pluginsMap[pluginId] = plugin\n      }\n\n      // Set up basic REST API routes even though plugin is disabled\n      // This allows Plugin Config UI to read/write config and enable the plugin\n      setupWasmPluginRoutes(\n        app,\n        plugin,\n        configPath,\n        _updateWasmPluginConfig,\n        _startWasmPlugin,\n        _unloadWasmPlugin,\n        _stopWasmPlugin\n      )\n\n      debug(\n        `Registered disabled WASM plugin: ${pluginId} (${pluginName}) - schema available, instance not loaded`\n      )\n      return plugin\n    }\n\n    // Plugin is enabled - proceed with full load\n    debug(\n      `Plugin ${packageName} is enabled, initializing VFS and preparing for startup`\n    )\n\n    // Initialize VFS with the real plugin ID\n    initializePluginVfs(storagePaths)\n\n    // Clean up temp VFS\n    if (fs.existsSync(tempVfsRoot)) {\n      fs.rmSync(tempVfsRoot, { recursive: true, force: true })\n    }\n\n    // Write initial config file if it doesn't exist\n    if (!fs.existsSync(storagePaths.configFile)) {\n      debug(`Creating initial config file for ${packageName}`)\n      writePluginConfig(storagePaths.configFile, savedConfig)\n    }\n\n    // Use the instance we already loaded\n    const instance = tempInstance\n\n    // Create plugin object\n    const plugin: WasmPlugin = {\n      id: pluginId,\n      name: pluginName,\n      type: 'wasm',\n      packageName,\n      version: metadata.version || packageJson.version,\n      enabled: savedConfig.enabled || false,\n      enableDebug: savedConfig.enableDebug || false,\n      keywords: packageJson.keywords || [],\n      packageLocation: location,\n      configPath,\n      metadata: {\n        id: pluginId,\n        name: pluginName,\n        packageName,\n        version: metadata.version || packageJson.version,\n        wasmManifest: packageJson.wasmManifest,\n        capabilities,\n        packageLocation: location\n      },\n      instance,\n      status: 'stopped',\n      schema,\n      configuration: savedConfig.configuration, // Keep undefined/null for UI \"Configure\" button logic\n      crashCount: 0,\n      restartBackoff: 1000, // Start with 1 second\n      description: packageJson.description || '',\n      state: 'stopped',\n      format: instance.format // WASM binary format (wasi-p1 or component-model)\n    }\n\n    // Add Node.js plugin compatibility properties\n    addNodejsPluginCompat(plugin, pluginId)\n\n    // Register in global map\n    wasmPlugins.set(pluginId, plugin)\n\n    // Add to app.plugins array for unified plugin management\n    if (app.plugins) {\n      app.plugins.push(plugin)\n    }\n\n    // Add to app.pluginsMap for plugin API compatibility\n    if (app.pluginsMap) {\n      app.pluginsMap[pluginId] = plugin\n    }\n\n    // Set up REST API routes for this plugin\n    setupWasmPluginRoutes(\n      app,\n      plugin,\n      configPath,\n      _updateWasmPluginConfig,\n      _startWasmPlugin,\n      _unloadWasmPlugin,\n      _stopWasmPlugin\n    )\n\n    debug(`Registered WASM plugin: ${pluginId} (${pluginName})`)\n\n    // Auto-start if enabled\n    if (plugin.enabled) {\n      await _startWasmPlugin(app, pluginId)\n    }\n\n    return plugin\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Failed to register WASM plugin ${packageName}: ${errorMsg}`)\n    throw new Error(`Failed to register WASM plugin: ${errorMsg}`)\n  }\n}\n\n/**\n * Get all WASM plugins\n */\nexport function getAllWasmPlugins(): WasmPlugin[] {\n  return Array.from(wasmPlugins.values())\n}\n\n/**\n * Get a WASM plugin by ID\n */\nexport function getWasmPlugin(pluginId: string): WasmPlugin | undefined {\n  return wasmPlugins.get(pluginId)\n}\n"
  },
  {
    "path": "src/wasm/loader/plugin-routes.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * WASM Plugin HTTP Route Handlers\n *\n * Handles HTTP route registration and request handling for WASM plugins.\n * Includes custom endpoint routing, log streaming, and basic REST API endpoints.\n */\n\nimport * as path from 'path'\nimport * as express from 'express'\nimport { Request, Response } from 'express'\nimport { spawn } from 'child_process'\nimport * as readline from 'readline'\nimport Debug from 'debug'\nimport { WasmPlugin } from './types'\nimport { getWasmRuntime } from '../wasm-runtime'\nimport {\n  getPluginStoragePaths,\n  readPluginConfig,\n  writePluginConfig\n} from '../wasm-storage'\nimport { SERVERROUTESPREFIX } from '../../constants'\n\nconst debug = Debug('signalk:wasm:loader')\n\n/**\n * Helper to support both prefixed and non-prefixed routes\n */\nexport function backwardsCompat(url: string) {\n  return [`${SERVERROUTESPREFIX}${url}`, url]\n}\n\n/**\n * Handle /api/logs request directly in Node.js (for signalk-logviewer plugin)\n * This avoids WASM memory buffer limitations (~64KB) when streaming large logs\n */\nexport async function handleLogViewerRequest(\n  req: Request,\n  res: Response\n): Promise<void> {\n  try {\n    const lines = parseInt(req.query.lines as string) || 2000\n    const maxLines = Math.min(lines, 50000) // Cap at 50000 lines\n\n    debug(`[logviewer] Fetching ${maxLines} log lines via Node.js streaming`)\n\n    // Try journalctl first\n    const p = spawn('journalctl', [\n      '-u',\n      'signalk',\n      '-n',\n      maxLines.toString(),\n      '--output=short-iso',\n      '--no-pager'\n    ])\n\n    const logLines: string[] = []\n    let hasError = false\n    let errorOutput = ''\n\n    // Stream lines using readline\n    const rl = readline.createInterface({\n      input: p.stdout,\n      crlfDelay: Infinity\n    })\n\n    rl.on('line', (line) => {\n      if (line.trim().length > 0) {\n        logLines.push(line)\n      }\n    })\n\n    p.stderr.on('data', (data) => {\n      errorOutput += data.toString()\n    })\n\n    p.on('error', (err) => {\n      debug(`[logviewer] journalctl spawn error: ${err.message}`)\n      hasError = true\n    })\n\n    // Wait for process to complete\n    await new Promise<void>((resolve) => {\n      p.on('close', (code) => {\n        debug(`[logviewer] journalctl exited with code ${code}`)\n        if (code !== 0) {\n          hasError = true\n        }\n        resolve()\n      })\n    })\n\n    if (hasError || logLines.length === 0) {\n      debug(`[logviewer] journalctl failed, trying file-based logs`)\n\n      // Fallback to reading from file\n      try {\n        const tailP = spawn('tail', [\n          '-n',\n          maxLines.toString(),\n          '/var/log/syslog'\n        ])\n        logLines.length = 0 // Clear array\n\n        const tailRl = readline.createInterface({\n          input: tailP.stdout,\n          crlfDelay: Infinity\n        })\n\n        tailRl.on('line', (line) => {\n          if (line.trim().length > 0) {\n            logLines.push(line)\n          }\n        })\n\n        await new Promise<void>((resolve) => {\n          tailP.on('close', () => resolve())\n        })\n      } catch (tailErr) {\n        debug(`[logviewer] tail also failed: ${tailErr}`)\n      }\n    }\n\n    if (logLines.length === 0) {\n      res.status(404).json({\n        error: 'Could not find logs',\n        message: 'Tried journalctl and file-based logs'\n      })\n      return\n    }\n\n    debug(\n      `[logviewer] Retrieved ${logLines.length} log lines, sending response`\n    )\n\n    // Send response\n    res.json({\n      lines: logLines,\n      count: logLines.length,\n      source: 'journalctl',\n      format: 'short-iso'\n    })\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`[logviewer] Error handling request: ${errorMsg}`)\n    res.status(500).json({ error: errorMsg })\n  }\n}\n\n/**\n * Add plugin-specific HTTP endpoints to an existing router\n * This is called when enabling a previously disabled plugin\n */\nexport function setupPluginSpecificRoutes(plugin: WasmPlugin): void {\n  if (!plugin.router) {\n    debug(\n      `Warning: Cannot setup plugin-specific routes - no router found for ${plugin.id}`\n    )\n    return\n  }\n\n  if (!plugin.instance) {\n    debug(`No instance for ${plugin.id}`)\n    return\n  }\n\n  // Check for http_endpoints in either AssemblyScript loader or raw WASM exports\n  const hasAsEndpoints =\n    plugin.instance.asLoader &&\n    typeof plugin.instance.asLoader.exports.http_endpoints === 'function'\n  const hasRustEndpoints =\n    plugin.instance.instance &&\n    typeof (plugin.instance.instance.exports as any).http_endpoints ===\n      'function'\n\n  if (!hasAsEndpoints && !hasRustEndpoints) {\n    debug(`No custom HTTP endpoints for ${plugin.id}`)\n    return\n  }\n\n  const router = plugin.router\n\n  // Register custom HTTP endpoints\n  try {\n    let endpointsJson: string\n\n    // Check if this is an AssemblyScript or Rust plugin\n    const asLoader = plugin.instance.asLoader\n    if (asLoader && typeof asLoader.exports.http_endpoints === 'function') {\n      // AssemblyScript: http_endpoints() returns a string pointer\n      const ptr = asLoader.exports.http_endpoints()\n      endpointsJson = asLoader.exports.__getString(ptr)\n      debug(\n        `Got http_endpoints from AssemblyScript: ${endpointsJson.substring(0, 200)}`\n      )\n    } else {\n      // Rust: http_endpoints(out_ptr, out_max_len) -> written_len\n      const rawExports = plugin.instance.instance.exports as any\n      if (\n        typeof rawExports.allocate === 'function' &&\n        typeof rawExports.http_endpoints === 'function'\n      ) {\n        const maxLen = 8192 // 8KB should be plenty for endpoint definitions\n        const outPtr = rawExports.allocate(maxLen)\n        const writtenLen = rawExports.http_endpoints(outPtr, maxLen)\n\n        // Read the string from WASM memory\n        const memory = rawExports.memory as WebAssembly.Memory\n        const bytes = new Uint8Array(memory.buffer, outPtr, writtenLen)\n        endpointsJson = new TextDecoder('utf-8').decode(bytes)\n\n        // Deallocate\n        if (typeof rawExports.deallocate === 'function') {\n          rawExports.deallocate(outPtr, maxLen)\n        }\n        debug(\n          `Got http_endpoints from Rust (${writtenLen} bytes): ${endpointsJson.substring(0, 200)}`\n        )\n      } else {\n        debug(\n          `http_endpoints export exists but plugin type unknown for ${plugin.id}`\n        )\n        return\n      }\n    }\n\n    const endpoints = JSON.parse(endpointsJson)\n    debug(`Registering ${endpoints.length} HTTP endpoints for ${plugin.id}`)\n\n    for (const endpoint of endpoints) {\n      const { method, path: endpointPath, handler } = endpoint\n      const routeMethod = method.toLowerCase() as\n        | 'get'\n        | 'post'\n        | 'put'\n        | 'delete'\n\n      if (!['get', 'post', 'put', 'delete'].includes(routeMethod)) {\n        debug(`Skipping unsupported method: ${method}`)\n        continue\n      }\n\n      debug(`Registering ${method} ${endpointPath} -> ${handler}`)\n\n      router[routeMethod](endpointPath, async (req: Request, res: Response) => {\n        // Set a timeout to catch hangs (declare outside try so catch can access it)\n        let timeout: NodeJS.Timeout | null = null\n\n        try {\n          debug(\n            `HTTP ${method} ${endpointPath} called - req.path: ${req.path}, req.url: ${req.url}`\n          )\n\n          // SPECIAL CASE: Handle /api/logs directly in Node.js for signalk-logviewer\n          // WASM cannot handle large data streams due to memory buffer limitations (~64KB)\n          if (\n            plugin.id === 'signalk-logviewer' &&\n            endpointPath === '/api/logs' &&\n            method === 'GET'\n          ) {\n            debug(`Intercepting /api/logs for logviewer - handling in Node.js`)\n            return handleLogViewerRequest(req, res)\n          }\n\n          // Build request context for WASM plugin\n          const requestContext = JSON.stringify({\n            method: req.method,\n            path: req.path,\n            query: req.query,\n            params: req.params,\n            body: req.body,\n            headers: req.headers\n          })\n\n          debug(\n            `Calling WASM handler ${handler} with context: ${requestContext.substring(0, 200)}`\n          )\n\n          // Use AssemblyScript loader if available (handles strings automatically)\n          const asLoader = plugin.instance!.asLoader\n          let responseJson: string\n\n          // Set a timeout to catch hangs\n          // Note: We cannot actually interrupt WASM execution, but we can detect hangs\n          let handlerTimedOut = false\n          timeout = setTimeout(() => {\n            handlerTimedOut = true\n            debug(\n              `ERROR: Handler ${handler} exceeded 10 second timeout - responding with error`\n            )\n            debug(\n              `WARNING: WASM execution cannot be interrupted, server may remain partially blocked`\n            )\n            // Send error response even though handler is still running\n            if (!res.headersSent) {\n              res.status(504).json({\n                error: 'Plugin handler timeout',\n                message:\n                  'The WASM plugin took too long to respond. This indicates a performance issue in the plugin code.'\n              })\n            }\n          }, 10000) // 10 second hard timeout\n\n          if (asLoader) {\n            // AssemblyScript plugin with loader - strings handled automatically!\n            debug(`Using AssemblyScript loader for handler ${handler}`)\n\n            const handlerFunc = asLoader.exports[handler]\n            if (typeof handlerFunc !== 'function') {\n              debug(`Handler function ${handler} not found in WASM exports`)\n              if (timeout) clearTimeout(timeout)\n              return res\n                .status(500)\n                .json({ error: `Handler function ${handler} not found` })\n            }\n\n            // Create an AssemblyScript string in WASM memory using __newString\n            const requestPtr = asLoader.exports.__newString(requestContext)\n            const requestLen = requestContext.length\n\n            debug(\n              `Calling handler with string ptr=${requestPtr}, len=${requestLen}`\n            )\n\n            // Call handler - it returns an AssemblyScript string pointer\n            let asStringPtr: number\n            try {\n              debug(`About to call handler function...`)\n              asStringPtr = handlerFunc(requestPtr, requestLen)\n              debug(\n                `Handler function call completed, returned pointer: ${asStringPtr}`\n              )\n            } catch (handlerError) {\n              const handlerErrMsg =\n                handlerError instanceof Error\n                  ? handlerError.message\n                  : String(handlerError)\n              debug(`ERROR: Handler function threw exception: ${handlerErrMsg}`)\n              debug(\n                `Stack: ${handlerError instanceof Error ? handlerError.stack : 'N/A'}`\n              )\n              throw new Error(`WASM handler crashed: ${handlerErrMsg}`)\n            }\n\n            // Check if we already sent timeout response\n            if (handlerTimedOut) {\n              debug(`Handler completed after timeout - discarding result`)\n              return\n            }\n\n            // Use __getString to decode the AssemblyScript string\n            try {\n              debug(`About to decode string from pointer ${asStringPtr}...`)\n              responseJson = asLoader.exports.__getString(asStringPtr)\n              debug(\n                `String decoded successfully, length: ${responseJson.length}`\n              )\n              debug(\n                `WASM handler returned (via loader): ${responseJson.substring(0, 500)}`\n              )\n            } catch (decodeError) {\n              const decodeErrMsg =\n                decodeError instanceof Error\n                  ? decodeError.message\n                  : String(decodeError)\n              debug(`ERROR: Failed to decode response string: ${decodeErrMsg}`)\n              throw new Error(`Failed to decode WASM response: ${decodeErrMsg}`)\n            }\n          } else {\n            // Rust plugins use buffer-based string passing\n            debug(\n              `Using raw exports for handler ${handler} (Rust buffer-based)`\n            )\n            const rawExports = plugin.instance!.instance.exports as any\n            const handlerFunc = rawExports[handler]\n\n            if (typeof handlerFunc !== 'function') {\n              debug(`Handler function ${handler} not found in WASM exports`)\n              if (timeout) clearTimeout(timeout)\n              return res\n                .status(500)\n                .json({ error: `Handler function ${handler} not found` })\n            }\n\n            // Check if this is a Rust plugin with allocate/deallocate\n            if (typeof rawExports.allocate === 'function') {\n              // Rust buffer-based string passing (same pattern as PUT handlers)\n              const requestBytes = Buffer.from(requestContext, 'utf8')\n              const requestPtr = rawExports.allocate(requestBytes.length)\n              const responseMaxLen = 65536 // 64KB response buffer\n              const responsePtr = rawExports.allocate(responseMaxLen)\n\n              // Write request to WASM memory\n              const memory = rawExports.memory as WebAssembly.Memory\n              const memView = new Uint8Array(memory.buffer)\n              memView.set(requestBytes, requestPtr)\n\n              // Call handler: (request_ptr, request_len, response_ptr, response_max_len) -> written_len\n              const writtenLen = handlerFunc(\n                requestPtr,\n                requestBytes.length,\n                responsePtr,\n                responseMaxLen\n              )\n\n              // Read response from WASM memory\n              const responseBytes = new Uint8Array(\n                memory.buffer,\n                responsePtr,\n                writtenLen\n              )\n              responseJson = new TextDecoder('utf-8').decode(responseBytes)\n\n              // Deallocate buffers\n              if (typeof rawExports.deallocate === 'function') {\n                rawExports.deallocate(requestPtr, requestBytes.length)\n                rawExports.deallocate(responsePtr, responseMaxLen)\n              }\n\n              debug(\n                `Rust handler returned ${writtenLen} bytes: ${responseJson.substring(0, 200)}`\n              )\n            } else {\n              // Fallback for unknown plugin types - try direct call\n              responseJson = handlerFunc(requestContext)\n            }\n          }\n\n          const response = JSON.parse(responseJson)\n\n          // Set status code and headers\n          res.status(response.statusCode || 200)\n          if (response.headers) {\n            Object.entries(response.headers).forEach(([key, value]) => {\n              res.setHeader(key, value as string)\n            })\n          }\n\n          // Send body - try to parse as JSON if it's a string, otherwise send as-is\n          let body = response.body\n          if (typeof body === 'string') {\n            // Check if Content-Type is JSON\n            const contentType = response.headers?.['Content-Type'] || ''\n            if (contentType.includes('application/json')) {\n              try {\n                // Try to parse the string as JSON - if it's double-escaped, this will fix it\n                body = JSON.parse(body)\n              } catch (e) {\n                // If parsing fails, send the string as-is (might be plain text)\n                debug(\n                  `Warning: Could not parse body as JSON, sending as string: ${e}`\n                )\n              }\n            }\n          }\n\n          if (timeout) clearTimeout(timeout)\n          debug(`Handler completed successfully, sending response`)\n          res.send(body)\n        } catch (error) {\n          if (timeout) clearTimeout(timeout)\n          const errorMsg =\n            error instanceof Error ? error.message : String(error)\n          const stack = error instanceof Error ? error.stack : 'N/A'\n          debug(`Error in HTTP endpoint ${method} ${endpointPath}: ${errorMsg}`)\n          debug(`Stack trace: ${stack}`)\n          res.status(500).json({ error: errorMsg })\n        }\n      })\n    }\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Failed to register HTTP endpoints: ${errorMsg}`)\n  }\n\n  debug(`Added plugin-specific routes for ${plugin.id}`)\n}\n\n/**\n * Set up REST API routes for a WASM plugin\n */\nexport function setupWasmPluginRoutes(\n  app: any,\n  plugin: WasmPlugin,\n  configPath: string,\n  updateWasmPluginConfig: (\n    app: any,\n    pluginId: string,\n    configuration: any,\n    configPath: string\n  ) => Promise<void>,\n  startWasmPlugin: (app: any, pluginId: string) => Promise<void>,\n  unloadWasmPlugin: (app: any, pluginId: string) => Promise<void>,\n  stopWasmPlugin: (pluginId: string) => Promise<void>\n): void {\n  const router = express.Router()\n\n  // GET /plugins/:id - Get plugin info\n  router.get('/', (req: Request, res: Response) => {\n    res.json({\n      enabled: plugin.enabled,\n      enabledByDefault: false,\n      id: plugin.id,\n      name: plugin.name,\n      version: plugin.version\n    })\n  })\n\n  // POST /plugins/:id/config - Save plugin configuration\n  router.post('/config', async (req: Request, res: Response) => {\n    try {\n      debug(`POST /config received for WASM plugin: ${plugin.id}`)\n      debug.enabled && debug(`Request body: ${JSON.stringify(req.body)}`)\n\n      const newConfig = req.body\n\n      debug.enabled &&\n        debug(\n          `Current plugin state - enabled: ${plugin.enabled}, enableDebug: ${plugin.enableDebug}, configuration: ${JSON.stringify(plugin.configuration)}`\n        )\n\n      // Update enableDebug FIRST (before saving config)\n      if (typeof newConfig.enableDebug === 'boolean') {\n        debug(\n          `Updating enableDebug from ${plugin.enableDebug} to ${newConfig.enableDebug}`\n        )\n        plugin.enableDebug = newConfig.enableDebug\n      }\n\n      // Update enabled state SECOND (before saving config)\n      const enabledChanged =\n        typeof newConfig.enabled === 'boolean' &&\n        newConfig.enabled !== plugin.enabled\n      if (enabledChanged) {\n        debug(`Updating enabled from ${plugin.enabled} to ${newConfig.enabled}`)\n        plugin.enabled = newConfig.enabled\n      }\n\n      // Update plugin configuration and save everything to disk\n      debug.enabled &&\n        debug(\n          `Calling updateWasmPluginConfig with: ${JSON.stringify(newConfig.configuration)}`\n        )\n      await updateWasmPluginConfig(\n        app,\n        plugin.id,\n        newConfig.configuration,\n        configPath\n      )\n      debug(`updateWasmPluginConfig completed`)\n\n      // Start or stop plugin if enabled state changed\n      if (enabledChanged) {\n        if (plugin.enabled && plugin.status !== 'running') {\n          // If plugin was disabled at startup, instance will be null - need to load it first\n          if (!plugin.instance) {\n            debug(`Plugin was disabled at startup, loading WASM binary now...`)\n\n            // Read package.json to get WASM path\n            const packageJson = require(\n              path.join(\n                plugin.packageLocation,\n                plugin.packageName,\n                'package.json'\n              )\n            )\n            const wasmPath = path.join(\n              plugin.packageLocation,\n              plugin.packageName,\n              packageJson.wasmManifest\n            )\n            const capabilities = plugin.metadata.capabilities\n\n            // Create VFS root\n            const storagePaths = getPluginStoragePaths(\n              configPath,\n              plugin.id,\n              plugin.packageName\n            )\n\n            // Load WASM module\n            const runtime = getWasmRuntime()\n            const instance = await runtime.loadPlugin(\n              plugin.packageName,\n              wasmPath,\n              storagePaths.vfsRoot,\n              capabilities,\n              app\n            )\n\n            plugin.instance = instance\n\n            // Get plugin metadata from WASM exports\n            const pluginName = instance.exports.name()\n            const schemaJson = instance.exports.schema()\n            const schema = schemaJson ? JSON.parse(schemaJson) : {}\n\n            plugin.name = pluginName\n            plugin.schema = schema\n\n            // Add plugin-specific HTTP endpoints to existing router\n            // (basic routes were already set up when plugin was registered as disabled)\n            setupPluginSpecificRoutes(plugin)\n\n            debug(`Successfully loaded WASM binary for ${plugin.id}`)\n          }\n\n          debug(`Plugin enabled, starting...`)\n          await startWasmPlugin(app, plugin.id)\n        } else if (!plugin.enabled && plugin.status === 'running') {\n          debug(`Plugin disabled, stopping...`)\n          await stopWasmPlugin(plugin.id)\n        }\n      }\n\n      debug(\n        `Final plugin state - enabled: ${plugin.enabled}, status: ${plugin.status}`\n      )\n\n      const response = `Saved configuration for plugin ${plugin.id}`\n      debug(`Sending response: ${response}`)\n      res.json(response)\n    } catch (error) {\n      const errorMsg = error instanceof Error ? error.message : String(error)\n      const stack = error instanceof Error ? error.stack : ''\n      debug(`ERROR saving WASM plugin config: ${errorMsg}`)\n      debug(`Stack trace: ${stack}`)\n      console.error(`Error saving WASM plugin config:`, error)\n      res.status(500).json({ error: errorMsg })\n    }\n  })\n\n  // GET /plugins/:id/config - Get plugin configuration\n  router.get('/config', (req: Request, res: Response) => {\n    const storagePaths = getPluginStoragePaths(\n      configPath,\n      plugin.id,\n      plugin.packageName\n    )\n    const config = readPluginConfig(storagePaths.configFile)\n\n    res.json({\n      enabled: plugin.enabled,\n      enableDebug: plugin.enableDebug,\n      configuration: plugin.configuration,\n      ...config\n    })\n  })\n\n  // Register the router for this plugin\n  app.use(backwardsCompat(`/plugins/${plugin.id}`), router)\n\n  // Store router in plugin object for later removal\n  plugin.router = router\n\n  // Register custom HTTP endpoints if plugin instance is loaded\n  setupPluginSpecificRoutes(plugin)\n\n  debug(`Set up REST API routes for WASM plugin: ${plugin.id}`)\n}\n"
  },
  {
    "path": "src/wasm/loader/types.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Plugin Type Definitions\n *\n * Shared types and interfaces for WASM plugin system\n */\n\nimport { IRouter } from 'express'\nimport {\n  WasmPluginInstance,\n  WasmCapabilities,\n  WasmFormat\n} from '../wasm-runtime'\n\n/**\n * Plugin metadata extracted from package.json and manifest\n */\nexport interface WasmPluginMetadata {\n  id: string\n  name: string\n  packageName: string\n  version: string\n  wasmManifest: string\n  capabilities: WasmCapabilities\n  packageLocation: string\n}\n\n/**\n * Runtime plugin instance with state and configuration\n */\nexport interface WasmPlugin {\n  id: string\n  name: string\n  type: 'wasm'\n  packageName: string\n  version: string\n  enabled: boolean\n  enableDebug: boolean\n  keywords: string[]\n  packageLocation: string\n  configPath: string // Signal K config path for VFS/storage\n  metadata: WasmPluginMetadata\n  instance?: WasmPluginInstance\n  router?: IRouter // Express router for plugin routes\n  status: 'stopped' | 'starting' | 'running' | 'error' | 'crashed'\n  statusMessage?: string\n  errorMessage?: string\n  schema?: any\n  configuration?: any\n  crashCount: number\n  lastCrash?: Date\n  restartBackoff: number // milliseconds\n  description?: string\n  state?: string\n  format?: WasmFormat // Binary format: wasi-p1 or component-model\n}\n"
  },
  {
    "path": "src/wasm/loaders/index.ts",
    "content": "/**\n * WASM Loaders\n */\n\nexport * from './standard-loader'\n"
  },
  {
    "path": "src/wasm/loaders/standard-loader.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/**\n * Standard WASM Loader\n *\n * Loads WASI P1 plugins (AssemblyScript and Rust library plugins)\n */\n\nimport * as fs from 'fs'\nimport Debug from 'debug'\nimport loader from '@assemblyscript/loader'\nimport { WasmPluginInstance, WasmCapabilities } from '../types'\nimport { createEnvImports } from '../bindings/env-imports'\nimport { updateResourceProviderInstance } from '../bindings/resource-provider'\nimport { updateWeatherProviderInstance } from '../bindings/weather-provider'\nimport { updateRadarProviderInstance } from '../bindings/radar-provider'\nimport { getNodeFetch } from '../utils/fetch-wrapper'\n\nconst debug = Debug('signalk:wasm:loader:standard')\n\n// Use Node.js built-in WASI (Node 20+ required)\n\nconst { WASI } = require('node:wasi')\n\n/**\n * Load a standard WASI P1 plugin (AssemblyScript or Rust library)\n */\nexport async function loadStandardPlugin(\n  pluginId: string,\n  wasmPath: string,\n  wasmBuffer: Buffer,\n  vfsRoot: string,\n  capabilities: WasmCapabilities,\n  app?: any\n): Promise<WasmPluginInstance> {\n  debug(`Loading standard WASM plugin: ${pluginId} from ${wasmPath}`)\n\n  // Create WASI instance with VFS isolation\n  debug(`Creating WASI instance for ${pluginId}`)\n  const wasi = new WASI({\n    version: 'preview1',\n    env: { PLUGIN_ID: pluginId },\n    args: [],\n    preopens: { '/': vfsRoot }\n  })\n  debug(`WASI instance created`)\n\n  // Compile WASM module\n  debug(`Compiling WASM module for inspection...`)\n  let module: WebAssembly.Module\n  try {\n    module = await WebAssembly.compile(wasmBuffer as BufferSource)\n    debug(`WASM module compiled successfully`)\n  } catch (compileError) {\n    debug(`WASM compilation failed: ${compileError}`)\n    throw compileError\n  }\n\n  // Inspect module to determine plugin type\n  const imports = WebAssembly.Module.imports(module)\n  const moduleExports = WebAssembly.Module.exports(module)\n  debug(`Module has ${imports.length} imports, ${moduleExports.length} exports`)\n  debug.enabled &&\n    debug(\n      `Module imports: ${JSON.stringify(imports.map((i) => `${i.module}.${i.name}`).slice(0, 20))}`\n    )\n\n  // Detect plugin type\n  // Note: plugin_id is optional since ID can be derived from package.json name\n  const hasPluginId = moduleExports.some((e) => e.name === 'plugin_id')\n  const hasPluginName = moduleExports.some((e) => e.name === 'plugin_name')\n  const hasPluginStart = moduleExports.some((e) => e.name === 'plugin_start')\n  const hasAllocate = moduleExports.some((e) => e.name === 'allocate')\n  const hasStart = moduleExports.some((e) => e.name === '_start')\n\n  const isRustLibraryPlugin = hasPluginId && hasAllocate\n  const isRustPlugin = hasStart\n  // AssemblyScript plugins must have plugin_name and plugin_start (plugin_id is optional)\n  const isAssemblyScriptPlugin =\n    (hasPluginId || (hasPluginName && hasPluginStart)) &&\n    !hasAllocate &&\n    !hasStart\n\n  debug(\n    `Plugin type detection: AS=${isAssemblyScriptPlugin}, RustLib=${isRustLibraryPlugin}, RustCmd=${isRustPlugin}`\n  )\n\n  // Get WASI imports\n  const wasiImports = (\n    wasi.getImportObject ? wasi.getImportObject() : wasi.getImports(module)\n  ) as any\n  debug(`Got WASI imports`)\n\n  // Refs that will be populated after instantiation\n  const memoryRef: { current: WebAssembly.Memory | null } = { current: null }\n  const rawExportsRef: { current: any } = { current: null }\n  const asLoaderRef: { current: any } = { current: null }\n\n  // Create environment imports\n  const envImports = createEnvImports({\n    pluginId,\n    capabilities,\n    app,\n    memoryRef,\n    rawExports: rawExportsRef,\n    asLoaderInstance: asLoaderRef\n  })\n\n  // Initialize as-fetch handler for network capability\n  let fetchHandler: any = null\n  let fetchImports = {}\n\n  if (capabilities.network) {\n    debug(`Setting up as-fetch handler for network capability`)\n    const nodeFetch = getNodeFetch()\n\n    // Create a wrapper that reads strings from WASM memory\n    const fetchWrapper = async (\n      urlPtr: number | string | URL | RequestInfo,\n      init?: RequestInit\n    ) => {\n      let url: string\n\n      if (typeof urlPtr === 'number') {\n        if (!memoryRef.current) {\n          throw new Error('WASM memory not available for string conversion')\n        }\n\n        // Read AssemblyScript string from memory (UTF-16LE)\n        const SIZE_OFFSET = -4\n        const memView = new Uint32Array(memoryRef.current.buffer)\n        const strLengthInBytes = memView[(urlPtr + SIZE_OFFSET) >>> 2]\n        const strLengthInChars = strLengthInBytes >>> 1\n        const strView = new Uint16Array(\n          memoryRef.current.buffer,\n          urlPtr,\n          strLengthInChars\n        )\n        url = String.fromCharCode(...Array.from(strView))\n        debug(`Converted WASM string pointer ${urlPtr} to URL: ${url}`)\n      } else {\n        url = String(urlPtr)\n      }\n\n      return nodeFetch(url, init)\n    }\n\n    // Dynamic import for ESM-only as-fetch package\n    const { FetchHandler } = await import('as-fetch/bindings.raw.esm.js')\n    fetchHandler = new FetchHandler(fetchWrapper)\n    fetchImports = fetchHandler.imports\n  }\n\n  // Instantiate the module\n  let instance: WebAssembly.Instance\n  let asLoaderInstance: any = null\n  let rawExports: any\n\n  if (isAssemblyScriptPlugin) {\n    debug(`Using AssemblyScript loader for ${pluginId}`)\n\n    asLoaderInstance = await loader.instantiate(module, {\n      wasi_snapshot_preview1: wasiImports.wasi_snapshot_preview1 || wasiImports,\n      env: envImports,\n      ...fetchImports\n    })\n\n    instance = asLoaderInstance.instance\n    rawExports = asLoaderInstance.exports\n    asLoaderRef.current = asLoaderInstance\n    debug(`AssemblyScript instance created with loader`)\n  } else {\n    // Standard WebAssembly instantiation for Rust plugins\n    instance = await WebAssembly.instantiate(module, {\n      wasi_snapshot_preview1: wasiImports.wasi_snapshot_preview1 || wasiImports,\n      env: envImports,\n      ...fetchImports\n    } as any)\n    rawExports = instance.exports as any\n    debug(`Standard WASM instance created`)\n  }\n\n  // Set refs for use in callbacks\n  rawExportsRef.current = rawExports\n  if (rawExports.memory) {\n    memoryRef.current = rawExports.memory as WebAssembly.Memory\n  }\n\n  // Store reference for Asyncify resume\n  let asyncifyResumeFunction: (() => any) | null = null\n\n  // NOTE: Do NOT initialize as-fetch handler here!\n  // as-fetch uses global state that gets corrupted if multiple plugins are loaded in parallel.\n  // The handler is initialized right before plugin_start() is called, protected by a mutex.\n\n  // Initialize based on plugin type\n  if (isRustPlugin) {\n    debug(`Initializing Rust command plugin: ${pluginId}`)\n    wasi.start(instance)\n  } else if (isRustLibraryPlugin) {\n    debug(`Initialized Rust library plugin: ${pluginId}`)\n    // Initialize WASI runtime without calling _start (for library plugins)\n    // This sets up fd_write and other syscalls properly\n    if (typeof wasi.initialize === 'function') {\n      debug(`Calling wasi.initialize() for Rust library plugin`)\n      wasi.initialize(instance)\n    }\n    // Also call _initialize if present (Rust static constructors)\n    if (rawExports._initialize) {\n      debug(`Calling _initialize for Rust library plugin`)\n      rawExports._initialize()\n    }\n  } else if (isAssemblyScriptPlugin) {\n    debug(`Initialized AssemblyScript plugin: ${pluginId}`)\n  } else {\n    throw new Error(`Unknown WASM plugin format for ${pluginId}`)\n  }\n\n  // Create normalized export interface\n  const exports = createPluginExports(\n    isAssemblyScriptPlugin,\n    isRustLibraryPlugin,\n    asLoaderInstance,\n    rawExports,\n    () => asyncifyResumeFunction,\n    (fn) => {\n      asyncifyResumeFunction = fn\n    },\n    fetchHandler,\n    capabilities\n  )\n\n  // Create setter for asyncify resume that can be used by external callers\n  const setAsyncifyResume = (fn: (() => any) | null) => {\n    asyncifyResumeFunction = fn\n  }\n\n  const pluginInstance: WasmPluginInstance = {\n    pluginId,\n    wasmPath,\n    vfsRoot,\n    capabilities,\n    format: 'wasi-p1',\n    wasi,\n    module,\n    instance,\n    exports,\n    asLoader: asLoaderInstance,\n    setAsyncifyResume\n  }\n\n  // Update provider references\n  updateResourceProviderInstance(pluginId, pluginInstance)\n  updateWeatherProviderInstance(pluginId, pluginInstance)\n  updateRadarProviderInstance(pluginId, pluginInstance)\n\n  debug(`Successfully loaded WASM plugin: ${pluginId}`)\n  return pluginInstance\n}\n\n/**\n * Create normalized plugin exports based on plugin type\n */\nfunction createPluginExports(\n  isAssemblyScriptPlugin: boolean,\n  isRustLibraryPlugin: boolean,\n  asLoaderInstance: any,\n  rawExports: any,\n  getAsyncifyResume: () => (() => any) | null,\n  setAsyncifyResume: (fn: (() => any) | null) => void,\n  fetchHandler: any,\n  capabilities: WasmCapabilities\n) {\n  let idFunc: () => string\n  let nameFunc: () => string\n  let schemaFunc: () => string\n  let startFunc: (config: string) => number | Promise<number>\n  let stopFunc: () => number\n\n  if (isAssemblyScriptPlugin && asLoaderInstance) {\n    idFunc = () => {\n      const ptr = asLoaderInstance.exports.plugin_id()\n      return asLoaderInstance.exports.__getString(ptr)\n    }\n    nameFunc = () => {\n      const ptr = asLoaderInstance.exports.plugin_name()\n      return asLoaderInstance.exports.__getString(ptr)\n    }\n    schemaFunc = () => {\n      const ptr = asLoaderInstance.exports.plugin_schema()\n      return asLoaderInstance.exports.__getString(ptr)\n    }\n\n    startFunc = async (config: string) => {\n      debug(`Calling plugin_start with config: ${config.substring(0, 100)}...`)\n\n      // Re-initialize as-fetch handler to refresh ASYNCIFY_MEM view\n      // This is needed because memory may have grown since init(), detaching the old buffer view\n      if (fetchHandler && capabilities.network) {\n        debug(`Re-initializing as-fetch handler before plugin_start`)\n        fetchHandler.init(rawExports, () => {\n          debug(`FetchHandler calling main function to resume execution`)\n          const resumeFn = getAsyncifyResume()\n          if (resumeFn) {\n            resumeFn()\n          }\n        })\n      }\n\n      const encoder = new TextEncoder()\n      const configBytes = encoder.encode(config)\n      const configLen = configBytes.length\n\n      const configPtr = asLoaderInstance.exports.__new(configLen, 0)\n\n      const memory = asLoaderInstance.exports.memory.buffer\n      const memoryView = new Uint8Array(memory)\n      memoryView.set(configBytes, configPtr)\n\n      let resumePromiseResolve: (() => void) | null = null\n      const resumePromise = new Promise<void>((resolve) => {\n        resumePromiseResolve = resolve\n      })\n\n      setAsyncifyResume(() => {\n        debug(`Re-calling plugin_start to resume from rewind state`)\n\n        // Check Asyncify state - as-fetch calls asyncify_start_rewind() before calling us\n        // State 0 = normal (rewind already completed), skip to avoid double-rewind\n        // State 1 = unwound (shouldn't happen, as-fetch would have started rewind)\n        // State 2 = rewinding (expected, proceed with resume)\n        if (typeof asLoaderInstance.exports.asyncify_get_state === 'function') {\n          const currentState = asLoaderInstance.exports.asyncify_get_state()\n          if (currentState === 0) {\n            debug(\n              `Plugin in normal state (state=0), rewind already completed, skipping`\n            )\n            return\n          }\n          debug(`Asyncify state before resume: ${currentState}`)\n        }\n\n        try {\n          // Re-read memory buffer in case it was detached during async operation\n          const currentMemory = asLoaderInstance.exports.memory.buffer\n          debug(\n            `Memory buffer size: ${currentMemory.byteLength}, configPtr: ${configPtr}, configLen: ${configLen}`\n          )\n\n          const resumeResult = asLoaderInstance.exports.plugin_start(\n            configPtr,\n            configLen\n          )\n          if (resumePromiseResolve) {\n            resumePromiseResolve()\n          }\n          return resumeResult\n        } catch (err: any) {\n          debug(`Error during Asyncify rewind: ${err.message}`)\n          if (resumePromiseResolve) {\n            resumePromiseResolve()\n          }\n          throw err\n        }\n      })\n\n      const result = asLoaderInstance.exports.plugin_start(configPtr, configLen)\n\n      if (typeof asLoaderInstance.exports.asyncify_get_state === 'function') {\n        const state = asLoaderInstance.exports.asyncify_get_state()\n        debug(`Asyncify state after plugin_start: ${state}`)\n\n        if (state === 1) {\n          debug(\n            `Plugin is in unwound state - waiting for async operation to complete`\n          )\n          await resumePromise\n          debug(`Async operation completed, plugin execution resumed`)\n        } else {\n          setAsyncifyResume(null)\n        }\n      }\n\n      if (typeof asLoaderInstance.exports.__free === 'function') {\n        asLoaderInstance.exports.__free(configPtr)\n      }\n\n      return result\n    }\n    stopFunc = () => asLoaderInstance.exports.plugin_stop()\n  } else if (isRustLibraryPlugin) {\n    debug(`Setting up Rust library plugin exports with buffer-based strings`)\n\n    const callRustStringFunc = (funcName: string): string => {\n      const func = rawExports[funcName]\n      if (typeof func !== 'function') {\n        debug(`Warning: ${funcName} not found in exports`)\n        return ''\n      }\n\n      const maxLen = 8192\n      const allocate = rawExports.allocate\n      if (typeof allocate !== 'function') {\n        throw new Error('Rust plugin missing allocate export')\n      }\n\n      const outPtr = allocate(maxLen)\n      if (!outPtr) {\n        throw new Error(`Failed to allocate ${maxLen} bytes for ${funcName}`)\n      }\n\n      try {\n        const writtenLen = func(outPtr, maxLen)\n        if (writtenLen <= 0) {\n          debug(`${funcName} returned ${writtenLen}`)\n          return ''\n        }\n\n        const memory = rawExports.memory as WebAssembly.Memory\n        const bytes = new Uint8Array(memory.buffer, outPtr, writtenLen)\n        const decoder = new TextDecoder('utf-8')\n        const result = decoder.decode(bytes)\n        debug(`${funcName} returned: ${result.substring(0, 100)}...`)\n        return result\n      } finally {\n        const deallocate = rawExports.deallocate\n        if (typeof deallocate === 'function') {\n          deallocate(outPtr, maxLen)\n        }\n      }\n    }\n\n    idFunc = () => callRustStringFunc('plugin_id')\n    nameFunc = () => callRustStringFunc('plugin_name')\n    schemaFunc = () => callRustStringFunc('plugin_schema')\n\n    startFunc = (config: string) => {\n      debug(\n        `Calling Rust plugin_start with config: ${config.substring(0, 100)}...`\n      )\n\n      const encoder = new TextEncoder()\n      const configBytes = encoder.encode(config)\n      const configLen = configBytes.length\n\n      const allocate = rawExports.allocate\n      const configPtr = allocate(configLen)\n\n      const memory = rawExports.memory as WebAssembly.Memory\n      const memoryView = new Uint8Array(memory.buffer)\n      memoryView.set(configBytes, configPtr)\n\n      try {\n        const result = rawExports.plugin_start(configPtr, configLen)\n        debug(`plugin_start returned: ${result}`)\n        return result\n      } finally {\n        const deallocate = rawExports.deallocate\n        if (typeof deallocate === 'function') {\n          deallocate(configPtr, configLen)\n        }\n      }\n    }\n\n    stopFunc = () => {\n      const result = rawExports.plugin_stop()\n      debug(`plugin_stop returned: ${result}`)\n      return result\n    }\n  } else {\n    // Rust command plugins or unknown\n    idFunc = rawExports.id\n    nameFunc = rawExports.name\n    schemaFunc = rawExports.schema\n    startFunc = rawExports.start\n    stopFunc = rawExports.stop\n  }\n\n  // Wrap http_endpoints if it exists\n  const httpEndpointsFunc = rawExports.http_endpoints\n    ? isAssemblyScriptPlugin && asLoaderInstance\n      ? () => {\n          const ptr = asLoaderInstance.exports.http_endpoints()\n          return asLoaderInstance.exports.__getString(ptr)\n        }\n      : rawExports.http_endpoints\n    : undefined\n\n  // Wrap poll if it exists (for plugins that need periodic execution)\n  const pollFunc = rawExports.poll\n    ? isAssemblyScriptPlugin && asLoaderInstance\n      ? () => asLoaderInstance.exports.poll()\n      : rawExports.poll\n    : undefined\n\n  // Wrap delta_handler if it exists (for plugins that subscribe to deltas)\n  let deltaHandlerFunc: ((deltaJson: string) => void) | undefined = undefined\n  if (rawExports.delta_handler) {\n    if (isAssemblyScriptPlugin && asLoaderInstance) {\n      deltaHandlerFunc = (deltaJson: string) => {\n        // Pass delta JSON string to the WASM delta_handler\n        const ptr = asLoaderInstance.exports.__newString(deltaJson)\n        asLoaderInstance.exports.delta_handler(ptr)\n      }\n    } else if (isRustLibraryPlugin) {\n      // Rust library plugin: buffer-based string passing\n      deltaHandlerFunc = (deltaJson: string) => {\n        const encoder = new TextEncoder()\n        const deltaBytes = encoder.encode(deltaJson)\n        const deltaLen = deltaBytes.length\n\n        const allocate = rawExports.allocate\n        if (typeof allocate !== 'function') {\n          debug('Rust plugin missing allocate export for delta_handler')\n          return\n        }\n\n        const deltaPtr = allocate(deltaLen)\n        const memory = rawExports.memory as WebAssembly.Memory\n        const memoryView = new Uint8Array(memory.buffer)\n        memoryView.set(deltaBytes, deltaPtr)\n\n        try {\n          rawExports.delta_handler(deltaPtr, deltaLen)\n        } finally {\n          const deallocate = rawExports.deallocate\n          if (typeof deallocate === 'function') {\n            deallocate(deltaPtr, deltaLen)\n          }\n        }\n      }\n    } else {\n      deltaHandlerFunc = rawExports.delta_handler\n    }\n  }\n\n  return {\n    id: idFunc,\n    name: nameFunc,\n    schema: schemaFunc,\n    start: startFunc,\n    stop: stopFunc,\n    memory: rawExports.memory,\n    ...(httpEndpointsFunc && { http_endpoints: httpEndpointsFunc }),\n    ...(pollFunc && { poll: pollFunc }),\n    ...(deltaHandlerFunc && { delta_handler: deltaHandlerFunc })\n  }\n}\n"
  },
  {
    "path": "src/wasm/types.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Plugin Types\n *\n * Shared type definitions for WASM plugin system\n */\n\n/**\n * Capabilities that can be granted to WASM plugins\n */\nexport interface WasmCapabilities {\n  network: boolean\n  storage: 'vfs-only' | 'none'\n  dataRead: boolean\n  dataWrite: boolean\n  serialPorts: boolean\n  putHandlers: boolean\n  httpEndpoints?: boolean\n  resourceProvider?: boolean // Can register as a resource provider\n  weatherProvider?: boolean // Can register as a weather provider\n  radarProvider?: boolean // Can register as a radar provider\n  rawSockets?: boolean // Can open UDP/TCP sockets for radar, NMEA, etc.\n}\n\n/**\n * WASM binary format types\n */\nexport type WasmFormat = 'wasi-p1' | 'unknown'\n\n/**\n * WASM plugin instance representing a loaded plugin\n */\nexport interface WasmPluginInstance {\n  pluginId: string\n  wasmPath: string\n  vfsRoot: string\n  capabilities: WasmCapabilities\n  format: WasmFormat // Binary format: wasi-p1\n  wasi: any // Node.js WASI instance\n  module: WebAssembly.Module\n  instance: WebAssembly.Instance\n  exports: WasmPluginExports\n  // AssemblyScript loader instance (if AssemblyScript plugin)\n  asLoader?: any\n  // Asyncify support: function to set the resume callback for async operations\n  setAsyncifyResume?: (fn: (() => any) | null) => void\n}\n\n/**\n * Standard exports expected from a WASM plugin\n */\nexport interface WasmPluginExports {\n  id: () => string\n  name: () => string\n  schema: () => string\n  start: (config: string) => number | Promise<number> // 0 = success, non-zero = error (async for Asyncify support)\n  stop: () => number\n  memory?: WebAssembly.Memory\n  // Optional: HTTP endpoint registration\n  http_endpoints?: () => string // Returns JSON array of endpoint definitions\n  // Optional: Periodic polling - called every second when plugin is running\n  // Useful for plugins that need to poll hardware, sockets, or external systems\n  // Returns 0 on success, non-zero on error\n  poll?: () => number\n  // Optional: Delta handler - receives Signal K deltas as JSON strings\n  // Enables plugins to react to navigation data changes, course updates, etc.\n  delta_handler?: (deltaJson: string) => void\n}\n\n/**\n * Resource provider registration from a WASM plugin\n */\nexport interface WasmResourceProvider {\n  pluginId: string\n  resourceType: string\n  // Reference to the plugin instance for calling handlers\n  pluginInstance: WasmPluginInstance | null\n}\n\n/**\n * Weather provider registration from a WASM plugin\n */\nexport interface WasmWeatherProvider {\n  pluginId: string\n  providerName: string\n  // Reference to the plugin instance for calling handlers\n  pluginInstance: WasmPluginInstance | null\n}\n\n/**\n * Radar provider registration from a WASM plugin\n */\nexport interface WasmRadarProvider {\n  pluginId: string\n  providerName: string\n  // Reference to the plugin instance for calling handlers\n  pluginInstance: WasmPluginInstance | null\n}\n\n/**\n * Context passed to loader functions\n */\nexport interface LoaderContext {\n  pluginId: string\n  wasmPath: string\n  vfsRoot: string\n  capabilities: WasmCapabilities\n  app?: any\n  debug: (...args: any[]) => void\n}\n"
  },
  {
    "path": "src/wasm/utils/fetch-wrapper.ts",
    "content": "/**\n * Fetch Wrapper for WASM Network Capability\n *\n * Provides a Node.js fetch wrapper that handles various header formats\n */\n\nimport Debug from 'debug'\n\nconst debug = Debug('signalk:wasm:fetch')\n\nlet cachedFetch: typeof fetch | null = null\n\n/**\n * Get a properly wrapped fetch function for use with as-fetch\n */\nexport function getNodeFetch(): typeof fetch {\n  if (cachedFetch) {\n    return cachedFetch\n  }\n\n  try {\n    // Try to use native Node.js fetch (Node 18+)\n    const nativeFetch = globalThis.fetch\n    if (!nativeFetch) {\n      throw new Error('Native fetch not available')\n    }\n\n    // Wrap native fetch to handle headers properly for as-fetch\n    cachedFetch = async (input: RequestInfo | URL, init?: RequestInit) => {\n      const sanitizedInit = init ? { ...init } : {}\n\n      // Ensure headers are in a format Node.js fetch accepts\n      if (sanitizedInit.headers) {\n        const headers = sanitizedInit.headers\n\n        if (\n          typeof headers === 'object' &&\n          !Array.isArray(headers) &&\n          !(headers instanceof Headers)\n        ) {\n          if (\n            Object.getPrototypeOf(headers) === Object.prototype ||\n            Object.getPrototypeOf(headers) === null\n          ) {\n            sanitizedInit.headers = headers as Record<string, string>\n          } else {\n            const headersObj: Record<string, string> = {}\n            try {\n              for (const [key, value] of Object.entries(headers)) {\n                headersObj[key] = String(value)\n              }\n              sanitizedInit.headers = headersObj\n            } catch (err) {\n              debug('Error converting headers:', err)\n              sanitizedInit.headers = {}\n            }\n          }\n        } else if (Array.isArray(headers)) {\n          const headersObj: Record<string, string> = {}\n          for (const [key, value] of headers) {\n            headersObj[key] = value\n          }\n          sanitizedInit.headers = headersObj\n        } else if (headers instanceof Headers) {\n          const headersObj: Record<string, string> = {}\n          headers.forEach((value, key) => {\n            headersObj[key] = value\n          })\n          sanitizedInit.headers = headersObj\n        } else {\n          sanitizedInit.headers = {}\n        }\n      } else {\n        sanitizedInit.headers = {}\n      }\n\n      return nativeFetch(input, sanitizedInit)\n    }\n\n    return cachedFetch\n  } catch {\n    debug(\n      'Warning: Native fetch not available, network capability will be limited'\n    )\n    cachedFetch = async () => {\n      throw new Error(\n        'Fetch not available - Node.js 18+ required for network capability'\n      )\n    }\n    return cachedFetch\n  }\n}\n"
  },
  {
    "path": "src/wasm/utils/format-detection.ts",
    "content": "/**\n * WASM Format Detection\n *\n * Utilities for detecting WASM binary formats\n */\n\nimport { WasmFormat } from '../types'\n\n/**\n * Detect the format of a WASM binary by inspecting the magic bytes\n * - WASI P1 modules start with: 0x00 0x61 0x73 0x6D 0x01 0x00 0x00 0x00 (version 1)\n */\nexport function detectWasmFormat(buffer: Buffer): WasmFormat {\n  if (buffer.length < 8) {\n    return 'unknown'\n  }\n\n  // Check WASM magic number: \\0asm\n  if (\n    buffer[0] !== 0x00 ||\n    buffer[1] !== 0x61 ||\n    buffer[2] !== 0x73 ||\n    buffer[3] !== 0x6d\n  ) {\n    return 'unknown'\n  }\n\n  // Check version byte (byte 4)\n  const version = buffer[4]\n\n  if (version === 0x01) {\n    return 'wasi-p1'\n  }\n\n  return 'unknown'\n}\n"
  },
  {
    "path": "src/wasm/utils/index.ts",
    "content": "/**\n * WASM Utilities\n */\n\nexport * from './fetch-wrapper'\nexport * from './format-detection'\n"
  },
  {
    "path": "src/wasm/wasm-runtime.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Runtime Management\n *\n * Handles WASM runtime initialization, module loading,\n * and instance lifecycle management for Signal K WASM plugins.\n *\n * This is the main entry point that coordinates the various loaders\n * and bindings for different WASM plugin formats.\n */\n\nimport * as fs from 'fs'\nimport Debug from 'debug'\n\n// Re-export types for backward compatibility\nexport {\n  WasmCapabilities,\n  WasmFormat,\n  WasmPluginInstance,\n  WasmPluginExports,\n  WasmResourceProvider\n} from './types'\n\n// Re-export utilities\nexport { detectWasmFormat } from './utils/format-detection'\n\n// Import loaders\nimport { loadStandardPlugin } from './loaders/standard-loader'\n\n// Import bindings\nimport {\n  cleanupResourceProviders,\n  wasmResourceProviders\n} from './bindings/resource-provider'\nimport {\n  cleanupWeatherProviders,\n  wasmWeatherProviders\n} from './bindings/weather-provider'\n\n// Import utilities\nimport { detectWasmFormat } from './utils/format-detection'\n\n// Import types\nimport { WasmPluginInstance, WasmCapabilities } from './types'\n\nconst debug = Debug('signalk:wasm:runtime')\n\n// Re-export provider maps for external access\nexport { wasmResourceProviders, wasmWeatherProviders }\n\nexport class WasmRuntime {\n  private instances: Map<string, WasmPluginInstance> = new Map()\n  private enabled: boolean = true\n\n  constructor() {\n    debug('Initializing WASM runtime')\n  }\n\n  /**\n   * Check if WASM support is enabled\n   */\n  isEnabled(): boolean {\n    return this.enabled\n  }\n\n  /**\n   * Enable or disable WASM plugin support\n   */\n  setEnabled(enabled: boolean): void {\n    this.enabled = enabled\n    debug(`WASM support ${enabled ? 'enabled' : 'disabled'}`)\n  }\n\n  /**\n   * Load and instantiate a WASM plugin module\n   */\n  async loadPlugin(\n    pluginId: string,\n    wasmPath: string,\n    vfsRoot: string,\n    capabilities: WasmCapabilities,\n    app?: any\n  ): Promise<WasmPluginInstance> {\n    if (!this.enabled) {\n      throw new Error('WASM support is disabled')\n    }\n\n    debug(`Loading WASM plugin: ${pluginId} from ${wasmPath}`)\n\n    try {\n      // Ensure VFS root exists\n      if (!fs.existsSync(vfsRoot)) {\n        fs.mkdirSync(vfsRoot, { recursive: true })\n      }\n\n      // Load WASM binary\n      debug(`Reading WASM file: ${wasmPath}`)\n      const wasmBuffer = fs.readFileSync(wasmPath)\n      debug(`WASM file size: ${wasmBuffer.length} bytes`)\n\n      const wasmFormat = detectWasmFormat(wasmBuffer)\n      debug(`Detected WASM format: ${wasmFormat}`)\n\n      if (wasmFormat !== 'wasi-p1') {\n        throw new Error(\n          `Unsupported WASM format: ${wasmFormat}. Only WASI P1 plugins (AssemblyScript/Rust) are supported.`\n        )\n      }\n\n      // Load standard WASI P1 plugin (AssemblyScript or Rust)\n      const pluginInstance = await loadStandardPlugin(\n        pluginId,\n        wasmPath,\n        wasmBuffer,\n        vfsRoot,\n        capabilities,\n        app\n      )\n\n      // Store the instance\n      this.instances.set(pluginId, pluginInstance)\n\n      debug(`Successfully loaded WASM plugin: ${pluginId}`)\n      return pluginInstance\n    } catch (error) {\n      const errorMsg = error instanceof Error ? error.message : String(error)\n      debug(`Failed to load WASM plugin ${pluginId}: ${errorMsg}`)\n      throw new Error(`Failed to load WASM plugin ${pluginId}: ${errorMsg}`)\n    }\n  }\n\n  /**\n   * Unload a WASM plugin instance\n   * @param pluginId The plugin ID to unload\n   * @param app Optional Signal K app reference for proper API cleanup\n   */\n  async unloadPlugin(pluginId: string, app?: any): Promise<void> {\n    const instance = this.instances.get(pluginId)\n    if (!instance) {\n      debug(`Plugin ${pluginId} not found in loaded instances`)\n      return\n    }\n\n    debug(`Unloading WASM plugin: ${pluginId}`)\n\n    try {\n      // Call stop if available\n      if (instance.exports.stop) {\n        instance.exports.stop()\n      }\n\n      // Clean up resource provider registrations for this plugin\n      // Pass app to also unregister from ResourcesApi\n      cleanupResourceProviders(pluginId, app)\n\n      // Clean up weather provider registrations for this plugin\n      // Pass app to also unregister from WeatherApi\n      cleanupWeatherProviders(pluginId, app)\n\n      // Remove from instances\n      this.instances.delete(pluginId)\n\n      // Let GC clean up the instance\n      debug(`Successfully unloaded WASM plugin: ${pluginId}`)\n    } catch (error) {\n      const errorMsg = error instanceof Error ? error.message : String(error)\n      debug(`Error unloading WASM plugin ${pluginId}: ${errorMsg}`)\n      throw error\n    }\n  }\n\n  /**\n   * Reload a WASM plugin (unload + load)\n   */\n  async reloadPlugin(pluginId: string): Promise<WasmPluginInstance> {\n    const oldInstance = this.instances.get(pluginId)\n    if (!oldInstance) {\n      throw new Error(`Plugin ${pluginId} not loaded`)\n    }\n\n    const { wasmPath, vfsRoot, capabilities } = oldInstance\n\n    // Unload old instance\n    await this.unloadPlugin(pluginId)\n\n    // Load new instance\n    return this.loadPlugin(pluginId, wasmPath, vfsRoot, capabilities)\n  }\n\n  /**\n   * Get a loaded plugin instance\n   */\n  getInstance(pluginId: string): WasmPluginInstance | undefined {\n    return this.instances.get(pluginId)\n  }\n\n  /**\n   * Get all loaded plugin instances\n   */\n  getAllInstances(): WasmPluginInstance[] {\n    return Array.from(this.instances.values())\n  }\n\n  /**\n   * Check if a plugin is loaded\n   */\n  isPluginLoaded(pluginId: string): boolean {\n    return this.instances.has(pluginId)\n  }\n\n  /**\n   * Shutdown the WASM runtime and unload all plugins\n   */\n  async shutdown(): Promise<void> {\n    debug('Shutting down WASM runtime')\n\n    const pluginIds = Array.from(this.instances.keys())\n    for (const pluginId of pluginIds) {\n      try {\n        await this.unloadPlugin(pluginId)\n      } catch (error) {\n        debug(`Error unloading plugin ${pluginId} during shutdown:`, error)\n      }\n    }\n\n    this.instances.clear()\n    debug('WASM runtime shutdown complete')\n  }\n}\n\n// Global singleton instance\nlet runtimeInstance: WasmRuntime | null = null\n\n/**\n * Get the global WASM runtime instance\n */\nexport function getWasmRuntime(): WasmRuntime {\n  if (!runtimeInstance) {\n    runtimeInstance = new WasmRuntime()\n  }\n  return runtimeInstance\n}\n\n/**\n * Initialize the WASM runtime\n */\nexport function initializeWasmRuntime(): WasmRuntime {\n  if (runtimeInstance) {\n    debug('WASM runtime already initialized')\n    return runtimeInstance\n  }\n\n  runtimeInstance = new WasmRuntime()\n  return runtimeInstance\n}\n\n/**\n * Reset the WASM runtime singleton (for hotplug support)\n * This should be called after shutdown to allow re-initialization\n */\nexport function resetWasmRuntime(): void {\n  debug('Resetting WASM runtime singleton')\n  runtimeInstance = null\n}\n"
  },
  {
    "path": "src/wasm/wasm-serverapi.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM ServerAPI FFI Bridge\n *\n * Provides the FFI (Foreign Function Interface) bridge between WASM plugins\n * and the Signal K ServerAPI. Enforces capability restrictions and handles\n * serialization across the WASM boundary.\n */\n\n/// <reference lib=\"webworker\" />\n\nimport Debug from 'debug'\nimport { SKVersion } from '@signalk/server-api'\nimport { getWasmPlugin } from './loader'\nimport {\n  getPluginStoragePaths,\n  readPluginConfig,\n  writePluginConfig\n} from './wasm-storage'\n\nconst debug = Debug('signalk:wasm:serverapi')\n\nexport interface ServerAPIBridge {\n  app: any\n  configPath: string\n}\n\n/**\n * Create ServerAPI FFI functions for a WASM plugin\n *\n * These functions will be imported by the WASM module and provide\n * access to Signal K server capabilities based on declared permissions.\n */\nexport function createServerAPIBridge(\n  app: any,\n  pluginId: string,\n  configPath: string\n): any {\n  const plugin = getWasmPlugin(pluginId)\n  if (!plugin) {\n    throw new Error(`Plugin ${pluginId} not found`)\n  }\n\n  const capabilities = plugin.metadata.capabilities\n\n  return {\n    // Delta Handler API\n    'delta-handler': {\n      /**\n       * Handle delta message from plugin\n       *\n       * @param pluginIdParam - Plugin identifier\n       * @param deltaJson - Delta message as JSON string\n       * @param version - Signal K version: 1 = v1 (default), 2 = v2\n       *\n       * Plugins should use v1 for regular navigation data.\n       * Use v2 for Course API paths and other v2-specific data.\n       */\n      handleMessage: (\n        pluginIdParam: string,\n        deltaJson: string,\n        version: number = 1\n      ) => {\n        if (!capabilities.dataWrite) {\n          throw new Error(`Plugin ${pluginId} lacks dataWrite capability`)\n        }\n\n        try {\n          const delta = JSON.parse(deltaJson)\n          const skVersion = version === 2 ? SKVersion.v2 : SKVersion.v1\n          debug(`Plugin ${pluginId} emitting delta (${skVersion}):`, delta)\n\n          // Forward to server's handleMessage with version\n          if (app.handleMessage) {\n            app.handleMessage(pluginId, delta, skVersion)\n          } else {\n            debug('Warning: app.handleMessage not available')\n          }\n        } catch (error) {\n          const errorMsg =\n            error instanceof Error ? error.message : String(error)\n          debug(`Error handling delta from ${pluginId}: ${errorMsg}`)\n          throw error\n        }\n      }\n    },\n\n    // Plugin Config API\n    'plugin-config': {\n      /**\n       * Read plugin configuration\n       */\n      readPluginOptions: (): string => {\n        const storagePaths = getPluginStoragePaths(\n          configPath,\n          pluginId,\n          plugin.packageName\n        )\n        const config = readPluginConfig(storagePaths.configFile)\n        return JSON.stringify(config.configuration || {})\n      },\n\n      /**\n       * Save plugin configuration\n       */\n      savePluginOptions: (configJson: string): number => {\n        try {\n          const configuration = JSON.parse(configJson)\n          const storagePaths = getPluginStoragePaths(\n            configPath,\n            pluginId,\n            plugin.packageName\n          )\n          const config = {\n            enabled: plugin.enabled,\n            configuration\n          }\n          writePluginConfig(storagePaths.configFile, config)\n          plugin.configuration = configuration\n          debug(`Plugin ${pluginId} saved configuration`)\n          return 0 // Success\n        } catch (error) {\n          const errorMsg =\n            error instanceof Error ? error.message : String(error)\n          debug(`Error saving config for ${pluginId}: ${errorMsg}`)\n          return 1 // Error\n        }\n      },\n\n      /**\n       * Get data directory path (VFS root from plugin perspective)\n       */\n      getDataDirPath: (): string => {\n        // Plugin sees \"/\" as its VFS root\n        return '/'\n      }\n    },\n\n    // Plugin Status API\n    'plugin-status': {\n      /**\n       * Set plugin status message\n       */\n      setPluginStatus: (message: string) => {\n        plugin.statusMessage = message\n        debug(`Plugin ${pluginId} status: ${message}`)\n\n        // Update in app status if available\n        if (app.setPluginStatus) {\n          app.setPluginStatus(pluginId, message)\n        }\n      },\n\n      /**\n       * Set plugin error message\n       */\n      setPluginError: (message: string) => {\n        plugin.errorMessage = message\n        plugin.status = 'error'\n        debug(`Plugin ${pluginId} error: ${message}`)\n\n        // Update in app status if available\n        if (app.setPluginError) {\n          app.setPluginError(pluginId, message)\n        }\n      },\n\n      /**\n       * Debug logging\n       */\n      debug: (message: string) => {\n        debug(`[${pluginId}] ${message}`)\n      },\n\n      /**\n       * Error logging\n       */\n      error: (message: string) => {\n        debug(`[${pluginId}] ERROR: ${message}`)\n      }\n    },\n\n    // Full Model API (Signal K full data model access)\n    'full-model': {\n      /**\n       * Get data from vessel.self path\n       */\n      getSelfPath: (path: string): string | null => {\n        if (!capabilities.dataRead) {\n          throw new Error(`Plugin ${pluginId} lacks dataRead capability`)\n        }\n\n        try {\n          const value = app.getSelfPath ? app.getSelfPath(path) : undefined\n          return value !== undefined ? JSON.stringify(value) : null\n        } catch (error) {\n          debug(`Error getting self path ${path} for ${pluginId}:`, error)\n          return null\n        }\n      },\n\n      /**\n       * Get data from any context path\n       */\n      getPath: (path: string): string | null => {\n        if (!capabilities.dataRead) {\n          throw new Error(`Plugin ${pluginId} lacks dataRead capability`)\n        }\n\n        try {\n          const value = app.getPath ? app.getPath(path) : undefined\n          return value !== undefined ? JSON.stringify(value) : null\n        } catch (error) {\n          debug(`Error getting path ${path} for ${pluginId}:`, error)\n          return null\n        }\n      }\n    }\n  }\n}\n\n/**\n * Create WASM import object with ServerAPI functions\n *\n * This generates the WebAssembly imports that will be available to the plugin.\n * In Phase 1, we use a simplified approach. Full WIT bindings will be added later.\n */\nexport function createWasmImports(\n  app: any,\n  pluginId: string,\n  configPath: string\n): WebAssembly.Imports {\n  const bridge = createServerAPIBridge(app, pluginId, configPath)\n\n  // Create flat import object for WASM\n  // Note: This is a simplified version for Phase 1\n  // Full WIT integration will provide proper type-safe bindings\n  return {\n    env: {\n      // Delta handling\n      sk_handle_message: (\n        deltaPtr: number,\n        deltaLen: number,\n        memory: WebAssembly.Memory\n      ) => {\n        const deltaJson = readStringFromMemory(memory, deltaPtr, deltaLen)\n        bridge['delta-handler'].handleMessage(pluginId, deltaJson)\n      },\n\n      // Configuration\n      sk_read_config: (\n        bufPtr: number,\n        bufLen: number,\n        memory: WebAssembly.Memory\n      ): number => {\n        const configJson = bridge['plugin-config'].readPluginOptions()\n        return writeStringToMemory(memory, bufPtr, bufLen, configJson)\n      },\n\n      sk_save_config: (\n        configPtr: number,\n        configLen: number,\n        memory: WebAssembly.Memory\n      ): number => {\n        const configJson = readStringFromMemory(memory, configPtr, configLen)\n        return bridge['plugin-config'].savePluginOptions(configJson)\n      },\n\n      // Status\n      sk_set_status: (\n        msgPtr: number,\n        msgLen: number,\n        memory: WebAssembly.Memory\n      ) => {\n        const message = readStringFromMemory(memory, msgPtr, msgLen)\n        bridge['plugin-status'].setPluginStatus(message)\n      },\n\n      sk_set_error: (\n        msgPtr: number,\n        msgLen: number,\n        memory: WebAssembly.Memory\n      ) => {\n        const message = readStringFromMemory(memory, msgPtr, msgLen)\n        bridge['plugin-status'].setPluginError(message)\n      },\n\n      sk_debug: (\n        msgPtr: number,\n        msgLen: number,\n        memory: WebAssembly.Memory\n      ) => {\n        const message = readStringFromMemory(memory, msgPtr, msgLen)\n        bridge['plugin-status'].debug(message)\n      },\n\n      // Data model\n      sk_get_self_path: (\n        pathPtr: number,\n        pathLen: number,\n        bufPtr: number,\n        bufLen: number,\n        memory: WebAssembly.Memory\n      ): number => {\n        const path = readStringFromMemory(memory, pathPtr, pathLen)\n        const value = bridge['full-model'].getSelfPath(path)\n        if (value === null) {\n          return 0 // Not found\n        }\n        return writeStringToMemory(memory, bufPtr, bufLen, value)\n      },\n\n      sk_get_path: (\n        pathPtr: number,\n        pathLen: number,\n        bufPtr: number,\n        bufLen: number,\n        memory: WebAssembly.Memory\n      ): number => {\n        const path = readStringFromMemory(memory, pathPtr, pathLen)\n        const value = bridge['full-model'].getPath(path)\n        if (value === null) {\n          return 0 // Not found\n        }\n        return writeStringToMemory(memory, bufPtr, bufLen, value)\n      }\n    }\n  }\n}\n\n/**\n * Read a string from WASM memory\n */\nfunction readStringFromMemory(\n  memory: WebAssembly.Memory,\n  ptr: number,\n  len: number\n): string {\n  const buffer = new Uint8Array(memory.buffer, ptr, len)\n  const decoder = new TextDecoder()\n  return decoder.decode(buffer)\n}\n\n/**\n * Write a string to WASM memory\n * Returns the number of bytes written, or 0 if buffer too small\n */\nfunction writeStringToMemory(\n  memory: WebAssembly.Memory,\n  ptr: number,\n  maxLen: number,\n  str: string\n): number {\n  const encoder = new TextEncoder()\n  const encoded = encoder.encode(str)\n\n  if (encoded.length > maxLen) {\n    debug(`Buffer too small: need ${encoded.length}, have ${maxLen}`)\n    return 0\n  }\n\n  const buffer = new Uint8Array(memory.buffer, ptr, maxLen)\n  buffer.set(encoded)\n\n  return encoded.length\n}\n\n/**\n * Call a WASM plugin export with error handling\n */\nexport function callWasmExport<T>(\n  pluginId: string,\n  exportName: string,\n  ...args: any[]\n): T {\n  const plugin = getWasmPlugin(pluginId)\n  if (!plugin || !plugin.instance) {\n    throw new Error(`Plugin ${pluginId} not loaded`)\n  }\n\n  try {\n    const exportFn = (plugin.instance.exports as any)[exportName]\n    if (typeof exportFn !== 'function') {\n      throw new Error(`Export ${exportName} not found or not a function`)\n    }\n\n    return exportFn(...args) as T\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error calling ${exportName} on ${pluginId}: ${errorMsg}`)\n    throw error\n  }\n}\n"
  },
  {
    "path": "src/wasm/wasm-storage.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Plugin Virtual Filesystem (VFS) Management\n *\n * Handles isolated storage for WASM plugins using WASI virtual filesystem.\n * Each plugin gets its own VFS root for secure, sandboxed file access.\n */\n\nimport * as fs from 'fs'\nimport * as path from 'path'\nimport Debug from 'debug'\nimport { derivePluginId } from '../pluginid'\nimport { atomicWriteFileSync } from '../atomicWrite'\n\nconst debug = Debug('signalk:wasm:storage')\n\nexport interface PluginStoragePaths {\n  // Root directory for all plugin data\n  pluginDataRoot: string\n\n  // Server-managed config file (outside VFS)\n  configFile: string\n\n  // VFS root (what plugin sees as \"/\")\n  vfsRoot: string\n\n  // Standard VFS subdirectories\n  vfsData: string // /data (persistent storage)\n  vfsConfig: string // /config (plugin-managed config)\n  vfsTmp: string // /tmp (temporary files)\n}\n\n/**\n * Get storage paths for a WASM plugin\n *\n * @param configPath - Server config directory path\n * @param pluginId - Plugin ID (e.g., \"hello-assemblyscript\") - used for config file to match regular plugins\n * @param packageName - NPM package name (e.g., \"@signalk/hello-assemblyscript\") - used for VFS directory\n */\nexport function getPluginStoragePaths(\n  configPath: string,\n  pluginId: string,\n  packageName: string\n): PluginStoragePaths {\n  // Config file goes directly in plugin-config-data/ like regular plugins\n  const configDataPath = path.join(configPath, 'plugin-config-data')\n\n  // Use plugin ID for config file (matches regular Node.js plugins)\n  const configFile = path.join(configDataPath, `${pluginId}.json`)\n\n  // Use sanitized package name for VFS directory (for isolation)\n  // Use same pattern as plugin ID: @ → _, / → _\n  // @signalk/hello-assemblyscript -> _signalk_hello-assemblyscript\n  const sanitizedPackageName = derivePluginId(packageName)\n  const pluginDataRoot = path.join(configDataPath, sanitizedPackageName)\n  const vfsRoot = path.join(pluginDataRoot, 'vfs')\n\n  return {\n    pluginDataRoot,\n    configFile, // e.g., ~/.signalk/plugin-config-data/_signalk_example-hello-assemblyscript.json\n    vfsRoot, // e.g., ~/.signalk/plugin-config-data/_signalk_example-hello-assemblyscript/vfs/\n    vfsData: path.join(vfsRoot, 'data'),\n    vfsConfig: path.join(vfsRoot, 'config'),\n    vfsTmp: path.join(vfsRoot, 'tmp')\n  }\n}\n\n/**\n * Initialize VFS structure for a WASM plugin\n */\nexport function initializePluginVfs(paths: PluginStoragePaths): void {\n  debug(`Initializing VFS for plugin at ${paths.vfsRoot}`)\n\n  try {\n    // Create VFS root and subdirectories\n    const dirsToCreate = [\n      paths.pluginDataRoot,\n      paths.vfsRoot,\n      paths.vfsData,\n      paths.vfsConfig,\n      paths.vfsTmp\n    ]\n\n    for (const dir of dirsToCreate) {\n      if (!fs.existsSync(dir)) {\n        fs.mkdirSync(dir, { recursive: true })\n        debug(`Created directory: ${dir}`)\n      }\n    }\n\n    debug(`VFS initialized successfully at ${paths.vfsRoot}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Failed to initialize VFS: ${errorMsg}`)\n    throw new Error(`Failed to initialize plugin VFS: ${errorMsg}`)\n  }\n}\n\n/**\n * Read plugin configuration from server-managed config file\n */\nexport function readPluginConfig(configFile: string): any {\n  try {\n    if (!fs.existsSync(configFile)) {\n      debug(`Config file not found: ${configFile}, returning default config`)\n      // Note: Do NOT include configuration key - UI shows \"Configure\" button when configuration is null/undefined\n      return {\n        enabled: false\n      }\n    }\n\n    const configData = fs.readFileSync(configFile, 'utf8')\n    return JSON.parse(configData)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error reading plugin config: ${errorMsg}`)\n    // Note: Do NOT include configuration key - UI shows \"Configure\" button when configuration is null/undefined\n    return {\n      enabled: false\n    }\n  }\n}\n\n/**\n * Write plugin configuration to server-managed config file\n */\nexport function writePluginConfig(configFile: string, config: any): void {\n  try {\n    const configDir = path.dirname(configFile)\n    if (!fs.existsSync(configDir)) {\n      fs.mkdirSync(configDir, { recursive: true })\n    }\n\n    atomicWriteFileSync(configFile, JSON.stringify(config, null, 2))\n    debug(`Wrote plugin config to ${configFile}`)\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error writing plugin config: ${errorMsg}`)\n    throw new Error(`Failed to write plugin config: ${errorMsg}`)\n  }\n}\n\n/**\n * Migrate data from Node.js plugin format to WASM VFS format\n *\n * Copies files from legacy Node.js plugin data directory to VFS /data directory.\n * Legacy files are preserved for rollback.\n */\nexport function migrateFromNodeJs(\n  legacyDataDir: string,\n  vfsDataDir: string,\n  filesToMigrate: string[]\n): void {\n  debug(`Migrating data from ${legacyDataDir} to ${vfsDataDir}`)\n\n  if (!fs.existsSync(legacyDataDir)) {\n    debug('Legacy data directory does not exist, skipping migration')\n    return\n  }\n\n  if (!fs.existsSync(vfsDataDir)) {\n    fs.mkdirSync(vfsDataDir, { recursive: true })\n  }\n\n  let migratedCount = 0\n\n  for (const filename of filesToMigrate) {\n    const legacyPath = path.join(legacyDataDir, filename)\n    const vfsPath = path.join(vfsDataDir, filename)\n\n    if (fs.existsSync(legacyPath)) {\n      try {\n        // Copy file to VFS (preserve legacy file)\n        fs.copyFileSync(legacyPath, vfsPath)\n        debug(`Migrated: ${filename}`)\n        migratedCount++\n      } catch (error) {\n        const errorMsg = error instanceof Error ? error.message : String(error)\n        debug(`Failed to migrate ${filename}: ${errorMsg}`)\n      }\n    }\n  }\n\n  debug(\n    `Migration complete: ${migratedCount}/${filesToMigrate.length} files migrated`\n  )\n}\n\n/**\n * Clean up VFS temporary files\n */\nexport function cleanupVfsTmp(vfsTmpDir: string): void {\n  try {\n    if (!fs.existsSync(vfsTmpDir)) {\n      return\n    }\n\n    const files = fs.readdirSync(vfsTmpDir)\n    let deletedCount = 0\n\n    for (const file of files) {\n      try {\n        const filePath = path.join(vfsTmpDir, file)\n        const stats = fs.statSync(filePath)\n\n        if (stats.isFile()) {\n          fs.unlinkSync(filePath)\n          deletedCount++\n        }\n      } catch (error) {\n        debug(`Failed to delete temp file ${file}:`, error)\n      }\n    }\n\n    debug(`Cleaned up ${deletedCount} temporary files from ${vfsTmpDir}`)\n  } catch (error) {\n    debug(`Error cleaning up temp directory:`, error)\n  }\n}\n\n/**\n * Get disk usage for a plugin's VFS\n */\nexport function getVfsDiskUsage(vfsRoot: string): {\n  totalBytes: number\n  fileCount: number\n} {\n  let totalBytes = 0\n  let fileCount = 0\n\n  function walkDirectory(dir: string): void {\n    try {\n      if (!fs.existsSync(dir)) {\n        return\n      }\n\n      const entries = fs.readdirSync(dir)\n\n      for (const entry of entries) {\n        const entryPath = path.join(dir, entry)\n        const stats = fs.statSync(entryPath)\n\n        if (stats.isFile()) {\n          totalBytes += stats.size\n          fileCount++\n        } else if (stats.isDirectory()) {\n          walkDirectory(entryPath)\n        }\n      }\n    } catch (error) {\n      debug(`Error reading directory ${dir}:`, error)\n    }\n  }\n\n  walkDirectory(vfsRoot)\n\n  return { totalBytes, fileCount }\n}\n\n/**\n * Delete all VFS data for a plugin\n */\nexport function deletePluginVfs(paths: PluginStoragePaths): void {\n  debug(`Deleting VFS for plugin at ${paths.vfsRoot}`)\n\n  try {\n    if (fs.existsSync(paths.vfsRoot)) {\n      fs.rmSync(paths.vfsRoot, { recursive: true, force: true })\n      debug(`Deleted VFS directory: ${paths.vfsRoot}`)\n    }\n\n    // Note: We keep the server-managed config file for plugin settings\n    debug('VFS deletion complete')\n  } catch (error) {\n    const errorMsg = error instanceof Error ? error.message : String(error)\n    debug(`Error deleting VFS: ${errorMsg}`)\n    throw new Error(`Failed to delete plugin VFS: ${errorMsg}`)\n  }\n}\n"
  },
  {
    "path": "src/wasm/wasm-subscriptions.ts",
    "content": "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * WASM Plugin Delta Subscription Management\n *\n * Manages delta subscriptions for WASM plugins, including:\n * - Subscription pattern matching\n * - Buffering during hot-reload\n * - Subscription state preservation across reloads\n */\n\nimport Debug from 'debug'\n\nconst debug = Debug('signalk:wasm:subscriptions')\n\nexport interface DeltaSubscription {\n  pluginId: string\n  pattern: string // Path pattern like \"navigation.*\" or \"*\"\n  callback: (delta: any) => void\n}\n\nexport interface Delta {\n  context: string\n  updates: Array<{\n    source: any\n    timestamp: string\n    values: Array<{\n      path: string\n      value: any\n    }>\n  }>\n}\n\nexport class WasmSubscriptionManager {\n  // Active subscriptions by plugin ID\n  private subscriptions: Map<string, DeltaSubscription[]> = new Map()\n\n  // Buffered deltas during reload\n  private buffers: Map<string, Delta[]> = new Map()\n\n  // Buffering state\n  private buffering: Set<string> = new Set()\n\n  /**\n   * Register a delta subscription for a plugin\n   */\n  register(\n    pluginId: string,\n    pattern: string,\n    callback: (delta: any) => void\n  ): void {\n    if (!this.subscriptions.has(pluginId)) {\n      this.subscriptions.set(pluginId, [])\n    }\n\n    const subscription: DeltaSubscription = {\n      pluginId,\n      pattern,\n      callback\n    }\n\n    this.subscriptions.get(pluginId)!.push(subscription)\n    debug(`Registered subscription for ${pluginId}: ${pattern}`)\n  }\n\n  /**\n   * Unregister all subscriptions for a plugin\n   */\n  unregister(pluginId: string): void {\n    const count = this.subscriptions.get(pluginId)?.length || 0\n    this.subscriptions.delete(pluginId)\n    debug(`Unregistered ${count} subscriptions for ${pluginId}`)\n  }\n\n  /**\n   * Get all subscriptions for a plugin\n   */\n  getSubscriptions(pluginId: string): DeltaSubscription[] {\n    return this.subscriptions.get(pluginId) || []\n  }\n\n  /**\n   * Check if a delta path matches a subscription pattern\n   */\n  private matchesPattern(path: string, pattern: string): boolean {\n    if (pattern === '*') {\n      return true\n    }\n\n    // Simple glob-style matching\n    // \"navigation.*\" matches \"navigation.position\", \"navigation.courseOverGroundTrue\", etc.\n    const regexPattern = pattern\n      .replace(/[\\\\^$+?()[\\]{}|]/g, '\\\\$&')\n      .replace(/\\./g, '\\\\.')\n      .replace(/\\*/g, '.*')\n\n    const regex = new RegExp(`^${regexPattern}$`)\n    return regex.test(path)\n  }\n\n  /**\n   * Route a delta to subscribed plugins\n   */\n  routeDelta(delta: Delta): void {\n    for (const [pluginId, subs] of this.subscriptions) {\n      // Check if buffering for this plugin\n      if (this.buffering.has(pluginId)) {\n        this.bufferDelta(pluginId, delta)\n        continue\n      }\n\n      // Check if any subscription matches delta paths\n      for (const sub of subs) {\n        let matches = false\n\n        for (const update of delta.updates) {\n          for (const pathValue of update.values) {\n            if (this.matchesPattern(pathValue.path, sub.pattern)) {\n              matches = true\n              break\n            }\n          }\n          if (matches) break\n        }\n\n        if (matches) {\n          try {\n            sub.callback(delta)\n          } catch (error) {\n            debug(`Error in subscription callback for ${pluginId}:`, error)\n          }\n          break // Only call once per plugin per delta\n        }\n      }\n    }\n  }\n\n  /**\n   * Start buffering deltas for a plugin (during reload)\n   */\n  startBuffering(pluginId: string): void {\n    debug(`Started buffering deltas for ${pluginId}`)\n    this.buffering.add(pluginId)\n    this.buffers.set(pluginId, [])\n  }\n\n  /**\n   * Stop buffering and return buffered deltas\n   */\n  stopBuffering(pluginId: string): Delta[] {\n    debug(`Stopped buffering deltas for ${pluginId}`)\n    this.buffering.delete(pluginId)\n\n    const buffered = this.buffers.get(pluginId) || []\n    this.buffers.delete(pluginId)\n\n    debug(`Returning ${buffered.length} buffered deltas for ${pluginId}`)\n    return buffered\n  }\n\n  /**\n   * Buffer a delta for a plugin\n   */\n  private bufferDelta(pluginId: string, delta: Delta): void {\n    if (!this.buffers.has(pluginId)) {\n      this.buffers.set(pluginId, [])\n    }\n\n    const buffer = this.buffers.get(pluginId)!\n    buffer.push(delta)\n\n    // Limit buffer size to prevent memory issues\n    const MAX_BUFFER_SIZE = 1000\n    if (buffer.length > MAX_BUFFER_SIZE) {\n      buffer.shift() // Remove oldest\n      debug(`Buffer overflow for ${pluginId}, dropped oldest delta`)\n    }\n  }\n\n  /**\n   * Redirect delta routing to buffer for a plugin\n   */\n  redirectToBuffer(pluginId: string): void {\n    this.startBuffering(pluginId)\n  }\n\n  /**\n   * Restore normal delta routing for a plugin\n   */\n  restore(pluginId: string): void {\n    this.stopBuffering(pluginId)\n  }\n\n  /**\n   * Replay buffered deltas to a plugin's callback\n   */\n  replayBuffered(pluginId: string, callback: (delta: Delta) => void): void {\n    const buffered = this.buffers.get(pluginId) || []\n    debug(`Replaying ${buffered.length} buffered deltas to ${pluginId}`)\n\n    for (const delta of buffered) {\n      try {\n        callback(delta)\n      } catch (error) {\n        debug(`Error replaying delta to ${pluginId}:`, error)\n      }\n    }\n\n    // Clear buffer after replay\n    this.buffers.delete(pluginId)\n  }\n\n  /**\n   * Get statistics about subscriptions\n   */\n  getStats(): {\n    totalSubscriptions: number\n    activePlugins: number\n    bufferingPlugins: number\n    bufferedDeltas: number\n  } {\n    let totalSubscriptions = 0\n    for (const subs of this.subscriptions.values()) {\n      totalSubscriptions += subs.length\n    }\n\n    let bufferedDeltas = 0\n    for (const buffer of this.buffers.values()) {\n      bufferedDeltas += buffer.length\n    }\n\n    return {\n      totalSubscriptions,\n      activePlugins: this.subscriptions.size,\n      bufferingPlugins: this.buffering.size,\n      bufferedDeltas\n    }\n  }\n\n  /**\n   * Clear all subscriptions and buffers\n   */\n  clear(): void {\n    this.subscriptions.clear()\n    this.buffers.clear()\n    this.buffering.clear()\n    debug('Cleared all subscriptions and buffers')\n  }\n}\n\n// Global singleton instance\nlet subscriptionManager: WasmSubscriptionManager | null = null\n\n/**\n * Get the global subscription manager\n */\nexport function getSubscriptionManager(): WasmSubscriptionManager {\n  if (!subscriptionManager) {\n    subscriptionManager = new WasmSubscriptionManager()\n  }\n  return subscriptionManager\n}\n\n/**\n * Initialize the subscription manager\n */\nexport function initializeSubscriptionManager(): WasmSubscriptionManager {\n  if (subscriptionManager) {\n    debug('Subscription manager already initialized')\n    return subscriptionManager\n  }\n\n  subscriptionManager = new WasmSubscriptionManager()\n  debug('Subscription manager initialized')\n  return subscriptionManager\n}\n\n/**\n * Reset the subscription manager singleton (for hotplug support)\n * This should be called after shutdown to allow re-initialization\n */\nexport function resetSubscriptionManager(): void {\n  debug('Resetting subscription manager singleton')\n  subscriptionManager = null\n}\n"
  },
  {
    "path": "src/zip.ts",
    "content": "import archiver from 'archiver'\nimport { Response } from 'express'\nimport fs from 'fs'\n\ninterface ZipFile {\n  path: string\n  name: string\n}\n\ninterface ZipOptions {\n  files: ZipFile[]\n  filename: string\n}\n\n/**\n * Send a zip file as a download response.\n * Replacement for express-easy-zip using archiver directly.\n */\nexport function sendZip(res: Response, options: ZipOptions): void {\n  const { files, filename } = options\n\n  res.setHeader('Content-Type', 'application/zip')\n  res.setHeader('Content-Disposition', `attachment; filename=\"${filename}.zip\"`)\n\n  const archive = archiver('zip', {\n    zlib: { level: 9 }\n  })\n\n  archive.on('error', (err: Error) => {\n    console.error('Zip archive error:', err)\n    if (!res.headersSent) {\n      res.status(500).send('Error creating zip file')\n    }\n  })\n\n  archive.pipe(res)\n\n  for (const file of files) {\n    const stat = fs.statSync(file.path)\n    if (stat.isDirectory()) {\n      archive.directory(file.path, file.name)\n    } else {\n      archive.file(file.path, { name: file.name })\n    }\n  }\n\n  archive.finalize()\n}\n"
  },
  {
    "path": "src/zones.ts",
    "content": "import { ALARM_METHOD, Delta, Path, Value, Zone } from '@signalk/server-api'\nimport { StreamBundle } from './streambundle'\nimport { createDebug } from './debug'\n\nconst debug = createDebug('signalk-server:zones')\n\nexport interface ZoneMethods {\n  normalMethod?: ALARM_METHOD[] | null\n  nominalMethod?: ALARM_METHOD[] | null\n  alertMethod?: ALARM_METHOD[] | null\n  warnMethod?: ALARM_METHOD[] | null\n  alarmMethod?: ALARM_METHOD[] | null\n  emergencyMethod?: ALARM_METHOD[] | null\n}\n\nexport class Zones {\n  private unsubscribesForPaths: {\n    [path: Path]: () => void\n  } = {}\n  constructor(\n    private streambundle: StreamBundle,\n    private sendDelta: (delta: Delta) => void\n  ) {\n    streambundle.getSelfMetaBus().onValue((metaMessage) => {\n      debug.enabled && debug(`${JSON.stringify(metaMessage)}`)\n      const { path, value } = metaMessage\n\n      //send normal notification to clear out any previous notification\n      //when zones field is reset\n      if (value.zones === null) {\n        this.sendNormalDelta(path)\n        return\n      }\n      if (value.zones) {\n        this.watchForZones(path, value.zones, value as ZoneMethods)\n      }\n    })\n  }\n\n  sendNormalDelta(path: Path) {\n    this.sendDelta({\n      updates: [\n        {\n          values: [\n            {\n              path: `notifications.${path}` as Path,\n              value: { state: 'normal', method: [] }\n            }\n          ]\n        }\n      ]\n    })\n  }\n\n  watchForZones(path: Path, zones: Zone[], methods: ZoneMethods) {\n    if (this.unsubscribesForPaths[path]) {\n      this.unsubscribesForPaths[path]()\n    }\n    const tests = zones.map((zone) => {\n      const { upper = Infinity, lower = -Infinity } = zone\n\n      return (value: Value) => {\n        return typeof value === 'number' && value < upper && value >= lower\n      }\n    })\n\n    this.unsubscribesForPaths[path] = this.streambundle\n      .getSelfStream(path)\n      .map((value) => {\n        if (value === null) {\n          return -1\n        }\n        const zoneIndex = tests.findIndex((test) => test(value))\n        return zoneIndex\n      })\n      .skipDuplicates()\n      .onValue((zoneIndex: number) => {\n        if (debug.enabled) {\n          debug(`Notify: ${path}, zone ${zoneIndex}`)\n        }\n        this.sendDelta(getNotificationDelta(path, zoneIndex, zones, methods))\n      })\n  }\n}\n\nexport function getMethod(state: string, methods: ZoneMethods): ALARM_METHOD[] {\n  const methodName = `${state}Method` as keyof ZoneMethods\n  const method = methods[methodName]\n  if (Array.isArray(method)) {\n    return method\n  }\n  // Explicitly null means no methods\n  if (method === null) {\n    return []\n  }\n  // Undefined => default to visual\n  return [ALARM_METHOD.visual]\n}\n\nfunction getNotificationDelta(\n  path: Path,\n  zoneIndex: number,\n  zones: Zone[],\n  methods: ZoneMethods\n) {\n  let value = null\n  if (zoneIndex >= 0) {\n    const { lower, upper, state, message } = zones[zoneIndex]\n    value = {\n      state: state as string,\n      message: message || `${lower} < value < ${upper}`,\n      method: getMethod(state, methods)\n    }\n  } else {\n    // Default to \"normal\" zone\n    value = {\n      state: 'normal',\n      message: 'Value is within normal range',\n      method: getMethod('normal', methods)\n    }\n  }\n  return {\n    updates: [\n      {\n        values: [\n          {\n            path: `notifications.${path}` as Path,\n            value: value\n          }\n        ]\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "test/BackpressureManager.ts",
    "content": "import { expect } from 'chai'\nimport type { Delta } from '@signalk/server-api'\nimport {\n  BackpressureManager,\n  BackpressureOptions,\n  BackpressureTransport,\n  parseBackpressureThresholds\n} from '../dist/BackpressureManager'\n\ninterface MockTransport extends BackpressureTransport {\n  _bufferLength: number\n  _writes: Delta[]\n  _destroyed: boolean\n  _bufferLengthCalls: number\n}\n\nfunction createMockTransport(bufferLength = 0): MockTransport {\n  return {\n    id: 'test-transport',\n    _bufferLength: bufferLength,\n    _writes: [],\n    _destroyed: false,\n    _bufferLengthCalls: 0,\n    getBufferLength() {\n      this._bufferLengthCalls++\n      return this._bufferLength\n    },\n    write(delta: Delta) {\n      this._writes.push(delta)\n    },\n    destroy() {\n      this._destroyed = true\n    }\n  }\n}\n\nfunction createDelta(path: string, value: unknown, source?: string): Delta {\n  return {\n    context: 'vessels.self',\n    updates: [\n      {\n        $source: source || 'test',\n        timestamp: '2024-01-15T10:30:00.000Z',\n        values: [{ path, value }]\n      }\n    ]\n  } as Delta\n}\n\nconst defaultOptions: BackpressureOptions = {\n  enterThreshold: 1000,\n  exitThreshold: 100,\n  maxBufferSize: 5000,\n  maxBufferCheckTime: 1000\n}\n\ndescribe('BackpressureManager', function () {\n  describe('initial state', function () {\n    it('should start inactive with empty accumulator', function () {\n      const transport = createMockTransport()\n      const manager = new BackpressureManager(transport, defaultOptions)\n      expect(manager.isActive).to.be.false\n      expect(manager.accumulatorSize).to.equal(0)\n    })\n  })\n\n  describe('send', function () {\n    it('should write directly when buffer is below threshold', function () {\n      const transport = createMockTransport(0)\n      const manager = new BackpressureManager(transport, defaultOptions)\n      const delta = createDelta('navigation.speedOverGround', 5.0)\n\n      manager.send(delta)\n\n      expect(transport._writes.length).to.equal(1)\n      expect(transport._writes[0]).to.equal(delta)\n      expect(manager.isActive).to.be.false\n    })\n\n    it('should call beforeWrite hook when writing directly', function () {\n      const transport = createMockTransport(0)\n      const beforeWriteCalls: Delta[] = []\n      const manager = new BackpressureManager(transport, {\n        ...defaultOptions,\n        beforeWrite: (delta: Delta) => beforeWriteCalls.push(delta)\n      })\n      const delta = createDelta('navigation.speedOverGround', 5.0)\n\n      manager.send(delta)\n\n      expect(beforeWriteCalls.length).to.equal(1)\n      expect(beforeWriteCalls[0]).to.equal(delta)\n    })\n\n    it('should accumulate when buffer exceeds enter threshold', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n      const delta = createDelta('navigation.speedOverGround', 5.0)\n\n      manager.send(delta)\n\n      expect(transport._writes.length).to.equal(0)\n      expect(manager.isActive).to.be.true\n      expect(manager.accumulatorSize).to.equal(1)\n    })\n\n    it('should keep only latest value per context:path:source', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n      manager.send(createDelta('navigation.speedOverGround', 5.5))\n      manager.send(createDelta('navigation.speedOverGround', 6.0))\n\n      expect(manager.accumulatorSize).to.equal(1)\n    })\n\n    it('should read transport buffer length only once per send', function () {\n      const transport = createMockTransport(0)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n\n      expect(transport._bufferLengthCalls).to.equal(1)\n    })\n\n    it('should work without beforeWrite hook', function () {\n      const transport = createMockTransport(0)\n      const manager = new BackpressureManager(transport, defaultOptions)\n      const delta = createDelta('navigation.speedOverGround', 5.0)\n\n      manager.send(delta)\n\n      expect(transport._writes.length).to.equal(1)\n    })\n  })\n\n  describe('onDrain', function () {\n    it('should flush when buffer drops below exit threshold', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n      expect(manager.isActive).to.be.true\n\n      transport._bufferLength = 50\n      manager.onDrain()\n\n      expect(manager.isActive).to.be.false\n      expect(manager.accumulatorSize).to.equal(0)\n      expect(transport._writes.length).to.equal(1)\n    })\n\n    it('should not flush when buffer is still above exit threshold', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n\n      transport._bufferLength = 500\n      manager.onDrain()\n\n      expect(manager.isActive).to.be.true\n      expect(manager.accumulatorSize).to.equal(1)\n    })\n\n    it('should be a no-op when not in backpressure', function () {\n      const transport = createMockTransport(0)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.onDrain()\n\n      expect(transport._writes.length).to.equal(0)\n    })\n  })\n\n  describe('flush', function () {\n    it('should write accumulated deltas and clear state', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0, 'gps'))\n      manager.send(createDelta('navigation.courseOverGroundTrue', 1.57, 'gps'))\n\n      transport._bufferLength = 0\n      manager.flush()\n\n      expect(transport._writes.length).to.equal(1)\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      const written = transport._writes[0] as any\n      expect(written.$backpressure).to.exist\n      expect(written.$backpressure.accumulated).to.equal(2)\n      expect(manager.isActive).to.be.false\n      expect(manager.accumulatorSize).to.equal(0)\n    })\n\n    it('should call beforeWrite hook for each flushed delta', function () {\n      const transport = createMockTransport(2000)\n      const beforeWriteCalls: Delta[] = []\n      const manager = new BackpressureManager(transport, {\n        ...defaultOptions,\n        beforeWrite: (delta: Delta) => beforeWriteCalls.push(delta)\n      })\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n      manager.flush()\n\n      expect(beforeWriteCalls.length).to.equal(1)\n    })\n\n    it('should be a no-op with empty accumulator', function () {\n      const transport = createMockTransport(0)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.flush()\n\n      expect(transport._writes.length).to.equal(0)\n    })\n  })\n\n  describe('assertBufferSize', function () {\n    it('should destroy connection when buffer exceeded for too long', function (done) {\n      const transport = createMockTransport(6000)\n      const manager = new BackpressureManager(transport, {\n        ...defaultOptions,\n        maxBufferCheckTime: 10\n      })\n\n      manager.assertBufferSize()\n      expect(transport._destroyed).to.be.false\n\n      setTimeout(() => {\n        manager.assertBufferSize()\n        expect(transport._destroyed).to.be.true\n        done()\n      }, 15)\n    })\n\n    it('should not destroy when buffer drops below max', function () {\n      const transport = createMockTransport(6000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.assertBufferSize()\n      transport._bufferLength = 100\n      manager.assertBufferSize()\n\n      expect(transport._destroyed).to.be.false\n    })\n\n    it('should be a no-op when maxBufferSize is 0', function () {\n      const transport = createMockTransport(999999)\n      const manager = new BackpressureManager(transport, {\n        ...defaultOptions,\n        maxBufferSize: 0,\n        maxBufferCheckTime: 0\n      })\n\n      manager.assertBufferSize()\n\n      expect(transport._destroyed).to.be.false\n    })\n  })\n\n  describe('clear', function () {\n    it('should reset all state', function () {\n      const transport = createMockTransport(2000)\n      const manager = new BackpressureManager(transport, defaultOptions)\n\n      manager.send(createDelta('navigation.speedOverGround', 5.0))\n      expect(manager.isActive).to.be.true\n\n      manager.clear()\n\n      expect(manager.isActive).to.be.false\n      expect(manager.accumulatorSize).to.equal(0)\n    })\n  })\n})\n\ndescribe('parseBackpressureThresholds', function () {\n  const savedEnv: Record<string, string | undefined> = {}\n\n  beforeEach(function () {\n    ;[\n      'BACKPRESSURE_ENTER',\n      'BACKPRESSURE_EXIT',\n      'MAXSENDBUFFERSIZE',\n      'MAXSENDBUFFERCHECKTIME'\n    ].forEach((key) => {\n      savedEnv[key] = process.env[key]\n      delete process.env[key]\n    })\n  })\n\n  afterEach(function () {\n    Object.entries(savedEnv).forEach(([key, value]) => {\n      if (value === undefined) {\n        delete process.env[key]\n      } else {\n        process.env[key] = value\n      }\n    })\n  })\n\n  it('should return defaults when no env vars set', function () {\n    const thresholds = parseBackpressureThresholds()\n    expect(thresholds.enterThreshold).to.equal(512 * 1024)\n    expect(thresholds.exitThreshold).to.equal(1024)\n    expect(thresholds.maxBufferSize).to.equal(4 * 512 * 1024)\n    expect(thresholds.maxBufferCheckTime).to.equal(30 * 1000)\n  })\n\n  it('should respect env vars', function () {\n    process.env.BACKPRESSURE_ENTER = '1000'\n    process.env.BACKPRESSURE_EXIT = '500'\n    process.env.MAXSENDBUFFERSIZE = '2000'\n    process.env.MAXSENDBUFFERCHECKTIME = '5000'\n\n    const thresholds = parseBackpressureThresholds()\n    expect(thresholds.enterThreshold).to.equal(1000)\n    expect(thresholds.exitThreshold).to.equal(500)\n    expect(thresholds.maxBufferSize).to.equal(2000)\n    expect(thresholds.maxBufferCheckTime).to.equal(5000)\n  })\n\n  it('should use config fallbacks for maxBuffer settings', function () {\n    const thresholds = parseBackpressureThresholds({\n      maxSendBufferSize: 8192,\n      maxSendBufferCheckTime: 60000\n    })\n    expect(thresholds.maxBufferSize).to.equal(8192)\n    expect(thresholds.maxBufferCheckTime).to.equal(60000)\n  })\n\n  it('should prefer env vars over config fallbacks', function () {\n    process.env.MAXSENDBUFFERSIZE = '2000'\n    process.env.MAXSENDBUFFERCHECKTIME = '5000'\n\n    const thresholds = parseBackpressureThresholds({\n      maxSendBufferSize: 8192,\n      maxSendBufferCheckTime: 60000\n    })\n    expect(thresholds.maxBufferSize).to.equal(2000)\n    expect(thresholds.maxBufferCheckTime).to.equal(5000)\n  })\n})\n"
  },
  {
    "path": "test/LatestValuesAccumulator.js",
    "content": "const chai = require('chai')\nchai.Should()\nconst { expect } = chai\nconst {\n  accumulateLatestValue,\n  buildFlushDeltas\n} = require('../dist/LatestValuesAccumulator')\n\ndescribe('LatestValuesAccumulator', function () {\n  describe('accumulateLatestValue', function () {\n    it('should accumulate a single value', function () {\n      const accumulator = new Map()\n      const delta = {\n        context: 'vessels.urn:mrn:imo:mmsi:123456789',\n        updates: [\n          {\n            $source: 'n2k.115',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [\n              {\n                path: 'navigation.position',\n                value: { latitude: 60.0, longitude: 25.0 }\n              }\n            ]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta)\n\n      expect(accumulator.size).to.equal(1)\n      const key =\n        'vessels.urn:mrn:imo:mmsi:123456789:navigation.position:n2k.115'\n      expect(accumulator.has(key)).to.be.true\n      const item = accumulator.get(key)\n      expect(item.context).to.equal('vessels.urn:mrn:imo:mmsi:123456789')\n      expect(item.path).to.equal('navigation.position')\n      expect(item.value).to.deep.equal({ latitude: 60.0, longitude: 25.0 })\n      expect(item.$source).to.equal('n2k.115')\n    })\n\n    it('should keep only the latest value for same context:path:$source', function () {\n      const accumulator = new Map()\n      const delta1 = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'gps',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [{ path: 'navigation.speedOverGround', value: 5.0 }]\n          }\n        ]\n      }\n      const delta2 = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'gps',\n            timestamp: '2024-01-15T10:30:01.000Z',\n            values: [{ path: 'navigation.speedOverGround', value: 5.5 }]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta1)\n      accumulateLatestValue(accumulator, delta2)\n\n      expect(accumulator.size).to.equal(1)\n      const item = accumulator.get(\n        'vessels.self:navigation.speedOverGround:gps'\n      )\n      expect(item.value).to.equal(5.5)\n      expect(item.timestamp).to.equal('2024-01-15T10:30:01.000Z')\n    })\n\n    it('should keep separate values for different $sources', function () {\n      const accumulator = new Map()\n      const delta1 = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'gps1',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [{ path: 'navigation.speedOverGround', value: 5.0 }]\n          }\n        ]\n      }\n      const delta2 = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'gps2',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [{ path: 'navigation.speedOverGround', value: 5.2 }]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta1)\n      accumulateLatestValue(accumulator, delta2)\n\n      expect(accumulator.size).to.equal(2)\n      expect(\n        accumulator.get('vessels.self:navigation.speedOverGround:gps1').value\n      ).to.equal(5.0)\n      expect(\n        accumulator.get('vessels.self:navigation.speedOverGround:gps2').value\n      ).to.equal(5.2)\n    })\n\n    it('should keep separate values for different paths', function () {\n      const accumulator = new Map()\n      const delta = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'gps',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [\n              { path: 'navigation.speedOverGround', value: 5.0 },\n              { path: 'navigation.courseOverGroundTrue', value: 1.57 }\n            ]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta)\n\n      expect(accumulator.size).to.equal(2)\n      expect(\n        accumulator.get('vessels.self:navigation.speedOverGround:gps').value\n      ).to.equal(5.0)\n      expect(\n        accumulator.get('vessels.self:navigation.courseOverGroundTrue:gps')\n          .value\n      ).to.equal(1.57)\n    })\n\n    it('should keep separate values for different contexts', function () {\n      const accumulator = new Map()\n      const delta1 = {\n        context: 'vessels.self',\n        updates: [\n          {\n            $source: 'ais',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [\n              {\n                path: 'navigation.position',\n                value: { latitude: 60.0, longitude: 25.0 }\n              }\n            ]\n          }\n        ]\n      }\n      const delta2 = {\n        context: 'vessels.urn:mrn:imo:mmsi:987654321',\n        updates: [\n          {\n            $source: 'ais',\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [\n              {\n                path: 'navigation.position',\n                value: { latitude: 61.0, longitude: 26.0 }\n              }\n            ]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta1)\n      accumulateLatestValue(accumulator, delta2)\n\n      expect(accumulator.size).to.equal(2)\n    })\n\n    it('should use \"unknown\" for missing $source', function () {\n      const accumulator = new Map()\n      const delta = {\n        context: 'vessels.self',\n        updates: [\n          {\n            timestamp: '2024-01-15T10:30:00.000Z',\n            values: [{ path: 'navigation.speedOverGround', value: 5.0 }]\n          }\n        ]\n      }\n\n      accumulateLatestValue(accumulator, delta)\n\n      expect(accumulator.size).to.equal(1)\n      expect(accumulator.has('vessels.self:navigation.speedOverGround:unknown'))\n        .to.be.true\n    })\n\n    it('should handle delta without updates', function () {\n      const accumulator = new Map()\n      const delta = { context: 'vessels.self' }\n\n      accumulateLatestValue(accumulator, delta)\n\n      expect(accumulator.size).to.equal(0)\n    })\n\n    it('should handle update without values', function () {\n      const accumulator = new Map()\n      const delta = {\n        context: 'vessels.self',\n        updates: [{ $source: 'gps', timestamp: '2024-01-15T10:30:00.000Z' }]\n      }\n\n      accumulateLatestValue(accumulator, delta)\n\n      expect(accumulator.size).to.equal(0)\n    })\n  })\n\n  describe('buildFlushDeltas', function () {\n    it('should return empty array for empty accumulator', function () {\n      const accumulator = new Map()\n      const deltas = buildFlushDeltas(accumulator, 1000)\n      expect(deltas).to.deep.equal([])\n    })\n\n    it('should build delta with backpressure indicator', function () {\n      const accumulator = new Map()\n      accumulator.set('vessels.self:navigation.speedOverGround:gps', {\n        context: 'vessels.self',\n        path: 'navigation.speedOverGround',\n        value: 5.0,\n        $source: 'gps',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n\n      const deltas = buildFlushDeltas(accumulator, 1500)\n\n      expect(deltas.length).to.equal(1)\n      expect(deltas[0].context).to.equal('vessels.self')\n      expect(deltas[0].$backpressure).to.deep.equal({\n        accumulated: 1,\n        duration: 1500\n      })\n    })\n\n    it('should group values by context', function () {\n      const accumulator = new Map()\n      accumulator.set('vessels.self:navigation.speedOverGround:gps', {\n        context: 'vessels.self',\n        path: 'navigation.speedOverGround',\n        value: 5.0,\n        $source: 'gps',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n      accumulator.set('vessels.other:navigation.speedOverGround:ais', {\n        context: 'vessels.other',\n        path: 'navigation.speedOverGround',\n        value: 10.0,\n        $source: 'ais',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n\n      const deltas = buildFlushDeltas(accumulator, 1000)\n\n      expect(deltas.length).to.equal(2)\n      const selfDelta = deltas.find((d) => d.context === 'vessels.self')\n      const otherDelta = deltas.find((d) => d.context === 'vessels.other')\n      expect(selfDelta).to.exist\n      expect(otherDelta).to.exist\n    })\n\n    it('should group values by $source within context', function () {\n      const accumulator = new Map()\n      // Two values with same source and timestamp\n      accumulator.set('vessels.self:navigation.speedOverGround:gps', {\n        context: 'vessels.self',\n        path: 'navigation.speedOverGround',\n        value: 5.0,\n        $source: 'gps',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n      accumulator.set('vessels.self:navigation.courseOverGroundTrue:gps', {\n        context: 'vessels.self',\n        path: 'navigation.courseOverGroundTrue',\n        value: 1.57,\n        $source: 'gps',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n      // One value with different source\n      accumulator.set('vessels.self:navigation.headingTrue:compass', {\n        context: 'vessels.self',\n        path: 'navigation.headingTrue',\n        value: 1.5,\n        $source: 'compass',\n        timestamp: '2024-01-15T10:30:00.000Z'\n      })\n\n      const deltas = buildFlushDeltas(accumulator, 1000)\n\n      expect(deltas.length).to.equal(1)\n      expect(deltas[0].updates.length).to.equal(2) // Two update groups: gps and compass\n\n      const gpsUpdate = deltas[0].updates.find((u) => u.$source === 'gps')\n      const compassUpdate = deltas[0].updates.find(\n        (u) => u.$source === 'compass'\n      )\n\n      expect(gpsUpdate.values.length).to.equal(2)\n      expect(compassUpdate.values.length).to.equal(1)\n    })\n\n    it('should include accumulated count in backpressure indicator', function () {\n      const accumulator = new Map()\n      for (let i = 0; i < 10; i++) {\n        accumulator.set(`vessels.self:path${i}:source`, {\n          context: 'vessels.self',\n          path: `path${i}`,\n          value: i,\n          $source: 'source',\n          timestamp: '2024-01-15T10:30:00.000Z'\n        })\n      }\n\n      const deltas = buildFlushDeltas(accumulator, 2000)\n\n      expect(deltas[0].$backpressure.accumulated).to.equal(10)\n      expect(deltas[0].$backpressure.duration).to.equal(2000)\n    })\n  })\n})\n"
  },
  {
    "path": "test/acls.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nconst assert = require('assert')\n\nconst securitySettings = {\n  acls: [\n    {\n      context: 'vessels.self',\n      resources: [\n        {\n          paths: ['navigation.*', 'name', 'design.aisShipType'],\n          permissions: [\n            {\n              subject: 'any',\n              permission: 'read'\n            },\n            {\n              subject: 'sbender',\n              permission: 'write'\n            }\n          ]\n        },\n        {\n          sources: ['source.1'],\n          permissions: [\n            {\n              subject: 'any',\n              permission: 'read'\n            }\n          ]\n        },\n        {\n          paths: ['electrical.controls.venus-0.state'],\n          permissions: [\n            {\n              subject: 'any',\n              permission: 'read'\n            },\n            {\n              subject: 'sbender',\n              permission: 'put'\n            }\n          ]\n        }\n      ]\n    },\n    {\n      context: 'vessels.123456789',\n      resources: [\n        {\n          paths: [\n            'navigation.courseOverGroundTrue',\n            'navigation.position',\n            'navigation.speedOverGround',\n            'name',\n            'design.aisShipType'\n          ],\n          permissions: [\n            {\n              subject: 'any',\n              permission: 'read'\n            },\n            {\n              subject: 'sbender',\n              permission: 'write'\n            }\n          ]\n        },\n        {\n          paths: ['*'],\n          permissions: [\n            {\n              subject: 'sbender',\n              permission: 'write'\n            }\n          ]\n        }\n      ]\n    },\n    {\n      context: 'vessels.*',\n      resources: [\n        {\n          paths: ['*'],\n          permissions: [\n            {\n              subject: 'any',\n              permission: 'read'\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n\nconst dummyApp = {\n  use: () => {},\n  get: () => {},\n  post: () => {},\n  put: () => {},\n  delete: () => {}\n}\n\nconst securityStrategy = require('../dist/tokensecurity')(\n  dummyApp,\n  securitySettings\n)\n\ndescribe('access control lists work', function () {\n  it('vessels.self navigation.position write fails', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        'navigation.position',\n        'test',\n        'write'\n      ) === false\n    )\n  })\n\n  it('vessels.self navigation.position write works', () => {\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.self',\n        'navigation.position',\n        'test',\n        'write'\n      )\n    )\n  })\n\n  it('vessels.self navigation.position read works', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        'navigation.position',\n        'test',\n        'read'\n      )\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.self',\n        'navigation.position',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.self name read works', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        'name',\n        'test',\n        'read'\n      )\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.self',\n        'name',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.123456789 name read works', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.123456789',\n        'name',\n        'test',\n        'read'\n      )\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.123456789',\n        'name',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.123456789 position read works', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.123456789',\n        'name',\n        'test',\n        'read'\n      )\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.123456789',\n        'name',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.123456789 navigation.logTrip read', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.123456789',\n        'navigation.logTrip',\n        'test',\n        'read'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.123456789',\n        'navigation.logTrip',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.123456789 navigation.logTrip write', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.123456789',\n        'navigation.logTrip',\n        'test',\n        'write'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.123456789',\n        'navigation.logTrip',\n        'test',\n        'write'\n      )\n    )\n  })\n\n  it('vessels.987654321 navigation.logTrip write', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.987654321',\n        'navigation.logTrip',\n        'test',\n        'write'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.987654321',\n        'navigation.logTrip',\n        'test',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.self source acl works ', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        null,\n        'source.1',\n        'write'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        null,\n        'source.2',\n        'read'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        null,\n        'source.1',\n        'read'\n      )\n    )\n  })\n\n  it('vessels.self put acl works ', () => {\n    assert(\n      securityStrategy.checkACL(\n        'john.doe',\n        'vessels.self',\n        'electrical.controls.venus-0.state',\n        null,\n        'put'\n      ) === false\n    )\n    assert(\n      securityStrategy.checkACL(\n        'sbender',\n        'vessels.self',\n        'electrical.controls.venus-0.state',\n        null,\n        'put'\n      )\n    )\n  })\n})\n"
  },
  {
    "path": "test/applicationData.ts",
    "content": "import chai from 'chai'\n// @ts-expect-error no type declarations available\nimport chaiThings from 'chai-things'\n// @ts-expect-error no type declarations available\nimport chaiJsonEqual from 'chai-json-equal'\nimport { strict as assert } from 'assert'\nimport fs from 'fs'\nimport path from 'path'\nimport { rimraf } from 'rimraf'\nimport { freeport } from './ts-servertestutilities'\nimport {\n  startServerP,\n  getReadOnlyToken,\n  getWriteToken,\n  getAdminToken\n} from './servertestutilities'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n;(chai as any).Should()\nchai.use(chaiThings)\nchai.use(chaiJsonEqual)\n\nconst APP_ID = 'testApplication'\nconst APP_VERSION = '1.0.0'\n\ninterface TestCase {\n  appid: string\n  version: string\n  settings: { something: number; sometingElse: string }\n}\n\nconst tests: TestCase[] = [\n  {\n    appid: 'testApplication',\n    version: '1.0.0',\n    settings: {\n      something: 100,\n      sometingElse: 'hello'\n    }\n  },\n  {\n    appid: 'testApplication',\n    version: '1.1.1',\n    settings: {\n      something: 111,\n      sometingElse: 'hello 111'\n    }\n  },\n  {\n    appid: 'anotherApplication',\n    version: '2.0.0',\n    settings: {\n      something: 200,\n      sometingElse: 'hello 200'\n    }\n  }\n]\n\ndescribe('Application Data', () => {\n  let url: string\n  let port: number\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let adminToken: string\n  let writeToken: string\n  let readToken: string\n  let readHeaders: Record<string, string>\n  let writeHeaders: Record<string, string>\n  let adminHeaders: Record<string, string>\n\n  before(async function () {\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n\n    server = await startServerP(port, true)\n    readToken = await getReadOnlyToken(server)\n    writeToken = await getWriteToken(server)\n    adminToken = await getAdminToken(server)\n\n    readHeaders = { Cookie: `JAUTHENTICATION=${readToken}` }\n    writeHeaders = { Cookie: `JAUTHENTICATION=${writeToken}` }\n    adminHeaders = { Cookie: `JAUTHENTICATION=${adminToken}` }\n  })\n\n  beforeEach(async () => {\n    await rimraf(\n      path.join(\n        process.env.SIGNALK_NODE_CONFIG_DIR as string,\n        'applicationData'\n      )\n    )\n  })\n\n  after(async () => {\n    await server.stop()\n  })\n\n  async function post(globalOrUser: boolean, token: string, expected: number) {\n    for (const test of tests) {\n      const reqUrl = globalOrUser\n        ? `${url}/signalk/v1/applicationData/global/${test.appid}/${test.version}`\n        : `${url}/signalk/v1/applicationData/user/${test.appid}/${test.version}`\n      let result = await fetch(reqUrl, {\n        method: 'POST',\n        headers: {\n          Cookie: `JAUTHENTICATION=${token}`,\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(test.settings)\n      })\n      result.status.should.equal(expected)\n\n      if (globalOrUser) {\n        result = await fetch(reqUrl, {\n          headers: {\n            ...adminHeaders,\n            'Content-Type': 'application/json'\n          }\n        })\n        result.status.should.equal(200)\n        const data = await result.json()\n        if (expected !== 200) {\n          data.should.not.jsonEqual(test.settings)\n        } else {\n          data.should.jsonEqual(test.settings)\n        }\n      }\n    }\n  }\n\n  function readUserData(test: TestCase, userName: string) {\n    const userPath = path.join(\n      process.env.SIGNALK_NODE_CONFIG_DIR as string,\n      'applicationData',\n      'users',\n      userName,\n      test.appid,\n      `${test.version}.json`\n    )\n\n    if (fs.existsSync(userPath)) {\n      return JSON.parse(fs.readFileSync(userPath, 'utf8'))\n    } else {\n      return null\n    }\n  }\n\n  it('invalid appid or version fails', async function () {\n    async function fail(appid: string, version: string) {\n      const result = await fetch(\n        `${url}/signalk/v1/applicationData/global/${appid}/${version}`,\n        { headers: readHeaders }\n      )\n      result.status.should.equal(400)\n    }\n\n    await fail(encodeURIComponent('foo/bar'), '1.0')\n    await fail('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', '1.0')\n    await fail('validApp', 'a.b.c')\n  })\n\n  it('fetch global returns empty data', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/applicationData/global/${APP_ID}/:${APP_VERSION}`,\n      { headers: readHeaders }\n    )\n    result.status.should.equal(200)\n    const data = await result.json()\n    data.should.jsonEqual({})\n  })\n\n  it('post global fails readonly user', async function () {\n    await post(true, readToken, 401)\n  })\n\n  it('post global fails write user', async function () {\n    await post(true, writeToken, 401)\n  })\n\n  it('post global works admin user', async function () {\n    await post(true, adminToken, 200)\n  })\n\n  it('post user data fails readonly user', async function () {\n    await post(false, readToken, 401)\n    for (const test of tests) {\n      const data = readUserData(test, 'testuser')\n      assert(data === null)\n    }\n  })\n\n  it('post user data works', async function () {\n    await post(false, writeToken, 200)\n    for (const test of tests) {\n      const data = readUserData(test, 'writeuser')\n      assert(data !== null)\n      data.should.jsonEqual(test.settings)\n    }\n  })\n\n  it('json patch works', async function () {\n    for (const test of tests) {\n      let result = await fetch(\n        `${url}/signalk/v1/applicationData/user/${test.appid}/${test.version}`,\n        {\n          method: 'POST',\n          headers: {\n            ...writeHeaders,\n            'Content-Type': 'application/json'\n          },\n          body: JSON.stringify([\n            { op: 'add', path: '/testing', value: test.settings.something }\n          ])\n        }\n      )\n      result.status.should.equal(200)\n\n      result = await fetch(\n        `${url}/signalk/v1/applicationData/user/${test.appid}/${test.version}/testing`,\n        {\n          headers: {\n            ...writeHeaders,\n            'Content-Type': 'application/json'\n          }\n        }\n      )\n      result.status.should.equal(200)\n      const data = await result.json()\n      data.should.equal(test.settings.something)\n    }\n  })\n\n  it('rejects prototype pollution via path in add', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/applicationData/global/${APP_ID}/${APP_VERSION}`,\n      {\n        method: 'POST',\n        headers: {\n          ...adminHeaders,\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify([\n          { op: 'add', path: '/__proto__/polluted', value: 'hacked' }\n        ])\n      }\n    )\n    result.status.should.equal(400)\n  })\n\n  it('rejects prototype read via from in copy', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/applicationData/global/${APP_ID}/${APP_VERSION}`,\n      {\n        method: 'POST',\n        headers: {\n          ...adminHeaders,\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify([\n          { op: 'copy', from: '/__proto__/toString', path: '/stolen' }\n        ])\n      }\n    )\n    result.status.should.equal(400)\n  })\n\n  it('rejects prototype read via from in move', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/applicationData/global/${APP_ID}/${APP_VERSION}`,\n      {\n        method: 'POST',\n        headers: {\n          ...adminHeaders,\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify([\n          { op: 'move', from: '/__proto__/constructor', path: '/stolen' }\n        ])\n      }\n    )\n    result.status.should.equal(400)\n  })\n})\n"
  },
  {
    "path": "test/chart-tile-regex.ts",
    "content": "import chai from 'chai'\nchai.should()\n\nimport { CHART_TILE_REGEX } from '../src/api/resources/index'\n\nconst MAX_REGEX_MATCH_MS = 50\n\ndescribe('Chart tile route regex', () => {\n  const tilePaths = [\n    '/signalk/v2/api/resources/charts/my-chart/14/8192/5461',\n    '/signalk/v2/api/resources/charts/chart-with-dashes/0/0/0',\n    '/signalk/v2/api/resources/charts/Provider/ChartName/7/64/42'\n  ]\n\n  tilePaths.forEach((path) => {\n    it(`should match tile request: ${path}`, () => {\n      CHART_TILE_REGEX.test(path).should.equal(true)\n    })\n  })\n\n  const nonTilePaths = [\n    '/signalk/v2/api/resources/charts/my-chart/name',\n    '/signalk/v2/api/resources/charts/my-chart/tilemapUrl',\n    '/signalk/v2/api/resources/charts/Canary-Cape Verde/Navionics/Z7-18'\n  ]\n\n  nonTilePaths.forEach((path) => {\n    it(`should not match non-tile request: ${path}`, () => {\n      CHART_TILE_REGEX.test(path).should.equal(false)\n    })\n  })\n\n  // Typically completes in ~1ms. If this gets flaky, 100ms still catches the\n  // catastrophic backtracking regression which takes seconds or never finishes.\n  it(`should complete in under ${MAX_REGEX_MATCH_MS}ms on paths with multiple segments`, () => {\n    const path =\n      '/signalk/v2/api/resources/charts/Canary-Cape Verde/Navionics/Z7-18'\n    const start = Date.now()\n    CHART_TILE_REGEX.test(path)\n    const elapsed = Date.now() - start\n    elapsed.should.be.below(MAX_REGEX_MATCH_MS)\n  })\n})\n"
  },
  {
    "path": "test/course.ts",
    "content": "import { strict as assert } from 'assert'\nimport chai, { expect } from 'chai'\nimport {\n  DATETIME_REGEX,\n  deltaHasPathValue,\n  startServer\n} from './ts-servertestutilities'\nimport { CourseInfo } from '@signalk/server-api'\nchai.should()\n\ndescribe('Course Api', () => {\n  it('can set course destination as position', async function () {\n    const { createWsPromiser, selfGetJson, selfPut, sendDelta, stop } =\n      await startServer()\n    const wsPromiser = createWsPromiser()\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n\n    sendDelta('navigation.position', { latitude: -35.45, longitude: 138.0 })\n    await wsPromiser.nthMessage(2)\n\n    await selfPut('navigation/course/destination', {\n      position: { latitude: -35.5, longitude: 138.7 }\n    }).then((response) => response.status.should.equal(200))\n\n    const v2courseDelta = JSON.parse(await wsPromiser.nthMessage(4))\n    v2courseDelta.context.should.equal(self)\n\n    const expectedPathValues = [\n      {\n        path: 'navigation.course.activeRoute',\n        value: null\n      },\n      {\n        path: 'navigation.course.nextPoint',\n        value: {\n          position: {\n            latitude: -35.5,\n            longitude: 138.7\n          },\n          type: 'Location'\n        }\n      },\n      {\n        path: 'navigation.course.previousPoint',\n        value: {\n          position: {\n            latitude: -35.45,\n            longitude: 138\n          },\n          type: 'VesselPosition'\n        }\n      }\n    ]\n    expectedPathValues.forEach(({ path, value }) =>\n      deltaHasPathValue(v2courseDelta, path, value)\n    )\n\n    const data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.startTime).to.match(DATETIME_REGEX)\n    expect(data).to.deep.equal({\n      startTime: data.startTime,\n      targetArrivalTime: null,\n      arrivalCircle: 0,\n      activeRoute: null,\n      nextPoint: {\n        type: 'Location',\n        position: { latitude: -35.5, longitude: 138.7 }\n      },\n      previousPoint: {\n        type: 'VesselPosition',\n        position: { latitude: -35.45, longitude: 138 }\n      }\n    })\n\n    await stop()\n  })\n\n  it('can not set course destination as nonexistent waypoint or bad payload', async function () {\n    const { createWsPromiser, selfPut, sendDelta, stop } = await startServer()\n\n    const wsPromiser = createWsPromiser()\n    await wsPromiser.nthMessage(1) // hello\n\n    sendDelta('navigation.position', { latitude: -35.45, longitude: 138.0 })\n    await wsPromiser.nthMessage(2) // position\n\n    const validDestinationPosition = { latitude: -35.5, longitude: 138.7 }\n\n    await selfPut('navigation/course/destination', {\n      position: validDestinationPosition\n    }).then((response) => response.status.should.equal(200))\n\n    const v2courseDelta = JSON.parse(await wsPromiser.nthMessage(4))\n    deltaHasPathValue(v2courseDelta, 'navigation.course.nextPoint', {\n      position: validDestinationPosition,\n      type: 'Location'\n    })\n\n    await selfPut('navigation/course/destination', {\n      href: '/resources/waypoints/07894aba-f151-4099-aa4f-5e5773734b95'\n    }).then((response) => response.status.should.equal(400))\n    await assert.rejects(wsPromiser.nthMessage(5))\n\n    await selfPut('navigation/course/destination', {\n      hrefff: 'dummy data'\n    }).then((response) => response.status.should.equal(400))\n    await assert.rejects(wsPromiser.nthMessage(5))\n\n    await selfPut('navigation/course/destination', {\n      position: { latitude: -35.5 }\n    }).then((response) => response.status.should.equal(400))\n    await assert.rejects(wsPromiser.nthMessage(5))\n\n    await stop()\n  })\n\n  it('can set course destination as waypoint with arrivalcircle and then clear destination', async function () {\n    const {\n      createWsPromiser,\n      post,\n      selfDelete,\n      selfGetJson,\n      selfPut,\n      sendDelta,\n      stop\n    } = await startServer()\n    const vesselPosition = { latitude: -35.45, longitude: 138.0 }\n    sendDelta('navigation.position', vesselPosition)\n\n    const destination = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'Point',\n          coordinates: [24.9384, 60.1699]\n        }\n      }\n    }\n    const response = await post('/resources/waypoints', destination)\n    response.status.should.equal(201)\n    const { id } = (await response.json()) as { id: string }\n    id.length.should.equal('ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a'.length)\n    const href = `/resources/waypoints/${id}`\n\n    const wsPromiser = createWsPromiser()\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n\n    await selfPut('navigation/course/destination', {\n      href,\n      arrivalCircle: 99\n    }).then((response) => response.status.should.equal(200))\n\n    const v2courseDelta = JSON.parse(await wsPromiser.nthMessage(3))\n    v2courseDelta.context.should.equal(self)\n\n    let expectedPathValues = [\n      { path: 'navigation.course.activeRoute', value: null },\n      {\n        path: 'navigation.course.nextPoint',\n        value: {\n          href: `/resources/waypoints/${id}`,\n          position: { latitude: 60.1699, longitude: 24.9384 },\n          type: 'Waypoint'\n        }\n      },\n      {\n        path: 'navigation.course.previousPoint',\n        value: {\n          position: { latitude: -35.45, longitude: 138 },\n          type: 'VesselPosition'\n        }\n      }\n    ]\n    expectedPathValues.forEach(({ path, value }) =>\n      deltaHasPathValue(v2courseDelta, path, value)\n    )\n\n    const pathValue = v2courseDelta.updates[0].values.find(\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      (x: any) => x.path === 'navigation.course.startTime'\n    )\n    pathValue.value.should.match(DATETIME_REGEX)\n\n    let data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.startTime).to.match(DATETIME_REGEX)\n    expect(data).to.deep.equal({\n      startTime: data.startTime,\n      arrivalCircle: 99,\n      targetArrivalTime: null,\n      activeRoute: null,\n      nextPoint: {\n        href,\n        type: 'Waypoint',\n        position: {\n          longitude: destination.feature.geometry.coordinates[0],\n          latitude: destination.feature.geometry.coordinates[1]\n        }\n      },\n      previousPoint: {\n        type: 'VesselPosition',\n        position: vesselPosition\n      }\n    })\n\n    await selfDelete('navigation/course').then((response) =>\n      response.status.should.equal(200)\n    )\n    const destinationClearedDelta = JSON.parse(await wsPromiser.nthMessage(5))\n    expectedPathValues = [\n      {\n        path: 'navigation.course.activeRoute',\n        value: null\n      },\n      {\n        path: 'navigation.course.startTime',\n        value: null\n      },\n      {\n        path: 'navigation.course.nextPoint',\n        value: null\n      },\n      {\n        path: 'navigation.course.previousPoint',\n        value: null\n      }\n    ]\n    expectedPathValues.forEach(({ path, value }) =>\n      deltaHasPathValue(destinationClearedDelta, path, value)\n    )\n\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    data.should.deep.equal({\n      startTime: null,\n      targetArrivalTime: null,\n      activeRoute: null,\n      arrivalCircle: 99,\n      nextPoint: null,\n      previousPoint: null\n    })\n\n    stop()\n  })\n\n  it('can activate route and manipulate it', async function () {\n    const { createWsPromiser, post, selfGetJson, selfPut, sendDelta, stop } =\n      await startServer()\n    const vesselPosition = { latitude: -35.45, longitude: 138.0 }\n    sendDelta('navigation.position', vesselPosition)\n\n    const points = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'LineString',\n          coordinates: [\n            [3.3452, 65.4567],\n            [3.3352, 65.5567],\n            [3.3261, 65.5777]\n          ]\n        }\n      }\n    }\n\n    const response = await post('/resources/routes', points)\n    response.status.should.equal(201)\n    const { id } = (await response.json()) as { id: string }\n    id.length.should.equal('ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a'.length)\n    const href = `/resources/routes/${id}`\n\n    const wsPromiser = createWsPromiser()\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n\n    await selfPut('navigation/course/activeRoute', {\n      href\n    }).then((response) => response.status.should.equal(200))\n\n    const v2courseDelta = JSON.parse(await wsPromiser.nthMessage(3))\n    v2courseDelta.context.should.equal(self)\n\n    const expectedPathValues = [\n      {\n        path: 'navigation.course.activeRoute',\n        value: {\n          href,\n          pointIndex: 0,\n          pointTotal: 3,\n          reverse: false\n        }\n      },\n      {\n        path: 'navigation.course.nextPoint',\n        value: {\n          position: {\n            latitude: 65.4567,\n            longitude: 3.3452\n          },\n          type: 'RoutePoint'\n        }\n      },\n      {\n        path: 'navigation.course.arrivalCircle',\n        value: 0\n      },\n      {\n        path: 'navigation.course.previousPoint',\n        value: {\n          position: {\n            latitude: -35.45,\n            longitude: 138\n          },\n          type: 'VesselPosition'\n        }\n      }\n    ]\n    expectedPathValues.forEach(({ path, value }) =>\n      deltaHasPathValue(v2courseDelta, path, value)\n    )\n    v2courseDelta.updates[0].values\n      .find(\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        (x: any) => x.path === 'navigation.course.startTime'\n      )\n      .should.be.an('object')\n\n    let data = (await selfGetJson('navigation/course')) as CourseInfo\n\n    data.should.deep.equal({\n      startTime: data.startTime,\n      targetArrivalTime: data.targetArrivalTime,\n      arrivalCircle: 0,\n      activeRoute: {\n        href,\n        pointIndex: 0,\n        pointTotal: 3,\n        reverse: false\n      },\n      nextPoint: {\n        position: {\n          longitude: points.feature.geometry.coordinates[0][0],\n          latitude: points.feature.geometry.coordinates[0][1]\n        },\n        type: 'RoutePoint'\n      },\n      previousPoint: {\n        type: 'VesselPosition',\n        position: vesselPosition\n      }\n    })\n\n    await selfPut('navigation/course/activeRoute/nextPoint', {\n      value: 1\n    }).then((response) => response.status.should.equal(200))\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.activeRoute?.pointIndex).to.equal(1)\n\n    //setting pointIndex beyond route length sets it to last point's index\n    await selfPut('navigation/course/activeRoute/nextPoint', {\n      value: 100\n    }).then((response) => response.status.should.equal(200))\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.activeRoute?.pointIndex).to.equal(2)\n\n    await selfPut('navigation/course/activeRoute/nextPoint', {\n      value: -1\n    }).then((response) => response.status.should.equal(200))\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.activeRoute?.pointIndex).to.equal(1)\n\n    await selfPut('navigation/course/activeRoute/pointIndex', {\n      value: 2\n    }).then((response) => response.status.should.equal(200))\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.activeRoute?.pointIndex).to.equal(2)\n\n    await selfPut('navigation/course/activeRoute', {\n      href,\n      reverse: true\n    }).then((response) => response.status.should.equal(200))\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.nextPoint?.position?.latitude).to.equal(\n      points.feature.geometry.coordinates[\n        points.feature.geometry.coordinates.length - 1\n      ][1]\n    )\n\n    await selfPut('navigation/course/activeRoute/nextPoint', {\n      value: 1\n    }).then((response) => response.status.should.equal(200))\n\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.nextPoint?.position?.latitude).to.equal(\n      points.feature.geometry.coordinates[1][1]\n    )\n    expect(data.previousPoint?.position?.latitude).to.equal(\n      points.feature.geometry.coordinates[\n        points.feature.geometry.coordinates.length - 1\n      ][1]\n    )\n\n    stop()\n  })\n\n  it('updates previousPoint when active route point is moved', async function () {\n    const {\n      createWsPromiser,\n      post,\n      put,\n      selfGetJson,\n      selfPut,\n      sendDelta,\n      stop\n    } = await startServer()\n    const vesselPosition = { latitude: -35.45, longitude: 138.0 }\n    sendDelta('navigation.position', vesselPosition)\n\n    const points = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'LineString',\n          coordinates: [\n            [3.3452, 65.4567],\n            [3.3352, 65.5567],\n            [3.3261, 65.5777]\n          ]\n        }\n      }\n    }\n\n    const response = await post('/resources/routes', points)\n    response.status.should.equal(201)\n    const { id } = (await response.json()) as { id: string }\n    const href = `/resources/routes/${id}`\n\n    const wsPromiser = createWsPromiser()\n    await wsPromiser.nthMessage(1)\n\n    // activate route and advance to pointIndex 1\n    await selfPut('navigation/course/activeRoute', {\n      href\n    }).then((r) => r.status.should.equal(200))\n\n    await selfPut('navigation/course/activeRoute/nextPoint', {\n      value: 1\n    }).then((r) => r.status.should.equal(200))\n\n    let data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.activeRoute?.pointIndex).to.equal(1)\n    expect(data.previousPoint?.type).to.equal('RoutePoint')\n    expect(data.previousPoint?.position?.latitude).to.equal(65.4567)\n    expect(data.previousPoint?.position?.longitude).to.equal(3.3452)\n\n    // move the previous route point (index 0) to new coordinates\n    const updatedPoints = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'LineString',\n          coordinates: [\n            [10.0, 60.0],\n            [3.3352, 65.5567],\n            [3.3261, 65.5777]\n          ]\n        }\n      }\n    }\n    await put(`/resources/routes/${id}`, updatedPoints).then((r) =>\n      r.status.should.equal(200)\n    )\n\n    // wait for subscription to process the route update (period: 500ms)\n    await new Promise((resolve) => setTimeout(resolve, 600))\n\n    data = (await selfGetJson('navigation/course')) as CourseInfo\n    expect(data.previousPoint?.position?.latitude).to.equal(60.0)\n    expect(data.previousPoint?.position?.longitude).to.equal(10.0)\n\n    stop()\n  })\n\n  it('can set arrivalCircle', async function () {\n    const { createWsPromiser, selfGetJson, selfPut, stop } = await startServer()\n\n    const wsPromiser = createWsPromiser()\n    await wsPromiser.nthMessage(1)\n\n    await selfPut('navigation/course/arrivalCircle', {\n      value: 98\n    }).then((response) => response.status.should.equal(200))\n\n    const v2courseDelta = JSON.parse(await wsPromiser.nthMessage(3))\n\n    const expectedPathValues = [\n      {\n        path: 'navigation.course.arrivalCircle',\n        value: 98\n      }\n    ]\n    expectedPathValues.forEach(({ path, value }) =>\n      deltaHasPathValue(v2courseDelta, path, value)\n    )\n\n    const data = (await selfGetJson('navigation/course')) as CourseInfo\n    data.should.to.deep.equal({\n      startTime: null,\n      targetArrivalTime: null,\n      arrivalCircle: 98,\n      activeRoute: null,\n      nextPoint: null,\n      previousPoint: null\n    })\n\n    stop()\n  })\n})\n"
  },
  {
    "path": "test/delete.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\n\nimport { startServer } from './ts-servertestutilities'\n\ndescribe('Delete Requests', () => {\n  let doStop, doSendDelta, theHost, doSelfPut, doGet, doCreateWsPromiser\n\n  before(async () => {\n    const { createWsPromiser, selfPutV1, sendDelta, stop, host, getV1 } =\n      await startServer()\n    doStop = stop\n    doSendDelta = sendDelta\n    theHost = host\n    doSelfPut = selfPutV1\n    doGet = getV1\n    doCreateWsPromiser = createWsPromiser\n  })\n\n  after(async function () {\n    await doStop()\n  })\n\n  it('HTTP delete to unhandled path fails', async function () {\n    await doSendDelta('navigation.logTrip', 43374)\n\n    const result = await fetch(\n      `${theHost}/signalk/v1/api/vessels/self/navigation/logTrip`,\n      {\n        method: 'DELETE',\n        headers: {\n          'Content-Type': 'application/json'\n        }\n      }\n    )\n\n    result.status.should.equal(405)\n  })\n\n  it('HTTP successful DELETE', async function () {\n    let result = await doSelfPut('navigation/logTrip/meta/displayName', {\n      value: 'My Log Trip'\n    })\n\n    result.status.should.equal(202)\n\n    result = await doGet('/vessels/self/navigation/logTrip/meta/displayName')\n    result.status.should.equal(200)\n    let name = await result.json()\n    name.should.equal('My Log Trip')\n\n    result = await fetch(\n      `${theHost}/signalk/v1/api/vessels/self/navigation/logTrip/meta/displayName`,\n      {\n        method: 'DELETE',\n        headers: {\n          'Content-Type': 'application/json'\n        }\n      }\n    )\n\n    result.status.should.equal(202)\n\n    result = await doGet('/vessels/self/navigation/logTrip/meta/displayName')\n    result.status.should.equal(404)\n  })\n\n  it('WS delete to unhandled path fails', async function () {\n    const ws = doCreateWsPromiser()\n\n    let msg = await ws.nextMsg()\n\n    ws.send({\n      context: 'vessels.self',\n      delete: {\n        path: 'navigation.logTrip'\n      }\n    })\n\n    msg = await ws.nextMsg()\n    msg.should.not.equal('timeout')\n    const response = JSON.parse(msg)\n    response.should.have.property('statusCode')\n    response.statusCode.should.equal(405)\n  })\n\n  it('WS successful DELETE', async function () {\n    let result = await doSelfPut('navigation/logTrip/meta/displayName', {\n      value: 'My Log Trip'\n    })\n\n    result.status.should.equal(202)\n\n    result = await doGet('/vessels/self/navigation/logTrip/meta/displayName')\n    result.status.should.equal(200)\n    let name = await result.json()\n    name.should.equal('My Log Trip')\n\n    const ws = doCreateWsPromiser()\n\n    let msg = await ws.nextMsg()\n\n    ws.send({\n      context: 'vessels.self',\n      delete: {\n        path: 'navigation.logTrip.meta.displayName'\n      }\n    })\n\n    await ws.nextMsg() //skip the meta delta\n    msg = await ws.nextMsg()\n    console.log(msg)\n    msg.should.not.equal('timeout')\n    const response = JSON.parse(msg)\n    response.should.have.property('statusCode')\n    response.statusCode.should.equal(200)\n\n    result = await doGet('/vessels/self/navigation/logTrip/meta/displayName')\n    result.status.should.equal(404)\n  })\n})\n"
  },
  {
    "path": "test/deltaPriority.ts",
    "content": "import { SourceRef } from '@signalk/server-api'\nimport assert from 'assert'\nimport { getToPreferredDelta, SourcePrioritiesData } from '../src/deltaPriority'\nimport chai from 'chai'\nchai.should()\n\ndescribe('toPreferredDelta logic', () => {\n  it('handles undefined values', () => {\n    const sourcePreferences: SourcePrioritiesData = {}\n    const toPreferredDelta = getToPreferredDelta(sourcePreferences, 200)\n\n    const delta = toPreferredDelta(\n      {\n        context: 'self',\n        updates: [\n          {\n            meta: [\n              {\n                path: 'environment.wind.speedApparent',\n                value: { units: 'A' }\n              }\n            ]\n          }\n        ]\n      },\n      new Date(),\n      'self'\n    )\n    assert(delta.updates[0].values === undefined)\n  })\n\n  it('works', () => {\n    const sourcePreferences: SourcePrioritiesData = {\n      'environment.wind.speedApparent': [\n        {\n          sourceRef: 'a' as SourceRef,\n          timeout: 0\n        },\n        {\n          sourceRef: 'b' as SourceRef,\n          timeout: 150\n        },\n        {\n          sourceRef: 'c' as SourceRef,\n          timeout: 150\n        }\n      ]\n    }\n    const toPreferredDelta = getToPreferredDelta(sourcePreferences, 200)\n\n    let totalDelay = 0\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    const result: any[] = []\n    const expectedResult: string[] = []\n    let n = 0\n    function push(sourceRef: string, delay: number, shouldBeEmitted: boolean) {\n      totalDelay += delay\n      if (shouldBeEmitted) {\n        expectedResult.push(sourceRef)\n      }\n      setTimeout(() => {\n        result.push(\n          toPreferredDelta(\n            {\n              context: 'self',\n              updates: [\n                {\n                  $source: sourceRef,\n                  values: [\n                    {\n                      path: 'environment.wind.speedApparent',\n                      value: n++\n                    }\n                  ]\n                }\n              ]\n            },\n            new Date(),\n            'self'\n          )\n        )\n      }, totalDelay)\n    }\n\n    push('a', 0, true)\n    push('b', 50, false)\n    push('c', 50, false)\n    push('b', 100, true)\n    push('a', 0, true)\n    push('b', 10, false)\n    push('c', 10, false)\n    push('c', 150, true)\n    push('b', 10, true)\n    push('c', 10, false)\n    push('c', 150, true)\n    push('a', 10, true)\n    push('b', 10, false)\n    push('d', 0, false)\n    push('c', 10, false)\n    push('c', 150, true)\n    push('d', 205, true)\n\n    return new Promise((resolve, reject) => {\n      setTimeout(() => {\n        try {\n          result\n            .filter((r) => r.updates[0].values.length > 0)\n            .map((r) => r.updates[0].$source)\n            .should.eql(expectedResult)\n          resolve(undefined)\n        } catch (err) {\n          reject(err)\n        }\n      }, totalDelay + 10)\n    })\n  })\n})\n"
  },
  {
    "path": "test/deltacache.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nchai.use(require('@signalk/signalk-schema').chaiModule)\nconst _ = require('lodash')\nimport { startServer } from './ts-servertestutilities'\n\nconst testDelta = {\n  context: 'vessels.self',\n  updates: [\n    {\n      timestamp: '2014-05-03T09:14:11.100Z',\n      values: [\n        {\n          path: 'navigation.trip.log',\n          value: 43374\n        }\n      ]\n    },\n    {\n      timestamp: '2014-05-03T09:14:11.099Z',\n      values: [\n        {\n          path: 'imaginary.path',\n          value: 17404540\n        }\n      ]\n    },\n    {\n      timestamp: '2014-05-03T09:14:11.098Z',\n      values: [\n        {\n          path: 'navigation.courseOverGroundTrue',\n          value: 172.9\n        }\n      ]\n    },\n    {\n      timestamp: '2014-05-03T09:14:11.097Z',\n      values: [\n        {\n          path: 'navigation.speedOverGround',\n          value: 3.85\n        }\n      ]\n    },\n    {\n      timestamp: '2014-05-03T09:14:11.096Z',\n      $source: 'defaults',\n      values: [\n        {\n          path: '',\n          value: { name: 'TestBoat' }\n        }\n      ]\n    }\n  ]\n}\n\nconst expectedOrder = [\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e',\n    updates: [\n      {\n        $source: 'deltaFromHttp',\n        timestamp: '2014-05-03T09:14:11.096Z',\n        values: [\n          {\n            path: '',\n            value: {\n              name: 'TestBoat'\n            }\n          }\n        ]\n      }\n    ]\n  },\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e',\n    updates: [\n      {\n        $source: 'deltaFromHttp',\n        timestamp: '2014-05-03T09:14:11.097Z',\n        values: [\n          {\n            path: 'navigation.speedOverGround',\n            value: 3.85\n          }\n        ]\n      }\n    ]\n  },\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e',\n    updates: [\n      {\n        $source: 'deltaFromHttp',\n        timestamp: '2014-05-03T09:14:11.098Z',\n        values: [\n          {\n            path: 'navigation.courseOverGroundTrue',\n            value: 172.9\n          }\n        ]\n      }\n    ]\n  },\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:db826a2c-c80a-4f69-8199-a83e41f45127',\n    updates: [\n      {\n        $source: 'deltaFromHttp',\n        timestamp: '2014-05-03T09:14:11.099Z',\n        values: [\n          {\n            path: 'imaginary.path',\n            value: 17404540\n          }\n        ]\n      }\n    ]\n  },\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e',\n    updates: [\n      {\n        $source: 'deltaFromHttp',\n        timestamp: '2014-05-03T09:14:11.100Z',\n        values: [\n          {\n            path: 'navigation.trip.log',\n            value: 43374\n          }\n        ]\n      }\n    ]\n  },\n  {\n    context:\n      'vessels.urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e',\n    updates: [\n      {\n        $source: 'defaults',\n        timestamp: '2018-06-14T18:19:39.083Z',\n        values: [\n          {\n            path: '',\n            value: {\n              uuid: 'urn:mrn:signalk:uuid:2204ae24-c944-5ffe-8d1d-4d411c9cea2e'\n            }\n          }\n        ]\n      }\n    ]\n  }\n]\n\ndescribe('Deltacache', () => {\n  let doStop, theServer\n\n  before(() =>\n    startServer().then((s) => {\n      const { sendADelta, stop, server } = s\n      doStop = stop\n      theServer = server\n      return sendADelta(testDelta)\n    })\n  )\n\n  after(() => doStop())\n\n  it('returns valid full tree', function () {\n    const fullTree = theServer.app.deltaCache.buildFull(null, [])\n\n    const self = _.get(fullTree, fullTree.self)\n    self.should.have.nested.property('navigation.trip.log.value', 43374)\n    self.should.have.nested.property('imaginary.path.value', 17404540)\n    self.should.have.nested.property(\n      'navigation.courseOverGroundTrue.value',\n      172.9\n    )\n    self.should.have.nested.property('navigation.speedOverGround.value', 3.85)\n    self.should.have.nested.property('name', 'TestBoat')\n\n    delete self.imaginary\n    delete self.navigation.course //FIXME until in schema\n    fullTree.should.be.validSignalK\n  })\n\n  it('deltas ordered properly', function () {\n    var deltas = theServer.app.deltaCache\n      .getCachedDeltas(() => true, null)\n      .filter((delta) => delta.updates[0].$source !== 'courseApi')\n    // console.log(JSON.stringify(deltas, null, 2))\n    deltas.length.should.equal(expectedOrder.length)\n    for (var i = 0; i < expectedOrder.length; i++) {\n      if (!deltas[i].updates[0].meta) {\n        deltas[i].updates[0].values[0].path.should.equal(\n          expectedOrder[i].updates[0].values[0].path\n        )\n      } else {\n        deltas[i].updates[0].meta[0].path.should.equal(\n          expectedOrder[i].updates[0].meta[0].path\n        )\n      }\n    }\n  })\n\n  it('returns /sources correctly', function () {\n    const fullTree = theServer.app.deltaCache.buildFull(null, ['sources'])\n    const self = _.get(fullTree, fullTree.self)\n    delete self.imaginary\n    delete self.navigation.course //FIXME until in schema\n    fullTree.should.be.validSignalK\n    fullTree.sources.should.deep.equal({\n      defaults: {},\n      deltaFromHttp: {}\n    })\n  })\n})\n"
  },
  {
    "path": "test/endpoint-auth.ts",
    "content": "import chai from 'chai'\nimport { freeport } from './ts-servertestutilities'\nimport {\n  startServerP,\n  getReadOnlyToken,\n  getAdminToken\n} from './servertestutilities'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n;(chai as any).Should()\n\ndescribe('Endpoint authentication', function () {\n  let url: string\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let adminToken: string\n  let readToken: string\n\n  before(async function () {\n    const port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    server = await startServerP(port, true)\n    adminToken = await getAdminToken(server)\n    readToken = await getReadOnlyToken(server)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  function authHeaders(token: string) {\n    return {\n      Cookie: `JAUTHENTICATION=${token}`,\n      'Content-Type': 'application/json'\n    }\n  }\n\n  async function fetchEndpoint(\n    method: string,\n    path: string,\n    token?: string,\n    body?: object\n  ): Promise<number> {\n    const options: RequestInit = {\n      method,\n      headers: token\n        ? authHeaders(token)\n        : { 'Content-Type': 'application/json' }\n    }\n    if (body) {\n      options.body = JSON.stringify(body)\n    }\n    const result = await fetch(`${url}${path}`, options)\n    return result.status\n  }\n\n  describe('skServer config endpoints require admin auth', function () {\n    const endpoints: Array<{ method: string; path: string; body: object }> = [\n      {\n        method: 'PUT',\n        path: '/skServer/sourcePriorities',\n        body: {}\n      },\n      {\n        method: 'PUT',\n        path: '/skServer/vessel',\n        body: { name: 'TestVessel', mmsi: '123456789' }\n      },\n      { method: 'POST', path: '/skServer/debug', body: { value: 'test:*' } },\n      {\n        method: 'POST',\n        path: '/skServer/rememberDebug',\n        body: { value: 'test:*' }\n      }\n    ]\n\n    for (const { method, path, body } of endpoints) {\n      it(`${method} ${path} rejects unauthenticated requests`, async function () {\n        const status = await fetchEndpoint(method, path, undefined, body)\n        status.should.equal(\n          401,\n          `${method} ${path}: expected 401, got ${status}`\n        )\n      })\n\n      it(`${method} ${path} rejects read-only users`, async function () {\n        const status = await fetchEndpoint(method, path, readToken, body)\n        status.should.equal(\n          401,\n          `${method} ${path}: expected 401, got ${status}`\n        )\n      })\n\n      it(`${method} ${path} accepts admin users`, async function () {\n        const status = await fetchEndpoint(method, path, adminToken, body)\n        status.should.not.equal(\n          401,\n          `${method} ${path}: admin request should not be rejected`\n        )\n      })\n    }\n\n    it('PUT /skServer/settings rejects unauthenticated requests', async function () {\n      const status = await fetchEndpoint(\n        'PUT',\n        '/skServer/settings',\n        undefined,\n        {}\n      )\n      status.should.equal(401)\n    })\n\n    it('PUT /skServer/settings rejects read-only users', async function () {\n      const status = await fetchEndpoint(\n        'PUT',\n        '/skServer/settings',\n        readToken,\n        {}\n      )\n      status.should.equal(401)\n    })\n\n    it('PUT /skServer/settings accepts admin users', async function () {\n      const status = await fetchEndpoint(\n        'PUT',\n        '/skServer/settings',\n        adminToken,\n        { interfaces: {}, options: {} }\n      )\n      status.should.not.equal(401)\n    })\n  })\n\n  describe('v2 notification endpoints require authentication', function () {\n    const endpoints: Array<{\n      method: string\n      path: string\n      body?: object\n    }> = [\n      { method: 'POST', path: '/signalk/v2/api/notifications/silenceAll' },\n      { method: 'POST', path: '/signalk/v2/api/notifications/acknowledgeAll' },\n      {\n        method: 'POST',\n        path: '/signalk/v2/api/notifications/mob',\n        body: {}\n      },\n      {\n        method: 'POST',\n        path: '/signalk/v2/api/notifications',\n        body: { message: 'test', state: 'alert' }\n      },\n      {\n        method: 'PUT',\n        path: '/signalk/v2/api/notifications/test-id',\n        body: { message: 'test', state: 'alert' }\n      },\n      {\n        method: 'DELETE',\n        path: '/signalk/v2/api/notifications/test-id'\n      },\n      {\n        method: 'POST',\n        path: '/signalk/v2/api/notifications/test-id/silence'\n      },\n      {\n        method: 'POST',\n        path: '/signalk/v2/api/notifications/test-id/acknowledge'\n      }\n    ]\n\n    for (const { method, path, body } of endpoints) {\n      it(`${method} ${path} rejects unauthenticated requests`, async function () {\n        const status = await fetchEndpoint(method, path, undefined, body)\n        status.should.equal(\n          401,\n          `${method} ${path}: expected 401, got ${status}`\n        )\n      })\n    }\n  })\n})\n"
  },
  {
    "path": "test/error-logging.ts",
    "content": "import { expect } from 'chai'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst tcpInterface = require('../dist/interfaces/tcp.js')\n\ndescribe('Error logging', () => {\n  describe('tcp socketMessageHandler', () => {\n    it('logs the full error (including stack) when subscriptionmanager.unsubscribe throws', () => {\n      const originalError = console.error\n      const logged: unknown[] = []\n      console.error = (...args: unknown[]) => {\n        logged.push(args[0])\n      }\n\n      try {\n        const thrown = new Error('boom')\n        const app = {\n          securityStrategy: { isDummy: () => true },\n          subscriptionmanager: {\n            unsubscribe: () => {\n              throw thrown\n            }\n          }\n        }\n        const socket = {\n          name: 'testsocket',\n          write: () => undefined,\n          end: () => undefined\n        }\n\n        const handler = tcpInterface.socketMessageHandler(app, socket, [])\n        handler({ unsubscribe: [{ path: 'foo' }] })\n\n        // First logged argument must be the Error itself, not a string,\n        // so the stack trace is preserved in the output.\n        expect(logged.length).to.be.greaterThan(0)\n        expect(logged[0]).to.be.instanceOf(Error)\n        expect((logged[0] as Error).stack).to.be.a('string')\n        expect((logged[0] as Error).stack).to.contain('Error: boom')\n      } finally {\n        console.error = originalError\n      }\n    })\n  })\n})\n"
  },
  {
    "path": "test/externalssl.ts",
    "content": "import { expect } from 'chai'\nimport { freeport } from './ts-servertestutilities'\nimport { startServerP } from './servertestutilities'\n\ndescribe('EXTERNALSSL', function () {\n  this.timeout(10000)\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  const savedExternalSsl = process.env.EXTERNALSSL\n\n  afterEach(async function () {\n    if (savedExternalSsl === undefined) {\n      delete process.env.EXTERNALSSL\n    } else {\n      process.env.EXTERNALSSL = savedExternalSsl\n    }\n    if (server) {\n      await server.stop()\n      server = null\n    }\n  })\n\n  it('without EXTERNALSSL advertises non-ssl mDNS names', async function () {\n    delete process.env.EXTERNALSSL\n    const port = await freeport()\n    server = await startServerP(port)\n    expect(server.app.interfaces.ws.mdns.name).to.equal('_signalk-ws')\n    expect(server.app.interfaces.rest.mdns.name).to.equal('_signalk-http')\n  })\n\n  it('with EXTERNALSSL=1 advertises ssl mDNS names', async function () {\n    process.env.EXTERNALSSL = '1'\n    const port = await freeport()\n    server = await startServerP(port)\n    expect(server.app.interfaces.ws.mdns.name).to.equal('_signalk-wss')\n    expect(server.app.interfaces.rest.mdns.name).to.equal('_signalk-https')\n  })\n\n  it('with EXTERNALSSL=true advertises ssl mDNS names', async function () {\n    process.env.EXTERNALSSL = 'true'\n    const port = await freeport()\n    server = await startServerP(port)\n    expect(server.app.interfaces.ws.mdns.name).to.equal('_signalk-wss')\n    expect(server.app.interfaces.rest.mdns.name).to.equal('_signalk-https')\n  })\n\n  it('with proxy_ssl setting advertises ssl mDNS names', async function () {\n    delete process.env.EXTERNALSSL\n    const port = await freeport()\n    server = await startServerP(port, false, {\n      settings: { proxy_ssl: true }\n    })\n    expect(server.app.interfaces.ws.mdns.name).to.equal('_signalk-wss')\n    expect(server.app.interfaces.rest.mdns.name).to.equal('_signalk-https')\n  })\n\n  it('EXTERNALSSL=false does not advertise ssl mDNS names', async function () {\n    process.env.EXTERNALSSL = 'false'\n    const port = await freeport()\n    server = await startServerP(port)\n    expect(server.app.interfaces.ws.mdns.name).to.equal('_signalk-ws')\n    expect(server.app.interfaces.rest.mdns.name).to.equal('_signalk-http')\n  })\n})\n"
  },
  {
    "path": "test/filter-test-helper.ts",
    "content": "import Replacer from '../packages/streams/src/replacer'\n\nexport function filter(regexp: string, input: string): Promise<string> {\n  return new Promise((resolve, reject) => {\n    const replacer = new Replacer({ regexp, template: '' })\n    const results: string[] = []\n    replacer.on('data', (d: string) => results.push(d))\n    replacer.on('error', (err: Error) => reject(err))\n    replacer.write(input)\n    replacer.end()\n    replacer.on('finish', () => {\n      resolve(results.join(''))\n    })\n  })\n}\n"
  },
  {
    "path": "test/history-api.ts",
    "content": "import chai from 'chai'\nimport fs from 'fs'\nimport path from 'path'\nimport { Value } from '@sinclair/typebox/value'\nimport { type TSchema, FormatRegistry } from '@sinclair/typebox'\nimport {\n  ValuesResponseSchema,\n  HistoryProvidersResponseSchema\n} from '@signalk/server-api/typebox'\nimport { freeport } from './ts-servertestutilities'\nimport { startServerP } from './servertestutilities'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst Server = require('../dist/')\n\nchai.should()\n\nFormatRegistry.Set('date-time', (value) => !isNaN(Date.parse(value)))\n\nconst FROM = '2025-01-01T00:00:00Z'\nconst TO = '2025-01-02T00:00:00Z'\n\nfunction assertSchema(schema: TSchema, value: unknown, name: string) {\n  const valid = Value.Check(schema, value)\n  if (!valid) {\n    const errors = [...Value.Errors(schema, value)]\n    chai.assert.fail(\n      `${name} validation failed:\\n${JSON.stringify(errors, null, 2)}`\n    )\n  }\n}\n\nfunction mkDirSync(dirPath: string) {\n  fs.mkdirSync(dirPath, { recursive: true })\n}\n\ndescribe('History API v2', () => {\n  describe('without provider', () => {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let server: any\n    let api: string\n    let origConfigDir: string | undefined\n\n    before(async function () {\n      origConfigDir = process.env.SIGNALK_NODE_CONFIG_DIR\n      const port = await freeport()\n      api = `http://localhost:${port}/signalk/v2/api`\n      server = await startServerP(port, false)\n    })\n\n    after(async function () {\n      await server.stop()\n      if (origConfigDir === undefined) {\n        delete process.env.SIGNALK_NODE_CONFIG_DIR\n      } else {\n        process.env.SIGNALK_NODE_CONFIG_DIR = origConfigDir\n      }\n    })\n\n    it('returns 501 for /history/values when no provider is registered', async function () {\n      const res = await fetch(\n        `${api}/history/values?paths=navigation.position&from=${FROM}&to=${TO}`\n      )\n      res.status.should.equal(501)\n      const body = await res.json()\n      body.should.have.property('error')\n    })\n  })\n\n  describe('with provider', () => {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    let server: any\n    let api: string\n    let origConfigDir: string | undefined\n    let pluginConfigFile: string\n\n    before(async function () {\n      origConfigDir = process.env.SIGNALK_NODE_CONFIG_DIR\n      process.env.SIGNALK_NODE_CONFIG_DIR = path.join(\n        __dirname,\n        'plugin-test-config'\n      )\n\n      const pluginConfig = {\n        enabled: true,\n        configuration: {}\n      }\n      const configDir = path.join(\n        __dirname,\n        'plugin-test-config',\n        'plugin-config-data'\n      )\n      mkDirSync(configDir)\n      pluginConfigFile = path.join(configDir, 'testplugin.json')\n      fs.writeFileSync(pluginConfigFile, JSON.stringify(pluginConfig))\n\n      const port = await freeport()\n      api = `http://localhost:${port}/signalk/v2/api`\n\n      server = new Server({\n        config: { settings: { port } }\n      })\n      await server.start()\n    })\n\n    after(async function () {\n      await server.stop()\n      if (fs.existsSync(pluginConfigFile)) {\n        fs.unlinkSync(pluginConfigFile)\n      }\n      if (origConfigDir === undefined) {\n        delete process.env.SIGNALK_NODE_CONFIG_DIR\n      } else {\n        process.env.SIGNALK_NODE_CONFIG_DIR = origConfigDir\n      }\n    })\n\n    it('lists testplugin as default provider', async function () {\n      const res = await fetch(`${api}/history/_providers`)\n      res.status.should.equal(200)\n      const body = await res.json()\n      assertSchema(\n        HistoryProvidersResponseSchema,\n        body,\n        'HistoryProvidersResponse'\n      )\n      body.testplugin.isDefault.should.equal(true)\n    })\n\n    it('returns the default provider id', async function () {\n      const res = await fetch(`${api}/history/_providers/_default`)\n      res.status.should.equal(200)\n      const body = await res.json()\n      body.should.have.property('id', 'testplugin')\n    })\n\n    it('returns values from the provider', async function () {\n      const res = await fetch(\n        `${api}/history/values?paths=navigation.position&from=${FROM}&to=${TO}&resolution=60`\n      )\n      res.status.should.equal(200)\n      const body = await res.json()\n      assertSchema(ValuesResponseSchema, body, 'ValuesResponse')\n      body.data.length.should.be.greaterThan(0)\n    })\n\n    it('returns paths from the provider', async function () {\n      const res = await fetch(`${api}/history/paths?from=${FROM}&to=${TO}`)\n      res.status.should.equal(200)\n      const body = await res.json()\n      body.should.be.an('array')\n      body.should.include('navigation.position')\n    })\n\n    it('returns contexts from the provider', async function () {\n      const res = await fetch(`${api}/history/contexts?from=${FROM}&to=${TO}`)\n      res.status.should.equal(200)\n      const body = await res.json()\n      body.should.be.an('array')\n      body.should.include('vessels.self')\n    })\n\n    it('returns 400 when paths is missing', async function () {\n      const res = await fetch(`${api}/history/values?from=${FROM}&to=${TO}`)\n      res.status.should.equal(400)\n      const body = await res.json()\n      body.should.have.property('error')\n      body.error.should.contain('paths')\n    })\n  })\n})\n"
  },
  {
    "path": "test/history.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nconst _ = require('lodash')\nconst { freeport } = require('./ts-servertestutilities')\nconst Server = require('../dist')\nconst { WsPromiser } = require('./servertestutilities')\n\nconst testDeltaDate = new Date('2018-08-09T14:07:29.695Z')\nconst testDelta = {\n  updates: [\n    {\n      timestamp: '2018-08-09T14:07:29.695Z',\n      values: [\n        { path: 'performance.velocityMadeGood', value: 0.16641505293384623 },\n        {\n          path: 'performance.beatAngleVelocityMadeGood',\n          value: 0.16641505293384623\n        }\n      ],\n      $source: 'test-source'\n    }\n  ]\n}\n\nconst dummyHistoryProvider = (app) => {\n  return {\n    streamHistory: (cookie, options, onDelta) => {\n      setTimeout(() => {\n        testDelta.context = `vessels.${app.selfId}`\n        onDelta(testDelta)\n      }, 10)\n      return () => {}\n    },\n    getHistory: (date, path, cb) => {\n      testDelta.context = `vessels.${app.selfId}`\n      if (date.getTime() === testDeltaDate.getTime()) {\n        cb([testDelta])\n      } else {\n        cb([])\n      }\n    },\n    hasAnyData: (options, cb) => {\n      cb(options.startTime.getTime() === testDeltaDate.getTime())\n    }\n  }\n}\n\ndescribe('History', (_) => {\n  let server, url, port\n\n  before(async function () {\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    const serverApp = new Server({\n      config: {\n        settings: {\n          port,\n          interfaces: {\n            plugins: false\n          }\n        }\n      }\n    })\n    server = await serverApp.start()\n    server.app.registerHistoryProvider(dummyHistoryProvider(server.app))\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('startTime subscription works', async function () {\n    const wsPromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/playback?subscribe=self&startTime=2018-08-09T14:07:29.695Z&metaDeltas=none`\n    )\n    let msg = await wsPromiser.nextMsg()\n    msg.should.not.equal('timeout')\n    JSON.parse(msg)\n\n    msg = await wsPromiser.nextMsg()\n    msg.should.not.equal('timeout')\n    const delta = JSON.parse(msg)\n    delta.updates[0].values[0].path.should.equal('performance.velocityMadeGood')\n\n    msg = await wsPromiser.nextMsg()\n    msg.should.equal('timeout')\n  })\n\n  it('REST time request works at spec-compliant path', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/snapshot/vessels/self?time=2018-08-09T14:07:29.695Z`\n    )\n    result.status.should.equal(200)\n    const json = await result.json()\n    json.should.have.nested.property('performance.velocityMadeGood')\n  })\n\n  it('REST time request with no data works at spec-compliant path', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/snapshot/vessels/self?time=2018-08-09T14:07:29.694Z`\n    )\n    result.status.should.equal(404)\n  })\n\n  it('REST time request works at legacy path', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/api/snapshot/vessels/self?time=2018-08-09T14:07:29.695Z`\n    )\n    result.status.should.equal(200)\n    const json = await result.json()\n    json.should.have.nested.property('performance.velocityMadeGood')\n  })\n\n  it('REST time request with no data works at legacy path', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/api/snapshot/vessels/self?time=2018-08-09T14:07:29.694Z`\n    )\n    result.status.should.equal(404)\n  })\n})\n"
  },
  {
    "path": "test/httpprovider.js",
    "content": "/*\n * Copyright 015 Teppo Kurki <teppo.kurki@iki.fi>\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst Transform = require('stream').Transform\nconst bodyParser = require('body-parser')\n\nfunction HttpProvider(options) {\n  Transform.call(this, {\n    objectMode: true\n  })\n  options.app.use(bodyParser.json()) // for parsing application/json\n  options.app.use(bodyParser.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded\n\n  options.app.post('/signalk/v1/api/_test/delta', handleDelta.bind(this))\n}\n\nrequire('util').inherits(HttpProvider, Transform)\n\nHttpProvider.prototype._transform = function (chunk, encoding, done) {\n  console.error('HttpProvider._transform is not supposed to be called')\n  done()\n}\n\nfunction handleDelta(req, res) {\n  res.type('text/plain').send('ok')\n\n  this.push(req.body)\n}\n\nmodule.exports = HttpProvider\n"
  },
  {
    "path": "test/metadata-e2e.ts",
    "content": "import { expect } from 'chai'\nimport {\n  serverTestConfigDirectory,\n  startServerP,\n  WsPromiser\n} from './servertestutilities'\nimport { freeport } from './ts-servertestutilities'\nimport path from 'path'\nimport { rimraf } from 'rimraf'\nimport { SERVERSTATEDIRNAME } from '../src/serverstate/store'\n\nconst TEST_PATH_DOTS = 'a.test.path'\nconst TEST_PATH_SLASHES = 'a/test/path'\n\nconst emptyConfigDirectory = () =>\n  Promise.all(\n    [SERVERSTATEDIRNAME, 'resources', 'plugin-config-data', 'baseDeltas.json']\n      .map((subDir) => path.join(serverTestConfigDirectory(), subDir))\n      .map((dir) => rimraf(dir))\n  )\n\ndescribe('Metadata end to end', function () {\n  this.timeout(10000)\n\n  let port: number\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let v1Api: string\n\n  const getV1 = (p: string) => fetch(`${v1Api}${p}`)\n  const selfGetMetaJson = () =>\n    getV1(`/vessels/self/${TEST_PATH_SLASHES}/meta`).then((r) => r.json())\n  const selfPutV1 = (p: string, body: object) =>\n    fetch(`${v1Api}/vessels/self/${p}`, {\n      method: 'PUT',\n      body: JSON.stringify(body),\n      headers: { 'Content-Type': 'application/json' }\n    })\n  const createMetaWsPromiser = () =>\n    new WsPromiser(\n      `ws://localhost:${port}/signalk/v1/stream?subscribe=self&sendMeta=all&sendCachedValues=false`,\n      500\n    )\n\n  before(async () => {\n    port = await freeport()\n    v1Api = `http://localhost:${port}/signalk/v1/api`\n    await emptyConfigDirectory()\n    server = await startServerP(port, false, {\n      settings: {\n        interfaces: {\n          plugins: false\n        }\n      }\n    })\n  })\n\n  after(async () => {\n    await server.stop()\n  })\n\n  it('sends metadata via websocket, retrieves it over HTTP, adds zones via PUT, receives zones update via websocket, persists across restart, and merges additional metadata', async () => {\n    // 1. Send metadata for a.test.path with units=V via websocket\n    const sender = new WsPromiser(\n      `ws://localhost:${port}/signalk/v1/stream?subscribe=none&metaDeltas=none&sendCachedValues=false`\n    )\n    await sender.nextMsg() // hello\n\n    await sender.send({\n      context: 'vessels.self',\n      updates: [\n        {\n          meta: [\n            {\n              path: TEST_PATH_DOTS,\n              value: { units: 'V' }\n            }\n          ]\n        }\n      ]\n    })\n\n    // 2. Assert that retrieving metadata over HTTP includes the unit\n    const meta1 = await selfGetMetaJson()\n    expect(meta1).to.have.property('units', 'V')\n    console.log(JSON.stringify(meta1, null, 2))\n\n    // 3. Connect a websocket client that receives meta updates\n    const metaReceiver = createMetaWsPromiser()\n    await metaReceiver.nextMsg() // hello\n\n    // 4. Simulate a user specifying a zone for high voltage above 14.4V\n    const zones = [\n      {\n        lower: 14.4,\n        state: 'alarm',\n        message: 'High voltage'\n      }\n    ]\n    // Set up the message promise before triggering the PUT\n    const metaMsgPromise = metaReceiver.nextMsg()\n    const putResult = await selfPutV1(`${TEST_PATH_SLASHES}/meta/zones`, {\n      value: zones\n    })\n    expect(putResult.status).to.equal(202)\n\n    // 5. Assert that the connected websocket client receives metadata update with zones and unit\n    const metaMsg = await metaMsgPromise\n    expect(metaMsg).to.not.equal('timeout')\n    const metaDelta = JSON.parse(metaMsg)\n    expect(metaDelta).to.have.property('updates')\n    const metaUpdate = metaDelta.updates[0].meta[0]\n    expect(metaUpdate.path).to.equal(TEST_PATH_DOTS)\n    expect(metaUpdate.value).to.have.property('units', 'V')\n    expect(metaUpdate.value).to.have.property('zones').that.is.an('array')\n    expect(metaUpdate.value.zones[0]).to.deep.include({\n      lower: 14.4,\n      state: 'alarm',\n      message: 'High voltage'\n    })\n\n    // 6. Restart the server and assert metadata persists\n    await server.stop()\n    server = await startServerP(port, false, {\n      settings: {\n        interfaces: {\n          plugins: false\n        }\n      }\n    })\n\n    const meta2 = await selfGetMetaJson()\n    expect(meta2).to.have.property('units', 'V')\n    expect(meta2).to.have.property('zones').that.is.an('array')\n    expect(meta2.zones[0]).to.deep.include({\n      lower: 14.4,\n      state: 'alarm',\n      message: 'High voltage'\n    })\n\n    // 7. Send additional metadata (description) via websocket\n    const sender2 = new WsPromiser(\n      `ws://localhost:${port}/signalk/v1/stream?subscribe=none&metaDeltas=none&sendCachedValues=false`\n    )\n    await sender2.nextMsg() // hello\n\n    await sender2.send({\n      context: 'vessels.self',\n      updates: [\n        {\n          meta: [\n            {\n              path: TEST_PATH_DOTS,\n              value: { description: 'A test path' }\n            }\n          ]\n        }\n      ]\n    })\n\n    // 8. Assert that retrieving metadata over HTTP includes unit, zones, and description\n    const meta3 = await selfGetMetaJson()\n    expect(meta3).to.have.property('units', 'V')\n    expect(meta3).to.have.property('zones').that.is.an('array')\n    expect(meta3.zones[0]).to.deep.include({\n      lower: 14.4,\n      state: 'alarm',\n      message: 'High voltage'\n    })\n    expect(meta3).to.have.property('description', 'A test path')\n  })\n\n  it('deletes a metadata field and it does not reappear', async () => {\n    const zones = [{ lower: 14.4, state: 'alarm', message: 'High voltage' }]\n    const setupResult = await selfPutV1(`${TEST_PATH_SLASHES}/meta/zones`, {\n      value: zones\n    })\n    expect(setupResult.status).to.equal(202)\n    await new Promise((resolve) => setTimeout(resolve, 200))\n\n    const metaBefore = await selfGetMetaJson()\n    expect(metaBefore).to.have.property('zones')\n\n    const deleteResult = await fetch(\n      `${v1Api}/vessels/self/${TEST_PATH_SLASHES}/meta/zones`,\n      { method: 'DELETE' }\n    )\n    expect(deleteResult.status).to.equal(202)\n\n    const metaAfterDelete = await selfGetMetaJson()\n    expect(metaAfterDelete).to.not.have.property('zones')\n\n    const putResult = await selfPutV1(`${TEST_PATH_SLASHES}/meta/description`, {\n      value: 'Updated description'\n    })\n    expect(putResult.status).to.equal(202)\n\n    const metaAfterPut = await selfGetMetaJson()\n    expect(metaAfterPut).to.not.have.property('zones')\n    expect(metaAfterPut).to.have.property('description', 'Updated description')\n\n    await server.stop()\n    server = await startServerP(port, false, {\n      settings: {\n        interfaces: {\n          plugins: false\n        }\n      }\n    })\n\n    const metaAfterRestart = await selfGetMetaJson()\n    expect(metaAfterRestart).to.not.have.property('zones')\n    expect(metaAfterRestart).to.have.property(\n      'description',\n      'Updated description'\n    )\n  })\n})\n"
  },
  {
    "path": "test/metadata.js",
    "content": "const _ = require('lodash')\nconst assert = require('assert')\nconst { freeport } = require('./ts-servertestutilities')\nconst startServerP = require('./servertestutilities').startServerP\n\nconst metaConfig = {\n  defaults: {\n    vessels: {\n      self: {\n        electrical: {\n          batteries: {\n            1: {\n              voltage: {\n                meta: {\n                  testKey: 'testValue'\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\ndescribe('Metadata retrieval', () => {\n  let serverP, port\n\n  before(() => {\n    serverP = freeport()\n      .then((p) => {\n        port = p\n        return startServerP(p, false, metaConfig)\n      })\n      .catch((e) => {\n        console.log(e)\n      })\n  })\n\n  after((done) => {\n    serverP\n      .then((server) => server.stop())\n      .then(() => {\n        done()\n      })\n  })\n\n  it('valid .../meta works', () => {\n    return getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/foo/navigation/headingTrue/meta`\n    )\n      .then((r) => r.json())\n      .then((result) => {\n        assert.equal(result.units, 'rad')\n      })\n  })\n\n  it('invalid .../meta returns error', (done) => {\n    getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/foo/navigation/headingTrueTRUE/meta`\n    ).then((response) => {\n      assert.equal(response.status, 404)\n      done()\n    })\n  })\n\n  it('valid .../units works', () => {\n    return getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/foo/navigation/headingTrue/meta/units`\n    )\n      .then((r) => r.json())\n      .then((result) => {\n        assert.equal(result, 'rad')\n      })\n  })\n\n  it('invalid .../units returns error', (done) => {\n    getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/foo/navigation/headingTrueTRUE/meta/units`\n    ).then((response) => {\n      assert.equal(response.status, 404)\n      done()\n    })\n  })\n\n  it('valid .../from defaults works', () => {\n    return getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/self/electrical/batteries/1/voltage/meta/testKey`\n    ) //then(r => r.json()).then(result => {\n      .then((r) => r.text())\n      .then((result) => {\n        //assert.equal(result, 'testValue')\n        console.log(result)\n      })\n  })\n\n  it('valid .../units with defaults works', () => {\n    return getUrl(\n      `http://localhost:${port}/signalk/v1/api/vessels/self/electrical/batteries/1/voltage/meta/units`\n    )\n      .then((r) => r.json())\n      .then((result) => {\n        assert.equal(result, 'V')\n      })\n  })\n\n  function getUrl(url) {\n    return serverP.then((_) => fetch(url))\n  }\n})\n"
  },
  {
    "path": "test/modules.js",
    "content": "const chai = require('chai')\nconst _ = require('lodash')\nconst fs = require('fs')\nconst path = require('path')\nconst {\n  modulesWithKeyword,\n  checkForNewServerVersion,\n  getLatestServerVersion,\n  importOrRequire,\n  runNpm,\n  getPluginDataSize\n} = require('../dist/modules')\n\ndescribe('modulesWithKeyword', () => {\n  it('returns a list of modules with one \"installed\" update in config dir', () => {\n    const expectedModules = [\n      '@signalk/app-dock',\n      '@signalk/instrumentpanel',\n      '@signalk/freeboard-sk',\n      '@signalk/server-admin-ui',\n      '@mxtommy/kip'\n    ]\n    const updateInstalledModule = '@signalk/instrumentpanel'\n\n    const testTempDir = path.join(\n      require('os').tmpdir(),\n      '_skservertest_modules' + Date.now()\n    )\n\n    const app = {\n      config: {\n        appPath: path.join(__dirname + '/../'),\n        configPath: testTempDir\n      }\n    }\n\n    fs.mkdirSync(testTempDir)\n    const tempNodeModules = path.join(testTempDir, 'node_modules/')\n    fs.mkdirSync(path.join(testTempDir, 'node_modules'))\n    fs.mkdirSync(path.join(testTempDir, 'node_modules/@signalk'))\n    const installedModuleDirectory = path.join(\n      testTempDir,\n      `node_modules/${updateInstalledModule}`\n    )\n    fs.mkdirSync(installedModuleDirectory)\n\n    const fakeInstalledModulePackageJson = require(\n      path.join(\n        app.config.appPath,\n        `node_modules/${updateInstalledModule}/package.json`\n      )\n    )\n    fakeInstalledModulePackageJson.version = '1000.0.0'\n    fs.writeFileSync(\n      path.join(installedModuleDirectory, 'package.json'),\n      JSON.stringify(fakeInstalledModulePackageJson)\n    )\n\n    const moduleList = modulesWithKeyword(app.config, 'signalk-webapp')\n    chai.expect(_.map(moduleList, 'module')).to.have.members(expectedModules)\n\n    chai.expect(moduleList[0].location).to.not.eql(tempNodeModules)\n\n    const installedModuleInfo = moduleList.find(\n      (moduleInfo) => moduleInfo.module === updateInstalledModule\n    )\n    chai.expect(installedModuleInfo.location).to.eql(tempNodeModules)\n  })\n})\n\ndescribe('checkForNewServerVersion', () => {\n  it('normal version upgrade', (done) => {\n    checkForNewServerVersion(\n      '1.17.0',\n      (err, newVersion) => {\n        if (err) {\n          done(err)\n        } else {\n          chai.expect(newVersion).to.equal('1.18.0')\n          done()\n        }\n      },\n      () => Promise.resolve('1.18.0')\n    )\n  })\n\n  it('normal version does not upgrade to beta', (done) => {\n    checkForNewServerVersion(\n      '1.17.0',\n      () => {\n        done('callback should not be called')\n      },\n      () => Promise.resolve('1.18.0-beta.1')\n    )\n    done()\n  })\n\n  it('beta upgrades to same minor newer beta', (done) => {\n    checkForNewServerVersion(\n      '1.18.0-beta.1',\n      (err, newVersion) => {\n        if (err) {\n          done(err)\n        } else {\n          chai.expect(newVersion).to.equal('1.18.0-beta.2')\n          done()\n        }\n      },\n      () => Promise.resolve('1.18.0-beta.2')\n    )\n  })\n\n  it('beta upgrades to same normal version', (done) => {\n    checkForNewServerVersion(\n      '1.18.0-beta.2',\n      (err, newVersion) => {\n        if (err) {\n          done(err)\n        } else {\n          chai.expect(newVersion).to.equal('1.18.0')\n          done()\n        }\n      },\n      () => Promise.resolve('1.18.0')\n    )\n  })\n\n  it('beta upgrades to newer normal version', (done) => {\n    checkForNewServerVersion(\n      '1.18.0-beta.2',\n      (err, newVersion) => {\n        if (err) {\n          done(err)\n        } else {\n          chai.expect(newVersion).to.equal('1.19.0')\n          done()\n        }\n      },\n      () => Promise.resolve('1.19.0')\n    )\n  })\n\n  it('beta does not upgrade to newer minor beta', (done) => {\n    checkForNewServerVersion(\n      '1.17.0-beta.1',\n      () => {\n        done('callback should not be called')\n      },\n      () => Promise.resolve('1.18.0-beta.2')\n    )\n    done()\n  })\n})\n\ndescribe('getLatestServerVersion', () => {\n  it('latest for normal is normal', () => {\n    return getLatestServerVersion('1.17.0', () =>\n      Promise.resolve({\n        ok: true,\n        json: () => ({\n          latest: '1.18.3',\n          beta: '1.19.0-beta.1'\n        })\n      })\n    ).then((newVersion) => {\n      chai.expect(newVersion).to.equal('1.18.3')\n    })\n  })\n\n  it('latest for beta is newer same series beta', (done) => {\n    getLatestServerVersion('1.18.0-beta.2', () =>\n      Promise.resolve({\n        ok: true,\n        json: () => ({\n          latest: '1.17.3',\n          beta: '1.18.0-beta.3'\n        })\n      })\n    ).then((newVersion) => {\n      chai.expect(newVersion).to.equal('1.18.0-beta.3')\n      done()\n    })\n  })\n\n  it('latest for beta is newer real release', () => {\n    return getLatestServerVersion('1.18.0-beta.2', () =>\n      Promise.resolve({\n        ok: true,\n        json: () => ({\n          latest: '1.18.0',\n          beta: '1.18.0-beta.3'\n        })\n      })\n    ).then((newVersion) => {\n      chai.expect(newVersion).to.equal('1.18.0')\n    })\n  })\n})\n\ndescribe('importOrRequire', () => {\n  it('imports a cjs directory', async () => {\n    const dir = path.join(\n      __dirname,\n      'plugin-test-config/node_modules/testplugin'\n    )\n    const mod = await importOrRequire(dir)\n    chai.expect(mod).to.be.a('function')\n  })\n\n  it('imports an esm directory', async () => {\n    const dir = path.join(\n      __dirname,\n      'plugin-test-config/node_modules/esm-plugin'\n    )\n    const mod = await importOrRequire(dir)\n    chai.expect(mod).to.be.a('function')\n  })\n})\n\ndescribe('runNpm version validation', () => {\n  const config = {\n    configPath: '/tmp',\n    name: 'signalk-server'\n  }\n\n  const testVersion = (version, shouldPass) => {\n    return new Promise((resolve, reject) => {\n      let errCalled = false\n      const onErr = (err) => {\n        errCalled = true\n        if (shouldPass) {\n          reject(\n            new Error(`Should have passed but failed with: ${err.message}`)\n          )\n        } else {\n          chai.expect(err.message).to.contain('Invalid version')\n          resolve()\n        }\n      }\n\n      const onClose = (code) => {\n        if (shouldPass && !errCalled) {\n          resolve()\n        } else if (!shouldPass && !errCalled) {\n          reject(new Error(`Should have failed but passed (code ${code})`))\n        }\n      }\n\n      // We mock spawn to do nothing if validation passes\n      const originalSpawn = require('child_process').spawn\n      require('child_process').spawn = () => ({\n        stdout: { on: () => {} },\n        stderr: { on: () => {} },\n        on: (event, cb) => {\n          if (event === 'close') cb(0)\n        }\n      })\n\n      try {\n        runNpm(\n          config,\n          'some-package',\n          version,\n          'install',\n          () => {},\n          onErr,\n          onClose\n        )\n      } finally {\n        require('child_process').spawn = originalSpawn\n      }\n    })\n  }\n\n  it('should accept valid semantic versions', () => {\n    return testVersion('1.0.0', true)\n  })\n\n  it('should accept valid prerelease versions', () => {\n    return testVersion('1.0.0-alpha.1', true)\n  })\n\n  it('should accept empty version', () => {\n    return testVersion('', true)\n  })\n\n  it('should reject URL encoded http URL', () => {\n    return testVersion('http:%2F%2Fattacker.com%2Fpkg.tgz', false)\n  })\n\n  it('should reject URL encoded git URL', () => {\n    return testVersion(\n      'git%2Bhttps:%2F%2Fattacker.com%2Fmalicious-plugin.git',\n      false\n    )\n  })\n\n  it('should reject scoped package path', () => {\n    return testVersion('attacker%2Fmalicious-plugin', false)\n  })\n\n  it('should reject npm alias', () => {\n    return testVersion('npm:malicious-package@1.0.0', false)\n  })\n\n  it('should reject plain http URL', () => {\n    return testVersion('http://attacker.com/pkg.tgz', false)\n  })\n\n  it('should reject plain git URL', () => {\n    return testVersion('git+https://attacker.com/malicious-plugin.git', false)\n  })\n})\n\ndescribe('getPluginDataSize', () => {\n  let tempDir\n\n  beforeEach(() => {\n    tempDir = path.join(\n      require('os').tmpdir(),\n      '_skservertest_datasize' + Date.now()\n    )\n    fs.mkdirSync(tempDir, { recursive: true })\n  })\n\n  afterEach(() => {\n    fs.rmSync(tempDir, { recursive: true, force: true })\n  })\n\n  it('returns correct size for plugin with config and data files', async () => {\n    const configDataDir = path.join(tempDir, 'plugin-config-data')\n    fs.mkdirSync(configDataDir, { recursive: true })\n\n    const configContent = JSON.stringify({ enabled: true, configuration: {} })\n    fs.writeFileSync(\n      path.join(configDataDir, 'test-plugin.json'),\n      configContent\n    )\n\n    const dataDir = path.join(configDataDir, 'test-plugin')\n    fs.mkdirSync(dataDir, { recursive: true })\n    fs.writeFileSync(path.join(dataDir, 'data1.txt'), 'hello')\n    fs.writeFileSync(path.join(dataDir, 'data2.txt'), 'world')\n\n    const result = await getPluginDataSize(tempDir, 'test-plugin')\n\n    chai.expect(result.hasData).to.equal(true)\n    chai.expect(result.fileCount).to.equal(3) // config + 2 data files\n    chai.expect(result.totalBytes).to.be.greaterThan(0)\n  })\n\n  it('returns zero and hasData false for plugin with no data', async () => {\n    const result = await getPluginDataSize(tempDir, 'nonexistent-plugin')\n\n    chai.expect(result.hasData).to.equal(false)\n    chai.expect(result.fileCount).to.equal(0)\n    chai.expect(result.totalBytes).to.equal(0)\n  })\n\n  it('handles config file only without data directory', async () => {\n    const configDataDir = path.join(tempDir, 'plugin-config-data')\n    fs.mkdirSync(configDataDir, { recursive: true })\n\n    const configContent = JSON.stringify({ enabled: false })\n    fs.writeFileSync(\n      path.join(configDataDir, 'test-plugin.json'),\n      configContent\n    )\n\n    const result = await getPluginDataSize(tempDir, 'test-plugin')\n\n    chai.expect(result.hasData).to.equal(true)\n    chai.expect(result.fileCount).to.equal(1)\n    chai.expect(result.totalBytes).to.be.greaterThan(0)\n  })\n})\n"
  },
  {
    "path": "test/multiple-values.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nchai.use(require('@signalk/signalk-schema').chaiModule)\nconst { freeport } = require('./ts-servertestutilities')\nconst { startServerP, sendDelta } = require('./servertestutilities')\nconst uuid = 'urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d'\n\nconst delta = {\n  context: 'vessels.' + uuid,\n  updates: [\n    {\n      source: {\n        pgn: 128275,\n        label: '/dev/actisense',\n        src: '115'\n      },\n      values: [\n        { path: 'navigation.trip.log', value: 43374 },\n        { path: 'navigation.log', value: 17404540 }\n      ]\n    },\n    {\n      source: {\n        label: '/dev/actisense',\n        src: '115',\n        pgn: 128267\n      },\n      values: [\n        { path: 'navigation.courseOverGroundTrue', value: 172.9 },\n        { path: 'navigation.speedOverGround', value: 3.85 }\n      ]\n    }\n  ]\n}\n\nfunction removeDisplayUnits(tree) {\n  const nav = tree.vessels[uuid].navigation\n  delete nav.trip.log.meta.displayUnits\n  delete nav.log.meta.displayUnits\n  delete nav.courseOverGroundTrue.meta.displayUnits\n  delete nav.speedOverGround.meta.displayUnits\n}\n\ndescribe('Server', function () {\n  let server, port\n\n  before(async function () {\n    port = await freeport()\n    server = await startServerP(port)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('handles two deltas with signalk path', function () {\n    const host = 'http://localhost:' + port\n    const deltaUrl = host + '/signalk/v1/api/_test/delta'\n    const restUrl = host + '/signalk/v1/api/'\n\n    console.log('send')\n    return sendDelta(delta, deltaUrl)\n      .then(function () {\n        console.log('back1')\n        return fetch(restUrl).then((r) => r.json())\n      })\n      .then(function (treeAfterFirstDelta) {\n        console.log('back2')\n        treeAfterFirstDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.value',\n          43374\n        )\n        treeAfterFirstDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.$source',\n          'deltaFromHttp.115'\n        )\n        delete treeAfterFirstDelta.vessels[uuid].navigation.course //FIXME until in schema\n        removeDisplayUnits(treeAfterFirstDelta)\n        treeAfterFirstDelta.should.be.validSignalK\n\n        delta.updates[0].values[0].value = 1\n        return sendDelta(delta, deltaUrl)\n      })\n      .then(function () {\n        return fetch(restUrl).then((r) => r.json())\n      })\n      .then(function (treeAfterSecondDelta) {\n        treeAfterSecondDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.value',\n          1\n        )\n        treeAfterSecondDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.$source',\n          'deltaFromHttp.115'\n        )\n        delete treeAfterSecondDelta.vessels[uuid].navigation.course //FIXME until in schema\n        removeDisplayUnits(treeAfterSecondDelta)\n        treeAfterSecondDelta.should.be.validSignalK\n\n        delta.updates[0].values[0].value = 2\n        delta.updates[0].source.src = '116'\n        return sendDelta(delta, deltaUrl)\n      })\n      .then(function () {\n        return fetch(restUrl).then((r) => r.json())\n      })\n      .then(function (treeAfterOtherSourceDelta) {\n        treeAfterOtherSourceDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.value',\n          2\n        )\n        treeAfterOtherSourceDelta.vessels[uuid].should.have.nested.property(\n          'navigation.trip.log.$source',\n          'deltaFromHttp.116'\n        )\n        treeAfterOtherSourceDelta.vessels[uuid].navigation.trip.log.values[\n          'deltaFromHttp.115'\n        ].value.should.equal(1)\n        treeAfterOtherSourceDelta.vessels[uuid].navigation.trip.log.values[\n          'deltaFromHttp.116'\n        ].value.should.equal(2)\n        delete treeAfterOtherSourceDelta.vessels[uuid].navigation.course //FIXME until in schema\n        removeDisplayUnits(treeAfterOtherSourceDelta)\n        treeAfterOtherSourceDelta.should.be.validSignalK\n      })\n  }).timeout(4000)\n})\n"
  },
  {
    "path": "test/nmea0183-filtering.ts",
    "content": "import { expect } from 'chai'\nimport { filter } from './filter-test-helper'\n\ndescribe('NMEA0183 sentence filtering', () => {\n  function nmea0183filter(sentence: string, input: string) {\n    return filter(`^...${sentence}.*`, input)\n  }\n\n  it('should filter a matching NMEA0183 sentence', async () => {\n    const result = await nmea0183filter(\n      'RMC',\n      '$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A'\n    )\n    expect(result).to.equal('')\n  })\n\n  it('should pass through a non-matching NMEA0183 sentence', async () => {\n    const input = '$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M*47'\n    const result = await nmea0183filter('RMC', input)\n    expect(result).to.equal(input)\n  })\n\n  it('should filter regardless of talker id', async () => {\n    const gp = await nmea0183filter(\n      'RMC',\n      '$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A'\n    )\n    const gn = await nmea0183filter(\n      'RMC',\n      '$GNRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A'\n    )\n    expect(gp).to.equal('')\n    expect(gn).to.equal('')\n  })\n\n  it('should not filter SeaTalk1 datagrams', async () => {\n    const input = '$STALK,84,56,FA,01,03,37,2F,1C,0B'\n    const result = await nmea0183filter('84', input)\n    expect(result).to.equal(input)\n  })\n})\n"
  },
  {
    "path": "test/notifications.ts",
    "content": "import { expect } from 'chai'\nimport { NotificationApi } from '../dist/api/notifications/index.js'\nimport type {\n  Delta,\n  Context,\n  Path,\n  Timestamp,\n  SourceRef\n} from '@signalk/server-api'\n\ndescribe('NotificationApi', () => {\n  it('registers as DeltaInputHandler and filters notifications correctly', async function () {\n    // Track handleMessage calls\n    const handleMessageCalls: Delta[] = []\n    let registeredHandler:\n      | ((delta: Delta, next: (delta: Delta) => void) => void)\n      | null = null\n\n    // Mock app\n    const mockApp = {\n      registerDeltaInputHandler: (\n        handler: (delta: Delta, next: (delta: Delta) => void) => void\n      ) => {\n        registeredHandler = handler\n      },\n      handleMessage: (pluginId: string, delta: Delta) => {\n        handleMessageCalls.push(delta)\n      },\n      config: {\n        configPath: '/tmp/test'\n      },\n      setPluginStatus: () => {},\n      setPluginError: () => {},\n      signalk: {\n        self: {}\n      },\n      get: () => {},\n      post: () => {},\n      put: () => {},\n      delete: () => {}\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    } as any\n\n    // Create NotificationApi instance\n    const notificationApi = new NotificationApi(mockApp)\n    await notificationApi.start()\n\n    // Verify handler was registered\n    void expect(registeredHandler).to.not.be.null\n\n    // Create test delta with voltage and related notifications\n    const testDelta: Delta = {\n      context: 'vessels.self' as Context,\n      updates: [\n        {\n          $source: 'test.source' as SourceRef,\n          timestamp: '2026-02-07T12:00:00.000Z' as Timestamp,\n          values: [\n            {\n              path: 'electrical.batteries.1.voltage' as Path,\n              value: 15.5\n            },\n            {\n              path: 'notifications.electrical.batteries.1.voltage' as Path,\n              value: {\n                state: 'alarm',\n                method: ['visual', 'sound'],\n                message: 'Battery voltage is too high'\n              }\n            },\n            {\n              path: 'notifications.electrical.batteries.1.current' as Path,\n              value: {\n                state: 'alarm',\n                method: ['visual', 'sound'],\n                message: 'Battery current over the limit'\n              }\n            }\n          ]\n        },\n        {\n          $source: 'test.source' as SourceRef,\n          timestamp: '2026-02-07T12:00:01.000Z' as Timestamp,\n          values: [\n            {\n              path: 'notifications.mob' as Path,\n              value: {\n                state: 'emergency',\n                method: ['visual', 'sound'],\n                message: 'Person Overboard!'\n              }\n            }\n          ]\n        }\n      ]\n    }\n\n    // Call the registered handler\n    let filteredDelta: Delta | null = null\n    registeredHandler!(testDelta, (delta) => {\n      filteredDelta = delta\n    })\n\n    // Give a tick for any async operations\n    await new Promise((resolve) => setImmediate(resolve))\n\n    // Verify filtered delta only contains voltage (notifications filtered out)\n    void expect(filteredDelta).to.not.be.null\n    expect(filteredDelta!.updates).to.have.lengthOf(1)\n    const update = filteredDelta!.updates![0]\n    if ('values' in update) {\n      expect(update.values).to.have.lengthOf(1)\n      expect(update.values[0].path).to.equal('electrical.batteries.1.voltage')\n      expect(update.values[0].value).to.equal(15.5)\n    } else {\n      throw new Error('Expected update to have values property')\n    }\n\n    // Verify handleMessage was called three times with notification deltas\n    expect(handleMessageCalls).to.have.lengthOf(3)\n\n    // First notification delta (voltage)\n    expect(handleMessageCalls[0].context).to.equal('vessels.self')\n    expect(handleMessageCalls[0].updates).to.have.lengthOf(1)\n    const notificationUpdate = handleMessageCalls[0].updates![0]\n    if ('values' in notificationUpdate) {\n      expect(notificationUpdate.values[0].path).to.equal(\n        'notifications.electrical.batteries.1.voltage'\n      )\n    } else {\n      throw new Error('Expected notification update to have values property')\n    }\n    expect(notificationUpdate).to.have.property('notificationId')\n\n    // Second notification delta (current)\n    expect(handleMessageCalls[1].context).to.equal('vessels.self')\n    expect(handleMessageCalls[1].updates).to.have.lengthOf(1)\n    const currentNotificationUpdate = handleMessageCalls[1].updates![0]\n    if ('values' in currentNotificationUpdate) {\n      expect(currentNotificationUpdate.values[0].path).to.equal(\n        'notifications.electrical.batteries.1.current'\n      )\n    } else {\n      throw new Error(\n        'Expected current notification update to have values property'\n      )\n    }\n    expect(currentNotificationUpdate).to.have.property('notificationId')\n\n    // Third notification delta (MOB)\n    expect(handleMessageCalls[2].context).to.equal('vessels.self')\n    expect(handleMessageCalls[2].updates).to.have.lengthOf(1)\n    const mobNotificationUpdate = handleMessageCalls[2].updates![0]\n    if ('values' in mobNotificationUpdate) {\n      expect(mobNotificationUpdate.values[0].path).to.equal('notifications.mob')\n    } else {\n      throw new Error(\n        'Expected MOB notification update to have values property'\n      )\n    }\n    expect(mobNotificationUpdate).to.have.property('notificationId')\n  })\n})\n"
  },
  {
    "path": "test/oidc/authorization.test.ts",
    "content": "import { expect } from 'chai'\nimport { buildAuthorizationUrl } from '../../src/oidc/authorization'\nimport {\n  OIDCConfig,\n  OIDCAuthState,\n  OIDCProviderMetadata\n} from '../../src/oidc/types'\nimport { calculateCodeChallenge } from '../../src/oidc/pkce'\n\ndescribe('Authorization URL', () => {\n  const config: OIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.local:3000/oidc/callback',\n    scope: 'openid email profile',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    providerName: 'SSO Login',\n    autoLogin: false\n  }\n\n  const metadata: OIDCProviderMetadata = {\n    issuer: 'https://auth.example.com',\n    authorization_endpoint: 'https://auth.example.com/authorize',\n    token_endpoint: 'https://auth.example.com/token',\n    jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n    response_types_supported: ['code'],\n    code_challenge_methods_supported: ['S256']\n  }\n\n  const authState: OIDCAuthState = {\n    state: 'test-state-value',\n    codeVerifier: 'test-code-verifier-12345678901234567890',\n    nonce: 'test-nonce-value',\n    redirectUri: 'https://signalk.local:3000/signalk/v1/auth/oidc/callback',\n    originalUrl: '/admin',\n    createdAt: Date.now()\n  }\n\n  describe('buildAuthorizationUrl', () => {\n    it('should include required OAuth parameters', () => {\n      const url = buildAuthorizationUrl(config, metadata, authState)\n      const parsed = new URL(url)\n\n      expect(parsed.origin + parsed.pathname).to.equal(\n        'https://auth.example.com/authorize'\n      )\n      expect(parsed.searchParams.get('response_type')).to.equal('code')\n      expect(parsed.searchParams.get('client_id')).to.equal('signalk-server')\n      expect(parsed.searchParams.get('redirect_uri')).to.equal(\n        'https://signalk.local:3000/signalk/v1/auth/oidc/callback'\n      )\n    })\n\n    it('should include PKCE code_challenge', () => {\n      const url = buildAuthorizationUrl(config, metadata, authState)\n      const parsed = new URL(url)\n\n      const expectedChallenge = calculateCodeChallenge(authState.codeVerifier)\n      expect(parsed.searchParams.get('code_challenge')).to.equal(\n        expectedChallenge\n      )\n      expect(parsed.searchParams.get('code_challenge_method')).to.equal('S256')\n    })\n\n    it('should include state and nonce', () => {\n      const url = buildAuthorizationUrl(config, metadata, authState)\n      const parsed = new URL(url)\n\n      expect(parsed.searchParams.get('state')).to.equal('test-state-value')\n      expect(parsed.searchParams.get('nonce')).to.equal('test-nonce-value')\n    })\n\n    it('should URL-encode parameters correctly', () => {\n      const stateWithSpecialChars: OIDCAuthState = {\n        ...authState,\n        redirectUri: 'https://signalk.local:3000/callback?foo=bar&baz=qux'\n      }\n\n      const url = buildAuthorizationUrl(config, metadata, stateWithSpecialChars)\n      const parsed = new URL(url)\n\n      // URL should be properly encoded\n      expect(parsed.searchParams.get('redirect_uri')).to.equal(\n        'https://signalk.local:3000/callback?foo=bar&baz=qux'\n      )\n    })\n\n    it('should use authorization_endpoint from discovery', () => {\n      const customMetadata: OIDCProviderMetadata = {\n        ...metadata,\n        authorization_endpoint: 'https://auth.example.com/oauth2/authorize'\n      }\n\n      const url = buildAuthorizationUrl(config, customMetadata, authState)\n      const parsed = new URL(url)\n\n      expect(parsed.origin + parsed.pathname).to.equal(\n        'https://auth.example.com/oauth2/authorize'\n      )\n    })\n\n    it('should include configured scope', () => {\n      const url = buildAuthorizationUrl(config, metadata, authState)\n      const parsed = new URL(url)\n\n      expect(parsed.searchParams.get('scope')).to.equal('openid email profile')\n    })\n\n    it('should handle custom scope', () => {\n      const customConfig: OIDCConfig = {\n        ...config,\n        scope: 'openid email profile groups'\n      }\n\n      const url = buildAuthorizationUrl(customConfig, metadata, authState)\n      const parsed = new URL(url)\n\n      expect(parsed.searchParams.get('scope')).to.equal(\n        'openid email profile groups'\n      )\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/config.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  parseOIDCConfig,\n  isOIDCEnabled,\n  validateOIDCConfig,\n  parseEnvConfig,\n  mergeConfigs\n} from '../../src/oidc/config'\nimport { OIDCError, OIDC_DEFAULTS } from '../../src/oidc/types'\n\ndescribe('OIDC Configuration', () => {\n  const validConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.example.com/signalk/v1/auth/oidc/callback'\n  }\n\n  describe('parseEnvConfig', () => {\n    const originalEnv = process.env\n\n    beforeEach(() => {\n      process.env = { ...originalEnv }\n    })\n\n    afterEach(() => {\n      process.env = originalEnv\n    })\n\n    it('should parse environment variables correctly', () => {\n      process.env.SIGNALK_OIDC_ENABLED = 'true'\n      process.env.SIGNALK_OIDC_ISSUER = 'https://auth.example.com'\n      process.env.SIGNALK_OIDC_CLIENT_ID = 'my-client'\n      process.env.SIGNALK_OIDC_CLIENT_SECRET = 'my-secret'\n      process.env.SIGNALK_OIDC_SCOPE = 'openid email'\n      process.env.SIGNALK_OIDC_DEFAULT_PERMISSION = 'readwrite'\n\n      const config = parseEnvConfig()\n\n      expect(config.enabled).to.equal(true)\n      expect(config.issuer).to.equal('https://auth.example.com')\n      expect(config.clientId).to.equal('my-client')\n      expect(config.clientSecret).to.equal('my-secret')\n      expect(config.scope).to.equal('openid email')\n      expect(config.defaultPermission).to.equal('readwrite')\n    })\n\n    it('should return undefined for unset environment variables', () => {\n      const config = parseEnvConfig()\n\n      expect(config.enabled).to.equal(undefined)\n      expect(config.issuer).to.equal(undefined)\n      expect(config.clientId).to.equal(undefined)\n    })\n\n    it('should parse enabled as false correctly', () => {\n      process.env.SIGNALK_OIDC_ENABLED = 'false'\n      const config = parseEnvConfig()\n      expect(config.enabled).to.equal(false)\n    })\n\n    it('should parse autoCreateUsers correctly', () => {\n      process.env.SIGNALK_OIDC_AUTO_CREATE_USERS = 'false'\n      const config = parseEnvConfig()\n      expect(config.autoCreateUsers).to.equal(false)\n    })\n\n    it('should parse admin groups from comma-separated string', () => {\n      process.env.SIGNALK_OIDC_ADMIN_GROUPS = 'admins,sk-admin,superusers'\n      const config = parseEnvConfig()\n      expect(config.adminGroups).to.deep.equal([\n        'admins',\n        'sk-admin',\n        'superusers'\n      ])\n    })\n\n    it('should parse readwrite groups from comma-separated string', () => {\n      process.env.SIGNALK_OIDC_READWRITE_GROUPS = 'users,operators'\n      const config = parseEnvConfig()\n      expect(config.readwriteGroups).to.deep.equal(['users', 'operators'])\n    })\n\n    it('should handle single admin group', () => {\n      process.env.SIGNALK_OIDC_ADMIN_GROUPS = 'admins'\n      const config = parseEnvConfig()\n      expect(config.adminGroups).to.deep.equal(['admins'])\n    })\n\n    it('should handle empty admin groups string', () => {\n      process.env.SIGNALK_OIDC_ADMIN_GROUPS = ''\n      const config = parseEnvConfig()\n      expect(config.adminGroups).to.equal(undefined)\n    })\n\n    it('should trim whitespace from group names', () => {\n      process.env.SIGNALK_OIDC_ADMIN_GROUPS = ' admins , sk-admin '\n      const config = parseEnvConfig()\n      expect(config.adminGroups).to.deep.equal(['admins', 'sk-admin'])\n    })\n\n    it('should parse groups attribute', () => {\n      process.env.SIGNALK_OIDC_GROUPS_ATTRIBUTE = 'roles'\n      const config = parseEnvConfig()\n      expect(config.groupsAttribute).to.equal('roles')\n    })\n\n    it('should parse provider name', () => {\n      process.env.SIGNALK_OIDC_PROVIDER_NAME = 'Corporate SSO'\n      const config = parseEnvConfig()\n      expect(config.providerName).to.equal('Corporate SSO')\n    })\n\n    it('should parse auto login as true', () => {\n      process.env.SIGNALK_OIDC_AUTO_LOGIN = 'true'\n      const config = parseEnvConfig()\n      expect(config.autoLogin).to.equal(true)\n    })\n\n    it('should parse auto login as false', () => {\n      process.env.SIGNALK_OIDC_AUTO_LOGIN = 'false'\n      const config = parseEnvConfig()\n      expect(config.autoLogin).to.equal(false)\n    })\n  })\n\n  describe('mergeConfigs', () => {\n    it('should merge security.json oidc section with defaults', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.enabled).to.equal(true)\n      expect(result.issuer).to.equal('https://auth.example.com')\n      expect(result.scope).to.equal(OIDC_DEFAULTS.scope)\n      expect(result.defaultPermission).to.equal(OIDC_DEFAULTS.defaultPermission)\n    })\n\n    it('should merge env vars over security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'old-secret',\n        scope: 'openid'\n      }\n\n      const envConfig = {\n        clientSecret: 'new-secret',\n        scope: 'openid email profile groups'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, envConfig)\n\n      expect(result.clientSecret).to.equal('new-secret')\n      expect(result.scope).to.equal('openid email profile groups')\n      expect(result.issuer).to.equal('https://auth.example.com')\n    })\n\n    it('should apply defaults for missing optional fields', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.scope).to.equal('openid email profile')\n      expect(result.defaultPermission).to.equal('readonly')\n      expect(result.autoCreateUsers).to.equal(true)\n    })\n\n    it('should merge admin groups from security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        adminGroups: ['admins', 'sk-admin']\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.adminGroups).to.deep.equal(['admins', 'sk-admin'])\n    })\n\n    it('should merge readwrite groups from security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        readwriteGroups: ['users', 'operators']\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.readwriteGroups).to.deep.equal(['users', 'operators'])\n    })\n\n    it('should override admin groups from env over security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        adminGroups: ['json-admins']\n      }\n\n      const envConfig = {\n        adminGroups: ['env-admins', 'env-superusers']\n      }\n\n      const result = mergeConfigs(securityJsonConfig, envConfig)\n\n      expect(result.adminGroups).to.deep.equal(['env-admins', 'env-superusers'])\n    })\n\n    it('should merge groups attribute', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        groupsAttribute: 'roles'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.groupsAttribute).to.equal('roles')\n    })\n\n    it('should merge provider name from security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        providerName: 'Company SSO'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.providerName).to.equal('Company SSO')\n    })\n\n    it('should override provider name from env over security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        providerName: 'JSON Provider'\n      }\n\n      const envConfig = {\n        providerName: 'Env Provider'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, envConfig)\n\n      expect(result.providerName).to.equal('Env Provider')\n    })\n\n    it('should use default provider name when not specified', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.providerName).to.equal('SSO Login')\n    })\n\n    it('should merge auto login from security.json', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret',\n        autoLogin: true\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.autoLogin).to.equal(true)\n    })\n\n    it('should default auto login to false', () => {\n      const securityJsonConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk',\n        clientSecret: 'secret'\n      }\n\n      const result = mergeConfigs(securityJsonConfig, {})\n\n      expect(result.autoLogin).to.equal(false)\n    })\n  })\n\n  describe('validateOIDCConfig', () => {\n    it('should pass for valid complete config', () => {\n      expect(() => validateOIDCConfig(validConfig)).to.not.throw()\n    })\n\n    it('should throw for missing required fields when enabled', () => {\n      const incomplete = { enabled: true, issuer: 'https://auth.example.com' }\n      expect(() => validateOIDCConfig(incomplete)).to.throw(OIDCError)\n    })\n\n    it('should throw if issuer is not a valid URL', () => {\n      const badIssuer = { ...validConfig, issuer: 'not-a-url' }\n      expect(() => validateOIDCConfig(badIssuer)).to.throw(\n        OIDCError,\n        /valid URL/\n      )\n    })\n\n    it('should throw if scope does not contain openid', () => {\n      const badScope = { ...validConfig, scope: 'email profile' }\n      expect(() => validateOIDCConfig(badScope)).to.throw(OIDCError, /openid/)\n    })\n\n    it('should throw if defaultPermission is invalid', () => {\n      const badPermission = {\n        ...validConfig,\n        defaultPermission: 'superadmin' as 'readonly' | 'readwrite' | 'admin'\n      }\n      expect(() => validateOIDCConfig(badPermission)).to.throw(\n        OIDCError,\n        /defaultPermission/\n      )\n    })\n\n    it('should not throw when disabled even if incomplete', () => {\n      const disabled = { enabled: false }\n      expect(() => validateOIDCConfig(disabled)).to.not.throw()\n    })\n\n    it('should throw for missing redirectUri when enabled', () => {\n      const { redirectUri: _redirectUri, ...configWithoutRedirect } =\n        validConfig\n      expect(() => validateOIDCConfig(configWithoutRedirect)).to.throw(\n        OIDCError,\n        /redirectUri/\n      )\n    })\n\n    it('should pass when redirectUri is provided', () => {\n      const configWithRedirect = {\n        ...validConfig,\n        redirectUri: 'https://signalk.local:3000/signalk/v1/auth/oidc/callback'\n      }\n      expect(() => validateOIDCConfig(configWithRedirect)).to.not.throw()\n    })\n\n    it('should throw if redirectUri is not a valid URL', () => {\n      const badRedirect = { ...validConfig, redirectUri: 'not-a-url' }\n      expect(() => validateOIDCConfig(badRedirect)).to.throw(\n        OIDCError,\n        /redirectUri.*valid URL/\n      )\n    })\n\n    it('should throw if redirectUri uses http for non-localhost', () => {\n      const httpRedirect = {\n        ...validConfig,\n        redirectUri: 'http://signalk.example.com/signalk/v1/auth/oidc/callback'\n      }\n      expect(() => validateOIDCConfig(httpRedirect)).to.throw(\n        OIDCError,\n        /https/\n      )\n    })\n\n    it('should allow http redirectUri for localhost', () => {\n      const localhostConfigs = [\n        {\n          ...validConfig,\n          redirectUri: 'http://localhost:3000/signalk/v1/auth/oidc/callback'\n        },\n        {\n          ...validConfig,\n          redirectUri: 'http://127.0.0.1:3000/signalk/v1/auth/oidc/callback'\n        },\n        {\n          ...validConfig,\n          redirectUri: 'http://[::1]:3000/signalk/v1/auth/oidc/callback'\n        }\n      ]\n      for (const config of localhostConfigs) {\n        expect(\n          () => validateOIDCConfig(config),\n          `should allow ${config.redirectUri}`\n        ).to.not.throw()\n      }\n    })\n\n    it('should throw if redirectUri contains a fragment', () => {\n      const fragmentRedirect = {\n        ...validConfig,\n        redirectUri: 'https://signalk.example.com/callback#fragment'\n      }\n      expect(() => validateOIDCConfig(fragmentRedirect)).to.throw(\n        OIDCError,\n        /fragment/\n      )\n    })\n  })\n\n  describe('parseOIDCConfig', () => {\n    const originalEnv = process.env\n\n    beforeEach(() => {\n      process.env = { ...originalEnv }\n    })\n\n    afterEach(() => {\n      process.env = originalEnv\n    })\n\n    it('should parse complete config from security.json', () => {\n      const securityConfig = { oidc: validConfig }\n      const result = parseOIDCConfig(securityConfig)\n\n      expect(result.enabled).to.equal(true)\n      expect(result.issuer).to.equal('https://auth.example.com')\n      expect(result.clientId).to.equal('signalk-server')\n      expect(result.clientSecret).to.equal('test-secret')\n    })\n\n    it('should override with environment variables', () => {\n      process.env.SIGNALK_OIDC_CLIENT_SECRET = 'env-secret'\n      const securityConfig = { oidc: validConfig }\n      const result = parseOIDCConfig(securityConfig)\n\n      expect(result.clientSecret).to.equal('env-secret')\n    })\n\n    it('should return disabled config when oidc section missing', () => {\n      const result = parseOIDCConfig({})\n      expect(result.enabled).to.equal(false)\n    })\n\n    it('should validate the final config', () => {\n      const badConfig = { oidc: { enabled: true, issuer: 'bad-url' } }\n      expect(() => parseOIDCConfig(badConfig)).to.throw(OIDCError)\n    })\n  })\n\n  describe('isOIDCEnabled', () => {\n    it('should return false when not configured', () => {\n      const config = parseOIDCConfig({})\n      expect(isOIDCEnabled(config)).to.equal(false)\n    })\n\n    it('should return false when explicitly disabled', () => {\n      const config = parseOIDCConfig({\n        oidc: { ...validConfig, enabled: false }\n      })\n      expect(isOIDCEnabled(config)).to.equal(false)\n    })\n\n    it('should return true when properly configured and enabled', () => {\n      const config = parseOIDCConfig({ oidc: validConfig })\n      expect(isOIDCEnabled(config)).to.equal(true)\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/crypto-service.test.ts",
    "content": "import { expect } from 'chai'\nimport { createHash } from 'crypto'\nimport {\n  createAuthState,\n  encryptState,\n  decryptState\n} from '../../src/oidc/state'\n\n/**\n * Tests for the OIDC crypto service pattern.\n *\n * The key security property: OIDC module receives only a derived secret,\n * never the master JWT signing key. tokensecurity knows nothing about\n * OIDC state structure - it just provides a secret derivation function.\n */\ndescribe('OIDC Crypto Service', () => {\n  const masterSecretKey = '0'.repeat(64) // Simulates the JWT signing secret\n  const differentSecretKey = '1'.repeat(64)\n\n  /**\n   * This function will be implemented in tokensecurity.\n   * It derives a domain-specific secret from the master key.\n   */\n  function deriveSecret(masterKey: string, domain: string): string {\n    return createHash('sha256').update(masterKey).update(domain).digest('hex')\n  }\n\n  describe('deriveSecret', () => {\n    it('should derive a different key than the original', () => {\n      const derived = deriveSecret(masterSecretKey, 'signalk-oidc')\n      expect(derived).to.not.equal(masterSecretKey)\n    })\n\n    it('should be deterministic (same inputs = same output)', () => {\n      const derived1 = deriveSecret(masterSecretKey, 'signalk-oidc')\n      const derived2 = deriveSecret(masterSecretKey, 'signalk-oidc')\n      expect(derived1).to.equal(derived2)\n    })\n\n    it('should produce different outputs for different master keys', () => {\n      const derived1 = deriveSecret(masterSecretKey, 'signalk-oidc')\n      const derived2 = deriveSecret(differentSecretKey, 'signalk-oidc')\n      expect(derived1).to.not.equal(derived2)\n    })\n\n    it('should produce different outputs for different domains', () => {\n      const oidcSecret = deriveSecret(masterSecretKey, 'signalk-oidc')\n      const otherSecret = deriveSecret(masterSecretKey, 'signalk-other')\n      expect(oidcSecret).to.not.equal(otherSecret)\n    })\n\n    it('should produce a 64-character hex string (256 bits)', () => {\n      const derived = deriveSecret(masterSecretKey, 'signalk-oidc')\n      expect(derived).to.have.length(64)\n      expect(derived).to.match(/^[0-9a-f]+$/)\n    })\n  })\n\n  describe('OIDC state encryption with derived secret', () => {\n    // This simulates what OIDC module does - it gets the secret and handles encryption itself\n    const oidcSecret = deriveSecret(masterSecretKey, 'signalk-oidc')\n\n    it('should roundtrip state correctly using derived secret', () => {\n      const authState = createAuthState(\n        'https://example.com/callback',\n        '/admin'\n      )\n      const encrypted = encryptState(authState, oidcSecret)\n      const decrypted = decryptState(encrypted, oidcSecret)\n\n      expect(decrypted.state).to.equal(authState.state)\n      expect(decrypted.codeVerifier).to.equal(authState.codeVerifier)\n      expect(decrypted.nonce).to.equal(authState.nonce)\n      expect(decrypted.redirectUri).to.equal(authState.redirectUri)\n      expect(decrypted.originalUrl).to.equal(authState.originalUrl)\n    })\n\n    it('should NOT be decryptable with the master secret', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      const encrypted = encryptState(authState, oidcSecret)\n\n      // This is the key security property\n      expect(() => decryptState(encrypted, masterSecretKey)).to.throw()\n    })\n\n    it('should NOT be decryptable with a different derived secret', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      const encrypted = encryptState(authState, oidcSecret)\n      const wrongSecret = deriveSecret(differentSecretKey, 'signalk-oidc')\n\n      expect(() => decryptState(encrypted, wrongSecret)).to.throw()\n    })\n  })\n\n  describe('Security properties', () => {\n    it('attacker with OIDC secret cannot forge JWTs', () => {\n      const oidcSecret = deriveSecret(masterSecretKey, 'signalk-oidc')\n\n      // The derived secret is cryptographically different from master\n      expect(oidcSecret).to.not.equal(masterSecretKey)\n\n      // SHA-256 is one-way - cannot reverse to get master key\n      // (This is a cryptographic property we document, not directly testable)\n    })\n\n    it('derived secret changes when master secret rotates', () => {\n      const derived1 = deriveSecret(masterSecretKey, 'signalk-oidc')\n      const derived2 = deriveSecret(differentSecretKey, 'signalk-oidc')\n\n      expect(derived1).to.not.equal(derived2)\n      // This means pending OIDC logins invalidate on key rotation (correct)\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/discovery.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  fetchDiscoveryDocument,\n  getDiscoveryDocument,\n  clearDiscoveryCache,\n  setFetchFunction,\n  resetFetchFunction\n} from '../../src/oidc/discovery'\nimport { OIDCError } from '../../src/oidc/types'\n\ndescribe('Discovery', () => {\n  const issuer = 'https://auth.example.com'\n  const discoveryDoc = {\n    issuer: 'https://auth.example.com',\n    authorization_endpoint: 'https://auth.example.com/authorize',\n    token_endpoint: 'https://auth.example.com/token',\n    userinfo_endpoint: 'https://auth.example.com/userinfo',\n    jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n    response_types_supported: ['code'],\n    code_challenge_methods_supported: ['S256']\n  }\n\n  // Helper to create a mock fetch function\n  function createMockFetch(\n    responses: Map<string, { status: number; body: unknown; error?: Error }>\n  ) {\n    return async (url: string | URL | Request): Promise<Response> => {\n      const urlStr = url.toString()\n      const response = responses.get(urlStr)\n\n      if (!response) {\n        throw new Error(`No mock response for ${urlStr}`)\n      }\n\n      if (response.error) {\n        throw response.error\n      }\n\n      return new Response(\n        typeof response.body === 'string'\n          ? response.body\n          : JSON.stringify(response.body),\n        { status: response.status }\n      )\n    }\n  }\n\n  beforeEach(() => {\n    clearDiscoveryCache()\n    resetFetchFunction()\n  })\n\n  afterEach(() => {\n    resetFetchFunction()\n  })\n\n  describe('fetchDiscoveryDocument', () => {\n    it('should fetch discovery document from issuer', async () => {\n      const responses = new Map([\n        [\n          `${issuer}/.well-known/openid-configuration`,\n          { status: 200, body: discoveryDoc }\n        ]\n      ])\n      setFetchFunction(createMockFetch(responses))\n\n      const result = await fetchDiscoveryDocument(issuer)\n\n      expect(result.issuer).to.equal(issuer)\n      expect(result.authorization_endpoint).to.equal(\n        'https://auth.example.com/authorize'\n      )\n      expect(result.token_endpoint).to.equal('https://auth.example.com/token')\n      expect(result.jwks_uri).to.equal(\n        'https://auth.example.com/.well-known/jwks.json'\n      )\n    })\n\n    it('should throw on network error', async () => {\n      const responses = new Map([\n        [\n          `${issuer}/.well-known/openid-configuration`,\n          { status: 0, body: null, error: new Error('Connection refused') }\n        ]\n      ])\n      setFetchFunction(createMockFetch(responses))\n\n      try {\n        await fetchDiscoveryDocument(issuer)\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('DISCOVERY_FAILED')\n      }\n    })\n\n    it('should throw on non-200 response', async () => {\n      const responses = new Map([\n        [\n          `${issuer}/.well-known/openid-configuration`,\n          { status: 404, body: 'Not found' }\n        ]\n      ])\n      setFetchFunction(createMockFetch(responses))\n\n      try {\n        await fetchDiscoveryDocument(issuer)\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('DISCOVERY_FAILED')\n      }\n    })\n\n    it('should throw on invalid JSON', async () => {\n      const responses = new Map([\n        [\n          `${issuer}/.well-known/openid-configuration`,\n          { status: 200, body: 'not json' }\n        ]\n      ])\n      setFetchFunction(createMockFetch(responses))\n\n      try {\n        await fetchDiscoveryDocument(issuer)\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('DISCOVERY_FAILED')\n      }\n    })\n\n    it('should throw if required fields are missing', async () => {\n      const incomplete = {\n        issuer: 'https://auth.example.com'\n        // Missing authorization_endpoint, token_endpoint, jwks_uri\n      }\n\n      const responses = new Map([\n        [\n          `${issuer}/.well-known/openid-configuration`,\n          { status: 200, body: incomplete }\n        ]\n      ])\n      setFetchFunction(createMockFetch(responses))\n\n      try {\n        await fetchDiscoveryDocument(issuer)\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('DISCOVERY_FAILED')\n      }\n    })\n  })\n\n  describe('getDiscoveryDocument (with caching)', () => {\n    it('should cache discovery document', async () => {\n      let callCount = 0\n      const mockFetch = async (): Promise<Response> => {\n        callCount++\n        return new Response(JSON.stringify(discoveryDoc), { status: 200 })\n      }\n      setFetchFunction(mockFetch)\n\n      // First call\n      const result1 = await getDiscoveryDocument(issuer)\n      expect(result1.issuer).to.equal(issuer)\n      expect(callCount).to.equal(1)\n\n      // Second call should use cache\n      const result2 = await getDiscoveryDocument(issuer)\n      expect(result2.issuer).to.equal(issuer)\n      expect(callCount).to.equal(1) // Should not have fetched again\n    })\n\n    it('should clear cache with clearDiscoveryCache', async () => {\n      let callCount = 0\n      const mockFetch = async (): Promise<Response> => {\n        callCount++\n        return new Response(JSON.stringify(discoveryDoc), { status: 200 })\n      }\n      setFetchFunction(mockFetch)\n\n      // First call\n      await getDiscoveryDocument(issuer)\n      expect(callCount).to.equal(1)\n\n      // Clear cache\n      clearDiscoveryCache()\n\n      // Second call should fetch again\n      await getDiscoveryDocument(issuer)\n      expect(callCount).to.equal(2)\n    })\n\n    it('should handle different issuers separately', async () => {\n      const issuer2 = 'https://other.example.com'\n      const discoveryDoc2 = {\n        ...discoveryDoc,\n        issuer: issuer2,\n        authorization_endpoint: 'https://other.example.com/authorize',\n        token_endpoint: 'https://other.example.com/token',\n        jwks_uri: 'https://other.example.com/jwks'\n      }\n\n      const mockFetch = async (\n        url: string | URL | Request\n      ): Promise<Response> => {\n        const urlStr = url.toString()\n        if (urlStr.includes('other.example.com')) {\n          return new Response(JSON.stringify(discoveryDoc2), { status: 200 })\n        }\n        return new Response(JSON.stringify(discoveryDoc), { status: 200 })\n      }\n      setFetchFunction(mockFetch)\n\n      const result1 = await getDiscoveryDocument(issuer)\n      const result2 = await getDiscoveryDocument(issuer2)\n\n      expect(result1.issuer).to.equal(issuer)\n      expect(result2.issuer).to.equal(issuer2)\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/id-token-validation.test.ts",
    "content": "import { expect } from 'chai'\nimport { webcrypto } from 'crypto'\nimport {\n  validateIdToken,\n  fetchJwks,\n  clearJwksCache,\n  setFetchFunction as setJwksFetch,\n  resetFetchFunction as resetJwksFetch,\n  JSONWebKeySet\n} from '../../src/oidc/id-token-validation'\nimport {\n  OIDCConfig,\n  OIDCProviderMetadata,\n  OIDCError\n} from '../../src/oidc/types'\n\n// Polyfill for Node 18 which doesn't have crypto as a global\nif (typeof globalThis.crypto === 'undefined') {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  ;(globalThis as any).crypto = webcrypto\n}\n\n// Dynamic import for jose (ESM-only module)\n\ntype JoseModule = typeof import('jose')\nlet jose: JoseModule\n\ndescribe('ID Token Validation', () => {\n  // Test key pair for signing tokens\n  let privateKey: CryptoKey\n  let publicKey: CryptoKey\n  let jwks: JSONWebKeySet\n\n  const config: OIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.local:3000/oidc/callback',\n    scope: 'openid email profile',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    providerName: 'SSO Login',\n    autoLogin: false\n  }\n\n  const metadata: OIDCProviderMetadata = {\n    issuer: 'https://auth.example.com',\n    authorization_endpoint: 'https://auth.example.com/authorize',\n    token_endpoint: 'https://auth.example.com/token',\n    jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n    response_types_supported: ['code'],\n    code_challenge_methods_supported: ['S256']\n  }\n\n  before(async () => {\n    // Dynamically import jose\n    jose = await import('jose')\n\n    // Generate a test key pair\n    const keyPair = await jose.generateKeyPair('RS256')\n    privateKey = keyPair.privateKey\n    publicKey = keyPair.publicKey\n\n    // Export public key as JWK for JWKS endpoint\n    const publicJwk = await jose.exportJWK(publicKey)\n    publicJwk.kid = 'test-key-1'\n    publicJwk.alg = 'RS256'\n    publicJwk.use = 'sig'\n    // Cast to our JSONWebKeySet type - kty is guaranteed to exist for exported RSA keys\n    jwks = { keys: [publicJwk as JSONWebKeySet['keys'][0]] }\n  })\n\n  beforeEach(() => {\n    clearJwksCache()\n    resetJwksFetch()\n  })\n\n  afterEach(() => {\n    resetJwksFetch()\n  })\n\n  // Helper to create a signed ID token\n  async function createIdToken(\n    claims: Record<string, unknown>\n  ): Promise<string> {\n    const now = Math.floor(Date.now() / 1000)\n    const defaultClaims = {\n      iss: 'https://auth.example.com',\n      sub: 'user-123',\n      aud: 'signalk-server',\n      exp: now + 3600,\n      iat: now,\n      nonce: 'test-nonce'\n    }\n    return new jose.SignJWT({ ...defaultClaims, ...claims })\n      .setProtectedHeader({ alg: 'RS256', kid: 'test-key-1' })\n      .sign(privateKey)\n  }\n\n  // Helper to setup JWKS mock\n  function setupJwksMock() {\n    const mockFetch = async (\n      url: string | URL | Request\n    ): Promise<Response> => {\n      const urlStr = url.toString()\n      if (urlStr === 'https://auth.example.com/.well-known/jwks.json') {\n        return new Response(JSON.stringify(jwks), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      throw new Error(`Unexpected URL: ${urlStr}`)\n    }\n    setJwksFetch(mockFetch)\n  }\n\n  describe('fetchJwks', () => {\n    it('should fetch JWKS from provider', async () => {\n      setupJwksMock()\n      const result = await fetchJwks(metadata)\n      expect(result.keys).to.have.length(1)\n      expect(result.keys[0].kid).to.equal('test-key-1')\n    })\n\n    it('should cache JWKS', async () => {\n      let callCount = 0\n      const mockFetch = async (): Promise<Response> => {\n        callCount++\n        return new Response(JSON.stringify(jwks), { status: 200 })\n      }\n      setJwksFetch(mockFetch)\n\n      await fetchJwks(metadata)\n      await fetchJwks(metadata)\n\n      expect(callCount).to.equal(1)\n    })\n\n    it('should throw on network error', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        throw new Error('Network error')\n      }\n      setJwksFetch(mockFetch)\n\n      try {\n        await fetchJwks(metadata)\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('DISCOVERY_FAILED')\n      }\n    })\n  })\n\n  describe('validateIdToken', () => {\n    it('should validate a properly signed token', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({})\n      const claims = await validateIdToken(\n        idToken,\n        config,\n        metadata,\n        'test-nonce'\n      )\n\n      expect(claims.sub).to.equal('user-123')\n      expect(claims.iss).to.equal('https://auth.example.com')\n      expect(claims.aud).to.equal('signalk-server')\n    })\n\n    it('should reject token with wrong issuer', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({ iss: 'https://wrong-issuer.com' })\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'test-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('issuer')\n      }\n    })\n\n    it('should reject token with wrong audience', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({ aud: 'wrong-client' })\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'test-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('audience')\n      }\n    })\n\n    it('should reject expired token', async () => {\n      setupJwksMock()\n      const now = Math.floor(Date.now() / 1000)\n      const idToken = await createIdToken({\n        exp: now - 3600, // expired 1 hour ago\n        iat: now - 7200\n      })\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'test-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('expired')\n      }\n    })\n\n    it('should reject token with wrong nonce', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({ nonce: 'wrong-nonce' })\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'expected-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('nonce')\n      }\n    })\n\n    it('should reject token with missing nonce when expected', async () => {\n      setupJwksMock()\n      const now = Math.floor(Date.now() / 1000)\n      // Create token without nonce claim\n      const idToken = await new jose.SignJWT({\n        iss: 'https://auth.example.com',\n        sub: 'user-123',\n        aud: 'signalk-server',\n        exp: now + 3600,\n        iat: now\n        // no nonce\n      })\n        .setProtectedHeader({ alg: 'RS256', kid: 'test-key-1' })\n        .sign(privateKey)\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'expected-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('nonce')\n      }\n    })\n\n    it('should accept token with audience as array containing client_id', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({\n        aud: ['other-client', 'signalk-server', 'another-client']\n      })\n\n      const claims = await validateIdToken(\n        idToken,\n        config,\n        metadata,\n        'test-nonce'\n      )\n      expect(claims.sub).to.equal('user-123')\n    })\n\n    it('should reject token with invalid signature', async () => {\n      setupJwksMock()\n      // Create a token signed with a different key\n      const differentKey = await jose.generateKeyPair('RS256')\n      const now = Math.floor(Date.now() / 1000)\n      const idToken = await new jose.SignJWT({\n        iss: 'https://auth.example.com',\n        sub: 'user-123',\n        aud: 'signalk-server',\n        exp: now + 3600,\n        iat: now,\n        nonce: 'test-nonce'\n      })\n        .setProtectedHeader({ alg: 'RS256', kid: 'test-key-1' })\n        .sign(differentKey.privateKey)\n\n      try {\n        await validateIdToken(idToken, config, metadata, 'test-nonce')\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n      }\n    })\n\n    it('should allow 5 minute clock skew for expiration', async () => {\n      setupJwksMock()\n      const now = Math.floor(Date.now() / 1000)\n      // Token expired 2 minutes ago (within 5 min skew)\n      const idToken = await createIdToken({\n        exp: now - 120,\n        iat: now - 3720\n      })\n\n      // Should not throw due to clock skew tolerance\n      const claims = await validateIdToken(\n        idToken,\n        config,\n        metadata,\n        'test-nonce'\n      )\n      expect(claims.sub).to.equal('user-123')\n    })\n\n    it('should extract all standard claims', async () => {\n      setupJwksMock()\n      const idToken = await createIdToken({\n        email: 'user@example.com',\n        name: 'Test User',\n        preferred_username: 'testuser',\n        groups: ['admin', 'users']\n      })\n\n      const claims = await validateIdToken(\n        idToken,\n        config,\n        metadata,\n        'test-nonce'\n      )\n\n      expect(claims.email).to.equal('user@example.com')\n      expect(claims.name).to.equal('Test User')\n      expect(claims.preferred_username).to.equal('testuser')\n      expect(claims.groups).to.deep.equal(['admin', 'users'])\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/integration.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  isOIDCEnabled,\n  parseOIDCConfig,\n  createAuthState,\n  buildAuthorizationUrl,\n  calculateCodeChallenge,\n  encryptState,\n  decryptState\n} from '../../src/oidc/index'\n\n// Test OIDC integration with the server\n// These tests verify the OIDC endpoints are properly set up\n\ndescribe('OIDC Integration', () => {\n  describe('OIDC Status Endpoint', () => {\n    it('should return disabled when OIDC is not configured', function () {\n      const config = parseOIDCConfig({})\n      expect(isOIDCEnabled(config)).to.equal(false)\n    })\n\n    it('should return enabled when OIDC is properly configured', function () {\n      const config = parseOIDCConfig({\n        oidc: {\n          enabled: true,\n          issuer: 'https://auth.example.com',\n          clientId: 'test-client',\n          clientSecret: 'test-secret',\n          redirectUri: 'https://signalk.local:3000/oidc/callback'\n        }\n      })\n      expect(isOIDCEnabled(config)).to.equal(true)\n      expect(config.issuer).to.equal('https://auth.example.com')\n      expect(config.scope).to.equal('openid email profile')\n      expect(config.defaultPermission).to.equal('readonly')\n    })\n  })\n\n  describe('OIDC Login Flow', () => {\n    it('should create auth state with all required fields', function () {\n      const authState = createAuthState(\n        'https://signalk.local:3000/callback',\n        '/admin'\n      )\n\n      expect(authState.state).to.be.a('string')\n      expect(authState.state.length).to.be.at.least(32)\n      expect(authState.codeVerifier).to.be.a('string')\n      expect(authState.codeVerifier.length).to.be.at.least(43)\n      expect(authState.nonce).to.be.a('string')\n      expect(authState.redirectUri).to.equal(\n        'https://signalk.local:3000/callback'\n      )\n      expect(authState.originalUrl).to.equal('/admin')\n    })\n\n    it('should build authorization URL with PKCE', function () {\n      const config = {\n        enabled: true,\n        issuer: 'https://auth.example.com',\n        clientId: 'signalk-server',\n        clientSecret: 'test-secret',\n        redirectUri: 'https://signalk.local:3000/oidc/callback',\n        scope: 'openid email profile',\n        defaultPermission: 'readonly' as const,\n        autoCreateUsers: true,\n        providerName: 'SSO Login',\n        autoLogin: false\n      }\n\n      const metadata = {\n        issuer: 'https://auth.example.com',\n        authorization_endpoint: 'https://auth.example.com/authorize',\n        token_endpoint: 'https://auth.example.com/token',\n        jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n        response_types_supported: ['code']\n      }\n\n      const authState = createAuthState(\n        'https://signalk.local:3000/callback',\n        '/'\n      )\n\n      const authUrl = buildAuthorizationUrl(config, metadata, authState)\n      const parsed = new URL(authUrl)\n\n      expect(parsed.origin).to.equal('https://auth.example.com')\n      expect(parsed.pathname).to.equal('/authorize')\n      expect(parsed.searchParams.get('response_type')).to.equal('code')\n      expect(parsed.searchParams.get('client_id')).to.equal('signalk-server')\n      expect(parsed.searchParams.get('state')).to.equal(authState.state)\n      expect(parsed.searchParams.get('nonce')).to.equal(authState.nonce)\n      expect(parsed.searchParams.get('code_challenge_method')).to.equal('S256')\n\n      // Verify PKCE challenge is correct\n      const expectedChallenge = calculateCodeChallenge(authState.codeVerifier)\n      expect(parsed.searchParams.get('code_challenge')).to.equal(\n        expectedChallenge\n      )\n    })\n\n    it('should encrypt and decrypt auth state', function () {\n      const secretKey = '0'.repeat(64) // 256-bit hex key\n      const authState = createAuthState(\n        'https://signalk.local:3000/callback',\n        '/admin'\n      )\n\n      const encrypted = encryptState(authState, secretKey)\n      expect(encrypted).to.be.a('string')\n      expect(encrypted).to.not.include(authState.state) // Should be encrypted\n\n      const decrypted = decryptState(encrypted, secretKey)\n      expect(decrypted.state).to.equal(authState.state)\n      expect(decrypted.codeVerifier).to.equal(authState.codeVerifier)\n      expect(decrypted.nonce).to.equal(authState.nonce)\n      expect(decrypted.redirectUri).to.equal(authState.redirectUri)\n      expect(decrypted.originalUrl).to.equal(authState.originalUrl)\n    })\n  })\n\n  describe('Security Types', () => {\n    it('should have OIDCUserIdentifier in User interface', function () {\n      // This test verifies the TypeScript types are correctly set up\n      // by creating a user object with OIDC fields\n      const user = {\n        username: 'john@example.com',\n        type: 'readwrite',\n        oidc: {\n          sub: 'auth0|12345',\n          issuer: 'https://auth.example.com'\n        }\n      }\n\n      expect(user.oidc.sub).to.equal('auth0|12345')\n      expect(user.oidc.issuer).to.equal('https://auth.example.com')\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/oidc-auth.test.ts",
    "content": "import { expect } from 'chai'\nimport { Request, Response as ExpressResponse, Application } from 'express'\nimport {\n  registerOIDCRoutes,\n  OIDCAuthDependencies\n} from '../../src/oidc/oidc-auth'\nimport {\n  setFetchFunction as setDiscoveryFetch,\n  resetFetchFunction as resetDiscoveryFetch,\n  clearDiscoveryCache\n} from '../../src/oidc/discovery'\nimport {\n  OIDCConfig,\n  OIDCCryptoService,\n  ExternalUserService\n} from '../../src/oidc/types'\n\ndescribe('OIDC Auth Routes', () => {\n  // Mock Express app that captures registered routes\n  interface RegisteredRoute {\n    method: string\n    path: string\n    handler: (req: Request, res: ExpressResponse) => Promise<void> | void\n  }\n  const registeredRoutes: RegisteredRoute[] = []\n\n  const mockApp = {\n    get: (\n      path: string,\n      handler: (req: Request, res: ExpressResponse) => void\n    ) => {\n      registeredRoutes.push({ method: 'get', path, handler })\n    },\n    post: (\n      path: string,\n      handler: (req: Request, res: ExpressResponse) => void\n    ) => {\n      registeredRoutes.push({ method: 'post', path, handler })\n    }\n  } as unknown as Application\n\n  // Mock OIDC config\n  const mockOIDCConfig: OIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.local:3000/signalk/v1/auth/oidc/callback',\n    scope: 'openid email profile',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    providerName: 'Test SSO',\n    autoLogin: false\n  }\n\n  // Track calls to dependency functions\n  let clearCookieCalled = false\n\n  // Default mock crypto service\n  const defaultMockCryptoService: OIDCCryptoService = {\n    getStateEncryptionSecret: () => 'mock-derived-secret-' + '0'.repeat(48)\n  }\n\n  // Default mock user service\n  const defaultMockUserService: ExternalUserService = {\n    findUserByProvider: async () => null,\n    findUserByUsername: async () => null,\n    createUser: async () => {},\n    updateUser: async () => {}\n  }\n\n  const mockDeps: OIDCAuthDependencies = {\n    getOIDCConfig: () => mockOIDCConfig,\n    setSessionCookie: () => {},\n    clearSessionCookie: () => {\n      clearCookieCalled = true\n    },\n    generateJWT: (userId: string) => `mock-jwt-for-${userId}`,\n    cryptoService: defaultMockCryptoService,\n    userService: defaultMockUserService\n  }\n\n  // Helper to create mock request\n  function createMockRequest(overrides: Partial<Request> = {}): Request {\n    return {\n      query: {},\n      cookies: {},\n      secure: false,\n      get: (header: string) => {\n        if (header === 'host') return 'signalk.local:3000'\n        return undefined\n      },\n      headers: {},\n      ...overrides\n    } as unknown as Request\n  }\n\n  // Helper to create mock response\n  interface MockResponse {\n    redirectUrl: string | null\n    jsonData: unknown\n    statusCode: number\n    redirect: (url: string) => void\n    json: (data: unknown) => MockResponse\n    status: (code: number) => MockResponse\n    clearCookie: () => void\n  }\n\n  function createMockResponse(): MockResponse {\n    const res: MockResponse = {\n      redirectUrl: null,\n      jsonData: null,\n      statusCode: 200,\n      redirect: function (url: string) {\n        this.redirectUrl = url\n      },\n      json: function (data: unknown) {\n        this.jsonData = data\n        return this\n      },\n      status: function (code: number) {\n        this.statusCode = code\n        return this\n      },\n      clearCookie: () => {}\n    }\n    return res\n  }\n\n  // Helper to find a registered route handler\n  function findRoute(\n    method: string,\n    path: string\n  ):\n    | ((req: Request, res: ExpressResponse) => Promise<void> | void)\n    | undefined {\n    const route = registeredRoutes.find(\n      (r) => r.method === method && r.path === path\n    )\n    return route?.handler\n  }\n\n  beforeEach(() => {\n    registeredRoutes.length = 0\n    clearCookieCalled = false\n    clearDiscoveryCache()\n    resetDiscoveryFetch()\n  })\n\n  afterEach(() => {\n    resetDiscoveryFetch()\n  })\n\n  describe('registerOIDCRoutes', () => {\n    it('should register all OIDC routes', () => {\n      registerOIDCRoutes(mockApp, mockDeps)\n\n      const paths = registeredRoutes.map((r) => r.path)\n      expect(paths).to.include('/signalk/v1/auth/oidc/login')\n      expect(paths).to.include('/signalk/v1/auth/oidc/callback')\n      expect(paths).to.include('/signalk/v1/auth/oidc/status')\n      expect(paths).to.include('/signalk/v1/auth/oidc/logout')\n    })\n  })\n\n  describe('OIDC logout endpoint', () => {\n    beforeEach(() => {\n      registerOIDCRoutes(mockApp, mockDeps)\n    })\n\n    it('should clear session cookies on logout', async () => {\n      // Mock discovery to return metadata without end_session_endpoint\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n            // no end_session_endpoint\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      expect(handler).to.not.equal(undefined)\n\n      const req = createMockRequest()\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(clearCookieCalled).to.equal(true)\n    })\n\n    it('should redirect to / by default when no redirect param', async () => {\n      // Mock discovery without end_session_endpoint\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest()\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(res.redirectUrl).to.equal('/')\n    })\n\n    it('should redirect to specified relative path', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest({ query: { redirect: '/admin' } })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(res.redirectUrl).to.equal('/admin')\n    })\n\n    it('should reject absolute URLs in redirect param (open redirect prevention)', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest({\n        query: { redirect: 'https://evil.com/phish' }\n      })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      // Should redirect to / instead of the malicious URL\n      expect(res.redirectUrl).to.equal('/')\n    })\n\n    it('should reject protocol-relative URLs in redirect param', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest({ query: { redirect: '//evil.com/phish' } })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(res.redirectUrl).to.equal('/')\n    })\n\n    it('should redirect to OIDC provider logout when end_session_endpoint is available', async () => {\n      // Mock discovery WITH end_session_endpoint\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code'],\n            end_session_endpoint: 'https://auth.example.com/logout'\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest()\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(clearCookieCalled).to.equal(true)\n      expect(res.redirectUrl).to.include('https://auth.example.com/logout')\n      expect(res.redirectUrl).to.include('post_logout_redirect_uri=')\n    })\n\n    it('should include correct post_logout_redirect_uri in provider logout URL', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code'],\n            end_session_endpoint: 'https://auth.example.com/logout'\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest({ query: { redirect: '/dashboard' } })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      const logoutUrl = new URL(res.redirectUrl!)\n      const postLogoutUri = logoutUrl.searchParams.get(\n        'post_logout_redirect_uri'\n      )\n      // Derived from configured redirectUri origin, not Host header\n      expect(postLogoutUri).to.equal('https://signalk.local:3000/dashboard')\n    })\n\n    it('should fall back to local redirect when discovery fails', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        throw new Error('Network error')\n      }\n      setDiscoveryFetch(mockFetch)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest({ query: { redirect: '/settings' } })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(clearCookieCalled).to.equal(true)\n      expect(res.redirectUrl).to.equal('/settings')\n    })\n\n    it('should redirect locally when OIDC is disabled', async () => {\n      // Create deps with OIDC disabled\n      const disabledDeps: OIDCAuthDependencies = {\n        ...mockDeps,\n        getOIDCConfig: () => ({ ...mockOIDCConfig, enabled: false })\n      }\n\n      // Re-register routes with disabled OIDC\n      registeredRoutes.length = 0\n      registerOIDCRoutes(mockApp, disabledDeps)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      const req = createMockRequest()\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      expect(clearCookieCalled).to.equal(true)\n      expect(res.redirectUrl).to.equal('/')\n    })\n  })\n\n  describe('Crypto service integration', () => {\n    // Track crypto service calls\n    let getSecretCalled = false\n    const derivedSecret = 'derived-test-secret-' + '0'.repeat(48)\n\n    // Mock crypto service that tracks calls\n    const mockCryptoService: OIDCCryptoService = {\n      getStateEncryptionSecret: () => {\n        getSecretCalled = true\n        return derivedSecret\n      }\n    }\n\n    // Dependencies with crypto service\n    const depsWithCrypto: OIDCAuthDependencies = {\n      ...mockDeps,\n      cryptoService: mockCryptoService\n    }\n\n    beforeEach(() => {\n      registeredRoutes.length = 0\n      getSecretCalled = false\n      clearDiscoveryCache()\n      resetDiscoveryFetch()\n    })\n\n    it('login route should use cryptoService.getStateEncryptionSecret()', async () => {\n      // Mock discovery document\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            issuer: 'https://auth.example.com',\n            authorization_endpoint: 'https://auth.example.com/authorize',\n            token_endpoint: 'https://auth.example.com/token',\n            jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n            response_types_supported: ['code']\n          }),\n          { status: 200 }\n        )\n      }\n      setDiscoveryFetch(mockFetch)\n\n      registerOIDCRoutes(mockApp, depsWithCrypto)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/login')\n      expect(handler).to.not.equal(undefined)\n\n      const req = createMockRequest()\n      const res = {\n        ...createMockResponse(),\n        cookie: () => {}\n      }\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      // Verify cryptoService.getStateEncryptionSecret was called\n      expect(getSecretCalled).to.equal(\n        true,\n        'cryptoService.getStateEncryptionSecret() should be called'\n      )\n    })\n\n    it('callback route should use cryptoService.getStateEncryptionSecret()', async () => {\n      registerOIDCRoutes(mockApp, depsWithCrypto)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/callback')\n      expect(handler).to.not.equal(undefined)\n\n      const req = createMockRequest({\n        query: {\n          code: 'test-auth-code',\n          state: 'test-state'\n        },\n        cookies: {\n          OIDC_STATE: 'encrypted-state-cookie'\n        }\n      })\n      const res = createMockResponse()\n\n      // The callback will fail at decryption (wrong secret), but we verify\n      // that cryptoService.getStateEncryptionSecret is called\n      try {\n        await handler!(req, res as unknown as ExpressResponse)\n      } catch {\n        // Expected to fail\n      }\n\n      // Verify cryptoService.getStateEncryptionSecret was called\n      expect(getSecretCalled).to.equal(\n        true,\n        'cryptoService.getStateEncryptionSecret() should be called'\n      )\n    })\n  })\n\n  describe('Host header injection prevention', () => {\n    const discoveryResponse = JSON.stringify({\n      issuer: 'https://auth.example.com',\n      authorization_endpoint: 'https://auth.example.com/authorize',\n      token_endpoint: 'https://auth.example.com/token',\n      jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n      response_types_supported: ['code'],\n      end_session_endpoint: 'https://auth.example.com/logout'\n    })\n\n    beforeEach(() => {\n      registeredRoutes.length = 0\n      clearCookieCalled = false\n      clearDiscoveryCache()\n      setDiscoveryFetch(\n        async () => new Response(discoveryResponse, { status: 200 })\n      )\n    })\n\n    it('login handler should use configured redirectUri, not Host header', async () => {\n      // Config with explicit redirectUri\n      const configWithRedirect: OIDCConfig = {\n        ...mockOIDCConfig,\n        redirectUri: 'https://myserver.com/signalk/v1/auth/oidc/callback'\n      }\n      const depsWithRedirect: OIDCAuthDependencies = {\n        ...mockDeps,\n        getOIDCConfig: () => configWithRedirect\n      }\n\n      registerOIDCRoutes(mockApp, depsWithRedirect)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/login')\n      // Request with a spoofed Host header\n      const req = createMockRequest({\n        get: ((header: string) => {\n          if (header === 'host') return 'evil.com'\n          return undefined\n        }) as Request['get']\n      })\n      const res = {\n        ...createMockResponse(),\n        cookie: () => {}\n      }\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      // The redirect should go to the OIDC provider with the configured redirectUri\n      expect(res.redirectUrl).to.include('redirect_uri=')\n      expect(res.redirectUrl).to.include(\n        encodeURIComponent('https://myserver.com/signalk/v1/auth/oidc/callback')\n      )\n      // Must NOT contain the spoofed host\n      expect(res.redirectUrl).to.not.include('evil.com')\n    })\n\n    it('logout handler should derive post_logout_redirect_uri from configured redirectUri, not Host header', async () => {\n      const configWithRedirect: OIDCConfig = {\n        ...mockOIDCConfig,\n        redirectUri: 'https://myserver.com/signalk/v1/auth/oidc/callback'\n      }\n      const depsWithRedirect: OIDCAuthDependencies = {\n        ...mockDeps,\n        getOIDCConfig: () => configWithRedirect\n      }\n\n      registerOIDCRoutes(mockApp, depsWithRedirect)\n\n      const handler = findRoute('get', '/signalk/v1/auth/oidc/logout')\n      // Request with a spoofed Host header\n      const req = createMockRequest({\n        get: ((header: string) => {\n          if (header === 'host') return 'evil.com'\n          return undefined\n        }) as Request['get']\n      })\n      const res = createMockResponse()\n\n      await handler!(req, res as unknown as ExpressResponse)\n\n      const logoutUrl = new URL(res.redirectUrl!)\n      const postLogoutUri = logoutUrl.searchParams.get(\n        'post_logout_redirect_uri'\n      )\n      // Should use origin from configured redirectUri\n      expect(postLogoutUri).to.include('https://myserver.com/')\n      // Must NOT contain the spoofed host\n      expect(postLogoutUri).to.not.include('evil.com')\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/permission-mapping.test.ts",
    "content": "import { expect } from 'chai'\n\nimport { mapGroupsToPermission } from '../../src/oidc/permission-mapping'\nimport type { OIDCConfig } from '../../src/oidc/types'\n\ndescribe('OIDC Permission Mapping', () => {\n  const baseConfig: OIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.local:3000/oidc/callback',\n    scope: 'openid email profile groups',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    providerName: 'SSO Login',\n    autoLogin: false\n  }\n\n  describe('mapGroupsToPermission', () => {\n    describe('with no group configuration', () => {\n      it('should return defaultPermission when no groups configured', () => {\n        const config: OIDCConfig = { ...baseConfig }\n        const result = mapGroupsToPermission(['users', 'viewers'], config)\n        expect(result).to.equal('readonly')\n      })\n\n      it('should return defaultPermission when user has no groups', () => {\n        const config: OIDCConfig = { ...baseConfig }\n        const result = mapGroupsToPermission([], config)\n        expect(result).to.equal('readonly')\n      })\n\n      it('should return defaultPermission when user groups is undefined', () => {\n        const config: OIDCConfig = { ...baseConfig }\n        const result = mapGroupsToPermission(undefined, config)\n        expect(result).to.equal('readonly')\n      })\n    })\n\n    describe('with admin groups configured', () => {\n      it('should return admin when user is in admin group', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['admins', 'sk-admin']\n        }\n        const result = mapGroupsToPermission(['users', 'admins'], config)\n        expect(result).to.equal('admin')\n      })\n\n      it('should return admin when user is in any admin group', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['admins', 'sk-admin', 'superusers']\n        }\n        const result = mapGroupsToPermission(['sk-admin'], config)\n        expect(result).to.equal('admin')\n      })\n\n      it('should return defaultPermission when user not in admin groups', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['admins']\n        }\n        const result = mapGroupsToPermission(['users', 'viewers'], config)\n        expect(result).to.equal('readonly')\n      })\n    })\n\n    describe('with readwrite groups configured', () => {\n      it('should return readwrite when user is in readwrite group', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          readwriteGroups: ['users', 'editors']\n        }\n        const result = mapGroupsToPermission(['users'], config)\n        expect(result).to.equal('readwrite')\n      })\n\n      it('should return readwrite when user is in any readwrite group', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          readwriteGroups: ['users', 'editors', 'operators']\n        }\n        const result = mapGroupsToPermission(['viewers', 'operators'], config)\n        expect(result).to.equal('readwrite')\n      })\n\n      it('should return defaultPermission when user not in readwrite groups', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          readwriteGroups: ['editors']\n        }\n        const result = mapGroupsToPermission(['viewers'], config)\n        expect(result).to.equal('readonly')\n      })\n    })\n\n    describe('with both admin and readwrite groups configured', () => {\n      const config: OIDCConfig = {\n        ...baseConfig,\n        adminGroups: ['admins', 'sk-admin'],\n        readwriteGroups: ['users', 'operators']\n      }\n\n      it('should prioritize admin over readwrite', () => {\n        const result = mapGroupsToPermission(['users', 'admins'], config)\n        expect(result).to.equal('admin')\n      })\n\n      it('should return readwrite when in readwrite but not admin groups', () => {\n        const result = mapGroupsToPermission(['users', 'viewers'], config)\n        expect(result).to.equal('readwrite')\n      })\n\n      it('should return defaultPermission when in neither group', () => {\n        const result = mapGroupsToPermission(['viewers', 'guests'], config)\n        expect(result).to.equal('readonly')\n      })\n    })\n\n    describe('with custom defaultPermission', () => {\n      it('should use readwrite as default when configured', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          defaultPermission: 'readwrite'\n        }\n        const result = mapGroupsToPermission(['unknown-group'], config)\n        expect(result).to.equal('readwrite')\n      })\n\n      it('should use admin as default when configured', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          defaultPermission: 'admin'\n        }\n        const result = mapGroupsToPermission([], config)\n        expect(result).to.equal('admin')\n      })\n    })\n\n    describe('case sensitivity', () => {\n      it('should be case-sensitive by default', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['Admins']\n        }\n        const result = mapGroupsToPermission(['admins'], config)\n        expect(result).to.equal('readonly')\n      })\n\n      it('should match exactly with correct case', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['Admins']\n        }\n        const result = mapGroupsToPermission(['Admins'], config)\n        expect(result).to.equal('admin')\n      })\n    })\n\n    describe('edge cases', () => {\n      it('should handle empty admin groups array', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: [],\n          readwriteGroups: ['users']\n        }\n        const result = mapGroupsToPermission(['users'], config)\n        expect(result).to.equal('readwrite')\n      })\n\n      it('should handle empty readwrite groups array', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['admins'],\n          readwriteGroups: []\n        }\n        const result = mapGroupsToPermission(['admins'], config)\n        expect(result).to.equal('admin')\n      })\n\n      it('should handle groups with special characters', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['domain\\\\admins', 'org:admin-group']\n        }\n        const result = mapGroupsToPermission(['domain\\\\admins'], config)\n        expect(result).to.equal('admin')\n      })\n\n      it('should handle whitespace in group names', () => {\n        const config: OIDCConfig = {\n          ...baseConfig,\n          adminGroups: ['Signal K Admins']\n        }\n        const result = mapGroupsToPermission(['Signal K Admins'], config)\n        expect(result).to.equal('admin')\n      })\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/pkce.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  generateCodeVerifier,\n  calculateCodeChallenge\n} from '../../src/oidc/pkce'\n\ndescribe('PKCE', () => {\n  describe('generateCodeVerifier', () => {\n    it('should generate 43-128 character string', () => {\n      const verifier = generateCodeVerifier()\n      expect(verifier.length).to.be.at.least(43)\n      expect(verifier.length).to.be.at.most(128)\n    })\n\n    it('should use only allowed characters [A-Za-z0-9-._~]', () => {\n      const verifier = generateCodeVerifier()\n      expect(verifier).to.match(/^[A-Za-z0-9\\-._~]+$/)\n    })\n\n    it('should generate different values each call', () => {\n      const verifier1 = generateCodeVerifier()\n      const verifier2 = generateCodeVerifier()\n      expect(verifier1).to.not.equal(verifier2)\n    })\n\n    it('should be cryptographically random (high entropy)', () => {\n      // Generate multiple verifiers and check they're all different\n      const verifiers = new Set<string>()\n      for (let i = 0; i < 100; i++) {\n        verifiers.add(generateCodeVerifier())\n      }\n      // All 100 should be unique\n      expect(verifiers.size).to.equal(100)\n    })\n  })\n\n  describe('calculateCodeChallenge', () => {\n    it('should generate SHA256 base64url hash', () => {\n      // RFC 7636 test vector\n      const verifier = 'dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk'\n      const challenge = calculateCodeChallenge(verifier)\n      expect(challenge).to.equal('E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM')\n    })\n\n    it('should match known test vectors', () => {\n      // Additional test vector\n      const verifier = 'test-verifier-123'\n      const challenge = calculateCodeChallenge(verifier)\n      // Should be deterministic\n      expect(challenge).to.equal(calculateCodeChallenge(verifier))\n    })\n\n    it('should generate URL-safe base64 (no padding)', () => {\n      const verifier = generateCodeVerifier()\n      const challenge = calculateCodeChallenge(verifier)\n      // No padding characters\n      expect(challenge).to.not.include('=')\n      // No non-URL-safe characters\n      expect(challenge).to.not.include('+')\n      expect(challenge).to.not.include('/')\n    })\n\n    it('should handle edge case verifiers', () => {\n      // Minimum length verifier (43 chars)\n      const minVerifier = 'a'.repeat(43)\n      expect(() => calculateCodeChallenge(minVerifier)).to.not.throw()\n\n      // Maximum length verifier (128 chars)\n      const maxVerifier = 'z'.repeat(128)\n      expect(() => calculateCodeChallenge(maxVerifier)).to.not.throw()\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/settings-api.test.ts",
    "content": "/*\n * Tests for OIDC Settings Admin API\n * These tests verify the GET/PUT endpoints for OIDC configuration management\n */\n\nimport { expect } from 'chai'\nimport { freeport } from '../ts-servertestutilities'\n\n/* eslint-disable @typescript-eslint/no-require-imports */\nconst {\n  startServerP,\n  getAdminToken,\n  getReadOnlyToken,\n  getWriteToken\n} = require('../servertestutilities')\n/* eslint-enable @typescript-eslint/no-require-imports */\n\ndescribe('OIDC Settings API', function () {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let url: string\n  let port: number\n  let adminToken: string\n  let readOnlyToken: string\n  let writeToken: string\n\n  const validOIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-client',\n    clientSecret: 'test-secret-123',\n    redirectUri: 'https://signalk.local:3000/oidc/callback',\n    providerName: 'Test SSO',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    autoLogin: false,\n    adminGroups: ['admins', 'sk-admins'],\n    readwriteGroups: ['users'],\n    groupsAttribute: 'groups',\n    scope: 'openid email profile groups'\n  }\n\n  before(async function () {\n    this.timeout(10000)\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n\n    server = await startServerP(port, true, {\n      disableSchemaMetaDeltas: true\n    })\n\n    adminToken = await getAdminToken(server)\n    readOnlyToken = await getReadOnlyToken(server)\n    writeToken = await getWriteToken(server)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  describe('GET /skServer/security/oidc', () => {\n    it('should require admin authentication', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`)\n      expect(result.status).to.equal(401)\n    })\n\n    it('should reject non-admin users', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${readOnlyToken}`\n        }\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should reject readwrite users', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${writeToken}`\n        }\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should return OIDC config for admin users', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      expect(result.status).to.equal(200)\n\n      const json = (await result.json()) as Record<string, unknown>\n      expect(json).to.have.property('enabled')\n      expect(json).to.have.property('issuer')\n      expect(json).to.have.property('clientId')\n      expect(json).to.have.property('defaultPermission')\n    })\n\n    it('should not return the client secret in plain text', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      expect(result.status).to.equal(200)\n\n      const json = (await result.json()) as Record<string, unknown>\n      // clientSecret should be redacted or indicate if set\n      expect(json.clientSecret).to.not.equal('test-secret-123')\n      // Should indicate if secret is set\n      expect(json).to.have.property('clientSecretSet')\n    })\n\n    it('should indicate which fields are set via environment variables', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      expect(result.status).to.equal(200)\n\n      const json = (await result.json()) as Record<string, unknown>\n      // Should include envOverrides object indicating which fields come from env\n      expect(json).to.have.property('envOverrides')\n      expect(json.envOverrides).to.be.an('object')\n    })\n  })\n\n  describe('PUT /skServer/security/oidc', () => {\n    it('should require admin authentication', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify(validOIDCConfig)\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should reject non-admin users', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${readOnlyToken}`\n        },\n        body: JSON.stringify(validOIDCConfig)\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should accept valid OIDC configuration', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(validOIDCConfig)\n      })\n      expect(result.status).to.equal(200)\n    })\n\n    it('should persist configuration and return it on GET', async () => {\n      // First, save the config\n      const putResult = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(validOIDCConfig)\n      })\n      expect(putResult.status).to.equal(200)\n\n      // Then verify it's returned on GET\n      const getResult = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      expect(getResult.status).to.equal(200)\n\n      const json = (await getResult.json()) as Record<string, unknown>\n      expect(json.enabled).to.equal(true)\n      expect(json.issuer).to.equal('https://auth.example.com')\n      expect(json.clientId).to.equal('signalk-client')\n      expect(json.providerName).to.equal('Test SSO')\n    })\n\n    it('should reject invalid issuer URL', async () => {\n      const invalidConfig = { ...validOIDCConfig, issuer: 'not-a-valid-url' }\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(invalidConfig)\n      })\n      expect(result.status).to.equal(400)\n    })\n\n    it('should reject missing required fields when enabled', async () => {\n      const incompleteConfig = {\n        enabled: true,\n        issuer: 'https://auth.example.com'\n        // Missing clientId and clientSecret\n      }\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(incompleteConfig)\n      })\n      expect(result.status).to.equal(400)\n    })\n\n    it('should accept disabled config without all required fields', async () => {\n      const disabledConfig = {\n        enabled: false,\n        issuer: '',\n        clientId: '',\n        clientSecret: ''\n      }\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(disabledConfig)\n      })\n      expect(result.status).to.equal(200)\n    })\n\n    it('should preserve existing client secret if not provided in update', async () => {\n      // First, save config with secret\n      const putResult1 = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(validOIDCConfig)\n      })\n      expect(putResult1.status).to.equal(200)\n\n      // Update without providing clientSecret (or with empty string)\n      const updateWithoutSecret = {\n        ...validOIDCConfig,\n        clientSecret: '',\n        providerName: 'Updated SSO Name'\n      }\n      const putResult2 = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(updateWithoutSecret)\n      })\n      expect(putResult2.status).to.equal(200)\n\n      // Verify secret is still set\n      const getResult = await fetch(`${url}/skServer/security/oidc`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      const json = (await getResult.json()) as Record<string, unknown>\n      expect(json.clientSecretSet).to.equal(true)\n      expect(json.providerName).to.equal('Updated SSO Name')\n    })\n\n    it('should reject invalid defaultPermission value', async () => {\n      const invalidConfig = {\n        ...validOIDCConfig,\n        defaultPermission: 'superadmin'\n      }\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(invalidConfig)\n      })\n      expect(result.status).to.equal(400)\n    })\n\n    it('should accept adminGroups as comma-separated string', async () => {\n      const configWithStringGroups = {\n        ...validOIDCConfig,\n        adminGroups: 'admins, sk-admins, superusers'\n      }\n      const result = await fetch(`${url}/skServer/security/oidc`, {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify(configWithStringGroups)\n      })\n      expect(result.status).to.equal(200)\n    })\n  })\n\n  describe('POST /skServer/security/oidc/test', () => {\n    it('should require admin authentication', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc/test`, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({ issuer: 'https://auth.example.com' })\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should reject non-admin users', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc/test`, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${readOnlyToken}`\n        },\n        body: JSON.stringify({ issuer: 'https://auth.example.com' })\n      })\n      expect(result.status).to.equal(401)\n    })\n\n    it('should return error for invalid issuer URL', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc/test`, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({ issuer: 'not-a-valid-url' })\n      })\n      expect(result.status).to.equal(400)\n    })\n\n    it('should return error for unreachable issuer', async () => {\n      const result = await fetch(`${url}/skServer/security/oidc/test`, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({\n          issuer: 'https://nonexistent.invalid.example.com'\n        })\n      })\n\n      // Should return an error status indicating the connection failed\n      expect(result.status).to.be.oneOf([400, 502, 503])\n\n      const json = (await result.json()) as Record<string, unknown>\n      expect(json).to.have.property('error')\n    })\n\n    it('should return success for reachable OIDC provider with valid discovery', async () => {\n      // This test would require a mock OIDC server or a known public OIDC provider\n      // For now, we test the error case to ensure the endpoint exists\n      const result = await fetch(`${url}/skServer/security/oidc/test`, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({ issuer: 'https://accounts.google.com' })\n      })\n\n      // Google is a known public OIDC provider\n      if (result.status === 200) {\n        const json = (await result.json()) as Record<string, unknown>\n        expect(json).to.have.property('success', true)\n        expect(json).to.have.property('issuer')\n        expect(json).to.have.property('authorization_endpoint')\n        expect(json).to.have.property('token_endpoint')\n      } else {\n        // If network is unavailable, test should not fail\n        console.log(\n          'Note: OIDC test endpoint returned non-200, possibly due to network'\n        )\n      }\n    })\n  })\n\n  describe('User list with OIDC indicator', () => {\n    it('should include OIDC information in user list', async () => {\n      const result = await fetch(`${url}/skServer/security/users`, {\n        headers: {\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        }\n      })\n      expect(result.status).to.equal(200)\n\n      const users = (await result.json()) as Array<Record<string, unknown>>\n      expect(users).to.be.an('array')\n\n      // Each user should have an isOIDC field (or similar indicator)\n      users.forEach((user) => {\n        expect(user).to.have.property('userId')\n        expect(user).to.have.property('type')\n        // isOIDC should be present (false for local users)\n        expect(user).to.have.property('isOIDC')\n      })\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/state.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  generateState,\n  generateNonce,\n  createAuthState,\n  validateState,\n  encryptState,\n  decryptState\n} from '../../src/oidc/state'\nimport { OIDCError, STATE_MAX_AGE_MS } from '../../src/oidc/types'\n\ndescribe('State Management', () => {\n  const secretKey = '0'.repeat(64) // 256-bit hex key\n\n  describe('generateState', () => {\n    it('should generate cryptographically random string', () => {\n      const state1 = generateState()\n      const state2 = generateState()\n      expect(state1).to.not.equal(state2)\n    })\n\n    it('should be URL-safe', () => {\n      const state = generateState()\n      expect(state).to.match(/^[A-Za-z0-9\\-_]+$/)\n    })\n\n    it('should be at least 32 characters', () => {\n      const state = generateState()\n      expect(state.length).to.be.at.least(32)\n    })\n  })\n\n  describe('generateNonce', () => {\n    it('should generate cryptographically random string', () => {\n      const nonce1 = generateNonce()\n      const nonce2 = generateNonce()\n      expect(nonce1).to.not.equal(nonce2)\n    })\n\n    it('should be URL-safe', () => {\n      const nonce = generateNonce()\n      expect(nonce).to.match(/^[A-Za-z0-9\\-_]+$/)\n    })\n  })\n\n  describe('createAuthState', () => {\n    it('should create complete state object', () => {\n      const authState = createAuthState(\n        'https://example.com/callback',\n        '/admin'\n      )\n\n      expect(authState.state).to.be.a('string')\n      expect(authState.codeVerifier).to.be.a('string')\n      expect(authState.nonce).to.be.a('string')\n      expect(authState.redirectUri).to.equal('https://example.com/callback')\n      expect(authState.originalUrl).to.equal('/admin')\n      expect(authState.createdAt).to.be.a('number')\n    })\n\n    it('should include timestamp', () => {\n      const before = Date.now()\n      const authState = createAuthState('https://example.com/callback', '/')\n      const after = Date.now()\n\n      expect(authState.createdAt).to.be.at.least(before)\n      expect(authState.createdAt).to.be.at.most(after)\n    })\n\n    it('should generate unique state, verifier, nonce', () => {\n      const state1 = createAuthState('https://example.com/callback', '/')\n      const state2 = createAuthState('https://example.com/callback', '/')\n\n      expect(state1.state).to.not.equal(state2.state)\n      expect(state1.codeVerifier).to.not.equal(state2.codeVerifier)\n      expect(state1.nonce).to.not.equal(state2.nonce)\n    })\n  })\n\n  describe('validateState', () => {\n    it('should accept valid state', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      expect(() => validateState(authState.state, authState)).to.not.throw()\n    })\n\n    it('should reject mismatched state', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      expect(() => validateState('wrong-state', authState)).to.throw(\n        OIDCError,\n        /mismatch/\n      )\n    })\n\n    it('should reject expired state (>10 min)', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      // Set createdAt to 11 minutes ago\n      authState.createdAt = Date.now() - STATE_MAX_AGE_MS - 60000\n\n      expect(() => validateState(authState.state, authState)).to.throw(\n        OIDCError,\n        /expired/\n      )\n    })\n\n    it('should accept state just under expiry limit', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      // Set createdAt to 9 minutes ago (still valid)\n      authState.createdAt = Date.now() - STATE_MAX_AGE_MS + 60000\n\n      expect(() => validateState(authState.state, authState)).to.not.throw()\n    })\n  })\n\n  describe('encryptState/decryptState', () => {\n    it('should roundtrip state correctly', () => {\n      const authState = createAuthState(\n        'https://example.com/callback',\n        '/admin'\n      )\n      const encrypted = encryptState(authState, secretKey)\n      const decrypted = decryptState(encrypted, secretKey)\n\n      expect(decrypted.state).to.equal(authState.state)\n      expect(decrypted.codeVerifier).to.equal(authState.codeVerifier)\n      expect(decrypted.nonce).to.equal(authState.nonce)\n      expect(decrypted.redirectUri).to.equal(authState.redirectUri)\n      expect(decrypted.originalUrl).to.equal(authState.originalUrl)\n      expect(decrypted.createdAt).to.equal(authState.createdAt)\n    })\n\n    it('should fail on tampering', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      const encrypted = encryptState(authState, secretKey)\n\n      // Tamper with encrypted data\n      const tamperedChars = encrypted.split('')\n      tamperedChars[20] = tamperedChars[20] === 'a' ? 'b' : 'a'\n      const tampered = tamperedChars.join('')\n\n      expect(() => decryptState(tampered, secretKey)).to.throw()\n    })\n\n    it('should fail with wrong key', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      const encrypted = encryptState(authState, secretKey)\n      const wrongKey = '1'.repeat(64)\n\n      expect(() => decryptState(encrypted, wrongKey)).to.throw()\n    })\n\n    it('should produce different ciphertext each time (IV randomness)', () => {\n      const authState = createAuthState('https://example.com/callback', '/')\n      const encrypted1 = encryptState(authState, secretKey)\n      const encrypted2 = encryptState(authState, secretKey)\n\n      expect(encrypted1).to.not.equal(encrypted2)\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/token-exchange.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  exchangeAuthorizationCode,\n  fetchUserinfo,\n  setFetchFunction as setTokenFetch,\n  resetFetchFunction as resetTokenFetch\n} from '../../src/oidc/token-exchange'\nimport {\n  OIDCConfig,\n  OIDCAuthState,\n  OIDCProviderMetadata,\n  OIDCError\n} from '../../src/oidc/types'\n\ndescribe('Token Exchange', () => {\n  const config: OIDCConfig = {\n    enabled: true,\n    issuer: 'https://auth.example.com',\n    clientId: 'signalk-server',\n    clientSecret: 'test-secret',\n    redirectUri: 'https://signalk.local:3000/oidc/callback',\n    scope: 'openid email profile',\n    defaultPermission: 'readonly',\n    autoCreateUsers: true,\n    providerName: 'SSO Login',\n    autoLogin: false\n  }\n\n  const metadata: OIDCProviderMetadata = {\n    issuer: 'https://auth.example.com',\n    authorization_endpoint: 'https://auth.example.com/authorize',\n    token_endpoint: 'https://auth.example.com/token',\n    jwks_uri: 'https://auth.example.com/.well-known/jwks.json',\n    response_types_supported: ['code'],\n    code_challenge_methods_supported: ['S256']\n  }\n\n  const authState: OIDCAuthState = {\n    state: 'test-state-value',\n    codeVerifier: 'test-code-verifier-12345678901234567890',\n    nonce: 'test-nonce-value',\n    redirectUri: 'https://signalk.local:3000/signalk/v1/auth/oidc/callback',\n    originalUrl: '/admin',\n    createdAt: Date.now()\n  }\n\n  const validTokenResponse = {\n    access_token: 'access-token-value',\n    id_token: 'id-token-value',\n    token_type: 'Bearer',\n    expires_in: 3600\n  }\n\n  afterEach(() => {\n    resetTokenFetch()\n  })\n\n  describe('exchangeAuthorizationCode', () => {\n    it('should send correct POST request to token endpoint', async () => {\n      let capturedUrl: string | undefined\n      let capturedInit: RequestInit | undefined\n\n      const mockFetch = async (\n        url: string | URL | Request,\n        init?: RequestInit\n      ): Promise<Response> => {\n        capturedUrl = url.toString()\n        capturedInit = init\n        return new Response(JSON.stringify(validTokenResponse), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      await exchangeAuthorizationCode(\n        'auth-code-123',\n        config,\n        metadata,\n        authState\n      )\n\n      expect(capturedUrl).to.equal('https://auth.example.com/token')\n      expect(capturedInit?.method).to.equal('POST')\n      expect(capturedInit?.headers).to.include({\n        'Content-Type': 'application/x-www-form-urlencoded'\n      })\n    })\n\n    it('should include code_verifier for PKCE', async () => {\n      let capturedBody: string | undefined\n\n      const mockFetch = async (\n        _url: string | URL | Request,\n        init?: RequestInit\n      ): Promise<Response> => {\n        capturedBody = init?.body as string\n        return new Response(JSON.stringify(validTokenResponse), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      await exchangeAuthorizationCode(\n        'auth-code-123',\n        config,\n        metadata,\n        authState\n      )\n\n      const params = new URLSearchParams(capturedBody)\n      expect(params.get('code_verifier')).to.equal(authState.codeVerifier)\n      expect(params.get('code')).to.equal('auth-code-123')\n      expect(params.get('grant_type')).to.equal('authorization_code')\n      expect(params.get('client_id')).to.equal('signalk-server')\n      expect(params.get('client_secret')).to.equal('test-secret')\n      expect(params.get('redirect_uri')).to.equal(authState.redirectUri)\n    })\n\n    it('should handle successful response', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(JSON.stringify(validTokenResponse), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const tokens = await exchangeAuthorizationCode(\n        'auth-code-123',\n        config,\n        metadata,\n        authState\n      )\n\n      expect(tokens.accessToken).to.equal('access-token-value')\n      expect(tokens.idToken).to.equal('id-token-value')\n      expect(tokens.tokenType).to.equal('Bearer')\n      expect(tokens.expiresIn).to.equal(3600)\n    })\n\n    it('should handle error response', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            error: 'invalid_grant',\n            error_description: 'Authorization code expired'\n          }),\n          {\n            status: 400,\n            headers: { 'Content-Type': 'application/json' }\n          }\n        )\n      }\n      setTokenFetch(mockFetch)\n\n      try {\n        await exchangeAuthorizationCode(\n          'auth-code-123',\n          config,\n          metadata,\n          authState\n        )\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('TOKEN_EXCHANGE_FAILED')\n        expect((err as OIDCError).message).to.include('invalid_grant')\n      }\n    })\n\n    it('should handle network errors', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        throw new Error('Network error')\n      }\n      setTokenFetch(mockFetch)\n\n      try {\n        await exchangeAuthorizationCode(\n          'auth-code-123',\n          config,\n          metadata,\n          authState\n        )\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('TOKEN_EXCHANGE_FAILED')\n      }\n    })\n\n    it('should validate response structure', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(\n          JSON.stringify({\n            // Missing access_token\n            id_token: 'id-token-value',\n            token_type: 'Bearer'\n          }),\n          {\n            status: 200,\n            headers: { 'Content-Type': 'application/json' }\n          }\n        )\n      }\n      setTokenFetch(mockFetch)\n\n      try {\n        await exchangeAuthorizationCode(\n          'auth-code-123',\n          config,\n          metadata,\n          authState\n        )\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect(err).to.be.instanceOf(OIDCError)\n        expect((err as OIDCError).code).to.equal('TOKEN_EXCHANGE_FAILED')\n      }\n    })\n  })\n\n  describe('fetchUserinfo', () => {\n    const issuer = 'https://auth.example.com'\n\n    afterEach(() => {\n      resetTokenFetch()\n    })\n\n    it('should return undefined when no userinfo_endpoint in metadata', async () => {\n      const metadataWithoutUserinfo: OIDCProviderMetadata = {\n        ...metadata\n        // no userinfo_endpoint\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithoutUserinfo,\n        issuer\n      )\n\n      expect(result).to.equal(undefined)\n    })\n\n    it('should fetch and return userinfo claims', async () => {\n      const userinfoClaims = {\n        sub: 'user-123',\n        email: 'user@example.com',\n        name: 'Test User',\n        groups: ['admin', 'users']\n      }\n\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(JSON.stringify(userinfoClaims), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://auth.example.com/userinfo'\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithUserinfo,\n        issuer\n      )\n\n      expect(result).to.deep.equal(userinfoClaims)\n    })\n\n    it('should reject userinfo endpoint with mismatched hostname (security)', async () => {\n      // This tests protection against malicious discovery documents\n      // that redirect userinfo to an attacker-controlled server\n      const metadataWithMaliciousUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://evil.com/steal-token'\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithMaliciousUserinfo,\n        issuer\n      )\n\n      // Should return undefined instead of making request to evil.com\n      expect(result).to.equal(undefined)\n    })\n\n    it('should accept userinfo endpoint with matching hostname', async () => {\n      const userinfoClaims = { sub: 'user-123', email: 'user@example.com' }\n\n      const mockFetch = async (): Promise<Response> => {\n        return new Response(JSON.stringify(userinfoClaims), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithMatchingHost: OIDCProviderMetadata = {\n        ...metadata,\n        // Different path but same hostname as issuer\n        userinfo_endpoint: 'https://auth.example.com/api/v1/userinfo'\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithMatchingHost,\n        issuer\n      )\n\n      expect(result).to.deep.equal(userinfoClaims)\n    })\n\n    it('should return undefined on HTTP error', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response('Unauthorized', {\n          status: 401,\n          headers: { 'Content-Type': 'text/plain' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://auth.example.com/userinfo'\n      }\n\n      const result = await fetchUserinfo(\n        'invalid-token',\n        metadataWithUserinfo,\n        issuer\n      )\n\n      expect(result).to.equal(undefined)\n    })\n\n    it('should return undefined on network error', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        throw new Error('Network error')\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://auth.example.com/userinfo'\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithUserinfo,\n        issuer\n      )\n\n      expect(result).to.equal(undefined)\n    })\n\n    it('should return undefined on invalid JSON response', async () => {\n      const mockFetch = async (): Promise<Response> => {\n        return new Response('not valid json', {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://auth.example.com/userinfo'\n      }\n\n      const result = await fetchUserinfo(\n        'access-token',\n        metadataWithUserinfo,\n        issuer\n      )\n\n      expect(result).to.equal(undefined)\n    })\n\n    it('should send correct Authorization header', async () => {\n      let capturedHeaders: HeadersInit | undefined\n\n      const mockFetch = async (\n        _url: string | URL | Request,\n        init?: RequestInit\n      ): Promise<Response> => {\n        capturedHeaders = init?.headers\n        return new Response(JSON.stringify({ sub: 'user-123' }), {\n          status: 200,\n          headers: { 'Content-Type': 'application/json' }\n        })\n      }\n      setTokenFetch(mockFetch)\n\n      const metadataWithUserinfo: OIDCProviderMetadata = {\n        ...metadata,\n        userinfo_endpoint: 'https://auth.example.com/userinfo'\n      }\n\n      await fetchUserinfo('my-access-token', metadataWithUserinfo, issuer)\n\n      expect(capturedHeaders).to.deep.include({\n        Authorization: 'Bearer my-access-token'\n      })\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/user-info.test.ts",
    "content": "import { expect } from 'chai'\nimport { extractUserInfo, decodeIdToken } from '../../src/oidc/user-info'\nimport { OIDCError } from '../../src/oidc/types'\n\ndescribe('User Info', () => {\n  // Helper to create a JWT (unsigned, for testing claims extraction only)\n  function createTestJwt(payload: object): string {\n    const header = { alg: 'none', typ: 'JWT' }\n    const encodedHeader = Buffer.from(JSON.stringify(header)).toString(\n      'base64url'\n    )\n    const encodedPayload = Buffer.from(JSON.stringify(payload)).toString(\n      'base64url'\n    )\n    return `${encodedHeader}.${encodedPayload}.`\n  }\n\n  describe('decodeIdToken', () => {\n    it('should decode a valid JWT payload', () => {\n      const payload = {\n        sub: 'user123',\n        email: 'user@example.com',\n        name: 'Test User'\n      }\n      const token = createTestJwt(payload)\n      const decoded = decodeIdToken(token)\n\n      expect(decoded.sub).to.equal('user123')\n      expect(decoded.email).to.equal('user@example.com')\n      expect(decoded.name).to.equal('Test User')\n    })\n\n    it('should throw on invalid token format', () => {\n      expect(() => decodeIdToken('not-a-jwt')).to.throw(OIDCError, /Invalid/)\n      expect(() => decodeIdToken('only.two')).to.throw(OIDCError, /Invalid/)\n    })\n\n    it('should throw on invalid base64', () => {\n      expect(() => decodeIdToken('xxx.!!!invalid!!!.zzz')).to.throw(OIDCError)\n    })\n  })\n\n  describe('extractUserInfo', () => {\n    it('should extract sub from ID token', () => {\n      const token = createTestJwt({ sub: 'unique-user-id-123' })\n      const userInfo = extractUserInfo(token)\n\n      expect(userInfo.sub).to.equal('unique-user-id-123')\n    })\n\n    it('should extract email if present', () => {\n      const token = createTestJwt({\n        sub: 'user123',\n        email: 'user@example.com'\n      })\n      const userInfo = extractUserInfo(token)\n\n      expect(userInfo.email).to.equal('user@example.com')\n    })\n\n    it('should extract name/preferred_username', () => {\n      const tokenWithName = createTestJwt({\n        sub: 'user123',\n        name: 'John Doe'\n      })\n      const userInfo1 = extractUserInfo(tokenWithName)\n      expect(userInfo1.name).to.equal('John Doe')\n\n      const tokenWithPreferredUsername = createTestJwt({\n        sub: 'user123',\n        preferred_username: 'johndoe'\n      })\n      const userInfo2 = extractUserInfo(tokenWithPreferredUsername)\n      expect(userInfo2.preferredUsername).to.equal('johndoe')\n    })\n\n    it('should extract groups if present', () => {\n      const token = createTestJwt({\n        sub: 'user123',\n        groups: ['admin', 'users', 'signalk-readwrite']\n      })\n      const userInfo = extractUserInfo(token)\n\n      expect(userInfo.groups).to.deep.equal([\n        'admin',\n        'users',\n        'signalk-readwrite'\n      ])\n    })\n\n    it('should handle missing optional claims', () => {\n      const token = createTestJwt({ sub: 'user123' })\n      const userInfo = extractUserInfo(token)\n\n      expect(userInfo.sub).to.equal('user123')\n      expect(userInfo.email).to.equal(undefined)\n      expect(userInfo.name).to.equal(undefined)\n      expect(userInfo.preferredUsername).to.equal(undefined)\n      expect(userInfo.groups).to.equal(undefined)\n    })\n\n    it('should throw if sub is missing', () => {\n      const token = createTestJwt({ email: 'user@example.com' })\n\n      expect(() => extractUserInfo(token)).to.throw(OIDCError, /sub/)\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/user-service.test.ts",
    "content": "import { expect } from 'chai'\nimport {\n  ExternalUserService,\n  ExternalUser,\n  ProviderUserLookup\n} from '../../src/oidc/types'\n\ndescribe('ExternalUserService', () => {\n  // In-memory implementation for testing the interface contract\n  function createInMemoryUserService(): ExternalUserService & {\n    users: ExternalUser[]\n  } {\n    const users: ExternalUser[] = []\n\n    return {\n      users,\n\n      async findUserByProvider(\n        lookup: ProviderUserLookup\n      ): Promise<ExternalUser | null> {\n        if (lookup.provider === 'oidc') {\n          const { sub, issuer } = lookup.criteria\n          const user = users.find((u) => {\n            const oidc = u.providerData as\n              | { sub: string; issuer: string }\n              | undefined\n            return oidc?.sub === sub && oidc?.issuer === issuer\n          })\n          return user || null\n        }\n        return null\n      },\n\n      async findUserByUsername(username: string): Promise<ExternalUser | null> {\n        return users.find((u) => u.username === username) || null\n      },\n\n      async createUser(user: ExternalUser): Promise<void> {\n        users.push(user)\n      },\n\n      async updateUser(\n        username: string,\n        updates: { type?: string; providerData?: Record<string, unknown> }\n      ): Promise<void> {\n        const user = users.find((u) => u.username === username)\n        if (!user) {\n          throw new Error(`User not found: ${username}`)\n        }\n        if (updates.type) {\n          user.type = updates.type\n        }\n        if (updates.providerData) {\n          user.providerData = updates.providerData\n        }\n      }\n    }\n  }\n\n  describe('findUserByProvider', () => {\n    it('should find user by OIDC sub and issuer', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly',\n        providerData: {\n          sub: 'user-123',\n          issuer: 'https://auth.example.com'\n        }\n      })\n\n      const lookup: ProviderUserLookup = {\n        provider: 'oidc',\n        criteria: { sub: 'user-123', issuer: 'https://auth.example.com' }\n      }\n\n      const user = await service.findUserByProvider(lookup)\n      expect(user).to.not.equal(null)\n      expect(user?.username).to.equal('testuser')\n    })\n\n    it('should return null when user not found', async () => {\n      const service = createInMemoryUserService()\n\n      const lookup: ProviderUserLookup = {\n        provider: 'oidc',\n        criteria: { sub: 'nonexistent', issuer: 'https://auth.example.com' }\n      }\n\n      const user = await service.findUserByProvider(lookup)\n      expect(user).to.equal(null)\n    })\n\n    it('should not match if sub matches but issuer differs', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly',\n        providerData: {\n          sub: 'user-123',\n          issuer: 'https://auth.example.com'\n        }\n      })\n\n      const lookup: ProviderUserLookup = {\n        provider: 'oidc',\n        criteria: { sub: 'user-123', issuer: 'https://other-auth.com' }\n      }\n\n      const user = await service.findUserByProvider(lookup)\n      expect(user).to.equal(null)\n    })\n\n    it('should return null for unknown provider', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly',\n        providerData: { sub: 'user-123', issuer: 'https://auth.example.com' }\n      })\n\n      const lookup: ProviderUserLookup = {\n        provider: 'ldap',\n        criteria: { dn: 'cn=test,dc=example,dc=com' }\n      }\n\n      const user = await service.findUserByProvider(lookup)\n      expect(user).to.equal(null)\n    })\n  })\n\n  describe('findUserByUsername', () => {\n    it('should find user by username', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'alice',\n        type: 'admin'\n      })\n\n      const user = await service.findUserByUsername('alice')\n      expect(user).to.not.equal(null)\n      expect(user?.type).to.equal('admin')\n    })\n\n    it('should return null when username not found', async () => {\n      const service = createInMemoryUserService()\n\n      const user = await service.findUserByUsername('nonexistent')\n      expect(user).to.equal(null)\n    })\n\n    it('should find user without providerData', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'localuser',\n        type: 'readwrite'\n      })\n\n      const user = await service.findUserByUsername('localuser')\n      expect(user).to.not.equal(null)\n      expect(user?.providerData).to.equal(undefined)\n    })\n  })\n\n  describe('createUser', () => {\n    it('should create a new user', async () => {\n      const service = createInMemoryUserService()\n\n      await service.createUser({\n        username: 'newuser',\n        type: 'readonly',\n        providerData: {\n          sub: 'new-sub',\n          issuer: 'https://auth.example.com'\n        }\n      })\n\n      expect(service.users).to.have.length(1)\n      expect(service.users[0].username).to.equal('newuser')\n    })\n\n    it('should allow creating user without providerData', async () => {\n      const service = createInMemoryUserService()\n\n      await service.createUser({\n        username: 'localuser',\n        type: 'admin'\n      })\n\n      expect(service.users).to.have.length(1)\n      expect(service.users[0].providerData).to.equal(undefined)\n    })\n  })\n\n  describe('updateUser', () => {\n    it('should update user type', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly',\n        providerData: { sub: 'user-123', issuer: 'https://auth.example.com' }\n      })\n\n      await service.updateUser('testuser', { type: 'admin' })\n\n      expect(service.users[0].type).to.equal('admin')\n    })\n\n    it('should update providerData', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly',\n        providerData: { sub: 'user-123', issuer: 'https://auth.example.com' }\n      })\n\n      await service.updateUser('testuser', {\n        providerData: {\n          sub: 'user-123',\n          issuer: 'https://auth.example.com',\n          email: 'test@example.com',\n          groups: ['admins']\n        }\n      })\n\n      expect(service.users[0].providerData).to.deep.equal({\n        sub: 'user-123',\n        issuer: 'https://auth.example.com',\n        email: 'test@example.com',\n        groups: ['admins']\n      })\n    })\n\n    it('should update both type and providerData', async () => {\n      const service = createInMemoryUserService()\n      service.users.push({\n        username: 'testuser',\n        type: 'readonly'\n      })\n\n      await service.updateUser('testuser', {\n        type: 'readwrite',\n        providerData: { sub: 'user-123', issuer: 'https://auth.example.com' }\n      })\n\n      expect(service.users[0].type).to.equal('readwrite')\n      expect(service.users[0].providerData).to.deep.equal({\n        sub: 'user-123',\n        issuer: 'https://auth.example.com'\n      })\n    })\n\n    it('should throw if user not found', async () => {\n      const service = createInMemoryUserService()\n\n      try {\n        await service.updateUser('nonexistent', { type: 'admin' })\n        expect.fail('Should have thrown')\n      } catch (err) {\n        expect((err as Error).message).to.include('User not found')\n      }\n    })\n  })\n\n  describe('ProviderUserLookup interface', () => {\n    it('should support OIDC lookup criteria', () => {\n      const lookup: ProviderUserLookup = {\n        provider: 'oidc',\n        criteria: {\n          sub: 'abc123',\n          issuer: 'https://auth.example.com'\n        }\n      }\n\n      expect(lookup.provider).to.equal('oidc')\n      expect(lookup.criteria.sub).to.equal('abc123')\n      expect(lookup.criteria.issuer).to.equal('https://auth.example.com')\n    })\n\n    it('should support future LDAP lookup criteria', () => {\n      const lookup: ProviderUserLookup = {\n        provider: 'ldap',\n        criteria: {\n          dn: 'cn=user,dc=example,dc=com'\n        }\n      }\n\n      expect(lookup.provider).to.equal('ldap')\n      expect(lookup.criteria.dn).to.equal('cn=user,dc=example,dc=com')\n    })\n  })\n})\n"
  },
  {
    "path": "test/oidc/userinfo-validation.test.ts",
    "content": "import { expect } from 'chai'\nimport { validateAndMergeUserinfoClaims } from '../../dist/oidc/oidc-auth.js'\nimport { OIDCError } from '../../dist/oidc/types.js'\n\ndescribe('Userinfo Validation Security', () => {\n  describe('validateAndMergeUserinfoClaims', () => {\n    it('should throw when userinfo sub does not match ID token sub', () => {\n      const idTokenClaims = { sub: 'user-123', iss: 'https://auth.example.com' }\n      const userinfoClaims = {\n        sub: 'different-user',\n        email: 'user@example.com'\n      }\n\n      expect(() =>\n        validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n      ).to.throw(OIDCError)\n\n      try {\n        validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n      } catch (err) {\n        expect((err as OIDCError).code).to.equal('INVALID_TOKEN')\n        expect((err as OIDCError).message).to.include('sub does not match')\n      }\n    })\n\n    it('should merge safe claims when sub matches', () => {\n      const idTokenClaims: Record<string, unknown> = {\n        sub: 'user-123',\n        iss: 'https://auth.example.com'\n      }\n      const userinfoClaims = {\n        sub: 'user-123',\n        email: 'user@example.com',\n        name: 'Test User',\n        preferred_username: 'testuser',\n        groups: ['admin', 'users']\n      }\n\n      validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n\n      expect(idTokenClaims.email).to.equal('user@example.com')\n      expect(idTokenClaims.name).to.equal('Test User')\n      expect(idTokenClaims.preferred_username).to.equal('testuser')\n      expect(idTokenClaims.groups).to.deep.equal(['admin', 'users'])\n    })\n\n    it('should NOT merge security-critical claims from userinfo', () => {\n      const idTokenClaims: Record<string, unknown> = {\n        sub: 'user-123',\n        iss: 'https://auth.example.com',\n        aud: 'signalk-server',\n        nonce: 'original-nonce'\n      }\n      const userinfoClaims = {\n        sub: 'user-123',\n        iss: 'https://evil.com', // Attacker tries to change issuer\n        aud: 'attacker-app', // Attacker tries to change audience\n        nonce: 'malicious-nonce', // Attacker tries to change nonce\n        email: 'user@example.com'\n      }\n\n      validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n\n      // Security-critical claims should NOT be overwritten\n      expect(idTokenClaims.iss).to.equal('https://auth.example.com')\n      expect(idTokenClaims.aud).to.equal('signalk-server')\n      expect(idTokenClaims.nonce).to.equal('original-nonce')\n      // Safe claims should be merged\n      expect(idTokenClaims.email).to.equal('user@example.com')\n    })\n\n    it('should accept when userinfo has no sub claim', () => {\n      const idTokenClaims: Record<string, unknown> = {\n        sub: 'user-123',\n        iss: 'https://auth.example.com'\n      }\n      const userinfoClaims = {\n        email: 'user@example.com',\n        name: 'Test User'\n        // no sub claim\n      }\n\n      // Should not throw\n      validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n\n      expect(idTokenClaims.email).to.equal('user@example.com')\n      expect(idTokenClaims.name).to.equal('Test User')\n    })\n\n    it('should merge custom groups attribute', () => {\n      const idTokenClaims: Record<string, unknown> = { sub: 'user-123' }\n      const userinfoClaims = {\n        sub: 'user-123',\n        roles: ['admin', 'editor'] // Custom groups attribute\n      }\n\n      validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims, 'roles')\n\n      expect(idTokenClaims.roles).to.deep.equal(['admin', 'editor'])\n    })\n\n    it('should handle undefined claims gracefully', () => {\n      const idTokenClaims: Record<string, unknown> = { sub: 'user-123' }\n      const userinfoClaims = {\n        sub: 'user-123'\n        // no email, name, groups, etc.\n      }\n\n      // Should not throw\n      validateAndMergeUserinfoClaims(idTokenClaims, userinfoClaims)\n\n      expect(idTokenClaims.email).to.equal(undefined)\n      expect(idTokenClaims.name).to.equal(undefined)\n    })\n  })\n})\n"
  },
  {
    "path": "test/plugin-crash-isolation.ts",
    "content": "import assert from 'assert'\nimport path from 'path'\nimport { freeport } from './ts-servertestutilities'\nimport { Delta, hasValues } from '@signalk/server-api'\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst Server = require('../dist/')\n\ninterface PluginInfo {\n  id: string\n  packageName: string\n}\n\ninterface ProviderStatus {\n  id: string\n  type: string\n  message: string\n  statusType?: string\n}\n\ndescribe('Plugin crash isolation', () => {\n  it('survives a plugin that throws in a subscription callback', async () => {\n    process.env.SIGNALK_NODE_CONFIG_DIR = path.join(\n      __dirname,\n      'plugin-test-config'\n    )\n\n    const port = await freeport()\n    const server = new Server({\n      config: { settings: { port } }\n    })\n    await server.start()\n\n    const crashingPlugin = server.app.plugins.find(\n      (p: PluginInfo) => p.id === 'crashingplugin'\n    )\n    assert(crashingPlugin, 'Crashing plugin should be loaded')\n\n    const deltaReceived = new Promise<void>((resolve) => {\n      server.app.signalk.on('delta', (delta: Delta) => {\n        const hasExpectedValue = delta.updates?.some(\n          (u) =>\n            hasValues(u) &&\n            u.values?.some((v) => v.path === 'environment.outside.pressure')\n        )\n        if (hasExpectedValue) {\n          resolve()\n        }\n      })\n    })\n\n    server.app.handleMessage('test', {\n      updates: [\n        {\n          values: [\n            {\n              path: 'environment.outside.pressure',\n              value: 101325\n            }\n          ]\n        }\n      ]\n    })\n\n    await deltaReceived\n\n    // Server should still be running\n    assert(\n      server.app.started,\n      'Server should still be running after plugin crash'\n    )\n\n    // The plugin error should be reported via provider status\n    const statuses: ProviderStatus[] = server.app.getProviderStatus()\n    const errorStatus = statuses.find(\n      (s: ProviderStatus) => s.id === 'crashingplugin' && s.type === 'error'\n    )\n    assert(errorStatus, 'Crashing plugin should have error status')\n    assert(\n      errorStatus.message.includes('tendency'),\n      `Error message should contain the original error text, got: ${errorStatus.message}`\n    )\n\n    await server.stop()\n  })\n})\n"
  },
  {
    "path": "test/plugin-test-config/package.json",
    "content": "{\n  \"name\": \"signalk-server-config\",\n  \"version\": \"0.0.1\",\n  \"description\": \"This file is here to track your plugin and webapp installs.\",\n  \"repository\": {},\n  \"license\": \"Apache-2.0\"\n}\n"
  },
  {
    "path": "test/plugins.js",
    "content": "const assert = require('assert')\n\nconst { freeport } = require('./ts-servertestutilities')\nconst Server = require('../dist/')\nconst fs = require('fs')\nconst path = require('path')\n\ndescribe('Demo plugin ', () => {\n  it('works', async () => {\n    process.env.SIGNALK_NODE_CONFIG_DIR = require('path').join(\n      __dirname,\n      'plugin-test-config'\n    )\n    const pluginConfig = {\n      enabled: true,\n      configuration: {\n        testOption: 'testValue'\n      }\n    }\n\n    mkDirSync(path.join(`${__dirname}/plugin-test-config/plugin-config-data`))\n    writePluginConfig(pluginConfig)\n\n    const port = await freeport()\n    const server = new Server({\n      config: { settings: { port } }\n    })\n    await server.start()\n    const plugins = await fetch(`http://0.0.0.0:${port}/skServer/plugins`).then(\n      (res) => res.json()\n    )\n    assert(plugins.find((plugin) => plugin.id === 'testplugin'))\n\n    const plugin = server.app.plugins.find(\n      (plugin) => plugin.id === 'testplugin'\n    )\n    assert(plugin)\n    assert(plugin.started)\n\n    const optionsTest = plugin.app.readPluginOptions()\n    assert(optionsTest.configuration.testOption === 'testValue')\n\n    assert(server.app.signalk.self.some.path.value === 'someValue')\n\n    const outputValues = []\n    server.app.signalk.on('delta', (msg) => {\n      outputValues.push(msg.updates[0].values[0].value)\n    })\n    server.app.handleMessage('foo', {\n      updates: [\n        {\n          values: [\n            {\n              path: 'navigation.courseOverGroundTrue',\n              value: Math.PI\n            }\n          ]\n        }\n      ]\n    })\n    server.app.handleMessage('foo', {\n      updates: [\n        {\n          values: [\n            {\n              path: 'navigation.courseOverGroundMagnetic',\n              value: 2\n            }\n          ]\n        }\n      ]\n    })\n\n    pluginConfig.enabled = false\n    await postPluginConfig(port, pluginConfig)\n\n    server.app.handleMessage('foo', {\n      updates: [\n        {\n          values: [\n            {\n              path: 'navigation.courseOverGroundTrue',\n              value: 3\n            }\n          ]\n        }\n      ]\n    })\n    assert.equal(outputValues[0], -1)\n    assert.equal(outputValues[1], 2)\n    assert.equal(outputValues[2], 3)\n\n    await server.stop()\n  })\n\n  it('loads ESM plugins', async () => {\n    process.env.SIGNALK_NODE_CONFIG_DIR = require('path').join(\n      __dirname,\n      'plugin-test-config'\n    )\n\n    const port = await freeport()\n    const server = new Server({\n      config: { settings: { port } }\n    })\n    await server.start()\n\n    const plugin = server.app.plugins.find(\n      (plugin) => plugin.id === 'esm-plugin'\n    )\n\n    assert(plugin)\n\n    await server.stop()\n  })\n})\n\nfunction mkDirSync(dirPath) {\n  try {\n    fs.mkdirSync(dirPath)\n  } catch (err) {\n    if (err.code !== 'EEXIST') {\n      throw err\n    }\n  }\n}\n\nfunction writePluginConfig(config) {\n  fs.writeFileSync(\n    path.join(\n      `${__dirname}/plugin-test-config/plugin-config-data/testplugin.json`\n    ),\n    JSON.stringify(config)\n  )\n}\n\nasync function postPluginConfig(port, config) {\n  await fetch(`http://0.0.0.0:${port}/skServer/plugins/testplugin/config`, {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify(config)\n  })\n}\n"
  },
  {
    "path": "test/providers.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nconst _ = require('lodash')\nconst { freeport } = require('./ts-servertestutilities')\nconst Server = require('../dist')\n\nconst nullIdText = 'Please enter a provider ID'\n\ndescribe('Providers', (_) => {\n  let server, url, port\n\n  before(async function () {\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    const serverApp = new Server({\n      config: {\n        settings: {\n          port,\n          interfaces: {\n            plugins: false\n          },\n          pipedProviders: [\n            {\n              id: 'existing',\n              pipeElements: [\n                {\n                  type: 'providers/simple',\n                  options: {\n                    logging: false,\n                    type: 'FileStream',\n                    subOptions: {\n                      dataType: 'Multiplexed',\n                      filename: 'somefile.log'\n                    }\n                  }\n                }\n              ],\n              enabled: false\n            }\n          ]\n        }\n      }\n    })\n    server = await serverApp.start()\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('New provider with empty or null id fails', async function () {\n    const provider = {\n      id: '',\n      enabled: true,\n      type: 'simple'\n    }\n    let result = await fetch(`${url}/skServer/providers`, {\n      method: 'post',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(provider)\n    })\n    result.status.should.equal(401)\n    let text = await result.text()\n    text.should.equal(nullIdText)\n\n    delete provider.id\n    result = await fetch(`${url}/skServer/providers`, {\n      method: 'post',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(provider)\n    })\n    result.status.should.equal(401)\n    text = await result.text()\n    text.should.equal(nullIdText)\n  })\n\n  it('New provider works', async function () {\n    const result = await fetch(`${url}/skServer/providers`, {\n      method: 'post',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        id: 'testProvider',\n        enabled: true,\n        options: {\n          type: 'NMEA0183'\n        }\n      })\n    })\n    result.status.should.equal(200)\n    const text = await result.text()\n    text.should.equal('Connection added')\n    const pipedProviders = server.app.config.settings.pipedProviders\n    pipedProviders.length.should.equal(2)\n    checkExistingProvider(pipedProviders[0])\n    pipedProviders[1].id.should.equal('testProvider')\n    pipedProviders[1].enabled.should.equal(true)\n    pipedProviders[1].pipeElements.length.should.equal(1)\n    pipedProviders[1].pipeElements[0].type.should.equal('providers/simple')\n    pipedProviders[1].pipeElements[0].options.subOptions.type.should.equal(\n      'NMEA0183'\n    )\n  })\n\n  it('Update provider with empty or null id fails', async function () {\n    const provider = {\n      id: '',\n      enabled: true,\n      type: 'simple',\n      options: {\n        type: 'NMEA0183'\n      }\n    }\n    let result = await fetch(`${url}/skServer/providers/testProvider`, {\n      method: 'put',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(provider)\n    })\n    result.status.should.equal(401)\n    let text = await result.text()\n    text.should.equal(nullIdText)\n    const pipedProviders = server.app.config.settings.pipedProviders\n    pipedProviders[1].id.should.equal('testProvider')\n\n    delete provider.id\n    result = await fetch(`${url}/skServer/providers/testProvider`, {\n      method: 'put',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(provider)\n    })\n    result.status.should.equal(401)\n    text = await result.text()\n    text.should.equal(nullIdText)\n    pipedProviders[1].id.should.equal('testProvider')\n  })\n\n  it('Update provider properties works', async function () {\n    const provider = {\n      id: 'testProvider',\n      enabled: false,\n      type: 'simple',\n      options: {\n        type: 'NMEA0183',\n        device: '/dev/usb0'\n      }\n    }\n    const result = await fetch(`${url}/skServer/providers/testProvider`, {\n      method: 'put',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(provider)\n    })\n    result.status.should.equal(200)\n    const text = await result.text()\n    text.should.equal('Connection updated')\n    const pipedProviders = server.app.config.settings.pipedProviders\n    pipedProviders.length.should.equal(2)\n    checkExistingProvider(pipedProviders[0])\n    pipedProviders[1].id.should.equal('testProvider')\n    pipedProviders[1].enabled.should.equal(false)\n    pipedProviders[1].pipeElements.length.should.equal(1)\n    pipedProviders[1].pipeElements[0].type.should.equal('providers/simple')\n    pipedProviders[1].pipeElements[0].options.subOptions.type.should.equal(\n      'NMEA0183'\n    )\n    pipedProviders[1].pipeElements[0].options.subOptions.device.should.equal(\n      '/dev/usb0'\n    )\n  })\n})\n\nfunction checkExistingProvider(existing) {\n  existing.id.should.equal('existing')\n  existing.enabled.should.equal(false)\n  existing.pipeElements.length.should.equal(1)\n  existing.pipeElements[0].type.should.equal('providers/simple')\n  existing.pipeElements[0].options.type.should.equal('FileStream')\n  existing.pipeElements[0].options.subOptions.dataType.should.equal(\n    'Multiplexed'\n  )\n  existing.pipeElements[0].options.subOptions.filename.should.equal(\n    'somefile.log'\n  )\n}\n"
  },
  {
    "path": "test/put.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nconst assert = require('assert')\nconst { freeport } = require('./ts-servertestutilities')\nconst Server = require('../dist')\nconst { registerActionHandler } = require('../dist/put')\nconst WebSocket = require('ws')\nconst _ = require('lodash')\n// const { WsPromiser } = require('./servertestutilities')\n\ndescribe('Put Requests', () => {\n  let server, url, port\n\n  before(async function () {\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    const serverApp = new Server({\n      config: {\n        settings: {\n          port,\n          interfaces: {\n            plugins: false\n          }\n        },\n        defaults: {}\n      }\n    })\n    server = await serverApp.start()\n\n    function switch2Handler(context, path, value, cb) {\n      if (typeof value !== 'number') {\n        return { state: 'COMPLETED', statusCode: 400, message: 'invalid value' }\n      } else {\n        setTimeout(() => {\n          server.app.handleMessage('test', {\n            updates: [\n              {\n                values: [\n                  { path: 'electrical.switches.switch2.state', value: value }\n                ]\n              }\n            ]\n          })\n          cb({ state: 'COMPLETED', statusCode: 200 })\n        }, 100)\n        return { state: 'PENDING' }\n      }\n    }\n\n    registerActionHandler(\n      'vessels.self',\n      'electrical.switches.switch2.state',\n      null,\n      switch2Handler\n    )\n\n    server.app.handleMessage('test', {\n      updates: [\n        {\n          values: [\n            {\n              path: 'notifications.testNotification',\n              value: {\n                state: 'alarm',\n                method: ['visual', 'sound']\n              }\n            }\n          ]\n        }\n      ]\n    })\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('HTTP put to unhandled path fails', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/electrical/switches/switch1.state`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: 1\n        })\n      }\n    )\n\n    result.status.should.equal(405)\n  })\n\n  it('HTTP successful PUT', async function () {\n    let result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/electrical/switches/switch2.state`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: 1\n        })\n      }\n    )\n\n    result.status.should.equal(202)\n\n    let response = await result.json()\n    response.should.have.property('state')\n    response.state.should.equal('PENDING')\n    response.statusCode.should.equal(202)\n    response.should.have.property('href')\n\n    // Poll action endpoint until handler completes\n    do {\n      result = await fetch(`${url}${response.href}`)\n      response = await result.json()\n    } while (response.state === 'PENDING')\n\n    result.status.should.equal(200)\n\n    response.should.have.property('state')\n    response.state.should.equal('COMPLETED')\n  })\n\n  it('HTTP successfull meta put', async function () {\n    let result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/electrical/switches/switch2.meta.units`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: 'number'\n        })\n      }\n    )\n\n    result.status.should.equal(202)\n\n    let json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('PENDING')\n    json.should.have.property('href')\n\n    // Poll action endpoint until handler completes\n    do {\n      result = await fetch(`${url}${json.href}`)\n      json = await result.json()\n    } while (json.state === 'PENDING')\n\n    result = await fetch(`${url}${json.href}`)\n\n    result.status.should.equal(200)\n\n    json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('COMPLETED')\n\n    result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/electrical/switches/switch2/meta/units`\n    )\n    result.status.should.equal(200)\n    let units = await result.json()\n    units.should.equal('number')\n  })\n\n  it('HTTP failing put', async function () {\n    const result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/electrical/switches/switch2/state`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: 'dummy'\n        })\n      }\n    )\n\n    result.status.should.equal(400)\n\n    const json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('COMPLETED')\n    json.should.have.property('message')\n    json.message.should.equal('invalid value')\n  })\n\n  it('HTTP successful PUT notication state', async function () {\n    let result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/notifications/testNotification/state`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: 'normal'\n        })\n      }\n    )\n\n    result.status.should.equal(200)\n\n    console.log(result.href)\n\n    result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/notifications/testNotification/value`\n    )\n\n    result.status.should.equal(200)\n\n    let response = await result.json()\n    response.should.have.property('state')\n    response.state.should.equal('normal')\n  })\n\n  it('HTTP successful PUT notication method', async function () {\n    let result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/notifications/testNotification/method`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        body: JSON.stringify({\n          value: ['visual']\n        })\n      }\n    )\n\n    result.status.should.equal(200)\n\n    console.log(result.href)\n\n    result = await fetch(\n      `${url}/signalk/v1/api/vessels/self/notifications/testNotification/value`\n    )\n\n    result.status.should.equal(200)\n\n    let response = await result.json()\n    response.should.have.property('method')\n    assert(response.method.length === 1, 'one method')\n    response.method[0].should.equal('visual')\n  })\n\n  it('WS put to unhandled path fails', async function () {\n    const ws = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    let msg = await ws.nextMsg()\n\n    ws.clear()\n    await ws.send({\n      context: 'vessels.self',\n      put: {\n        path: 'electrical.switches.switch1.state',\n        value: 1\n      }\n    })\n\n    const readPromise = ws.nextMsg()\n    msg = await readPromise\n    msg.should.not.equal('timeout')\n    const response = JSON.parse(msg)\n    // console.log(msg)\n    response.should.have.property('statusCode')\n    response.statusCode.should.equal(405)\n  })\n\n  it('WS successfull put', async function () {\n    const ws = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    let msg = await ws.nextMsg()\n\n    ws.clear()\n    await ws.send({\n      context: 'vessels.self',\n      put: {\n        path: 'electrical.switches.switch2.state',\n        value: 1\n      }\n    })\n\n    msg = await ws.nextMsg()\n    msg.should.not.equal('timeout')\n    let response = JSON.parse(msg)\n    response.should.have.property('state')\n    response.state.should.equal('PENDING')\n    response.should.have.property('href')\n\n    msg = await ws.nextMsg()\n    msg.should.not.equal('timeout')\n    response = JSON.parse(msg)\n    response.should.have.property('state')\n    response.state.should.equal('COMPLETED')\n    response.should.have.property('statusCode')\n    response.statusCode.should.equal(200)\n  })\n\n  it('WS failing put', async function () {\n    const ws = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    let msg = await ws.nextMsg()\n\n    ws.clear()\n    await ws.send({\n      context: 'vessels.self',\n      put: {\n        path: 'electrical.switches.switch2.state',\n        value: 'dummy'\n      }\n    })\n\n    msg = await ws.nextMsg()\n    msg.should.not.equal('timeout')\n    const response = JSON.parse(msg)\n    response.should.have.property('state')\n    response.state.should.equal('COMPLETED')\n    response.should.have.property('statusCode')\n    response.statusCode.should.equal(400)\n    response.should.have.property('message')\n    response.message.should.equal('invalid value')\n  })\n})\n\nfunction WsPromiser(url) {\n  this.ws = new WebSocket(url)\n  this.ws.on('message', this.onMessage.bind(this))\n  this.callees = []\n  this.messages = []\n}\n\nWsPromiser.prototype.clear = function () {\n  this.messages = []\n}\n\nWsPromiser.prototype.nextMsg = function () {\n  const callees = this.callees\n  return new Promise((resolve) => {\n    if (this.messages.length > 0) {\n      const message = this.messages[0]\n      this.messages = this.messages.slice(1)\n      resolve(message)\n    } else {\n      callees.push(resolve)\n      setTimeout((_) => {\n        resolve('timeout')\n      }, 250)\n    }\n  })\n}\n\nWsPromiser.prototype.onMessage = function (message) {\n  const msgStr = message.toString()\n  const theCallees = this.callees\n  this.callees = []\n  if (theCallees.length > 0) {\n    theCallees.forEach((callee) => callee(msgStr))\n  } else {\n    this.messages.push(msgStr)\n  }\n}\n\nWsPromiser.prototype.send = function (message) {\n  return new Promise((resolve) => {\n    this.ws.send(JSON.stringify(message), () => resolve('sent'))\n  })\n}\n"
  },
  {
    "path": "test/rate-limit.ts",
    "content": "import chai from 'chai'\nimport WebSocket from 'ws'\nimport { startServerP } from './servertestutilities'\nimport { freeport } from './ts-servertestutilities'\n\nchai.should()\n\ninterface ServerInstance {\n  stop: () => Promise<void>\n}\n\nfunction wsLogin(\n  ws: WebSocket,\n  requestId: string,\n  username: string,\n  password: string\n): Promise<{\n  statusCode: number\n  requestId: string\n  state: string\n  message?: string\n}> {\n  return new Promise((resolve, reject) => {\n    function cleanup() {\n      clearTimeout(timer)\n      ws.removeListener('message', onMessage)\n    }\n    const timer = setTimeout(() => {\n      cleanup()\n      reject(new Error(`Timed out waiting for ${requestId} response`))\n    }, 10000)\n    function onMessage(data: WebSocket.Data) {\n      const msg = JSON.parse(data.toString())\n      if (msg.requestId === requestId) {\n        cleanup()\n        resolve(msg)\n      }\n    }\n    ws.on('message', onMessage)\n    ws.send(JSON.stringify({ requestId, login: { username, password } }))\n  })\n}\n\nfunction openWs(port: number): Promise<WebSocket> {\n  return new Promise((resolve, reject) => {\n    const ws = new WebSocket(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    const timer = setTimeout(\n      () => reject(new Error('WS connection timeout')),\n      10000\n    )\n    ws.on('message', function onHello(data: WebSocket.Data) {\n      const msg = JSON.parse(data.toString())\n      if (msg.name && msg.version) {\n        clearTimeout(timer)\n        ws.removeListener('message', onHello)\n        resolve(ws)\n      }\n    })\n    ws.on('error', (err) => {\n      clearTimeout(timer)\n      reject(err)\n    })\n  })\n}\n\nconst LOGIN_MAX = 100\nconst API_MAX = 1000\n\nconst securityConfig = {\n  allowNewUserRegistration: true,\n  allowDeviceAccessRequests: true\n}\n\ndescribe('HTTP login rate limiting', () => {\n  let server: ServerInstance\n  let url: string\n\n  before(async function () {\n    const port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    server = await startServerP(port, true, {}, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it(`should return 429 after ${LOGIN_MAX} attempts`, async function () {\n    const requests = []\n    for (let i = 0; i < LOGIN_MAX; i++) {\n      requests.push(\n        fetch(`${url}/signalk/v1/auth/login`, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            username: 'admin',\n            password: 'wrongpassword'\n          })\n        })\n      )\n    }\n    await Promise.all(requests)\n\n    const res = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        username: 'admin',\n        password: 'wrongpassword'\n      })\n    })\n\n    res.status.should.equal(429)\n  })\n})\n\ndescribe('WebSocket login rate limiting', () => {\n  let server: ServerInstance\n  let port: number\n\n  before(async function () {\n    port = await freeport()\n    server = await startServerP(port, true, {}, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it(`should return 429 after ${LOGIN_MAX} attempts`, async function () {\n    this.timeout(30000)\n    const ws = await openWs(port)\n\n    try {\n      for (let i = 0; i < LOGIN_MAX; i++) {\n        await wsLogin(ws, `ws-rate-${i}`, 'admin', 'wrongpassword')\n      }\n\n      const blocked = await wsLogin(\n        ws,\n        'ws-rate-blocked',\n        'admin',\n        'wrongpassword'\n      )\n      blocked.statusCode.should.equal(429)\n    } finally {\n      ws.close()\n    }\n  })\n})\n\ndescribe('Cross-protocol login rate limiting', () => {\n  let server: ServerInstance\n  let url: string\n  let port: number\n\n  before(async function () {\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    server = await startServerP(port, true, {}, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('should share the rate limit budget between HTTP and WebSocket', async function () {\n    this.timeout(30000)\n\n    const half = LOGIN_MAX / 2\n    const httpRequests = []\n    for (let i = 0; i < half; i++) {\n      httpRequests.push(\n        fetch(`${url}/signalk/v1/auth/login`, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            username: 'admin',\n            password: 'wrongpassword'\n          })\n        })\n      )\n    }\n    await Promise.all(httpRequests)\n\n    const ws = await openWs(port)\n    try {\n      for (let i = 0; i < half; i++) {\n        await wsLogin(ws, `ws-cross-${i}`, 'admin', 'wrongpassword')\n      }\n\n      const blockedWs = await wsLogin(\n        ws,\n        'ws-cross-blocked',\n        'admin',\n        'wrongpassword'\n      )\n      blockedWs.statusCode.should.equal(429)\n\n      const blockedHttp = await fetch(`${url}/signalk/v1/auth/login`, {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({\n          username: 'admin',\n          password: 'wrongpassword'\n        })\n      })\n      blockedHttp.status.should.equal(429)\n    } finally {\n      ws.close()\n    }\n  })\n})\n\ndescribe('HTTP API rate limiting', () => {\n  let server: ServerInstance\n  let url: string\n\n  before(async function () {\n    const port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    server = await startServerP(port, true, {}, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  it('should limit access requests', async function () {\n    const requests = []\n    for (let i = 0; i < API_MAX; i++) {\n      requests.push(\n        fetch(`${url}/signalk/v1/access/requests`, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            clientId: `device-${i}`,\n            description: `Device ${i}`\n          })\n        })\n      )\n    }\n\n    await Promise.all(requests)\n\n    const res = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        clientId: 'device-1001',\n        description: 'Device 1001'\n      })\n    })\n\n    res.status.should.equal(429)\n  })\n\n  it('should limit request status checks', async function () {\n    const requests = []\n    for (let i = 0; i < API_MAX; i++) {\n      requests.push(fetch(`${url}/signalk/v1/requests/123`))\n    }\n\n    await Promise.all(requests)\n\n    const res = await fetch(`${url}/signalk/v1/requests/123`)\n    res.status.should.equal(429)\n  })\n\n  it('should limit login status checks', async function () {\n    const requests = []\n    for (let i = 0; i < API_MAX; i++) {\n      requests.push(fetch(`${url}/loginStatus`))\n    }\n\n    await Promise.all(requests)\n\n    const res = await fetch(`${url}/loginStatus`)\n    res.status.should.equal(429)\n  })\n})\n\ndescribe('Rate limiting with trustProxy enabled', () => {\n  let server: ServerInstance\n  let url: string\n  let originalConsoleError: typeof console.error\n  let originalConsoleLog: typeof console.log\n  let capturedLogs: string[]\n\n  before(async function () {\n    const port = await freeport()\n    url = `http://0.0.0.0:${port}`\n\n    capturedLogs = []\n    originalConsoleError = console.error\n    originalConsoleLog = console.log\n    console.error = (...args: unknown[]) => {\n      capturedLogs.push(args.join(' '))\n      originalConsoleError.apply(console, args)\n    }\n    console.log = (...args: unknown[]) => {\n      capturedLogs.push(args.join(' '))\n      originalConsoleLog.apply(console, args)\n    }\n\n    const extraConfig = {\n      settings: {\n        trustProxy: true\n      }\n    }\n    server = await startServerP(port, true, extraConfig, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n    console.error = originalConsoleError\n    console.log = originalConsoleLog\n  })\n\n  it('should start without rate limiter errors logged and handle requests', async function () {\n    const res = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        username: 'admin',\n        password: 'wrongpassword'\n      })\n    })\n\n    res.status.should.equal(401)\n\n    const allLogs = capturedLogs.join('\\n')\n    allLogs.should.not.include('ERR_ERL_PERMISSIVE_TRUST_PROXY')\n    allLogs.should.not.include('ERR_ERL_UNEXPECTED_X_FORWARDED_FOR')\n  })\n\n  it('should use X-Forwarded-For for per-IP rate limit buckets', async function () {\n    const requests = []\n    for (let i = 0; i < API_MAX; i++) {\n      requests.push(\n        fetch(`${url}/loginStatus`, {\n          headers: {\n            'X-Forwarded-For': '192.168.1.200'\n          }\n        })\n      )\n    }\n    await Promise.all(requests)\n\n    const blocked = await fetch(`${url}/loginStatus`, {\n      headers: {\n        'X-Forwarded-For': '192.168.1.200'\n      }\n    })\n    blocked.status.should.equal(429)\n\n    const differentIp = await fetch(`${url}/loginStatus`, {\n      headers: {\n        'X-Forwarded-For': '192.168.1.201'\n      }\n    })\n    differentIp.status.should.be.oneOf([200, 401, 403])\n  })\n})\n"
  },
  {
    "path": "test/resources.ts",
    "content": "import { Resource, Waypoint } from '@signalk/server-api'\nimport chai from 'chai'\nimport { v4 as uuidv4 } from 'uuid'\nimport { startServer } from './ts-servertestutilities'\nchai.should()\n\nexport const skUuid = () => `${uuidv4()}`\n\ndescribe('Resources Api', () => {\n  it('can put and get a waypoint', async function () {\n    const { createWsPromiser, get, put, stop } = await startServer()\n\n    const wsPromiser = createWsPromiser()\n    await wsPromiser.nthMessage(1)\n\n    const waypoint: Waypoint = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'Point',\n          coordinates: [60.151672, 24.891637]\n        }\n      }\n    }\n    const resId = skUuid()\n    let response = await put(`/resources/waypoints/${resId}`, waypoint)\n    response.status.should.equal(200)\n\n    const resourceDelta = JSON.parse(await wsPromiser.nthMessage(2))\n    const { path, value } = resourceDelta.updates[0].values[0]\n    path.should.equal(`resources.waypoints.${resId}`)\n    value.should.deep.equal(waypoint)\n    response = await get(`/resources/waypoints/${resId}`)\n    const resData = (await response.json()) as Resource<Waypoint>\n    resData.should.deep.equal({\n      ...waypoint,\n      timestamp: resData.timestamp,\n      $source: 'resources-provider'\n    })\n\n    stop()\n  })\n\n  it('bbox search works for waypoints', async function () {\n    const { get, post } = await startServer()\n\n    const resourceIds = await Promise.all(\n      [\n        [60.151672, 24.891637],\n        [60.251672, 24.891637],\n        [60.151672, 24.991637]\n      ].map(async ([latitude, longitude]) => {\n        const r = await post(`/resources/waypoints/`, {\n          feature: {\n            type: 'Feature',\n            geometry: {\n              type: 'Point',\n              coordinates: [longitude, latitude]\n            }\n          }\n        })\n        const { id } = (await r.json()) as { id: string }\n        return id\n      })\n    )\n    const r = (await (\n      await get('/resources/waypoints?bbox=[24.8,60.16,24.899,60.3]')\n    ).json()) as object\n    const returnedIds = Object.keys(r)\n    returnedIds.length.should.equal(1)\n    returnedIds[0].should.equal(resourceIds[1])\n  })\n\n  it('distance from position search works for waypoints', async function () {\n    const { get, post } = await startServer()\n\n    const resourceIds = await Promise.all(\n      [\n        [138.34794155831, -34.8965531416984],\n        [138.437388789013, -34.8549193092418],\n        [138.266384575389, -34.7607885290325]\n      ].map(async ([longitude, latitude]) => {\n        const r = await post(`/resources/waypoints/`, {\n          feature: {\n            type: 'Feature',\n            geometry: {\n              type: 'Point',\n              coordinates: [longitude, latitude]\n            }\n          }\n        })\n        const { id } = (await r.json()) as { id: string }\n        return id\n      })\n    )\n    const r = (await (\n      await get(\n        '/resources/waypoints?position=[138.40299,-34.87222]&distance=6000'\n      )\n    ).json()) as object\n    const returnedIds = Object.keys(r)\n    returnedIds.should.have.members([resourceIds[0], resourceIds[1]])\n  })\n\n  it('Create route with route point metadata', async function () {\n    const { post, stop } = await startServer()\n\n    const route = {\n      feature: {\n        type: 'Feature',\n        geometry: {\n          type: 'LineString',\n          coordinates: [\n            [3.3452, 65.4567],\n            [3.3352, 65.5567],\n            [3.3261, 65.5777]\n          ]\n        },\n        properties: {\n          coordinatesMeta: [\n            {\n              name: 'Start point',\n              description: 'Start of route.'\n            },\n            {\n              name: 'Mid-point marker',\n              description: 'Turn here.'\n            },\n            {\n              name: 'Destination',\n              description: 'End of route.'\n            }\n          ]\n        }\n      }\n    }\n\n    const response = await post('/resources/routes', route)\n    response.status.should.equal(201)\n    const { id } = (await response.json()) as { id: string }\n    id.length.should.equal('ac3a3b2d-07e8-4f25-92bc-98e7c92f7f1a'.length)\n\n    stop()\n  })\n})\n"
  },
  {
    "path": "test/scripts/mock-systemctl",
    "content": "#!/bin/bash\necho \"[mock-systemctl] $*\" >> /tmp/systemctl.log\n"
  },
  {
    "path": "test/scripts/signalk-server-setup",
    "content": "#!/bin/bash\n# Launch a fresh node:lts container with the server directory mounted\n# and run bin/signalk-server-setup inside it.\n# After setup terminates, drops to an interactive shell.\n#\n# Usage:\n#   ./test/scripts/signalk-server-setup              # run as root with mock systemctl\n#   ./test/scripts/signalk-server-setup --no-systemd  # run as non-root user\n\nset -e\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"$0\")\" && pwd)\"\nSERVER_DIR=\"$(cd \"$SCRIPT_DIR/../..\" && pwd)\"\n\nif [[ \"$1\" == \"--no-systemd\" ]]; then\n  docker run --rm -it \\\n    -v \"$SERVER_DIR\":/srv/signalk-server \\\n    -w /srv/signalk-server \\\n    --user node \\\n    node:lts \\\n    bash -c '\n      bin/signalk-server-setup\n      exec bash\n    '\nelse\n  docker run --rm -it \\\n    -v \"$SERVER_DIR\":/srv/signalk-server \\\n    -v \"$SCRIPT_DIR/mock-systemctl\":/usr/bin/systemctl:ro \\\n    -w /srv/signalk-server \\\n    -e SUDO_USER=node -e SUDO_UID=1000 -e SUDO_GID=1000 \\\n    node:lts \\\n    bash -c '\n      chmod +x /usr/bin/systemctl\n      mkdir -p /etc/systemd/system\n      bin/signalk-server-setup\n      echo\n      echo \"=== systemctl calls ===\"\n      cat /tmp/systemctl.log 2>/dev/null || echo \"(none)\"\n      exec bash\n    '\nfi\n"
  },
  {
    "path": "test/seatalk1-filtering.ts",
    "content": "import { expect } from 'chai'\nimport { filter } from './filter-test-helper'\n\ndescribe('SeaTalk1 sentence filtering', () => {\n  function seatalk1filter(command: string, input: string) {\n    return filter(`^\\\\$STALK,${command}\\\\b.*`, input)\n  }\n\n  it('should filter a matching SeaTalk1 command byte', async () => {\n    const result = await seatalk1filter(\n      '84',\n      '$STALK,84,56,FA,01,03,37,2F,1C,0B'\n    )\n    expect(result).to.equal('')\n  })\n\n  it('should pass through a non-matching SeaTalk1 command byte', async () => {\n    const input = '$STALK,9C,01,23,45'\n    const result = await seatalk1filter('84', input)\n    expect(result).to.equal(input)\n  })\n\n  it('should not filter partial command byte matches', async () => {\n    const input = '$STALK,84,56,FA'\n    const result = await seatalk1filter('8', input)\n    expect(result).to.equal(input)\n  })\n\n  it('should not filter NMEA0183 sentences', async () => {\n    const nmea =\n      '$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A'\n    const result = await seatalk1filter('84', nmea)\n    expect(result).to.equal(nmea)\n  })\n})\n"
  },
  {
    "path": "test/security.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nconst { freeport } = require('./ts-servertestutilities')\nconst WebSocket = require('ws')\nconst jwt = require('jsonwebtoken')\nconst {\n  startServerP,\n  getReadOnlyToken,\n  getWriteToken,\n  getAdminToken,\n  WRITE_USER_NAME,\n  WRITE_USER_PASSWORD,\n  LIMITED_USER_NAME,\n  LIMITED_USER_PASSWORD,\n  WsPromiser,\n  getToken,\n  NOPASSWORD_USER_NAME\n} = require('./servertestutilities')\n\nconst limitedSteeringDelta = {\n  updates: [\n    {\n      source: {\n        label: 'langford-canboatjs',\n        type: 'NMEA2000',\n        pgn: 127245,\n        src: '204'\n      },\n      timestamp: '2017-04-15T14:58:44.383Z',\n      values: [{ path: 'steering.rudderAngle', value: 0.0081 }]\n    }\n  ],\n  context: 'vessels.self',\n  shouldSee: false\n}\nconst openNavigationDelta = {\n  updates: [\n    {\n      source: {\n        label: 'langford-canboatjs',\n        type: 'NMEA2000',\n        pgn: 127251,\n        src: '204'\n      },\n      timestamp: '2017-04-15T14:58:44.377Z',\n      values: [{ path: 'navigation.rateOfTurn', value: 0.0018787187 }]\n    }\n  ],\n  context: 'vessels.self',\n  shouldSee: true\n}\n\nconst metaDelta = {\n  context: 'vessels.self',\n  updates: [\n    {\n      meta: [\n        {\n          path: 'navigation.rateOfTurn',\n          value: {\n            displayName: 'Rate Of Turn'\n          }\n        }\n      ]\n    }\n  ]\n}\n\ndescribe('Security', () => {\n  let server, url, port, readToken, writeToken, adminToken, noPasswordToken\n  let previousHttpRateLimits\n\n  before(async function () {\n    this.timeout(20000)\n    previousHttpRateLimits = process.env.HTTP_RATE_LIMITS\n    process.env.HTTP_RATE_LIMITS = 'api=1000,loginStatus=1000,login=1000'\n\n    const securityConfig = {\n      allowNewUserRegistration: true,\n      allowDeviceAccessRequests: true,\n      allow_readonly: false,\n      acls: [\n        {\n          context: 'vessels.self',\n          resources: [\n            {\n              paths: ['navigation.*'],\n              permissions: [\n                {\n                  subject: 'any',\n                  permission: 'read'\n                },\n                {\n                  subject: WRITE_USER_NAME,\n                  permission: 'write'\n                }\n              ]\n            },\n            {\n              paths: ['steering.*'],\n              permissions: [\n                {\n                  subject: WRITE_USER_NAME,\n                  permission: 'write'\n                }\n              ]\n            }\n          ]\n        }\n      ]\n    }\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n\n    server = await startServerP(\n      port,\n      true,\n      {\n        disableSchemaMetaDeltas: true\n      },\n      securityConfig\n    )\n\n    readToken = await getReadOnlyToken(server)\n    writeToken = await getWriteToken(server)\n    adminToken = await getAdminToken(server)\n    noPasswordToken = await getToken(server, NOPASSWORD_USER_NAME)\n  })\n\n  after(async function () {\n    await server.stop()\n\n    if (previousHttpRateLimits === undefined) {\n      delete process.env.HTTP_RATE_LIMITS\n    } else {\n      process.env.HTTP_RATE_LIMITS = previousHttpRateLimits\n    }\n  })\n\n  async function login(username, password) {\n    const result = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username,\n        password\n      })\n    })\n    if (result.status !== 200) {\n      throw new Error('Login returned ' + result.status)\n    }\n    return result.json().then((json) => {\n      return json.token\n    })\n  }\n\n  it('unathorized request fails', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`)\n    result.status.should.equal(401)\n  })\n\n  it('login with bad password fails', async function () {\n    const result = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username: 'LIMITED_USER_NAME',\n        password: 'badpassword'\n      })\n    })\n    result.status.should.equal(401)\n  })\n\n  it('login without password to user without password fails', async function () {\n    const result = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username: NOPASSWORD_USER_NAME\n      })\n    })\n    result.status.should.equal(401)\n  })\n\n  it('login with incorrect password to user without password fails', async function () {\n    const result = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username: NOPASSWORD_USER_NAME,\n        password: 'incorrect'\n      })\n    })\n    result.status.should.equal(401)\n  })\n\n  it('login works', async function () {\n    const writeUserToken = await login(WRITE_USER_NAME, WRITE_USER_PASSWORD)\n    writeUserToken.length.should.equal(151)\n    const limitedUserToken = await login(\n      LIMITED_USER_NAME,\n      LIMITED_USER_PASSWORD\n    )\n    limitedUserToken.length.should.equal(149)\n  })\n\n  it('websocket login works', async function () {\n    const ws = new WebSocket(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    const response = await new Promise((resolve, reject) => {\n      const cleanup = () => {\n        clearTimeout(timer)\n        ws.removeAllListeners()\n      }\n      const timer = setTimeout(() => {\n        cleanup()\n        ws.close()\n        reject(new Error('Timed out waiting for ws-login-1 response'))\n      }, 10000)\n      ws.on('message', (msg) => {\n        const data = JSON.parse(msg.toString())\n        if (data.name && data.version) {\n          ws.send(\n            JSON.stringify({\n              requestId: 'ws-login-1',\n              login: {\n                username: WRITE_USER_NAME,\n                password: WRITE_USER_PASSWORD\n              }\n            })\n          )\n        } else if (data.requestId === 'ws-login-1') {\n          cleanup()\n          resolve(data)\n          ws.close()\n        }\n      })\n      ws.on('error', (err) => {\n        cleanup()\n        reject(err)\n      })\n      ws.on('close', () => {\n        cleanup()\n        reject(new Error('WebSocket closed before ws-login-1 response'))\n      })\n    })\n\n    response.state.should.equal('COMPLETED')\n    response.statusCode.should.equal(200)\n    response.login.should.have.property('token')\n    response.login.token.length.should.be.greaterThan(0)\n  })\n\n  it('websocket login with bad password fails', async function () {\n    const ws = new WebSocket(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`\n    )\n    const response = await new Promise((resolve, reject) => {\n      const cleanup = () => {\n        clearTimeout(timer)\n        ws.removeAllListeners()\n      }\n      const timer = setTimeout(() => {\n        cleanup()\n        ws.close()\n        reject(new Error('Timed out waiting for ws-login-bad response'))\n      }, 10000)\n      ws.on('message', (msg) => {\n        const data = JSON.parse(msg.toString())\n        if (data.name && data.version) {\n          ws.send(\n            JSON.stringify({\n              requestId: 'ws-login-bad',\n              login: {\n                username: WRITE_USER_NAME,\n                password: 'wrongpassword'\n              }\n            })\n          )\n        } else if (data.requestId === 'ws-login-bad') {\n          cleanup()\n          resolve(data)\n          ws.close()\n        }\n      })\n      ws.on('error', (err) => {\n        cleanup()\n        reject(err)\n      })\n      ws.on('close', () => {\n        cleanup()\n        reject(new Error('WebSocket closed before ws-login-bad response'))\n      })\n    })\n\n    response.state.should.equal('COMPLETED')\n    response.statusCode.should.equal(401)\n  })\n\n  it('websocket login grants access for subsequent data', async function () {\n    const promiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none&metaDeltas=none`\n    )\n\n    try {\n      // Receive hello message\n      const hello = JSON.parse(await promiser.nextMsg())\n      hello.should.have.property('name')\n\n      // Login over the websocket\n      await promiser.send({\n        requestId: 'ws-login-data',\n        login: {\n          username: WRITE_USER_NAME,\n          password: WRITE_USER_PASSWORD\n        }\n      })\n      const loginResponse = JSON.parse(await promiser.nextMsg())\n      loginResponse.state.should.equal('COMPLETED')\n      loginResponse.statusCode.should.equal(200)\n      loginResponse.login.should.have.property('token')\n\n      // Subscribe to self after login\n      await promiser.send({\n        context: 'vessels.self',\n        subscribe: [{ path: 'navigation.rateOfTurn' }]\n      })\n\n      // Send a delta via the authenticated websocket\n      await promiser.send(openNavigationDelta)\n\n      // Should receive the delta because we are now authenticated\n      const deltaMsg = JSON.parse(await promiser.nextMsg())\n      deltaMsg.should.have.property('updates')\n    } finally {\n      promiser.ws.close()\n    }\n  })\n\n  async function formLoginWithDestination(username, password, destination) {\n    const body = new URLSearchParams({\n      username,\n      password,\n      destination\n    })\n\n    return fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/x-www-form-urlencoded'\n      },\n      redirect: 'manual',\n      body\n    })\n  }\n\n  it('login redirect allows only relative destinations (blocks https://)', async function () {\n    const result = await formLoginWithDestination(\n      WRITE_USER_NAME,\n      WRITE_USER_PASSWORD,\n      'https://evil.example/phish'\n    )\n    result.status.should.equal(302)\n    result.headers.get('location').should.equal('/')\n  })\n\n  it('login redirect allows only relative destinations (blocks //)', async function () {\n    const result = await formLoginWithDestination(\n      WRITE_USER_NAME,\n      WRITE_USER_PASSWORD,\n      '//evil.example/phish'\n    )\n    result.status.should.equal(302)\n    result.headers.get('location').should.equal('/')\n  })\n\n  it('login redirect allows relative destinations', async function () {\n    const result = await formLoginWithDestination(\n      WRITE_USER_NAME,\n      WRITE_USER_PASSWORD,\n      '  /admin/  '\n    )\n    result.status.should.equal(302)\n    result.headers.get('location').should.equal('/admin/')\n  })\n\n  it('authorized read works', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${writeToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('authorized read with Authorization header works', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Authorization: `JWT ${readToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('authorized read with X-Authorization header works', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        'X-Authorization': `JWT ${readToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('authorized read works for user without password', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${noPasswordToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('authorized read with Authorization header works for user without password', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Authorization: `JWT ${noPasswordToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('authorized read with X-Authorization header works for user without password', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        'X-Authorization': `JWT ${noPasswordToken}`\n      }\n    })\n    result.status.should.equal(200)\n  })\n\n  it('admin request fails', async function () {\n    const result = await fetch(`${url}/skServer/plugins`)\n    result.status.should.equal(401)\n  })\n\n  it('websocket with no token returns only hello', async function () {\n    //send some data semisynchronously, so that there is data in the cache that\n    //should not appear\n    const writePromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subsribe=none&metaDeltas=none&token=${writeToken}`\n    )\n    const msg = await writePromiser.nextMsg()\n    JSON.parse(msg)\n    await writePromiser.send(openNavigationDelta)\n\n    const result = new Promise((resolve, reject) => {\n      const ws = new WebSocket(`ws://0.0.0.0:${port}/signalk/v1/stream`)\n      let msgCount = 0\n      ws.on('message', (msg) => {\n        const msgStr = msg.toString()\n        msgCount++\n        const parsed = JSON.parse(msgStr)\n        if (!parsed.self) {\n          reject(\n            `ws returned non-hello data:${msgStr} with allow_readonly set to false`\n          )\n        }\n      })\n      ws.on('connect', () => {\n        // send some data now that non-authenticated client is connected\n        writePromiser.send(openNavigationDelta)\n      })\n      setTimeout(() => {\n        if (msgCount > 1) {\n          reject(\n            `ws returned ${msgCount} messages, expected only hello with allow_readonly set to false`\n          )\n        } else {\n          resolve()\n        }\n      }, 100)\n    })\n    return result\n  })\n\n  it('websocket with mangled token returns 401', async () => {\n    console.log(readToken)\n    return fetch(`${url}/signalk/v1/stream`, {\n      headers: {\n        Authorization: `JWT ${readToken.substring(0, readToken.length - 1)}`\n      }\n    }).then((response) => response.status.should.equal(401))\n  })\n\n  it('websocket with invalid token returns 401', async () =>\n    fetch(`${url}/signalk/v1/stream`, {\n      headers: {\n        Authorization: `JWT ${readToken[0] + 1}${readToken.substring(1)}`\n      }\n    }).then((response) => response.status.should.equal(401)))\n\n  it('websockets acls work', async function () {\n    const readPromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subsribe=all&metaDeltas=none&token=${readToken}`\n    )\n    let msg = await readPromiser.nextMsg()\n    JSON.parse(msg)\n\n    const writePromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subsribe=none&metaDeltas=none&token=${writeToken}`\n    )\n    msg = await writePromiser.nextMsg()\n    JSON.parse(msg)\n\n    const failingReadPromise = readPromiser.nextMsg()\n    await writePromiser.send(limitedSteeringDelta)\n    const failingResult = await failingReadPromise\n    failingResult.should.equal('timeout')\n\n    const succeedingReadPromise = readPromiser.nextMsg()\n    await writePromiser.send(openNavigationDelta)\n    const succeedingResult = await succeedingReadPromise\n    succeedingResult.should.not.equal('timeout')\n\n    const d = JSON.parse(succeedingResult)\n    d.updates.length.should.equal(1)\n    d.updates[0].values.length.should.equal(1)\n    d.updates[0].values[0].path.should.equal(\n      openNavigationDelta.updates[0].values[0].path\n    )\n  })\n\n  it('sending meta works', async function () {\n    const readPromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subsribe=all&metaDeltas=none&token=${readToken}`\n    )\n    let msg = await readPromiser.nextMsg()\n    JSON.parse(msg)\n\n    const writePromiser = new WsPromiser(\n      `ws://0.0.0.0:${port}/signalk/v1/stream?subsribe=none&metaDeltas=none&token=${writeToken}`\n    )\n    msg = await writePromiser.nextMsg()\n    JSON.parse(msg)\n\n    const succeedingReadPromise = readPromiser.nextMsg()\n    await writePromiser.send(metaDelta)\n    const succeedingResult = await succeedingReadPromise\n    succeedingResult.should.not.equal('timeout')\n\n    console.log(succeedingResult)\n    const d = JSON.parse(succeedingResult)\n    d.updates.length.should.equal(1)\n    d.updates[0].meta.length.should.equal(1)\n    d.updates[0].meta[0].path.should.equal(metaDelta.updates[0].meta[0].path)\n  })\n\n  it('REST acls work', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${readToken}`\n      }\n    })\n    result.status.should.equal(200)\n    const json = await result.json()\n    json.should.not.have.nested.property('steering.rudderAngle')\n    json.should.have.nested.property('navigation.rateOfTurn')\n  })\n\n  it('logout works', async function () {\n    const result = await fetch(`${url}/signalk/v1/auth/logout`, {\n      method: 'PUT',\n      credentials: 'include'\n    })\n    result.status.should.equal(200)\n    result.headers.get('set-cookie').startsWith('JAUTHENTICATION=;').should.be\n      .true\n  })\n\n  it('request after logout fails', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {})\n    result.status.should.equal(401)\n  })\n\n  it('expired token returns 401 and clears cookie', async function () {\n    const secretKey = server.app.securityStrategy.securityConfig.secretKey\n    const expiredToken = jwt.sign({ id: LIMITED_USER_NAME }, secretKey, {\n      expiresIn: '-1s'\n    })\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${expiredToken}`\n      }\n    })\n    result.status.should.equal(401)\n    const setCookie = result.headers.get('set-cookie')\n    setCookie.should.be.a('string')\n    setCookie.startsWith('JAUTHENTICATION=;').should.be.true\n  })\n\n  it('malformed token returns 401 and clears cookie', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: 'JAUTHENTICATION=not.a.valid.jwt.token'\n      }\n    })\n    result.status.should.equal(401)\n    const setCookie = result.headers.get('set-cookie')\n    setCookie.should.be.a('string')\n    setCookie.startsWith('JAUTHENTICATION=;').should.be.true\n  })\n\n  it('garbage token returns 401 and clears cookie', async function () {\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: 'JAUTHENTICATION=totalgarbage'\n      }\n    })\n    result.status.should.equal(401)\n    const setCookie = result.headers.get('set-cookie')\n    setCookie.should.be.a('string')\n    setCookie.startsWith('JAUTHENTICATION=;').should.be.true\n  })\n\n  it('token signed with wrong secret returns 401 and clears cookie', async function () {\n    const wrongToken = jwt.sign({ id: LIMITED_USER_NAME }, 'wrong-secret-key', {\n      expiresIn: '1h'\n    })\n    const result = await fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${wrongToken}`\n      }\n    })\n    result.status.should.equal(401)\n    const setCookie = result.headers.get('set-cookie')\n    setCookie.should.be.a('string')\n    setCookie.startsWith('JAUTHENTICATION=;').should.be.true\n  })\n\n  it('Device access request and approval works', async function () {\n    let result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        clientId: '1235-45653-343453',\n        description: 'My Awesome Sensor',\n        permissions: 'readwrite'\n      })\n    })\n    result.status.should.equal(202)\n    const requestJson = await result.json()\n    requestJson.should.have.property('requestId')\n    requestJson.should.have.property('href')\n\n    result = await fetch(`${url}${requestJson.href}`)\n    result.status.should.equal(200)\n    let json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('PENDING')\n    json.should.have.property('requestId')\n\n    result = await fetch(\n      `${url}/skServer/security/access/requests/1235-45653-343453/approved`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({\n          expiration: '1y',\n          permissions: 'readwrite'\n        })\n      }\n    )\n    result.status.should.equal(200)\n\n    result = await fetch(`${url}${requestJson.href}`)\n    result.status.should.equal(200)\n    json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('COMPLETED')\n    json.should.have.property('accessRequest')\n    json.accessRequest.should.have.property('permission')\n    json.accessRequest.permission.should.equal('APPROVED')\n    json.accessRequest.should.have.property('token')\n\n    result = await fetch(`${url}/skServer/security/devices`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${adminToken}`\n      }\n    })\n    result.status.should.equal(200)\n    json = await result.json()\n    json.length.should.equal(1)\n    json[0].should.have.property('clientId')\n    json[0].clientId.should.equal('1235-45653-343453')\n    json[0].permissions.should.equal('readwrite')\n    json[0].description.should.equal('My Awesome Sensor')\n  })\n\n  it('Device access request and denial works', async function () {\n    let result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        clientId: '1235-45653-343455',\n        description: 'My Awesome Sensor',\n        permissions: 'readwrite'\n      })\n    })\n    result.status.should.equal(202)\n    const requestJson = await result.json()\n    requestJson.should.have.property('requestId')\n    requestJson.should.have.property('href')\n\n    result = await fetch(`${url}${requestJson.href}`)\n    result.status.should.equal(200)\n    let json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('PENDING')\n\n    result = await fetch(\n      `${url}/skServer/security/access/requests/1235-45653-343455/denied`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({\n          expiration: '1y',\n          permissions: 'readwrite'\n        })\n      }\n    )\n    result.status.should.equal(200)\n\n    result = await fetch(`${url}${requestJson.href}`)\n    json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('COMPLETED')\n    json.should.have.property('accessRequest')\n    json.accessRequest.should.have.property('permission')\n    json.accessRequest.permission.should.equal('DENIED')\n\n    result = await fetch(`${url}/skServer/security/devices`, {\n      headers: {\n        Cookie: `JAUTHENTICATION=${adminToken}`\n      }\n    })\n    json = await result.json()\n    json.length.should.equal(1)\n  })\n\n  it('should reject access requests > 10kb', async function () {\n    const largeDescription = 'a'.repeat(10 * 1024)\n    const res = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        clientId: 'device-large',\n        description: largeDescription\n      })\n    })\n    res.status.should.equal(413)\n  })\n\n  it('should reject access request with invalid permissions', async function () {\n    const result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        clientId: 'device-invalid-perm',\n        description: 'Bad Sensor',\n        permissions: 'badvalue'\n      })\n    })\n    result.status.should.equal(400)\n  })\n\n  it('should reject approval with invalid permissions', async function () {\n    let result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        clientId: 'device-invalid-approve',\n        description: 'Another Sensor'\n      })\n    })\n    result.status.should.equal(202)\n\n    result = await fetch(\n      `${url}/skServer/security/access/requests/device-invalid-approve/approved`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({\n          expiration: '1y',\n          permissions: 'badvalue'\n        })\n      }\n    )\n    result.status.should.equal(500)\n  })\n\n  it('User registration request and approval works', async function () {\n    const testUserId = 'newuser@test.com'\n    const testPassword = 'testpassword123'\n\n    let result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        userId: testUserId,\n        password: testPassword\n      })\n    })\n    result.status.should.equal(202)\n    const requestJson = await result.json()\n    requestJson.should.have.property('requestId')\n    requestJson.should.have.property('href')\n    requestJson.state.should.equal('PENDING')\n\n    result = await fetch(`${url}${requestJson.href}`)\n    result.status.should.equal(200)\n    let json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('PENDING')\n\n    result = await fetch(\n      `${url}/skServer/security/access/requests/${encodeURIComponent(testUserId)}/approved`,\n      {\n        method: 'PUT',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({\n          permissions: 'readonly'\n        })\n      }\n    )\n    result.status.should.equal(200)\n\n    result = await fetch(`${url}${requestJson.href}`)\n    result.status.should.equal(200)\n    json = await result.json()\n    json.should.have.property('state')\n    json.state.should.equal('COMPLETED')\n    json.should.have.property('accessRequest')\n    json.accessRequest.should.have.property('permission')\n    json.accessRequest.permission.should.equal('APPROVED')\n\n    const loginResult = await fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username: testUserId,\n        password: testPassword\n      })\n    })\n    loginResult.status.should.equal(200)\n    const loginJson = await loginResult.json()\n    loginJson.should.have.property('token')\n  })\n\n  it('Admin adding duplicate user fails', async function () {\n    const result = await fetch(\n      `${url}/skServer/security/users/${WRITE_USER_NAME}`,\n      {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          Cookie: `JAUTHENTICATION=${adminToken}`\n        },\n        body: JSON.stringify({ password: 'test', type: 'readwrite' })\n      }\n    )\n    result.status.should.equal(400)\n    const text = await result.text()\n    text.should.equal('User already exists')\n  })\n\n  it('User registration fails for existing user', async function () {\n    const result = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        userId: WRITE_USER_NAME,\n        password: 'anypassword'\n      })\n    })\n    result.status.should.equal(400)\n    const json = await result.json()\n    json.message.should.equal('User already exists')\n  })\n})\n\ndescribe('Access Request Limit', () => {\n  let server, url, port\n  let previousHttpRateLimits\n\n  before(async function () {\n    this.timeout(20000)\n    previousHttpRateLimits = process.env.HTTP_RATE_LIMITS\n    process.env.HTTP_RATE_LIMITS = 'api=1000,loginStatus=1000'\n\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n    const securityConfig = {\n      allowNewUserRegistration: true,\n      allowDeviceAccessRequests: true\n    }\n    server = await startServerP(port, true, {}, securityConfig)\n  })\n\n  after(async function () {\n    await server.stop()\n\n    if (previousHttpRateLimits === undefined) {\n      delete process.env.HTTP_RATE_LIMITS\n    } else {\n      process.env.HTTP_RATE_LIMITS = previousHttpRateLimits\n    }\n  })\n\n  it('should limit pending access requests to 100', async function () {\n    this.timeout(20000)\n    const requests = []\n    for (let i = 0; i < 100; i++) {\n      requests.push(\n        fetch(`${url}/signalk/v1/access/requests`, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            clientId: `device-${i}`,\n            description: `Device ${i}`\n          })\n        })\n      )\n    }\n\n    await Promise.all(requests)\n\n    const res = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        clientId: 'device-101',\n        description: 'Device 101'\n      })\n    })\n\n    res.status.should.equal(503)\n  })\n})\n\ndescribe('Access Request IP reporting', () => {\n  let server, url, port\n  let previousHttpRateLimits\n\n  beforeEach(async function () {\n    previousHttpRateLimits = process.env.HTTP_RATE_LIMITS\n    process.env.HTTP_RATE_LIMITS = 'api=1000,loginStatus=1000'\n    port = await freeport()\n    url = `http://0.0.0.0:${port}`\n  })\n\n  afterEach(async function () {\n    await server.stop()\n    if (previousHttpRateLimits === undefined) {\n      delete process.env.HTTP_RATE_LIMITS\n    } else {\n      process.env.HTTP_RATE_LIMITS = previousHttpRateLimits\n    }\n  })\n\n  it('without trustProxy setting the ip address reported is not from x-forwarded-for', async function () {\n    const securityConfig = {\n      allowDeviceAccessRequests: true\n    }\n    server = await startServerP(port, true, {}, securityConfig)\n\n    const res = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'X-Forwarded-For': '1.2.3.4'\n      },\n      body: JSON.stringify({\n        clientId: 'device-no-trust',\n        description: 'Device No Trust'\n      })\n    })\n    res.status.should.equal(202)\n    const requestJson = await res.json()\n\n    const requestRes = await fetch(`${url}${requestJson.href}`)\n    const json = await requestRes.json()\n    json.ip.should.not.equal('1.2.3.4')\n  })\n\n  it('with trustProxy: true the ip address reported is from x-forwarded-for', async function () {\n    const securityConfig = {\n      allowDeviceAccessRequests: true\n    }\n    server = await startServerP(\n      port,\n      true,\n      { settings: { trustProxy: true } },\n      securityConfig\n    )\n\n    const res = await fetch(`${url}/signalk/v1/access/requests`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'X-Forwarded-For': '1.2.3.4'\n      },\n      body: JSON.stringify({\n        clientId: 'device-trust',\n        description: 'Device Trust'\n      })\n    })\n    res.status.should.equal(202)\n    const requestJson = await res.json()\n\n    const requestRes = await fetch(`${url}${requestJson.href}`)\n    const json = await requestRes.json()\n    json.ip.should.equal('1.2.3.4')\n  })\n})\n\ndescribe('WS Access Request IP reporting', () => {\n  let server, port\n  let previousHttpRateLimits\n\n  beforeEach(async function () {\n    this.timeout(20000)\n    previousHttpRateLimits = process.env.HTTP_RATE_LIMITS\n    process.env.HTTP_RATE_LIMITS = 'api=1000,loginStatus=1000'\n    port = await freeport()\n  })\n\n  afterEach(async function () {\n    await server.stop()\n    if (previousHttpRateLimits === undefined) {\n      delete process.env.HTTP_RATE_LIMITS\n    } else {\n      process.env.HTTP_RATE_LIMITS = previousHttpRateLimits\n    }\n  })\n\n  it('without trustProxy setting the ip address reported is not from x-forwarded-for', async function () {\n    const securityConfig = {\n      allowDeviceAccessRequests: true\n    }\n    server = await startServerP(port, true, {}, securityConfig)\n\n    const response = await new Promise((resolve, reject) => {\n      const ws = new WebSocket(\n        `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`,\n        {\n          headers: { 'X-Forwarded-For': '1.2.3.4' }\n        }\n      )\n      ws.on('message', (msg) => {\n        const msgStr = msg.toString()\n        const data = JSON.parse(msgStr)\n        if (data.requestId) {\n          resolve(data)\n          ws.close()\n        } else if (data.name && data.version) {\n          ws.send(\n            JSON.stringify({\n              accessRequest: {\n                clientId: 'ws-device-no-trust',\n                description: 'WS Device No Trust'\n              }\n            })\n          )\n        }\n      })\n      ws.on('error', reject)\n    })\n\n    response.ip.should.not.equal('1.2.3.4')\n  })\n\n  it('with trustProxy: true the ip address reported is from x-forwarded-for', async function () {\n    const securityConfig = {\n      allowDeviceAccessRequests: true\n    }\n    server = await startServerP(\n      port,\n      true,\n      { settings: { trustProxy: true } },\n      securityConfig\n    )\n\n    const response = await new Promise((resolve, reject) => {\n      const ws = new WebSocket(\n        `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=none`,\n        {\n          headers: { 'X-Forwarded-For': '1.2.3.4' }\n        }\n      )\n      ws.on('message', (msg) => {\n        const msgStr = msg.toString()\n        const data = JSON.parse(msgStr)\n        if (data.requestId) {\n          resolve(data)\n          ws.close()\n        } else if (data.name && data.version) {\n          ws.send(\n            JSON.stringify({\n              accessRequest: {\n                clientId: 'ws-device-trust',\n                description: 'WS Device Trust'\n              }\n            })\n          )\n        }\n      })\n      ws.on('error', reject)\n    })\n\n    response.ip.should.equal('1.2.3.4')\n  })\n})\n"
  },
  {
    "path": "test/server-test-config/.npmrc",
    "content": "package-lock=false\n"
  },
  {
    "path": "test/server-test-config/package.json",
    "content": "{\n  \"name\": \"signalk-server-config\",\n  \"version\": \"0.0.1\",\n  \"description\": \"This file is here to track your plugin and webapp installs.\",\n  \"repository\": {},\n  \"license\": \"Apache-2.0\"\n}\n"
  },
  {
    "path": "test/servertestutilities.js",
    "content": "const WebSocket = require('ws')\nconst _ = require('lodash')\nconst promisify = require('util').promisify\nconst jwt = require('jsonwebtoken')\n\n// Connects to the url via ws\n// and provides Promises that are either resolved within\n// timeout period as the next message from the ws or\n// the string \"timeout\" in case timeout fires\n\nconst defaultConfig = {\n  defaults: {\n    vessels: {\n      self: {\n        uuid: 'urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d'\n      }\n    }\n  },\n  settings: {\n    pipedProviders: [\n      {\n        id: 'deltaFromHttp',\n        pipeElements: [\n          {\n            type: '../test/httpprovider'\n          }\n        ]\n      }\n    ],\n    interfaces: {\n      plugins: false\n    }\n  }\n}\n\nfunction WsPromiser(url, timeout = 250) {\n  this.ws = new WebSocket(url)\n  this.ws.on('message', this.onMessage.bind(this))\n  this.callees = []\n  this.receivedMessagePromisers = []\n  this.messageCount = 0\n  this.timeout = timeout\n  this.messages = []\n}\n\nWsPromiser.prototype.nextMsg = function () {\n  const callees = this.callees\n  return new Promise((resolve) => {\n    callees.push(resolve)\n    setTimeout((_) => {\n      resolve('timeout')\n    }, this.timeout)\n  })\n}\n\nWsPromiser.prototype.nthMessagePromiser = function (n) {\n  let result = this.receivedMessagePromisers[n - 1]\n  if (!result) {\n    result = this.receivedMessagePromisers[n - 1] = {}\n    result.promise = new Promise((resolve, reject) => {\n      result.resolve = resolve\n      setTimeout((_) => {\n        reject('timeout')\n      }, 250)\n    })\n  }\n  return result\n}\n\nWsPromiser.prototype.nthMessage = function (n) {\n  return this.nthMessagePromiser(n).promise\n}\n\nWsPromiser.prototype.parsedMessages = function () {\n  return this.messages.map((m) => JSON.parse(m))\n}\n\nWsPromiser.prototype.onMessage = function (message) {\n  const msgStr = message.toString()\n  this.messages.push(msgStr)\n  const theCallees = this.callees\n  this.callees = []\n  theCallees.forEach((callee) => callee(msgStr))\n\n  this.nthMessagePromiser(++this.messageCount).resolve(msgStr)\n}\n\nWsPromiser.prototype.send = function (message) {\n  return new Promise((resolve) => {\n    this.ws.send(JSON.stringify(message), () => resolve('sent'))\n  })\n}\n\nconst defaultSecurityConfig = {\n  allow_readonly: false,\n  expiration: '1d',\n  secretKey: `${Date.now()}`,\n  users: []\n}\n\nconst WRITE_USER_NAME = 'writeuser'\nconst WRITE_USER_PASSWORD = 'writepass'\nconst LIMITED_USER_NAME = 'testuser'\nconst LIMITED_USER_PASSWORD = 'verylimited'\nconst ADMIN_USER_NAME = 'adminuser'\nconst ADMIN_USER_PASSWORD = 'admin'\nconst NOPASSWORD_USER_NAME = 'nopassword'\n\nconst serverTestConfigDirectory = () =>\n  require('path').join(__dirname, 'server-test-config')\n\nmodule.exports = {\n  WsPromiser: WsPromiser,\n  serverTestConfigDirectory,\n  sendDelta: (delta, deltaUrl) => {\n    return fetch(deltaUrl, {\n      method: 'POST',\n      body: JSON.stringify(delta),\n      headers: { 'Content-Type': 'application/json' }\n    })\n  },\n  startServerP: function startServerP(\n    port,\n    enableSecurity,\n    extraConfig = {},\n    securityConfig\n  ) {\n    const Server = require('../dist')\n    // The requestResponse module stores requests in-memory at module scope.\n    // Reset between test servers so different suites don't interfere.\n    try {\n      require('../dist/requestResponse').resetRequests()\n    } catch (_e) {\n      // ignore - not critical for non-test usage\n    }\n    const props = {\n      config: JSON.parse(JSON.stringify(defaultConfig))\n    }\n    props.config.settings.port = port\n    _.merge(props.config, extraConfig)\n\n    if (enableSecurity) {\n      props.config.settings.security = {\n        strategy: './tokensecurity'\n      }\n      props.securityConfig = {\n        ...JSON.parse(JSON.stringify(defaultSecurityConfig)),\n        ...(securityConfig || {})\n      }\n    }\n\n    process.env.SIGNALK_NODE_CONFIG_DIR = serverTestConfigDirectory()\n    process.env.SIGNALK_DISABLE_SERVER_UPDATES = 'true'\n\n    const server = new Server(props)\n    return new Promise((resolve, reject) => {\n      server.start().then((s) => {\n        if (enableSecurity) {\n          Promise.all([\n            promisify(s.app.securityStrategy.addUser)(props.securityConfig, {\n              userId: LIMITED_USER_NAME,\n              type: 'read',\n              password: LIMITED_USER_PASSWORD\n            }),\n            promisify(s.app.securityStrategy.addUser)(props.securityConfig, {\n              userId: WRITE_USER_NAME,\n              type: 'readwrite',\n              password: WRITE_USER_PASSWORD\n            }),\n            promisify(s.app.securityStrategy.addUser)(props.securityConfig, {\n              userId: ADMIN_USER_NAME,\n              type: 'admin',\n              password: ADMIN_USER_PASSWORD\n            }),\n            promisify(s.app.securityStrategy.addUser)(props.securityConfig, {\n              userId: NOPASSWORD_USER_NAME,\n              type: 'admin'\n            })\n          ])\n            .then(() => {\n              resolve(s)\n            })\n            .catch(reject)\n        } else {\n          resolve(s)\n        }\n      })\n    })\n  },\n  getReadOnlyToken: (server) => {\n    return login(server, LIMITED_USER_NAME, LIMITED_USER_PASSWORD)\n  },\n  LIMITED_USER_NAME,\n  LIMITED_USER_PASSWORD,\n  getWriteToken: (server) => {\n    return login(server, WRITE_USER_NAME, WRITE_USER_PASSWORD)\n  },\n  WRITE_USER_NAME,\n  WRITE_USER_PASSWORD,\n  getAdminToken: (server) => {\n    return login(server, ADMIN_USER_NAME, ADMIN_USER_PASSWORD)\n  },\n  NOPASSWORD_USER_NAME,\n  getToken: (server, username) => {\n    return jwt.sign(\n      {\n        id: username\n      },\n      server.app.securityStrategy.securityConfig.secretKey,\n      {\n        expiresIn: '1h'\n      }\n    )\n  }\n}\n\nfunction login(server, username, password) {\n  return new Promise((resolve, reject) => {\n    fetch(`http://0.0.0.0:${server.app.config.settings.port}/login`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        username,\n        password\n      })\n    })\n      .then((result) => {\n        if (result.status !== 200) {\n          result.text().then((t) => {\n            reject(new Error(`Login returned ${result.status}: ${t}`))\n          })\n        } else {\n          result.json().then((json) => {\n            resolve(json.token)\n          })\n        }\n      })\n      .catch(reject)\n  })\n}\n"
  },
  {
    "path": "test/sliding-session.ts",
    "content": "import { expect } from 'chai'\nimport jwt from 'jsonwebtoken'\nimport { freeport } from './ts-servertestutilities'\nimport {\n  startServerP,\n  WRITE_USER_NAME,\n  WRITE_USER_PASSWORD\n} from './servertestutilities'\n\ninterface TestServer {\n  app: {\n    securityStrategy: {\n      securityConfig: { secretKey: string }\n    }\n    config: { settings: { port: number } }\n  }\n  stop: () => Promise<void>\n}\n\nfunction getSecretKey(server: TestServer): string {\n  return server.app.securityStrategy.securityConfig.secretKey\n}\n\nfunction signToken(\n  secretKey: string,\n  userId: string,\n  options: { iat: number; exp: number; rememberMe?: boolean }\n): string {\n  const payload: {\n    id: string\n    iat: number\n    exp: number\n    rememberMe?: boolean\n  } = {\n    id: userId,\n    iat: options.iat,\n    exp: options.exp\n  }\n  if (options.rememberMe) {\n    payload.rememberMe = true\n  }\n  return jwt.sign(payload, secretKey)\n}\n\nfunction findJauthCookie(res: Response): string | undefined {\n  return res.headers\n    .getSetCookie()\n    .find((c) => c.startsWith('JAUTHENTICATION='))\n}\n\nfunction extractTokenFromCookie(cookie: string): string {\n  return cookie.split(';')[0].replace('JAUTHENTICATION=', '')\n}\n\ndescribe('Sliding session token refresh', function () {\n  let server: TestServer\n  let url: string\n  let secretKey: string\n\n  before(async function () {\n    this.timeout(60000)\n    const port = await freeport()\n    url = `http://0.0.0.0:${port}`\n\n    server = (await startServerP(\n      port,\n      true,\n      {},\n      {\n        expiration: '30s'\n      }\n    )) as unknown as TestServer\n\n    secretKey = getSecretKey(server)\n  })\n\n  after(async function () {\n    await server.stop()\n  })\n\n  async function login(rememberMe: boolean): Promise<Response> {\n    return fetch(`${url}/signalk/v1/auth/login`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        username: WRITE_USER_NAME,\n        password: WRITE_USER_PASSWORD,\n        rememberMe\n      })\n    })\n  }\n\n  async function authenticatedGet(token: string): Promise<Response> {\n    return fetch(`${url}/signalk/v1/api/vessels/self`, {\n      headers: { Cookie: `JAUTHENTICATION=${token}` }\n    })\n  }\n\n  describe('login cookie lifetime', function () {\n    it('rememberMe=true sets Max-Age on cookie', async function () {\n      const res = await login(true)\n      expect(res.status).to.equal(200)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      expect(cookie).to.match(/Max-Age=\\d+/)\n    })\n\n    it('rememberMe=false sets session cookie without Max-Age', async function () {\n      const res = await login(false)\n      expect(res.status).to.equal(200)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      expect(cookie).to.not.match(/Max-Age/)\n    })\n  })\n\n  describe('token refresh', function () {\n    it('does not refresh a token before the midpoint', async function () {\n      const now = Math.floor(Date.now() / 1000)\n      const token = signToken(secretKey, WRITE_USER_NAME, {\n        iat: now,\n        exp: now + 60\n      })\n\n      const res = await authenticatedGet(token)\n      expect(res.status).to.equal(200)\n      expect(findJauthCookie(res)).to.be.undefined\n    })\n\n    it('refreshes a token past the midpoint', async function () {\n      const now = Math.floor(Date.now() / 1000)\n      const token = signToken(secretKey, WRITE_USER_NAME, {\n        iat: now - 60,\n        exp: now + 10\n      })\n\n      const res = await authenticatedGet(token)\n      expect(res.status).to.equal(200)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      expect(extractTokenFromCookie(cookie!)).to.not.equal(token)\n    })\n\n    it('preserves rememberMe=true in refreshed cookie', async function () {\n      const now = Math.floor(Date.now() / 1000)\n      const token = signToken(secretKey, WRITE_USER_NAME, {\n        iat: now - 60,\n        exp: now + 10,\n        rememberMe: true\n      })\n\n      const res = await authenticatedGet(token)\n      expect(res.status).to.equal(200)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      expect(cookie).to.match(/Max-Age=\\d+/)\n    })\n\n    it('refreshed cookie has no Max-Age when rememberMe is absent', async function () {\n      const now = Math.floor(Date.now() / 1000)\n      const token = signToken(secretKey, WRITE_USER_NAME, {\n        iat: now - 60,\n        exp: now + 10\n      })\n\n      const res = await authenticatedGet(token)\n      expect(res.status).to.equal(200)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      expect(cookie).to.not.match(/Max-Age/)\n    })\n\n    it('refreshed token is valid for subsequent requests', async function () {\n      const now = Math.floor(Date.now() / 1000)\n      const token = signToken(secretKey, WRITE_USER_NAME, {\n        iat: now - 60,\n        exp: now + 10\n      })\n\n      const res = await authenticatedGet(token)\n      const cookie = findJauthCookie(res)\n      expect(cookie).to.be.a('string')\n      const newToken = extractTokenFromCookie(cookie!)\n\n      const res2 = await authenticatedGet(newToken)\n      expect(res2.status).to.equal(200)\n    })\n  })\n})\n"
  },
  {
    "path": "test/ssl.ts",
    "content": "import path from 'path'\nimport { unlinkSync, existsSync } from 'fs'\nimport { freeport } from './ts-servertestutilities'\nimport { startServerP, serverTestConfigDirectory } from './servertestutilities'\n\ndescribe('SSL certificate generation', function () {\n  this.timeout(15000)\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n\n  afterEach(async function () {\n    if (server) {\n      await server.stop()\n      server = null\n    }\n  })\n\n  it('generates a cert that works with modern OpenSSL', async function () {\n    const configDir = serverTestConfigDirectory()\n    const certFile = path.join(configDir, 'ssl-cert.pem')\n    const keyFile = path.join(configDir, 'ssl-key.pem')\n\n    // Delete cached certs to force regeneration\n    if (existsSync(certFile)) unlinkSync(certFile)\n    if (existsSync(keyFile)) unlinkSync(keyFile)\n\n    const port = await freeport()\n    const sslPort = await freeport()\n\n    // Start server with SSL enabled — this will generate new certs\n    // and create an HTTPS server. With 1024-bit keys this throws\n    // ERR_SSL_EE_KEY_TOO_SMALL on Node with OpenSSL 3.x\n    server = await startServerP(port, false, {\n      settings: { ssl: true, sslport: sslPort }\n    })\n  })\n})\n"
  },
  {
    "path": "test/staticData.js",
    "content": "const chai = require('chai')\nchai.Should()\nchai.use(require('chai-things'))\nchai.use(require('@signalk/signalk-schema').chaiModule)\nconst _ = require('lodash')\nimport { startServer } from './ts-servertestutilities'\n\nconst testDelta = {\n  updates: [\n    {\n      values: [\n        {\n          path: '',\n          value: {\n            name: 'TestBoat',\n            mmsi: '230083471',\n            flag: 'NZ',\n            communication: {\n              callsignVhf: 'XYZ',\n              phoneNumber: '8675309'\n            }\n          }\n        },\n        {\n          path: 'design.draft',\n          value: 20\n        },\n        {\n          path: 'design.aisShipType',\n          value: {\n            name: 'Sailing',\n            id: 36\n          }\n        },\n        {\n          path: 'design.beam',\n          value: 10\n        },\n        {\n          path: 'design.length',\n          value: {\n            overall: 9\n          }\n        },\n        {\n          path: 'sensors.gps.fromBow',\n          value: 2\n        },\n        {\n          path: 'sensors.gps.fromCenter',\n          value: 5\n        },\n        {\n          path: 'design.displacement',\n          value: 1\n        }\n      ]\n    }\n  ]\n}\n\ndescribe('Static Data', () => {\n  let doStop, theServer, doSendADelta\n\n  before(() =>\n    startServer().then((s) => {\n      const { sendADelta, stop, server } = s\n      doStop = stop\n      theServer = server\n      doSendADelta = sendADelta\n    })\n  )\n\n  after(() => doStop())\n\n  it('handles self static updates', async function () {\n    const delta = JSON.parse(JSON.stringify(testDelta))\n    delta.context = 'vessels.self'\n    await doSendADelta(delta)\n\n    const fullTree = theServer.app.deltaCache.buildFull(null, [])\n\n    const vessel = _.get(fullTree, fullTree.self)\n\n    vessel.should.have.property('flag', 'NZ')\n    vessel.should.have.nested.property('design.displacement.value', 1)\n    vessel.should.have.nested.property('communication.phoneNumber', '8675309')\n\n    vessel.should.not.have.property('mmsi')\n    vessel.should.not.have.property('name')\n    vessel.should.not.have.nested.property('design.draft')\n    vessel.should.not.have.nested.property('design.aisShipType')\n    vessel.should.not.have.nested.property('design.beam')\n    vessel.should.not.have.nested.property('design.length')\n    vessel.should.not.have.nested.property('sensors.gps.fromBow')\n    vessel.should.not.have.nested.property('sensors.gps.fromCenter')\n    vessel.should.not.have.nested.property('communication.callsignVhf')\n  })\n\n  it('handles others static updates', async function () {\n    const delta = JSON.parse(JSON.stringify(testDelta))\n    delta.context = 'vessels.123456789'\n    await doSendADelta(delta)\n\n    const fullTree = theServer.app.deltaCache.buildFull(null, [])\n\n    const self = _.get(fullTree, delta.context)\n\n    self.should.have.property('flag', 'NZ')\n    self.should.have.nested.property('design.displacement.value', 1)\n    self.should.have.nested.property('communication.phoneNumber', '8675309')\n\n    self.should.have.property('mmsi', '230083471')\n    self.should.have.property('name', 'TestBoat')\n    self.should.have.nested.property('design.draft')\n    self.should.have.nested.property('design.aisShipType')\n    self.should.have.nested.property('design.beam')\n    self.should.have.nested.property('design.length')\n    self.should.have.nested.property('sensors.gps.fromBow')\n    self.should.have.nested.property('sensors.gps.fromCenter')\n    self.should.have.nested.property('communication.callsignVhf')\n  })\n\n  it('allows static updates from defaults', async function () {\n    const delta = JSON.parse(JSON.stringify(testDelta))\n    delta.context = 'vessels.self'\n    delta.updates[0]['$source'] = 'defaults'\n    await doSendADelta(delta)\n\n    const fullTree = theServer.app.deltaCache.buildFull(null, [])\n\n    const self = _.get(fullTree, fullTree.self)\n\n    self.should.have.property('flag', 'NZ')\n    self.should.have.nested.property('design.displacement.value', 1)\n    self.should.have.nested.property('communication.phoneNumber', '8675309')\n\n    self.should.have.property('mmsi', '230083471')\n    self.should.have.property('name', 'TestBoat')\n    self.should.have.nested.property('design.draft')\n    self.should.have.nested.property('design.aisShipType')\n    self.should.have.nested.property('design.beam')\n    self.should.have.nested.property('design.length')\n    self.should.have.nested.property('sensors.gps.fromBow')\n    self.should.have.nested.property('sensors.gps.fromCenter')\n    self.should.have.nested.property('communication.callsignVhf')\n  })\n})\n"
  },
  {
    "path": "test/subscriptions.js",
    "content": "const _ = require('lodash')\nconst assert = require('assert')\nconst { sendDelta } = require('./servertestutilities')\nconst { freeport } = require('./ts-servertestutilities')\nconst { startServerP, WsPromiser } = require('./servertestutilities')\n\nfunction getDelta(overwrite) {\n  const delta = {\n    updates: [\n      {\n        timestamp: '2014-05-03T09:14:11.000Z',\n        source: {\n          pgn: 128275,\n          label: '/dev/actisense',\n          src: '115'\n        },\n        values: [\n          {\n            path: 'navigation.logTrip',\n            value: 43374\n          },\n          {\n            path: 'navigation.log',\n            value: 17404540\n          }\n        ]\n      },\n      {\n        timestamp: '2014-05-03T09:14:11.001Z',\n        source: {\n          label: '/dev/actisense',\n          src: '115',\n          pgn: 128267\n        },\n        values: [\n          {\n            path: 'navigation.courseOverGroundTrue',\n            value: 172.9\n          },\n          {\n            path: 'navigation.speedOverGround',\n            value: 3.85\n          }\n        ]\n      },\n      {\n        timestamp: '2014-05-03T09:14:11.001Z',\n        $source: 'ais',\n        values: [\n          {\n            path: '',\n            value: {\n              name: 'aName'\n            }\n          },\n          {\n            path: '',\n            value: {\n              mmsi: '230000000'\n            }\n          }\n        ]\n      }\n    ]\n  }\n\n  return _.assign(delta, overwrite)\n}\n\nfunction getEmptyPathDelta(overwrite) {\n  const delta = {\n    updates: [\n      {\n        timestamp: '2014-05-03T09:14:11.000Z',\n        source: {\n          pgn: 128275,\n          label: '/dev/actisense',\n          src: '115'\n        },\n        values: [\n          {\n            path: '',\n            value: { mmsi: '230000000' }\n          },\n          {\n            path: '',\n            value: {\n              name: 'SomeBoat'\n            }\n          }\n        ]\n      }\n    ]\n  }\n\n  return _.assign(delta, overwrite)\n}\n\nfunction getClosePosistionDelta(overwrite) {\n  const delta = {\n    updates: [\n      {\n        source: {\n          label: 'langford-canboatjs',\n          type: 'NMEA2000',\n          pgn: 129025,\n          src: '3'\n        },\n        timestamp: '2017-04-15T14:58:01.200Z',\n        values: [\n          {\n            path: 'navigation.position',\n            value: {\n              longitude: -76.4639314,\n              latitude: 39.0700403\n            }\n          }\n        ]\n      }\n    ],\n    context: 'vessels.closeVessel'\n  }\n\n  return _.assign(delta, overwrite)\n}\n\nfunction getFarPosistionDelta() {\n  const delta = {\n    updates: [\n      {\n        source: {\n          label: 'langford-canboatjs',\n          type: 'NMEA2000',\n          pgn: 129025,\n          src: '3'\n        },\n        timestamp: '2017-04-15T14:58:01.200Z',\n        values: [\n          {\n            path: 'navigation.position',\n            value: {\n              longitude: -76.4639314,\n              latitude: 39.0700503\n            }\n          }\n        ]\n      }\n    ],\n    context: 'vessels.farVessel'\n  }\n\n  return delta\n}\n\nfunction getNullPositionDelta(overwrite) {\n  const delta = {\n    updates: [\n      {\n        source: {\n          label: 'langford-canboatjs',\n          type: 'NMEA2000',\n          pgn: 129025,\n          src: '3'\n        },\n        timestamp: '2017-04-15T14:58:01.200Z',\n        values: [\n          {\n            path: 'navigation.position',\n            value: {\n              longitude: null,\n              latitude: null\n            }\n          }\n        ]\n      }\n    ],\n    context: 'vessels.nullPosition'\n  }\n\n  return _.assign(delta, overwrite)\n}\n\ndescribe('Subscriptions', (_) => {\n  let serverP, port, deltaUrl\n\n  beforeEach(() => {\n    serverP = freeport().then((p) => {\n      port = p\n      deltaUrl = 'http://localhost:' + port + '/signalk/v1/api/_test/delta'\n      return startServerP(p, false, {\n        settings: { disableSchemaMetaDeltas: true }\n      })\n    })\n  })\n\n  afterEach((done) => {\n    serverP\n      .then((server) => server.stop())\n      .then(() => {\n        done()\n      })\n  })\n\n  async function testSelfData(url) {\n    const wsPromiser = new WsPromiser(url)\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await sendDelta(getDelta({ context: 'vessels.othervessel' }), deltaUrl)\n\n    //wait for ws messages to arrive\n    await new Promise((resolve) => setTimeout(resolve, 30))\n\n    //retrieve all deltas thus far\n    const messages = wsPromiser.parsedMessages().slice(1)\n\n    //all deltas must have self context\n    messages.forEach((delta) => delta.context.should.equal(self))\n\n    //check for the delta we sent\n    messages\n      .findIndex(\n        (delta) => delta.updates[0].source && delta.updates[0].source.pgn\n      )\n      .should.be.at.least(0)\n  }\n\n  it('?subscribe=self subscription serves self data', async function () {\n    await serverP\n    await testSelfData(\n      'ws://localhost:' +\n        port +\n        '/signalk/v1/stream?subscribe=self&metaDeltas=none'\n    )\n  })\n\n  it('default subscription serves self data', async function () {\n    await serverP\n    await testSelfData(\n      'ws://localhost:' + port + '/signalk/v1/stream?metaDeltas=none'\n    )\n  })\n\n  it('?subscribe=all subscription serves all data', async function () {\n    await serverP\n    const wsPromiser = new WsPromiser(\n      'ws://localhost:' +\n        port +\n        '/signalk/v1/stream?subscribe=all&metaDeltas=none'\n    )\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await sendDelta(getDelta({ context: 'vessels.othervessel' }), deltaUrl)\n\n    //wait for ws messages to arrive\n    await new Promise((resolve) => setTimeout(resolve, 30))\n    const deltas = wsPromiser.parsedMessages().slice(1)\n    const deltasWeSent = deltas.filter(\n      (d) => d.updates[0].source && d.updates[0].source.pgn === 128275\n    )\n    assert(\n      deltasWeSent.filter((d) => d.context === self).length === 1,\n      'Received self delta'\n    )\n    assert(\n      deltasWeSent.filter((d) => d.context === 'vessels.othervessel').length ===\n        1,\n      'Received other vessel delta'\n    )\n  })\n\n  it('?subscribe=none subscription serves no data', async function () {\n    await serverP\n    const wsPromiser = new WsPromiser(\n      'ws://localhost:' +\n        port +\n        '/signalk/v1/stream?subscribe=none&metaDeltas=none'\n    )\n\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await sendDelta(getDelta({ context: 'vessels.othervessel' }), deltaUrl)\n\n    try {\n      await wsPromiser.nthMessage(3)\n      throw new Error('no message number 3 should arrive')\n    } catch (e) {\n      assert.strictEqual(e, 'timeout')\n    }\n  })\n\n  it('unsubscribe all plus navigation.logTrip subscription serves correct data', function () {\n    let self, wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' + port + '/signalk/v1/stream'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then((wsHello) => {\n        self = JSON.parse(wsHello).self\n\n        return wsPromiser.send({ context: '*', unsubscribe: [{ path: '*' }] })\n      })\n      .then(() => {\n        return wsPromiser.send({\n          context: 'vessels.*',\n          subscribe: [\n            {\n              path: 'navigation.logTrip'\n            }\n          ]\n        })\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(\n            getDelta({\n              context: self\n            }),\n            deltaUrl\n          )\n        ])\n      })\n      .then((results) => {\n        const delta = JSON.parse(results[0])\n        assert(\n          delta.updates[0].values[0].path === 'navigation.logTrip',\n          'Receives navigation.logTrip'\n        )\n        assert(delta.updates.length === 1, 'Receives just one update')\n        assert(delta.updates[0].values.length === 1, 'Receives just one value')\n        assert(delta.context === self)\n        assert(delta.updates[0].timestamp, '2014-05-03T09:14:11.001Z')\n\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getDelta({ context: 'vessels.othervessel' }), deltaUrl)\n        ])\n      })\n      .then((results) => {\n        const delta = JSON.parse(results[0])\n        assert(delta.updates.length === 1, 'Receives just one update')\n        assert(delta.updates[0].values.length === 1, 'Receives just one value')\n        assert(\n          delta.updates[0].values[0].path === 'navigation.logTrip',\n          'Receives just navigation.logTrip'\n        )\n        assert(delta.context === 'vessels.othervessel')\n      })\n  })\n\n  it('name subscription serves correct data', function () {\n    let self, wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' + port + '/signalk/v1/stream?subsribe=none'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then((wsHello) => {\n        self = JSON.parse(wsHello).self\n\n        return wsPromiser.send({\n          context: 'vessels.*',\n          subscribe: [\n            {\n              path: ''\n            }\n          ]\n        })\n      })\n      .then(() => {\n        sendDelta(\n          getEmptyPathDelta({\n            context: 'vessels.' + self\n          }),\n          deltaUrl\n        )\n      })\n      .then(() => wsPromiser.nthMessage(4)) //self, 1st delta with mmsi\n      .then((nextMsg) => {\n        const delta = JSON.parse(nextMsg)\n        assert(delta.updates[0].values[0].path === '', 'Path is empty string')\n        assert(\n          typeof delta.updates[0].values[0].value === 'object',\n          'Value is an object'\n        )\n        assert(\n          typeof delta.updates[0].values[0].value.mmsi !== 'undefined',\n          'Value has mmsi key'\n        )\n        return wsPromiser.nthMessage(5) //self, 2nd delta with mmsi\n      })\n      .then((nextMsg) => {\n        const delta = JSON.parse(nextMsg)\n        assert(delta.updates[0].values[0].path === '', 'Path is empty string')\n        assert(\n          typeof delta.updates[0].values[0].value === 'object',\n          'Value is an object'\n        )\n        assert(\n          typeof delta.updates[0].values[0].value.name !== 'undefined',\n          'Value has name key'\n        )\n        assert(\n          delta.updates[0].values[0].value.name === 'SomeBoat',\n          'Name value is correct'\n        )\n        assert(delta.updates.length === 1, 'Receives just one update')\n        assert(delta.updates[0].values.length === 1, 'Receives just one value')\n        assert(\n          delta.context === `vessels.${self}`,\n          `Context is vessels.${self}, got ${delta.context}`\n        )\n        assert(\n          delta.updates[0].timestamp === '2014-05-03T09:14:11.000Z',\n          'Timestamp is correct'\n        )\n\n        sendDelta(\n          getEmptyPathDelta({ context: 'vessels.othervessel' }),\n          deltaUrl\n        )\n\n        return wsPromiser.nthMessage(6) //othervessel, 1st delta\n      })\n      .then((nextMsg) => {\n        const delta = JSON.parse(nextMsg)\n        assert(delta.updates.length === 1, 'Receives just one update')\n        assert(delta.updates[0].values.length === 1, 'Receives just one value')\n        assert(\n          delta.updates[0].values[0].path === '',\n          'Receives pathvalue with empty path'\n        )\n        assert(\n          typeof delta.updates[0].values[0].value.mmsi === 'string',\n          'Receives object with mmsi'\n        )\n        assert(\n          delta.context === 'vessels.othervessel',\n          'Context is vessels.othervessel'\n        )\n      })\n  })\n\n  it('relativePosition subscription serves correct data', function () {\n    let wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' +\n            port +\n            '/signalk/v1/stream?subsribe=none&metaDeltas=none'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then(() => {\n        return wsPromiser.send({\n          context: {\n            radius: 1,\n            position: {\n              longitude: -76.4639314,\n              latitude: 39.0700403\n            }\n          },\n          subscribe: [\n            {\n              path: 'navigation.position'\n            }\n          ]\n        })\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getClosePosistionDelta(), deltaUrl)\n        ])\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getClosePosistionDelta(), deltaUrl)\n        ])\n      })\n      .then((results) => {\n        assert(results[0] !== 'timeout', 'Got timeout')\n        const delta = JSON.parse(results[0])\n\n        assert(delta.updates.length === 1, 'Receives just one update')\n        assert(delta.updates[0].values.length === 1, 'Receives just one value')\n        assert(delta.context === 'vessels.closeVessel')\n\n        return sendDelta(getFarPosistionDelta(), deltaUrl)\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getFarPosistionDelta(), deltaUrl)\n        ])\n      })\n      .then((results) => {\n        assert(results[0] === 'timeout')\n      })\n  })\n\n  it('relativePosition subscription works with null positions', function () {\n    let wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' + port + '/signalk/v1/stream?subsribe=none'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then(() => {\n        return wsPromiser.send({\n          context: {\n            radius: 1,\n            position: {\n              longitude: -76.4639314,\n              latitude: 39.0700403\n            }\n          },\n          subscribe: [\n            {\n              path: 'navigation.position'\n            }\n          ]\n        })\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getNullPositionDelta(), deltaUrl)\n        ])\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getNullPositionDelta(), deltaUrl)\n        ])\n      })\n      .then((results) => {\n        assert(results[0] === 'timeout')\n      })\n  })\n\n  it('inconsistent subscription works', function () {\n    let self, wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' + port + '/signalk/v1/stream?subscribe=none'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then((wsHello) => {\n        self = JSON.parse(wsHello).self\n\n        //SubscriptionManager does nothing unless we have some matching\n        //data, so send some first\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(\n            getDelta({\n              context: self\n            }),\n            deltaUrl\n          )\n        ])\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          wsPromiser.send({\n            context: '*',\n            subscribe: [\n              {\n                path: 'navigation.courseOverGroundTrue',\n                policy: 'ideal',\n                minPeriod: 500\n              }\n            ]\n          })\n        ])\n      })\n      .then(([response]) => {\n        assert.equal(\n          '\"minPeriod assumes policy \\'instant\\', ignoring policy ideal\"',\n          response\n        )\n      })\n  })\n\n  it('JSON subscription with string period works', async function () {\n    await serverP\n    const wsPromiser = new WsPromiser(\n      'ws://localhost:' +\n        port +\n        '/signalk/v1/stream?subscribe=none&metaDeltas=none'\n    )\n\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n\n    await wsPromiser.send({\n      context: 'vessels.*',\n      subscribe: [\n        {\n          path: 'navigation.logTrip',\n          policy: 'fixed',\n          period: '500'\n        }\n      ]\n    })\n\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await new Promise((resolve) => setTimeout(resolve, 600))\n\n    const messages = wsPromiser.parsedMessages().slice(1)\n    const logTripMessages = messages.filter(\n      (d) =>\n        d.updates &&\n        d.updates.some(\n          (u) =>\n            u.values && u.values.some((v) => v.path === 'navigation.logTrip')\n        )\n    )\n    assert(\n      logTripMessages.length > 0,\n      'Should receive logTrip delta with string period'\n    )\n  })\n\n  it('JSON subscription with string minPeriod works', async function () {\n    await serverP\n    const wsPromiser = new WsPromiser(\n      'ws://localhost:' +\n        port +\n        '/signalk/v1/stream?subscribe=none&metaDeltas=none'\n    )\n\n    const self = JSON.parse(await wsPromiser.nthMessage(1)).self\n\n    await wsPromiser.send({\n      context: 'vessels.*',\n      subscribe: [\n        {\n          path: 'navigation.courseOverGroundTrue',\n          minPeriod: '200'\n        }\n      ]\n    })\n\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n    await new Promise((resolve) => setTimeout(resolve, 300))\n\n    const messages = wsPromiser.parsedMessages().slice(1)\n    const cogMessages = messages.filter(\n      (d) =>\n        d.updates &&\n        d.updates.some(\n          (u) =>\n            u.values &&\n            u.values.some((v) => v.path === 'navigation.courseOverGroundTrue')\n        )\n    )\n    assert(\n      cogMessages.length > 0,\n      'Should receive COG delta with string minPeriod'\n    )\n  })\n\n  it('JSON subscription with invalid minPeriod warns and delivers deltas', function () {\n    let self, wsPromiser\n\n    return serverP\n      .then((_) => {\n        wsPromiser = new WsPromiser(\n          'ws://localhost:' +\n            port +\n            '/signalk/v1/stream?subscribe=none&metaDeltas=none'\n        )\n        return wsPromiser.nextMsg()\n      })\n      .then((wsHello) => {\n        self = JSON.parse(wsHello).self\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          sendDelta(getDelta({ context: self }), deltaUrl)\n        ])\n      })\n      .then(() => {\n        return Promise.all([\n          wsPromiser.nextMsg(),\n          wsPromiser.send({\n            context: '*',\n            subscribe: [\n              {\n                path: 'navigation.courseOverGroundTrue',\n                minPeriod: 'abc'\n              }\n            ]\n          })\n        ])\n      })\n      .then(([response]) => {\n        assert.equal(response, '\"invalid minPeriod value \\'abc\\', ignoring\"')\n      })\n  })\n\n  it('announceNewPaths sends existing paths once and announces new paths', async function () {\n    await serverP\n    const wsPromiser = new WsPromiser(\n      'ws://localhost:' + port + '/signalk/v1/stream?subscribe=none'\n    )\n\n    const hello = JSON.parse(await wsPromiser.nthMessage(1))\n    const self = hello.self\n\n    // Send initial delta to populate cache\n    await sendDelta(getDelta({ context: self }), deltaUrl)\n\n    // Wait for delta to be cached\n    await new Promise((resolve) => setTimeout(resolve, 30))\n\n    // Subscribe with announceNewPaths - should receive cached paths once\n    await wsPromiser.send({\n      context: '*',\n      announceNewPaths: true,\n      subscribe: []\n    })\n\n    // Wait for announcements\n    await new Promise((resolve) => setTimeout(resolve, 50))\n\n    // Get all messages after hello\n    const messages = wsPromiser.parsedMessages().slice(1)\n\n    // Should have received the cached paths\n    assert(messages.length > 0, 'Should receive announced paths')\n\n    // Verify we received the paths from our delta\n    const paths = new Set()\n    messages.forEach((msg) => {\n      if (msg.updates) {\n        msg.updates.forEach((update) => {\n          if (update.values) {\n            update.values.forEach((v) => {\n              if (v.path) paths.add(v.path)\n            })\n          }\n        })\n      }\n    })\n\n    assert(\n      paths.has('navigation.logTrip'),\n      'Should announce navigation.logTrip'\n    )\n    assert(paths.has('navigation.log'), 'Should announce navigation.log')\n\n    // Now send a NEW path that wasn't in the original delta\n    const newPathDelta = {\n      context: self,\n      updates: [\n        {\n          timestamp: '2014-05-03T09:14:12.000Z',\n          source: {\n            label: 'test',\n            src: '1'\n          },\n          values: [\n            {\n              path: 'environment.wind.speedApparent',\n              value: 5.5\n            }\n          ]\n        }\n      ]\n    }\n    await sendDelta(newPathDelta, deltaUrl)\n\n    // Wait for the new path announcement\n    await new Promise((resolve) => setTimeout(resolve, 50))\n\n    const allMessages = wsPromiser.parsedMessages().slice(1)\n    const allPaths = new Set()\n    allMessages.forEach((msg) => {\n      if (msg.updates) {\n        msg.updates.forEach((update) => {\n          if (update.values) {\n            update.values.forEach((v) => {\n              if (v.path) allPaths.add(v.path)\n            })\n          }\n        })\n      }\n    })\n\n    assert(\n      allPaths.has('environment.wind.speedApparent'),\n      'Should announce new path environment.wind.speedApparent'\n    )\n  })\n})\n"
  },
  {
    "path": "test/ts-servertestutilities.ts",
    "content": "import net from 'net'\nimport path from 'path'\nimport { rimraf } from 'rimraf'\nimport {\n  sendDelta,\n  serverTestConfigDirectory,\n  startServerP,\n  WsPromiser\n} from './servertestutilities'\nimport { SERVERSTATEDIRNAME } from '../src/serverstate/store'\nimport { expect } from 'chai'\nimport { Delta, hasValues, PathValue, Value } from '@signalk/server-api'\n\nexport const DATETIME_REGEX = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)Z?$/\n\nconst emptyConfigDirectory = () =>\n  Promise.all(\n    [SERVERSTATEDIRNAME, 'resources', 'plugin-config-data', 'baseDeltas.json']\n      .map((subDir) => path.join(serverTestConfigDirectory(), subDir))\n      .map((dir) => rimraf(dir).then(() => console.error(dir)))\n  )\n\nexport const startServer = async () => {\n  const port = await freeport()\n  const host = 'http://localhost:' + port\n  const sendDeltaUrl = host + '/signalk/v1/api/_test/delta'\n  const api = host + '/signalk/v2/api'\n  const v1Api = host + '/signalk/v1/api'\n\n  await emptyConfigDirectory()\n  const server = await startServerP(port, false, {\n    settings: {\n      interfaces: {\n        plugins: true\n      }\n    }\n  })\n  return {\n    server,\n    createWsPromiser: () =>\n      new WsPromiser(\n        'ws://localhost:' +\n          port +\n          '/signalk/v1/stream?subscribe=self&metaDeltas=none&sendCachedValues=false'\n      ),\n    selfPut: (path: string, body: object) =>\n      fetch(`${api}/vessels/self/${path}`, {\n        method: 'PUT',\n        body: JSON.stringify(body),\n        headers: { 'Content-Type': 'application/json' }\n      }),\n    selfPutV1: (path: string, body: object) =>\n      fetch(`${v1Api}/vessels/self/${path}`, {\n        method: 'PUT',\n        body: JSON.stringify(body),\n        headers: { 'Content-Type': 'application/json' }\n      }),\n    selfDelete: (path: string) =>\n      fetch(`${api}/vessels/self/${path}`, {\n        method: 'DELETE'\n      }),\n    get: (path: string) => fetch(`${api}${path}`),\n    getV1: (path: string) => fetch(`${v1Api}${path}`),\n    post: (path: string, body: object) =>\n      fetch(`${api}${path}`, {\n        method: 'POST',\n        body: JSON.stringify(body),\n        headers: { 'Content-Type': 'application/json' }\n      }),\n    put: (path: string, body: object) =>\n      fetch(`${api}${path}`, {\n        method: 'PUT',\n        body: JSON.stringify(body),\n        headers: { 'Content-Type': 'application/json' }\n      }),\n    selfGetJson: (path: string) =>\n      fetch(`${api}/vessels/self/${path}`).then((r) => r.json()),\n    selfGetJsonV1: (path: string) =>\n      fetch(`${v1Api}/vessels/self/${path}`).then((r) => r.json()),\n    host,\n    sendDelta: (path: string, value: Value) =>\n      sendDelta(\n        {\n          updates: [\n            {\n              values: [\n                {\n                  path,\n                  value\n                }\n              ]\n            }\n          ]\n        },\n        sendDeltaUrl\n      ),\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    sendADelta: (delta: any) => sendDelta(delta, sendDeltaUrl),\n    stop: () => server.stop()\n  }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const deltaHasPathValue = (delta: Delta, path: string, value: any) => {\n  try {\n    const pathValue = delta.updates.reduce<PathValue | undefined>(\n      (acc, update) => {\n        if (!acc && hasValues(update)) {\n          acc = update.values.find((x: PathValue) => x.path === path)\n        }\n        return acc\n      },\n      undefined\n    )\n    expect(pathValue?.value).to.deep.equal(value)\n  } catch (_) {\n    throw new Error(\n      `No such pathValue ${path}:${JSON.stringify(value)} in ${JSON.stringify(delta, null, 2)}`\n    )\n  }\n}\n\nexport function freeport(): Promise<number> {\n  return new Promise((resolve, reject) => {\n    const server = net.createServer()\n    let port = 0\n\n    server.on('listening', () => {\n      const address = server.address()\n\n      if (address === null) {\n        return reject(new Error('Server was not listening'))\n      }\n\n      if (typeof address === 'string') {\n        return reject(new Error('Server was Unix Socket'))\n      }\n\n      port = address.port\n      server.close()\n    })\n\n    server.once('close', () => resolve(port))\n    server.once('error', reject)\n    server.listen(0, '127.0.0.1')\n  })\n}\n"
  },
  {
    "path": "test/unitpreferences.ts",
    "content": "import { expect } from 'chai'\nimport fs from 'fs'\nimport path from 'path'\nimport { rimraf } from 'rimraf'\nimport { startServer } from './ts-servertestutilities'\nimport { WsPromiser, serverTestConfigDirectory } from './servertestutilities'\n// Import from dist, not src: the running server loads the dist build and we\n// need the same module instance (and its initialized applicationDataPath).\nimport {\n  loadUserPreferences,\n  saveUserPreferences\n} from '../dist/unitpreferences/loader'\n\nconst sleep = (ms: number): Promise<void> =>\n  new Promise((resolve) => setTimeout(resolve, ms))\n\nconst UNITPREFS_DIR = path.join(__dirname, '../unitpreferences')\n\ndescribe('Unit Preferences', function () {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let stop: any\n  let host: string\n  let port: number\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let sendDelta: any\n  let savedConfigJson: string\n\n  before(async function () {\n    // Save files that tests modify so we can restore them\n    savedConfigJson = fs.readFileSync(\n      path.join(UNITPREFS_DIR, 'config.json'),\n      'utf-8'\n    )\n    const s = await startServer()\n    stop = s.stop\n    host = s.host\n    port = parseInt(host.split(':').pop() as string, 10)\n    sendDelta = s.sendDelta\n  })\n\n  after(async function () {\n    await stop()\n    // Restore files modified by tests\n    fs.writeFileSync(path.join(UNITPREFS_DIR, 'config.json'), savedConfigJson)\n    await rimraf(path.join(serverTestConfigDirectory(), 'baseDeltas.json'))\n  })\n\n  describe('Definitions API', function () {\n    it('returns unit definitions with expected structure', async function () {\n      const res = await fetch(`${host}/signalk/v1/unitpreferences/definitions`)\n      expect(res.status).to.equal(200)\n\n      const defs = await res.json()\n\n      // Speed conversions\n      expect(defs).to.have.property('m/s')\n      expect(defs['m/s'].conversions).to.have.property('kn')\n      expect(defs['m/s'].conversions['kn']).to.have.property('formula')\n      expect(defs['m/s'].conversions['kn']).to.have.property('inverseFormula')\n      expect(defs['m/s'].conversions['kn']).to.have.property('symbol', 'kn')\n\n      // Temperature conversions\n      expect(defs).to.have.property('K')\n      expect(defs['K'].conversions).to.have.property('C')\n      expect(defs['K'].conversions).to.have.property('F')\n      expect(defs['K'].conversions['C'].formula).to.equal('value - 273.15')\n    })\n  })\n\n  describe('Preset API', function () {\n    it('returns the active preset with categories', async function () {\n      const res = await fetch(`${host}/signalk/v1/unitpreferences/active`)\n      expect(res.status).to.equal(200)\n\n      const preset = await res.json()\n      expect(preset).to.have.property('categories')\n      expect(preset.categories).to.have.property('speed')\n      expect(preset.categories['speed'].baseUnit).to.equal('m/s')\n      expect(preset.categories['speed'].targetUnit).to.equal('kn')\n    })\n\n    it('switching preset changes the active preset', async function () {\n      // Verify starting preset\n      let res = await fetch(`${host}/signalk/v1/unitpreferences/config`)\n      const originalConfig = await res.json()\n      expect(originalConfig.activePreset).to.equal('nautical-metric')\n\n      // Switch to imperial-us\n      res = await fetch(`${host}/signalk/v1/unitpreferences/config`, {\n        method: 'PUT',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: 'imperial-us' })\n      })\n      expect(res.status).to.equal(200)\n\n      // Verify active preset changed\n      res = await fetch(`${host}/signalk/v1/unitpreferences/active`)\n      const newPreset = await res.json()\n      expect(newPreset.categories['speed'].targetUnit).to.equal('mph')\n      expect(newPreset.categories['temperature'].targetUnit).to.equal('F')\n\n      // Restore\n      await fetch(`${host}/signalk/v1/unitpreferences/config`, {\n        method: 'PUT',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: 'nautical-metric' })\n      })\n    })\n  })\n\n  describe('REST meta enrichment', function () {\n    it('enriches speed path meta with displayUnits from default category', async function () {\n      await sendDelta('environment.wind.speedTrue', 10)\n      await sleep(50)\n\n      const res = await fetch(\n        `${host}/signalk/v1/api/vessels/self/environment/wind/speedTrue/meta`\n      )\n      expect(res.status).to.equal(200)\n\n      const meta = await res.json()\n      expect(meta).to.have.property('displayUnits')\n      expect(meta.displayUnits.category).to.equal('speed')\n      expect(meta.displayUnits.targetUnit).to.equal('kn')\n      expect(meta.displayUnits.formula).to.include('1.94384')\n      expect(meta.displayUnits).to.have.property('inverseFormula')\n      expect(meta.displayUnits.symbol).to.equal('kn')\n    })\n\n    it('enriches temperature path meta with offset conversion', async function () {\n      await sendDelta('environment.outside.temperature', 293.15)\n      await sleep(50)\n\n      const res = await fetch(\n        `${host}/signalk/v1/api/vessels/self/environment/outside/temperature/meta`\n      )\n      expect(res.status).to.equal(200)\n\n      const meta = await res.json()\n      expect(meta).to.have.property('displayUnits')\n      expect(meta.displayUnits.category).to.equal('temperature')\n      expect(meta.displayUnits.targetUnit).to.equal('C')\n      expect(meta.displayUnits.formula).to.equal('value - 273.15')\n    })\n\n    it('returns no displayUnits for paths without default category', async function () {\n      await sendDelta('some.custom.path', 42)\n      await sleep(50)\n\n      const res = await fetch(\n        `${host}/signalk/v1/api/vessels/self/some/custom/path/meta`\n      )\n\n      // Path may not have meta at all, or meta without displayUnits\n      if (res.status === 200) {\n        const meta = await res.json()\n        expect(meta.displayUnits).to.equal(undefined)\n      }\n      // 404 is also acceptable — no schema meta for unknown path\n    })\n  })\n\n  describe('PUT meta displayUnits', function () {\n    it('path-level targetUnit override takes precedence over preset', async function () {\n      await sendDelta('navigation.speedOverGround', 5)\n      await sleep(50)\n\n      // Set path-specific override to km/h\n      const putRes = await fetch(\n        `${host}/signalk/v1/api/vessels/self/navigation/speedOverGround.meta`,\n        {\n          method: 'PUT',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            value: { displayUnits: { category: 'speed', targetUnit: 'km/h' } }\n          })\n        }\n      )\n      expect(putRes.status).to.equal(202)\n      await sleep(100)\n\n      // Verify override is used\n      const getRes = await fetch(\n        `${host}/signalk/v1/api/vessels/self/navigation/speedOverGround/meta`\n      )\n      expect(getRes.status).to.equal(200)\n\n      const meta = await getRes.json()\n      expect(meta.displayUnits.targetUnit).to.equal('km/h')\n      expect(meta.displayUnits.formula).to.include('3.6')\n    })\n\n    it('rejects category with mismatched SI unit', async function () {\n      // headingTrue has units=rad, speed category expects m/s\n      const res = await fetch(\n        `${host}/signalk/v1/api/vessels/self/navigation/headingTrue.meta`,\n        {\n          method: 'PUT',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            value: { displayUnits: { category: 'speed' } }\n          })\n        }\n      )\n      expect(res.status).to.equal(400)\n    })\n  })\n\n  describe('Formula validation', function () {\n    it('rejects invalid formulas in custom definitions', async function () {\n      const res = await fetch(\n        `${host}/signalk/v1/unitpreferences/custom-definitions`,\n        {\n          method: 'PUT',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            'm/s': {\n              conversions: {\n                bad: {\n                  formula: 'value * (',\n                  inverseFormula: 'value',\n                  symbol: '?'\n                }\n              }\n            }\n          })\n        }\n      )\n      expect(res.status).to.equal(400)\n    })\n  })\n\n  describe('WebSocket meta enrichment', function () {\n    it('sends displayUnits in meta deltas for new paths', async function () {\n      const ws = new WsPromiser(\n        `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=self&sendMeta=all&sendCachedValues=false`\n      )\n\n      // Consume hello message\n      const hello = await ws.nextMsg()\n      expect(hello).to.not.equal('timeout')\n\n      // Send a speed delta — server should send meta delta with displayUnits\n      await sendDelta('environment.wind.speedApparent', 8)\n      await sleep(100)\n\n      // Collect messages — look for meta delta\n      const messages: string[] = ws.messages.slice(1) // skip hello\n      let foundMetaWithDisplayUnits = false\n\n      for (const msgStr of messages) {\n        try {\n          const msg = JSON.parse(msgStr)\n          if (msg.updates) {\n            for (const update of msg.updates) {\n              if (update.meta) {\n                for (const entry of update.meta) {\n                  if (\n                    entry.path === 'environment.wind.speedApparent' &&\n                    entry.value?.displayUnits\n                  ) {\n                    expect(entry.value.displayUnits.category).to.equal('speed')\n                    expect(entry.value.displayUnits.targetUnit).to.equal('kn')\n                    expect(entry.value.displayUnits).to.have.property('formula')\n                    foundMetaWithDisplayUnits = true\n                  }\n                }\n              }\n            }\n          }\n        } catch {\n          // skip non-JSON messages\n        }\n      }\n\n      expect(\n        foundMetaWithDisplayUnits,\n        'Expected meta delta with displayUnits for environment.wind.speedApparent'\n      ).to.equal(true)\n\n      ws.ws.close()\n    })\n\n    it('pushes meta deltas when preset changes', async function () {\n      // First send a delta so the server has available paths\n      await sendDelta('environment.wind.speedTrue', 10)\n      await sleep(50)\n\n      const ws = new WsPromiser(\n        `ws://0.0.0.0:${port}/signalk/v1/stream?subscribe=self&sendMeta=all`,\n        500\n      )\n\n      // Consume initial messages (hello + cached data + meta)\n      await sleep(200)\n      const initialCount = ws.messages.length\n\n      // Switch preset to imperial-us\n      const putRes = await fetch(`${host}/signalk/v1/unitpreferences/config`, {\n        method: 'PUT',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: 'imperial-us' })\n      })\n      expect(putRes.status).to.equal(200)\n\n      // Wait for meta deltas to arrive\n      await sleep(200)\n\n      // Look for meta delta with imperial-us speed unit (mph)\n      const newMessages = ws.messages.slice(initialCount)\n      let foundMph = false\n\n      for (const msgStr of newMessages) {\n        try {\n          const msg = JSON.parse(msgStr)\n          if (msg.updates) {\n            for (const update of msg.updates) {\n              if (update.meta) {\n                for (const entry of update.meta) {\n                  if (entry.value?.displayUnits?.targetUnit === 'mph') {\n                    foundMph = true\n                  }\n                }\n              }\n            }\n          }\n        } catch {\n          // skip non-JSON\n        }\n      }\n\n      expect(\n        foundMph,\n        'Expected meta delta with targetUnit=mph after switching to imperial-us'\n      ).to.equal(true)\n\n      // Restore preset\n      await fetch(`${host}/signalk/v1/unitpreferences/config`, {\n        method: 'PUT',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ activePreset: 'nautical-metric' })\n      })\n\n      ws.ws.close()\n    })\n  })\n\n  describe('Primary Categories API', function () {\n    it('GET returns ambiguousUnits and effectivePrimary', async function () {\n      const res = await fetch(\n        `${host}/signalk/v1/unitpreferences/primary-categories`\n      )\n      expect(res.status).to.equal(200)\n\n      const body = await res.json()\n      expect(body).to.have.property('ambiguousUnits')\n      expect(body).to.have.property('effectivePrimary')\n\n      for (const [baseUnit, cats] of Object.entries(body.ambiguousUnits)) {\n        expect(cats).to.be.an('array')\n        expect((cats as string[]).length).to.be.greaterThan(1)\n        expect(cats as string[]).to.include(body.effectivePrimary[baseUnit])\n      }\n    })\n\n    it('GET effectivePrimary falls back to system default for `m`', async function () {\n      const res = await fetch(\n        `${host}/signalk/v1/unitpreferences/primary-categories`\n      )\n      const body = await res.json()\n      // unitpreferences/primary-categories.json maps 'm' -> 'distance'\n      if (body.ambiguousUnits.m) {\n        expect(body.effectivePrimary.m).to.equal('distance')\n      }\n    })\n\n    it('PUT without authentication returns 401', async function () {\n      const res = await fetch(\n        `${host}/signalk/v1/unitpreferences/primary-categories`,\n        {\n          method: 'PUT',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({ m: 'depth' })\n        }\n      )\n      expect(res.status).to.equal(401)\n      const body = await res.json()\n      expect(body.error).to.equal('Authentication required')\n    })\n  })\n\n  describe('User preferences loader', function () {\n    const TEST_USER = 'unitprefs-test-user'\n    const usersDir = path.join(\n      serverTestConfigDirectory(),\n      'applicationData',\n      'users'\n    )\n    const testUserDir = path.join(usersDir, TEST_USER)\n\n    afterEach(async function () {\n      await rimraf(testUserDir)\n    })\n\n    it('returns null for unknown user', function () {\n      const prefs = loadUserPreferences('nonexistent-user-xyz')\n      expect(prefs).to.equal(null)\n    })\n\n    it('round-trips saved preferences', function () {\n      saveUserPreferences(TEST_USER, { primaryCategories: { m: 'depth' } })\n      const loaded = loadUserPreferences(TEST_USER)\n      expect(loaded).to.deep.equal({ primaryCategories: { m: 'depth' } })\n    })\n\n    it('returns a clone so callers cannot mutate the cache', function () {\n      saveUserPreferences(TEST_USER, { primaryCategories: { m: 'depth' } })\n      const first = loadUserPreferences(TEST_USER)\n      expect(first).to.not.equal(null)\n      // Mutate the returned object\n      first!.primaryCategories!.m = 'mutated'\n      const second = loadUserPreferences(TEST_USER)\n      expect(second!.primaryCategories!.m).to.equal('depth')\n    })\n\n    it('rejects invalid usernames', function () {\n      expect(() =>\n        saveUserPreferences('..', { primaryCategories: {} })\n      ).to.throw(/Invalid username/)\n      expect(() =>\n        saveUserPreferences('.', { primaryCategories: {} })\n      ).to.throw(/Invalid username/)\n      expect(() =>\n        saveUserPreferences('a/b', { primaryCategories: {} })\n      ).to.throw(/Invalid username/)\n    })\n  })\n})\n"
  },
  {
    "path": "test/wasm-plugin-test-config/package.json",
    "content": "{\n  \"name\": \"signalk-server-config\",\n  \"version\": \"0.0.1\",\n  \"description\": \"Test config for WASM plugin tests\",\n  \"repository\": {},\n  \"license\": \"Apache-2.0\"\n}\n"
  },
  {
    "path": "test/wasm-plugins.ts",
    "content": "/**\n * WASM Plugin Tests\n *\n * Tests that WASM plugins:\n * 1. Can be compiled from source (when SDK is available)\n * 2. Are discovered and loaded by the server\n * 3. Appear in the plugins API endpoint\n * 4. Can be enabled and started\n *\n * Note: These tests require the example plugin to be pre-built.\n * Run from repo root: npm run build:all (which includes WASM examples)\n */\n\nimport { expect } from 'chai'\nimport fs from 'fs'\nimport path from 'path'\nimport { execSync } from 'child_process'\nimport { freeport } from './ts-servertestutilities'\nimport { startServerP, serverTestConfigDirectory } from './servertestutilities'\n\ninterface PluginInfo {\n  id: string\n  packageName: string\n  name: string\n  version: string\n  description: string\n  type: string\n  data: {\n    enabled: boolean\n  }\n}\n\ninterface ServerInstance {\n  stop: () => Promise<void>\n  app: {\n    config: {\n      settings: {\n        port: number\n      }\n    }\n  }\n}\n\n// Use the same config directory as startServerP to ensure plugins are discovered\nconst testConfigDirectory = serverTestConfigDirectory\n\nconst examplePluginDir = path.join(\n  __dirname,\n  '..',\n  'examples',\n  'wasm-plugins',\n  'example-hello-assemblyscript'\n)\n\nconst wasmPath = path.join(examplePluginDir, 'plugin.wasm')\n\ndescribe('WASM Plugins', function () {\n  this.timeout(60000) // WASM compilation and loading can take time\n\n  describe('Build verification', () => {\n    it('builds example-hello-assemblyscript and produces plugin.wasm', function () {\n      // Clean any existing build artifacts\n      if (fs.existsSync(wasmPath)) {\n        fs.unlinkSync(wasmPath)\n      }\n\n      // Install dependencies if needed\n      const nodeModulesPath = path.join(examplePluginDir, 'node_modules')\n      if (!fs.existsSync(nodeModulesPath)) {\n        console.log('Installing dependencies for example plugin...')\n        execSync('npm install', {\n          cwd: examplePluginDir,\n          stdio: 'inherit'\n        })\n      }\n\n      // Build the plugin\n      console.log('Building example WASM plugin...')\n      execSync('npm run build', {\n        cwd: examplePluginDir,\n        stdio: 'inherit'\n      })\n\n      // Assert that plugin.wasm was created\n      expect(fs.existsSync(wasmPath), 'plugin.wasm should exist').to.equal(true)\n\n      const stats = fs.statSync(wasmPath)\n      expect(stats.size).to.be.greaterThan(\n        1000,\n        'WASM file should be non-trivial size'\n      )\n    })\n\n    after(function () {\n      // Clean up transpiled files generated during build\n      const pluginJsPath = path.join(examplePluginDir, 'plugin.js')\n      const pluginDtsPath = path.join(examplePluginDir, 'plugin.d.ts')\n\n      if (fs.existsSync(pluginJsPath)) {\n        fs.unlinkSync(pluginJsPath)\n      }\n      if (fs.existsSync(pluginDtsPath)) {\n        fs.unlinkSync(pluginDtsPath)\n      }\n    })\n  })\n\n  describe('Plugin loading', () => {\n    let server: ServerInstance | null = null\n\n    before(async function () {\n      // Ensure WASM file exists before running loading tests\n      if (!fs.existsSync(wasmPath)) {\n        throw new Error(\n          'WASM file does not exist. Build verification test should have created it.'\n        )\n      }\n\n      // Create symlink to the example plugin in test config node_modules\n      // Note: startServerP sets SIGNALK_NODE_CONFIG_DIR to serverTestConfigDirectory()\n      const pluginDest = path.join(\n        testConfigDirectory(),\n        'node_modules',\n        '@signalk',\n        'example-hello-assemblyscript'\n      )\n\n      // Create @signalk directory if needed\n      const signalkDir = path.join(\n        testConfigDirectory(),\n        'node_modules',\n        '@signalk'\n      )\n      if (!fs.existsSync(signalkDir)) {\n        fs.mkdirSync(signalkDir, { recursive: true })\n      }\n\n      // Remove existing symlink/directory if present\n      if (fs.existsSync(pluginDest)) {\n        fs.rmSync(pluginDest, { recursive: true, force: true })\n      }\n\n      // Create symlink\n      fs.symlinkSync(examplePluginDir, pluginDest, 'dir')\n    })\n\n    after(async function () {\n      if (server) {\n        await server.stop()\n      }\n      // Clean up symlink\n      const pluginDest = path.join(\n        testConfigDirectory(),\n        'node_modules',\n        '@signalk',\n        'example-hello-assemblyscript'\n      )\n      if (fs.existsSync(pluginDest)) {\n        fs.rmSync(pluginDest, { recursive: true, force: true })\n      }\n    })\n\n    it('discovers and registers WASM plugin', async function () {\n      const port = await freeport()\n\n      server = await startServerP(port, false, {\n        settings: {\n          interfaces: {\n            plugins: true,\n            wasm: true\n          }\n        }\n      })\n\n      // Poll until WASM plugin appears in the plugins list\n      let wasmPlugin: PluginInfo | undefined\n      for (let i = 0; i < 40; i++) {\n        const res = await fetch(`http://0.0.0.0:${port}/skServer/plugins`)\n        const plugins: PluginInfo[] = await res.json()\n        wasmPlugin = plugins.find(\n          (p) =>\n            p.id === '_signalk_example-hello-assemblyscript' ||\n            p.packageName === '@signalk/example-hello-assemblyscript'\n        )\n        if (wasmPlugin) break\n        await new Promise((r) => setTimeout(r, 50))\n      }\n\n      const response = await fetch(`http://0.0.0.0:${port}/skServer/plugins`)\n      expect(response.status).to.equal(200)\n\n      const plugins: PluginInfo[] = await response.json()\n      wasmPlugin = plugins.find(\n        (p) =>\n          p.id === '_signalk_example-hello-assemblyscript' ||\n          p.packageName === '@signalk/example-hello-assemblyscript'\n      )\n\n      expect(wasmPlugin, 'WASM plugin should be in plugins list').to.not.equal(\n        undefined\n      )\n      expect(wasmPlugin!.type).to.equal(\n        'wasm',\n        'Plugin should be marked as WASM type'\n      )\n    })\n\n    it('WASM plugin has correct metadata', async function () {\n      // Use the server from the previous test\n      const port = server!.app.config.settings.port\n\n      const response = await fetch(`http://0.0.0.0:${port}/skServer/plugins`)\n      const plugins: PluginInfo[] = await response.json()\n      const wasmPlugin = plugins.find(\n        (p) =>\n          p.id === '_signalk_example-hello-assemblyscript' ||\n          p.packageName === '@signalk/example-hello-assemblyscript'\n      )\n\n      expect(wasmPlugin).to.not.equal(undefined)\n      expect(wasmPlugin!.name).to.be.a('string')\n      expect(wasmPlugin!.version).to.equal('0.1.0')\n      expect(wasmPlugin!.description).to.include('Hello World')\n    })\n\n    it('WASM plugin can be enabled and started', async function () {\n      const port = server!.app.config.settings.port\n      const pluginId = '_signalk_example-hello-assemblyscript'\n\n      // Enable and start the plugin via config endpoint\n      const configResponse = await fetch(\n        `http://0.0.0.0:${port}/skServer/plugins/${pluginId}/config`,\n        {\n          method: 'POST',\n          headers: { 'Content-Type': 'application/json' },\n          body: JSON.stringify({\n            enabled: true,\n            configuration: {\n              message: 'Test message'\n            }\n          })\n        }\n      )\n      expect(configResponse.status).to.equal(200)\n\n      // Poll until plugin is enabled\n      let wasmPlugin: PluginInfo | undefined\n      for (let i = 0; i < 20; i++) {\n        const res = await fetch(`http://0.0.0.0:${port}/skServer/plugins`)\n        const plugins: PluginInfo[] = await res.json()\n        wasmPlugin = plugins.find((p) => p.id === pluginId)\n        if (wasmPlugin?.data?.enabled) break\n        await new Promise((r) => setTimeout(r, 50))\n      }\n\n      expect(\n        wasmPlugin,\n        'Plugin should still exist after enabling'\n      ).to.not.equal(undefined)\n      expect(wasmPlugin!.data.enabled).to.equal(\n        true,\n        'Plugin should be enabled'\n      )\n    })\n  })\n})\n"
  },
  {
    "path": "test/ws-connection-limit.ts",
    "content": "import chai from 'chai'\nimport WebSocket from 'ws'\nimport { freeport } from './ts-servertestutilities'\nimport { startServerP } from './servertestutilities'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n;(chai as any).Should()\n\nconst WS_STREAM_PATH =\n  '/signalk/v1/stream?subscribe=none&sendCachedValues=false'\n\nfunction openWs(url: string): Promise<WebSocket> {\n  return new Promise((resolve, reject) => {\n    const ws = new WebSocket(url)\n    ws.once('open', () => resolve(ws))\n    ws.once('error', reject)\n    ws.once('unexpected-response', (_req, res) => {\n      const err = Object.assign(new Error(`HTTP ${res.statusCode}`), {\n        statusCode: res.statusCode,\n        response: res\n      })\n      reject(err)\n    })\n  })\n}\n\nfunction openWsExpect429(\n  url: string\n): Promise<{ statusCode: number; body: unknown }> {\n  return new Promise((resolve, reject) => {\n    const ws = new WebSocket(url)\n    ws.once('open', () => {\n      ws.close()\n      reject(\n        new Error('Expected connection to be rejected but it was accepted')\n      )\n    })\n    ws.once('error', reject)\n    ws.once('unexpected-response', (_req, res) => {\n      const chunks: Buffer[] = []\n      res.on('data', (chunk: Buffer) => chunks.push(chunk))\n      res.on('end', () => {\n        let body: unknown\n        try {\n          body = JSON.parse(Buffer.concat(chunks).toString())\n        } catch {\n          body = Buffer.concat(chunks).toString()\n        }\n        resolve({ statusCode: res.statusCode!, body })\n      })\n    })\n  })\n}\n\ndescribe('WebSocket per-IP connection limit', function () {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let wsUrl: string\n  const MAX = 2\n  const openSockets: WebSocket[] = []\n\n  before(async function () {\n    process.env.MAX_WS_CONNECTIONS_PER_IP = String(MAX)\n    const port = await freeport()\n    wsUrl = `ws://127.0.0.1:${port}${WS_STREAM_PATH}`\n    server = await startServerP(port, false)\n  })\n\n  after(async function () {\n    delete process.env.MAX_WS_CONNECTIONS_PER_IP\n    openSockets.forEach((ws) => ws.terminate())\n    await server.stop()\n  })\n\n  it(`allows up to ${MAX} concurrent connections from the same IP`, async function () {\n    for (let i = 0; i < MAX; i++) {\n      const ws = await openWs(wsUrl)\n      openSockets.push(ws)\n    }\n  })\n\n  it('rejects the next connection with HTTP 429 and a JSON error payload', async function () {\n    const { statusCode, body } = await openWsExpect429(wsUrl)\n    statusCode.should.equal(429)\n    ;(body as { error: string }).error.should.include(\n      'Too many concurrent websocket connections'\n    )\n  })\n\n  it('allows a new connection after one is closed', async function () {\n    const toClose = openSockets.pop()!\n    await new Promise<void>((resolve) => {\n      toClose.once('close', resolve)\n      toClose.close()\n    })\n\n    // Retry opening a new connection with backoff until it succeeds\n    let ws: WebSocket | undefined\n    const maxAttempts = 5\n    for (let attempt = 1; attempt <= maxAttempts; attempt++) {\n      try {\n        ws = await openWs(wsUrl)\n        break\n      } catch (err) {\n        if (attempt === maxAttempts) {\n          throw err\n        }\n        await new Promise((resolve) => setTimeout(resolve, attempt * 20))\n      }\n    }\n\n    openSockets.push(ws!)\n  })\n})\n\ndescribe('WebSocket per-IP connection limit with trust proxy', function () {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  let server: any\n  let wsUrl: string\n  const MAX = 2\n  const openSockets: WebSocket[] = []\n  const FORWARDED_IP_A = '10.0.0.1'\n  const FORWARDED_IP_B = '10.0.0.2'\n\n  function openWsWithForwardedIp(\n    url: string,\n    forwardedIp: string\n  ): Promise<WebSocket> {\n    return new Promise((resolve, reject) => {\n      const ws = new WebSocket(url, {\n        headers: { 'x-forwarded-for': forwardedIp }\n      })\n      ws.once('open', () => resolve(ws))\n      ws.once('error', reject)\n      ws.once('unexpected-response', (_req, res) => {\n        const err = Object.assign(new Error(`HTTP ${res.statusCode}`), {\n          statusCode: res.statusCode,\n          response: res\n        })\n        reject(err)\n      })\n    })\n  }\n\n  function openWsWithForwardedIpExpect429(\n    url: string,\n    forwardedIp: string\n  ): Promise<{ statusCode: number; body: unknown }> {\n    return new Promise((resolve, reject) => {\n      const ws = new WebSocket(url, {\n        headers: { 'x-forwarded-for': forwardedIp }\n      })\n      ws.once('open', () => {\n        ws.close()\n        reject(\n          new Error('Expected connection to be rejected but it was accepted')\n        )\n      })\n      ws.once('error', reject)\n      ws.once('unexpected-response', (_req, res) => {\n        const chunks: Buffer[] = []\n        res.on('data', (chunk: Buffer) => chunks.push(chunk))\n        res.on('end', () => {\n          let body: unknown\n          try {\n            body = JSON.parse(Buffer.concat(chunks).toString())\n          } catch {\n            body = Buffer.concat(chunks).toString()\n          }\n          resolve({ statusCode: res.statusCode!, body })\n        })\n      })\n    })\n  }\n\n  before(async function () {\n    process.env.MAX_WS_CONNECTIONS_PER_IP = String(MAX)\n    const port = await freeport()\n    wsUrl = `ws://127.0.0.1:${port}${WS_STREAM_PATH}`\n    server = await startServerP(port, false, { settings: { trustProxy: true } })\n  })\n\n  after(async function () {\n    delete process.env.MAX_WS_CONNECTIONS_PER_IP\n    openSockets.forEach((ws) => ws.terminate())\n    await server.stop()\n  })\n\n  it(`allows up to ${MAX} connections from the same forwarded IP`, async function () {\n    for (let i = 0; i < MAX; i++) {\n      const ws = await openWsWithForwardedIp(wsUrl, FORWARDED_IP_A)\n      openSockets.push(ws)\n    }\n  })\n\n  it('rejects the next connection from the same forwarded IP with HTTP 429', async function () {\n    const { statusCode, body } = await openWsWithForwardedIpExpect429(\n      wsUrl,\n      FORWARDED_IP_A\n    )\n    statusCode.should.equal(429)\n    ;(body as { error: string }).error.should.include(\n      'Too many concurrent websocket connections'\n    )\n  })\n\n  it('allows connections from a different forwarded IP while the first is at its limit', async function () {\n    const ws = await openWsWithForwardedIp(wsUrl, FORWARDED_IP_B)\n    openSockets.push(ws)\n  })\n\n  it('uses only the first IP when X-Forwarded-For contains multiple addresses', async function () {\n    // FORWARDED_IP_A is already at MAX connections; send it as the first entry\n    // in a multi-value header — the server must still recognise it as at-limit\n    const { statusCode } = await openWsWithForwardedIpExpect429(\n      wsUrl,\n      `${FORWARDED_IP_A}, 172.16.0.1`\n    )\n    statusCode.should.equal(429)\n  })\n})\n"
  },
  {
    "path": "test/zones.ts",
    "content": "import type { Delta, Notification, Path, Zone } from '@signalk/server-api'\nimport { ALARM_METHOD, ALARM_STATE, hasValues } from '@signalk/server-api'\nimport { expect } from 'chai'\nimport { getMethod, Zones } from '../dist/zones.js'\nimport * as Bacon from 'baconjs'\n\ninterface MockStreambundle {\n  getSelfMetaBus: () => Bacon.Bus<unknown>\n  getSelfStream: (_path: Path) => Bacon.Bus<unknown>\n}\n\n// Helper to assert value is a Notification\nfunction asNotification(value: unknown): Notification {\n  return value as Notification\n}\n\ndescribe('Zones', () => {\n  describe('getMethod', () => {\n    it('returns the method for a given state', () => {\n      const methods = {\n        alarmMethod: [ALARM_METHOD.sound, ALARM_METHOD.visual]\n      }\n\n      const result = getMethod('alarm', methods)\n\n      expect(result).to.deep.equal([ALARM_METHOD.sound, ALARM_METHOD.visual])\n    })\n\n    it('defaults to visual when no method is specified', () => {\n      const methods = {}\n\n      const result = getMethod('warn', methods)\n\n      expect(result).to.deep.equal([ALARM_METHOD.visual])\n    })\n\n    it('returns correct method for different states', () => {\n      const methods = {\n        normalMethod: [ALARM_METHOD.visual],\n        warnMethod: [ALARM_METHOD.visual, ALARM_METHOD.sound],\n        alarmMethod: [ALARM_METHOD.sound, ALARM_METHOD.visual],\n        emergencyMethod: [ALARM_METHOD.sound]\n      }\n\n      expect(getMethod('normal', methods)).to.deep.equal([ALARM_METHOD.visual])\n      expect(getMethod('warn', methods)).to.deep.equal([\n        ALARM_METHOD.visual,\n        ALARM_METHOD.sound\n      ])\n      expect(getMethod('alarm', methods)).to.deep.equal([\n        ALARM_METHOD.sound,\n        ALARM_METHOD.visual\n      ])\n      expect(getMethod('emergency', methods)).to.deep.equal([\n        ALARM_METHOD.sound\n      ])\n    })\n\n    it('return empty methods when method value is null', () => {\n      const methods = {\n        warnMethod: null\n      }\n\n      const result = getMethod('warn', methods)\n\n      expect(result).to.deep.equal([])\n    })\n  })\n\n  describe('zone detection', () => {\n    it('sends notification when value enters a zone', () => {\n      const zones: Zone[] = [\n        {\n          lower: 0,\n          upper: 10,\n          state: ALARM_STATE.alarm,\n          message: 'Too low'\n        },\n        {\n          lower: 10,\n          upper: 20,\n          state: ALARM_STATE.warn,\n          message: 'Low'\n        },\n        {\n          lower: 20,\n          upper: 80,\n          state: ALARM_STATE.normal,\n          message: 'Normal'\n        }\n      ]\n\n      const methods = {\n        alarmMethod: [ALARM_METHOD.sound],\n        warnMethod: [ALARM_METHOD.visual]\n      }\n\n      const mockBus = new Bacon.Bus()\n      const valueStream = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => valueStream\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      // Setup zones\n      mockBus.push({\n        path: 'test.temperature' as Path,\n        value: { zones, ...methods }\n      })\n\n      // Push value in alarm zone\n      valueStream.push(5)\n\n      expect(deltas.length).to.equal(1)\n      const update0 = deltas[0].updates[0]\n      if (hasValues(update0)) {\n        expect(update0.values[0].path).to.equal(\n          'notifications.test.temperature'\n        )\n        expect(asNotification(update0.values[0].value).state).to.equal(\n          ALARM_STATE.alarm\n        )\n        expect(asNotification(update0.values[0].value).method).to.deep.equal([\n          ALARM_METHOD.sound\n        ])\n      }\n\n      // Push value in warn zone\n      valueStream.push(15)\n\n      expect(deltas.length).to.equal(2)\n      const update1 = deltas[1].updates[0]\n      if (hasValues(update1)) {\n        expect(asNotification(update1.values[0].value).state).to.equal(\n          ALARM_STATE.warn\n        )\n        expect(asNotification(update1.values[0].value).method).to.deep.equal([\n          ALARM_METHOD.visual\n        ])\n      }\n\n      // Push value in normal zone\n      valueStream.push(50)\n\n      expect(deltas.length).to.equal(3)\n      const update2 = deltas[2].updates[0]\n      if (hasValues(update2)) {\n        expect(asNotification(update2.values[0].value).state).to.equal(\n          ALARM_STATE.normal\n        )\n      }\n    })\n\n    it('does not send duplicate notifications for same zone', () => {\n      const zones: Zone[] = [\n        {\n          lower: 0,\n          upper: 10,\n          state: ALARM_STATE.alarm,\n          message: 'Too low'\n        }\n      ]\n\n      const mockBus = new Bacon.Bus()\n      const valueStream = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => valueStream\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      mockBus.push({\n        path: 'test.temperature' as Path,\n        value: { zones }\n      })\n\n      // Push multiple values in same zone\n      valueStream.push(5)\n      valueStream.push(6)\n      valueStream.push(7)\n\n      // Should only send one notification\n      expect(deltas.length).to.equal(1)\n    })\n\n    it('sends normal notification when value is outside all zones', () => {\n      const zones: Zone[] = [\n        {\n          lower: 10,\n          upper: 20,\n          state: ALARM_STATE.warn,\n          message: 'Warning zone'\n        }\n      ]\n\n      const mockBus = new Bacon.Bus()\n      const valueStream = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => valueStream\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      mockBus.push({\n        path: 'test.temperature' as Path,\n        value: { zones }\n      })\n\n      // Push value outside all zones\n      valueStream.push(25)\n\n      expect(deltas.length).to.equal(1)\n      const update = deltas[0].updates[0]\n      if (hasValues(update)) {\n        expect(asNotification(update.values[0].value).state).to.equal(\n          ALARM_STATE.normal\n        )\n        expect(asNotification(update.values[0].value).message).to.equal(\n          'Value is within normal range'\n        )\n      }\n    })\n\n    it('sends normal notification when zones are cleared', () => {\n      const mockBus = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => new Bacon.Bus()\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      // Clear zones\n      mockBus.push({\n        path: 'test.temperature' as Path,\n        value: { zones: null }\n      })\n\n      expect(deltas.length).to.equal(1)\n      const update = deltas[0].updates[0]\n      if (hasValues(update)) {\n        expect(update.values[0].path).to.equal('notifications.test.temperature')\n        expect(asNotification(update.values[0].value).state).to.equal(\n          ALARM_STATE.normal\n        )\n        expect(asNotification(update.values[0].value).method).to.deep.equal([])\n      }\n    })\n  })\n\n  describe('zone boundaries', () => {\n    it('handles lower boundary correctly', () => {\n      const zones: Zone[] = [\n        {\n          lower: 10,\n          upper: 20,\n          state: ALARM_STATE.warn,\n          message: 'Warning'\n        }\n      ]\n\n      const mockBus = new Bacon.Bus()\n      const valueStream = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => valueStream\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      mockBus.push({\n        path: 'test.path' as Path,\n        value: { zones }\n      })\n\n      // Value exactly at lower boundary should be included\n      valueStream.push(10)\n      expect(deltas.length).to.equal(1)\n      const update0 = deltas[0].updates[0]\n      if (hasValues(update0)) {\n        expect(asNotification(update0.values[0].value).state).to.equal(\n          ALARM_STATE.warn\n        )\n      }\n\n      // Reset\n      deltas.length = 0\n\n      // Value just below lower boundary should not be included\n      valueStream.push(9.99)\n      expect(deltas.length).to.equal(1)\n      const update1 = deltas[0].updates[0]\n      if (hasValues(update1)) {\n        expect(asNotification(update1.values[0].value).state).to.equal(\n          ALARM_STATE.normal\n        )\n      }\n    })\n\n    it('handles upper boundary correctly', () => {\n      const zones: Zone[] = [\n        {\n          lower: 10,\n          upper: 20,\n          state: ALARM_STATE.warn,\n          message: 'Warning'\n        }\n      ]\n\n      const mockBus = new Bacon.Bus()\n      const valueStream = new Bacon.Bus()\n      const mockStreambundle: MockStreambundle = {\n        getSelfMetaBus: () => mockBus,\n        getSelfStream: (_path: Path) => valueStream\n      }\n\n      const deltas: Delta[] = []\n      const sendDelta = (delta: Delta) => deltas.push(delta)\n\n      // Create zones instance\n      new Zones(mockStreambundle as never, sendDelta)\n\n      mockBus.push({\n        path: 'test.path' as Path,\n        value: { zones }\n      })\n\n      // Value exactly at upper boundary should not be included\n      valueStream.push(20)\n      expect(deltas.length).to.equal(1)\n      const update0 = deltas[0].updates[0]\n      if (hasValues(update0)) {\n        expect(asNotification(update0.values[0].value).state).to.equal(\n          ALARM_STATE.normal\n        )\n      }\n\n      // Reset\n      deltas.length = 0\n\n      // Value just below upper boundary should be included\n      valueStream.push(19.99)\n      expect(deltas.length).to.equal(1)\n      const update1 = deltas[0].updates[0]\n      if (hasValues(update1)) {\n        expect(asNotification(update1.values[0].value).state).to.equal(\n          ALARM_STATE.warn\n        )\n      }\n    })\n  })\n})\n"
  },
  {
    "path": "test-server-as-include/package.json",
    "content": "{\n  \"name\": \"empty\",\n  \"version\": \"1.0.0\",\n  \"main\": \"works-as-include.js\",\n  \"dependencies\": {\n    \"app-root-path\": \"^2.1.0\"\n  }\n}\n"
  },
  {
    "path": "test-server-as-include/run.sh",
    "content": "#!/bin/bash\n\nTMPDIR=$(mktemp -d)\n\ntrap \"exit 1\"         HUP INT PIPE QUIT TERM\ntrap \"rm -rf $TMPDIR\" EXIT\n\nBASEDIR=$(dirname $0)\n\n#copy test files to the tmp directory\ncp -r ${BASEDIR} $TMPDIR\n\n#pack the server and install from the packed tar file\nORIGINDIR=$(PWD)\nPACKEDTARFILE=$(npm pack 2>/dev/null)\ncd $TMPDIR/$BASEDIR\nnpm install\nnpm install $ORIGINDIR/$PACKEDTARFILE\n\nexport SETTINGSDIR=$TMPDIR/settings\nmkdir $SETTINGSDIR\n\nnode works-as-include.js\n\n"
  },
  {
    "path": "test-server-as-include/works-as-include.js",
    "content": "const appRoot = require('app-root-path')\nconst SignalKServer = require('signalk-server')\n\nconst config = {\n  appPath: appRoot.path,\n  configPath: process.env.SETTINGSDIR\n}\n\nconsole.log(config)\nconst server = new SignalKServer({ config })\nserver.start()\n"
  },
  {
    "path": "tools/README.md",
    "content": "# Signal K Server Tools\n\nThis directory contains utility scripts for testing and development.\n\n## OIDC Test Scripts\n\nThese scripts test the OIDC authentication flow against a running Signal K server with OIDC configured.\n\n### Prerequisites\n\n- A running Signal K server with OIDC enabled\n- An OIDC provider (Authelia, Keycloak, etc.) configured and accessible\n- `curl` and `python3` installed\n- Valid OIDC credentials\n\n### test-oidc-flow.sh\n\nTests the complete OIDC authentication flow step by step:\n\n1. Checks OIDC status on Signal K\n2. Initiates OIDC login\n3. Authenticates with the OIDC provider\n4. Exchanges authorization code\n5. Completes the callback\n6. Verifies login status\n7. Decodes the JWT token\n\n```bash\n./test-oidc-flow.sh -s https://signalk.local:3000 -p \"password\" -v\n\n# With explicit auth URL and Keycloak\n./test-oidc-flow.sh -s https://signalk.local:3000 \\\n    -a https://keycloak.local/realms/myrealm \\\n    --auth-type keycloak \\\n    -u admin -p \"password\"\n```\n\n### test-oidc-all.sh\n\nComprehensive test suite that tests:\n\n- OIDC configuration status\n- Login redirect functionality\n- Full authentication flow\n- Permission mapping (admin/readwrite/readonly)\n\n```bash\n./test-oidc-all.sh -s https://signalk.local:3000 -p \"password\"\n```\n\n### test-oidc-sso.sh\n\nTests Single Sign-On (SSO) functionality:\n\n1. Authenticates directly with OIDC provider (simulating prior login)\n2. Verifies session cookie is established\n3. Initiates Signal K OIDC login\n4. Verifies no re-authentication is required\n5. Confirms user is logged in with correct permissions\n\n```bash\n./test-oidc-sso.sh -s https://signalk.local:3000 -p \"password\" -v\n```\n\n### Common Options\n\n| Option                | Description                                       |\n| --------------------- | ------------------------------------------------- |\n| `-s, --signalk URL`   | Signal K server URL (required)                    |\n| `-a, --auth URL`      | OIDC provider URL (auto-detected if not provided) |\n| `-u, --username USER` | OIDC username (default: admin)                    |\n| `-p, --password PASS` | OIDC password (required)                          |\n| `-v, --verbose`       | Show verbose debug output                         |\n| `-k, --insecure`      | Allow insecure SSL (self-signed certs)            |\n| `--auth-type TYPE`    | Provider type: `authelia`, `keycloak`, `generic`  |\n\n### Environment Variables\n\nInstead of command-line options, you can use:\n\n```bash\nexport SIGNALK_URL=https://signalk.local:3000\nexport AUTH_URL=https://auth.local\nexport AUTH_USERNAME=admin\nexport AUTH_PASSWORD=secret\nexport AUTH_TYPE=authelia\n\n./test-oidc-flow.sh\n```\n\n### Output\n\nAll scripts save detailed output to `/tmp/oidc_test_<timestamp>/` or `/tmp/sso_test_<timestamp>/` including:\n\n- HTTP headers from each step\n- Response bodies\n- Login status JSON\n- Decoded JWT tokens\n\n### Exit Codes\n\n- `0`: All tests passed\n- `1`: One or more tests failed\n- `2`: Tests passed but user has unexpected permission level\n\n### Supported Providers\n\n- **Authelia**: Full support with firstfactor API\n- **Keycloak**: Form-based login support\n- **Generic**: Basic flow (may require manual authentication)\n"
  },
  {
    "path": "tools/oidc-test-env/README.md",
    "content": "# OIDC Test Environment for Signal K\n\nA minimal Authelia + Traefik setup for testing Signal K's OIDC authentication locally.\n\n**WARNING**: This configuration uses static test secrets and is NOT secure for production use!\n\n## Prerequisites\n\nNone! The `*.localhost` domains resolve to `127.0.0.1` automatically on most systems.\n\n## Quick Start\n\n1. **Start the environment**:\n\n   ```bash\n   cd tools/oidc-test-env\n   docker compose up -d\n   ```\n\n2. **Verify Authelia is running**:\n\n   ```bash\n   curl -k https://auth.test.localhost/api/health\n   ```\n\n3. **Run Signal K** - choose one of these methods:\n\n   **Option A: Local development server**\n\n   ```bash\n   NODE_TLS_REJECT_UNAUTHORIZED=0 npm start\n   ```\n\n   Then configure OIDC via the admin UI or `security.json`.\n\n   **Option B: Docker container** (for quick testing)\n\n   ```bash\n   docker run -d --name signalk-oidc-test \\\n     --network oidc-test-env_oidc-test \\\n     --add-host auth.test.localhost:$(docker inspect traefik-test --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}') \\\n     -p 3000:3000 \\\n     -e SIGNALK_OIDC_ENABLED=true \\\n     -e SIGNALK_OIDC_ISSUER=https://auth.test.localhost \\\n     -e SIGNALK_OIDC_CLIENT_ID=signalk \\\n     -e SIGNALK_OIDC_CLIENT_SECRET=signalk-test-secret \\\n     -e SIGNALK_OIDC_ADMIN_GROUPS=admins \\\n     -e SIGNALK_OIDC_AUTO_CREATE_USERS=true \\\n     -e NODE_TLS_REJECT_UNAUTHORIZED=0 \\\n     ghcr.io/hatlabs/signalk-server:oidc-test\n   ```\n\n4. **Test the login flow** by navigating to http://localhost:3000 and clicking \"Login with SSO\"\n\n## Test Users\n\n| Username | Password | Groups | Description  |\n| -------- | -------- | ------ | ------------ |\n| admin    | test     | admins | Admin user   |\n| user     | test     | (none) | Regular user |\n\n## URLs\n\n| Service           | URL                                                          |\n| ----------------- | ------------------------------------------------------------ |\n| Authelia          | https://auth.test.localhost                                  |\n| Traefik Dashboard | http://localhost:8080                                        |\n| OIDC Discovery    | https://auth.test.localhost/.well-known/openid-configuration |\n\n## Signal K OIDC Configuration\n\nAdd to your Signal K `security.json`:\n\n```json\n{\n  \"oidc\": {\n    \"issuer\": \"https://auth.test.localhost\",\n    \"clientId\": \"signalk\",\n    \"clientSecret\": \"signalk-test-secret\"\n  }\n}\n```\n\nOr configure via the Signal K admin UI under Security > Authentication.\n\n**Important**: Signal K must trust the self-signed certificate. Set `NODE_TLS_REJECT_UNAUTHORIZED=0` when running Signal K for testing.\n\n## Verifying OIDC Setup\n\n```bash\n# Health check (accept self-signed cert with -k)\ncurl -k https://auth.test.localhost/api/health\n\n# OIDC discovery document\ncurl -k https://auth.test.localhost/.well-known/openid-configuration\n```\n\n## Stopping the Environment\n\n```bash\ndocker compose down\n\n# To also remove the data volume:\ndocker compose down -v\n```\n\n## Troubleshooting\n\n### Certificate errors in Signal K\n\nSignal K needs to trust the self-signed certificate. For testing:\n\n```bash\nNODE_TLS_REJECT_UNAUTHORIZED=0 npm start\n```\n\n### \"Invalid redirect URI\" error\n\nThe redirect URI must match one of the configured URIs in `authelia/configuration.yml`.\nPre-configured URIs:\n\n- `https://signalk.test.localhost:3000/signalk/v1/auth/oidc/callback`\n- `http://localhost:3000/signalk/v1/auth/oidc/callback`\n\nIf Signal K runs on a different port, update `authelia/configuration.yml`.\n\n### \"Invalid client credentials\" error\n\nThe client secret must be exactly: `signalk-test-secret`\n\n### Container won't start\n\nCheck logs:\n\n```bash\ndocker compose logs authelia\ndocker compose logs traefik\n```\n\n### `*.localhost` doesn't resolve\n\nOn some older systems, `*.localhost` subdomains may not resolve automatically.\nAdd to `/etc/hosts`:\n\n```\n127.0.0.1 auth.test.localhost signalk.test.localhost\n```\n\n## Architecture\n\n```\n                    ┌─────────────────┐\n                    │   Browser       │\n                    └────────┬────────┘\n                             │\n                    ┌────────▼────────┐\n                    │  Traefik :443   │  (self-signed TLS)\n                    │  auth.test.localhost\n                    └────────┬────────┘\n                             │\n                    ┌────────▼────────┐\n                    │ Authelia :9091  │\n                    │  (OIDC Provider)│\n                    └─────────────────┘\n\nSignal K runs separately on signalk.test.localhost:3000\n```\n\n## Why `test.localhost`?\n\n- `*.localhost` domains resolve to `127.0.0.1` automatically (RFC 6761)\n- `test.localhost` (with a period) satisfies Authelia's cookie domain requirement\n- No `/etc/hosts` editing required on modern systems\n\n## Files\n\n- `docker-compose.yml` - Traefik and Authelia containers\n- `traefik/traefik.yml` - Traefik static configuration\n- `traefik/dynamic.yml` - Traefik routing to Authelia\n- `authelia/configuration.yml` - Authelia configuration with OIDC client for Signal K\n- `authelia/users_database.yml` - Test user accounts\n\n## Security Notice\n\nThis test environment:\n\n- Uses static, published secrets\n- Uses self-signed TLS certificates\n- Has debug logging enabled\n- Should NEVER be exposed to the internet\n\nFor production deployments, see the [Authelia documentation](https://www.authelia.com/configuration/).\n"
  },
  {
    "path": "tools/oidc-test-env/authelia/configuration.yml",
    "content": "# Authelia Configuration for Signal K OIDC Testing\n# WARNING: This configuration uses static test secrets and is NOT secure for production!\n#\n# Uses .localhost domains which resolve to 127.0.0.1 automatically (no /etc/hosts needed)\n\ntheme: auto\n\nserver:\n  address: tcp://0.0.0.0:9091/\n\nlog:\n  level: debug\n\nauthentication_backend:\n  file:\n    path: /config/users_database.yml\n    password:\n      algorithm: argon2id\n      argon2:\n        variant: argon2id\n        iterations: 3\n        memory: 65536\n        parallelism: 4\n        key_length: 32\n        salt_length: 16\n\nsession:\n  # Static test secret - DO NOT use in production\n  secret: 'test_session_secret_for_signalk_oidc_testing_only'\n  cookies:\n    - domain: 'test.localhost'\n      authelia_url: 'https://auth.test.localhost'\n      default_redirection_url: 'https://signalk.test.localhost:3000'\n      same_site: 'lax'\n\nstorage:\n  # Static test key - DO NOT use in production\n  encryption_key: 'test_encryption_key_for_signalk_oidc_32ch'\n  local:\n    path: /data/db.sqlite3\n\nidentity_validation:\n  reset_password:\n    jwt_secret: 'test_reset_password_jwt_secret_for_testing'\n\nnotifier:\n  filesystem:\n    filename: /data/notification.txt\n\naccess_control:\n  default_policy: one_factor\n\nidentity_providers:\n  oidc:\n    # Static test secret - DO NOT use in production\n    hmac_secret: 'test_oidc_hmac_secret_for_signalk_testing'\n    jwks:\n      - key: |\n          -----BEGIN PRIVATE KEY-----\n          MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQCisRDXN3gqgeXz\n          dITqEj83kyQSOyXa+cvuaC0E/Bu5GhrqS1du2uSmFdH8NGpsykoMjxagdw+EB1aB\n          VMemnn+eXLfpM36UDAlyIC8VdjKyp2Ygi8qtvX+zfvMh5GbmEjuIRVybPdzbRa+r\n          QJtn52DgfjoZND58S7hYfX46l5lzO5W1OFmIk5ZN5qrSTK+z/6ZseCVHG/M+het2\n          d0lkRy13KMveNBELL+DYBtEeHpeCkMf4t0wD/TLRxVUM+o/c+Xno+JDuc6TGQG2w\n          HTAxepoTRe12htdP/LFW9bFDqVRyEiFl5blk/uVfD5vQZd07OV3ZiHk6HfbFbXr/\n          BYa/KuZ+HEjoAlspoEBmq5UgrfGp8RbcX0NRHdOe7Z7erQSzGJS7OdMRIsM/c/S5\n          t2VztqFoPNS6EcIkerNATX7tXrBfsvVsp5r+7IF97/O+RjMm8/jlnudDthvAWKjE\n          MmVg3ouQqHoTNrI8FCyJ2jhm2TgTdCgGRSS6dja53CBRI3L7KjxyZaB7PbrQqfn6\n          EeAH/UkrrpAXze3Xx7SndHJHozPVE9HEs/pIPkHfXOmg0eJKAu4souCoeYJTgpDR\n          SkzdDv+/Tj4FOue3ZZ0EEPJEsU98yoMV52dOtTx2/ngyNzzhuM/rZ08/UjQEjrF9\n          hDEM6yRzZVSmoUa2nBcDhjTDdHcUIwIDAQABAoICAAweo7IHXFN8/3aOS2ktOHoO\n          jeUxHyX7w4uRmtT1u6ejlbYMLHRs0xQPqRJ1jH4T6HCcvONHAKgQbIsll9qbkRyT\n          gfyEjQfrXk1wWgGVH2a8CLl2SyrROfD9t+ViS0tqt/ZJWyznbrYDsCKnpUwYFQP0\n          SKYLBHf5o2nYLhigUC/2PuCpVNDTVHhI2EM4BO4kUS9gbep+XwsH1UgrJROsJ8C/\n          kHG6WuYEnZE073bOcZv/kXNqTZE4ggTVg1CnCSOS5C2M+C2t/hbqGCHCsuM6Dmik\n          JhyqeTdottn9uJm2mhIGCWiQCf/Hlf+/EmzzwbIr7l1fs3mMX49Kk3CUZqWEGnfT\n          08Y+BLM8+VUNZebmNisMlDT6T94+JlbBJyH9X6pMgrmWTqzN2f1KKw6M0vmmAwAa\n          t4WH37tWSBHOqqVZbD5U+OGJMwDHh2lYix7CZF08jm5BT/23vwPs6HEUi9gLJhCy\n          /AgXrotO4C5YB73VHDEzsOoNSGWPTLH/wbDVegSH0wkYZhS1qVRxs6scqOkDEn70\n          YXiTARGzqB6C39j+TTuEWu/SfZgUb1qzPm9vrA+ZGikV0x0/23dS0906Es+cBkSY\n          zJSMQcOb/Q6k5c5vPSBG/gt3eUrC/G83kk4rS/Yd6gptfcpy2WUUdtT17ehZAU4G\n          M+UEr95UPN1PgjiAA0gVAoIBAQDSPRRvB5TTLpYKTxejCuWT50zwfcv55zTRtYfI\n          tKgN0DLDxx5nZxrqtpNkt9vmJdQreSvJL3JFzXCDJlgToUqtRTy78LtNh2IGudS4\n          vzHdiq3PlO2QB3RLKHUDwc5jdMOxMyQ6P3fy95PQy96PcQ6KCq7/O6t4C7eugsuE\n          eKVlJAbehDE+Q548dwESlMw+eDEQe3J4xVeKtsm4K7+O4TENtDuAroEg/cVNOLph\n          bov2oI5HaSWshDGlMmSRvU4VA5RJDh7oMs1RX0LdHVv69fA35O0e7lQHtF5p8XT7\n          jotxJCV8HW4HMPQ/owKo3kU66hlWWRllSnX0oQBdF/voylAlAoIBAQDGGpMiVJuX\n          UbuVGiYEH/yqwn/tnybXqz3schEd9Sd6roo1EKceP0CAlxY0iPNb775he0iuNvUd\n          KqwxD7SVwesWqo8EbiFVyL9SFP2MIrXPgtyBqP5k0usPNB7sqUqt4EjBXqpYZVxP\n          qCImgPsT6neE2Kwcza/G1/p0hlK5LWO8Hd5q/Kokw0jQ8PvdLur11qY8xcau3kRw\n          4KIXE0zPeLow3JXA+Rd4dsYbRa+TvdQh5uMcLNjpFAYBha3A1bvwpi8/Horx4p5/\n          R7Fr8wHYGQauPAui96tIyJcOC4Lm2cIjV50CKKK9fwINvmWh/eX1BjzlJuMRPRsh\n          fHxR7FrIGdynAoIBAQCnxZxn2in2uQd9JI7dSpXYiM2KYSkEvXAWJgI8tYYit9G7\n          EEyAAfSl95r51gtCx09gfermOtm7QG2YC2JgD+ezDDyiUkJ2ZSJh8awC3njhrYh0\n          zgkiVgCE9b0jiWa1UXnVD9XKMdn753xrNDXgTD1pBYuPHMQCIX+sYK4egdSjOLPO\n          oLlXUciVwfX2KQ4wj+O/nnPEUt9AUAv7z9WnJKfroreVQizD8h+gNzPtCrXg01GX\n          RR6OZFPl26gL8YC9HkUYY49ghyH33MhUAdjkFZ1kTWi4tUITf+mUK97J3IAEgu7y\n          891ZGcTgf6pgrjebAzPDB4lPnrMwy8apg7lAlSqNAoIBAC/+5ELfCMtCjBX1vdwl\n          +8tLUD873edGn7wXbro5WRVKEEYHANY9MN12vXSA8aUGkrN/cP50ZjJo0ksYqQHX\n          d6OIMxo5rG3iMygp2bwH9NCPvejUDr5Ss4x9bjicU3GI81eWHeNIu3K5I3z8ptgO\n          aGKRNDHOS5X7Yby1hnlC2/UJr4dwK7C4d33XxM2zvk1Ncf0rVZWsWByY7+xzSprB\n          fyqzZrzYHK2c6SZWXdGHnkuQatm6q9rcdRANWSltHxmQycWbGsK7yva/Yebrezjl\n          505zUcZsBt2da6uFcnOHspdpdKq/OZ57lP3LcUgsAXi5yCsknsLgcSBNzrjycJQm\n          X+UCggEAQeH1p370IFqW8YkHxeoqW1WdCxiyx9iUf355f8+czjUCqwBXXGH6SM7R\n          F1X3BYvBd8MZuJYk8ESIXAQ4grTvOeecEqmNR/QD5ZBrKR7ZafQ3oEvh4xNci8Oy\n          D4xzFRVKgXOHCVZuVAPNyUKkdlav+C6kMByu7mGCl2Dsg8w/Rf9ukeHuoTc9lIv6\n          /7C+80psLWp67tiMc0wd7tHJGBant6GMfTX/V8pBeLBUD+UK8QvlNQuqRi/2x11O\n          7ULtuG9KYxOtnswba0HszNTyO/aPHkuByy01kll+RklMyl4zpiWsHTzGDZsJqvZX\n          LtrX86EbIlyMH62sRXNTRLmAXm32AQ==\n          -----END PRIVATE KEY-----\n    clients:\n      - client_id: signalk\n        client_name: 'Signal K Server'\n        # Plaintext secret: signalk-test-secret\n        client_secret: '$pbkdf2-sha512$310000$zBSvouZt05kvL.lp2T1g9w$QmDuzPZ89s/.hE/pRu8r85VWWpAx2jLFqOWwKq.8GDq4Jq4DbvcB4JBpGQ2wk3F.of3RNYsdCyacsX2LSJdSFw'\n        public: false\n        authorization_policy: one_factor\n        redirect_uris:\n          - 'https://signalk.test.localhost:3000/signalk/v1/auth/oidc/callback'\n          - 'http://localhost:3000/signalk/v1/auth/oidc/callback'\n        scopes:\n          - openid\n          - profile\n          - email\n          - groups\n        userinfo_signed_response_alg: none\n        consent_mode: implicit\n        token_endpoint_auth_method: client_secret_post\n"
  },
  {
    "path": "tools/oidc-test-env/authelia/users_database.yml",
    "content": "# Authelia Users Database for Signal K OIDC Testing\n# WARNING: This is for testing only - DO NOT use in production!\n#\n# Users:\n#   - admin / test  (member of 'admins' group)\n#   - user / test   (no special groups)\n\nusers:\n  admin:\n    displayname: 'Test Admin'\n    # Password: test\n    # Generated with: authelia crypto hash generate argon2 --password test\n    password: '$argon2id$v=19$m=65536,t=3,p=4$LcT0Bw2GcEbf97Zpa9e9Bg$+1q4MNwRV4bRuXuxla6qCKqKWtJp38u2xT5Txj/p50o'\n    email: admin@test.local\n    groups:\n      - admins\n\n  user:\n    displayname: 'Test User'\n    # Password: test\n    password: '$argon2id$v=19$m=65536,t=3,p=4$LcT0Bw2GcEbf97Zpa9e9Bg$+1q4MNwRV4bRuXuxla6qCKqKWtJp38u2xT5Txj/p50o'\n    email: user@test.local\n    groups: []\n"
  },
  {
    "path": "tools/oidc-test-env/docker-compose.yml",
    "content": "# OIDC Test Environment for Signal K\n# Run: docker compose up -d\n# Authelia: https://auth.test.localhost\n# No /etc/hosts needed - *.localhost resolves to 127.0.0.1\n# See README.md for setup instructions\n\nservices:\n  traefik:\n    image: traefik:v3.0\n    container_name: traefik-test\n    ports:\n      - '80:80'\n      - '443:443'\n      - '8080:8080' # Traefik dashboard\n    volumes:\n      - ./traefik/traefik.yml:/etc/traefik/traefik.yml:ro\n      - ./traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro\n    networks:\n      - oidc-test\n    restart: unless-stopped\n\n  authelia:\n    image: authelia/authelia:4.39\n    container_name: authelia-test\n    volumes:\n      - ./authelia:/config:ro\n      - authelia-data:/data\n    environment:\n      TZ: UTC\n    networks:\n      - oidc-test\n    depends_on:\n      - traefik\n    restart: unless-stopped\n\nnetworks:\n  oidc-test:\n    driver: bridge\n\nvolumes:\n  authelia-data:\n"
  },
  {
    "path": "tools/oidc-test-env/traefik/dynamic.yml",
    "content": "# Traefik dynamic configuration\nhttp:\n  routers:\n    authelia:\n      rule: 'Host(`auth.test.localhost`)'\n      entryPoints:\n        - websecure\n      service: authelia\n      tls: {}\n\n  services:\n    authelia:\n      loadBalancer:\n        servers:\n          - url: 'http://authelia:9091'\n\ntls:\n  stores:\n    default:\n      defaultGeneratedCert:\n        resolver: default\n        domain:\n          main: 'test.localhost'\n          sans:\n            - '*.test.localhost'\n"
  },
  {
    "path": "tools/oidc-test-env/traefik/traefik.yml",
    "content": "# Traefik static configuration\napi:\n  insecure: true\n\nentryPoints:\n  web:\n    address: ':80'\n    http:\n      redirections:\n        entryPoint:\n          to: websecure\n          scheme: https\n  websecure:\n    address: ':443'\n\nproviders:\n  file:\n    filename: /etc/traefik/dynamic.yml\n    watch: true\n"
  },
  {
    "path": "tools/test-auth-negative.sh",
    "content": "#!/bin/bash\n#\n# Authentication Negative Test Script for Signal K Server\n#\n# Tests that invalid authentication attempts are properly rejected:\n# - Malformed JWT tokens\n# - Invalid JWT signatures\n# - Expired JWT tokens (including properly-signed ones)\n# - Invalid OIDC callback parameters\n# - OIDC state mismatches\n#\n# Usage:\n#   ./test-auth-negative.sh [options]\n#\n# Options:\n#   -h, --help              Show this help message\n#   -u, --url URL           Signal K server URL (default: http://localhost:3000)\n#   -s, --secret KEY        JWT secret key for signed token tests (optional)\n#   -v, --verbose           Show verbose output\n#   -k, --insecure          Allow insecure SSL (self-signed certs)\n#\n# Environment variables (alternative to options):\n#   SIGNALK_URL, SIGNALK_SECRET_KEY\n#\n# Examples:\n#   ./test-auth-negative.sh\n#   ./test-auth-negative.sh -u https://signalk.example.com\n#   ./test-auth-negative.sh -u https://signalk.example.com -s \"your-secret-key\"\n#   ./test-auth-negative.sh -u https://signalk.local -k -v\n#\n# Notes:\n#   - The --secret option enables testing of properly-signed expired tokens.\n#     Without it, only unsigned/malformed token tests are run.\n#   - The secret key can be found in your Signal K security.json file.\n#\n\nset -euo pipefail\n\n# Default values\nSIGNALK_URL=\"${SIGNALK_URL:-http://localhost:3000}\"\nSECRET_KEY=\"${SIGNALK_SECRET_KEY:-}\"\nVERBOSE=false\nINSECURE=false\n\n# Colors for output\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nYELLOW='\\033[1;33m'\nBLUE='\\033[0;34m'\nNC='\\033[0m' # No Color\n\n# Test counters\nTESTS_PASSED=0\nTESTS_FAILED=0\nTESTS_SKIPPED=0\n\nusage() {\n    sed -n '2,/^$/p' \"$0\" | grep '^#' | sed 's/^# \\?//'\n    exit 0\n}\n\nlog() {\n    echo -e \"${BLUE}[INFO]${NC} $*\"\n}\n\nlog_success() {\n    echo -e \"${GREEN}[PASS]${NC} $*\"\n}\n\nlog_error() {\n    echo -e \"${RED}[FAIL]${NC} $*\" >&2\n}\n\nlog_warn() {\n    echo -e \"${YELLOW}[WARN]${NC} $*\"\n}\n\nlog_skip() {\n    echo -e \"${YELLOW}[SKIP]${NC} $*\"\n}\n\nlog_verbose() {\n    if $VERBOSE; then\n        echo -e \"${BLUE}[DEBUG]${NC} $*\"\n    fi\n}\n\nlog_test() {\n    echo -e \"\\n${YELLOW}[TEST]${NC} $*\"\n}\n\n# Parse command line arguments\nwhile [[ $# -gt 0 ]]; do\n    case $1 in\n        -h|--help)\n            usage\n            ;;\n        -u|--url)\n            SIGNALK_URL=\"$2\"\n            shift 2\n            ;;\n        -s|--secret)\n            SECRET_KEY=\"$2\"\n            shift 2\n            ;;\n        -v|--verbose)\n            VERBOSE=true\n            shift\n            ;;\n        -k|--insecure)\n            INSECURE=true\n            shift\n            ;;\n        *)\n            log_error \"Unknown option: $1\"\n            usage\n            ;;\n    esac\ndone\n\n# Build curl options\nCURL_OPTS=\"-s\"\nif $INSECURE; then\n    CURL_OPTS=\"$CURL_OPTS -k\"\nfi\n\n# URLs\nLOGIN_STATUS_URL=\"${SIGNALK_URL}/skServer/loginStatus\"\nOIDC_CALLBACK_URL=\"${SIGNALK_URL}/signalk/v1/auth/oidc/callback\"\n\n# Test helper function\nassert_response_contains() {\n    local test_name=\"$1\"\n    local response=\"$2\"\n    local expected=\"$3\"\n\n    if echo \"$response\" | grep -q \"$expected\"; then\n        log_success \"$test_name\"\n        ((TESTS_PASSED++))\n        return 0\n    else\n        log_error \"$test_name\"\n        log_verbose \"Expected to contain: $expected\"\n        log_verbose \"Got: $response\"\n        ((TESTS_FAILED++))\n        return 1\n    fi\n}\n\nassert_response_not_contains() {\n    local test_name=\"$1\"\n    local response=\"$2\"\n    local not_expected=\"$3\"\n\n    if echo \"$response\" | grep -q \"$not_expected\"; then\n        log_error \"$test_name\"\n        log_verbose \"Should NOT contain: $not_expected\"\n        log_verbose \"Got: $response\"\n        ((TESTS_FAILED++))\n        return 1\n    else\n        log_success \"$test_name\"\n        ((TESTS_PASSED++))\n        return 0\n    fi\n}\n\n# ============================================================================\n# JWT VALIDATION TESTS\n# ============================================================================\n\ntest_jwt_validation() {\n    log_test \"JWT Token Validation Tests\"\n\n    # Test 1: No token - should return notLoggedIn status\n    log \"Testing request with no token...\"\n    response=$(curl $CURL_OPTS \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"No token returns notLoggedIn\" \"$response\" '\"status\":\"notLoggedIn\"'\n\n    # Test 2: Empty token - should return notLoggedIn status\n    log \"Testing request with empty token...\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Empty token returns notLoggedIn\" \"$response\" '\"status\":\"notLoggedIn\"'\n\n    # Test 3: Malformed token (not a JWT)\n    log \"Testing request with malformed token...\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=not-a-valid-jwt\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Malformed token rejected\" \"$response\" \"bad auth token\"\n\n    # Test 4: Invalid JWT structure (missing parts)\n    log \"Testing request with incomplete JWT...\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=eyJhbGciOiJIUzI1NiJ9.eyJpZCI6ImFkbWluIn0\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Incomplete JWT rejected\" \"$response\" \"bad auth token\"\n\n    # Test 5: Invalid signature (valid structure, wrong signature)\n    log \"Testing request with invalid signature...\"\n    FAKE_JWT=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFkbWluIiwiZXhwIjo5OTk5OTk5OTk5fQ.invalid_signature\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=$FAKE_JWT\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Invalid signature rejected\" \"$response\" \"bad auth token\"\n\n    # Test 6: Expired token (valid structure, past expiration)\n    log \"Testing request with expired token...\"\n    # exp: 1000000000 = Sep 2001\n    EXPIRED_JWT=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFkbWluIiwiZXhwIjoxMDAwMDAwMDAwfQ.fake_sig\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=$EXPIRED_JWT\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Expired token rejected\" \"$response\" \"bad auth token\"\n}\n\n# ============================================================================\n# PROPERLY-SIGNED TOKEN TESTS (requires --secret)\n# ============================================================================\n\ntest_signed_tokens() {\n    log_test \"Properly-Signed Token Tests\"\n\n    if [[ -z \"$SECRET_KEY\" ]]; then\n        log_skip \"Skipping signed token tests (no --secret provided)\"\n        log_verbose \"To run these tests, provide the JWT secret key from security.json\"\n        ((TESTS_SKIPPED+=3))\n        return 0\n    fi\n\n    log_verbose \"Using provided secret key: ${SECRET_KEY:0:10}...\"\n\n    # Check if node is available\n    if ! command -v node &> /dev/null; then\n        log_warn \"Node.js not found - skipping signed token tests\"\n        ((TESTS_SKIPPED+=3))\n        return 0\n    fi\n\n    # Create a properly-signed but expired token\n    log \"Creating properly-signed expired token...\"\n    EXPIRED_TOKEN=$(SECRET=\"$SECRET_KEY\" node -e '\nconst crypto = require(\"crypto\");\nconst header = Buffer.from(JSON.stringify({alg:\"HS256\",typ:\"JWT\"})).toString(\"base64url\");\n// Expired 1 hour ago\nconst payload = Buffer.from(JSON.stringify({id:\"admin\",exp:Math.floor(Date.now()/1000) - 3600})).toString(\"base64url\");\nconst sig = crypto.createHmac(\"sha256\", process.env.SECRET).update(header + \".\" + payload).digest(\"base64url\");\nconsole.log(header + \".\" + payload + \".\" + sig);\n')\n\n    log_verbose \"Expired token: ${EXPIRED_TOKEN:0:50}...\"\n\n    # Test the expired token\n    log \"Testing properly-signed but expired token...\"\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=$EXPIRED_TOKEN\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Properly-signed expired token rejected\" \"$response\" \"bad auth token\"\n\n    # Verify our signing works by creating a valid token\n    log \"Verifying signing by creating a valid token...\"\n    VALID_TOKEN=$(SECRET=\"$SECRET_KEY\" node -e '\nconst crypto = require(\"crypto\");\nconst header = Buffer.from(JSON.stringify({alg:\"HS256\",typ:\"JWT\"})).toString(\"base64url\");\n// Expires in 1 hour\nconst payload = Buffer.from(JSON.stringify({id:\"admin\",exp:Math.floor(Date.now()/1000) + 3600})).toString(\"base64url\");\nconst sig = crypto.createHmac(\"sha256\", process.env.SECRET).update(header + \".\" + payload).digest(\"base64url\");\nconsole.log(header + \".\" + payload + \".\" + sig);\n')\n\n    response=$(curl $CURL_OPTS --cookie \"JAUTHENTICATION=$VALID_TOKEN\" \"$LOGIN_STATUS_URL\")\n    assert_response_contains \"Valid self-signed token accepted\" \"$response\" '\"status\":\"loggedIn\"'\n    assert_response_not_contains \"Valid token not rejected\" \"$response\" \"bad auth token\"\n}\n\n# ============================================================================\n# OIDC CALLBACK VALIDATION TESTS\n# ============================================================================\n\ntest_oidc_callback_validation() {\n    log_test \"OIDC Callback Validation Tests\"\n\n    # First check if OIDC is enabled\n    status_response=$(curl $CURL_OPTS \"$LOGIN_STATUS_URL\")\n    if ! echo \"$status_response\" | grep -q '\"oidcEnabled\":true'; then\n        log_skip \"Skipping OIDC tests (OIDC not enabled on server)\"\n        ((TESTS_SKIPPED+=7))\n        return 0\n    fi\n\n    # Test 1: Missing both code and state\n    log \"Testing OIDC callback with no parameters...\"\n    response=$(curl $CURL_OPTS \"$OIDC_CALLBACK_URL\")\n    assert_response_contains \"Missing params redirects with error\" \"$response\" \"oidcError=true\"\n\n    # Test 2: Missing state parameter\n    log \"Testing OIDC callback with missing state...\"\n    response=$(curl $CURL_OPTS \"${OIDC_CALLBACK_URL}?code=fake_auth_code\")\n    assert_response_contains \"Missing state rejected\" \"$response\" \"Missing%20code%20or%20state\"\n\n    # Test 3: Missing code parameter\n    log \"Testing OIDC callback with missing code...\"\n    response=$(curl $CURL_OPTS \"${OIDC_CALLBACK_URL}?state=fake_state\")\n    assert_response_contains \"Missing code rejected\" \"$response\" \"Missing%20code%20or%20state\"\n\n    # Test 4: No state cookie\n    log \"Testing OIDC callback without state cookie...\"\n    response=$(curl $CURL_OPTS \"${OIDC_CALLBACK_URL}?code=fake&state=fake\")\n    assert_response_contains \"No state cookie rejected\" \"$response\" \"Session%20expired\"\n\n    # Test 5: Invalid/corrupted state cookie\n    log \"Testing OIDC callback with invalid state cookie...\"\n    response=$(curl $CURL_OPTS --cookie \"OIDC_STATE=corrupted_state_value\" \\\n        \"${OIDC_CALLBACK_URL}?code=fake&state=fake\")\n    assert_response_contains \"Invalid state cookie rejected\" \"$response\" \"Session%20expired\"\n\n    # Test 6: State mismatch (cookie vs URL param)\n    log \"Testing OIDC callback with state mismatch...\"\n    response=$(curl $CURL_OPTS --cookie \"OIDC_STATE=state_in_cookie\" \\\n        \"${OIDC_CALLBACK_URL}?code=fake&state=different_state_in_url\")\n    assert_response_contains \"State mismatch rejected\" \"$response\" \"Session%20expired\"\n\n    # Test 7: OIDC error response from provider\n    log \"Testing OIDC callback with error from provider...\"\n    response=$(curl $CURL_OPTS \"${OIDC_CALLBACK_URL}?error=access_denied&error_description=User%20denied%20access\")\n    assert_response_contains \"Provider error forwarded\" \"$response\" \"oidcError=true\"\n}\n\n# ============================================================================\n# AUTHORIZATION TESTS\n# ============================================================================\n\ntest_unauthorized_access() {\n    log_test \"Unauthorized Access Tests\"\n\n    # Test accessing admin-only endpoints without authentication\n    log \"Testing admin endpoint without auth...\"\n    response=$(curl $CURL_OPTS -w \"\\n%{http_code}\" \"${SIGNALK_URL}/skServer/security/config\")\n    http_code=$(echo \"$response\" | tail -1)\n\n    if [[ \"$http_code\" == \"401\" ]] || [[ \"$http_code\" == \"403\" ]]; then\n        log_success \"Admin endpoint requires authentication (HTTP $http_code)\"\n        ((TESTS_PASSED++))\n    else\n        log_verbose \"HTTP code: $http_code\"\n        log_warn \"Admin endpoint returned unexpected status (may be OK depending on config)\"\n        ((TESTS_PASSED++))\n    fi\n}\n\n# ============================================================================\n# MAIN\n# ============================================================================\n\nmain() {\n    log \"==============================================\"\n    log \"Signal K Authentication Negative Tests\"\n    log \"==============================================\"\n    log \"Server URL: $SIGNALK_URL\"\n    if [[ -n \"$SECRET_KEY\" ]]; then\n        log \"Secret key: provided (signed token tests enabled)\"\n    else\n        log \"Secret key: not provided (signed token tests will be skipped)\"\n    fi\n    log \"\"\n\n    # Check connectivity\n    log \"Checking connectivity to Signal K...\"\n    if ! curl $CURL_OPTS --connect-timeout 5 \"$LOGIN_STATUS_URL\" > /dev/null 2>&1; then\n        log_error \"Cannot connect to Signal K at $SIGNALK_URL\"\n        exit 1\n    fi\n    log_success \"Signal K is reachable\"\n\n    # Run test suites\n    test_jwt_validation\n    test_signed_tokens\n    test_oidc_callback_validation\n    test_unauthorized_access\n\n    # Summary\n    echo \"\"\n    log \"==============================================\"\n    log \"Test Summary\"\n    log \"==============================================\"\n    echo -e \"${GREEN}Passed:  $TESTS_PASSED${NC}\"\n    if [[ $TESTS_SKIPPED -gt 0 ]]; then\n        echo -e \"${YELLOW}Skipped: $TESTS_SKIPPED${NC}\"\n    fi\n    echo -e \"${RED}Failed:  $TESTS_FAILED${NC}\"\n\n    if [[ $TESTS_FAILED -gt 0 ]]; then\n        log_error \"Some tests failed!\"\n        exit 1\n    else\n        log_success \"All tests passed!\"\n        exit 0\n    fi\n}\n\nmain\n"
  },
  {
    "path": "tools/test-oidc-all.sh",
    "content": "#!/bin/bash\n#\n# Comprehensive OIDC Test Suite for Signal K Server\n#\n# Tests all OIDC functionality including:\n# - OIDC configuration status\n# - Auto-login configuration\n# - Admin permissions mapping\n# - Full login flow\n#\n# Usage:\n#   ./test-oidc-all.sh [options]\n#\n# Options:\n#   -s, --signalk URL       Signal K server URL (required)\n#   -a, --auth URL          OIDC provider URL (auto-detected if not provided)\n#   -u, --username USER     OIDC username (default: admin)\n#   -p, --password PASS     OIDC password (required)\n#   -v, --verbose           Show verbose output\n#   --auth-type TYPE        Auth provider type: authelia, keycloak, generic (default: authelia)\n#\n# Environment variables (alternative to options):\n#   SIGNALK_URL, AUTH_URL, AUTH_USERNAME, AUTH_PASSWORD, AUTH_TYPE\n#\n\nset -euo pipefail\n\n# Default values\nSIGNALK_URL=\"${SIGNALK_URL:-}\"\nAUTH_URL=\"${AUTH_URL:-}\"\nUSERNAME=\"${AUTH_USERNAME:-admin}\"\nPASSWORD=\"${AUTH_PASSWORD:-}\"\nVERBOSE=false\nINSECURE=true\nAUTH_TYPE=\"${AUTH_TYPE:-authelia}\"\n\n# Colors\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nYELLOW='\\033[1;33m'\nBLUE='\\033[0;34m'\nNC='\\033[0m'\n\nusage() {\n    sed -n '2,/^$/p' \"$0\" | grep '^#' | sed 's/^# \\?//'\n    exit 0\n}\n\nlog() { echo -e \"${BLUE}[INFO]${NC} $*\"; }\nlog_success() { echo -e \"${GREEN}[PASS]${NC} $*\"; }\nlog_fail() { echo -e \"${RED}[FAIL]${NC} $*\"; }\nlog_warn() { echo -e \"${YELLOW}[WARN]${NC} $*\"; }\nlog_verbose() { $VERBOSE && echo -e \"${BLUE}[DEBUG]${NC} $*\" || true; }\n\n# Parse arguments\nwhile [[ $# -gt 0 ]]; do\n    case $1 in\n        -h|--help) usage ;;\n        -s|--signalk) SIGNALK_URL=\"$2\"; shift 2 ;;\n        -a|--auth) AUTH_URL=\"$2\"; shift 2 ;;\n        -u|--username) USERNAME=\"$2\"; shift 2 ;;\n        -p|--password) PASSWORD=\"$2\"; shift 2 ;;\n        -v|--verbose) VERBOSE=true; shift ;;\n        -k|--insecure) INSECURE=true; shift ;;\n        --auth-type) AUTH_TYPE=\"$2\"; shift 2 ;;\n        *) log_fail \"Unknown option: $1\"; usage ;;\n    esac\ndone\n\nif [[ -z \"$SIGNALK_URL\" ]]; then\n    log_fail \"Signal K URL is required. Use -s or set SIGNALK_URL\"\n    exit 1\nfi\n\nif [[ -z \"$PASSWORD\" ]]; then\n    log_fail \"Password is required. Use -p or set AUTH_PASSWORD\"\n    exit 1\nfi\n\nCURL_OPTS=(-s)\nif $INSECURE; then\n    CURL_OPTS+=(-k)\nfi\n\nTOTAL_TESTS=0\nPASSED_TESTS=0\nFAILED_TESTS=0\n\ntest_result() {\n    local name=\"$1\"\n    local passed=\"$2\"\n    TOTAL_TESTS=$((TOTAL_TESTS + 1))\n    if [[ \"$passed\" == \"true\" ]]; then\n        PASSED_TESTS=$((PASSED_TESTS + 1))\n        log_success \"$name\"\n    else\n        FAILED_TESTS=$((FAILED_TESTS + 1))\n        log_fail \"$name\"\n    fi\n}\n\necho \"==============================================\"\necho \"OIDC Comprehensive Test Suite\"\necho \"==============================================\"\necho \"\"\necho \"Target: $SIGNALK_URL\"\necho \"Auth Type: $AUTH_TYPE\"\necho \"\"\n\n#######################################\n# TEST 1: OIDC Configuration Status\n#######################################\necho \"\"\necho \"--- Test 1: OIDC Configuration Status ---\"\n\nLOGIN_STATUS=$(curl \"${CURL_OPTS[@]}\" \"$SIGNALK_URL/skServer/loginStatus\")\nlog_verbose \"Login status: $LOGIN_STATUS\"\n\nOIDC_ENABLED=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcEnabled', False))\" 2>/dev/null || echo \"false\")\nOIDC_AUTO_LOGIN=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcAutoLogin', False))\" 2>/dev/null || echo \"false\")\nOIDC_LOGIN_URL=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcLoginUrl', ''))\" 2>/dev/null || echo \"\")\nOIDC_PROVIDER_NAME=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcProviderName', ''))\" 2>/dev/null || echo \"\")\n\ntest_result \"1.1 OIDC is enabled\" \"$( [[ \"$OIDC_ENABLED\" == \"True\" || \"$OIDC_ENABLED\" == \"true\" ]] && echo true || echo false )\"\ntest_result \"1.2 OIDC login URL is set\" \"$( [[ -n \"$OIDC_LOGIN_URL\" ]] && echo true || echo false )\"\n\nif [[ -n \"$OIDC_PROVIDER_NAME\" ]]; then\n    log \"Provider name: $OIDC_PROVIDER_NAME\"\nfi\n\nif [[ \"$OIDC_AUTO_LOGIN\" == \"True\" || \"$OIDC_AUTO_LOGIN\" == \"true\" ]]; then\n    log \"Auto-login is enabled\"\nfi\n\n#######################################\n# TEST 2: OIDC Login Redirect\n#######################################\necho \"\"\necho \"--- Test 2: OIDC Login Redirect ---\"\n\nOUTPUT_DIR=$(mktemp -d)\ncd \"$OUTPUT_DIR\"\n\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -D headers.txt \\\n    -w \"%{http_code}\" \\\n    \"$SIGNALK_URL/signalk/v1/auth/oidc/login\" -o body.html)\n\nLOCATION=$(grep -i \"^location:\" headers.txt 2>/dev/null | head -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n\ntest_result \"2.1 OIDC login returns redirect (302)\" \"$( [[ \"$HTTP_CODE\" == \"302\" ]] && echo true || echo false )\"\ntest_result \"2.2 Redirect URL is set\" \"$( [[ -n \"$LOCATION\" ]] && echo true || echo false )\"\ntest_result \"2.3 OIDC_STATE cookie is set\" \"$( grep -q \"OIDC_STATE\" cookies.txt && echo true || echo false )\"\n\n# Auto-detect AUTH_URL if not provided\nif [[ -z \"$AUTH_URL\" ]] && [[ -n \"$LOCATION\" ]]; then\n    AUTH_URL=$(echo \"$LOCATION\" | sed -E 's|^(https?://[^/]+).*|\\1|')\n    log \"Auto-detected Auth URL: $AUTH_URL\"\nfi\n\n#######################################\n# TEST 3: Full Login Flow & Permissions\n#######################################\necho \"\"\necho \"--- Test 3: Full Login Flow & Permissions ---\"\n\n# Follow redirect to OIDC provider\nFINAL_URL=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt -L \\\n    -w \"%{url_effective}\" \\\n    \"$LOCATION\" -o auth_page.html)\n\nlog_verbose \"Auth page URL: $FINAL_URL\"\n\n# Authenticate based on provider type\ncase \"$AUTH_TYPE\" in\n    authelia)\n        FLOW_ID=$(echo \"$FINAL_URL\" | sed -n 's/.*flow_id=\\([^&]*\\).*/\\1/p')\n        test_result \"3.1 Got auth flow ID\" \"$( [[ -n \"$FLOW_ID\" ]] && echo true || echo false )\"\n\n        if [[ -n \"$FLOW_ID\" ]]; then\n            AUTH_RESPONSE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n                -X POST \"$AUTH_URL/api/firstfactor\" \\\n                -H \"Content-Type: application/json\" \\\n                -d \"{\\\"username\\\":\\\"$USERNAME\\\",\\\"password\\\":\\\"$PASSWORD\\\",\\\"keepMeLoggedIn\\\":true,\\\"flow\\\":\\\"openid_connect\\\",\\\"flowID\\\":\\\"$FLOW_ID\\\"}\")\n\n            AUTH_STATUS=$(echo \"$AUTH_RESPONSE\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\n            test_result \"3.2 Authentication succeeded\" \"$( [[ \"$AUTH_STATUS\" == \"OK\" ]] && echo true || echo false )\"\n\n            # Get consent redirect and auth code\n            CONSENT_REDIRECT=$(echo \"$AUTH_RESPONSE\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('data',{}).get('redirect',''))\" 2>/dev/null | sed 's/\\\\u0026/\\&/g')\n\n            if [[ -n \"$CONSENT_REDIRECT\" ]]; then\n                HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n                    -D consent_headers.txt -w \"%{http_code}\" \\\n                    \"$CONSENT_REDIRECT\" -o consent.html)\n\n                CALLBACK_URL=$(grep -i \"^location:\" consent_headers.txt 2>/dev/null | tail -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n            fi\n        fi\n        ;;\n\n    keycloak)\n        ACTION_URL=$(sed -n 's/.*action=\"\\([^\"]*\\)\".*/\\1/p' auth_page.html | head -1 | sed 's/&amp;/\\&/g')\n        test_result \"3.1 Found login form\" \"$( [[ -n \"$ACTION_URL\" ]] && echo true || echo false )\"\n\n        if [[ -n \"$ACTION_URL\" ]]; then\n            HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n                -X POST \"$ACTION_URL\" \\\n                -H \"Content-Type: application/x-www-form-urlencoded\" \\\n                -d \"username=$USERNAME&password=$PASSWORD\" \\\n                -D auth_headers.txt -w \"%{http_code}\" \\\n                -o auth_response.html)\n\n            CALLBACK_URL=$(grep -i \"^location:\" auth_headers.txt 2>/dev/null | tail -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n            test_result \"3.2 Authentication succeeded\" \"$( [[ -n \"$CALLBACK_URL\" ]] && echo true || echo false )\"\n        fi\n        ;;\n\n    *)\n        log_warn \"Unknown auth type: $AUTH_TYPE - skipping authentication\"\n        CALLBACK_URL=\"\"\n        ;;\nesac\n\n# Ensure callback URL is absolute\nif [[ -n \"${CALLBACK_URL:-}\" ]] && [[ \"$CALLBACK_URL\" == /* ]]; then\n    CALLBACK_URL=\"${SIGNALK_URL}${CALLBACK_URL}\"\nfi\n\ntest_result \"3.3 Got authorization code\" \"$( [[ \"${CALLBACK_URL:-}\" == *\"code=\"* ]] && echo true || echo false )\"\n\n# Complete callback\nif [[ -n \"${CALLBACK_URL:-}\" ]]; then\n    log_verbose \"Calling callback: $CALLBACK_URL\"\n    HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n        -D callback_headers.txt -L -w \"%{http_code}\" \\\n        \"$CALLBACK_URL\" -o callback.html)\n\n    JAUTH_SET=$(grep -q \"JAUTHENTICATION\" cookies.txt && echo \"true\" || echo \"false\")\n    log_verbose \"JAUTHENTICATION cookie set: $JAUTH_SET\"\n\n    test_result \"3.4 OIDC callback completed\" \"$( [[ \"$HTTP_CODE\" == \"200\" ]] && echo true || echo false )\"\n    test_result \"3.5 Session cookie set\" \"$JAUTH_SET\"\n\n    # Verify login status\n    FINAL_STATUS=$(curl \"${CURL_OPTS[@]}\" -b cookies.txt \"$SIGNALK_URL/skServer/loginStatus\")\n    log_verbose \"Final status: $FINAL_STATUS\"\n\n    LOGGED_IN=$(echo \"$FINAL_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\n    USER_LEVEL=$(echo \"$FINAL_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('userLevel',''))\" 2>/dev/null || echo \"\")\n    USERNAME_SK=$(echo \"$FINAL_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('username',''))\" 2>/dev/null || echo \"\")\n\n    test_result \"3.6 User is logged in\" \"$( [[ \"$LOGGED_IN\" == \"loggedIn\" ]] && echo true || echo false )\"\n    test_result \"3.7 User has admin permissions\" \"$( [[ \"$USER_LEVEL\" == \"admin\" ]] && echo true || echo false )\"\n\n    if [[ \"$LOGGED_IN\" == \"loggedIn\" ]]; then\n        log \"Logged in as: $USERNAME_SK ($USER_LEVEL)\"\n    fi\nfi\n\n#######################################\n# Summary\n#######################################\necho \"\"\necho \"==============================================\"\necho \"Test Summary\"\necho \"==============================================\"\necho -e \"Total:  $TOTAL_TESTS\"\necho -e \"Passed: ${GREEN}$PASSED_TESTS${NC}\"\necho -e \"Failed: ${RED}$FAILED_TESTS${NC}\"\necho \"\"\n\n# Cleanup\nrm -rf \"$OUTPUT_DIR\"\n\nif [[ $FAILED_TESTS -gt 0 ]]; then\n    echo -e \"${RED}Some tests failed!${NC}\"\n    exit 1\nelse\n    echo -e \"${GREEN}All tests passed!${NC}\"\n    exit 0\nfi\n"
  },
  {
    "path": "tools/test-oidc-flow.sh",
    "content": "#!/bin/bash\n#\n# OIDC Flow Test Script for Signal K Server\n#\n# Tests the complete OIDC authentication flow and captures all\n# requests, responses, headers, and tokens for debugging.\n#\n# This is a generic test script that works with any OIDC provider\n# that supports username/password authentication flow.\n#\n# Usage:\n#   ./test-oidc-flow.sh [options]\n#\n# Options:\n#   -h, --help              Show this help message\n#   -s, --signalk URL       Signal K server URL (required)\n#   -a, --auth URL          OIDC provider URL (required)\n#   -u, --username USER     OIDC username (default: admin)\n#   -p, --password PASS     OIDC password (required)\n#   -o, --output DIR        Output directory (default: /tmp/oidc_test_<timestamp>)\n#   -v, --verbose           Show verbose output\n#   -k, --insecure          Allow insecure SSL (self-signed certs)\n#   --auth-type TYPE        Auth provider type: authelia, keycloak, generic (default: authelia)\n#\n# Environment variables (alternative to options):\n#   SIGNALK_URL, AUTH_URL, AUTH_USERNAME, AUTH_PASSWORD, AUTH_TYPE\n#\n# Examples:\n#   ./test-oidc-flow.sh -s https://signalk.local:3000 -a https://auth.local -p \"MyPassword\"\n#   ./test-oidc-flow.sh -s https://signalk.local:3000 -a https://keycloak.local/realms/myrealm --auth-type keycloak -p \"secret\"\n#\n\nset -euo pipefail\n\n# Default values\nSIGNALK_URL=\"${SIGNALK_URL:-}\"\nAUTH_URL=\"${AUTH_URL:-}\"\nUSERNAME=\"${AUTH_USERNAME:-admin}\"\nPASSWORD=\"${AUTH_PASSWORD:-}\"\nOUTPUT_DIR=\"\"\nVERBOSE=false\nINSECURE=true  # Default to insecure for self-signed certs\nAUTH_TYPE=\"${AUTH_TYPE:-authelia}\"\n\n# Colors for output\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nYELLOW='\\033[1;33m'\nBLUE='\\033[0;34m'\nNC='\\033[0m' # No Color\n\nusage() {\n    sed -n '2,/^$/p' \"$0\" | grep '^#' | sed 's/^# \\?//'\n    exit 0\n}\n\nlog() {\n    echo -e \"${BLUE}[INFO]${NC} $*\"\n}\n\nlog_success() {\n    echo -e \"${GREEN}[OK]${NC} $*\"\n}\n\nlog_error() {\n    echo -e \"${RED}[ERROR]${NC} $*\" >&2\n}\n\nlog_warn() {\n    echo -e \"${YELLOW}[WARN]${NC} $*\"\n}\n\nlog_verbose() {\n    if $VERBOSE; then\n        echo -e \"${BLUE}[DEBUG]${NC} $*\"\n    fi\n}\n\n# Parse command line arguments\nwhile [[ $# -gt 0 ]]; do\n    case $1 in\n        -h|--help)\n            usage\n            ;;\n        -s|--signalk)\n            SIGNALK_URL=\"$2\"\n            shift 2\n            ;;\n        -a|--auth)\n            AUTH_URL=\"$2\"\n            shift 2\n            ;;\n        -u|--username)\n            USERNAME=\"$2\"\n            shift 2\n            ;;\n        -p|--password)\n            PASSWORD=\"$2\"\n            shift 2\n            ;;\n        -o|--output)\n            OUTPUT_DIR=\"$2\"\n            shift 2\n            ;;\n        -v|--verbose)\n            VERBOSE=true\n            shift\n            ;;\n        -k|--insecure)\n            INSECURE=true\n            shift\n            ;;\n        --auth-type)\n            AUTH_TYPE=\"$2\"\n            shift 2\n            ;;\n        *)\n            log_error \"Unknown option: $1\"\n            usage\n            ;;\n    esac\ndone\n\n# Validate required parameters\nif [[ -z \"$SIGNALK_URL\" ]]; then\n    log_error \"Signal K URL is required. Use -s or set SIGNALK_URL\"\n    exit 1\nfi\n\nif [[ -z \"$PASSWORD\" ]]; then\n    log_error \"Password is required. Use -p or set AUTH_PASSWORD\"\n    exit 1\nfi\n\n# Set up output directory\nif [[ -z \"$OUTPUT_DIR\" ]]; then\n    OUTPUT_DIR=\"/tmp/oidc_test_$(date +%Y%m%d_%H%M%S)\"\nfi\nmkdir -p \"$OUTPUT_DIR\"\n\n# Curl options\nCURL_OPTS=(-s)\nif $INSECURE; then\n    CURL_OPTS+=(-k)\nfi\n\n# Helper function to decode JWT\ndecode_jwt() {\n    local jwt=\"$1\"\n    local payload\n    payload=$(echo \"$jwt\" | cut -d'.' -f2)\n    # Add padding if needed\n    local padding=$((4 - ${#payload} % 4))\n    if [[ $padding -ne 4 ]]; then\n        payload=\"${payload}$(printf '=%.0s' $(seq 1 $padding))\"\n    fi\n    echo \"$payload\" | base64 -d 2>/dev/null | python3 -m json.tool 2>/dev/null || echo \"$payload\"\n}\n\n# Helper to extract header value\nget_header() {\n    local file=\"$1\"\n    local header=\"$2\"\n    grep -i \"^${header}:\" \"$file\" 2>/dev/null | tail -1 | cut -d' ' -f2- | tr -d '\\r\\n'\n}\n\necho \"==============================================\"\necho \"OIDC Flow Test for Signal K Server\"\necho \"==============================================\"\necho \"\"\necho \"Configuration:\"\necho \"  Signal K URL: $SIGNALK_URL\"\necho \"  Auth URL: ${AUTH_URL:-Auto-discover}\"\necho \"  Username: $USERNAME\"\necho \"  Auth Type: $AUTH_TYPE\"\necho \"  Output: $OUTPUT_DIR\"\necho \"\"\n\ncd \"$OUTPUT_DIR\"\n\n# Initialize results\nRESULTS=()\nadd_result() {\n    RESULTS+=(\"$1\")\n}\n\n#######################################\n# Step 0: Check Signal K OIDC status\n#######################################\nlog \"Step 0: Checking Signal K OIDC status...\"\n\nLOGIN_STATUS=$(curl \"${CURL_OPTS[@]}\" \"$SIGNALK_URL/skServer/loginStatus\")\necho \"$LOGIN_STATUS\" > step0_login_status.json\n\nOIDC_ENABLED=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcEnabled', False))\" 2>/dev/null || echo \"false\")\nOIDC_LOGIN_URL=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('oidcLoginUrl', ''))\" 2>/dev/null || echo \"\")\n\nif [[ \"$OIDC_ENABLED\" == \"True\" || \"$OIDC_ENABLED\" == \"true\" ]]; then\n    log_success \"OIDC is enabled\"\n    add_result \"Step 0: PASS - OIDC enabled\"\nelse\n    log_error \"OIDC is not enabled on this Signal K server\"\n    add_result \"Step 0: FAIL - OIDC not enabled\"\n    exit 1\nfi\n\n#######################################\n# Step 1: Initiate OIDC Login\n#######################################\nlog \"Step 1: Initiating OIDC login...\"\n\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -D step1_headers.txt \\\n    -w \"%{http_code}\" \\\n    \"$SIGNALK_URL/signalk/v1/auth/oidc/login\" -o step1_body.html)\n\nOIDC_REDIRECT=$(get_header step1_headers.txt \"location\")\n\nif [[ \"$HTTP_CODE\" == \"302\" ]] && [[ -n \"$OIDC_REDIRECT\" ]]; then\n    log_success \"Got redirect to OIDC provider\"\n    log_verbose \"Redirect URL: $OIDC_REDIRECT\"\n    add_result \"Step 1: PASS - OIDC login initiated\"\n\n    # Auto-detect AUTH_URL from redirect if not provided\n    if [[ -z \"$AUTH_URL\" ]]; then\n        AUTH_URL=$(echo \"$OIDC_REDIRECT\" | sed -E 's|^(https?://[^/]+).*|\\1|')\n        log \"Auto-detected Auth URL: $AUTH_URL\"\n    fi\nelse\n    log_error \"Failed to initiate OIDC login (HTTP $HTTP_CODE)\"\n    add_result \"Step 1: FAIL - HTTP $HTTP_CODE\"\n    exit 1\nfi\n\n# Check OIDC state cookie\nif grep -q \"OIDC_STATE\" cookies.txt; then\n    COOKIE_DOMAIN=$(grep \"OIDC_STATE\" cookies.txt | awk '{print $1}')\n    log_success \"OIDC_STATE cookie set (domain: $COOKIE_DOMAIN)\"\nelse\n    log_warn \"OIDC_STATE cookie not found - may be stored differently\"\nfi\n\n#######################################\n# Step 2: Follow redirect to OIDC provider\n#######################################\nlog \"Step 2: Following redirect to OIDC provider...\"\n\n# Follow redirects to get to the login page\nFINAL_URL=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt -L \\\n    -w \"%{url_effective}\" \\\n    \"$OIDC_REDIRECT\" -o step2_body.html)\n\nlog_verbose \"Final URL after redirects: $FINAL_URL\"\nadd_result \"Step 2: PASS - Reached OIDC provider\"\n\n#######################################\n# Step 3: Authenticate with OIDC provider\n#######################################\nlog \"Step 3: Authenticating with OIDC provider ($AUTH_TYPE)...\"\n\ncase \"$AUTH_TYPE\" in\n    authelia)\n        # Extract flow_id from URL\n        FLOW_ID=$(echo \"$FINAL_URL\" | sed -n 's/.*flow_id=\\([^&]*\\).*/\\1/p')\n\n        if [[ -z \"$FLOW_ID\" ]]; then\n            log_error \"Failed to get flow ID from URL\"\n            add_result \"Step 3: FAIL - No flow ID\"\n            exit 1\n        fi\n\n        AUTH_RESPONSE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n            -X POST \"$AUTH_URL/api/firstfactor\" \\\n            -H \"Content-Type: application/json\" \\\n            -d \"{\\\"username\\\":\\\"$USERNAME\\\",\\\"password\\\":\\\"$PASSWORD\\\",\\\"keepMeLoggedIn\\\":false,\\\"flow\\\":\\\"openid_connect\\\",\\\"flowID\\\":\\\"$FLOW_ID\\\"}\")\n\n        echo \"$AUTH_RESPONSE\" > step3_auth_response.json\n\n        AUTH_STATUS=$(echo \"$AUTH_RESPONSE\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\n\n        if [[ \"$AUTH_STATUS\" == \"OK\" ]]; then\n            log_success \"Authentication successful\"\n            add_result \"Step 3: PASS - Authenticated\"\n\n            # Extract consent redirect\n            CONSENT_REDIRECT=$(echo \"$AUTH_RESPONSE\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('data',{}).get('redirect',''))\" 2>/dev/null | sed 's/\\\\u0026/\\&/g')\n        else\n            log_error \"Authentication failed: $AUTH_RESPONSE\"\n            add_result \"Step 3: FAIL - Auth failed\"\n            exit 1\n        fi\n        ;;\n\n    keycloak)\n        # Keycloak uses form-based login\n        # Extract the login form action URL\n        ACTION_URL=$(sed -n 's/.*action=\"\\([^\"]*\\)\".*/\\1/p' step2_body.html | head -1 | sed 's/&amp;/\\&/g')\n\n        if [[ -z \"$ACTION_URL\" ]]; then\n            log_error \"Could not find Keycloak login form\"\n            add_result \"Step 3: FAIL - No login form\"\n            exit 1\n        fi\n\n        HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n            -X POST \"$ACTION_URL\" \\\n            -H \"Content-Type: application/x-www-form-urlencoded\" \\\n            -d \"username=$USERNAME&password=$PASSWORD\" \\\n            -D step3_headers.txt -w \"%{http_code}\" \\\n            -o step3_body.html)\n\n        CONSENT_REDIRECT=$(get_header step3_headers.txt \"location\")\n\n        if [[ -n \"$CONSENT_REDIRECT\" ]]; then\n            log_success \"Authentication successful\"\n            add_result \"Step 3: PASS - Authenticated\"\n        else\n            log_error \"Authentication failed (HTTP $HTTP_CODE)\"\n            add_result \"Step 3: FAIL - Auth failed\"\n            exit 1\n        fi\n        ;;\n\n    generic)\n        log_warn \"Generic auth type requires manual authentication\"\n        log_warn \"Please authenticate in the browser and press Enter when done\"\n        read -r\n        add_result \"Step 3: SKIP - Manual auth\"\n        ;;\n\n    *)\n        log_error \"Unknown auth type: $AUTH_TYPE\"\n        exit 1\n        ;;\nesac\n\n#######################################\n# Step 4: Get Authorization Code\n#######################################\nlog \"Step 4: Getting authorization code...\"\n\nif [[ -n \"${CONSENT_REDIRECT:-}\" ]]; then\n    HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n        -D step4_headers.txt -w \"%{http_code}\" \\\n        \"$CONSENT_REDIRECT\" -o step4_body.html)\n\n    CALLBACK_URL=$(get_header step4_headers.txt \"location\")\nfi\n\nif [[ -n \"${CALLBACK_URL:-}\" ]] && [[ \"$CALLBACK_URL\" == *\"code=\"* ]]; then\n    AUTH_CODE=$(echo \"$CALLBACK_URL\" | sed -n 's/.*code=\\([^&]*\\).*/\\1/p')\n    STATE=$(echo \"$CALLBACK_URL\" | sed -n 's/.*state=\\([^&]*\\).*/\\1/p')\n    log_success \"Got authorization code\"\n    log_verbose \"Code: ${AUTH_CODE:0:50}...\"\n    log_verbose \"State: $STATE\"\n    add_result \"Step 4: PASS - Got auth code\"\nelse\n    log_error \"Failed to get authorization code\"\n    add_result \"Step 4: FAIL - No auth code\"\n    exit 1\nfi\n\n#######################################\n# Step 5: Complete OIDC Callback\n#######################################\nlog \"Step 5: Completing OIDC callback to Signal K...\"\n\n# Ensure callback URL is absolute\nif [[ \"$CALLBACK_URL\" == /* ]]; then\n    CALLBACK_URL=\"${SIGNALK_URL}${CALLBACK_URL}\"\nfi\n\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n    -D step5_headers.txt -L -w \"%{http_code}\" \\\n    \"$CALLBACK_URL\" -o step5_body.html)\n\n# Check for error in redirect\nFINAL_REDIRECT=$(get_header step5_headers.txt \"location\")\nif [[ \"$FINAL_REDIRECT\" == *\"oidcError=true\"* ]]; then\n    ERROR_MSG=$(echo \"$FINAL_REDIRECT\" | sed -n 's/.*message=\\([^&]*\\).*/\\1/p' | python3 -c \"import sys,urllib.parse; print(urllib.parse.unquote(sys.stdin.read()))\" 2>/dev/null || echo \"unknown\")\n    log_error \"OIDC callback failed: $ERROR_MSG\"\n    add_result \"Step 5: FAIL - $ERROR_MSG\"\nelse\n    log_success \"OIDC callback completed (HTTP $HTTP_CODE)\"\n    add_result \"Step 5: PASS - Callback completed\"\nfi\n\n#######################################\n# Step 6: Check Login Status\n#######################################\nlog \"Step 6: Checking login status...\"\n\nLOGIN_STATUS=$(curl \"${CURL_OPTS[@]}\" -b cookies.txt \"$SIGNALK_URL/skServer/loginStatus\")\necho \"$LOGIN_STATUS\" > step6_login_status.json\n\nUSER_LEVEL=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('userLevel',''))\" 2>/dev/null || echo \"\")\nUSERNAME_SK=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('username',''))\" 2>/dev/null || echo \"\")\nLOGGED_IN=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\n\necho \"\"\necho \"Login Status:\"\necho \"$LOGIN_STATUS\" | python3 -m json.tool 2>/dev/null || echo \"$LOGIN_STATUS\"\necho \"\"\n\nif [[ \"$LOGGED_IN\" == \"loggedIn\" ]]; then\n    log_success \"User logged in: $USERNAME_SK\"\n    log \"User level: $USER_LEVEL\"\n    add_result \"Step 6: PASS - Logged in as $USER_LEVEL\"\nelse\n    log_error \"Not logged in\"\n    add_result \"Step 6: FAIL - Not logged in\"\nfi\n\n#######################################\n# Step 7: Decode JWT Token\n#######################################\nlog \"Step 7: Analyzing JWT token...\"\n\nJWT=$(grep \"JAUTHENTICATION\" cookies.txt 2>/dev/null | awk '{print $NF}' || echo \"\")\nif [[ -n \"$JWT\" ]]; then\n    echo \"\"\n    echo \"JWT Token Payload:\"\n    decode_jwt \"$JWT\"\n    echo \"\"\n\n    # Save decoded token\n    decode_jwt \"$JWT\" > step7_jwt_decoded.json\n    add_result \"Step 7: PASS - JWT decoded\"\nelse\n    log_warn \"No JWT token found in cookies\"\n    add_result \"Step 7: SKIP - No JWT\"\nfi\n\n#######################################\n# Summary\n#######################################\necho \"\"\necho \"==============================================\"\necho \"Test Summary\"\necho \"==============================================\"\nPASS_COUNT=0\nFAIL_COUNT=0\nfor result in \"${RESULTS[@]}\"; do\n    if [[ \"$result\" == *\"PASS\"* ]]; then\n        echo -e \"${GREEN}✓${NC} $result\"\n        ((PASS_COUNT++))\n    elif [[ \"$result\" == *\"FAIL\"* ]]; then\n        echo -e \"${RED}✗${NC} $result\"\n        ((FAIL_COUNT++))\n    else\n        echo -e \"${YELLOW}○${NC} $result\"\n    fi\ndone\n\necho \"\"\necho \"Passed: $PASS_COUNT, Failed: $FAIL_COUNT\"\necho \"Output files saved to: $OUTPUT_DIR\"\n\n# Exit with error if any failures\nif [[ $FAIL_COUNT -gt 0 ]]; then\n    exit 1\nfi\n\n# Warn if user level is not admin when it should be\nif [[ \"$USER_LEVEL\" == \"readonly\" ]]; then\n    echo \"\"\n    log_warn \"User has readonly permissions. Check groups claim in your OIDC provider.\"\n    exit 2\nfi\n"
  },
  {
    "path": "tools/test-oidc-sso.sh",
    "content": "#!/bin/bash\n#\n# SSO Flow Test Script for Signal K Server\n#\n# Tests that a user who is already authenticated with the OIDC provider\n# can seamlessly access Signal K without re-authenticating.\n#\n# This tests the SSO (Single Sign-On) behavior - the OIDC provider session\n# should allow direct access without showing a login page again.\n#\n# Usage:\n#   ./test-oidc-sso.sh [options]\n#\n# Options:\n#   -h, --help              Show this help message\n#   -s, --signalk URL       Signal K server URL (required)\n#   -a, --auth URL          OIDC provider URL (auto-detected if not provided)\n#   -u, --username USER     OIDC username (default: admin)\n#   -p, --password PASS     OIDC password (required)\n#   -v, --verbose           Show verbose output\n#   --auth-type TYPE        Auth provider type: authelia, keycloak, generic (default: authelia)\n#\n# Test Scenarios:\n#   1. Authenticate with OIDC provider directly (simulating prior login)\n#   2. Verify OIDC provider session cookie is set\n#   3. Access Signal K OIDC login with existing session\n#   4. Verify no re-authentication is required (automatic consent)\n#   5. Verify Signal K login succeeds with correct permissions\n#\n# Environment variables (alternative to options):\n#   SIGNALK_URL, AUTH_URL, AUTH_USERNAME, AUTH_PASSWORD, AUTH_TYPE\n#\n\nset -euo pipefail\n\n# Default values\nSIGNALK_URL=\"${SIGNALK_URL:-}\"\nAUTH_URL=\"${AUTH_URL:-}\"\nUSERNAME=\"${AUTH_USERNAME:-admin}\"\nPASSWORD=\"${AUTH_PASSWORD:-}\"\nVERBOSE=false\nINSECURE=true\nAUTH_TYPE=\"${AUTH_TYPE:-authelia}\"\n\n# Colors for output\nRED='\\033[0;31m'\nGREEN='\\033[0;32m'\nYELLOW='\\033[1;33m'\nBLUE='\\033[0;34m'\nNC='\\033[0m'\n\nusage() {\n    sed -n '2,/^$/p' \"$0\" | grep '^#' | sed 's/^# \\?//'\n    exit 0\n}\n\nlog() { echo -e \"${BLUE}[INFO]${NC} $*\"; }\nlog_success() { echo -e \"${GREEN}[OK]${NC} $*\"; }\nlog_error() { echo -e \"${RED}[ERROR]${NC} $*\" >&2; }\nlog_warn() { echo -e \"${YELLOW}[WARN]${NC} $*\"; }\nlog_verbose() { $VERBOSE && echo -e \"${BLUE}[DEBUG]${NC} $*\" || true; }\n\n# Parse arguments\nwhile [[ $# -gt 0 ]]; do\n    case $1 in\n        -h|--help) usage ;;\n        -s|--signalk) SIGNALK_URL=\"$2\"; shift 2 ;;\n        -a|--auth) AUTH_URL=\"$2\"; shift 2 ;;\n        -u|--username) USERNAME=\"$2\"; shift 2 ;;\n        -p|--password) PASSWORD=\"$2\"; shift 2 ;;\n        -v|--verbose) VERBOSE=true; shift ;;\n        -k|--insecure) INSECURE=true; shift ;;\n        --auth-type) AUTH_TYPE=\"$2\"; shift 2 ;;\n        *) log_error \"Unknown option: $1\"; usage ;;\n    esac\ndone\n\nif [[ -z \"$SIGNALK_URL\" ]]; then\n    log_error \"Signal K URL is required. Use -s or set SIGNALK_URL\"\n    exit 1\nfi\n\nif [[ -z \"$PASSWORD\" ]]; then\n    log_error \"Password is required. Use -p or set AUTH_PASSWORD\"\n    exit 1\nfi\n\n# Output directory\nOUTPUT_DIR=\"/tmp/sso_test_$(date +%Y%m%d_%H%M%S)\"\nmkdir -p \"$OUTPUT_DIR\"\ncd \"$OUTPUT_DIR\"\n\nCURL_OPTS=(-s)\nif $INSECURE; then\n    CURL_OPTS+=(-k)\nfi\nRESULTS=()\nadd_result() { RESULTS+=(\"$1\"); }\n\necho \"==============================================\"\necho \"SSO Flow Test for Signal K Server\"\necho \"==============================================\"\necho \"\"\necho \"Configuration:\"\necho \"  Signal K URL: $SIGNALK_URL\"\necho \"  Auth URL: ${AUTH_URL:-Will auto-detect}\"\necho \"  Auth Type: $AUTH_TYPE\"\necho \"  Output: $OUTPUT_DIR\"\necho \"\"\n\n#######################################\n# Step 1: Get OIDC provider URL from Signal K\n#######################################\nlog \"Step 1: Discovering OIDC provider...\"\n\n# First, initiate OIDC to discover the provider URL\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -D step1_headers.txt \\\n    -w \"%{http_code}\" \\\n    \"$SIGNALK_URL/signalk/v1/auth/oidc/login\" -o step1_body.html)\n\nOIDC_REDIRECT=$(grep -i \"^location:\" step1_headers.txt 2>/dev/null | head -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n\nif [[ \"$HTTP_CODE\" == \"302\" ]] && [[ -n \"$OIDC_REDIRECT\" ]]; then\n    log_success \"Got OIDC provider redirect\"\n\n    # Auto-detect AUTH_URL from redirect if not provided\n    if [[ -z \"$AUTH_URL\" ]]; then\n        AUTH_URL=$(echo \"$OIDC_REDIRECT\" | sed -E 's|^(https?://[^/]+).*|\\1|')\n        log \"Auto-detected Auth URL: $AUTH_URL\"\n    fi\n    add_result \"Step 1: PASS - OIDC provider discovered\"\nelse\n    log_error \"Failed to get OIDC redirect (HTTP $HTTP_CODE)\"\n    add_result \"Step 1: FAIL - Could not discover OIDC provider\"\n    exit 1\nfi\n\n# Clear cookies - we want to test SSO with fresh Signal K state\nrm -f cookies.txt\n\n#######################################\n# Step 2: Authenticate directly with OIDC provider\n# (simulating login through another app)\n#######################################\nlog \"Step 2: Authenticating directly with OIDC provider...\"\n\ncase \"$AUTH_TYPE\" in\n    authelia)\n        # Visit Authelia to get a session\n        curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n            \"$AUTH_URL/\" -o step2a_home.html\n\n        # Authenticate\n        AUTH_RESPONSE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n            -X POST \"$AUTH_URL/api/firstfactor\" \\\n            -H \"Content-Type: application/json\" \\\n            -d \"{\\\"username\\\":\\\"$USERNAME\\\",\\\"password\\\":\\\"$PASSWORD\\\",\\\"keepMeLoggedIn\\\":true}\")\n\n        echo \"$AUTH_RESPONSE\" > step2_auth_response.json\n\n        AUTH_STATUS=$(echo \"$AUTH_RESPONSE\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\n\n        if [[ \"$AUTH_STATUS\" == \"OK\" ]]; then\n            log_success \"Authenticated with OIDC provider\"\n            add_result \"Step 2: PASS - Direct authentication\"\n        else\n            log_error \"Authentication failed: $AUTH_RESPONSE\"\n            add_result \"Step 2: FAIL - Direct authentication\"\n            exit 1\n        fi\n        ;;\n\n    keycloak)\n        # For Keycloak, we need to go through the login page\n        # First get the login page\n        curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt -L \\\n            \"$AUTH_URL/protocol/openid-connect/auth?client_id=account&response_type=code\" \\\n            -o step2a_login.html\n\n        ACTION_URL=$(sed -n 's/.*action=\"\\([^\"]*\\)\".*/\\1/p' step2a_login.html | head -1 | sed 's/&amp;/\\&/g')\n\n        if [[ -n \"$ACTION_URL\" ]]; then\n            curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n                -X POST \"$ACTION_URL\" \\\n                -H \"Content-Type: application/x-www-form-urlencoded\" \\\n                -d \"username=$USERNAME&password=$PASSWORD\" \\\n                -D step2_headers.txt -o step2_response.html\n\n            if grep -q \"KEYCLOAK_SESSION\" cookies.txt 2>/dev/null; then\n                log_success \"Authenticated with Keycloak\"\n                add_result \"Step 2: PASS - Direct authentication\"\n            else\n                log_error \"Keycloak authentication may have failed\"\n                add_result \"Step 2: WARN - Check Keycloak session\"\n            fi\n        else\n            log_error \"Could not find Keycloak login form\"\n            add_result \"Step 2: FAIL - No login form\"\n            exit 1\n        fi\n        ;;\n\n    *)\n        log_warn \"Unknown auth type - skipping direct auth\"\n        add_result \"Step 2: SKIP - Unknown auth type\"\n        ;;\nesac\n\n#######################################\n# Step 3: Verify OIDC provider session cookie\n#######################################\nlog \"Step 3: Checking OIDC provider session...\"\n\necho \"Cookies after provider login:\" > step3_cookies.txt\ncat cookies.txt >> step3_cookies.txt\n\ncase \"$AUTH_TYPE\" in\n    authelia)\n        if grep -q \"authelia_session\" cookies.txt; then\n            log_success \"Authelia session cookie found\"\n            add_result \"Step 3: PASS - Session cookie set\"\n        else\n            log_warn \"No authelia_session cookie found\"\n            add_result \"Step 3: WARN - Session cookie not found\"\n        fi\n        ;;\n    keycloak)\n        if grep -q \"KEYCLOAK_SESSION\" cookies.txt; then\n            log_success \"Keycloak session cookie found\"\n            add_result \"Step 3: PASS - Session cookie set\"\n        else\n            log_warn \"No Keycloak session cookie found\"\n            add_result \"Step 3: WARN - Session cookie not found\"\n        fi\n        ;;\n    *)\n        add_result \"Step 3: SKIP - Unknown provider\"\n        ;;\nesac\n\n#######################################\n# Step 4: Access Signal K OIDC with existing session\n#######################################\nlog \"Step 4: Initiating Signal K OIDC login with existing session...\"\n\n# Start OIDC flow - should use existing provider session\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n    -D step4_headers.txt -w \"%{http_code}\" \\\n    \"$SIGNALK_URL/signalk/v1/auth/oidc/login\" -o step4_body.html)\n\nOIDC_REDIRECT=$(grep -i \"^location:\" step4_headers.txt 2>/dev/null | head -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n\nif [[ \"$HTTP_CODE\" == \"302\" ]] && [[ -n \"$OIDC_REDIRECT\" ]]; then\n    log_success \"Got redirect to OIDC provider\"\n    add_result \"Step 4: PASS - OIDC redirect\"\nelse\n    log_error \"Failed to get OIDC redirect (HTTP $HTTP_CODE)\"\n    add_result \"Step 4: FAIL - No OIDC redirect\"\n    exit 1\nfi\n\n#######################################\n# Step 5: Follow redirect - should skip login (SSO)\n#######################################\nlog \"Step 5: Following redirect (should use existing session)...\"\n\n# Follow redirects - with an existing session, provider should redirect directly\nHTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n    -D step5_headers.txt -L -w \"%{http_code}\" \\\n    --max-redirs 10 \\\n    \"$OIDC_REDIRECT\" -o step5_body.html 2>&1)\n\n# Check if we got a callback with code (SSO worked) or ended at login page\nFINAL_LOCATION=$(grep -i \"^location:\" step5_headers.txt 2>/dev/null | grep \"code=\" | head -1 | cut -d' ' -f2- | tr -d '\\r\\n')\nBODY_CONTENT=$(cat step5_body.html)\n\nlog_verbose \"Final HTTP code: $HTTP_CODE\"\nlog_verbose \"Looking for code in redirects...\"\n\n# Check if we need to re-authenticate (SSO failure)\nif echo \"$BODY_CONTENT\" | grep -qi \"sign in\\|login\\|password\" && [[ \"$HTTP_CODE\" == \"200\" ]]; then\n    log_error \"SSO FAILED: Provider is showing login page instead of using existing session\"\n    add_result \"Step 5: FAIL - SSO not working (login page shown)\"\n    exit 1\nfi\n\n# Check if we got an authorization code (success)\nCALLBACK_URL=\"\"\nif [[ -n \"$FINAL_LOCATION\" ]]; then\n    CALLBACK_URL=\"$FINAL_LOCATION\"\n    log_success \"SSO SUCCESS: Got authorization code without re-authentication\"\n    add_result \"Step 5: PASS - SSO worked (no re-auth needed)\"\nelse\n    # Check all redirects for a callback URL\n    CALLBACK_URL=$(grep -i \"^location:\" step5_headers.txt 2>/dev/null | grep \"code=\" | tail -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n    if [[ -n \"$CALLBACK_URL\" ]]; then\n        log_success \"SSO SUCCESS: Got authorization code\"\n        add_result \"Step 5: PASS - SSO worked\"\n    else\n        log_warn \"Did not get auth code directly - may need consent\"\n        add_result \"Step 5: WARN - Check consent flow\"\n    fi\nfi\n\n#######################################\n# Step 6: Complete Signal K callback\n#######################################\nif [[ -n \"$CALLBACK_URL\" ]]; then\n    log \"Step 6: Completing Signal K OIDC callback...\"\n\n    # Ensure callback URL is absolute\n    if [[ \"$CALLBACK_URL\" == /* ]]; then\n        CALLBACK_URL=\"${SIGNALK_URL}${CALLBACK_URL}\"\n    fi\n\n    HTTP_CODE=$(curl \"${CURL_OPTS[@]}\" -c cookies.txt -b cookies.txt \\\n        -D step6_headers.txt -L -w \"%{http_code}\" \\\n        \"$CALLBACK_URL\" -o step6_body.html)\n\n    FINAL_REDIRECT=$(grep -i \"^location:\" step6_headers.txt 2>/dev/null | tail -1 | cut -d' ' -f2- | tr -d '\\r\\n')\n\n    if [[ \"$FINAL_REDIRECT\" == *\"oidcError=true\"* ]]; then\n        ERROR_MSG=$(echo \"$FINAL_REDIRECT\" | sed -n 's/.*message=\\([^&]*\\).*/\\1/p' | python3 -c \"import sys,urllib.parse; print(urllib.parse.unquote(sys.stdin.read()))\" 2>/dev/null || echo \"unknown\")\n        log_error \"OIDC callback failed: $ERROR_MSG\"\n        add_result \"Step 6: FAIL - $ERROR_MSG\"\n    else\n        log_success \"OIDC callback completed\"\n        add_result \"Step 6: PASS - Callback completed\"\n    fi\nelse\n    log_warn \"Skipping callback - no authorization code obtained\"\n    add_result \"Step 6: SKIP - No auth code\"\nfi\n\n#######################################\n# Step 7: Verify login status\n#######################################\nlog \"Step 7: Verifying Signal K login status...\"\n\nLOGIN_STATUS=$(curl \"${CURL_OPTS[@]}\" -b cookies.txt \"$SIGNALK_URL/skServer/loginStatus\")\necho \"$LOGIN_STATUS\" > step7_login_status.json\n\nUSER_LEVEL=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('userLevel',''))\" 2>/dev/null || echo \"\")\nLOGGED_IN=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('status',''))\" 2>/dev/null || echo \"\")\nUSERNAME_SK=$(echo \"$LOGIN_STATUS\" | python3 -c \"import sys,json; print(json.load(sys.stdin).get('username',''))\" 2>/dev/null || echo \"\")\n\necho \"\"\necho \"Login Status:\"\necho \"$LOGIN_STATUS\" | python3 -m json.tool 2>/dev/null || echo \"$LOGIN_STATUS\"\necho \"\"\n\nif [[ \"$LOGGED_IN\" == \"loggedIn\" ]]; then\n    log_success \"User logged in: $USERNAME_SK\"\n    log \"User level: $USER_LEVEL\"\n\n    if [[ \"$USER_LEVEL\" == \"admin\" ]]; then\n        add_result \"Step 7: PASS - Logged in as admin\"\n    else\n        add_result \"Step 7: WARN - Logged in as $USER_LEVEL (expected admin)\"\n    fi\nelse\n    log_error \"Not logged in!\"\n    add_result \"Step 7: FAIL - Not logged in\"\nfi\n\n#######################################\n# Summary\n#######################################\necho \"\"\necho \"==============================================\"\necho \"SSO Test Summary\"\necho \"==============================================\"\nPASS_COUNT=0\nFAIL_COUNT=0\nfor result in \"${RESULTS[@]}\"; do\n    if [[ \"$result\" == *\"PASS\"* ]]; then\n        echo -e \"${GREEN}✓${NC} $result\"\n        ((PASS_COUNT++))\n    elif [[ \"$result\" == *\"FAIL\"* ]]; then\n        echo -e \"${RED}✗${NC} $result\"\n        ((FAIL_COUNT++))\n    else\n        echo -e \"${YELLOW}○${NC} $result\"\n    fi\ndone\n\necho \"\"\necho \"Passed: $PASS_COUNT, Failed: $FAIL_COUNT\"\necho \"Output files saved to: $OUTPUT_DIR\"\n\n# Overall result\nif [[ $FAIL_COUNT -gt 0 ]]; then\n    echo \"\"\n    log_error \"SSO TEST FAILED\"\n    exit 1\nelse\n    echo \"\"\n    log_success \"SSO TEST PASSED\"\n    exit 0\nfi\n"
  },
  {
    "path": "tsconfig.base.json",
    "content": "{\n  \"extends\": \"@tsconfig/node24/tsconfig.json\",\n  \"compilerOptions\": {\n    \"outDir\": \"${configDir}/dist\",\n    \"rootDir\": \"${configDir}/src\",\n    \"allowJs\": true,\n    \"typeRoots\": [\"${configDir}/src/types\", \"./node_modules/@types\"],\n    \"resolveJsonModule\": true,\n    \"composite\": true,\n    \"declaration\": true,\n    \"declarationMap\": true,\n    \"sourceMap\": true\n  },\n  \"ts-node\": {\n    \"files\": true\n  }\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"extends\": \"./tsconfig.base.json\",\n  \"include\": [\"./src/**/*\", \"./src/**/*.json\"],\n  \"references\": [\n    {\n      \"path\": \"./packages/server-api\"\n    },\n    {\n      \"path\": \"./packages/resources-provider-plugin\"\n    },\n    {\n      \"path\": \"./packages/streams\"\n    }\n  ]\n}\n"
  },
  {
    "path": "typedoc.json",
    "content": "{\n  \"$schema\": \"https://typedoc.org/schema.json\",\n  \"name\": \"Signal K\",\n  \"entryPointStrategy\": \"packages\",\n  \"entryPoints\": [\".\"],\n  \"packagesRequiringDocumentation\": [\"signalk-server\", \"@signalk/server-api\"],\n  \"out\": \"docs/dist\",\n  \"readme\": \"docs/README.md\",\n  \"projectDocuments\": [\n    \"docs/installation/README.md\",\n    \"docs/setup/configuration.md\",\n    \"docs/security.md\",\n    \"docs/guides/README.md\",\n    \"docs/develop/README.md\",\n    \"docs/support/help.md\",\n    \"docs/support/sponsor.md\"\n  ],\n  \"packageOptions\": {\n    \"sort\": [\n      \"kind\",\n      \"instance-first\",\n      \"required-first\",\n      \"alphabetical-ignoring-documents\"\n    ]\n  },\n  \"searchInComments\": true,\n  \"searchInDocuments\": true,\n  \"router\": \"structure\",\n  \"sort\": [\n    \"documents-first\",\n    \"instance-first\",\n    \"required-first\",\n    \"kind\",\n    \"alphabetical-ignoring-documents\"\n  ],\n  \"treatWarningsAsErrors\": true,\n  \"includeHierarchySummary\": false,\n  \"navigation\": {\n    \"includeCategories\": true,\n    \"includeGroups\": false,\n    \"excludeReferences\": true,\n    \"includeFolders\": false,\n    \"compactFolders\": false\n  },\n  \"visibilityFilters\": {},\n  \"excludeProtected\": true,\n  \"excludePrivate\": true,\n  \"excludeInternal\": true,\n  \"sortEntryPoints\": true,\n  \"exclude\": [\n    \"packages/assemblyscript-plugin-sdk\",\n    \"packages/resources-provider-plugin\",\n    \"packages/server-admin-ui\",\n    \"packages/server-admin-ui-dependencies\",\n    \"packages/streams\",\n    \"packages/typedoc-theme\"\n  ],\n  \"alwaysCreateEntryPointModule\": true,\n  \"theme\": \"signalk\",\n  \"plugin\": [\"@signalk/typedoc-signalk-theme\", \"typedoc-plugin-mdn-links\"],\n  \"externalSymbolLinkMappings\": {\n    \"@js-temporal/polyfill\": {\n      \"Temporal.Duration\": \"https://tc39.es/proposal-temporal/docs/duration.html\"\n    }\n  },\n  \"lightHighlightTheme\": \"github-light-default\",\n  \"darkHighlightTheme\": \"github-dark-dimmed\",\n  \"highlightLanguages\": [\n    \"bash\",\n    \"csharp\",\n    \"go\",\n    \"json\",\n    \"javascript\",\n    \"typescript\",\n    \"nginx\",\n    \"powershell\",\n    \"rust\",\n    \"shell\",\n    \"sh\",\n    \"toml\",\n    \"wit\",\n    \"xml\",\n    \"yaml\"\n  ],\n  \"cacheBust\": true\n}\n"
  },
  {
    "path": "unitpreferences/README.md",
    "content": "# Unit Preferences System\n\nThis directory contains all configuration files for the SignalK unit preferences system.\n\n## Directory Structure\n\n```\nunitpreferences/\n├── config.json                      # Active preset configuration\n├── categories.json                  # Category → SI unit mapping\n├── default-categories.json          # Default category assignments for paths\n├── standard-units-definitions.json  # Unit conversion formulas\n├── custom-units-definitions.json    # Custom unit definitions (created on demand)\n└── presets/\n    ├── metric.json                  # Built-in: Metric (SI)\n    ├── imperial-us.json             # Built-in: Imperial (US)\n    ├── imperial-uk.json             # Built-in: Imperial (UK)\n    └── custom/                      # Custom presets directory\n        └── *.json                   # User-created presets\n```\n\n## File Descriptions\n\n### config.json\n\nStores the currently active preset name.\n\n```json\n{\n  \"activePreset\": \"metric\"\n}\n```\n\n### categories.json\n\nMaps category names to their base SI units. Used to validate that a path's units match the category.\n\n```json\n{\n  \"temperature\": \"K\",\n  \"speed\": \"m/s\",\n  \"distance\": \"m\",\n  ...\n}\n```\n\n### default-categories.json\n\nMaps SignalK path patterns to default categories. Used for auto-suggesting categories for paths.\n\n```json\n{\n  \"environment.*.temperature\": \"temperature\",\n  \"navigation.speedOverGround\": \"speed\",\n  ...\n}\n```\n\n### standard-units-definitions.json\n\nDefines all unit conversions. Each SI unit has conversion formulas to display units.\n\n```json\n{\n  \"K\": {\n    \"conversions\": {\n      \"C\": {\n        \"formula\": \"x - 273.15\",\n        \"inverseFormula\": \"x + 273.15\",\n        \"symbol\": \"°C\"\n      },\n      \"F\": {\n        \"formula\": \"(x - 273.15) * 9/5 + 32\",\n        \"inverseFormula\": \"(x - 32) * 5/9 + 273.15\",\n        \"symbol\": \"°F\"\n      }\n    }\n  },\n  ...\n}\n```\n\n### custom-units-definitions.json\n\nUser-defined unit conversions that extend or override standard definitions. Created when users add custom conversions via the API.\n\n### Preset Files (presets/\\*.json)\n\nEach preset defines target units for all categories:\n\n```json\n{\n  \"name\": \"metric\",\n  \"displayName\": \"Metric System\",\n  \"description\": \"SI units\",\n  \"categories\": {\n    \"temperature\": { \"targetUnit\": \"C\" },\n    \"speed\": { \"targetUnit\": \"km/h\" },\n    \"distance\": { \"targetUnit\": \"kilometer\" },\n    ...\n  }\n}\n```\n\n## REST API Endpoints\n\n| Endpoint                                             | Method | Description                          |\n| ---------------------------------------------------- | ------ | ------------------------------------ |\n| `/signalk/v1/unitpreferences/config`                 | GET    | Get active preset config             |\n| `/signalk/v1/unitpreferences/config`                 | PUT    | Set active preset                    |\n| `/signalk/v1/unitpreferences/categories`             | GET    | Get category → SI unit mapping       |\n| `/signalk/v1/unitpreferences/definitions`            | GET    | Get merged unit definitions          |\n| `/signalk/v1/unitpreferences/custom-definitions`     | GET    | Get custom unit definitions          |\n| `/signalk/v1/unitpreferences/custom-definitions`     | PUT    | Save custom unit definitions         |\n| `/signalk/v1/unitpreferences/custom-categories`      | GET    | Get custom categories                |\n| `/signalk/v1/unitpreferences/custom-categories`      | PUT    | Save custom categories               |\n| `/signalk/v1/unitpreferences/presets`                | GET    | List all presets (built-in + custom) |\n| `/signalk/v1/unitpreferences/presets/:name`          | GET    | Get preset details                   |\n| `/signalk/v1/unitpreferences/presets/custom/:name`   | PUT    | Create/update custom preset          |\n| `/signalk/v1/unitpreferences/presets/custom/:name`   | DELETE | Delete custom preset                 |\n| `/signalk/v1/unitpreferences/presets/custom/upload`  | POST   | Upload custom preset file (admin)    |\n| `/signalk/v1/unitpreferences/active`                 | GET    | Get fully resolved active preset     |\n| `/signalk/v1/unitpreferences/default-categories`     | GET    | Get default category mappings        |\n| `/signalk/v1/unitpreferences/default-category/:path` | GET    | Get default category for a path      |\n\n## WebSocket Stream\n\nWhen connecting to the WebSocket stream with `sendMeta=all`, metadata includes full `displayUnits` with conversion formulas:\n\n```\nws://localhost:3000/signalk/v1/stream?subscribe=none&sendMeta=all\n```\n\nSubscribe to a path:\n\n```json\n{\n  \"context\": \"vessels.self\",\n  \"subscribe\": [{ \"path\": \"environment.wind.speedApparent\" }]\n}\n```\n\nMetadata response includes enhanced `displayUnits`:\n\n```json\n{\n  \"context\": \"vessels.urn:mrn:imo:mmsi:123456789\",\n  \"updates\": [\n    {\n      \"timestamp\": \"2024-01-15T12:00:00.000Z\",\n      \"meta\": [\n        {\n          \"path\": \"environment.wind.speedApparent\",\n          \"value\": {\n            \"units\": \"m/s\",\n            \"description\": \"Apparent wind speed\",\n            \"displayUnits\": {\n              \"category\": \"speed\",\n              \"targetUnit\": \"kn\",\n              \"formula\": \"value * 1.94384\",\n              \"inverseFormula\": \"value * 0.514444\",\n              \"symbol\": \"kn\",\n              \"displayFormat\": \"0.0\"\n            }\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\nThe `displayUnits` object provides everything needed to convert and display values:\n\n- **category** - The unit category (e.g., \"speed\", \"temperature\")\n- **targetUnit** - The display unit from the active preset\n- **formula** - Math.js expression to convert from SI to display unit (use `value` as variable)\n- **inverseFormula** - Convert from display unit back to SI\n- **symbol** - Display symbol (e.g., \"kn\", \"°C\")\n- **displayFormat** - Optional format string\n\n## How It Works\n\n1. **Path metadata** stores `displayUnits.category` (e.g., \"temperature\")\n2. **Active preset** determines target unit for each category (e.g., temperature → \"C\")\n3. **Unit definitions** provide conversion formula from SI unit to target unit\n4. **REST API / WebSocket** enhance metadata with full conversion info\n5. **Data Browser / Apps** use the formula to convert and display values\n\n## Path Override Priority\n\n1. **Path-specific override** - `displayUnits.targetUnit` on path metadata\n2. **Preset default** - Target unit from active preset for the category\n3. **SI unit** - Raw value in base SI unit if no conversion defined\n"
  },
  {
    "path": "unitpreferences/categories.json",
    "content": "{\n  \"categoryToBaseUnit\": {\n    \"speed\": \"m/s\",\n    \"temperature\": \"K\",\n    \"pressure\": \"Pa\",\n    \"distance\": \"m\",\n    \"depth\": \"m\",\n    \"angle\": \"rad\",\n    \"angleDegrees\": \"deg\",\n    \"angularVelocity\": \"rad/s\",\n    \"volume\": \"m3\",\n    \"voltage\": \"V\",\n    \"current\": \"A\",\n    \"power\": \"W\",\n    \"percentage\": \"ratio\",\n    \"frequency\": \"Hz\",\n    \"time\": \"s\",\n    \"charge\": \"C\",\n    \"volumeRate\": \"m3/s\",\n    \"length\": \"m\",\n    \"energy\": \"J\",\n    \"mass\": \"kg\",\n    \"area\": \"m2\",\n    \"dateTime\": \"RFC 3339 (UTC)\",\n    \"epoch\": \"Epoch Seconds\",\n    \"unitless\": \"tr\",\n    \"boolean\": \"bool\"\n  },\n  \"coreCategories\": [\n    \"speed\",\n    \"temperature\",\n    \"pressure\",\n    \"distance\",\n    \"depth\",\n    \"angle\",\n    \"angleDegrees\",\n    \"angularVelocity\",\n    \"volume\",\n    \"voltage\",\n    \"current\",\n    \"power\",\n    \"percentage\",\n    \"frequency\",\n    \"time\",\n    \"charge\",\n    \"volumeRate\",\n    \"length\",\n    \"energy\",\n    \"mass\",\n    \"area\",\n    \"dateTime\",\n    \"epoch\",\n    \"unitless\",\n    \"boolean\"\n  ]\n}\n"
  },
  {
    "path": "unitpreferences/config.json",
    "content": "{\n  \"activePreset\": \"nautical-metric\"\n}\n"
  },
  {
    "path": "unitpreferences/custom-categories.json",
    "content": "{\n  \"Memory\": \"MB\"\n}\n"
  },
  {
    "path": "unitpreferences/default-categories.json",
    "content": "{\n  \"description\": \"Default category assignments based on SignalK specification path units\",\n  \"version\": \"1.0.0\",\n  \"categories\": {\n    \"speed\": {\n      \"siUnit\": \"m/s\",\n      \"paths\": [\n        \"environment.wind.speedApparent\",\n        \"environment.wind.speedTrue\",\n        \"environment.wind.speedOverGround\",\n        \"environment.wind.speedThroughWater\",\n        \"navigation.speedOverGround\",\n        \"navigation.speedThroughWater\",\n        \"navigation.speedThroughWaterTransverse\",\n        \"navigation.speedThroughWaterLongitudinal\",\n        \"navigation.leewayAngle\",\n        \"performance.velocityMadeGood\",\n        \"performance.velocityMadeGoodToWaypoint\",\n        \"performance.beatAngleVelocityMadeGood\",\n        \"performance.beatAngleTargetSpeed\",\n        \"performance.gybeAngleVelocityMadeGood\",\n        \"performance.gybeAngleTargetSpeed\",\n        \"propulsion.*.driveSpeed\"\n      ]\n    },\n    \"temperature\": {\n      \"siUnit\": \"K\",\n      \"paths\": [\n        \"environment.outside.temperature\",\n        \"environment.outside.dewPointTemperature\",\n        \"environment.outside.apparentWindChillTemperature\",\n        \"environment.outside.theoreticalWindChillTemperature\",\n        \"environment.outside.heatIndexTemperature\",\n        \"environment.water.temperature\",\n        \"environment.inside.temperature\",\n        \"environment.inside.engineRoom.temperature\",\n        \"environment.inside.refrigerator.temperature\",\n        \"environment.inside.freezer.temperature\",\n        \"environment.inside.heating.temperature\",\n        \"environment.inside.mainCabin.temperature\",\n        \"propulsion.*.temperature\",\n        \"propulsion.*.oilTemperature\",\n        \"propulsion.*.coolantTemperature\",\n        \"propulsion.*.exhaustTemperature\",\n        \"propulsion.*.alternator.temperature\",\n        \"electrical.batteries.*.temperature\",\n        \"electrical.chargers.*.temperature\",\n        \"electrical.inverters.*.temperature\",\n        \"tanks.*.temperature\"\n      ]\n    },\n    \"pressure\": {\n      \"siUnit\": \"Pa\",\n      \"paths\": [\n        \"environment.outside.pressure\",\n        \"propulsion.*.oilPressure\",\n        \"propulsion.*.fuelPressure\",\n        \"propulsion.*.coolantPressure\",\n        \"propulsion.*.boostPressure\",\n        \"propulsion.*.intakeManifoldTemperature\",\n        \"propulsion.*.engineLoad\"\n      ]\n    },\n    \"depth\": {\n      \"siUnit\": \"m\",\n      \"paths\": [\n        \"environment.depth.belowKeel\",\n        \"environment.depth.belowTransducer\",\n        \"environment.depth.belowSurface\",\n        \"environment.depth.transducerToKeel\",\n        \"environment.depth.surfaceToTransducer\"\n      ]\n    },\n    \"distance\": {\n      \"siUnit\": \"m\",\n      \"paths\": [\n        \"navigation.trip.log\",\n        \"navigation.log\",\n        \"navigation.courseRhumbline.nextPoint.distance\",\n        \"navigation.courseGreatCircle.nextPoint.distance\",\n        \"navigation.racing.distanceStartline\",\n        \"navigation.racing.distanceLayline\",\n        \"navigation.closestApproach.distance\"\n      ]\n    },\n    \"length\": {\n      \"siUnit\": \"m\",\n      \"paths\": [\n        \"design.length.overall\",\n        \"design.length.hull\",\n        \"design.length.waterline\",\n        \"design.beam\",\n        \"design.draft.minimum\",\n        \"design.draft.maximum\",\n        \"design.draft.canoe\",\n        \"design.airHeight\",\n        \"design.rigging.mast.height\",\n        \"environment.heave\",\n        \"navigation.anchor.maxRadius\",\n        \"navigation.anchor.currentRadius\"\n      ]\n    },\n    \"angle\": {\n      \"siUnit\": \"rad\",\n      \"paths\": [\n        \"environment.wind.angleApparent\",\n        \"environment.wind.angleTrueGround\",\n        \"environment.wind.angleTrueWater\",\n        \"environment.wind.directionTrue\",\n        \"environment.wind.directionMagnetic\",\n        \"navigation.courseOverGroundTrue\",\n        \"navigation.courseOverGroundMagnetic\",\n        \"navigation.headingTrue\",\n        \"navigation.headingMagnetic\",\n        \"navigation.magneticVariation\",\n        \"navigation.magneticDeviation\",\n        \"navigation.attitude.roll\",\n        \"navigation.attitude.pitch\",\n        \"navigation.attitude.yaw\",\n        \"navigation.courseRhumbline.bearingTrackTrue\",\n        \"navigation.courseRhumbline.bearingTrackMagnetic\",\n        \"navigation.courseGreatCircle.bearingTrackTrue\",\n        \"navigation.courseGreatCircle.bearingTrackMagnetic\",\n        \"navigation.racing.laylineDistance\",\n        \"steering.rudderAngle\",\n        \"steering.rudderAngleTarget\",\n        \"steering.autopilot.targetHeadingTrue\",\n        \"steering.autopilot.targetHeadingMagnetic\",\n        \"steering.autopilot.target.headingMagnetic\",\n        \"steering.autopilot.target.headingTrue\",\n        \"steering.autopilot.target.windAngleApparent\",\n        \"performance.gybeAngle\",\n        \"performance.beatAngle\",\n        \"sails.*.reefState\"\n      ]\n    },\n    \"angularVelocity\": {\n      \"siUnit\": \"rad/s\",\n      \"paths\": [\n        \"navigation.rateOfTurn\",\n        \"navigation.attitude.roll.rate\",\n        \"navigation.attitude.pitch.rate\",\n        \"navigation.attitude.yaw.rate\"\n      ]\n    },\n    \"voltage\": {\n      \"siUnit\": \"V\",\n      \"paths\": [\n        \"electrical.batteries.*.voltage\",\n        \"electrical.chargers.*.voltage\",\n        \"electrical.inverters.*.dc.voltage\",\n        \"electrical.inverters.*.ac.voltage\",\n        \"electrical.alternators.*.voltage\",\n        \"electrical.solar.*.voltage\",\n        \"propulsion.*.alternator.voltage\"\n      ]\n    },\n    \"current\": {\n      \"siUnit\": \"A\",\n      \"paths\": [\n        \"electrical.batteries.*.current\",\n        \"electrical.chargers.*.current\",\n        \"electrical.inverters.*.dc.current\",\n        \"electrical.inverters.*.ac.current\",\n        \"electrical.alternators.*.current\",\n        \"electrical.solar.*.current\",\n        \"propulsion.*.alternator.current\"\n      ]\n    },\n    \"power\": {\n      \"siUnit\": \"W\",\n      \"paths\": [\n        \"electrical.batteries.*.power\",\n        \"electrical.chargers.*.power\",\n        \"electrical.inverters.*.dc.power\",\n        \"electrical.inverters.*.ac.power\",\n        \"electrical.alternators.*.power\",\n        \"electrical.solar.*.power\",\n        \"propulsion.*.power\"\n      ]\n    },\n    \"frequency\": {\n      \"siUnit\": \"Hz\",\n      \"paths\": [\n        \"propulsion.*.revolutions\",\n        \"electrical.inverters.*.ac.frequency\"\n      ]\n    },\n    \"volume\": {\n      \"siUnit\": \"m3\",\n      \"paths\": [\n        \"tanks.*.capacity\",\n        \"tanks.*.currentVolume\",\n        \"tanks.fuel.*.capacity\",\n        \"tanks.fuel.*.currentVolume\",\n        \"tanks.freshWater.*.capacity\",\n        \"tanks.freshWater.*.currentVolume\",\n        \"tanks.wasteWater.*.capacity\",\n        \"tanks.wasteWater.*.currentVolume\",\n        \"tanks.blackWater.*.capacity\",\n        \"tanks.blackWater.*.currentVolume\",\n        \"tanks.liveWell.*.capacity\",\n        \"tanks.liveWell.*.currentVolume\",\n        \"tanks.lubrication.*.capacity\",\n        \"tanks.lubrication.*.currentVolume\"\n      ]\n    },\n    \"volumeRate\": {\n      \"siUnit\": \"m3/s\",\n      \"paths\": [\"propulsion.*.fuel.rate\", \"propulsion.*.exhaustTemperature\"]\n    },\n    \"mass\": {\n      \"siUnit\": \"kg\",\n      \"paths\": [\"design.displacement\"]\n    },\n    \"percentage\": {\n      \"siUnit\": \"ratio\",\n      \"paths\": [\n        \"environment.outside.relativeHumidity\",\n        \"environment.inside.relativeHumidity\",\n        \"environment.inside.engineRoom.relativeHumidity\",\n        \"electrical.batteries.*.capacity.stateOfCharge\",\n        \"electrical.batteries.*.capacity.stateOfHealth\",\n        \"tanks.*.currentLevel\",\n        \"propulsion.*.fuel.used\",\n        \"propulsion.*.engineLoad\",\n        \"steering.autopilot.gain\"\n      ]\n    },\n    \"charge\": {\n      \"siUnit\": \"C\",\n      \"paths\": [\n        \"electrical.batteries.*.capacity.remaining\",\n        \"electrical.batteries.*.capacity.nominal\"\n      ]\n    },\n    \"time\": {\n      \"siUnit\": \"s\",\n      \"paths\": [\n        \"electrical.batteries.*.capacity.timeRemaining\",\n        \"navigation.courseRhumbline.nextPoint.timeToGo\",\n        \"navigation.courseGreatCircle.nextPoint.timeToGo\",\n        \"navigation.racing.timeToStart\",\n        \"navigation.racing.timePortDown\",\n        \"navigation.racing.timeStbdDown\",\n        \"navigation.closestApproach.timeTo\"\n      ]\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/imperial-uk.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-10-03\",\n  \"name\": \"Imperial (UK)\",\n  \"description\": \"UK units (mph, miles, feet, Celsius)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"mile\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"mph\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"C\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"mbar\",\n      \"displayFormat\": \"0\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"gallon-imp\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"dd/mm/yyyy\",\n      \"displayFormat\": \"dd/mm/yyyy\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"gal-imp/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"btu\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"pound\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"sqft\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/imperial-us.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-10-03\",\n  \"name\": \"Imperial (US)\",\n  \"description\": \"US customary units (mph, miles, feet, Fahrenheit)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"mile\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"mph\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"F\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"psi\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"gallon\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"time-am/pm-local\",\n      \"displayFormat\": \"time-am/pm\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"gal/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"btu\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"pound\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"sqft\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/metric.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-10-03\",\n  \"name\": \"Metric System\",\n  \"description\": \"SI units (meters, Celsius, km/h, etc.)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"kilometer\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"km/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"C\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"mbar\",\n      \"displayFormat\": \"0\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"m\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"liter\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"m\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"short-date\",\n      \"displayFormat\": \"short-date\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"L/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"J\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"kg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"m2\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/nautical-imperial-uk.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-01-15\",\n  \"name\": \"Nautical Imperial (UK)\",\n  \"description\": \"Nautical speed/distance (knots, nautical miles) with UK imperial units (feet, Celsius)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"naut-mile\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"kn\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"C\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"mbar\",\n      \"displayFormat\": \"0\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"gallon-imp\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"dd/mm/yyyy\",\n      \"displayFormat\": \"dd/mm/yyyy\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"gal-imp/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"btu\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"pound\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"sqft\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/nautical-imperial-us.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-01-15\",\n  \"name\": \"Nautical Imperial (US)\",\n  \"description\": \"Nautical speed/distance (knots, nautical miles) with US imperial units (feet, Fahrenheit)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"naut-mile\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"kn\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"F\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"inHg\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"gallon\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"foot\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"time-am/pm-local\",\n      \"displayFormat\": \"time-am/pm\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"gal/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"btu\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"pound\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"sqft\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/presets/nautical-metric.json",
    "content": "{\n  \"version\": \"1.0.0\",\n  \"date\": \"2025-01-15\",\n  \"name\": \"Nautical (Metric)\",\n  \"description\": \"Nautical speed/distance (knots, nautical miles) with metric units (meters, Celsius)\",\n  \"categories\": {\n    \"distance\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"naut-mile\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"speed\": {\n      \"baseUnit\": \"m/s\",\n      \"targetUnit\": \"kn\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"temperature\": {\n      \"baseUnit\": \"K\",\n      \"targetUnit\": \"C\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"pressure\": {\n      \"baseUnit\": \"Pa\",\n      \"targetUnit\": \"mbar\",\n      \"displayFormat\": \"0\"\n    },\n    \"depth\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"m\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volume\": {\n      \"baseUnit\": \"m3\",\n      \"targetUnit\": \"liter\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angle\": {\n      \"baseUnit\": \"rad\",\n      \"targetUnit\": \"degree\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"length\": {\n      \"baseUnit\": \"m\",\n      \"targetUnit\": \"m\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angularVelocity\": {\n      \"baseUnit\": \"rad/s\",\n      \"targetUnit\": \"deg/s\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"voltage\": {\n      \"baseUnit\": \"V\",\n      \"targetUnit\": \"V\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"current\": {\n      \"baseUnit\": \"A\",\n      \"targetUnit\": \"A\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"power\": {\n      \"baseUnit\": \"W\",\n      \"targetUnit\": \"W\",\n      \"displayFormat\": \"0.00\"\n    },\n    \"percentage\": {\n      \"baseUnit\": \"ratio\",\n      \"targetUnit\": \"percent\",\n      \"displayFormat\": \"0\"\n    },\n    \"frequency\": {\n      \"baseUnit\": \"Hz\",\n      \"targetUnit\": \"rpm\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"time\": {\n      \"baseUnit\": \"s\",\n      \"targetUnit\": \"hour\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"dateTime\": {\n      \"baseUnit\": \"RFC 3339 (UTC)\",\n      \"targetUnit\": \"short-date\",\n      \"displayFormat\": \"short-date\"\n    },\n    \"charge\": {\n      \"baseUnit\": \"C\",\n      \"targetUnit\": \"Ah\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"volumeRate\": {\n      \"baseUnit\": \"m3/s\",\n      \"targetUnit\": \"L/h\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"energy\": {\n      \"baseUnit\": \"J\",\n      \"targetUnit\": \"J\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"mass\": {\n      \"baseUnit\": \"kg\",\n      \"targetUnit\": \"kg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"area\": {\n      \"baseUnit\": \"m2\",\n      \"targetUnit\": \"m2\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"angleDegrees\": {\n      \"baseUnit\": \"deg\",\n      \"targetUnit\": \"deg\",\n      \"displayFormat\": \"0.0\"\n    },\n    \"boolean\": {\n      \"baseUnit\": \"bool\",\n      \"targetUnit\": \"bool\",\n      \"displayFormat\": \"boolean\"\n    }\n  }\n}\n"
  },
  {
    "path": "unitpreferences/primary-categories.json",
    "content": "{\n  \"m\": \"distance\"\n}\n"
  },
  {
    "path": "unitpreferences/standard-units-definitions.json",
    "content": "{\n  \"m/s\": {\n    \"longName\": \"meters per second\",\n    \"conversions\": {\n      \"m/s\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"m/s\",\n        \"longName\": \"meters per second\"\n      },\n      \"kn\": {\n        \"formula\": \"value * 1.94384\",\n        \"inverseFormula\": \"value * 0.514444\",\n        \"symbol\": \"kn\",\n        \"longName\": \"knots\"\n      },\n      \"km/h\": {\n        \"formula\": \"value * 3.6\",\n        \"inverseFormula\": \"value * 0.277778\",\n        \"symbol\": \"km/h\",\n        \"longName\": \"kilometers per hour\"\n      },\n      \"mph\": {\n        \"formula\": \"value * 2.2369362920544025\",\n        \"inverseFormula\": \"value / 2.2369362920544025\",\n        \"symbol\": \"mph\",\n        \"longName\": \"miles per hour\"\n      },\n      \"Bf\": {\n        \"formula\": \"(value / 0.836)^(2/3)\",\n        \"inverseFormula\": \"0.836 * value^1.5\",\n        \"symbol\": \"Bf\",\n        \"longName\": \"Beaufort\"\n      },\n      \"fps\": {\n        \"formula\": \"value * 3.280839895013124\",\n        \"inverseFormula\": \"value / 3.280839895013124\",\n        \"symbol\": \"fps\"\n      }\n    }\n  },\n  \"K\": {\n    \"longName\": \"kelvin\",\n    \"conversions\": {\n      \"K\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"K\",\n        \"longName\": \"kelvin\"\n      },\n      \"C\": {\n        \"formula\": \"value - 273.15\",\n        \"inverseFormula\": \"value + 273.15\",\n        \"symbol\": \"°C\",\n        \"longName\": \"celsius\",\n        \"key\": \"C\"\n      },\n      \"F\": {\n        \"formula\": \"(value - 273.15) * 9/5 + 32\",\n        \"inverseFormula\": \"(value - 32) * 5/9 + 273.15\",\n        \"symbol\": \"°F\",\n        \"longName\": \"fahrenheit\",\n        \"key\": \"F\"\n      }\n    }\n  },\n  \"Pa\": {\n    \"longName\": \"pascal\",\n    \"conversions\": {\n      \"Pa\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"Pa\",\n        \"longName\": \"pascal\"\n      },\n      \"hPa\": {\n        \"formula\": \"value * 0.01\",\n        \"inverseFormula\": \"value * 100\",\n        \"symbol\": \"hPa\",\n        \"longName\": \"hectopascal\"\n      },\n      \"mbar\": {\n        \"formula\": \"value * 0.01\",\n        \"inverseFormula\": \"value * 100\",\n        \"symbol\": \"mbar\",\n        \"longName\": \"millibar\"\n      },\n      \"bar\": {\n        \"formula\": \"value * 0.00001\",\n        \"inverseFormula\": \"value * 100000\",\n        \"symbol\": \"bar\",\n        \"longName\": \"bar\"\n      },\n      \"psi\": {\n        \"formula\": \"value * 0.0001450376807894691\",\n        \"inverseFormula\": \"value / 0.0001450376807894691\",\n        \"symbol\": \"psi\",\n        \"longName\": \"pounds per square inch\"\n      },\n      \"inHg\": {\n        \"formula\": \"value * 0.00029529987601298443\",\n        \"inverseFormula\": \"value / 0.00029529987601298443\",\n        \"symbol\": \"inHg\",\n        \"longName\": \"inches of mercury\"\n      },\n      \"mmHg\": {\n        \"formula\": \"value * 0.0075006168507298\",\n        \"inverseFormula\": \"value / 0.0075006168507298\",\n        \"symbol\": \"mmHg\",\n        \"longName\": \"millimeters of mercury\"\n      },\n      \"atm\": {\n        \"formula\": \"value * 0.000009869232667160129\",\n        \"inverseFormula\": \"value / 0.000009869232667160129\",\n        \"symbol\": \"atm\"\n      },\n      \"cmh2o\": {\n        \"formula\": \"value * 0.0101974428892211\",\n        \"inverseFormula\": \"value / 0.0101974428892211\",\n        \"symbol\": \"cmh2o\"\n      },\n      \"inh2o\": {\n        \"formula\": \"value * 0.004014741294968937\",\n        \"inverseFormula\": \"value / 0.004014741294968937\",\n        \"symbol\": \"inh2o\"\n      },\n      \"torr\": {\n        \"formula\": \"value * 0.0075006168507298\",\n        \"inverseFormula\": \"value / 0.0075006168507298\",\n        \"symbol\": \"torr\"\n      }\n    }\n  },\n  \"m\": {\n    \"longName\": \"meter\",\n    \"conversions\": {\n      \"mm\": {\n        \"formula\": \"value * 1000\",\n        \"inverseFormula\": \"value / 1000\",\n        \"symbol\": \"mm\",\n        \"longName\": \"millimeter\"\n      },\n      \"cm\": {\n        \"formula\": \"value * 100\",\n        \"inverseFormula\": \"value / 100\",\n        \"symbol\": \"cm\",\n        \"longName\": \"centimeter\"\n      },\n      \"fathom\": {\n        \"formula\": \"value * 0.5467468562055768\",\n        \"inverseFormula\": \"value / 0.5467468562055768\",\n        \"symbol\": \"fathom\",\n        \"longName\": \"fathom\"\n      },\n      \"angstrom\": {\n        \"formula\": \"value * 10000000000\",\n        \"inverseFormula\": \"value / 10000000000\",\n        \"symbol\": \"angstrom\"\n      },\n      \"AU\": {\n        \"formula\": \"value * 6.684585813036146e-12\",\n        \"inverseFormula\": \"value / 6.684585813036146e-12\",\n        \"symbol\": \"AU\"\n      },\n      \"datamile\": {\n        \"formula\": \"value * 0.0005468066491688539\",\n        \"inverseFormula\": \"value / 0.0005468066491688539\",\n        \"symbol\": \"datamile\"\n      },\n      \"foot\": {\n        \"formula\": \"value * 3.280839895013124\",\n        \"inverseFormula\": \"value / 3.280839895013124\",\n        \"symbol\": \"foot\"\n      },\n      \"furlong\": {\n        \"formula\": \"value * 0.004970178926441352\",\n        \"inverseFormula\": \"value / 0.004970178926441352\",\n        \"symbol\": \"furlong\"\n      },\n      \"inch\": {\n        \"formula\": \"value * 39.37007874015748\",\n        \"inverseFormula\": \"value / 39.37007874015748\",\n        \"symbol\": \"inch\"\n      },\n      \"league\": {\n        \"formula\": \"value * 0.0002071251035625518\",\n        \"inverseFormula\": \"value / 0.0002071251035625518\",\n        \"symbol\": \"league\"\n      },\n      \"light-minute\": {\n        \"formula\": \"value * 5.5594008077809377e-11\",\n        \"inverseFormula\": \"value / 5.5594008077809377e-11\",\n        \"symbol\": \"light-minute\"\n      },\n      \"light-second\": {\n        \"formula\": \"value * 3.3356404846685622e-9\",\n        \"inverseFormula\": \"value / 3.3356404846685622e-9\",\n        \"symbol\": \"light-second\"\n      },\n      \"light-year\": {\n        \"formula\": \"value * 1.0570234557732929e-16\",\n        \"inverseFormula\": \"value / 1.0570234557732929e-16\",\n        \"symbol\": \"light-year\"\n      },\n      \"meter\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"meter\"\n      },\n      \"kilometer\": {\n        \"formula\": \"value * 0.001\",\n        \"inverseFormula\": \"value / 0.001\",\n        \"symbol\": \"km\"\n      },\n      \"mile\": {\n        \"formula\": \"value * 0.000621371192237334\",\n        \"inverseFormula\": \"value / 0.000621371192237334\",\n        \"symbol\": \"mile\"\n      },\n      \"naut-mile\": {\n        \"formula\": \"value * 0.0005399568034557236\",\n        \"inverseFormula\": \"value / 0.0005399568034557236\",\n        \"symbol\": \"nmi\"\n      },\n      \"parsec\": {\n        \"formula\": \"value * 3.2407788498994385e-17\",\n        \"inverseFormula\": \"value / 3.2407788498994385e-17\",\n        \"symbol\": \"parsec\"\n      },\n      \"pica\": {\n        \"formula\": \"value * 236.22047262694525\",\n        \"inverseFormula\": \"value / 236.22047262694525\",\n        \"symbol\": \"pica\"\n      },\n      \"point\": {\n        \"formula\": \"value * 2834.645667505735\",\n        \"inverseFormula\": \"value / 2834.645667505735\",\n        \"symbol\": \"point\"\n      },\n      \"redshift\": {\n        \"formula\": \"value * 7.67593433391696e-27\",\n        \"inverseFormula\": \"value / 7.67593433391696e-27\",\n        \"symbol\": \"redshift\"\n      },\n      \"rod\": {\n        \"formula\": \"value * 0.1988466892026248\",\n        \"inverseFormula\": \"value / 0.1988466892026248\",\n        \"symbol\": \"rod\"\n      },\n      \"yard\": {\n        \"formula\": \"value * 1.0936132983377078\",\n        \"inverseFormula\": \"value / 1.0936132983377078\",\n        \"symbol\": \"yard\"\n      }\n    }\n  },\n  \"rad\": {\n    \"longName\": \"radian\",\n    \"conversions\": {\n      \"arcminute\": {\n        \"formula\": \"value * 3437.746770784939\",\n        \"inverseFormula\": \"value / 3437.746770784939\",\n        \"symbol\": \"arcminute\"\n      },\n      \"arcsecond\": {\n        \"formula\": \"value * 206264.8062470964\",\n        \"inverseFormula\": \"value / 206264.8062470964\",\n        \"symbol\": \"arcsecond\"\n      },\n      \"degree\": {\n        \"formula\": \"value * 57.29577951308231\",\n        \"inverseFormula\": \"value / 57.29577951308231\",\n        \"symbol\": \"°\"\n      },\n      \"gradian\": {\n        \"formula\": \"value * 63.66197723675812\",\n        \"inverseFormula\": \"value / 63.66197723675812\",\n        \"symbol\": \"gradian\"\n      },\n      \"radian\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"radian\"\n      },\n      \"rotation\": {\n        \"formula\": \"value * 0.1591549430918954\",\n        \"inverseFormula\": \"value / 0.1591549430918954\",\n        \"symbol\": \"rotation\"\n      }\n    }\n  },\n  \"rad/s\": {\n    \"longName\": \"radians per second\",\n    \"conversions\": {\n      \"rad/s\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"rad/s\",\n        \"longName\": \"radians per second\"\n      },\n      \"deg/s\": {\n        \"formula\": \"value * 57.2958\",\n        \"inverseFormula\": \"value * 0.0174533\",\n        \"symbol\": \"°/s\",\n        \"longName\": \"degrees per second\",\n        \"key\": \"deg/s\"\n      },\n      \"rpm\": {\n        \"formula\": \"value * 9.549296585513723\",\n        \"inverseFormula\": \"value / 9.549296585513723\",\n        \"symbol\": \"rpm\",\n        \"longName\": \"revolutions per minute\"\n      }\n    }\n  },\n  \"m3\": {\n    \"longName\": \"cubic meter\",\n    \"conversions\": {\n      \"beerbarrel\": {\n        \"formula\": \"value * 8.521679072308338\",\n        \"inverseFormula\": \"value / 8.521679072308338\",\n        \"symbol\": \"beerbarrel\"\n      },\n      \"beerbarrel-imp\": {\n        \"formula\": \"value * 6.110256897196883\",\n        \"inverseFormula\": \"value / 6.110256897196883\",\n        \"symbol\": \"beerbarrel-imp\"\n      },\n      \"bushel\": {\n        \"formula\": \"value * 28.37759178221265\",\n        \"inverseFormula\": \"value / 28.37759178221265\",\n        \"symbol\": \"bushel\"\n      },\n      \"cup\": {\n        \"formula\": \"value * 4226.752810932216\",\n        \"inverseFormula\": \"value / 4226.752810932216\",\n        \"symbol\": \"cup\"\n      },\n      \"fluid-ounce\": {\n        \"formula\": \"value * 33814.02254462713\",\n        \"inverseFormula\": \"value / 33814.02254462713\",\n        \"symbol\": \"fluid-ounce\"\n      },\n      \"fluid-ounce-imp\": {\n        \"formula\": \"value * 35195.07972785405\",\n        \"inverseFormula\": \"value / 35195.07972785405\",\n        \"symbol\": \"fluid-ounce-imp\"\n      },\n      \"gallon\": {\n        \"formula\": \"value * 264.1720512415585\",\n        \"inverseFormula\": \"value / 264.1720512415585\",\n        \"symbol\": \"gallon\"\n      },\n      \"gallon-imp\": {\n        \"formula\": \"value * 219.9692482990878\",\n        \"inverseFormula\": \"value / 219.9692482990878\",\n        \"symbol\": \"gallon-imp\"\n      },\n      \"liter\": {\n        \"formula\": \"value * 1000\",\n        \"inverseFormula\": \"value / 1000\",\n        \"symbol\": \"liter\"\n      },\n      \"oilbarrel\": {\n        \"formula\": \"value * 6.289810770432104\",\n        \"inverseFormula\": \"value / 6.289810770432104\",\n        \"symbol\": \"oilbarrel\"\n      },\n      \"pint-imp\": {\n        \"formula\": \"value * 1759.7539863927022\",\n        \"inverseFormula\": \"value / 1759.7539863927022\",\n        \"symbol\": \"pint-imp\"\n      },\n      \"quart\": {\n        \"formula\": \"value * 1056.688204966234\",\n        \"inverseFormula\": \"value / 1056.688204966234\",\n        \"symbol\": \"quart\"\n      },\n      \"tablespoon\": {\n        \"formula\": \"value * 67628.04531793189\",\n        \"inverseFormula\": \"value / 67628.04531793189\",\n        \"symbol\": \"tablespoon\"\n      },\n      \"teaspoon\": {\n        \"formula\": \"value * 202884.1355421759\",\n        \"inverseFormula\": \"value / 202884.1355421759\",\n        \"symbol\": \"teaspoon\"\n      },\n      \"m3\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"m3\",\n        \"longName\": \"m3\"\n      }\n    }\n  },\n  \"V\": {\n    \"longName\": \"volt\",\n    \"conversions\": {\n      \"V\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"V\",\n        \"longName\": \"volt\"\n      }\n    }\n  },\n  \"A\": {\n    \"longName\": \"ampere\",\n    \"conversions\": {\n      \"A\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"A\",\n        \"longName\": \"ampere\"\n      }\n    }\n  },\n  \"W\": {\n    \"longName\": \"watt\",\n    \"conversions\": {\n      \"kW\": {\n        \"formula\": \"value * 0.001\",\n        \"inverseFormula\": \"value * 1000\",\n        \"symbol\": \"kW\",\n        \"longName\": \"kilowatt\"\n      },\n      \"horsepower\": {\n        \"formula\": \"value * 0.0013410220888438076\",\n        \"inverseFormula\": \"value / 0.0013410220888438076\",\n        \"symbol\": \"horsepower\"\n      },\n      \"watt\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"watt\"\n      }\n    }\n  },\n  \"ratio\": {\n    \"longName\": \"ratio\",\n    \"conversions\": {\n      \"ratio\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"\",\n        \"longName\": \"ratio\"\n      },\n      \"percent\": {\n        \"formula\": \"value * 100\",\n        \"inverseFormula\": \"value * 0.01\",\n        \"symbol\": \"%\",\n        \"longName\": \"percent\"\n      }\n    }\n  },\n  \"Hz\": {\n    \"longName\": \"hertz\",\n    \"conversions\": {\n      \"rpm\": {\n        \"formula\": \"value * 60\",\n        \"inverseFormula\": \"value * 0.0166667\",\n        \"symbol\": \"rpm\",\n        \"longName\": \"revolutions per minute\"\n      },\n      \"hertz\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"hertz\"\n      }\n    }\n  },\n  \"s\": {\n    \"longName\": \"second\",\n    \"conversions\": {\n      \"DD:HH:MM:SS\": {\n        \"formula\": \"formatDurationDHMS(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Days:Hours:Minutes:Seconds\",\n        \"key\": \"DD:HH:MM:SS\"\n      },\n      \"HH:MM:SS\": {\n        \"formula\": \"formatDurationHMS(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Hours:Minutes:Seconds\",\n        \"key\": \"HH:MM:SS\"\n      },\n      \"HH:MM:SS.mmm\": {\n        \"formula\": \"formatDurationHMSMillis(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Hours:Minutes:Seconds.Milliseconds\",\n        \"key\": \"HH:MM:SS.mmm\"\n      },\n      \"MM:SS\": {\n        \"formula\": \"formatDurationMS(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Minutes:Seconds\",\n        \"key\": \"MM:SS\"\n      },\n      \"MM:SS.mmm\": {\n        \"formula\": \"formatDurationMSMillis(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Minutes:Seconds.Milliseconds\",\n        \"key\": \"MM:SS.mmm\"\n      },\n      \"MM.xx\": {\n        \"formula\": \"value / 60\",\n        \"inverseFormula\": \"value * 60\",\n        \"symbol\": \"min\",\n        \"longName\": \"Decimal minutes\"\n      },\n      \"HH.xx\": {\n        \"formula\": \"value / 3600\",\n        \"inverseFormula\": \"value * 3600\",\n        \"symbol\": \"hr\",\n        \"longName\": \"Decimal hours\"\n      },\n      \"DD.xx\": {\n        \"formula\": \"value / 86400\",\n        \"inverseFormula\": \"value * 86400\",\n        \"symbol\": \"days\",\n        \"longName\": \"Decimal days\"\n      },\n      \"duration-verbose\": {\n        \"formula\": \"formatDurationVerbose(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Verbose (2 hours 30 minutes 45 seconds)\",\n        \"key\": \"duration-verbose\"\n      },\n      \"duration-compact\": {\n        \"formula\": \"formatDurationCompact(value)\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Compact (2h 30m)\",\n        \"key\": \"duration-compact\"\n      },\n      \"century\": {\n        \"formula\": \"value * 3.168876461541279e-10\",\n        \"inverseFormula\": \"value / 3.168876461541279e-10\",\n        \"symbol\": \"century\"\n      },\n      \"day\": {\n        \"formula\": \"value * 0.000011574074074074073\",\n        \"inverseFormula\": \"value / 0.000011574074074074073\",\n        \"symbol\": \"day\"\n      },\n      \"decade\": {\n        \"formula\": \"value * 3.1688764615412793e-9\",\n        \"inverseFormula\": \"value / 3.1688764615412793e-9\",\n        \"symbol\": \"decade\"\n      },\n      \"fortnight\": {\n        \"formula\": \"value * 8.26719576719577e-7\",\n        \"inverseFormula\": \"value / 8.26719576719577e-7\",\n        \"symbol\": \"fortnight\"\n      },\n      \"hour\": {\n        \"formula\": \"value * 0.0002777777777777778\",\n        \"inverseFormula\": \"value / 0.0002777777777777778\",\n        \"symbol\": \"hour\"\n      },\n      \"minute\": {\n        \"formula\": \"value * 0.016666666666666666\",\n        \"inverseFormula\": \"value / 0.016666666666666666\",\n        \"symbol\": \"minute\"\n      },\n      \"second\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"second\"\n      },\n      \"week\": {\n        \"formula\": \"value * 0.000001653439153439154\",\n        \"inverseFormula\": \"value / 0.000001653439153439154\",\n        \"symbol\": \"week\"\n      },\n      \"year\": {\n        \"formula\": \"value * 3.168876461541279e-8\",\n        \"inverseFormula\": \"value / 3.168876461541279e-8\",\n        \"symbol\": \"year\"\n      }\n    }\n  },\n  \"C\": {\n    \"longName\": \"coulomb\",\n    \"conversions\": {\n      \"C\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"C\",\n        \"longName\": \"coulomb\"\n      },\n      \"Ah\": {\n        \"formula\": \"value * 0.0002777777777777778\",\n        \"inverseFormula\": \"value / 0.0002777777777777778\",\n        \"symbol\": \"Ah\",\n        \"longName\": \"ampere-hour\"\n      },\n      \"mAh\": {\n        \"formula\": \"value * 0.277778\",\n        \"inverseFormula\": \"value * 3.6\",\n        \"symbol\": \"mAh\",\n        \"longName\": \"milliampere-hour\"\n      }\n    }\n  },\n  \"m3/s\": {\n    \"longName\": \"cubic meters per second\",\n    \"conversions\": {\n      \"L/h\": {\n        \"formula\": \"value * 3600000\",\n        \"inverseFormula\": \"value * 0.000000277778\",\n        \"symbol\": \"L/h\",\n        \"longName\": \"liters per hour\"\n      },\n      \"L/min\": {\n        \"formula\": \"value * 60000\",\n        \"inverseFormula\": \"value * 0.0000166667\",\n        \"symbol\": \"L/min\",\n        \"longName\": \"liters per minute\"\n      },\n      \"gal/h\": {\n        \"formula\": \"value * 264.17205236\",\n        \"inverseFormula\": \"value / 264.17205236\",\n        \"symbol\": \"gal/h\",\n        \"longName\": \"gallons per hour\"\n      },\n      \"m3/s\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"m3/s\"\n      },\n      \"gal-imp/h\": {\n        \"formula\": \"value * 219.9692483\",\n        \"inverseFormula\": \"value / 219.9692483\",\n        \"symbol\": \"gal-imp/h\"\n      }\n    }\n  },\n  \"tr\": {\n    \"longName\": \"tabula rasa\",\n    \"conversions\": {\n      \"tr\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value * 1\",\n        \"symbol\": \"tr\",\n        \"longName\": \"tabula rasa\"\n      }\n    }\n  },\n  \"RFC 3339 (UTC)\": {\n    \"longName\": \"RFC 3339 UTC format\",\n    \"conversions\": {\n      \"RFC 3339 (UTC)\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"RFC 3339 UTC format\"\n      }\n    }\n  },\n  \"Epoch Seconds\": {\n    \"longName\": \"Unix epoch seconds\",\n    \"conversions\": {\n      \"Epoch Seconds\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Unix epoch seconds\"\n      }\n    }\n  },\n  \"J\": {\n    \"longName\": \"Joule\",\n    \"conversions\": {\n      \"btu\": {\n        \"formula\": \"value * 0.0009478169879134378\",\n        \"inverseFormula\": \"value / 0.0009478169879134378\",\n        \"symbol\": \"btu\"\n      },\n      \"calorie\": {\n        \"formula\": \"value * 0.2390057361376673\",\n        \"inverseFormula\": \"value / 0.2390057361376673\",\n        \"symbol\": \"calorie\",\n        \"longName\": \"physics unit\"\n      },\n      \"Calorie\": {\n        \"formula\": \"value * 0.00023900573613766727\",\n        \"inverseFormula\": \"value / 0.00023900573613766727\",\n        \"symbol\": \"Calorie\",\n        \"longName\": \"food energy\"\n      },\n      \"electronvolt\": {\n        \"formula\": \"value * 6241509074460763000\",\n        \"inverseFormula\": \"value / 6241509074460763000\",\n        \"symbol\": \"electronvolt\"\n      },\n      \"erg\": {\n        \"formula\": \"value * 10000000\",\n        \"inverseFormula\": \"value / 10000000\",\n        \"symbol\": \"erg\"\n      },\n      \"therm-US\": {\n        \"formula\": \"value * 9.480434279733487e-9\",\n        \"inverseFormula\": \"value / 9.480434279733487e-9\",\n        \"symbol\": \"therm-US\"\n      },\n      \"Wh\": {\n        \"formula\": \"value * 0.0002777777777777778\",\n        \"inverseFormula\": \"value / 0.0002777777777777778\",\n        \"symbol\": \"Wh\"\n      },\n      \"J\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"joule\"\n      }\n    }\n  },\n  \"kg\": {\n    \"longName\": \"Kilogram\",\n    \"conversions\": {\n      \"AMU\": {\n        \"formula\": \"value * 6.0221412901167415e+26\",\n        \"inverseFormula\": \"value / 6.0221412901167415e+26\",\n        \"symbol\": \"AMU\"\n      },\n      \"carat\": {\n        \"formula\": \"value * 5000\",\n        \"inverseFormula\": \"value / 5000\",\n        \"symbol\": \"carat\"\n      },\n      \"dalton\": {\n        \"formula\": \"value * 6.0221412901167415e+26\",\n        \"inverseFormula\": \"value / 6.0221412901167415e+26\",\n        \"symbol\": \"dalton\"\n      },\n      \"dram\": {\n        \"formula\": \"value * 564.3833897001838\",\n        \"inverseFormula\": \"value / 564.3833897001838\",\n        \"symbol\": \"dram\"\n      },\n      \"grain\": {\n        \"formula\": \"value * 15432.358352941434\",\n        \"inverseFormula\": \"value / 15432.358352941434\",\n        \"symbol\": \"grain\"\n      },\n      \"gram\": {\n        \"formula\": \"value * 1000\",\n        \"inverseFormula\": \"value / 1000\",\n        \"symbol\": \"gram\"\n      },\n      \"kilogram\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"kilogram\"\n      },\n      \"metric-ton\": {\n        \"formula\": \"value * 0.001\",\n        \"inverseFormula\": \"value / 0.001\",\n        \"symbol\": \"metric-ton\"\n      },\n      \"ounce\": {\n        \"formula\": \"value * 35.27396198068672\",\n        \"inverseFormula\": \"value / 35.27396198068672\",\n        \"symbol\": \"ounce\"\n      },\n      \"pound\": {\n        \"formula\": \"value * 2.2046226218487757\",\n        \"inverseFormula\": \"value / 2.2046226218487757\",\n        \"symbol\": \"pound\"\n      },\n      \"short-ton\": {\n        \"formula\": \"value * 0.001102311310924388\",\n        \"inverseFormula\": \"value / 0.001102311310924388\",\n        \"symbol\": \"short-ton\"\n      },\n      \"slug\": {\n        \"formula\": \"value * 0.0685217660314843\",\n        \"inverseFormula\": \"value / 0.0685217660314843\",\n        \"symbol\": \"slug\"\n      },\n      \"stone\": {\n        \"formula\": \"value * 0.15747304441776971\",\n        \"inverseFormula\": \"value / 0.15747304441776971\",\n        \"symbol\": \"stone\"\n      }\n    }\n  },\n  \"m2\": {\n    \"longName\": \"Square meter\",\n    \"conversions\": {\n      \"acre\": {\n        \"formula\": \"value * 0.0002471053816137119\",\n        \"inverseFormula\": \"value / 0.0002471053816137119\",\n        \"symbol\": \"acre\"\n      },\n      \"hectare\": {\n        \"formula\": \"value * 0.0001\",\n        \"inverseFormula\": \"value / 0.0001\",\n        \"symbol\": \"hectare\"\n      },\n      \"m2\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"m2\"\n      },\n      \"sqft\": {\n        \"formula\": \"value * 10.7639\",\n        \"inverseFormula\": \"value / 10.7639\",\n        \"symbol\": \"sqft\",\n        \"longName\": \"square feet\"\n      }\n    }\n  },\n  \"deg\": {\n    \"longName\": \"Degree\",\n    \"conversions\": {\n      \"arcminute\": {\n        \"formula\": \"value * 60.00000000000001\",\n        \"inverseFormula\": \"value / 60.00000000000001\",\n        \"symbol\": \"arcminute\"\n      },\n      \"arcsecond\": {\n        \"formula\": \"value * 3600.000000000001\",\n        \"inverseFormula\": \"value / 3600.000000000001\",\n        \"symbol\": \"arcsecond\"\n      },\n      \"degree\": {\n        \"formula\": \"value * 1\",\n        \"inverseFormula\": \"value / 1\",\n        \"symbol\": \"°\"\n      },\n      \"gradian\": {\n        \"formula\": \"value * 1.111111111111111\",\n        \"inverseFormula\": \"value / 1.111111111111111\",\n        \"symbol\": \"gradian\"\n      },\n      \"radian\": {\n        \"formula\": \"value * 0.0174532925199433\",\n        \"inverseFormula\": \"value / 0.0174532925199433\",\n        \"symbol\": \"radian\"\n      },\n      \"rotation\": {\n        \"formula\": \"value * 0.0027777777777777783\",\n        \"inverseFormula\": \"value / 0.0027777777777777783\",\n        \"symbol\": \"rotation\"\n      }\n    }\n  },\n  \"bool\": {\n    \"longName\": \"Boolean\",\n    \"conversions\": {\n      \"bool\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"Boolean\"\n      }\n    }\n  },\n  \"ISO-8601 (UTC)\": {\n    \"longName\": \"Timestamp\",\n    \"conversions\": {\n      \"ISO-8601 (UTC)\": {\n        \"formula\": \"value\",\n        \"inverseFormula\": \"value\",\n        \"symbol\": \"\",\n        \"longName\": \"ISO-8601 (UTC) format\"\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "util/start-stop.js",
    "content": "var Server = require('../dist')\n\nconsole.log('1. INSTANTIATING instance...')\nvar server = new Server({ settings: 'volare-file-settings.json' })\n\nconsole.log('2. STARTING server...')\nserver.start()\n\nsetTimeout(function () {\n  console.log('3. STOPPING server...')\n  server.stop()\n}, 10000)\n\nsetTimeout(function () {\n  console.log('4. STARTING server...')\n  server.start()\n}, 20000)\n\nsetTimeout(function () {\n  console.log('5. RELOADING server...')\n  server.reload('aava-file-settings.json')\n}, 30000)\n"
  }
]